diff options
author | Brian Paul <[email protected]> | 2005-11-09 00:56:51 +0000 |
---|---|---|
committer | Brian Paul <[email protected]> | 2005-11-09 00:56:51 +0000 |
commit | 8850a7e20f77c1bd79863667b2f1c64c2d730f38 (patch) | |
tree | 0a7c4e8caa4f51b62d2f5e36f4efc4959ee34bda /src/mesa/main | |
parent | 5374e4ba7eaca2ee0ca73863ffbe9e639d090e3e (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/mesa/main')
-rw-r--r-- | src/mesa/main/imports.h | 6 | ||||
-rw-r--r-- | src/mesa/main/macros.h | 24 |
2 files changed, 14 insertions, 16 deletions
diff --git a/src/mesa/main/imports.h b/src/mesa/main/imports.h index afc292cf51e..7ee127400af 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 f13357d391b..dab58818fb7 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 { \ |