i965: Move GS_THREAD_END mlen calculations out of the generator.
authorKenneth Graunke <kenneth@whitecape.org>
Fri, 25 Sep 2015 03:58:05 +0000 (20:58 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Sat, 26 Sep 2015 19:01:57 +0000 (12:01 -0700)
The visitor was setting a mlen that was wrong for Broadwell, but the
generator was ignoring it and doing the right thing regardless.  We may
as well move the logic fully into the visitor.  This will be useful in
the next commit as well.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
src/mesa/drivers/dri/i965/brw_vec4_generator.cpp
src/mesa/drivers/dri/i965/brw_vec4_gs_visitor.cpp

index c7546070bf9d051589445c762ac4e3df5c6a112b..50f96632f7ffda279eec9321b421953fa1b57d52 100644 (file)
@@ -505,7 +505,7 @@ vec4_generator::generate_gs_thread_end(vec4_instruction *inst)
                  inst->base_mrf, /* starting mrf reg nr */
                  src,
                  BRW_URB_WRITE_EOT | inst->urb_write_flags,
-                 devinfo->gen >= 8 ? 2 : 1,/* message len */
+                 inst->mlen,
                  0,              /* response len */
                  0,              /* urb destination offset */
                  BRW_URB_SWIZZLE_INTERLEAVE);
index 3cb1b4c87937d0fdc47cf754305096c81d898981..ff5bd989cc34f8682fa9894f6d971227f94b6ff1 100644 (file)
@@ -244,7 +244,7 @@ vec4_gs_visitor::emit_thread_end()
       emit_shader_time_end();
    inst = emit(GS_OPCODE_THREAD_END);
    inst->base_mrf = base_mrf;
-   inst->mlen = 1;
+   inst->mlen = devinfo->gen >= 8 ? 2 : 1;
 }