Draw Module

The Draw module provides point/line/polygon rendering services such as vertex transformation, polygon culling and clipping.

It will be used by drivers for hardware which lacks vertex transformation (such as the i915/i945). It may also be instantiated and used directly by the state tracker to implement some API functionality that doesn't map well to hardware capabilities.

The interface of this module corresponds closely to the subset of the Gallium Driver Interface which is relevent to these steps in the pipeline. Specifically there are calls for:

The Draw module is effectively the part of Softpipe Driver which is concerned with vertex processing, split off into a separate module so that it can be reused by drivers for rasterization-only hardware. As such it is also instantiated by the Simple i915 Driver driver.

Additionally, there are cases in the Mesa OpenGL state_tracker where it is required to obtain transformed vertices and yet it is anticipated that using hardware transformation even if available would reduce performance, usually because the setup costs or latency are prohibitive. For this reason the Mesa state_tracker also instantiates a copy of this module.

See also:
draw_context.h

Generated on Tue Sep 29 06:25:56 2009 for Gallium3D by  doxygen 1.5.4