diff options
| author | Tillmann Karras <tilkax@gmail.com> | 2025-08-24 02:06:49 +0100 |
|---|---|---|
| committer | Tillmann Karras <tilkax@gmail.com> | 2025-08-24 02:47:56 +0100 |
| commit | bc417bdceea9078f8f775eb488c4ca8579ea46a9 (patch) | |
| tree | 8a7d5d65c0dad5bfb44f7a25a666c7ce3ae4c6de /Source/Core/VideoBackends | |
| parent | 7782e32d9e78f08496496e95ab431b25a1b47551 (diff) | |
VideoSW: fix clamping after vertex color interpolation
Diffstat (limited to 'Source/Core/VideoBackends')
| -rw-r--r-- | Source/Core/VideoBackends/Software/Rasterizer.cpp | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/Source/Core/VideoBackends/Software/Rasterizer.cpp b/Source/Core/VideoBackends/Software/Rasterizer.cpp index 6aaeb7c50a..a1d4dda0d3 100644 --- a/Source/Core/VideoBackends/Software/Rasterizer.cpp +++ b/Source/Core/VideoBackends/Software/Rasterizer.cpp @@ -173,12 +173,8 @@ static void Draw(s32 x, s32 y, s32 xi, s32 yi) { for (int comp = 0; comp < 4; comp++) { - u16 color = (u16)ColorSlopes[i][comp].GetValue(x, y); - - // clamp color value to 0 - u16 mask = ~(color >> 8); - - tev.Color[i][comp] = color & mask; + const float color = ColorSlopes[i][comp].GetValue(x, y); + tev.Color[i][comp] = (u8)std::clamp<float>(color, 0.0f, 255.0f); } } |
