Intel® 815 Chipset: Graphics Controller PRM, Rev 1.0

R

If the color source data resides within the frame buffer or main memory graphics memory, then the Source Address Register, specified in the command packets is used to specify the address of the source. However, if the host processor provides the source data, then this register takes on a different function and the three least-significant bits of the Source Address Register can be used to specify a number of bytes that must be skipped in the first quadword received from the command packet to reach the first byte of valid source data.

In cases where the host processor provides the source data, it does so by writing the source data to ring buffer directly after the BLT command that requires the data or uses an IMMEDIATE_INDIRECT_BLT command packet which has a size and pointer to the operand in Main memory graphics memory.

There is also an address space used for debug where the processor can write the source data. It is a 64- KB memory space on the host bus. There is no actual memory allocated to this memory space, so any data that is written to this location cannot be read back. This memory space is simply a range of memory addresses that the BLT engine’s address decoder watches for the occurrence of any memory writes.

The BLT engine loads all data written to any memory address within this memory space or through the command packet in the order in which it is written, regardless of the specific memory address to which it is written and uses that data as the source data in the current BLT operation. The block of bytes sent by the host processor to either this data port or through the command packets must be quadword-aligned, although the source data contained within the block of bytes does not need to be aligned. As mentioned earlier, the least significant three bits of the Source Address Register are used to specify the number of bytes that must be skipped in the first quadword of color data to reach the first byte of valid source data.

To accommodate discontinuous source 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 source data to the next. Otherwise, if the source data is contiguous, then an offset equal to the length of a scan line’s worth of source data should be specified.

6.2.3.Monochrome Source Data

The opcode of the command packet specifies whether the source data is color or monochrome. Since monochrome graphics data only uses one bit per pixel, each byte of monochrome source data typically carries data for 8 pixels, which hinders the use of byte-oriented parameters when specifying the location and size of valid source data. Monochrome source data is always supplied through the command stream, which avoids the read latency during BLT Engine operation. Some additional parameters must be specified to ensure the proper reading and use of monochrome source data by the BLT engine. The BLT engine also provides additional options for the manipulation of monochrome source data versus color source data.

The various bit-wise logical operations and per-pixel write-masking operations were designed to work with color data. In order to use monochrome data, the BLT engine converts 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 source 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 value corresponding to either the foreground or background color that have been specified for use in this conversion process. If a given bit of monochrome source data carries a value of 1, then the byte(s) of color data resulting from the conversion process will be set to carry the value of the foreground color. If a given bit of monochrome source data carries a value of 0, then the resulting byte(s) will be set to the value of the background color. The foreground and background colors used in the color expansion of

59

Page 59
Image 59
Intel 815 manual Monochrome Source Data