blob: 70d75b51e658bc071a3870cb53d097e1c698c119 [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
10Cell
11^^^^
12
Corbin Simpsone7d05f12010-06-16 16:52:52 -070013Simple driver for the IBM Cell architecture. Runs faster than :ref:`softpipe`
14on Cell-based machines.
15
Corbin Simpsonacb80732009-12-24 01:53:48 -080016Failover
17^^^^^^^^
18
Corbin Simpsone7d05f12010-06-16 16:52:52 -070019Broken and deprecated.
Corbin Simpsonacb80732009-12-24 01:53:48 -080020
21Intel i915
22^^^^^^^^^^
23
Corbin Simpsone7d05f12010-06-16 16:52:52 -070024Driver for Intel i915 and i945 chipsets.
25
Corbin Simpsonacb80732009-12-24 01:53:48 -080026Intel i965
27^^^^^^^^^^
28
Corbin Simpsone7d05f12010-06-16 16:52:52 -070029Highly experimental driver for Intel i965 chipsets.
Corbin Simpsonacb80732009-12-24 01:53:48 -080030
31Identity
32^^^^^^^^
33
Corbin Simpsone7d05f12010-06-16 16:52:52 -070034Wrapper driver. The identity driver is a simple skeleton that passes through
35all of its :ref:`Context` and :ref:`Screen` methods to an underlying Context
36and Screen, and as such, it is an excellent starting point for new drivers.
Corbin Simpsonacb80732009-12-24 01:53:48 -080037
38LLVM Softpipe
39^^^^^^^^^^^^^
40
Corbin Simpsone7d05f12010-06-16 16:52:52 -070041A version of :ref:`softpipe` that uses the Low-Level Virtual Machine to
42dynamically generate optimized rasterizing pipelines.
43
44nVidia nvfx
Corbin Simpsonacb80732009-12-24 01:53:48 -080045^^^^^^^^^^^
46
Corbin Simpsone7d05f12010-06-16 16:52:52 -070047Driver for the nVidia nv30 and nv40 families of GPUs.
Corbin Simpsonacb80732009-12-24 01:53:48 -080048
49nVidia nv50
50^^^^^^^^^^^
51
Corbin Simpsone7d05f12010-06-16 16:52:52 -070052Driver for the nVidia nv50 family of GPUs.
53
Corbin Simpson0a663bb2010-07-27 16:34:57 -070054VMware SVGA
Corbin Simpsonacb80732009-12-24 01:53:48 -080055^^^^^^^^^^^
56
Corbin Simpson0a663bb2010-07-27 16:34:57 -070057Driver for VMware virtualized guest operating system graphics processing.
Corbin Simpsone7d05f12010-06-16 16:52:52 -070058
Corbin Simpsonacb80732009-12-24 01:53:48 -080059ATI r300
60^^^^^^^^
61
Corbin Simpsone7d05f12010-06-16 16:52:52 -070062Driver for the ATI/AMD r300, r400, and r500 families of GPUs.
63
64.. _softpipe:
Corbin Simpsonacb80732009-12-24 01:53:48 -080065
66Softpipe
67^^^^^^^^
68
Corbin Simpsone7d05f12010-06-16 16:52:52 -070069Reference software rasterizer. Slow but accurate.
Corbin Simpsonacb80732009-12-24 01:53:48 -080070
71Trace
72^^^^^
73
Corbin Simpsone7d05f12010-06-16 16:52:52 -070074Wrapper driver. Trace dumps an XML record of the calls made to the
75:ref:`Context` and :ref:`Screen` objects that it wraps.
Corbin Simpsonacb80732009-12-24 01:53:48 -080076
Jakob Bornecrantzfe199352010-08-15 00:57:18 +010077Rbug
78^^^^
79
80Wrapper driver. :ref:`rbug` driver used with stand alone rbug-gui.
81
Corbin Simpsonacb80732009-12-24 01:53:48 -080082State Trackers
83--------------
84
Corbin Simpsone7d05f12010-06-16 16:52:52 -070085.. _dri:
86
Corbin Simpsonacb80732009-12-24 01:53:48 -080087Direct Rendering Infrastructure
88^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
89
Corbin Simpsone7d05f12010-06-16 16:52:52 -070090Tracker that implements the client-side DRI protocol, for providing direct
91acceleration services to X11 servers with the DRI extension. Supports DRI1
92and DRI2. Only GL is supported.
93
94.. _egl:
95
Corbin Simpsonacb80732009-12-24 01:53:48 -080096EGL
97^^^
98
Corbin Simpsone7d05f12010-06-16 16:52:52 -070099Tracker for the Khronos EGL standard, used to set up GL and GLES contexts
100without extra knowledge of the underlying windowing system.
101
Corbin Simpsonacb80732009-12-24 01:53:48 -0800102GLX
103^^^
104
105MesaGL
106^^^^^^
107
Corbin Simpsone7d05f12010-06-16 16:52:52 -0700108Tracker implementing a GL state machine. Not usable as a standalone tracker;
109Mesa should be built with another state tracker, such as :ref:`DRI` or
110:ref:`EGL`.
111
Corbin Simpsonacb80732009-12-24 01:53:48 -0800112Python
113^^^^^^
114
115OpenVG
116^^^^^^
117
118WGL
119^^^
120
Corbin Simpsone7d05f12010-06-16 16:52:52 -0700121Xorg/XFree86 DDX
Corbin Simpsonacb80732009-12-24 01:53:48 -0800122^^^^^^^^^^^^^^^^
123
Corbin Simpsone7d05f12010-06-16 16:52:52 -0700124Tracker for XFree86 and Xorg X11 servers. Provides device-dependent
125modesetting and acceleration as a DDX driver.
126
Corbin Simpsonacb80732009-12-24 01:53:48 -0800127Auxiliary
128---------
129
José Fonseca976afaf2010-02-03 15:56:36 +0000130OS
131^^
132
133The 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
140This is the bare minimum required to port Gallium to a new platform.
141
142The OS module already provides the implementations of these abstractions for
143the most common platforms. When targeting an embedded platform no
144implementation will be provided -- these must be provided separately.
145
Corbin Simpsonacb80732009-12-24 01:53:48 -0800146CSO Cache
147^^^^^^^^^
148
Corbin Simpson4f52dfe2010-01-18 15:24:51 -0800149The CSO cache is used to accelerate preparation of state by saving
150driver-specific state structures for later use.
151
Corbin Simpson2598f002010-01-18 17:12:13 -0800152.. _draw:
153
Corbin Simpsonacb80732009-12-24 01:53:48 -0800154Draw
155^^^^
156
Corbin Simpson2b4ad022010-01-18 16:40:39 -0800157Draw is a software :term:`TCL` pipeline for hardware that lacks vertex shaders
Corbin Simpson4f52dfe2010-01-18 15:24:51 -0800158or other essential parts of pre-rasterization vertex preparation.
159
Corbin Simpsonacb80732009-12-24 01:53:48 -0800160Gallivm
161^^^^^^^
162
163Indices
164^^^^^^^
165
Corbin Simpson4f52dfe2010-01-18 15:24:51 -0800166Indices provides tools for translating or generating element indices for
167use with element-based rendering.
Corbin Simpson6a2936b2010-01-13 20:46:53 -0800168
Corbin Simpson4f52dfe2010-01-18 15:24:51 -0800169Pipe Buffer Managers
170^^^^^^^^^^^^^^^^^^^^
171
172Each of these managers provides various services to drivers that are not
173fully utilizing a memory manager.
Corbin Simpsonacb80732009-12-24 01:53:48 -0800174
175Remote Debugger
176^^^^^^^^^^^^^^^
177
178Runtime Assembly Emission
179^^^^^^^^^^^^^^^^^^^^^^^^^
180
Corbin Simpsonacb80732009-12-24 01:53:48 -0800181TGSI
182^^^^
183
Corbin Simpson4f52dfe2010-01-18 15:24:51 -0800184The TGSI auxiliary module provides basic utilities for manipulating TGSI
185streams.
Corbin Simpson6a2936b2010-01-13 20:46:53 -0800186
Corbin Simpsonacb80732009-12-24 01:53:48 -0800187Translate
188^^^^^^^^^
189
190Util
191^^^^
192