vkd3d-shader/hlsl: Set the correct index count for sm1 DEPTHOUT.

This commit is contained in:
Elizabeth Figura 2025-03-07 17:30:01 -06:00 committed by Henri Verbeet
parent 227e2cc0f5
commit 856f4b55f6
Notes: Henri Verbeet 2025-04-02 19:42:10 +02:00
Approved-by: Giovanni Mascellani (@giomasce)
Approved-by: Francisco Casas (@fcasas)
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1414

View File

@ -8329,9 +8329,16 @@ static void sm1_generate_vsir_init_dst_param_from_deref(struct hlsl_ctx *ctx,
else else
VKD3D_ASSERT(reg.allocated); VKD3D_ASSERT(reg.allocated);
vsir_register_init(&dst_param->reg, type, VKD3D_DATA_FLOAT, 1); if (type == VKD3DSPR_DEPTHOUT)
{
vsir_register_init(&dst_param->reg, type, VKD3D_DATA_FLOAT, 0);
}
else
{
vsir_register_init(&dst_param->reg, type, VKD3D_DATA_FLOAT, 1);
dst_param->reg.idx[0].offset = register_index;
}
dst_param->write_mask = writemask; dst_param->write_mask = writemask;
dst_param->reg.idx[0].offset = register_index;
if (deref->rel_offset.node) if (deref->rel_offset.node)
hlsl_fixme(ctx, loc, "Translate relative addressing on dst register for vsir."); hlsl_fixme(ctx, loc, "Translate relative addressing on dst register for vsir.");