Intel® 815 Chipset: Graphics Controller PRM, Rev 1.0

R

Figure 18. 2bpp Pattern Data -- Occupies 256 Bytes (32 quadwords)

63

48

47

32

31

16

15

0

 

 

 

 

 

Pixel (0, 0)

00h

 

Pixel (3, 0)

 

 

 

 

 

 

 

 

08h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

68h

 

 

 

 

 

Pixel (4, 7)

70h

 

Pixel (7, 7)

 

 

 

 

 

 

 

 

78h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b_blt10.vsd

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.

62

Page 62
Image 62
Intel 815 manual Destination Data