mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-04-13 05:43:18 -07:00
vkd3d-shader/hlsl: Generate RDEF outside tpf_compile().
This commit is contained in:
committed by
Henri Verbeet
parent
ecddc39b31
commit
ca9bb2e089
Notes:
Henri Verbeet
2024-12-10 15:58:38 +01:00
Approved-by: Elizabeth Figura (@zfigura) Approved-by: Henri Verbeet (@hverbeet) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1308
@@ -10586,18 +10586,25 @@ int hlsl_emit_bytecode(struct hlsl_ctx *ctx, struct hlsl_ir_function_decl *entry
|
||||
case VKD3D_SHADER_TARGET_DXBC_TPF:
|
||||
{
|
||||
uint32_t config_flags = vkd3d_shader_init_config_flags();
|
||||
struct vkd3d_shader_code rdef = {0};
|
||||
struct vsir_program program;
|
||||
int result;
|
||||
|
||||
sm4_generate_rdef(ctx, &rdef);
|
||||
if (ctx->result)
|
||||
return ctx->result;
|
||||
|
||||
sm4_generate_vsir(ctx, entry_func, config_flags, &program);
|
||||
if (ctx->result)
|
||||
{
|
||||
vsir_program_cleanup(&program);
|
||||
vkd3d_shader_free_shader_code(&rdef);
|
||||
return ctx->result;
|
||||
}
|
||||
|
||||
result = tpf_compile(&program, config_flags, out, ctx->message_context, ctx, entry_func);
|
||||
result = tpf_compile(&program, config_flags, &rdef, out, ctx->message_context, ctx, entry_func);
|
||||
vsir_program_cleanup(&program);
|
||||
vkd3d_shader_free_shader_code(&rdef);
|
||||
return result;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user