Module: vkd3d Branch: master Commit: 95b6d5222dbb059aa14b4641872c6b103185eb74 URL: https://source.winehq.org/git/vkd3d.git/?a=commit;h=95b6d5222dbb059aa14b4641...
Author: Józef Kucia jkucia@codeweavers.com Date: Mon Feb 25 11:59:12 2019 +0100
vkd3d-shader: Call vkd3d_dxbc_compiler_leave_shader_phase() also for last phase.
Signed-off-by: Józef Kucia jkucia@codeweavers.com Signed-off-by: Henri Verbeet hverbeet@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
libs/vkd3d-shader/spirv.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/libs/vkd3d-shader/spirv.c b/libs/vkd3d-shader/spirv.c index 4225f8f..08065f9 100644 --- a/libs/vkd3d-shader/spirv.c +++ b/libs/vkd3d-shader/spirv.c @@ -7870,8 +7870,12 @@ int vkd3d_dxbc_compiler_generate_spirv(struct vkd3d_dxbc_compiler *compiler, const struct vkd3d_shader_compile_arguments *compile_args = compiler->compile_args; const struct vkd3d_shader_domain_shader_compile_arguments *ds_args; struct vkd3d_spirv_builder *builder = &compiler->spirv_builder; + const struct vkd3d_shader_phase *phase;
- vkd3d_spirv_build_op_function_end(builder); + if ((phase = vkd3d_dxbc_compiler_get_current_shader_phase(compiler))) + vkd3d_dxbc_compiler_leave_shader_phase(compiler, phase); + else + vkd3d_spirv_build_op_function_end(builder);
if (compiler->shader_type == VKD3D_SHADER_TYPE_HULL) vkd3d_dxbc_compiler_emit_hull_shader_main(compiler);