Giovanni Mascellani (@giomasce) commented about libs/vkd3d-shader/dxil.c:
+ dst->type = type->u.function->ret_type; + + operand_count = type->u.function->param_count; + if (operand_count > ARRAY_SIZE(operands)) + { + FIXME("Unhandled operand count %u.\n", operand_count); + vkd3d_shader_parser_error(&sm6->p, VKD3D_SHADER_ERROR_DXIL_INVALID_OPERAND_COUNT, + "Unhandled operand count %u for dx intrinsic function.", operand_count); + return; + } + + for (j = 0; j < operand_count; ++j) + { + if (!(operands[j] = sm6_parser_get_value_by_ref(sm6, record, type->u.function->param_types[j], &i))) + return; + } Wouldn't it make sense to emit a warning if more operands are supplied than they are used?
-- https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/283#note_40756