Работают ли геометрические шейдеры GLSL на GMA X3100 под OSX - PullRequest
5 голосов
/ 29 марта 2010

Я пытаюсь использовать тривиальный геометрический шейдер, но при запуске в 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();
}

Ответы [ 4 ]

2 голосов
/ 22 октября 2010

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

Вы можете попробовать

int hasGEOM = isExtensionSupported("EXT_geometry_shader4");

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

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

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

#extension GL_EXT_geometry_shader4 : enable

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

1 голос
/ 15 апреля 2010

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

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

0 голосов
/ 19 июля 2012

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

0 голосов
/ 16 июня 2010

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

...