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).

Gallium3D
VývojářVMware, X.Org Foundation a nouveau
Typ softwarusvobodný software
Licencelicence MIT
Webwww.freedesktop.org/wiki/Software/gallium/
Některá data mohou pocházet z datové položky.

Popis funkce editovat

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 editovat

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 editovat

V tomto článku byl použit překlad textu z článku Gallium3D na anglické Wikipedii.

  1. TG-Gallium3D [online]. Tungsten Graphics [cit. 2008-04-01]. Dostupné v archivu pořízeném dne 2008-05-03. 
  2. zrusin. GPGPU [online]. 2008-02-06 [cit. 2008-04-01]. Dostupné online. 
  3. zrusin. OpenVG and accelerating 2D [online]. 2008-02-07 [cit. 2008-04-01]. Dostupné online. 
  4. zrusin. Gallium3D LLVM [online]. 2007-11-02 [cit. 2008-04-01]. Dostupné online. 
  5. Michael Larabel. Gallium3D Status Update Q1'08 [online]. Phoronix [cit. 2008-04-01]. S. 2. Dostupné online. 
  6. nouveau: say goodbye to the old DRI driver... (cgit on FDO) [online]. Dostupné online. 
  7. Nouveau Companion 36 [online]. [cit. 2008-04-01]. Dostupné v archivu pořízeném dne 2012-03-01. 
  8. Nouveau Companion 37 [online]. [cit. 2008-04-01]. Dostupné v archivu pořízeném dne 2010-11-01. 
  9. Holy Crap! You Can Use XvMC With ATI Gallium3D! [online]. Phoronix, 2010-04-13 [cit. 2010-10-26]. Dostupné online. 
  10. José Fonseca. Gallium3D: Introduction [online]. 2008-04-27. Dostupné online. 
  11. Michael Larabel. Gallium3D, EGL Now Buildable On FreeBSD [online]. Phoronix, 2009-02-25. Dostupné online. 
  12. Gallium3D Now In Mainline Mesa Code-Base! [online]. Dostupné online. 
  13. Mesa 7.5 Release Notes / 17 July 2009 [online]. [cit. 2010-08-21]. Dostupné v archivu pořízeném dne 2010-06-13. 
  14. OpenVG state tracker is in Mesa 3D [online]. Dostupné online. 

Externí odkazy editovat