summaryrefslogtreecommitdiffstats
path: root/src/gallium
diff options
context:
space:
mode:
authorRob Clark <[email protected]>2015-06-12 14:27:44 -0400
committerRob Clark <[email protected]>2015-06-21 08:01:06 -0400
commit1ee4d51e7a68f8f2dcb52a0e2f9af81fdbe078a2 (patch)
tree67c23c035c30402664b11b18fc40093218731c19 /src/gallium
parent43048c7093c367897fbcbb3ca8580e9c122cd6f6 (diff)
freedreno/ir3/nir: add more opcodes
Signed-off-by: Rob Clark <[email protected]>
Diffstat (limited to 'src/gallium')
-rw-r--r--src/gallium/drivers/freedreno/ir3/ir3_compiler_nir.c9
1 files changed, 8 insertions, 1 deletions
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);