Mesa (mesa_7_5_branch): mesa: fix REMAINDER() macro
Brian Paul
brianp at kemper.freedesktop.org
Tue Jun 16 14:47:00 UTC 2009
Module: Mesa
Branch: mesa_7_5_branch
Commit: ed7f4b42307bff4633689d6781cd3643f10041e5
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ed7f4b42307bff4633689d6781cd3643f10041e5
Author: Brian Paul <brianp at vmware.com>
Date: Tue Jun 16 08:45:06 2009 -0600
mesa: fix REMAINDER() macro
The results were incorrect for some negative values of A.
See bug 21872.
---
src/mesa/swrast/s_texfilter.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/src/mesa/swrast/s_texfilter.c b/src/mesa/swrast/s_texfilter.c
index 31bfb5c..dd59314 100644
--- a/src/mesa/swrast/s_texfilter.c
+++ b/src/mesa/swrast/s_texfilter.c
@@ -138,7 +138,7 @@ lerp_rgba_3d(GLfloat result[4], GLfloat a, GLfloat b, GLfloat c,
* If A is a signed integer, A % B doesn't give the right value for A < 0
* (in terms of texture repeat). Just casting to unsigned fixes that.
*/
-#define REMAINDER(A, B) ((unsigned) (A) % (unsigned) (B))
+#define REMAINDER(A, B) (((A) + (B) * 1024) % (B))
/**
More information about the mesa-commit
mailing list