ac/nir: implement missing nir_op_pack_half_2x16_split
RADV now lowers lower_pack_half_2x16.
Fixes: 2f125908b3
("radv,aco: lower_pack_half_2x16")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7187>
This commit is contained in:
parent
57d317865e
commit
b3529e56b5
|
@ -1034,6 +1034,13 @@ static void visit_alu(struct ac_nir_context *ctx, const nir_alu_instr *instr)
|
|||
case nir_op_pack_half_2x16:
|
||||
result = emit_pack_2x16(&ctx->ac, src[0], ac_build_cvt_pkrtz_f16);
|
||||
break;
|
||||
case nir_op_pack_half_2x16_split:
|
||||
src[0] = ac_to_float(&ctx->ac, src[0]);
|
||||
src[1] = ac_to_float(&ctx->ac, src[1]);
|
||||
result = LLVMBuildBitCast(ctx->ac.builder,
|
||||
ac_build_cvt_pkrtz_f16(&ctx->ac, src),
|
||||
ctx->ac.i32, "");
|
||||
break;
|
||||
case nir_op_pack_snorm_2x16:
|
||||
result = emit_pack_2x16(&ctx->ac, src[0], ac_build_cvt_pknorm_i16);
|
||||
break;
|
||||
|
|
Loading…
Reference in New Issue