ir_to_mesa: Fix up array indexing.
authorEric Anholt <eric@anholt.net>
Tue, 11 May 2010 23:20:21 +0000 (16:20 -0700)
committerEric Anholt <eric@anholt.net>
Thu, 24 Jun 2010 22:05:20 +0000 (15:05 -0700)
The grammar for array_reference_vec4_vec4 was set up wrong, so we
weren't generating instructions if necessary for the array index.

mesa_codegen.brg

index 109e8b2d5134120e925050659f78a54d35a8666d..a0ab7c86305fda6e6b050eebd795a660c9a2ef95 100644 (file)
@@ -96,7 +96,7 @@ vec4: reference_vec4 0
 
 # A reference of a variable is just a vec4 register location,
 # so it can be used as an argument for pretty much anything.
-vec4: array_reference_vec4_vec4 1
+vec4: array_reference_vec4_vec4(vec4, vec4) 1
 {
        ir_to_mesa_dst_reg address_reg = {PROGRAM_ADDRESS, 0, WRITEMASK_X};
 
@@ -245,11 +245,6 @@ vec4: log2_vec4(vec4) 1
                                   tree->left->src_reg);
 }
 
-vec4: trunc_vec4(vec4) 1
-{
-       ir_to_mesa_emit_scalar_op1(tree, OPCODE_TRUNC,
-                                  tree->dst_reg,
-                                  tree->left->src_reg);
-}
+vec4: trunc_vec4(vec4) 1 { ir_to_mesa_emit_op1(tree, OPCODE_TRUNC); }
 
 %%