blob: 000b03138f885f512a0ed0807e130ac4840b1f54 [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
Rob Clark0e8d58b2015-01-29 15:55:41 -050063freedreno
64^^^^^^^^^
65
66Driver for Qualcomm Adreno a2xx, a3xx, and a4xx series of GPUs.
67
Corbin Simpsone7d05f12010-06-16 16:52:52 -070068.. _softpipe:
Corbin Simpsonacb80732009-12-24 01:53:48 -080069
70Softpipe
71^^^^^^^^
72
Corbin Simpsone7d05f12010-06-16 16:52:52 -070073Reference software rasterizer. Slow but accurate.
Corbin Simpsonacb80732009-12-24 01:53:48 -080074
Ilia Mirkin05d02232014-03-31 18:08:07 -040075.. _trace:
76
Corbin Simpsonacb80732009-12-24 01:53:48 -080077Trace
78^^^^^
79
Corbin Simpsone7d05f12010-06-16 16:52:52 -070080Wrapper driver. Trace dumps an XML record of the calls made to the
81:ref:`Context` and :ref:`Screen` objects that it wraps.
Corbin Simpsonacb80732009-12-24 01:53:48 -080082
Jakob Bornecrantzfe199352010-08-15 00:57:18 +010083Rbug
84^^^^
85
86Wrapper driver. :ref:`rbug` driver used with stand alone rbug-gui.
87
Jakob Bornecrantzd377abd2010-08-20 02:28:36 +010088.. _galahad:
89
90Galahad
91^^^^^^^
92
93Wrapper driver. Sanity checker for the internal gallium state. Normally
94a driver should n't have to sanity check the input it gets from a state
95tracker. Any wrong state received should be perceived as a state tracker bug.
96
Corbin Simpsonacb80732009-12-24 01:53:48 -080097State Trackers
98--------------
99
Andreas Boll0ce21662012-10-14 13:30:21 +0200100Clover
101^^^^^^
102
103Tracker that implements the Khronos OpenCL standard.
104
Corbin Simpsone7d05f12010-06-16 16:52:52 -0700105.. _dri:
106
Corbin Simpsonacb80732009-12-24 01:53:48 -0800107Direct Rendering Infrastructure
108^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
109
Corbin Simpsone7d05f12010-06-16 16:52:52 -0700110Tracker that implements the client-side DRI protocol, for providing direct
111acceleration services to X11 servers with the DRI extension. Supports DRI1
112and DRI2. Only GL is supported.
113
Corbin Simpsonacb80732009-12-24 01:53:48 -0800114GLX
115^^^
116
117MesaGL
118^^^^^^
119
Corbin Simpsone7d05f12010-06-16 16:52:52 -0700120Tracker implementing a GL state machine. Not usable as a standalone tracker;
121Mesa should be built with another state tracker, such as :ref:`DRI` or
122:ref:`EGL`.
123
Andreas Boll0ce21662012-10-14 13:30:21 +0200124VDPAU
125^^^^^
126
127Tracker for Video Decode and Presentation API for Unix.
128
Corbin Simpsonacb80732009-12-24 01:53:48 -0800129WGL
130^^^
131
Andreas Boll0ce21662012-10-14 13:30:21 +0200132Xorg DDX
133^^^^^^^^
Corbin Simpsonacb80732009-12-24 01:53:48 -0800134
Andreas Boll0ce21662012-10-14 13:30:21 +0200135Tracker for Xorg X11 servers. Provides device-dependent
Corbin Simpsone7d05f12010-06-16 16:52:52 -0700136modesetting and acceleration as a DDX driver.
137
Andreas Boll0ce21662012-10-14 13:30:21 +0200138XvMC
139^^^^
140
141Tracker for X-Video Motion Compensation.
142
Corbin Simpsonacb80732009-12-24 01:53:48 -0800143Auxiliary
144---------
145
José Fonseca976afaf2010-02-03 15:56:36 +0000146OS
147^^
148
149The OS module contains the abstractions for basic operating system services:
150
151* memory allocation
152* simple message logging
153* obtaining run-time configuration option
154* threading primitives
155
156This is the bare minimum required to port Gallium to a new platform.
157
158The OS module already provides the implementations of these abstractions for
159the most common platforms. When targeting an embedded platform no
160implementation will be provided -- these must be provided separately.
161
Corbin Simpsonacb80732009-12-24 01:53:48 -0800162CSO Cache
163^^^^^^^^^
164
Corbin Simpson4f52dfe2010-01-18 15:24:51 -0800165The CSO cache is used to accelerate preparation of state by saving
166driver-specific state structures for later use.
167
Corbin Simpson2598f002010-01-18 17:12:13 -0800168.. _draw:
169
Corbin Simpsonacb80732009-12-24 01:53:48 -0800170Draw
171^^^^
172
Corbin Simpson2b4ad022010-01-18 16:40:39 -0800173Draw is a software :term:`TCL` pipeline for hardware that lacks vertex shaders
Corbin Simpson4f52dfe2010-01-18 15:24:51 -0800174or other essential parts of pre-rasterization vertex preparation.
175
Corbin Simpsonacb80732009-12-24 01:53:48 -0800176Gallivm
177^^^^^^^
178
179Indices
180^^^^^^^
181
Corbin Simpson4f52dfe2010-01-18 15:24:51 -0800182Indices provides tools for translating or generating element indices for
183use with element-based rendering.
Corbin Simpson6a2936b2010-01-13 20:46:53 -0800184
Corbin Simpson4f52dfe2010-01-18 15:24:51 -0800185Pipe Buffer Managers
186^^^^^^^^^^^^^^^^^^^^
187
188Each of these managers provides various services to drivers that are not
189fully utilizing a memory manager.
Corbin Simpsonacb80732009-12-24 01:53:48 -0800190
191Remote Debugger
192^^^^^^^^^^^^^^^
193
194Runtime Assembly Emission
195^^^^^^^^^^^^^^^^^^^^^^^^^
196
Corbin Simpsonacb80732009-12-24 01:53:48 -0800197TGSI
198^^^^
199
Corbin Simpson4f52dfe2010-01-18 15:24:51 -0800200The TGSI auxiliary module provides basic utilities for manipulating TGSI
201streams.
Corbin Simpson6a2936b2010-01-13 20:46:53 -0800202
Corbin Simpsonacb80732009-12-24 01:53:48 -0800203Translate
204^^^^^^^^^
205
206Util
207^^^^
208