Mesa 3D | |
![]() | |
Développeur | Tungsten Graphics, Inc. (rachetée par VMware) |
---|---|
Dernière version | 7.7.1 [+/-] |
Version avancée | 7.8.1 [+/-] |
Environnements | Multiplate-forme |
Type | Bibliothèque graphique |
Licence | X11 |
Site Web | www.mesa3d.org |
modifier |
Mesa 3D est une bibliothèque graphique libre, initialement développée par Brian Paul en août 1993, qui fournit une implémentation générique d'OpenGL pour réaliser des rendus graphiques tridimensionnels en temps réel, et ce sur de multiples plates-formes. Bien que Mesa 3D ne soit pas une implémentation officielle d'OpenGL, structure, syntaxe et sémantique de son API sont celles d'OpenGL.
En juillet 2007, Mesa 3D est la seule implémentation d'OpenGL largement connue, complètement open source, et régulièrement mise à jour pour suivre les évolutions de la spécification OpenGL. Elle est largement utilisée, surtout par l'implémentation X.Org du système de fenêtrage X, qui l'utilise comme le cœur OpenGL pour les pilotes open-source DRI X.Org/OpenGL. X.Org fournit les fonctionnalités essentielles pour la plupart des applications graphiques qui fonctionnent sous les plates-formes de type Unix, comme GNU/Linux.
Une mise à jour importante a vu le jour en juillet 2009 consistant à incorporer le travail réalisé sur Gallium3D, développé principalement par la société Tungsten Graphics (rachetée par VMware) initialement pour remplacer Mesa 3D. Cette nouvelle version simplifie le développement des pilotes graphiques en proposant un niveau d'abstraction unique sollicité par les pilotes graphiques et qui peut lui-même recourir à différents procédés d'accélération basés sur OpenGL 1.x/2.x mais aussi 3.x, OpenGL ES, OpenVG voire Direct3D (auquel Wine pourrait avoir recours). D'une manière générale, elle doit permettre une meilleure exploitation des capacités des processeurs graphiques actuels et peut fournir un procédé de décodage vidéo universel. Enfin, Gallium3D rend possible l'utilisation du processeur graphique (GPU) pour des tâches habituellement dévolues au processeur central (CPU) (on parle alors de General-Purpose computation on GPUs ou GPGPU).
Initialement, Mesa 3D réalisait tout le rendu des graphismes 3D au niveau du processeur central (CPU), mais l'architecture de Mesa 3D s'est ouverte pour implémenter le rendu en accélération matérielle au niveau du processeur graphique (GPU) afin de décharger le processeur central de cette tâche. Un des premiers pilotes à supporter l'accélération matérielle a été le pilote 3dfx pour l'API Glide pour les cartes graphiques très populaires Voodoo I/II et autres. Tout le rendu était fait de manière indirecte dans le serveur X, ce qui n'était pas optimal en termes de vitesse de rendu.
Le Direct Rendering Infrastructure (DRI) a finalement succédé à l'ancienne architecture au sein de Mesa 3D en fournissant une interface de rendu 3D direct pour les applications OpenGL.
La version 7.4 a permis aux matériels supportés (Intel pour le moment, ATI et NVidia ultérieurement) de tirer profit des évolutions du système graphique de Linux que sont le Graphics Execution Manager (GEM) et DRI2 puis le code de Gallium3D a été intégré dans la version 7.5.
La version 7.6, sortie le 28 septembre 2009, inclut le support OpenVG et une implémentation alpha de llvmpipe (Low-Level Virtual Machine), initié par VMware, permettant d'accélérer certaines parties du codes lors d'interprétation purement logicielle en précompilant le code.
La version 7.7, sortie le 21 décembre 2009, ajoute le pilote Gallium "SVGA" de VMware, permettant de faire bénéficier de l'accélération 3D aux systèmes invités dans le cadre de la virtualisation.