Quoting [email protected] (2018-05-17 07:38:27) > From: Mathias Fröhlich <[email protected]> > > The merge_inputs function handles that part that changes when the > inputs change. The clear_buffers function triggers when we may need > a new upload. Thus the merge_inputs can be limited to be once > per brw_draw_prims. > > Signed-off-by: Mathias Fröhlich <[email protected]> > --- > src/mesa/drivers/dri/i965/brw_draw.c | 30 ++++++++++++++++++++++-------- > 1 file changed, 22 insertions(+), 8 deletions(-) > > diff --git a/src/mesa/drivers/dri/i965/brw_draw.c > b/src/mesa/drivers/dri/i965/brw_draw.c > index ae3b7be2dd..2a7562a684 100644 > --- a/src/mesa/drivers/dri/i965/brw_draw.c > +++ b/src/mesa/drivers/dri/i965/brw_draw.c > @@ -278,21 +278,34 @@ brw_emit_prim(struct brw_context *brw, > > > static void > -brw_merge_inputs(struct brw_context *brw) > +brw_clear_buffers(struct brw_context *brw) > { > - const struct gen_device_info *devinfo = &brw->screen->devinfo; > - const struct gl_context *ctx = &brw->ctx; > - GLuint i; > - > - for (i = 0; i < brw->vb.nr_buffers; i++) { > + for (unsigned i = 0; i < brw->vb.nr_buffers; ++i) { > brw_bo_unreference(brw->vb.buffers[i].bo); > brw->vb.buffers[i].bo = NULL; > } > brw->vb.nr_buffers = 0; > > + for (unsigned i = 0; i < brw->vb.nr_enabled; ++i) { > + brw->vb.enabled[i]->buffer = -1; > + }
Hmm, can we have an enabled buffer that is not in the set of brw->vb.buffers[]? -Chris _______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
