diff options
author | Brian <brian.paul@tungstengraphics.com> | 2007-08-09 17:58:28 -0600 |
---|---|---|
committer | Brian <brian.paul@tungstengraphics.com> | 2007-08-09 18:02:22 -0600 |
commit | 584c0762010a467e391d7dcdb48aae4d7809f6b5 (patch) | |
tree | 59766cf66cc306955f129b3443daae9e36ecd40e | |
parent | debb4884e3bdf1e632ff79e728a59c1920cc2d15 (diff) |
vertex colors are ARGB
-rw-r--r-- | src/mesa/pipe/i915simple/i915_prim_emit.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/src/mesa/pipe/i915simple/i915_prim_emit.c b/src/mesa/pipe/i915simple/i915_prim_emit.c index 708fc41d31..18918459a8 100644 --- a/src/mesa/pipe/i915simple/i915_prim_emit.c +++ b/src/mesa/pipe/i915simple/i915_prim_emit.c @@ -59,7 +59,7 @@ static INLINE struct setup_stage *setup_stage( struct draw_stage *stage ) return (struct setup_stage *)stage; } -static inline unsigned pack_ub4( unsigned char b0, +static INLINE unsigned pack_ub4( unsigned char b0, unsigned char b1, unsigned char b2, unsigned char b3 ) @@ -70,7 +70,7 @@ static inline unsigned pack_ub4( unsigned char b0, (((unsigned int)b3) << 24)); } -static inline unsigned fui( float f ) +static INLINE unsigned fui( float f ) { union { float f; @@ -81,7 +81,7 @@ static inline unsigned fui( float f ) return fi.ui; } -static inline unsigned char float_to_ubyte( float f ) +static INLINE unsigned char float_to_ubyte( float f ) { unsigned char ub; UNCLAMPED_FLOAT_TO_UBYTE(ub, f); @@ -91,7 +91,7 @@ static inline unsigned char float_to_ubyte( float f ) /* Hardcoded vertex format: xyz/rgba */ -static inline void +static INLINE void emit_hw_vertex( struct i915_context *i915, struct vertex_header *vertex ) { @@ -99,16 +99,17 @@ emit_hw_vertex( struct i915_context *i915, OUT_BATCH( fui(vertex->data[0][1]) ); OUT_BATCH( fui(vertex->data[0][2]) ); - OUT_BATCH( pack_ub4(float_to_ubyte( vertex->data[1][0] ), + /* colors are ARGB (MSB to LSB) */ + OUT_BATCH( pack_ub4(float_to_ubyte( vertex->data[1][2] ), float_to_ubyte( vertex->data[1][1] ), - float_to_ubyte( vertex->data[1][2] ), + float_to_ubyte( vertex->data[1][0] ), float_to_ubyte( vertex->data[1][3] )) ); } -static inline void +static INLINE void emit_prim( struct draw_stage *stage, struct prim_header *prim, unsigned hwprim, |