vkd3d-shader/hlsl: Generate vsir signatures in hlsl_emit_vsir().

This commit is contained in:
Henri Verbeet
2025-07-24 17:27:45 +02:00
parent 49b857c5b7
commit bb2979aa4c
Notes: Henri Verbeet 2025-07-29 13:35:35 +02:00
Approved-by: Elizabeth Figura (@zfigura)
Approved-by: Francisco Casas (@fcasas)
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1660

View File

@@ -9619,8 +9619,6 @@ static void sm1_generate_vsir(struct hlsl_ctx *ctx, const struct vkd3d_shader_co
if (ctx->result) if (ctx->result)
return; return;
generate_vsir_signature(ctx, program, func, semantic_vars);
hlsl_block_init(&block); hlsl_block_init(&block);
sm1_generate_vsir_constant_defs(ctx, program, &block); sm1_generate_vsir_constant_defs(ctx, program, &block);
sm1_generate_vsir_sampler_dcls(ctx, program, &block); sm1_generate_vsir_sampler_dcls(ctx, program, &block);
@@ -12342,10 +12340,6 @@ static void sm4_generate_vsir(struct hlsl_ctx *ctx,
unsigned int extern_resources_count; unsigned int extern_resources_count;
const struct hlsl_buffer *cbuffer; const struct hlsl_buffer *cbuffer;
generate_vsir_signature(ctx, program, func, semantic_vars);
if (version->type == VKD3D_SHADER_TYPE_HULL)
generate_vsir_signature(ctx, program, ctx->patch_constant_func, patch_semantic_vars);
if (version->type == VKD3D_SHADER_TYPE_COMPUTE) if (version->type == VKD3D_SHADER_TYPE_COMPUTE)
{ {
program->thread_group_size.x = ctx->thread_count[0]; program->thread_group_size.x = ctx->thread_count[0];
@@ -13972,6 +13966,10 @@ int hlsl_emit_vsir(struct hlsl_ctx *ctx, const struct vkd3d_shader_compile_info
return ctx->result; return ctx->result;
} }
generate_vsir_signature(ctx, program, entry_func, &semantic_vars);
if (version.type == VKD3D_SHADER_TYPE_HULL)
generate_vsir_signature(ctx, program, ctx->patch_constant_func, &patch_semantic_vars);
if (version.major < 4) if (version.major < 4)
sm1_generate_ctab(ctx, reflection_data); sm1_generate_ctab(ctx, reflection_data);
else else