diff options
-rw-r--r-- | src/gallium/drivers/nv50/nv50_vbo.c | 6 | ||||
-rw-r--r-- | src/gallium/drivers/nvc0/nvc0_vbo.c | 5 |
2 files changed, 11 insertions, 0 deletions
diff --git a/src/gallium/drivers/nv50/nv50_vbo.c b/src/gallium/drivers/nv50/nv50_vbo.c index 82ac35e84ea..0ce19bec4af 100644 --- a/src/gallium/drivers/nv50/nv50_vbo.c +++ b/src/gallium/drivers/nv50/nv50_vbo.c @@ -404,6 +404,12 @@ nv50_draw_arrays(struct nv50_context *nv50, struct nouveau_channel *chan = nv50->screen->base.channel; unsigned prim; + if (nv50->state.index_bias) { + BEGIN_RING(chan, RING_3D(VB_ELEMENT_BASE), 1); + OUT_RING (chan, 0); + nv50->state.index_bias = 0; + } + prim = nv50_prim_gl(mode); while (instance_count--) { diff --git a/src/gallium/drivers/nvc0/nvc0_vbo.c b/src/gallium/drivers/nvc0/nvc0_vbo.c index 41b45521d8a..ac778a7491c 100644 --- a/src/gallium/drivers/nvc0/nvc0_vbo.c +++ b/src/gallium/drivers/nvc0/nvc0_vbo.c @@ -382,6 +382,11 @@ nvc0_draw_arrays(struct nvc0_context *nvc0, struct nouveau_channel *chan = nvc0->screen->base.channel; unsigned prim; + if (nvc0->state.index_bias) { + IMMED_RING(chan, RING_3D(VB_ELEMENT_BASE), 0); + nvc0->state.index_bias = 0; + } + prim = nvc0_prim_gl(mode); while (instance_count--) { |