summaryrefslogtreecommitdiffstats
path: root/src/gallium/auxiliary/draw/draw_context.c
diff options
context:
space:
mode:
authorRoland Scheidegger <sroland@vmware.com>2015-04-23 18:13:32 +0200
committerRoland Scheidegger <sroland@vmware.com>2015-04-23 18:14:22 +0200
commitf2a7fd9943fcb7d3de3bc2b21907e0a157b88e96 (patch)
treec78b68e99367f1c96b89edee88840cef25c3d9d6 /src/gallium/auxiliary/draw/draw_context.c
parentecc7f2ed910345c4dd0d02ac9c72d69f10ac5572 (diff)
downloadexternal_mesa3d-f2a7fd9943fcb7d3de3bc2b21907e0a157b88e96.tar.gz
external_mesa3d-f2a7fd9943fcb7d3de3bc2b21907e0a157b88e96.tar.bz2
external_mesa3d-f2a7fd9943fcb7d3de3bc2b21907e0a157b88e96.zip
draw: fix prim ids when there's no gs
We were resetting the prim id count for each run of the prim assembler, hence this only worked when the draw calls were very small (the exact limit depending on the vertex size), since larger draw calls get split up. So, do the same as we do already if there's a gs, reset it to zero explicitly for every new instance (this possibly could use the same variable but that isn't doable without some heavy refactoring and I'm not sure it makes sense). Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=90130. Reviewed-by: Jose Fonseca <jfonseca@vmware.com> CC: <mesa-stable@lists.freedesktop.org>
Diffstat (limited to 'src/gallium/auxiliary/draw/draw_context.c')
-rw-r--r--src/gallium/auxiliary/draw/draw_context.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/gallium/auxiliary/draw/draw_context.c b/src/gallium/auxiliary/draw/draw_context.c
index 04cf5b7630..ee009c1fb7 100644
--- a/src/gallium/auxiliary/draw/draw_context.c
+++ b/src/gallium/auxiliary/draw/draw_context.c
@@ -182,6 +182,7 @@ boolean draw_init(struct draw_context *draw)
void draw_new_instance(struct draw_context *draw)
{
draw_geometry_shader_new_instance(draw->gs.geometry_shader);
+ draw_prim_assembler_new_instance(draw->ia);
}