panfrost: Add pan_shader_disassemble

Will be used for pipeline executable IR on panvk.

Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29161>
This commit is contained in:
Mary Guillemard
2024-05-13 10:40:30 +02:00
committed by Marge Bot
parent 81f4e93f60
commit 7d582cc665

View File

@@ -26,6 +26,9 @@
#define __PAN_SHADER_H__
#include "compiler/nir/nir.h"
#include "panfrost/compiler/bifrost/disassemble.h"
#include "panfrost/compiler/valhall/disassemble.h"
#include "panfrost/midgard/disassemble.h"
#include "panfrost/util/pan_ir.h"
#include "panfrost/util/pan_lower_framebuffer.h"
@@ -43,6 +46,18 @@ pan_shader_preprocess(nir_shader *nir, unsigned gpu_id)
midgard_preprocess_nir(nir, gpu_id);
}
static inline void
pan_shader_disassemble(FILE *fp, const void *code, size_t size, unsigned gpu_id,
bool verbose)
{
if (pan_arch(gpu_id) >= 9)
disassemble_valhall(fp, (const uint64_t *)code, size, verbose);
else if (pan_arch(gpu_id) >= 6)
disassemble_bifrost(fp, code, size, verbose);
else
disassemble_midgard(fp, code, size, gpu_id, verbose);
}
uint8_t pan_raw_format_mask_midgard(enum pipe_format *formats);
#ifdef PAN_ARCH