Для Mesa подготовлена реализация трекера состояний Gallium3D, обеспечивающего поддержку API Direct3D 9 для Unix-подобных систем. В отличие от недавно удалённого из Mesa экспериментального трекера состояний Direct3D 10/11, новая разработка является полностью работоспособной, обеспечивает более высокую производительность и пригодна для запуска реальных игр, таких как Star Craft 2, Skyrim, Civilization 5 и Anno 1404.
Реализована поддержка как базового COM-интерфейса IDirect3DDevice9, так и интерфейса ID3DAdapter9, используемого для финального варианта IDirect3D9Ex. Для Wine обеспечена возможность использования созданных компонентов для предоставления поддержки Direct3D 9, при этом новая реализация сосуществует с реализацией Direct3D из состава Wine, основанной на трансляции вызовов Direct3D в OpenGL. Инструкцию по запуску Windows игр, поддерживающих Direct3D 9, в Wine можно найти здесь.
По сравнению с использованием штатного wined3d новая реализация позволяет достигнуть двухкратного роста FPS в играх. Ускорение достигается за счёт реализации API Direct3D 9 непосредственно на уровне драйверов Gallium3D, без использования дополнительно транслирующей прослойки на базе OpenGL. Поддерживается работа с Gallium3D-драйверами nouveau (nvc0, NVIDIA), r600g (AMD) и swrast (программный рендеринг).
Следует отметить, что API Direct3D 9 кардинально отличается от Direct3D 10/11, что не позволяет использовать представленный код в качестве базы для дальнейшего обеспечения поддержки Direct3D 10/11. Кроме того, отмечается, что текущих возможностей Gallium3D недостаточно для реализации Direct3D 11, в то время как имеются все необходимые функции для полноценной поддержки Direct3D 9, которые уже протестированы при работе OpenGL.
Реализована поддержка как базового COM-интерфейса IDirect3DDevice9, так и интерфейса ID3DAdapter9, используемого для финального варианта IDirect3D9Ex. Для Wine обеспечена возможность использования созданных компонентов для предоставления поддержки Direct3D 9, при этом новая реализация сосуществует с реализацией Direct3D из состава Wine, основанной на трансляции вызовов Direct3D в OpenGL. Инструкцию по запуску Windows игр, поддерживающих Direct3D 9, в Wine можно найти здесь.
По сравнению с использованием штатного wined3d новая реализация позволяет достигнуть двухкратного роста FPS в играх. Ускорение достигается за счёт реализации API Direct3D 9 непосредственно на уровне драйверов Gallium3D, без использования дополнительно транслирующей прослойки на базе OpenGL. Поддерживается работа с Gallium3D-драйверами nouveau (nvc0, NVIDIA), r600g (AMD) и swrast (программный рендеринг).
Следует отметить, что API Direct3D 9 кардинально отличается от Direct3D 10/11, что не позволяет использовать представленный код в качестве базы для дальнейшего обеспечения поддержки Direct3D 10/11. Кроме того, отмечается, что текущих возможностей Gallium3D недостаточно для реализации Direct3D 11, в то время как имеются все необходимые функции для полноценной поддержки Direct3D 9, которые уже протестированы при работе OpenGL.