[PATCH vkd3d 6/8] vkd3d-shader/hlsl: Support casts for all numeric types in fold_constants().
Zebediah Figura (she/her)
zfigura at codeweavers.com
Mon Jan 17 17:53:18 CST 2022
On 1/6/22 11:39, Francisco Casas wrote:
> + switch (src->node.data_type->base_type)
> + {
> + case HLSL_TYPE_FLOAT:
> + case HLSL_TYPE_HALF:
> + u = src->value[k].f;
> + i = src->value[k].f;
> + f = src->value[k].f;
> + d = src->value[k].f;
> + break;
> + case HLSL_TYPE_DOUBLE:
> + u = src->value[k].d;
> + i = src->value[k].d;
> + f = src->value[k].d;
> + d = src->value[k].d;
> + break;
> + case HLSL_TYPE_INT:
> + u = src->value[k].i;
> + i = src->value[k].i;
> + f = src->value[k].i;
> + d = src->value[k].i;
> + break;
> + case HLSL_TYPE_UINT:
> + u = src->value[k].u;
> + i = src->value[k].u;
> + f = src->value[k].u;
> + d = src->value[k].u;
> + break;
> + case HLSL_TYPE_BOOL:
> + u = !!src->value[k].u;
> + i = !!src->value[k].u;
> + f = !!src->value[k].u;
> + d = !!src->value[k].u;
> + break;
Booleans still use the "b" member upstream.
> + default:
> + FIXME("Cast from %s to %s.\n", debug_hlsl_type(ctx, src->node.data_type),
> + debug_hlsl_type(ctx, tgt->node.data_type));
> + return 0;
> + }
More information about the wine-devel
mailing list