summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2016-04-11 12:20:38 +1000
committerDave Airlie <airlied@redhat.com>2016-04-12 14:15:16 +1000
commit9c7a0d188a495a247570a27bc4af77c540e40c34 (patch)
tree251d71311557e4f3d4911f64d105894039781220
parent193a5cee6a535875542bb5d265bdeb21a8b93e9d (diff)
downloadexternal_mesa3d-9c7a0d188a495a247570a27bc4af77c540e40c34.zip
external_mesa3d-9c7a0d188a495a247570a27bc4af77c540e40c34.tar.gz
external_mesa3d-9c7a0d188a495a247570a27bc4af77c540e40c34.tar.bz2
tgsi: set nonhelpermask for vertex shaders
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>
-rw-r--r--src/gallium/auxiliary/draw/draw_vs_exec.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/gallium/auxiliary/draw/draw_vs_exec.c b/src/gallium/auxiliary/draw/draw_vs_exec.c
index 5b53cff..4cd755e 100644
--- a/src/gallium/auxiliary/draw/draw_vs_exec.c
+++ b/src/gallium/auxiliary/draw/draw_vs_exec.c
@@ -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 );