diff options
author | Karol Herbst <[email protected]> | 2018-08-05 19:12:32 +0200 |
---|---|---|
committer | Karol Herbst <[email protected]> | 2018-11-06 19:57:05 +0100 |
commit | a4550de434d9d708c2a5814a1bdc33079ea91ba0 (patch) | |
tree | a7026eb7acaecdf18b651e57f75075a1ad386e42 /src/gallium/drivers/nouveau | |
parent | 610061838a1194321ae19cae823e5ddff82558a4 (diff) |
nv50/ir: print color masks of tex instructions
v2: print the mask for TXG as well
make the mask to be printed more mask like
Reviewed-by: Ilia Mirkin <[email protected]>
Diffstat (limited to 'src/gallium/drivers/nouveau')
-rw-r--r-- | src/gallium/drivers/nouveau/codegen/nv50_ir_print.cpp | 37 |
1 files changed, 33 insertions, 4 deletions
diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_print.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_print.cpp index 7eab8b8d70d..7db9bf0caa2 100644 --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_print.cpp +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_print.cpp @@ -359,6 +359,31 @@ static const char *interpStr[16] = "samp sc" }; +static const char *texMaskStr[16] = +{ + "____", + "r___", + "_g__", + "rg__", + "__b_", + "r_b_", + "_gb_", + "rgb_", + "___a", + "r__a", + "_g_a", + "rg_a", + "__ba", + "r_ba", + "_gba", + "rgba", +}; + +static const char *gatherCompStr[4] = +{ + "r", "g", "b", "a", +}; + #define PRINT(args...) \ do { \ pos += snprintf(&buf[pos], size - pos, args); \ @@ -651,10 +676,14 @@ void Instruction::print() const } if (perPatch) PRINT("patch "); - if (asTex()) - PRINT("%s %s$r%u $s%u %s", asTex()->tex.target.getName(), - colour[TXT_MEM], asTex()->tex.r, asTex()->tex.s, - colour[TXT_INSN]); + if (asTex()) { + PRINT("%s %s$r%u $s%u ", asTex()->tex.target.getName(), + colour[TXT_MEM], asTex()->tex.r, asTex()->tex.s); + if (op == OP_TXG) + PRINT("%s ", gatherCompStr[asTex()->tex.gatherComp]); + PRINT("%s %s", texMaskStr[asTex()->tex.mask], colour[TXT_INSN]); + } + if (postFactor) PRINT("x2^%i ", postFactor); PRINT("%s%s", dnz ? "dnz " : (ftz ? "ftz " : ""), DataTypeStr[dType]); |