diff --git a/Source/Core/VideoCommon/VertexShaderManager.cpp b/Source/Core/VideoCommon/VertexShaderManager.cpp index 41c06ad4ba..ce5ebdbb00 100644 --- a/Source/Core/VideoCommon/VertexShaderManager.cpp +++ b/Source/Core/VideoCommon/VertexShaderManager.cpp @@ -168,8 +168,14 @@ bool VertexShaderManager::UseVertexDepthRange() return true; // If an inverted depth range is unsupported, we also need to check if the range is inverted. - if (!g_ActiveConfig.backend_info.bSupportsReversedDepthRange && xfmem.viewport.zRange < 0.0f) - return true; + if (!g_ActiveConfig.backend_info.bSupportsReversedDepthRange) + { + if (xfmem.viewport.zRange < 0.0f) + return true; + + if (xfmem.viewport.zRange > xfmem.viewport.farZ) + return true; + } // If an oversized depth range or a ztexture is used, we need to calculate the depth range // in the vertex shader.