From a8fe4e7a2d6a4fdfdc976fefa57eaecb5bb271b5 Mon Sep 17 00:00:00 2001 From: nmzik Date: Sun, 23 Aug 2026 04:23:59 +0200 Subject: [PATCH] renderer: honor null pixel shaders in depth-only draws --- src/graphics/host_gpu/renderer/renderDraw.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/graphics/host_gpu/renderer/renderDraw.cpp b/src/graphics/host_gpu/renderer/renderDraw.cpp index 6002242f..086fadd4 100644 --- a/src/graphics/host_gpu/renderer/renderDraw.cpp +++ b/src/graphics/host_gpu/renderer/renderDraw.cpp @@ -710,7 +710,8 @@ static bool DrawHasActivePixelShader(const RenderCommandBuffer& buffer) { const auto& ctx = buffer.GetRegisters(); const auto& sh_regs = ctx.GetShaderRegisters(); const bool has_color_output = (ctx.GetRenderTargetMask() & sh_regs.m_cbShaderMask) != 0; - return has_color_output || PixelShaderHasDepthOrCoverageSideEffects(sh_regs); + return ShaderAddressValid(buffer.GetShaders().GetPs().ps_regs.data_addr) && + (has_color_output || PixelShaderHasDepthOrCoverageSideEffects(sh_regs)); } enum class CbColorMode : uint8_t {