From 1ee4d51e7a68f8f2dcb52a0e2f9af81fdbe078a2 Mon Sep 17 00:00:00 2001 From: Rob Clark Date: Fri, 12 Jun 2015 14:27:44 -0400 Subject: [PATCH] freedreno/ir3/nir: add more opcodes Signed-off-by: Rob Clark --- src/gallium/drivers/freedreno/ir3/ir3_compiler_nir.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/freedreno/ir3/ir3_compiler_nir.c b/src/gallium/drivers/freedreno/ir3/ir3_compiler_nir.c index a9a8df3bc3b..0c2600b8100 100644 --- a/src/gallium/drivers/freedreno/ir3/ir3_compiler_nir.c +++ b/src/gallium/drivers/freedreno/ir3/ir3_compiler_nir.c @@ -1076,9 +1076,15 @@ emit_alu(struct ir3_compile *ctx, nir_alu_instr *alu) case nir_op_imax: dst[0] = ir3_MAX_S(b, src[0], 0, src[1], 0); break; + case nir_op_umax: + dst[0] = ir3_MAX_U(b, src[0], 0, src[1], 0); + break; case nir_op_imin: dst[0] = ir3_MIN_S(b, src[0], 0, src[1], 0); break; + case nir_op_umin: + dst[0] = ir3_MIN_U(b, src[0], 0, src[1], 0); + break; case nir_op_imul: /* * dst = (al * bl) + (ah * bl << 16) + (al * bh << 16) @@ -2451,7 +2457,8 @@ ir3_compile_shader_nir(struct ir3_compiler *compiler, out: if (ret) { - ir3_destroy(so->ir); + if (so->ir) + ir3_destroy(so->ir); so->ir = NULL; } compile_free(ctx); -- 2.30.2