Gallium3D: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
SmackBot (talk | contribs)
m Date the maintenance tags or general fixes
de interwiki removed
(6 intermediate revisions by one other user not shown)
Line 1: Line 1:
{{Notability|date=August 2008}}
{{Notability|date=August 2008}}
{{portal|Free software|Free Software Portal Logo.svg}}
{{portal|Free software|Free Software Portal Logo.svg}}
'''Gallium3D''' is a [[software library]] for [[3D computer graphics|3D graphics]] [[Hardware acceleration|acceleration]], published as [[free software]].{{fact}} Gallium 3D operates between the graphics [[API]] and the [[operating system]] with the primary goal of making [[device driver|driver]] development easier, bundling otherwise duplicated code of several different drivers at a single point. This is done by providing a better division of labour (for example, leaving memory management to the kernel [[Direct Rendering Infrastructure|DRI]] driver) and to support modern hardware architectures.
'''Gallium3D''' a free software and open source software which operates between the graphics API and the operating system.


Gallium3D provides a unified [[Application programming interface|API]] exposing standard hardware functions such as shader units found on modern hardware. Thus, 3D APIs such as [[OpenGL|OpenGL 1.x/2.x]], [[OpenGL#OpenGL_3.0|OpenGL 3.x]], [[OpenVG]], [[GPGPU]] infrastructure or even [[Direct3D]] (as found in the [[Wine (software)|Wine]] compatibility layer) will need only a single back-end, called state tracker, targeting Gallium3D 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.<ref>{{Cite web
The primary goal of Gallium3D is to make driver development much easier and to bundle otherwise duplicated code of several different drivers at a single point. This is done by providing a better division of labour (for example, leaving memory management to the kernel [[Direct Rendering Infrastructure|DRI]] driver) and to support modern hardware architectures.

Gallium3D will provide a unified [[Application programming interface|API]] exposing standard hardware functions such as shader units found on modern hardware. Thus, 3D APIs such as [[OpenGL|OpenGL 1.x/2.x]], [[OpenGL#OpenGL_3.0|OpenGL 3.x]], [[OpenVG]], [[GPGPU]] infrastructure or even [[Direct3D]] (as found in the [[Wine (software)|Wine]] compatibility layer) will need only a single back-end, called state tracker, targeting Gallium3D 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.<ref>{{Cite web
|url = http://www.tungstengraphics.com/gallium3D.htm
|url = http://www.tungstengraphics.com/gallium3D.htm
|title = TG-Gallium3D
|title = TG-Gallium3D
Line 86: Line 84:
{{graphics-software-stub}}
{{graphics-software-stub}}


[[de:Gallium 3D]]
[[fr:Gallium3D]]
[[fr:Gallium3D]]
[[lv:Gallium3D]]
[[lv:Gallium3D]]

Revision as of 14:30, 12 August 2008

Gallium3D is a software library for 3D graphics acceleration, published as free software.[citation needed] Gallium 3D operates between the graphics API and the operating system with the primary goal of making driver development easier, bundling otherwise duplicated code of several different drivers at a single point. This is done by providing a better division of labour (for example, leaving memory management to the kernel DRI driver) and to support modern hardware architectures.

Gallium3D provides 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 Gallium3D 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 Gallium3D, there are works underway to leverage the LLVM compiler suite and create a module to optimize shader code on the fly.[4]

Under Gallium3D, 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]

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 Gallium3D, including a solution for older fixed function nVidia cards which lack programmable shaders.[7][8]

External links

References

  1. ^ "TG-Gallium3D". Tungsten Graphics. Retrieved 2008-04-01.
  2. ^ zrusin. "GPGPU". Retrieved 2008-04-01. {{cite web}}: Unknown parameter |datepublished= ignored (help)
  3. ^ zrusin. "OpenVG and accelerating 2D". Retrieved 2008-04-01. {{cite web}}: Unknown parameter |datepublished= ignored (help)
  4. ^ zrusin. "Gallium3D LLVM". Retrieved 2008-04-01. {{cite web}}: Unknown parameter |datepublished= ignored (help)
  5. ^ "DRI2". Retrieved 2008-04-01. {{cite web}}: Unknown parameter |datepublished= ignored (help)
  6. ^ Michael Larabel. "Gallium3D Status Update Q1'08". Phoronix. p. 2. Retrieved 2008-04-01. {{cite web}}: Unknown parameter |datepublished= ignored (help)
  7. ^ "Nouveau Companion 36". Retrieved 2008-04-01. {{cite web}}: Unknown parameter |datepublished= ignored (help)
  8. ^ "Nouveau Companion 37". Retrieved 2008-04-01. {{cite web}}: Unknown parameter |datepublished= ignored (help)