diff --git a/src/panfrost/midgard/helpers.h b/src/panfrost/midgard/helpers.h index 4a4e51fd074..2109aa2d21c 100644 --- a/src/panfrost/midgard/helpers.h +++ b/src/panfrost/midgard/helpers.h @@ -377,10 +377,24 @@ midgard_ldst_comp(unsigned reg, unsigned component, unsigned size) return component; } -/* Packs/unpacks a ubo index immediate */ +/* Packs/unpacks a ubo index immediate. The unpack must be defined here so it + * can be used with the disassembler, which need not be linked with the main + * compiler. + */ void midgard_pack_ubo_index_imm(midgard_load_store_word *word, unsigned index); -unsigned midgard_unpack_ubo_index_imm(midgard_load_store_word word); + +static inline unsigned +midgard_unpack_ubo_index_imm(midgard_load_store_word word) +{ + unsigned ubo = word.arg_comp | + (word.arg_reg << 2) | + (word.bitsize_toggle << 5) | + (word.index_format << 6); + + return ubo; +} + /* Packs/unpacks varying parameters. * FIXME: IMPORTANT: We currently handle varying mode weirdly, by passing all diff --git a/src/panfrost/midgard/midgard_emit.c b/src/panfrost/midgard/midgard_emit.c index c6e6f34d918..bcff2f114af 100644 --- a/src/panfrost/midgard/midgard_emit.c +++ b/src/panfrost/midgard/midgard_emit.c @@ -53,17 +53,6 @@ midgard_pack_ubo_index_imm(midgard_load_store_word *word, unsigned index) word->index_format = (index >> 6) & 0x3; } -unsigned -midgard_unpack_ubo_index_imm(midgard_load_store_word word) -{ - unsigned ubo = word.arg_comp | - (word.arg_reg << 2) | - (word.bitsize_toggle << 5) | - (word.index_format << 6); - - return ubo; -} - void midgard_pack_varying_params(midgard_load_store_word *word, midgard_varying_params p) { /* Currently these parameters are not supported. */