From 7da0822419db57700acfcb9bcb000955d591b979 Mon Sep 17 00:00:00 2001 From: kd-11 Date: Sun, 12 Jan 2025 15:51:15 +0300 Subject: [PATCH] rsx/shaders: Fix MSAA coords wrapping when input is negative --- .../GLSLSnippets/RSXProg/RSXFragmentTextureMSAAOps.glsl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/rpcs3/Emu/RSX/Program/GLSLSnippets/RSXProg/RSXFragmentTextureMSAAOps.glsl b/rpcs3/Emu/RSX/Program/GLSLSnippets/RSXProg/RSXFragmentTextureMSAAOps.glsl index d250e2efb4..8575508f54 100644 --- a/rpcs3/Emu/RSX/Program/GLSLSnippets/RSXProg/RSXFragmentTextureMSAAOps.glsl +++ b/rpcs3/Emu/RSX/Program/GLSLSnippets/RSXProg/RSXFragmentTextureMSAAOps.glsl @@ -34,7 +34,8 @@ vec2 texture2DMSCoord(const in vec2 coords, const in uint flags) return coords; } - const vec2 wrapped_coords = mod(coords, vec2(1.0)); + const vec2 wrapped_coords_raw = mod(coords, vec2(1.0)); + const vec2 wrapped_coords = mod(wrapped_coords_raw + vec2(1.0), vec2(1.0)); const bvec2 wrap_control_mask = bvec2(uvec2(flags) & uvec2(WRAP_S_MASK, WRAP_T_MASK)); return _select(coords, wrapped_coords, wrap_control_mask); }