From dedd2b60e4a66a42fe7a2609df8d536d1ba6291c Mon Sep 17 00:00:00 2001 From: Henrik Rydgard Date: Wed, 26 Aug 2015 17:02:07 +0200 Subject: [PATCH] Subtracting an offset of 0.5 works on my nVidia and I have no idea why, this makes no sense. --- GPU/GLES/VertexShaderGenerator.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/GPU/GLES/VertexShaderGenerator.cpp b/GPU/GLES/VertexShaderGenerator.cpp index c140dedac6..7557f177ad 100644 --- a/GPU/GLES/VertexShaderGenerator.cpp +++ b/GPU/GLES/VertexShaderGenerator.cpp @@ -399,7 +399,7 @@ void GenerateVertexShader(int prim, u32 vertType, char *buffer, bool useHWTransf WRITE(p, "\nvec4 depthRoundZVP(vec4 v) {\n"); WRITE(p, " float z = v.z / v.w;\n"); WRITE(p, " z = z * u_depthRange.x + u_depthRange.y;\n"); - WRITE(p, " z = floor(z);\n"); + WRITE(p, " z = floor(z - 0.5);\n"); WRITE(p, " z = (z - u_depthRange.y) / u_depthRange.x;\n"); WRITE(p, " return vec4(v.x, v.y, z * v.w, v.w);\n"); WRITE(p, "}\n\n");