Gallium 3D драйвер R600g теперь производит копирование буферов через синхронный DMA

Ранее сообщалось о выпуске компанией AMD кода для ядра Linux с поддержкой достаточно полезной возможности - асинхронного копирования данных между системой и GPU через асинхронный движок DMA. В данный момент разработчик Джером Глиссе работает над реализацией ответной части для данной функциональности в MESA-драйвере R600g.

Тем временем, независимый разработчик Marek Olšák реализовал в Gallium драйвере R600g поддержку копирования буферов через синхронный DMA (CP DMA). На данный момент возможность реализована для всех поддерживаемых драйвером карт, начиная с семейства R700. Для карт семейств HD 2000/3000 (R600) в данный момент эта возможность пока не реализована.

В результате этих изменений ожидается заметный прирост производительности открытого графического стека для видеокарт AMD, поскольку движок DMA сам по себе более эффективен при копировании данных, чем копирование данных средствами шейдерного движка.

Примечание (на основе пояснений от разработчика AMD): в современных GPU семейства Radeon есть два варианта движка DMA: синхронный (CP DMA), работающий в том же кольце (аппаратном треде) что и движок рендеринга, и асинхронный (ASYNC DMA) работающий независимо.

©  OpenNet