Mesa 3D
Mesa 3D | |
---|---|
Luoja | Brian Paul |
Kehityshistoria | |
Vakaa versio | 24.2.6 ()[1] |
Kehitysversio | 24.2.0-rc4 ()[2] |
Kehitystilanne | aktiivinen |
Tiedot | |
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.[3]
Kirjastoa kehitetään ja käytetään pääasiassa Linuxilla, mutta tukee myös muita alustoja kuten Haiku ja Windows.[4]
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.[5] Paul oli kehittänyt ohjelmistoa IRIS GL:llä ja innostui SGI:n julkaistua OpenGL:n.[5] Marraskuussa 1994 hänellä oli lähes täydellinen toteutus OpenGL:lle ja sai SGI:ltä luvan julkaista työnsä.[5] Paul julkaisi Mesa 1.0 -beetaversion comp.graphics
-uutisryhmässä 3. helmikuuta 1995.[5]
Tekniikat
[muokkaa | muokkaa wikitekstiä]Direct Rendering Infrastructure (DRI) on rajapinta, jolla Mesa voi käyttää laitteistoa grafiikkakiihdytykseen.[6]
Gallium3D on joukko kirjastoja, joilla voidaan tehdä laitekohtaista tukea varten ajureita.[7][8]
libdrm on Direct Rendering Manager -rajapinnan käyttöön tarkoitettu kirjasto, jota käytetään Mesan DRI-ajureista, X-ikkunoinnin ajureista sekä libva-kirjastosta.[9] Kirjasto käyttää ioctl
-rajapintaa ja toteuttaa kapselointitoiminnot jotta ytimen rajapinnat eivät ole suoraan esillä.[10]
NIR on välikieli toisesta kielestä tai välikielestä kuten GLSL IR tai TGSI ajurille sopivaksi.[11] NIR:in tarkoitus on tehokkuus optimoinneissa, paremman koodin tuottaminen ja olla riippumaton laitteistosta.[12][11] NIR mahdollistaa koodin jakamisen ja uudelleen käyttämisen eri valmistajien ja rajapintojen välillä.[13] Myös käännös SPIR-V:stä NIR-kieleen on mahdollinen.[14]
Rusticl on Rust-kielellä toteutettu OpenCL-tuki.[15] Aiempi on Clover, jonka poistamista on ehdotettu.[16]
Zink on Gallium-ajuri, joka tuottaa Vulkan-komentoja: Zinkin avulla voi toteuttaa OpenGL:n Vulkanin päällä toimivana kerroksena.[17]
Kehittäjät
[muokkaa | muokkaa wikitekstiä]Mesan kehittäjiin kuuluu sekä ammatikseen työskenteleviä että vapaaehtoisia henkilöitä.[18] Kehityksen sponsoreihin kuuluvat muun muassa Valve Corporation, VMWare, Intel ja Red Hat.[19][20][18]
Lähteet
[muokkaa | muokkaa wikitekstiä]- ↑ [ANNOUNCE] mesa 24.2.6, (viitattu ). Tieto on haettu Wikidatasta.
- ↑ [ANNOUNCE] mesa 24.2.0-rc4, (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)
- ↑ 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)
- ↑ 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)
- ↑ 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)