GLTEXIMAGE2D SegFault, связанный с шириной / высотой

Я получил SegFault, когда я пытался загрузить изображение 771x768.

Пробовал с изображением 24x24 и 768x768, и они работали, нет проблем.

Это ожидается? Почему это не просто изящно изящно с ошибкой GL?

Неисправность сегментации происходит в вызове GLTEXIMAGE2D. Я загружаю двоичный файл PPM, чтобы он упакован 24 бита на пиксель. Это нечетное число, в сочетании с нечетным измерением, вероятно, создает неинтеградируемую (или даже 2-байту) выровневаемую структуру (и ссылка на вне ровно достаточно выделенного буфера, может быть причиной ошибки, но GDB не показывает мне память Адрес (который я мог бы использовать, чтобы узнать, если это вызывает его)).

glTexImage2D(GL_TEXTURE_2D, 0, 3, width, height, 0, GL_RGB, GL_UNSIGNED_BYTE, dataptr);
// in this specific case of failure, width = 771, height = 768,
// dataptr contains 1776384 bytes of binary RGB image data (771*768*3 = 1776384)
6
задан Steven Lu 11 September 2011 в 20:00
поделиться