agx: Handle fragment shader side effects
authorAlyssa Rosenzweig <alyssa@rosenzweig.io>
Sun, 19 Feb 2023 20:29:19 +0000 (15:29 -0500)
committerMarge Bot <emma+marge@anholt.net>
Sun, 5 Mar 2023 19:12:35 +0000 (19:12 +0000)
commitf92738eaaabb0ce9ca34f6cbe34824cb7925bb77
tree6eb0baa18db3250b6f5d9669ec72482fbaf63345
parent290f3b76f305abaa24332cbc751a7a3b005e41cf
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>
src/asahi/compiler/agx_compile.c
src/asahi/compiler/agx_compiler.h
src/asahi/compiler/agx_nir_lower_frag_sidefx.c [new file with mode: 0644]
src/asahi/compiler/meson.build