zink: add more int/float types to cast switching in ntv
these come from opcode results, which are not always 32bit cc: mesa-stable Reviewed-by: Dave Airlie <airlied@redhat.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13562>
This commit is contained in:
committed by
Marge Bot
parent
69501ff458
commit
c73f5a0082
@@ -1226,10 +1226,18 @@ store_dest(struct ntv_context *ctx, nir_dest *dest, SpvId result, nir_alu_type t
|
||||
break;
|
||||
|
||||
case nir_type_uint:
|
||||
case nir_type_uint8:
|
||||
case nir_type_uint16:
|
||||
case nir_type_uint64:
|
||||
break; /* nothing to do! */
|
||||
|
||||
case nir_type_int:
|
||||
case nir_type_int8:
|
||||
case nir_type_int16:
|
||||
case nir_type_int64:
|
||||
case nir_type_float:
|
||||
case nir_type_float16:
|
||||
case nir_type_float64:
|
||||
result = bitcast_to_uvec(ctx, result, bit_size, num_components);
|
||||
break;
|
||||
|
||||
@@ -1569,12 +1577,20 @@ get_dest_type(struct ntv_context *ctx, nir_dest *dest, nir_alu_type type)
|
||||
unreachable("bool should have bit-size 1");
|
||||
|
||||
case nir_type_int:
|
||||
case nir_type_int8:
|
||||
case nir_type_int16:
|
||||
case nir_type_int64:
|
||||
return get_ivec_type(ctx, bit_size, num_components);
|
||||
|
||||
case nir_type_uint:
|
||||
case nir_type_uint8:
|
||||
case nir_type_uint16:
|
||||
case nir_type_uint64:
|
||||
return get_uvec_type(ctx, bit_size, num_components);
|
||||
|
||||
case nir_type_float:
|
||||
case nir_type_float16:
|
||||
case nir_type_float64:
|
||||
return get_fvec_type(ctx, bit_size, num_components);
|
||||
|
||||
default:
|
||||
|
||||
Reference in New Issue
Block a user