From b474c4229d18248b8b8de93a81bc99ac6a3bc2e4 Mon Sep 17 00:00:00 2001 From: Jules Blok Date: Mon, 29 Dec 2014 17:05:39 +0100 Subject: [PATCH] VertexShaderManager: Turn off the epsilon hack for Nvidia 3D Vision. --- Source/Core/VideoCommon/VertexShaderManager.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Source/Core/VideoCommon/VertexShaderManager.cpp b/Source/Core/VideoCommon/VertexShaderManager.cpp index 542328e523..4ca20a21f4 100644 --- a/Source/Core/VideoCommon/VertexShaderManager.cpp +++ b/Source/Core/VideoCommon/VertexShaderManager.cpp @@ -456,7 +456,10 @@ void VertexShaderManager::SetConstants() g_fProjectionMatrix[13] = 0.0f; g_fProjectionMatrix[14] = 0.0f; - g_fProjectionMatrix[15] = 1.0f + FLT_EPSILON; // hack to fix depth clipping precision issues (such as Sonic Unleashed UI) + + // Hack to fix depth clipping precision issues (such as Sonic Unleashed UI) + // Turn it off for Nvidia 3D Vision, because it can't handle such a projection matrix + g_fProjectionMatrix[15] = (g_ActiveConfig.iStereoMode == STEREO_3DVISION) ? 1.0f : 1.0f + FLT_EPSILON; SETSTAT_FT(stats.g2proj_0, g_fProjectionMatrix[0]); SETSTAT_FT(stats.g2proj_1, g_fProjectionMatrix[1]);