summaryrefslogtreecommitdiffstats
path: root/src/panfrost
diff options
context:
space:
mode:
authorAlyssa Rosenzweig <[email protected]>2019-08-01 14:14:43 -0700
committerAlyssa Rosenzweig <[email protected]>2019-08-02 14:20:03 -0700
commit1a116037d831da36b872e5739c445bce3964400d (patch)
tree73faeb75e2b459bdbdd442bf4ce678f828939ec5 /src/panfrost
parente112d9d333e72d5aa304cf1de1b5b245f68acccc (diff)
pan/midgard: Add helper to pack load/store registers
Signed-off-by: Alyssa Rosenzweig <[email protected]>
Diffstat (limited to 'src/panfrost')
-rw-r--r--src/panfrost/midgard/helpers.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/panfrost/midgard/helpers.h b/src/panfrost/midgard/helpers.h
index 9d04b057126..c44783e3d68 100644
--- a/src/panfrost/midgard/helpers.h
+++ b/src/panfrost/midgard/helpers.h
@@ -340,4 +340,22 @@ mir_is_simple_swizzle(unsigned swizzle, unsigned mask)
return true;
}
+/* Packs a load/store argument */
+
+static inline uint8_t
+midgard_ldst_reg(unsigned reg, unsigned component)
+{
+ assert(reg == REGISTER_LDST_BASE || (reg == REGISTER_LDST_BASE + 1));
+
+ midgard_ldst_register_select sel = {
+ .component = component,
+ .select = reg - 26
+ };
+
+ uint8_t packed;
+ memcpy(&packed, &sel, sizeof(packed));
+
+ return packed;
+}
+
#endif