i965: Make emit_urb_writes() only set EOT for the VS.
authorKenneth Graunke <kenneth@whitecape.org>
Thu, 12 Mar 2015 08:55:44 +0000 (01:55 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Wed, 21 Oct 2015 21:27:50 +0000 (14:27 -0700)
The GS will emit a bunch of vertices, and we don't want to do an EOT
prematurely.  We'll emit GS_OPCODE_THREAD_END when we want to terminate
the thread.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
src/mesa/drivers/dri/i965/brw_fs_visitor.cpp

index d7c4a6e..4610ea1 100644 (file)
@@ -1005,7 +1005,7 @@ fs_visitor::emit_urb_writes()
 
          fs_inst *inst =
             abld.emit(SHADER_OPCODE_URB_WRITE_SIMD8, reg_undef, payload);
-         inst->eot = last;
+         inst->eot = last && stage == MESA_SHADER_VERTEX;
          inst->mlen = length + 1;
          inst->offset = urb_offset;
          urb_offset = slot + 1;