Профиль ядра против строки версии? Получение только GLSL 1.3 / OGL 3.0 в mesa 10.0.1

Теоретически, mesa 10.0.1 должна поддерживать OpenGL 3.3, но в настоящее время я получаю только поддержку 3.0.

glxinfo дает некоторые запутанные результаты …

[pdel@architect build]$ glxinfo | grep -i opengl
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) Ivybridge Mobile
OpenGL core profile version string: 3.3 (Core Profile) Mesa 10.0.1
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 10.0.1
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:

(в настоящее время работает Intel HD Graphics 4000)

Может кто-нибудь объяснить разницу между «строкой версии основного профиля» и «строкой версии» и почему они отличаются?

8

Решение

Это прямо в примечаниях к выпуску:

OpenGL 3.3 есть только доступно, если запрошено при создании контекста, потому что контексты совместимости не поддерживаются.

Это выглядит как glxinfo сначала пытается получить информацию о профиле основного поддерживаемого ядра, а затем возвращается к неосновной.

Таким образом, вы получаете два набора версий, один для основного профиля, а другой для неосновного профиля.

Если вы хотите OpenGL 3.3 под Mesa, вы должен создать основной профиль.

6

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector