agx: Don't destroy usub_sat with constant
authorAlyssa Rosenzweig <alyssa@rosenzweig.io>
Sun, 12 Mar 2023 03:16:52 +0000 (22:16 -0500)
committerMarge Bot <emma+marge@anholt.net>
Fri, 7 Apr 2023 03:23:03 +0000 (03:23 +0000)
Fixes KHR-GLES31.core.shader_storage_buffer_object.advanced-unsizedArrayLength-cs-std430-vec-pad

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22353>

src/asahi/compiler/agx_optimizer.c

index 123a1eb..3c2c3b6 100644 (file)
@@ -99,6 +99,8 @@ agx_optimizer_inline_imm(agx_instr **defs, agx_instr *I, unsigned srcs,
       agx_index src = I->src[s];
       if (src.type != AGX_INDEX_NORMAL)
          continue;
+      if (src.neg)
+         continue;
 
       agx_instr *def = defs[src.value];
       if (def->op != AGX_OPCODE_MOV_IMM)