summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/nv50
diff options
context:
space:
mode:
authorJosé Fonseca <jfonseca@vmware.com>2010-04-19 18:17:45 +0200
committerJosé Fonseca <jfonseca@vmware.com>2010-04-19 18:17:45 +0200
commitf6f7324bbf03494dc26e266d96919fec6a1f08ba (patch)
tree8104a97a02a9ff9201572e957db304255c9364bb /src/gallium/drivers/nv50
parent583f51ba4bb1029d9d4f338ca3c8f4702ab6666c (diff)
nv50: Adapt for index bias interface change.
Diffstat (limited to 'src/gallium/drivers/nv50')
-rw-r--r--src/gallium/drivers/nv50/nv50_context.h4
-rw-r--r--src/gallium/drivers/nv50/nv50_push.c4
-rw-r--r--src/gallium/drivers/nv50/nv50_vbo.c9
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);
}