| Предыдущий | Следующий |
| ippStsNoOperation | ippStsSqrtNegArg |
ippStsMisalignedBuf
Здесь ошибка относится к базовому адресу памяти, а не к значениям samples. Некоторые optimized primitives требуют выравнивание для vector loads, state tables или внутренних структур; packed указатель либо pointer внутрь общего массива может это требование нарушить.
Даже память, полученная корректным allocator, становится misaligned после добавления произвольного byte offset. Поэтому проверять нужно конечный адрес, который реально передан IPP, а не только исходный allocation.
Проверьте адрес и allocator
- Требуемое alignment для конкретного primitive и data type.
- Остаток uintptr_t(pointer) по требуемой границе непосредственно перед вызовом.
- Не смещает ли wrapper начало buffer на header/ROI в некратных байтах.
- Для state/spec используйте рекомендованный size-query и allocator/layout.
Не исправляйте проблему только увеличением размера allocation. Выравнивание — отдельное свойство адреса; создайте aligned buffer или скорректируйте layout так, чтобы конечный pointer удовлетворял контракту.
Ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.