Product specifications
VT8601A Apollo PLE133
Revision 1.82 October 22, 2001 -115 3D Graphics Engine Registers
Technologies, Inc.
Delivering Value
Delivering ValueDelivering Value
Delivering Value
Graphics Engine Organization
The PLE133 Graphics Engine consists of the following units:
Setup Engine, Rasterization Engine, and Pixel Engine. These
units are organized as follows:
Setup Engine
Rasterization Engine
Pixel Engine
AGP
Memory Interface
The interfaces among the components are:
• AGP to Pixel Engine: Set drawing environment registers.
• AGP to Rasterization Engine: Set primitives: edge
walking, slopes.
• AGP or Setup Engine: Set vertices, culling info.
• Setup Engine to Rasterization Engine: Set primitives:
edge walking, slopes.
• Rasterization Engine to Pixel Engine: Pixel Data,
addresses and coordinates.
• Pixel Engine to Memory Interface: Addresses and
coordinates, pixel data.
Each unit performs the following functions:
• Setup Engine: Back face culling, slope calculation.
• Rasterization Engine: Edge walking, color interpolation,
Z, texture coordinates, perform perspective correction.
• Pixel Engine: Generate addresses and coordinate for all
memory accesses: read/write Z, read texture, read
source/destination, write destination (draw buffer), 2-D
functions, bi/tri-linear interpolation, blending and
modulation, ROP, Z test, alpha test, transparency, etc.
When the Setup Engine is to be used, the following steps
should be taken to perform drawing functions:
• S/W sets up the drawing environment.
• S/W issues a drawing command.
• S/W continuously sends triangles to the Setup Engine (or
primitives to the Rasterization Engine).
• S/W sends a triangle with last flag set or a null triangle to
the Setup Engine to signal the end of the operation (or its
equivalent to the Rasterization Engine).
Triangles sent to the Setup Engine can be interleaved with
primitives sent to the Rasterization Engine in step 3 above.
The Setup Engine uses the same sequential loading
mechanism as in the Rasterization Engine. The order of
loading is: Triangle Attribute, Vertex 0, Vertex 1 (optional),
Vertex 2 (optional). Whether vertex 1 and 2 are to be loaded
depends on the Primitive Type. Writing to BA+4Ch triggers a
loading sequence to the Setup Engine. The order of data in a
vertex is: RGBA, SrgbF, W, UV, Z, XY. Not every one will
appear in every vertex. Whether a particular item will be
present in a vertex is decided by the Triangle Attribute. For
example, the data in a stream for a texture mapped triangle
strip may look like: Triangle Attribute, U0V0, X0Y0.
GEbase + 2C – Setup Engine Status..................................RO
31-0 Overflow Status
This register records setup engine overflow status. For every
triangle, the entire register is shifted left one bit with bit-0 then
set to reflect whether the triangle has slope overflow. This
register is usefuil for debugging purposes. This register
resides in the VGA address space and is not decoded by the
setup engine.