From: Michel Dänzer Date: Tue, 18 Feb 2020 11:12:01 +0000 (+0100) Subject: st/vdpau: Only call is_video_format_supported hook if needed X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=7e6010106fb3c4eb5436de869183e857243c1006;p=mesa.git st/vdpau: Only call is_video_format_supported hook if needed Namely only if *is_supported is true, otherwise the hook result can't affect it. Avoids ../src/gallium/state_trackers/vdpau/vdpau_private.h:138: FormatYCBCRToPipe: Assertion `0' failed. with assertions enabled. Fixes: 5d5b414a7b84 "st/vdpau: fix chroma_format handling in VideoSurfaceQueryGetPutBitsYCbCrCapabilities" Reviewed-by: Pierre-Eric Pelloux-Prayer Reviewed-by: Christian König Tested-by: Marge Bot Part-of: --- diff --git a/src/gallium/state_trackers/vdpau/query.c b/src/gallium/state_trackers/vdpau/query.c index 5f644bbeea0..eca1b3031c1 100644 --- a/src/gallium/state_trackers/vdpau/query.c +++ b/src/gallium/state_trackers/vdpau/query.c @@ -154,13 +154,13 @@ vlVdpVideoSurfaceQueryGetPutBitsYCbCrCapabilities(VdpDevice device, VdpChromaTyp break; } - *is_supported &= pscreen->is_video_format_supported - ( - pscreen, - FormatYCBCRToPipe(bits_ycbcr_format), - PIPE_VIDEO_PROFILE_UNKNOWN, - PIPE_VIDEO_ENTRYPOINT_BITSTREAM - ); + if (*is_supported && + !pscreen->is_video_format_supported(pscreen, + FormatYCBCRToPipe(bits_ycbcr_format), + PIPE_VIDEO_PROFILE_UNKNOWN, + PIPE_VIDEO_ENTRYPOINT_BITSTREAM)) { + *is_supported = false; + } mtx_unlock(&dev->mutex); return VDP_STATUS_OK;