Разработчик из AMD подытожил состояние открытых драйверов для карт семейства Radeon

В результате серии дискуссий, развернувшихся на форуме ресурса Phoronix, свое видение ситуации и приоритетов относительно открытых драйверов для видеокарт семейства Radeon изложил разработчик компании AMD Джон Бриджман (John Bridgman). В частности, разработчик подвел итоги по такой функциональности, как декодирование видео с использованием UVD и шейдеров, Hyper-Z, гибридных графических систем и OpenCL.
  • Декодирование видео (XvMC/VDPAU/VA-API) на движке 3D - Кристиан Кёниг (Christian König) и ряд других разработчиков много работали над данной возможностью и пришли к выводу, что реалазация декодирования H.264 через графические шейдеры будет работать не слишком хорошо. Кристиан предположил, что вычислительные шейдеры могут дать достаточное улучшение, так как накладные расходы в случае вычислительных шейдеров заметно ниже. Однако на тот момент инфраструктура для вычислительных шейдеров была не готова. Краткосрочные планы включают в себя изучение возможности использования UVD (Unified Video Decoder) для декодирования видео, а также реализация инфраструктуры вычислительных шейдеров (OpenCL).
  • Гибридная графика: в прошлом году была проделана большая работа, в основном Дэвидом Эйрли (airlied);
  • Stippled Primitives (примитивы штрихования) и Smooth Primitives (примитивы сглаживания) - в данный момент ими похоже никто не занимается. Более того, судя по всему они вообще практически нигде не используются за исключением нескольких узкоспециализированных приложений для графических станций.
  • Стадии шейдеров тесселяции (Tessellation Shader Stages) - это функциональность OpenGL версии 4, поэтому на неё скорее всего обратят внимание после полной реализации всех частей OpenGL версии 3.3. * Геометрические шейдеры (Geometry Shaders) - являются необходимыми для поддержки OpenGL 3.2. Ранее Дэвид Эйрли уже упоминал, что данная функциональность уже реализована и есть соответствующие патчи, которые тем не менее недостаточно протестированы на данный момент.
  • Hyper-Z - была проведена большая работа, но тем не менее, по мнению разработчика данная возможность пока ещё не готова к активации по умолчанию.
  • Поддержка CrossFire (рендеринг на нескольких картах) - предположительно пока над этим никто не работает. Большинство разработчиков сходятся во мнении, что повышение производительности на одном GPU в данный момент более приоритетная задача, которая к тому же более привлекательна в плане соотношения полученных результатов к потраченным усилиям.
  • Вычисления на стороне GPU (OpenCL) - в прошлом году над подготовкой инфраструктуры была проделана большая работа, в основном Томом Стеллардом (tstellard), а также некоторыми разработчиками из сообщества.

Кроме того, разработчик упомянул некоторые иные любопытные моменты, касающиеся его видения приоритетов и запросов пользователей:

  • Те или иные опции декодирования видео - варьируются от "хорошо бы чтобы было" до "необходимо", в зависимости от конфигурации оборудования пользователя, используемых кодеков и прочего (например, некоторые виды кодеков все-равно не поддерживаются встроенными в GPU декодерами UVD (Unified Video Decoder). Злободневность проблемы варьируется в зависимости от пригодности оборудования пользователя проигрывать желаемое видео без ускорения, используя CPU.
  • Поддержка гибридной графики (Hybrid Graphics) важна если у пользователя есть ноутбук, использующий данную технологию. В противном случае эта возможность оказывается бесполезна для пользователя.
  • Обеспечить поддержку HyperZ достаточно интересно, поскольку после того как все проблемы будут устранены, это добавит порядка 10% производительности в большинстве 3D игр, что является достаточно приятной перспективой.
  • Прочее как правило менее актуально для повседневного использования.

Также отмечается, что хотя самые последние версии OpenGL пока не являются критичными и не все возможности GL реально используются существующими программами, постепенно эти возможности будут становиться востребованными, так что в будущем может появиться, например, какая-то игра использующая их. Поэтому работа над дальнейшей полнотой реализации OpenGL является достаточно важной.

Наиболее популярные запросы от пользователей выглядят приблизительно так:

  1. Улучшение управления питанием. В данный момент реализация управления питанием в драйвере зависит от наличия в VBIOS полных таблиц возможных состояний питания. Судя по всему, далеко не все производители видеокарт прописывают таблицы состояний полностью, что приводит к проблемам.
  2. Ускорение декодирование видео для таких применений как домашние кинотеатры (HTPC).
  3. Улучшение поддержки OpenCL.

Полный текст статьи читайте на OpenNet