i965/tcs/scalar: only update imm_offset for second message in 64bit input loads
authorIago Toral Quiroga <itoral@igalia.com>
Fri, 15 Jul 2016 08:48:03 +0000 (10:48 +0200)
committerIago Toral Quiroga <itoral@igalia.com>
Mon, 18 Jul 2016 07:53:16 +0000 (09:53 +0200)
Our indirect URB read messages take both a direct and an indirect offset
so when we emit the second message for a 64-bit input load we can just
always incremement the immediate offset, even for the indirect case.

Reviewed-by: Timothy Arceri <timothy.arceri@collabora.com>
src/mesa/drivers/dri/i965/brw_fs_nir.cpp

index 5442b7355fe1de5e062d37e0b220899232fe7b69..f3c8430eb6b010a65da3546e2123f694889f582e 100644 (file)
@@ -2509,13 +2509,7 @@ fs_visitor::nir_emit_tcs_intrinsic(const fs_builder &bld,
           */
          if (num_iterations > 1) {
             num_components = instr->num_components - 2;
-            if (indirect_offset.file == BAD_FILE) {
-               imm_offset++;
-            } else {
-               fs_reg new_indirect = bld.vgrf(BRW_REGISTER_TYPE_UD, 1);
-               bld.ADD(new_indirect, indirect_offset, brw_imm_ud(1u));
-               indirect_offset = new_indirect;
-            }
+            imm_offset++;
          }
       }
       break;