From 30269e5bad208975d6d1cf43cd414563befc530b Mon Sep 17 00:00:00 2001 From: kd-11 Date: Wed, 15 Nov 2017 20:38:22 +0300 Subject: [PATCH] rsx/gl: Use strict method of gathering the depth buffer bits - Performance difference on modern GPUs is negligible --- rpcs3/Emu/RSX/GL/GLOverlays.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/rpcs3/Emu/RSX/GL/GLOverlays.h b/rpcs3/Emu/RSX/GL/GLOverlays.h index 0fdbc60412..36102bac31 100644 --- a/rpcs3/Emu/RSX/GL/GLOverlays.h +++ b/rpcs3/Emu/RSX/GL/GLOverlays.h @@ -185,7 +185,9 @@ namespace gl "void main()\n" "{\n" " vec4 rgba_in = texture(fs0, tc0);\n" - " gl_FragDepth = rgba_in.r * 0.99609 + rgba_in.g * 0.00389 + rgba_in.b * 0.00002;\n" + " uint raw_value = uint(rgba_in.b * 255.) | (uint(rgba_in.g * 255.) << 8) | (uint(rgba_in.r * 255.) << 16);\n" + " gl_FragDepth = float(raw_value) / 16777215.;\n" + " //gl_FragDepth = rgba_in.r * 0.99609 + rgba_in.g * 0.00389 + rgba_in.b * 0.00002;\n" "}\n" }; }