summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/nv50/nv50_vbo.c
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2010-03-09 14:04:14 +1000
committerBen Skeggs <bskeggs@redhat.com>2010-03-10 16:30:01 +1000
commit4796986c9874134e47b00ae2280c3d7fc65111df (patch)
tree67994db6036ef4c0f93acfa42d35649e08c04dc4 /src/gallium/drivers/nv50/nv50_vbo.c
parent160bda24ed3b8f74d58cfcf55349c6d9e92fb442 (diff)
nv50: add option to force immediate-mode submission, disable by default
Diffstat (limited to 'src/gallium/drivers/nv50/nv50_vbo.c')
-rw-r--r--src/gallium/drivers/nv50/nv50_vbo.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/gallium/drivers/nv50/nv50_vbo.c b/src/gallium/drivers/nv50/nv50_vbo.c
index 9d49ad6db2..7eedd49271 100644
--- a/src/gallium/drivers/nv50/nv50_vbo.c
+++ b/src/gallium/drivers/nv50/nv50_vbo.c
@@ -582,9 +582,14 @@ nv50_vbo_validate(struct nv50_context *nv50)
if (nv50->vtxbuf_nr == 0)
return NULL;
- if (NV50_USING_LOATHED_EDGEFLAG(nv50))
+ if (nv50->screen->force_push || NV50_USING_LOATHED_EDGEFLAG(nv50))
nv50->vbo_fifo = 0xffff;
- nv50->vbo_fifo = 0xffff;
+
+ for (i = 0; i < nv50->vtxbuf_nr; i++) {
+ if (nv50->vtxbuf[i].stride &&
+ !(nv50->vtxbuf[i].buffer->usage & PIPE_BUFFER_USAGE_VERTEX))
+ nv50->vbo_fifo = 0xffff;
+ }
n_ve = MAX2(nv50->vtxelt->num_elements, nv50->state.vtxelt_nr);