1 Distribution 2 ============ 3 4 Along with the interface definitions, the following drivers, state trackers, 5 and auxiliary modules are shipped in the standard Gallium distribution. 6 7 Drivers 8 ------- 9 10 Intel i915 11 ^^^^^^^^^^ 12 13 Driver for Intel i915 and i945 chipsets. 14 15 Identity 16 ^^^^^^^^ 17 18 Wrapper driver. The identity driver is a simple skeleton that passes through 19 all of its :ref:`Context` and :ref:`Screen` methods to an underlying Context 20 and Screen, and as such, it is an excellent starting point for new drivers. 21 22 LLVM Softpipe 23 ^^^^^^^^^^^^^ 24 25 A version of :ref:`softpipe` that uses the Low-Level Virtual Machine to 26 dynamically generate optimized rasterizing pipelines. 27 28 nVidia nvfx 29 ^^^^^^^^^^^ 30 31 Driver for the nVidia nv30 and nv40 families of GPUs. 32 33 nVidia nv50 34 ^^^^^^^^^^^ 35 36 Driver for the nVidia nv50 family of GPUs. 37 38 VMware SVGA 39 ^^^^^^^^^^^ 40 41 Driver for VMware virtualized guest operating system graphics processing. 42 43 ATI r300 44 ^^^^^^^^ 45 46 Driver for the ATI/AMD r300, r400, and r500 families of GPUs. 47 48 .. _softpipe: 49 50 Softpipe 51 ^^^^^^^^ 52 53 Reference software rasterizer. Slow but accurate. 54 55 Trace 56 ^^^^^ 57 58 Wrapper driver. Trace dumps an XML record of the calls made to the 59 :ref:`Context` and :ref:`Screen` objects that it wraps. 60 61 Rbug 62 ^^^^ 63 64 Wrapper driver. :ref:`rbug` driver used with stand alone rbug-gui. 65 66 .. _galahad: 67 68 Galahad 69 ^^^^^^^ 70 71 Wrapper driver. Sanity checker for the internal gallium state. Normally 72 a driver should n't have to sanity check the input it gets from a state 73 tracker. Any wrong state received should be perceived as a state tracker bug. 74 75 State Trackers 76 -------------- 77 78 .. _dri: 79 80 Direct Rendering Infrastructure 81 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 82 83 Tracker that implements the client-side DRI protocol, for providing direct 84 acceleration services to X11 servers with the DRI extension. Supports DRI1 85 and DRI2. Only GL is supported. 86 87 .. _egl: 88 89 EGL 90 ^^^ 91 92 Tracker for the Khronos EGL standard, used to set up GL and GLES contexts 93 without extra knowledge of the underlying windowing system. 94 95 GLX 96 ^^^ 97 98 MesaGL 99 ^^^^^^ 100 101 Tracker implementing a GL state machine. Not usable as a standalone tracker; 102 Mesa should be built with another state tracker, such as :ref:`DRI` or 103 :ref:`EGL`. 104 105 Python 106 ^^^^^^ 107 108 OpenVG 109 ^^^^^^ 110 111 WGL 112 ^^^ 113 114 Xorg/XFree86 DDX 115 ^^^^^^^^^^^^^^^^ 116 117 Tracker for XFree86 and Xorg X11 servers. Provides device-dependent 118 modesetting and acceleration as a DDX driver. 119 120 Auxiliary 121 --------- 122 123 OS 124 ^^ 125 126 The 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 133 This is the bare minimum required to port Gallium to a new platform. 134 135 The OS module already provides the implementations of these abstractions for 136 the most common platforms. When targeting an embedded platform no 137 implementation will be provided -- these must be provided separately. 138 139 CSO Cache 140 ^^^^^^^^^ 141 142 The CSO cache is used to accelerate preparation of state by saving 143 driver-specific state structures for later use. 144 145 .. _draw: 146 147 Draw 148 ^^^^ 149 150 Draw is a software :term:`TCL` pipeline for hardware that lacks vertex shaders 151 or other essential parts of pre-rasterization vertex preparation. 152 153 Gallivm 154 ^^^^^^^ 155 156 Indices 157 ^^^^^^^ 158 159 Indices provides tools for translating or generating element indices for 160 use with element-based rendering. 161 162 Pipe Buffer Managers 163 ^^^^^^^^^^^^^^^^^^^^ 164 165 Each of these managers provides various services to drivers that are not 166 fully utilizing a memory manager. 167 168 Remote Debugger 169 ^^^^^^^^^^^^^^^ 170 171 Runtime Assembly Emission 172 ^^^^^^^^^^^^^^^^^^^^^^^^^ 173 174 TGSI 175 ^^^^ 176 177 The TGSI auxiliary module provides basic utilities for manipulating TGSI 178 streams. 179 180 Translate 181 ^^^^^^^^^ 182 183 Util 184 ^^^^ 185 186