lima/ppir: support ppir_op_ceil

Add a few missing ppir_op_ceil enum handling entries to implement
nir_op_fceil in lima ppir.

Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com>
Reviewed-by: Qiang Yu <yuq825@gmail.com>
This commit is contained in:
Erico Nunes
2019-04-16 23:21:24 +02:00
committed by Qiang Yu
parent 8d2654a419
commit 56230f0428
3 changed files with 14 additions and 0 deletions
+6
View File
@@ -300,6 +300,9 @@ static void ppir_codegen_encode_vec_add(ppir_node *node, void *code)
case ppir_op_floor:
f->op = ppir_codegen_vec4_acc_op_floor;
break;
case ppir_op_ceil:
f->op = ppir_codegen_vec4_acc_op_ceil;
break;
case ppir_op_fract:
f->op = ppir_codegen_vec4_acc_op_fract;
break;
@@ -373,6 +376,9 @@ static void ppir_codegen_encode_scl_add(ppir_node *node, void *code)
case ppir_op_floor:
f->op = ppir_codegen_float_acc_op_floor;
break;
case ppir_op_ceil:
f->op = ppir_codegen_float_acc_op_ceil;
break;
case ppir_op_fract:
f->op = ppir_codegen_float_acc_op_fract;
break;
+1
View File
@@ -134,6 +134,7 @@ static int nir_to_ppir_opcodes[nir_num_opcodes] = {
[nir_op_fmin] = ppir_op_min,
[nir_op_frcp] = ppir_op_rcp,
[nir_op_ffloor] = ppir_op_floor,
[nir_op_fceil] = ppir_op_ceil,
[nir_op_ffract] = ppir_op_fract,
[nir_op_fand] = ppir_op_and,
[nir_op_for] = ppir_op_or,
+7
View File
@@ -131,6 +131,13 @@ const ppir_op_info ppir_op_infos[] = {
PPIR_INSTR_SLOT_END
},
},
[ppir_op_ceil] = {
.name = "ceil",
.slots = (int []) {
PPIR_INSTR_SLOT_ALU_SCL_ADD, PPIR_INSTR_SLOT_ALU_VEC_ADD,
PPIR_INSTR_SLOT_END
},
},
[ppir_op_fract] = {
.name = "fract",
.slots = (int []) {