Каковы сообщения об ошибках для нарушения ограничений инструкций шейдера GLSL?

Мы небольшая команда разработчиков, работающая с некоторыми GLSL, которые могут быть слишком большими для компиляции старых видеокарт. Мы хотим отображать разумное сообщение об ошибке для пользователя (вместо того, чтобы просто выводить информационный журнал или выводить общее сообщение типа «этот шейдер не сработал»), когда это происходит в зависимости от типа ошибки.

Вопрос в том, что у ATI и nVidia разные соглашения для этих сообщений об ошибках, и единственный способ, который я нашел, чтобы решить, какой тип ошибки был у шейдера, - это проанализировать строку ошибки, сгенерированную glGetShaderInfoLog.

Учитывая это, есть ли где-нибудь список или кто-нибудь знает, как выглядит вывод ошибки для карт ATI и nVidia? Или есть лучший способ определить превышение лимита инструкций?


person Ron Warholic    schedule 13.08.2009    source источник


Ответы (1)


Даже если вы знаете, как сейчас выглядят сообщения об ошибках, nVidia и ATI не обязаны сохранять их такими же в следующих версиях своих драйверов. На них в принципе нельзя положиться ни для чего, кроме целей отладки.

Я бы посмотрел и посмотрел, смогут ли расширения поставщиков предоставить вам более конкретную диагностическую информацию.

person Jay Kominek    schedule 16.08.2009
comment
petewarden.com/notes/archives/2005/06/fragment_progra_3.html сделал свое дело. - person Ron Warholic; 17.08.2009