From f82a90ff783458917794bf43be2c6ced97559a2b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B3zef=20Kucia?= Date: Tue, 15 Aug 2017 11:25:10 +0200 Subject: [PATCH] libs/vkd3d-shader: Fix write mask for vPrim register. --- libs/vkd3d-shader/spirv.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/libs/vkd3d-shader/spirv.c b/libs/vkd3d-shader/spirv.c index 40c3a2b4..6f64c3a5 100644 --- a/libs/vkd3d-shader/spirv.c +++ b/libs/vkd3d-shader/spirv.c @@ -2395,10 +2395,11 @@ static uint32_t vkd3d_dxbc_compiler_emit_input(struct vkd3d_dxbc_compiler *compi bool use_private_var = false; DWORD write_mask; - /* vThreadIDInGroupFlattened is declared with no write mask in shader - * bytecode generated by fxc. */ + /* vThreadIDInGroupFlattened, vPrim are declared with no write mask in + * shader bytecode generated by fxc. */ write_mask = dst->write_mask; - if (!write_mask && reg->type == VKD3DSPR_LOCALTHREADINDEX) + if (!write_mask && (reg->type == VKD3DSPR_LOCALTHREADINDEX + || reg->type == VKD3DSPR_PRIMID)) write_mask = VKD3DSP_WRITEMASK_0; signature_element = vkd3d_find_signature_element_for_reg(compiler->input_signature,