mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-24 19:40:10 +01:00
mesa: use _mesa_memcpy for COPY_4FV macro
Gets rid of one of the worst strict-aliasing offenders, and actually produces faster code (at least in some cases, when compiler can use for instance 64bit moves for memcpy). (note _mesa_memcpy should get inlined)
This commit is contained in:
parent
13c647fa0d
commit
86c8f70db1
1 changed files with 3 additions and 8 deletions
|
|
@ -202,17 +202,12 @@ do { \
|
|||
#endif
|
||||
|
||||
/**
|
||||
* Copy a 4-element float vector (avoid using FPU registers)
|
||||
* XXX Could use two 64-bit moves on 64-bit systems
|
||||
* Copy a 4-element float vector
|
||||
* memcpy seems to be most efficient
|
||||
*/
|
||||
#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]; \
|
||||
_mesa_memcpy(DST, SRC, sizeof(GLfloat) * 4); \
|
||||
} while (0)
|
||||
|
||||
/** Copy \p SZ elements into a 4-element vector */
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue