Commit 50382df7 authored by Alyssa Rosenzweig's avatar Alyssa Rosenzweig 💜

panfrost/decode: Disassemble Bifrost shaders

We already have the Bifrost disassembler in-tree, so now that panwrap is
able to dump Bifrost command streams, hook up the disassembler to
pandecode.
Signed-off-by: Alyssa Rosenzweig's avatarAlyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Ryan Houdek's avatarRyan Houdek <Sonicadvance1@gmail.com>
parent 4689e98f
......@@ -151,7 +151,8 @@ files_pandecode = files(
'pan_pretty_print.c',
'midgard/disassemble.c'
'midgard/disassemble.c',
'bifrost/disassemble.c',
)
pandecode = executable(
......
......@@ -33,6 +33,7 @@
#include "../pan_pretty_print.h"
#include "../midgard/disassemble.h"
#include "../bifrost/disassemble.h"
int pandecode_replay_jc(mali_ptr jc_gpu_va, bool bifrost);
#define MEMORY_PROP(obj, p) {\
......@@ -1155,17 +1156,17 @@ pandecode_shader_disassemble(mali_ptr shader_ptr, int shader_no, int type,
/* Compute maximum possible size */
size_t sz = mem->length - (shader_ptr - mem->gpu_va);
/* TODO: When Bifrost is upstreamed, disassemble that too */
if (is_bifrost) {
pandecode_msg("Bifrost disassembler not yet upstreamed");
return;
}
/* Print some boilerplate to clearly denote the assembly (which doesn't
* obey indentation rules), and actually do the disassembly! */
printf("\n\n");
disassemble_midgard(code, sz);
if (is_bifrost) {
disassemble_bifrost(code, sz, false);
} else {
disassemble_midgard(code, sz);
}
printf("\n\n");
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment