Prise en charge d’OpenGL 4.6 et d’OpenGL® ES 3.2
- Le M1 n’a longtemps pris en charge que OpenGL 4.1, mais prend désormais entièrement en charge OpenGL® 4.6 et OpenGL® ES 3.2.
- Il suffit d’installer Fedora pour les pilotes récents des séries M1/M2.
- Si c’est déjà installé, une simple mise à niveau via la commande
dnf upgrade --refresh suffit.
- Contrairement aux pilotes 4.1 non standard des fournisseurs existants, ces pilotes Linux open source sont certifiés pour les versions récentes d’OpenGL, ce qui promet une large compatibilité avec des charges de travail OpenGL modernes comme Blender, Ryujinx et Citra.
Certification des pilotes et prise en charge des standards
- Les pilotes certifiés 4.6/3.2 doivent réussir plus de 100 000 tests pour garantir leur exactitude.
- La liste des pilotes officiellement certifiés inclut désormais OpenGL 4.6 et ES 3.2.
- Les fournisseurs ne prennent toujours pas en charge des standards graphiques modernes comme OpenGL moderne, mais cette société, si.
- Cette société affiche publiquement son attachement aux standards ouverts interopérables et veut offrir aux utilisateurs comme aux développeurs la liberté d’exécuter leurs applications où ils le souhaitent, sans portage spécifique.
Nouvelles fonctionnalités d’OpenGL 4.6
- OpenGL 4.6 ajoute des dizaines de fonctionnalités obligatoires par rapport à 4.1 :
- Robustness
- SPIR-V
- Clip control
- Cull distance
- Compute shaders
- Transform feedback amélioré
Problèmes de compatibilité du M1 avec les standards graphiques
- Le M1 s’adapte mal aux standards graphiques plus récents que OpenGL ES 3.1.
- Vulkan rend certaines fonctionnalités optionnelles, mais les couches destinées à DirectX et OpenGL n’ont pas certaines fonctions nécessaires.
- Sur M1, il n’existe pas de solution antérieure dépassant l’ensemble de fonctionnalités d’OpenGL 4.1.
Comment surmonter la barrière de 4.1
- De nouvelles méthodes sont nécessaires pour implémenter les nouvelles fonctionnalités sans prise en charge matérielle.
- Les geometry shaders, la tessellation et le transform feedback sont remplacés par des compute shaders.
- Le cull distance est remplacé par des valeurs interpolées transformées.
- Le clip control est remplacé par un épilogue de vertex shader.
Défis liés à la robustness
- Traditionnellement, les GPU privilégient les performances brutes à la sécurité.
- Pour des applications comme les navigateurs web, ce compromis n’est pas souhaitable.
- Les fonctionnalités de robustness permettent de réduire la surface d’attaque au prix d’un léger sacrifice de performances, en permettant à l’application de choisir un comportement défini lorsque le shader accède à un buffer hors limites.
Robustness des buffers
- D’autres API définissent différemment ce que retournent les lectures hors limites d’un buffer lorsque la robustness est activée.
- OpenGL impose qu’une lecture hors limites retourne le dernier élément du buffer.
- Les opérations supplémentaires nécessaires à la robustness sont déplacées dans le préambule du shader, ce qui n’entraîne aucun coût pour le shader principal.
Robustness des images
- La robustness des images exige que les lectures d’image hors limites retournent 0.
- Sur le GPU du M1, un test unique échoue sur les lectures d’images mipées.
- Les contournements pour la robustness consistent à ne pas charger depuis un niveau invalide, ou à effectuer un chargement spéculatif puis à utiliser des opérations de comparaison et de sélection.
Avis de GN⁺
- Cet article traite d’une avancée importante dans la prise en charge des standards OpenGL récents sur les appareils M1. Cela apportera une compatibilité plus large et de meilleures performances aux utilisateurs et développeurs Linux.
- Les nouvelles fonctionnalités d’OpenGL 4.6 peuvent améliorer de manière significative les performances et la robustness des applications graphiques, ce qui est particulièrement important dans le développement de jeux et le calcul haute performance.
- Cet article montre bien comment des pilotes open source peuvent offrir une meilleure conformité aux standards et une meilleure compatibilité que certaines solutions commerciales.
1 commentaires
Commentaires sur Hacker News