From 88b2a6b451ac4e8cbbef21a8cb01b549e06f40ba Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Mon, 25 Mar 2019 00:07:32 +0000 Subject: [PATCH] panfrost/midgard: Add more ball/bany, iabs ops Signed-off-by: Alyssa Rosenzweig --- .../drivers/panfrost/midgard/midgard.h | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/src/gallium/drivers/panfrost/midgard/midgard.h b/src/gallium/drivers/panfrost/midgard/midgard.h index f3cabff8c2f..c40c94bc378 100644 --- a/src/gallium/drivers/panfrost/midgard/midgard.h +++ b/src/gallium/drivers/panfrost/midgard/midgard.h @@ -84,24 +84,39 @@ typedef enum { midgard_alu_op_iandnot = 0x74, /* (a, b) -> a & ~b, used for not/b2f */ midgard_alu_op_ixor = 0x76, midgard_alu_op_imov = 0x7B, + midgard_alu_op_iabs = 0x7C, midgard_alu_op_feq = 0x80, midgard_alu_op_fne = 0x81, midgard_alu_op_flt = 0x82, midgard_alu_op_fle = 0x83, midgard_alu_op_fball_eq = 0x88, midgard_alu_op_bball_eq = 0x89, + midgard_alu_op_fball_lt = 0x8A, /* all(lessThan(.., ..)) */ + midgard_alu_op_fball_lte = 0x8B, /* all(lessThanEqual(.., ..)) */ midgard_alu_op_bbany_neq = 0x90, /* used for bvec4(1) */ midgard_alu_op_fbany_neq = 0x91, /* bvec4(0) also */ + midgard_alu_op_fbany_lt = 0x92, /* any(lessThan(.., ..)) */ + midgard_alu_op_fbany_lte = 0x93, /* any(lessThanEqual(.., ..)) */ midgard_alu_op_f2i = 0x99, midgard_alu_op_f2u8 = 0x9C, midgard_alu_op_f2u = 0x9D, + midgard_alu_op_ieq = 0xA0, midgard_alu_op_ine = 0xA1, midgard_alu_op_ilt = 0xA4, midgard_alu_op_ile = 0xA5, midgard_alu_op_iball_eq = 0xA8, midgard_alu_op_ball = 0xA9, + midgard_alu_op_uball_lt = 0xAA, + midgard_alu_op_uball_lte = 0xAB, + midgard_alu_op_iball_lt = 0xAC, + midgard_alu_op_iball_lte = 0xAD, + midgard_alu_op_ibany_eq = 0xB0, midgard_alu_op_ibany_neq = 0xB1, + midgard_alu_op_ubany_lt = 0xB2, + midgard_alu_op_ubany_lte = 0xB3, + midgard_alu_op_ibany_lt = 0xB4, /* any(lessThan(.., ..)) */ + midgard_alu_op_ibany_lte = 0xB5, /* any(lessThanEqual(.., ..)) */ midgard_alu_op_i2f = 0xB8, midgard_alu_op_u2f = 0xBC, midgard_alu_op_icsel = 0xC1, @@ -432,6 +447,7 @@ static char *alu_opcode_names[256] = { [midgard_alu_op_isub] = "isub", [midgard_alu_op_imul] = "imul", [midgard_alu_op_imov] = "imov", + [midgard_alu_op_iabs] = "iabs", [midgard_alu_op_iand] = "iand", [midgard_alu_op_ior] = "ior", [midgard_alu_op_inot] = "inot", @@ -444,7 +460,11 @@ static char *alu_opcode_names[256] = { [midgard_alu_op_fball_eq] = "fball_eq", [midgard_alu_op_fbany_neq] = "fbany_neq", [midgard_alu_op_bball_eq] = "bball_eq", + [midgard_alu_op_fball_lt] = "fball_lt", + [midgard_alu_op_fball_lte] = "fball_lte", [midgard_alu_op_bbany_neq] = "bbany_neq", + [midgard_alu_op_fbany_lt] = "fbany_lt", + [midgard_alu_op_fbany_lte] = "fbany_lte", [midgard_alu_op_f2i] = "f2i", [midgard_alu_op_f2u] = "f2u", [midgard_alu_op_f2u8] = "f2u8", @@ -454,7 +474,16 @@ static char *alu_opcode_names[256] = { [midgard_alu_op_ile] = "ile", [midgard_alu_op_iball_eq] = "iball_eq", [midgard_alu_op_ball] = "ball", + [midgard_alu_op_uball_lt] = "uball_lt", + [midgard_alu_op_uball_lte] = "uball_lte", + [midgard_alu_op_iball_lt] = "iball_lt", + [midgard_alu_op_iball_lte] = "iball_lte", + [midgard_alu_op_iball_eq] = "iball_eq", [midgard_alu_op_ibany_neq] = "ibany_neq", + [midgard_alu_op_ubany_lt] = "ubany_lt", + [midgard_alu_op_ubany_lte] = "ubany_lte", + [midgard_alu_op_ibany_lt] = "ibany_lt", + [midgard_alu_op_ibany_lte] = "ibany_lte", [midgard_alu_op_i2f] = "i2f", [midgard_alu_op_u2f] = "u2f", [midgard_alu_op_icsel] = "icsel", -- 2.30.2