zink: fix nir_op_unpack_64_2x32 emission

Cc: mesa-stable
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18863>
(cherry picked from commit d2e2b9bb801c2eea99fafc54b24b15e9631ca937)
This commit is contained in:
SoroushIMG 2022-09-21 20:49:43 +01:00 committed by Dylan Baker
parent 9566c44069
commit 4d6fe87a24
2 changed files with 6 additions and 2 deletions

View File

@ -1003,7 +1003,7 @@
"description": "zink: fix nir_op_unpack_64_2x32 emission",
"nominated": true,
"nomination_type": 0,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": null
},

View File

@ -2026,9 +2026,13 @@ emit_alu(struct ntv_context *ctx, nir_alu_instr *alu)
result = emit_builtin_unop(ctx, GLSLstd450PackHalf2x16, get_dest_type(ctx, &alu->dest.dest, nir_type_uint), src[0]);
break;
case nir_op_unpack_64_2x32:
assert(nir_op_infos[alu->op].num_inputs == 1);
result = emit_builtin_unop(ctx, GLSLstd450UnpackDouble2x32, get_dest_type(ctx, &alu->dest.dest, nir_type_uint), src[0]);
break;
BUILTIN_UNOPF(nir_op_unpack_half_2x16, GLSLstd450UnpackHalf2x16)
BUILTIN_UNOPF(nir_op_pack_64_2x32, GLSLstd450PackDouble2x32)
BUILTIN_UNOPF(nir_op_unpack_64_2x32, GLSLstd450UnpackDouble2x32)
#undef BUILTIN_UNOP
#undef BUILTIN_UNOPF