diff options
author | Christoph Bumiller <[email protected]> | 2011-10-14 22:22:04 +0200 |
---|---|---|
committer | Christoph Bumiller <[email protected]> | 2011-10-21 23:00:39 +0200 |
commit | 6994b57a509cff1a1d0d013c0b175ec4d83117a0 (patch) | |
tree | 23f538c006c4a37b9677191aba8fd3add299326c /src/gallium | |
parent | 8828004e674b2036c23dd6b4a26cf94b98327792 (diff) |
nv50,nvc0: reset base element in draw_arrays
It affects VERTEX_BUFFER_FIRST,COUNT submission, too.
Diffstat (limited to 'src/gallium')
-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--) { |