ac/nir/lower_ps_late: consider dcc decompression for null exports

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33835>
This commit is contained in:
Georg Lehmann 2025-03-07 12:47:41 +01:00 committed by Marge Bot
parent ad73af6e68
commit 09ff1c28d8
2 changed files with 5 additions and 1 deletions

View file

@ -337,6 +337,7 @@ typedef struct {
/* Exports. */
bool uses_discard;
bool dcc_decompress_gfx11;
bool alpha_to_coverage_via_mrtz;
bool dual_src_blend_swizzle;
unsigned spi_shader_col_format;

View file

@ -564,8 +564,11 @@ emit_ps_null_export(nir_builder *b, lower_ps_state *s)
* for discard.
* In Primitive Ordered Pixel Shading, however, GFX11+ explicitly uses the `done` export to exit
* the ordered section, and before GFX11, shaders with POPS also need an export.
* GFX11 DCC decompression also needs an export.
*/
if (s->options->gfx_level >= GFX10 && !s->options->uses_discard && !pops)
if (s->options->gfx_level >= GFX10 && !pops &&
!s->options->uses_discard &&
!s->options->dcc_decompress_gfx11)
return;
/* The `done` export exits the POPS ordered section on GFX11+, make sure UniformMemory and