[PATCH vkd3d 4/9] vkd3d-shader: Call vkd3d_dxbc_compiler_leave_shader_phase() also for last phase.

Józef Kucia joseph.kucia at gmail.com
Mon Feb 25 04:59:12 CST 2019


From: Józef Kucia <jkucia at codeweavers.com>

Signed-off-by: Józef Kucia <jkucia at codeweavers.com>
---
 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 16dc90c13e6b..244efd8da962 100644
--- a/libs/vkd3d-shader/spirv.c
+++ b/libs/vkd3d-shader/spirv.c
@@ -7866,8 +7866,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);
-- 
2.19.2




More information about the wine-devel mailing list