summaryrefslogtreecommitdiff
path: root/src/gallium/docs/source/distro.rst
blob: 100afe33972a467caf4bc250b8ec4881489c272e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
Distribution
============

Along with the interface definitions, the following drivers, state trackers,
and auxiliary modules are shipped in the standard Gallium distribution.

Drivers
-------

Cell
^^^^

Failover
^^^^^^^^

Deprecated.

Intel i915
^^^^^^^^^^

Intel i965
^^^^^^^^^^

Highly experimental.

Identity
^^^^^^^^

Wrapper driver.

LLVM Softpipe
^^^^^^^^^^^^^

nVidia nv30
^^^^^^^^^^^

nVidia nv40
^^^^^^^^^^^

nVidia nv50
^^^^^^^^^^^

VMWare SVGA
^^^^^^^^^^^

ATI r300
^^^^^^^^

Testing-quality.

Softpipe
^^^^^^^^

Reference software rasterizer.

Trace
^^^^^

Wrapper driver.

State Trackers
--------------

Direct Rendering Infrastructure
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

EGL
^^^

GLX
^^^

MesaGL
^^^^^^

Python
^^^^^^

OpenVG
^^^^^^

WGL
^^^

Xorg XFree86 DDX
^^^^^^^^^^^^^^^^

Auxiliary
---------

OS
^^

The OS module contains the abstractions for basic operating system services:

* memory allocation
* simple message logging
* obtaining run-time configuration option
* threading primitives

This is the bare minimum required to port Gallium to a new platform.

The OS module already provides the implementations of these abstractions for
the most common platforms.  When targeting an embedded platform no
implementation will be provided -- these must be provided separately.

CSO Cache
^^^^^^^^^

The CSO cache is used to accelerate preparation of state by saving
driver-specific state structures for later use.

.. _draw:

Draw
^^^^

Draw is a software :term:`TCL` pipeline for hardware that lacks vertex shaders
or other essential parts of pre-rasterization vertex preparation.

Gallivm
^^^^^^^

Indices
^^^^^^^

Indices provides tools for translating or generating element indices for
use with element-based rendering.

Pipe Buffer Managers
^^^^^^^^^^^^^^^^^^^^

Each of these managers provides various services to drivers that are not
fully utilizing a memory manager.

Remote Debugger
^^^^^^^^^^^^^^^

Runtime Assembly Emission
^^^^^^^^^^^^^^^^^^^^^^^^^

TGSI
^^^^

The TGSI auxiliary module provides basic utilities for manipulating TGSI
streams.

Translate
^^^^^^^^^

Util
^^^^