From: Nikolay Sivov nsivov@codeweavers.com
Signed-off-by: Nikolay Sivov nsivov@codeweavers.com --- dlls/d3dx9_36/preshader.c | 27 ++++++++++++--------------- 1 file changed, 12 insertions(+), 15 deletions(-)
diff --git a/dlls/d3dx9_36/preshader.c b/dlls/d3dx9_36/preshader.c index 3f9374c7d1a..3ee8fab145e 100644 --- a/dlls/d3dx9_36/preshader.c +++ b/dlls/d3dx9_36/preshader.c @@ -195,23 +195,20 @@ enum pres_value_type
static const struct { + const char *symbol; unsigned int component_size; enum pres_value_type type; } table_info[] = { - {sizeof(double), PRES_VT_DOUBLE}, /* PRES_REGTAB_IMMED */ - {sizeof(float), PRES_VT_FLOAT }, /* PRES_REGTAB_CONST */ - {sizeof(float), PRES_VT_FLOAT }, /* PRES_REGTAB_OCONST */ - {sizeof(BOOL), PRES_VT_BOOL }, /* PRES_REGTAB_OBCONST */ - {sizeof(int), PRES_VT_INT, }, /* PRES_REGTAB_OICONST */ + { "imm", sizeof(double), PRES_VT_DOUBLE }, /* PRES_REGTAB_IMMED */ + { "c", sizeof(float), PRES_VT_FLOAT }, /* PRES_REGTAB_CONST */ + { "oc", sizeof(float), PRES_VT_FLOAT }, /* PRES_REGTAB_OCONST */ + { "ob", sizeof(BOOL), PRES_VT_BOOL }, /* PRES_REGTAB_OBCONST */ + { "oi", sizeof(int), PRES_VT_INT, }, /* PRES_REGTAB_OICONST */ /* TODO: use double precision for 64 bit */ - {sizeof(float), PRES_VT_FLOAT } /* PRES_REGTAB_TEMP */ -}; - -static const char *table_symbol[] = -{ - "imm", "c", "oc", "ob", "oi", "r", "(null)", + { "r", sizeof(float), PRES_VT_FLOAT }, /* PRES_REGTAB_TEMP */ + { "(null)" } /* PRES_REGTAB_COUNT */ };
static const enum pres_reg_tables pres_regset2table[] = @@ -1034,15 +1031,15 @@ static void dump_arg(struct d3dx_regstore *rs, const struct d3dx_pres_operand *a { if (arg->index_reg.table == PRES_REGTAB_COUNT) { - TRACE("%s%u.", table_symbol[table], get_reg_offset(table, arg->reg.offset)); + TRACE("%s%u.", table_info[table].symbol, get_reg_offset(table, arg->reg.offset)); } else { unsigned int index_reg;
index_reg = get_reg_offset(arg->index_reg.table, arg->index_reg.offset); - TRACE("%s[%u + %s%u.%c].", table_symbol[table], get_reg_offset(table, arg->reg.offset), - table_symbol[arg->index_reg.table], index_reg, + TRACE("%s[%u + %s%u.%c].", table_info[table].symbol, get_reg_offset(table, arg->reg.offset), + table_info[arg->index_reg.table].symbol, index_reg, xyzw_str[arg->index_reg.offset - get_offset_reg(arg->index_reg.table, index_reg)]); } for (i = 0; i < component_count; ++i) @@ -1058,7 +1055,7 @@ static void dump_registers(struct d3dx_const_tab *ctab) { table = ctab->regset2table[ctab->inputs[i].RegisterSet]; TRACE("// %-12s %s%-4u %u\n", ctab->inputs_param[i] ? ctab->inputs_param[i]->name : "(nil)", - table_symbol[table], ctab->inputs[i].RegisterIndex, ctab->inputs[i].RegisterCount); + table_info[table].symbol, ctab->inputs[i].RegisterIndex, ctab->inputs[i].RegisterCount); } }