diff options
author | Ben Skeggs <[email protected]> | 2010-03-09 14:04:14 +1000 |
---|---|---|
committer | Ben Skeggs <[email protected]> | 2010-03-10 16:30:01 +1000 |
commit | 4796986c9874134e47b00ae2280c3d7fc65111df (patch) | |
tree | 67994db6036ef4c0f93acfa42d35649e08c04dc4 /src/gallium/drivers/nv50/nv50_vbo.c | |
parent | 160bda24ed3b8f74d58cfcf55349c6d9e92fb442 (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.c | 9 |
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 9d49ad6db24..7eedd492718 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); |