summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/OGL/Render.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Core/VideoBackends/OGL/Render.cpp')
-rw-r--r--Source/Core/VideoBackends/OGL/Render.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/Source/Core/VideoBackends/OGL/Render.cpp b/Source/Core/VideoBackends/OGL/Render.cpp
index 69f06c6b52..cff3512370 100644
--- a/Source/Core/VideoBackends/OGL/Render.cpp
+++ b/Source/Core/VideoBackends/OGL/Render.cpp
@@ -1160,9 +1160,16 @@ void Renderer::SetViewport()
// value supported by the console GPU. If not, we simply clamp the near/far values
// themselves to the maximum value as done above.
if (g_ActiveConfig.backend_info.bSupportsDepthClamp)
- glDepthRangef(GX_MAX_DEPTH, 0.0f);
+ {
+ if (xfmem.viewport.zRange < 0.0f)
+ glDepthRangef(0.0f, GX_MAX_DEPTH);
+ else
+ glDepthRangef(GX_MAX_DEPTH, 0.0f);
+ }
else
+ {
glDepthRangef(GLFar, GLNear);
+ }
}
void Renderer::ClearScreen(const EFBRectangle& rc, bool colorEnable, bool alphaEnable, bool zEnable,