From 6994b57a509cff1a1d0d013c0b175ec4d83117a0 Mon Sep 17 00:00:00 2001 From: Christoph Bumiller Date: Fri, 14 Oct 2011 22:22:04 +0200 Subject: [PATCH] nv50,nvc0: reset base element in draw_arrays It affects VERTEX_BUFFER_FIRST,COUNT submission, too. --- src/gallium/drivers/nv50/nv50_vbo.c | 6 ++++++ src/gallium/drivers/nvc0/nvc0_vbo.c | 5 +++++ 2 files changed, 11 insertions(+) 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--) {