gl_VertexID прерывает рендеринг - PullRequest
3 голосов
/ 01 марта 2011

У меня есть следующий шейдер GLSL (загружается в прямой контекст OpenGL 3.3, но я получаю то же поведение в 2.1):

const GLchar* const glsl_vertex_timeseries = {
    "#version 330\n"
    "#extension GL_EXT_gpu_shader4 : enable\n"
    ""
    "in vec2 in_Y;"
    ""
    "void main()"
    "{"
//  "   int dummy = gl_VertexID;"
    "   gl_Position = vec4(in_Y, 0.0, 1.0);"
    "}"
};

Это очень упрощено, чтобы найти проблему.

Как показано, он компилирует, связывает и отображает мою геометрию.

Если закомментированная строка активирована, она компилируется и связывается без предупреждений, но ничего не отображается (glClear все еще работает, но не glDrawArrays).

Что нужно, чтобы gl_VertexID заработал?

Приложение представляет собой 32-разрядную программу C ++, работающую в 64-разрядной версии Windows 7. Видеокарта ATI Mobility Radeon 5650, Catalyst 8.812

1 Ответ

0 голосов
/ 01 марта 2011

Чудесным образом, это больше не происходит с Catalyst 8.821.

Я не уверен, происходит ли это из-за исправления ошибки или потому, что установщик драйвера сбрасывает какое-то странное состояние.

РЕДАКТИРОВАТЬ: учитывая, что обновленные драйверы исправили проблему на двух отдельных компьютерах, похоже, это было недавнее исправление ошибки.

...