From f1b3e6aefd42eae8ce8b551f67d1f8650353407e Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Tue, 3 Jan 2023 10:02:04 +0100 Subject: [PATCH] radv: fix re-emitting tessellation domain origin when it's dynamic The winding order can be different between pipelines. Fixes new dEQP-VK.pipeline.pipeline_library.dynamic_control_points.change_*_winding. Fixes: f22290949d3 ("radv: add support for dynamic tessellation domain origin") Signed-off-by: Samuel Pitoiset Part-of: --- src/amd/vulkan/radv_cmd_buffer.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c index 5079d67..de153f4 100644 --- a/src/amd/vulkan/radv_cmd_buffer.c +++ b/src/amd/vulkan/radv_cmd_buffer.c @@ -6088,10 +6088,12 @@ radv_CmdBindPipeline(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipeline cmd_buffer->state.tess_lds_size = tcs->info.tcs.num_lds_blocks; } - /* Always re-emit patch control points when a new pipeline with tessellation is bound - * because a bunch of parameters (user SGPRs, TCS vertices out, etc) can be different. + /* Always re-emit patch control points/domain origin when a new pipeline with tessellation + * is bound because a bunch of parameters (user SGPRs, TCS vertices out, ccw, etc) can be + * different. */ - cmd_buffer->state.dirty |= RADV_CMD_DIRTY_DYNAMIC_PATCH_CONTROL_POINTS; + cmd_buffer->state.dirty |= RADV_CMD_DIRTY_DYNAMIC_PATCH_CONTROL_POINTS | + RADV_CMD_DIRTY_DYNAMIC_TESS_DOMAIN_ORIGIN; } /* Re-emit the vertex buffer descriptors because they are really tied to the pipeline. */ -- 2.7.4