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: f22290949d ("radv: add support for dynamic tessellation domain origin")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20486>
This commit is contained in:
Samuel Pitoiset
2023-01-03 10:02:04 +01:00
committed by Marge Bot
parent 6e24b76c10
commit f1b3e6aefd

View File

@@ -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. */