From 8850a7e20f77c1bd79863667b2f1c64c2d730f38 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Wed, 9 Nov 2005 00:56:51 +0000 Subject: Move COPY_FLOAT() macro down into glide driver. Rewrite COPY_4FV() macro to not use COPY_FLOAT(), and use integer moves as originally intended. --- src/mesa/main/macros.h | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) (limited to 'src/mesa/main/macros.h') 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 { \ -- cgit v1.2.3