diff options
author | Qiang Yu <yuq825@gmail.com> | 2017-10-20 22:15:29 +0800 |
---|---|---|
committer | Qiang Yu <yuq825@gmail.com> | 2017-10-21 12:30:27 +0800 |
commit | 815d243346bd8a368d37e26104ec2a60e8e5c670 (patch) | |
tree | 5f6d35a74f72480d682aa7412a83f28702f45545 | |
parent | 3088305de418cab9b3ee1e84ed1379d989ed66a2 (diff) |
lima/ppir: support max
Signed-off-by: Qiang Yu <yuq825@gmail.com>
-rw-r--r-- | src/gallium/drivers/lima/ir/pp/codegen.c | 3 | ||||
-rw-r--r-- | src/gallium/drivers/lima/ir/pp/instr.c | 1 | ||||
-rw-r--r-- | src/gallium/drivers/lima/ir/pp/nir.c | 1 | ||||
-rw-r--r-- | src/gallium/drivers/lima/ir/pp/node.c | 4 |
4 files changed, 9 insertions, 0 deletions
diff --git a/src/gallium/drivers/lima/ir/pp/codegen.c b/src/gallium/drivers/lima/ir/pp/codegen.c index 99d809ecf3..f86b39e45f 100644 --- a/src/gallium/drivers/lima/ir/pp/codegen.c +++ b/src/gallium/drivers/lima/ir/pp/codegen.c @@ -113,6 +113,9 @@ static void ppir_codegen_encode_vec_mul(ppir_node *node, void *code) case ppir_op_mov: f->op = ppir_codegen_vec4_mul_op_mov; break; + case ppir_op_max: + f->op = ppir_codegen_vec4_mul_op_max; + break; default: break; } diff --git a/src/gallium/drivers/lima/ir/pp/instr.c b/src/gallium/drivers/lima/ir/pp/instr.c index 90b862502e..568f26d3e7 100644 --- a/src/gallium/drivers/lima/ir/pp/instr.c +++ b/src/gallium/drivers/lima/ir/pp/instr.c @@ -119,6 +119,7 @@ bool ppir_instr_insert_node(ppir_instr *instr, ppir_node *node) switch (node->op) { case ppir_op_mov: case ppir_op_mul: + case ppir_op_max: instr->slots[PPIR_INSTR_SLOT_ALU_VEC_MUL] = node; break; diff --git a/src/gallium/drivers/lima/ir/pp/nir.c b/src/gallium/drivers/lima/ir/pp/nir.c index fed7c031d8..c1a18c7882 100644 --- a/src/gallium/drivers/lima/ir/pp/nir.c +++ b/src/gallium/drivers/lima/ir/pp/nir.c @@ -133,6 +133,7 @@ static int nir_to_ppir_opcodes[nir_num_opcodes] = { [nir_op_frsq] = ppir_op_rsqrt, [nir_op_flog2] = ppir_op_log2, [nir_op_fexp2] = ppir_op_exp2, + [nir_op_fmax] = ppir_op_max, }; static ppir_node *ppir_emit_alu(ppir_compiler *comp, nir_alu_instr *instr) diff --git a/src/gallium/drivers/lima/ir/pp/node.c b/src/gallium/drivers/lima/ir/pp/node.c index b04a07b8d1..ac19de8103 100644 --- a/src/gallium/drivers/lima/ir/pp/node.c +++ b/src/gallium/drivers/lima/ir/pp/node.c @@ -80,6 +80,10 @@ const ppir_op_info ppir_op_infos[] = { .name = "exp2", .type = ppir_node_type_alu, }, + [ppir_op_max] = { + .name = "max", + .type = ppir_node_type_alu, + }, [ppir_op_load_varying] = { .name = "ld_var", .type = ppir_node_type_load, |