summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Forbes <[email protected]>2013-10-13 20:56:42 +1300
committerChris Forbes <[email protected]>2013-11-25 22:01:36 +1300
commit3953766e57f96be754229bb109ba5dfdcdbc8b50 (patch)
tree3dfad25891e0a56a3729c978f4922b26d87f496c
parent803fcc329862e58b7b1f5e438cb60b72870f173f (diff)
mesa: pass indirect buffer to sw primitive restart
Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
-rw-r--r--src/mesa/drivers/dri/i965/brw_primitive_restart.c2
-rw-r--r--src/mesa/vbo/vbo.h3
-rw-r--r--src/mesa/vbo/vbo_exec_array.c2
-rw-r--r--src/mesa/vbo/vbo_primitive_restart.c3
4 files changed, 6 insertions, 4 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_primitive_restart.c b/src/mesa/drivers/dri/i965/brw_primitive_restart.c
index 3748e74f782..f014b60bab6 100644
--- a/src/mesa/drivers/dri/i965/brw_primitive_restart.c
+++ b/src/mesa/drivers/dri/i965/brw_primitive_restart.c
@@ -176,7 +176,7 @@ brw_handle_primitive_restart(struct gl_context *ctx,
/* Not all the primitive draw modes are supported by the cut index,
* so take the software path
*/
- vbo_sw_primitive_restart(ctx, prims, nr_prims, ib);
+ vbo_sw_primitive_restart(ctx, prims, nr_prims, ib, indirect);
}
brw->prim_restart.in_progress = false;
diff --git a/src/mesa/vbo/vbo.h b/src/mesa/vbo/vbo.h
index f58fa0b3399..6e1a4aa1ad6 100644
--- a/src/mesa/vbo/vbo.h
+++ b/src/mesa/vbo/vbo.h
@@ -186,7 +186,8 @@ void
vbo_sw_primitive_restart(struct gl_context *ctx,
const struct _mesa_prim *prim,
GLuint nr_prims,
- const struct _mesa_index_buffer *ib);
+ const struct _mesa_index_buffer *ib,
+ struct gl_buffer_object *indirect);
void GLAPIENTRY
_es_Color4f(GLfloat r, GLfloat g, GLfloat b, GLfloat a);
diff --git a/src/mesa/vbo/vbo_exec_array.c b/src/mesa/vbo/vbo_exec_array.c
index db7da6922ea..8152fa1623e 100644
--- a/src/mesa/vbo/vbo_exec_array.c
+++ b/src/mesa/vbo/vbo_exec_array.c
@@ -579,7 +579,7 @@ vbo_handle_primitive_restart(struct gl_context *ctx,
ctx->Const.PrimitiveRestartInSoftware &&
ctx->Array._PrimitiveRestart) {
/* Handle primitive restart in software */
- vbo_sw_primitive_restart(ctx, prim, nr_prims, ib);
+ vbo_sw_primitive_restart(ctx, prim, nr_prims, ib, NULL);
} else {
/* Call driver directly for draw_prims */
vbo->draw_prims(ctx, prim, nr_prims, ib,
diff --git a/src/mesa/vbo/vbo_primitive_restart.c b/src/mesa/vbo/vbo_primitive_restart.c
index e5c93ac6dfc..75e760fc9de 100644
--- a/src/mesa/vbo/vbo_primitive_restart.c
+++ b/src/mesa/vbo/vbo_primitive_restart.c
@@ -163,7 +163,8 @@ void
vbo_sw_primitive_restart(struct gl_context *ctx,
const struct _mesa_prim *prims,
GLuint nr_prims,
- const struct _mesa_index_buffer *ib)
+ const struct _mesa_index_buffer *ib,
+ struct gl_buffer_object *indirect)
{
GLuint prim_num;
struct sub_primitive *sub_prims;