Zebediah Figura (@zfigura) commented about libs/vkd3d-shader/ir.c:
+ return; + + if ((array_offset = signature->scan[element_idx].offset)) + element_idx = signature->scan[element_idx].remap; + + element_idx = signature->scan[element_idx].remap; + reg->idx[reg->idx_count - 1].offset = element_idx; + + if (!write_mask) + { + WARN("Unexpected zero write mask.\n"); + vkd3d_shader_parser_error(parser, VKD3D_SHADER_ERROR_VSIR_INVALID_WRITE_MASK, + "Write mask for a clip/cull load is zero."); + normaliser->result = VKD3D_ERROR_INVALID_SHADER; + return; + } A zero write mask does seem invalid, but do we actually need this here? I don't see how the code below would choke on a hypothetical zero write mask.
-- https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/564#note_62265