From 465c42170704e6f03d8f550b27635be6efb65103 Mon Sep 17 00:00:00 2001 From: kd-11 Date: Tue, 4 Jul 2023 14:06:10 +0300 Subject: [PATCH] rsx: Wrap MSAA coordinates before texelFetch --- .../RSXProg/RSXFragmentTextureMSAAOpsInternal.glsl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/rpcs3/Emu/RSX/Program/GLSLSnippets/RSXProg/RSXFragmentTextureMSAAOpsInternal.glsl b/rpcs3/Emu/RSX/Program/GLSLSnippets/RSXProg/RSXFragmentTextureMSAAOpsInternal.glsl index 7f9370ba49..4509a66e50 100644 --- a/rpcs3/Emu/RSX/Program/GLSLSnippets/RSXProg/RSXFragmentTextureMSAAOpsInternal.glsl +++ b/rpcs3/Emu/RSX/Program/GLSLSnippets/RSXProg/RSXFragmentTextureMSAAOpsInternal.glsl @@ -11,7 +11,8 @@ vec4 texelFetch2DMS(in _MSAA_SAMPLER_TYPE_ tex, const in vec2 sample_count, cons vec4 sampleTexture2DMS(in _MSAA_SAMPLER_TYPE_ tex, const in vec2 coords, const in int index) { const uint flags = TEX_FLAGS(index); - const vec2 normalized_coords = COORD_SCALE2(index, coords); + const vec2 scaled_coords = COORD_SCALE2(index, coords); + const vec2 normalized_coords = mod(scaled_coords, vec2(1.0)); const vec2 sample_count = vec2(2., textureSamples(tex) * 0.5); const vec2 image_size = textureSize(tex) * sample_count; const ivec2 icoords = ivec2(normalized_coords * image_size);