From a907e29a3ec3dc71c4faf80d58fa1b665e1cbdba Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Mon, 5 Jul 2021 06:54:15 +1000 Subject: [PATCH] crocus: don't update draw parameters unless needed Part-of: --- src/gallium/drivers/crocus/crocus_draw.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/crocus/crocus_draw.c b/src/gallium/drivers/crocus/crocus_draw.c index bdcebd2..73de537 100644 --- a/src/gallium/drivers/crocus/crocus_draw.c +++ b/src/gallium/drivers/crocus/crocus_draw.c @@ -282,7 +282,9 @@ crocus_indirect_draw_vbo(struct crocus_context *ice, crocus_batch_maybe_flush(batch, 1500); crocus_require_statebuffer_space(batch, 2400); - crocus_update_draw_parameters(ice, &info, drawid_offset + i, &indirect, draws); + if (ice->state.vs_uses_draw_params || + ice->state.vs_uses_derived_draw_params) + crocus_update_draw_parameters(ice, &info, drawid_offset + i, &indirect, draws); screen->vtbl.upload_render_state(ice, batch, &info, drawid_offset + i, &indirect, draws); @@ -316,7 +318,9 @@ crocus_simple_draw_vbo(struct crocus_context *ice, crocus_batch_maybe_flush(batch, 1500); crocus_require_statebuffer_space(batch, 2400); - crocus_update_draw_parameters(ice, draw, drawid_offset, indirect, sc); + if (ice->state.vs_uses_draw_params || + ice->state.vs_uses_derived_draw_params) + crocus_update_draw_parameters(ice, draw, drawid_offset, indirect, sc); screen->vtbl.upload_render_state(ice, batch, draw, drawid_offset, indirect, sc); } -- 2.7.4