From 36822c50ad84d255f1e7c94b56cfff1cd8bcef85 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Fri, 8 Jun 2001 12:49:38 +0000 Subject: use unoptimized COPY_4UBV code on SPARC to avoid memory alignment problems (bug 430689) --- src/mesa/main/macros.h | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'src/mesa/main/macros.h') diff --git a/src/mesa/main/macros.h b/src/mesa/main/macros.h index 9a32ad5bd4..fb9f029ac2 100644 --- a/src/mesa/main/macros.h +++ b/src/mesa/main/macros.h @@ -1,4 +1,4 @@ -/* $Id: macros.h,v 1.21 2001/04/19 12:22:09 keithw Exp $ */ +/* $Id: macros.h,v 1.22 2001/06/08 12:49:38 brianp Exp $ */ /* * Mesa 3-D graphics library @@ -122,6 +122,15 @@ do { \ (DST)[3] = (SRC)[3]; \ } while (0) +#if defined(__sparc__) +/* Using the GLuint cast fails if DST or SRC are not dword-aligned */ +do { \ + (DST)[0] = (SRC)[0]; \ + (DST)[1] = (SRC)[1]; \ + (DST)[2] = (SRC)[2]; \ + (DST)[3] = (SRC)[3]; \ +} while (0) +#else #define COPY_4UBV(DST, SRC) \ do { \ if (sizeof(GLuint)==4*sizeof(GLubyte)) { \ @@ -134,7 +143,7 @@ do { \ (DST)[3] = (SRC)[3]; \ } \ } while (0) - +#endif #define COPY_2FV( DST, SRC ) \ do { \ -- cgit v1.2.3