From 934646027a48bffac7b90220bf5b355fd741b2f6 Mon Sep 17 00:00:00 2001 From: Philip Rebohle Date: Mon, 10 Feb 2020 15:44:28 +0100 Subject: [PATCH] vkd3d-shader: Allow hull shader join phases to read patch constants. Signed-off-by: Philip Rebohle --- libs/vkd3d-shader/spirv.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/libs/vkd3d-shader/spirv.c b/libs/vkd3d-shader/spirv.c index fdfa0a1c..c9841ff7 100644 --- a/libs/vkd3d-shader/spirv.c +++ b/libs/vkd3d-shader/spirv.c @@ -4160,6 +4160,14 @@ static void vkd3d_dxbc_compiler_emit_shader_phase_input(struct vkd3d_dxbc_compil case VKD3DSPR_JOININSTID: val_id = phase->instance_id; break; + case VKD3DSPR_PATCHCONST: + vkd3d_symbol_make_register(®_symbol, reg); + vkd3d_symbol_set_register_info(®_symbol, compiler->hs.patch_constants_id, + SpvStorageClassPrivate, VKD3D_TYPE_FLOAT, VKD3DSP_WRITEMASK_ALL); + reg_symbol.info.reg.is_aggregate = true; + reg_symbol.info.reg.member_idx = reg_symbol.key.reg.idx; + vkd3d_dxbc_compiler_put_symbol(compiler, ®_symbol); + return; case VKD3DSPR_OUTPOINTID: /* Emitted in vkd3d_dxbc_compiler_emit_initial_declarations(). */ case VKD3DSPR_OUTCONTROLPOINT: /* See vkd3d_dxbc_compiler_leave_shader_phase(). */ return;