vc4: Mark texturing setup instructions as having side effects.
authorEric Anholt <eric@anholt.net>
Fri, 3 Jun 2016 22:04:57 +0000 (15:04 -0700)
committerEric Anholt <eric@anholt.net>
Mon, 4 Jul 2016 23:33:22 +0000 (16:33 -0700)
We need to not DCE them even though they don't have a destination in QIR.
We also shouldn't relocate them in vc4_opt_vpm.  Neither of these things
happen, but I'm about to make DCE consider instructions with a NULL
destination.

src/gallium/drivers/vc4/vc4_qir.c

index b9676ad..4cdc8a2 100644 (file)
@@ -75,11 +75,11 @@ static const struct qir_op_info qir_op_info[] = {
         [QOP_FRAG_Z] = { "frag_z", 1, 0 },
         [QOP_FRAG_W] = { "frag_w", 1, 0 },
 
-        [QOP_TEX_S] = { "tex_s", 0, 2 },
-        [QOP_TEX_T] = { "tex_t", 0, 2 },
-        [QOP_TEX_R] = { "tex_r", 0, 2 },
-        [QOP_TEX_B] = { "tex_b", 0, 2 },
-        [QOP_TEX_DIRECT] = { "tex_direct", 0, 2 },
+        [QOP_TEX_S] = { "tex_s", 0, 2, true },
+        [QOP_TEX_T] = { "tex_t", 0, 2, true },
+        [QOP_TEX_R] = { "tex_r", 0, 2, true },
+        [QOP_TEX_B] = { "tex_b", 0, 2, true },
+        [QOP_TEX_DIRECT] = { "tex_direct", 0, 2, true },
         [QOP_TEX_RESULT] = { "tex_result", 1, 0, true },
 
         [QOP_LOAD_IMM] = { "load_imm", 0, 1 },