From d2cc7190cab7dbd34aeb2d92683bc1cdb6b01587 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 b6e0361b1..1f07b0d00 100644 --- a/src/xenia/gpu/spirv_shader_translator.cc +++ b/src/xenia/gpu/spirv_shader_translator.cc @@ -835,6 +835,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.