summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/VertexShaderManager.cpp
diff options
context:
space:
mode:
authorJules Blok <jules.blok@gmail.com>2024-10-05 14:14:11 +0200
committerGitHub <noreply@github.com>2024-10-05 14:14:11 +0200
commitb191c0f7d8960b81bd2cfa8804307b01904887b4 (patch)
tree2a93bc74fe4427ee5160393fc9386d4d4eadcf6d /Source/Core/VideoCommon/VertexShaderManager.cpp
parent2d9f789940aba806f75cd329905253c05577d837 (diff)
parent9e950c695943223e76b0b97e78b18a1f5f6da1dc (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.cpp10
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.