Collabora a déjà commencé à travailler sur l'adoption du contrôleur Gallium D3D12

Les développeurs de Collabora publié récemment via une annonce l'adoption du contrôleur ouvert Gallium D3D12, qui implémente une couche pour organiser le travail OpenGL sur l'API DirectX 12 (D3D12), dans la composition principale de Mesa.

En même temps, pilote annoncé passé avec succès les tests de compatibilité OpenGL 3.3 lorsque vous travaillez sur les pilotes WARP (logiciel rasterizer) et NVIDIA D3D12.

Nous sommes ravis de partager que nous avons récemment passé les tests de conformité OpenGL 3.3 et mis à jour le code dans Mesa 3D!

Le controlle peut être utile d'utiliser Mesa sur des appareils avec des contrôleurs D3D12 uniquement et comme point de départ pour le portage des applications OpenGL pour qu'elles s'exécutent sur l'API D3D12. En particulier, le pilote peut être utilisé pour organiser le fonctionnement des applications graphiques dans des environnements contrôlés par le sous-système WSL (Windows Subsystem for Linux), qui assure le lancement des fichiers exécutables Linux sous Windows.

L'une des principales applications qui se démarque est le support Photoshop, qui, comme mentionné dans l'annonce, n'est peut-être pas une grosse surprise, mais l'une des motivations de ce travail était de pouvoir exécuter des applications comme Photoshop sur des appareils Windows sans compatibilité. total avec OpenGL.

Je suis heureux d'annoncer que Microsoft a publié son pack de compatibilité qui utilise notre travail pour fournir un support OpenGL (et OpenCL), Photoshop peut désormais fonctionner sous Windows sur des processeurs ARM! C'est tellement excitant de voir des applications prestigieuses comme celle-là bénéficier de notre travail!

Le développement est effectué en collaboration avec les ingénieurs de Microsoft pour développer des outils comme D3D11On12 pour transférer des jeux vers la bibliothèque D3D11 et D3D12 D3D12TranslationLayer, il implémente des primitives graphiques standard au-dessus de D3D12.

Sur la base du projet considéré, Microsoft a déjà préparé une couche intermédiaire ce qui rend possible exécuter des applications basées sur OpenGL sur des appareils Windows qui ne fournissent pas une prise en charge complète d'OpenGL. En particulier, il était possible de garantir le fonctionnement de Photoshop sur les appareils Windows avec des processeurs ARM.

Je tiens à souligner qu'après avoir approuvé OpenGL CTS ce n'est pas nécessairement la même chose que d'être formellement conforme. Il y a quelques détails sur la façon de se conformer formellement aux implémentations en couches qui sont compliquées, et je laisserai la question de la conformité formelle à Microsoft et Khronos.

L'implémentation inclut un pilote pour Mesa et un compilateur de shader NIR vers DXIL (runtime D3D12), qui convertit le shader NIR intermédiaire de Mesa en format binaire DirectX Intermediate Language (DXIL) basé sur le bitcode LLVM 12 (DirectX de Microsoft). (Microsoft DirectX Le compilateur Shader est un fork de LLVM 3.7).

Les problèmes d'exécution de D3D12 doivent également être résolus avant de soumettre les résultats. Nous travaillons avec Microsoft pour résoudre ces problèmes le cas échéant. Ces correctifs peuvent prendre un certain temps pour atteindre une version de Windows et les utilisateurs finaux, mais finiront par apparaître.

Mais pour le contrôleur fournisseur D3D12 et inférieur, les choses se compliquent ...

Tout d'abord, il n'est pas toujours possible pour nous de faire la différence entre les problèmes de pilote de fournisseur et les problèmes de matériel. Et ce qui est pire, comme ceux-ci sont développés par des sociétés tierces, nous avons peu d'informations à ce sujet. 

Le contrôleur Mesa utilise l'interface Gallium, accepte les commandes OpenGL et, en utilisant le traducteur NIR à DXIL, génère des commandes D3D12 qui s'exécutent sur le GPU à l'aide du pilote système D3D12. Séparément, des composants sont en cours de développement pour s'assurer qu'OpenCL fonctionne au-dessus de D3D12, y compris le compilateur OpenCL et le runtime OpenCL.

Enfin si vous souhaitez en savoir plus, vous pouvez vérifier les détails dans le lien suivant.


Soyez le premier à commenter

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données : AB Internet Networks 2008 SL
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.