diff --git a/libpixelflinger/fixed.cpp b/libpixelflinger/fixed.cpp index 5b920628bad1e6d5a9c6a871e6e81df906d0b8a6..5094537766a50de0f828839d156ba2ce245c0f13 100644 --- a/libpixelflinger/fixed.cpp +++ b/libpixelflinger/fixed.cpp @@ -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; }