diff options
author | Corbin Simpson <MostAwesomeDude@gmail.com> | 2009-06-04 21:38:33 -0700 |
---|---|---|
committer | Corbin Simpson <MostAwesomeDude@gmail.com> | 2009-06-04 23:27:46 -0700 |
commit | fb7d1fb0f0ce4137b6cb84198997241d190d13a8 (patch) | |
tree | 876279db5a4416094c0cf2d9f3c05d19f522d871 | |
parent | 36705ee044681da9899d0950c22ae7baa10c3d33 (diff) |
r300: Moar vs debug.
-rw-r--r-- | src/gallium/drivers/r300/r300_debug.c | 19 | ||||
-rw-r--r-- | src/gallium/drivers/r300/r300_debug.h | 12 |
2 files changed, 28 insertions, 3 deletions
diff --git a/src/gallium/drivers/r300/r300_debug.c b/src/gallium/drivers/r300/r300_debug.c index ffc93eb591..32fa739a1e 100644 --- a/src/gallium/drivers/r300/r300_debug.c +++ b/src/gallium/drivers/r300/r300_debug.c @@ -165,14 +165,27 @@ static void r300_vs_op_dump(uint32_t op) } } +void r300_vs_src_dump(uint32_t src) +{ + debug_printf(" %s/%s/%s/%s\n", + r300_vs_swiz_debug[(src >> 13) & 0x7], + r300_vs_swiz_debug[(src >> 16) & 0x7], + r300_vs_swiz_debug[(src >> 19) & 0x7], + r300_vs_swiz_debug[(src >> 22) & 0x7]); +} + void r300_vs_dump(struct r300_vertex_shader* vs) { int i; for (i = 0; i < vs->instruction_count; i++) { + debug_printf("%d: op: 0x%08x", i, vs->instructions[i].inst0); r300_vs_op_dump(vs->instructions[i].inst0); - debug_printf("inst1: 0x%x\n", vs->instructions[i].inst1); - debug_printf("inst2: 0x%x\n", vs->instructions[i].inst2); - debug_printf("inst3: 0x%x\n", vs->instructions[i].inst3); + debug_printf(" src0: 0x%08x", vs->instructions[i].inst1); + r300_vs_src_dump(vs->instructions[i].inst1); + debug_printf(" src1: 0x%08x", vs->instructions[i].inst2); + r300_vs_src_dump(vs->instructions[i].inst2); + debug_printf(" src2: 0x%08x", vs->instructions[i].inst3); + r300_vs_src_dump(vs->instructions[i].inst3); } } diff --git a/src/gallium/drivers/r300/r300_debug.h b/src/gallium/drivers/r300/r300_debug.h index 6306594099..3939d834c2 100644 --- a/src/gallium/drivers/r300/r300_debug.h +++ b/src/gallium/drivers/r300/r300_debug.h @@ -173,6 +173,18 @@ static char* r300_vs_me_ops[] = { " (reserved)", }; +/* XXX refactor to avoid clashing symbols */ +static char* r300_vs_swiz_debug[] = { + "X", + "Y", + "Z", + "W", + "0", + "1", + "U", + "U", +}; + void r500_fs_dump(struct r500_fragment_shader* fs); void r300_vs_dump(struct r300_vertex_shader* vs); |