From 1a4b78e3778ea21b605d5a7da7343e5f994700be Mon Sep 17 00:00:00 2001 From: "Herman S." <429230+has207@users.noreply.github.com> Date: Sat, 6 Dec 2025 17:50:51 +0900 Subject: [PATCH] [Vulkan] Invalidate descriptor set bindings for incompatible sets The code to do this was set up but it seems it was never implemented. --- src/xenia/gpu/vulkan/vulkan_command_processor.cc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/xenia/gpu/vulkan/vulkan_command_processor.cc b/src/xenia/gpu/vulkan/vulkan_command_processor.cc index 019fc3d6a..a6b479726 100644 --- a/src/xenia/gpu/vulkan/vulkan_command_processor.cc +++ b/src/xenia/gpu/vulkan/vulkan_command_processor.cc @@ -2440,6 +2440,9 @@ bool VulkanCommandProcessor::IssueDraw(xenos::PrimitiveType prim_type, descriptor_sets_kept, uint32_t(SpirvShaderTranslator::kDescriptorSetTexturesPixel)); } + // Invalidate descriptor set bindings for incompatible sets. + current_graphics_descriptor_sets_bound_up_to_date_ &= + (UINT32_C(1) << descriptor_sets_kept) - 1; } else { // No or unknown pipeline layout previously bound - all bindings are in an // indeterminate state.