Gallium3D
Gallium3D je v informatice softwarová knihovna pro využití hardwarově akcelerované 3D grafiky v unixových systémech (zejména v Linuxu) jako podpora pro grafické uživatelské rozhraní (zejména X.Org). Knihovnu vyvinula firma Tungsten Graphics, která má s vývojem open source zkušenosti. Slouží jako rozhraní (API) mezi grafickou kartou a operačním systémem, přičemž jejím hlavním úkolem je zjednodušit vývoj ovladačů tak, že kód duplikovaný v mnoha ovladačích soustřeďuje na jediné místo. Svého cíle dosahuje lepším rozvržením jednotlivých funkcí (například správa paměti je řešena výhradně ovladačem DRM v jádře operačního systému).
Vývojář | VMware, X.Org Foundation a nouveau |
---|---|
Typ softwaru | svobodný software |
Licence | licence MIT |
Web | www |
Některá data mohou pocházet z datové položky. |
Popis funkce
Gallium3D poskytuje jednotné API pro všechny 3D funkce, takže OpenGL všech verzí, OpenVG, GPGPU, po určitou dobu také Direct3D (implementované ve vrstvě kompatibility projektu Wine) do jediné implementace nazývané state tracker. Současné řešení pomocí Mesa 3D vyžaduje oddělené implementace pro všechny podporované hardwarové platformy a několik API vrstev zajišťujících vzájemnou kompatibilitu (překlad z jednoho rozhraní do funkcí druhého).[1][2][3] Jako doplněk k modulární struktuře Gallium3D je připravována podpora LLVM kompilátoru a vytvoření modulu, který bude schopen optimalizovat kód shaderu za běhu.[4]
Stav vývoje
První implementace s částečně funkčními ovladači byly pro Cell SPU a Intel GPU. Pro ATI Radeon byla k dispozici kostra ovladače.[5] Od 13. července 2008 je veškerý vývoj Nouveau veden exkluzivně pro Gallium framework. Starý DRI ovladač byl z Master branche Mesy na Freedesktop.org odstraněn.[6] Nouveau team přesunul vývoj na Gallium3D včetně řešení pro starší fixní funkce pro nVidia karty, které nemají programovatelné shadery.[7][8] Ovladač ATI Radeon R600 získal XvMC akceleraci v roce 2010.[9]
Gallium3D je platformě nezávislý.[10] Od února 2009 je funkční nejen s jádrem Linuxu, ale i jádrem FreeBSD.[11]
V únoru 2009 byl gallium-0.2 branch vložen do Master branche pro Mesa.[12] Mesa3D byla s Gallium3D vydána ve verzi 7.5 dne 17. července 2009.[13]
Dne 1. května 2009 přidal Zack Rusin z Tungsten Graphics do Mesy 3D OpenVG state tracker,[14] což umožní používat hardwarovou akceleraci Scalable Vector Graphics kterýmkoliv Gallium3D-based ovladačem.
Reference
V tomto článku byl použit překlad textu z článku Gallium3D na anglické Wikipedii.
- TG-Gallium3D [online]. Tungsten Graphics [cit. 2008-04-01]. Dostupné v archivu pořízeném dne 2008-05-03.
- zrusin. GPGPU [online]. 2008-02-06 [cit. 2008-04-01]. Dostupné online.
- zrusin. OpenVG and accelerating 2D [online]. 2008-02-07 [cit. 2008-04-01]. Dostupné online.
- zrusin. Gallium3D LLVM [online]. 2007-11-02 [cit. 2008-04-01]. Dostupné online.
- Michael Larabel. Gallium3D Status Update Q1'08 [online]. Phoronix [cit. 2008-04-01]. S. 2. Dostupné online.
- nouveau: say goodbye to the old DRI driver... (cgit on FDO) [online]. Dostupné online.
- Nouveau Companion 36 [online]. [cit. 2008-04-01]. Dostupné v archivu pořízeném dne 2012-03-01.
- Nouveau Companion 37 [online]. [cit. 2008-04-01]. Dostupné v archivu pořízeném dne 2010-11-01.
- Holy Crap! You Can Use XvMC With ATI Gallium3D! [online]. Phoronix, 2010-04-13 [cit. 2010-10-26]. Dostupné online.
- José Fonseca. Gallium3D: Introduction [online]. 2008-04-27. Dostupné online.
- Michael Larabel. Gallium3D, EGL Now Buildable On FreeBSD [online]. Phoronix, 2009-02-25. Dostupné online.
- Gallium3D Now In Mainline Mesa Code-Base! [online]. Dostupné online.
- Mesa 7.5 Release Notes / 17 July 2009 [online]. [cit. 2010-08-21]. Dostupné v archivu pořízeném dne 2010-06-13.
- OpenVG state tracker is in Mesa 3D [online]. Dostupné online.
Externí odkazy
- Obrázky, zvuky či videa k tématu Gallium3D na Wikimedia Commons
- Mesa 3D official page
- Gallium3D Tungstengraphics page
- Functional diagrams of Gallium3D
- An article on Gallium3D by Zack Rusin
- LWN article
- Presentation about Gallium3D (video from Akademy 2008)
- BitBlit.org: Generic GPU-Accelerated Video Decoding (GSoC project using Gallium)
- Low Level Virtual Machine (Dynamic recompiler backend used by Gallium)
- Gallium3D – Graphics Done Right Zack Rusin. Presentation at AKademy 2008
- Popis struktury ovladače od českého vývojáře
- http://cgit.freedesktop.org/mesa/mesa/log/src/gallium/drivers/r600 – stav vývoje pro ATI Radeon HD 5000 „Evergreen“