On 6 November 2013 23:06, Chris Forbes <chr...@ijw.co.nz> wrote: > Signed-off-by: Chris Forbes <chr...@ijw.co.nz> > --- > src/mesa/drivers/dri/i965/brw_draw.c | 8 ++++++-- > 1 file changed, 6 insertions(+), 2 deletions(-) > > diff --git a/src/mesa/drivers/dri/i965/brw_draw.c > b/src/mesa/drivers/dri/i965/brw_draw.c > index e6c3508..9f8ad45 100644 > --- a/src/mesa/drivers/dri/i965/brw_draw.c > +++ b/src/mesa/drivers/dri/i965/brw_draw.c > @@ -323,7 +323,8 @@ static bool brw_try_draw_prims( struct gl_context *ctx, > GLuint nr_prims, > const struct _mesa_index_buffer *ib, > GLuint min_index, > - GLuint max_index ) > + GLuint max_index, > + const struct gl_buffer_object > *indirect) > { > struct brw_context *brw = brw_context(ctx); > bool retval = true; > @@ -377,6 +378,9 @@ static bool brw_try_draw_prims( struct gl_context *ctx, > brw->vb.max_index = max_index; > brw->state.dirty.brw |= BRW_NEW_VERTICES; > > + brw->indirect_buffer.indb = indirect; > + brw->state.dirty.brw |= BRW_NEW_INDIRECT_BUFFER; > + >
It seems wasteful to flag this bit on every draw call. Couldn't we do something like this? if (brw->indirect_buffer.indb != NULL || indirect != NULL) { brw->indirect_buffer.indb = indirect; brw->state.dirty.brw |= BRW_NEW_INDIRECT_BUFFER; } Assuming that's addressed, this patch is: Reviewed-by: Paul Berry <stereotype...@gmail.com> > for (i = 0; i < nr_prims; i++) { > int estimated_max_prim_size; > > @@ -506,7 +510,7 @@ void brw_draw_prims( struct gl_context *ctx, > * manage it. swrast doesn't support our featureset, so we can't fall > back > * to it. > */ > - brw_try_draw_prims(ctx, arrays, prims, nr_prims, ib, min_index, > max_index); > + brw_try_draw_prims(ctx, arrays, prims, nr_prims, ib, min_index, > max_index, indirect); > } > > void brw_draw_init( struct brw_context *brw ) > -- > 1.8.4.2 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev >
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev