1Distribution
2============
3
4Along with the interface definitions, the following drivers, state trackers,
5and auxiliary modules are shipped in the standard Gallium distribution.
6
7Drivers
8-------
9
10Intel i915
11^^^^^^^^^^
12
13Driver for Intel i915 and i945 chipsets.
14
15Identity
16^^^^^^^^
17
18Wrapper driver. The identity driver is a simple skeleton that passes through
19all of its :ref:`Context` and :ref:`Screen` methods to an underlying Context
20and Screen, and as such, it is an excellent starting point for new drivers.
21
22LLVM Softpipe
23^^^^^^^^^^^^^
24
25A version of :ref:`softpipe` that uses the Low-Level Virtual Machine to
26dynamically generate optimized rasterizing pipelines.
27
28nVidia nvfx
29^^^^^^^^^^^
30
31Driver for the nVidia nv30 and nv40 families of GPUs.
32
33nVidia nv50
34^^^^^^^^^^^
35
36Driver for the nVidia nv50 family of GPUs.
37
38VMware SVGA
39^^^^^^^^^^^
40
41Driver for VMware virtualized guest operating system graphics processing.
42
43ATI r300
44^^^^^^^^
45
46Driver for the ATI/AMD r300, r400, and r500 families of GPUs.
47
48.. _softpipe:
49
50Softpipe
51^^^^^^^^
52
53Reference software rasterizer. Slow but accurate.
54
55Trace
56^^^^^
57
58Wrapper driver. Trace dumps an XML record of the calls made to the
59:ref:`Context` and :ref:`Screen` objects that it wraps.
60
61Rbug
62^^^^
63
64Wrapper driver. :ref:`rbug` driver used with stand alone rbug-gui.
65
66.. _galahad:
67
68Galahad
69^^^^^^^
70
71Wrapper driver. Sanity checker for the internal gallium state. Normally
72a driver should n't have to sanity check the input it gets from a state
73tracker. Any wrong state received should be perceived as a state tracker bug.
74
75State Trackers
76--------------
77
78.. _dri:
79
80Direct Rendering Infrastructure
81^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
82
83Tracker that implements the client-side DRI protocol, for providing direct
84acceleration services to X11 servers with the DRI extension. Supports DRI1
85and DRI2. Only GL is supported.
86
87.. _egl:
88
89EGL
90^^^
91
92Tracker for the Khronos EGL standard, used to set up GL and GLES contexts
93without extra knowledge of the underlying windowing system.
94
95GLX
96^^^
97
98MesaGL
99^^^^^^
100
101Tracker implementing a GL state machine. Not usable as a standalone tracker;
102Mesa should be built with another state tracker, such as :ref:`DRI` or
103:ref:`EGL`.
104
105Python
106^^^^^^
107
108OpenVG
109^^^^^^
110
111WGL
112^^^
113
114Xorg/XFree86 DDX
115^^^^^^^^^^^^^^^^
116
117Tracker for XFree86 and Xorg X11 servers. Provides device-dependent
118modesetting and acceleration as a DDX driver.
119
120Auxiliary
121---------
122
123OS
124^^
125
126The OS module contains the abstractions for basic operating system services:
127
128* memory allocation
129* simple message logging
130* obtaining run-time configuration option
131* threading primitives
132
133This is the bare minimum required to port Gallium to a new platform.
134
135The OS module already provides the implementations of these abstractions for
136the most common platforms.  When targeting an embedded platform no
137implementation will be provided -- these must be provided separately.
138
139CSO Cache
140^^^^^^^^^
141
142The CSO cache is used to accelerate preparation of state by saving
143driver-specific state structures for later use.
144
145.. _draw:
146
147Draw
148^^^^
149
150Draw is a software :term:`TCL` pipeline for hardware that lacks vertex shaders
151or other essential parts of pre-rasterization vertex preparation.
152
153Gallivm
154^^^^^^^
155
156Indices
157^^^^^^^
158
159Indices provides tools for translating or generating element indices for
160use with element-based rendering.
161
162Pipe Buffer Managers
163^^^^^^^^^^^^^^^^^^^^
164
165Each of these managers provides various services to drivers that are not
166fully utilizing a memory manager.
167
168Remote Debugger
169^^^^^^^^^^^^^^^
170
171Runtime Assembly Emission
172^^^^^^^^^^^^^^^^^^^^^^^^^
173
174TGSI
175^^^^
176
177The TGSI auxiliary module provides basic utilities for manipulating TGSI
178streams.
179
180Translate
181^^^^^^^^^
182
183Util
184^^^^
185
186