diff options
Diffstat (limited to 'src/gallium/drivers/r600/sb/sb_bc_dump.cpp')
-rw-r--r-- | src/gallium/drivers/r600/sb/sb_bc_dump.cpp | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/gallium/drivers/r600/sb/sb_bc_dump.cpp b/src/gallium/drivers/r600/sb/sb_bc_dump.cpp index 788450b3c9c..72a1b24467d 100644 --- a/src/gallium/drivers/r600/sb/sb_bc_dump.cpp +++ b/src/gallium/drivers/r600/sb/sb_bc_dump.cpp @@ -452,11 +452,14 @@ void bc_dump::dump(fetch_node& n) { sb_ostringstream s; static const char * fetch_type[] = {"VERTEX", "INSTANCE", ""}; unsigned gds = n.bc.op_ptr->flags & FF_GDS; + bool gds_has_ret = gds && n.bc.op >= FETCH_OP_GDS_ADD_RET && + n.bc.op <= FETCH_OP_GDS_USHORT_READ_RET; + bool show_dst = !gds || (gds && gds_has_ret); s << n.bc.op_ptr->name; fill_to(s, 20); - if (!gds) { + if (show_dst) { s << "R"; print_sel(s, n.bc.dst_gpr, n.bc.dst_rel, INDEX_LOOP, 0); s << "."; @@ -483,7 +486,13 @@ void bc_dump::dump(fetch_node& n) { s << ", RID:" << n.bc.resource_id; if (gds) { - + s << " UAV:" << n.bc.uav_id; + if (n.bc.uav_index_mode) + s << " UAV:SQ_CF_INDEX_" << (n.bc.uav_index_mode - V_SQ_CF_INDEX_0); + if (n.bc.bcast_first_req) + s << " BFQ"; + if (n.bc.alloc_consume) + s << " AC"; } else if (vtx) { s << " " << fetch_type[n.bc.fetch_type]; if (!ctx.is_cayman() && n.bc.mega_fetch_count) |