We still need to identify formats in the disassembler, but this will at
least get the opcode name clear.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3462>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3462>
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). */
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)
#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},