[v2 PATCH vkd3d 2/4] vkd3d-shader/hlsl: Cast round() input to float.
Zebediah Figura (she/her)
zfigura at codeweavers.com
Mon Dec 20 15:44:20 CST 2021
On 12/20/21 12:15, Zebediah Figura (she/her) wrote:
> On 12/19/21 06:41, Nikolay Sivov wrote:
>> +static struct hlsl_ir_node *intrinsic_float_convert_arg(struct
>> hlsl_ctx *ctx,
>> + const struct parse_initializer *params, struct hlsl_ir_node
>> *arg, const struct vkd3d_shader_location *loc)
>> +{
>> + struct hlsl_type *type = arg->data_type;
>> +
>> + if (type->base_type == HLSL_TYPE_FLOAT || type->base_type ==
>> HLSL_TYPE_HALF)
>> + return arg;
>
> add_implicit_conversion() already does this.
Sorry, turns out I'm wrong; this preserves the input type for half,
whereas add_implicit_conversion() alone would not.
>
>> +
>> + type = hlsl_get_numeric_type(ctx, type->type, HLSL_TYPE_FLOAT,
>> type->dimx, type->dimy);
>> + return add_implicit_conversion(ctx, params->instrs, arg, type, loc);
>> +}
>> +
>
More information about the wine-devel
mailing list