Module: Mesa Branch: master Commit: 58099ed0a163f5d360e5429b085533d1bdea538c URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=58099ed0a163f5d360e5429b085533d1bdea538c
Author: Chia-I Wu <[email protected]> Date: Wed Nov 5 13:10:25 2014 +0800 ilo: disassemble TS messages Signed-off-by: Chia-I Wu <[email protected]> --- .../drivers/ilo/shader/toy_compiler_disasm.c | 35 ++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/src/gallium/drivers/ilo/shader/toy_compiler_disasm.c b/src/gallium/drivers/ilo/shader/toy_compiler_disasm.c index 94321af..c3ad091 100644 --- a/src/gallium/drivers/ilo/shader/toy_compiler_disasm.c +++ b/src/gallium/drivers/ilo/shader/toy_compiler_disasm.c @@ -1219,6 +1219,38 @@ disasm_printer_add_mdesc_urb(struct disasm_printer *printer, } static void +disasm_printer_add_mdesc_spawner(struct disasm_printer *printer, + const struct disasm_inst *inst, + uint32_t mdesc) +{ + const char *from; + + switch (mdesc & GEN6_MSG_TS_REQUESTER_TYPE__MASK) { + case GEN6_MSG_TS_REQUESTER_TYPE_ROOT: from = "root"; break; + case GEN6_MSG_TS_REQUESTER_TYPE_CHILD: from = "child"; break; + default: from = "BAD"; break; + } + + disasm_printer_add(printer, "(%s thread ", from); + + switch (mdesc & GEN6_MSG_TS_OPCODE__MASK) { + case GEN6_MSG_TS_OPCODE_DEREF: + disasm_printer_add(printer, "%sderef", + (mdesc & GEN6_MSG_TS_RESOURCE_SELECT_NO_DEREF) ? "no " : ""); + break; + case GEN6_MSG_TS_OPCODE_SPAWN: + disasm_printer_add(printer, "spawn %s)", + (mdesc & GEN6_MSG_TS_RESOURCE_SELECT_ROOT) ? "root" : "child"); + break; + default: + disasm_printer_add(printer, "BAD"); + break; + } + + disasm_printer_add(printer, ")"); +} + +static void disasm_printer_add_mdesc_dp_sampler(struct disasm_printer *printer, const struct disasm_inst *inst, uint32_t mdesc) @@ -1338,6 +1370,9 @@ disasm_printer_add_mdesc(struct disasm_printer *printer, case GEN6_SFID_URB: disasm_printer_add_mdesc_urb(printer, inst, mdesc); break; + case GEN6_SFID_SPAWNER: + disasm_printer_add_mdesc_spawner(printer, inst, mdesc); + break; case GEN6_SFID_DP_CC: case GEN7_SFID_DP_DC0: case GEN7_SFID_PI: _______________________________________________ mesa-commit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-commit
