Gallium3D
Gallium3D — библиотека трёхмерной графики для драйверов устройств, разработанная компанией Tungsten Graphics, которая занимается разработками в области графических технологий в среде Open Source. На данный момент разработкой занимается компания VMware, которая выкупила Tungsten Graphics. С 2009 года является частью проекта Mesa. API Gallium3D представляет собой прослойку между реализацией высокоуровневого графического интерфейса типа OpenGL и драйвером для видеокарты. Её задача — упростить разработку драйверов видеокарт посредством связывания дублирующегося кода в нескольких разных драйверах в одно представление. Это необходимо, чтобы обеспечивать лучшее разделение работы (например, оставляя управление памятью ядру драйвера DRI) и поддерживания современной архитектуры аппаратных средств. Gallium3D представляет объединённый API, обеспечивающий стандартные аппаратные функции, реализуемые на современном графическом оборудовании, такие, как, например, модули программы построения шейдеров. Таким образом, трёхмерные API, созданные по спецификациям OpenGL 1.x/2.x/3.x, OpenVG, Direct3D (его реализация в среде совместимости Wine), будут нуждаться только в front-end, названном State Tracker и предоставляемом Mesa. В этом отличие современной Mesa 3D от более ранних версий без Gallium3D, которые требовали полную реализацию OpenGL (в том числе front-end) для каждой аппаратной платформы. Кроме того, благодаря модульной структуре Gallium3D, уже ведутся работы по более тесной интеграции с набором программ компилятора LLVM и созданию модуля, позволяющего оптимизировать код шейдеров «на лету». С использованием Gallium3D, драйвер DRM будет управлять памятью видеокарты, а драйвер DRI (теперь названный DRI2) будет больше ориентирован на сопровождение GPU. Это решит проблему с управлением памятью, что прежде считалось неосуществимым при использовании Mesa 3D. Ссылки
|