summaryrefslogtreecommitdiff
path: root/src/video_core/rasterizer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/video_core/rasterizer.cpp')
-rw-r--r--src/video_core/rasterizer.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/video_core/rasterizer.cpp b/src/video_core/rasterizer.cpp
index 65dddb47c..f788122d8 100644
--- a/src/video_core/rasterizer.cpp
+++ b/src/video_core/rasterizer.cpp
@@ -251,7 +251,15 @@ static void ProcessTriangleInternal(const VertexShader::OutputVertex& v0,
251 return val; 251 return val;
252 252
253 case Regs::TextureConfig::Repeat: 253 case Regs::TextureConfig::Repeat:
254 return (int)(((unsigned)val) % size); 254 return (int)((unsigned)val % size);
255
256 case Regs::TextureConfig::MirroredRepeat:
257 {
258 int val = (int)((unsigned)val % (2 * size));
259 if (val >= size)
260 val = 2 * size - 1 - val;
261 return val;
262 }
255 263
256 default: 264 default:
257 LOG_ERROR(HW_GPU, "Unknown texture coordinate wrapping mode %x\n", (int)mode); 265 LOG_ERROR(HW_GPU, "Unknown texture coordinate wrapping mode %x\n", (int)mode);