From: Zebediah Figura zfigura@codeweavers.com
--- libs/vkd3d-shader/hlsl.c | 2 ++ libs/vkd3d-shader/tpf.c | 2 ++ 2 files changed, 4 insertions(+)
diff --git a/libs/vkd3d-shader/hlsl.c b/libs/vkd3d-shader/hlsl.c index f439c9f3..5adeae57 100644 --- a/libs/vkd3d-shader/hlsl.c +++ b/libs/vkd3d-shader/hlsl.c @@ -1158,6 +1158,8 @@ struct hlsl_ir_node *hlsl_new_constant(struct hlsl_ctx *ctx, struct hlsl_type *t
init_node(&c->node, HLSL_IR_CONSTANT, type, loc); c->value = *value; + for (unsigned int i = type->dimx; i < 4; ++i) + c->value.u[i].u = 0x55555555;
return &c->node; } diff --git a/libs/vkd3d-shader/tpf.c b/libs/vkd3d-shader/tpf.c index d066b13e..9cbd9897 100644 --- a/libs/vkd3d-shader/tpf.c +++ b/libs/vkd3d-shader/tpf.c @@ -3531,6 +3531,8 @@ static void sm4_src_from_constant_value(struct sm4_src_register *src, { if (map_writemask & (1u << i)) src->reg.immconst_uint[i] = value->u[j++].u; + else + src->reg.immconst_uint[i] = 0x55555555; } } }