Intel 815 Manuel D’Utilisation

Page de 423
Intel® 815 Chipset: Graphics Controller PRM, Rev 1.0 
 
 
 
R
 
62  
 
Figure 18. 
2bpp Pattern Data -- Occupies 256 Bytes (32 quadwords) 
b_blt10.vsd
0
Pixel (3, 0)
Pixel (7, 7)
Pixel (0, 0)
Pixel (4, 7)
63
48  47
32  31
16  15
00h
70h
08h
68h
78h
 
As is shown in 24bpp pattern data figure, there are four bytes allocated for each pixel on each scan line’s 
worth of pattern data, which allows each scan line’s worth of 24bpp pattern data to begin on a 32-byte 
boundary. The extra (“fourth”) unused bytes of each pixel on a scan line’s worth of pattern data are 
collected together in the last 8 bytes (the last quadword) of each scan line’s worth of pattern data. 
The opcode of the command packet specifies whether the pattern data is color or monochrome. The 
various bit-wise logical operations and per-pixel write-masking operations were designed to work with 
color data. In order to use monochrome pattern data, the BLT engine is designed to convert it into color 
through a process called “color expansion” which takes place as a BLT operation is performed. In color 
expansion, the single bits of monochrome pattern data are converted into one, two, three, or four bytes 
(depending on the color depth to which the BLT engine has been set) of color data that are set to carry 
values corresponding to either the foreground or background color that have been specified for use in this 
process. The foreground color is used for pixels corresponding to a bit of monochrome pattern data that 
carry the value of 1, while the background color is used where the corresponding bit of monochrome 
pattern data carries the value of 0. The foreground and background colors used in the color expansion of 
monochrome pattern data can be set in the Pattern Expansion Foreground Color Register and Pattern 
Expansion Background Color Register.  
6.2.5. Destination 
Data 
There are actually two different types of “destination data”: the graphics data already residing at the 
location that is designated as the destination, and the data that is to be written into that very same location 
as a result of a BLT operation. 
The location designated as the destination must be within the frame buffer or Main memory graphics 
memory where the BLT engine can read from it and write to it directly. The blocks of destination data to 
be read from and written to the destination may be either contiguous or discontinuous. All data written to 
the destination will have the color depth to which the BLT engine has been set. It is presumed that any 
data already existing at the destination which will be read by the BLT engine will also be of this same 
color depth — the BLT engine neither reads nor writes monochrome destination data. 
The Destination Address Register is used to specify the address of the destination. To accommodate 
discontinuous destination data, the Source and Destination Pitch Registers can be used to specify the 
offset in bytes from the beginning of one scan line’s worth of destination data to the next. Otherwise, if 
the destination data is contiguous, then an offset equal to the length of a scan line’s worth of destination 
data should be specified.