From: Sil Vilerino Date: Mon, 29 Aug 2022 16:43:03 +0000 (-0400) Subject: d3d12: Implement cap PIPE_VIDEO_SUPPORTS_CONTIGUOUS_PLANES_MAP X-Git-Tag: upstream/22.3.5~4098 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a1f904f7a3de33299932645296d481cda2163683;p=platform%2Fupstream%2Fmesa.git d3d12: Implement cap PIPE_VIDEO_SUPPORTS_CONTIGUOUS_PLANES_MAP Reports d3d12 support for mapping all the contiguous planes. This will be used by vaDeriveImage in the VA frontend Fixes: a585d95803ca38d42b893603a85bf6442a54838a ("radeonsi/vcn: WA 10bit encoding crash in vaapi") Reviewed-by: Ruijing Dong Part-of: --- diff --git a/src/gallium/drivers/d3d12/d3d12_video_screen.cpp b/src/gallium/drivers/d3d12/d3d12_video_screen.cpp index a5b8cd3..eb64982 100644 --- a/src/gallium/drivers/d3d12/d3d12_video_screen.cpp +++ b/src/gallium/drivers/d3d12/d3d12_video_screen.cpp @@ -535,6 +535,8 @@ d3d12_screen_get_video_param_decode(struct pipe_screen *pscreen, return true; case PIPE_VIDEO_CAP_SUPPORTS_PROGRESSIVE: return true; + case PIPE_VIDEO_SUPPORTS_CONTIGUOUS_PLANES_MAP: + return true; break; default: debug_printf("[d3d12_screen_get_video_param] unknown video param: %d\n", param); @@ -608,6 +610,7 @@ d3d12_screen_get_video_param_postproc(struct pipe_screen *pscreen, case PIPE_VIDEO_CAP_PREFERED_FORMAT: case PIPE_VIDEO_CAP_SUPPORTS_INTERLACED: case PIPE_VIDEO_CAP_SUPPORTS_PROGRESSIVE: + case PIPE_VIDEO_SUPPORTS_CONTIGUOUS_PLANES_MAP: case PIPE_VIDEO_CAP_VPP_MAX_INPUT_WIDTH: case PIPE_VIDEO_CAP_VPP_MAX_INPUT_HEIGHT: case PIPE_VIDEO_CAP_VPP_MIN_INPUT_WIDTH: @@ -652,6 +655,8 @@ d3d12_screen_get_video_param_postproc(struct pipe_screen *pscreen, return supportCaps.InputSample.Width; } else if (param == PIPE_VIDEO_CAP_MAX_HEIGHT) { return supportCaps.InputSample.Height; + } else if (param == PIPE_VIDEO_SUPPORTS_CONTIGUOUS_PLANES_MAP) { + return true; } else if (param == PIPE_VIDEO_CAP_SUPPORTS_PROGRESSIVE) { return true; } else if (param == PIPE_VIDEO_CAP_VPP_MAX_INPUT_WIDTH) { @@ -755,6 +760,8 @@ d3d12_screen_get_video_param_encode(struct pipe_screen *pscreen, return false; case PIPE_VIDEO_CAP_SUPPORTS_PROGRESSIVE: return true; + case PIPE_VIDEO_SUPPORTS_CONTIGUOUS_PLANES_MAP: + return true; default: debug_printf("[d3d12_screen_get_video_param] unknown video param: %d\n", param); return 0;