From 74ce1c812f521cd5f48093bdca38c67cf998891c Mon Sep 17 00:00:00 2001 From: "Herman S." <429230+has207@users.noreply.github.com> Date: Sat, 13 Dec 2025 12:09:24 +0900 Subject: [PATCH] [Vulkan] Fix VUID-FragDepth-FragDepth-04216 validation issue --- src/xenia/gpu/spirv_shader_translator.cc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/xenia/gpu/spirv_shader_translator.cc b/src/xenia/gpu/spirv_shader_translator.cc index 616304e09..b0890eced 100644 --- a/src/xenia/gpu/spirv_shader_translator.cc +++ b/src/xenia/gpu/spirv_shader_translator.cc @@ -723,6 +723,10 @@ std::vector SpirvShaderTranslator::CompleteTranslation() { builder_->addExecutionMode(function_main_, spv::ExecutionModeEarlyFragmentTests); } + if (current_shader().writes_depth()) { + builder_->addExecutionMode(function_main_, + spv::ExecutionModeDepthReplacing); + } if (edram_fragment_shader_interlock_) { // Accessing per-sample values, so interlocking just when there's common // coverage is enough if the device exposes that.