X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fgallium%2Fdrivers%2Fr300%2Fcompiler%2Fr3xx_vertprog_dump.c;h=a41559c8fde0142eff4fefaa5faaaf17845a62f6;hb=886a4d4a6ad8a67e02e67d5dd79ae37a592930c6;hp=2bc0a87eed813178164a3a20244a2e371d172d29;hpb=f8e6d19f3f40931be741b44d3edf210c38e13f0f;p=mesa.git diff --git a/src/gallium/drivers/r300/compiler/r3xx_vertprog_dump.c b/src/gallium/drivers/r300/compiler/r3xx_vertprog_dump.c index 2bc0a87eed8..a41559c8fde 100644 --- a/src/gallium/drivers/r300/compiler/r3xx_vertprog_dump.c +++ b/src/gallium/drivers/r300/compiler/r3xx_vertprog_dump.c @@ -190,16 +190,25 @@ void r300_vertex_program_dump(struct radeon_compiler *compiler, void *user) fprintf(stderr, "Flow Control Ops: 0x%08x\n",vs->fc_ops); for(i = 0; i < vs->num_fc_ops; i++) { + unsigned is_loop = 0; switch((vs->fc_ops >> (i * 2)) & 0x3 ) { case 0: fprintf(stderr, "NOP"); break; case 1: fprintf(stderr, "JUMP"); break; - case 2: fprintf(stderr, "LOOP"); break; + case 2: fprintf(stderr, "LOOP"); is_loop = 1; break; case 3: fprintf(stderr, "JSR"); break; } if (c->Base.is_r500) { - fprintf(stderr,": uw-> 0x%08x lw-> 0x%08x\n", + fprintf(stderr,": uw-> 0x%08x lw-> 0x%08x " + "loop data->0x%08x\n", vs->fc_op_addrs.r500[i].uw, - vs->fc_op_addrs.r500[i].lw); + vs->fc_op_addrs.r500[i].lw, + vs->fc_loop_index[i]); + if (is_loop) { + fprintf(stderr, "Before = %u First = %u Last = %u\n", + vs->fc_op_addrs.r500[i].lw & 0xffff, + (vs->fc_op_addrs.r500[i].uw >> 16) & 0xffff, + vs->fc_op_addrs.r500[i].uw & 0xffff); + } } else { fprintf(stderr,": 0x%08x\n", vs->fc_op_addrs.r300[i]); }