From 8de9be6eb1beb7883a3d5ace1eb3a3d81a7a750c Mon Sep 17 00:00:00 2001 From: Christian Gmeiner Date: Wed, 6 Mar 2024 13:22:40 +0100 Subject: [PATCH] etnaviv: isa: Add rouding to etna_inst Signed-off-by: Christian Gmeiner Part-of: --- src/etnaviv/isa/asm.h | 1 + src/gallium/drivers/etnaviv/etnaviv_compiler_nir_emit.c | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/etnaviv/isa/asm.h b/src/etnaviv/isa/asm.h index ceb19d5fd09..f08bd1f83d7 100644 --- a/src/etnaviv/isa/asm.h +++ b/src/etnaviv/isa/asm.h @@ -56,6 +56,7 @@ struct etna_inst_src { struct etna_inst { enum isa_opc opcode; enum isa_type type; + enum isa_rounding rounding; enum isa_cond cond : 5; unsigned sat : 1; /* saturate result between 0..1 */ unsigned sel_bit0 : 1; /* select low half mediump */ diff --git a/src/gallium/drivers/etnaviv/etnaviv_compiler_nir_emit.c b/src/gallium/drivers/etnaviv/etnaviv_compiler_nir_emit.c index 5d91cfa6e92..82af030c4eb 100644 --- a/src/gallium/drivers/etnaviv/etnaviv_compiler_nir_emit.c +++ b/src/gallium/drivers/etnaviv/etnaviv_compiler_nir_emit.c @@ -154,8 +154,10 @@ etna_emit_alu(struct etna_compile *c, nir_op op, struct etna_inst_dst dst, case nir_op_flog2: case nir_op_fsin: case nir_op_fcos: - if (c->specs->has_new_transcendentals) + if (c->specs->has_new_transcendentals) { inst.tex.amode = 1; + inst.rounding = ISA_ROUNDING_RTZ; + } FALLTHROUGH; case nir_op_frsq: case nir_op_frcp: