move ALIGN16-related macros into p_compiler.h
authorBrian <brian.paul@tungstengraphics.com>
Tue, 21 Aug 2007 00:45:14 +0000 (18:45 -0600)
committerBrian <brian.paul@tungstengraphics.com>
Tue, 21 Aug 2007 00:45:14 +0000 (18:45 -0600)
src/mesa/pipe/draw/draw_arrays.c
src/mesa/pipe/p_compiler.h
src/mesa/pipe/softpipe/sp_quad_fs.c

index 34a031d..9b1426d 100644 (file)
 #define VERT_RESULT_MAX 24
 
 
-#if defined __GNUC__
-#define ALIGN16_DECL(TYPE, NAME, SIZE)  TYPE NAME[SIZE] __attribute__(( aligned( 16 ) ))
-#define ALIGN16_ASSIGN(P) P
-#else
-#define ALIGN16_DECL(TYPE, NAME, SIZE)  TYPE NAME[SIZE + 1]
-#define ALIGN16_ASSIGN(P) align16(P)
-#endif
-
-
-
 static INLINE unsigned
 compute_clipmask(float cx, float cy, float cz, float cw)
 {
index d139cb1..a4d05f7 100644 (file)
@@ -68,4 +68,14 @@ typedef unsigned long long uint64;
 #endif
 
 
+#if defined __GNUC__
+#define ALIGN16_DECL(TYPE, NAME, SIZE)  TYPE NAME[SIZE] __attribute__(( aligned( 16 ) ))
+#define ALIGN16_ASSIGN(P) P
+#else
+#define ALIGN16_DECL(TYPE, NAME, SIZE)  TYPE NAME[SIZE + 1]
+#define ALIGN16_ASSIGN(P) align16(P)
+#endif
+
+
+
 #endif /* P_COMPILER_H */
index c2decfe..c20f09d 100755 (executable)
 #include "sp_tex_sample.h"
 
 
-#if defined __GNUC__
-#define USE_ALIGNED_ATTRIBS   1
-#define ALIGN16_SUFFIX        __attribute__(( aligned( 16 ) ))
-#else
-#define USE_ALIGNED_ATTRIBS   0
-#define ALIGN16_SUFFIX
-#endif
-
-
 struct quad_shade_stage
 {
    struct quad_stage stage;
@@ -77,13 +68,8 @@ shade_quad(
    const float fy = (float) quad->y0;
    struct tgsi_exec_machine machine;
 
-#if USE_ALIGNED_ATTRIBS
-   struct tgsi_exec_vector inputs[PIPE_ATTRIB_MAX] ALIGN16_SUFFIX;
-   struct tgsi_exec_vector outputs[PIPE_ATTRIB_MAX] ALIGN16_SUFFIX;
-#else
-   struct tgsi_exec_vector inputs[PIPE_ATTRIB_MAX + 1];
-   struct tgsi_exec_vector outputs[PIPE_ATTRIB_MAX + 1];
-#endif
+   ALIGN16_DECL(struct tgsi_exec_vector, inputs, PIPE_ATTRIB_MAX);
+   ALIGN16_DECL(struct tgsi_exec_vector, outputs, PIPE_ATTRIB_MAX);
 
 #ifdef DEBUG
    memset( &machine, 0, sizeof( machine ) );
@@ -99,13 +85,8 @@ shade_quad(
    /* Consts does not require 16 byte alignment. */
    machine.Consts = softpipe->fs.constants->constant;
 
-#if USE_ALIGNED_ATTRIBS
-   machine.Inputs = inputs;
-   machine.Outputs = outputs;
-#else
-   machine.Inputs = (struct tgsi_exec_vector *) tgsi_align_128bit( inputs );
-   machine.Outputs = (struct tgsi_exec_vector *) tgsi_align_128bit( outputs );
-#endif
+   machine.Inputs = ALIGN16_ASSIGN(inputs);
+   machine.Outputs = ALIGN16_ASSIGN(outputs);
 
    machine.InterpCoefs = quad->coef;