diff options
author | Christoph Bumiller <[email protected]> | 2013-04-05 12:12:08 +0200 |
---|---|---|
committer | Chris Forbes <[email protected]> | 2013-11-25 22:01:35 +1300 |
commit | 80ac616fca709ab10f7aae062d96ec18d05097a7 (patch) | |
tree | b144d9b4029a3ded710cbfe73d5c0dcf5f617ab9 /src/mesa/state_tracker | |
parent | eb0892b4b115a36ffb9f0904e418ec62a182427c (diff) |
mesa: add indirect drawing buffer parameter to draw functions
Split from patch implementing ARB_draw_indirect.
v2: Const-qualify the struct gl_buffer_object *indirect argument.
v3: Fix up some more draw calls for new argument.
v4: Fix up rebase conflicts in i965.
v5: Undo const-qualification
Reviewed-by: Kenneth Graunke <[email protected]>
Reviewed-by: Eric Anholt <[email protected]>
Diffstat (limited to 'src/mesa/state_tracker')
-rw-r--r-- | src/mesa/state_tracker/st_cb_rasterpos.c | 2 | ||||
-rw-r--r-- | src/mesa/state_tracker/st_draw.c | 3 | ||||
-rw-r--r-- | src/mesa/state_tracker/st_draw.h | 6 | ||||
-rw-r--r-- | src/mesa/state_tracker/st_draw_feedback.c | 3 |
4 files changed, 9 insertions, 5 deletions
diff --git a/src/mesa/state_tracker/st_cb_rasterpos.c b/src/mesa/state_tracker/st_cb_rasterpos.c index 26a55909d5a..420dc5fc9e8 100644 --- a/src/mesa/state_tracker/st_cb_rasterpos.c +++ b/src/mesa/state_tracker/st_cb_rasterpos.c @@ -254,7 +254,7 @@ st_RasterPos(struct gl_context *ctx, const GLfloat v[4]) * st_feedback_draw_vbo doesn't check for that flag. */ ctx->Array._DrawArrays = rs->arrays; st_feedback_draw_vbo(ctx, &rs->prim, 1, NULL, GL_TRUE, 0, 1, - NULL); + NULL, NULL); ctx->Array._DrawArrays = saved_arrays; /* restore draw's rasterization stage depending on rendermode */ diff --git a/src/mesa/state_tracker/st_draw.c b/src/mesa/state_tracker/st_draw.c index 51bb23807e8..ef0a60732bc 100644 --- a/src/mesa/state_tracker/st_draw.c +++ b/src/mesa/state_tracker/st_draw.c @@ -195,7 +195,8 @@ st_draw_vbo(struct gl_context *ctx, GLboolean index_bounds_valid, GLuint min_index, GLuint max_index, - struct gl_transform_feedback_object *tfb_vertcount) + struct gl_transform_feedback_object *tfb_vertcount, + struct gl_buffer_object *indirect) { struct st_context *st = st_context(ctx); struct pipe_index_buffer ibuffer = {0}; diff --git a/src/mesa/state_tracker/st_draw.h b/src/mesa/state_tracker/st_draw.h index 394473b20d5..9c4d6cbba96 100644 --- a/src/mesa/state_tracker/st_draw.h +++ b/src/mesa/state_tracker/st_draw.h @@ -55,7 +55,8 @@ st_draw_vbo(struct gl_context *ctx, GLboolean index_bounds_valid, GLuint min_index, GLuint max_index, - struct gl_transform_feedback_object *tfb_vertcount); + struct gl_transform_feedback_object *tfb_vertcount, + struct gl_buffer_object *indirect); extern void st_feedback_draw_vbo(struct gl_context *ctx, @@ -65,7 +66,8 @@ st_feedback_draw_vbo(struct gl_context *ctx, GLboolean index_bounds_valid, GLuint min_index, GLuint max_index, - struct gl_transform_feedback_object *tfb_vertcount); + struct gl_transform_feedback_object *tfb_vertcount, + struct gl_buffer_object *indirect); /** * When drawing with VBOs, the addresses specified with diff --git a/src/mesa/state_tracker/st_draw_feedback.c b/src/mesa/state_tracker/st_draw_feedback.c index 1ac9585e7d5..f5566446f42 100644 --- a/src/mesa/state_tracker/st_draw_feedback.c +++ b/src/mesa/state_tracker/st_draw_feedback.c @@ -116,7 +116,8 @@ st_feedback_draw_vbo(struct gl_context *ctx, GLboolean index_bounds_valid, GLuint min_index, GLuint max_index, - struct gl_transform_feedback_object *tfb_vertcount) + struct gl_transform_feedback_object *tfb_vertcount, + struct gl_buffer_object *indirect) { struct st_context *st = st_context(ctx); struct pipe_context *pipe = st->pipe; |