i965: Remove end-of-thread SEND alignment code.
authorMatt Turner <mattst88@gmail.com>
Tue, 21 Apr 2015 21:45:19 +0000 (14:45 -0700)
committerMatt Turner <mattst88@gmail.com>
Tue, 5 May 2015 18:44:37 +0000 (11:44 -0700)
This was present in Eric's initial implementation of the compaction code
for Sandybridge (commit 077d01b6). There is no documentation saying this
is necessary, and removing it causes no regressions in piglit on any
platform.

src/mesa/drivers/dri/i965/brw_eu_compact.c

index a526ba8d5994ca9ee95f1fe8154e59f8bad4aac2..69cb114b94532f76a8b48485371422bd5788652f 100644 (file)
@@ -1405,20 +1405,11 @@ brw_compact_instructions(struct brw_codegen *p, int start_offset,
 
          offset += sizeof(brw_compact_inst);
       } else {
-         /* It appears that the end of thread SEND instruction needs to be
-          * aligned, or the GPU hangs. All uncompacted instructions need to be
-          * aligned on G45.
-          */
-         if ((offset & sizeof(brw_compact_inst)) != 0 &&
-             (((brw_inst_opcode(devinfo, src) == BRW_OPCODE_SEND ||
-                brw_inst_opcode(devinfo, src) == BRW_OPCODE_SENDC) &&
-               brw_inst_eot(devinfo, src)) ||
-              devinfo->is_g4x)) {
+         /* All uncompacted instructions need to be aligned on G45. */
+         if ((offset & sizeof(brw_compact_inst)) != 0 && devinfo->is_g4x){
             brw_compact_inst *align = store + offset;
             memset(align, 0, sizeof(*align));
-            brw_compact_inst_set_opcode(align,
-                                        devinfo->is_g4x ? BRW_OPCODE_NENOP :
-                                                          BRW_OPCODE_NOP);
+            brw_compact_inst_set_opcode(align, BRW_OPCODE_NENOP);
             brw_compact_inst_set_cmpt_control(align, true);
             offset += sizeof(brw_compact_inst);
             compacted_count--;