Giovanni Mascellani (@giomasce) commented about libs/vkd3d-shader/dxil.c:
+ [DX_STORE_OUTPUT ] = {'v', "ii8o", sm6_parser_emit_dx_store_output}, +}; + +static bool sm6_parser_validate_operand_type(struct sm6_parser *sm6, const struct sm6_type *type, char info_type) +{ + switch (info_type) + { + case 0: + FIXME("Invalid operand count.\n"); + return false; + case '8': + return sm6_type_is_i8(type); + case 'i': + return sm6_type_is_i32(type); + case 'v': + return !type; Hmm, sometimes type `void` is represented as a `NULL` (for example for return values), sometimes as a `sm6_type` with `TYPE_CLASS_VOID` (see e.g. `sm6_type_is_void()`). Maybe we should always use the same convention.
-- https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/283#note_40754