GLuint min_index,
GLuint max_index,
struct gl_transform_feedback_object *gl_xfb_obj,
- unsigned stream,
- UNUSED struct gl_buffer_object *unused_indirect)
+ unsigned stream)
{
unsigned i;
struct brw_context *brw = brw_context(ctx);
_swsetup_Wakeup(ctx);
_tnl_wakeup(ctx);
_tnl_draw(ctx, prims, nr_prims, ib,
- index_bounds_valid, min_index, max_index, NULL, 0, NULL);
+ index_bounds_valid, min_index, max_index, NULL, 0);
return;
}
brw_draw_prims(ctx, prim, draw_count,
ib, false, 0, ~0,
- NULL, 0,
- NULL);
+ NULL, 0);
brw->draw.draw_indirect_data = NULL;
free(prim);
GLuint min_index,
GLuint max_index,
struct gl_transform_feedback_object *unused_tfb_object,
- unsigned stream,
- struct gl_buffer_object *indirect );
+ unsigned stream);
void brw_init_draw_functions(struct dd_function_table *functions);
void brw_draw_init( struct brw_context *brw );
/* Cut index should work for primitive restart, so use it
*/
brw->prim_restart.enable_cut_index = true;
- brw_draw_prims(ctx, prims, nr_prims, ib, GL_FALSE, -1, -1, NULL, 0,
- NULL);
+ brw_draw_prims(ctx, prims, nr_prims, ib, GL_FALSE, -1, -1, NULL, 0);
brw->prim_restart.enable_cut_index = false;
} else {
/* Not all the primitive draw modes are supported by the cut index,
GLboolean index_bounds_valid,
GLuint min_index, GLuint max_index,
struct gl_transform_feedback_object *tfb_vertcount,
- unsigned stream,
- struct gl_buffer_object *indirect);
+ unsigned stream);
static GLboolean
vbo_maybe_split(struct gl_context *ctx, const struct tnl_vertex_array *arrays,
GLboolean index_bounds_valid,
GLuint min_index, GLuint max_index,
struct gl_transform_feedback_object *tfb_vertcount,
- unsigned stream,
- struct gl_buffer_object *indirect)
+ unsigned stream)
{
struct nouveau_render_state *render = to_render_state(ctx);
GLboolean index_bounds_valid,
GLuint min_index, GLuint max_index,
struct gl_transform_feedback_object *tfb_vertcount,
- unsigned stream,
- struct gl_buffer_object *indirect)
+ unsigned stream)
{
struct nouveau_context *nctx = to_nouveau_context(ctx);
if (nctx->fallback == HWTNL)
TAG(vbo_render_prims)(ctx, arrays, prims, nr_prims, ib,
index_bounds_valid, min_index, max_index,
- tfb_vertcount, stream, indirect);
+ tfb_vertcount, stream);
if (nctx->fallback == SWTNL)
_tnl_draw_prims(ctx, arrays, prims, nr_prims, ib,
index_bounds_valid, min_index, max_index,
- tfb_vertcount, stream, indirect);
+ tfb_vertcount, stream);
}
static void
GLboolean index_bounds_valid,
GLuint min_index, GLuint max_index,
struct gl_transform_feedback_object *tfb_vertcount,
- unsigned stream,
- struct gl_buffer_object *indirect)
+ unsigned stream)
{
/* Borrow and update the inputs list from the tnl context */
const struct tnl_vertex_array* arrays = _tnl_bind_inputs(ctx);
TAG(vbo_check_render_prims)(ctx, arrays,
prims, nr_prims, ib,
index_bounds_valid, min_index, max_index,
- tfb_vertcount, stream, indirect);
+ tfb_vertcount, stream);
}
void
GLboolean index_bounds_valid,
GLuint min_index, GLuint max_index,
struct gl_transform_feedback_object *tfb_vertcount,
- unsigned tfb_stream, struct gl_buffer_object *indirect);
+ unsigned tfb_stream);
/**
};
ctx->Driver.Draw(ctx, &prim, 1, NULL,
- GL_TRUE, start, start + count - 1, NULL, 0, NULL);
+ GL_TRUE, start, start + count - 1, NULL, 0);
if (MESA_DEBUG_FLAGS & DEBUG_ALWAYS_FLUSH) {
_mesa_flush(ctx);
*/
ctx->Driver.Draw(ctx, &prim, 1, &ib,
- index_bounds_valid, start, end, NULL, 0, NULL);
+ index_bounds_valid, start, end, NULL, 0);
if (MESA_DEBUG_FLAGS & DEBUG_ALWAYS_FLUSH) {
_mesa_flush(ctx);
}
ctx->Driver.Draw(ctx, prim, primcount, &ib,
- false, 0, ~0, NULL, 0, NULL);
+ false, 0, ~0, NULL, 0);
}
else {
/* render one prim at a time */
else
prim[0].basevertex = 0;
- ctx->Driver.Draw(ctx, prim, 1, &ib, false, 0, ~0, NULL, 0, NULL);
+ ctx->Driver.Draw(ctx, prim, 1, &ib, false, 0, ~0, NULL, 0);
}
}
* (like in DrawArrays), but we have no way to know how many vertices
* will be rendered. */
- ctx->Driver.Draw(ctx, &prim, 1, NULL, GL_FALSE, 0, ~0, obj, stream, NULL);
+ ctx->Driver.Draw(ctx, &prim, 1, NULL, GL_FALSE, 0, ~0, obj, stream);
if (MESA_DEBUG_FLAGS & DEBUG_ALWAYS_FLUSH) {
_mesa_flush(ctx);
/* Draw the point. */
st_feedback_draw_vbo(ctx, &rs->prim, 1, NULL, GL_TRUE, 0, 1,
- NULL, 0, NULL);
+ NULL, 0);
/* restore draw's rasterization stage depending on rendermode */
if (ctx->RenderMode == GL_FEEDBACK) {
GLuint min_index,
GLuint max_index,
struct gl_transform_feedback_object *tfb_vertcount,
- unsigned stream,
- struct gl_buffer_object *indirect)
+ unsigned stream)
{
struct st_context *st = st_context(ctx);
struct pipe_draw_info info;
}
}
- assert(!indirect);
-
/* do actual drawing */
for (i = 0; i < nr_prims; i++) {
info.count = prims[i].count;
GLuint min_index,
GLuint max_index,
struct gl_transform_feedback_object *tfb_vertcount,
- unsigned stream,
- struct gl_buffer_object *indirect);
+ unsigned stream);
/**
* When drawing with VBOs, the addresses specified with
GLuint min_index,
GLuint max_index,
struct gl_transform_feedback_object *tfb_vertcount,
- unsigned stream,
- struct gl_buffer_object *indirect)
+ unsigned stream)
{
struct st_context *st = st_context(ctx);
struct pipe_context *pipe = st->pipe;
GLuint min_index,
GLuint max_index,
struct gl_transform_feedback_object *tfb_vertcount,
- unsigned stream,
- struct gl_buffer_object *indirect)
+ unsigned stream)
{
TNLcontext *tnl = TNL_CONTEXT(ctx);
const GLuint TEST_SPLIT = 0;
const struct _mesa_index_buffer *ib,
GLboolean index_bounds_valid, GLuint min_index, GLuint max_index,
struct gl_transform_feedback_object *tfb_vertcount,
- unsigned stream, struct gl_buffer_object *indirect)
+ unsigned stream)
{
/* Update TNLcontext::draw_arrays and return that pointer.
*/
_tnl_draw_prims(ctx, arrays, prim, nr_prims, ib,
index_bounds_valid, min_index, max_index,
- tfb_vertcount, stream, indirect);
+ tfb_vertcount, stream);
}
GL_TRUE,
0,
max_index - min_index,
- NULL, 0, NULL );
+ NULL, 0);
free(tmp_indices);
GL_TRUE,
0,
copy->dstbuf_nr - 1,
- NULL, 0, NULL);
+ NULL, 0);
/* Reset all pointers:
*/
!split->ib,
split->min_index,
split->max_index,
- NULL, 0, NULL);
+ NULL, 0);
split->dstprim_nr = 0;
split->min_index = ~0;
GLuint min_index,
GLuint max_index,
struct gl_transform_feedback_object *tfb_vertcount,
- unsigned stream,
- struct gl_buffer_object *indirect );
+ unsigned stream);
void
_tnl_draw(struct gl_context *ctx,
const struct _mesa_prim *prim, GLuint nr_prims,
const struct _mesa_index_buffer *ib,
GLboolean index_bounds_valid, GLuint min_index, GLuint max_index,
- struct gl_transform_feedback_object *tfb_vertcount, unsigned stream,
- struct gl_buffer_object *indirect);
+ struct gl_transform_feedback_object *tfb_vertcount, unsigned stream);
extern void
_tnl_RasterPos(struct gl_context *ctx, const GLfloat vObj[4]);
GLuint min_index,
GLuint max_index,
struct gl_transform_feedback_object *tfb_vertcount,
- unsigned tfb_stream,
- struct gl_buffer_object *indirect);
+ unsigned tfb_stream);
/* Utility function to cope with various constraints on tnl modules or
ctx->Driver.Draw(ctx, exec->vtx.prim, exec->vtx.prim_count,
NULL, GL_TRUE, 0, exec->vtx.vert_count - 1,
- NULL, 0, NULL);
+ NULL, 0);
/* Get new storage -- unless asked not to. */
if (!persistent_mapping)
(temp_prim.count == sub_prim->count)) {
ctx->Driver.Draw(ctx, &temp_prim, 1, ib, GL_TRUE,
sub_prim->min_index, sub_prim->max_index,
- NULL, 0, NULL);
+ NULL, 0);
} else {
ctx->Driver.Draw(ctx, &temp_prim, 1, ib,
GL_FALSE, -1, -1,
- NULL, 0, NULL);
+ NULL, 0);
}
}
if (sub_end_index >= end_index) {
GLuint min_index = _vbo_save_get_min_index(node);
GLuint max_index = _vbo_save_get_max_index(node);
ctx->Driver.Draw(ctx, node->prims, node->prim_count, NULL, GL_TRUE,
- min_index, max_index, NULL, 0, NULL);
+ min_index, max_index, NULL, 0);
}
}