From cf324df6eae0fc42f02c541050737d294122087b Mon Sep 17 00:00:00 2001 From: Pierre-Eric Pelloux-Prayer Date: Tue, 27 Oct 2020 09:33:27 +0100 Subject: [PATCH] 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 Part-of: --- 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);