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: a585d95803 ("radeonsi/vcn: WA 10bit encoding crash in vaapi")

Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18300>
(cherry picked from commit a1f904f7a3)
This commit is contained in:
Sil Vilerino
2022-08-29 12:43:03 -04:00
committed by Dylan Baker
parent 30511c9e05
commit e2472db43b
2 changed files with 8 additions and 1 deletions

View File

@@ -22558,7 +22558,7 @@
"description": "d3d12: Implement cap PIPE_VIDEO_SUPPORTS_CONTIGUOUS_PLANES_MAP",
"nominated": true,
"nomination_type": 1,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": "a585d95803ca38d42b893603a85bf6442a54838a"
},

View File

@@ -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;