diff --git a/.pick_status.json b/.pick_status.json index 4b4658f94b5..da271783cbb 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -2002,7 +2002,7 @@ "description": "tu: tu: Clear patchControlPoints dirty state with static patchControlPoints", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "68f3c38c8011e3ff304a67b6ffb33fd21ee65b0c" }, diff --git a/src/freedreno/vulkan/tu_cmd_buffer.c b/src/freedreno/vulkan/tu_cmd_buffer.c index db18d289e49..d8b92af9cd8 100644 --- a/src/freedreno/vulkan/tu_cmd_buffer.c +++ b/src/freedreno/vulkan/tu_cmd_buffer.c @@ -2594,10 +2594,12 @@ tu_CmdBindPipeline(VkCommandBuffer commandBuffer, cmd->state.rp.has_tess = true; if (!(pipeline->dynamic_state_mask & - BIT(TU_DYNAMIC_STATE_PATCH_CONTROL_POINTS))) + BIT(TU_DYNAMIC_STATE_PATCH_CONTROL_POINTS))) { cmd->state.patch_control_points = pipeline->tess.patch_control_points; - else + cmd->state.dirty &= ~TU_CMD_DIRTY_PATCH_CONTROL_POINTS; + } else { cmd->state.dirty |= TU_CMD_DIRTY_PATCH_CONTROL_POINTS; + } } cmd->state.line_mode = pipeline->rast.line_mode;