Collabora ya comenzó a trabajar en la adopción del controlador Gallium D3D12

Los desarrolladores de Collabora dieron a conocer recientemente mediante un anuncio la adopción del controlador abierto Gallium D3D12, que implementa una capa para organizar el trabajo OpenGL sobre la API DirectX 12 (D3D12), en la composición principal de Mesa.

Al mismo tiempo, se anunció que el controlador pasó con éxito las pruebas de compatibilidad con OpenGL 3.3 cuando trabajaba sobre los controladores WARP (rasterizador de software) y NVIDIA D3D12.

¡Estamos emocionados de compartir que recientemente pasamos las pruebas de conformidad de OpenGL 3.3 y que hemos actualizado el código en Mesa 3D !

El controlador puede ser útil para usar Mesa en dispositivos con controladores solo D3D12 y como punto de partida para portar 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 controlados por el subsistema WSL (Subsistema de Windows para Linux), que asegura el lanzamiento de archivos ejecutables de Linux en Windows.

Una de las principales aplicaciones que se destaca, es el soporte de Photoshop que tal y como mencionan en el anuncio que puede que no sea una gran sorpresa, pero una de las motivaciones de este trabajo fue poder ejecutar aplicaciones como Photoshop en dispositivos Windows sin compatibilidad total con OpenGL.

Me complace informar que Microsoft ha lanzado su paquete de compatibilidad que utiliza nuestro trabajo para proporcionar compatibilidad con OpenGL (y OpenCL), ¡ Photoshop ahora puede ejecutarse en Windows en CPU ARM ! ¡Es muy emocionante ver que aplicaciones de alto perfil como esa se benefician de nuestro trabajo!

El desarrollo se lleva a cabo en conjunto con los ingenieros de Microsoft para desarrollar herramientas como D3D11On12 para transferir juegos a la biblioteca D3D11 y D3D12 D3D12TranslationLayer , implementa primitivas gráficas estándar en la parte superior D3D12.

Basado en el proyecto en consideración, Microsoft ya ha preparado una capa intermedia que hace posible ejecutar aplicaciones basadas en OpenGL en dispositivos Windows que no brindan soporte completo para OpenGL. En particular, fue posible garantizar el trabajo de Photoshop en dispositivos Windows con procesadores ARM.

Me gustaría señalar que haber aprobado OpenGL CTS no es necesariamente lo mismo que ser formalmente conforme. Hay algunos detalles sobre cómo cumplir formalmente con implementaciones en capas que son complicadas, y dejaré la pregunta sobre la conformidad formal a Microsoft y Khronos.

La implementación incluye un controlador para Mesa y un compilador de sombreado NIR a DXIL (tiempo de ejecución D3D12), que convierte el sombreador NIR intermedio de Mesa en el formato binario DirectX Intermediate Language (DXIL) compatible con DirectX 12 y basado en LLVM 3.7 bitcode ( DirectX Shader El compilador de Microsoft es una bifurcación de LLVM 3.7).

Los problemas en el tiempo de ejecución de D3D12 también deben solucionarse antes de enviar los resultados. Trabajamos junto con Microsoft para solucionar estos problemas según corresponda. Estas correcciones pueden tardar un tiempo en llegar hasta una compilación de Windows y para los usuarios finales, pero eventualmente aparecerán.

Pero para el proveedor-controlador D3D12 y versiones inferiores, las cosas se complican…

En primer lugar, no siempre nos es posible diferenciar los problemas del controlador del proveedor y los problemas de hardware. Y lo que es peor, como estos son desarrollados por empresas de terceros, tenemos poca información al respecto. 

El controlador Mesa usa la interfaz Gallium, acepta comandos OpenGL y, usando el traductor NIR a DXIL, genera comandos D3D12 que se ejecutan en la GPU usando el controlador del sistema D3D12. Por separado, se están desarrollando componentes para garantizar el funcionamiento de OpenCL sobre D3D12, incluido el compilador OpenCL y el runtime de OpenCL.

Finalmente si estás interesado en conocer más al respecto, puedes consultar los detalles en el siguiente enlace.


El contenido del artículo se adhiere a nuestros principios de ética editorial. Para notificar un error pincha aquí.

Sé el primero en comentar

Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.