Giovanni Mascellani (@giomasce) commented about libs/vkd3d-shader/dxil.c:
+ return; + } + + for (type = src->type, i = 0; operand_idx < record->operand_count; ++i) + { + bool is_constant; + + if (!sm6_type_is_pointer(type) && !sm6_type_is_aggregate(type)) + { + WARN("Invalid GEP on type class %u.\n", type->class); + vkd3d_shader_parser_error(&sm6->p, VKD3D_SHADER_ERROR_DXIL_INVALID_OPERAND, + "Source type of a GEP instruction is not a pointer or aggregate."); + return; + } + + if ((operand = sm6_parser_get_value_idx_by_ref(sm6, record, NULL, &operand_idx)) == SIZE_MAX) Any reason for not using `sm6_parser_get_value_by_ref()` here?
-- https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/471#note_52556