Module: vkd3d Branch: master Commit: b956efcaa4b0df349edb1f73d75a89d047ee4640 URL: https://source.winehq.org/git/vkd3d.git/?a=commit;h=b956efcaa4b0df349edb1f73...
Author: Zebediah Figura zfigura@codeweavers.com Date: Mon Aug 9 21:56:15 2021 -0500
vkd3d-shader: Fold constant casts from int to float.
Signed-off-by: Zebediah Figura zfigura@codeweavers.com Signed-off-by: Matteo Bruni mbruni@codeweavers.com Signed-off-by: Henri Verbeet hverbeet@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
libs/vkd3d-shader/hlsl_codegen.c | 5 +++++ 1 file changed, 5 insertions(+)
diff --git a/libs/vkd3d-shader/hlsl_codegen.c b/libs/vkd3d-shader/hlsl_codegen.c index 7e3e4d7..398be34 100644 --- a/libs/vkd3d-shader/hlsl_codegen.c +++ b/libs/vkd3d-shader/hlsl_codegen.c @@ -371,6 +371,11 @@ static bool fold_constants(struct hlsl_ctx *ctx, struct hlsl_ir_node *instr, voi
switch (arg1->node.data_type->base_type) { + case HLSL_TYPE_INT: + for (i = 0; i < dimx; ++i) + res->value.f[i] = arg1->value.i[i]; + break; + case HLSL_TYPE_UINT: for (i = 0; i < dimx; ++i) res->value.f[i] = arg1->value.u[i];