Giovanni Mascellani (@giomasce) commented about libs/vkd3d-shader/dxil.c:
case ABBREV_ARRAY:
if (prev_type == ABBREV_ARRAY || i != count - 2)
{
FIXME("Unexpected array abbreviation.\n");
return false;
}
abbrev->is_array = true;
--i;
break;
case ABBREV_CHAR:
abbrev->operands[i].read_operand = shader_sm6_read_char6_operand;
break;
case ABBREV_BLOB:
Similarly to the array case, you could check that a blob only appears as the last item of an abbreviation.