diff --git a/src/freedreno/vulkan/tu_pipeline.cc b/src/freedreno/vulkan/tu_pipeline.cc index 74fc239a694..a192c16b5bd 100644 --- a/src/freedreno/vulkan/tu_pipeline.cc +++ b/src/freedreno/vulkan/tu_pipeline.cc @@ -3891,7 +3891,9 @@ tu_emit_draw_state(struct tu_cmd_buffer *cmd) dirty_draw_states |= (1u << id); \ } #define DRAW_STATE_FDM(name, id, ...) \ - if ((EMIT_STATE(name) || (cmd->state.dirty & TU_CMD_DIRTY_FDM)) && \ + if ((EMIT_STATE(name) || (cmd->state.dirty & \ + (TU_CMD_DIRTY_FDM | \ + TU_CMD_DIRTY_PER_VIEW_VIEWPORT))) && \ !(cmd->state.pipeline_draw_states & (1u << id))) { \ if (cmd->state.shaders[MESA_SHADER_FRAGMENT]->fs.has_fdm) { \ tu_cs_set_writeable(&cmd->sub_cs, true); \