blob: d8e9d4fc8b1b67910adeffd719d42810e6f92898 [file] [log] [blame]
Corbin Simpsonacb80732009-12-24 01:53:48 -08001Distribution
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
Corbin Simpsonacb80732009-12-24 01:53:48 -080010Intel i915
11^^^^^^^^^^
12
Corbin Simpsone7d05f12010-06-16 16:52:52 -070013Driver for Intel i915 and i945 chipsets.
14
Corbin Simpsonacb80732009-12-24 01:53:48 -080015Identity
16^^^^^^^^
17
Corbin Simpsone7d05f12010-06-16 16:52:52 -070018Wrapper 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.
Corbin Simpsonacb80732009-12-24 01:53:48 -080021
22LLVM Softpipe
23^^^^^^^^^^^^^
24
Corbin Simpsone7d05f12010-06-16 16:52:52 -070025A version of :ref:`softpipe` that uses the Low-Level Virtual Machine to
26dynamically generate optimized rasterizing pipelines.
27
Andreas Boll0ce21662012-10-14 13:30:21 +020028nVidia nv30
Corbin Simpsonacb80732009-12-24 01:53:48 -080029^^^^^^^^^^^
30
Corbin Simpsone7d05f12010-06-16 16:52:52 -070031Driver for the nVidia nv30 and nv40 families of GPUs.
Corbin Simpsonacb80732009-12-24 01:53:48 -080032
33nVidia nv50
34^^^^^^^^^^^
35
Corbin Simpsone7d05f12010-06-16 16:52:52 -070036Driver for the nVidia nv50 family of GPUs.
37
Andreas Boll0ce21662012-10-14 13:30:21 +020038nVidia nvc0
39^^^^^^^^^^^
40
41Driver for the nVidia nvc0 / fermi family of GPUs.
42
Corbin Simpson0a663bb2010-07-27 16:34:57 -070043VMware SVGA
Corbin Simpsonacb80732009-12-24 01:53:48 -080044^^^^^^^^^^^
45
Corbin Simpson0a663bb2010-07-27 16:34:57 -070046Driver for VMware virtualized guest operating system graphics processing.
Corbin Simpsone7d05f12010-06-16 16:52:52 -070047
Corbin Simpsonacb80732009-12-24 01:53:48 -080048ATI r300
49^^^^^^^^
50
Corbin Simpsone7d05f12010-06-16 16:52:52 -070051Driver for the ATI/AMD r300, r400, and r500 families of GPUs.
52
Andreas Boll0ce21662012-10-14 13:30:21 +020053ATI/AMD r600
54^^^^^^^^^^^^
55
56Driver for the ATI/AMD r600, r700, Evergreen and Northern Islands families of GPUs.
57
58AMD radeonsi
59^^^^^^^^^^^^
60
61Driver for the AMD Southern Islands family of GPUs.
62
Corbin Simpsone7d05f12010-06-16 16:52:52 -070063.. _softpipe:
Corbin Simpsonacb80732009-12-24 01:53:48 -080064
65Softpipe
66^^^^^^^^
67
Corbin Simpsone7d05f12010-06-16 16:52:52 -070068Reference software rasterizer. Slow but accurate.
Corbin Simpsonacb80732009-12-24 01:53:48 -080069
Ilia Mirkin05d02232014-03-31 18:08:07 -040070.. _trace:
71
Corbin Simpsonacb80732009-12-24 01:53:48 -080072Trace
73^^^^^
74
Corbin Simpsone7d05f12010-06-16 16:52:52 -070075Wrapper driver. Trace dumps an XML record of the calls made to the
76:ref:`Context` and :ref:`Screen` objects that it wraps.
Corbin Simpsonacb80732009-12-24 01:53:48 -080077
Jakob Bornecrantzfe199352010-08-15 00:57:18 +010078Rbug
79^^^^
80
81Wrapper driver. :ref:`rbug` driver used with stand alone rbug-gui.
82
Jakob Bornecrantzd377abd2010-08-20 02:28:36 +010083.. _galahad:
84
85Galahad
86^^^^^^^
87
88Wrapper driver. Sanity checker for the internal gallium state. Normally
89a driver should n't have to sanity check the input it gets from a state
90tracker. Any wrong state received should be perceived as a state tracker bug.
91
Corbin Simpsonacb80732009-12-24 01:53:48 -080092State Trackers
93--------------
94
Andreas Boll0ce21662012-10-14 13:30:21 +020095Clover
96^^^^^^
97
98Tracker that implements the Khronos OpenCL standard.
99
Corbin Simpsone7d05f12010-06-16 16:52:52 -0700100.. _dri:
101
Corbin Simpsonacb80732009-12-24 01:53:48 -0800102Direct Rendering Infrastructure
103^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
104
Corbin Simpsone7d05f12010-06-16 16:52:52 -0700105Tracker that implements the client-side DRI protocol, for providing direct
106acceleration services to X11 servers with the DRI extension. Supports DRI1
107and DRI2. Only GL is supported.
108
Corbin Simpsonacb80732009-12-24 01:53:48 -0800109GLX
110^^^
111
112MesaGL
113^^^^^^
114
Corbin Simpsone7d05f12010-06-16 16:52:52 -0700115Tracker implementing a GL state machine. Not usable as a standalone tracker;
116Mesa should be built with another state tracker, such as :ref:`DRI` or
117:ref:`EGL`.
118
Andreas Boll0ce21662012-10-14 13:30:21 +0200119VDPAU
120^^^^^
121
122Tracker for Video Decode and Presentation API for Unix.
123
Corbin Simpsonacb80732009-12-24 01:53:48 -0800124WGL
125^^^
126
Andreas Boll0ce21662012-10-14 13:30:21 +0200127Xorg DDX
128^^^^^^^^
Corbin Simpsonacb80732009-12-24 01:53:48 -0800129
Andreas Boll0ce21662012-10-14 13:30:21 +0200130Tracker for Xorg X11 servers. Provides device-dependent
Corbin Simpsone7d05f12010-06-16 16:52:52 -0700131modesetting and acceleration as a DDX driver.
132
Andreas Boll0ce21662012-10-14 13:30:21 +0200133XvMC
134^^^^
135
136Tracker for X-Video Motion Compensation.
137
Corbin Simpsonacb80732009-12-24 01:53:48 -0800138Auxiliary
139---------
140
José Fonseca976afaf2010-02-03 15:56:36 +0000141OS
142^^
143
144The OS module contains the abstractions for basic operating system services:
145
146* memory allocation
147* simple message logging
148* obtaining run-time configuration option
149* threading primitives
150
151This is the bare minimum required to port Gallium to a new platform.
152
153The OS module already provides the implementations of these abstractions for
154the most common platforms. When targeting an embedded platform no
155implementation will be provided -- these must be provided separately.
156
Corbin Simpsonacb80732009-12-24 01:53:48 -0800157CSO Cache
158^^^^^^^^^
159
Corbin Simpson4f52dfe2010-01-18 15:24:51 -0800160The CSO cache is used to accelerate preparation of state by saving
161driver-specific state structures for later use.
162
Corbin Simpson2598f002010-01-18 17:12:13 -0800163.. _draw:
164
Corbin Simpsonacb80732009-12-24 01:53:48 -0800165Draw
166^^^^
167
Corbin Simpson2b4ad022010-01-18 16:40:39 -0800168Draw is a software :term:`TCL` pipeline for hardware that lacks vertex shaders
Corbin Simpson4f52dfe2010-01-18 15:24:51 -0800169or other essential parts of pre-rasterization vertex preparation.
170
Corbin Simpsonacb80732009-12-24 01:53:48 -0800171Gallivm
172^^^^^^^
173
174Indices
175^^^^^^^
176
Corbin Simpson4f52dfe2010-01-18 15:24:51 -0800177Indices provides tools for translating or generating element indices for
178use with element-based rendering.
Corbin Simpson6a2936b2010-01-13 20:46:53 -0800179
Corbin Simpson4f52dfe2010-01-18 15:24:51 -0800180Pipe Buffer Managers
181^^^^^^^^^^^^^^^^^^^^
182
183Each of these managers provides various services to drivers that are not
184fully utilizing a memory manager.
Corbin Simpsonacb80732009-12-24 01:53:48 -0800185
186Remote Debugger
187^^^^^^^^^^^^^^^
188
189Runtime Assembly Emission
190^^^^^^^^^^^^^^^^^^^^^^^^^
191
Corbin Simpsonacb80732009-12-24 01:53:48 -0800192TGSI
193^^^^
194
Corbin Simpson4f52dfe2010-01-18 15:24:51 -0800195The TGSI auxiliary module provides basic utilities for manipulating TGSI
196streams.
Corbin Simpson6a2936b2010-01-13 20:46:53 -0800197
Corbin Simpsonacb80732009-12-24 01:53:48 -0800198Translate
199^^^^^^^^^
200
201Util
202^^^^
203