From 823dc6ea00205e339629339d80a040b5c6d1656e Mon Sep 17 00:00:00 2001 From: Magnus Norddahl Date: Thu, 15 Dec 2016 02:39:55 +0100 Subject: [PATCH] Clamp RGB values in pal mode --- tools/drawergen/fixedfunction/drawtrianglecodegen.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tools/drawergen/fixedfunction/drawtrianglecodegen.cpp b/tools/drawergen/fixedfunction/drawtrianglecodegen.cpp index f38b423504..f1cd25c359 100644 --- a/tools/drawergen/fixedfunction/drawtrianglecodegen.cpp +++ b/tools/drawergen/fixedfunction/drawtrianglecodegen.cpp @@ -454,7 +454,10 @@ SSAVec4i DrawTriangleCodegen::ToBgra(SSAInt index) SSAInt DrawTriangleCodegen::ToPal8(SSAVec4i c) { - return RGB32k[((c[2] >> 3) * 32 + (c[1] >> 3)) * 32 + (c[0] >> 3)].load(true).zext_int(); + SSAInt red = SSAInt::clamp(c[0], SSAInt(0), SSAInt(255)); + SSAInt green = SSAInt::clamp(c[1], SSAInt(0), SSAInt(255)); + SSAInt blue = SSAInt::clamp(c[2], SSAInt(0), SSAInt(255)); + return RGB32k[((blue >> 3) * 32 + (green >> 3)) * 32 + (red >> 3)].load(true).zext_int(); } SSAInt DrawTriangleCodegen::ProcessPixel8(SSAInt bg, SSAInt *varying)