blob: fca4f5ac85f6be424a445969ec3d5e7cf1562323 [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
28nVidia nvfx
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
Corbin Simpson0a663bb2010-07-27 16:34:57 -070038VMware SVGA
Corbin Simpsonacb80732009-12-24 01:53:48 -080039^^^^^^^^^^^
40
Corbin Simpson0a663bb2010-07-27 16:34:57 -070041Driver for VMware virtualized guest operating system graphics processing.
Corbin Simpsone7d05f12010-06-16 16:52:52 -070042
Corbin Simpsonacb80732009-12-24 01:53:48 -080043ATI r300
44^^^^^^^^
45
Corbin Simpsone7d05f12010-06-16 16:52:52 -070046Driver for the ATI/AMD r300, r400, and r500 families of GPUs.
47
48.. _softpipe:
Corbin Simpsonacb80732009-12-24 01:53:48 -080049
50Softpipe
51^^^^^^^^
52
Corbin Simpsone7d05f12010-06-16 16:52:52 -070053Reference software rasterizer. Slow but accurate.
Corbin Simpsonacb80732009-12-24 01:53:48 -080054
55Trace
56^^^^^
57
Corbin Simpsone7d05f12010-06-16 16:52:52 -070058Wrapper driver. Trace dumps an XML record of the calls made to the
59:ref:`Context` and :ref:`Screen` objects that it wraps.
Corbin Simpsonacb80732009-12-24 01:53:48 -080060
Jakob Bornecrantzfe199352010-08-15 00:57:18 +010061Rbug
62^^^^
63
64Wrapper driver. :ref:`rbug` driver used with stand alone rbug-gui.
65
Jakob Bornecrantzd377abd2010-08-20 02:28:36 +010066.. _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
Corbin Simpsonacb80732009-12-24 01:53:48 -080075State Trackers
76--------------
77
Corbin Simpsone7d05f12010-06-16 16:52:52 -070078.. _dri:
79
Corbin Simpsonacb80732009-12-24 01:53:48 -080080Direct Rendering Infrastructure
81^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
82
Corbin Simpsone7d05f12010-06-16 16:52:52 -070083Tracker 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
Corbin Simpsonacb80732009-12-24 01:53:48 -080089EGL
90^^^
91
Corbin Simpsone7d05f12010-06-16 16:52:52 -070092Tracker for the Khronos EGL standard, used to set up GL and GLES contexts
93without extra knowledge of the underlying windowing system.
94
Corbin Simpsonacb80732009-12-24 01:53:48 -080095GLX
96^^^
97
98MesaGL
99^^^^^^
100
Corbin Simpsone7d05f12010-06-16 16:52:52 -0700101Tracker 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
Corbin Simpsonacb80732009-12-24 01:53:48 -0800105Python
106^^^^^^
107
108OpenVG
109^^^^^^
110
111WGL
112^^^
113
Corbin Simpsone7d05f12010-06-16 16:52:52 -0700114Xorg/XFree86 DDX
Corbin Simpsonacb80732009-12-24 01:53:48 -0800115^^^^^^^^^^^^^^^^
116
Corbin Simpsone7d05f12010-06-16 16:52:52 -0700117Tracker for XFree86 and Xorg X11 servers. Provides device-dependent
118modesetting and acceleration as a DDX driver.
119
Corbin Simpsonacb80732009-12-24 01:53:48 -0800120Auxiliary
121---------
122
José Fonseca976afaf2010-02-03 15:56:36 +0000123OS
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
Corbin Simpsonacb80732009-12-24 01:53:48 -0800139CSO Cache
140^^^^^^^^^
141
Corbin Simpson4f52dfe2010-01-18 15:24:51 -0800142The CSO cache is used to accelerate preparation of state by saving
143driver-specific state structures for later use.
144
Corbin Simpson2598f002010-01-18 17:12:13 -0800145.. _draw:
146
Corbin Simpsonacb80732009-12-24 01:53:48 -0800147Draw
148^^^^
149
Corbin Simpson2b4ad022010-01-18 16:40:39 -0800150Draw is a software :term:`TCL` pipeline for hardware that lacks vertex shaders
Corbin Simpson4f52dfe2010-01-18 15:24:51 -0800151or other essential parts of pre-rasterization vertex preparation.
152
Corbin Simpsonacb80732009-12-24 01:53:48 -0800153Gallivm
154^^^^^^^
155
156Indices
157^^^^^^^
158
Corbin Simpson4f52dfe2010-01-18 15:24:51 -0800159Indices provides tools for translating or generating element indices for
160use with element-based rendering.
Corbin Simpson6a2936b2010-01-13 20:46:53 -0800161
Corbin Simpson4f52dfe2010-01-18 15:24:51 -0800162Pipe Buffer Managers
163^^^^^^^^^^^^^^^^^^^^
164
165Each of these managers provides various services to drivers that are not
166fully utilizing a memory manager.
Corbin Simpsonacb80732009-12-24 01:53:48 -0800167
168Remote Debugger
169^^^^^^^^^^^^^^^
170
171Runtime Assembly Emission
172^^^^^^^^^^^^^^^^^^^^^^^^^
173
Corbin Simpsonacb80732009-12-24 01:53:48 -0800174TGSI
175^^^^
176
Corbin Simpson4f52dfe2010-01-18 15:24:51 -0800177The TGSI auxiliary module provides basic utilities for manipulating TGSI
178streams.
Corbin Simpson6a2936b2010-01-13 20:46:53 -0800179
Corbin Simpsonacb80732009-12-24 01:53:48 -0800180Translate
181^^^^^^^^^
182
183Util
184^^^^
185