The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Выпуск спецификации OpenGL 4.6"
Отправлено opennews, 01-Авг-17 11:22 
Консорциум Khronos, занимающийся разработкой графических стандартов, отметил двадцатипятилетие с момента основания стандарта OpenGL публикацией (https://www.khronos.org/news/press/khronos-releases-opengl-4...) новой версии спецификации OpenGL 4.6 (https://khronos.org/registry/OpenGL/index_gl.php), которая стала первым обновлением с момента появления графического API Vulkan (https://www.opennet.ru/opennews/art.shtml?num=41773), пришедшего на смену OpenGL. Для оценки возможностей новой версии API на реальном оборудовании компания NVIDIA  выпустила (https://developer.nvidia.com/opengl-driver) бета-версию (381.26.11) драйвера с поддержкой OpenGL 4.6. Сообщается, что любые GPU NVIDIA  для которых уже имеется поддержка  OpenGL 4.5 являются совместимыми и с  OpenGL 4.6. Из открытых драйверов к поддержке новой спецификации наиболее близки (https://mesamatrix.net/)  драйверы Intel i965, Nouveau (nvc0) и RadeonSI, в которых реализовано  5 из 11 новых расширений OpenGL 4.6.


Наиболее интересным новшеством  OpenGL 4.6 является возможность обработки переносимого промежуточного представления шейдеров  SPIR-V (https://www.khronos.org/registry/spir-v/), изначально разработанного для API Vulkan.  SPIR-V универсален для всех платформ и может применяться как для графики, так и для параллельных вычислений. SPIR-V подразумевает выделение отдельной фазы компиляции шейдеров в промежуточное представление, что позволяет создавать фронтэнды для различных высокоуровневых языков. На основе различных высокоуровневых реализаций отдельно генерируется единый промежуточный код, который может использоваться драйверами OpenGL, Vulkan и OpenCL без применения встроенного  компилятора шейдеров. Избавление драйвера от компилятора шейдеров существенно упрощает драйвер, ускоряет загрузку кода для GPU и  делает драйвер независимым от высокоуровневых языков разработки программ для GPU. Для преобразования шейдеров на языке GLSL в представление SPIR-V развивается компилятор glslang (https://github.com/KhronosGroup/glslang), в который уже добавлена поддержка GLSL 4.60.


В основной состав спецификации OpenGL 4.6 включено 11 расширений:


-     GL_ARB_gl_spirv (https://www.khronos.org/registry/OpenGL/extensions/ARB/ARB_g...) и GL_ARB_spirv_extensions (https://khronos.org/registry/OpenGL/extensions/ARB/ARB_spirv...) для стандартизации поддержки SPIR-V в OpenGL;

-     GL_ARB_indirect_parameters (https://www.khronos.org/registry/OpenGL/extensions/ARB/ARB_i...) и GL_ARB_shader_draw_parameters (https://www.khronos.org/registry/OpenGL/extensions/ARB/ARB_s...) для снижения нагрузки на CPU при выполнении операций в пакетном режиме, связанных с рендерингом большого числа геометрических примитивов;

-    GL_ARB_pipeline_statistics_query (https://www.khronos.org/registry/OpenGL/extensions/ARB/ARB_p...) и GL_ARB_transform_feedback_overflow_query (https://www.khronos.org/registry/OpenGL/extensions/ARB/ARB_t...) для стандартизации в OpenGL ранее специфичных для Direct3D средств для получения статистики о ходе выполнения шейдеров и отлавливания переполнения буферов;

-    GL_ARB_texture_filter_anisotropic (https://khronos.org/registry/OpenGL/extensions/ARB/ARB_textu...) (бывшее расширение GL_EXT_texture_filter_anisotropic) с реализацией метода улучшения визуального качества текстур, на который ранее распространялись патентные ограничения;

-   GL_ARB_polygon_offset_clamp (https://khronos.org/registry/OpenGL/extensions/ARB/ARB_polyg...) (бывшее расширение GL_EXT_polygon_offset_clamp) для устранения часто встречающегося визуального артефакта "утечка света" (light leak), возникающего при отрисовке теней;

-     GL_ARB_shader_atomic_counter_ops (https://www.khronos.org/registry/OpenGL/extensions/ARB/ARB_s...) и GL_ARB_shader_group_vote (https://www.khronos.org/registry/OpenGL/extensions/ARB/ARB_s...) с реализацией дополнительных функций шейдеров, расширяющих функциональность и производительность решений для рабочего стола (реализация атомарных счётчиков и функции для ускорения  композитинга на процессорах SIMD);

-     GL_KHR_no_error (https://www.khronos.org/registry/OpenGL/extensions/KHR/KHR_n...), позволяет снизить нагрузку на драйвер при выполнении операций, которые заведомо не могут привести к ошибке. При помощи данного расширения приложение может отключить код проверки ошибок в драйвере, что положительно сказывается на производительности;


Добавлено три новшества, которые в дальнейшем будут оформлены как расширения OpenGL:


-  GL_KHR_parallel_shader_compile (https://www.khronos.org/registry/OpenGL/extensions/KHR/KHR_p...) - позволяет приложениям запустить сразу несколько потоков компиляции шейдеров;
-  WGL_ARB_create_context_no_error и GXL_ARB_create_context_no_error (https://www.khronos.org/registry/OpenGL/extensions/ARB/ARB_c...) для отключения контекста обработки ошибок  в WGL или GLX.


Для улучшения переносимости с API Vulkan и Direct3D  в спецификации OpenGL и OpenGL ES включена (https://www.khronos.org/registry/OpenGL/extensions/EXT/EXT_e...) порция необязательных расширений для низкоуровневых манипуляций с объектами в памяти и управления синхронизацией выполнения операций с GPU: GL_EXT_memory_object* и GL_EXT_semaphore*. Указанные расширения позволяют импортировать в OpenGL-приложения объекты Vulkan для их привязки к текстурам или буферам в памяти. Для совместимости с Direct3D добавлено расширение  GL_EXT_win32_keyed_mutex.


URL: https://www.khronos.org/news/press/khronos-releases-opengl-4...
Новость: http://www.opennet.ru/opennews/art.shtml?num=46952

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру