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.