Compatibilidad con OpenCL y OpenGL en todos los dispositivos compatibles con Windows y DirectX 12

Icono de tiempo de lectura 1 minuto. leer


Los lectores ayudan a respaldar a MSpoweruser. Es posible que obtengamos una comisión si compra a través de nuestros enlaces. Icono de información sobre herramientas

Lea nuestra página de divulgación para descubrir cómo puede ayudar a MSPoweruser a sostener el equipo editorial. Leer más

No todos los dispositivos de Windows tienen una gran compatibilidad con OpenCL y OpenGL acelerados por hardware. Por lo tanto, a los desarrolladores de juegos a menudo les resulta difícil admitir juegos OpenGL en Windows. Para mejorar la compatibilidad de las aplicaciones, Collabora está desarrollando una solución genérica para este problema. En asociación con Microsoft, Collabora está creando capas de mapeo de OpenCL y OpenGL para brindar compatibilidad con OpenCL 1.2 y OpenGL 3.3 a todos los dispositivos habilitados para Windows y DirectX 12. Con estas nuevas capas de mapeo, un proveedor de GPU puede implementar un controlador D3D12 para su hardware y admitir las API de DirectX, OpenCL y OpenGL.

Así es como Collabora está haciendo esto:

El trabajo se divide en gran medida en tres partes: un compilador OpenCL, un tiempo de ejecución OpenCL y un controlador Gallium que crea y ejecuta búferes de comandos en la GPU utilizando la API D3D12.

Además, hay un compilador de shaders NIR-to-DXIL compartido que usan ambos componentes. Para aquellos que no estén familiarizados con NIR, es la representación interna de Mesa para sombreadores de GPU. Del mismo modo, DXIL es la representación interna de Microsoft, que los controladores D3D12 consumirán y traducirán en sombreadores específicos de hardware.

Puede obtener más información sobre este proyecto en el siguiente enlace.

Fuente: Colaborar

Más sobre los temas: directx 12, juegos, gráficos, OpenCL, OpenGL, ventanas, ventanas 10

Deje un comentario

Su dirección de correo electrónico no será publicada. Las areas obligatorias están marcadas como requeridas *