1Distribution 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 10Intel i915 11^^^^^^^^^^ 12 13Driver for Intel i915 and i945 chipsets. 14 15Identity 16^^^^^^^^ 17 18Wrapper 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. 21 22LLVM Softpipe 23^^^^^^^^^^^^^ 24 25A version of :ref:`softpipe` that uses the Low-Level Virtual Machine to 26dynamically generate optimized rasterizing pipelines. 27 28nVidia nvfx 29^^^^^^^^^^^ 30 31Driver for the nVidia nv30 and nv40 families of GPUs. 32 33nVidia nv50 34^^^^^^^^^^^ 35 36Driver for the nVidia nv50 family of GPUs. 37 38VMware SVGA 39^^^^^^^^^^^ 40 41Driver for VMware virtualized guest operating system graphics processing. 42 43ATI r300 44^^^^^^^^ 45 46Driver for the ATI/AMD r300, r400, and r500 families of GPUs. 47 48.. _softpipe: 49 50Softpipe 51^^^^^^^^ 52 53Reference software rasterizer. Slow but accurate. 54 55Trace 56^^^^^ 57 58Wrapper driver. Trace dumps an XML record of the calls made to the 59:ref:`Context` and :ref:`Screen` objects that it wraps. 60 61Rbug 62^^^^ 63 64Wrapper driver. :ref:`rbug` driver used with stand alone rbug-gui. 65 66.. _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 75State Trackers 76-------------- 77 78.. _dri: 79 80Direct Rendering Infrastructure 81^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 82 83Tracker 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 89EGL 90^^^ 91 92Tracker for the Khronos EGL standard, used to set up GL and GLES contexts 93without extra knowledge of the underlying windowing system. 94 95GLX 96^^^ 97 98MesaGL 99^^^^^^ 100 101Tracker 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 105Python 106^^^^^^ 107 108OpenVG 109^^^^^^ 110 111WGL 112^^^ 113 114Xorg/XFree86 DDX 115^^^^^^^^^^^^^^^^ 116 117Tracker for XFree86 and Xorg X11 servers. Provides device-dependent 118modesetting and acceleration as a DDX driver. 119 120Auxiliary 121--------- 122 123OS 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 139CSO Cache 140^^^^^^^^^ 141 142The CSO cache is used to accelerate preparation of state by saving 143driver-specific state structures for later use. 144 145.. _draw: 146 147Draw 148^^^^ 149 150Draw is a software :term:`TCL` pipeline for hardware that lacks vertex shaders 151or other essential parts of pre-rasterization vertex preparation. 152 153Gallivm 154^^^^^^^ 155 156Indices 157^^^^^^^ 158 159Indices provides tools for translating or generating element indices for 160use with element-based rendering. 161 162Pipe Buffer Managers 163^^^^^^^^^^^^^^^^^^^^ 164 165Each of these managers provides various services to drivers that are not 166fully utilizing a memory manager. 167 168Remote Debugger 169^^^^^^^^^^^^^^^ 170 171Runtime Assembly Emission 172^^^^^^^^^^^^^^^^^^^^^^^^^ 173 174TGSI 175^^^^ 176 177The TGSI auxiliary module provides basic utilities for manipulating TGSI 178streams. 179 180Translate 181^^^^^^^^^ 182 183Util 184^^^^ 185 186