Mesa (master): swrast: update comments for REMAINDER() macro

Brian Paul brianp at kemper.freedesktop.org
Sat Sep 25 19:37:29 UTC 2010


Module: Mesa
Branch: master
Commit: 5ba62cd4139e95c752453a1591eb3e47b6b18238
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5ba62cd4139e95c752453a1591eb3e47b6b18238

Author: Brian Paul <brianp at vmware.com>
Date:   Sat Sep 25 13:10:26 2010 -0600

swrast: update comments for REMAINDER() macro

---

 src/mesa/swrast/s_texfilter.c |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/mesa/swrast/s_texfilter.c b/src/mesa/swrast/s_texfilter.c
index 3fc554c..1aa2bca 100644
--- a/src/mesa/swrast/s_texfilter.c
+++ b/src/mesa/swrast/s_texfilter.c
@@ -135,8 +135,11 @@ 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.
+ * Used for GL_REPEAT wrap mode.  Using A % B doesn't produce the
+ * right results for A<0.  Casting to A to be unsigned only works if B
+ * is a power of two.  Adding a bias to A (which is a multiple of B)
+ * avoids the problems with A < 0 (for reasonable A) without using a
+ * conditional.
  */
 #define REMAINDER(A, B) (((A) + (B) * 1024) % (B))
 




More information about the mesa-commit mailing list