summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/panfrost/midgard/midgard.h
diff options
context:
space:
mode:
authorAlyssa Rosenzweig <[email protected]>2019-03-27 04:36:42 +0000
committerAlyssa Rosenzweig <[email protected]>2019-03-31 02:36:37 +0000
commit499f31aab869205ea92b2635267d792ef1837077 (patch)
tree682ba203872ce071931942f29384a0cc0b641b77 /src/gallium/drivers/panfrost/midgard/midgard.h
parentf67616ce60c5a67279b2baf279099305bfb3d9b7 (diff)
panfrost/midgard: Add L/S op for writing cubemap coordinates
Signed-off-by: Alyssa Rosenzweig <[email protected]>
Diffstat (limited to 'src/gallium/drivers/panfrost/midgard/midgard.h')
-rw-r--r--src/gallium/drivers/panfrost/midgard/midgard.h9
1 files changed, 9 insertions, 0 deletions
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",