#endif
-/***
- *** COPY_FLOAT: copy a float from src to dest.
- ***/
-#define COPY_FLOAT( dst, src ) (dst) = (src)
-
-
/***
*** START_FAST_MATH: Set x86 FPU to faster, 32-bit precision mode (and save
*** original mode to a temporary).
/*
* Mesa 3-D graphics library
- * Version: 6.0
+ * Version: 6.5
*
- * Copyright (C) 1999-2004 Brian Paul All Rights Reserved.
+ * Copyright (C) 1999-2005 Brian Paul All Rights Reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
} while (0)
#endif
-/** Copy a 4-element float vector (Use COPY_FLOAT to avoid loading FPU) */
-#define COPY_4FV( DST, SRC ) \
-do { \
- COPY_FLOAT((DST)[0], (SRC)[0]); \
- COPY_FLOAT((DST)[1], (SRC)[1]); \
- COPY_FLOAT((DST)[2], (SRC)[2]); \
- COPY_FLOAT((DST)[3], (SRC)[3]); \
+/**
+ * Copy a 4-element float vector (avoid using FPU registers)
+ * XXX Could use two 64-bit moves on 64-bit systems
+ */
+#define COPY_4FV( DST, SRC ) \
+do { \
+ const GLuint *_s = (const GLuint *) (SRC); \
+ GLuint *_d = (GLuint *) (DST); \
+ _d[0] = _s[0]; \
+ _d[1] = _s[1]; \
+ _d[2] = _s[2]; \
+ _d[3] = _s[3]; \
} while (0)
-
/** Copy \p SZ elements into a 4-element vector */
#define COPY_SZ_4V(DST, SZ, SRC) \
do { \