Prevent bit shifting if num bits is negative

Causes OpenGL Software Renderer to generate incorrect window
coordinates on MIPS & possibly x86

Change-Id: I3c51b6a5a4e6af75e9b31d9d47e4e4d894825888
Signed-off-by: Bhanu Chetlapalli <bhanu@mips.com>
This commit is contained in:
Bhanu Chetlapalli 2012-01-25 14:45:30 -08:00
parent 149ae11fb6
commit 65026f980a
1 changed files with 2 additions and 1 deletions

View File

@ -62,7 +62,8 @@ int32_t gglRecipQ(GGLfixed x, int q)
int shift;
x = gglRecipQNormalized(x, &shift);
shift += 16-q;
x += 1L << (shift-1); // rounding
if (shift > 0)
x += 1L << (shift-1); // rounding
x >>= shift;
return x;
}