tgsi: Use tgsi_info to dump opcode names.

This commit is contained in:
Michal Krol 2008-08-13 17:27:15 +02:00
parent 79e52779bd
commit 2caaba8195
2 changed files with 6 additions and 257 deletions

View file

@ -28,6 +28,7 @@
#include "pipe/p_debug.h"
#include "util/u_string.h"
#include "tgsi_dump.h"
#include "tgsi_info.h"
#include "tgsi_iterate.h"
struct dump_ctx
@ -103,129 +104,6 @@ static const char *immediate_type_names[] =
"FLT32"
};
static const char *opcode_names[TGSI_OPCODE_LAST] =
{
"ARL",
"MOV",
"LIT",
"RCP",
"RSQ",
"EXP",
"LOG",
"MUL",
"ADD",
"DP3",
"DP4",
"DST",
"MIN",
"MAX",
"SLT",
"SGE",
"MAD",
"SUB",
"LERP",
"CND",
"CND0",
"DOT2ADD",
"INDEX",
"NEGATE",
"FRAC",
"CLAMP",
"FLOOR",
"ROUND",
"EXPBASE2",
"LOGBASE2",
"POWER",
"CROSSPRODUCT",
"MULTIPLYMATRIX",
"ABS",
"RCC",
"DPH",
"COS",
"DDX",
"DDY",
"KILP",
"PK2H",
"PK2US",
"PK4B",
"PK4UB",
"RFL",
"SEQ",
"SFL",
"SGT",
"SIN",
"SLE",
"SNE",
"STR",
"TEX",
"TXD",
"TXP",
"UP2H",
"UP2US",
"UP4B",
"UP4UB",
"X2D",
"ARA",
"ARR",
"BRA",
"CAL",
"RET",
"SSG",
"CMP",
"SCS",
"TXB",
"NRM",
"DIV",
"DP2",
"TXL",
"BRK",
"IF",
"LOOP",
"REP",
"ELSE",
"ENDIF",
"ENDLOOP",
"ENDREP",
"PUSHA",
"POPA",
"CEIL",
"I2F",
"NOT",
"TRUNC",
"SHL",
"SHR",
"AND",
"OR",
"MOD",
"XOR",
"SAD",
"TXF",
"TXQ",
"CONT",
"EMIT",
"ENDPRIM",
"BGNLOOP2",
"BGNSUB",
"ENDLOOP2",
"ENDSUB",
"NOISE1",
"NOISE2",
"NOISE3",
"NOISE4",
"NOP",
"M4X3",
"M3X4",
"M3X3",
"M3X2",
"NRM4",
"CALLNZ",
"IFC",
"BREAKC",
"KIL",
"END",
"SWZ"
};
static const char *swizzle_names[] =
{
"x",
@ -444,7 +322,7 @@ iter_instruction(
UID( instno );
CHR( ':' );
ENM( inst->Instruction.Opcode, opcode_names );
TXT( tgsi_get_opcode_info( inst->Instruction.Opcode )->mnemonic );
switch (inst->Instruction.Saturate) {
case TGSI_SAT_NONE:
@ -622,10 +500,6 @@ tgsi_dump_str(
util_strbuf_init(&sbuf, str, size);
/* sanity checks */
assert( strcmp( opcode_names[TGSI_OPCODE_CONT], "CONT" ) == 0 );
assert( strcmp( opcode_names[TGSI_OPCODE_END], "END" ) == 0 );
ctx.iter.prolog = prolog;
ctx.iter.iterate_instruction = iter_instruction;
ctx.iter.iterate_declaration = iter_declaration;

View file

@ -29,8 +29,9 @@
#include "pipe/p_util.h"
#include "util/u_string.h"
#include "tgsi_dump_c.h"
#include "tgsi_parse.h"
#include "tgsi_build.h"
#include "tgsi_info.h"
#include "tgsi_parse.h"
static void
dump_enum(
@ -104,128 +105,6 @@ static const char *TGSI_IMMS[] =
"IMM_FLOAT32"
};
static const char *TGSI_OPCODES[TGSI_OPCODE_LAST] =
{
"OPCODE_ARL",
"OPCODE_MOV",
"OPCODE_LIT",
"OPCODE_RCP",
"OPCODE_RSQ",
"OPCODE_EXP",
"OPCODE_LOG",
"OPCODE_MUL",
"OPCODE_ADD",
"OPCODE_DP3",
"OPCODE_DP4",
"OPCODE_DST",
"OPCODE_MIN",
"OPCODE_MAX",
"OPCODE_SLT",
"OPCODE_SGE",
"OPCODE_MAD",
"OPCODE_SUB",
"OPCODE_LERP",
"OPCODE_CND",
"OPCODE_CND0",
"OPCODE_DOT2ADD",
"OPCODE_INDEX",
"OPCODE_NEGATE",
"OPCODE_FRAC",
"OPCODE_CLAMP",
"OPCODE_FLOOR",
"OPCODE_ROUND",
"OPCODE_EXPBASE2",
"OPCODE_LOGBASE2",
"OPCODE_POWER",
"OPCODE_CROSSPRODUCT",
"OPCODE_MULTIPLYMATRIX",
"OPCODE_ABS",
"OPCODE_RCC",
"OPCODE_DPH",
"OPCODE_COS",
"OPCODE_DDX",
"OPCODE_DDY",
"OPCODE_KILP",
"OPCODE_PK2H",
"OPCODE_PK2US",
"OPCODE_PK4B",
"OPCODE_PK4UB",
"OPCODE_RFL",
"OPCODE_SEQ",
"OPCODE_SFL",
"OPCODE_SGT",
"OPCODE_SIN",
"OPCODE_SLE",
"OPCODE_SNE",
"OPCODE_STR",
"OPCODE_TEX",
"OPCODE_TXD",
"OPCODE_TXP",
"OPCODE_UP2H",
"OPCODE_UP2US",
"OPCODE_UP4B",
"OPCODE_UP4UB",
"OPCODE_X2D",
"OPCODE_ARA",
"OPCODE_ARR",
"OPCODE_BRA",
"OPCODE_CAL",
"OPCODE_RET",
"OPCODE_SSG",
"OPCODE_CMP",
"OPCODE_SCS",
"OPCODE_TXB",
"OPCODE_NRM",
"OPCODE_DIV",
"OPCODE_DP2",
"OPCODE_TXL",
"OPCODE_BRK",
"OPCODE_IF",
"OPCODE_LOOP",
"OPCODE_REP",
"OPCODE_ELSE",
"OPCODE_ENDIF",
"OPCODE_ENDLOOP",
"OPCODE_ENDREP",
"OPCODE_PUSHA",
"OPCODE_POPA",
"OPCODE_CEIL",
"OPCODE_I2F",
"OPCODE_NOT",
"OPCODE_TRUNC",
"OPCODE_SHL",
"OPCODE_SHR",
"OPCODE_AND",
"OPCODE_OR",
"OPCODE_MOD",
"OPCODE_XOR",
"OPCODE_SAD",
"OPCODE_TXF",
"OPCODE_TXQ",
"OPCODE_CONT",
"OPCODE_EMIT",
"OPCODE_ENDPRIM",
"OPCODE_BGNLOOP2",
"OPCODE_BGNSUB",
"OPCODE_ENDLOOP2",
"OPCODE_ENDSUB",
"OPCODE_NOISE1",
"OPCODE_NOISE2",
"OPCODE_NOISE3",
"OPCODE_NOISE4",
"OPCODE_NOP",
"OPCODE_M4X3",
"OPCODE_M3X4",
"OPCODE_M3X3",
"OPCODE_M3X2",
"OPCODE_NRM4",
"OPCODE_CALLNZ",
"OPCODE_IFC",
"OPCODE_BREAKC",
"OPCODE_KIL",
"OPCODE_END"
};
static const char *TGSI_SATS[] =
{
"SAT_NONE",
@ -428,8 +307,8 @@ dump_instruction_verbose(
{
unsigned i;
TXT( "\nOpcode : " );
ENM( inst->Instruction.Opcode, TGSI_OPCODES );
TXT( "\nOpcode : OPCODE_" );
TXT( tgsi_get_opcode_info( inst->Instruction.Opcode )->mnemonic );
if( deflt || fi->Instruction.Saturate != inst->Instruction.Saturate ) {
TXT( "\nSaturate : " );
ENM( inst->Instruction.Saturate, TGSI_SATS );
@ -770,10 +649,6 @@ tgsi_dump_c(
uint deflt = flags & TGSI_DUMP_C_DEFAULT;
uint instno = 0;
/* sanity checks */
assert(strcmp(TGSI_OPCODES[TGSI_OPCODE_CONT], "OPCODE_CONT") == 0);
assert(strcmp(TGSI_OPCODES[TGSI_OPCODE_END], "OPCODE_END") == 0);
tgsi_parse_init( &parse, tokens );
TXT( "tgsi-dump begin -----------------" );