diff options
Diffstat (limited to 'src/mesa/shader/arbfragparse.c')
-rw-r--r-- | src/mesa/shader/arbfragparse.c | 106 |
1 files changed, 25 insertions, 81 deletions
diff --git a/src/mesa/shader/arbfragparse.c b/src/mesa/shader/arbfragparse.c index a4470cbcb10..296553b2690 100644 --- a/src/mesa/shader/arbfragparse.c +++ b/src/mesa/shader/arbfragparse.c @@ -43,95 +43,27 @@ void _mesa_debug_fp_inst(GLint num, struct prog_instruction *fp) { GLint a; - - static const char *opcode_string[] = { - "ABS", /* ARB_f_p only */ - "ADD", - "CMP", /* ARB_f_p only */ - "COS", - "DDX", /* NV_f_p only */ - "DDY", /* NV_f_p only */ - "DP3", - "DP4", - "DPH", /* ARB_f_p only */ - "DST", - "END", /* private opcode */ - "EX2", - "FLR", - "FRC", - "KIL", /* ARB_f_p only */ - "KIL_NV", /* NV_f_p only */ - "LG2", - "LIT", - "LRP", - "MAD", - "MAX", - "MIN", - "MOV", - "MUL", - "PK2H", /* NV_f_p only */ - "PK2US", /* NV_f_p only */ - "PK4B", /* NV_f_p only */ - "PK4UB", /* NV_f_p only */ - "POW", - "PRINT", /* Mesa only */ - "RCP", - "RFL", /* NV_f_p only */ - "RSQ", - "SCS", /* ARB_f_p only */ - "SEQ", /* NV_f_p only */ - "SFL", /* NV_f_p only */ - "SGE", /* NV_f_p only */ - "SGT", /* NV_f_p only */ - "SIN", - "SLE", /* NV_f_p only */ - "SLT", - "SNE", /* NV_f_p only */ - "STR", /* NV_f_p only */ - "SUB", - "SWZ", /* ARB_f_p only */ - "TEX", - "TXB", /* ARB_f_p only */ - "TXD", /* NV_f_p only */ - "TXP", /* ARB_f_p only */ - "TXP_NV", /* NV_f_p only */ - "UP2H", /* NV_f_p only */ - "UP2US", /* NV_f_p only */ - "UP4B", /* NV_f_p only */ - "UP4UB", /* NV_f_p only */ - "X2D", /* NV_f_p only - 2d mat mul */ - "XPD", /* ARB_f_p only - cross product */ - }; - - static const char *file_string[] = { - "TEMP", - "INPUT", - "OUTPUT", - "LOCAL", - "ENV", - "NAMED", - "STATE", - "WRITE_ONLY", - "ADDR" - }; - static const char swz[] = "xyzw01??"; for (a=0; a<num; a++) { - _mesa_printf("%s", opcode_string[fp[a].Opcode]); + _mesa_printf("%s", _mesa_opcode_string(fp[a].Opcode)); if (fp[a].Saturate) _mesa_printf("_SAT"); if (fp[a].DstReg.File != 0xf) { if (fp[a].DstReg.WriteMask != 0xf) - _mesa_printf(" %s[%d].%s%s%s%s ", file_string[fp[a].DstReg.File], fp[a].DstReg.Index, + _mesa_printf(" %s[%d].%s%s%s%s ", + _mesa_program_file_string(fp[a].DstReg.File), + fp[a].DstReg.Index, GET_BIT(fp[a].DstReg.WriteMask, 0) ? "x" : "", GET_BIT(fp[a].DstReg.WriteMask, 1) ? "y" : "", GET_BIT(fp[a].DstReg.WriteMask, 2) ? "z" : "", GET_BIT(fp[a].DstReg.WriteMask, 3) ? "w" : ""); else - _mesa_printf(" %s[%d] ", file_string[fp[a].DstReg.File], fp[a].DstReg.Index); + _mesa_printf(" %s[%d] ", + _mesa_program_file_string(fp[a].DstReg.File), + fp[a].DstReg.Index); } /* Examine each bit of negatebase here as this may be a SWZ instruction @@ -139,7 +71,9 @@ _mesa_debug_fp_inst(GLint num, struct prog_instruction *fp) if (fp[a].SrcReg[0].File != 0xf) { if (fp[a].SrcReg[0].Swizzle != SWIZZLE_NOOP || fp[a].SrcReg[0].NegateBase) - _mesa_printf("%s[%d].%s%c%s%c%s%c%s%c ", file_string[fp[a].SrcReg[0].File], fp[a].SrcReg[0].Index, + _mesa_printf("%s[%d].%s%c%s%c%s%c%s%c ", + _mesa_program_file_string(fp[a].SrcReg[0].File), + fp[a].SrcReg[0].Index, GET_BIT(fp[a].SrcReg[0].NegateBase, 0) ? "-" : "", swz[GET_SWZ(fp[a].SrcReg[0].Swizzle, 0)], GET_BIT(fp[a].SrcReg[0].NegateBase, 0) ? "-" : "", @@ -149,33 +83,43 @@ _mesa_debug_fp_inst(GLint num, struct prog_instruction *fp) GET_BIT(fp[a].SrcReg[0].NegateBase, 0) ? "-" : "", swz[GET_SWZ(fp[a].SrcReg[0].Swizzle, 3)]); else - _mesa_printf("%s[%d] ", file_string[fp[a].SrcReg[0].File], fp[a].SrcReg[0].Index); + _mesa_printf("%s[%d] ", + _mesa_program_file_string(fp[a].SrcReg[0].File), + fp[a].SrcReg[0].Index); } if (fp[a].SrcReg[1].File != 0xf) { if (fp[a].SrcReg[1].Swizzle != SWIZZLE_NOOP || fp[a].SrcReg[1].NegateBase) - _mesa_printf("%s[%d].%s%c%c%c%c ", file_string[fp[a].SrcReg[1].File], fp[a].SrcReg[1].Index, + _mesa_printf("%s[%d].%s%c%c%c%c ", + _mesa_program_file_string(fp[a].SrcReg[1].File), + fp[a].SrcReg[1].Index, fp[a].SrcReg[1].NegateBase ? "-" : "", swz[GET_SWZ(fp[a].SrcReg[1].Swizzle, 0)], swz[GET_SWZ(fp[a].SrcReg[1].Swizzle, 1)], swz[GET_SWZ(fp[a].SrcReg[1].Swizzle, 2)], swz[GET_SWZ(fp[a].SrcReg[1].Swizzle, 3)]); else - _mesa_printf("%s[%d] ", file_string[fp[a].SrcReg[1].File], fp[a].SrcReg[1].Index); + _mesa_printf("%s[%d] ", + _mesa_program_file_string(fp[a].SrcReg[1].File), + fp[a].SrcReg[1].Index); } if (fp[a].SrcReg[2].File != 0xf) { if (fp[a].SrcReg[2].Swizzle != SWIZZLE_NOOP || fp[a].SrcReg[2].NegateBase) - _mesa_printf("%s[%d].%s%c%c%c%c ", file_string[fp[a].SrcReg[2].File], fp[a].SrcReg[2].Index, + _mesa_printf("%s[%d].%s%c%c%c%c ", + _mesa_program_file_string(fp[a].SrcReg[2].File), + fp[a].SrcReg[2].Index, fp[a].SrcReg[1].NegateBase ? "-" : "", swz[GET_SWZ(fp[a].SrcReg[2].Swizzle, 0)], swz[GET_SWZ(fp[a].SrcReg[2].Swizzle, 1)], swz[GET_SWZ(fp[a].SrcReg[2].Swizzle, 2)], swz[GET_SWZ(fp[a].SrcReg[2].Swizzle, 3)]); else - _mesa_printf("%s[%d] ", file_string[fp[a].SrcReg[2].File], fp[a].SrcReg[2].Index); + _mesa_printf("%s[%d] ", + _mesa_program_file_string(fp[a].SrcReg[2].File), + fp[a].SrcReg[2].Index); } _mesa_printf("\n"); |