mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-09-12 18:50:22 -07:00
vkd3d-shader/dxil: Remove bitcast helpers.
They are useless, since the source is already a union with the needed types.
This commit is contained in:
committed by
Henri Verbeet
parent
0a1e7b5f64
commit
a743d9ae60
Notes:
Henri Verbeet
2025-06-02 21:00:23 +02:00
Approved-by: Henri Verbeet (@hverbeet) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1515
@@ -3058,30 +3058,6 @@ static inline uint64_t decode_rotated_signed_value(uint64_t value)
|
|||||||
return value << 63;
|
return value << 63;
|
||||||
}
|
}
|
||||||
|
|
||||||
static float bitcast_uint_to_float(unsigned int value)
|
|
||||||
{
|
|
||||||
union
|
|
||||||
{
|
|
||||||
uint32_t uint32_value;
|
|
||||||
float float_value;
|
|
||||||
} u;
|
|
||||||
|
|
||||||
u.uint32_value = value;
|
|
||||||
return u.float_value;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline double bitcast_uint64_to_double(uint64_t value)
|
|
||||||
{
|
|
||||||
union
|
|
||||||
{
|
|
||||||
uint64_t uint64_value;
|
|
||||||
double double_value;
|
|
||||||
} u;
|
|
||||||
|
|
||||||
u.uint64_value = value;
|
|
||||||
return u.double_value;
|
|
||||||
}
|
|
||||||
|
|
||||||
static float register_get_float_value(const struct vkd3d_shader_register *reg)
|
static float register_get_float_value(const struct vkd3d_shader_register *reg)
|
||||||
{
|
{
|
||||||
if (!register_is_constant(reg) || !data_type_is_floating_point(reg->data_type))
|
if (!register_is_constant(reg) || !data_type_is_floating_point(reg->data_type))
|
||||||
@@ -3093,10 +3069,10 @@ static float register_get_float_value(const struct vkd3d_shader_register *reg)
|
|||||||
if (reg->type == VKD3DSPR_IMMCONST64)
|
if (reg->type == VKD3DSPR_IMMCONST64)
|
||||||
{
|
{
|
||||||
WARN("Truncating double to float.\n");
|
WARN("Truncating double to float.\n");
|
||||||
return bitcast_uint64_to_double(reg->u.immconst_u64[0]);
|
return reg->u.immconst_f64[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
return bitcast_uint_to_float(reg->u.immconst_u32[0]);
|
return reg->u.immconst_f32[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
static enum vkd3d_result value_allocate_constant_array(struct sm6_value *dst, const struct sm6_type *type,
|
static enum vkd3d_result value_allocate_constant_array(struct sm6_value *dst, const struct sm6_type *type,
|
||||||
|
Reference in New Issue
Block a user