diff options
author | Rhys Perry <[email protected]> | 2019-10-10 12:17:04 +0100 |
---|---|---|
committer | Rhys Perry <[email protected]> | 2019-10-10 20:02:36 +0000 |
commit | 2026ff5165ad0da1ff7680fdb579702d31097a6a (patch) | |
tree | bcab58177a4f79204ad2f4117f54197ada30dcb7 /src | |
parent | 283eda71cf457294ab5388b12ab7d740201c0f99 (diff) |
aco: update print_ir
Mostly adds GFX10 stuff.
Signed-off-by: Rhys Perry <[email protected]>
Reviewed-by: Bas Nieuwenhuizen <[email protected]>
Reviewed-By: Timur Kristóf <[email protected]>
Diffstat (limited to 'src')
-rw-r--r-- | src/amd/compiler/aco_print_ir.cpp | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/amd/compiler/aco_print_ir.cpp b/src/amd/compiler/aco_print_ir.cpp index 517ddc235ce..f641a21da34 100644 --- a/src/amd/compiler/aco_print_ir.cpp +++ b/src/amd/compiler/aco_print_ir.cpp @@ -2,6 +2,7 @@ #include "aco_builder.h" #include "sid.h" +#include "ac_shader_util.h" namespace aco { @@ -205,6 +206,8 @@ static void print_instr_format_specific(struct Instruction *instr, FILE *output) SMEM_instruction* smem = static_cast<SMEM_instruction*>(instr); if (smem->glc) fprintf(output, " glc"); + if (smem->dlc) + fprintf(output, " dlc"); if (smem->nv) fprintf(output, " nv"); print_barrier_reorder(smem->can_reorder, smem->barrier, output); @@ -235,6 +238,8 @@ static void print_instr_format_specific(struct Instruction *instr, FILE *output) fprintf(output, " idxen"); if (mubuf->glc) fprintf(output, " glc"); + if (mubuf->dlc) + fprintf(output, " dlc"); if (mubuf->slc) fprintf(output, " slc"); if (mubuf->tfe) @@ -257,10 +262,38 @@ static void print_instr_format_specific(struct Instruction *instr, FILE *output) mimg->dmask & 0x2 ? "y" : "", mimg->dmask & 0x4 ? "z" : "", mimg->dmask & 0x8 ? "w" : ""); + switch (mimg->dim) { + case ac_image_1d: + fprintf(output, " 1d"); + break; + case ac_image_2d: + fprintf(output, " 2d"); + break; + case ac_image_3d: + fprintf(output, " 3d"); + break; + case ac_image_cube: + fprintf(output, " cube"); + break; + case ac_image_1darray: + fprintf(output, " 1darray"); + break; + case ac_image_2darray: + fprintf(output, " 2darray"); + break; + case ac_image_2dmsaa: + fprintf(output, " 2dmsaa"); + break; + case ac_image_2darraymsaa: + fprintf(output, " 2darraymsaa"); + break; + } if (mimg->unrm) fprintf(output, " unrm"); if (mimg->glc) fprintf(output, " glc"); + if (mimg->dlc) + fprintf(output, " dlc"); if (mimg->slc) fprintf(output, " slc"); if (mimg->tfe) @@ -330,6 +363,8 @@ static void print_instr_format_specific(struct Instruction *instr, FILE *output) fprintf(output, " offset:%u", flat->offset); if (flat->glc) fprintf(output, " glc"); + if (flat->dlc) + fprintf(output, " dlc"); if (flat->slc) fprintf(output, " slc"); if (flat->lds) @@ -377,6 +412,8 @@ static void print_instr_format_specific(struct Instruction *instr, FILE *output) fprintf(output, " idxen"); if (mtbuf->glc) fprintf(output, " glc"); + if (mtbuf->dlc) + fprintf(output, " dlc"); if (mtbuf->slc) fprintf(output, " slc"); if (mtbuf->tfe) @@ -528,6 +565,8 @@ static void print_block_kind(uint16_t kind, FILE *output) fprintf(output, "discard_if, "); if (kind & block_kind_needs_lowering) fprintf(output, "needs_lowering, "); + if (kind & block_kind_uses_demote) + fprintf(output, "uses_demote, "); } void aco_print_block(const struct Block* block, FILE *output) |