La implementación de OpenGL sobre DirectX ha conseguido compatibilidad con OpenGL 3.3 y está incluida en Mesa

La empresa Collabora anunció la adopción del controlador D3D12 Gallium en la composición principal de Mesa, que implementa una capa para organizar el trabajo OpenGL sobre la API DirectX 12 (D3D12). Al mismo tiempo, se anunció que el controlador pasó con éxito las pruebas de compatibilidad con OpenGL 3.3 cuando funciona sobre los controladores WARP (rasterizador de software) y NVIDIA D3D12.

El controlador puede ser útil para usar Mesa en dispositivos con controladores que solo admiten D3D12 y también como punto de partida para migrar aplicaciones OpenGL para que se ejecuten sobre la API D3D12. En particular, el controlador se puede utilizar para organizar el funcionamiento de aplicaciones gráficas en entornos que ejecutan el subsistema WSL (Subsistema de Windows para Linux), lo que garantiza el inicio de archivos ejecutables de Linux en Windows.

El desarrollo se lleva a cabo en conjunto con los ingenieros de Microsoft que están desarrollando el kit de herramientas abierto D3D11On12 para traducir juegos de D3D11 a D3D12 y la biblioteca D3D12TranslationLayer, que implementa primitivas gráficas estándar sobre D3D12. Basado en el proyecto en consideración, Microsoft ya ha preparado una capa que permite ejecutar aplicaciones basadas en OpenGL en dispositivos Windows que no brindan soporte completo para OpenGL. En particular, se logró garantizar que Photoshop funcione en dispositivos Windows con procesadores ARM.

La implementación incluye un controlador para Mesa y un compilador de sombreadores NIR a DXIL (tiempo de ejecución D3D12), que convierte la representación intermedia de los sombreadores NIR utilizados en Mesa al formato binario DXIL (DirectX Intermediate Language) compatible con DirectX 12 y basado en LLVM. Código de bits 3.7 (DirectX Shader Compiler de Microsoft es una bifurcación de LLVM 3.7). El controlador Mesa usa la interfaz Gallium, acepta comandos OpenGL y usa el traductor NIR a DXIL para generar comandos D3D12, que se ejecutan en la GPU a través del controlador del sistema D3D12. Por separado, se están desarrollando componentes para garantizar que OpenCL funcione sobre D3D12, incluido el compilador OpenCL y el tiempo de ejecución de OpenCL.

Fuente: opennet.ru

Añadir un comentario