Mesa 3D
| Mesa 3D | |
|---|---|
| Luoja | Brian Paul |
| Kehityshistoria | |
| Vakaa versio | 25.2.7 ()[1] |
| Kehitystilanne | aktiivinen |
| Tiedot | |
| Ohjelmistotyyppi | grafiikkakirjasto |
| Lisenssi | MIT-lisenssi |
| Aiheesta muualla | |
| Verkkosivusto | |
| Versiohallinta | |
Mesa 3D (Mesa 3D Graphics Library, usein lyhyesti Mesa) on avoimen lähdekoodin ohjelmakirjasto, joka toteuttaa useita grafiikkarajapintoja kuten OpenGL, OpenCL ja Vulkan.[2]
Kirjastoa kehitetään ja käytetään pääasiassa Linuxilla, mutta tukee myös muita alustoja kuten Haiku ja Windows.[3]
Historia
[muokkaa | muokkaa wikitekstiä]Kehityksen aloitti Brian Paul joko vuonna 1992 tai 1993, jolloin hän kehitti Amigan ja X Window Systemin (Xlib) piirtorajapinnoilla toimivan ohjelmiston.[4] Paul oli kehittänyt ohjelmistoa IRIS GL:llä ja innostui SGI:n julkaistua OpenGL:n.[4] Marraskuussa 1994 hänellä oli lähes täydellinen toteutus OpenGL:lle ja sai SGI:ltä luvan julkaista työnsä.[4] Paul julkaisi Mesa 1.0 -beetaversion comp.graphics-uutisryhmässä 3. helmikuuta 1995.[4]
Vuonna 2025 AMD ilmoitti keskittyvänsä tukemaan suositumpaa Mesan RADV-ajuria oman AMDVLK-ajurinsa sijaan. Tämän myötä kehitysresurssit keskittyvät yhteen projektiin Radeonia varten. RADV on oletuksena asennettuna Linux-jakeluissa.[5][6]
Tekniikat
[muokkaa | muokkaa wikitekstiä]Direct Rendering Infrastructure (DRI) on rajapinta, jolla Mesa voi käyttää laitteistoa grafiikkakiihdytykseen.[7]
Gallium3D on joukko kirjastoja, joilla voidaan tehdä laitekohtaista tukea varten ajureita.[8][9] Gallium LLVMpipe -ajuri on tarkoitettu ohjelmistopohjaiseen renderöintiin.[10]
libdrm on Direct Rendering Manager -rajapinnan käyttöön tarkoitettu kirjasto, jota käytetään Mesan DRI-ajureista, X-ikkunoinnin ajureista sekä libva-kirjastosta.[11] Kirjasto käyttää ioctl-rajapintaa ja toteuttaa kapselointitoiminnot jotta ytimen rajapinnat eivät ole suoraan esillä.[12]
NIR on välikieli toisesta kielestä tai välikielestä kuten GLSL IR tai TGSI ajurille sopivaksi.[13] NIR:in tarkoitus on tehokkuus optimoinneissa, paremman koodin tuottaminen ja olla riippumaton laitteistosta.[14][13] NIR mahdollistaa koodin jakamisen ja uudelleen käyttämisen eri valmistajien ja rajapintojen välillä.[15] Myös käännös SPIR-V:stä NIR-kieleen on mahdollinen.[16]
Rusticl on Rust-kielellä toteutettu OpenCL-tuki.[17] Aiempi on Clover, joka on poistettu Mesa versiossa 25.2.[18][19]
Zink on Gallium-ajuri, joka tuottaa Vulkan-komentoja: Zinkin avulla voi toteuttaa OpenGL:n Vulkanin päällä toimivana kerroksena.[20]
Kehittäjät
[muokkaa | muokkaa wikitekstiä]Mesan kehittäjiin kuuluu sekä ammatikseen työskenteleviä että vapaaehtoisia henkilöitä.[21] Kehityksen sponsoreihin kuuluvat muun muassa Valve Corporation, VMWare, Intel ja Red Hat.[22][23][21]
Lähteet
[muokkaa | muokkaa wikitekstiä]- ↑ [ANNOUNCE] mesa 25.2.7, (viitattu ). Tieto on haettu Wikidatasta.
- ↑ Introduction mesa3d.org. Arkistoitu 8.10.2019. Viitattu 27.10.2019. (englanniksi)
- ↑ Platforms and Drivers mesa3d.org. Viitattu 27.10.2019. (englanniksi)
- ↑ a b c d Jake Edge: The history of Mesa 2.10.2013. Lwn.net. Viitattu 27.10.2019. (englanniksi)
- ↑ Liam Dawe: AMDVLK has been discontinued as AMD are throwing their "full support" behind RADV gamingonlinux.com. 15.9.2025. Viitattu 16.9.2025. (englanniksi)
- ↑ AMDVLK open-source project is discontinued github.com. Viitattu 16.9.2025. (englanniksi)
- ↑ Mesa 3D and Direct Rendering Infrastructure wiki dri.freedesktop.org. Viitattu 27.10.2019. (englanniksi)
- ↑ José Fonseca's Tech blog jrfonseca.blogspot.com. Viitattu 27.10.2019. (englanniksi)
- ↑ Gallium3D Technical Overview freedesktop.org. Viitattu 27.10.2019. (englanniksi)
- ↑ LLVMpipe docs.mesa3d.org. Viitattu 28.12.2024. (englanniksi)
- ↑ Introduction to libdrm linuxfromscratch.org. Viitattu 11.10.2020. (englanniksi)
- ↑ https://gitlab.freedesktop.org/mesa/drm
- ↑ a b What is NIR? people.freedesktop.org. Viitattu 10.10.2020. (englanniksi)
- ↑ Jason Ekstrand: NIR: A new compiler IR for Mesa jlekstrand.net. Viitattu 8.4.2022. (englanniksi)
- ↑ Jason Ekstrand: In defense of NIR jlekstrand.net. Viitattu 8.4.2022. (englanniksi)
- ↑ XDC 2018 Clover this time with SPIR-V and NIR (PDF) xdc2018.x.org. 2018. Viitattu 10.10.2020. (englanniksi)
- ↑ Michael Larabel: Mesa's Rusticl Achieves Official OpenCL 3.0 Conformance phoronix.com. 14.11.2022. Viitattu 3.2.2023. (englanniksi)
- ↑ Michael Larabel: Mesa Developers Eye Removing Clover Once Rusticl OpenCL Code Hits Parity phoronix.com. 8.11.2022. Viitattu 3.2.2023. (englanniksi)
- ↑ Marius Nestor: Mesa 25.2 Open-Source Graphics Stack Officially Released, This Is What’s New 9to5linux.com. 6.8.2025. Viitattu 18.8.2025. (englanniksi)
- ↑ Zink: OpenGL on Vulkan (PDF) khronos.org. heinäkuu 2019. Viitattu 23.6.2020. (englanniksi)
- ↑ a b Developers docs.mesa3d.org. Viitattu 10.1.2021. (englanniksi)
- ↑ Jason Evangelho: Valve's Latest Linux Gaming Work Is Boosting AMD Vulkan Framerates By Up To 44 Percent forbes.com. 11.7.2019. Viitattu 3.10.2020. (englanniksi)
- ↑ Liam Dawe: Valve funds open source developer to work on Zink, the OpenGL on Vulkan driver gamingonlinux.com. 24.11.2020. Viitattu 10.1.2021. (englanniksi)
Aiheesta muualla
[muokkaa | muokkaa wikitekstiä]- Ajuriominaisuuksien luettelo visualisoituna (englanniksi)