diff options
author | José Fonseca <jfonseca@vmware.com> | 2010-04-20 11:07:08 +0200 |
---|---|---|
committer | José Fonseca <jfonseca@vmware.com> | 2010-04-20 11:07:08 +0200 |
commit | a6171a9dd99713266091982215bf1008c9ac8e64 (patch) | |
tree | 7be00d0ab09dec383d9acc4fd3b135dfd8ed5c45 /src/gallium/drivers/nv50 | |
parent | 49ba607abab17cc07e9f163f5415636474fd7940 (diff) | |
parent | 3dcdca433a5d6cde1c0b4d69ff0aa3a5eee26473 (diff) |
Merge branch 'gallium-index-bias'
Diffstat (limited to 'src/gallium/drivers/nv50')
-rw-r--r-- | src/gallium/drivers/nv50/nv50_context.h | 4 | ||||
-rw-r--r-- | src/gallium/drivers/nv50/nv50_push.c | 4 | ||||
-rw-r--r-- | src/gallium/drivers/nv50/nv50_vbo.c | 9 |
3 files changed, 11 insertions, 6 deletions
diff --git a/src/gallium/drivers/nv50/nv50_context.h b/src/gallium/drivers/nv50/nv50_context.h index 8bf465378e..4875f83305 100644 --- a/src/gallium/drivers/nv50/nv50_context.h +++ b/src/gallium/drivers/nv50/nv50_context.h @@ -185,12 +185,12 @@ extern void nv50_draw_arrays_instanced(struct pipe_context *, unsigned mode, unsigned instanceCount); extern void nv50_draw_elements(struct pipe_context *pipe, struct pipe_resource *indexBuffer, - unsigned indexSize, + unsigned indexSize, int indexBias, unsigned mode, unsigned start, unsigned count); extern void nv50_draw_elements_instanced(struct pipe_context *pipe, struct pipe_resource *indexBuffer, - unsigned indexSize, + unsigned indexSize, int indexBias, unsigned mode, unsigned start, unsigned count, unsigned startInstance, diff --git a/src/gallium/drivers/nv50/nv50_push.c b/src/gallium/drivers/nv50/nv50_push.c index 6981e5b919..c54fed5a36 100644 --- a/src/gallium/drivers/nv50/nv50_push.c +++ b/src/gallium/drivers/nv50/nv50_push.c @@ -172,7 +172,8 @@ emit_verts(void *priv, unsigned start, unsigned count) void nv50_push_elements_instanced(struct pipe_context *pipe, - struct pipe_resource *idxbuf, unsigned idxsize, + struct pipe_resource *idxbuf, + unsigned idxsize, int idxbias, unsigned mode, unsigned start, unsigned count, unsigned i_start, unsigned i_count) { @@ -269,6 +270,7 @@ nv50_push_elements_instanced(struct pipe_context *pipe, } ctx.idxbuf = bo->map; ctx.idxsize = idxsize; + assert(idxbias == 0); nouveau_bo_unmap(bo); } diff --git a/src/gallium/drivers/nv50/nv50_vbo.c b/src/gallium/drivers/nv50/nv50_vbo.c index 609145db88..932c1e8992 100644 --- a/src/gallium/drivers/nv50/nv50_vbo.c +++ b/src/gallium/drivers/nv50/nv50_vbo.c @@ -387,7 +387,7 @@ nv50_draw_elements_inline(struct pipe_context *pipe, void nv50_draw_elements_instanced(struct pipe_context *pipe, struct pipe_resource *indexBuffer, - unsigned indexSize, + unsigned indexSize, int indexBias, unsigned mode, unsigned start, unsigned count, unsigned startInstance, unsigned instanceCount) { @@ -401,6 +401,8 @@ nv50_draw_elements_instanced(struct pipe_context *pipe, if (!nv50_state_validate(nv50, 13 + 16*3)) return; + assert(indexBias == 0); + if (nv50->vbo_fifo) { nv50_push_elements_instanced(pipe, indexBuffer, indexSize, mode, start, count, startInstance, @@ -460,10 +462,11 @@ nv50_draw_elements_instanced(struct pipe_context *pipe, void nv50_draw_elements(struct pipe_context *pipe, - struct pipe_resource *indexBuffer, unsigned indexSize, + struct pipe_resource *indexBuffer, + unsigned indexSize, int indexBias, unsigned mode, unsigned start, unsigned count) { - nv50_draw_elements_instanced(pipe, indexBuffer, indexSize, + nv50_draw_elements_instanced(pipe, indexBuffer, indexSize, indexBias, mode, start, count, 0, 1); } |