mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-09 04:38:03 +02:00
i965: Indroduce brw_finish_drawing.
In order to add our ARB_indirect_parameters implementation we need to refactor brw_try_draw_prims so that it operates on a per primitive basis and move the loop into brw_draw_prims. This commit introduces the brw_finish_drawing function where we move the code that executes once after the loop. Signed-off-by: Plamena Manolova <plamena.manolova@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
parent
c63c8f5135
commit
646e112385
1 changed files with 14 additions and 7 deletions
|
|
@ -658,6 +658,19 @@ brw_prepare_drawing(struct gl_context *ctx,
|
|||
brw->ctx.NewDriverState |= BRW_NEW_VERTICES;
|
||||
}
|
||||
|
||||
static void
|
||||
brw_finish_drawing(struct gl_context *ctx)
|
||||
{
|
||||
struct brw_context *brw = brw_context(ctx);
|
||||
|
||||
if (brw->always_flush_batch)
|
||||
intel_batchbuffer_flush(brw);
|
||||
|
||||
brw_program_cache_check_size(brw);
|
||||
brw_postdraw_reconcile_align_wa_slices(brw);
|
||||
brw_postdraw_set_buffers_need_resolve(brw);
|
||||
}
|
||||
|
||||
/* May fail if out of video memory for texture or vbo upload, or on
|
||||
* fallback conditions.
|
||||
*/
|
||||
|
|
@ -796,13 +809,6 @@ retry:
|
|||
brw_render_state_finished(brw);
|
||||
}
|
||||
|
||||
if (brw->always_flush_batch)
|
||||
intel_batchbuffer_flush(brw);
|
||||
|
||||
brw_program_cache_check_size(brw);
|
||||
brw_postdraw_reconcile_align_wa_slices(brw);
|
||||
brw_postdraw_set_buffers_need_resolve(brw);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -863,6 +869,7 @@ brw_draw_prims(struct gl_context *ctx,
|
|||
* to it.
|
||||
*/
|
||||
brw_try_draw_prims(ctx, arrays, prims, nr_prims, xfb_obj, stream, indirect);
|
||||
brw_finish_drawing(ctx);
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue