Собственно, компилятор выдает, мол нету gl_InstanceID. Я конечно понимаю, у меня дрова древние, но у меня ведь работает расширение GL_ARB_draw_instanced (Еще что удивительно. что при относительно низкой версии у меня работает большинство функций как раз через расширения). Я бы не стал это тут задавать, но пока я искал, почему это может не работать, я наткнулся на это https://bugs.freedesktop.org/show_bug.cgi?id=35425. У меня вот тоже Mesa. Я конечно не эксперт, но может ли быть, что если у меня нету этого злополучного EXT_gpu_shader4(а у меня его кстати и нету только какой - то GL_EXT_gpu_shader5 , в описание ченжлога которого нет ни слова о gl_InstanceID), то и инстансинга мне не видать?
Вот такой вывод дает компилятор:
Так собирается:
http://shader-playground.timjones.io/8d373ad9055d722e732e939506757b19
gl_InstanceID нужно было скастить в uint и расширение по идее уже должно быть в core профиле 3.3
Даже так не собирается. Я вот чекал зависимости GL_ARB_draw_instanced, и там написано мол надо EXT_gpu_shader4 и еще что то, что у меня есть. И это немного странно, ведь если у меня реализован GL_ARB_draw_instanced, разве это не значит, что и все его зависимости должны быть так же реализованы?
+ я проверял в принципе свою видеокарту на возможность поддержки этой ерунды https://feedback.wildfiregames.com/report/opengl/device/Radeon%20HD%206400M На этом сайте написано, что моя видеокарта может в инстансинг. Может быть дело в мезе?
Вот кстати полный вывод glxinfo:
Вывод glxinfo
Examnes
> и там написано мол надо EXT_gpu_shader4
Там если вчитаться, то дело в другом - что когда то оно должно было называться gl_InstanceIDARB, но потом со временем реализации так часто (конкретно из-за EXT_gpu_shader4) стали содержать просто gl_InstanceID, что спеки сейчас говорят, что должны поддерживаться оба названия: https://www.khronos.org/registry/OpenGL/extensions/ARB/ARB_draw_instanced.txt
Ага, ха, дело то конечно в дровах, но скорее не в том, что их нет для новой версии, а в том, что версия mesa 3d для ubuntu не поддерживает на моей видеокарте opengl версии выше 3.1
Мне не слишком это принципиально, но нет ли на ubuntu чего-то кроме mesa?
PS: а вот на windows проприертатными дровами я могу даже в opengl 4.2 и там у меня все работает!
Examnes
> но нет ли на ubuntu чего-то кроме mesa?
Есть драйвер amdgpu, но он поддерживает карты gcn и выше. Я хз, какая у тебя архитектура.
Не знаю как сейчас, но я ещё лет 15 назад понял, что линукс без нвидии это отсутствие аппаратного ускорения в опенгл. С тех пор возникла привычка покупать видюхи только нвидии а принтеры только hp, чтобы быть линуксбоем без слез.
=A=L=X=
> что линукс без нвидии это отсутствие аппаратного ускорения в опенгл.
А я, наоборот, отказался от нвидии потому, что мне надоело бороться с ее глюками.
OpenGL core profile version string: 4.5 (Core Profile) Mesa 18.0.5
}:+()___ [Smile]
И Интел, и Нвидиа карты хорошие, АМД дерьмо... не осиливает расшаривание контекста... Была у меня один раз ATI, потом скоропостижненько проапгрейдился на Нвидиа и забыл это уёбище :)
Daniil Petrov
> Нвидиа карты хорошие
Нвидиа местами глючные попадаются, видимо это последние выпуски такие с 2010. Но я пока с них не слез.
foxes
Я единственное на гигабайтовской Нвидии пролетел, сгорела, мамка ихняя ещё стоит, тоже то ещё дерьмо, теперь Гигабайт у меня в чёрном списке и буду только сам компьютер собирать... скорее всего только Асус...
Тема в архиве.