From 18599417685c009fe1c91c838ff8d4a66257d430 Mon Sep 17 00:00:00 2001 From: Erik Faye-Lund Date: Wed, 2 Nov 2022 13:40:32 +0100 Subject: [PATCH] zink: only set line-width if drawing lines This might seem like a premature optimization, but it's going to make a bit more sense with the next commit, to prevent needlessly regressing performance. Reviewed-by: Connor Abbott Part-of: --- src/gallium/drivers/zink/zink_draw.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/zink/zink_draw.cpp b/src/gallium/drivers/zink/zink_draw.cpp index a6034fee377..f67f72454f3 100644 --- a/src/gallium/drivers/zink/zink_draw.cpp +++ b/src/gallium/drivers/zink/zink_draw.cpp @@ -680,12 +680,16 @@ zink_draw(struct pipe_context *pctx, } } + if ((BATCH_CHANGED || rast_state_changed || rast_prim_changed) && + ctx->gfx_pipeline_state.rast_prim == PIPE_PRIM_LINES) { + VKCTX(CmdSetLineWidth)(batch->state->cmdbuf, rast_state->line_width); + } + if (BATCH_CHANGED || rast_state_changed || rast_prim_changed) { bool depth_bias = ctx->gfx_pipeline_state.rast_prim == PIPE_PRIM_TRIANGLES && rast_state->offset_fill; - VKCTX(CmdSetLineWidth)(batch->state->cmdbuf, rast_state->line_width); if (depth_bias) { if (rast_state->base.offset_units_unscaled) { VKCTX(CmdSetDepthBias)(batch->state->cmdbuf, rast_state->offset_units * ctx->depth_bias_scale_factor, rast_state->offset_clamp, rast_state->offset_scale);