From fb3dd5f938f67a87c2a325224208521de47a3624 Mon Sep 17 00:00:00 2001 From: Lars-Ivar Hesselberg Simonsen Date: Tue, 17 Feb 2026 13:11:16 +0100 Subject: [PATCH] pan/genxml: Build libpanfrost_decode for v15 --- src/panfrost/genxml/decode.h | 7 +++++++ src/panfrost/genxml/decode_common.c | 9 +++++++++ src/panfrost/genxml/meson.build | 2 +- src/panfrost/lib/pan_format.h | 3 +++ 4 files changed, 20 insertions(+), 1 deletion(-) diff --git a/src/panfrost/genxml/decode.h b/src/panfrost/genxml/decode.h index 47fe28f798f..85d43cd9472 100644 --- a/src/panfrost/genxml/decode.h +++ b/src/panfrost/genxml/decode.h @@ -139,6 +139,13 @@ void pandecode_cs_binary_v14(struct pandecode_context *ctx, uint64_t bin, void pandecode_cs_trace_v14(struct pandecode_context *ctx, uint64_t trace, uint32_t trace_size, uint64_t gpu_id); +void pandecode_interpret_cs_v15(struct pandecode_context *ctx, uint64_t queue, + uint32_t size, uint64_t gpu_id, uint32_t *regs); +void pandecode_cs_binary_v15(struct pandecode_context *ctx, uint64_t bin, + uint32_t bin_size); +void pandecode_cs_trace_v15(struct pandecode_context *ctx, uint64_t trace, + uint32_t trace_size, uint64_t gpu_id); + /* Logging infrastructure */ static void pandecode_make_indent(struct pandecode_context *ctx) diff --git a/src/panfrost/genxml/decode_common.c b/src/panfrost/genxml/decode_common.c index 399fec9f335..1c5c3b4a46f 100644 --- a/src/panfrost/genxml/decode_common.c +++ b/src/panfrost/genxml/decode_common.c @@ -426,6 +426,9 @@ pandecode_interpret_cs(struct pandecode_context *ctx, uint64_t queue_gpu_va, case 14: pandecode_interpret_cs_v14(ctx, queue_gpu_va, size, gpu_id, regs); break; + case 15: + pandecode_interpret_cs_v15(ctx, queue_gpu_va, size, gpu_id, regs); + break; default: UNREACHABLE("Unsupported architecture"); } @@ -452,6 +455,9 @@ pandecode_cs_binary(struct pandecode_context *ctx, uint64_t bin_gpu_va, case 14: pandecode_cs_binary_v14(ctx, bin_gpu_va, size); break; + case 15: + pandecode_cs_binary_v15(ctx, bin_gpu_va, size); + break; default: UNREACHABLE("Unsupported architecture"); } @@ -478,6 +484,9 @@ pandecode_cs_trace(struct pandecode_context *ctx, uint64_t trace_gpu_va, case 14: pandecode_cs_trace_v14(ctx, trace_gpu_va, size, gpu_id); break; + case 15: + pandecode_cs_trace_v15(ctx, trace_gpu_va, size, gpu_id); + break; default: UNREACHABLE("Unsupported architecture"); } diff --git a/src/panfrost/genxml/meson.build b/src/panfrost/genxml/meson.build index c23e3c0d17e..ab8e0a37d34 100644 --- a/src/panfrost/genxml/meson.build +++ b/src/panfrost/genxml/meson.build @@ -20,7 +20,7 @@ idep_pan_packers = declare_dependency( libpanfrost_decode_per_arch = [] -foreach ver : ['4', '5', '6', '7', '9', '10', '12', '13', '14'] +foreach ver : ['4', '5', '6', '7', '9', '10', '12', '13', '14', '15'] libpanfrost_decode_per_arch += static_library( 'pandecode-arch-v' + ver, ['decode.c', 'decode_jm.c', 'decode_csf.c', pan_packers], diff --git a/src/panfrost/lib/pan_format.h b/src/panfrost/lib/pan_format.h index 770d8a1bf56..b426ee5c866 100644 --- a/src/panfrost/lib/pan_format.h +++ b/src/panfrost/lib/pan_format.h @@ -170,6 +170,8 @@ extern const struct pan_blendable_format pan_blendable_formats_v13[PIPE_FORMAT_COUNT]; extern const struct pan_blendable_format pan_blendable_formats_v14[PIPE_FORMAT_COUNT]; +extern const struct pan_blendable_format + pan_blendable_formats_v15[PIPE_FORMAT_COUNT]; uint8_t pan_raw_format_mask_midgard(enum pipe_format *formats); @@ -203,6 +205,7 @@ extern const struct pan_format pan_pipe_format_v10[PIPE_FORMAT_COUNT]; extern const struct pan_format pan_pipe_format_v12[PIPE_FORMAT_COUNT]; extern const struct pan_format pan_pipe_format_v13[PIPE_FORMAT_COUNT]; extern const struct pan_format pan_pipe_format_v14[PIPE_FORMAT_COUNT]; +extern const struct pan_format pan_pipe_format_v15[PIPE_FORMAT_COUNT]; static inline const struct pan_format * pan_format_table(unsigned arch)