What if instance_count = 1M? (It can happen.)
On Tue, Oct 25, 2016 at 3:41 PM, Samuel Pitoiset <samuel.pitoi...@gmail.com> wrote: > This might help CPU-bounds applications but should not have > any real effects for GPU-bounds ones. > > Signed-off-by: Samuel Pitoiset <samuel.pitoi...@gmail.com> > --- > src/gallium/drivers/nouveau/nvc0/nvc0_vbo.c | 8 +++----- > 1 file changed, 3 insertions(+), 5 deletions(-) > > diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_vbo.c > b/src/gallium/drivers/nouveau/nvc0/nvc0_vbo.c > index 69ca091..bc4ab9e 100644 > --- a/src/gallium/drivers/nouveau/nvc0/nvc0_vbo.c > +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_vbo.c > @@ -598,8 +598,8 @@ nvc0_draw_arrays(struct nvc0_context *nvc0, > > prim = nvc0_prim_gl(mode); > > + PUSH_SPACE(push, 6 * instance_count); > while (instance_count--) { > - PUSH_SPACE(push, 6); > BEGIN_NVC0(push, NVC0_3D(VERTEX_BEGIN_GL), 1); > PUSH_DATA (push, prim); > BEGIN_NVC0(push, NVC0_3D(VERTEX_BUFFER_FIRST), 2); > @@ -730,10 +730,9 @@ nvc0_draw_elements(struct nvc0_context *nvc0, bool > shorten, > } > > if (nvc0->idxbuf.buffer) { > - PUSH_SPACE(push, 1); > + PUSH_SPACE(push, 1 + 7 * instance_count); > IMMED_NVC0(push, NVC0_3D(VERTEX_BEGIN_GL), prim); > do { > - PUSH_SPACE(push, 7); > BEGIN_NVC0(push, NVC0_3D(INDEX_BATCH_FIRST), 2); > PUSH_DATA (push, start); > PUSH_DATA (push, count); > @@ -747,8 +746,8 @@ nvc0_draw_elements(struct nvc0_context *nvc0, bool > shorten, > } else { > const void *data = nvc0->idxbuf.user_buffer; > > + PUSH_SPACE(push, 3 * instance_count); > while (instance_count--) { > - PUSH_SPACE(push, 2); > BEGIN_NVC0(push, NVC0_3D(VERTEX_BEGIN_GL), 1); > PUSH_DATA (push, prim); > switch (index_size) { > @@ -768,7 +767,6 @@ nvc0_draw_elements(struct nvc0_context *nvc0, bool > shorten, > assert(0); > return; > } > - PUSH_SPACE(push, 1); > IMMED_NVC0(push, NVC0_3D(VERTEX_END_GL), 0); > > prim |= NVC0_3D_VERTEX_BEGIN_GL_INSTANCE_NEXT; > -- > 2.10.1 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev