On 09/10/2014 12:02 PM, Ian Romanick wrote:
On 09/10/2014 07:21 AM, Brian Paul wrote:
MSVC replaces the "F" in "255.0F" with the macro argument which leads
to an error.  s/F/FLT/ to avoid that.

It turns out we weren't using this macro at all on MSVC until the
recent "mesa: Drop USE_IEEE define." change.
---
  src/mesa/main/macros.h |    9 +++++----
  1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/src/mesa/main/macros.h b/src/mesa/main/macros.h
index 7b6148d..b3e214f 100644
--- a/src/mesa/main/macros.h
+++ b/src/mesa/main/macros.h
@@ -144,23 +144,24 @@ extern GLfloat _mesa_ubyte_to_float_color_tab[256];
  /* This function/macro is sensitive to precision.  Test very carefully
   * if you change it!
   */
-#define UNCLAMPED_FLOAT_TO_UBYTE(UB, F)                                        
\
+#define UNCLAMPED_FLOAT_TO_UBYTE(UB, FLT)                              \
          do {                                                          \
             fi_type __tmp;                                             \
-           __tmp.f = (F);                                              \
+           __tmp.f = (FLT);                                            \
             if (__tmp.i < 0)                                                \
                UB = (GLubyte) 0;                                               
\
             else if (__tmp.i >= IEEE_ONE)                           \
                UB = (GLubyte) 255;                                     \
             else {                                                     \
                __tmp.f = __tmp.f * (255.0F/256.0F) + 32768.0F;         \
+              __tmp.f = __tmp.f * (float) ((255.0/256.0) + 32768.0);     \

Something looks fishy here.  Do you need the addition?  Or should the
previous line be removed?

Oops, that's a left-over from another change I tried. Thanks for catching that.


                UB = (GLubyte) __tmp.i;                                 \
             }                                                          \
          } while (0)
-#define CLAMPED_FLOAT_TO_UBYTE(UB, F)                                  \
+#define CLAMPED_FLOAT_TO_UBYTE(UB, FLT)                                        
\
          do {                                                          \
             fi_type __tmp;                                             \
-           __tmp.f = (F) * (255.0F/256.0F) + 32768.0F;                 \
+           __tmp.f = (FLT) * (255.0F/256.0F) + 32768.0F;               \
             UB = (GLubyte) __tmp.i;                                    \
          } while (0)
  #else



_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to