summaryrefslogtreecommitdiffstats
path: root/src/gallium/auxiliary/tgsi
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/auxiliary/tgsi')
-rw-r--r--src/gallium/auxiliary/tgsi/tgsi_dump.c23
-rw-r--r--src/gallium/auxiliary/tgsi/tgsi_dump.h7
2 files changed, 30 insertions, 0 deletions
diff --git a/src/gallium/auxiliary/tgsi/tgsi_dump.c b/src/gallium/auxiliary/tgsi/tgsi_dump.c
index 7f6a3d8ad8f..77bca623082 100644
--- a/src/gallium/auxiliary/tgsi/tgsi_dump.c
+++ b/src/gallium/auxiliary/tgsi/tgsi_dump.c
@@ -721,3 +721,26 @@ tgsi_dump_str(
tgsi_iterate_shader( tokens, &ctx.base.iter );
}
+
+void
+tgsi_dump_instruction_str(
+ const struct tgsi_full_instruction *inst,
+ uint instno,
+ char *str,
+ size_t size)
+{
+ struct str_dump_ctx ctx;
+
+ ctx.base.instno = instno;
+ ctx.base.immno = instno;
+ ctx.base.indent = 0;
+ ctx.base.dump_printf = &str_dump_ctx_printf;
+ ctx.base.indentation = 0;
+
+ ctx.str = str;
+ ctx.str[0] = 0;
+ ctx.ptr = str;
+ ctx.left = (int)size;
+
+ iter_instruction( &ctx.base.iter, (struct tgsi_full_instruction *)inst );
+}
diff --git a/src/gallium/auxiliary/tgsi/tgsi_dump.h b/src/gallium/auxiliary/tgsi/tgsi_dump.h
index adaef9d89fe..9820bb1cacf 100644
--- a/src/gallium/auxiliary/tgsi/tgsi_dump.h
+++ b/src/gallium/auxiliary/tgsi/tgsi_dump.h
@@ -58,6 +58,13 @@ tgsi_dump_immediate(
const struct tgsi_full_immediate *imm );
void
+tgsi_dump_instruction_str(
+ const struct tgsi_full_instruction *inst,
+ uint instno,
+ char *str,
+ size_t size);
+
+void
tgsi_dump_instruction(
const struct tgsi_full_instruction *inst,
uint instno );