2015-12-07 3 views
1

Недавно я работал над проектом, который требует поддержки FP64.Возможность OpenGL 4.0 FP64

На данный момент я проверяю, поддерживает ли GPU расширение ARB_gpu_shader_fp64. Однако недавно я протестировал этот проект на ноутбуке с Nvidia gt 540m, который поддерживает OpenGL 4.0, но он не рекламировал упомянутое расширение.

В OpenGL 4.0, ARB_gpu_shader_fp64 стало «основным расширением». Что это значит ? Поддерживает ли какой-либо gpu, поддерживающий opengl 4.0 fp64? Нужно ли рекламировать расширение, или подразумевается, что он поддерживает эту функциональность?

ответ

2

Что это значит, что он говорит. ARB_gpu_shader_fp64 - это то, что формально называется «обратным расширением совместимости». Это означает, что он идентичен функциональности 4.0, до того момента, когда перечисления и функции даже не имеют суффикса ARB. Это означает, что всегда использовать эти перечисления/функции, если расширение присутствует или, если номер версии> = версия OpenGL, где она была принята.

Целью этого является предоставление аппаратного обеспечения этой функции, которая не может реализовать оставшуюся часть 4.0. И пользователи могут использовать любое оборудование, не требуя каких-либо изменений кода (даже имен перечислений/функций) для кода пользователя. Им просто нужно проверить версию и расширение и использовать эту функцию, если она присутствует.

Коэффициенты хорошие, что расширение только отсутствует из-за ошибки водителя. Я говорю, потому что 3 separate reportsfor yourexact hardware все явно указывают, что расширение поддерживается для вашего оборудования. Поэтому, если ваши драйверы обновлены, это может быть недавняя ошибка драйвера. Если они старше, обновление может исправить это.

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

+0

Спасибо, это был ответ, который я искал, теперь только для того, чтобы собрать шейдеры с '#VERSION 400' и' #VERSION 330 + extension'. – semtexzv

Смежные вопросы