Product specifications

VT8601A Apollo PLE133
Revision 1.82 October 22, 2001 -118 3D Graphics Engine Registers
Technologies, Inc.
Delivering Value
Delivering ValueDelivering Value
Delivering Value
Rasterization Engine Registers
The major responsibilities of the Rasterization Engine are:
Receive data from host: Set registers, sequential loading
of parameters.
Edge walking: Generate end points of polygon edges or
pixels on a line.
Interpolation: Calculate values such as texture
coordinates on a polygon / line.
Perspective correction: Perform perspective correction.
In the PLE133, the Rasterization Engine performs color
(including alpha) interpolation, texture coordinate (perspective
corrected) generation, Z coordinate interpolation, and texture
gradient (perspective corrected) calculations.
Host access to the Rasterization Engine is by sequential writes
to minimize AGP bandwidth requirements. This is not needed
for the Setup Engine to access the Rasterization Engine. In
addition, if sequential parameters were used to interface
between the Setup Engine and the Rasterization Engine, it
would incur extra cost for the Setup Engine to pack data and
would also reduce performance. Therefore, the Setup Engine
accesses working registers in the Rasterization Engine
directly. To synchronize operation, hardware must wait until
the Setup Engine becomes idle to accept data from the host to
the Rasterization Engine.
Both Rasterization and Setup Engines share one interface to
the AGP Write Buffer. The first reason is that both
Rasterization Engine and Setup Engine use stream decoding to
receive data from the host. Once they are inside a stream, they
must act quickly to grab data to prevent other components
from taking the data. Having two stream decoders in the
graphics engine is a potential source for problems. The
second reason is that both the Rasterization Engine and Setup
Engine handle the same types of data. Coupling them tightly
makes the design easier and reduces problems that arise from
synchronization. The third reason is for better synchronization
between the two engines.
The engine interfaces to the host through both random access
registers and sequential loading. There are two random access
registers: Primitive Attribute and Primitive Type. The
Primitive Attribute register consists of most parameter
information from the Rasterization Engine’s Primitive Type
and the Setup Engine’s Triangle Attribute register.
The address space that can be used by sequential loading
parameters is from Base Address + 40h to Base Address +
FFh. Software should not use addresses outside this space for
parameters. Sequential loading must use the address in this
space starting at 0x40H in ascending order. For example,
the first address must be 40h, the next must be 44h, etc. In
order to give time to notify the other component to stop
decoding, address 40h is exclusively reserved for sequential
loading.