2 host source, Table 6-23, Example of byte-packed monochrome source data – AMD Geode LX [email protected] User Manual

Page 250: Table 6-24, Example of unpacked monochrome source data

Advertising
background image

250

AMD Geode™ LX Processors Data Book

Graphics Processor

33234H

6.3.8.2

Host Source

For source data that is not already in the frame buffer
region of memory, software can use the GP_HST_SRC
register (GP Memory Offset 48h) for loading the data into
the Graphics Processor. This is achieved by selecting host
source as the origination of the source data when setting
up the BLT. After writing to the GP_BLT_MODE register
(GP Memory Offset 40h) to initiate the BLT, software must
first check to make sure that the host source BLT is active
by checking that the BP bit of the GP_BLT_STATUS regis-
ter (GP Memory Offset 44h[0]) is not set before proceeding
with successive writes to the GP_HST_SRC register (GP
Memory Offset 48h). Enough writes must be generated to
complete the requested BLT operation. Any extra writes, or
writes when host source data is not required, are ignored,
not saved, and will not be used for the next BLT. Writes to
this register are buffered into the source FIFO to decouple
the processor from the Graphics Processor. The source
FIFO is currently two cache lines deep, allowing the pro-
cessor to load up to 64 bytes of data. If more data is
needed, the driver can then poll the SHE (Source FIFO
Half Empty) bit of the GP_BLT_STATUS register (GP
Memory Offset 44h[3]). When this bit is set, the source
FIFO can accept at least one more cache line of data. Writ-

ing to the Graphics Processor while the Host Source FIFO
is full causes the Graphics Processor to drop the writes,
which means that the BLT is corrupt and most likely will not
complete. Since there is not enough host source data left,
the Graphics Processor hangs waiting for more source
data.

The two LSBs of the source OFFSET are used to deter-
mine the starting byte of the host source data and the
XLSBs are used in the case of monochrome source data to
determine the starting bit. The starting pixel of the source
data is aligned to the starting pixel of the destination data
by the hardware. In monochrome byte-packed mode, the
hardware begins BLTing at the specified pixel, and after
WIDTH pixels have been transferred, skips the remaining
bits in the byte plus the number specified in XLSBs, and
begins the next line at that location. In unpacked mono-
chrome mode or color mode, the hardware discards any
data remaining in the DWORD after WIDTH pixels have
been transferred and begins the next line at the byte speci-
fied by the two LSBs of the offset in the next DWORD
received. Examples of these two modes are shown in Table
6-23 and Table 6-24, wi
th OFFSET set to 0h, XLSBs set to
2h, and WIDTH set to 8h.

Table 6-23. Example of Byte-Packed Monochrome Source Data

Byte 3

Byte 2

Byte 1

Byte 0

0

1

2

3

4

5

6

7

0

1

2

3

4

5

6

7

0

1

2

3

4

5

6

7

0

1

2

3

4

5

6

7

16 17

10 1 1 12 13 14 15 06 07

00 01 02 03 04 05

36 37

30 31 32 33 34 35 26 27

20 21 22 23 24 25

56 57

50 51 52 53 54 55 46 47

40 41 42 43 44 45

Skip specified by XLSBs

Trailing bits at end of line

Table 6-24. Example of Unpacked Monochrome Source Data

Byte 3

Byte 2

Byte 1

Byte 0

0

1

2

3

4

5

6

7

0

1

2

3

4

5

6

7

0

1

2

3

4

5

6

7

0

1

2

3

4

5

6

7

06 07

00 01 02 03 04 05

16 17

10 1 1 12 13 14 15

26 27

20 21 22 23 24 25

Skip specified by XLSBs

Trailing bits at end of line

Advertising
This manual is related to the following products: