summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAlyssa Rosenzweig <[email protected]>2019-03-25 00:07:32 +0000
committerAlyssa Rosenzweig <[email protected]>2019-03-26 23:35:18 +0000
commit88b2a6b451ac4e8cbbef21a8cb01b549e06f40ba (patch)
tree4e7348a70d2cb6206b29e16ad8572b8b94107149 /src
parent72cd677bac60aac17e72fd3ca30b940fa7d19d74 (diff)
panfrost/midgard: Add more ball/bany, iabs ops
Signed-off-by: Alyssa Rosenzweig <[email protected]>
Diffstat (limited to 'src')
-rw-r--r--src/gallium/drivers/panfrost/midgard/midgard.h29
1 files changed, 29 insertions, 0 deletions
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",