From 1186fbcdf1221724baca9528dad9d7bd2c333df8 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Fri, 5 Mar 2021 13:17:28 +1000 Subject: [PATCH] lavapipe: fix dynamic viewport/scissor pipeline emission Just fixup the tests for when the pipeline vp/scissors are emitted. Reviewed-By: Mike Blumenkrantz Part-of: --- src/gallium/frontends/lavapipe/lvp_execute.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/gallium/frontends/lavapipe/lvp_execute.c b/src/gallium/frontends/lavapipe/lvp_execute.c index 4de47d08c1d..bb464e6cba7 100644 --- a/src/gallium/frontends/lavapipe/lvp_execute.c +++ b/src/gallium/frontends/lavapipe/lvp_execute.c @@ -671,12 +671,14 @@ static void handle_graphics_pipeline(struct lvp_cmd_buffer_entry *cmd, state->scissor_dirty = true; } - if (!dynamic_states[VK_DYNAMIC_STATE_VIEWPORT]) { + if (!dynamic_states[VK_DYNAMIC_STATE_VIEWPORT] && + !dynamic_states[conv_dynamic_state_idx(VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT)]) { for (i = 0; i < vpi->viewportCount; i++) get_viewport_xform(&vpi->pViewports[i], state->viewports[i].scale, state->viewports[i].translate); state->vp_dirty = true; } - if (!dynamic_states[VK_DYNAMIC_STATE_SCISSOR]) { + if (!dynamic_states[VK_DYNAMIC_STATE_SCISSOR] && + !dynamic_states[conv_dynamic_state_idx(VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT)]) { for (i = 0; i < vpi->scissorCount; i++) { const VkRect2D *ss = &vpi->pScissors[i]; state->scissors[i].minx = ss->offset.x;