Datasheet

Functional Description
R
Datasheet 189
5.4.4 GMCH 2D Engine
The GMCH provides an extensive set of 2D instructions and 2D HW acceleration for block
transfers of data (BLTs). The BLT engine provides the ability to copy a source block of data to a
destination and perform operations (e.g., ROP1, ROP2, and ROP3) on the data using a pattern,
and/or another destination. The Stretch BLT engine is used to move source data to a destination
that need not be the same size, with source transparency. Performing these common tasks in
hardware reduces processor load, and thus improves performance.
5.4.4.1 256-Bit Pattern Fill and BLT Engine
Use of this BLT engine accelerates the Graphical User Interface (GUI) of Microsoft Windows*.
The GMCH BLT Engine provides hardware acceleration of block transfers of pixel data for many
common Windows operations. The term BLT refers to a block transfer of pixel data between
system memory locations. The BLT engine can be used for the following:
Move rectangular blocks of data between system memory locations
Data Alignment
Perform logical operations (raster ops)
The rectangular block of data does not change as it is transferred between system memory
locations. Data to be transferred can consist of regions of system memory, patterns, or solid color
fills. A pattern will always be 8x8 pixels wide and may be 8-bits, 16-bits, or 32-bits per pixel.
The GMCH BLT engine has the ability to expand monochrome data into a color depth of 8-bits,
16-bits, or 32-bits. BLTs can be either opaque or transparent. Opaque transfers, move the data
specified to the destination. Transparent transfers compare destination color to source color and
write according to the mode of transparency selected.
Data is horizontally and vertically aligned at the destination. If the destination for the BLT
overlaps with the source system memory location, the GMCH can specify which area in system
memory to begin the BLT transfer. Hardware is included for all 256 raster operations (Source,
Pattern, and Destination) defined by Microsoft, including transparent BLT.
The GMCH has instructions to invoke BLT operations, permitting software to set up instruction
buffers and use batch processing as described in the Instruction Processing Section. The GMCH
can perform hardware clipping during BLTs.
5.4.4.2 Alpha Stretch BLT
The stretch BLT function can stretch source data in the X and Y directions to a destination larger
or smaller than the source. Stretch BLT functionality expands a region of system memory into a
larger or smaller region using replication and interpolation. The stretch BLT function also
provides format conversion and data alignment.