agx: Handle fragment shader side effects

Fragment shaders with side effects need to be lowered to ensure they execute for
all shaded pixels but no helper threads. Add a lowering pass to handle this.

Fixes dEQP-GLES31.functional.shaders.opaque_type_indexing.atomic_counter.const_literal_fragment

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21712>
This commit is contained in:
Alyssa Rosenzweig
2023-02-19 15:29:19 -05:00
committed by Marge Bot
parent 290f3b76f3
commit f92738eaaa
4 changed files with 82 additions and 1 deletions

View File

@@ -834,6 +834,7 @@ bool agx_nir_lower_load_mask(nir_shader *shader);
bool agx_nir_lower_address(nir_shader *shader);
bool agx_nir_lower_ubo(nir_shader *shader);
bool agx_nir_lower_shared_bitsize(nir_shader *shader);
bool agx_nir_lower_frag_sidefx(nir_shader *s);
#ifdef __cplusplus
} /* extern C */