summaryrefslogtreecommitdiff
path: root/doc2xml/R5xx_Acceleration_v1.4.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc2xml/R5xx_Acceleration_v1.4.txt')
-rw-r--r--doc2xml/R5xx_Acceleration_v1.4.txt7988
1 files changed, 7988 insertions, 0 deletions
diff --git a/doc2xml/R5xx_Acceleration_v1.4.txt b/doc2xml/R5xx_Acceleration_v1.4.txt
new file mode 100644
index 0000000..beb5524
--- /dev/null
+++ b/doc2xml/R5xx_Acceleration_v1.4.txt
@@ -0,0 +1,7988 @@
+ Revision 1.4 October 13, 2009
+
+
+
+
+ 11. Registers
+
+11.1 Command Processor Registers
+
+
+CP:CP_CSQ2_STAT · [R] · 32 bits · Access: 8/16/32 · MMReg:0x7fc
+DESCRIPTION: (RO) Command Stream Indirect Queue 2 Status
+Field Name Bits Default Description
+CSQ_WPTR_INDIRECT 9:0 none Current Write Pointer into the Indirect Queue. Default =
+ 0.
+CSQ_RPTR_INDIRECT2 19:10 none Current Read Pointer into the Indirect Queue. Default =
+ 0.
+CSQ_WPTR_INDIRECT2 29:20 none Current Write Pointer into the Indirect Queue. Default =
+ 0.
+
+
+
+CP:CP_CSQ_ADDR · [W] · 32 bits · Access: 8/16/32 · MMReg:0x7f0
+DESCRIPTION: (WO) Command Stream Queue Address
+Field Name Bits Default Description
+CSQ_ADDR 11:2 none Address into the Command Stream Queue which is to be
+ read from. Used for debug, to read the contents of the
+ Command Stream Queue.
+
+
+
+CP:CP_CSQ_APER_INDIRECT · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x1300-0x13fc
+DESCRIPTION: IB1 Aperture map in RBBM - PIO
+Field Name Bits Default Description
+CP_CSQ_APER_INDIRECT 31:0 none IB1 Aperture
+(Access: W)
+
+
+
+CP:CP_CSQ_APER_INDIRECT2 · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x1200-0x12fc
+DESCRIPTION: IB2 Aperture map in RBBM - PIO
+Field Name Bits Default Description
+CP_CSQ_APER_INDIRECT2 31:0 none IB2 Aperture
+(Access: W)
+
+
+
+CP:CP_CSQ_APER_PRIMARY · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x1000-0x11fc
+DESCRIPTION: Primary Aperture map in RBBM - PIO
+Field Name Bits Default Description
+
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 145
+ Revision 1.4 October 13, 2009
+
+
+
+
+CP_CSQ_APER_PRIMARY 31:0 none Primary Aperture
+(Access: W)
+
+
+
+CP:CP_CSQ_AVAIL · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x7b8
+DESCRIPTION: Command Stream Queue Available Counts
+Field Name Bits Default Description
+CSQ_CNT_PRIMARY 9:0 none Count of available dwords in the queue for the Primary
+(Access: R) Stream. Read Only.
+CSQ_CNT_INDIRECT 19:10 none Count of available dwords in the queue for the Indirect
+(Access: R) Stream. Read Only.
+CSQ_CNT_INDIRECT2 29:20 none Count of available dwords in the queue for the Indirect
+(Access: R) Stream. Read Only.
+
+
+
+CP:CP_CSQ_CNTL · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x740
+DESCRIPTION: Command Stream Queue Control
+Field Name Bits Default Description
+CSQ_MODE 31:28 0x0 Command Stream Queue Mode. Controls whether each
+ command stream is enabled, and whether it is in push
+ mode (Programmed I/O), or pull mode (Bus-Master).
+ Encodings are chosen to be compatible with Rage128. 0=
+ Primary Disabled, Indirect Disabled. 1= Primary PIO,
+ Indirect Disabled. 2= Primary BM, Indirect Disabled.
+ 3,5,7= Primary PIO, Indirect BM. 4,6,8= Primary BM,
+ Indirect BM. 9-14= Reserved. 15= Primary PIO, Indirect
+ PIO Default = 0
+
+
+
+CP:CP_CSQ_DATA · [R] · 32 bits · Access: 8/16/32 · MMReg:0x7f4
+DESCRIPTION: (RO) Command Stream Queue Data
+Field Name Bits Default Description
+CSQ_DATA 31:0 none Data from the Command Stream Queue, from location
+ pointed to by the CP_CSQ_ADDR register. Used for
+ debug, to read the contents of the Command Stream
+ Queue.
+
+
+
+CP:CP_CSQ_MODE · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x744
+DESCRIPTION: Alternate Command Stream Queue Control
+Field Name Bits Default Description
+INDIRECT2_START 6:0 none Start location of Indirect Queue #2 in the command
+ cache. This value also sets the size in double octwords of
+ the Indirect Queue #1 cache that will reside in locations
+ INDIRECT1_START to (INDIRECT2_START - 1). The
+ Indirect Queue #2 will reside in locations
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 146
+ Revision 1.4 October 13, 2009
+
+
+
+
+ INDIRECT2_START to 0x5f. The minimum size of the
+ Indirect Queues must be at least twice the MAX_FETCH
+ size as programmed in the CP_RB_CNTL register.
+INDIRECT1_START 14:8 none Start location of Indirect Queue #1 in the command
+ cache. This value is also the size in double octwords of
+ the Primary Queue cache that will reside in locations 0 to
+ (INDIRECT1_START - 1). The minimum size of the
+ Primary Queue cache must be at least twice the
+ MAX_FETCH size as programmed in the
+ CP_RB_CNTL register.
+CSQ_INDIRECT2_MODE 26 0x0 0=>PIO, 1=>BM
+CSQ_INDIRECT2_ENABLE 27 0x0 Enables Indirect Buffer #2. If this bit is set, the
+ CP_CSQ_MODE register overrides the operation of the
+ CSQ_MODE variable in the CP_CSQ_CNTL register.
+CSQ_INDIRECT1_MODE 28 0x0 0=>PIO, 1=>BM
+CSQ_INDIRECT1_ENABLE 29 0x0 Enables Indirect Buffer #1. If this bit is set, the
+ CP_CSQ_MODE register overrides the operation of the
+ CSQ_MODE variable in the CP_CSQ_CNTL register.
+CSQ_PRIMARY_MODE 30 0x0 0=>PIO, 1=>BM
+CSQ_PRIMARY_ENABLE 31 0x0 Enables Primary Buffer. If this bit is set, the
+ CP_CSQ_MODE register overrides the operation of the
+ CSQ_MODE variable in the CP_CSQ_CNTL register.
+
+
+
+CP:CP_CSQ_STAT · [R] · 32 bits · Access: 8/16/32 · MMReg:0x7f8
+DESCRIPTION: (RO) Command Stream Queue Status
+Field Name Bits Default Description
+CSQ_RPTR_PRIMARY 9:0 none Current Read Pointer into the Primary Queue. Default =
+ 0.
+CSQ_WPTR_PRIMARY 19:10 none Current Write Pointer into the Primary Queue. Default =
+ 0.
+CSQ_RPTR_INDIRECT 29:20 none Current Read Pointer into the Indirect Queue. Default =
+ 0.
+
+
+
+CP:CP_GUI_COMMAND · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x728
+DESCRIPTION: Command for PIO GUI DMAs
+Field Name Bits Default Description
+CP_GUI_COMMAND 31:0 none Command for PIO DMAs to the GUI DMA. Only
+ DWORD access is allowed to this register.
+
+
+
+CP:CP_GUI_DST_ADDR · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x724
+DESCRIPTION: Destination Address for PIO GUI DMAs
+Field Name Bits Default Description
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 147
+ Revision 1.4 October 13, 2009
+
+
+
+
+CP_GUI_DST_ADDR 31:0 none Destination address for PIO DMAs to the GUI DMA.
+ Only DWORD access is allowed to this register.
+
+
+
+CP:CP_GUI_SRC_ADDR · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x720
+DESCRIPTION: Source Address for PIO GUI DMAs
+Field Name Bits Default Description
+CP_GUI_SRC_ADDR 31:0 none Source address for PIO DMAs to the GUI DMA. Only
+ DWORD access is allowed to this register.
+
+
+
+CP:CP_IB2_BASE · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x730
+DESCRIPTION: Indirect Buffer 2 Base
+Field Name Bits Default Description
+IB2_BASE 31:2 none Indirect Buffer 2 Base. Address of the beginning of the
+ indirect buffer. Only DWORD access is allowed to this
+ register.
+
+
+
+CP:CP_IB2_BUFSZ · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x734
+DESCRIPTION: Indirect Buffer 2 Size
+Field Name Bits Default Description
+IB2_BUFSZ 22:0 0x0 Indirect Buffer 2 Size. This size is expressed in dwords.
+ This field is an initiator to begin fetching commands
+ from the Indirect Buffer. Only DWORD access is
+ allowed to this register. Default = 0
+
+
+
+CP:CP_IB_BASE · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x738
+DESCRIPTION: Indirect Buffer Base
+Field Name Bits Default Description
+IB_BASE 31:2 none Indirect Buffer Base. Address of the beginning of the
+ indirect buffer. Only DWORD access is allowed to this
+ register.
+
+
+
+CP:CP_IB_BUFSZ · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x73c
+DESCRIPTION: Indirect Buffer Size
+Field Name Bits Default Description
+IB_BUFSZ 22:0 0x0 Indirect Buffer Size. This size is expressed in dwords.
+ This field is an initiator to begin fetching commands
+ from the Indirect Buffer. Only DWORD access is
+ allowed to this register. Default = 0
+
+
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 148
+ Revision 1.4 October 13, 2009
+
+
+
+
+CP:CP_ME_CNTL · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x7d0
+DESCRIPTION: Micro Engine Control
+Field Name Bits Default Description
+ME_STAT 15:0 none Status of MicroEngine internal registers. This value
+(Access: R) depends on the current value of the ME_STATMUX
+ field. Read Only.
+ME_STATMUX 20:16 0x0 Selects which status is to be returned on the ME_STAT
+ field.
+ME_BUSY 29 none Busy indicator for the MicroEngine. 0 = MicroEngine
+(Access: R) not busy. 1 = MicroEngine is active. Read Only.
+ME_MODE 30 0x1 Run-Mode of MicroEngine. 0 = Single-Step Mode. 1 =
+ Free-running Mode. Default = 1
+ME_STEP 31 0x0 Step the MicroEngine by one instruction. Writing a `1` to
+(Access: W) this field causes the MicroEngine to step by one
+ instruction, if and only if the ME_MODE bit is a `0`.
+ Write Only.
+
+
+
+CP:CP_ME_RAM_ADDR · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x7d4
+DESCRIPTION: MicroEngine RAM Address
+Field Name Bits Default Description
+ME_RAM_ADDR 7:0 none MicroEngine RAM Address (Write Mode) Writing this
+(master with mirrors) register puts the RAM access circuitry into `Write Mode`
+ , which allows the address to auto-increment as data is
+ written into the RAM.
+
+
+
+CP:CP_ME_RAM_DATAH · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x7dc
+DESCRIPTION: MicroEngine RAM Data High
+Field Name Bits Default Description
+ME_RAM_DATAH 7:0 none MicroEngine RAM Data High Used to load the
+ MicroEngine RAM.
+
+
+
+CP:CP_ME_RAM_DATAL · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x7e0
+DESCRIPTION: MicroEngine RAM Data Low
+Field Name Bits Default Description
+ME_RAM_DATAL 31:0 none MicroEngine RAM Data Low Used to load the
+ MicroEngine RAM.
+
+
+
+CP:CP_ME_RAM_RADDR · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x7d8
+DESCRIPTION: MicroEngine RAM Read Address
+Field Name Bits Default Description
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 149
+ Revision 1.4 October 13, 2009
+
+
+
+
+ME_RAM_RADDR 7:0 none MicroEngine RAM Address (Read Mode) Writing
+(mirror of this register puts the RAM access circuitry into `Read
+CP_ME_RAM_ADDR:ME_RAM_ADDR) Mode` , which allows the address to auto-increment
+(Access: W) as data is read from the RAM. Write Only.
+
+
+
+CP:CP_RB_BASE · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x700
+DESCRIPTION: Ring Buffer Base
+Field Name Bits Default Description
+RB_BASE 31:2 none Ring Buffer Base. Address of the beginning of the ring
+ buffer.
+
+
+
+CP:CP_RB_CNTL · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x704
+DESCRIPTION: Ring Buffer Control
+Field Name Bits Default Description
+RB_BUFSZ 5:0 0x0 Ring Buffer Size. This size is expressed in log2 of the
+ actual size. Values 0 and 1 are clamped to an 8 DWORD
+ ring buffer. A value of 2 to 22 will give a ring buffer:
+ 2^(RB_BUFSZ+1). Values greater than 22 will clamp to
+ 22. Default = 0
+RB_BLKSZ 13:8 0x0 Ring Buffer Block Size. This defines the number of
+ quadwords that the Command Processor will read
+ between updates to the host`s copy of the Read Pointer.
+ This size is expressed in log2 of the actual size (in 64-bit
+ quadwords). For example, for a block of 1024
+ quadwords, you would program this field to 10(decimal).
+ Default = 0
+BUF_SWAP 17:16 0x0 Endian Swap Control for Ring Buffer and Indirect
+ Buffer. Only affects the chip behavior if the buffer
+ resides in system memory. 0 = No swap 1 = 16-bit swap:
+ 0xAABBCCDD becomes 0xBBAADDCC 2 = 32-bit
+ swap: 0xAABBCCDD becomes 0xDDCCBBAA 3 =
+ Half-dword swap: 0xAABBCCDD becomes
+ 0xCCDDAABB Default = 0
+MAX_FETCH 19:18 0x0 Maximum Fetch Size for any read request that the CP
+ makes to memory. 0 = 1 double octword. (32 bytes) 1 =
+ 2 double octwords. (64 bytes) 2 = 4 double octwords.
+ (128 bytes) 3 = 8 double octwords. (256 bytes). Default
+ =0
+RB_NO_UPDATE 27 0x0 Ring Buffer No Write to Read Pointer 0= Write to Host`s
+ copy of Read Pointer in system memory. 1= Do not write
+ to Host`s copy of Read pointer. The purpose of this
+ control bit is to have a fall-back position if the bus-
+ mastered write to system memory doesn`t work, in which
+ case the driver will have to read the Graphics
+ Controller`s copy of the Read Pointer directly, with some
+ performance penalty. Default = 0
+
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 150
+ Revision 1.4 October 13, 2009
+
+
+
+
+RB_RPTR_WR_ENA 31 0x0 Ring Buffer Read Pointer Write Transfer Enable. When
+ set the contents of the CP_RB_RPTR_WR register is
+ transferred to the active read pointer (CP_RB_RPTR)
+ whenever the CP_RB_WPTR register is written. Default
+ =0
+
+
+
+CP:CP_RB_RPTR · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x710
+DESCRIPTION: Ring Buffer Read Pointer Address (RO)
+Field Name Bits Default Description
+RB_RPTR 22:0 none Ring Buffer Read Pointer. This is an index (in dwords)
+(Access: R) of the current element being read from the ring buffer.
+
+
+
+CP:CP_RB_RPTR_ADDR · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x70c
+DESCRIPTION: Ring Buffer Read Pointer Address
+Field Name Bits Default Description
+RB_RPTR_SWAP 1:0 0x0 Swap control of the reported read pointer address. See
+ CP_RB_CNTL.BUF_SWAP for the encoding.
+RB_RPTR_ADDR 31:2 0x0 Ring Buffer Read Pointer Address. Address of the Host`s
+ copy of the Read Pointer. CP_RB_RPTR (RO) Ring
+ Buffer Read Pointer
+
+
+
+CP:CP_RB_RPTR_WR · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x71c
+DESCRIPTION: Writable Ring Buffer Read Pointer Address
+Field Name Bits Default Description
+RB_RPTR_WR 22:0 0x0 Writable Ring Buffer Read Pointer. Writable for
+ updating the RB_RPTR after an ACPI.
+
+
+
+CP:CP_RB_WPTR · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x714
+DESCRIPTION: (RO) Ring Buffer Write Pointer
+Field Name Bits Default Description
+RB_WPTR 22:0 0x0 Ring Buffer Write Pointer. This is an index (in dwords)
+ of the last known element to be written to the ring buffer
+ (by the host).
+
+
+
+CP:CP_RB_WPTR_DELAY · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x718
+DESCRIPTION: Ring Buffer Write Pointer Delay
+Field Name Bits Default Description
+PRE_WRITE_TIMER 27:0 0x0 Pre-Write Timer. The number of clocks that a write to
+ the CP_RB_WPTR register will be delayed until actually
+ taking effect. Default = 0
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 151
+ Revision 1.4 October 13, 2009
+
+
+
+
+PRE_WRITE_LIMIT 31:28 0x0 Pre-Write Limit. The number of times that the
+ CP_RB_WPTR register can be written (while the
+ PRE_WRITE_TIMER has not expired) before the
+ CP_RB_WPTR register is forced to be updated with the
+ most recently written value. Default = 0
+
+
+
+CP:CP_RESYNC_ADDR · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x778
+DESCRIPTION: Raster Engine Sync Address (WO)
+Field Name Bits Default Description
+RESYNC_ADDR 2:0 0x0 Scratch Register Offset Address.
+(Access: W)
+
+
+
+CP:CP_RESYNC_DATA · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x77c
+DESCRIPTION: Raster Engine Sync Data (WO)
+Field Name Bits Default Description
+RESYNC_DATA 31:0 none Data written to selected Scratch Register when a sync
+(Access: W) pulse pair is received from the CBA and CBB.
+
+
+
+CP:CP_STAT · [R] · 32 bits · Access: 8/16/32 · MMReg:0x7c0
+DESCRIPTION: (RO) Busy Status Signals
+Field Name Bits Default Description
+MRU_BUSY 0 none Memory Read Unit Busy.
+MWU_BUSY 1 none Memory Write Unit Busy.
+RSIU_BUSY 2 none Register Backbone Input Interface Busy.
+RCIU_BUSY 3 none RBBM Output Interface Busy.
+CSF_PRIMARY_BUSY 9 none Primary Command Stream Fetcher Busy.
+CSF_INDIRECT_BUSY 10 none Indirect #1 Command Stream Fetcher Busy.
+CSQ_PRIMARY_BUSY 11 none Data in Command Queue for Primary Stream.
+CSQ_INDIRECT_BUSY 12 none Data in Command Queue for Indirect #1 Stream.
+CSI_BUSY 13 none Command Stream Interpreter Busy.
+CSF_INDIRECT2_BUSY 14 none Indirect #2 Command Stream Fetcher Busy.
+CSQ_INDIRECT2_BUSY 15 none Data in Command Queue for Indirect #2 Stream.
+GUIDMA_BUSY 28 none GUI DMA Engine Busy.
+VIDDMA_BUSY 29 none VID DMA Engine Busy.
+CMDSTRM_BUSY 30 none Command Stream Busy.
+CP_BUSY 31 none CP Busy.
+
+
+
+CP:CP_VID_COMMAND · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x7cc
+
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 152
+ Revision 1.4 October 13, 2009
+
+
+
+
+DESCRIPTION: Command for PIO VID DMAs
+Field Name Bits Default Description
+CP_VID_COMMAND 31:0 none Command for PIO DMAs to the VID DMA. Only
+ DWORD access is allowed to this register.
+
+
+
+CP:CP_VID_DST_ADDR · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x7c8
+DESCRIPTION: Destination Address for PIO VID DMAs
+Field Name Bits Default Description
+CP_VID_DST_ADDR 31:0 none Destination address for PIO DMAs to the VID DMA.
+ Only DWORD access is allowed to this register.
+
+
+
+CP:CP_VID_SRC_ADDR · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x7c4
+DESCRIPTION: Source Address for PIO VID DMAs
+Field Name Bits Default Description
+CP_VID_SRC_ADDR 31:0 none Source address for PIO DMAs to the VID DMA. Only
+ DWORD access is allowed to this register.
+
+
+
+CP:CP_VP_ADDR_CNTL · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x7e8
+DESCRIPTION: Virtual vs Physical Address Control - Selects whether the address corresponds to a physical or
+virtual address in memory.
+Field Name Bits Default Description
+SCRATCH_ALT_VP_WR 0 0x0 0=Physical (Default), 1=Virtual
+SCRATCH_VP_WR 1 0x0 0=Physical (Default), 1=Virtual
+RPTR_VP_UPDATE 2 0x0 0=Physical (Default), 1=Virtual
+VIDDMA_VP_WR 3 0x0 0=Physical (Default), 1=Virtual
+VIDDMA_VP_RD 4 0x0 0=Physical (Default), 1=Virtual
+GUIDMA_VP_WR 5 0x0 0=Physical (Default), 1=Virtual
+GUIDMA_VP_RD 6 0x0 0=Physical (Default), 1=Virtual
+INDR2_VP_FETCH 7 0x0 0=Physical (Default), 1=Virtual
+INDR1_VP_FETCH 8 0x0 0=Physical (Default), 1=Virtual
+RING_VP_FETCH 9 0x0 0=Physical (Default), 1=Virtual
+
+
+
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 153
+ Revision 1.4 October 13, 2009
+
+
+
+
+11.2 Color Buffer Registers
+
+CB:RB3D_AARESOLVE_CTL · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4e88
+DESCRIPTION: Resolve Buffer Control. Unpipelined
+Field Name Bits Default Description
+AARESOLVE_MODE 0 0x0 Specifies if the color buffer is in resolve mode. The
+ cache must be empty before changing this register.
+
+ POSSIBLE VALUES:
+ 00 - Normal operation.
+ 01 - Resolve operation.
+AARESOLVE_GAMMA 1 none Specifies the gamma and degamma to be applied to the
+ samples before and after filtering, respectively.
+
+ POSSIBLE VALUES:
+ 00 - 1.0
+ 01 - 2.2
+AARESOLVE_ALPHA 2 0x0 Controls whether alpha is averaged in the resolve. 0 =>
+ the resolved alpha value is selected from the sample 0
+ value. 1=> the resolved alpha value is a filtered (average)
+ result of of the samples.
+
+ POSSIBLE VALUES:
+ 00 - Resolved alpha value is taken from sample 0.
+ 01 - Resolved alpha value is the average of the
+ samples. The average is not gamma corrected.
+
+
+
+CB:RB3D_AARESOLVE_OFFSET · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4e80
+DESCRIPTION: Resolve buffer destination address. The cache must be empty before changing this register if the
+cb is in resolve mode. Unpipelined
+Field Name Bits Default Description
+AARESOLVE_OFFSET 31:5 none 256-bit aligned 3D resolve destination offset.
+
+
+
+CB:RB3D_AARESOLVE_PITCH · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4e84
+DESCRIPTION: Resolve Buffer Pitch and Tiling Control. The cache must be empty before changing this register if
+the cb is in resolve mode. Unpipelined
+Field Name Bits Default Description
+AARESOLVE_PITCH 13:1 none 3D destination pitch in multiples of 2-pixels.
+
+
+
+CB:RB3D_ABLENDCNTL · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4e08
+DESCRIPTION: Alpha Blend Control for Alpha Channel. Pipelined through the blender.
+Field Name Bits Default Description
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 154
+ Revision 1.4 October 13, 2009
+
+
+
+
+COMB_FCN 14:12 none Combine Function , Allows modification of how the
+ SRCBLEND and DESTBLEND are combined.
+
+ POSSIBLE VALUES:
+ 00 - Add and Clamp
+ 01 - Add but no Clamp
+ 02 - Subtract Dst from Src, and Clamp
+ 03 - Subtract Dst from Src, and don`t Clamp
+ 04 - Minimum of Src, Dst (the src and dst blend
+ functions are forced to D3D_ONE)
+ 05 - Maximum of Src, Dst (the src and dst blend
+ functions are forced to D3D_ONE)
+ 06 - Subtract Src from Dst, and Clamp
+ 07 - Subtract Src from Dst, and don`t Clamp
+SRCBLEND 21:16 none Source Blend Function , Alpha blending function (SRC).
+
+ POSSIBLE VALUES:
+ 00 - RESERVED
+ 01 - D3D_ZERO
+ 02 - D3D_ONE
+ 03 - D3D_SRCCOLOR
+ 04 - D3D_INVSRCCOLOR
+ 05 - D3D_SRCALPHA
+ 06 - D3D_INVSRCALPHA
+ 07 - D3D_DESTALPHA
+ 08 - D3D_INVDESTALPHA
+ 09 - D3D_DESTCOLOR
+ 10 - D3D_INVDESTCOLOR
+ 11 - D3D_SRCALPHASAT
+ 12 - D3D_BOTHSRCALPHA
+ 13 - D3D_BOTHINVSRCALPHA
+ 14 - RESERVED
+ 15 - RESERVED
+ 16 - RESERVED
+ 17 - RESERVED
+ 18 - RESERVED
+ 19 - RESERVED
+ 20 - RESERVED
+ 21 - RESERVED
+ 22 - RESERVED
+ 23 - RESERVED
+ 24 - RESERVED
+ 25 - RESERVED
+ 26 - RESERVED
+ 27 - RESERVED
+ 28 - RESERVED
+ 29 - RESERVED
+ 30 - RESERVED
+ 31 - RESERVED
+ 32 - GL_ZERO
+ 33 - GL_ONE
+ 34 - GL_SRC_COLOR
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 155
+ Revision 1.4 October 13, 2009
+
+
+
+
+ 35 - GL_ONE_MINUS_SRC_COLOR
+ 36 - GL_DST_COLOR
+ 37 - GL_ONE_MINUS_DST_COLOR
+ 38 - GL_SRC_ALPHA
+ 39 - GL_ONE_MINUS_SRC_ALPHA
+ 40 - GL_DST_ALPHA
+ 41 - GL_ONE_MINUS_DST_ALPHA
+ 42 - GL_SRC_ALPHA_SATURATE
+ 43 - GL_CONSTANT_COLOR
+ 44 - GL_ONE_MINUS_CONSTANT_COLOR
+ 45 - GL_CONSTANT_ALPHA
+ 46 - GL_ONE_MINUS_CONSTANT_ALPHA
+ 47 - RESERVED
+ 48 - RESERVED
+ 49 - RESERVED
+ 50 - RESERVED
+ 51 - RESERVED
+ 52 - RESERVED
+ 53 - RESERVED
+ 54 - RESERVED
+ 55 - RESERVED
+ 56 - RESERVED
+ 57 - RESERVED
+ 58 - RESERVED
+ 59 - RESERVED
+ 60 - RESERVED
+ 61 - RESERVED
+ 62 - RESERVED
+ 63 - RESERVED
+DESTBLEND 29:24 none Destination Blend Function , Alpha blending function
+ (DST).
+
+ POSSIBLE VALUES:
+ 00 - RESERVED
+ 01 - D3D_ZERO
+ 02 - D3D_ONE
+ 03 - D3D_SRCCOLOR
+ 04 - D3D_INVSRCCOLOR
+ 05 - D3D_SRCALPHA
+ 06 - D3D_INVSRCALPHA
+ 07 - D3D_DESTALPHA
+ 08 - D3D_INVDESTALPHA
+ 09 - D3D_DESTCOLOR
+ 10 - D3D_INVDESTCOLOR
+ 11 - RESERVED
+ 12 - RESERVED
+ 13 - RESERVED
+ 14 - RESERVED
+ 15 - RESERVED
+ 16 - RESERVED
+ 17 - RESERVED
+ 18 - RESERVED
+ 19 - RESERVED
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 156
+ Revision 1.4 October 13, 2009
+
+
+
+
+ 20 - RESERVED
+ 21 - RESERVED
+ 22 - RESERVED
+ 23 - RESERVED
+ 24 - RESERVED
+ 25 - RESERVED
+ 26 - RESERVED
+ 27 - RESERVED
+ 28 - RESERVED
+ 29 - RESERVED
+ 30 - RESERVED
+ 31 - RESERVED
+ 32 - GL_ZERO
+ 33 - GL_ONE
+ 34 - GL_SRC_COLOR
+ 35 - GL_ONE_MINUS_SRC_COLOR
+ 36 - GL_DST_COLOR
+ 37 - GL_ONE_MINUS_DST_COLOR
+ 38 - GL_SRC_ALPHA
+ 39 - GL_ONE_MINUS_SRC_ALPHA
+ 40 - GL_DST_ALPHA
+ 41 - GL_ONE_MINUS_DST_ALPHA
+ 42 - RESERVED
+ 43 - GL_CONSTANT_COLOR
+ 44 - GL_ONE_MINUS_CONSTANT_COLOR
+ 45 - GL_CONSTANT_ALPHA
+ 46 - GL_ONE_MINUS_CONSTANT_ALPHA
+ 47 - RESERVED
+ 48 - RESERVED
+ 49 - RESERVED
+ 50 - RESERVED
+ 51 - RESERVED
+ 52 - RESERVED
+ 53 - RESERVED
+ 54 - RESERVED
+ 55 - RESERVED
+ 56 - RESERVED
+ 57 - RESERVED
+ 58 - RESERVED
+ 59 - RESERVED
+ 60 - RESERVED
+ 61 - RESERVED
+ 62 - RESERVED
+ 63 - RESERVED
+
+
+
+CB:RB3D_BLENDCNTL · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4e04
+DESCRIPTION: Alpha Blend Control for Color Channels. Pipelined through the blender.
+Field Name Bits Default Description
+ALPHA_BLEND_ENABLE 0 0x0 Allow alpha blending with the destination.
+
+
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 157
+ Revision 1.4 October 13, 2009
+
+
+
+
+ POSSIBLE VALUES:
+ 00 - Disable
+ 01 - Enable
+SEPARATE_ALPHA_ENABLE 1 0x0 Enables use of RB3D_ABLENDCNTL
+
+ POSSIBLE VALUES:
+ 00 - Disabled (Use RB3D_BLENDCNTL)
+ 01 - Enabled (Use RB3D_ABLENDCNTL)
+READ_ENABLE 2 0x1 When blending is enabled, this enables memory reads.
+ Memory reads will still occur when this is disabled if
+ they are for reasons not related to blending.
+
+ POSSIBLE VALUES:
+ 00 - Disable reads
+ 01 - Enable reads
+DISCARD_SRC_PIXELS 5:3 0x0 Discard pixels when blending is enabled based on the src
+ color.
+
+ POSSIBLE VALUES:
+ 00 - Disable
+ 01 - Discard pixels if src alpha <=
+ RB3D_DISCARD_SRC_PIXEL_LTE_THRESHOLD
+ 02 - Discard pixels if src color <=
+ RB3D_DISCARD_SRC_PIXEL_LTE_THRESHOLD
+ 03 - Discard pixels if src argb <=
+ RB3D_DISCARD_SRC_PIXEL_LTE_THRESHOLD
+ 04 - Discard pixels if src alpha >=
+ RB3D_DISCARD_SRC_PIXEL_GTE_THRESHOLD
+ 05 - Discard pixels if src color >=
+ RB3D_DISCARD_SRC_PIXEL_GTE_THRESHOLD
+ 06 - Discard pixels if src argb >=
+ RB3D_DISCARD_SRC_PIXEL_GTE_THRESHOLD
+ 07 - (reserved)
+COMB_FCN 14:12 none Combine Function , Allows modification of how the
+ SRCBLEND and DESTBLEND are combined.
+
+ POSSIBLE VALUES:
+ 00 - Add and Clamp
+ 01 - Add but no Clamp
+ 02 - Subtract Dst from Src, and Clamp
+ 03 - Subtract Dst from Src, and don`t Clamp
+ 04 - Minimum of Src, Dst (the src and dst blend
+ functions are forced to D3D_ONE)
+ 05 - Maximum of Src, Dst (the src and dst blend
+ functions are forced to D3D_ONE)
+ 06 - Subtract Src from Dst, and Clamp
+ 07 - Subtract Src from Dst, and don`t Clamp
+SRCBLEND 21:16 none Source Blend Function , Alpha blending function (SRC).
+
+
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 158
+ Revision 1.4 October 13, 2009
+
+
+
+
+ POSSIBLE VALUES:
+ 00 - RESERVED
+ 01 - D3D_ZERO
+ 02 - D3D_ONE
+ 03 - D3D_SRCCOLOR
+ 04 - D3D_INVSRCCOLOR
+ 05 - D3D_SRCALPHA
+ 06 - D3D_INVSRCALPHA
+ 07 - D3D_DESTALPHA
+ 08 - D3D_INVDESTALPHA
+ 09 - D3D_DESTCOLOR
+ 10 - D3D_INVDESTCOLOR
+ 11 - D3D_SRCALPHASAT
+ 12 - D3D_BOTHSRCALPHA
+ 13 - D3D_BOTHINVSRCALPHA
+ 14 - RESERVED
+ 15 - RESERVED
+ 16 - RESERVED
+ 17 - RESERVED
+ 18 - RESERVED
+ 19 - RESERVED
+ 20 - RESERVED
+ 21 - RESERVED
+ 22 - RESERVED
+ 23 - RESERVED
+ 24 - RESERVED
+ 25 - RESERVED
+ 26 - RESERVED
+ 27 - RESERVED
+ 28 - RESERVED
+ 29 - RESERVED
+ 30 - RESERVED
+ 31 - RESERVED
+ 32 - GL_ZERO
+ 33 - GL_ONE
+ 34 - GL_SRC_COLOR
+ 35 - GL_ONE_MINUS_SRC_COLOR
+ 36 - GL_DST_COLOR
+ 37 - GL_ONE_MINUS_DST_COLOR
+ 38 - GL_SRC_ALPHA
+ 39 - GL_ONE_MINUS_SRC_ALPHA
+ 40 - GL_DST_ALPHA
+ 41 - GL_ONE_MINUS_DST_ALPHA
+ 42 - GL_SRC_ALPHA_SATURATE
+ 43 - GL_CONSTANT_COLOR
+ 44 - GL_ONE_MINUS_CONSTANT_COLOR
+ 45 - GL_CONSTANT_ALPHA
+ 46 - GL_ONE_MINUS_CONSTANT_ALPHA
+ 47 - RESERVED
+ 48 - RESERVED
+ 49 - RESERVED
+ 50 - RESERVED
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 159
+ Revision 1.4 October 13, 2009
+
+
+
+
+ 51 - RESERVED
+ 52 - RESERVED
+ 53 - RESERVED
+ 54 - RESERVED
+ 55 - RESERVED
+ 56 - RESERVED
+ 57 - RESERVED
+ 58 - RESERVED
+ 59 - RESERVED
+ 60 - RESERVED
+ 61 - RESERVED
+ 62 - RESERVED
+ 63 - RESERVED
+DESTBLEND 29:24 none Destination Blend Function , Alpha blending function
+ (DST).
+
+ POSSIBLE VALUES:
+ 00 - RESERVED
+ 01 - D3D_ZERO
+ 02 - D3D_ONE
+ 03 - D3D_SRCCOLOR
+ 04 - D3D_INVSRCCOLOR
+ 05 - D3D_SRCALPHA
+ 06 - D3D_INVSRCALPHA
+ 07 - D3D_DESTALPHA
+ 08 - D3D_INVDESTALPHA
+ 09 - D3D_DESTCOLOR
+ 10 - D3D_INVDESTCOLOR
+ 11 - RESERVED
+ 12 - RESERVED
+ 13 - RESERVED
+ 14 - RESERVED
+ 15 - RESERVED
+ 16 - RESERVED
+ 17 - RESERVED
+ 18 - RESERVED
+ 19 - RESERVED
+ 20 - RESERVED
+ 21 - RESERVED
+ 22 - RESERVED
+ 23 - RESERVED
+ 24 - RESERVED
+ 25 - RESERVED
+ 26 - RESERVED
+ 27 - RESERVED
+ 28 - RESERVED
+ 29 - RESERVED
+ 30 - RESERVED
+ 31 - RESERVED
+ 32 - GL_ZERO
+ 33 - GL_ONE
+ 34 - GL_SRC_COLOR
+ 35 - GL_ONE_MINUS_SRC_COLOR
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 160
+ Revision 1.4 October 13, 2009
+
+
+
+
+ 36 - GL_DST_COLOR
+ 37 - GL_ONE_MINUS_DST_COLOR
+ 38 - GL_SRC_ALPHA
+ 39 - GL_ONE_MINUS_SRC_ALPHA
+ 40 - GL_DST_ALPHA
+ 41 - GL_ONE_MINUS_DST_ALPHA
+ 42 - RESERVED
+ 43 - GL_CONSTANT_COLOR
+ 44 - GL_ONE_MINUS_CONSTANT_COLOR
+ 45 - GL_CONSTANT_ALPHA
+ 46 - GL_ONE_MINUS_CONSTANT_ALPHA
+ 47 - RESERVED
+ 48 - RESERVED
+ 49 - RESERVED
+ 50 - RESERVED
+ 51 - RESERVED
+ 52 - RESERVED
+ 53 - RESERVED
+ 54 - RESERVED
+ 55 - RESERVED
+ 56 - RESERVED
+ 57 - RESERVED
+ 58 - RESERVED
+ 59 - RESERVED
+ 60 - RESERVED
+ 61 - RESERVED
+ 62 - RESERVED
+ 63 - RESERVED
+SRC_ALPHA_0_NO_READ 30 0x0 Enables source alpha zero performance optimization to
+ skip reads.
+
+ POSSIBLE VALUES:
+ 00 - Disable source alpha zero performance
+ optimization to skip reads
+ 01 - Enable source alpha zero performance
+ optimization to skip reads
+SRC_ALPHA_1_NO_READ 31 0x0 Enables source alpha one performance optimization to
+ skip reads.
+
+ POSSIBLE VALUES:
+ 00 - Disable source alpha one performance
+ optimization to skip reads
+ 01 - Enable source alpha one performance
+ optimization to skip reads
+
+
+
+CB:RB3D_DISCARD_SRC_PIXEL_GTE_THRESHOLD · [R/W] · 32 bits · Access: 8/16/32 ·
+MMReg:0x4ea4
+DESCRIPTION: Discard src pixels greater than or equal to threshold.
+Field Name Bits Default Description
+
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 161
+ Revision 1.4 October 13, 2009
+
+
+
+
+BLUE 7:0 0xFF Blue
+GREEN 15:8 0xFF Green
+RED 23:16 0xFF Red
+ALPHA 31:24 0xFF Alpha
+
+
+
+CB:RB3D_DISCARD_SRC_PIXEL_LTE_THRESHOLD · [R/W] · 32 bits · Access: 8/16/32 ·
+MMReg:0x4ea0
+DESCRIPTION: Discard src pixels less than or equal to threshold.
+Field Name Bits Default Description
+BLUE 7:0 0x0 Blue
+GREEN 15:8 0x0 Green
+RED 23:16 0x0 Red
+ALPHA 31:24 0x0 Alpha
+
+
+
+CB:RB3D_CCTL · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4e00
+DESCRIPTION: Unpipelined.
+Field Name Bits Default Description
+NUM_MULTIWRITES 6:5 0x0 A quad is replicated and written to this
+ many buffers.
+
+ POSSIBLE VALUES:
+ 00 - 1 buffer. This is the only mode
+ where the cb processes the end of packet
+ command.
+ 01 - 2 buffers
+ 02 - 3 buffers
+ 03 - 4 buffers
+CLRCMP_FLIPE_ENABLE 7 0x0 Enables equivalent of rage128
+ CMP_EQ_FLIP color compare mode.
+ This is used to ensure 3D data does not
+ get chromakeyed away by logic in the
+ backend.
+
+ POSSIBLE VALUES:
+ 00 - Disable color compare.
+ 01 - Enable color compare.
+AA_COMPRESSION_ENABLE 9 none Enables AA color compression. Cmask
+ must also be enabled when aa
+ compression is enabled. The cache must
+ be empty before this is changed.
+
+ POSSIBLE VALUES:
+ 00 - Disable AA compression
+ 01 - Enable AA compression
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 162
+ Revision 1.4 October 13, 2009
+
+
+
+
+CMASK_ENABLE 10 none Enables use of the cmask ram. The cache
+ must be empty before this is changed.
+
+ POSSIBLE VALUES:
+ 00 - Disable
+ 01 - Enable
+Reserved 11 0x0 Set to 0
+INDEPENDENT_COLOR_CHANNEL_MASK_ENABLE 12 0x0 Enables indepedent color channel masks
+ for the MRTs. Disabling this feature will
+ cause all the MRTs to use color channel
+ mask 0.
+
+ POSSIBLE VALUES:
+ 00 - Disable
+ 01 - Enable
+WRITE_COMPRESSION_DISABLE 13 none Disables write compression.
+
+ POSSIBLE VALUES:
+ 00 - Enable write compression
+ 01 - Disable write compression
+INDEPENDENT_COLORFORMAT_ENABLE 14 0x0 Enables independent color format for the
+ MRTs. Disabling this feature will cause
+ all the MRTs to use color format 0.
+
+ POSSIBLE VALUES:
+ 00 - Disable
+ 01 - Enable
+
+
+
+CB:RB3D_CLRCMP_CLR · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4e20
+DESCRIPTION: Color Compare Color. Stalls the 2d/3d datapath until it is idle.
+Field Name Bits Default Description
+CLRCMP_CLR 31:0 none Like RB2D_CLRCMP_CLR, but a separate register is
+ provided to keep 2D and 3D state separate.
+
+
+
+CB:RB3D_CLRCMP_FLIPE · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4e1c
+DESCRIPTION: Color Compare Flip. Stalls the 2d/3d datapath until it is idle.
+Field Name Bits Default Description
+CLRCMP_FLIPE 31:0 none Like RB2D_CLRCMP_FLIPE, but a separate register is
+ provided to keep 2D and 3D state separate.
+
+
+
+CB:RB3D_CLRCMP_MSK · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4e24
+DESCRIPTION: Color Compare Mask. Stalls the 2d/3d datapath until it is idle.
+Field Name Bits Default Description
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 163
+ Revision 1.4 October 13, 2009
+
+
+
+
+CLRCMP_MSK 31:0 none Like RB2D_CLRCMP_CLR, but separate registers
+ provided to keep 2D and 3D state separate.
+
+
+
+CB:RB3D_COLOROFFSET[0-3] · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4e28-0x4e34
+DESCRIPTION: Color Buffer Address Offset of multibuffer 0. Unpipelined.
+Field Name Bits Default Description
+COLOROFFSET 31:5 none 256-bit aligned 3D destination offset address. The cache
+ must be empty before this is changed.
+
+
+
+CB:RB3D_COLORPITCH[0-3] · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4e38-0x4e44
+DESCRIPTION: Color buffer format and tiling control for all the multibuffers and the pitch of multibuffer 0.
+Unpipelined. The cache must be empty before any of the registers are changed.
+Field Name Bits Default Description
+COLORPITCH 13:1 none 3D destination pitch in multiples of 2-pixels.
+COLORTILE 16 none Denotes whether the 3D destination is in macrotiled
+ format.
+
+ POSSIBLE VALUES:
+ 00 - 3D destination is not macrotiled
+ 01 - 3D destination is macrotiled
+COLORMICROTILE 18:17 none Denotes whether the 3D destination is in microtiled
+ format.
+
+ POSSIBLE VALUES:
+ 00 - 3D destination is no microtiled
+ 01 - 3D destination is microtiled
+ 02 - 3D destination is square microtiled. Only
+ available in 16-bit
+ 03 - (reserved)
+COLORENDIAN 20:19 none Specifies endian control for the color buffer.
+
+ POSSIBLE VALUES:
+ 00 - No swap
+ 01 - Word swap (2 bytes in 16-bit)
+ 02 - Dword swap (4 bytes in a 32-bit)
+ 03 - Half-Dword swap (2 16-bit in a 32-bit)
+COLORFORMAT 24:21 0x6 3D destination color format.
+
+ POSSIBLE VALUES:
+ 00 - ARGB10101010
+ 01 - UV1010
+ 02 - CI8 (2D ONLY)
+ 03 - ARGB1555
+ 04 - RGB565
+ 05 - ARGB2101010
+ 06 - ARGB8888
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 164
+ Revision 1.4 October 13, 2009
+
+
+
+
+ 07 - ARGB32323232
+ 08 - (Reserved)
+ 09 - I8
+ 10 - ARGB16161616
+ 11 - YUV422 packed (VYUY)
+ 12 - YUV422 packed (YVYU)
+ 13 - UV88
+ 14 - I10
+ 15 - ARGB4444
+
+
+
+CB:RB3D_COLOR_CHANNEL_MASK · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4e0c
+DESCRIPTION: 3D Color Channel Mask. If all the channels used in the current color format are disabled, then
+the cb will discard all the incoming quads. Pipelined through the blender.
+Field Name Bits Default Description
+BLUE_MASK 0 0x1 mask bit for the blue channel
+
+ POSSIBLE VALUES:
+ 00 - disable
+ 01 - enable
+GREEN_MASK 1 0x1 mask bit for the green channel
+
+ POSSIBLE VALUES:
+ 00 - disable
+ 01 - enable
+RED_MASK 2 0x1 mask bit for the red channel
+
+ POSSIBLE VALUES:
+ 00 - disable
+ 01 - enable
+ALPHA_MASK 3 0x1 mask bit for the alpha channel
+
+ POSSIBLE VALUES:
+ 00 - disable
+ 01 - enable
+BLUE_MASK1 4 0x1 mask bit for the blue channel of MRT 1
+
+ POSSIBLE VALUES:
+ 00 - disable
+ 01 - enable
+GREEN_MASK1 5 0x1 mask bit for the green channel of MRT 1
+
+ POSSIBLE VALUES:
+ 00 - disable
+ 01 - enable
+RED_MASK1 6 0x1 mask bit for the red channel of MRT 1
+
+ POSSIBLE VALUES:
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 165
+ Revision 1.4 October 13, 2009
+
+
+
+
+ 00 - disable
+ 01 - enable
+ALPHA_MASK1 7 0x1 mask bit for the alpha channel of MRT 1
+
+ POSSIBLE VALUES:
+ 00 - disable
+ 01 - enable
+BLUE_MASK2 8 0x1 mask bit for the blue channel of MRT 2
+
+ POSSIBLE VALUES:
+ 00 - disable
+ 01 - enable
+GREEN_MASK2 9 0x1 mask bit for the green channel of MRT 2
+
+ POSSIBLE VALUES:
+ 00 - disable
+ 01 - enable
+RED_MASK2 10 0x1 mask bit for the red channel of MRT 2
+
+ POSSIBLE VALUES:
+ 00 - disable
+ 01 - enable
+ALPHA_MASK2 11 0x1 mask bit for the alpha channel of MRT 2
+
+ POSSIBLE VALUES:
+ 00 - disable
+ 01 - enable
+BLUE_MASK3 12 0x1 mask bit for the blue channel of MRT 3
+
+ POSSIBLE VALUES:
+ 00 - disable
+ 01 - enable
+GREEN_MASK3 13 0x1 mask bit for the green channel of MRT 3
+
+ POSSIBLE VALUES:
+ 00 - disable
+ 01 - enable
+RED_MASK3 14 0x1 mask bit for the red channel of MRT 3
+
+ POSSIBLE VALUES:
+ 00 - disable
+ 01 - enable
+ALPHA_MASK3 15 0x1 mask bit for the alpha channel of MRT 3
+
+ POSSIBLE VALUES:
+ 00 - disable
+ 01 - enable
+
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 166
+ Revision 1.4 October 13, 2009
+
+
+
+
+CB:RB3D_COLOR_CLEAR_VALUE · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4e14
+DESCRIPTION: Clear color that is used when the color mask is set to 00. Unpipelined. Program this register with
+a 32-bit value in ARGB8888 or ARGB2101010 formats, ignoring the fields.
+Field Name Bits Default Description
+BLUE 7:0 none blue clear color
+GREEN 15:8 none green clear color
+RED 23:16 none red clear color
+ALPHA 31:24 none alpha clear color
+
+
+
+CB:RB3D_COLOR_CLEAR_VALUE_AR · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x46c0
+DESCRIPTION: Alpha and red clear color values that are used when the color mask is set to 00 in FP16 per
+component mode. Unpipelined.
+Field Name Bits Default Description
+RED 15:0 none red clear color
+ALPHA 31:16 none alpha clear color
+
+
+
+CB:RB3D_COLOR_CLEAR_VALUE_GB · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x46c4
+DESCRIPTION: Green and blue clear color values that are used when the color mask is set to 00 in FP16 per
+component mode. Unpipelined.
+Field Name Bits Default Description
+BLUE 15:0 none blue clear color
+GREEN 31:16 none green clear color
+
+
+
+CB:RB3D_CONSTANT_COLOR · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4e10
+DESCRIPTION: Constant color used by the blender. Pipelined through the blender.
+Field Name Bits Default Description
+BLUE 7:0 none blue constant color (For R520, this field is ignored, use
+ RB3D_CONSTANT_COLOR_GB__BLUE instead)
+GREEN 15:8 none green constant color (For R520, this field is ignored, use
+ RB3D_CONSTANT_COLOR_GB__GREEN instead)
+RED 23:16 none red constant color (For R520, this field is ignored, use
+ RB3D_CONSTANT_COLOR_AR__RED instead)
+ALPHA 31:24 none alpha constant color (For R520, this field is ignored, use
+ RB3D_CONSTANT_COLOR_AR__ALPHA instead)
+
+
+
+CB:RB3D_CONSTANT_COLOR_AR · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4ef8
+DESCRIPTION: Constant color used by the blender. Pipelined through the blender.
+Field Name Bits Default Description
+RED 15:0 none red constant color in 0.10 fixed or FP16 format
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 167
+ Revision 1.4 October 13, 2009
+
+
+
+
+ALPHA 31:16 none alpha constant color in 0.10 fixed or FP16 format
+
+
+
+CB:RB3D_CONSTANT_COLOR_GB · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4efc
+DESCRIPTION: Constant color used by the blender. Pipelined through the blender.
+Field Name Bits Default Description
+BLUE 15:0 none blue constant color in 0.10 fixed or FP16 format
+GREEN 31:16 none green constant color in 0.10 fixed or FP16 format
+
+
+
+CB:RB3D_DITHER_CTL · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4e50
+DESCRIPTION: Dithering control register. Pipelined through the blender.
+Field Name Bits Default Description
+DITHER_MODE 1:0 0x0 Dither mode
+
+ POSSIBLE VALUES:
+ 00 - Truncate
+ 01 - Round
+ 02 - LUT dither
+ 03 - (reserved)
+ALPHA_DITHER_MODE 3:2 0x0 POSSIBLE VALUES:
+ 00 - Truncate
+ 01 - Round
+ 02 - LUT dither
+ 03 - (reserved)
+
+
+
+CB:RB3D_DSTCACHE_CTLSTAT · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4e4c
+DESCRIPTION: Destination Color Buffer Cache Control/Status. If the cb is in e2 mode, then a flush or free will
+not occur upon a write to this register, but a sync will be immediately sent if one is requested. If both DC_FLUSH
+and DC_FREE are zero but DC_FINISH is one, then a sync will be sent immediately -- the cb will not wait for all
+the previous operations to complete before sending the sync. Unpipelined except when DC_FINISH and DC_FREE
+are both set to zero.
+Field Name Bits Default Description
+DC_FLUSH 1:0 0x0 Setting this bit flushes dirty data from the 3D Dst Cache.
+ Unless the DC_FREE bits are also set, the tags in the
+ cache remain valid. A purge is achieved by setting both
+ DC_FLUSH and DC_FREE.
+
+ POSSIBLE VALUES:
+ 00 - No effect
+ 01 - No effect
+ 02 - Flushes dirty 3D data
+ 03 - Flushes dirty 3D data
+DC_FREE 3:2 0x0 Setting this bit invalidates the 3D Dst Cache tags. Unless
+ the DC_FLUSH bit is also set, the cache lines are not
+ written to memory. A purge is achieved by setting both
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 168
+ Revision 1.4 October 13, 2009
+
+
+
+
+ DC_FLUSH and DC_FREE.
+
+ POSSIBLE VALUES:
+ 00 - No effect
+ 01 - No effect
+ 02 - Free 3D tags
+ 03 - Free 3D tags
+DC_FINISH 4 0x0 POSSIBLE VALUES:
+ 00 - do not send a finish signal to the CP
+ 01 - send a finish signal to the CP after the end of
+ operation
+
+
+
+CB:RB3D_FIFO_SIZE · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4ef4
+DESCRIPTION: Sets the fifo sizes
+Field Name Bits Default Description
+OP_FIFO_SIZE 1:0 0x0 Determines the size of the op fifo
+
+ POSSIBLE VALUES:
+ 00 - Full size
+ 01 - 1/2 size
+ 02 - 1/4 size
+ 03 - 1/8 size
+
+
+
+CB:RB3D_ROPCNTL · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4e18
+DESCRIPTION: 3D ROP Control. Stalls the 2d/3d datapath until it is idle.
+Field Name Bits Default Description
+ROP_ENABLE 2 0x0 POSSIBLE VALUES:
+ 00 - Disable ROP. (Forces ROP2 to be 0xC).
+ 01 - Enabled
+ROP 11:8 none ROP2 code for 3D fragments. This value is replicated
+ into 2 nibbles to form the equivalent ROP3 code to
+ control the ROP3 logic. These are the GDI ROP2 codes.
+
+
+
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 169
+ Revision 1.4 October 13, 2009
+
+
+
+
+11.3 Fog Registers
+
+FG:FG_ALPHA_FUNC · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4bd4
+DESCRIPTION: Alpha Function
+Field Name Bits Default Description
+AF_VAL 7:0 0x0 Specifies the 8-bit alpha compare value when
+ AF_EN_8BIT is enabled
+AF_FUNC 10:8 0x0 Specifies the alpha compare function.
+
+ POSSIBLE VALUES:
+ 00 - AF_NEVER
+ 01 - AF_LESS
+ 02 - AF_EQUAL
+ 03 - AF_LE
+ 04 - AF_GREATER
+ 05 - AF_NOTEQUAL
+ 06 - AF_GE
+ 07 - AF_ALWAYS
+AF_EN 11 0x0 Enables/Disables alpha compare function.
+
+ POSSIBLE VALUES:
+ 00 - Disable alpha function.
+ 01 - Enable alpha function.
+AF_EN_8BIT 12 0x0 Enable 8-bit alpha compare function.
+
+ POSSIBLE VALUES:
+ 00 - Default 10-bit alpha compare.
+ 01 - Enable 8-bit alpha compare.
+AM_EN 16 0x0 Enables/Disables alpha-to-mask function.
+
+ POSSIBLE VALUES:
+ 00 - Disable alpha to mask function.
+ 01 - Enable alpha to mask function.
+AM_CFG 17 0x0 Specfies number of sub-pixel samples for alpha-to-mask
+ function.
+
+ POSSIBLE VALUES:
+ 00 - 2/4 sub-pixel samples.
+ 01 - 3/6 sub-pixel samples.
+DITH_EN 20 0x0 Enables/Disables RGB Dithering (Not supported in
+ R520)
+
+ POSSIBLE VALUES:
+ 00 - Disable Dithering
+ 01 - Enable Dithering.
+ALP_OFF_EN 24 0x0 Alpha offset enable/disable (Not supported in R520)
+
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 170
+ Revision 1.4 October 13, 2009
+
+
+
+
+ POSSIBLE VALUES:
+ 00 - Disables alpha offset of 2 (default r300 & rv350
+ behavior)
+ 01 - Enables offset of 2 on alpha coming in from the
+ US
+DISCARD_ZERO_MASK_QUAD 25 0x0 Enable/Disable discard zero mask coverage quad to ZB
+
+ POSSIBLE VALUES:
+ 00 - No discard of zero coverage mask quads
+ 01 - Discard zero coverage mask quads
+FP16_ENABLE 28 0x0 Enables/Disables FP16 alpha function
+
+ POSSIBLE VALUES:
+ 00 - Default 10-bit alpha compare and alpha-to-mask
+ function
+ 01 - Enable FP16 alpha compare and alpha-to-mask
+ function
+
+
+
+FG:FG_ALPHA_VALUE · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4be0
+DESCRIPTION: Alpha Compare Value
+Field Name Bits Default Description
+AF_VAL 15:0 0x0 Specifies the alpha compare value, 0.10 fixed or FP16
+ format
+
+
+
+FG:FG_DEPTH_SRC · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4bd8
+DESCRIPTION: Where does depth come from?
+Field Name Bits Default Description
+DEPTH_SRC 0 0x0 POSSIBLE VALUES:
+ 00 - Depth comes from scan converter as plane
+ equation.
+ 01 - Depth comes from shader as four discrete values.
+
+
+
+FG:FG_FOG_BLEND · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4bc0
+DESCRIPTION: Fog Blending Enable
+Field Name Bits Default Description
+ENABLE 0 0x0 Enable for fog blending
+
+ POSSIBLE VALUES:
+ 00 - Disables fog (output matches input color).
+ 01 - Enables fog.
+FN 2:1 0x0 Fog generation function
+
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 171
+ Revision 1.4 October 13, 2009
+
+
+
+
+ POSSIBLE VALUES:
+ 00 - Fog function is linear
+ 01 - Fog function is exponential
+ 02 - Fog function is exponential squared
+ 03 - Fog is derived from constant fog factor
+
+
+
+FG:FG_FOG_COLOR_B · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4bd0
+DESCRIPTION: Blue Component of Fog Color
+Field Name Bits Default Description
+BLUE 9:0 0x0 Blue component of fog color; (0.10) fixed format.
+
+
+
+FG:FG_FOG_COLOR_G · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4bcc
+DESCRIPTION: Green Component of Fog Color
+Field Name Bits Default Description
+GREEN 9:0 0x0 Green component of fog color; (0.10) fixed format.
+
+
+
+FG:FG_FOG_COLOR_R · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4bc8
+DESCRIPTION: Red Component of Fog Color
+Field Name Bits Default Description
+RED 9:0 0x0 Red component of fog color; (0.10) fixed format.
+
+
+
+FG:FG_FOG_FACTOR · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4bc4
+DESCRIPTION: Constant Factor for Fog Blending
+Field Name Bits Default Description
+FACTOR 9:0 0x0 Constant fog factor; fixed (0.10) format.
+
+
+
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 172
+ Revision 1.4 October 13, 2009
+
+
+
+
+11.4 Geometry Assembly Registers
+
+GA:GA_COLOR_CONTROL · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4278
+DESCRIPTION: Specifies per RGB or Alpha shading method.
+Field Name Bits Default Description
+RGB0_SHADING 1:0 0x0 Specifies solid, flat or Gouraud shading.
+
+ POSSIBLE VALUES:
+ 00 - Solid fill color
+ 01 - Flat shading
+ 02 - Gouraud shading
+ALPHA0_SHADING 3:2 0x0 Specifies solid, flat or Gouraud shading.
+
+ POSSIBLE VALUES:
+ 00 - Solid fill color
+ 01 - Flat shading
+ 02 - Gouraud shading
+RGB1_SHADING 5:4 0x0 Specifies solid, flat or Gouraud shading.
+
+ POSSIBLE VALUES:
+ 00 - Solid fill color
+ 01 - Flat shading
+ 02 - Gouraud shading
+ALPHA1_SHADING 7:6 0x0 Specifies solid, flat or Gouraud shading.
+
+ POSSIBLE VALUES:
+ 00 - Solid fill color
+ 01 - Flat shading
+ 02 - Gouraud shading
+RGB2_SHADING 9:8 0x0 Specifies solid, flat or Gouraud shading.
+
+ POSSIBLE VALUES:
+ 00 - Solid fill color
+ 01 - Flat shading
+ 02 - Gouraud shading
+ALPHA2_SHADING 11:10 0x0 Specifies solid, flat or Gouraud shading.
+
+ POSSIBLE VALUES:
+ 00 - Solid fill color
+ 01 - Flat shading
+ 02 - Gouraud shading
+RGB3_SHADING 13:12 0x0 Specifies solid, flat or Gouraud shading.
+
+ POSSIBLE VALUES:
+ 00 - Solid fill color
+ 01 - Flat shading
+ 02 - Gouraud shading
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 173
+ Revision 1.4 October 13, 2009
+
+
+
+
+ALPHA3_SHADING 15:14 0x0 Specifies solid, flat or Gouraud shading.
+
+ POSSIBLE VALUES:
+ 00 - Solid fill color
+ 01 - Flat shading
+ 02 - Gouraud shading
+PROVOKING_VERTEX 17:16 0x0 Specifies, for flat shaded polygons, which vertex holds
+ the polygon color.
+
+ POSSIBLE VALUES:
+ 00 - Provoking is first vertex
+ 01 - Provoking is second vertex
+ 02 - Provoking is third vertex
+ 03 - Provoking is always last vertex
+
+
+
+GA:GA_COLOR_CONTROL_PS3 · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4258
+DESCRIPTION: Specifies color properties and mappings of textures.
+Field Name Bits Default Description
+TEX0_SHADING_PS3 1:0 0x0 Specifies undefined(0), flat(1) and Gouraud(2/def)
+ shading for each texture.
+
+ POSSIBLE VALUES:
+ 00 - Solid fill color
+ 01 - Flat shading
+ 02 - Gouraud shading
+TEX1_SHADING_PS3 3:2 0x0 Specifies undefined(0), flat(1) and Gouraud(2/def)
+ shading for each texture.
+
+ POSSIBLE VALUES:
+ 00 - Solid fill color
+ 01 - Flat shading
+ 02 - Gouraud shading
+TEX2_SHADING_PS3 5:4 0x0 Specifies undefined(0), flat(1) and Gouraud(2/def)
+ shading for each texture.
+
+ POSSIBLE VALUES:
+ 00 - Solid fill color
+ 01 - Flat shading
+ 02 - Gouraud shading
+TEX3_SHADING_PS3 7:6 0x0 Specifies undefined(0), flat(1) and Gouraud(2/def)
+ shading for each texture.
+
+ POSSIBLE VALUES:
+ 00 - Solid fill color
+ 01 - Flat shading
+ 02 - Gouraud shading
+TEX4_SHADING_PS3 9:8 0x0 Specifies undefined(0), flat(1) and Gouraud(2/def)
+ shading for each texture.
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 174
+ Revision 1.4 October 13, 2009
+
+
+
+
+ POSSIBLE VALUES:
+ 00 - Solid fill color
+ 01 - Flat shading
+ 02 - Gouraud shading
+TEX5_SHADING_PS3 11:10 0x0 Specifies undefined(0), flat(1) and Gouraud(2/def)
+ shading for each texture.
+
+ POSSIBLE VALUES:
+ 00 - Solid fill color
+ 01 - Flat shading
+ 02 - Gouraud shading
+TEX6_SHADING_PS3 13:12 0x0 Specifies undefined(0), flat(1) and Gouraud(2/def)
+ shading for each texture.
+
+ POSSIBLE VALUES:
+ 00 - Solid fill color
+ 01 - Flat shading
+ 02 - Gouraud shading
+TEX7_SHADING_PS3 15:14 0x0 Specifies undefined(0), flat(1) and Gouraud(2/def)
+ shading for each texture.
+
+ POSSIBLE VALUES:
+ 00 - Solid fill color
+ 01 - Flat shading
+ 02 - Gouraud shading
+TEX8_SHADING_PS3 17:16 0x0 Specifies undefined(0), flat(1) and Gouraud(2/def)
+ shading for each texture.
+
+ POSSIBLE VALUES:
+ 00 - Solid fill color
+ 01 - Flat shading
+ 02 - Gouraud shading
+TEX9_SHADING_PS3 19:18 0x0 Specifies undefined(0), flat(1) and Gouraud(2/def)
+ shading for each texture.
+
+ POSSIBLE VALUES:
+ 00 - Solid fill color
+ 01 - Flat shading
+ 02 - Gouraud shading
+TEX10_SHADING_PS3 21:20 0x0 Specifies undefined(0), flat(1) and Gouraud(2/def)
+ shading for tex10 components.
+
+ POSSIBLE VALUES:
+ 00 - Solid fill color
+ 01 - Flat shading
+ 02 - Gouraud shading
+COLOR0_TEX_OVERRIDE 25:22 0x0 Specifies if each color should come from a texture and
+ which one.
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 175
+ Revision 1.4 October 13, 2009
+
+
+
+
+ POSSIBLE VALUES:
+ 00 - No override
+ 01 - Stuff texture 0
+ 02 - Stuff texture 1
+ 03 - Stuff texture 2
+ 04 - Stuff texture 3
+ 05 - Stuff texture 4
+ 06 - Stuff texture 5
+ 07 - Stuff texture 6
+ 08 - Stuff texture 7
+ 09 - Stuff texture 8/C2
+ 10 - Stuff texture 9/C3
+COLOR1_TEX_OVERRIDE 29:26 0x0 Specifies if each color should come from a texture and
+ which one.
+
+ POSSIBLE VALUES:
+ 00 - No override
+ 01 - Stuff texture 0
+ 02 - Stuff texture 1
+ 03 - Stuff texture 2
+ 04 - Stuff texture 3
+ 05 - Stuff texture 4
+ 06 - Stuff texture 5
+ 07 - Stuff texture 6
+ 08 - Stuff texture 7
+ 09 - Stuff texture 8/C2
+ 10 - Stuff texture 9/C3
+
+
+
+GA:GA_ENHANCE · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4274
+DESCRIPTION: GA Enhancement Register
+Field Name Bits Default Description
+DEADLOCK_CNTL 0 0x0 TCL/GA Deadlock control.
+
+ POSSIBLE VALUES:
+ 00 - No effect.
+ 01 - Prevents TCL interface from deadlocking on GA
+ side.
+FASTSYNC_CNTL 1 0x1 Enables Fast register/primitive switching
+
+ POSSIBLE VALUES:
+ 00 - No effect.
+ 01 - Enables high-performance register/primitive
+ switching.
+REG_READWRITE 2 0x0 R520+: When set, GA supports simultaneous register
+ reads & writes
+
+ POSSIBLE VALUES:
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 176
+ Revision 1.4 October 13, 2009
+
+
+
+
+ 00 - No effect.
+ 01 - Enables GA support of simultaneous register
+ reads and writes.
+REG_NOSTALL 3 0x0 POSSIBLE VALUES:
+ 00 - No effect.
+ 01 - Enables GA support of no-stall reads for register
+ read back.
+
+
+
+GA:GA_FIFO_CNTL · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4270
+DESCRIPTION: GA Input fifo high water marks
+Field Name Bits Default Description
+VERTEX_FIFO 2:0 0x0 Number of words remaining in input vertex fifo before
+ asserting nearly full
+INDEX_FIFO 5:3 0x0 Number of words remaining in input primitive fifo
+ before asserting nearly full
+REG_FIFO 13:6 0x0 Number of words remaining in input register fifo before
+ asserting nearly full
+
+
+
+GA:GA_FILL_A · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x422c
+DESCRIPTION: Alpha fill color
+Field Name Bits Default Description
+COLOR_ALPHA 31:0 0x0 FP20 format for alpha fill.
+
+
+
+GA:GA_FILL_B · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4228
+DESCRIPTION: Blue fill color
+Field Name Bits Default Description
+COLOR_BLUE 31:0 0x0 FP20 format for blue fill.
+
+
+
+GA:GA_FILL_G · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4224
+DESCRIPTION: Green fill color
+Field Name Bits Default Description
+COLOR_GREEN 31:0 0x0 FP20 format for green fill.
+
+
+
+GA:GA_FILL_R · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4220
+DESCRIPTION: Red fill color
+Field Name Bits Default Description
+COLOR_RED 31:0 0x0 FP20 format for red fill.
+
+
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 177
+ Revision 1.4 October 13, 2009
+
+
+
+
+GA:GA_FOG_OFFSET · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4298
+DESCRIPTION: Specifies the offset to apply to fog.
+Field Name Bits Default Description
+VALUE 31:0 0x0 32b SPFP scale value.
+
+
+
+GA:GA_FOG_SCALE · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4294
+DESCRIPTION: Specifies the scale to apply to fog.
+Field Name Bits Default Description
+VALUE 31:0 0x0 32b SPFP scale value.
+
+
+
+GA:GA_IDLE · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x425c
+DESCRIPTION: Returns idle status of various G3D block, captured when GA_IDLE written or when hard or soft
+reset asserted.
+Field Name Bits Default Description
+PIPE3_Z_IDLE 0 0x0 Idle status of physical pipe 3 Z unit
+PIPE2_Z_IDLE 1 0x0 Idle status of physical pipe 2 Z unit
+PIPE3_CB_IDLE 2 0x0 Idle status of physical pipe 3 CB unit
+PIPE2_CB_IDLE 3 0x0 Idle status of physical pipe 2 CB unit
+PIPE3_FG_IDLE 4 0x0 Idle status of physical pipe 3 FG unit
+PIPE2_FG_IDLE 5 0x0 Idle status of physical pipe 2 FG unit
+PIPE3_US_IDLE 6 0x0 Idle status of physical pipe 3 US unit
+PIPE2_US_IDLE 7 0x0 Idle status of physical pipe 2 US unit
+PIPE3_SC_IDLE 8 0x0 Idle status of physical pipe 3 SC unit
+PIPE2_SC_IDLE 9 0x0 Idle status of physical pipe 2 SC unit
+PIPE3_RS_IDLE 10 0x0 Idle status of physical pipe 3 RS unit
+PIPE2_RS_IDLE 11 0x0 Idle status of physical pipe 2 RS unit
+PIPE1_Z_IDLE 12 0x0 Idle status of physical pipe 1 Z unit
+PIPE0_Z_IDLE 13 0x0 Idle status of physical pipe 0 Z unit
+PIPE1_CB_IDLE 14 0x0 Idle status of physical pipe 1 CB unit
+PIPE0_CB_IDLE 15 0x0 Idle status of physical pipe 0 CB unit
+PIPE1_FG_IDLE 16 0x0 Idle status of physical pipe 1 FG unit
+PIPE0_FG_IDLE 17 0x0 Idle status of physical pipe 0 FG unit
+PIPE1_US_IDLE 18 0x0 Idle status of physical pipe 1 US unit
+PIPE0_US_IDLE 19 0x0 Idle status of physical pipe 0 US unit
+PIPE1_SC_IDLE 20 0x0 Idle status of physical pipe 1 SC unit
+PIPE0_SC_IDLE 21 0x0 Idle status of physical pipe 0 SC unit
+PIPE1_RS_IDLE 22 0x0 Idle status of physical pipe 1 RS unit
+PIPE0_RS_IDLE 23 0x0 Idle status of physical pipe 0 RS unit
+
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 178
+ Revision 1.4 October 13, 2009
+
+
+
+
+SU_IDLE 24 0x0 Idle status of SU unit
+GA_IDLE 25 0x0 Idle status of GA unit
+GA_UNIT2_IDLE 26 0x0 Idle status of GA unit2
+
+
+
+GA:GA_LINE_CNTL · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4234
+DESCRIPTION: Line control
+Field Name Bits Default Description
+WIDTH 15:0 0x0 1/2 width of line, in subpixels (1/12 or 1/16 only, even in
+ 8b subprecision); (16.0) fixed format.
+END_TYPE 17:16 0x0 Specifies how ends of lines should be drawn.
+
+ POSSIBLE VALUES:
+ 00 - Horizontal
+ 01 - Vertical
+ 02 - Square (horizontal or vertical depending upon
+ slope)
+ 03 - Computed (perpendicular to slope)
+SORT 18 0x0 R520+: When enabled, all lines are sorted so that V0 is
+ vertex with smallest X, or if X equal, smallest Y.
+
+ POSSIBLE VALUES:
+ 00 - No sorting (default)
+ 01 - Sort on minX than MinY
+
+
+
+GA:GA_LINE_S0 · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4264
+DESCRIPTION: S Texture Coordinate Value for Vertex 0 of Line (stuff textures -- i.e. AA)
+Field Name Bits Default Description
+S0 31:0 0x0 S texture coordinate value generated for vertex 0 of an
+ antialiased line; 32-bit IEEE float format. Typical 0.0.
+
+
+
+GA:GA_LINE_S1 · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4268
+DESCRIPTION: S Texture Coordinate Value for Vertex 1 of Lines (V2 of parallelogram -- stuff textures -- i.e. AA)
+Field Name Bits Default Description
+S1 31:0 0x0 S texture coordinate value generated for vertex 1 of an
+ antialiased line; 32-bit IEEE float format. Typical 1.0.
+
+
+
+GA:GA_LINE_STIPPLE_CONFIG · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4238
+DESCRIPTION: Line Stipple configuration information.
+Field Name Bits Default Description
+LINE_RESET 1:0 0x0 Specify type of reset to use for stipple accumulation.
+
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 179
+ Revision 1.4 October 13, 2009
+
+
+
+
+ POSSIBLE VALUES:
+ 00 - No reseting
+ 01 - Reset per line
+ 02 - Reset per packet
+STIPPLE_SCALE 31:2 0x0 Specifies, in truncated (30b) floating point, scale to apply
+ to generated texture coordinates.
+
+
+
+GA:GA_LINE_STIPPLE_VALUE · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4260
+DESCRIPTION: Current value of stipple accumulator.
+Field Name Bits Default Description
+STIPPLE_VALUE 31:0 0x0 24b Integer, measuring stipple accumulation in subpixels
+ (1/12 or 1/16, even in 8b precision). (note: field is 32b,
+ but only lower 24b used)
+
+
+
+GA:GA_OFFSET · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4290
+DESCRIPTION: Specifies x & y offsets for vertex data after conversion to FP.
+Field Name Bits Default Description
+X_OFFSET 15:0 0x0 Specifies X offset in S15 format (subpixels -- 1/12 or
+ 1/16, even in 8b subprecision).
+Y_OFFSET 31:16 0x0 Specifies Y offset in S15 format (subpixels -- 1/12 or
+ 1/16, even in 8b subprecision).
+
+
+
+GA:GA_POINT_MINMAX · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4230
+DESCRIPTION: Specifies maximum and minimum point & sprite sizes for per vertex size specification.
+Field Name Bits Default Description
+MIN_SIZE 15:0 0x0 Minimum point & sprite radius (in subsamples) size to
+ allow.
+MAX_SIZE 31:16 0x0 Maximum point & sprite radius (in subsamples) size to
+ allow.
+
+
+
+GA:GA_POINT_S0 · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4200
+DESCRIPTION: S Texture Coordinate of Vertex 0 for Point texture stuffing (LLC)
+Field Name Bits Default Description
+S0 31:0 0x0 S texture coordinate of vertex 0 for point; 32-bit IEEE
+ float format.
+
+
+
+GA:GA_POINT_S1 · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4208
+DESCRIPTION: S Texture Coordinate of Vertex 2 for Point texture stuffing (URC)
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 180
+ Revision 1.4 October 13, 2009
+
+
+
+
+Field Name Bits Default Description
+S1 31:0 0x0 S texture coordinate of vertex 2 for point; 32-bit IEEE
+ float format.
+
+
+
+GA:GA_POINT_SIZE · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x421c
+DESCRIPTION: Dimensions for Points
+Field Name Bits Default Description
+HEIGHT 15:0 0x0 1/2 Height of point; fixed (16.0), subpixel format (1/12
+ or 1/16, even if in 8b precision).
+WIDTH 31:16 0x0 1/2 Width of point; fixed (16.0), subpixel format (1/12 or
+ 1/16, even if in 8b precision)
+
+
+
+GA:GA_POINT_T0 · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4204
+DESCRIPTION: T Texture Coordinate of Vertex 0 for Point texture stuffing (LLC)
+Field Name Bits Default Description
+T0 31:0 0x0 T texture coordinate of vertex 0 for point; 32-bit IEEE
+ float format.
+
+
+
+GA:GA_POINT_T1 · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x420c
+DESCRIPTION: T Texture Coordinate of Vertex 2 for Point texture stuffing (URC)
+Field Name Bits Default Description
+T1 31:0 0x0 T texture coordinate of vertex 2 for point; 32-bit IEEE
+ float format.
+
+
+
+GA:GA_POLY_MODE · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4288
+DESCRIPTION: Polygon Mode
+Field Name Bits Default Description
+POLY_MODE 1:0 0x0 Polygon mode enable.
+
+ POSSIBLE VALUES:
+ 00 - Disable poly mode (render triangles).
+ 01 - Dual mode (send 2 sets of 3 polys with specified
+ poly type).
+ 02 - Reserved
+FRONT_PTYPE 6:4 0x0 Specifies how to render front-facing polygons.
+
+ POSSIBLE VALUES:
+ 00 - Draw points.
+ 01 - Draw lines.
+ 02 - Draw triangles.
+ 03 - Reserved 3 - 7.
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 181
+ Revision 1.4 October 13, 2009
+
+
+
+
+BACK_PTYPE 9:7 0x0 Specifies how to render back-facing polygons.
+
+ POSSIBLE VALUES:
+ 00 - Draw points.
+ 01 - Draw lines.
+ 02 - Draw triangles.
+ 03 - Reserved 3 - 7.
+
+
+
+GA:GA_ROUND_MODE · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x428c
+DESCRIPTION: Specifies the rouding mode for geometry & color SPFP to FP conversions.
+Field Name Bits Default Description
+GEOMETRY_ROUND 1:0 0x0 Trunc (0) or round to nearest (1) for geometry (XY).
+
+ POSSIBLE VALUES:
+ 00 - Round to trunc
+ 01 - Round to nearest
+COLOR_ROUND 3:2 0x0 When set, FP32 to FP20 using round to nearest;
+ otherwise trunc
+
+ POSSIBLE VALUES:
+ 00 - Round to trunc
+ 01 - Round to nearest
+RGB_CLAMP 4 0x0 Specifies SPFP color clamp range of [0,1] or FP20 for
+ RGB.
+
+ POSSIBLE VALUES:
+ 00 - Clamp to [0,1.0] for RGB
+ 01 - RGB is FP20
+ALPHA_CLAMP 5 0x0 Specifies SPFP alpha clamp range of [0,1] or FP20.
+
+ POSSIBLE VALUES:
+ 00 - Clamp to [0,1.0] for Alpha
+ 01 - Alpha is FP20
+GEOMETRY_MASK 9:6 0x0 4b negative polarity mask for subpixel precision.
+ Inverted version gets ANDed with subpixel X, Y masks.
+
+
+
+GA:GA_SOLID_BA · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4280
+DESCRIPTION: Specifies blue & alpha components of fill color -- S312 format -- Backwards comp.
+Field Name Bits Default Description
+COLOR_ALPHA 15:0 0x0 Component alpha value. (S3.12)
+COLOR_BLUE 31:16 0x0 Component blue value. (S3.12)
+
+
+
+GA:GA_SOLID_RG · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x427c
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 182
+ Revision 1.4 October 13, 2009
+
+
+
+
+DESCRIPTION: Specifies red & green components of fill color -- S312 format -- Backwards comp.
+Field Name Bits Default Description
+COLOR_GREEN 15:0 0x0 Component green value (S3.12).
+COLOR_RED 31:16 0x0 Component red value (S3.12).
+
+
+
+GA:GA_TRIANGLE_STIPPLE · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4214
+DESCRIPTION: Specifies amount to shift integer position of vertex (screen space) before converting to float for
+triangle stipple.
+Field Name Bits Default Description
+X_SHIFT 3:0 0x0 Amount to shift x position before conversion to SPFP.
+Y_SHIFT 19:16 0x0 Amount to shift y position before conversion to SPFP.
+
+
+
+GA:GA_US_VECTOR_DATA · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4254
+DESCRIPTION: Data register for loading US instructions and constants
+Field Name Bits Default Description
+DATA 31:0 0x0 32 bit dword
+
+
+
+GA:GA_US_VECTOR_INDEX · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4250
+DESCRIPTION: Used to load US instructions and constants
+Field Name Bits Default Description
+INDEX 8:0 0x0 Instruction (TYPE == GA_US_VECTOR_INST) or
+ constant (TYPE == GA_US_VECTOR_CONST)
+ number at which to start loading. The GA will then
+ expect n*6 (instructions) or n*4 (constants) writes to
+ GA_US_VECTOR_DATA. The GA will self-increment
+ until this register is written again. For instructions, the
+ GA expects the dwords in the following order:
+ US_CMN_INST, US_ALU_RGB_ADDR,
+ US_ALU_ALPHA_ADDR, US_ALU_ALPHA,
+ US_RGB_INST, US_ALPHA_INST, US_RGBA_INST.
+ For constants, the GA expects the dwords in RGBA
+ order.
+TYPE 16 0x0 Specifies if the GA should load instructions or constants.
+
+ POSSIBLE VALUES:
+ 00 - Load instructions - INDEX is an instruction
+ index
+ 01 - Load constants - INDEX is a constant index
+CLAMP 17 0x0 POSSIBLE VALUES:
+ 00 - No clamping of data - Default
+ 01 - Clamp to [-1.0,1.0] constant data
+
+
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 183
+ Revision 1.4 October 13, 2009
+
+
+
+
+11.5 Graphics Backend Registers
+
+GB:GB_AA_CONFIG · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4020
+DESCRIPTION: Specifies the graphics pipeline configuration for antialiasing.
+Field Name Bits Default Description
+AA_ENABLE 0 0x0 Enables antialiasing.
+
+ POSSIBLE VALUES:
+ 00 - Antialiasing disabled(def)
+ 01 - Antialiasing enabled
+NUM_AA_SUBSAMPLES 2:1 0x0 Specifies the number of subsamples to use while
+ antialiasing.
+
+ POSSIBLE VALUES:
+ 00 - 2 subsamples
+ 01 - 3 subsamples
+ 02 - 4 subsamples
+ 03 - 6 subsamples
+
+
+
+GB:GB_ENABLE · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4008
+DESCRIPTION: Specifies top of Raster pipe specific enable controls.
+Field Name Bits Default Description
+POINT_STUFF_ENABLE 0 0x0 Specifies if points will have stuffed texture coordinates.
+
+ POSSIBLE VALUES:
+ 00 - Disable point texture stuffing.
+ 01 - Enable point texture stuffing.
+LINE_STUFF_ENABLE 1 0x0 Specifies if lines will have stuffed texture coordinates.
+
+ POSSIBLE VALUES:
+ 00 - Disable line texture stuffing.
+ 01 - Enable line texture stuffing.
+TRIANGLE_STUFF_ENABLE 2 0x0 Specifies if triangles will have stuffed texture
+ coordinates.
+
+ POSSIBLE VALUES:
+ 00 - Disable triangle texture stuffing.
+ 01 - Enable triangle texture stuffing.
+STENCIL_AUTO 5:4 0x0 Specifies if the auto dec/inc stencil mode should be
+ enabled, and how.
+
+ POSSIBLE VALUES:
+ 00 - Disable stencil auto inc/dec (def).
+ 01 - Enable stencil auto inc/dec based on triangle
+ cw/ccw, force into dzy low bit.
+ 02 - Force 0 into dzy low bit.
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 184
+ Revision 1.4 October 13, 2009
+
+
+
+
+TEX0_SOURCE 17:16 0x0 Specifies the sources of the texture coordinates for each
+ texture.
+
+ POSSIBLE VALUES:
+ 00 - Replicate VAP source texture coordinates
+ (S,T,[R,Q]).
+ 01 - Stuff with source texture coordinates (S,T).
+ 02 - Stuff with source texture coordinates (S,T,R).
+TEX1_SOURCE 19:18 0x0 Specifies the sources of the texture coordinates for each
+ texture.
+
+ POSSIBLE VALUES:
+ 00 - Replicate VAP source texture coordinates
+ (S,T,[R,Q]).
+ 01 - Stuff with source texture coordinates (S,T).
+ 02 - Stuff with source texture coordinates (S,T,R).
+TEX2_SOURCE 21:20 0x0 Specifies the sources of the texture coordinates for each
+ texture.
+
+ POSSIBLE VALUES:
+ 00 - Replicate VAP source texture coordinates
+ (S,T,[R,Q]).
+ 01 - Stuff with source texture coordinates (S,T).
+ 02 - Stuff with source texture coordinates (S,T,R).
+TEX3_SOURCE 23:22 0x0 Specifies the sources of the texture coordinates for each
+ texture.
+
+ POSSIBLE VALUES:
+ 00 - Replicate VAP source texture coordinates
+ (S,T,[R,Q]).
+ 01 - Stuff with source texture coordinates (S,T).
+ 02 - Stuff with source texture coordinates (S,T,R).
+TEX4_SOURCE 25:24 0x0 Specifies the sources of the texture coordinates for each
+ texture.
+
+ POSSIBLE VALUES:
+ 00 - Replicate VAP source texture coordinates
+ (S,T,[R,Q]).
+ 01 - Stuff with source texture coordinates (S,T).
+ 02 - Stuff with source texture coordinates (S,T,R).
+TEX5_SOURCE 27:26 0x0 Specifies the sources of the texture coordinates for each
+ texture.
+
+ POSSIBLE VALUES:
+ 00 - Replicate VAP source texture coordinates
+ (S,T,[R,Q]).
+ 01 - Stuff with source texture coordinates (S,T).
+ 02 - Stuff with source texture coordinates (S,T,R).
+TEX6_SOURCE 29:28 0x0 Specifies the sources of the texture coordinates for each
+ texture.
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 185
+ Revision 1.4 October 13, 2009
+
+
+
+
+ POSSIBLE VALUES:
+ 00 - Replicate VAP source texture coordinates
+ (S,T,[R,Q]).
+ 01 - Stuff with source texture coordinates (S,T).
+ 02 - Stuff with source texture coordinates (S,T,R).
+TEX7_SOURCE 31:30 0x0 Specifies the sources of the texture coordinates for each
+ texture.
+
+ POSSIBLE VALUES:
+ 00 - Replicate VAP source texture coordinates
+ (S,T,[R,Q]).
+ 01 - Stuff with source texture coordinates (S,T).
+ 02 - Stuff with source texture coordinates (S,T,R).
+
+
+
+GB:GB_FIFO_SIZE · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4024
+DESCRIPTION: Specifies the sizes of the various FIFO`s in the sc/rs/us. This register must be the first one written
+Field Name Bits Default Description
+SC_IFIFO_SIZE 1:0 0x0 Size of scan converter input FIFO (XYZ)
+
+ POSSIBLE VALUES:
+ 00 - 32 words
+ 01 - 64 words
+ 02 - 128 words
+ 03 - 256 words
+SC_TZFIFO_SIZE 3:2 0x0 Size of scan converter top-of-pipe Z FIFO
+
+ POSSIBLE VALUES:
+ 00 - 16 words
+ 01 - 32 words
+ 02 - 64 words
+ 03 - 128 words
+SC_BFIFO_SIZE 5:4 0x0 Size of scan converter input FIFO (B)
+
+ POSSIBLE VALUES:
+ 00 - 32 words
+ 01 - 64 words
+ 02 - 128 words
+ 03 - 256 words
+RS_TFIFO_SIZE 7:6 0x0 Size of ras input FIFO (Texture)
+
+ POSSIBLE VALUES:
+ 00 - 64 words
+ 01 - 128 words
+ 02 - 256 words
+ 03 - 512 words
+RS_CFIFO_SIZE 9:8 0x0 Size of ras input FIFO (Color)
+
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 186
+ Revision 1.4 October 13, 2009
+
+
+
+
+ POSSIBLE VALUES:
+ 00 - 64 words
+ 01 - 128 words
+ 02 - 256 words
+ 03 - 512 words
+US_RAM_SIZE 11:10 0x0 Size of us RAM
+
+ POSSIBLE VALUES:
+ 00 - 64 words
+ 01 - 128 words
+ 02 - 256 words
+ 03 - 512 words
+US_OFIFO_SIZE 13:12 0x0 Size of us output FIFO (RGBA)
+
+ POSSIBLE VALUES:
+ 00 - 16 words
+ 01 - 32 words
+ 02 - 64 words
+ 03 - 128 words
+US_WFIFO_SIZE 15:14 0x0 Size of us output FIFO (W)
+
+ POSSIBLE VALUES:
+ 00 - 16 words
+ 01 - 32 words
+ 02 - 64 words
+ 03 - 128 words
+RS_HIGHWATER_COL 18:16 0x0 High water mark for RS colors` fifo -- NOT USED
+RS_HIGHWATER_TEX 21:19 0x0 High water mark for RS textures` fifo -- NOT USED
+US_OFIFO_HIGHWATER 23:22 0x0 High water mark for US output fifo
+
+ POSSIBLE VALUES:
+ 00 - 0 words
+ 01 - 4 words
+ 02 - 8 words
+ 03 - 12 words
+US_CUBE_FIFO_HIGHWATER 28:24 0x0 High water mark for US cube map fifo
+
+
+
+GB:GB_FIFO_SIZE1 · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4070
+DESCRIPTION: Specifies the sizes of the various FIFO`s in the sc/rs.
+Field Name Bits Default Description
+SC_HIGHWATER_IFIFO 5:0 0x0 High water mark for SC input fifo
+SC_HIGHWATER_BFIFO 11:6 0x0 High water mark for SC input fifo (B)
+RS_HIGHWATER_COL 17:12 0x0 High water mark for RS colors` fifo
+RS_HIGHWATER_TEX 23:18 0x0 High water mark for RS textures` fifo
+
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 187
+ Revision 1.4 October 13, 2009
+
+
+
+
+GB:GB_MSPOS0 · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4010
+DESCRIPTION: Specifies the position of multisamples 0 through 2
+Field Name Bits Default Description
+MS_X0 3:0 0x0 Specifies the x and y position (in subpixels) of
+ multisample 0
+MS_Y0 7:4 0x0 Specifies the x and y position (in subpixels) of
+ multisample 0
+MS_X1 11:8 0x0 Specifies the x and y position (in subpixels) of
+ multisample 1
+MS_Y1 15:12 0x0 Specifies the x and y position (in subpixels) of
+ multisample 1
+MS_X2 19:16 0x0 Specifies the x and y position (in subpixels) of
+ multisample 2
+MS_Y2 23:20 0x0 Specifies the x and y position (in subpixels) of
+ multisample 2
+MSBD0_Y 27:24 0x0 Specifies the minimum x and y distance (in subpixels)
+ between the pixel edge and the multisamples. These
+ values are used in the first (coarse) scan converter
+MSBD0_X 31:28 0x0 Specifies the minimum x and y distance (in subpixels)
+ between the pixel edge and the multisamples. These
+ values are used in the first (coarse) scan converter
+
+
+
+GB:GB_MSPOS1 · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4014
+DESCRIPTION: Specifies the position of multisamples 3 through 5
+Field Name Bits Default Description
+MS_X3 3:0 0x0 Specifies the x and y position (in subpixels) of
+ multisample 3
+MS_Y3 7:4 0x0 Specifies the x and y position (in subpixels) of
+ multisample 3
+MS_X4 11:8 0x0 Specifies the x and y position (in subpixels) of
+ multisample 4
+MS_Y4 15:12 0x0 Specifies the x and y position (in subpixels) of
+ multisample 4
+MS_X5 19:16 0x0 Specifies the x and y position (in subpixels) of
+ multisample 5
+MS_Y5 23:20 0x0 Specifies the x and y position (in subpixels) of
+ multisample 5
+MSBD1 27:24 0x0 Specifies the minimum distance (in subpixels) between
+ the pixel edge and the multisamples. This value is used
+ in the second (quad) scan converter
+
+
+
+GB:GB_PIPE_SELECT · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x402c
+DESCRIPTION: Selects which of 4 pipes are active.
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 188
+ Revision 1.4 October 13, 2009
+
+
+
+
+Field Name Bits Default Description
+PIPE0_ID 1:0 0x0 Maps physical pipe 0 to logical pipe ID (def 0).
+PIPE1_ID 3:2 0x1 Maps physical pipe 1 to logical pipe ID (def 1).
+PIPE2_ID 5:4 0x2 Maps physical pipe 2 to logical pipe ID (def 2).
+PIPE3_ID 7:6 0x3 Maps physical pipe 3 to logical pipe ID (def 3).
+PIPE_MASK 11:8 0x0 4b mask, indicates which physical pipes are enabled (def
+ none=0x0) -- B3=P3, B2=P2, B1=P1, B0=P0. -- 1:
+ enabled, 0: disabled
+MAX_PIPE 13:12 0x3 2b, indicates, by the fuses, the max number of allowed
+ pipes. 0 = 1 pipe ... 3 = 4 pipes -- Read Only
+BAD_PIPES 17:14 0xF 4b, indicates, by the fuses, the bad pipes: B3=P3, B2=P2,
+ B1=P1, B0=P0 -- 1: bad, 0: good -- Read Only
+CONFIG_PIPES 18 0x0 If this bit is set when writing this register, the logical
+ pipe ID values are assigned automatically based on the
+ values that are read back in the MAX_PIPE and
+ BAD_PIPES fields. This field is always read back as 0.
+
+ POSSIBLE VALUES:
+ 00 - Do nothing
+ 01 - Force self-configuration
+
+
+
+GB:GB_SELECT · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x401c
+DESCRIPTION: Specifies various polygon specific selects (fog, depth, perspective).
+Field Name Bits Default Description
+FOG_SELECT 2:0 0x0 Specifies source for outgoing (GA to SU) fog value.
+
+ POSSIBLE VALUES:
+ 00 - Select C0A
+ 01 - Select C1A
+ 02 - Select C2A
+ 03 - Select C3A
+ 04 - Select 1/(1/W)
+ 05 - Select Z
+DEPTH_SELECT 3 0x0 Specifies source for outgoing (GA/SU & SU/RAS) depth
+ value.
+
+ POSSIBLE VALUES:
+ 00 - Select Z
+ 01 - Select 1/(1/W)
+W_SELECT 4 0x0 Specifies source for outgoing (1/W) value, used to
+ disable perspective correct colors/textures.
+
+ POSSIBLE VALUES:
+ 00 - Select (1/W)
+ 01 - Select 1.0
+FOG_STUFF_ENABLE 5 0x0 Controls enabling of fog stuffing into texture coordinate.
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 189
+ Revision 1.4 October 13, 2009
+
+
+
+
+ POSSIBLE VALUES:
+ 00 - Disable fog texture stuffing
+ 01 - Enable fog texture stuffing
+FOG_STUFF_TEX 9:6 0x0 Controls which texture gets fog value
+FOG_STUFF_COMP 11:10 0x0 Controls which component of texture gets fog value
+
+
+
+GB:GB_TILE_CONFIG · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4018
+DESCRIPTION: Specifies the graphics pipeline configuration for rasterization
+Field Name Bits Default Description
+ENABLE 0 0x1 Enables tiling, otherwise all tiles receive all polygons.
+
+ POSSIBLE VALUES:
+ 00 - Tiling disabled.
+ 01 - Tiling enabled (def).
+PIPE_COUNT 3:1 0x0 Specifies the number of active pipes and contexts (up to
+ 4 pipes, 1 ctx). When this field is written, it is
+ automatically reduced by hardware so as not to use more
+ pipes than the number indicated in
+ GB_PIPE_SELECT.MAX_PIPES or the number of
+ pipes left unmasked GB_PIPE_SELECT.BAD_PIPES.
+ The potentially altered value is read back, rather than the
+ original value written by software.
+
+ POSSIBLE VALUES:
+ 00 - RV350 (1 pipe, 1 ctx)
+ 03 - R300 (2 pipes, 1 ctx)
+ 06 – R420-3P (3 pipes, 1 ctx)
+ 07 – R420 (4 pipes, 1 ctx)
+TILE_SIZE 5:4 0x1 Specifies width & height (square), in pixels (only 16, 32
+ available).
+
+ POSSIBLE VALUES:
+ 00 - 8 pixels.
+ 01 - 16 pixels.
+ 02 - 32 pixels.
+SUPER_SIZE 8:6 0x0 Specifies number of tiles and config in super chip
+ configuration.
+
+ POSSIBLE VALUES:
+ 00 - 1x1 tile (one 1x1).
+ 01 - 2 tiles (two 1x1 : ST-A,B).
+ 02 - 4 tiles (one 2x2).
+ 03 - 8 tiles (two 2x2 : ST-A,B).
+ 04 - 16 tiles (one 4x4).
+ 05 - 32 tiles (two 4x4 : ST-A,B).
+ 06 - 64 tiles (one 8x8).
+ 07 - 128 tiles (two 8x8 : ST-A,B).
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 190
+ Revision 1.4 October 13, 2009
+
+
+
+
+SUPER_X 11:9 0x0 X Location of chip within super tile.
+SUPER_Y 14:12 0x0 Y Location of chip within super tile.
+SUPER_TILE 15 0x0 Tile location of chip in a multi super tile config (Super
+ size of 2,8,32 or 128).
+
+ POSSIBLE VALUES:
+ 00 - ST-A tile.
+ 01 - ST-B tile.
+SUBPIXEL 16 0x0 Specifies the precision of subpixels wrt pixels (12 or 16).
+
+ POSSIBLE VALUES:
+ 00 - Select 1/12 subpixel precision.
+ 01 - Select 1/16 subpixel precision.
+QUADS_PER_RAS 18:17 0x0 Specifies the number of quads to be sent to each
+ rasterizer in turn when in RV300B or R300B mode
+
+ POSSIBLE VALUES:
+ 00 - 4 Quads
+ 01 - 8 Quads
+ 02 - 16 Quads
+ 03 - 32 Quads
+BB_SCAN 19 0x0 Specifies whether to use an intercept or bounding box
+ based calculation for the first (coarse) scan converter
+
+ POSSIBLE VALUES:
+ 00 - Use intercept based scan converter
+ 01 - Use bounding box based scan converter
+ALT_SCAN_EN 20 0x0 Specifies whether to use an altenate scan pattern for the
+ coarse scan converter
+
+ POSSIBLE VALUES:
+ 00 - Use normal left-right scan
+ 01 - Use alternate left-right-left scan
+ALT_OFFSET 21 0x0 Not used -- should be 0
+
+ POSSIBLE VALUES:
+ 00 - Not used
+ 01 - Not used
+SUBPRECISION 22 0x0 Set to 0
+ALT_TILING 23 0x0 Support for 3x2 tiling in 3P mode
+
+ POSSIBLE VALUES:
+ 00 - Use default tiling in all tiling modes
+ 01 - Use alternative 3x2 tiling in 3P mode
+Z_EXTENDED 24 0x0 Support for extended setup Z range from [0,1] to [-2,2]
+ with per pixel clamping
+
+ POSSIBLE VALUES:
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 191
+ Revision 1.4 October 13, 2009
+
+
+
+
+ 00 - Use (24.1) Z format, with vertex clamp to
+ [1.0,0.0]
+ 01 - Use (S25.1) format, with vertex clamp to [2.0,-
+ 2.0] and per pixel [1.0,0.0]
+
+
+
+GB:GB_Z_PEQ_CONFIG · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4028
+DESCRIPTION: Specifies the z plane equation configuration.
+Field Name Bits Default Description
+Z_PEQ_SIZE 0 0x0 Specifies the z plane equation size.
+
+ POSSIBLE VALUES:
+ 00 - 4x4 z plane equations (point-sampled or aa)
+ 01 - 8x8 z plane equations (point-sampled only)
+
+
+
+GB:PS3_ENABLE · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4118
+DESCRIPTION: PS3 mode enable register
+Field Name Bits Default Description
+PS3_MODE 0 0x0 When reset (default), follows R300/PS2 mode; when set,
+ allows for new ps3 mode.
+
+ POSSIBLE VALUES:
+ 00 - Default PS2 mode
+ 01 - New PS3 mode
+
+
+GB:PS3_TEX_SOURCE · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4120
+DESCRIPTION: Specifies source for texture components in PS3 mode
+Field Name Bits Default Description
+TEX0_SOURCE 1:0 0x0 Specifies VAP source, or GA (ST) or GA (STR) stuffing
+ for each texture.
+
+ POSSIBLE VALUES:
+ 00 - Replicate VAP source texture coordinates
+ (S,T,[R,Q]).
+ 01 - Stuff with source texture coordinates (S,T).
+ 02 - Stuff with source texture coordinates (S,T,R).
+TEX1_SOURCE 3:2 0x0 Specifies VAP source, or GA (ST) or GA (STR) stuffing
+ for each texture.
+
+ POSSIBLE VALUES:
+ 00 - Replicate VAP source texture coordinates
+ (S,T,[R,Q]).
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 192
+ Revision 1.4 October 13, 2009
+
+
+
+
+ 01 - Stuff with source texture coordinates (S,T).
+ 02 - Stuff with source texture coordinates (S,T,R).
+TEX2_SOURCE 5:4 0x0 Specifies VAP source, or GA (ST) or GA (STR) stuffing
+ for each texture.
+
+ POSSIBLE VALUES:
+ 00 - Replicate VAP source texture coordinates
+ (S,T,[R,Q]).
+ 01 - Stuff with source texture coordinates (S,T).
+ 02 - Stuff with source texture coordinates (S,T,R).
+TEX3_SOURCE 7:6 0x0 Specifies VAP source, or GA (ST) or GA (STR) stuffing
+ for each texture.
+
+ POSSIBLE VALUES:
+ 00 - Replicate VAP source texture coordinates
+ (S,T,[R,Q]).
+ 01 - Stuff with source texture coordinates (S,T).
+ 02 - Stuff with source texture coordinates (S,T,R).
+TEX4_SOURCE 9:8 0x0 Specifies VAP source, or GA (ST) or GA (STR) stuffing
+ for each texture.
+
+ POSSIBLE VALUES:
+ 00 - Replicate VAP source texture coordinates
+ (S,T,[R,Q]).
+ 01 - Stuff with source texture coordinates (S,T).
+ 02 - Stuff with source texture coordinates (S,T,R).
+TEX5_SOURCE 11:10 0x0 Specifies VAP source, or GA (ST) or GA (STR) stuffing
+ for each texture.
+
+ POSSIBLE VALUES:
+ 00 - Replicate VAP source texture coordinates
+ (S,T,[R,Q]).
+ 01 - Stuff with source texture coordinates (S,T).
+ 02 - Stuff with source texture coordinates (S,T,R).
+TEX6_SOURCE 13:12 0x0 Specifies VAP source, or GA (ST) or GA (STR) stuffing
+ for each texture.
+
+ POSSIBLE VALUES:
+ 00 - Replicate VAP source texture coordinates
+ (S,T,[R,Q]).
+ 01 - Stuff with source texture coordinates (S,T).
+ 02 - Stuff with source texture coordinates (S,T,R).
+TEX7_SOURCE 15:14 0x0 Specifies VAP source, or GA (ST) or GA (STR) stuffing
+ for each texture.
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 193
+ Revision 1.4 October 13, 2009
+
+
+
+
+ POSSIBLE VALUES:
+ 00 - Replicate VAP source texture coordinates
+ (S,T,[R,Q]).
+ 01 - Stuff with source texture coordinates (S,T).
+ 02 - Stuff with source texture coordinates (S,T,R).
+TEX8_SOURCE 17:16 0x0 Specifies VAP source, or GA (ST) or GA (STR) stuffing
+ for each texture.
+
+ POSSIBLE VALUES:
+ 00 - Replicate VAP source texture coordinates
+ (S,T,[R,Q]).
+ 01 - Stuff with source texture coordinates (S,T).
+ 02 - Stuff with source texture coordinates (S,T,R).
+TEX9_SOURCE 19:18 0x0 Specifies VAP source, or GA (ST) or GA (STR) stuffing
+ for each texture.
+
+ POSSIBLE VALUES:
+ 00 - Replicate VAP source texture coordinates
+ (S,T,[R,Q]).
+ 01 - Stuff with source texture coordinates (S,T).
+ 02 - Stuff with source texture coordinates (S,T,R).
+
+
+GB:PS3_VTX_FMT · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x411c
+DESCRIPTION: PS3 vertex format register
+Field Name Bits Default Description
+TEX_0_COMP_CNT 2:0 0x0 How many active components (0,1,2,3,4) are in each
+ texture.
+
+ POSSIBLE VALUES:
+ 00 - Not active
+ 01 - 1 component (VAP/GA), 2 component (GA/SU)
+ 02 - 2 component (VAP/GA), 2 component (GA/SU)
+ 03 - 3 component (VAP/GA), 3 component (GA/SU)
+ 04 - 4 component (VAP/GA), 4 component (GA/SU)
+TEX_1_COMP_CNT 5:3 0x0 How many active components (0,1,2,3,4) are in each
+ texture.
+
+ POSSIBLE VALUES:
+ 00 - Not active
+ 01 - 1 component (VAP/GA), 2 component (GA/SU)
+ 02 - 2 component (VAP/GA), 2 component (GA/SU)
+ 03 - 3 component (VAP/GA), 3 component (GA/SU)
+
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 194
+ Revision 1.4 October 13, 2009
+
+
+
+
+ 04 - 4 component (VAP/GA), 4 component (GA/SU)
+TEX_2_COMP_CNT 8:6 0x0 How many active components (0,1,2,3,4) are in each
+ texture.
+
+ POSSIBLE VALUES:
+ 00 - Not active
+ 01 - 1 component (VAP/GA), 2 component (GA/SU)
+ 02 - 2 component (VAP/GA), 2 component (GA/SU)
+ 03 - 3 component (VAP/GA), 3 component (GA/SU)
+ 04 - 4 component (VAP/GA), 4 component (GA/SU)
+TEX_3_COMP_CNT 11:9 0x0 How many active components (0,1,2,3,4) are in each
+ texture.
+
+ POSSIBLE VALUES:
+ 00 - Not active
+ 01 - 1 component (VAP/GA), 2 component (GA/SU)
+ 02 - 2 component (VAP/GA), 2 component (GA/SU)
+ 03 - 3 component (VAP/GA), 3 component (GA/SU)
+ 04 - 4 component (VAP/GA), 4 component (GA/SU)
+TEX_4_COMP_CNT 14:12 0x0 How many active components (0,1,2,3,4) are in each
+ texture.
+
+ POSSIBLE VALUES:
+ 00 - Not active
+ 01 - 1 component (VAP/GA), 2 component (GA/SU)
+ 02 - 2 component (VAP/GA), 2 component (GA/SU)
+ 03 - 3 component (VAP/GA), 3 component (GA/SU)
+ 04 - 4 component (VAP/GA), 4 component (GA/SU)
+TEX_5_COMP_CNT 17:15 0x0 How many active components (0,1,2,3,4) are in each
+ texture.
+
+ POSSIBLE VALUES:
+ 00 - Not active
+ 01 - 1 component (VAP/GA), 2 component (GA/SU)
+ 02 - 2 component (VAP/GA), 2 component (GA/SU)
+ 03 - 3 component (VAP/GA), 3 component (GA/SU)
+ 04 - 4 component (VAP/GA), 4 component (GA/SU)
+TEX_6_COMP_CNT 20:18 0x0 How many active components (0,1,2,3,4) are in each
+ texture.
+
+ POSSIBLE VALUES:
+ 00 - Not active
+ 01 - 1 component (VAP/GA), 2 component (GA/SU)
+ 02 - 2 component (VAP/GA), 2 component (GA/SU)
+
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 195
+ Revision 1.4 October 13, 2009
+
+
+
+
+ 03 - 3 component (VAP/GA), 3 component (GA/SU)
+ 04 - 4 component (VAP/GA), 4 component (GA/SU)
+TEX_7_COMP_CNT 23:21 0x0 How many active components (0,1,2,3,4) are in each
+ texture.
+
+ POSSIBLE VALUES:
+ 00 - Not active
+ 01 - 1 component (VAP/GA), 2 component (GA/SU)
+ 02 - 2 component (VAP/GA), 2 component (GA/SU)
+ 03 - 3 component (VAP/GA), 3 component (GA/SU)
+ 04 - 4 component (VAP/GA), 4 component (GA/SU)
+TEX_8_COMP_CNT 26:24 0x0 How many active components (0,1,2,3,4) are in each
+ texture.
+
+ POSSIBLE VALUES:
+ 00 - Not active
+ 01 - 1 component (VAP/GA), 2 component (GA/SU)
+ 02 - 2 component (VAP/GA), 2 component (GA/SU)
+ 03 - 3 component (VAP/GA), 3 component (GA/SU)
+ 04 - 4 component (VAP/GA), 4 component (GA/SU)
+TEX_9_COMP_CNT 29:27 0x0 How many active components (0,1,2,3,4) are in each
+ texture.
+
+ POSSIBLE VALUES:
+ 00 - Not active
+ 01 - 1 component (VAP/GA), 2 component (GA/SU)
+ 02 - 2 component (VAP/GA), 2 component (GA/SU)
+ 03 - 3 component (VAP/GA), 3 component (GA/SU)
+ 04 - 4 component (VAP/GA), 4 component (GA/SU)
+TEX_10_COMP_CNT 31:30 0x0 How many active components (0,2,3,4) are in texture 10.
+
+ POSSIBLE VALUES:
+ 00 - Not active
+ 01 - 2 component (GA/SU)
+ 02 - 3 component (GA/SU)
+ 03 - 4 component (GA/SU)
+
+
+
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 196
+ Revision 1.4 October 13, 2009
+
+
+
+
+11.6 Rasterizer Registers
+
+RS:RS_COUNT · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4300
+DESCRIPTION: This register specifies the rasterizer input packet configuration
+Field Name Bits Default Description
+IT_COUNT 6:0 0x0 Specifies the total number of texture address components
+ contained in the rasterizer input packet (0:32).
+IC_COUNT 10:7 0x0 Specifies the total number of colors contained in the
+ rasterizer input packet (0:4).
+W_ADDR 17:12 0x0 Specifies the relative rasterizer input packet location of w
+ (if w_count==1)
+HIRES_EN 18 0x0 Enable high resolution texture coordinate output when q
+ is equal to 1
+
+
+
+RS:RS_INST_[0-15] · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4320-0x435c
+DESCRIPTION: This table specifies what happens during each rasterizer instruction
+Field Name Bits Default Description
+TEX_ID 3:0 0x0 Specifies the index (into the RS_IP table) of the texture
+ address output during this rasterizer instruction
+TEX_CN 4 0x0 Write enable for texture address
+
+ POSSIBLE VALUES:
+ 00 - No write - texture coordinate not valid
+ 01 - write - texture valid
+TEX_ADDR 11:5 0x0 Specifies the destination address (within the current pixel
+ stack frame) of the texture address output during this
+ rasterizer instruction
+COL_ID 15:12 0x0 Specifies the index (into the RS_IP table) of the color
+ output during this rasterizer instruction
+COL_CN 17:16 0x0 Write enable for color
+
+ POSSIBLE VALUES:
+ 00 - No write - color not valid
+ 01 - write - color valid
+ 02 - write fbuffer - XY00->RGBA
+ 03 - write backface - B000->RGBA
+COL_ADDR 24:18 0x0 Specifies the destination address (within the current pixel
+ stack frame) of the color output during this rasterizer
+ instruction
+TEX_ADJ 25 0x0 Specifies whether to sample texture coordinates at the
+ real or adjusted pixel centers
+
+ POSSIBLE VALUES:
+ 00 - Sample texture coordinates at real pixel centers
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 197
+ Revision 1.4 October 13, 2009
+
+
+
+
+ 01 - Sample texture coordinates at adjusted pixel
+ centers
+W_CN 26 0x0 Specifies that the rasterizer should output w
+
+ POSSIBLE VALUES:
+ 00 - No write - w not valid
+ 01 - write - w valid
+
+
+
+RS:RS_INST_COUNT · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4304
+DESCRIPTION: This register specifies the number of rasterizer instructions
+Field Name Bits Default Description
+INST_COUNT 3:0 0x0 Number of rasterizer instructions (1:16)
+TX_OFFSET 7:5 0x0 Indicates range of texture offset to minimize peroidic
+ errors on texels sampled right on their edges
+
+
+
+RS:RS_IP_[0-15] · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4074-0x40b0
+DESCRIPTION: This table specifies the source location and format for up to 16 texture addresses (i[0]:i[15]) and
+four colors (c[0]:c[3])
+Field Name Bits Default Description
+TEX_PTR_S 5:0 0x0 Specifies the relative rasterizer input packet location of
+ each component (S, T, R, and Q) of texture address (i[i]).
+ The values 62 and 63 select constant inputs for the
+ component: 62 selects K0 (0.0), and 63 selects K1 (1.0).
+TEX_PTR_T 11:6 0x0 Specifies the relative rasterizer input packet location of
+ each component (S, T, R, and Q) of texture address (i[i]).
+ The values 62 and 63 select constant inputs for the
+ component: 62 selects K0 (0.0), and 63 selects K1 (1.0).
+TEX_PTR_R 17:12 0x0 Specifies the relative rasterizer input packet location of
+ each component (S, T, R, and Q) of texture address (i[i]).
+ The values 62 and 63 select constant inputs for the
+ component: 62 selects K0 (0.0), and 63 selects K1 (1.0).
+TEX_PTR_Q 23:18 0x0 Specifies the relative rasterizer input packet location of
+ each component (S, T, R, and Q) of texture address (i[i]).
+ The values 62 and 63 select constant inputs for the
+ component: 62 selects K0 (0.0), and 63 selects K1 (1.0).
+COL_PTR 26:24 0x0 Specifies the relative rasterizer input packet location of
+ the color (c[i]).
+COL_FMT 30:27 0x0 Specifies the format of the color (c[i]).
+
+ POSSIBLE VALUES:
+ 00 - Four components (R,G,B,A)
+ 01 - Three components (R,G,B,0)
+ 02 - Three components (R,G,B,1)
+ 04 - One component (0,0,0,A)
+ 05 - Zero components (0,0,0,0)
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 198
+ Revision 1.4 October 13, 2009
+
+
+
+
+ 06 - Zero components (0,0,0,1)
+ 08 - One component (1,1,1,A)
+ 09 - Zero components (1,1,1,0)
+ 10 - Zero components (1,1,1,1)
+OFFSET_EN 31 0x0 Enable application of the TX_OFFSET in
+ RS_INST_COUNT
+
+ POSSIBLE VALUES:
+ 00 - Do not apply the TX_OFFSET in
+ RS_INST_COUNT
+ 01 - Apply the TX_OFFSET specified by
+ RS_INST_COUNT
+
+
+
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 199
+ Revision 1.4 October 13, 2009
+
+
+
+
+11.7 Clipping Registers
+SC:SC_CLIP_0_A · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x43b0
+DESCRIPTION: OpenGL Clip rectangles
+Field Name Bits Default Description
+XS0 12:0 0x0 Left hand edge of clip rectangle
+YS0 25:13 0x0 Upper edge of clip rectangle
+
+
+
+SC:SC_CLIP_0_B · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x43b4
+DESCRIPTION: OpenGL Clip rectangles
+Field Name Bits Default Description
+XS1 12:0 0x0 Right hand edge of clip rectangle
+YS1 25:13 0x0 Lower edge of clip rectangle
+
+
+
+SC:SC_CLIP_1_A · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x43b8
+Field Name Bits Default Description
+XS0 12:0 0x0
+YS0 25:13 0x0
+
+
+
+SC:SC_CLIP_1_B · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x43bc
+Field Name Bits Default Description
+XS1 12:0 0x0
+YS1 25:13 0x0
+
+
+
+SC:SC_CLIP_2_A · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x43c0
+Field Name Bits Default Description
+XS0 12:0 0x0
+YS0 25:13 0x0
+
+
+
+SC:SC_CLIP_2_B · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x43c4
+Field Name Bits Default Description
+XS1 12:0 0x0
+YS1 25:13 0x0
+
+
+
+SC:SC_CLIP_3_A · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x43c8
+Field Name Bits Default Description
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 200
+ Revision 1.4 October 13, 2009
+
+
+
+
+XS0 12:0 0x0
+YS0 25:13 0x0
+
+
+
+SC:SC_CLIP_3_B · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x43cc
+Field Name Bits Default Description
+XS1 12:0 0x0
+YS1 25:13 0x0
+
+
+
+SC:SC_CLIP_RULE · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x43d0
+DESCRIPTION: OpenGL Clip boolean function
+Field Name Bits Default Description
+CLIP_RULE 15:0 0x0 OpenGL Clip boolean function. The `inside` flags for
+ each of the four clip rectangles form a 4-bit binary
+ number. The corresponding bit in this 16-bit number
+ specifies whether the pixel is visible.
+
+
+
+SC:SC_EDGERULE · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x43a8
+DESCRIPTION: Edge rules - what happens when an edge falls exactly on a sample point
+Field Name Bits Default Description
+ER_TRI 4:0 0x0 Edge rules for triangles, points, left-right lines, right-left
+ lines, upper-bottom lines, bottom-upper lines. For values
+ 0 to 15, bit 0 specifies whether a sample on a horizontal-
+ bottom edge is in, bit 1 specifies whether a sample on a
+ horizontal-top edge is in, bit 2 species whether a sample
+ on a right edge is in, bit 3 specifies whether a sample on
+ a left edge is in. For values 16 to 31, bit 0 specifies
+ whether a sample on a vertical-right edge is in, bit 1
+ specifies whether a sample on a vertical-left edge is in,
+ bit 2 species whether a sample on a bottom edge is in, bit
+ 3 specifies whether a sample on a top edge is in
+
+ POSSIBLE VALUES:
+ 00 - L-in,R-in,HT-in,HB-in
+ 01 - L-in,R-in,HT-in,HB-out
+ 02 - L-in,R-in,HT-out,HB-in
+ 03 - L-in,R-in,HT-out,HB-out
+ 04 - L-in,R-out,HT-in,HB-in
+ 05 - L-in,R-out,HT-in,HB-out
+ 06 - L-in,R-out,HT-out,HB-in
+ 07 - L-in,R-out,HT-out,HB-out
+ 08 - L-out,R-in,HT-in,HB-in
+ 09 - L-out,R-in,HT-in,HB-out
+ 10 - L-out,R-in,HT-out,HB-in
+ 11 - L-out,R-in,HT-out,HB-out
+ 12 - L-out,R-out,HT-in,HB-in
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 201
+ Revision 1.4 October 13, 2009
+
+
+
+
+ 13 - L-out,R-out,HT-in,HB-out
+ 14 - L-out,R-out,HT-out,HB-in
+ 15 - L-out,R-out,HT-out,HB-out
+ 16 - T-in,B-in,VL-in,VR-in
+ 17 - T-in,B-in,VL-in,VR-out
+ 18 - T-in,B-in,VL,VR-in
+ 19 - T-in,B-in,VL-out,VR-out
+ 20 - T-out,B-in,VL-in,VR-in
+ 21 - T-out,B-in,VL-in,VR-out
+ 22 - T-out,B-in,VL-out,VR-in
+ 23 - T-out,B-in,VL-out,VR-out
+ 24 - T-in,B-out,VL-in,VR-in
+ 25 - T-in,B-out,VL-in,VR-out
+ 26 - T-in,B-out,VL-out,VR-in
+ 27 - T-in,B-out,VL-out,VR-out
+ 28 - T-out,B-out,VL-in,VR-in
+ 29 - T-out,B-out,VL-in,VR-out
+ 30 - T-out,B-out,VL-out,VR-in
+ 31 - T-out,B-out,VL-out,VR-out
+ER_POINT 9:5 0x0 Edge rules for triangles, points, left-right lines, right-left
+ lines, upper-bottom lines, bottom-upper lines. For values
+ 0 to 15, bit 0 specifies whether a sample on a horizontal-
+ bottom edge is in, bit 1 specifies whether a sample on a
+ horizontal-top edge is in, bit 2 species whether a sample
+ on a right edge is in, bit 3 specifies whether a sample on
+ a left edge is in. For values 16 to 31, bit 0 specifies
+ whether a sample on a vertical-right edge is in, bit 1
+ specifies whether a sample on a vertical-left edge is in,
+ bit 2 species whether a sample on a bottom edge is in, bit
+ 3 specifies whether a sample on a top edge is in
+
+ POSSIBLE VALUES:
+ 00 - L-in,R-in,HT-in,HB-in
+ 01 - L-in,R-in,HT-in,HB-out
+ 02 - L-in,R-in,HT-out,HB-in
+ 03 - L-in,R-in,HT-out,HB-out
+ 04 - L-in,R-out,HT-in,HB-in
+ 05 - L-in,R-out,HT-in,HB-out
+ 06 - L-in,R-out,HT-out,HB-in
+ 07 - L-in,R-out,HT-out,HB-out
+ 08 - L-out,R-in,HT-in,HB-in
+ 09 - L-out,R-in,HT-in,HB-out
+ 10 - L-out,R-in,HT-out,HB-in
+ 11 - L-out,R-in,HT-out,HB-out
+ 12 - L-out,R-out,HT-in,HB-in
+ 13 - L-out,R-out,HT-in,HB-out
+ 14 - L-out,R-out,HT-out,HB-in
+ 15 - L-out,R-out,HT-out,HB-out
+ 16 - T-in,B-in,VL-in,VR-in
+ 17 - T-in,B-in,VL-in,VR-out
+ 18 - T-in,B-in,VL,VR-in
+ 19 - T-in,B-in,VL-out,VR-out
+ 20 - T-out,B-in,VL-in,VR-in
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 202
+ Revision 1.4 October 13, 2009
+
+
+
+
+ 21 - T-out,B-in,VL-in,VR-out
+ 22 - T-out,B-in,VL-out,VR-in
+ 23 - T-out,B-in,VL-out,VR-out
+ 24 - T-in,B-out,VL-in,VR-in
+ 25 - T-in,B-out,VL-in,VR-out
+ 26 - T-in,B-out,VL-out,VR-in
+ 27 - T-in,B-out,VL-out,VR-out
+ 28 - T-out,B-out,VL-in,VR-in
+ 29 - T-out,B-out,VL-in,VR-out
+ 30 - T-out,B-out,VL-out,VR-in
+ 31 - T-out,B-out,VL-out,VR-out
+ER_LINE_LR 14:10 0x0 Edge rules for triangles, points, left-right lines, right-left
+ lines, upper-bottom lines, bottom-upper lines. For values
+ 0 to 15, bit 0 specifies whether a sample on a horizontal-
+ bottom edge is in, bit 1 specifies whether a sample on a
+ horizontal-top edge is in, bit 2 species whether a sample
+ on a right edge is in, bit 3 specifies whether a sample on
+ a left edge is in. For values 16 to 31, bit 0 specifies
+ whether a sample on a vertical-right edge is in, bit 1
+ specifies whether a sample on a vertical-left edge is in,
+ bit 2 species whether a sample on a bottom edge is in, bit
+ 3 specifies whether a sample on a top edge is in
+
+ POSSIBLE VALUES:
+ 00 - L-in,R-in,HT-in,HB-in
+ 01 - L-in,R-in,HT-in,HB-out
+ 02 - L-in,R-in,HT-out,HB-in
+ 03 - L-in,R-in,HT-out,HB-out
+ 04 - L-in,R-out,HT-in,HB-in
+ 05 - L-in,R-out,HT-in,HB-out
+ 06 - L-in,R-out,HT-out,HB-in
+ 07 - L-in,R-out,HT-out,HB-out
+ 08 - L-out,R-in,HT-in,HB-in
+ 09 - L-out,R-in,HT-in,HB-out
+ 10 - L-out,R-in,HT-out,HB-in
+ 11 - L-out,R-in,HT-out,HB-out
+ 12 - L-out,R-out,HT-in,HB-in
+ 13 - L-out,R-out,HT-in,HB-out
+ 14 - L-out,R-out,HT-out,HB-in
+ 15 - L-out,R-out,HT-out,HB-out
+ 16 - T-in,B-in,VL-in,VR-in
+ 17 - T-in,B-in,VL-in,VR-out
+ 18 - T-in,B-in,VL,VR-in
+ 19 - T-in,B-in,VL-out,VR-out
+ 20 - T-out,B-in,VL-in,VR-in
+ 21 - T-out,B-in,VL-in,VR-out
+ 22 - T-out,B-in,VL-out,VR-in
+ 23 - T-out,B-in,VL-out,VR-out
+ 24 - T-in,B-out,VL-in,VR-in
+ 25 - T-in,B-out,VL-in,VR-out
+ 26 - T-in,B-out,VL-out,VR-in
+ 27 - T-in,B-out,VL-out,VR-out
+ 28 - T-out,B-out,VL-in,VR-in
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 203
+ Revision 1.4 October 13, 2009
+
+
+
+
+ 29 - T-out,B-out,VL-in,VR-out
+ 30 - T-out,B-out,VL-out,VR-in
+ 31 - T-out,B-out,VL-out,VR-out
+ER_LINE_RL 19:15 0x0 Edge rules for triangles, points, left-right lines, right-left
+ lines, upper-bottom lines, bottom-upper lines. For values
+ 0 to 15, bit 0 specifies whether a sample on a horizontal-
+ bottom edge is in, bit 1 specifies whether a sample on a
+ horizontal-top edge is in, bit 2 species whether a sample
+ on a right edge is in, bit 3 specifies whether a sample on
+ a left edge is in. For values 16 to 31, bit 0 specifies
+ whether a sample on a vertical-right edge is in, bit 1
+ specifies whether a sample on a vertical-left edge is in,
+ bit 2 species whether a sample on a bottom edge is in, bit
+ 3 specifies whether a sample on a top edge is in
+
+ POSSIBLE VALUES:
+ 00 - L-in,R-in,HT-in,HB-in
+ 01 - L-in,R-in,HT-in,HB-out
+ 02 - L-in,R-in,HT-out,HB-in
+ 03 - L-in,R-in,HT-out,HB-out
+ 04 - L-in,R-out,HT-in,HB-in
+ 05 - L-in,R-out,HT-in,HB-out
+ 06 - L-in,R-out,HT-out,HB-in
+ 07 - L-in,R-out,HT-out,HB-out
+ 08 - L-out,R-in,HT-in,HB-in
+ 09 - L-out,R-in,HT-in,HB-out
+ 10 - L-out,R-in,HT-out,HB-in
+ 11 - L-out,R-in,HT-out,HB-out
+ 12 - L-out,R-out,HT-in,HB-in
+ 13 - L-out,R-out,HT-in,HB-out
+ 14 - L-out,R-out,HT-out,HB-in
+ 15 - L-out,R-out,HT-out,HB-out
+ 16 - T-in,B-in,VL-in,VR-in
+ 17 - T-in,B-in,VL-in,VR-out
+ 18 - T-in,B-in,VL,VR-in
+ 19 - T-in,B-in,VL-out,VR-out
+ 20 - T-out,B-in,VL-in,VR-in
+ 21 - T-out,B-in,VL-in,VR-out
+ 22 - T-out,B-in,VL-out,VR-in
+ 23 - T-out,B-in,VL-out,VR-out
+ 24 - T-in,B-out,VL-in,VR-in
+ 25 - T-in,B-out,VL-in,VR-out
+ 26 - T-in,B-out,VL-out,VR-in
+ 27 - T-in,B-out,VL-out,VR-out
+ 28 - T-out,B-out,VL-in,VR-in
+ 29 - T-out,B-out,VL-in,VR-out
+ 30 - T-out,B-out,VL-out,VR-in
+ 31 - T-out,B-out,VL-out,VR-out
+ER_LINE_TB 24:20 0x0 Edge rules for triangles, points, left-right lines, right-left
+ lines, upper-bottom lines, bottom-upper lines. For values
+ 0 to 15, bit 0 specifies whether a sample on a horizontal-
+ bottom edge is in, bit 1 specifies whether a sample on a
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 204
+ Revision 1.4 October 13, 2009
+
+
+
+
+ horizontal-top edge is in, bit 2 species whether a sample
+ on a right edge is in, bit 3 specifies whether a sample on
+ a left edge is in. For values 16 to 31, bit 0 specifies
+ whether a sample on a vertical-right edge is in, bit 1
+ specifies whether a sample on a vertical-left edge is in,
+ bit 2 species whether a sample on a bottom edge is in, bit
+ 3 specifies whether a sample on a top edge is in
+
+ POSSIBLE VALUES:
+ 00 - L-in,R-in,HT-in,HB-in
+ 01 - L-in,R-in,HT-in,HB-out
+ 02 - L-in,R-in,HT-out,HB-in
+ 03 - L-in,R-in,HT-out,HB-out
+ 04 - L-in,R-out,HT-in,HB-in
+ 05 - L-in,R-out,HT-in,HB-out
+ 06 - L-in,R-out,HT-out,HB-in
+ 07 - L-in,R-out,HT-out,HB-out
+ 08 - L-out,R-in,HT-in,HB-in
+ 09 - L-out,R-in,HT-in,HB-out
+ 10 - L-out,R-in,HT-out,HB-in
+ 11 - L-out,R-in,HT-out,HB-out
+ 12 - L-out,R-out,HT-in,HB-in
+ 13 - L-out,R-out,HT-in,HB-out
+ 14 - L-out,R-out,HT-out,HB-in
+ 15 - L-out,R-out,HT-out,HB-out
+ 16 - T-in,B-in,VL-in,VR-in
+ 17 - T-in,B-in,VL-in,VR-out
+ 18 - T-in,B-in,VL,VR-in
+ 19 - T-in,B-in,VL-out,VR-out
+ 20 - T-out,B-in,VL-in,VR-in
+ 21 - T-out,B-in,VL-in,VR-out
+ 22 - T-out,B-in,VL-out,VR-in
+ 23 - T-out,B-in,VL-out,VR-out
+ 24 - T-in,B-out,VL-in,VR-in
+ 25 - T-in,B-out,VL-in,VR-out
+ 26 - T-in,B-out,VL-out,VR-in
+ 27 - T-in,B-out,VL-out,VR-out
+ 28 - T-out,B-out,VL-in,VR-in
+ 29 - T-out,B-out,VL-in,VR-out
+ 30 - T-out,B-out,VL-out,VR-in
+ 31 - T-out,B-out,VL-out,VR-out
+ER_LINE_BT 29:25 0x0 Edge rules for triangles, points, left-right lines, right-left
+ lines, upper-bottom lines, bottom-upper lines. For values
+ 0 to 15, bit 0 specifies whether a sample on a horizontal-
+ bottom edge is in, bit 1 specifies whether a sample on a
+ horizontal-top edge is in, bit 2 species whether a sample
+ on a right edge is in, bit 3 specifies whether a sample on
+ a left edge is in. For values 16 to 31, bit 0 specifies
+ whether a sample on a vertical-right edge is in, bit 1
+ specifies whether a sample on a vertical-left edge is in,
+ bit 2 species whether a sample on a bottom edge is in, bit
+ 3 specifies whether a sample on a top edge is in
+
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 205
+ Revision 1.4 October 13, 2009
+
+
+
+
+ POSSIBLE VALUES:
+ 00 - L-in,R-in,HT-in,HB-in
+ 01 - L-in,R-in,HT-in,HB-out
+ 02 - L-in,R-in,HT-out,HB-in
+ 03 - L-in,R-in,HT-out,HB-out
+ 04 - L-in,R-out,HT-in,HB-in
+ 05 - L-in,R-out,HT-in,HB-out
+ 06 - L-in,R-out,HT-out,HB-in
+ 07 - L-in,R-out,HT-out,HB-out
+ 08 - L-out,R-in,HT-in,HB-in
+ 09 - L-out,R-in,HT-in,HB-out
+ 10 - L-out,R-in,HT-out,HB-in
+ 11 - L-out,R-in,HT-out,HB-out
+ 12 - L-out,R-out,HT-in,HB-in
+ 13 - L-out,R-out,HT-in,HB-out
+ 14 - L-out,R-out,HT-out,HB-in
+ 15 - L-out,R-out,HT-out,HB-out
+ 16 - T-in,B-in,VL-in,VR-in
+ 17 - T-in,B-in,VL-in,VR-out
+ 18 - T-in,B-in,VL,VR-in
+ 19 - T-in,B-in,VL-out,VR-out
+ 20 - T-out,B-in,VL-in,VR-in
+ 21 - T-out,B-in,VL-in,VR-out
+ 22 - T-out,B-in,VL-out,VR-in
+ 23 - T-out,B-in,VL-out,VR-out
+ 24 - T-in,B-out,VL-in,VR-in
+ 25 - T-in,B-out,VL-in,VR-out
+ 26 - T-in,B-out,VL-out,VR-in
+ 27 - T-in,B-out,VL-out,VR-out
+ 28 - T-out,B-out,VL-in,VR-in
+ 29 - T-out,B-out,VL-in,VR-out
+ 30 - T-out,B-out,VL-out,VR-in
+ 31 - T-out,B-out,VL-out,VR-out
+
+
+
+SC:SC_HYPERZ_EN · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x43a4
+DESCRIPTION: Hierarchical Z Enable
+Field Name Bits Default Description
+HZ_EN 0 0x0 Enable for hierarchical Z.
+
+ POSSIBLE VALUES:
+ 00 - Disables Hyper-Z.
+ 01 - Enables Hyper-Z.
+HZ_MAX 1 0x0 Specifies whether to compute min or max z value
+
+ POSSIBLE VALUES:
+ 00 - HZ block computes minimum z value
+ 01 - HZ block computes maximum z value
+HZ_ADJ 4:2 0x0 Specifies adjustment to get added or subtracted from
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 206
+ Revision 1.4 October 13, 2009
+
+
+
+
+ computed z value
+
+ POSSIBLE VALUES:
+ 00 - Add or Subtract 1/256 << ze
+ 01 - Add or Subtract 1/128 << ze
+ 02 - Add or Subtract 1/64 << ze
+ 03 - Add or Subtract 1/32 << ze
+ 04 - Add or Subtract 1/16 << ze
+ 05 - Add or Subtract 1/8 << ze
+ 06 - Add or Subtract 1/4 << ze
+ 07 - Add or Subtract 1/2 << ze
+HZ_Z0MIN 5 0x0 Specifies whether vertex 0 z contains minimum z value
+
+ POSSIBLE VALUES:
+ 00 - Vertex 0 does not contain minimum z value
+ 01 - Vertex 0 does contain minimum z value
+HZ_Z0MAX 6 0x0 Specifies whether vertex 0 z contains maximum z value
+
+ POSSIBLE VALUES:
+ 00 - Vertex 0 does not contain maximum z value
+ 01 - Vertex 0 does contain maximum z value
+
+
+
+SC:SC_SCISSOR0 · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x43e0
+DESCRIPTION: Scissor rectangle specification
+Field Name Bits Default Description
+XS0 12:0 0x0 Left hand edge of scissor rectangle
+YS0 25:13 0x0 Upper edge of scissor rectangle
+
+
+
+SC:SC_SCISSOR1 · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x43e4
+DESCRIPTION: Scissor rectangle specification
+Field Name Bits Default Description
+XS1 12:0 0x0 Right hand edge of scissor rectangle
+YS1 25:13 0x0 Lower edge of scissor rectangle
+
+
+
+SC:SC_SCREENDOOR · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x43e8
+DESCRIPTION: Screen door sample mask
+Field Name Bits Default Description
+SCREENDOOR 23:0 0x0 Screen door sample mask - 1 means sample may be
+ covered, 0 means sample is not covered
+
+
+
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 207
+ Revision 1.4 October 13, 2009
+
+
+
+
+11.8 Setup Unit Registers
+
+SU:SU_CULL_MODE · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x42b8
+DESCRIPTION: Culling Enables
+Field Name Bits Default Description
+CULL_FRONT 0 0x0 Enable for front-face culling.
+
+ POSSIBLE VALUES:
+ 00 - Do not cull front-facing triangles.
+ 01 - Cull front-facing triangles.
+CULL_BACK 1 0x0 Enable for back-face culling.
+
+ POSSIBLE VALUES:
+ 00 - Do not cull back-facing triangles.
+ 01 - Cull back-facing triangles.
+FACE 2 0x0 X-Ored with cross product sign to determine positive
+ facing
+
+ POSSIBLE VALUES:
+ 00 - Positive cross product is front (CCW).
+ 01 - Negative cross product is front (CW).
+
+
+
+SU:SU_DEPTH_OFFSET · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x42c4
+DESCRIPTION: SU Depth Offset value
+Field Name Bits Default Description
+OFFSET 31:0 0x0 SPFP Floating point applied to depth before conversion
+ to FXP.
+
+
+
+SU:SU_DEPTH_SCALE · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x42c0
+DESCRIPTION: SU Depth Scale value
+Field Name Bits Default Description
+SCALE 31:0 0x3F800000 SPFP Floating point applied to depth before conversion
+ to FXP.
+
+
+
+SU:SU_POLY_OFFSET_BACK_OFFSET · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x42b0
+DESCRIPTION: Back-Facing Polygon Offset Offset
+Field Name Bits Default Description
+OFFSET 31:0 0x0 Specifies polygon offset offset for back-facing polygons;
+ 32b IEEE float format; applied after Z scale & offset (0
+ to 2^24-1 range)
+
+
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 208
+ Revision 1.4 October 13, 2009
+
+
+
+
+SU:SU_POLY_OFFSET_BACK_SCALE · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x42ac
+DESCRIPTION: Back-Facing Polygon Offset Scale
+Field Name Bits Default Description
+SCALE 31:0 0x0 Specifies polygon offset scale for back-facing polygons;
+ 32-bit IEEE float format; applied after Z scale & offset
+ (0 to 2^24-1 range); slope computed in subpixels (1/12 or
+ 1/16)
+
+
+
+SU:SU_POLY_OFFSET_ENABLE · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x42b4
+DESCRIPTION: Enables for polygon offset
+Field Name Bits Default Description
+FRONT_ENABLE 0 0x0 Enables front facing polygon`s offset.
+
+ POSSIBLE VALUES:
+ 00 - Disable front offset.
+ 01 - Enable front offset.
+BACK_ENABLE 1 0x0 Enables back facing polygon`s offset.
+
+ POSSIBLE VALUES:
+ 00 - Disable back offset.
+ 01 - Enable back offset.
+PARA_ENABLE 2 0x0 Forces all parallelograms to have FRONT_FACING for
+ poly offset -- Need to have FRONT_ENABLE also set to
+ have Z offset for parallelograms.
+
+ POSSIBLE VALUES:
+ 00 - Disable front offset for parallelograms.
+ 01 - Enable front offset for parallelograms.
+
+
+
+SU:SU_POLY_OFFSET_FRONT_OFFSET · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x42a8
+DESCRIPTION: Front-Facing Polygon Offset Offset
+Field Name Bits Default Description
+OFFSET 31:0 0x0 Specifies polygon offset offset for front-facing polygons;
+ 32b IEEE float format; applied after Z scale & offset (0
+ to 2^24-1 range)
+
+
+
+SU:SU_POLY_OFFSET_FRONT_SCALE · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x42a4
+DESCRIPTION: Front-Facing Polygon Offset Scale
+Field Name Bits Default Description
+SCALE 31:0 0x0 Specifies polygon offset scale for front-facing polygons;
+ 32b IEEE float format; applied after Z scale & offset (0
+ to 2^24-1 range); slope computed in subpixels (1/12 or
+ 1/16)
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 209
+ Revision 1.4 October 13, 2009
+
+
+
+
+SU:SU_REG_DEST · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x42c8
+DESCRIPTION: SU Raster pipe destination select for registers
+Field Name Bits Default Description
+SELECT 3:0 0xF Register read/write destination select: b0: logical pipe0,
+ b1: logical pipe1, b2: logical pipe2 and b3: logical pipe3
+
+
+
+SU:SU_TEX_WRAP · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x42a0
+DESCRIPTION: Enables for Cylindrical Wrapping
+Field Name Bits Default Description
+T0C0 0 0x0 tNcM -- Enable texture wrapping on component M
+ (S,T,R,Q) of texture N.
+
+ POSSIBLE VALUES:
+ 00 - Disable cylindrical wrapping.
+ 01 - Enable cylindrical wrapping.
+T0C1 1 0x0 tNcM -- Enable texture wrapping on component M
+ (S,T,R,Q) of texture N.
+
+ POSSIBLE VALUES:
+ 00 - Disable cylindrical wrapping.
+ 01 - Enable cylindrical wrapping.
+T0C2 2 0x0 tNcM -- Enable texture wrapping on component M
+ (S,T,R,Q) of texture N.
+
+ POSSIBLE VALUES:
+ 00 - Disable cylindrical wrapping.
+ 01 - Enable cylindrical wrapping.
+T0C3 3 0x0 tNcM -- Enable texture wrapping on component M
+ (S,T,R,Q) of texture N.
+
+ POSSIBLE VALUES:
+ 00 - Disable cylindrical wrapping.
+ 01 - Enable cylindrical wrapping.
+T1C0 4 0x0 tNcM -- Enable texture wrapping on component M
+ (S,T,R,Q) of texture N.
+
+ POSSIBLE VALUES:
+ 00 - Disable cylindrical wrapping.
+ 01 - Enable cylindrical wrapping.
+T1C1 5 0x0 tNcM -- Enable texture wrapping on component M
+ (S,T,R,Q) of texture N.
+
+ POSSIBLE VALUES:
+ 00 - Disable cylindrical wrapping.
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 210
+ Revision 1.4 October 13, 2009
+
+
+
+
+ 01 - Enable cylindrical wrapping.
+T1C2 6 0x0 tNcM -- Enable texture wrapping on component M
+ (S,T,R,Q) of texture N.
+
+ POSSIBLE VALUES:
+ 00 - Disable cylindrical wrapping.
+ 01 - Enable cylindrical wrapping.
+T1C3 7 0x0 tNcM -- Enable texture wrapping on component M
+ (S,T,R,Q) of texture N.
+
+ POSSIBLE VALUES:
+ 00 - Disable cylindrical wrapping.
+ 01 - Enable cylindrical wrapping.
+T2C0 8 0x0 tNcM -- Enable texture wrapping on component M
+ (S,T,R,Q) of texture N.
+
+ POSSIBLE VALUES:
+ 00 - Disable cylindrical wrapping.
+ 01 - Enable cylindrical wrapping.
+T2C1 9 0x0 tNcM -- Enable texture wrapping on component M
+ (S,T,R,Q) of texture N.
+
+ POSSIBLE VALUES:
+ 00 - Disable cylindrical wrapping.
+ 01 - Enable cylindrical wrapping.
+T2C2 10 0x0 tNcM -- Enable texture wrapping on component M
+ (S,T,R,Q) of texture N.
+
+ POSSIBLE VALUES:
+ 00 - Disable cylindrical wrapping.
+ 01 - Enable cylindrical wrapping.
+T2C3 11 0x0 tNcM -- Enable texture wrapping on component M
+ (S,T,R,Q) of texture N.
+
+ POSSIBLE VALUES:
+ 00 - Disable cylindrical wrapping.
+ 01 - Enable cylindrical wrapping.
+T3C0 12 0x0 tNcM -- Enable texture wrapping on component M
+ (S,T,R,Q) of texture N.
+
+ POSSIBLE VALUES:
+ 00 - Disable cylindrical wrapping.
+ 01 - Enable cylindrical wrapping.
+T3C1 13 0x0 tNcM -- Enable texture wrapping on component M
+ (S,T,R,Q) of texture N.
+
+ POSSIBLE VALUES:
+ 00 - Disable cylindrical wrapping.
+ 01 - Enable cylindrical wrapping.
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 211
+ Revision 1.4 October 13, 2009
+
+
+
+
+T3C2 14 0x0 tNcM -- Enable texture wrapping on component M
+ (S,T,R,Q) of texture N.
+
+ POSSIBLE VALUES:
+ 00 - Disable cylindrical wrapping.
+ 01 - Enable cylindrical wrapping.
+T3C3 15 0x0 tNcM -- Enable texture wrapping on component M
+ (S,T,R,Q) of texture N.
+
+ POSSIBLE VALUES:
+ 00 - Disable cylindrical wrapping.
+ 01 - Enable cylindrical wrapping.
+T4C0 16 0x0 tNcM -- Enable texture wrapping on component M
+ (S,T,R,Q) of texture N.
+
+ POSSIBLE VALUES:
+ 00 - Disable cylindrical wrapping.
+ 01 - Enable cylindrical wrapping.
+T4C1 17 0x0 tNcM -- Enable texture wrapping on component M
+ (S,T,R,Q) of texture N.
+
+ POSSIBLE VALUES:
+ 00 - Disable cylindrical wrapping.
+ 01 - Enable cylindrical wrapping.
+T4C2 18 0x0 tNcM -- Enable texture wrapping on component M
+ (S,T,R,Q) of texture N.
+
+ POSSIBLE VALUES:
+ 00 - Disable cylindrical wrapping.
+ 01 - Enable cylindrical wrapping.
+T4C3 19 0x0 tNcM -- Enable texture wrapping on component M
+ (S,T,R,Q) of texture N.
+
+ POSSIBLE VALUES:
+ 00 - Disable cylindrical wrapping.
+ 01 - Enable cylindrical wrapping.
+T5C0 20 0x0 tNcM -- Enable texture wrapping on component M
+ (S,T,R,Q) of texture N.
+
+ POSSIBLE VALUES:
+ 00 - Disable cylindrical wrapping.
+ 01 - Enable cylindrical wrapping.
+T5C1 21 0x0 tNcM -- Enable texture wrapping on component M
+ (S,T,R,Q) of texture N.
+
+ POSSIBLE VALUES:
+ 00 - Disable cylindrical wrapping.
+ 01 - Enable cylindrical wrapping.
+T5C2 22 0x0 tNcM -- Enable texture wrapping on component M
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 212
+ Revision 1.4 October 13, 2009
+
+
+
+
+ (S,T,R,Q) of texture N.
+
+ POSSIBLE VALUES:
+ 00 - Disable cylindrical wrapping.
+ 01 - Enable cylindrical wrapping.
+T5C3 23 0x0 tNcM -- Enable texture wrapping on component M
+ (S,T,R,Q) of texture N.
+
+ POSSIBLE VALUES:
+ 00 - Disable cylindrical wrapping.
+ 01 - Enable cylindrical wrapping.
+T6C0 24 0x0 tNcM -- Enable texture wrapping on component M
+ (S,T,R,Q) of texture N.
+
+ POSSIBLE VALUES:
+ 00 - Disable cylindrical wrapping.
+ 01 - Enable cylindrical wrapping.
+T6C1 25 0x0 tNcM -- Enable texture wrapping on component M
+ (S,T,R,Q) of texture N.
+
+ POSSIBLE VALUES:
+ 00 - Disable cylindrical wrapping.
+ 01 - Enable cylindrical wrapping.
+T6C2 26 0x0 tNcM -- Enable texture wrapping on component M
+ (S,T,R,Q) of texture N.
+
+ POSSIBLE VALUES:
+ 00 - Disable cylindrical wrapping.
+ 01 - Enable cylindrical wrapping.
+T6C3 27 0x0 tNcM -- Enable texture wrapping on component M
+ (S,T,R,Q) of texture N.
+
+ POSSIBLE VALUES:
+ 00 - Disable cylindrical wrapping.
+ 01 - Enable cylindrical wrapping.
+T7C0 28 0x0 tNcM -- Enable texture wrapping on component M
+ (S,T,R,Q) of texture N.
+
+ POSSIBLE VALUES:
+ 00 - Disable cylindrical wrapping.
+ 01 - Enable cylindrical wrapping.
+T7C1 29 0x0 tNcM -- Enable texture wrapping on component M
+ (S,T,R,Q) of texture N.
+
+ POSSIBLE VALUES:
+ 00 - Disable cylindrical wrapping.
+ 01 - Enable cylindrical wrapping.
+T7C2 30 0x0 tNcM -- Enable texture wrapping on component M
+ (S,T,R,Q) of texture N.
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 213
+ Revision 1.4 October 13, 2009
+
+
+
+
+ POSSIBLE VALUES:
+ 00 - Disable cylindrical wrapping.
+ 01 - Enable cylindrical wrapping.
+T7C3 31 0x0 tNcM -- Enable texture wrapping on component M
+ (S,T,R,Q) of texture N.
+
+ POSSIBLE VALUES:
+ 00 - Disable cylindrical wrapping.
+ 01 - Enable cylindrical wrapping.
+
+
+
+SU:SU_TEX_WRAP_PS3 · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4114
+DESCRIPTION: Specifies texture wrapping for new PS3 textures.
+Field Name Bits Default Description
+T9C0 0 0x0 tNcM -- Enable texture wrapping on component M
+ (S,T,R,Q) of texture N.
+
+ POSSIBLE VALUES:
+ 00 - Disable cylindrical wrapping.
+ 01 - Enable cylindrical wrapping.
+T9C1 1 0x0 tNcM -- Enable texture wrapping on component M
+ (S,T,R,Q) of texture N.
+
+ POSSIBLE VALUES:
+ 00 - Disable cylindrical wrapping.
+ 01 - Enable cylindrical wrapping.
+T9C2 2 0x0 tNcM -- Enable texture wrapping on component M
+ (S,T,R,Q) of texture N.
+
+ POSSIBLE VALUES:
+ 00 - Disable cylindrical wrapping.
+ 01 - Enable cylindrical wrapping.
+T9C3 3 0x0 tNcM -- Enable texture wrapping on component M
+ (S,T,R,Q) of texture N.
+
+ POSSIBLE VALUES:
+ 00 - Disable cylindrical wrapping.
+ 01 - Enable cylindrical wrapping.
+T8C0 4 0x0 tNcM -- Enable texture wrapping on component M
+ (S,T,R,Q) of texture N.
+
+ POSSIBLE VALUES:
+ 00 - Disable cylindrical wrapping.
+ 01 - Enable cylindrical wrapping.
+T8C1 5 0x0 tNcM -- Enable texture wrapping on component M
+ (S,T,R,Q) of texture N.
+
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 214
+ Revision 1.4 October 13, 2009
+
+
+
+
+ POSSIBLE VALUES:
+ 00 - Disable cylindrical wrapping.
+ 01 - Enable cylindrical wrapping.
+T8C2 6 0x0 tNcM -- Enable texture wrapping on component M
+ (S,T,R,Q) of texture N.
+
+ POSSIBLE VALUES:
+ 00 - Disable cylindrical wrapping.
+ 01 - Enable cylindrical wrapping.
+T8C3 7 0x0 tNcM -- Enable texture wrapping on component M
+ (S,T,R,Q) of texture N.
+
+ POSSIBLE VALUES:
+ 00 - Disable cylindrical wrapping.
+ 01 - Enable cylindrical wrapping.
+
+
+
+SU:SU_TEX_WRAP_PS3 · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4114
+DESCRIPTION: Specifies texture wrapping for new PS3 textures.
+Field Name Bits Default Description
+T9C0 0 0x0 tNcM -- Enable texture wrapping on component M
+ (S,T,R,Q) of texture N.
+
+ POSSIBLE VALUES:
+ 00 - Disable cylindrical wrapping.
+ 01 - Enable cylindrical wrapping.
+T9C1 1 0x0 tNcM -- Enable texture wrapping on component M
+ (S,T,R,Q) of texture N.
+
+ POSSIBLE VALUES:
+ 00 - Disable cylindrical wrapping.
+ 01 - Enable cylindrical wrapping.
+T9C2 2 0x0 tNcM -- Enable texture wrapping on component M
+ (S,T,R,Q) of texture N.
+
+ POSSIBLE VALUES:
+ 00 - Disable cylindrical wrapping.
+ 01 - Enable cylindrical wrapping.
+T9C3 3 0x0 tNcM -- Enable texture wrapping on component M
+ (S,T,R,Q) of texture N.
+
+ POSSIBLE VALUES:
+ 00 - Disable cylindrical wrapping.
+
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 215
+ Revision 1.4 October 13, 2009
+
+
+
+
+ 01 - Enable cylindrical wrapping.
+T8C0 4 0x0 tNcM -- Enable texture wrapping on component M
+ (S,T,R,Q) of texture N.
+
+ POSSIBLE VALUES:
+ 00 - Disable cylindrical wrapping.
+ 01 - Enable cylindrical wrapping.
+T8C1 5 0x0 tNcM -- Enable texture wrapping on component M
+ (S,T,R,Q) of texture N.
+
+ POSSIBLE VALUES:
+ 00 - Disable cylindrical wrapping.
+ 01 - Enable cylindrical wrapping.
+T8C2 6 0x0 tNcM -- Enable texture wrapping on component M
+ (S,T,R,Q) of texture N.
+
+ POSSIBLE VALUES:
+ 00 - Disable cylindrical wrapping.
+ 01 - Enable cylindrical wrapping.
+T8C3 7 0x0 tNcM -- Enable texture wrapping on component M
+ (S,T,R,Q) of texture N.
+
+ POSSIBLE VALUES:
+ 00 - Disable cylindrical wrapping.
+ 01 - Enable cylindrical wrapping.
+
+
+
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 216
+ Revision 1.4 October 13, 2009
+
+
+
+
+11.9 Texture Registers
+
+TX:TX_BORDER_COLOR_[0-15] · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x45c0-0x45fc
+DESCRIPTION: Border Color
+Field Name Bits Default Description
+BORDER_COLOR 31:0 none Color used for borders. Format is the same as the texture
+ being bordered.
+
+
+
+TX:TX_CHROMA_KEY_[0-15] · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4580-0x45bc
+DESCRIPTION: Texture Chroma Key
+Field Name Bits Default Description
+CHROMA_KEY 31:0 none Color used for chroma key compare. Format is the same
+ as the texture being keyed.
+
+
+
+TX:TX_ENABLE · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4104
+DESCRIPTION: Texture Enables for Maps 0 to 15
+Field Name Bits Default Description
+TEX_0_ENABLE 0 none Texture Map Enables.
+
+ POSSIBLE VALUES:
+ 00 - Disable, ARGB = 1,0,0,0
+ 01 - Enable
+TEX_1_ENABLE 1 none Texture Map Enables.
+
+ POSSIBLE VALUES:
+ 00 - Disable, ARGB = 1,0,0,0
+ 01 - Enable
+TEX_2_ENABLE 2 none Texture Map Enables.
+
+ POSSIBLE VALUES:
+ 00 - Disable, ARGB = 1,0,0,0
+ 01 - Enable
+TEX_3_ENABLE 3 none Texture Map Enables.
+
+ POSSIBLE VALUES:
+ 00 - Disable, ARGB = 1,0,0,0
+ 01 - Enable
+TEX_4_ENABLE 4 none Texture Map Enables.
+
+ POSSIBLE VALUES:
+ 00 - Disable, ARGB = 1,0,0,0
+ 01 - Enable
+TEX_5_ENABLE 5 none Texture Map Enables.
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 217
+ Revision 1.4 October 13, 2009
+
+
+
+
+ POSSIBLE VALUES:
+ 00 - Disable, ARGB = 1,0,0,0
+ 01 - Enable
+TEX_6_ENABLE 6 none Texture Map Enables.
+
+ POSSIBLE VALUES:
+ 00 - Disable, ARGB = 1,0,0,0
+ 01 - Enable
+TEX_7_ENABLE 7 none Texture Map Enables.
+
+ POSSIBLE VALUES:
+ 00 - Disable, ARGB = 1,0,0,0
+ 01 - Enable
+TEX_8_ENABLE 8 none Texture Map Enables.
+
+ POSSIBLE VALUES:
+ 00 - Disable, ARGB = 1,0,0,0
+ 01 - Enable
+TEX_9_ENABLE 9 none Texture Map Enables.
+
+ POSSIBLE VALUES:
+ 00 - Disable, ARGB = 1,0,0,0
+ 01 - Enable
+TEX_10_ENABLE 10 none Texture Map Enables.
+
+ POSSIBLE VALUES:
+ 00 - Disable, ARGB = 1,0,0,0
+ 01 - Enable
+TEX_11_ENABLE 11 none Texture Map Enables.
+
+ POSSIBLE VALUES:
+ 00 - Disable, ARGB = 1,0,0,0
+ 01 - Enable
+TEX_12_ENABLE 12 none Texture Map Enables.
+
+ POSSIBLE VALUES:
+ 00 - Disable, ARGB = 1,0,0,0
+ 01 - Enable
+TEX_13_ENABLE 13 none Texture Map Enables.
+
+ POSSIBLE VALUES:
+ 00 - Disable, ARGB = 1,0,0,0
+ 01 - Enable
+TEX_14_ENABLE 14 none Texture Map Enables.
+
+ POSSIBLE VALUES:
+ 00 - Disable, ARGB = 1,0,0,0
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 218
+ Revision 1.4 October 13, 2009
+
+
+
+
+ 01 - Enable
+TEX_15_ENABLE 15 none Texture Map Enables.
+
+ POSSIBLE VALUES:
+ 00 - Disable, ARGB = 1,0,0,0
+ 01 - Enable
+
+
+
+TX:TX_FILTER0_[0-15] · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4400-0x443c
+DESCRIPTION: Texture Filter State
+Field Name Bits Default Description
+CLAMP_S 2:0 none Clamp mode for texture coordinates
+
+ POSSIBLE VALUES:
+ 00 - Wrap (repeat)
+ 01 - Mirror
+ 02 - Clamp to last texel (0.0 to 1.0)
+ 03 - MirrorOnce to last texel (-1.0 to 1.0)
+ 04 - Clamp half way to border color (0.0 to 1.0)
+ 05 - MirrorOnce half way to border color (-1.0 to 1.0)
+ 06 - Clamp to border color (0.0 to 1.0)
+ 07 - MirrorOnce to border color (-1.0 to 1.0)
+CLAMP_T 5:3 none Clamp mode for texture coordinates
+
+ POSSIBLE VALUES:
+ 00 - Wrap (repeat)
+ 01 - Mirror
+ 02 - Clamp to last texel (0.0 to 1.0)
+ 03 - MirrorOnce to last texel (-1.0 to 1.0)
+ 04 - Clamp half way to border color (0.0 to 1.0)
+ 05 - MirrorOnce half way to border color (-1.0 to 1.0)
+ 06 - Clamp to border color (0.0 to 1.0)
+ 07 - MirrorOnce to border color (-1.0 to 1.0)
+CLAMP_R 8:6 none Clamp mode for texture coordinates
+
+ POSSIBLE VALUES:
+ 00 - Wrap (repeat)
+ 01 - Mirror
+ 02 - Clamp to last texel (0.0 to 1.0)
+ 03 - MirrorOnce to last texel (-1.0 to 1.0)
+ 04 - Clamp half way to border color (0.0 to 1.0)
+ 05 - MirrorOnce half way to border color (-1.0 to 1.0)
+ 06 - Clamp to border color (0.0 to 1.0)
+ 07 - MirrorOnce to border color (-1.0 to 1.0)
+MAG_FILTER 10:9 none Filter used when texture is magnified
+
+ POSSIBLE VALUES:
+ 00 - Filter4
+ 01 - Point
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 219
+ Revision 1.4 October 13, 2009
+
+
+
+
+ 02 - Linear
+ 03 - Reserved
+MIN_FILTER 12:11 none Filter used when texture is minified
+
+ POSSIBLE VALUES:
+ 00 - Filter4
+ 01 - Point
+ 02 - Linear
+ 03 - Reserved
+MIP_FILTER 14:13 none Filter used between mipmap levels
+
+ POSSIBLE VALUES:
+ 00 - None
+ 01 - Point
+ 02 - Linear
+ 03 - Reserved
+VOL_FILTER 16:15 none Filter used between layers of a volume
+
+ POSSIBLE VALUES:
+ 00 - None (no filter specifed, select from MIN/MAG
+ filters)
+ 01 - Point
+ 02 - Linear
+ 03 - Reserved
+MAX_MIP_LEVEL 20:17 none LOD index of largest (finest) mipmap to use (0 is
+ largest). Ranges from 0 to NUM_LEVELS.
+Reserved 23:21 none
+ID 31:28 none Logical id for this physical texture
+
+
+
+TX:TX_FILTER1_[0-15] · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4440-0x447c
+DESCRIPTION: Texture Filter State
+Field Name Bits Default Description
+CHROMA_KEY_MODE 1:0 none Chroma Key Mode
+
+ POSSIBLE VALUES:
+ 00 - Disable
+ 01 - ChromaKey (kill pixel if any sample matches
+ chroma key)
+ 02 - ChromaKeyBlend (set sample to 0 if it matches
+ chroma key)
+MC_ROUND 2 none Bilinear rounding mode
+
+ POSSIBLE VALUES:
+ 00 - Normal rounding on all components (+0.5)
+ 01 - MPEG4 rounding on all components (+0.25)
+LOD_BIAS 12:3 none (s4.5). Ranges from -16.0 to 15.99. Mipmap LOD bias
+ measured in mipmap levels. Added to the signed,
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 220
+ Revision 1.4 October 13, 2009
+
+
+
+
+ computed LOD before the LOD is clamped.
+Reserved 13 none
+MC_COORD_TRUNCATE 14 none MPEG coordinate truncation mode
+
+ POSSIBLE VALUES:
+ 00 - Dont truncate coordinate fractions.
+ 01 - Truncate coordinate fractions to 0.0 and 0.5 for
+ MPEG
+TRI_PERF 16:15 none Apply slope and bias to trilerp fraction to reduce the
+ number of 2-level fetches for trilinear. Should only be
+ used if MIP_FILTER is LINEAR.
+
+ POSSIBLE VALUES:
+ 00 - Breakpoint=0/8. lfrac_out = lfrac_in
+ 01 - Breakpoint=1/8. lfrac_out = clamp(4/3*lfrac_in -
+ 1/6)
+ 02 - Breakpoint=1/4. lfrac_out = clamp(2*lfrac_in -
+ 1/2)
+ 03 - Breakpoint=3/8. lfrac_out = clamp(4*lfrac_in -
+ 3/2)
+Reserved 19:17 none Set to 0
+Reserved 20 none Set to 0
+Reserved 21 none Set to 0
+MACRO_SWITCH 22 none If enabled, addressing switches to macro-linear when
+ image width is <= 8 micro-tiles. If disabled, functionality
+ is same as RV350, switch to macro-linear when image
+ width is < 8 micro-tiles.
+
+ POSSIBLE VALUES:
+ 00 - RV350 mode
+ 01 - Switch from macro-tiled to macro-linear when
+ (width <= 8 micro-tiles)
+Reserved 28:23 none
+Reserved 29 none
+Reserved 30 none
+BORDER_FIX 31 none To fix issues when using non-square mipmaps, with
+ border_color, and extreme minification.
+
+ POSSIBLE VALUES:
+ 00 - R3xx R4xx mode
+ 01 - Stop right shifting coord once mip size is pinned
+ to one
+
+
+
+TX:TX_FILTER4 · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4110
+DESCRIPTION: Filter4 Kernel
+Field Name Bits Default Description
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 221
+ Revision 1.4 October 13, 2009
+
+
+
+
+WEIGHT_1 10:0 none (s1.9). Bottom or Right weight of pair.
+WEIGHT_0 21:11 none (s1.9). Top or Left weight of pair.
+WEIGHT_PAIR 22 none Indicates which pair of weights within phase to load.
+
+ POSSIBLE VALUES:
+ 00 - Top or Left
+ 01 - Bottom or Right
+PHASE 26:23 none Indicates which of 9 phases to load
+DIRECTION 27 none Indicates whether to load the horizontal or vertical
+ weights
+
+ POSSIBLE VALUES:
+ 00 - Horizontal
+ 01 - Vertical
+
+
+
+TX:TX_FORMAT0_[0-15] · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4480-0x44bc
+DESCRIPTION: Texture Format State
+Field Name Bits Default Description
+TXWIDTH 10:0 none Image width - 1. The largest image is 4096 texels. When
+ wrapping or mirroring, must be a power of 2. When
+ mipmapping, must be a power of 2 or padded to a power
+ of 2 in memory. Can always be non-square, except for
+ cube maps which must be square.
+TXHEIGHT 21:11 none Image height - 1. The largest image is 4096 texels. When
+ wrapping or mirroring, must be a power of 2. When
+ mipmapping, must be a power of 2 or padded to a power
+ of 2 in memory. Can always be non-square, except for
+ cube maps which must be square.
+TXDEPTH 25:22 none LOG2(depth) of volume texture
+NUM_LEVELS 29:26 none Number of mipmap levels minus 1. Ranges from 0 to 12.
+ Equivalent to LOD index of smallest (coarsest) mipmap
+ to use.
+PROJECTED 30 none Specifies whether texture coords are projected.
+
+ POSSIBLE VALUES:
+ 00 - Non-Projected
+ 01 - Projected
+TXPITCH_EN 31 none Indicates when TXPITCH should be used instead of
+ TXWIDTH for image addressing
+
+ POSSIBLE VALUES:
+ 00 - Use TXWIDTH for image addressing
+ 01 - Use TXPITCH for image addressing
+
+
+
+TX:TX_FORMAT1_[0-15] · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x44c0-0x44fc
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 222
+ Revision 1.4 October 13, 2009
+
+
+
+
+DESCRIPTION: Texture Format State
+Field Name Bits Default Description
+TXFORMAT 4:0 none Texture Format. Components are numbered right to left.
+ Parenthesis indicate typical uses of each format.
+
+ POSSIBLE VALUES:
+ 00 - TX_FMT_8 or TX_FMT_1 (if
+ TX_FORMAT2.TXFORMAT_MSB is set)
+ 01 - TX_FMT_16 or TX_FMT_1_REVERSE (if
+ TX_FORMAT2.TXFORMAT_MSB is set)
+ 02 - TX_FMT_4_4 or TX_FMT_10 (if
+ TX_FORMAT2.TXFORMAT_MSB is set)
+ 03 - TX_FMT_8_8 or TX_FMT_10_10 (if
+ TX_FORMAT2.TXFORMAT_MSB is set)
+ 04 - TX_FMT_16_16 or TX_FMT_10_10_10_10 (if
+ TX_FORMAT2.TXFORMAT_MSB is set)
+ 05 - TX_FMT_3_3_2 or TX_FMT_ATI1N (if
+ TX_FORMAT2.TXFORMAT_MSB is set)
+ 06 - TX_FMT_5_6_5
+ 07 - TX_FMT_6_5_5
+ 08 - TX_FMT_11_11_10
+ 09 - TX_FMT_10_11_11
+ 10 - TX_FMT_4_4_4_4
+ 11 - TX_FMT_1_5_5_5
+ 12 - TX_FMT_8_8_8_8
+ 13 - TX_FMT_2_10_10_10
+ 14 - TX_FMT_16_16_16_16
+ 15 - Reserved
+ 16 - Reserved
+ 17 - Reserved
+ 18 - TX_FMT_Y8
+ 19 - TX_FMT_AVYU444
+ 20 - TX_FMT_VYUY422
+ 21 - TX_FMT_YVYU422
+ 22 - TX_FMT_16_MPEG
+ 23 - TX_FMT_16_16_MPEG
+ 24 - TX_FMT_16f
+ 25 - TX_FMT_16f_16f
+ 26 - TX_FMT_16f_16f_16f_16f
+ 27 - TX_FMT_32f
+ 28 - TX_FMT_32f_32f
+ 29 - TX_FMT_32f_32f_32f_32f
+ 30 - TX_FMT_W24_FP
+ 31 - TX_FMT_ATI2N
+SIGNED_COMP0 5 none Component filter should interpret texel data as signed or
+ unsigned. (Ignored for Y/YUV formats.)
+
+ POSSIBLE VALUES:
+ 00 - Component filter should interpret texel data as
+ unsigned
+ 01 - Component filter should interpret texel data as
+ signed
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 223
+ Revision 1.4 October 13, 2009
+
+
+
+
+SIGNED_COMP1 6 none Component filter should interpret texel data as signed or
+ unsigned. (Ignored for Y/YUV formats.)
+
+ POSSIBLE VALUES:
+ 00 - Component filter should interpret texel data as
+ unsigned
+ 01 - Component filter should interpret texel data as
+ signed
+SIGNED_COMP2 7 none Component filter should interpret texel data as signed or
+ unsigned. (Ignored for Y/YUV formats.)
+
+ POSSIBLE VALUES:
+ 00 - Component filter should interpret texel data as
+ unsigned
+ 01 - Component filter should interpret texel data as
+ signed
+SIGNED_COMP3 8 none Component filter should interpret texel data as signed or
+ unsigned. (Ignored for Y/YUV formats.)
+
+ POSSIBLE VALUES:
+ 00 - Component filter should interpret texel data as
+ unsigned
+ 01 - Component filter should interpret texel data as
+ signed
+SEL_ALPHA 11:9 none Specifies swizzling for each channel at the input of the
+ pixel shader. (Ignored for Y/YUV formats.)
+
+ POSSIBLE VALUES:
+ 00 - Select Texture Component0.
+ 01 - Select Texture Component1.
+ 02 - Select Texture Component2.
+ 03 - Select Texture Component3.
+ 04 - Select the value 0.
+ 05 - Select the value 1.
+SEL_RED 14:12 none Specifies swizzling for each channel at the input of the
+ pixel shader. (Ignored for Y/YUV formats.)
+
+ POSSIBLE VALUES:
+ 00 - Select Texture Component0.
+ 01 - Select Texture Component1.
+ 02 - Select Texture Component2.
+ 03 - Select Texture Component3.
+ 04 - Select the value 0.
+ 05 - Select the value 1.
+SEL_GREEN 17:15 none Specifies swizzling for each channel at the input of the
+ pixel shader. (Ignored for Y/YUV formats.)
+
+ POSSIBLE VALUES:
+ 00 - Select Texture Component0.
+ 01 - Select Texture Component1.
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 224
+ Revision 1.4 October 13, 2009
+
+
+
+
+ 02 - Select Texture Component2.
+ 03 - Select Texture Component3.
+ 04 - Select the value 0.
+ 05 - Select the value 1.
+SEL_BLUE 20:18 none Specifies swizzling for each channel at the input of the
+ pixel shader. (Ignored for Y/YUV formats.)
+
+ POSSIBLE VALUES:
+ 00 - Select Texture Component0.
+ 01 - Select Texture Component1.
+ 02 - Select Texture Component2.
+ 03 - Select Texture Component3.
+ 04 - Select the value 0.
+ 05 - Select the value 1.
+GAMMA 21 none Optionally remove gamma from texture before passing to
+ shader. Only apply to 8bit or less components.
+
+ POSSIBLE VALUES:
+ 00 - Disable gamma removal
+ 01 - Enable gamma removal
+YUV_TO_RGB 23:22 none YUV to RGB conversion mode
+
+ POSSIBLE VALUES:
+ 00 - Disable YUV to RGB conversion
+ 01 - Enable YUV to RGB conversion (with clamp)
+ 02 - Enable YUV to RGB conversion (without
+ clamp)
+SWAP_YUV 24 none POSSIBLE VALUES:
+ 00 - Disable swap YUV mode
+ 01 - Enable swap YUV mode (hw inverts upper bit of
+ U and V)
+TEX_COORD_TYPE 26:25 none Specifies coordinate type.
+
+ POSSIBLE VALUES:
+ 00 - 2D
+ 01 - 3D
+ 02 - Cube
+ 03 - Reserved
+CACHE 31:27 none This field is ignored on R520 and RV510.
+
+ POSSIBLE VALUES:
+ 00 - WHOLE
+ 01 - Reserved
+ 02 - HALF_REGION_0
+ 03 - HALF_REGION_1
+ 04 - FOURTH_REGION_0
+ 05 - FOURTH_REGION_1
+ 06 - FOURTH_REGION_2
+ 07 - FOURTH_REGION_3
+ 08 - EIGHTH_REGION_0
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 225
+ Revision 1.4 October 13, 2009
+
+
+
+
+ 09 - EIGHTH_REGION_1
+ 10 - EIGHTH_REGION_2
+ 11 - EIGHTH_REGION_3
+ 12 - EIGHTH_REGION_4
+ 13 - EIGHTH_REGION_5
+ 14 - EIGHTH_REGION_6
+ 15 - EIGHTH_REGION_7
+ 16 - SIXTEENTH_REGION_0
+ 17 - SIXTEENTH_REGION_1
+ 18 - SIXTEENTH_REGION_2
+ 19 - SIXTEENTH_REGION_3
+ 20 - SIXTEENTH_REGION_4
+ 21 - SIXTEENTH_REGION_5
+ 22 - SIXTEENTH_REGION_6
+ 23 - SIXTEENTH_REGION_7
+ 24 - SIXTEENTH_REGION_8
+ 25 - SIXTEENTH_REGION_9
+ 26 - SIXTEENTH_REGION_A
+ 27 - SIXTEENTH_REGION_B
+ 28 - SIXTEENTH_REGION_C
+ 29 - SIXTEENTH_REGION_D
+ 30 - SIXTEENTH_REGION_E
+ 31 - SIXTEENTH_REGION_F
+
+
+
+TX:TX_FORMAT2_[0-15] · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4500-0x453c
+DESCRIPTION: Texture Format State
+Field Name Bits Default Description
+TXPITCH 13:0 none Used instead of TXWIDTH for image addressing when
+ TXPITCH_EN is asserted. Pitch is given as number of
+ texels minus one. Maximum pitch is 16K texels.
+TXFORMAT_MSB 14 none Specifies the MSB of the texture format to extend the
+ number of formats to 64.
+TXWIDTH_11 15 none Specifies bit 11 of TXWIDTH to extend the largest
+ image to 4096 texels.
+TXHEIGHT_11 16 none Specifies bit 11 of TXHEIGHT to extend the largest
+ image to 4096 texels.
+POW2FIX2FLT 17 none Optionally divide by 256 instead of 255 during fix2float.
+ Can only be asserted for 8-bit components.
+
+ POSSIBLE VALUES:
+ 00 - Divide by pow2-1 for fix2float (default)
+ 01 - Divide by pow2 for fix2float
+SEL_FILTER4 19:18 none If filter4 is enabled, specifies which texture component
+ to apply filter4 to.
+
+ POSSIBLE VALUES:
+ 00 - Select Texture Component0.
+ 01 - Select Texture Component1.
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 226
+ Revision 1.4 October 13, 2009
+
+
+
+
+ 02 - Select Texture Component2.
+ 03 - Select Texture Component3.
+
+
+
+TX:TX_INVALTAGS · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4100
+DESCRIPTION: Invalidate texture cache tags
+Field Name Bits Default Description
+RESERVED 31:0 none Unused
+
+
+
+TX:TX_OFFSET_[0-15] · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4540-0x457c
+DESCRIPTION: Texture Offset State
+Field Name Bits Default Description
+ENDIAN_SWAP 1:0 none Endian Control
+
+ POSSIBLE VALUES:
+ 00 - No swap
+ 01 - 16 bit swap
+ 02 - 32 bit swap
+ 03 - Half-DWORD swap
+MACRO_TILE 2 none Macro Tile Control
+
+ POSSIBLE VALUES:
+ 00 - 2KB page is linear
+ 01 - 2KB page is tiled
+MICRO_TILE 4:3 none Micro Tile Control
+
+ POSSIBLE VALUES:
+ 00 - 32 byte cache line is linear
+ 01 - 32 byte cache line is tiled
+ 02 - 32 byte cache line is tiled square (only applies to
+ 16-bit texel)
+ 03 - Reserved
+TXOFFSET 31:5 none 32-byte aligned pointer to base map
+
+
+
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 227
+ Revision 1.4 October 13, 2009
+
+
+
+
+11.10 Fragment Shader Registers
+
+US:US_ALU_ALPHA_INST_[0-511] · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0xa800-0xaffc
+DESCRIPTION: ALU Alpha Instruction
+Field Name Bits Default Description
+ALPHA_OP 3:0 0x0 Specifies the opcode for this instruction.
+
+ POSSIBLE VALUES:
+ 00 - OP_MAD: Result = A*B + C
+ 01 - OP_DP: Result = dot product from RGB ALU
+ 02 - OP_MIN: Result = min(A,B)
+ 03 - OP_MAX: Result = max(A,B)
+ 04 - reserved
+ 05 - OP_CND: Result = cnd(A,B,C) = (C>0.5)?A:B
+ 06 - OP_CMP: Result = cmp(A,B,C) =
+ (C>=0.0)?A:B
+ 07 - OP_FRC: Result = A-floor(A)
+ 08 - OP_EX2: Result = 2^^A
+ 09 - OP_LN2: Result = log2(A)
+ 10 - OP_RCP: Result = 1/A
+ 11 - OP_RSQ: Result = 1/sqrt(A)
+ 12 - OP_SIN: Result = sin(A*2pi)
+ 13 - OP_COS: Result = cos(A*2pi)
+ 14 - OP_MDH: Result = A*B + C; A is always
+ topleft.src0, C is always topright.src0 (source select and
+ swizzles ignored). Input modifiers are respected for all
+ inputs.
+ 15 - OP_MDV: Result = A*B + C; A is always
+ topleft.src0, C is always bottomleft.src0 (source select
+ and swizzles ignored). Input modifiers are respected for
+ all inputs.
+ALPHA_ADDRD 10:4 0x0 Specifies the address of the pixel stack frame register to
+ which the Alpha result of this instruction is to be written.
+ALPHA_ADDRD_REL 11 0x0 Specifies whether the loop register is added to the value
+ of ALPHA_ADDRD before it is used. This implements
+ relative addressing.
+
+ POSSIBLE VALUES:
+ 00 - NONE: Do not modify destination address.
+ 01 - RELATIVE: Add aL to address before write.
+ALPHA_SEL_A 13:12 0x0 Specifies the operands for Alpha inputs A and B.
+
+ POSSIBLE VALUES:
+ 00 - src0
+ 01 - src1
+ 02 - src2
+ 03 - srcp
+ALPHA_SWIZ_A 16:14 0x0 Specifies the channel sources for Alpha inputs A and B.
+
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 228
+ Revision 1.4 October 13, 2009
+
+
+
+
+ POSSIBLE VALUES:
+ 00 - Red
+ 01 - Green
+ 02 - Blue
+ 03 - Alpha
+ 04 - Zero
+ 05 - Half
+ 06 - One
+ 07 - Unused
+ALPHA_MOD_A 18:17 0x0 Specifies the input modifiers for Alpha inputs A and B.
+
+ POSSIBLE VALUES:
+ 00 - NOP: Do not modify input
+ 01 - NEG: Negate input
+ 02 - ABS: Take absolute value of input
+ 03 - NAB: Take negative absolute value of input
+ALPHA_SEL_B 20:19 0x0 Specifies the operands for Alpha inputs A and B.
+
+ POSSIBLE VALUES:
+ 00 - src0
+ 01 - src1
+ 02 - src2
+ 03 - srcp
+ALPHA_SWIZ_B 23:21 0x0 Specifies the channel sources for Alpha inputs A and B.
+
+ POSSIBLE VALUES:
+ 00 - Red
+ 01 - Green
+ 02 - Blue
+ 03 - Alpha
+ 04 - Zero
+ 05 - Half
+ 06 - One
+ 07 - Unused
+ALPHA_MOD_B 25:24 0x0 Specifies the input modifiers for Alpha inputs A and B.
+
+ POSSIBLE VALUES:
+ 00 - NOP: Do not modify input
+ 01 - NEG: Negate input
+ 02 - ABS: Take absolute value of input
+ 03 - NAB: Take negative absolute value of input
+OMOD 28:26 0x0 Specifies the output modifier for this instruction.
+
+ POSSIBLE VALUES:
+ 00 - Result * 1
+ 01 - Result * 2
+ 02 - Result * 4
+ 03 - Result * 8
+ 04 - Result / 2
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 229
+ Revision 1.4 October 13, 2009
+
+
+
+
+ 05 - Result / 4
+ 06 - Result / 8
+ 07 - Disable output modifier and clamping (result is
+ copied exactly; only valid for MIN/MAX/CMP/CND)
+TARGET 30:29 0x0 This specifies which (cached) frame buffer target to write
+ to. For non-output ALU instructions, this specifies how
+ to compare the results against zero when setting the
+ predicate bits.
+
+ POSSIBLE VALUES:
+ 00 - A: Output to render target A. Predicate ==
+ (ALU)
+ 01 - B: Output to render target B. Predicate < (ALU)
+ 02 - C: Output to render target C. Predicate >=
+ (ALU)
+ 03 - D: Output to render target D. Predicate != (ALU)
+W_OMASK 31 0x0 Specifies whether or not to write the Alpha component of
+ the result of this instuction to the depth output fifo.
+
+ POSSIBLE VALUES:
+ 00 - NONE: Do not write output to w.
+ 01 - A: Write the alpha channel only to w.
+
+
+
+US:US_ALU_ALPHA_ADDR_[0-511] · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x9800-0x9ffc
+DESCRIPTION: This table specifies the Alpha source addresses and pre-subtract operation for up to 512 ALU
+instruction. The ALU expects 6 source operands - three for color (rgb0, rgb1, rgb2) and three for alpha (a0, a1, a2).
+The pre-subtract operation creates two more (rgbp and ap).
+Field Name Bits Default Description
+ADDR0 7:0 0x0 Specifies the identity of source operands a0, a1, and a2.
+ If the const field is set, this number ranges from 0 to 255
+ and specifies a location within the constant register bank.
+ Otherwise: If the most significant bit is cleared, this field
+ specifies a location within the current pixel stack frame
+ (ranging from 0 to 127). If the most significant bit is set,
+ then the lower 7 bits specify an inline unsigned floating-
+ point constant with 4 bit exponent (bias 7) and 3 bit
+ mantissa, including denormals but excluding
+ infinite/NaN.
+ADDR0_CONST 8 0x0 Specifies whether the associated address is a constant
+ register address or a temporary address / inline constant.
+
+ POSSIBLE VALUES:
+ 00 - TEMPORARY: Address temporary register or
+ inline constant value.
+ 01 - CONSTANT: Address constant register.
+ADDR0_REL 9 0x0 Specifies whether the loop register is added to the value
+ of the associated address before it is used. This
+ implements relative addressing.
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 230
+ Revision 1.4 October 13, 2009
+
+
+
+
+ POSSIBLE VALUES:
+ 00 - NONE: Do not modify source address.
+ 01 - RELATIVE: Add aL before lookup.
+ADDR1 17:10 0x0 Specifies the identity of source operands a0, a1, and a2.
+ If the const field is set, this number ranges from 0 to 255
+ and specifies a location within the constant register bank.
+ Otherwise: If the most significant bit is cleared, this field
+ specifies a location within the current pixel stack frame
+ (ranging from 0 to 127). If the most significant bit is set,
+ then the lower 7 bits specify an inline unsigned floating-
+ point constant with 4 bit exponent (bias 7) and 3 bit
+ mantissa, including denormals but excluding
+ infinite/NaN.
+ADDR1_CONST 18 0x0 Specifies whether the associated address is a constant
+ register address or a temporary address / inline constant.
+
+ POSSIBLE VALUES:
+ 00 - TEMPORARY: Address temporary register or
+ inline constant value.
+ 01 - CONSTANT: Address constant register.
+ADDR1_REL 19 0x0 Specifies whether the loop register is added to the value
+ of the associated address before it is used. This
+ implements relative addressing.
+
+ POSSIBLE VALUES:
+ 00 - NONE: Do not modify source address.
+ 01 - RELATIVE: Add aL before lookup.
+ADDR2 27:20 0x0 Specifies the identity of source operands a0, a1, and a2.
+ If the const field is set, this number ranges from 0 to 255
+ and specifies a location within the constant register bank.
+ Otherwise: If the most significant bit is cleared, this field
+ specifies a location within the current pixel stack frame
+ (ranging from 0 to 127). If the most significant bit is set,
+ then the lower 7 bits specify an inline unsigned floating-
+ point constant with 4 bit exponent (bias 7) and 3 bit
+ mantissa, including denormals but excluding
+ infinite/NaN.
+ADDR2_CONST 28 0x0 Specifies whether the associated address is a constant
+ register address or a temporary address / inline constant.
+
+ POSSIBLE VALUES:
+ 00 - TEMPORARY: Address temporary register or
+ inline constant value.
+ 01 - CONSTANT: Address constant register.
+ADDR2_REL 29 0x0 Specifies whether the loop register is added to the value
+ of the associated address before it is used. This
+ implements relative addressing.
+
+ POSSIBLE VALUES:
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 231
+ Revision 1.4 October 13, 2009
+
+
+
+
+ 00 - NONE: Do not modify source address.
+ 01 - RELATIVE: Add aL before lookup.
+SRCP_OP 31:30 0x0 Specifies how the pre-subtract value (SRCP) is
+ computed.
+
+ POSSIBLE VALUES:
+ 00 - 1.0-2.0*A0
+ 01 - A1-A0
+ 02 - A1+A0
+ 03 - 1.0-A0
+
+
+
+US:US_ALU_RGBA_INST_[0-511] · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0xb000-0xb7fc
+DESCRIPTION: ALU Shared RGBA Instruction
+Field Name Bits Default Description
+RGB_OP 3:0 0x0 Specifies the opcode for this instruction.
+
+ POSSIBLE VALUES:
+ 00 - OP_MAD: Result = A*B + C
+ 01 - OP_DP3: Result = A.r*B.r + A.g*B.g + A.b*B.b
+ 02 - OP_DP4: Result = A.r*B.r + A.g*B.g + A.b*B.b
+ + A.a*B.a
+ 03 - OP_D2A: Result = A.r*B.r + A.g*B.g + C.b
+ 04 - OP_MIN: Result = min(A,B)
+ 05 - OP_MAX: Result = max(A,B)
+ 06 - reserved
+ 07 - OP_CND: Result = cnd(A,B,C) = (C>0.5)?A:B
+ 08 - OP_CMP: Result = cmp(A,B,C) =
+ (C>=0.0)?A:B
+ 09 - OP_FRC: Result = A-floor(A)
+ 10 - OP_SOP: Result = ex2,ln2,rcp,rsq,sin,cos from
+ Alpha ALU
+ 11 - OP_MDH: Result = A*B + C; A is always
+ topleft.src0, C is always topright.src0 (source select and
+ swizzles ignored). Input modifiers are respected for all
+ inputs.
+ 12 - OP_MDV: Result = A*B + C; A is always
+ topleft.src0, C is always bottomleft.src0 (source select
+ and swizzles ignored). Input modifiers are respected for
+ all inputs.
+RGB_ADDRD 10:4 0x0 Specifies the address of the pixel stack frame register to
+ which the RGB result of this instruction is to be written.
+RGB_ADDRD_REL 11 0x0 Specifies whether the loop register is added to the value
+ of RGB_ADDRD before it is used. This implements
+ relative addressing.
+
+ POSSIBLE VALUES:
+ 00 - NONE: Do not modify destination address.
+ 01 - RELATIVE: Add aL to address before write.
+
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 232
+ Revision 1.4 October 13, 2009
+
+
+
+
+RGB_SEL_C 13:12 0x0 Specifies the operands for RGB and Alpha input C.
+
+ POSSIBLE VALUES:
+ 00 - src0
+ 01 - src1
+ 02 - src2
+ 03 - srcp
+RED_SWIZ_C 16:14 0x0 Specifies, per channel, the sources for RGB and Alpha
+ input C.
+
+ POSSIBLE VALUES:
+ 00 - Red
+ 01 - Green
+ 02 - Blue
+ 03 - Alpha
+ 04 - Zero
+ 05 - Half
+ 06 - One
+ 07 - Unused
+GREEN_SWIZ_C 19:17 0x0 Specifies, per channel, the sources for RGB and Alpha
+ input C.
+
+ POSSIBLE VALUES:
+ 00 - Red
+ 01 - Green
+ 02 - Blue
+ 03 - Alpha
+ 04 - Zero
+ 05 - Half
+ 06 - One
+ 07 - Unused
+BLUE_SWIZ_C 22:20 0x0 Specifies, per channel, the sources for RGB and Alpha
+ input C.
+
+ POSSIBLE VALUES:
+ 00 - Red
+ 01 - Green
+ 02 - Blue
+ 03 - Alpha
+ 04 - Zero
+ 05 - Half
+ 06 - One
+ 07 - Unused
+RGB_MOD_C 24:23 0x0 Specifies the input modifiers for RGB and Alpha input
+ C.
+
+ POSSIBLE VALUES:
+ 00 - NOP: Do not modify input
+ 01 - NEG: Negate input
+ 02 - ABS: Take absolute value of input
+ 03 - NAB: Take negative absolute value of input
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 233
+ Revision 1.4 October 13, 2009
+
+
+
+
+ALPHA_SEL_C 26:25 0x0 Specifies the operands for RGB and Alpha input C.
+
+ POSSIBLE VALUES:
+ 00 - src0
+ 01 - src1
+ 02 - src2
+ 03 - srcp
+ALPHA_SWIZ_C 29:27 0x0 Specifies, per channel, the sources for RGB and Alpha
+ input C.
+
+ POSSIBLE VALUES:
+ 00 - Red
+ 01 - Green
+ 02 - Blue
+ 03 - Alpha
+ 04 - Zero
+ 05 - Half
+ 06 - One
+ 07 - Unused
+ALPHA_MOD_C 31:30 0x0 Specifies the input modifiers for RGB and Alpha input
+ C.
+
+ POSSIBLE VALUES:
+ 00 - NOP: Do not modify input
+ 01 - NEG: Negate input
+ 02 - ABS: Take absolute value of input
+ 03 - NAB: Take negative absolute value of input
+
+
+
+US:US_ALU_RGB_INST_[0-511] · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0xa000-0xa7fc
+DESCRIPTION: ALU RGB Instruction
+Field Name Bits Default Description
+RGB_SEL_A 1:0 0x0 Specifies the operands for RGB inputs A and B.
+
+ POSSIBLE VALUES:
+ 00 - src0
+ 01 - src1
+ 02 - src2
+ 03 - srcp
+RED_SWIZ_A 4:2 0x0 Specifies, per channel, the sources for RGB inputs A and
+ B.
+
+ POSSIBLE VALUES:
+ 00 - Red
+ 01 - Green
+ 02 - Blue
+ 03 - Alpha
+ 04 - Zero
+ 05 - Half
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 234
+ Revision 1.4 October 13, 2009
+
+
+
+
+ 06 - One
+ 07 - Unused
+GREEN_SWIZ_A 7:5 0x0 Specifies, per channel, the sources for RGB inputs A and
+ B.
+
+ POSSIBLE VALUES:
+ 00 - Red
+ 01 - Green
+ 02 - Blue
+ 03 - Alpha
+ 04 - Zero
+ 05 - Half
+ 06 - One
+ 07 - Unused
+BLUE_SWIZ_A 10:8 0x0 Specifies, per channel, the sources for RGB inputs A and
+ B.
+
+ POSSIBLE VALUES:
+ 00 - Red
+ 01 - Green
+ 02 - Blue
+ 03 - Alpha
+ 04 - Zero
+ 05 - Half
+ 06 - One
+ 07 - Unused
+RGB_MOD_A 12:11 0x0 Specifies the input modifiers for RGB inputs A and B.
+
+ POSSIBLE VALUES:
+ 00 - NOP: Do not modify input
+ 01 - NEG: Negate input
+ 02 - ABS: Take absolute value of input
+ 03 - NAB: Take negative absolute value of input
+RGB_SEL_B 14:13 0x0 Specifies the operands for RGB inputs A and B.
+
+ POSSIBLE VALUES:
+ 00 - src0
+ 01 - src1
+ 02 - src2
+ 03 - srcp
+RED_SWIZ_B 17:15 0x0 Specifies, per channel, the sources for RGB inputs A and
+ B.
+
+ POSSIBLE VALUES:
+ 00 - Red
+ 01 - Green
+ 02 - Blue
+ 03 - Alpha
+ 04 - Zero
+ 05 - Half
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 235
+ Revision 1.4 October 13, 2009
+
+
+
+
+ 06 - One
+ 07 - Unused
+GREEN_SWIZ_B 20:18 0x0 Specifies, per channel, the sources for RGB inputs A and
+ B.
+
+ POSSIBLE VALUES:
+ 00 - Red
+ 01 - Green
+ 02 - Blue
+ 03 - Alpha
+ 04 - Zero
+ 05 - Half
+ 06 - One
+ 07 - Unused
+BLUE_SWIZ_B 23:21 0x0 Specifies, per channel, the sources for RGB inputs A and
+ B.
+
+ POSSIBLE VALUES:
+ 00 - Red
+ 01 - Green
+ 02 - Blue
+ 03 - Alpha
+ 04 - Zero
+ 05 - Half
+ 06 - One
+ 07 - Unused
+RGB_MOD_B 25:24 0x0 Specifies the input modifiers for RGB inputs A and B.
+
+ POSSIBLE VALUES:
+ 00 - NOP: Do not modify input
+ 01 - NEG: Negate input
+ 02 - ABS: Take absolute value of input
+ 03 - NAB: Take negative absolute value of input
+OMOD 28:26 0x0 Specifies the output modifier for this instruction.
+
+ POSSIBLE VALUES:
+ 00 - Result * 1
+ 01 - Result * 2
+ 02 - Result * 4
+ 03 - Result * 8
+ 04 - Result / 2
+ 05 - Result / 4
+ 06 - Result / 8
+ 07 - Disable output modifier and clamping (result is
+ copied exactly; only valid for MIN/MAX/CMP/CND)
+TARGET 30:29 0x0 This specifies which (cached) frame buffer target to write
+ to. For non-output ALU instructions, this specifies how
+ to compare the results against zero when setting the
+ predicate bits.
+
+
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 236
+ Revision 1.4 October 13, 2009
+
+
+
+
+ POSSIBLE VALUES:
+ 00 - A: Output to render target A. Predicate ==
+ (ALU)
+ 01 - B: Output to render target B. Predicate < (ALU)
+ 02 - C: Output to render target C. Predicate >=
+ (ALU)
+ 03 - D: Output to render target D. Predicate != (ALU)
+ALU_WMASK 31 0x0 Specifies whether to update the current ALU result.
+
+ POSSIBLE VALUES:
+ 00 - Do not modify the current ALU result.
+ 01 - Modify the current ALU result based on the
+ settings of ALU_RESULT_SEL and
+ ALU_RESULT_OP.
+
+
+
+US:US_ALU_RGB_ADDR_[0-511] · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x9000-0x97fc
+DESCRIPTION: This table specifies the RGB source addresses and pre-subtract operation for up to 512 ALU
+instructions. The ALU expects 6 source operands - three for color (rgb0, rgb1, rgb2) and three for alpha (a0, a1,
+a2). The pre-subtract operation creates two more (rgbp and ap).
+Field Name Bits Default Description
+ADDR0 7:0 0x0 Specifies the identity of source operands rgb0, rgb1, and
+ rgb2. If the const field is set, this number ranges from 0
+ to 255 and specifies a location within the constant
+ register bank. Otherwise: If the most significant bit is
+ cleared, this field specifies a location within the current
+ pixel stack frame (ranging from 0 to 127). If the most
+ significant bit is set, then the lower 7 bits specify an
+ inline unsigned floating-point constant with 4 bit
+ exponent (bias 7) and 3 bit mantissa, including
+ denormals but excluding infinite/NaN.
+ADDR0_CONST 8 0x0 Specifies whether the associated address is a constant
+ register address or a temporary address / inline constant.
+
+ POSSIBLE VALUES:
+ 00 - TEMPORARY: Address temporary register or
+ inline constant value.
+ 01 - CONSTANT: Address constant register.
+ADDR0_REL 9 0x0 Specifies whether the loop register is added to the value
+ of the associated address before it is used. This
+ implements relative addressing.
+
+ POSSIBLE VALUES:
+ 00 - NONE: Do not modify source address.
+ 01 - RELATIVE: Add aL before lookup.
+ADDR1 17:10 0x0 Specifies the identity of source operands rgb0, rgb1, and
+ rgb2. If the const field is set, this number ranges from 0
+ to 255 and specifies a location within the constant
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 237
+ Revision 1.4 October 13, 2009
+
+
+
+
+ register bank. Otherwise: If the most significant bit is
+ cleared, this field specifies a location within the current
+ pixel stack frame (ranging from 0 to 127). If the most
+ significant bit is set, then the lower 7 bits specify an
+ inline unsigned floating-point constant with 4 bit
+ exponent (bias 7) and 3 bit mantissa, including
+ denormals but excluding infinite/NaN.
+ADDR1_CONST 18 0x0 Specifies whether the associated address is a constant
+ register address or a temporary address / inline constant.
+
+ POSSIBLE VALUES:
+ 00 - TEMPORARY: Address temporary register or
+ inline constant value.
+ 01 - CONSTANT: Address constant register.
+ADDR1_REL 19 0x0 Specifies whether the loop register is added to the value
+ of the associated address before it is used. This
+ implements relative addressing.
+
+ POSSIBLE VALUES:
+ 00 - NONE: Do not modify source address.
+ 01 - RELATIVE: Add aL before lookup.
+ADDR2 27:20 0x0 Specifies the identity of source operands rgb0, rgb1, and
+ rgb2. If the const field is set, this number ranges from 0
+ to 255 and specifies a location within the constant
+ register bank. Otherwise: If the most significant bit is
+ cleared, this field specifies a location within the current
+ pixel stack frame (ranging from 0 to 127). If the most
+ significant bit is set, then the lower 7 bits specify an
+ inline unsigned floating-point constant with 4 bit
+ exponent (bias 7) and 3 bit mantissa, including
+ denormals but excluding infinite/NaN.
+ADDR2_CONST 28 0x0 Specifies whether the associated address is a constant
+ register address or a temporary address / inline constant.
+
+ POSSIBLE VALUES:
+ 00 - TEMPORARY: Address temporary register or
+ inline constant value.
+ 01 - CONSTANT: Address constant register.
+ADDR2_REL 29 0x0 Specifies whether the loop register is added to the value
+ of the associated address before it is used. This
+ implements relative addressing.
+
+ POSSIBLE VALUES:
+ 00 - NONE: Do not modify source address.
+ 01 - RELATIVE: Add aL before lookup.
+SRCP_OP 31:30 0x0 Specifies how the pre-subtract value (SRCP) is
+ computed.
+
+ POSSIBLE VALUES:
+ 00 - 1.0-2.0*RGB0
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 238
+ Revision 1.4 October 13, 2009
+
+
+
+
+ 01 - RGB1-RGB0
+ 02 - RGB1+RGB0
+ 03 - 1.0-RGB0
+
+
+
+US:US_CMN_INST_[0-511] · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0xb800-0xbffc
+DESCRIPTION: Shared instruction fields for all instruction types
+Field Name Bits Default Description
+TYPE 1:0 0x0 Specifies the type of instruction. Note that output
+ instructions write to render targets.
+
+ POSSIBLE VALUES:
+ 00 - US_INST_TYPE_ALU: This instruction is an
+ ALU instruction.
+ 01 - US_INST_TYPE_OUT: This instruction is an
+ output instruction.
+ 02 - US_INST_TYPE_FC: This instruction is a flow
+ control instruction.
+ 03 - US_INST_TYPE_TEX: This instruction is a
+ texture instruction.
+TEX_SEM_WAIT 2 0x0 Specifies whether to wait for the texture semaphore.
+
+ POSSIBLE VALUES:
+ 00 - This instruction may issue immediately.
+ 01 - This instruction will not issue until the texture
+ semaphore is available.
+RGB_PRED_SEL 5:3 0x0 Specifies whether the instruction uses predication. For
+ ALU/TEX/Output this specifies predication for the RGB
+ channels only. For FC this specifies the predicate for the
+ entire instruction.
+
+ POSSIBLE VALUES:
+ 00 - US_PRED_SEL_NONE: No predication
+ 01 - US_PRED_SEL_RGBA: Independent Channel
+ Predication
+ 02 - US_PRED_SEL_RRRR: R-Replicate
+ Predication
+ 03 - US_PRED_SEL_GGGG: G-Replicate
+ Predication
+ 04 - US_PRED_SEL_BBBB: B-Replicate
+ Predication
+ 05 - US_PRED_SEL_AAAA: A-Replicate
+ Predication
+RGB_PRED_INV 6 0x0 Specifies whether the predicate should be inverted. For
+ ALU/TEX/Output this specifies predication for the RGB
+ channels only. For FC this specifies the predicate for the
+ entire instruction.
+
+ POSSIBLE VALUES:
+ 00 - Normal predication
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 239
+ Revision 1.4 October 13, 2009
+
+
+
+
+ 01 - Invert the value of the predicate
+WRITE_INACTIVE 7 0x0 Specifies which pixels to write to.
+
+ POSSIBLE VALUES:
+ 00 - Only write to channels of active pixels
+ 01 - Write to channels of all pixels, including inactive
+ pixels
+LAST 8 0x0 Specifies whether this is the last instruction.
+
+ POSSIBLE VALUES:
+ 00 - Do not terminate the shader after executing this
+ instruction (unless this instruction is at END_ADDR).
+ 01 - All active pixels are willing to terminate after
+ executing this instruction. There is no guarantee that the
+ shader will actually terminate here. This feature is
+ provided as a performance optimization for tests where
+ pixels can conditionally terminate early.
+NOP 9 0x0 Specifies whether to insert a NOP instruction after this.
+ This would get specified in order to meet dependency
+ requirements for the pre-subtract inputs, and dependency
+ requirements for src0 of an MDH/MDV instruction.
+
+ POSSIBLE VALUES:
+ 00 - Do not insert NOP instruction after this one.
+ 01 - Insert a NOP instruction after this one.
+ALU_WAIT 10 0x0 Specifies whether to wait for pending ALU instructions
+ to complete before issuing this instruction.
+
+ POSSIBLE VALUES:
+ 00 - Do not wait for pending ALU instructions to
+ complete before issuing the current instruction.
+ 01 - Wait for pending ALU instructions to complete
+ before issuing the current instruction.
+RGB_WMASK 13:11 0x0 Specifies which components of the result of the RGB
+ instruction are written to the pixel stack frame.
+
+ POSSIBLE VALUES:
+ 00 - NONE: Do not write any output.
+ 01 - R: Write the red channel only.
+ 02 - G: Write the green channel only.
+ 03 - RG: Write the red and green channels.
+ 04 - B: Write the blue channel only.
+ 05 - RB: Write the red and blue channels.
+ 06 - GB: Write the green and blue channels.
+ 07 - RGB: Write the red, green, and blue channels.
+ALPHA_WMASK 14 0x0 Specifies whether the result of the Alpha instruction is
+ written to the pixel stack frame.
+
+ POSSIBLE VALUES:
+ 00 - NONE: Do not write register.
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 240
+ Revision 1.4 October 13, 2009
+
+
+
+
+ 01 - A: Write the alpha channel only.
+RGB_OMASK 17:15 0x0 Specifies which components of the result of the RGB
+ instruction are written to the output fifo if this is an
+ output instruction, and which predicate bits should be
+ modified if this is an ALU instruction.
+
+ POSSIBLE VALUES:
+ 00 - NONE: Do not write any output.
+ 01 - R: Write the red channel only.
+ 02 - G: Write the green channel only.
+ 03 - RG: Write the red and green channels.
+ 04 - B: Write the blue channel only.
+ 05 - RB: Write the red and blue channels.
+ 06 - GB: Write the green and blue channels.
+ 07 - RGB: Write the red, green, and blue channels.
+ALPHA_OMASK 18 0x0 Specifies whether the result of the Alpha instruction is
+ written to the output fifo if this is an output instruction,
+ and whether the Alpha predicate bit should be modified
+ if this is an ALU instruction.
+
+ POSSIBLE VALUES:
+ 00 - NONE: Do not write output.
+ 01 - A: Write the alpha channel only.
+RGB_CLAMP 19 0x0 Specifies RGB and Alpha clamp mode for this
+ instruction.
+
+ POSSIBLE VALUES:
+ 00 - Do not clamp output.
+ 01 - Clamp output to the range [0,1].
+ALPHA_CLAMP 20 0x0 Specifies RGB and Alpha clamp mode for this
+ instruction.
+
+ POSSIBLE VALUES:
+ 00 - Do not clamp output.
+ 01 - Clamp output to the range [0,1].
+ALU_RESULT_SEL 21 0x0 Specifies which component of the result of this
+ instruction should be used as the `ALU result` by a
+ subsequent flow control instruction.
+
+ POSSIBLE VALUES:
+ 00 - RED: Use red as ALU result for FC.
+ 01 - ALPHA: Use alpha as ALU result for FC.
+ALPHA_PRED_INV 22 0x0 Specifies whether the predicate should be inverted. For
+ ALU/TEX/Output this specifies predication for the alpha
+ channel only. This field has no effect on FC instructions.
+
+ POSSIBLE VALUES:
+ 00 - Normal predication
+ 01 - Invert the value of the predicate
+
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 241
+ Revision 1.4 October 13, 2009
+
+
+
+
+ALU_RESULT_OP 24:23 0x0 Specifies how to compare the ALU result against zero
+ for the `alu_result` bit in a subsequent flow control
+ instruction.
+
+ POSSIBLE VALUES:
+ 00 - Equal to
+ 01 - Less than
+ 02 - Greater than or equal to
+ 03 - Not equal
+ALPHA_PRED_SEL 27:25 0x0 Specifies whether the instruction uses predication. For
+ ALU/TEX/Output this specifies predication for the alpha
+ channel only. This field has no effect on FC instructions.
+
+ POSSIBLE VALUES:
+ 00 - US_PRED_SEL_NONE: No predication
+ 01 - US_PRED_SEL_RGBA: A predication
+ (identical to US_PRED_SEL_AAAA)
+ 02 - US_PRED_SEL_RRRR: R Predication
+ 03 - US_PRED_SEL_GGGG: G Predication
+ 04 - US_PRED_SEL_BBBB: B Predication
+ 05 - US_PRED_SEL_AAAA: A Predication
+STAT_WE 31:28 0x0 Specifies which components (R,G,B,A) contribute to the
+ stat count
+
+
+
+US:US_CODE_ADDR · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4630
+DESCRIPTION: Code start and end instruction addresses.
+Field Name Bits Default Description
+START_ADDR 8:0 0x0 Specifies the address of the first instruction to execute in
+ the shader program. This address is relative to the shader
+ program offset given in
+ US_CODE_OFFSET.OFFSET_ADDR.
+END_ADDR 24:16 0x0 Specifies the address of the last instruction to execute in
+ the shader program. This address is relative to the shader
+ program offset given in
+ US_CODE_OFFSET.OFFSET_ADDR. Shader program
+ execution will always terminate after the instruction at
+ this address is executed.
+
+
+
+US:US_CODE_OFFSET · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4638
+DESCRIPTION: Offsets used for relative instruction addresses in the shader program, including START_ADDR,
+END_ADDR, and any non-global flow control jump addresses.
+Field Name Bits Default Description
+OFFSET_ADDR 8:0 0x0 Specifies the offset to add to relative instruction
+ addresses, including START_ADDR, END_ADDR, and
+ some flow control jump addresses.
+
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 242
+ Revision 1.4 October 13, 2009
+
+
+
+
+US:US_CODE_RANGE · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4634
+DESCRIPTION: Range of instructions that contains the current shader program.
+Field Name Bits Default Description
+CODE_ADDR 8:0 0x0 Specifies the start address of the current code window.
+ This address is an absolute address.
+CODE_SIZE 24:16 0x0 Specifies the size of the current code window, minus
+ one. The last instruction in the code window is given by
+ CODE_ADDR + CODE_SIZE.
+
+
+
+US:US_CONFIG · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4600
+DESCRIPTION: Shader Configuration
+Field Name Bits Default Description
+Reserved 0 0x0 Set to 0
+ZERO_TIMES_ANYTHING_EQUALS_ZERO 1 0x0 Control how ALU multiplier behaves when one
+ argument is zero. This affects the multiplier used in
+ MAD and dot product calculations.
+
+ POSSIBLE VALUES:
+ 00 - Default behaviour (0*inf=nan,0*nan=nan)
+ 01 - Legacy behaviour for shader model 1
+ (0*anything=0)
+
+
+
+US:US_FC_ADDR_[0-511] · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0xa000-0xa7fc
+DESCRIPTION: Flow Control Instruction Address Fields
+Field Name Bits Default Description
+BOOL_ADDR 4:0 0x0 The address of the static boolean register to use in the
+ jump function.
+INT_ADDR 12:8 0x0 The address of the static integer register to use for
+ loop/rep and endloop/endrep.
+JUMP_ADDR 24:16 0x0 The address to jump to if the jump function evaluates to
+ true.
+JUMP_GLOBAL 31 0x0 Specifies whether to interpret JUMP_ADDR as a global
+ address.
+
+ POSSIBLE VALUES:
+ 00 - Add the shader program offset in
+ US_CODE_OFFSET.OFFSET_ADDR when calculating
+ the destination address of a jump
+ 01 - Don`t use the shader program offset when
+ calculating the destination address jump
+
+
+
+US:US_FC_BOOL_CONST · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4620
+DESCRIPTION: Static Boolean Constants for Flow Control Branching Instructions. Quad-buffered.
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 243
+ Revision 1.4 October 13, 2009
+
+
+
+
+Field Name Bits Default Description
+KBOOL 31:0 0x0 Specifies the boolean value for constants 0-31.
+
+
+
+US:US_FC_CTRL · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4624
+DESCRIPTION: Flow Control Options. Quad-buffered.
+Field Name Bits Default Description
+TEST_EN 30 0x0 Specifies whether test mode is enabled. This flag
+ currently has no effect in hardware.
+
+ POSSIBLE VALUES:
+ 00 - Normal mode
+ 01 - Test mode (currently unused)
+FULL_FC_EN 31 0x0 Specifies whether full flow control functionality is
+ enabled.
+
+ POSSIBLE VALUES:
+ 00 - Use partial flow-control (enables twice the
+ contexts). Loops and subroutines are not available in
+ partial flow-control mode, and the nesting depth of
+ branch statements is limited.
+ 01 - Use full pixel shader 3.0 flow control, including
+ loops and subroutines.
+
+
+
+US:US_FC_INST_[0-511] · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x9800-0x9ffc
+DESCRIPTION: Flow Control Instruction
+Field Name Bits Default Description
+OP 2:0 0x0 Specifies the type of flow control instruction.
+
+ POSSIBLE VALUES:
+ 00 - US_FC_OP_JUMP: (if, endif, call, etc)
+ 01 - US_FC_OP_LOOP: same as jump except
+ always take the jump if the static counter is 0. If we don`t
+ take the jump, push initial loop counter and loop register
+ (aL) values onto the loop stack.
+ 02 - US_FC_OP_ENDLOOP: same as jump but
+ decrement the loop counter and increment the loop
+ register (aL), and don`t take the jump if the loop counter
+ becomes zero.
+ 03 - US_FC_OP_REP: same as loop but don`t push
+ the loop register aL.
+ 04 - US_FC_OP_ENDREP: same as endloop but
+ don`t update/pop the loop register aL.
+ 05 - US_FC_OP_BREAKLOOP: same as jump but
+ pops the loop stacks if a pixel stops being active.
+ 06 - US_FC_OP_BREAKREP: same as breakloop
+ but don`t pop the loop register if it jumps.
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 244
+ Revision 1.4 October 13, 2009
+
+
+
+
+ 07 - US_FC_OP_CONTINUE: used to disable pixels
+ that are ready to jump to the ENDLOOP/ENDREP
+ instruction.
+B_ELSE 4 0x0 Specifies whether to perform an else operation on the
+ active and branch-inactive pixels before executing the
+ instruction.
+
+ POSSIBLE VALUES:
+ 00 - Don`t alter the branch state before executing the
+ instruction.
+ 01 - Perform an else operation on the branch state
+ before executing the instruction; pixels in the active state
+ are moved to the branch inactive state with zero counter,
+ and vice versa.
+JUMP_ANY 5 0x0 If set, jump if any active pixels want to take the jump
+ (otherwise the instruction jumps only if all active pixels
+ want to).
+
+ POSSIBLE VALUES:
+ 00 - Jump if ALL active pixels want to take the jump
+ (for if and else). If no pixels are active, jump.
+ 01 - Jump if ANY active pixels want to take the jump
+ (for call, loop/rep and endrep/endloop). If no pixels are
+ active, do not jump.
+A_OP 7:6 0x0 The address stack operation to perform if we take the
+ jump.
+
+ POSSIBLE VALUES:
+ 00 - US_FC_A_OP_NONE: Don`t change the
+ address stack
+ 01 - US_FC_A_OP_POP: If we jump, pop the
+ address stack and use that value for the jump target
+ 02 - US_FC_A_OP_PUSH: If we jump, push the
+ current address onto the address stack
+JUMP_FUNC 15:8 0x0 A 2x2x2 table of boolean values indicating whether to
+ take the jump. The table index is indexed by {ALU
+ Compare Result, Predication Result, Boolean Value
+ (from the static boolean address in
+ US_FC_ADDR.BOOL)}. To determine whether to jump,
+ look at bit ((alu_result<<2) | (predicate<<1) | bool).
+B_POP_CNT 20:16 0x0 The amount to decrement the branch counter by if
+ US_FC_B_OP_DECR operation is performed.
+B_OP0 25:24 0x0 The branch state operation to perform if we don`t take
+ the jump.
+
+ POSSIBLE VALUES:
+ 00 - US_FC_B_OP_NONE: If we don`t jump, don`t
+ alter the branch counter for any pixel.
+ 01 - US_FC_B_OP_DECR: If we don`t jump,
+ decrement branch counter by B_POP_CNT for inactive
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 245
+ Revision 1.4 October 13, 2009
+
+
+
+
+ pixels. Activate pixels with negative counters.
+ 02 - US_FC_B_OP_INCR: If we don`t jump,
+ increment branch counter by 1 for inactive pixels.
+ Deactivate pixels that decided to jump and set their
+ counter to zero.
+B_OP1 27:26 0x0 The branch state operation to perform if we do take the
+ jump.
+
+ POSSIBLE VALUES:
+ 00 - US_FC_B_OP_NONE: If we do jump, don`t
+ alter the branch counter for any pixel.
+ 01 - US_FC_B_OP_DECR: If we do jump,
+ decrement branch counter by B_POP_CNT for inactive
+ pixels. Activate pixels with negative counters.
+ 02 - US_FC_B_OP_INCR: If we do jump, increment
+ branch counter by 1 for inactive pixels. Deactivate pixels
+ that decided not to jump and set their counter to zero.
+IGNORE_UNCOVERED 28 0x0 If set, uncovered pixels will not participate in flow
+ control decisions.
+
+ POSSIBLE VALUES:
+ 00 - Include uncovered pixels in jump decisions
+ 01 - Ignore uncovered pixels in making jump
+ decisions
+
+
+
+US:US_FC_INT_CONST_[0-31] · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4c00-0x4c7c
+DESCRIPTION: Integer Constants used by Flow Control Loop Instructions. Single buffered.
+Field Name Bits Default Description
+KR 7:0 0x0 Specifies the number of iterations. Unsigned 8-bit integer
+ in [0, 255].
+KG 15:8 0x0 Specifies the initial value of the loop register (aL).
+ Unsigned 8-bit integer in [0, 255].
+KB 23:16 0x0 Specifies the increment used to change the loop register
+ (aL) on each iteration. Signed 7-bit integer in [-128,
+ 127].
+
+
+
+US:US_FORMAT0_[0-15] · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4640-0x467c
+Field Name Bits Default Description
+TXWIDTH 10:0 0x0
+TXHEIGHT 21:11 0x0
+TXDEPTH 25:22 0x0 POSSIBLE VALUES:
+ 13 - width > 2048, height <= 2048
+ 14 - width <= 2048, height > 2048
+ 15 - width > 2048, height > 2048
+
+
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 246
+ Revision 1.4 October 13, 2009
+
+
+
+
+US:US_OUT_FMT_[0-3] · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x46a4-0x46b0
+Field Name Bits Default Description
+OUT_FMT 4:0 0x0 POSSIBLE VALUES:
+ 00 - C4_8 (S/U)
+ 01 - C4_10 (U)
+ 02 - C4_10_GAMMA - (U)
+ 03 - C_16 - (S/U)
+ 04 - C2_16 - (S/U)
+ 05 - C4_16 - (S/U)
+ 06 - C_16_MPEG - (S)
+ 07 - C2_16_MPEG - (S)
+ 08 - C2_4 - (U)
+ 09 - C_3_3_2 - (U)
+ 10 - C_6_5_6 - (S/U)
+ 11 - C_11_11_10 - (S/U)
+ 12 - C_10_11_11 - (S/U)
+ 13 - C_2_10_10_10 - (S/U)
+ 14 - reserved
+ 15 - UNUSED - Render target is not used
+ 16 - C_16_FP - (S10E5)
+ 17 - C2_16_FP - (S10E5)
+ 18 - C4_16_FP - (S10E5)
+ 19 - C_32_FP - (S23E8)
+ 20 - C2_32_FP - (S23E8)
+ 21 - C4_32_FP - (S23E8)
+C0_SEL 9:8 0x0 POSSIBLE VALUES:
+ 00 - Alpha
+ 01 - Red
+ 02 - Green
+ 03 - Blue
+C1_SEL 11:10 0x0 POSSIBLE VALUES:
+ 00 - Alpha
+ 01 - Red
+ 02 - Green
+ 03 - Blue
+C2_SEL 13:12 0x0 POSSIBLE VALUES:
+ 00 - Alpha
+ 01 - Red
+ 02 - Green
+ 03 - Blue
+C3_SEL 15:14 0x0 POSSIBLE VALUES:
+ 00 - Alpha
+ 01 - Red
+ 02 - Green
+ 03 - Blue
+OUT_SIGN 19:16 0x0
+ROUND_ADJ 20 0x0 POSSIBLE VALUES:
+ 00 - Normal rounding
+ 01 - Modified rounding of fixed-point data
+
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 247
+ Revision 1.4 October 13, 2009
+
+
+
+
+US:US_PIXSIZE · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4604
+DESCRIPTION: Shader pixel size. This register specifies the size and partitioning of the current pixel stack frame
+Field Name Bits Default Description
+PIX_SIZE 6:0 0x0 Specifies the total size of the current pixel stack frame
+ (1:128)
+
+
+
+US:US_TEX_ADDR_[0-511] · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x9800-0x9ffc
+DESCRIPTION: Texture addresses and swizzles
+Field Name Bits Default Description
+SRC_ADDR 6:0 0x0 Specifies the location (within the shader pixel stack
+ frame) of the texture address for this instruction
+SRC_ADDR_REL 7 0x0 Specifies whether the loop register is added to the value
+ of the associated address before it is used. This
+ implements relative addressing.
+
+ POSSIBLE VALUES:
+ 00 - NONE: Do not modify source address
+ 01 - RELATIVE: Add aL before lookup.
+SRC_S_SWIZ 9:8 0x0 Specify which colour channel of src_addr to use for S
+ coordinate
+
+ POSSIBLE VALUES:
+ 00 - Use R channel as S coordinate
+ 01 - Use G channel as S coordinate
+ 02 - Use B channel as S coordinate
+ 03 - Use A channel as S coordinate
+SRC_T_SWIZ 11:10 0x0 Specify which colour channel of src_addr to use for T
+ coordinate
+
+ POSSIBLE VALUES:
+ 00 - Use R channel as T coordinate
+ 01 - Use G channel as T coordinate
+ 02 - Use B channel as T coordinate
+ 03 - Use A channel as T coordinate
+SRC_R_SWIZ 13:12 0x0 Specify which colour channel of src_addr to use for R
+ coordinate
+
+ POSSIBLE VALUES:
+ 00 - Use R channel as R coordinate
+ 01 - Use G channel as R coordinate
+ 02 - Use B channel as R coordinate
+ 03 - Use A channel as R coordinate
+SRC_Q_SWIZ 15:14 0x0 Specify which colour channel of src_addr to use for Q
+ coordinate
+
+ POSSIBLE VALUES:
+ 00 - Use R channel as Q coordinate
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 248
+ Revision 1.4 October 13, 2009
+
+
+
+
+ 01 - Use G channel as Q coordinate
+ 02 - Use B channel as Q coordinate
+ 03 - Use A channel as Q coordinate
+DST_ADDR 22:16 0x0 Specifies the location (within the shader pixel stack
+ frame) of the returned texture data for this instruction
+DST_ADDR_REL 23 0x0 Specifies whether the loop register is added to the value
+ of the associated address before it is used. This
+ implements relative addressing.
+
+ POSSIBLE VALUES:
+ 00 - NONE: Do not modify destination address
+ 01 - RELATIVE: Add aL before lookup.
+DST_R_SWIZ 25:24 0x0 Specify which colour channel of the returned texture data
+ to write to the red channel of dst_addr
+
+ POSSIBLE VALUES:
+ 00 - Write R channel to R channel
+ 01 - Write G channel to R channel
+ 02 - Write B channel to R channel
+ 03 - Write A channel to R channel
+DST_G_SWIZ 27:26 0x0 Specify which colour channel of the returned texture data
+ to write to the green channel of dst_addr
+
+ POSSIBLE VALUES:
+ 00 - Write R channel to G channel
+ 01 - Write G channel to G channel
+ 02 - Write B channel to G channel
+ 03 - Write A channel to G channel
+DST_B_SWIZ 29:28 0x0 Specify which colour channel of the returned texture data
+ to write to the blue channel of dst_addr
+
+ POSSIBLE VALUES:
+ 00 - Write R channel to B channel
+ 01 - Write G channel to B channel
+ 02 - Write B channel to B channel
+ 03 - Write A channel to B channel
+DST_A_SWIZ 31:30 0x0 Specify which colour channel of the returned texture data
+ to write to the alpha channel of dst_addr
+
+ POSSIBLE VALUES:
+ 00 - Write R channel to A channel
+ 01 - Write G channel to A channel
+ 02 - Write B channel to A channel
+ 03 - Write A channel to A channel
+
+
+
+US:US_TEX_ADDR_DXDY_[0-511] · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0xa000-0xa7fc
+DESCRIPTION: Additional texture addresses and swizzles for DX/DY inputs
+Field Name Bits Default Description
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 249
+ Revision 1.4 October 13, 2009
+
+
+
+
+DX_ADDR 6:0 0x0 Specifies the location (within the shader pixel stack
+ frame) of the DX value for this instruction
+DX_ADDR_REL 7 0x0 Specifies whether the loop register is added to the value
+ of the associated address before it is used. This
+ implements relative addressing.
+
+ POSSIBLE VALUES:
+ 00 - NONE: Do not modify source address
+ 01 - RELATIVE: Add aL before lookup.
+DX_S_SWIZ 9:8 0x0 Specify which colour channel of dx_addr to use for S
+ coordinate
+
+ POSSIBLE VALUES:
+ 00 - Use R channel as S coordinate
+ 01 - Use G channel as S coordinate
+ 02 - Use B channel as S coordinate
+ 03 - Use A channel as S coordinate
+DX_T_SWIZ 11:10 0x0 Specify which colour channel of dx_addr to use for T
+ coordinate
+
+ POSSIBLE VALUES:
+ 00 - Use R channel as T coordinate
+ 01 - Use G channel as T coordinate
+ 02 - Use B channel as T coordinate
+ 03 - Use A channel as T coordinate
+DX_R_SWIZ 13:12 0x0 Specify which colour channel of dx_addr to use for R
+ coordinate
+
+ POSSIBLE VALUES:
+ 00 - Use R channel as R coordinate
+ 01 - Use G channel as R coordinate
+ 02 - Use B channel as R coordinate
+ 03 - Use A channel as R coordinate
+DX_Q_SWIZ 15:14 0x0 Specify which colour channel of dx_addr to use for Q
+ coordinate
+
+ POSSIBLE VALUES:
+ 00 - Use R channel as Q coordinate
+ 01 - Use G channel as Q coordinate
+ 02 - Use B channel as Q coordinate
+ 03 - Use A channel as Q coordinate
+DY_ADDR 22:16 0x0 Specifies the location (within the shader pixel stack
+ frame) of the DY value for this instruction
+DY_ADDR_REL 23 0x0 Specifies whether the loop register is added to the value
+ of the associated address before it is used. This
+ implements relative addressing.
+
+ POSSIBLE VALUES:
+ 00 - NONE: Do not modify source address
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 250
+ Revision 1.4 October 13, 2009
+
+
+
+
+ 01 - RELATIVE: Add aL before lookup.
+DY_S_SWIZ 25:24 0x0 Specify which colour channel of dy_addr to use for S
+ coordinate
+
+ POSSIBLE VALUES:
+ 00 - Use R channel as S coordinate
+ 01 - Use G channel as S coordinate
+ 02 - Use B channel as S coordinate
+ 03 - Use A channel as S coordinate
+DY_T_SWIZ 27:26 0x0 Specify which colour channel of dy_addr to use for T
+ coordinate
+
+ POSSIBLE VALUES:
+ 00 - Use R channel as T coordinate
+ 01 - Use G channel as T coordinate
+ 02 - Use B channel as T coordinate
+ 03 - Use A channel as T coordinate
+DY_R_SWIZ 29:28 0x0 Specify which colour channel of dy_addr to use for R
+ coordinate
+
+ POSSIBLE VALUES:
+ 00 - Use R channel as R coordinate
+ 01 - Use G channel as R coordinate
+ 02 - Use B channel as R coordinate
+ 03 - Use A channel as R coordinate
+DY_Q_SWIZ 31:30 0x0 Specify which colour channel of dy_addr to use for Q
+ coordinate
+
+ POSSIBLE VALUES:
+ 00 - Use R channel as Q coordinate
+ 01 - Use G channel as Q coordinate
+ 02 - Use B channel as Q coordinate
+ 03 - Use A channel as Q coordinate
+
+
+
+US:US_TEX_INST_[0-511] · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x9000-0x97fc
+DESCRIPTION: Texture Instruction
+Field Name Bits Default Description
+TEX_ID 19:16 0x0 Specifies the id of the texture map used for this
+ instruction
+INST 24:22 0x0 Specifies the operation taking place for this instruction
+
+ POSSIBLE VALUES:
+ 00 - NOP: Do nothing
+ 01 - LD: Do Texture Lookup (S,T,R)
+ 02 - TEXKILL: Kill pixel if any component is < 0
+ 03 - PROJ: Do projected texture lookup
+ (S/Q,T/Q,R/Q)
+ 04 - LODBIAS: Do texture lookup with lod bias
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 251
+ Revision 1.4 October 13, 2009
+
+
+
+
+ 05 - LOD: Do texture lookup with explicit lod
+ 06 - DXDY: Do texture lookup with lod calculated
+ from DX and DY
+TEX_SEM_ACQUIRE 25 0x0 Whether to hold the texture semaphore until the data is
+ written to the temporary register.
+
+ POSSIBLE VALUES:
+ 00 - Don`t hold the texture semaphore
+ 01 - Hold the texture semaphore until the data is
+ written to the temporary register.
+IGNORE_UNCOVERED 26 0x0 If set, US will not request data for pixels which are
+ uncovered. Clear this bit for indirect texture lookups.
+
+ POSSIBLE VALUES:
+ 00 - Fetch texels for uncovered pixels
+ 01 - Don`t fetch texels for uncovered pixels
+UNSCALED 27 0x0 Whether to scale texture coordinates when sending them
+ to the texture unit.
+
+ POSSIBLE VALUES:
+ 00 - Scale the S, T, R texture coordinates from
+ [0.0,1.0] to the dimensions of the target texture
+ 01 - Use the unscaled S, T, R texture coordates.
+
+
+
+US:US_W_FMT · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x46b4
+DESCRIPTION: Specifies the source and format for the Depth (W) value output by the shader
+Field Name Bits Default Description
+W_FMT 1:0 0x0 Format for W
+
+ POSSIBLE VALUES:
+ 00 - W0 - W is always zero
+ 01 - W24 - 24-bit fixed point
+ 02 - W24_FP - 24-bit floating point. The floating
+ point values are a special format that preserve sorting
+ order when values are compared as integers, allowing
+ higher precision in W without additional logic in other
+ blocks.
+ 03 - Reserved
+W_SRC 2 0x0 Source for W
+
+ POSSIBLE VALUES:
+ 00 - WSRC_US - W comes from shader instruction
+ 01 - WSRC_RAS - W comes from rasterizer
+
+
+
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 252
+ Revision 1.4 October 13, 2009
+
+
+
+
+11.11 Vertex Registers
+
+VAP:VAP_ALT_NUM_VERTICES · [R/W] · 32 bits · Access: 32 · MMReg:0x2088
+DESCRIPTION: Alternate Number of Vertices to allow > 16-bits of Vertex count
+Field Name Bits Default Description
+NUM_VERTICES 23:0 0x0 24-bit vertex count for command packet. Used instead of
+ bits 31:16 of VAP_VF_CNTL if
+ VAP_VF_CNTL.USE_ALT_NUM_VERTS is set.
+
+
+
+VAP:VAP_CLIP_CNTL · [R/W] · 32 bits · Access: 32 · MMReg:0x221c
+DESCRIPTION: Control Bits for User Clip Planes and Clipping
+Field Name Bits Default Description
+UCP_ENA_0 0 0x0 Enable User Clip Plane 0
+UCP_ENA_1 1 0x0 Enable User Clip Plane 1
+UCP_ENA_2 2 0x0 Enable User Clip Plane 2
+UCP_ENA_3 3 0x0 Enable User Clip Plane 3
+UCP_ENA_4 4 0x0 Enable User Clip Plane 4
+UCP_ENA_5 5 0x0 Enable User Clip Plane 5
+PS_UCP_MODE 15:14 0x0 0 = Cull using distance from center of point
+ 1 = Cull using radius-based distance from center of
+ point
+ 2 = Cull using radius-based distance from center of
+ point, Expand and Clip on intersection
+ 3 = Always expand and clip as trifan
+CLIP_DISABLE 16 0x0 Disables clip code generation and clipping process for
+ TCL
+UCP_CULL_ONLY_ENA 17 0x0 Cull Primitives against UCPS, but don`t clip
+BOUNDARY_EDGE_FLAG_ENA 18 0x0 If set, boundary edges are highlighted, else they are not
+ highlighted
+COLOR2_IS_TEXTURE 20 0x0 If set, color2 is used as texture8 by GA (PS3.0
+ requirement)
+COLOR3_IS_TEXTURE 21 0x0 If set, color3 is used as texture9 by GA (PS3.0
+ requirement)
+
+
+
+VAP:VAP_CNTL · [R/W] · 32 bits · Access: 32 · MMReg:0x2080
+DESCRIPTION: Vertex Assembler/Processor Control Register
+Field Name Bits Default Description
+PVS_NUM_SLOTS 3:0 0x0 Specifies the number of vertex slots to be used in the
+ VAP PVS process. A slot represents a single vertex
+ storage location1 across multiple engines (one vertex per
+ engine). By decreasing the number of slots, there is more
+ memory for each vertex, but less parallel processing.
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 253
+ Revision 1.4 October 13, 2009
+
+
+
+
+ Similarly, by increasing the number of slots, there is less
+ memory per vertex but more vertices being processed in
+ parallel.
+PVS_NUM_CNTLRS 7:4 0x0 Specifies the maximum number of controllers to be
+ processing in parallel. In general should be set to max
+ value of TBD. Can be changed for performance analysis.
+PVS_NUM_FPUS 11:8 0x0 Specifies the number of Floating Point Units
+ (Vector/Math Engines) to use when processing vertices.
+VAP_NO_RENDER 17 0x0 If set, VAP will not process any draw commands (i.e.
+ writes to VAP_VF_CNTL, the INDX and DATAPORT
+ and Immediate mode writes are ignored.
+VF_MAX_VTX_NUM 21:18 0x9 This field controls the number of vertices that the vertex
+ fetcher manages for the TCL and Setup Vertex Storage
+ memories (and therefore the number of vertices that can
+ be re-used). This value should be set to 12 for most
+ operation, This number may be modified for
+ performance evaluation. The value is the maximum
+ vertex number used which is one less than the number of
+ vertices (i.e. a 12 means 13 vertices will be used)
+DX_CLIP_SPACE_DEF 22 0x0 Clip space is defined as:
+ 0: -W < X < W, -W < Y < W, -W < Z < W (OpenGL
+ Definition)
+ 1: -W < X < W, -W < Y < W, 0 < Z < W (DirectX
+ Definition)
+TCL_STATE_OPTIMIZATION 23 0x0 If set, enables the TCL state optimization, and the new
+ state is used only if there is a change in TCL state,
+ between VF_CNTL (triggers)
+
+
+
+VAP:VAP_CNTL_STATUS · [R/W] · 32 bits · Access: 32 · MMReg:0x2140
+DESCRIPTION: Vertex Assemblen/Processor Control Status
+Field Name Bits Default Description
+VC_SWAP 1:0 0x0 Endian-Swap Control.
+ 0 = No swap 1 = 16-bit swap: 0xAABBCCDD becomes
+ 0xBBAADDCC
+ 2 = 32-bit swap: 0xAABBCCDD becomes
+ 0xDDCCBBAA
+ 3 = Half-dword swap: 0xAABBCCDD becomes
+ 0xCCDDAABB
+ Default = 0
+PVS_BYPASS 8 0x0 The TCL engine is logically or physically removed from
+ the circuit.
+PVS_BUSY 11 0x0 Transform/Clip/Light (TCL) Engine is Busy. Read-only.
+(Access: R)
+MAX_MPS 19:16 0x0 Maximum number of MPs fused for this chip. Read-
+(Access: R) only.
+ For A11, fusemask is fixed to 1XXX.
+ For A12,
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 254
+ Revision 1.4 October 13, 2009
+
+
+
+
+ CG.CC_COMBINEDSTRAPS.MAX_MPS[7:5] = 000
+ => max_mps[3:0] = 1XXX => 8 MPs
+ CG.CC_COMBINEDSTRAPS.MAX_MPS[7:5] = 001
+ => max_mps[3:0] = 0110 => 6 MPs
+ CG.CC_COMBINEDSTRAPS.MAX_MPS[7:5] = 010
+ => max_mps[3:0] = 0101 => 5 MPs
+ CG.CC_COMBINEDSTRAPS.MAX_MPS[7:5] = 011
+ => max_mps[3:0] = 0100 => 4 MPs
+ CG.CC_COMBINEDSTRAPS.MAX_MPS[7:5] = 100
+ => max_mps[3:0] = 0011 => 3 MPs
+ CG.CC_COMBINEDSTRAPS.MAX_MPS[7:5] = 101
+ => max_mps[3:0] = 0010 => 2 MPs
+ CG.CC_COMBINEDSTRAPS.MAX_MPS[7:5] = 110
+ => max_mps[3:0] = 0001 => 1 MP
+ CG.CC_COMBINEDSTRAPS.MAX_MPS[7:5] = 111
+ => max_mps[3:0] = 0000 => 0 MP
+ Note that max_mps[3:0] = 0111 = 7 MPs is not available
+VS_BUSY 24 0x0 Vertex Store is Busy. Read-only.
+(Access: R)
+RCP_BUSY 25 0x0 Reciprocal Engine is Busy. Read-only.
+(Access: R)
+VTE_BUSY 26 0x0 ViewPort Transform Engine is Busy. Read-only.
+(Access: R)
+MIU_BUSY 27 0x0 Memory Interface Unit is Busy. Read-only.
+(Access: R)
+VC_BUSY 28 0x0 Vertex Cache is Busy. Read-only.
+(Access: R)
+VF_BUSY 29 0x0 Vertex Fetcher is Busy. Read-only.
+(Access: R)
+REGPIPE_BUSY 30 0x0 Register Pipeline is Busy. Read-only.
+(Access: R)
+VAP_BUSY 31 0x0 VAP Engine is Busy. Read-only.
+(Access: R)
+
+
+
+VAP:VAP_GB_HORZ_CLIP_ADJ · [R/W] · 32 bits · Access: 32 · MMReg:0x2228
+DESCRIPTION: Horizontal Guard Band Clip Adjust Register
+Field Name Bits Default Description
+DATA_REGISTER 31:0 0x0 32-bit floating point value. Should be set to 1.0 for no
+ guard band.
+
+
+
+VAP:VAP_GB_HORZ_DISC_ADJ · [R/W] · 32 bits · Access: 32 · MMReg:0x222c
+DESCRIPTION: Horizontal Guard Band Discard Adjust Register
+Field Name Bits Default Description
+DATA_REGISTER 31:0 0x0 32-bit floating point value. Should be set to 1.0 for no
+ guard band.
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 255
+ Revision 1.4 October 13, 2009
+
+
+
+
+VAP:VAP_GB_VERT_CLIP_ADJ · [R/W] · 32 bits · Access: 32 · MMReg:0x2220
+DESCRIPTION: Vertical Guard Band Clip Adjust Register
+Field Name Bits Default Description
+DATA_REGISTER 31:0 0x0 32-bit floating point value. Should be set to 1.0 for no
+ guard band.
+
+
+
+VAP:VAP_GB_VERT_DISC_ADJ · [R/W] · 32 bits · Access: 32 · MMReg:0x2224
+DESCRIPTION: Vertical Guard Band Discard Adjust Register
+Field Name Bits Default Description
+DATA_REGISTER 31:0 0x0 32-bit floating point value. Should be set to 1.0 for no
+ guard band.
+
+
+
+VAP:VAP_INDEX_OFFSET · [R/W] · 32 bits · Access: 32 · MMReg:0x208c
+DESCRIPTION: Offset Value added to index value in both Indexed and Auto-indexed modes. Disabled by setting
+to 0
+Field Name Bits Default Description
+INDEX_OFFSET 24:0 0x0 25-bit signed 2`s comp offset value
+
+
+
+VAP:VAP_OUT_VTX_FMT_0 · [R/W] · 32 bits · Access: 32 · MMReg:0x2090
+DESCRIPTION: VAP Out/GA Vertex Format Register 0
+Field Name Bits Default Description
+VTX_POS_PRESENT 0 0x0 Output the Position Vector
+VTX_COLOR_0_PRESENT 1 0x0 Output Color 0 Vector
+VTX_COLOR_1_PRESENT 2 0x0 Output Color 1 Vector
+VTX_COLOR_2_PRESENT 3 0x0 Output Color 2 Vector
+VTX_COLOR_3_PRESENT 4 0x0 Output Color 3 Vector
+VTX_PT_SIZE_PRESENT 16 0x0 Output Point Size Vector
+
+
+
+VAP:VAP_OUT_VTX_FMT_1 · [R/W] · 32 bits · Access: 32 · MMReg:0x2094
+DESCRIPTION: VAP Out/GA Vertex Format Register 1
+Field Name Bits Default Description
+TEX_0_COMP_CNT 2:0 0x0 Number of words in texture
+ 0 = Not Present
+ 1 = 1 component
+ 2 = 2 components
+ 3 = 3 components
+ 4 = 4 components
+
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 256
+ Revision 1.4 October 13, 2009
+
+
+
+
+TEX_1_COMP_CNT 5:3 0x0 Number of words in texture
+ 0 = Not Present
+ 1 = 1 component
+ 2 = 2 components
+ 3 = 3 components
+ 4 = 4 components
+TEX_2_COMP_CNT 8:6 0x0 Number of words in texture
+ 0 = Not Present
+ 1 = 1 component
+ 2 = 2 components
+ 3 = 3 components
+ 4 = 4 components
+TEX_3_COMP_CNT 11:9 0x0 Number of words in texture
+ 0 = Not Present
+ 1 = 1 component
+ 2 = 2 components
+ 3 = 3 components
+ 4 = 4 components
+TEX_4_COMP_CNT 14:12 0x0 Number of words in texture
+ 0 = Not Present
+ 1 = 1 component
+ 2 = 2 components
+ 3 = 3 components
+ 4 = 4 components
+TEX_5_COMP_CNT 17:15 0x0 Number of words in texture
+ 0 = Not Present
+ 1 = 1 component
+ 2 = 2 components
+ 3 = 3 components
+ 4 = 4 components
+TEX_6_COMP_CNT 20:18 0x0 Number of words in texture
+ 0 = Not Present
+ 1 = 1 component
+ 2 = 2 components
+ 3 = 3 components
+ 4 = 4 components
+TEX_7_COMP_CNT 23:21 0x0 Number of words in texture
+ 0 = Not Present
+ 1 = 1 component
+ 2 = 2 components
+ 3 = 3 components
+ 4 = 4 components
+
+
+
+VAP:VAP_PORT_DATA[0-15] · [W] · 32 bits · Access: 32 · MMReg:0x2000-0x203c
+DESCRIPTION: Setup Engine Data Port 0 through 15.
+Field Name Bits Default Description
+DATAPORT0 31:0 0x0 1st of 16 consecutive dwords for writing vertex data
+(master with mirrors) information.
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 257
+ Revision 1.4 October 13, 2009
+
+
+
+
+ Write-only.
+
+
+
+VAP:VAP_PORT_DATA_IDX_128 · [W] · 32 bits · Access: 32 · MMReg:0x20b8
+DESCRIPTION: 128-bit Data Port for Indexed Primitives.
+Field Name Bits Default Description
+DATA_IDX_PORT_128 31:0 0x0 128-bit Data Port for Indexed Primitives.
+ Write-only.
+
+
+
+VAP:VAP_PORT_IDX[0-15] · [W] · 32 bits · Access: 32 · MMReg:0x2040-0x207c
+DESCRIPTION: Setup Engine Index Port 0 through 15.
+Field Name Bits Default Description
+IDXPORT0 31:0 0x0 1st of 16 consecutive dwords for writing vertex index
+(master with mirrors) information, in the format of:
+ 15:0 Index 0
+ 31:16 Index 1
+ Write-only.
+
+
+
+VAP:VAP_PROG_STREAM_CNTL_[0-7] · [R/W] · 32 bits · Access: 32 · MMReg:0x2150-0x216c
+DESCRIPTION: Programmable Stream Control Word 0
+Field Name Bits Default Description
+DATA_TYPE_0 3:0 0x0 The data type for element 0
+ 0 = FLOAT_1 (Single IEEE Float)
+ 1 = FLOAT_2 (2 IEEE floats)
+ 2 = FLOAT_3 (3 IEEE Floats)
+ 3 = FLOAT_4 (4 IEEE Floats)
+ 4 = BYTE * (1 DWORD w 4 8-bit fixed point values)
+ (X = [7:0], Y = [15:8], Z = [23:16], W = [31:24])
+ 5 = D3DCOLOR * (Same as BYTE except has X->Z,Z-
+ >X swap for D3D color def)
+ (Z = [7:0], Y = [15:8], X = [23:16], W = [31:24])
+ 6 = SHORT_2 * (1 DWORD with 2 16-bit fixed point
+ values)
+ (X = [15:0], Y = [31:16], Z = 0.0, W = 1.0)
+ 7 = SHORT_4 * (2 DWORDS with 4(2 per dword) 16-
+ bit fixed point values)
+ (X = DW0 [15:0], Y = DW0 [31:16], Z = DW1 [15:0],
+ W = DW1 [31:16])
+ 8 = VECTOR_3_TTT * (1 DWORD with 3 10-bit fixed
+ point values)
+ (X = [9:0], Y = [19:10], Z = [29:20], W = 1.0)
+ 9 = VECTOR_3_EET * (1 DWORD with 2 11-bit and 1
+ 10-bit fixed point values)
+ (X = [10:0], Y = [21:11], Z = [31:22], W = 1.0)
+ 10 = FLOAT_8 (8 IEEE Floats)
+ Sames as 2 FLOAT_4 but must use consecutive
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 258
+ Revision 1.4 October 13, 2009
+
+
+
+
+ DST_VEC_LOC. Used to allow > 16 PSC for OGL path.
+ 11 = FLT16_2 (1 DWORD with 2 16-bit floating point
+ values (SE5M10 exp bias of 15, supports denormalized
+ numbers))
+ (X = [15:0], Y = [31:16], Z = 0.0, W = 1.0)
+ 12 = FLT16_4 (2 DWORDS with 4(2 per dword) 16-bit
+ floating point values (SE5M10 exp bias of 15, supports
+ denormalized numbers)))
+ (X = DW0 [15:0], Y = DW0 [31:16], Z = DW1 [15:0],
+ W = DW1 [31:16])
+ * These data types use the SIGNED and NORMALIZE
+ flags described below.
+SKIP_DWORDS_0 7:4 0x0 The number of DWORDS to skip (discard) after
+ processing the current element.
+DST_VEC_LOC_0 12:8 0x0 The vector address in the input memory to write this
+ element
+LAST_VEC_0 13 0x0 If set, indicates the last vector of the current vertex
+ stream
+SIGNED_0 14 0x0 Determines whether fixed point data types are unsigned
+ (0) or 2`s complement signed (1) data types. See
+ NORMALIZE for complete description of affect
+NORMALIZE_0 15 0x0 Determines whether the fixed to floating point
+ conversion will normalize the value (i.e. fixed point
+ value is all fractional bits) or not (i.e. fixed point value is
+ all integer bits).
+ This table describes the fixed to float conversion results
+ SIGNED NORMALIZE FLT RANGE
+ 0 0 0.0 - (2^n - 1) (i.e. 8-bit -> 0.0 - 255.0)
+ 0 1 0.0 - 1.0
+ 1 0 -2^(n-1) - (2^(n-1) - 1) (i.e. 8-bit -> -128.0 - 127.0)
+ 1 1 -1.0 - 1.0
+ where n is the number of bits in the associated fixed
+ point value
+ For signed, normalize conversion, since the fixed point
+ range is not evenly distributed around 0, there are 3
+ different methods supported by R300. See the
+ VAP_PSC_SGN_NORM_CNTL description for details.
+DATA_TYPE_1 19:16 0x0 Similar to DATA_TYPE_0
+SKIP_DWORDS_1 23:20 0x0 See SKIP_DWORDS_0
+DST_VEC_LOC_1 28:24 0x0 See DST_VEC_LOC_0
+LAST_VEC_1 29 0x0 See LAST_VEC_0
+SIGNED_1 30 0x0 See SIGNED_0
+NORMALIZE_1 31 0x0 See NORMALIZE_0
+
+
+
+VAP:VAP_PROG_STREAM_CNTL_EXT_[0-7] · [R/W] · 32 bits · Access: 32 · MMReg:0x21e0-0x21fc
+DESCRIPTION: Programmable Stream Control Extension Word 0
+Field Name Bits Default Description
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 259
+ Revision 1.4 October 13, 2009
+
+
+
+
+SWIZZLE_SELECT_X_0 2:0 0x0 X-Component Swizzle Select
+ 0 = SELECT_X
+ 1 = SELECT_Y
+ 2 = SELECT_Z
+ 3 = SELECT_W
+ 4 = SELECT_FP_ZERO (Floating Point 0.0)
+ 5 = SELECT_FP_ONE (Floating Point 1.0)
+ 6,7 RESERVED
+SWIZZLE_SELECT_Y_0 5:3 0x0 Y-Component Swizzle Select (See Above)
+SWIZZLE_SELECT_Z_0 8:6 0x0 Z-Component Swizzle Select (See Above)
+SWIZZLE_SELECT_W_0 11:9 0x0 W-Component Swizzle Select (See Above)
+WRITE_ENA_0 15:12 0x0 4-bit write enable.
+ Bit 0 maps to X
+ Bit 1 maps to Y
+ Bit 2 maps to Z
+ Bit 3 maps to W
+SWIZZLE_SELECT_X_1 18:16 0x0 See SWIZZLE_SELECT_X_0
+SWIZZLE_SELECT_Y_1 21:19 0x0 See SWIZZLE_SELECT_Y_0
+SWIZZLE_SELECT_Z_1 24:22 0x0 See SWIZZLE_SELECT_Z_0
+SWIZZLE_SELECT_W_1 27:25 0x0 See SWIZZLE_SELECT_W_0
+WRITE_ENA_1 31:28 0x0 See WRITE_ENA_0
+
+
+
+VAP:VAP_PSC_SGN_NORM_CNTL · [R/W] · 32 bits · Access: 32 · MMReg:0x21dc
+DESCRIPTION: Programmable Stream Control Signed Normalize Control
+Field Name Bits Default Description
+SGN_NORM_METHOD_0 1:0 0x0 There are 3 methods of normalizing signed numbers:
+ 0: SGN_NORM_ZERO : value / (2^(n-1)-1), so -
+ 128/127 will be less that -1.0, -127/127 will yeild -1.0,
+ 0/127 will yield 0, and 127/127 will yield 1.0 for 8-bit
+ numbers.
+ 1: SGN_NORM_ZERO_CLAMP_MINUS_ONE: Same
+ as SGN_NORM_ZERO except -128/127 will yield -1.0
+ for 8-bit numbers.
+ 2: SGN_NORM_NO_ZERO: (2 * value + 1)/2^n, so -
+ 128 will yield -255/255 = -1.0, 127 will yield 255/255 =
+ 1.0, but 0 will yield 1/255 != 0.
+SGN_NORM_METHOD_1 3:2 0x0 See SGN_NORM_METHOD_0
+SGN_NORM_METHOD_2 5:4 0x0 See SGN_NORM_METHOD_0
+SGN_NORM_METHOD_3 7:6 0x0 See SGN_NORM_METHOD_0
+SGN_NORM_METHOD_4 9:8 0x0 See SGN_NORM_METHOD_0
+SGN_NORM_METHOD_5 11:10 0x0 See SGN_NORM_METHOD_0
+SGN_NORM_METHOD_6 13:12 0x0 See SGN_NORM_METHOD_0
+SGN_NORM_METHOD_7 15:14 0x0 See SGN_NORM_METHOD_0
+SGN_NORM_METHOD_8 17:16 0x0 See SGN_NORM_METHOD_0
+
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 260
+ Revision 1.4 October 13, 2009
+
+
+
+
+SGN_NORM_METHOD_9 19:18 0x0 See SGN_NORM_METHOD_0
+SGN_NORM_METHOD_10 21:20 0x0 See SGN_NORM_METHOD_0
+SGN_NORM_METHOD_11 23:22 0x0 See SGN_NORM_METHOD_0
+SGN_NORM_METHOD_12 25:24 0x0 See SGN_NORM_METHOD_0
+SGN_NORM_METHOD_13 27:26 0x0 See SGN_NORM_METHOD_0
+SGN_NORM_METHOD_14 29:28 0x0 See SGN_NORM_METHOD_0
+SGN_NORM_METHOD_15 31:30 0x0 See SGN_NORM_METHOD_0
+
+
+
+VAP:VAP_PVS_CODE_CNTL_0 · [R/W] · 32 bits · Access: 32 · MMReg:0x22d0
+DESCRIPTION: Programmable Vertex Shader Code Control Register 0
+Field Name Bits Default Description
+PVS_FIRST_INST 9:0 0x0 First Instruction to Execute in PVS.
+PVS_XYZW_VALID_INST 19:10 0x0 The PVS Instruction which updates the clip coordinate
+ position for the last time. This value is used to lower the
+ processing priority while trivial clip and back-face
+ culling decisions are made. This field must be set to valid
+ instruction.
+PVS_LAST_INST 29:20 0x0 Last Instruction (Inclusive) for the PVS to execute.
+
+
+
+VAP:VAP_PVS_CODE_CNTL_1 · [R/W] · 32 bits · Access: 32 · MMReg:0x22d8
+DESCRIPTION: Programmable Vertex Shader Code Control Register 1
+Field Name Bits Default Description
+PVS_LAST_VTX_SRC_INST 9:0 0x0 The PVS Instruction which uses the Input Vertex
+ Memory for the last time. This value is used to free up
+ the Input Vertex Slots ASAP. This field must be set to a
+ valid instruction.
+
+
+
+VAP:VAP_PVS_CONST_CNTL · [R/W] · 32 bits · Access: 32 · MMReg:0x22d4
+DESCRIPTION: Programmable Vertex Shader Constant Control Register
+Field Name Bits Default Description
+PVS_CONST_BASE_OFFSET 7:0 0x0 Vector Offset into PVS constant memory to the start of
+ the constants for the current shader
+PVS_MAX_CONST_ADDR 23:16 0x0 The maximum constant address which should be
+ generated by the shader (Inst Const Addr + Addr
+ Register). If the address which is generated by the shader
+ is outside the range of 0 to PVS_MAX_CONST_ADDR,
+ then (0,0,0,0) is returned as the source operand data.
+
+
+
+VAP:VAP_PVS_FLOW_CNTL_ADDRS_[0-15] · [R/W] · 32 bits · Access: 32 · MMReg:0x2230-0x226c
+DESCRIPTION: Programmable Vertex Shader Flow Control Addresses Register 0
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 261
+ Revision 1.4 October 13, 2009
+
+
+
+
+Field Name Bits Default Description
+PVS_FC_ACT_ADRS_0 7:0 0x0 This field defines the last PVS instruction to execute
+ prior to the control flow redirection.
+ JUMP - The last instruction executed prior to the jump
+ LOOP - The last instruction executed prior to the loop
+ (init loop counter/inc)
+ JSR - The last instruction executed prior to the jump to
+ the subroutine.
+PVS_FC_LOOP_CNT_JMP_INST_0 15:8 0x0 This field has multiple definitions as follows:
+ JUMP - The instruction address to jump to.
+ LOOP - The loop count. *Note loop count of 0 must be
+ replaced by a jump.
+ JSR - The instruction address to jump to (first inst of
+ subroutine).
+PVS_FC_LAST_INST_0 23:16 0x0 This field has multiple definitions as follows:
+ JUMP - Not Applicable
+ LOOP - The last instruction of the loop.
+ JSR - The last instruction of the subroutine.
+PVS_FC_RTN_INST_0 31:24 0x0 This field has multiple definitions as follows:
+ JUMP - Not Applicable
+ LOOP - First Instruction of Loop (Typically
+ ACT_ADRS + 1)
+ JSR - First Instruction After JSR (Typically
+ ACT_ADRS + 1)
+
+
+
+VAP:VAP_PVS_FLOW_CNTL_ADDRS_LW_[0-15] · [R/W] · 32 bits · Access: 32 · MMReg:0x2500-
+0x2578
+DESCRIPTION: For VS3.0 - To support more PVS instructions, increase the address range - Programmable
+Vertex Shader Flow Control Lower Word Addresses Register 0
+Field Name Bits Default Description
+PVS_FC_ACT_ADRS_0 15:0 0x0 This field defines the last PVS instruction to execute
+ prior to the control flow redirection.
+ JUMP - The last instruction executed prior to the jump
+ LOOP - The last instruction executed prior to the loop
+ (init loop counter/inc)
+ JSR - The last instruction executed prior to the jump to
+ the subroutine.
+ (Addrss_Range:1K=[9:0];512=[8:0];256=[7:0])
+PVS_FC_LOOP_CNT_JMP_INST_0 31:16 0x0 This field has multiple definitions as follows:
+ JUMP - The instruction address to jump to.
+ LOOP - The loop count. *Note loop count of 0 must be
+ replaced by a jump.
+ JSR - The instruction address to jump to (first inst of
+ subroutine).
+ (Addrss_Range:1K=[24:15];512=[23:15];256=[22:15])
+
+
+
+VAP:VAP_PVS_FLOW_CNTL_ADDRS_UW_[0-15] · [R/W] · 32 bits · Access: 32 · MMReg:0x2504-
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 262
+ Revision 1.4 October 13, 2009
+
+
+
+
+0x257c
+DESCRIPTION: For VS3.0 - To support more PVS instructions, increase the address range - Programmable
+Vertex Shader Flow Control Upper Word Addresses Register 0
+Field Name Bits Default Description
+PVS_FC_LAST_INST_0 15:0 0x0 This field has multiple definitions as follows:
+ JUMP - Not Applicable
+ LOOP - The last instruction of the loop.
+ JSR - The last instruction of the subroutine.
+ (Addrss_Range:1K=[9:0];512=[8:0];256=[7:0])
+PVS_FC_RTN_INST_0 31:16 0x0 This field has multiple definitions as follows:
+ JUMP - Not Applicable
+ LOOP - First Instruction of Loop (Typically
+ ACT_ADRS + 1)
+ JSR - First Instruction After JSR (Typically ACT_ADRS
+ + 1).
+ (Addrss_Range:1K=[24:15];512=[23:15];256=[22:15])
+
+
+
+VAP:VAP_PVS_FLOW_CNTL_LOOP_INDEX_[0-15] · [R/W] · 32 bits · Access: 32 · MMReg:0x2290-
+0x22cc
+DESCRIPTION: Programmable Vertex Shader Flow Control Loop Index Register 0
+Field Name Bits Default Description
+PVS_FC_LOOP_INIT_VAL_0 7:0 0x0 This field stores the automatic loop index register init
+ value. This is an 8-bit unsigned value 0-255. This field
+ is only used if the corresponding control flow
+ instruction is a loop.
+PVS_FC_LOOP_STEP_VAL_0 15:8 0x0 This field stores the automatic loop index register step
+ value. This is an 8-bit 2`s comp signed value -128-127.
+ This field is only used if the corresponding control
+ flow instruction is a loop.
+PVS_FC_LOOP_REPEAT_NO_FLI_0 31 0x0 When this field is set, the automatic loop index register
+ init value is not used at loop activation. The intial loop
+ index is inherited from outer loop. The loop index
+ register step value is used at the end of each loop
+ iteration ; after loop completion, the outer loop index
+ register is restored
+
+
+
+VAP:VAP_PVS_FLOW_CNTL_OPC · [R/W] · 32 bits · Access: 32 · MMReg:0x22dc
+DESCRIPTION: Programmable Vertex Shader Flow Control Opcode Register
+Field Name Bits Default Description
+PVS_FC_OPC_0 1:0 0x0 This opcode field determines what type of control flow
+ instruction to execute.
+ 0 = NO_OP
+ 1 = JUMP
+ 2 = LOOP
+ 3 = JSR (Jump to Subroutine)
+
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 263
+ Revision 1.4 October 13, 2009
+
+
+
+
+PVS_FC_OPC_1 3:2 0x0 See PVS_FC_OPC_0.
+PVS_FC_OPC_2 5:4 0x0 See PVS_FC_OPC_0.
+PVS_FC_OPC_3 7:6 0x0 See PVS_FC_OPC_0.
+PVS_FC_OPC_4 9:8 0x0 See PVS_FC_OPC_0.
+PVS_FC_OPC_5 11:10 0x0 See PVS_FC_OPC_0.
+PVS_FC_OPC_6 13:12 0x0 See PVS_FC_OPC_0.
+PVS_FC_OPC_7 15:14 0x0 See PVS_FC_OPC_0.
+PVS_FC_OPC_8 17:16 0x0 See PVS_FC_OPC_0.
+PVS_FC_OPC_9 19:18 0x0 See PVS_FC_OPC_0.
+PVS_FC_OPC_10 21:20 0x0 See PVS_FC_OPC_0.
+PVS_FC_OPC_11 23:22 0x0 See PVS_FC_OPC_0.
+PVS_FC_OPC_12 25:24 0x0 See PVS_FC_OPC_0.
+PVS_FC_OPC_13 27:26 0x0 See PVS_FC_OPC_0.
+PVS_FC_OPC_14 29:28 0x0 See PVS_FC_OPC_0.
+PVS_FC_OPC_15 31:30 0x0 See PVS_FC_OPC_0.
+
+
+
+VAP:VAP_PVS_STATE_FLUSH_REG · [R/W] · 32 bits · Access: 32 · MMReg:0x2284
+Field Name Bits Default Description
+DATA_REGISTER 31:0 0x0 This register is used to force a flush of the PVS block
+(Access: W) when single-buffered updates are performed. The multi-
+ state control of PVS Code and Const memories by the
+ driver is primarily for more flexible PVS state control
+ and for performance testing. When this register address
+ is written, the State Block will force a flush of PVS
+ processing so that both versions of PVS state are
+ available before updates are processed. This register is
+ write only, and the data that is written is unused.
+
+
+
+VAP:VAP_PVS_VECTOR_DATA_REG · [R/W] · 32 bits · Access: 32 · MMReg:0x2204
+Field Name Bits Default Description
+DATA_REGISTER 31:0 0x0 32-bit data to write to Vector Memory. Used for PVS
+ code and Constant updates.
+
+
+
+VAP:VAP_PVS_VECTOR_DATA_REG_128 · [W] · 32 bits · Access: 32 · MMReg:0x2208
+Field Name Bits Default Description
+DATA_REGISTER 31:0 0x0 128-bit data path to write to Vector Memory. Used for
+ PVS code and Constant updates.
+
+
+
+VAP:VAP_PVS_VECTOR_INDX_REG · [R/W] · 32 bits · Access: 32 · MMReg:0x2200
+
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 264
+ Revision 1.4 October 13, 2009
+
+
+
+
+Field Name Bits Default Description
+OCTWORD_OFFSET 10:0 0x0 Octword offset to begin writing.
+
+
+
+VAP:VAP_PVS_VTX_TIMEOUT_REG · [R/W] · 32 bits · Access: 32 · MMReg:0x2288
+Field Name Bits Default Description
+CLK_COUNT 31:0 0xFFFFFFFF This register is used to define the number of core clocks
+ to wait for a vertex to be received by the VAP input
+ controller (while the primitive path is backed up) before
+ forcing any accumulated vertices to be submitted to the
+ vertex processing path.
+
+
+
+VAP:VAP_TEX_TO_COLOR_CNTL · [R/W] · 32 bits · Access: 32 · MMReg:0x2218
+DESCRIPTION: For VS3.0 color2texture - flat shading on textures - limitation: only first 8 vectors can have
+clipping with wrap shortest or point sprite generated textures
+Field Name Bits Default Description
+TEX_RGB_SHADE_FUNC_0 0 0x0
+ Default = 0
+TEX_ALPHA_SHADE_FUNC_0 1 0x0
+ Default = 0
+TEX_RGBA_CLAMP_0 2 0x0
+ Default = 0
+TEX_RGB_SHADE_FUNC_1 4 0x0
+ Default = 0
+TEX_ALPHA_SHADE_FUNC_1 5 0x0
+ Default = 0
+TEX_RGBA_CLAMP_1 6 0x0
+ Default = 0
+TEX_RGB_SHADE_FUNC_2 8 0x0
+ Default = 0
+TEX_ALPHA_SHADE_FUNC_2 9 0x0
+ Default = 0
+TEX_RGBA_CLAMP_2 10 0x0
+ Default = 0
+TEX_RGB_SHADE_FUNC_3 12 0x0
+ Default = 0
+TEX_ALPHA_SHADE_FUNC_3 13 0x0
+ Default = 0
+TEX_RGBA_CLAMP_3 14 0x0
+ Default = 0
+TEX_RGB_SHADE_FUNC_4 16 0x0
+ Default = 0
+TEX_ALPHA_SHADE_FUNC_4 17 0x0
+ Default = 0
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 265
+ Revision 1.4 October 13, 2009
+
+
+
+
+TEX_RGBA_CLAMP_4 18 0x0
+ Default = 0
+TEX_RGB_SHADE_FUNC_5 20 0x0
+ Default = 0
+TEX_ALPHA_SHADE_FUNC_5 21 0x0
+ Default = 0
+TEX_RGBA_CLAMP_5 22 0x0
+ Default = 0
+TEX_RGB_SHADE_FUNC_6 24 0x0
+ Default = 0
+TEX_ALPHA_SHADE_FUNC_6 25 0x0
+ Default = 0
+TEX_RGBA_CLAMP_6 26 0x0
+ Default = 0
+TEX_RGB_SHADE_FUNC_7 28 0x0
+ Default = 0
+TEX_ALPHA_SHADE_FUNC_7 29 0x0
+ Default = 0
+TEX_RGBA_CLAMP_7 30 0x0
+ Default = 0
+
+
+
+VAP:VAP_VF_CNTL · [R/W] · 32 bits · Access: 32 · MMReg:0x2084
+DESCRIPTION: Vertex Fetcher Control
+Field Name Bits Default Description
+PRIM_TYPE 3:0 0x0 Primitive Type
+ 0 : None (will not trigger Setup Engine to run)
+ 1 : Point List
+ 2 : Line List
+ 3 : Line Strip
+ 4 : Triangle List
+ 5 : Triangle Fan
+ 6 : Triangle Strip
+ 7 : Triangle with wFlags (aka, Rage128 `Type-2`
+ triangles) *
+ 8-11 : Unused
+ 12 : Line Loop
+ 13 : Quad List
+ 14 : Quad Strip
+ 15 : Polygon
+ *Encoding 7 indicates whether a 16-bit word of wFlags
+ is present in the stream of indices arriving when the
+ VTX_AMODE is programmed as a `0`. The Setup
+ Engine just steps over the wFlags word; ignoring it.
+ 0 = Stream contains just indices, as:
+ [ Index1, Index0]
+ [ Index3, Index2]
+ [ Index5, Index4 ]
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 266
+ Revision 1.4 October 13, 2009
+
+
+
+
+ etc...
+ 1 = Stream contains indices and wFlags:
+ [ Index1, Index0]
+ [ wFlags,Index 2 ]
+ [ Index4, Index3]
+ [ wFlags, Index5 ]
+ etc...
+PRIM_WALK 5:4 0x0 Method of Passing Vertex Data.
+ 0 : State-Based Vertex Data. (Vertex data and tokens
+ embedded in command stream.)
+ 1 = Indexes (Indices embedded in command stream;
+ vertex data to be fetched from memory.)
+ 2 = Vertex List (Vertex data to be fetched from
+ memory.)
+ 3 = Vertex Data (Vertex data embedded in command
+ stream.)
+RSVD_PREV_USED 10:6 0x0 Reserved bits
+INDEX_SIZE 11 0x0 When set, vertex indices are 32-bits/indx, otherwise, 16-
+ bits/indx.
+VTX_REUSE_DIS 12 0x0 When set, vertex reuse is disabled. DO NOT SET unless
+ PRIM_WALK is Indexes.
+DUAL_INDEX_MODE 13 0x0 When set, the incoming index is treated as two separate
+ indices. Bits 23-16 are used as the index for AOS 0
+ (These are 0 for 16-bit indices) Bits 15-0 are used as the
+ index for AOS 1-15. This mode was added specifically
+ for HOS usage
+USE_ALT_NUM_VERTS 14 0x0 When set, the number of vertices in the command packet
+ is taken from VAP_ALT_NUM_VERTICES register
+ instead of bits 31:16 of VAP_VF_CNTL
+NUM_VERTICES 31:16 0x0 Number of vertices in the command packet.
+
+
+
+VAP:VAP_VF_MAX_VTX_INDX · [R/W] · 32 bits · Access: 32 · MMReg:0x2134
+DESCRIPTION: Maximum Vertex Indx Clamp
+Field Name Bits Default Description
+MAX_INDX 23:0 0xFFFFFF If index to be fetched is larger than this value, the fetch
+ indx is set to MAX_INDX
+
+
+
+VAP:VAP_VF_MIN_VTX_INDX · [R/W] · 32 bits · Access: 32 · MMReg:0x2138
+DESCRIPTION: Minimum Vertex Indx Clamp
+Field Name Bits Default Description
+MIN_INDX 23:0 0x0 If index to be fetched is smaller than this value, the fetch
+ indx is set to MIN_INDX
+
+
+
+VAP:VAP_VPORT_XOFFSET · [R/W] · 32 bits · Access: 32 · MMReg:0x1d9c, MMReg:0x209c
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 267
+ Revision 1.4 October 13, 2009
+
+
+
+
+DESCRIPTION: Viewport Transform X Offset
+Field Name Bits Default Description
+VPORT_XOFFSET 31:0 0x0 Viewport Offset for X coordinates. An IEEE float.
+
+
+
+VAP:VAP_VPORT_XSCALE · [R/W] · 32 bits · Access: 32 · MMReg:0x1d98, MMReg:0x2098
+DESCRIPTION: Viewport Transform X Scale Factor
+Field Name Bits Default Description
+VPORT_XSCALE 31:0 0x0 Viewport Scale Factor for X coordinates. An IEEE float.
+
+
+
+VAP:VAP_VPORT_YOFFSET · [R/W] · 32 bits · Access: 32 · MMReg:0x1da4, MMReg:0x20a4
+DESCRIPTION: Viewport Transform Y Offset
+Field Name Bits Default Description
+VPORT_YOFFSET 31:0 0x0 Viewport Offset for Y coordinates. An IEEE float.
+
+
+
+VAP:VAP_VPORT_YSCALE · [R/W] · 32 bits · Access: 32 · MMReg:0x1da0, MMReg:0x20a0
+DESCRIPTION: Viewport Transform Y Scale Factor
+Field Name Bits Default Description
+VPORT_YSCALE 31:0 0x0 Viewport Scale Factor for Y coordinates. An IEEE float.
+
+
+
+VAP:VAP_VPORT_ZOFFSET · [R/W] · 32 bits · Access: 32 · MMReg:0x1dac, MMReg:0x20ac
+DESCRIPTION: Viewport Transform Z Offset
+Field Name Bits Default Description
+VPORT_ZOFFSET 31:0 0x0 Viewport Offset for Z coordinates. An IEEE float.
+
+
+
+VAP:VAP_VPORT_ZSCALE · [R/W] · 32 bits · Access: 32 · MMReg:0x1da8, MMReg:0x20a8
+DESCRIPTION: Viewport Transform Z Scale Factor
+Field Name Bits Default Description
+VPORT_ZSCALE 31:0 0x0 Viewport Scale Factor for Z coordinates. An IEEE float.
+
+
+
+VAP:VAP_VTE_CNTL · [R/W] · 32 bits · Access: 32 · MMReg:0x20b0
+DESCRIPTION: Viewport Transform Engine Control
+Field Name Bits Default Description
+VPORT_X_SCALE_ENA 0 0x0 Viewport Transform Scale Enable for X component
+VPORT_X_OFFSET_ENA 1 0x0 Viewport Transform Offset Enable for X component
+VPORT_Y_SCALE_ENA 2 0x0 Viewport Transform Scale Enable for Y component
+VPORT_Y_OFFSET_ENA 3 0x0 Viewport Transform Offset Enable for Y component
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 268
+ Revision 1.4 October 13, 2009
+
+
+
+
+VPORT_Z_SCALE_ENA 4 0x0 Viewport Transform Scale Enable for Z component
+VPORT_Z_OFFSET_ENA 5 0x0 Viewport Transform Offset Enable for Z component
+VTX_XY_FMT 8 0x0 Indicates that the incoming X, Y have already been
+ multiplied by 1/W0.
+ If OFF, the Setup Engine will bultiply the X, Y
+ coordinates by 1/W0.,
+VTX_Z_FMT 9 0x0 Indicates that the incoming Z has already been multiplied
+ by 1/W0.
+ If OFF, the Setup Engine will multiply the Z coordinate
+ by 1/W0.
+VTX_W0_FMT 10 0x0 Indicates that the incoming W0 is not 1/W0.
+ If ON, the Setup Engine will perform the reciprocal to
+ get 1/W0.
+SERIAL_PROC_ENA 11 0x0 If set, x,y,z viewport transform are performed serially
+ through a single pipeline instead of in parallel. Used to
+ mimic RL300 design.
+
+
+
+VAP:VAP_VTX_AOS_ADDR[0-15] · [R/W] · 32 bits · Access: 32 · MMReg:0x20c8-0x2120
+DESCRIPTION: Array-of-Structures Address 0
+Field Name Bits Default Description
+VTX_AOS_ADDR0 31:2 0x0 Base Address of the Array of Structures.
+
+
+
+VAP:VAP_VTX_AOS_ATTR[01-1415] · [R/W] · 32 bits · Access: 32 · MMReg:0x20c4-0x2118
+DESCRIPTION: Array-of-Structures Attributes 0 & 1
+Field Name Bits Default Description
+VTX_AOS_COUNT0 6:0 0x0 Number of dwords in this structure.
+VTX_AOS_STRIDE0 14:8 0x0 Number of dwords from one array element to the next.
+VTX_AOS_COUNT1 22:16 0x0 Number of dwords in this structure.
+VTX_AOS_STRIDE1 30:24 0x0 Number of dwords from one array element to the next.
+
+
+
+VAP:VAP_VTX_NUM_ARRAYS · [R/W] · 32 bits · Access: 32 · MMReg:0x20c0
+DESCRIPTION: Vertex Array of Structures Control
+Field Name Bits Default Description
+VTX_NUM_ARRAYS 4:0 0x0 The number of arrays required to represent the current
+ vertex type.
+ Each Array is described by the following three fields:
+ VTX_AOS_ADDR, VTX_AOS_COUNT,
+ VTX_AOS_STRIDE.
+VC_FORCE_PREFETCH 5 0x0 Force Vertex Data Pre-fetching. If this bit is set, then a
+ 256-bit word will always be fetched, regardless of which
+ dwords are needed. Typically useful when
+ VAP_VF_CNTL.PRIM_WALK is set to Vertex List
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 269
+ Revision 1.4 October 13, 2009
+
+
+
+
+ (Auto-incremented indices).
+VC_DIS_CACHE_INVLD 6 0x0 If set, the vertex cache is not invalidated between draw
+(Access: R) packets. This allows vertex cache hits to occur from
+ packet to packet. This must be set with caution with
+ respect to multiple contexts in the driver.
+AOS_0_FETCH_SIZE 16 0x0 Granule Size to Fetch for AOS 0.
+ 0 = 128-bit granule size
+ 1 = 256-bit granule size
+ This allows the driver to program the fetch size based on
+ DWORDS/VTX/AOS combined with AGP vs. LOC
+ Memory. The general belief is that the granule size
+ should always be 256-bits for LOC memory and AGP8X
+ data, but should be 128-bit for AGP2X/4X data if the
+ DWORDS/VTX/AOS is less than TBD (128?) bits.
+AOS_1_FETCH_SIZE 17 0x0 See AOS_0_FETCH_SIZE
+AOS_2_FETCH_SIZE 18 0x0 See AOS_0_FETCH_SIZE
+AOS_3_FETCH_SIZE 19 0x0 See AOS_0_FETCH_SIZE
+AOS_4_FETCH_SIZE 20 0x0 See AOS_0_FETCH_SIZE
+AOS_5_FETCH_SIZE 21 0x0 See AOS_0_FETCH_SIZE
+AOS_6_FETCH_SIZE 22 0x0 See AOS_0_FETCH_SIZE
+AOS_7_FETCH_SIZE 23 0x0 See AOS_0_FETCH_SIZE
+AOS_8_FETCH_SIZE 24 0x0 See AOS_0_FETCH_SIZE
+AOS_9_FETCH_SIZE 25 0x0 See AOS_0_FETCH_SIZE
+AOS_10_FETCH_SIZE 26 0x0 See AOS_0_FETCH_SIZE
+AOS_11_FETCH_SIZE 27 0x0 See AOS_0_FETCH_SIZE
+AOS_12_FETCH_SIZE 28 0x0 See AOS_0_FETCH_SIZE
+AOS_13_FETCH_SIZE 29 0x0 See AOS_0_FETCH_SIZE
+AOS_14_FETCH_SIZE 30 0x0 See AOS_0_FETCH_SIZE
+AOS_15_FETCH_SIZE 31 0x0 See AOS_0_FETCH_SIZE
+
+
+
+VAP:VAP_VTX_SIZE · [R/W] · 32 bits · Access: 32 · MMReg:0x20b4
+DESCRIPTION: Vertex Size Specification Register
+Field Name Bits Default Description
+DWORDS_PER_VTX 6:0 0x0 This field specifies the number of DWORDS per vertex
+ to expect when VAP_VF_CNTL.PRIM_WALK is set to
+ Vertex Data (vertex data embedded in command stream).
+ This field is not used for any other PRIM_WALK
+ settings. This field replaces the usage of the
+ VAP_VTX_FMT_0/1 for this purpose in prior
+ implementations.
+
+
+
+VAP:VAP_VTX_STATE_CNTL · [R/W] · 32 bits · Access: 32 · MMReg:0x2180
+DESCRIPTION: VAP Vertex State Control Register
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 270
+ Revision 1.4 October 13, 2009
+
+
+
+
+Field Name Bits Default Description
+COLOR_0_ASSEMBLY_CNTL 1:0 0x0 0 : Select Color 0
+ 1 : Select User Color 0
+ 2 : Select User Color 1
+ 3 : Reserved
+COLOR_1_ASSEMBLY_CNTL 3:2 0x0 0 : Select Color 1
+ 1 : Select User Color 0
+ 2 : Select User Color 1
+ 3 : Reserved
+COLOR_2_ASSEMBLY_CNTL 5:4 0x0 0 : Select Color 2
+ 1 : Select User Color 0
+ 2 : Select User Color 1
+ 3 : Reserved
+COLOR_3_ASSEMBLY_CNTL 7:6 0x0 0 : Select Color 3
+ 1 : Select User Color 0
+ 2 : Select User Color 1
+ 3 : Reserved
+COLOR_4_ASSEMBLY_CNTL 9:8 0x0 0 : Select Color 4
+ 1 : Select User Color 0
+ 2 : Select User Color 1
+ 3 : Reserved
+COLOR_5_ASSEMBLY_CNTL 11:10 0x0 0 : Select Color 5
+ 1 : Select User Color 0
+ 2 : Select User Color 1
+ 3 : Reserved
+COLOR_6_ASSEMBLY_CNTL 13:12 0x0 0 : Select Color 6
+ 1 : Select User Color 0
+ 2 : Select User Color 1
+ 3 : Reserved
+COLOR_7_ASSEMBLY_CNTL 15:14 0x0 0 : Select Color 7
+ 1 : Select User Color 0
+ 2 : Select User Color 1
+ 3 : Reserved
+UPDATE_USER_COLOR_0_ENA 16 0x0 0 : User Color 0 State is NOT updated when User Color
+ 0 is written.
+ 1 : User Color 1 State IS updated when User Color 0 is
+ written.
+Reserved 18 0x0 Set to 0
+
+
+
+VAP:VAP_VTX_ST_BLND_WT_[0-3] · [R/W] · 32 bits · Access: 32 · MMReg:0x2430-0x243c
+DESCRIPTION: Data register
+Field Name Bits Default Description
+DATA_REGISTER 31:0 0x0 BLND_WT_0
+
+
+
+VAP:VAP_VTX_ST_CLR_[0-7]_A · [R/W] · 32 bits · Access: 32 · MMReg:0x232c-0x239c
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 271
+ Revision 1.4 October 13, 2009
+
+
+
+
+DESCRIPTION: Data register
+Field Name Bits Default Description
+DATA_REGISTER 31:0 0x0 CLR_0_A
+
+
+
+VAP:VAP_VTX_ST_CLR_[0-7]_B · [R/W] · 32 bits · Access: 32 · MMReg:0x2328-0x2398
+DESCRIPTION: Data register
+Field Name Bits Default Description
+DATA_REGISTER 31:0 0x0 CLR_0_B
+
+
+
+VAP:VAP_VTX_ST_CLR_[0-7]_G · [R/W] · 32 bits · Access: 32 · MMReg:0x2324-0x2394
+DESCRIPTION: Data register
+Field Name Bits Default Description
+DATA_REGISTER 31:0 0x0 CLR_0_G
+
+
+
+VAP:VAP_VTX_ST_CLR_[0-7]_PKD · [W] · 32 bits · Access: 32 · MMReg:0x2470-0x248c
+DESCRIPTION: Data register
+Field Name Bits Default Description
+DATA_REGISTER 31:0 0x0 CLR_0_PKD
+
+
+
+VAP:VAP_VTX_ST_CLR_[0-7]_R · [R/W] · 32 bits · Access: 32 · MMReg:0x2320-0x2390
+DESCRIPTION: Data register
+Field Name Bits Default Description
+DATA_REGISTER 31:0 0x0 CLR_0_R
+
+
+
+VAP:VAP_VTX_ST_DISC_FOG · [R/W] · 32 bits · Access: 32 · MMReg:0x2424
+DESCRIPTION: Data register
+Field Name Bits Default Description
+DATA_REGISTER 31:0 0x0 DISC_FOG
+
+
+
+VAP:VAP_VTX_ST_EDGE_FLAGS · [R/W] · 32 bits · Access: 32 · MMReg:0x245c
+DESCRIPTION: Data register
+Field Name Bits Default Description
+DATA_REGISTER 0 0x0 EDGE_FLAGS
+
+
+
+VAP:VAP_VTX_ST_END_OF_PKT · [W] · 32 bits · Access: 32 · MMReg:0x24ac
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 272
+ Revision 1.4 October 13, 2009
+
+
+
+
+DESCRIPTION: Data register
+Field Name Bits Default Description
+DATA_REGISTER 31:0 0x0 END_OF_PKT
+
+
+
+VAP:VAP_VTX_ST_NORM_0_PKD · [W] · 32 bits · Access: 32 · MMReg:0x2498
+DESCRIPTION: Data register
+Field Name Bits Default Description
+DATA_REGISTER 31:0 0x0 NORM_0_PKD
+
+
+
+VAP:VAP_VTX_ST_NORM_0_X · [R/W] · 32 bits · Access: 32 · MMReg:0x2310
+DESCRIPTION: Data register
+Field Name Bits Default Description
+DATA_REGISTER 31:0 0x0 NORM_0_X
+
+
+
+VAP:VAP_VTX_ST_NORM_0_Y · [R/W] · 32 bits · Access: 32 · MMReg:0x2314
+DESCRIPTION: Data register
+Field Name Bits Default Description
+DATA_REGISTER 31:0 0x0 NORM_0_Y
+
+
+
+VAP:VAP_VTX_ST_NORM_0_Z · [R/W] · 32 bits · Access: 32 · MMReg:0x2318
+DESCRIPTION: Data register
+Field Name Bits Default Description
+DATA_REGISTER 31:0 0x0 NORM_0_Z
+
+
+
+VAP:VAP_VTX_ST_NORM_1_X · [R/W] · 32 bits · Access: 32 · MMReg:0x2450
+DESCRIPTION: Data register
+Field Name Bits Default Description
+DATA_REGISTER 31:0 0x0 NORM_1_X
+
+
+
+VAP:VAP_VTX_ST_NORM_1_Y · [R/W] · 32 bits · Access: 32 · MMReg:0x2454
+DESCRIPTION: Data register
+Field Name Bits Default Description
+DATA_REGISTER 31:0 0x0 NORM_1_Y
+
+
+
+VAP:VAP_VTX_ST_NORM_1_Z · [R/W] · 32 bits · Access: 32 · MMReg:0x2458
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 273
+ Revision 1.4 October 13, 2009
+
+
+
+
+DESCRIPTION: Data register
+Field Name Bits Default Description
+DATA_REGISTER 31:0 0x0 NORM_1_Z
+
+
+
+VAP:VAP_VTX_ST_PNT_SPRT_SZ · [R/W] · 32 bits · Access: 32 · MMReg:0x2420
+DESCRIPTION: Data register
+Field Name Bits Default Description
+DATA_REGISTER 31:0 0x0 PNT_SPRT_SZ
+
+
+
+VAP:VAP_VTX_ST_POS_0_W_4 · [R/W] · 32 bits · Access: 32 · MMReg:0x230c
+DESCRIPTION: Data register
+Field Name Bits Default Description
+DATA_REGISTER 31:0 0x0 POS_0_W
+
+
+
+VAP:VAP_VTX_ST_POS_0_X_2 · [W] · 32 bits · Access: 32 · MMReg:0x2490
+DESCRIPTION: Data register
+Field Name Bits Default Description
+DATA_REGISTER 31:0 0x0 POS_0_X_2
+
+
+
+VAP:VAP_VTX_ST_POS_0_X_3 · [W] · 32 bits · Access: 32 · MMReg:0x24a0
+DESCRIPTION: Data register
+Field Name Bits Default Description
+DATA_REGISTER 31:0 0x0 POS_0_X_3
+
+
+
+VAP:VAP_VTX_ST_POS_0_X_4 · [R/W] · 32 bits · Access: 32 · MMReg:0x2300
+DESCRIPTION: Data register
+Field Name Bits Default Description
+DATA_REGISTER 31:0 0x0 POS_0_X
+
+
+
+VAP:VAP_VTX_ST_POS_0_Y_2 · [W] · 32 bits · Access: 32 · MMReg:0x2494
+DESCRIPTION: Data register
+Field Name Bits Default Description
+DATA_REGISTER 31:0 0x0 POS_0_Y_2
+
+
+
+VAP:VAP_VTX_ST_POS_0_Y_3 · [W] · 32 bits · Access: 32 · MMReg:0x24a4
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 274
+ Revision 1.4 October 13, 2009
+
+
+
+
+DESCRIPTION: Data register
+Field Name Bits Default Description
+DATA_REGISTER 31:0 0x0 POS_0_Y_3
+
+
+
+VAP:VAP_VTX_ST_POS_0_Y_4 · [R/W] · 32 bits · Access: 32 · MMReg:0x2304
+DESCRIPTION: Data register
+Field Name Bits Default Description
+DATA_REGISTER 31:0 0x0 POS_0_Y
+
+
+
+VAP:VAP_VTX_ST_POS_0_Z_3 · [W] · 32 bits · Access: 32 · MMReg:0x24a8
+DESCRIPTION: Data register
+Field Name Bits Default Description
+DATA_REGISTER 31:0 0x0 POS_0_Z_3
+
+
+
+VAP:VAP_VTX_ST_POS_0_Z_4 · [R/W] · 32 bits · Access: 32 · MMReg:0x2308
+DESCRIPTION: Data register
+Field Name Bits Default Description
+DATA_REGISTER 31:0 0x0 POS_0_Z
+
+
+
+VAP:VAP_VTX_ST_POS_1_W · [R/W] · 32 bits · Access: 32 · MMReg:0x244c
+DESCRIPTION: Data register
+Field Name Bits Default Description
+DATA_REGISTER 31:0 0x0 POS_1_W
+
+
+
+VAP:VAP_VTX_ST_POS_1_X · [R/W] · 32 bits · Access: 32 · MMReg:0x2440
+DESCRIPTION: Data register
+Field Name Bits Default Description
+DATA_REGISTER 31:0 0x0 POS_1_X
+
+
+
+VAP:VAP_VTX_ST_POS_1_Y · [R/W] · 32 bits · Access: 32 · MMReg:0x2444
+DESCRIPTION: Data register
+Field Name Bits Default Description
+DATA_REGISTER 31:0 0x0 POS_1_Y
+
+
+
+VAP:VAP_VTX_ST_POS_1_Z · [R/W] · 32 bits · Access: 32 · MMReg:0x2448
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 275
+ Revision 1.4 October 13, 2009
+
+
+
+
+DESCRIPTION: Data register
+Field Name Bits Default Description
+DATA_REGISTER 31:0 0x0 POS_1_Z
+
+
+
+VAP:VAP_VTX_ST_PVMS · [R/W] · 32 bits · Access: 32 · MMReg:0x231c
+DESCRIPTION: Data register
+Field Name Bits Default Description
+DATA_REGISTER 31:0 0x0 PVMS
+
+
+
+VAP:VAP_VTX_ST_SHININESS_0 · [R/W] · 32 bits · Access: 32 · MMReg:0x2428
+DESCRIPTION: Data register
+Field Name Bits Default Description
+DATA_REGISTER 31:0 0x0 SHININESS_0
+
+
+
+VAP:VAP_VTX_ST_SHININESS_1 · [R/W] · 32 bits · Access: 32 · MMReg:0x242c
+DESCRIPTION: Data register
+Field Name Bits Default Description
+DATA_REGISTER 31:0 0x0 SHININESS_1
+
+
+
+VAP:VAP_VTX_ST_TEX_[0-7]_Q · [R/W] · 32 bits · Access: 32 · MMReg:0x23ac-0x241c
+DESCRIPTION: Data register
+Field Name Bits Default Description
+DATA_REGISTER 31:0 0x0 TEX_0_Q
+
+
+
+VAP:VAP_VTX_ST_TEX_[0-7]_R · [R/W] · 32 bits · Access: 32 · MMReg:0x23a8-0x2418
+DESCRIPTION: Data register
+Field Name Bits Default Description
+DATA_REGISTER 31:0 0x0 TEX_0_R
+
+
+
+VAP:VAP_VTX_ST_TEX_[0-7]_S · [R/W] · 32 bits · Access: 32 · MMReg:0x23a0-0x2410
+DESCRIPTION: Data register
+Field Name Bits Default Description
+DATA_REGISTER 31:0 0x0 TEX_0_S
+
+
+
+VAP:VAP_VTX_ST_TEX_[0-7]_T · [R/W] · 32 bits · Access: 32 · MMReg:0x23a4-0x2414
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 276
+ Revision 1.4 October 13, 2009
+
+
+
+
+DESCRIPTION: Data register
+Field Name Bits Default Description
+DATA_REGISTER 31:0 0x0 TEX_0_T
+
+
+
+VAP:VAP_VTX_ST_USR_CLR_A · [R/W] · 32 bits · Access: 32 · MMReg:0x246c
+DESCRIPTION: Data register
+Field Name Bits Default Description
+DATA_REGISTER 31:0 0x0 USR_CLR_A
+
+
+
+VAP:VAP_VTX_ST_USR_CLR_B · [R/W] · 32 bits · Access: 32 · MMReg:0x2468
+DESCRIPTION: Data register
+Field Name Bits Default Description
+DATA_REGISTER 31:0 0x0 USR_CLR_B
+
+
+
+VAP:VAP_VTX_ST_USR_CLR_G · [R/W] · 32 bits · Access: 32 · MMReg:0x2464
+DESCRIPTION: Data register
+Field Name Bits Default Description
+DATA_REGISTER 31:0 0x0 USR_CLR_G
+
+
+
+VAP:VAP_VTX_ST_USR_CLR_PKD · [W] · 32 bits · Access: 32 · MMReg:0x249c
+DESCRIPTION: Data register
+Field Name Bits Default Description
+DATA_REGISTER 31:0 0x0 USR_CLR_PKD
+
+
+
+VAP:VAP_VTX_ST_USR_CLR_R · [R/W] · 32 bits · Access: 32 · MMReg:0x2460
+DESCRIPTION: Data register
+Field Name Bits Default Description
+DATA_REGISTER 31:0 0x0 USR_CLR_R
+
+
+
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 277
+ Revision 1.4 October 13, 2009
+
+
+
+
+11.12 Z Buffer Registers
+
+
+ZB:ZB_BW_CNTL · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4f1c
+DESCRIPTION: Z Buffer Band-Width Control
+ Defa
+Field Name Bits Description
+ ult
+HIZ_ENABLE 0 0x0 Enables hierarchical Z.
+
+ POSSIBLE VALUES:
+ 00 - Hierarchical Z Disabled
+ 01 - Hierarchical Z Enabled
+HIZ_MIN 1 0x0 POSSIBLE VALUES:
+ 00 - Update Hierarchical Z with Max value
+ 01 - Update Hierarchical Z with Min value
+FAST_FILL 2 0x0 POSSIBLE VALUES:
+ 00 - Fast Fill Disabled
+ 01 - Fast Fill Enabled (ZB_DEPTHCLEARVALUE )
+RD_COMP_ENABLE 3 0x0 Enables reading of compressed Z data from memory to the
+ cache.
+
+ POSSIBLE VALUES:
+ 00 - Z Read Compression Disabled
+ 01 - Z Read Compression Enabled
+WR_COMP_ENABLE 4 0x0 Enables writing of compressed Z data from cache to memory,
+
+ POSSIBLE VALUES:
+ 00 - Z Write Compression Disabled
+ 01 - Z Write Compression Enabled
+ZB_CB_CLEAR 5 0x0 This bit is set when the Z buffer is used to help the CB in
+ clearing a region. Part of the region is cleared by the color
+ buffer and part will be cleared by the Z buffer. Since the Z
+ buffer does not have any write masks in the cache, full micro-
+ tiles need to be written. If a partial micro-tile is touched, then
+ the un-touched part will be unknowns. The cache will operate
+ in write-allocate mode and quads will be accumulated in the
+ cache and then evicted to main memory. The color value is
+ supplied through the ZB_DEPTHCLEARVALUE register.
+
+ POSSIBLE VALUES:
+ 00 - Z unit cache controller does RMW
+ 01 - Z unit cache controller does cache-line granular Write
+ only
+FORCE_COMPRESSED_STENCIL_V 6 0x0 Enabling this bit will force all the compressed stencil values
+ALUE to be equal to
+ old_stencil_value&~ZB_STENCILREFMASK.stencilwritem
+ ask |
+ ZB_STENCILREFMASK.stencilref&ZB_STENCILREFMA
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 278
+ Revision 1.4 October 13, 2009
+
+
+
+
+ SK.stencilwritemask. This should be enabled during stencil
+ clears to avoid needless decompression.
+
+ POSSIBLE VALUES:
+ 00 - Do not force the compressed stencil value.
+ 01 - Force the compressed stencil value.
+ZEQUAL_OPTIMIZE_DISABLE 7 0x0 By default this is 0 (enabled). When NEWZ=OLDZ, then
+ writes do not occur to save BW.
+
+ POSSIBLE VALUES:
+ 00 - Enable not updating the Z buffer if NewZ=OldZ
+ 01 - Disable above feature (in case there is a bug)
+SEQUAL_OPTIMIZE_DISABLE 8 0x0 By default this is 0 (enabled). When
+ NEW_STENCIL=OLD_STENCIL, then writes do not occur
+ to save BW.
+
+ POSSIBLE VALUES:
+ 00 - Enable not updating the Stencil buffer if NewS=OldS
+ 01 - Disable above feature (in case there is a bug)
+BMASK_DISABLE 10 0x0 Controls whether bytemasking is used or not.
+
+ POSSIBLE VALUES:
+ 00 - Enable bytemasking
+ 01 - Disable bytemasking
+HIZ_EQUAL_REJECT_ENABLE 11 0x0 Enables hiz rejects when the z function is equals.
+
+ POSSIBLE VALUES:
+ 00 - Disable
+ 01 - Enable
+HIZ_FP_EXP_BITS 14: 0x0 Number of exponent bits to use for the hiz floating point
+ 12 format. Values 0 to 5 are legal. 0 will disable the floating
+ point hiz encoding.
+HIZ_FP_INVERT 15 0x0 Determines whether leading zeros or ones are eliminated.
+
+ POSSIBLE VALUES:
+ 00 - Count leading 1s
+ 01 - Count leading 0s
+TILE_OVERWRITE_RECOMPRESSI 16 0x0 The zb tries to detect single plane equations that completely
+ON_DISABLE overwrite a compressed tile. This allows the tile to jump from
+ the decompressed state to the fully compressed state.
+
+ POSSIBLE VALUES:
+ 00 - Enable tile overwrite recompression
+ 01 - Disable tile overwrite recompression
+CONTIGUOUS_6XAA_SAMPLES_DI 17 0x0 This disables storing samples contiguously in 6xaa.
+SABLE
+ POSSIBLE VALUES:
+ 00 - Enable contiguous samples
+ 01 - Disable contiguous samples
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 279
+ Revision 1.4 October 13, 2009
+
+
+
+
+PEQ_PACKING_ENABLE 18 0x0 Enables packing of the plane equations to eliminate wasted
+ peq slots.
+
+ POSSIBLE VALUES:
+ 00 - Disable
+ 01 - Enable
+COVERED_PTR_MASKING_ENABL 19 0x0 Enables discarding of pointers from pixels that are going to be
+E covered. This reduces the apparent number of plane equations
+ in use.
+
+ POSSIBLE VALUES:
+ 00 - Disable
+ 01 - Enable
+
+
+
+ZB:ZB_CNTL · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4f00
+DESCRIPTION: Z Buffer Control
+Field Name Bits Default Description
+STENCIL_ENABLE 0 0x0 Enables stenciling.
+
+ POSSIBLE VALUES:
+ 00 - Disabled
+ 01 - Enabled
+Z_ENABLE 1 0x0 Enables Z functions.
+
+ POSSIBLE VALUES:
+ 00 - Disabled
+ 01 - Enabled
+ZWRITEENABLE 2 0x0 Enables writing of the Z buffer.
+
+ POSSIBLE VALUES:
+ 00 - Disable
+ 01 - Enable
+ZSIGNED_COMPARE 3 0x0 Enable signed Z buffer comparison , for W-buffering.
+
+ POSSIBLE VALUES:
+ 00 - Disable
+ 01 - Enable
+STENCIL_FRONT_BACK 4 0x0 When STENCIL_ENABLE is set, setting
+ STENCIL_FRONT_BACK bit to one specifies that
+ stencilfunc/stencilfail/stencilzpass/stencilzfail registers are
+ used if the quad is generated from front faced primitive
+ and
+ stencilfunc_bf/stencilfail_bf/stencilzpass_bf/stencilzfail_bf
+ are used if the quad is generated from a back faced
+ primitive. If the STENCIL_FRONT_BACK is not set,
+ then stencilfunc/stencilfail/stencilzpass/stencilzfail
+ registers determine the operation independent of the
+ front/back face state of the quad.
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 280
+ Revision 1.4 October 13, 2009
+
+
+
+
+ POSSIBLE VALUES:
+ 00 - Disable
+ 01 - Enable
+ZSIGNED_MAGNITUDE 5 0x0 Specifies the signed number type to use for the Z buffer
+ comparison. This only has an effect when
+ ZSIGNED_COMPARE is enabled.
+
+ POSSIBLE VALUES:
+ 00 - Twos complement
+ 01 - Signed magnitude
+STENCIL_REFMASK_FRONT_BACK 6 0x0 POSSIBLE VALUES:
+ 00 - Disable
+ 01 - Enable
+
+
+
+ZB:ZB_DEPTHCLEARVALUE · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4f28
+DESCRIPTION: Z Buffer Clear Value
+Field Name Bits Default Description
+DEPTHCLEARVALUE 31:0 0x0 When a block has a Z Mask value of 0, all Z values in
+ that block are cleared to this value. In 24bpp, the stencil
+ value is also updated regardless of whether it is enabled
+ or not.
+
+
+
+ZB:ZB_DEPTHOFFSET · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4f20
+DESCRIPTION: Z Buffer Address Offset
+Field Name Bits Default Description
+DEPTHOFFSET 31:5 0x0 2K aligned Z buffer address offset for macro tiles.
+
+
+
+ZB:ZB_DEPTHPITCH · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4f24
+DESCRIPTION: Z Buffer Pitch and Endian Control
+Field Name Bits Default Description
+DEPTHPITCH 13:2 0x0 Z buffer pitch in multiples of 4 pixels.
+DEPTHMACROTILE 16 0x0 Specifies whether Z buffer is macro-tiled. macro-tiles are
+ 2K aligned
+
+ POSSIBLE VALUES:
+ 00 - macro tiling disabled
+ 01 - macro tiling enabled
+DEPTHMICROTILE 18:17 0x0 Specifies whether Z buffer is micro-tiled. micro-tiles is
+ 32 bytes
+
+ POSSIBLE VALUES:
+ 00 - 32 byte cache line is linear
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 281
+ Revision 1.4 October 13, 2009
+
+
+
+
+ 01 - 32 byte cache line is tiled
+ 02 - 32 byte cache line is tiled square (only applies to
+ 16-bit pixels)
+ 03 - Reserved
+DEPTHENDIAN 20:19 0x0 Specifies endian control for the Z buffer.
+
+ POSSIBLE VALUES:
+ 00 - No swap
+ 01 - Word swap
+ 02 - Dword swap
+ 03 - Half Dword swap
+
+
+
+ZB:ZB_DEPTHXY_OFFSET · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4f60
+DESCRIPTION: Depth buffer X and Y coordinate offset
+Field Name Bits Default Description
+DEPTHX_OFFSET 11:1 0x0 X coordinate offset. multiple of 32 . Bits 4:0 have to be
+ zero
+DEPTHY_OFFSET 27:17 0x0 Y coordinate offset. multiple of 32 . Bits 4:0 have to be
+ zero
+
+
+
+ZB:ZB_FIFO_SIZE · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4fd0
+DESCRIPTION: Sets the fifo sizes
+Field Name Bits Default Description
+OP_FIFO_SIZE 1:0 0x0 Determines the size of the op fifo
+
+ POSSIBLE VALUES:
+ 00 - Full size
+ 01 - 1/2 size
+ 02 - 1/4 size
+ 03 - 1/8 size
+
+
+
+ZB:ZB_FORMAT · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4f10
+DESCRIPTION: Format of the Data in the Z buffer
+Field Name Bits Default Description
+DEPTHFORMAT 3:0 0x0 Specifies the format of the Z buffer.
+
+ POSSIBLE VALUES:
+ 00 - 16-bit Integer Z
+ 01 - 16-bit compressed 13E3
+ 02 - 24-bit Integer Z, 8 bit Stencil (LSBs)
+ 03 - RESERVED
+ 04 - RESERVED
+ 05 - RESERVED
+ 06 - RESERVED
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 282
+ Revision 1.4 October 13, 2009
+
+
+
+
+ 07 - RESERVED
+ 08 - RESERVED
+ 09 - RESERVED
+ 10 - RESERVED
+ 11 - RESERVED
+ 12 - RESERVED
+ 13 - RESERVED
+ 14 - RESERVED
+ 15 - RESERVED
+INVERT 4 0x0 POSSIBLE VALUES:
+ 00 - in 13E3 format , count leading 1`s
+ 01 - in 13E3 format , count leading 0`s.
+PEQ8 5 0x0 This bit is unused
+
+
+
+ZB:ZB_HIZ_DWORD · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4f4c
+DESCRIPTION: Hierarchical Z Data
+Field Name Bits Default Description
+HIZ_DWORD 31:0 0x0 This DWORD contains 8-bit values for 4 blocks..
+ Reading this register causes a read from the address
+ pointed to by RDINDEX. Writing to this register causes
+ a write to the address pointed to by WRINDEX.
+
+
+
+ZB:ZB_HIZ_OFFSET · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4f44
+DESCRIPTION: Hierarchical Z Memory Offset
+Field Name Bits Default Description
+HIZ_OFFSET 17:2 0x0 DWORD offset into HiZ RAM.
+
+
+
+ZB:ZB_HIZ_PITCH · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4f54
+DESCRIPTION: Hierarchical Z Pitch
+Field Name Bits Default Description
+HIZ_PITCH 13:4 0x0 Pitch used in HiZ address computation.
+
+
+
+ZB:ZB_HIZ_RDINDEX · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4f50
+DESCRIPTION: Hierarchical Z Read Index
+Field Name Bits Default Description
+HIZ_RDINDEX 17:2 0x0 Read index into HiZ RAM.
+
+
+
+ZB:ZB_HIZ_WRINDEX · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4f48
+DESCRIPTION: Hierarchical Z Write Index
+Field Name Bits Default Description
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 283
+ Revision 1.4 October 13, 2009
+
+
+
+
+HIZ_WRINDEX 17:2 0x0 Self-incrementing write index into the HiZ RAM.
+ Starting write index must start on a DWORD boundary.
+ Each time ZB_HIZ_DWORD is written, this index will
+ autoincrement. HIZ_OFFSET and HIZ_PITCH are not
+ used to compute read/write address to HIZ ram, when it
+ is accessed through WRINDEX and DWORD
+
+
+
+ZB:ZB_STENCILREFMASK · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4f08
+DESCRIPTION: Stencil Reference Value and Mask
+Field Name Bits Default Description
+STENCILREF 7:0 0x0 Specifies the reference stencil value.
+STENCILMASK 15:8 0x0 This value is ANDed with both the reference and the
+ current stencil value prior to the stencil test.
+STENCILWRITEMASK 23:16 0x0 Specifies the write mask for the stencil planes.
+
+
+
+ZB:ZB_STENCILREFMASK_BF · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4fd4
+DESCRIPTION: Stencil Reference Value and Mask for backfacing quads
+Field Name Bits Default Description
+STENCILREF 7:0 0x0 Specifies the reference stencil value.
+STENCILMASK 15:8 0x0 This value is ANDed with both the reference and the
+ current stencil value prior to the stencil test.
+STENCILWRITEMASK 23:16 0x0 Specifies the write mask for the stencil planes.
+
+
+
+ZB:ZB_ZCACHE_CTLSTAT · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4f18
+DESCRIPTION: Z Buffer Cache Control/Status
+Field Name Bits Default Description
+ZC_FLUSH 0 0x0 Setting this bit flushes the dirty data from the Z cache.
+ Unless ZC_FREE bit is also set, the tags in the cache
+ remain valid. A purge is achieved by setting both
+ ZC_FLUSH and ZC_FREE. This is a sticky bit and it
+ clears itself at the end of the operation.
+
+ POSSIBLE VALUES:
+ 00 - No effect
+ 01 - Flush and Free Z cache lines
+ZC_FREE 1 0x0 Setting this bit invalidates the Z cache tags. Unless
+ ZC_FLUSH bit is also set, the cachelines are not written
+ to memory. A purge is achieved by setting both
+ ZC_FLUSH and ZC_FREE. This is a sticky bit that
+ clears itself at the end of the operation.
+
+ POSSIBLE VALUES:
+ 00 - No effect
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 284
+ Revision 1.4 October 13, 2009
+
+
+
+
+ 01 - Free Z cache lines (invalidate)
+ZC_BUSY 31 0x0 This bit is unused ...
+
+ POSSIBLE VALUES:
+ 00 - Idle
+ 01 - Busy
+
+
+
+ZB:ZB_ZPASS_ADDR · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4f5c
+DESCRIPTION: Z Buffer Z Pass Counter Address
+Field Name Bits Default Description
+ZPASS_ADDR 31:2 0x0 Writing this location with a DWORD address causes the
+ value in ZB_ZPASS_DATA to be written to main
+ memory at the location pointed to by this address.
+ NOTE: R300 has 2 pixel pipes. Broadcasting this address
+ causes both pipes to write their ZPASS value to the same
+ address. There is no guarantee which pipe will write last.
+ So when writing to this register, the GA needs to be
+ programmed to send the write command to pipe 0. Then
+ a different address needs to be written to pipe 1. Then
+ both pipes should be enabled for further register writes.
+
+
+
+ZB:ZB_ZPASS_DATA · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4f58
+DESCRIPTION: Z Buffer Z Pass Counter Data
+Field Name Bits Default Description
+ZPASS_DATA 31:0 0x0 Contains the number of Z passed pixels since the last
+ write to this location. Writing this location resets the
+ count to the value written.
+
+
+
+ZB:ZB_ZSTENCILCNTL · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4f04
+DESCRIPTION: Z and Stencil Function Control
+Field Name Bits Default Description
+ZFUNC 2:0 0x0 Specifies the Z function.
+
+ POSSIBLE VALUES:
+ 00 - Never
+ 01 - Less
+ 02 - Less or Equal
+ 03 - Equal
+ 04 - Greater or Equal
+ 05 - Greater Than
+ 06 - Not Equal
+ 07 - Always
+STENCILFUNC 5:3 0x0 Specifies the stencil function.
+
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 285
+ Revision 1.4 October 13, 2009
+
+
+
+
+ POSSIBLE VALUES:
+ 00 - Never
+ 01 - Less
+ 02 - Less or Equal
+ 03 - Equal
+ 04 - Greater or Equal
+ 05 - Greater
+ 06 - Not Equal
+ 07 - Always
+STENCILFAIL 8:6 0x0 Specifies the stencil value to be written if the stencil test
+ fails.
+
+ POSSIBLE VALUES:
+ 00 - Keep: New value = Old value
+ 01 - Zero: New value = 0
+ 02 - Replace: New value = STENCILREF
+ 03 - Increment: New value++ (clamp)
+ 04 - Decrement: New value-- (clamp)
+ 05 - Invert new value: New value = !Old value
+ 06 - Increment: New value++ (wrap)
+ 07 - Decrement: New value-- (wrap)
+STENCILZPASS 11:9 0x0 Same encoding as STENCILFAIL. Specifies the stencil
+ value to be written if the stencil test passes and the Z test
+ passes (or is not enabled).
+STENCILZFAIL 14:12 0x0 Same encoding as STENCILFAIL. Specifies the stencil
+ value to be written if the stencil test passes and the Z test
+ fails.
+STENCILFUNC_BF 17:15 0x0 Same encoding as STENCILFUNC. Specifies the stencil
+ function for back faced quads , if
+ STENCIL_FRONT_BACK = 1.
+STENCILFAIL_BF 20:18 0x0 Same encoding as STENCILFAIL. Specifies the stencil
+ value to be written if the stencil test fails for back faced
+ quads, if STENCIL_FRONT_BACK = 1
+STENCILZPASS_BF 23:21 0x0 Same encoding as STENCILFAIL. Specifies the stencil
+ value to be written if the stencil test passes and the Z test
+ passes (or is not enabled) for back faced quads, if
+ STENCIL_FRONT_BACK = 1
+STENCILZFAIL_BF 26:24 0x0 Same encoding as STENCILFAIL. Specifies the stencil
+ value to be written if the stencil test passes and the Z test
+ fails for back faced quads, if STENCIL_FRONT_BACK
+ =1
+ZERO_OUTPUT_MASK 27 0x0 Zeroes the zb coverage mask output. This does not affect
+ the updating of the depth or stencil values.
+
+ POSSIBLE VALUES:
+ 00 - Disable
+ 01 - Enable
+
+
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 286
+ Revision 1.4 October 13, 2009
+
+
+
+
+ZB:ZB_ZTOP · [R/W] · 32 bits · Access: 8/16/32 · MMReg:0x4f14
+Field Name Bits Default Description
+ZTOP 0 0x0 POSSIBLE VALUES:
+ 00 - Z is at the bottom of the pipe, after the fog unit.
+ 01 - Z is at the top of the pipe, after the scan unit.
+
+
+
+
+© 2008 Advanced Micro Devices, Inc.
+Proprietary 287