2012-09-12 8 views
10

Che cosa significa esattamente dire che Mesa è un'implementazione di OpenGL? I driver della mia scheda Nvidia non implementano tutte le funzioni OpenGL, ecc.? Quindi, dato che i driver della mia scheda Nvidia stanno prendendo chiamate Opengl e li passiamo all'hardware, cosa fa esattamente Mesa? Qualcuno può chiarire la distinzione tra Mesa e driver?In che modo Mesa è diversa dai driver OpenGL?

risposta

14

Qualcuno può chiarire la distinzione tra Mesa e autisti?

Mesa fornisce l'interfaccia OpenGL lato client per i driver GPU open source basati sull'architettura DRI2/DRM. O in altre parole: fa anche parte di un autista.

Se i driver proprietari di NVidia o AMD sono installati, non è necessario Mesa. Se si desidera utilizzare i driver open source (nouveau, radeon, radeonhd, intel) è necessario Mesa.

1

credo LinuxQuestions.org membro del forum geeman2.0 fornito una buona spiegazione per questa materia:

OpenGL e Mesa non sono in realtà due scelte distinte, ma piuttosto Mesa è un tipo specifico di OpenGL.

OpenGL è semplicemente un'interfaccia che definisce un set standard di funzioni necessarie per il disegno di grafica 3D. Non coinvolge il codice effettivo che fa accadere queste funzioni, ma specifica solo quali sono le funzioni chiamate e cosa dovrebbero fare.

Un'implementazione di openGL fornisce il codice effettivo che esegue i metodi specificati dallo standard OpenGL. Senza un'implementazione installata, non puoi eseguire alcun programma opengl.

Mesa è solo una delle molte implementazioni OpenGL ed è la più standard inclusa nelle distribuzioni Linux. Fa tutto il lavoro nel software, ed è per questo che è lento.

Quando si installano i driver Nvidia o ATI per una scheda grafica di fantasia, questi driver forniscono una nuova implementazione OpenGL che viene eseguita sulla scheda grafica. Questa implementazione prenderebbe il posto dell'implementazione di Mesa, ma è ancora un'implementazione openGL. Cioè, tutti i driver Mesa/ATI/NVidia implementano lo stesso insieme di funzioni, lo fanno semplicemente in modi diversi e sono tutti openGL.

Source

Problemi correlati