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.