From e0caacfa6f510bf4ae839341722eba700d9eb27d Mon Sep 17 00:00:00 2001 From: lightningterror <18107717+lightningterror@users.noreply.github.com> Date: Fri, 1 Oct 2021 01:22:37 +0200 Subject: [PATCH] GS-hw: Don't write clamped depth test value to depth buffer when ZMSK is enabled. Fixes missing shadows in Kingdom Hearts: Chain of Memories. --- pcsx2/GS/Renderers/DX11/GSRendererDX11.cpp | 2 +- pcsx2/GS/Renderers/OpenGL/GSRendererOGL.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pcsx2/GS/Renderers/DX11/GSRendererDX11.cpp b/pcsx2/GS/Renderers/DX11/GSRendererDX11.cpp index 2a7c573251..72c605da81 100644 --- a/pcsx2/GS/Renderers/DX11/GSRendererDX11.cpp +++ b/pcsx2/GS/Renderers/DX11/GSRendererDX11.cpp @@ -135,7 +135,7 @@ void GSRendererDX11::EmulateZbuffer() { vs_cb.MaxDepth = GSVector2i(max_z); } - else + else if (!m_context->ZBUF.ZMSK) { ps_cb.Af_MaxDepth.y = max_z * ldexpf(1, -32); m_ps_sel.zclamp = 1; diff --git a/pcsx2/GS/Renderers/OpenGL/GSRendererOGL.cpp b/pcsx2/GS/Renderers/OpenGL/GSRendererOGL.cpp index d8e3486bb6..0bba62cd16 100644 --- a/pcsx2/GS/Renderers/OpenGL/GSRendererOGL.cpp +++ b/pcsx2/GS/Renderers/OpenGL/GSRendererOGL.cpp @@ -146,7 +146,7 @@ void GSRendererOGL::EmulateZbuffer() { vs_cb.MaxDepth = GSVector2i(max_z); } - else + else if (!m_context->ZBUF.ZMSK) { ps_cb.MaxDepth = GSVector4(0.0f, 0.0f, 0.0f, max_z * ldexpf(1, -32)); m_ps_sel.zclamp = 1;