mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-10 12:30:11 +01:00
radv: simplify disabling MRT compaction for PS epilogs
If the fragment shader isn't compiled, the PS epilog key isn't used at all with GPL. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26563>
This commit is contained in:
parent
0cf00390c5
commit
90dda31901
1 changed files with 3 additions and 7 deletions
|
|
@ -1933,14 +1933,10 @@ radv_generate_graphics_pipeline_key(const struct radv_device *device, const stru
|
|||
if (radv_pipeline_needs_ps_epilog(pipeline, lib_flags))
|
||||
key.ps.has_epilog = true;
|
||||
|
||||
/* Disable MRT compaction when it's not possible to know both the written color outputs and the
|
||||
* color blend attachments.
|
||||
/* Disable MRT compaction when a PS epilog is needed because we don't know the fragment output
|
||||
* interface.
|
||||
*/
|
||||
bool disable_mrt_compaction =
|
||||
key.ps.has_epilog || ((lib_flags & VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_OUTPUT_INTERFACE_BIT_EXT) &&
|
||||
!(lib_flags & VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT));
|
||||
|
||||
key.ps.epilog = radv_pipeline_generate_ps_epilog_key(device, state, disable_mrt_compaction);
|
||||
key.ps.epilog = radv_pipeline_generate_ps_epilog_key(device, state, key.ps.has_epilog);
|
||||
|
||||
if (device->physical_device->rad_info.gfx_level >= GFX11) {
|
||||
/* On GFX11, alpha to coverage is exported via MRTZ when depth/stencil/samplemask are also
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue