Along with the interface definitions, the following drivers, state trackers, and auxiliary modules are shipped in the standard Gallium distribution.
Driver for Intel i915 and i945 chipsets.
Wrapper driver. The identity driver is a simple skeleton that passes through all of its Context and Screen methods to an underlying Context and Screen, and as such, it is an excellent starting point for new drivers.
A version of Softpipe that uses the Low-Level Virtual Machine to dynamically generate optimized rasterizing pipelines.
Driver for the nVidia nv30 and nv40 families of GPUs.
Driver for the nVidia nv50 family of GPUs.
Driver for the nVidia nvc0 / fermi family of GPUs.
Driver for VMware virtualized guest operating system graphics processing.
Driver for the ATI/AMD r300, r400, and r500 families of GPUs.
Driver for the ATI/AMD r600, r700, Evergreen and Northern Islands families of GPUs.
Driver for the AMD Southern Islands family of GPUs.
Reference software rasterizer. Slow but accurate.
Wrapper driver. Sanity checker for the internal gallium state. Normally a driver should n’t have to sanity check the input it gets from a state tracker. Any wrong state received should be perceived as a state tracker bug.
Tracker that implements the Khronos OpenCL standard.
Direct Rendering Infrastructure¶
Tracker that implements the client-side DRI protocol, for providing direct acceleration services to X11 servers with the DRI extension. Supports DRI1 and DRI2. Only GL is supported.
Tracker for the Khronos EGL standard, used to set up GL and GLES contexts without extra knowledge of the underlying windowing system.
Tracker that implements the Khronos OpenVG standard.
Tracker for Video Decode and Presentation API for Unix.
Tracker for Xorg X11 servers. Provides device-dependent modesetting and acceleration as a DDX driver.
Tracker for X-Video Motion Compensation.
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.
The CSO cache is used to accelerate preparation of state by saving driver-specific state structures for later use.
Draw is a software TCL pipeline for hardware that lacks vertex shaders or other essential parts of pre-rasterization vertex preparation.
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.
Runtime Assembly Emission¶
The TGSI auxiliary module provides basic utilities for manipulating TGSI streams.