radeonsi: Don't allow DCC for encode in is_video_target_buffer_supported

This accidentally allowed DCC with format conversion, which is not supported.
Also disable EFC with VCN5 for now.

Fixes: 40c3a53fec ("radeonsi: Implement is_video_target_buffer_supported")
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30562>
This commit is contained in:
David Rosca
2024-08-08 10:10:24 +02:00
committed by Marge Bot
parent 79ce0e3b2f
commit 4b60918138
+6 -2
View File
@@ -1144,6 +1144,9 @@ static bool si_vid_is_target_buffer_supported(struct pipe_screen *screen,
return !is_dcc && !is_format_conversion;
case PIPE_VIDEO_ENTRYPOINT_ENCODE:
if (is_dcc)
return false;
/* EFC */
if (is_format_conversion) {
const bool input_8bit =
@@ -1157,7 +1160,8 @@ static bool si_vid_is_target_buffer_supported(struct pipe_screen *screen,
target->buffer_format == PIPE_FORMAT_R10G10B10A2_UNORM ||
target->buffer_format == PIPE_FORMAT_R10G10B10X2_UNORM;
if (sscreen->info.family <= CHIP_RENOIR ||
if (sscreen->info.vcn_ip_version < VCN_2_0_0 ||
sscreen->info.vcn_ip_version >= VCN_5_0_0 ||
sscreen->debug_flags & DBG(NO_EFC))
return false;
@@ -1169,7 +1173,7 @@ static bool si_vid_is_target_buffer_supported(struct pipe_screen *screen,
return false;
}
return !is_dcc;
return true;
default:
return !is_format_conversion;