Tvůrce | Brian Paul |
---|---|
Vyvinul | Brian Paul, Tungsten Graphics, Inc. (získaný společností VMware ), Intel , Linaro a kol. |
První verze | Srpna 1993 |
Poslední verze | 21.0.3 (21. dubna 2021) |
Pokročilá verze |
18.0.0-rc5 (21. března 2018) 19.1.0-rc5 (5. června 2019) 1,0 (Února 1995) 21.0.0-rc3 (27. ledna 2021) |
Vklad | gitlab.freedesktop.org/mesa/mesa |
Zajištění kvality | Kontinuální integrace |
Napsáno | C , C ++ a assembler |
Operační systém | Linux , FreeBSD , NetBSD , OpenBSD a Haiku |
Typ |
Grafická knihovna Softwarová knihovna C knihovna ( d ) |
Licence | Licence MIT |
webová stránka | mesa3d.org |
3D Mesa je zdarma grafická knihovna , původně vyvinutý Brian Paul , odSrpna 1993„Což poskytuje obecnou implementaci OpenGL k dosažení trojrozměrné grafiky vykreslené v reálném čase a na více platformách . Ačkoli Mesa 3D není oficiální implementací OpenGL, struktury, syntaxe a sémantika jeho API jsou struktury OpenGL.
v Červenec 2007„Mesa 3D je jediná Plně otevřená implementace OpenGL . Primárně se používá v souvislosti s prováděním X.Org ‚s X Window System , který používá OpenGL pro renderování pro řidiče open source DRI X.Org/OpenGL. X.Org poskytuje základní funkce pro většinu grafických aplikací běžících na unixových platformách , jako je GNU / Linux .
V roce byla provedena důležitá aktualizace července 2009začleněním prací prováděných na Gallium3D , vyvinutých hlavně společností Tungsten Graphics (získanou společností VMware ) a původně plánovanou na nahrazení Mesa 3D. Tato nová verze zjednodušuje vývoj grafických ovladačů tím, že nabízí jedinečnou úroveň abstrakce vyžadovanou grafickými ovladači a která sama může používat různé akcelerační procesy založené na OpenGL, OpenGL ES , OpenCL nebo dokonce Direct3D (což by Wine mohlo mít odvolání). Obecně by to mělo umožnit lepší využití kapacit současných grafických procesorů a poskytnout univerzální metodu dekódování videa. A konečně, Gallium3D umožňuje použití grafického procesoru (GPU) pro výpočetní úlohy, dříve převedeného na centrální procesor (CPU) (pak hovoříme o obecném výpočtu na GPU nebo GPGPU ).
Na architektuře x86 používají bezplatné ovladače pro grafické procesory AMD ( ovladače R300 , R600 , Radeon a RadeonSI ) a Nvidia ( nový ovladač ) Gallium3D. Na Intel, na druhou stranu, tak procesory generace i915 se použít gallium, novějších procesorů (i965 architektura / ovladače), nadále používat Mesa zdarma řidičů. K dispozici je také montážní kód pro zrychlení výpočtů pomocí SIMD x86 a x86_64 (AMD64).
Na architektuře ARM byl od roku 2012 integrován montážní kód pro akceleraci SIMD ( NEON ).
Bezplatné ovladače využívající Gallium jsou k dispozici v hlavní řadě Mesa pro různé architektury:
Pokud jde o grafické procesory Mali od ARM, první verze ovladače Lima pro Mali-400, jehož vývojář raději zůstal mimo Mesa, stagnovala od roku 2012, poté byla v roce 2013 opuštěna. Nová verze byla vydána v rocečerven 2017, spravuje procesory řady Mali-400 a 450 architektury Utgard a do Mesa by měl být integrován v průběhu roku 2018. 2 další ovladače, Chai pro architekturu Midgard (Mail-Txxx) pro architekturu Bitfrost (Mail -Gxx) , začínají přibližně ve stejnou dobu a jsou sjednoceny od začátku roku 2018 pod názvem Panfrost . Společný ovladač podporuje OpenGL 3.1 (desktop) a OpenGL ES 3.0 již na začátku roku 2021.
Čistě softwarový urychlovač vykreslování LLVMpipe z projektu Gallium3D byl přizpůsoben architektuře x86 a architektuře ARM . Ve výchozím nastavení je propojen s Mesa 3D, od verze 10.2, vydané včerven 2014. Autoři pilotního projektu Panfrost plánují jeho použití k umožnění vykreslování funkcí, které nebyly implementovány během vývojové fáze.
Mesa 3D implementuje následující grafická programovací rozhraní :
a ovladače pro grafický hardware .
Následující ovladače pro převod různých 3D API na Vulkan, a tak těžit z jeho výkonu a nižší spotřeby energie u aplikací, které nejsou určeny pro toto API:
Zpočátku Mesa 3D prováděla veškerá 3D grafická vykreslování na úrovni centrálního procesoru (CPU) , ale architektura Mesa 3D se otevřela, aby implementovala hardwarově akcelerované vykreslování na úrovni grafického procesoru (GPU), aby odlehčila centrální procesor pro tento úkol. Jedním z prvních ovladačů podporujících hardwarovou akceleraci byl ovladač 3dfx pro Glide API pro velmi populární Voodoo I / II a další grafické karty . Veškeré vykreslování bylo prováděno nepřímo na serveru X , což nebylo optimální z hlediska rychlosti vykreslování.
Direct Rendering Infrastructure (DRI) nakonec podařilo staré architektury ve 3D Mesa tím, že poskytuje přímý vykreslování rozhraní pro aplikace OpenGL 3D.
Verze 7.4 umožňovala podporovanému hardwaru (nejprve Intel, později ATI a NVidia) využívat evoluce grafického systému Linux , kterými jsou Graphics Execution Manager (GEM) a DRI2 , poté byl do verze 7.5 integrován kód Gallium3D.
Verze 7.5 vydána dne 17. července 2009 implementuje OpenGL verze 2.1.
Verze 7.6, vydána dne 28. září 2009, zahrnuje podporu OpenVG a alfa implementaci llvmpipe ( Low-Level Virtual Machine ) vyvinutého José Fonsecou a Zackem Rusinem pro VMware , což umožňuje urychlit určité části kódu během čistě softwarové interpretace předběžnou kompilací kódu.
Verze 7.7, vydána dne 21. prosince 2009, dodává ovladač Gallium „ SVGA “ od společnosti VMware, který umožňuje hostujícím systémům těžit z 3D akcelerace v kontextu virtualizace .
Verze 8.0 vydána dne 9. února 2012 implementuje verzi 3.0 OpenGL.
Verze 9.0, vydána dne 8. října 2012, přináší podporu pro OpenGL 3.1. Pokud jde konkrétně o bezplatné ovladače založené na Gallium3D, tato verze přidává podporu OpenCL pro čipy Nvidia a AMD (ovladač R600g se však zdá být nejpokročilejším z bezplatných ovladačů v této oblasti) a VDPAU (prozatím omezeno na MPEG1 a MPEG2).
Verze 9.1, vydána dne 22. února 2013, přináší podporu pro OpenGL ES 3.0.
Verze 9.2, vydána dne 27. srpna 2013, integruje ovladač Gallium3D pro čipy Adreno , navržený společností Qualcomm pro vybavení ARM Snapdragon SoC .
Verze 10.0, vydána dne 30. listopadu 2013, integruje DRI3 a nabízí podporu pro OpenGL 3.2 a 3.3.
Verze 10.1, vydána dne 4. března 2014, zlepšuje podporu OpenGL 3.3 přidáním některých čipů nVidia a ATI.
Vydána verze 10.2 June 6 , 2014, je jako první ve výchozím nastavení propojen s llvmpipe . To výrazně zlepšuje vykreslení softwaru (bez akcelerace grafickým čipem).
Verze 10.3, vydána dne 19. září 2014, vylepšuje podporu OpenGL 4.x přidáním funkcí tohoto API.
Verze 10.4 byla vydána dne 14. prosince 2014.
Verze 11.0, vydána dne 12. září 2015 implementuje OpenGL 4.1.
Verze 12.0, vydána dne 8. července 2016implementuje OpenGL 4.3, přidává částečnou podporu pro Vulkan .
Verze 13.0 vydána dne 1 st November je 2016 implementuje OpenGL 4.4.
Verze 17.0 vydaná dne 13. února 2017 implementuje OpenGL 4.5.
Verze 17.1 vydaná dne 10. května 2017 implementuje geometrické shadery do softwarového rasterizéru OpenGL 4.2 na architekturách Intel i965.
Verze 17.2 vydána dne 4. září 2017 poskytuje některé další funkce v závislosti na architektuře.
Verze 17.3 vydaná dne 8. prosince 2017 přidává libtxc_dxtn, ve výchozím nastavení aktivuje komprese textury GL_EXT_texture_compression_s3tc a GL_ANGLE_texture_compression_dxt na architekturách, které ji podporují.
Verze 18.0 vydaná dne 27. března 2018 implementuje OpenGL 4.5.
Verze 19.0 vydána dne 13. března 2019 implementuje OpenGL 4.5.
Verze 19.1 vydána dne 11. června 2019 implementuje OpenGL 4.5.
Verze 19.2 vydána dne 25. září 2019, implementuje podporu Vulkan 1.1, vylepšuje ovladač Panfrost pro grafické procesory ARM Mali , rodiny Midgard a, který je spojen s vydáním jádra Linux 5.2, umožňuje použití X11 s tímto ovladačem.
Verze 20.3, vydána dne 3. prosince 2020, implementuje GL 4.5 pro llvmpipe, přidává ovladač Lavapipe, jeho ekvivalent pro Vulkan, Zink, který mapuje OpenGL na Vulkan, podporuje OpenGL 3.3. Nové ovladače V3DK (Vulkan pro Broadcom BCM2711). Nakonec jsou podporovány nové GPU, včetně GPU ARM Mali Bifrost přes Panfrost, GPU Intel Gen12 Alder Lake, stejně jako AMD Dimgrey Cavefish a VanGogh.