vkd3d-shader/hlsl: Fold floating point minimum expressions.

This commit is contained in:
Giovanni Mascellani 2023-06-09 22:30:56 +02:00 committed by Alexandre Julliard
parent 2a2943c2cf
commit 5a05fabe62
Notes: Alexandre Julliard 2023-06-27 23:34:59 +02:00
Approved-by: Zebediah Figura (@zfigura)
Approved-by: Henri Verbeet (@hverbeet)
Approved-by: Alexandre Julliard (@julliard)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/232

View File

@ -535,6 +535,15 @@ static bool fold_min(struct hlsl_ctx *ctx, struct hlsl_constant_value *dst, cons
{
switch (type)
{
case HLSL_TYPE_FLOAT:
case HLSL_TYPE_HALF:
dst->u[k].f = fminf(src1->value.u[k].f, src2->value.u[k].f);
break;
case HLSL_TYPE_DOUBLE:
dst->u[k].d = fmin(src1->value.u[k].d, src2->value.u[k].d);
break;
case HLSL_TYPE_INT:
dst->u[k].i = min(src1->value.u[k].i, src2->value.u[k].i);
break;