From 856f4b55f68cc66f331d1668b79fb06b8ad12f49 Mon Sep 17 00:00:00 2001 From: Elizabeth Figura Date: Fri, 7 Mar 2025 17:30:01 -0600 Subject: [PATCH] vkd3d-shader/hlsl: Set the correct index count for sm1 DEPTHOUT. --- libs/vkd3d-shader/hlsl_codegen.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/libs/vkd3d-shader/hlsl_codegen.c b/libs/vkd3d-shader/hlsl_codegen.c index fbc0ed4a..59d77ca3 100644 --- a/libs/vkd3d-shader/hlsl_codegen.c +++ b/libs/vkd3d-shader/hlsl_codegen.c @@ -8329,9 +8329,16 @@ static void sm1_generate_vsir_init_dst_param_from_deref(struct hlsl_ctx *ctx, else 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->reg.idx[0].offset = register_index; if (deref->rel_offset.node) hlsl_fixme(ctx, loc, "Translate relative addressing on dst register for vsir.");