summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/mesa/swrast/s_fragprog_to_c.c17
1 files changed, 14 insertions, 3 deletions
diff --git a/src/mesa/swrast/s_fragprog_to_c.c b/src/mesa/swrast/s_fragprog_to_c.c
index 78526ca1466..b649da2a3ed 100644
--- a/src/mesa/swrast/s_fragprog_to_c.c
+++ b/src/mesa/swrast/s_fragprog_to_c.c
@@ -106,7 +106,7 @@
#define deref(reg,pos) swizzle(reg, pos, pos, pos, pos)
-static __inline int is_swizzled( int reg )
+static INLINE int is_swizzled( int reg )
{
return ((reg & UREG_XYZW_CHANNEL_MASK) !=
(UREG(0,0) & UREG_XYZW_CHANNEL_MASK));
@@ -115,7 +115,7 @@ static __inline int is_swizzled( int reg )
/* One neat thing about the UREG representation:
*/
-static __inline int swizzle( int reg, int x, int y, int z, int w )
+static INLINE int swizzle( int reg, int x, int y, int z, int w )
{
return ((reg & ~UREG_XYZW_CHANNEL_MASK) |
CHANNEL_SRC( GET_CHANNEL_SRC( reg, x ), 0 ) |
@@ -126,7 +126,7 @@ static __inline int swizzle( int reg, int x, int y, int z, int w )
/* Another neat thing about the UREG representation:
*/
-static __inline int negate( int reg, int x, int y, int z, int w )
+static INLINE int negate( int reg, int x, int y, int z, int w )
{
return reg ^ (((x&1)<<UREG_CHANNEL_X_NEGATE_SHIFT)|
((y&1)<<UREG_CHANNEL_Y_NEGATE_SHIFT)|
@@ -476,6 +476,17 @@ static void upload_program( const struct fragment_program *p )
for (i = 0; i < nr; i++)
src[i] = src_vector( &inst->SrcReg[i] );
+ /* Print the original program instruction string */
+ {
+ const char *s = (const char *) p->Base.String + inst->StringPos;
+ printf(" /* ");
+ while (*s != ';') {
+ putchar(*s);
+ s++;
+ }
+ printf("; */\n");
+ }
+
switch (inst->Opcode) {
case FP_OPCODE_ABS:
assign4(p, inst, "FABSF(%s)", src[0]);