Работают ли геометрические шейдеры GLSL на GMA X3100 под OSX?

Я пытаюсь использовать тривиальный геометрический шейдер, но при запуске в Shader Builder на ноутбуке с GMA X3100 он отступает и использует программный рендеринг. Согласно этому документу, GMA X3100 поддерживает EXT_geometry_shader4.

Вход POINTS, выход LINE_STRIP.

Что потребуется для запуска на графическом процессоре (если возможно)

uniform vec2 offset;

void main()
{
    gl_Position = gl_PositionIn[0];
    EmitVertex();
    gl_Position = gl_PositionIn[0] + vec4(offset.x,offset.y,0,0);
    EmitVertex();
    EndPrimitive();
}

person GameFreak    schedule 29.03.2010    source источник
comment
Вы уверены, что используете OSX ›= 10.5? Похоже, EXT_geometry_shader4 не поддерживается в версии 1.4 и ниже.   -  person genpfault    schedule 29.03.2010


Ответы (4)


Судя по документам, на которые вы ссылаетесь, это, безусловно, должно поддерживаться.

Вы могли бы попробовать

int hasGEOM = isExtensionSupported("EXT_geometry_shader4");

Если он вернет утвердительный ответ, у вас может возникнуть другая проблема, мешающая ему работать.

Также в соответствии со спецификацией GLSL (1.20.8) «любое расширенное поведение должно быть сначала включено. Директивы для управления поведением компилятора в отношении расширений объявляются с помощью директивы #extension»

Я не видел, чтобы вы использовали эту директиву в своем коде, поэтому я могу предложить

#extension GL_EXT_geometry_shader4 : enable

В верхней части блока кода шейдера.

person Montdidier    schedule 22.10.2010

Я нашел этот средство просмотра расширений OpenGL действительно помогает в отслеживании подобных проблем. Это, безусловно, позволит вам подтвердить претензии Apple. Тем не менее, Википедия утверждает, что официальная поддержка GLSL геометрических шейдеров технически является функцией OpenGL 3.2.

Кто-нибудь знает, поддерживает ли реализация EXT_geometry_shader4 синтаксис GLSL или это требует определенного формата оборудования или драйвера?

person metasim    schedule 15.04.2010

Интересно, что я слышал, что заявления Intel о совместимости этих интегрированных графических процессоров иногда преувеличены или просто ложны. Судя по всему, X3100 поддерживает только OpenGL 1.4 и ниже (по крайней мере, я так слышал, принимайте это с долей скептицизма, так как я не могу этого подтвердить).

person adam_0    schedule 15.06.2010

На моем ноутбуке HP с Intel x3100 с драйверами Windows 7 x64 (v8.15.10.1930 (9-23-2009)) непосредственно с веб-сайта Intel расширение «EXT_geometry_shader4» (или любой его вариант) НЕ поддерживается. Я подтвердил это программно и с помощью инструмента "GPU Caps Viewer" (в котором перечислены обнаруженные поддерживаемые расширения, среди прочих полезных вещей). Поскольку Windows, как правило, является основным предметом разработки драйверов от любого поставщика, маловероятно, что драйвер OSX чем-то лучше, и на самом деле может иметь даже меньше поддерживаемых расширений.

person GetOutOfBox    schedule 19.07.2012