From 8628523f0ff3702b697b932cb2e1ac29742bb557 Mon Sep 17 00:00:00 2001 From: Connor Abbott Date: Wed, 18 Feb 2026 10:23:25 -0500 Subject: [PATCH] tu: Fix condition for re-emitting FDM-related state Even when FDM isn't enabled, we can still emit patchpoints and duplicate the viewport per-view or per-layer because the pipeline may include VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT. Before 25202d3e473 ("tu: Remove fdm argument from tu6_emit_tile_select") we just silently skipped applying those patchpoints, but now we actually apply them which means we need to re-emit viewport and scissor for subsequent render passes. Fixes: 25202d3e473 ("tu: Remove fdm argument from tu6_emit_tile_select") Part-of: --- src/freedreno/vulkan/tu_cmd_buffer.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/freedreno/vulkan/tu_cmd_buffer.cc b/src/freedreno/vulkan/tu_cmd_buffer.cc index 40e66889515..40324b32b83 100644 --- a/src/freedreno/vulkan/tu_cmd_buffer.cc +++ b/src/freedreno/vulkan/tu_cmd_buffer.cc @@ -4213,7 +4213,7 @@ tu_cmd_render_tiles(struct tu_cmd_buffer *cmd, * via the patchpoints, so we need to re-emit them if they are reused for a * later render pass. */ - if (cmd->state.pass->has_fdm) + if (cmd->fdm_bin_patchpoints.size != 0) cmd->state.dirty |= TU_CMD_DIRTY_FDM; /* Reset the gmem store CS entry lists so that the next render pass