i965/compaction: Make src_offset local to the for loop.
authorMatt Turner <mattst88@gmail.com>
Sat, 23 Aug 2014 05:08:54 +0000 (22:08 -0700)
committerMatt Turner <mattst88@gmail.com>
Thu, 25 Sep 2014 18:02:36 +0000 (11:02 -0700)
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com>
src/mesa/drivers/dri/i965/brw_eu_compact.c

index 6af134cafd5422e578b2799b0f9f313769bb14e6..dd32175b66d6ddcc8150e804e2ea7844c98ecdae 100644 (file)
@@ -1107,10 +1107,10 @@ brw_compact_instructions(struct brw_compile *p, int start_offset,
    if (brw->gen < 6)
       return;
 
-   int src_offset;
    int offset = 0;
    int compacted_count = 0;
-   for (src_offset = 0; src_offset < p->next_insn_offset - start_offset;) {
+   for (int src_offset = 0; src_offset < p->next_insn_offset - start_offset;
+        src_offset += sizeof(brw_inst)) {
       brw_inst *src = store + src_offset;
       void *dst = store + offset;
 
@@ -1131,10 +1131,7 @@ brw_compact_instructions(struct brw_compile *p, int start_offset,
          }
 
          offset += 8;
-         src_offset += 16;
       } else {
-         int size = brw_inst_cmpt_control(brw, src) ? 8 : 16;
-
          /* It appears that the end of thread SEND instruction needs to be
           * aligned, or the GPU hangs.
           */
@@ -1155,10 +1152,9 @@ brw_compact_instructions(struct brw_compile *p, int start_offset,
           * place.
           */
          if (offset != src_offset) {
-            memmove(dst, src, size);
+            memmove(dst, src, sizeof(brw_inst));
          }
-         offset += size;
-         src_offset += size;
+         offset += sizeof(brw_inst);
       }
    }