Mesa 3D

Mesa 3D (Mesa 3D Graphics Library, usein lyhyesti Mesa) on avoimen lähdekoodin ohjelmakirjasto, joka toteuttaa useita grafiikkarajapintoja kuten OpenGL, OpenCL ja Vulkan.

Kirjastoa kehitetään ja käytetään pääasiassa Linuxilla, mutta tukee myös muita alustoja kuten Haiku ja Windows.

Historia 
Kehityksen aloitti Brian Paul joko vuonna 1992 tai 1993, jolloin hän kehitti Amigan ja X Window Systemin (Xlib) piirtorajapinnoilla toimivan ohjelmiston. Paul oli kehittänyt ohjelmistoa IRIS GL:llä ja innostui SGI:n julkaistua OpenGL:n. Marraskuussa 1994 hänellä oli lähes täydellinen toteutus OpenGL:lle ja sai SGI:ltä luvan julkaista työnsä. Paul julkaisi Mesa 1.0 -beetaversion comp.graphics-uutisryhmässä 3. helmikuuta 1995.

Tekniikat 
Direct Rendering Infrastructure (DRI) on rajapinta, jolla Mesa voi käyttää laitteistoa grafiikkakiihdytykseen.

Gallium3D on joukko kirjastoja, joilla voidaan tehdä laitekohtaista tukea varten ajureita.

libdrm on Direct Rendering Manager -rajapinnan käyttöön tarkoitettu kirjasto, jota käytetään Mesan DRI-ajureista, X-ikkunoinnin ajureista sekä libva-kirjastosta. Kirjasto käyttää ioctl-rajapintaa ja toteuttaa kapselointitoiminnot jotta ytimen rajapinnat eivät ole suoraan esillä.

NIR on välikieli toisesta kielestä tai välikielestä kuten GLSL IR tai TGSI ajurille sopivaksi. NIR:in tarkoitus on tehokkuus optimoinneissa, paremman koodin tuottaminen ja olla riippumaton laitteistosta. NIR mahdollistaa koodin jakamisen ja uudelleen käyttämisen eri valmistajien ja rajapintojen välillä. Myös käännös SPIR-V:stä NIR-kieleen on mahdollinen.

Rusticl on Rust-kielellä toteutettu OpenCL-tuki. Aiempi on Clover, jonka poistamista on ehdotettu.

Zink on Gallium-ajuri, joka tuottaa Vulkan-komentoja: Zinkin avulla voi toteuttaa OpenGL:n Vulkanin päällä toimivana kerroksena.

Kehittäjät 
Mesan kehittäjiin kuuluu sekä ammatikseen työskenteleviä että vapaaehtoisia henkilöitä. Kehityksen sponsoreihin kuuluvat muun muassa Valve Corporation, VMWare, Intel ja Red Hat.

Lähteet

Aiheesta muualla 
 Ajuriominaisuuksien luettelo visualisoituna 

Ohjelmakirjastot
Freedesktop.org