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