diff options
author | Philip Rebohle <philip.rebohle@tu-dortmund.de> | 2019-10-16 22:55:35 +0300 |
---|---|---|
committer | Alexandre Julliard <julliard@winehq.org> | 2019-10-22 17:39:04 +0300 |
commit | 907d733ffe18635e17338a89edbc3b4947188de6 (patch) | |
tree | 0c8e2d6665ae5f018878f04b901af090944c4d3c | |
parent | c002aee119b638d30eeb7cdc91099449ccafeafc (diff) |
vkd3d-shader: Don't shift output array component write mask.
Fixes an assertion when compiling shaders with more than four
clip or cull distances. Output arrays are arrays of scalars,
so shifting the write mask is not very meaningful.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-rw-r--r-- | libs/vkd3d-shader/spirv.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/libs/vkd3d-shader/spirv.c b/libs/vkd3d-shader/spirv.c index 75a3a4f3..4b93e01f 100644 --- a/libs/vkd3d-shader/spirv.c +++ b/libs/vkd3d-shader/spirv.c @@ -4536,7 +4536,7 @@ static void vkd3d_dxbc_compiler_emit_store_shader_output(struct vkd3d_dxbc_compi ptr_type_id, output_id, vkd3d_dxbc_compiler_get_constant_uint(compiler, index)); object_id = vkd3d_dxbc_compiler_emit_swizzle(compiler, val_id, write_mask, output_info->component_type, VKD3D_NO_SWIZZLE, VKD3DSP_WRITEMASK_0 << i); - vkd3d_dxbc_compiler_emit_store(compiler, chain_id, VKD3DSP_WRITEMASK_0 << index, + vkd3d_dxbc_compiler_emit_store(compiler, chain_id, VKD3DSP_WRITEMASK_0, output_info->component_type, SpvStorageClassOutput, VKD3DSP_WRITEMASK_0 << i, object_id); ++index; } |