From fe2b28192ff6f32d6ffc63e094f83a43dd0fb57c Mon Sep 17 00:00:00 2001 From: Sil Vilerino Date: Tue, 20 Sep 2022 10:16:16 -0400 Subject: [PATCH] d3d12: Report PIPE_VIDEO_CAP_REQUIRES_FLUSH_ON_END_FRAME Reviewed-by: Giancarlo Devich Part-of: --- src/gallium/drivers/d3d12/d3d12_video_screen.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/gallium/drivers/d3d12/d3d12_video_screen.cpp b/src/gallium/drivers/d3d12/d3d12_video_screen.cpp index 54707271893..879bcbab10e 100644 --- a/src/gallium/drivers/d3d12/d3d12_video_screen.cpp +++ b/src/gallium/drivers/d3d12/d3d12_video_screen.cpp @@ -801,6 +801,12 @@ d3d12_screen_get_video_param_decode(struct pipe_screen *pscreen, enum pipe_video_cap param) { switch (param) { + case PIPE_VIDEO_CAP_REQUIRES_FLUSH_ON_END_FRAME: + /* As sometimes we need to copy the output + and sync with the context, we handle the + flush internally on end frame for decode + */ + return 0; case PIPE_VIDEO_CAP_NPOT_TEXTURES: return 1; case PIPE_VIDEO_CAP_MAX_WIDTH: @@ -919,6 +925,8 @@ d3d12_screen_get_video_param_postproc(struct pipe_screen *pscreen, enum pipe_video_cap param) { switch (param) { + case PIPE_VIDEO_CAP_REQUIRES_FLUSH_ON_END_FRAME: + return 1; case PIPE_VIDEO_CAP_NPOT_TEXTURES: return 1; case PIPE_VIDEO_CAP_MAX_WIDTH: @@ -1036,6 +1044,8 @@ d3d12_screen_get_video_param_encode(struct pipe_screen *pscreen, struct d3d12_encode_codec_support codec_specific_support; memset(&codec_specific_support, 0, sizeof(codec_specific_support)); switch (param) { + case PIPE_VIDEO_CAP_REQUIRES_FLUSH_ON_END_FRAME: + return 1; case PIPE_VIDEO_CAP_NPOT_TEXTURES: return 1; case PIPE_VIDEO_CAP_MAX_WIDTH: