From c4f85a38e630c80feb1deb9205d8bb3ff5b7caec Mon Sep 17 00:00:00 2001 From: Jules Blok Date: Tue, 5 May 2015 23:34:45 +0200 Subject: VideoBackends: Use proper floating point depth precision. --- Source/Core/VideoBackends/OGL/TextureCache.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Source/Core/VideoBackends/OGL/TextureCache.cpp') diff --git a/Source/Core/VideoBackends/OGL/TextureCache.cpp b/Source/Core/VideoBackends/OGL/TextureCache.cpp index abc1a73ba9..31979b8347 100644 --- a/Source/Core/VideoBackends/OGL/TextureCache.cpp +++ b/Source/Core/VideoBackends/OGL/TextureCache.cpp @@ -294,7 +294,7 @@ void TextureCache::CompileShaders() "\n" "void main(){\n" " vec4 texcol = texture(samp9, vec3(f_uv0.xy, %s));\n" - " int depth = int(round(texcol.x * float(0xFFFFFF)));\n" + " int depth = int(round(texcol.x * 16777216.0));\n" // Convert to Z24 format " ivec4 workspace;\n" -- cgit v1.2.3 From b0770e2a0c2e391139db1365ca3658ada0f87da0 Mon Sep 17 00:00:00 2001 From: Jules Blok Date: Wed, 6 May 2015 22:02:12 +0200 Subject: VideoBackends: Floor depth values in depth copy shaders. --- Source/Core/VideoBackends/OGL/TextureCache.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Source/Core/VideoBackends/OGL/TextureCache.cpp') diff --git a/Source/Core/VideoBackends/OGL/TextureCache.cpp b/Source/Core/VideoBackends/OGL/TextureCache.cpp index 31979b8347..a904ca64af 100644 --- a/Source/Core/VideoBackends/OGL/TextureCache.cpp +++ b/Source/Core/VideoBackends/OGL/TextureCache.cpp @@ -294,7 +294,7 @@ void TextureCache::CompileShaders() "\n" "void main(){\n" " vec4 texcol = texture(samp9, vec3(f_uv0.xy, %s));\n" - " int depth = int(round(texcol.x * 16777216.0));\n" + " int depth = int(floor(texcol.x * 16777216.0));\n" // Convert to Z24 format " ivec4 workspace;\n" -- cgit v1.2.3 From 0f2c72f0f844c219e168faa7de8dd515f8723fdc Mon Sep 17 00:00:00 2001 From: Jules Blok Date: Wed, 6 May 2015 22:42:06 +0200 Subject: VideoCommon: Clamp integer conversions. --- Source/Core/VideoBackends/OGL/TextureCache.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Source/Core/VideoBackends/OGL/TextureCache.cpp') diff --git a/Source/Core/VideoBackends/OGL/TextureCache.cpp b/Source/Core/VideoBackends/OGL/TextureCache.cpp index a904ca64af..177d33432d 100644 --- a/Source/Core/VideoBackends/OGL/TextureCache.cpp +++ b/Source/Core/VideoBackends/OGL/TextureCache.cpp @@ -294,7 +294,7 @@ void TextureCache::CompileShaders() "\n" "void main(){\n" " vec4 texcol = texture(samp9, vec3(f_uv0.xy, %s));\n" - " int depth = int(floor(texcol.x * 16777216.0));\n" + " int depth = clamp(int(texcol.x * 16777216.0), 0, 0xFFFFFF);\n" // Convert to Z24 format " ivec4 workspace;\n" -- cgit v1.2.3