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