diff options
-rw-r--r-- | src/gallium/drivers/nouveau/nvc0/nvc0_vbo.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_vbo.c b/src/gallium/drivers/nouveau/nvc0/nvc0_vbo.c index 888c094e034..4e40ff54bbf 100644 --- a/src/gallium/drivers/nouveau/nvc0/nvc0_vbo.c +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_vbo.c @@ -441,8 +441,10 @@ nvc0_vertex_arrays_validate(struct nvc0_context *nvc0) if (unlikely(vertex->need_conversion) || unlikely(nvc0->vertprog->vp.edgeflag < PIPE_MAX_ATTRIBS)) { vbo_mode = 3; + } else if (nvc0->vbo_user & ~nvc0->constant_vbos) { + vbo_mode = nvc0->vbo_push_hint ? 1 : 0; } else { - vbo_mode = (nvc0->vbo_user && nvc0->vbo_push_hint) ? 1 : 0; + vbo_mode = 0; } const_vbos = vbo_mode ? 0 : nvc0->constant_vbos; |