summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBrian Paul <brian.paul@tungstengraphics.com>2005-11-09 00:56:51 +0000
committerBrian Paul <brian.paul@tungstengraphics.com>2005-11-09 00:56:51 +0000
commit8850a7e20f77c1bd79863667b2f1c64c2d730f38 (patch)
tree0a7c4e8caa4f51b62d2f5e36f4efc4959ee34bda /src
parent5374e4ba7eaca2ee0ca73863ffbe9e639d090e3e (diff)
Move COPY_FLOAT() macro down into glide driver.
Rewrite COPY_4FV() macro to not use COPY_FLOAT(), and use integer moves as originally intended.
Diffstat (limited to 'src')
-rw-r--r--src/mesa/drivers/glide/fxdrv.h2
-rw-r--r--src/mesa/main/imports.h6
-rw-r--r--src/mesa/main/macros.h24
3 files changed, 16 insertions, 16 deletions
diff --git a/src/mesa/drivers/glide/fxdrv.h b/src/mesa/drivers/glide/fxdrv.h
index 50dc483e18..dc19a912da 100644
--- a/src/mesa/drivers/glide/fxdrv.h
+++ b/src/mesa/drivers/glide/fxdrv.h
@@ -60,6 +60,8 @@
#include "math/m_vector.h"
+#define COPY_FLOAT(dst, src) (dst) = (src)
+
/* Define some shorter names for these things.
*/
#define XCOORD GR_VERTEX_X_OFFSET
diff --git a/src/mesa/main/imports.h b/src/mesa/main/imports.h
index afc292cf51..7ee127400a 100644
--- a/src/mesa/main/imports.h
+++ b/src/mesa/main/imports.h
@@ -495,12 +495,6 @@ static INLINE int iceil(float f)
/***
- *** 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).
*** END_FAST_MATH: Restore x86 FPU to original mode.
diff --git a/src/mesa/main/macros.h b/src/mesa/main/macros.h
index f13357d391..dab58818fb 100644
--- a/src/mesa/main/macros.h
+++ b/src/mesa/main/macros.h
@@ -5,9 +5,9 @@
/*
* 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"),
@@ -176,16 +176,20 @@ do { \
} 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 { \