i965/vs: Fix DEBUG_SHADER_TIME when VS terminates with 2 URB writes.
authorPaul Berry <stereotype441@gmail.com>
Sun, 7 Apr 2013 13:29:46 +0000 (06:29 -0700)
committerPaul Berry <stereotype441@gmail.com>
Tue, 9 Apr 2013 19:15:08 +0000 (12:15 -0700)
The call to emit_shader_time_end() before the second URB write was
conditioned with "if (eot)", but eot is always false in this code
path, so emit_shader_time_end() was never being called for vertex
shaders that performed 2 URB writes.

Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp

index 8bd2fd873403b5abc3e925357b34033da24b6bba..ca1cfe8b87979d1ce10446ac01ffb05c95bcedd7 100644 (file)
@@ -2664,10 +2664,8 @@ vec4_visitor::emit_urb_writes()
          emit_urb_slot(mrf++, c->prog_data.vue_map.slot_to_varying[slot]);
       }
 
-      if (eot) {
-         if (INTEL_DEBUG & DEBUG_SHADER_TIME)
-            emit_shader_time_end();
-      }
+      if (INTEL_DEBUG & DEBUG_SHADER_TIME)
+         emit_shader_time_end();
 
       current_annotation = "URB write";
       inst = emit(VS_OPCODE_URB_WRITE);