Выход спецификаций OpenGL 4.4 и OpenCL 2.0

Концерн Chronos, занятый разработкой графических стандартов, объявил о выпуске новой версии спецификации OpenGL 4.4 и OpenCL 2.0.

Самые главные нововведения OpenGL 4.4 включают:

  • Контроль за размещением буфера (GL_ARB_buffer_storage) - значительно улучшает возможности по доступу к памяти, благодаря точному управлению позицией буферов в графической и системной памяти, позволяя также управлять поведением кэша и добавлению возможности по выдаче команд центральному процессора по маппингу буфера для прямого использования видеоадаптером;
  • Эффективные асинхронные запросы (GL_ARB_query_buffer_object) - буферные объекты могут стать прямой целью запросов в обход центрального процессора, что позволяет избежать заторов в очереди видеоадаптера. Это позволяет значительно увеличить скорость для приложений, в которых предполагается в конечном итоге использовать результаты запросов на GPU.
  • Изменяемая layout-шейдеров (GL_ARB_enhanced_layouts) - детальный контроль за размещением интерфейсных шейдерных переменных, включая возможность более эффективной упаковки векторов скалярных типов. Включает полный контроль изменяемой компоновки внутри униформных блоков и позволяет шейдерам указывать переменные обратной связи для трансформации и лэйаута буфера.
  • Эффективное связывание множества объектов (GL_ARB_multi_bind). Новые команды, которые позволяют приложению объединять и разъединять наборы объектов с помощью одного API вызова, вместо отдельных команд для каждой операции связывания, тем самым амортизируя вызов функции, выборку по полю переменных и потенциальные издержки блокировки.
  • Добавлены вызовы для упрощения портирования с API Direct3D 11, включая GL_ARB_vertex_type_10f_11f_11f_rev(), который создаёт трёхкомпонентный вертексный тип с 32 битными значениями для более высокой производительности и GL_ARB_texture_mirror_clamp_to_edge(), который предоставляет схожий с Direct3D метод для работы с текстурой.
  • Расширение несвязанных текстур (GL_ARB_bindless_texture) - которое позволяет шейдерам получать доступ к практически неограниченному количеству текстур с помощью виртуальных адресов - создавая общее виртульное пространство системной памяти и памяти GPU. Это позволяет избежать лишних затрат на маппинг недоступных текстур в offscreen.
  • Расширение разряжённых текстур (GL_ARB_sparse_texture) - позволяет работать с текстурами, которые превышают по объёму размер памяти видеоадаптера (т.н. мегатекстуры - впервые реализованные программно John Carmack в игре Rage).

Основные новшества OpenCL 2.0:

  • Разделяемая виртуальная память;
  • Динамический параллелизм;
  • Общее адресное пространство;
  • Улучшенная поддержка форматов изображений (sRGB и 3D);
  • C11 Atomics;
  • >Pipes - объекты памяти, организованные по принципу FIFO, включая функции для прямого доступа к pipes;
  • Подготовка клиентского драйвера для Android, позволяющего определять и загружать реализации OpenCL в виде разделяемого объекта для Android.


Источник:
http://www.opennet.ru/opennews/art.shtml?num=37486

<= Назад
Комментарии
]]> ipv6 ready Kiev LUGLinux4MeНостальгияЛичный сайт skeletora ]]>