Gallium 3D
From Wikipedia, the free encyclopedia
Gallium 3D is a future replacement of Mesa 3D free software and open source OpenGL implementation.
The primary goal is to revise Mesa 3D provide a better division of labor (for example, leaving memory management to the kernel DRI driver) and to support modern hardware architectures.
Gallium 3D will provide a unified API exposing standard hardware functions such as shader units found on modern hardware. Thus, 3D APIs such as OpenGL 1.x/2.x, OpenGL 3.x, OpenVG, GPGPU infrastructure or even Direct3D (as found in the Wine compatibility layer) will need only a single back-end, called state tracker, targeting Gallium 3D API. By contrast Mesa 3D requires a different backend for each hardware platform, and several other APIs need translation to OpenGL at the expense of further overhead.[1][2][3] In addition, using the modular structure of Gallium 3D, there are works underway to leverage the LLVM compiler suite and create a module to optimize shader code on the fly.[4]
Under Gallium 3D, DRM (Direct Rendering Manager) kernel drivers will manage the memory, and DRI (Direct Rendering Interface) driver (now called DRI2) will be more GPU processing oriented. This will resolve memory management problems whose solutions are considered infeasible under Mesa 3D.[5]
[edit] Current status
The first implemented and already partially working drivers are Cell and Intel GPU drivers. Work is done on ATI Radeon cards providing a skeleton driver[6], and the Nouveau team is moving development to Gallium 3D, including a solution for older fixed function nVidia cards which lack programmable shaders.[7][8]
[edit] External links
- Mesa 3D official page
- Gallium 3D Tungstengraphics page
- Functional diagrams of Gallium3D
- Gallium 0.1 branch git repository on Freedesktop gitweb.
- An article on Gallium3D by Zack Rusin
- LWN article
[edit] References
- ^ TG-Gallium3D. Tungsten Graphics. Retrieved on 2008-04-01.
- ^ zrusin. GPGPU. Retrieved on 2008-04-01.
- ^ zrusin. OpenVG and accelerating 2D. Retrieved on 2008-04-01.
- ^ zrusin. Gallium3D LLVM. Retrieved on 2008-04-01.
- ^ DRI2. Retrieved on 2008-04-01.
- ^ Michael Larabel. Gallium3D Status Update Q1'08. Phoronix. Retrieved on 2008-04-01.
- ^ Nouveau Companion 36. Retrieved on 2008-04-01.
- ^ Nouveau Companion 37. Retrieved on 2008-04-01.