summaryrefslogtreecommitdiffstats
path: root/src/panfrost
diff options
context:
space:
mode:
authorAlyssa Rosenzweig <[email protected]>2020-01-08 15:11:45 -0500
committerMarge Bot <[email protected]>2020-01-18 14:18:48 +0000
commit564a782ff78ebbb7c56a6a4ed84cac4818c91485 (patch)
tree2765e15084cf07bf9772bb44b151cc6946c0f387 /src/panfrost
parent13c32e5fede9c3ff50d9c6da888914a713654c76 (diff)
panfrost: Identify un/pack colour opcodes
We still need to identify formats in the disassembler, but this will at least get the opcode name clear. Signed-off-by: Alyssa Rosenzweig <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3462> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3462>
Diffstat (limited to 'src/panfrost')
-rw-r--r--src/panfrost/midgard/midgard.h6
-rw-r--r--src/panfrost/midgard/midgard_compile.c1
-rw-r--r--src/panfrost/midgard/midgard_ops.c2
3 files changed, 9 insertions, 0 deletions
diff --git a/src/panfrost/midgard/midgard.h b/src/panfrost/midgard/midgard.h
index 560c1295135..909a2d12d2c 100644
--- a/src/panfrost/midgard/midgard.h
+++ b/src/panfrost/midgard/midgard.h
@@ -391,6 +391,12 @@ midgard_writeout;
typedef enum {
midgard_op_ld_st_noop = 0x03,
+ /* Unpack a colour from a native format to fp16 */
+ midgard_op_unpack_colour = 0x05,
+
+ /* Packs a colour from fp16 to a native format */
+ midgard_op_pack_colour = 0x09,
+
/* Unclear why this is on the L/S unit, but moves fp32 cube map
* coordinates in r27 to its cube map texture coordinate destination
* (e.g r29). */
diff --git a/src/panfrost/midgard/midgard_compile.c b/src/panfrost/midgard/midgard_compile.c
index f1cf91caeca..d536f66449b 100644
--- a/src/panfrost/midgard/midgard_compile.c
+++ b/src/panfrost/midgard/midgard_compile.c
@@ -210,6 +210,7 @@ M_LOAD(ld_color_buffer_32u);
M_STORE(st_vary_32);
M_LOAD(ld_cubemap_coords);
M_LOAD(ld_compute_id);
+M_LOAD(pack_colour);
static midgard_instruction
v_branch(bool conditional, bool invert)
diff --git a/src/panfrost/midgard/midgard_ops.c b/src/panfrost/midgard/midgard_ops.c
index 4d33eaa3da4..2f33af06635 100644
--- a/src/panfrost/midgard/midgard_ops.c
+++ b/src/panfrost/midgard/midgard_ops.c
@@ -180,6 +180,8 @@ struct mir_op_props alu_opcode_props[256] = {
#define M64 midgard_reg_mode_64
struct mir_ldst_op_props load_store_opcode_props[256] = {
+ [midgard_op_unpack_colour] = {"unpack_colour", M32},
+ [midgard_op_pack_colour] = {"pack_colour", M32},
[midgard_op_ld_cubemap_coords] = {"ld_cubemap_coords", M32},
[midgard_op_ld_compute_id] = {"ld_compute_id", M32},
[midgard_op_ldst_perspective_division_z] = {"ldst_perspective_division_z", M32},