tgsi: set nonhelpermask for vertex shaders
authorDave Airlie <airlied@redhat.com>
Mon, 11 Apr 2016 02:20:38 +0000 (12:20 +1000)
committerDave Airlie <airlied@redhat.com>
Tue, 12 Apr 2016 04:15:16 +0000 (14:15 +1000)
For atomic operations we really need to avoid executing unnecessary shaders, so for some
tests that just draw a single point we only want one vertex to get processed not 4,

this fixes a number of the atomic counters tests.

Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
src/gallium/auxiliary/draw/draw_vs_exec.c

index 5b53cff..4cd755e 100644 (file)
@@ -159,6 +159,7 @@ vs_exec_run_linear( struct draw_vertex_shader *shader,
          input = (const float (*)[4])((const char *)input + input_stride);
       } 
 
+      machine->NonHelperMask = (1 << max_vertices) - 1;
       /* run interpreter */
       tgsi_exec_machine_run( machine );