Mesa (master): radeon: add si_vid_create_tmz_buffer helper

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Nov 4 09:57:52 UTC 2020


Module: Mesa
Branch: master
Commit: cf324df6eae0fc42f02c541050737d294122087b
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=cf324df6eae0fc42f02c541050737d294122087b

Author: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer at amd.com>
Date:   Tue Oct 27 09:33:27 2020 +0100

radeon: add si_vid_create_tmz_buffer helper

Same code as si_vid_create_buffer except that the buffer is using TMZ.

Reviewed-by: Boyuan Zhang <boyuan.zhang at amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7006>

---

 src/gallium/drivers/radeon/radeon_video.c | 12 ++++++++++++
 src/gallium/drivers/radeon/radeon_video.h |  4 ++++
 2 files changed, 16 insertions(+)

diff --git a/src/gallium/drivers/radeon/radeon_video.c b/src/gallium/drivers/radeon/radeon_video.c
index 40b9cca453c..97767872bf1 100644
--- a/src/gallium/drivers/radeon/radeon_video.c
+++ b/src/gallium/drivers/radeon/radeon_video.c
@@ -67,6 +67,18 @@ bool si_vid_create_buffer(struct pipe_screen *screen, struct rvid_buffer *buffer
    return buffer->res != NULL;
 }
 
+/* create a tmz buffer in the winsys */
+bool si_vid_create_tmz_buffer(struct pipe_screen *screen, struct rvid_buffer *buffer, unsigned size,
+                              unsigned usage)
+{
+   memset(buffer, 0, sizeof(*buffer));
+   buffer->usage = usage;
+   buffer->res = si_resource(pipe_buffer_create(screen, PIPE_BIND_SHARED | PIPE_BIND_PROTECTED,
+                                                usage, size));
+   return buffer->res != NULL;
+}
+
+
 /* destroy a buffer */
 void si_vid_destroy_buffer(struct rvid_buffer *buffer)
 {
diff --git a/src/gallium/drivers/radeon/radeon_video.h b/src/gallium/drivers/radeon/radeon_video.h
index 5ef0a213462..475107e3729 100644
--- a/src/gallium/drivers/radeon/radeon_video.h
+++ b/src/gallium/drivers/radeon/radeon_video.h
@@ -49,6 +49,10 @@ unsigned si_vid_alloc_stream_handle(void);
 bool si_vid_create_buffer(struct pipe_screen *screen, struct rvid_buffer *buffer, unsigned size,
                           unsigned usage);
 
+/* create a tmz buffer in the winsys */
+bool si_vid_create_tmz_buffer(struct pipe_screen *screen, struct rvid_buffer *buffer, unsigned size,
+                              unsigned usage);
+
 /* destroy a buffer */
 void si_vid_destroy_buffer(struct rvid_buffer *buffer);
 



More information about the mesa-commit mailing list