From 322460fdbc9f966868e72649b12fbc95ab4cfd55 Mon Sep 17 00:00:00 2001 From: Ben Skeggs Date: Fri, 9 May 2014 15:55:51 +1000 Subject: [PATCH] nvc0: replace some vb->stride checks with constant_vbo instead Maxwell no longer has the methods to set constant attributes, and we'll want to be treating stride 0 vtxbufs the same as for stride > 0. Signed-off-by: Ben Skeggs Reviewed-by: Ilia Mirkin --- src/gallium/drivers/nouveau/nvc0/nvc0_vbo.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_vbo.c b/src/gallium/drivers/nouveau/nvc0/nvc0_vbo.c index c05878ff5b5..5a65226bea4 100644 --- a/src/gallium/drivers/nouveau/nvc0/nvc0_vbo.c +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_vbo.c @@ -240,7 +240,7 @@ nvc0_update_user_vbufs(struct nvc0_context *nvc0) if (!(nvc0->vbo_user & (1 << b))) continue; - if (!vb->stride) { + if (nvc0->constant_vbos & (1 << b)) { nvc0_set_constant_vertex_attrib(nvc0, i); continue; } @@ -331,7 +331,7 @@ nvc0_validate_vertex_buffers(struct nvc0_context *nvc0) vb = &nvc0->vtxbuf[b]; if (!vb->buffer) { - if (vb->stride) { + if (!(nvc0->constant_vbos & (1 << b))) { if (ve->pipe.instance_divisor) { BEGIN_NVC0(push, NVC0_3D(VERTEX_ARRAY_DIVISOR(i)), 1); PUSH_DATA (push, ve->pipe.instance_divisor); @@ -385,7 +385,7 @@ nvc0_validate_vertex_buffers_shared(struct nvc0_context *nvc0) uint32_t offset, limit; if (mask & (1 << b)) { - if (vb->stride) { + if (!(nvc0->constant_vbos & (1 << b))) { BEGIN_NVC0(push, NVC0_3D(VERTEX_ARRAY_FETCH(b)), 1); PUSH_DATA (push, NVC0_3D_VERTEX_ARRAY_FETCH_ENABLE | vb->stride); }