diff options
| author | Jules Blok <jules.blok@gmail.com> | 2024-10-05 14:14:11 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-10-05 14:14:11 +0200 |
| commit | b191c0f7d8960b81bd2cfa8804307b01904887b4 (patch) | |
| tree | 2a93bc74fe4427ee5160393fc9386d4d4eadcf6d /Source/Core/VideoCommon/VertexShaderManager.cpp | |
| parent | 2d9f789940aba806f75cd329905253c05577d837 (diff) | |
| parent | 9e950c695943223e76b0b97e78b18a1f5f6da1dc (diff) | |
Merge pull request #12208 from PatrickFerry/add-vertex-depth-range-case
Use Vertex Depth Range when zRange Exceeds farZ
Diffstat (limited to 'Source/Core/VideoCommon/VertexShaderManager.cpp')
| -rw-r--r-- | Source/Core/VideoCommon/VertexShaderManager.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/Source/Core/VideoCommon/VertexShaderManager.cpp b/Source/Core/VideoCommon/VertexShaderManager.cpp index 38e7cefe18..0415ac05dc 100644 --- a/Source/Core/VideoCommon/VertexShaderManager.cpp +++ b/Source/Core/VideoCommon/VertexShaderManager.cpp @@ -148,8 +148,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. |
