diff --git a/src/gallium/drivers/zink/nir_to_spirv/nir_to_spirv.c b/src/gallium/drivers/zink/nir_to_spirv/nir_to_spirv.c index d1f26cbe158..b2080f6cf15 100644 --- a/src/gallium/drivers/zink/nir_to_spirv/nir_to_spirv.c +++ b/src/gallium/drivers/zink/nir_to_spirv/nir_to_spirv.c @@ -1834,6 +1834,7 @@ emit_alu(struct ntv_context *ctx, nir_alu_instr *alu) UNOP(nir_op_f2f64, SpvOpFConvert) UNOP(nir_op_bitfield_reverse, SpvOpBitReverse) UNOP(nir_op_bit_count, SpvOpBitCount) + UNOP(nir_op_fisnormal, SpvOpIsNormal) #undef UNOP case nir_op_f2f16_rtz: diff --git a/src/gallium/drivers/zink/zink_compiler.c b/src/gallium/drivers/zink/zink_compiler.c index 57e8e4fdb95..d2061e492a9 100644 --- a/src/gallium/drivers/zink/zink_compiler.c +++ b/src/gallium/drivers/zink/zink_compiler.c @@ -1210,6 +1210,8 @@ zink_screen_init_compiler(struct zink_screen *screen) .lower_flrp32 = true, .lower_fpow = true, .lower_fsat = true, + .lower_hadd = true, + .lower_iadd_sat = true, .lower_extract_byte = true, .lower_extract_word = true, .lower_insert_byte = true,