radv: fix disabling MRT compaction for on-demand PS epilogs

Some dynamic states require to compile PS epilogs on-demand. In this
case, MRT compaction should be disabled because we don't know the CB
state when compiling the fragment shader.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21140>
This commit is contained in:
Samuel Pitoiset
2023-02-06 16:29:05 +01:00
committed by Marge Bot
parent ea5c893289
commit 16e4dd3e37

View File

@@ -2421,7 +2421,7 @@ radv_generate_graphics_pipeline_key(const struct radv_graphics_pipeline *pipelin
!(lib_flags & VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_OUTPUT_INTERFACE_BIT_EXT)) || !(lib_flags & VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_OUTPUT_INTERFACE_BIT_EXT)) ||
key.ps.dynamic_ps_epilog); key.ps.dynamic_ps_epilog);
key.ps.epilog = radv_pipeline_generate_ps_epilog_key(pipeline, state, pipeline->ps_epilog); key.ps.epilog = radv_pipeline_generate_ps_epilog_key(pipeline, state, key.ps.has_epilog);
key.dynamic_patch_control_points = key.dynamic_patch_control_points =
!!(pipeline->dynamic_states & RADV_DYNAMIC_PATCH_CONTROL_POINTS); !!(pipeline->dynamic_states & RADV_DYNAMIC_PATCH_CONTROL_POINTS);