microsoft/compiler: It's possible to have doubles without int64

Reviewed-by: Bill Kristiansen <billkris@microsoft.com>
Reviewed-By: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14837>
This commit is contained in:
Jesse Natalie 2022-01-28 12:54:17 -08:00 committed by Marge Bot
parent 3b9483e89d
commit dde3b04d44

View file

@ -1669,7 +1669,8 @@ store_dest(struct ntd_context *ctx, nir_dest *dest, unsigned chan,
case nir_type_float:
if (nir_dest_bit_size(*dest) == 64)
ctx->mod.feats.doubles = true;
FALLTHROUGH;
store_dest_value(ctx, dest, chan, value);
break;
case nir_type_uint:
case nir_type_int:
if (nir_dest_bit_size(*dest) == 16)
@ -1726,8 +1727,7 @@ get_src(struct ntd_context *ctx, nir_src *src, unsigned chan,
case nir_type_float:
assert(nir_src_bit_size(*src) >= 16);
assert(nir_src_bit_size(*src) != 64 || (ctx->mod.feats.doubles &&
ctx->mod.feats.int64_ops));
assert(nir_src_bit_size(*src) != 64 || ctx->mod.feats.doubles);
if (dxil_value_type_equal_to(value, dxil_module_get_float_type(&ctx->mod, bit_size)))
return value;
assert(dxil_value_type_bitsize_equal_to(value, bit_size));