From 2b071d9b09195a68464401d333ea6ab4d5bf3e62 Mon Sep 17 00:00:00 2001 From: goldislead <69987043+goldislead@users.noreply.github.com> Date: Sun, 2 Aug 2026 10:05:00 -0700 Subject: [PATCH] [Vulkan] Invalidate user clip plane constants on source registers change Co-authored-by: Herman S. <429230+has207@users.noreply.github.com> --- src/xenia/gpu/vulkan/vulkan_command_processor.cc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/xenia/gpu/vulkan/vulkan_command_processor.cc b/src/xenia/gpu/vulkan/vulkan_command_processor.cc index 585b323a2..2ddfb57d3 100644 --- a/src/xenia/gpu/vulkan/vulkan_command_processor.cc +++ b/src/xenia/gpu/vulkan/vulkan_command_processor.cc @@ -1413,6 +1413,11 @@ void VulkanCommandProcessor::WriteRegister(uint32_t index, uint32_t value) { // staying stale from the first draw of the submission. current_constant_buffers_up_to_date_ &= ~(UINT32_C(1) << SpirvShaderTranslator::kConstantBufferTessellation); + } else if ((index >= XE_GPU_REG_PA_CL_UCP_0_X && + index <= XE_GPU_REG_PA_CL_UCP_5_W) || + index == XE_GPU_REG_PA_CL_CLIP_CNTL) { + current_constant_buffers_up_to_date_ &= + ~(UINT32_C(1) << SpirvShaderTranslator::kConstantBufferClipPlanes); } } void VulkanCommandProcessor::WriteRegistersFromMem(uint32_t start_index,