[Mesa-dev] [PATCH 2/9] panfrost/midgard: Add L/S op for writing cubemap coordinates
Alyssa Rosenzweig
alyssa at rosenzweig.io
Fri Mar 29 01:53:40 UTC 2019
Signed-off-by: Alyssa Rosenzweig <alyssa at rosenzweig.io>
---
src/gallium/drivers/panfrost/midgard/midgard.h | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/src/gallium/drivers/panfrost/midgard/midgard.h b/src/gallium/drivers/panfrost/midgard/midgard.h
index 59957c1b566..b2849aa0fee 100644
--- a/src/gallium/drivers/panfrost/midgard/midgard.h
+++ b/src/gallium/drivers/panfrost/midgard/midgard.h
@@ -278,6 +278,14 @@ midgard_writeout;
typedef enum {
midgard_op_ld_st_noop = 0x03,
+
+ /* Unclear why this is on the L/S unit, but (with an address of 0,
+ * appropriate swizzle, magic constant 0x24, and xy mask?) moves fp32 cube
+ * map coordinates in r27 to its cube map texture coordinate
+ * destination (e.g r29). 0x4 magic for loading from fp16 instead */
+
+ midgard_op_store_cubemap_coords = 0x0E,
+
midgard_op_load_attr_16 = 0x95,
midgard_op_load_attr_32 = 0x94,
midgard_op_load_vary_16 = 0x99,
@@ -507,6 +515,7 @@ static char *alu_opcode_names[256] = {
};
static char *load_store_opcode_names[256] = {
+ [midgard_op_store_cubemap_coords] = "st_cubemap_coords",
[midgard_op_load_attr_16] = "ld_attr_16",
[midgard_op_load_attr_32] = "ld_attr_32",
[midgard_op_load_vary_16] = "ld_vary_16",
--
2.20.1
More information about the mesa-dev
mailing list