Intel
®
82854 Graphics Memory Controller Hub (GMCH)
132 D15343-003
The GMCH supports both types of fog operations, vertex and per pixel. If fog is disabled, the
incoming color intensities are passed unchanged to the destination blend unit. If fog is enabled, the
incoming pixel color is blended with the fog color based on a fog coefficient on a per pixel basis.
6.4.3.6 Alpha Blending
Alpha blending in the GMCH adds the material property of transparency or opacity to an object.
Alpha blending combines a source pixel color and alpha component with a destination pixel color
and alpha component. For example, this is so that a glass surface on top (source) of a red surface
(destination) would allow much of the red base color to show through.
Blending allows the source and destination color values to be multiplied by programmable factors
and then combined via a programmable blend function. The combined and independent selection
of factors and blend functions for color and alpha is supported.
6.4.3.7 Color Buffer Formats: (Destination Alpha)
The Raster engine supports 8-bit, 16-bit, and 32-bit Color Buffer formats. The 8-bit format is used
to support planar YUV4:2:0 format, which is used only in Motion Compensation and Arithmetic
Stretch format. The bit format of Color and Z is allowed to mix.
The GMCH can support an 8-bit destination alpha in 32-bit mode. Destination alpha is supported in
16-bit mode in 1:5:5:5 or 4:4:4:4 format. The GMCH does not support general 3D rendering to 8-
bit surfaces. 8-bit destinations are supported for operations on planar YUV surfaces (for example,
stretch BLTs) where each 8-bit color component is written in a separate pass. The GMCH also
supports a mode where both U and V planar surfaces can be operated on simultaneously.
The frame buffer of the GMCH contains at least two hardware buffers - the Front Buffer (display
buffer) and the Back Buffer (rendering buffer). While the back buffer may actually coincide with
(or be part of) the visible display surface, a separate (screen or window-sized) back buffer is
typically used to permit double-buffered drawing. That is, the image being drawn is not visible
until the scene is complete and the back buffer made visible or copied to the front buffer via a 2D
BLT operation. Rendering to one buffer and displaying from the other buffer removes image
tearing artifacts. Additionally, more than two back buffers (for example, triple-buffering) can be
supported.
6.4.3.8 Depth Buffer
The Raster Engine is able to read and write from this buffer and use the data in per fragment
operations that determine resultant color and depth value of the pixel for the fragment are to be
updated or not.
Typical applications for entertainment or visual simulations with exterior scenes require far/near
ratios of 1000 to 10000. At 1000, 98% of the range is spent on the first 2% of the depth. This can
cause hidden surface artifacts in distant objects, especially when using 16-bit depth buffers. A 24-
bit Z-buffer provides 16 million Z-values as opposed to only 64 k with a 16-bit Z-buffer. With
lower Z-resolution, two distant overlapping objects may be assigned the same Z-value. As a result,
the rendering hardware may have a problem resolving the order of the objects, and the object in the
back may appear through the object in the front.
By contrast, when w (or eye-relative z) is used, the buffer bits can be more evenly allocated
between the near and far clip planes in world space. The key benefit is that the ratio of far and near
is no longer an issue, and allows applications to support a maximum range of miles, yet still get