13464ebd5Sriastradh/*
23464ebd5Sriastradh * Copyright 2010 Jerome Glisse <glisse@freedesktop.org>
33464ebd5Sriastradh *
43464ebd5Sriastradh * Permission is hereby granted, free of charge, to any person obtaining a
53464ebd5Sriastradh * copy of this software and associated documentation files (the "Software"),
63464ebd5Sriastradh * to deal in the Software without restriction, including without limitation
73464ebd5Sriastradh * on the rights to use, copy, modify, merge, publish, distribute, sub
83464ebd5Sriastradh * license, and/or sell copies of the Software, and to permit persons to whom
93464ebd5Sriastradh * the Software is furnished to do so, subject to the following conditions:
103464ebd5Sriastradh *
113464ebd5Sriastradh * The above copyright notice and this permission notice (including the next
123464ebd5Sriastradh * paragraph) shall be included in all copies or substantial portions of the
133464ebd5Sriastradh * Software.
143464ebd5Sriastradh *
153464ebd5Sriastradh * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
163464ebd5Sriastradh * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
173464ebd5Sriastradh * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
183464ebd5Sriastradh * THE AUTHOR(S) AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM,
193464ebd5Sriastradh * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
203464ebd5Sriastradh * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
213464ebd5Sriastradh * USE OR OTHER DEALINGS IN THE SOFTWARE.
223464ebd5Sriastradh *
233464ebd5Sriastradh * Authors:
243464ebd5Sriastradh *      Jerome Glisse
253464ebd5Sriastradh */
263464ebd5Sriastradh#ifndef R600D_H
273464ebd5Sriastradh#define R600D_H
283464ebd5Sriastradh
293464ebd5Sriastradh#define R600_TEXEL_PITCH_ALIGNMENT_MASK        0x7
303464ebd5Sriastradh
31af69d88dSmrg/* evergreen values */
32af69d88dSmrg#define EG_RESOURCE_OFFSET                 0x00030000
33af69d88dSmrg#define EG_RESOURCE_END                    0x00034000
34af69d88dSmrg#define EG_LOOP_CONST_OFFSET               0x0003A200
35af69d88dSmrg#define EG_LOOP_CONST_END                  0x0003A26C
36af69d88dSmrg#define EG_BOOL_CONST_OFFSET               0x0003A500
37af69d88dSmrg#define EG_BOOL_CONST_END                  0x0003A506
38af69d88dSmrg
39af69d88dSmrg#define R600_CONFIG_REG_END                    0X0000AC00
40af69d88dSmrg#define R600_CONTEXT_REG_END                   0X00029000
41af69d88dSmrg#define R600_ALU_CONST_OFFSET                  0X00030000
42af69d88dSmrg#define R600_ALU_CONST_END                     0X00032000
43af69d88dSmrg#define R600_RESOURCE_OFFSET                   0X00038000
44af69d88dSmrg#define R600_RESOURCE_END                      0X0003C000
45af69d88dSmrg#define R600_SAMPLER_OFFSET                    0X0003C000
46af69d88dSmrg#define R600_SAMPLER_END                       0X0003CFF0
47af69d88dSmrg#define R600_CTL_CONST_END                     0X0003E200
48af69d88dSmrg#define R600_LOOP_CONST_OFFSET                 0X0003E200
49af69d88dSmrg#define R600_LOOP_CONST_END                    0X0003E380
50af69d88dSmrg#define R600_BOOL_CONST_OFFSET                 0X0003E380
51af69d88dSmrg#define R600_BOOL_CONST_END                    0X00040000
52af69d88dSmrg
53af69d88dSmrg
543464ebd5Sriastradh#define PKT3_NOP                               0x10
5501e04c3fSmrg#define EG_PKT3_SET_BASE                       0x11 /* >= evergreen */
5601e04c3fSmrg#define     EG_DRAW_INDEX_INDIRECT_PATCH_TABLE_BASE 1 /* DX11 Draw_Index_Indirect Patch Table Base */
5701e04c3fSmrg#define EG_PKT3_INDEX_BUFFER_SIZE              0x13
583464ebd5Sriastradh#define PKT3_INDIRECT_BUFFER_END               0x17
593464ebd5Sriastradh#define PKT3_SET_PREDICATION                   0x20
603464ebd5Sriastradh#define PKT3_REG_RMW                           0x21
613464ebd5Sriastradh#define PKT3_COND_EXEC                         0x22
623464ebd5Sriastradh#define PKT3_PRED_EXEC                         0x23
6301e04c3fSmrg#define PKT3_START_3D_CMDBUF                   0x24 /* removed on evergreen */
6401e04c3fSmrg#define EG_PKT3_DRAW_INDIRECT                  0x24 /* >= evergreen */
6501e04c3fSmrg#define EG_PKT3_DRAW_INDEX_INDIRECT            0x25
6601e04c3fSmrg#define EG_PKT3_INDEX_BASE                     0x26
673464ebd5Sriastradh#define PKT3_DRAW_INDEX_2                      0x27
683464ebd5Sriastradh#define PKT3_CONTEXT_CONTROL                   0x28
693464ebd5Sriastradh#define PKT3_DRAW_INDEX_IMMD_BE                0x29
703464ebd5Sriastradh#define PKT3_INDEX_TYPE                        0x2A
71af69d88dSmrg#define		VGT_INDEX_16                   0
72af69d88dSmrg#define		VGT_INDEX_32                   1
73af69d88dSmrg#define         VGT_DMA_SWAP_NONE	       (0 << 2)
74af69d88dSmrg#define         VGT_DMA_SWAP_16_BIT	       (1 << 2)
75af69d88dSmrg#define         VGT_DMA_SWAP_32_BIT	       (2 << 2)
76af69d88dSmrg#define         VGT_DMA_SWAP_WORD	       (3 << 2)
773464ebd5Sriastradh#define PKT3_DRAW_INDEX                        0x2B
783464ebd5Sriastradh#define PKT3_DRAW_INDEX_AUTO                   0x2D
793464ebd5Sriastradh#define PKT3_DRAW_INDEX_IMMD                   0x2E
803464ebd5Sriastradh#define PKT3_NUM_INSTANCES                     0x2F
813464ebd5Sriastradh#define PKT3_STRMOUT_BUFFER_UPDATE             0x34
82af69d88dSmrg#define		STRMOUT_STORE_BUFFER_FILLED_SIZE	1
8301e04c3fSmrg#define		STRMOUT_OFFSET_SOURCE(x)	(((unsigned)(x) & 0x3) << 1)
84af69d88dSmrg#define			STRMOUT_OFFSET_FROM_PACKET		0
85af69d88dSmrg#define			STRMOUT_OFFSET_FROM_VGT_FILLED_SIZE	1
86af69d88dSmrg#define			STRMOUT_OFFSET_FROM_MEM			2
87af69d88dSmrg#define			STRMOUT_OFFSET_NONE			3
8801e04c3fSmrg#define		STRMOUT_SELECT_BUFFER(x)	(((unsigned)(x) & 0x3) << 8)
893464ebd5Sriastradh#define PKT3_INDIRECT_BUFFER_MP                0x38
903464ebd5Sriastradh#define PKT3_MEM_SEMAPHORE                     0x39
913464ebd5Sriastradh#define PKT3_MPEG_INDEX                        0x3A
92af69d88dSmrg#define PKT3_COPY_DW			       0x3B
93af69d88dSmrg#define		COPY_DW_SRC_IS_REG		(0 << 0)
94af69d88dSmrg#define		COPY_DW_SRC_IS_MEM		(1 << 0)
95af69d88dSmrg#define		COPY_DW_DST_IS_REG		(0 << 1)
96af69d88dSmrg#define		COPY_DW_DST_IS_MEM		(1 << 1)
973464ebd5Sriastradh#define PKT3_WAIT_REG_MEM                      0x3C
98af69d88dSmrg#define		WAIT_REG_MEM_EQUAL		3
9901e04c3fSmrg#define		WAIT_REG_MEM_GEQUAL		5
10001e04c3fSmrg#define		WAIT_REG_MEM_MEMORY		(1 << 4)
10101e04c3fSmrg#define		WAIT_REG_MEM_PFP		(1 << 8)
1023464ebd5Sriastradh#define PKT3_MEM_WRITE                         0x3D
10301e04c3fSmrg#define		MEM_WRITE_32_BITS		(1 << 18)
1043464ebd5Sriastradh#define PKT3_INDIRECT_BUFFER                   0x32
10501e04c3fSmrg#define PKT3_PFP_SYNC_ME		       0x42 /* EG+ */
1063464ebd5Sriastradh#define PKT3_SURFACE_SYNC                      0x43
1073464ebd5Sriastradh#define PKT3_ME_INITIALIZE                     0x44
1083464ebd5Sriastradh#define PKT3_COND_WRITE                        0x45
1093464ebd5Sriastradh#define PKT3_EVENT_WRITE                       0x46
1103464ebd5Sriastradh#define PKT3_EVENT_WRITE_EOP                   0x47
1113464ebd5Sriastradh#define PKT3_ONE_REG_WRITE                     0x57
1123464ebd5Sriastradh#define PKT3_SET_CONFIG_REG                    0x68
1133464ebd5Sriastradh#define PKT3_SET_CONTEXT_REG                   0x69
1143464ebd5Sriastradh#define PKT3_SET_ALU_CONST                     0x6A
1153464ebd5Sriastradh#define PKT3_SET_BOOL_CONST                    0x6B
1163464ebd5Sriastradh#define PKT3_SET_LOOP_CONST                    0x6C
1173464ebd5Sriastradh#define PKT3_SET_RESOURCE                      0x6D
1183464ebd5Sriastradh#define PKT3_SET_SAMPLER                       0x6E
1193464ebd5Sriastradh#define PKT3_SET_CTL_CONST                     0x6F
120af69d88dSmrg#define PKT3_STRMOUT_BASE_UPDATE	       0x72
1213464ebd5Sriastradh#define PKT3_SURFACE_BASE_UPDATE               0x73
122af69d88dSmrg#define		SURFACE_BASE_UPDATE_DEPTH      (1 << 0)
123af69d88dSmrg#define		SURFACE_BASE_UPDATE_COLOR(x)   (2 << (x))
124af69d88dSmrg#define		SURFACE_BASE_UPDATE_COLOR_NUM(x) (((1 << x) - 1) << 1)
125af69d88dSmrg#define		SURFACE_BASE_UPDATE_STRMOUT(x) (0x200 << (x))
126af69d88dSmrg
12701e04c3fSmrg#define EVENT_TYPE_CS_PARTIAL_FLUSH            0x07 /* eg+ */
128af69d88dSmrg#define EVENT_TYPE_PS_PARTIAL_FLUSH            0x10
129af69d88dSmrg#define EVENT_TYPE_CACHE_FLUSH_AND_INV_TS_EVENT 0x14
130af69d88dSmrg#define EVENT_TYPE_ZPASS_DONE                  0x15
131af69d88dSmrg#define EVENT_TYPE_CACHE_FLUSH_AND_INV_EVENT   0x16
132af69d88dSmrg#define EVENT_TYPE_PIPELINESTAT_START		25
133af69d88dSmrg#define EVENT_TYPE_PIPELINESTAT_STOP		26
134af69d88dSmrg#define EVENT_TYPE_SAMPLE_PIPELINESTAT		30
135af69d88dSmrg#define EVENT_TYPE_SO_VGTSTREAMOUT_FLUSH	0x1f
136af69d88dSmrg#define EVENT_TYPE_SAMPLE_STREAMOUTSTATS	0x20
137af69d88dSmrg#define EVENT_TYPE_FLUSH_AND_INV_DB_META       0x2c /* supported on r700+ */
138af69d88dSmrg#define EVENT_TYPE_VGT_FLUSH                   0x24
13901e04c3fSmrg#define EVENT_TYPE_SQ_NON_EVENT                0x26
140af69d88dSmrg#define EVENT_TYPE_FLUSH_AND_INV_CB_META	46 /* supported on r700+ */
141af69d88dSmrg#define		EVENT_TYPE(x)                           ((x) << 0)
142af69d88dSmrg#define		EVENT_INDEX(x)                          ((x) << 8)
143af69d88dSmrg                /* 0 - any non-TS event
144af69d88dSmrg		 * 1 - ZPASS_DONE
145af69d88dSmrg		 * 2 - SAMPLE_PIPELINESTAT
146af69d88dSmrg		 * 3 - SAMPLE_STREAMOUTSTAT*
147af69d88dSmrg		 * 4 - *S_PARTIAL_FLUSH
148af69d88dSmrg		 * 5 - TS events
149af69d88dSmrg		 */
1503464ebd5Sriastradh
1513464ebd5Sriastradh#define PREDICATION_OP_CLEAR 0x0
1523464ebd5Sriastradh#define PREDICATION_OP_ZPASS 0x1
1533464ebd5Sriastradh#define PREDICATION_OP_PRIMCOUNT 0x2
1543464ebd5Sriastradh
155af69d88dSmrg#define PRED_OP(x) ((x) << 16)
156af69d88dSmrg
157af69d88dSmrg#define PREDICATION_CONTINUE (1 << 31)
158af69d88dSmrg
159af69d88dSmrg#define PREDICATION_HINT_WAIT (0 << 12)
160af69d88dSmrg#define PREDICATION_HINT_NOWAIT_DRAW (1 << 12)
161af69d88dSmrg
162af69d88dSmrg#define PREDICATION_DRAW_NOT_VISIBLE (0 << 8)
163af69d88dSmrg#define PREDICATION_DRAW_VISIBLE (1 << 8)
164af69d88dSmrg
16501e04c3fSmrg#define PKT_TYPE_S(x)                   (((unsigned)(x) & 0x3) << 30)
1663464ebd5Sriastradh#define PKT_TYPE_G(x)                   (((x) >> 30) & 0x3)
1673464ebd5Sriastradh#define PKT_TYPE_C                      0x3FFFFFFF
16801e04c3fSmrg#define PKT_COUNT_S(x)                  (((unsigned)(x) & 0x3FFF) << 16)
1693464ebd5Sriastradh#define PKT_COUNT_G(x)                  (((x) >> 16) & 0x3FFF)
1703464ebd5Sriastradh#define PKT_COUNT_C                     0xC000FFFF
17101e04c3fSmrg#define PKT0_BASE_INDEX_S(x)            (((unsigned)(x) & 0xFFFF) << 0)
1723464ebd5Sriastradh#define PKT0_BASE_INDEX_G(x)            (((x) >> 0) & 0xFFFF)
1733464ebd5Sriastradh#define PKT0_BASE_INDEX_C               0xFFFF0000
17401e04c3fSmrg#define PKT3_IT_OPCODE_S(x)             (((unsigned)(x) & 0xFF) << 8)
1753464ebd5Sriastradh#define PKT3_IT_OPCODE_G(x)             (((x) >> 8) & 0xFF)
1763464ebd5Sriastradh#define PKT3_IT_OPCODE_C                0xFFFF00FF
177af69d88dSmrg#define PKT3_PRED_S(x)               (((x) >> 0) & 0x1)
1783464ebd5Sriastradh#define PKT0(index, count) (PKT_TYPE_S(0) | PKT0_BASE_INDEX_S(index) | PKT_COUNT_S(count))
179af69d88dSmrg
180af69d88dSmrg#define PKT3_CP_DMA					0x41
181af69d88dSmrg/* 1. header
182af69d88dSmrg * 2. SRC_ADDR_LO [31:0]
183af69d88dSmrg * 3. CP_SYNC [31] | SRC_ADDR_HI [7:0]
184af69d88dSmrg * 4. DST_ADDR_LO [31:0]
185af69d88dSmrg * 5. DST_ADDR_HI [7:0]
186af69d88dSmrg * 6. COMMAND [29:22] | BYTE_COUNT [20:0]
187af69d88dSmrg */
188af69d88dSmrg#define PKT3_CP_DMA_CP_SYNC       (1 << 31)
189af69d88dSmrg/* COMMAND */
190af69d88dSmrg#define PKT3_CP_DMA_CMD_SRC_SWAP(x) ((x) << 23)
191af69d88dSmrg/* 0 - none
192af69d88dSmrg * 1 - 8 in 16
193af69d88dSmrg * 2 - 8 in 32
194af69d88dSmrg * 3 - 8 in 64
195af69d88dSmrg */
196af69d88dSmrg#define PKT3_CP_DMA_CMD_DST_SWAP(x) ((x) << 24)
197af69d88dSmrg/* 0 - none
198af69d88dSmrg * 1 - 8 in 16
199af69d88dSmrg * 2 - 8 in 32
200af69d88dSmrg * 3 - 8 in 64
201af69d88dSmrg */
202af69d88dSmrg#define PKT3_CP_DMA_CMD_SAS       (1 << 26)
203af69d88dSmrg/* 0 - memory
204af69d88dSmrg * 1 - register
205af69d88dSmrg */
206af69d88dSmrg#define PKT3_CP_DMA_CMD_DAS       (1 << 27)
207af69d88dSmrg/* 0 - memory
208af69d88dSmrg * 1 - register
209af69d88dSmrg */
210af69d88dSmrg#define PKT3_CP_DMA_CMD_SAIC      (1 << 28)
211af69d88dSmrg#define PKT3_CP_DMA_CMD_DAIC      (1 << 29)
212af69d88dSmrg
2133464ebd5Sriastradh
2143464ebd5Sriastradh/* Registers */
215af69d88dSmrg#define R_008490_CP_STRMOUT_CNTL		     0x008490
21601e04c3fSmrg#define   S_008490_OFFSET_UPDATE_DONE(x)		(((unsigned)(x) & 0x1) << 0)
217af69d88dSmrg#define R_008C40_SQ_ESGS_RING_BASE                   0x008C40
218af69d88dSmrg#define R_008C44_SQ_ESGS_RING_SIZE                   0x008C44
219af69d88dSmrg#define R_008C48_SQ_GSVS_RING_BASE                   0x008C48
220af69d88dSmrg#define R_008C4C_SQ_GSVS_RING_SIZE                   0x008C4C
221af69d88dSmrg#define R_008C50_SQ_ESTMP_RING_BASE                  0x008C50
222af69d88dSmrg#define R_008C54_SQ_ESTMP_RING_SIZE                  0x008C54
22301e04c3fSmrg#define R_008C58_SQ_GSTMP_RING_BASE                  0x008C58
22401e04c3fSmrg#define R_008C5C_SQ_GSTMP_RING_SIZE                  0x008C5C
22501e04c3fSmrg#define R_008C68_SQ_PSTMP_RING_BASE                  0x008C68
22601e04c3fSmrg#define R_008C6C_SQ_PSTMP_RING_SIZE                  0x008C6C
22701e04c3fSmrg#define R_008C60_SQ_VSTMP_RING_BASE                  0x008C60
22801e04c3fSmrg#define R_008C64_SQ_VSTMP_RING_SIZE                  0x008C64
229af69d88dSmrg
230af69d88dSmrg#define R_0088C8_VGT_GS_PER_ES                       0x0088C8
231af69d88dSmrg#define R_0088CC_VGT_ES_PER_GS                       0x0088CC
232af69d88dSmrg#define R_0088E8_VGT_GS_PER_VS                       0x0088E8
233af69d88dSmrg
234af69d88dSmrg#define R_008960_VGT_STRMOUT_BUFFER_FILLED_SIZE_0    0x008960 /* read-only */
235af69d88dSmrg#define R_008964_VGT_STRMOUT_BUFFER_FILLED_SIZE_1    0x008964 /* read-only */
236af69d88dSmrg#define R_008968_VGT_STRMOUT_BUFFER_FILLED_SIZE_2    0x008968 /* read-only */
237af69d88dSmrg#define R_00896C_VGT_STRMOUT_BUFFER_FILLED_SIZE_3    0x00896C /* read-only */
238af69d88dSmrg#define R_008B40_PA_SC_AA_SAMPLE_LOCS_2S                0x008B40
239af69d88dSmrg#define R_008B44_PA_SC_AA_SAMPLE_LOCS_4S                0x008B44
240af69d88dSmrg#define R_008B48_PA_SC_AA_SAMPLE_LOCS_8S_WD0            0x008B48
241af69d88dSmrg#define R_008B4C_PA_SC_AA_SAMPLE_LOCS_8S_WD1            0x008B4C
2423464ebd5Sriastradh#define R_008C00_SQ_CONFIG                           0x00008C00
24301e04c3fSmrg#define   S_008C00_VC_ENABLE(x)                        (((unsigned)(x) & 0x1) << 0)
2443464ebd5Sriastradh#define   G_008C00_VC_ENABLE(x)                        (((x) >> 0) & 0x1)
2453464ebd5Sriastradh#define   C_008C00_VC_ENABLE(x)                        0xFFFFFFFE
24601e04c3fSmrg#define   S_008C00_EXPORT_SRC_C(x)                     (((unsigned)(x) & 0x1) << 1)
2473464ebd5Sriastradh#define   G_008C00_EXPORT_SRC_C(x)                     (((x) >> 1) & 0x1)
2483464ebd5Sriastradh#define   C_008C00_EXPORT_SRC_C(x)                     0xFFFFFFFD
24901e04c3fSmrg#define   S_008C00_DX9_CONSTS(x)                       (((unsigned)(x) & 0x1) << 2)
2503464ebd5Sriastradh#define   G_008C00_DX9_CONSTS(x)                       (((x) >> 2) & 0x1)
2513464ebd5Sriastradh#define   C_008C00_DX9_CONSTS(x)                       0xFFFFFFFB
25201e04c3fSmrg#define   S_008C00_ALU_INST_PREFER_VECTOR(x)           (((unsigned)(x) & 0x1) << 3)
2533464ebd5Sriastradh#define   G_008C00_ALU_INST_PREFER_VECTOR(x)           (((x) >> 3) & 0x1)
2543464ebd5Sriastradh#define   C_008C00_ALU_INST_PREFER_VECTOR(x)           0xFFFFFFF7
25501e04c3fSmrg#define   S_008C00_DX10_CLAMP(x)                       (((unsigned)(x) & 0x1) << 4)
2563464ebd5Sriastradh#define   G_008C00_DX10_CLAMP(x)                       (((x) >> 4) & 0x1)
2573464ebd5Sriastradh#define   C_008C00_DX10_CLAMP(x)                       0xFFFFFFEF
25801e04c3fSmrg#define   S_008C00_CLAUSE_SEQ_PRIO(x)                  (((unsigned)(x) & 0x3) << 8)
2593464ebd5Sriastradh#define   G_008C00_CLAUSE_SEQ_PRIO(x)                  (((x) >> 8) & 0x3)
2603464ebd5Sriastradh#define   C_008C00_CLAUSE_SEQ_PRIO(x)                  0xFFFFFCFF
26101e04c3fSmrg#define   S_008C00_PS_PRIO(x)                          (((unsigned)(x) & 0x3) << 24)
2623464ebd5Sriastradh#define   G_008C00_PS_PRIO(x)                          (((x) >> 24) & 0x3)
2633464ebd5Sriastradh#define   C_008C00_PS_PRIO(x)                          0xFCFFFFFF
26401e04c3fSmrg#define   S_008C00_VS_PRIO(x)                          (((unsigned)(x) & 0x3) << 26)
2653464ebd5Sriastradh#define   G_008C00_VS_PRIO(x)                          (((x) >> 26) & 0x3)
2663464ebd5Sriastradh#define   C_008C00_VS_PRIO(x)                          0xF3FFFFFF
26701e04c3fSmrg#define   S_008C00_GS_PRIO(x)                          (((unsigned)(x) & 0x3) << 28)
2683464ebd5Sriastradh#define   G_008C00_GS_PRIO(x)                          (((x) >> 28) & 0x3)
2693464ebd5Sriastradh#define   C_008C00_GS_PRIO(x)                          0xCFFFFFFF
27001e04c3fSmrg#define   S_008C00_ES_PRIO(x)                          (((unsigned)(x) & 0x3) << 30)
2713464ebd5Sriastradh#define   G_008C00_ES_PRIO(x)                          (((x) >> 30) & 0x3)
2723464ebd5Sriastradh#define   C_008C00_ES_PRIO(x)                          0x3FFFFFFF
2733464ebd5Sriastradh#define R_008C04_SQ_GPR_RESOURCE_MGMT_1              0x00008C04
27401e04c3fSmrg#define   S_008C04_NUM_PS_GPRS(x)                      (((unsigned)(x) & 0xFF) << 0)
2753464ebd5Sriastradh#define   G_008C04_NUM_PS_GPRS(x)                      (((x) >> 0) & 0xFF)
2763464ebd5Sriastradh#define   C_008C04_NUM_PS_GPRS(x)                      0xFFFFFF00
27701e04c3fSmrg#define   S_008C04_NUM_VS_GPRS(x)                      (((unsigned)(x) & 0xFF) << 16)
2783464ebd5Sriastradh#define   G_008C04_NUM_VS_GPRS(x)                      (((x) >> 16) & 0xFF)
2793464ebd5Sriastradh#define   C_008C04_NUM_VS_GPRS(x)                      0xFF00FFFF
28001e04c3fSmrg#define   S_008C04_NUM_CLAUSE_TEMP_GPRS(x)             (((unsigned)(x) & 0xF) << 28)
2813464ebd5Sriastradh#define   G_008C04_NUM_CLAUSE_TEMP_GPRS(x)             (((x) >> 28) & 0xF)
2823464ebd5Sriastradh#define   C_008C04_NUM_CLAUSE_TEMP_GPRS(x)             0x0FFFFFFF
2833464ebd5Sriastradh#define R_008C0C_SQ_THREAD_RESOURCE_MGMT             0x00008C0C
28401e04c3fSmrg#define   S_008C0C_NUM_PS_THREADS(x)                   (((unsigned)(x) & 0xFF) << 0)
2853464ebd5Sriastradh#define   G_008C0C_NUM_PS_THREADS(x)                   (((x) >> 0) & 0xFF)
2863464ebd5Sriastradh#define   C_008C0C_NUM_PS_THREADS(x)                   0xFFFFFF00
28701e04c3fSmrg#define   S_008C0C_NUM_VS_THREADS(x)                   (((unsigned)(x) & 0xFF) << 8)
2883464ebd5Sriastradh#define   G_008C0C_NUM_VS_THREADS(x)                   (((x) >> 8) & 0xFF)
2893464ebd5Sriastradh#define   C_008C0C_NUM_VS_THREADS(x)                   0xFFFF00FF
29001e04c3fSmrg#define   S_008C0C_NUM_GS_THREADS(x)                   (((unsigned)(x) & 0xFF) << 16)
2913464ebd5Sriastradh#define   G_008C0C_NUM_GS_THREADS(x)                   (((x) >> 16) & 0xFF)
2923464ebd5Sriastradh#define   C_008C0C_NUM_GS_THREADS(x)                   0xFF00FFFF
29301e04c3fSmrg#define   S_008C0C_NUM_ES_THREADS(x)                   (((unsigned)(x) & 0xFF) << 24)
2943464ebd5Sriastradh#define   G_008C0C_NUM_ES_THREADS(x)                   (((x) >> 24) & 0xFF)
2953464ebd5Sriastradh#define   C_008C0C_NUM_ES_THREADS(x)                   0x00FFFFFF
2963464ebd5Sriastradh#define R_008C10_SQ_STACK_RESOURCE_MGMT_1            0x00008C10
29701e04c3fSmrg#define   S_008C10_NUM_PS_STACK_ENTRIES(x)             (((unsigned)(x) & 0xFFF) << 0)
2983464ebd5Sriastradh#define   G_008C10_NUM_PS_STACK_ENTRIES(x)             (((x) >> 0) & 0xFFF)
2993464ebd5Sriastradh#define   C_008C10_NUM_PS_STACK_ENTRIES(x)             0xFFFFF000
30001e04c3fSmrg#define   S_008C10_NUM_VS_STACK_ENTRIES(x)             (((unsigned)(x) & 0xFFF) << 16)
3013464ebd5Sriastradh#define   G_008C10_NUM_VS_STACK_ENTRIES(x)             (((x) >> 16) & 0xFFF)
3023464ebd5Sriastradh#define   C_008C10_NUM_VS_STACK_ENTRIES(x)             0xF000FFFF
3033464ebd5Sriastradh#define R_008C14_SQ_STACK_RESOURCE_MGMT_2            0x00008C14
30401e04c3fSmrg#define   S_008C14_NUM_GS_STACK_ENTRIES(x)             (((unsigned)(x) & 0xFFF) << 0)
3053464ebd5Sriastradh#define   G_008C14_NUM_GS_STACK_ENTRIES(x)             (((x) >> 0) & 0xFFF)
3063464ebd5Sriastradh#define   C_008C14_NUM_GS_STACK_ENTRIES(x)             0xFFFFF000
30701e04c3fSmrg#define   S_008C14_NUM_ES_STACK_ENTRIES(x)             (((unsigned)(x) & 0xFFF) << 16)
3083464ebd5Sriastradh#define   G_008C14_NUM_ES_STACK_ENTRIES(x)             (((x) >> 16) & 0xFFF)
3093464ebd5Sriastradh#define   C_008C14_NUM_ES_STACK_ENTRIES(x)             0xF000FFFF
3103464ebd5Sriastradh#define R_0280A0_CB_COLOR0_INFO                      0x0280A0
31101e04c3fSmrg#define   S_0280A0_ENDIAN(x)                           (((unsigned)(x) & 0x3) << 0)
3123464ebd5Sriastradh#define   G_0280A0_ENDIAN(x)                           (((x) >> 0) & 0x3)
3133464ebd5Sriastradh#define   C_0280A0_ENDIAN                              0xFFFFFFFC
31401e04c3fSmrg#define   S_0280A0_FORMAT(x)                           (((unsigned)(x) & 0x3F) << 2)
3153464ebd5Sriastradh#define   G_0280A0_FORMAT(x)                           (((x) >> 2) & 0x3F)
3163464ebd5Sriastradh#define   C_0280A0_FORMAT                              0xFFFFFF03
3173464ebd5Sriastradh#define     V_0280A0_COLOR_INVALID                     0x00000000
3183464ebd5Sriastradh#define     V_0280A0_COLOR_8                           0x00000001
3193464ebd5Sriastradh#define     V_0280A0_COLOR_4_4                         0x00000002
3203464ebd5Sriastradh#define     V_0280A0_COLOR_3_3_2                       0x00000003
3213464ebd5Sriastradh#define     V_0280A0_COLOR_16                          0x00000005
3223464ebd5Sriastradh#define     V_0280A0_COLOR_16_FLOAT                    0x00000006
3233464ebd5Sriastradh#define     V_0280A0_COLOR_8_8                         0x00000007
3243464ebd5Sriastradh#define     V_0280A0_COLOR_5_6_5                       0x00000008
3253464ebd5Sriastradh#define     V_0280A0_COLOR_6_5_5                       0x00000009
3263464ebd5Sriastradh#define     V_0280A0_COLOR_1_5_5_5                     0x0000000A
3273464ebd5Sriastradh#define     V_0280A0_COLOR_4_4_4_4                     0x0000000B
3283464ebd5Sriastradh#define     V_0280A0_COLOR_5_5_5_1                     0x0000000C
3293464ebd5Sriastradh#define     V_0280A0_COLOR_32                          0x0000000D
3303464ebd5Sriastradh#define     V_0280A0_COLOR_32_FLOAT                    0x0000000E
3313464ebd5Sriastradh#define     V_0280A0_COLOR_16_16                       0x0000000F
3323464ebd5Sriastradh#define     V_0280A0_COLOR_16_16_FLOAT                 0x00000010
3333464ebd5Sriastradh#define     V_0280A0_COLOR_8_24                        0x00000011
3343464ebd5Sriastradh#define     V_0280A0_COLOR_8_24_FLOAT                  0x00000012
3353464ebd5Sriastradh#define     V_0280A0_COLOR_24_8                        0x00000013
3363464ebd5Sriastradh#define     V_0280A0_COLOR_24_8_FLOAT                  0x00000014
3373464ebd5Sriastradh#define     V_0280A0_COLOR_10_11_11                    0x00000015
3383464ebd5Sriastradh#define     V_0280A0_COLOR_10_11_11_FLOAT              0x00000016
3393464ebd5Sriastradh#define     V_0280A0_COLOR_11_11_10                    0x00000017
3403464ebd5Sriastradh#define     V_0280A0_COLOR_11_11_10_FLOAT              0x00000018
3413464ebd5Sriastradh#define     V_0280A0_COLOR_2_10_10_10                  0x00000019
3423464ebd5Sriastradh#define     V_0280A0_COLOR_8_8_8_8                     0x0000001A
3433464ebd5Sriastradh#define     V_0280A0_COLOR_10_10_10_2                  0x0000001B
3443464ebd5Sriastradh#define     V_0280A0_COLOR_X24_8_32_FLOAT              0x0000001C
3453464ebd5Sriastradh#define     V_0280A0_COLOR_32_32                       0x0000001D
3463464ebd5Sriastradh#define     V_0280A0_COLOR_32_32_FLOAT                 0x0000001E
3473464ebd5Sriastradh#define     V_0280A0_COLOR_16_16_16_16                 0x0000001F
3483464ebd5Sriastradh#define     V_0280A0_COLOR_16_16_16_16_FLOAT           0x00000020
3493464ebd5Sriastradh#define     V_0280A0_COLOR_32_32_32_32                 0x00000022
3503464ebd5Sriastradh#define     V_0280A0_COLOR_32_32_32_32_FLOAT           0x00000023
3513464ebd5Sriastradh#define     V_0280A0_COLOR_32_32_32_FLOAT              0x00000030
35201e04c3fSmrg#define   S_0280A0_ARRAY_MODE(x)                       (((unsigned)(x) & 0xF) << 8)
3533464ebd5Sriastradh#define   G_0280A0_ARRAY_MODE(x)                       (((x) >> 8) & 0xF)
3543464ebd5Sriastradh#define   C_0280A0_ARRAY_MODE                          0xFFFFF0FF
3553464ebd5Sriastradh#define     V_0280A0_ARRAY_LINEAR_GENERAL              0x00000000
3563464ebd5Sriastradh#define     V_0280A0_ARRAY_LINEAR_ALIGNED              0x00000001
3573464ebd5Sriastradh#define     V_0280A0_ARRAY_1D_TILED_THIN1              0x00000002
3583464ebd5Sriastradh#define     V_0280A0_ARRAY_2D_TILED_THIN1              0x00000004
35901e04c3fSmrg#define   S_0280A0_NUMBER_TYPE(x)                      (((unsigned)(x) & 0x7) << 12)
3603464ebd5Sriastradh#define   G_0280A0_NUMBER_TYPE(x)                      (((x) >> 12) & 0x7)
3613464ebd5Sriastradh#define   C_0280A0_NUMBER_TYPE                         0xFFFF8FFF
3623464ebd5Sriastradh#define     V_0280A0_NUMBER_UNORM                      0x00000000
3633464ebd5Sriastradh#define     V_0280A0_NUMBER_SNORM                      0x00000001
3643464ebd5Sriastradh#define     V_0280A0_NUMBER_USCALED                    0x00000002
3653464ebd5Sriastradh#define     V_0280A0_NUMBER_SSCALED                    0x00000003
3663464ebd5Sriastradh#define     V_0280A0_NUMBER_UINT                       0x00000004
3673464ebd5Sriastradh#define     V_0280A0_NUMBER_SINT                       0x00000005
3683464ebd5Sriastradh#define     V_0280A0_NUMBER_SRGB                       0x00000006
3693464ebd5Sriastradh#define     V_0280A0_NUMBER_FLOAT                      0x00000007
37001e04c3fSmrg#define   S_0280A0_READ_SIZE(x)                        (((unsigned)(x) & 0x1) << 15)
3713464ebd5Sriastradh#define   G_0280A0_READ_SIZE(x)                        (((x) >> 15) & 0x1)
3723464ebd5Sriastradh#define   C_0280A0_READ_SIZE                           0xFFFF7FFF
37301e04c3fSmrg#define   S_0280A0_COMP_SWAP(x)                        (((unsigned)(x) & 0x3) << 16)
3743464ebd5Sriastradh#define   G_0280A0_COMP_SWAP(x)                        (((x) >> 16) & 0x3)
3753464ebd5Sriastradh#define   C_0280A0_COMP_SWAP                           0xFFFCFFFF
3763464ebd5Sriastradh#define     V_0280A0_SWAP_STD                          0x00000000
3773464ebd5Sriastradh#define     V_0280A0_SWAP_ALT                          0x00000001
3783464ebd5Sriastradh#define     V_0280A0_SWAP_STD_REV                      0x00000002
3793464ebd5Sriastradh#define     V_0280A0_SWAP_ALT_REV                      0x00000003
38001e04c3fSmrg#define   S_0280A0_TILE_MODE(x)                        (((unsigned)(x) & 0x3) << 18)
381af69d88dSmrg#define     V_0280A0_TILE_DISABLE			0
382af69d88dSmrg#define     V_0280A0_CLEAR_ENABLE			1
383af69d88dSmrg#define     V_0280A0_FRAG_ENABLE			2
3843464ebd5Sriastradh#define   G_0280A0_TILE_MODE(x)                        (((x) >> 18) & 0x3)
3853464ebd5Sriastradh#define   C_0280A0_TILE_MODE                           0xFFF3FFFF
38601e04c3fSmrg#define   S_0280A0_BLEND_CLAMP(x)                      (((unsigned)(x) & 0x1) << 20)
3873464ebd5Sriastradh#define   G_0280A0_BLEND_CLAMP(x)                      (((x) >> 20) & 0x1)
3883464ebd5Sriastradh#define   C_0280A0_BLEND_CLAMP                         0xFFEFFFFF
38901e04c3fSmrg#define   S_0280A0_CLEAR_COLOR(x)                      (((unsigned)(x) & 0x1) << 21)
3903464ebd5Sriastradh#define   G_0280A0_CLEAR_COLOR(x)                      (((x) >> 21) & 0x1)
3913464ebd5Sriastradh#define   C_0280A0_CLEAR_COLOR                         0xFFDFFFFF
39201e04c3fSmrg#define   S_0280A0_BLEND_BYPASS(x)                     (((unsigned)(x) & 0x1) << 22)
3933464ebd5Sriastradh#define   G_0280A0_BLEND_BYPASS(x)                     (((x) >> 22) & 0x1)
3943464ebd5Sriastradh#define   C_0280A0_BLEND_BYPASS                        0xFFBFFFFF
39501e04c3fSmrg#define   S_0280A0_BLEND_FLOAT32(x)                    (((unsigned)(x) & 0x1) << 23)
3963464ebd5Sriastradh#define   G_0280A0_BLEND_FLOAT32(x)                    (((x) >> 23) & 0x1)
3973464ebd5Sriastradh#define   C_0280A0_BLEND_FLOAT32                       0xFF7FFFFF
39801e04c3fSmrg#define   S_0280A0_SIMPLE_FLOAT(x)                     (((unsigned)(x) & 0x1) << 24)
3993464ebd5Sriastradh#define   G_0280A0_SIMPLE_FLOAT(x)                     (((x) >> 24) & 0x1)
4003464ebd5Sriastradh#define   C_0280A0_SIMPLE_FLOAT                        0xFEFFFFFF
40101e04c3fSmrg#define   S_0280A0_ROUND_MODE(x)                       (((unsigned)(x) & 0x1) << 25)
4023464ebd5Sriastradh#define   G_0280A0_ROUND_MODE(x)                       (((x) >> 25) & 0x1)
4033464ebd5Sriastradh#define   C_0280A0_ROUND_MODE                          0xFDFFFFFF
40401e04c3fSmrg#define   S_0280A0_TILE_COMPACT(x)                     (((unsigned)(x) & 0x1) << 26)
4053464ebd5Sriastradh#define   G_0280A0_TILE_COMPACT(x)                     (((x) >> 26) & 0x1)
4063464ebd5Sriastradh#define   C_0280A0_TILE_COMPACT                        0xFBFFFFFF
40701e04c3fSmrg#define   S_0280A0_SOURCE_FORMAT(x)                    (((unsigned)(x) & 0x1) << 27)
4083464ebd5Sriastradh#define   G_0280A0_SOURCE_FORMAT(x)                    (((x) >> 27) & 0x1)
4093464ebd5Sriastradh#define   C_0280A0_SOURCE_FORMAT                       0xF7FFFFFF
4103464ebd5Sriastradh#define     V_0280A0_EXPORT_FULL                       0
4113464ebd5Sriastradh#define     V_0280A0_EXPORT_NORM                       1
4123464ebd5Sriastradh#define R_028060_CB_COLOR0_SIZE                      0x028060
41301e04c3fSmrg#define   S_028060_PITCH_TILE_MAX(x)                   (((unsigned)(x) & 0x3FF) << 0)
4143464ebd5Sriastradh#define   G_028060_PITCH_TILE_MAX(x)                   (((x) >> 0) & 0x3FF)
4153464ebd5Sriastradh#define   C_028060_PITCH_TILE_MAX                      0xFFFFFC00
41601e04c3fSmrg#define   S_028060_SLICE_TILE_MAX(x)                   (((unsigned)(x) & 0xFFFFF) << 10)
4173464ebd5Sriastradh#define   G_028060_SLICE_TILE_MAX(x)                   (((x) >> 10) & 0xFFFFF)
4183464ebd5Sriastradh#define   C_028060_SLICE_TILE_MAX                      0xC00003FF
4193464ebd5Sriastradh#define R_028410_SX_ALPHA_TEST_CONTROL               0x028410
42001e04c3fSmrg#define   S_028410_ALPHA_FUNC(x)                       (((unsigned)(x) & 0x7) << 0)
4213464ebd5Sriastradh#define   G_028410_ALPHA_FUNC(x)                       (((x) >> 0) & 0x7)
4223464ebd5Sriastradh#define   C_028410_ALPHA_FUNC                          0xFFFFFFF8
42301e04c3fSmrg#define   S_028410_ALPHA_TEST_ENABLE(x)                (((unsigned)(x) & 0x1) << 3)
4243464ebd5Sriastradh#define   G_028410_ALPHA_TEST_ENABLE(x)                (((x) >> 3) & 0x1)
4253464ebd5Sriastradh#define   C_028410_ALPHA_TEST_ENABLE                   0xFFFFFFF7
42601e04c3fSmrg#define   S_028410_ALPHA_TEST_BYPASS(x)                (((unsigned)(x) & 0x1) << 8)
4273464ebd5Sriastradh#define   G_028410_ALPHA_TEST_BYPASS(x)                (((x) >> 8) & 0x1)
4283464ebd5Sriastradh#define   C_028410_ALPHA_TEST_BYPASS                   0xFFFFFEFF
4293464ebd5Sriastradh#define R_028800_DB_DEPTH_CONTROL                    0x028800
43001e04c3fSmrg#define   S_028800_STENCIL_ENABLE(x)                   (((unsigned)(x) & 0x1) << 0)
4313464ebd5Sriastradh#define   G_028800_STENCIL_ENABLE(x)                   (((x) >> 0) & 0x1)
4323464ebd5Sriastradh#define   C_028800_STENCIL_ENABLE                      0xFFFFFFFE
43301e04c3fSmrg#define   S_028800_Z_ENABLE(x)                         (((unsigned)(x) & 0x1) << 1)
4343464ebd5Sriastradh#define   G_028800_Z_ENABLE(x)                         (((x) >> 1) & 0x1)
4353464ebd5Sriastradh#define   C_028800_Z_ENABLE                            0xFFFFFFFD
43601e04c3fSmrg#define   S_028800_Z_WRITE_ENABLE(x)                   (((unsigned)(x) & 0x1) << 2)
4373464ebd5Sriastradh#define   G_028800_Z_WRITE_ENABLE(x)                   (((x) >> 2) & 0x1)
4383464ebd5Sriastradh#define   C_028800_Z_WRITE_ENABLE                      0xFFFFFFFB
43901e04c3fSmrg#define   S_028800_ZFUNC(x)                            (((unsigned)(x) & 0x7) << 4)
4403464ebd5Sriastradh#define   G_028800_ZFUNC(x)                            (((x) >> 4) & 0x7)
4413464ebd5Sriastradh#define   C_028800_ZFUNC                               0xFFFFFF8F
44201e04c3fSmrg#define   S_028800_BACKFACE_ENABLE(x)                  (((unsigned)(x) & 0x1) << 7)
4433464ebd5Sriastradh#define   G_028800_BACKFACE_ENABLE(x)                  (((x) >> 7) & 0x1)
4443464ebd5Sriastradh#define   C_028800_BACKFACE_ENABLE                     0xFFFFFF7F
44501e04c3fSmrg#define   S_028800_STENCILFUNC(x)                      (((unsigned)(x) & 0x7) << 8)
4463464ebd5Sriastradh#define   G_028800_STENCILFUNC(x)                      (((x) >> 8) & 0x7)
4473464ebd5Sriastradh#define   C_028800_STENCILFUNC                         0xFFFFF8FF
4483464ebd5Sriastradh#define     V_028800_STENCILFUNC_NEVER                 0x00000000
4493464ebd5Sriastradh#define     V_028800_STENCILFUNC_LESS                  0x00000001
4503464ebd5Sriastradh#define     V_028800_STENCILFUNC_EQUAL                 0x00000002
4513464ebd5Sriastradh#define     V_028800_STENCILFUNC_LEQUAL                0x00000003
4523464ebd5Sriastradh#define     V_028800_STENCILFUNC_GREATER               0x00000004
4533464ebd5Sriastradh#define     V_028800_STENCILFUNC_NOTEQUAL              0x00000005
4543464ebd5Sriastradh#define     V_028800_STENCILFUNC_GEQUAL                0x00000006
4553464ebd5Sriastradh#define     V_028800_STENCILFUNC_ALWAYS                0x00000007
45601e04c3fSmrg#define   S_028800_STENCILFAIL(x)                      (((unsigned)(x) & 0x7) << 11)
4573464ebd5Sriastradh#define   G_028800_STENCILFAIL(x)                      (((x) >> 11) & 0x7)
4583464ebd5Sriastradh#define   C_028800_STENCILFAIL                         0xFFFFC7FF
4593464ebd5Sriastradh#define     V_028800_STENCIL_KEEP                      0x00000000
4603464ebd5Sriastradh#define     V_028800_STENCIL_ZERO                      0x00000001
4613464ebd5Sriastradh#define     V_028800_STENCIL_REPLACE                   0x00000002
4623464ebd5Sriastradh#define     V_028800_STENCIL_INCR                      0x00000003
4633464ebd5Sriastradh#define     V_028800_STENCIL_DECR                      0x00000004
4643464ebd5Sriastradh#define     V_028800_STENCIL_INVERT                    0x00000005
4653464ebd5Sriastradh#define     V_028800_STENCIL_INCR_WRAP                 0x00000006
4663464ebd5Sriastradh#define     V_028800_STENCIL_DECR_WRAP                 0x00000007
46701e04c3fSmrg#define   S_028800_STENCILZPASS(x)                     (((unsigned)(x) & 0x7) << 14)
4683464ebd5Sriastradh#define   G_028800_STENCILZPASS(x)                     (((x) >> 14) & 0x7)
4693464ebd5Sriastradh#define   C_028800_STENCILZPASS                        0xFFFE3FFF
47001e04c3fSmrg#define   S_028800_STENCILZFAIL(x)                     (((unsigned)(x) & 0x7) << 17)
4713464ebd5Sriastradh#define   G_028800_STENCILZFAIL(x)                     (((x) >> 17) & 0x7)
4723464ebd5Sriastradh#define   C_028800_STENCILZFAIL                        0xFFF1FFFF
47301e04c3fSmrg#define   S_028800_STENCILFUNC_BF(x)                   (((unsigned)(x) & 0x7) << 20)
4743464ebd5Sriastradh#define   G_028800_STENCILFUNC_BF(x)                   (((x) >> 20) & 0x7)
4753464ebd5Sriastradh#define   C_028800_STENCILFUNC_BF                      0xFF8FFFFF
47601e04c3fSmrg#define   S_028800_STENCILFAIL_BF(x)                   (((unsigned)(x) & 0x7) << 23)
4773464ebd5Sriastradh#define   G_028800_STENCILFAIL_BF(x)                   (((x) >> 23) & 0x7)
4783464ebd5Sriastradh#define   C_028800_STENCILFAIL_BF                      0xFC7FFFFF
47901e04c3fSmrg#define   S_028800_STENCILZPASS_BF(x)                  (((unsigned)(x) & 0x7) << 26)
4803464ebd5Sriastradh#define   G_028800_STENCILZPASS_BF(x)                  (((x) >> 26) & 0x7)
4813464ebd5Sriastradh#define   C_028800_STENCILZPASS_BF                     0xE3FFFFFF
48201e04c3fSmrg#define   S_028800_STENCILZFAIL_BF(x)                  (((unsigned)(x) & 0x7) << 29)
4833464ebd5Sriastradh#define   G_028800_STENCILZFAIL_BF(x)                  (((x) >> 29) & 0x7)
4843464ebd5Sriastradh#define   C_028800_STENCILZFAIL_BF                     0x1FFFFFFF
4853464ebd5Sriastradh#define R_028808_CB_COLOR_CONTROL                    0x028808
48601e04c3fSmrg#define   S_028808_FOG_ENABLE(x)                       (((unsigned)(x) & 0x1) << 0)
4873464ebd5Sriastradh#define   G_028808_FOG_ENABLE(x)                       (((x) >> 0) & 0x1)
4883464ebd5Sriastradh#define   C_028808_FOG_ENABLE                          0xFFFFFFFE
48901e04c3fSmrg#define   S_028808_MULTIWRITE_ENABLE(x)                (((unsigned)(x) & 0x1) << 1)
4903464ebd5Sriastradh#define   G_028808_MULTIWRITE_ENABLE(x)                (((x) >> 1) & 0x1)
4913464ebd5Sriastradh#define   C_028808_MULTIWRITE_ENABLE                   0xFFFFFFFD
49201e04c3fSmrg#define   S_028808_DITHER_ENABLE(x)                    (((unsigned)(x) & 0x1) << 2)
4933464ebd5Sriastradh#define   G_028808_DITHER_ENABLE(x)                    (((x) >> 2) & 0x1)
4943464ebd5Sriastradh#define   C_028808_DITHER_ENABLE                       0xFFFFFFFB
49501e04c3fSmrg#define   S_028808_DEGAMMA_ENABLE(x)                   (((unsigned)(x) & 0x1) << 3)
4963464ebd5Sriastradh#define   G_028808_DEGAMMA_ENABLE(x)                   (((x) >> 3) & 0x1)
4973464ebd5Sriastradh#define   C_028808_DEGAMMA_ENABLE                      0xFFFFFFF7
49801e04c3fSmrg#define   S_028808_SPECIAL_OP(x)                       (((unsigned)(x) & 0x7) << 4)
499af69d88dSmrg#define		V_028808_NORMAL				0
500af69d88dSmrg#define		V_028808_DISABLE			1
5013464ebd5Sriastradh#define   G_028808_SPECIAL_OP(x)                       (((x) >> 4) & 0x7)
5023464ebd5Sriastradh#define   C_028808_SPECIAL_OP                          0xFFFFFF8F
503af69d88dSmrg#define     V_028808_SPECIAL_NORMAL                     0x00
504af69d88dSmrg#define     V_028808_SPECIAL_DISABLE                    0x01
505af69d88dSmrg#define     V_028808_SPECIAL_FAST_CLEAR                 0x02
506af69d88dSmrg#define     V_028808_SPECIAL_FORCE_CLEAR                0x03
507af69d88dSmrg#define     V_028808_SPECIAL_EXPAND_COLOR               0x04
508af69d88dSmrg#define     V_028808_SPECIAL_EXPAND_TEXTURE             0x05
509af69d88dSmrg#define     V_028808_SPECIAL_EXPAND_SAMPLES             0x06
510af69d88dSmrg#define     V_028808_SPECIAL_RESOLVE_BOX                0x07
51101e04c3fSmrg#define   S_028808_PER_MRT_BLEND(x)                    (((unsigned)(x) & 0x1) << 7)
5123464ebd5Sriastradh#define   G_028808_PER_MRT_BLEND(x)                    (((x) >> 7) & 0x1)
5133464ebd5Sriastradh#define   C_028808_PER_MRT_BLEND                       0xFFFFFF7F
51401e04c3fSmrg#define   S_028808_TARGET_BLEND_ENABLE(x)              (((unsigned)(x) & 0xFF) << 8)
5153464ebd5Sriastradh#define   G_028808_TARGET_BLEND_ENABLE(x)              (((x) >> 8) & 0xFF)
5163464ebd5Sriastradh#define   C_028808_TARGET_BLEND_ENABLE                 0xFFFF00FF
51701e04c3fSmrg#define   S_028808_ROP3(x)                             (((unsigned)(x) & 0xFF) << 16)
5183464ebd5Sriastradh#define   G_028808_ROP3(x)                             (((x) >> 16) & 0xFF)
5193464ebd5Sriastradh#define   C_028808_ROP3                                0xFF00FFFF
5203464ebd5Sriastradh#define R_028810_PA_CL_CLIP_CNTL                     0x028810
52101e04c3fSmrg#define   S_028810_UCP_ENA_0(x)                        (((unsigned)(x) & 0x1) << 0)
5223464ebd5Sriastradh#define   G_028810_UCP_ENA_0(x)                        (((x) >> 0) & 0x1)
5233464ebd5Sriastradh#define   C_028810_UCP_ENA_0                           0xFFFFFFFE
52401e04c3fSmrg#define   S_028810_UCP_ENA_1(x)                        (((unsigned)(x) & 0x1) << 1)
5253464ebd5Sriastradh#define   G_028810_UCP_ENA_1(x)                        (((x) >> 1) & 0x1)
5263464ebd5Sriastradh#define   C_028810_UCP_ENA_1                           0xFFFFFFFD
52701e04c3fSmrg#define   S_028810_UCP_ENA_2(x)                        (((unsigned)(x) & 0x1) << 2)
5283464ebd5Sriastradh#define   G_028810_UCP_ENA_2(x)                        (((x) >> 2) & 0x1)
5293464ebd5Sriastradh#define   C_028810_UCP_ENA_2                           0xFFFFFFFB
53001e04c3fSmrg#define   S_028810_UCP_ENA_3(x)                        (((unsigned)(x) & 0x1) << 3)
5313464ebd5Sriastradh#define   G_028810_UCP_ENA_3(x)                        (((x) >> 3) & 0x1)
5323464ebd5Sriastradh#define   C_028810_UCP_ENA_3                           0xFFFFFFF7
53301e04c3fSmrg#define   S_028810_UCP_ENA_4(x)                        (((unsigned)(x) & 0x1) << 4)
5343464ebd5Sriastradh#define   G_028810_UCP_ENA_4(x)                        (((x) >> 4) & 0x1)
5353464ebd5Sriastradh#define   C_028810_UCP_ENA_4                           0xFFFFFFEF
53601e04c3fSmrg#define   S_028810_UCP_ENA_5(x)                        (((unsigned)(x) & 0x1) << 5)
5373464ebd5Sriastradh#define   G_028810_UCP_ENA_5(x)                        (((x) >> 5) & 0x1)
5383464ebd5Sriastradh#define   C_028810_UCP_ENA_5                           0xFFFFFFDF
53901e04c3fSmrg#define   S_028810_PS_UCP_Y_SCALE_NEG(x)               (((unsigned)(x) & 0x1) << 13)
5403464ebd5Sriastradh#define   G_028810_PS_UCP_Y_SCALE_NEG(x)               (((x) >> 13) & 0x1)
5413464ebd5Sriastradh#define   C_028810_PS_UCP_Y_SCALE_NEG                  0xFFFFDFFF
54201e04c3fSmrg#define   S_028810_PS_UCP_MODE(x)                      (((unsigned)(x) & 0x3) << 14)
5433464ebd5Sriastradh#define   G_028810_PS_UCP_MODE(x)                      (((x) >> 14) & 0x3)
5443464ebd5Sriastradh#define   C_028810_PS_UCP_MODE                         0xFFFF3FFF
54501e04c3fSmrg#define   S_028810_CLIP_DISABLE(x)                     (((unsigned)(x) & 0x1) << 16)
5463464ebd5Sriastradh#define   G_028810_CLIP_DISABLE(x)                     (((x) >> 16) & 0x1)
5473464ebd5Sriastradh#define   C_028810_CLIP_DISABLE                        0xFFFEFFFF
54801e04c3fSmrg#define   S_028810_UCP_CULL_ONLY_ENA(x)                (((unsigned)(x) & 0x1) << 17)
5493464ebd5Sriastradh#define   G_028810_UCP_CULL_ONLY_ENA(x)                (((x) >> 17) & 0x1)
5503464ebd5Sriastradh#define   C_028810_UCP_CULL_ONLY_ENA                   0xFFFDFFFF
55101e04c3fSmrg#define   S_028810_BOUNDARY_EDGE_FLAG_ENA(x)           (((unsigned)(x) & 0x1) << 18)
5523464ebd5Sriastradh#define   G_028810_BOUNDARY_EDGE_FLAG_ENA(x)           (((x) >> 18) & 0x1)
5533464ebd5Sriastradh#define   C_028810_BOUNDARY_EDGE_FLAG_ENA              0xFFFBFFFF
55401e04c3fSmrg#define   S_028810_DX_CLIP_SPACE_DEF(x)                (((unsigned)(x) & 0x1) << 19)
5553464ebd5Sriastradh#define   G_028810_DX_CLIP_SPACE_DEF(x)                (((x) >> 19) & 0x1)
5563464ebd5Sriastradh#define   C_028810_DX_CLIP_SPACE_DEF                   0xFFF7FFFF
55701e04c3fSmrg#define   S_028810_DIS_CLIP_ERR_DETECT(x)              (((unsigned)(x) & 0x1) << 20)
5583464ebd5Sriastradh#define   G_028810_DIS_CLIP_ERR_DETECT(x)              (((x) >> 20) & 0x1)
5593464ebd5Sriastradh#define   C_028810_DIS_CLIP_ERR_DETECT                 0xFFEFFFFF
56001e04c3fSmrg#define   S_028810_VTX_KILL_OR(x)                      (((unsigned)(x) & 0x1) << 21)
5613464ebd5Sriastradh#define   G_028810_VTX_KILL_OR(x)                      (((x) >> 21) & 0x1)
5623464ebd5Sriastradh#define   C_028810_VTX_KILL_OR                         0xFFDFFFFF
56301e04c3fSmrg#define   S_028810_DX_RASTERIZATION_KILL(x)            (((unsigned)(x) & 0x1) << 22) /* R700 only? */
564af69d88dSmrg#define   G_028810_DX_RASTERIZATION_KILL(x)            (((x) >> 22) & 0x1)
565af69d88dSmrg#define   C_028810_DX_RASTERIZATION_KILL               0xFFBFFFFF
56601e04c3fSmrg#define   S_028810_DX_LINEAR_ATTR_CLIP_ENA(x)          (((unsigned)(x) & 0x1) << 24)
5673464ebd5Sriastradh#define   G_028810_DX_LINEAR_ATTR_CLIP_ENA(x)          (((x) >> 24) & 0x1)
5683464ebd5Sriastradh#define   C_028810_DX_LINEAR_ATTR_CLIP_ENA             0xFEFFFFFF
56901e04c3fSmrg#define   S_028810_VTE_VPORT_PROVOKE_DISABLE(x)        (((unsigned)(x) & 0x1) << 25)
5703464ebd5Sriastradh#define   G_028810_VTE_VPORT_PROVOKE_DISABLE(x)        (((x) >> 25) & 0x1)
5713464ebd5Sriastradh#define   C_028810_VTE_VPORT_PROVOKE_DISABLE           0xFDFFFFFF
57201e04c3fSmrg#define   S_028810_ZCLIP_NEAR_DISABLE(x)               (((unsigned)(x) & 0x1) << 26)
5733464ebd5Sriastradh#define   G_028810_ZCLIP_NEAR_DISABLE(x)               (((x) >> 26) & 0x1)
5743464ebd5Sriastradh#define   C_028810_ZCLIP_NEAR_DISABLE                  0xFBFFFFFF
57501e04c3fSmrg#define   S_028810_ZCLIP_FAR_DISABLE(x)                (((unsigned)(x) & 0x1) << 27)
5763464ebd5Sriastradh#define   G_028810_ZCLIP_FAR_DISABLE(x)                (((x) >> 27) & 0x1)
5773464ebd5Sriastradh#define   C_028810_ZCLIP_FAR_DISABLE                   0xF7FFFFFF
5783464ebd5Sriastradh#define R_028010_DB_DEPTH_INFO                       0x028010
57901e04c3fSmrg#define   S_028010_FORMAT(x)                           (((unsigned)(x) & 0x7) << 0)
5803464ebd5Sriastradh#define   G_028010_FORMAT(x)                           (((x) >> 0) & 0x7)
5813464ebd5Sriastradh#define   C_028010_FORMAT                              0xFFFFFFF8
5823464ebd5Sriastradh#define     V_028010_DEPTH_INVALID                     0x00000000
5833464ebd5Sriastradh#define     V_028010_DEPTH_16                          0x00000001
5843464ebd5Sriastradh#define     V_028010_DEPTH_X8_24                       0x00000002
5853464ebd5Sriastradh#define     V_028010_DEPTH_8_24                        0x00000003
5863464ebd5Sriastradh#define     V_028010_DEPTH_X8_24_FLOAT                 0x00000004
5873464ebd5Sriastradh#define     V_028010_DEPTH_8_24_FLOAT                  0x00000005
5883464ebd5Sriastradh#define     V_028010_DEPTH_32_FLOAT                    0x00000006
5893464ebd5Sriastradh#define     V_028010_DEPTH_X24_8_32_FLOAT              0x00000007
59001e04c3fSmrg#define   S_028010_READ_SIZE(x)                        (((unsigned)(x) & 0x1) << 3)
5913464ebd5Sriastradh#define   G_028010_READ_SIZE(x)                        (((x) >> 3) & 0x1)
5923464ebd5Sriastradh#define   C_028010_READ_SIZE                           0xFFFFFFF7
59301e04c3fSmrg#define   S_028010_ARRAY_MODE(x)                       (((unsigned)(x) & 0xF) << 15)
5943464ebd5Sriastradh#define   G_028010_ARRAY_MODE(x)                       (((x) >> 15) & 0xF)
5953464ebd5Sriastradh#define   C_028010_ARRAY_MODE                          0xFFF87FFF
59601e04c3fSmrg#define   S_028010_TILE_SURFACE_ENABLE(x)              (((unsigned)(x) & 0x1) << 25)
5973464ebd5Sriastradh#define   G_028010_TILE_SURFACE_ENABLE(x)              (((x) >> 25) & 0x1)
5983464ebd5Sriastradh#define   C_028010_TILE_SURFACE_ENABLE                 0xFDFFFFFF
59901e04c3fSmrg#define   S_028010_TILE_COMPACT(x)                     (((unsigned)(x) & 0x1) << 26)
6003464ebd5Sriastradh#define   G_028010_TILE_COMPACT(x)                     (((x) >> 26) & 0x1)
6013464ebd5Sriastradh#define   C_028010_TILE_COMPACT                        0xFBFFFFFF
60201e04c3fSmrg#define   S_028010_ZRANGE_PRECISION(x)                 (((unsigned)(x) & 0x1) << 31)
6033464ebd5Sriastradh#define   G_028010_ZRANGE_PRECISION(x)                 (((x) >> 31) & 0x1)
6043464ebd5Sriastradh#define   C_028010_ZRANGE_PRECISION                    0x7FFFFFFF
605af69d88dSmrg#define R_028014_DB_HTILE_DATA_BASE                  0x00028014
6063464ebd5Sriastradh#define R_028414_CB_BLEND_RED                        0x028414
60701e04c3fSmrg#define   S_028414_BLEND_RED(x)                        (((unsigned)(x) & 0xFFFFFFFF) << 0)
6083464ebd5Sriastradh#define   G_028414_BLEND_RED(x)                        (((x) >> 0) & 0xFFFFFFFF)
6093464ebd5Sriastradh#define   C_028414_BLEND_RED                           0x00000000
6103464ebd5Sriastradh#define R_028418_CB_BLEND_GREEN                      0x028418
61101e04c3fSmrg#define   S_028418_BLEND_GREEN(x)                      (((unsigned)(x) & 0xFFFFFFFF) << 0)
6123464ebd5Sriastradh#define   G_028418_BLEND_GREEN(x)                      (((x) >> 0) & 0xFFFFFFFF)
6133464ebd5Sriastradh#define   C_028418_BLEND_GREEN                         0x00000000
6143464ebd5Sriastradh#define R_02841C_CB_BLEND_BLUE                       0x02841C
61501e04c3fSmrg#define   S_02841C_BLEND_BLUE(x)                       (((unsigned)(x) & 0xFFFFFFFF) << 0)
6163464ebd5Sriastradh#define   G_02841C_BLEND_BLUE(x)                       (((x) >> 0) & 0xFFFFFFFF)
6173464ebd5Sriastradh#define   C_02841C_BLEND_BLUE                          0x00000000
6183464ebd5Sriastradh#define R_028420_CB_BLEND_ALPHA                      0x028420
61901e04c3fSmrg#define   S_028420_BLEND_ALPHA(x)                      (((unsigned)(x) & 0xFFFFFFFF) << 0)
6203464ebd5Sriastradh#define   G_028420_BLEND_ALPHA(x)                      (((x) >> 0) & 0xFFFFFFFF)
6213464ebd5Sriastradh#define   C_028420_BLEND_ALPHA                         0x00000000
6223464ebd5Sriastradh#define R_028430_DB_STENCILREFMASK                   0x028430
62301e04c3fSmrg#define   S_028430_STENCILREF(x)                       (((unsigned)(x) & 0xFF) << 0)
6243464ebd5Sriastradh#define   G_028430_STENCILREF(x)                       (((x) >> 0) & 0xFF)
6253464ebd5Sriastradh#define   C_028430_STENCILREF                          0xFFFFFF00
62601e04c3fSmrg#define   S_028430_STENCILMASK(x)                      (((unsigned)(x) & 0xFF) << 8)
6273464ebd5Sriastradh#define   G_028430_STENCILMASK(x)                      (((x) >> 8) & 0xFF)
6283464ebd5Sriastradh#define   C_028430_STENCILMASK                         0xFFFF00FF
62901e04c3fSmrg#define   S_028430_STENCILWRITEMASK(x)                 (((unsigned)(x) & 0xFF) << 16)
6303464ebd5Sriastradh#define   G_028430_STENCILWRITEMASK(x)                 (((x) >> 16) & 0xFF)
6313464ebd5Sriastradh#define   C_028430_STENCILWRITEMASK                    0xFF00FFFF
6323464ebd5Sriastradh#define R_028434_DB_STENCILREFMASK_BF                0x028434
63301e04c3fSmrg#define   S_028434_STENCILREF_BF(x)                    (((unsigned)(x) & 0xFF) << 0)
6343464ebd5Sriastradh#define   G_028434_STENCILREF_BF(x)                    (((x) >> 0) & 0xFF)
6353464ebd5Sriastradh#define   C_028434_STENCILREF_BF                       0xFFFFFF00
63601e04c3fSmrg#define   S_028434_STENCILMASK_BF(x)                   (((unsigned)(x) & 0xFF) << 8)
6373464ebd5Sriastradh#define   G_028434_STENCILMASK_BF(x)                   (((x) >> 8) & 0xFF)
6383464ebd5Sriastradh#define   C_028434_STENCILMASK_BF                      0xFFFF00FF
63901e04c3fSmrg#define   S_028434_STENCILWRITEMASK_BF(x)              (((unsigned)(x) & 0xFF) << 16)
6403464ebd5Sriastradh#define   G_028434_STENCILWRITEMASK_BF(x)              (((x) >> 16) & 0xFF)
6413464ebd5Sriastradh#define   C_028434_STENCILWRITEMASK_BF                 0xFF00FFFF
6423464ebd5Sriastradh#define R_028780_CB_BLEND0_CONTROL                   0x028780
6433464ebd5Sriastradh#define R_028784_CB_BLEND1_CONTROL                   0x028784
6443464ebd5Sriastradh#define R_028788_CB_BLEND2_CONTROL                   0x028788
6453464ebd5Sriastradh#define R_02878C_CB_BLEND3_CONTROL                   0x02878C
6463464ebd5Sriastradh#define R_028790_CB_BLEND4_CONTROL                   0x028790
6473464ebd5Sriastradh#define R_028794_CB_BLEND5_CONTROL                   0x028794
6483464ebd5Sriastradh#define R_028798_CB_BLEND6_CONTROL                   0x028798
6493464ebd5Sriastradh#define R_02879C_CB_BLEND7_CONTROL                   0x02879C
6503464ebd5Sriastradh#define R_028804_CB_BLEND_CONTROL                    0x028804
65101e04c3fSmrg#define   S_028804_COLOR_SRCBLEND(x)                   (((unsigned)(x) & 0x1F) << 0)
6523464ebd5Sriastradh#define   G_028804_COLOR_SRCBLEND(x)                   (((x) >> 0) & 0x1F)
6533464ebd5Sriastradh#define   C_028804_COLOR_SRCBLEND                      0xFFFFFFE0
6543464ebd5Sriastradh#define     V_028804_BLEND_ZERO                        0x00000000
6553464ebd5Sriastradh#define     V_028804_BLEND_ONE                         0x00000001
6563464ebd5Sriastradh#define     V_028804_BLEND_SRC_COLOR                   0x00000002
6573464ebd5Sriastradh#define     V_028804_BLEND_ONE_MINUS_SRC_COLOR         0x00000003
6583464ebd5Sriastradh#define     V_028804_BLEND_SRC_ALPHA                   0x00000004
6593464ebd5Sriastradh#define     V_028804_BLEND_ONE_MINUS_SRC_ALPHA         0x00000005
6603464ebd5Sriastradh#define     V_028804_BLEND_DST_ALPHA                   0x00000006
6613464ebd5Sriastradh#define     V_028804_BLEND_ONE_MINUS_DST_ALPHA         0x00000007
6623464ebd5Sriastradh#define     V_028804_BLEND_DST_COLOR                   0x00000008
6633464ebd5Sriastradh#define     V_028804_BLEND_ONE_MINUS_DST_COLOR         0x00000009
6643464ebd5Sriastradh#define     V_028804_BLEND_SRC_ALPHA_SATURATE          0x0000000A
6653464ebd5Sriastradh#define     V_028804_BLEND_BOTH_SRC_ALPHA              0x0000000B
6663464ebd5Sriastradh#define     V_028804_BLEND_BOTH_INV_SRC_ALPHA          0x0000000C
6673464ebd5Sriastradh#define     V_028804_BLEND_CONST_COLOR                 0x0000000D
6683464ebd5Sriastradh#define     V_028804_BLEND_ONE_MINUS_CONST_COLOR       0x0000000E
6693464ebd5Sriastradh#define     V_028804_BLEND_SRC1_COLOR                  0x0000000F
6703464ebd5Sriastradh#define     V_028804_BLEND_INV_SRC1_COLOR              0x00000010
6713464ebd5Sriastradh#define     V_028804_BLEND_SRC1_ALPHA                  0x00000011
6723464ebd5Sriastradh#define     V_028804_BLEND_INV_SRC1_ALPHA              0x00000012
6733464ebd5Sriastradh#define     V_028804_BLEND_CONST_ALPHA                 0x00000013
6743464ebd5Sriastradh#define     V_028804_BLEND_ONE_MINUS_CONST_ALPHA       0x00000014
67501e04c3fSmrg#define   S_028804_COLOR_COMB_FCN(x)                   (((unsigned)(x) & 0x7) << 5)
6763464ebd5Sriastradh#define   G_028804_COLOR_COMB_FCN(x)                   (((x) >> 5) & 0x7)
6773464ebd5Sriastradh#define   C_028804_COLOR_COMB_FCN                      0xFFFFFF1F
6783464ebd5Sriastradh#define     V_028804_COMB_DST_PLUS_SRC                 0x00000000
6793464ebd5Sriastradh#define     V_028804_COMB_SRC_MINUS_DST                0x00000001
6803464ebd5Sriastradh#define     V_028804_COMB_MIN_DST_SRC                  0x00000002
6813464ebd5Sriastradh#define     V_028804_COMB_MAX_DST_SRC                  0x00000003
6823464ebd5Sriastradh#define     V_028804_COMB_DST_MINUS_SRC                0x00000004
68301e04c3fSmrg#define   S_028804_COLOR_DESTBLEND(x)                  (((unsigned)(x) & 0x1F) << 8)
6843464ebd5Sriastradh#define   G_028804_COLOR_DESTBLEND(x)                  (((x) >> 8) & 0x1F)
6853464ebd5Sriastradh#define   C_028804_COLOR_DESTBLEND                     0xFFFFE0FF
68601e04c3fSmrg#define   S_028804_OPACITY_WEIGHT(x)                   (((unsigned)(x) & 0x1) << 13)
6873464ebd5Sriastradh#define   G_028804_OPACITY_WEIGHT(x)                   (((x) >> 13) & 0x1)
6883464ebd5Sriastradh#define   C_028804_OPACITY_WEIGHT                      0xFFFFDFFF
68901e04c3fSmrg#define   S_028804_ALPHA_SRCBLEND(x)                   (((unsigned)(x) & 0x1F) << 16)
6903464ebd5Sriastradh#define   G_028804_ALPHA_SRCBLEND(x)                   (((x) >> 16) & 0x1F)
6913464ebd5Sriastradh#define   C_028804_ALPHA_SRCBLEND                      0xFFE0FFFF
69201e04c3fSmrg#define   S_028804_ALPHA_COMB_FCN(x)                   (((unsigned)(x) & 0x7) << 21)
6933464ebd5Sriastradh#define   G_028804_ALPHA_COMB_FCN(x)                   (((x) >> 21) & 0x7)
6943464ebd5Sriastradh#define   C_028804_ALPHA_COMB_FCN                      0xFF1FFFFF
69501e04c3fSmrg#define   S_028804_ALPHA_DESTBLEND(x)                  (((unsigned)(x) & 0x1F) << 24)
6963464ebd5Sriastradh#define   G_028804_ALPHA_DESTBLEND(x)                  (((x) >> 24) & 0x1F)
6973464ebd5Sriastradh#define   C_028804_ALPHA_DESTBLEND                     0xE0FFFFFF
69801e04c3fSmrg#define   S_028804_SEPARATE_ALPHA_BLEND(x)             (((unsigned)(x) & 0x1) << 29)
6993464ebd5Sriastradh#define   G_028804_SEPARATE_ALPHA_BLEND(x)             (((x) >> 29) & 0x1)
7003464ebd5Sriastradh#define   C_028804_SEPARATE_ALPHA_BLEND                0xDFFFFFFF
7013464ebd5Sriastradh#define R_028814_PA_SU_SC_MODE_CNTL                  0x028814
70201e04c3fSmrg#define   S_028814_CULL_FRONT(x)                       (((unsigned)(x) & 0x1) << 0)
7033464ebd5Sriastradh#define   G_028814_CULL_FRONT(x)                       (((x) >> 0) & 0x1)
7043464ebd5Sriastradh#define   C_028814_CULL_FRONT                          0xFFFFFFFE
70501e04c3fSmrg#define   S_028814_CULL_BACK(x)                        (((unsigned)(x) & 0x1) << 1)
7063464ebd5Sriastradh#define   G_028814_CULL_BACK(x)                        (((x) >> 1) & 0x1)
7073464ebd5Sriastradh#define   C_028814_CULL_BACK                           0xFFFFFFFD
70801e04c3fSmrg#define   S_028814_FACE(x)                             (((unsigned)(x) & 0x1) << 2)
7093464ebd5Sriastradh#define   G_028814_FACE(x)                             (((x) >> 2) & 0x1)
7103464ebd5Sriastradh#define   C_028814_FACE                                0xFFFFFFFB
71101e04c3fSmrg#define   S_028814_POLY_MODE(x)                        (((unsigned)(x) & 0x3) << 3)
7123464ebd5Sriastradh#define   G_028814_POLY_MODE(x)                        (((x) >> 3) & 0x3)
7133464ebd5Sriastradh#define   C_028814_POLY_MODE                           0xFFFFFFE7
71401e04c3fSmrg#define   S_028814_POLYMODE_FRONT_PTYPE(x)             (((unsigned)(x) & 0x7) << 5)
7153464ebd5Sriastradh#define   G_028814_POLYMODE_FRONT_PTYPE(x)             (((x) >> 5) & 0x7)
7163464ebd5Sriastradh#define   C_028814_POLYMODE_FRONT_PTYPE                0xFFFFFF1F
71701e04c3fSmrg#define   S_028814_POLYMODE_BACK_PTYPE(x)              (((unsigned)(x) & 0x7) << 8)
7183464ebd5Sriastradh#define   G_028814_POLYMODE_BACK_PTYPE(x)              (((x) >> 8) & 0x7)
7193464ebd5Sriastradh#define   C_028814_POLYMODE_BACK_PTYPE                 0xFFFFF8FF
72001e04c3fSmrg#define   S_028814_POLY_OFFSET_FRONT_ENABLE(x)         (((unsigned)(x) & 0x1) << 11)
7213464ebd5Sriastradh#define   G_028814_POLY_OFFSET_FRONT_ENABLE(x)         (((x) >> 11) & 0x1)
7223464ebd5Sriastradh#define   C_028814_POLY_OFFSET_FRONT_ENABLE            0xFFFFF7FF
72301e04c3fSmrg#define   S_028814_POLY_OFFSET_BACK_ENABLE(x)          (((unsigned)(x) & 0x1) << 12)
7243464ebd5Sriastradh#define   G_028814_POLY_OFFSET_BACK_ENABLE(x)          (((x) >> 12) & 0x1)
7253464ebd5Sriastradh#define   C_028814_POLY_OFFSET_BACK_ENABLE             0xFFFFEFFF
72601e04c3fSmrg#define   S_028814_POLY_OFFSET_PARA_ENABLE(x)          (((unsigned)(x) & 0x1) << 13)
7273464ebd5Sriastradh#define   G_028814_POLY_OFFSET_PARA_ENABLE(x)          (((x) >> 13) & 0x1)
7283464ebd5Sriastradh#define   C_028814_POLY_OFFSET_PARA_ENABLE             0xFFFFDFFF
72901e04c3fSmrg#define   S_028814_VTX_WINDOW_OFFSET_ENABLE(x)         (((unsigned)(x) & 0x1) << 16)
7303464ebd5Sriastradh#define   G_028814_VTX_WINDOW_OFFSET_ENABLE(x)         (((x) >> 16) & 0x1)
7313464ebd5Sriastradh#define   C_028814_VTX_WINDOW_OFFSET_ENABLE            0xFFFEFFFF
73201e04c3fSmrg#define   S_028814_PROVOKING_VTX_LAST(x)               (((unsigned)(x) & 0x1) << 19)
7333464ebd5Sriastradh#define   G_028814_PROVOKING_VTX_LAST(x)               (((x) >> 19) & 0x1)
7343464ebd5Sriastradh#define   C_028814_PROVOKING_VTX_LAST                  0xFFF7FFFF
73501e04c3fSmrg#define   S_028814_PERSP_CORR_DIS(x)                   (((unsigned)(x) & 0x1) << 20)
7363464ebd5Sriastradh#define   G_028814_PERSP_CORR_DIS(x)                   (((x) >> 20) & 0x1)
7373464ebd5Sriastradh#define   C_028814_PERSP_CORR_DIS                      0xFFEFFFFF
73801e04c3fSmrg#define   S_028814_MULTI_PRIM_IB_ENA(x)                (((unsigned)(x) & 0x1) << 21)
7393464ebd5Sriastradh#define   G_028814_MULTI_PRIM_IB_ENA(x)                (((x) >> 21) & 0x1)
7403464ebd5Sriastradh#define   C_028814_MULTI_PRIM_IB_ENA                   0xFFDFFFFF
7413464ebd5Sriastradh#define R_028000_DB_DEPTH_SIZE                       0x028000
74201e04c3fSmrg#define   S_028000_PITCH_TILE_MAX(x)                   (((unsigned)(x) & 0x3FF) << 0)
7433464ebd5Sriastradh#define   G_028000_PITCH_TILE_MAX(x)                   (((x) >> 0) & 0x3FF)
7443464ebd5Sriastradh#define   C_028000_PITCH_TILE_MAX                      0xFFFFFC00
74501e04c3fSmrg#define   S_028000_SLICE_TILE_MAX(x)                   (((unsigned)(x) & 0xFFFFF) << 10)
7463464ebd5Sriastradh#define   G_028000_SLICE_TILE_MAX(x)                   (((x) >> 10) & 0xFFFFF)
7473464ebd5Sriastradh#define   C_028000_SLICE_TILE_MAX                      0xC00003FF
7483464ebd5Sriastradh#define R_028004_DB_DEPTH_VIEW                       0x028004
74901e04c3fSmrg#define   S_028004_SLICE_START(x)                      (((unsigned)(x) & 0x7FF) << 0)
7503464ebd5Sriastradh#define   G_028004_SLICE_START(x)                      (((x) >> 0) & 0x7FF)
7513464ebd5Sriastradh#define   C_028004_SLICE_START                         0xFFFFF800
75201e04c3fSmrg#define   S_028004_SLICE_MAX(x)                        (((unsigned)(x) & 0x7FF) << 13)
7533464ebd5Sriastradh#define   G_028004_SLICE_MAX(x)                        (((x) >> 13) & 0x7FF)
7543464ebd5Sriastradh#define   C_028004_SLICE_MAX                           0xFF001FFF
7553464ebd5Sriastradh#define R_028D24_DB_HTILE_SURFACE                    0x028D24
75601e04c3fSmrg#define   S_028D24_HTILE_WIDTH(x)                      (((unsigned)(x) & 0x1) << 0)
7573464ebd5Sriastradh#define   G_028D24_HTILE_WIDTH(x)                      (((x) >> 0) & 0x1)
7583464ebd5Sriastradh#define   C_028D24_HTILE_WIDTH                         0xFFFFFFFE
75901e04c3fSmrg#define   S_028D24_HTILE_HEIGHT(x)                     (((unsigned)(x) & 0x1) << 1)
7603464ebd5Sriastradh#define   G_028D24_HTILE_HEIGHT(x)                     (((x) >> 1) & 0x1)
7613464ebd5Sriastradh#define   C_028D24_HTILE_HEIGHT                        0xFFFFFFFD
76201e04c3fSmrg#define   S_028D24_LINEAR(x)                           (((unsigned)(x) & 0x1) << 2)
7633464ebd5Sriastradh#define   G_028D24_LINEAR(x)                           (((x) >> 2) & 0x1)
7643464ebd5Sriastradh#define   C_028D24_LINEAR                              0xFFFFFFFB
76501e04c3fSmrg#define   S_028D24_FULL_CACHE(x)                       (((unsigned)(x) & 0x1) << 3)
7663464ebd5Sriastradh#define   G_028D24_FULL_CACHE(x)                       (((x) >> 3) & 0x1)
7673464ebd5Sriastradh#define   C_028D24_FULL_CACHE                          0xFFFFFFF7
76801e04c3fSmrg#define   S_028D24_HTILE_USES_PRELOAD_WIN(x)           (((unsigned)(x) & 0x1) << 4)
7693464ebd5Sriastradh#define   G_028D24_HTILE_USES_PRELOAD_WIN(x)           (((x) >> 4) & 0x1)
7703464ebd5Sriastradh#define   C_028D24_HTILE_USES_PRELOAD_WIN              0xFFFFFFEF
77101e04c3fSmrg#define   S_028D24_PRELOAD(x)                          (((unsigned)(x) & 0x1) << 5)
7723464ebd5Sriastradh#define   G_028D24_PRELOAD(x)                          (((x) >> 5) & 0x1)
7733464ebd5Sriastradh#define   C_028D24_PRELOAD                             0xFFFFFFDF
77401e04c3fSmrg#define   S_028D24_PREFETCH_WIDTH(x)                   (((unsigned)(x) & 0x3F) << 6)
7753464ebd5Sriastradh#define   G_028D24_PREFETCH_WIDTH(x)                   (((x) >> 6) & 0x3F)
7763464ebd5Sriastradh#define   C_028D24_PREFETCH_WIDTH                      0xFFFFF03F
77701e04c3fSmrg#define   S_028D24_PREFETCH_HEIGHT(x)                  (((unsigned)(x) & 0x3F) << 12)
7783464ebd5Sriastradh#define   G_028D24_PREFETCH_HEIGHT(x)                  (((x) >> 12) & 0x3F)
7793464ebd5Sriastradh#define   C_028D24_PREFETCH_HEIGHT                     0xFFFC0FFF
7803464ebd5Sriastradh#define R_028D34_DB_PREFETCH_LIMIT                   0x028D34
78101e04c3fSmrg#define   S_028D34_DEPTH_HEIGHT_TILE_MAX(x)            (((unsigned)(x) & 0x3FF) << 0)
7823464ebd5Sriastradh#define   G_028D34_DEPTH_HEIGHT_TILE_MAX(x)            (((x) >> 0) & 0x3FF)
7833464ebd5Sriastradh#define   C_028D34_DEPTH_HEIGHT_TILE_MAX               0xFFFFFC00
7843464ebd5Sriastradh#define R_028D0C_DB_RENDER_CONTROL                   0x028D0C
78501e04c3fSmrg#define   S_028D0C_DEPTH_CLEAR_ENABLE(x)               (((unsigned)(x) & 0x1) << 0)
78601e04c3fSmrg#define   S_028D0C_STENCIL_CLEAR_ENABLE(x)             (((unsigned)(x) & 0x1) << 1)
78701e04c3fSmrg#define   S_028D0C_DEPTH_COPY_ENABLE(x)                (((unsigned)(x) & 0x1) << 2)
78801e04c3fSmrg#define   S_028D0C_STENCIL_COPY_ENABLE(x)              (((unsigned)(x) & 0x1) << 3)
78901e04c3fSmrg#define   S_028D0C_RESUMMARIZE_ENABLE(x)               (((unsigned)(x) & 0x1) << 4)
79001e04c3fSmrg#define   S_028D0C_STENCIL_COMPRESS_DISABLE(x)         (((unsigned)(x) & 0x1) << 5)
79101e04c3fSmrg#define   S_028D0C_DEPTH_COMPRESS_DISABLE(x)           (((unsigned)(x) & 0x1) << 6)
79201e04c3fSmrg#define   S_028D0C_COPY_CENTROID(x)                    (((unsigned)(x) & 0x1) << 7)
79301e04c3fSmrg#define   S_028D0C_COPY_SAMPLE(x)                      (((unsigned)(x) & 0x03) << 8)
79401e04c3fSmrg#define   S_028D0C_ZPASS_INCREMENT_DISABLE(x)          (((unsigned)(x) & 0x1) << 11)
79501e04c3fSmrg#define   S_028D0C_R700_PERFECT_ZPASS_COUNTS(x)        (((unsigned)(x) & 0x1) << 15)
79601e04c3fSmrg#define   S_028D0C_CONSERVATIVE_Z_EXPORT(x)            (((unsigned)(x) & 0x03) << 13)
79701e04c3fSmrg#define   G_028D0C_CONSERVATIVE_Z_EXPORT(x)            (((x) >> 13) & 0x03)
79801e04c3fSmrg#define   C_028D0C_CONSERVATIVE_Z_EXPORT               0xFFFF9FFF
79901e04c3fSmrg#define     V_028D0C_EXPORT_ANY_Z                      0
80001e04c3fSmrg#define     V_028D0C_EXPORT_LESS_THAN_Z                1
80101e04c3fSmrg#define     V_028D0C_EXPORT_GREATER_THAN_Z             2
80201e04c3fSmrg#define     V_028D0C_EXPORT_RESERVED                   3
80301e04c3fSmrg
8043464ebd5Sriastradh#define R_028D10_DB_RENDER_OVERRIDE                  0x028D10
8053464ebd5Sriastradh#define   V_028D10_FORCE_OFF                         0
8063464ebd5Sriastradh#define   V_028D10_FORCE_ENABLE                      1
8073464ebd5Sriastradh#define   V_028D10_FORCE_DISABLE                     2
80801e04c3fSmrg#define   S_028D10_FORCE_HIZ_ENABLE(x)                 (((unsigned)(x) & 0x3) << 0)
8093464ebd5Sriastradh#define   G_028D10_FORCE_HIZ_ENABLE(x)                 (((x) >> 0) & 0x3)
8103464ebd5Sriastradh#define   C_028D10_FORCE_HIZ_ENABLE                    0xFFFFFFFC
81101e04c3fSmrg#define   S_028D10_FORCE_HIS_ENABLE0(x)                (((unsigned)(x) & 0x3) << 2)
8123464ebd5Sriastradh#define   G_028D10_FORCE_HIS_ENABLE0(x)                (((x) >> 2) & 0x3)
8133464ebd5Sriastradh#define   C_028D10_FORCE_HIS_ENABLE0                   0xFFFFFFF3
81401e04c3fSmrg#define   S_028D10_FORCE_HIS_ENABLE1(x)                (((unsigned)(x) & 0x3) << 4)
8153464ebd5Sriastradh#define   G_028D10_FORCE_HIS_ENABLE1(x)                (((x) >> 4) & 0x3)
8163464ebd5Sriastradh#define   C_028D10_FORCE_HIS_ENABLE1                   0xFFFFFFCF
81701e04c3fSmrg#define   S_028D10_FORCE_SHADER_Z_ORDER(x)             (((unsigned)(x) & 0x1) << 6)
8183464ebd5Sriastradh#define   G_028D10_FORCE_SHADER_Z_ORDER(x)             (((x) >> 6) & 0x1)
8193464ebd5Sriastradh#define   C_028D10_FORCE_SHADER_Z_ORDER                0xFFFFFFBF
82001e04c3fSmrg#define   S_028D10_FAST_Z_DISABLE(x)                   (((unsigned)(x) & 0x1) << 7)
8213464ebd5Sriastradh#define   G_028D10_FAST_Z_DISABLE(x)                   (((x) >> 7) & 0x1)
8223464ebd5Sriastradh#define   C_028D10_FAST_Z_DISABLE                      0xFFFFFF7F
82301e04c3fSmrg#define   S_028D10_FAST_STENCIL_DISABLE(x)             (((unsigned)(x) & 0x1) << 8)
8243464ebd5Sriastradh#define   G_028D10_FAST_STENCIL_DISABLE(x)             (((x) >> 8) & 0x1)
8253464ebd5Sriastradh#define   C_028D10_FAST_STENCIL_DISABLE                0xFFFFFEFF
82601e04c3fSmrg#define   S_028D10_NOOP_CULL_DISABLE(x)                (((unsigned)(x) & 0x1) << 9)
8273464ebd5Sriastradh#define   G_028D10_NOOP_CULL_DISABLE(x)                (((x) >> 9) & 0x1)
8283464ebd5Sriastradh#define   C_028D10_NOOP_CULL_DISABLE                   0xFFFFFDFF
82901e04c3fSmrg#define   S_028D10_FORCE_COLOR_KILL(x)                 (((unsigned)(x) & 0x1) << 10)
8303464ebd5Sriastradh#define   G_028D10_FORCE_COLOR_KILL(x)                 (((x) >> 10) & 0x1)
8313464ebd5Sriastradh#define   C_028D10_FORCE_COLOR_KILL                    0xFFFFFBFF
83201e04c3fSmrg#define   S_028D10_FORCE_Z_READ(x)                     (((unsigned)(x) & 0x1) << 11)
8333464ebd5Sriastradh#define   G_028D10_FORCE_Z_READ(x)                     (((x) >> 11) & 0x1)
8343464ebd5Sriastradh#define   C_028D10_FORCE_Z_READ                        0xFFFFF7FF
83501e04c3fSmrg#define   S_028D10_FORCE_STENCIL_READ(x)               (((unsigned)(x) & 0x1) << 12)
8363464ebd5Sriastradh#define   G_028D10_FORCE_STENCIL_READ(x)               (((x) >> 12) & 0x1)
8373464ebd5Sriastradh#define   C_028D10_FORCE_STENCIL_READ                  0xFFFFEFFF
83801e04c3fSmrg#define   S_028D10_FORCE_FULL_Z_RANGE(x)               (((unsigned)(x) & 0x3) << 13)
8393464ebd5Sriastradh#define   G_028D10_FORCE_FULL_Z_RANGE(x)               (((x) >> 13) & 0x3)
8403464ebd5Sriastradh#define   C_028D10_FORCE_FULL_Z_RANGE                  0xFFFF9FFF
84101e04c3fSmrg#define   S_028D10_FORCE_QC_SMASK_CONFLICT(x)          (((unsigned)(x) & 0x1) << 15)
8423464ebd5Sriastradh#define   G_028D10_FORCE_QC_SMASK_CONFLICT(x)          (((x) >> 15) & 0x1)
8433464ebd5Sriastradh#define   C_028D10_FORCE_QC_SMASK_CONFLICT             0xFFFF7FFF
84401e04c3fSmrg#define   S_028D10_DISABLE_VIEWPORT_CLAMP(x)           (((unsigned)(x) & 0x1) << 16)
8453464ebd5Sriastradh#define   G_028D10_DISABLE_VIEWPORT_CLAMP(x)           (((x) >> 16) & 0x1)
8463464ebd5Sriastradh#define   C_028D10_DISABLE_VIEWPORT_CLAMP              0xFFFEFFFF
84701e04c3fSmrg#define   S_028D10_IGNORE_SC_ZRANGE(x)                 (((unsigned)(x) & 0x1) << 17)
8483464ebd5Sriastradh#define   G_028D10_IGNORE_SC_ZRANGE(x)                 (((x) >> 17) & 0x1)
8493464ebd5Sriastradh#define   C_028D10_IGNORE_SC_ZRANGE                    0xFFFDFFFF
85001e04c3fSmrg#define   S_028D10_MAX_TILES_IN_DTT(x)                 (((unsigned)(x) & 0x1F) << 21)
851af69d88dSmrg#define   G_028D10_MAX_TILES_IN_DTT(x)                 (((x) >> 21) & 0x1F)
852af69d88dSmrg#define   C_028D10_MAX_TILES_IN_DTT                    0xFC1FFFFF
8533464ebd5Sriastradh#define R_02880C_DB_SHADER_CONTROL                    0x02880C
85401e04c3fSmrg#define   S_02880C_Z_EXPORT_ENABLE(x)                  (((unsigned)(x) & 0x1) << 0)
8553464ebd5Sriastradh#define   G_02880C_Z_EXPORT_ENABLE(x)                  (((x) >> 0) & 0x1)
8563464ebd5Sriastradh#define   C_02880C_Z_EXPORT_ENABLE                     0xFFFFFFFE
85701e04c3fSmrg#define   S_02880C_STENCIL_REF_EXPORT_ENABLE(x)        (((unsigned)(x) & 0x1) << 1)
8583464ebd5Sriastradh#define   G_02880C_STENCIL_REF_EXPORT_ENABLE(x)        (((x) >> 1) & 0x1)
8593464ebd5Sriastradh#define   C_02880C_STENCIL_REF_EXPORT_ENABLE           0xFFFFFFFD
86001e04c3fSmrg#define   S_02880C_Z_ORDER(x)                          (((unsigned)(x) & 0x3) << 4)
8613464ebd5Sriastradh#define   G_02880C_Z_ORDER(x)                          (((x) >> 4) & 0x3)
8623464ebd5Sriastradh#define   C_02880C_Z_ORDER                             0xFFFFFCFF
8633464ebd5Sriastradh#define     V_02880C_LATE_Z                            0
8643464ebd5Sriastradh#define     V_02880C_EARLY_Z_THEN_LATE_Z               1
8653464ebd5Sriastradh#define     V_02880C_RE_Z                              2
8663464ebd5Sriastradh#define     V_02880C_EARLY_Z_THEN_RE_Z                 3
86701e04c3fSmrg#define   S_02880C_KILL_ENABLE(x)                      (((unsigned)(x) & 0x1) << 6)
8683464ebd5Sriastradh#define   G_02880C_KILL_ENABLE(x)                      (((x) >> 6) & 0x1)
8693464ebd5Sriastradh#define   C_02880C_KILL_ENABLE                         0xFFFFFFBF
87001e04c3fSmrg#define   S_02880C_MASK_EXPORT_ENABLE(x)               (((unsigned)(x) & 0x1) << 8)
87101e04c3fSmrg#define   G_02880C_MASK_EXPORT_ENABLE(x)               (((x) >> 8) & 0x1)
87201e04c3fSmrg#define   C_02880C_MASK_EXPORT_ENABLE                  0xFFFFFEFF
87301e04c3fSmrg#define   S_02880C_DUAL_EXPORT_ENABLE(x)               (((unsigned)(x) & 0x1) << 9)
8743464ebd5Sriastradh#define   G_02880C_DUAL_EXPORT_ENABLE(x)               (((x) >> 9) & 0x1)
8753464ebd5Sriastradh#define   C_02880C_DUAL_EXPORT_ENABLE                  0xFFFFFDFF
8763464ebd5Sriastradh#define R_028DF8_PA_SU_POLY_OFFSET_DB_FMT_CNTL       0x028DF8
87701e04c3fSmrg#define   S_028DF8_POLY_OFFSET_NEG_NUM_DB_BITS(x)      (((unsigned)(x) & 0xFF) << 0)
8783464ebd5Sriastradh#define   G_028DF8_POLY_OFFSET_NEG_NUM_DB_BITS(x)      (((x) >> 0) & 0xFF)
8793464ebd5Sriastradh#define   C_028DF8_POLY_OFFSET_NEG_NUM_DB_BITS         0xFFFFFF00
88001e04c3fSmrg#define   S_028DF8_POLY_OFFSET_DB_IS_FLOAT_FMT(x)      (((unsigned)(x) & 0x1) << 8)
8813464ebd5Sriastradh#define   G_028DF8_POLY_OFFSET_DB_IS_FLOAT_FMT(x)      (((x) >> 8) & 0x1)
8823464ebd5Sriastradh#define   C_028DF8_POLY_OFFSET_DB_IS_FLOAT_FMT         0xFFFFFEFF
8833464ebd5Sriastradh#define R_028E00_PA_SU_POLY_OFFSET_FRONT_SCALE       0x028E00
88401e04c3fSmrg#define   S_028E00_SCALE(x)                            (((unsigned)(x) & 0xFFFFFFFF) << 0)
8853464ebd5Sriastradh#define   G_028E00_SCALE(x)                            (((x) >> 0) & 0xFFFFFFFF)
8863464ebd5Sriastradh#define   C_028E00_SCALE                               0x00000000
8873464ebd5Sriastradh#define R_028E04_PA_SU_POLY_OFFSET_FRONT_OFFSET      0x028E04
88801e04c3fSmrg#define   S_028E04_OFFSET(x)                           (((unsigned)(x) & 0xFFFFFFFF) << 0)
8893464ebd5Sriastradh#define   G_028E04_OFFSET(x)                           (((x) >> 0) & 0xFFFFFFFF)
8903464ebd5Sriastradh#define   C_028E04_OFFSET                              0x00000000
8913464ebd5Sriastradh#define R_028E08_PA_SU_POLY_OFFSET_BACK_SCALE        0x028E08
89201e04c3fSmrg#define   S_028E08_SCALE(x)                            (((unsigned)(x) & 0xFFFFFFFF) << 0)
8933464ebd5Sriastradh#define   G_028E08_SCALE(x)                            (((x) >> 0) & 0xFFFFFFFF)
8943464ebd5Sriastradh#define   C_028E08_SCALE                               0x00000000
8953464ebd5Sriastradh#define R_028E0C_PA_SU_POLY_OFFSET_BACK_OFFSET       0x028E0C
89601e04c3fSmrg#define   S_028E0C_OFFSET(x)                           (((unsigned)(x) & 0xFFFFFFFF) << 0)
8973464ebd5Sriastradh#define   G_028E0C_OFFSET(x)                           (((x) >> 0) & 0xFFFFFFFF)
8983464ebd5Sriastradh#define   C_028E0C_OFFSET                              0x00000000
8993464ebd5Sriastradh#define R_028A00_PA_SU_POINT_SIZE                    0x028A00
90001e04c3fSmrg#define   S_028A00_HEIGHT(x)                           (((unsigned)(x) & 0xFFFF) << 0)
9013464ebd5Sriastradh#define   G_028A00_HEIGHT(x)                           (((x) >> 0) & 0xFFFF)
9023464ebd5Sriastradh#define   C_028A00_HEIGHT                              0xFFFF0000
90301e04c3fSmrg#define   S_028A00_WIDTH(x)                            (((unsigned)(x) & 0xFFFF) << 16)
9043464ebd5Sriastradh#define   G_028A00_WIDTH(x)                            (((x) >> 16) & 0xFFFF)
9053464ebd5Sriastradh#define   C_028A00_WIDTH                               0x0000FFFF
906af69d88dSmrg#define R_028A0C_PA_SC_LINE_STIPPLE                  0x028A0C
90701e04c3fSmrg#define   S_028A0C_LINE_PATTERN(x)                     (((unsigned)(x) & 0xFFFF) << 0)
90801e04c3fSmrg#define   S_028A0C_REPEAT_COUNT(x)                     (((unsigned)(x) & 0xFF) << 16)
90901e04c3fSmrg#define   S_028A0C_PATTERN_BIT_ORDER(x)                (((unsigned)(x) & 0x1) << 28)
91001e04c3fSmrg#define   S_028A0C_AUTO_RESET_CNTL(x)                  (((unsigned)(x) & 0x3) << 29)
9113464ebd5Sriastradh#define R_028A40_VGT_GS_MODE                         0x028A40
91201e04c3fSmrg#define   S_028A40_MODE(x)                             (((unsigned)(x) & 0x3) << 0)
9133464ebd5Sriastradh#define   G_028A40_MODE(x)                             (((x) >> 0) & 0x3)
9143464ebd5Sriastradh#define   C_028A40_MODE                                0xFFFFFFFC
91501e04c3fSmrg#define   S_028A40_ES_PASSTHRU(x)                      (((unsigned)(x) & 0x1) << 2)
9163464ebd5Sriastradh#define   G_028A40_ES_PASSTHRU(x)                      (((x) >> 2) & 0x1)
9173464ebd5Sriastradh#define   C_028A40_ES_PASSTHRU                         0xFFFFFFFB
91801e04c3fSmrg#define   S_028A40_CUT_MODE(x)                         (((unsigned)(x) & 0x3) << 3)
9193464ebd5Sriastradh#define   G_028A40_CUT_MODE(x)                         (((x) >> 3) & 0x3)
9203464ebd5Sriastradh#define   C_028A40_CUT_MODE                            0xFFFFFFE7
92101e04c3fSmrg#define R_028A50_VGT_ENHANCE                         0x028A50
922af69d88dSmrg#define R_028A6C_VGT_GS_OUT_PRIM_TYPE                0x028A6C
92301e04c3fSmrg#define   S_028A6C_OUTPRIM_TYPE(x)                     (((unsigned)(x) & 0x3F) << 0)
924af69d88dSmrg#define     V_028A6C_OUTPRIM_TYPE_POINTLIST            0
925af69d88dSmrg#define     V_028A6C_OUTPRIM_TYPE_LINESTRIP            1
926af69d88dSmrg#define     V_028A6C_OUTPRIM_TYPE_TRISTRIP             2
9273464ebd5Sriastradh#define R_008040_WAIT_UNTIL                          0x008040
92801e04c3fSmrg#define   S_008040_WAIT_CP_DMA_IDLE(x)                 (((unsigned)(x) & 0x1) << 8)
9293464ebd5Sriastradh#define   G_008040_WAIT_CP_DMA_IDLE(x)                 (((x) >> 8) & 0x1)
9303464ebd5Sriastradh#define   C_008040_WAIT_CP_DMA_IDLE                    0xFFFFFEFF
93101e04c3fSmrg#define   S_008040_WAIT_CMDFIFO(x)                     (((unsigned)(x) & 0x1) << 10)
9323464ebd5Sriastradh#define   G_008040_WAIT_CMDFIFO(x)                     (((x) >> 10) & 0x1)
9333464ebd5Sriastradh#define   C_008040_WAIT_CMDFIFO                        0xFFFFFBFF
93401e04c3fSmrg#define   S_008040_WAIT_2D_IDLE(x)                     (((unsigned)(x) & 0x1) << 14)
9353464ebd5Sriastradh#define   G_008040_WAIT_2D_IDLE(x)                     (((x) >> 14) & 0x1)
9363464ebd5Sriastradh#define   C_008040_WAIT_2D_IDLE                        0xFFFFBFFF
93701e04c3fSmrg#define   S_008040_WAIT_3D_IDLE(x)                     (((unsigned)(x) & 0x1) << 15)
9383464ebd5Sriastradh#define   G_008040_WAIT_3D_IDLE(x)                     (((x) >> 15) & 0x1)
9393464ebd5Sriastradh#define   C_008040_WAIT_3D_IDLE                        0xFFFF7FFF
94001e04c3fSmrg#define   S_008040_WAIT_2D_IDLECLEAN(x)                (((unsigned)(x) & 0x1) << 16)
9413464ebd5Sriastradh#define   G_008040_WAIT_2D_IDLECLEAN(x)                (((x) >> 16) & 0x1)
9423464ebd5Sriastradh#define   C_008040_WAIT_2D_IDLECLEAN                   0xFFFEFFFF
94301e04c3fSmrg#define   S_008040_WAIT_3D_IDLECLEAN(x)                (((unsigned)(x) & 0x1) << 17)
9443464ebd5Sriastradh#define   G_008040_WAIT_3D_IDLECLEAN(x)                (((x) >> 17) & 0x1)
9453464ebd5Sriastradh#define   C_008040_WAIT_3D_IDLECLEAN                   0xFFFDFFFF
94601e04c3fSmrg#define   S_008040_WAIT_EXTERN_SIG(x)                  (((unsigned)(x) & 0x1) << 19)
9473464ebd5Sriastradh#define   G_008040_WAIT_EXTERN_SIG(x)                  (((x) >> 19) & 0x1)
9483464ebd5Sriastradh#define   C_008040_WAIT_EXTERN_SIG                     0xFFF7FFFF
94901e04c3fSmrg#define   S_008040_CMDFIFO_ENTRIES(x)                  (((unsigned)(x) & 0x1F) << 20)
9503464ebd5Sriastradh#define   G_008040_CMDFIFO_ENTRIES(x)                  (((x) >> 20) & 0x1F)
9513464ebd5Sriastradh#define   C_008040_CMDFIFO_ENTRIES                     0xFE0FFFFF
9523464ebd5Sriastradh#define R_0286CC_SPI_PS_IN_CONTROL_0                 0x0286CC
95301e04c3fSmrg#define   S_0286CC_NUM_INTERP(x)                       (((unsigned)(x) & 0x3F) << 0)
9543464ebd5Sriastradh#define   G_0286CC_NUM_INTERP(x)                       (((x) >> 0) & 0x3F)
9553464ebd5Sriastradh#define   C_0286CC_NUM_INTERP                          0xFFFFFFC0
95601e04c3fSmrg#define   S_0286CC_POSITION_ENA(x)                     (((unsigned)(x) & 0x1) << 8)
9573464ebd5Sriastradh#define   G_0286CC_POSITION_ENA(x)                     (((x) >> 8) & 0x1)
9583464ebd5Sriastradh#define   C_0286CC_POSITION_ENA                        0xFFFFFEFF
95901e04c3fSmrg#define   S_0286CC_POSITION_CENTROID(x)                (((unsigned)(x) & 0x1) << 9)
9603464ebd5Sriastradh#define   G_0286CC_POSITION_CENTROID(x)                (((x) >> 9) & 0x1)
9613464ebd5Sriastradh#define   C_0286CC_POSITION_CENTROID                   0xFFFFFDFF
96201e04c3fSmrg#define   S_0286CC_POSITION_ADDR(x)                    (((unsigned)(x) & 0x1F) << 10)
9633464ebd5Sriastradh#define   G_0286CC_POSITION_ADDR(x)                    (((x) >> 10) & 0x1F)
9643464ebd5Sriastradh#define   C_0286CC_POSITION_ADDR                       0xFFFF83FF
96501e04c3fSmrg#define   S_0286CC_PARAM_GEN(x)                        (((unsigned)(x) & 0xF) << 15)
9663464ebd5Sriastradh#define   G_0286CC_PARAM_GEN(x)                        (((x) >> 15) & 0xF)
9673464ebd5Sriastradh#define   C_0286CC_PARAM_GEN                           0xFFF87FFF
96801e04c3fSmrg#define   S_0286CC_PARAM_GEN_ADDR(x)                   (((unsigned)(x) & 0x7F) << 19)
9693464ebd5Sriastradh#define   G_0286CC_PARAM_GEN_ADDR(x)                   (((x) >> 19) & 0x7F)
9703464ebd5Sriastradh#define   C_0286CC_PARAM_GEN_ADDR                      0xFC07FFFF
97101e04c3fSmrg#define   S_0286CC_BARYC_SAMPLE_CNTL(x)                (((unsigned)(x) & 0x3) << 26)
9723464ebd5Sriastradh#define   G_0286CC_BARYC_SAMPLE_CNTL(x)                (((x) >> 26) & 0x3)
9733464ebd5Sriastradh#define   C_0286CC_BARYC_SAMPLE_CNTL                   0xF3FFFFFF
97401e04c3fSmrg#define   S_0286CC_PERSP_GRADIENT_ENA(x)               (((unsigned)(x) & 0x1) << 28)
9753464ebd5Sriastradh#define   G_0286CC_PERSP_GRADIENT_ENA(x)               (((x) >> 28) & 0x1)
9763464ebd5Sriastradh#define   C_0286CC_PERSP_GRADIENT_ENA                  0xEFFFFFFF
97701e04c3fSmrg#define   S_0286CC_LINEAR_GRADIENT_ENA(x)              (((unsigned)(x) & 0x1) << 29)
9783464ebd5Sriastradh#define   G_0286CC_LINEAR_GRADIENT_ENA(x)              (((x) >> 29) & 0x1)
9793464ebd5Sriastradh#define   C_0286CC_LINEAR_GRADIENT_ENA                 0xDFFFFFFF
98001e04c3fSmrg#define   S_0286CC_POSITION_SAMPLE(x)                  (((unsigned)(x) & 0x1) << 30)
9813464ebd5Sriastradh#define   G_0286CC_POSITION_SAMPLE(x)                  (((x) >> 30) & 0x1)
9823464ebd5Sriastradh#define   C_0286CC_POSITION_SAMPLE                     0xBFFFFFFF
98301e04c3fSmrg#define   S_0286CC_BARYC_AT_SAMPLE_ENA(x)              (((unsigned)(x) & 0x1) << 31)
9843464ebd5Sriastradh#define   G_0286CC_BARYC_AT_SAMPLE_ENA(x)              (((x) >> 31) & 0x1)
9853464ebd5Sriastradh#define   C_0286CC_BARYC_AT_SAMPLE_ENA                 0x7FFFFFFF
9863464ebd5Sriastradh#define R_0286D0_SPI_PS_IN_CONTROL_1                 0x0286D0
98701e04c3fSmrg#define   S_0286D0_GEN_INDEX_PIX(x)                    (((unsigned)(x) & 0x1) << 0)
9883464ebd5Sriastradh#define   G_0286D0_GEN_INDEX_PIX(x)                    (((x) >> 0) & 0x1)
9893464ebd5Sriastradh#define   C_0286D0_GEN_INDEX_PIX                       0xFFFFFFFE
99001e04c3fSmrg#define   S_0286D0_GEN_INDEX_PIX_ADDR(x)               (((unsigned)(x) & 0x7F) << 1)
9913464ebd5Sriastradh#define   G_0286D0_GEN_INDEX_PIX_ADDR(x)               (((x) >> 1) & 0x7F)
9923464ebd5Sriastradh#define   C_0286D0_GEN_INDEX_PIX_ADDR                  0xFFFFFF01
99301e04c3fSmrg#define   S_0286D0_FRONT_FACE_ENA(x)                   (((unsigned)(x) & 0x1) << 8)
9943464ebd5Sriastradh#define   G_0286D0_FRONT_FACE_ENA(x)                   (((x) >> 8) & 0x1)
9953464ebd5Sriastradh#define   C_0286D0_FRONT_FACE_ENA                      0xFFFFFEFF
99601e04c3fSmrg#define   S_0286D0_FRONT_FACE_CHAN(x)                  (((unsigned)(x) & 0x3) << 9)
9973464ebd5Sriastradh#define   G_0286D0_FRONT_FACE_CHAN(x)                  (((x) >> 9) & 0x3)
9983464ebd5Sriastradh#define   C_0286D0_FRONT_FACE_CHAN                     0xFFFFF9FF
99901e04c3fSmrg#define   S_0286D0_FRONT_FACE_ALL_BITS(x)              (((unsigned)(x) & 0x1) << 11)
10003464ebd5Sriastradh#define   G_0286D0_FRONT_FACE_ALL_BITS(x)              (((x) >> 11) & 0x1)
10013464ebd5Sriastradh#define   C_0286D0_FRONT_FACE_ALL_BITS                 0xFFFFF7FF
100201e04c3fSmrg#define   S_0286D0_FRONT_FACE_ADDR(x)                  (((unsigned)(x) & 0x1F) << 12)
10033464ebd5Sriastradh#define   G_0286D0_FRONT_FACE_ADDR(x)                  (((x) >> 12) & 0x1F)
10043464ebd5Sriastradh#define   C_0286D0_FRONT_FACE_ADDR                     0xFFFE0FFF
100501e04c3fSmrg#define   S_0286D0_FOG_ADDR(x)                         (((unsigned)(x) & 0x7F) << 17)
10063464ebd5Sriastradh#define   G_0286D0_FOG_ADDR(x)                         (((x) >> 17) & 0x7F)
10073464ebd5Sriastradh#define   C_0286D0_FOG_ADDR                            0xFF01FFFF
100801e04c3fSmrg#define   S_0286D0_FIXED_PT_POSITION_ENA(x)            (((unsigned)(x) & 0x1) << 24)
10093464ebd5Sriastradh#define   G_0286D0_FIXED_PT_POSITION_ENA(x)            (((x) >> 24) & 0x1)
10103464ebd5Sriastradh#define   C_0286D0_FIXED_PT_POSITION_ENA               0xFEFFFFFF
101101e04c3fSmrg#define   S_0286D0_FIXED_PT_POSITION_ADDR(x)           (((unsigned)(x) & 0x1F) << 25)
10123464ebd5Sriastradh#define   G_0286D0_FIXED_PT_POSITION_ADDR(x)           (((x) >> 25) & 0x1F)
10133464ebd5Sriastradh#define   C_0286D0_FIXED_PT_POSITION_ADDR              0xC1FFFFFF
10143464ebd5Sriastradh#define R_0286C4_SPI_VS_OUT_CONFIG                   0x0286C4
101501e04c3fSmrg#define   S_0286C4_VS_PER_COMPONENT(x)                 (((unsigned)(x) & 0x1) << 0)
10163464ebd5Sriastradh#define   G_0286C4_VS_PER_COMPONENT(x)                 (((x) >> 0) & 0x1)
10173464ebd5Sriastradh#define   C_0286C4_VS_PER_COMPONENT                    0xFFFFFFFE
101801e04c3fSmrg#define   S_0286C4_VS_EXPORT_COUNT(x)                  (((unsigned)(x) & 0x1F) << 1)
10193464ebd5Sriastradh#define   G_0286C4_VS_EXPORT_COUNT(x)                  (((x) >> 1) & 0x1F)
10203464ebd5Sriastradh#define   C_0286C4_VS_EXPORT_COUNT                     0xFFFFFFC1
102101e04c3fSmrg#define   S_0286C4_VS_EXPORTS_FOG(x)                   (((unsigned)(x) & 0x1) << 8)
10223464ebd5Sriastradh#define   G_0286C4_VS_EXPORTS_FOG(x)                   (((x) >> 8) & 0x1)
10233464ebd5Sriastradh#define   C_0286C4_VS_EXPORTS_FOG                      0xFFFFFEFF
102401e04c3fSmrg#define   S_0286C4_VS_OUT_FOG_VEC_ADDR(x)              (((unsigned)(x) & 0x1F) << 9)
10253464ebd5Sriastradh#define   G_0286C4_VS_OUT_FOG_VEC_ADDR(x)              (((x) >> 9) & 0x1F)
10263464ebd5Sriastradh#define   C_0286C4_VS_OUT_FOG_VEC_ADDR                 0xFFFFC1FF
10273464ebd5Sriastradh#define R_028240_PA_SC_GENERIC_SCISSOR_TL            0x028240
102801e04c3fSmrg#define   S_028240_TL_X(x)                             (((unsigned)(x) & 0x3FFF) << 0)
10293464ebd5Sriastradh#define   G_028240_TL_X(x)                             (((x) >> 0) & 0x3FFF)
10303464ebd5Sriastradh#define   C_028240_TL_X                                0xFFFFC000
103101e04c3fSmrg#define   S_028240_TL_Y(x)                             (((unsigned)(x) & 0x3FFF) << 16)
10323464ebd5Sriastradh#define   G_028240_TL_Y(x)                             (((x) >> 16) & 0x3FFF)
10333464ebd5Sriastradh#define   C_028240_TL_Y                                0xC000FFFF
103401e04c3fSmrg#define   S_028240_WINDOW_OFFSET_DISABLE(x)            (((unsigned)(x) & 0x1) << 31)
10353464ebd5Sriastradh#define   G_028240_WINDOW_OFFSET_DISABLE(x)            (((x) >> 31) & 0x1)
10363464ebd5Sriastradh#define   C_028240_WINDOW_OFFSET_DISABLE               0x7FFFFFFF
10373464ebd5Sriastradh#define R_028244_PA_SC_GENERIC_SCISSOR_BR            0x028244
103801e04c3fSmrg#define   S_028244_BR_X(x)                             (((unsigned)(x) & 0x3FFF) << 0)
10393464ebd5Sriastradh#define   G_028244_BR_X(x)                             (((x) >> 0) & 0x3FFF)
10403464ebd5Sriastradh#define   C_028244_BR_X                                0xFFFFC000
104101e04c3fSmrg#define   S_028244_BR_Y(x)                             (((unsigned)(x) & 0x3FFF) << 16)
10423464ebd5Sriastradh#define   G_028244_BR_Y(x)                             (((x) >> 16) & 0x3FFF)
10433464ebd5Sriastradh#define   C_028244_BR_Y                                0xC000FFFF
10443464ebd5Sriastradh#define R_028030_PA_SC_SCREEN_SCISSOR_TL             0x028030
104501e04c3fSmrg#define   S_028030_TL_X(x)                             (((unsigned)(x) & 0x7FFF) << 0)
10463464ebd5Sriastradh#define   G_028030_TL_X(x)                             (((x) >> 0) & 0x7FFF)
10473464ebd5Sriastradh#define   C_028030_TL_X                                0xFFFF8000
104801e04c3fSmrg#define   S_028030_TL_Y(x)                             (((unsigned)(x) & 0x7FFF) << 16)
10493464ebd5Sriastradh#define   G_028030_TL_Y(x)                             (((x) >> 16) & 0x7FFF)
10503464ebd5Sriastradh#define   C_028030_TL_Y                                0x8000FFFF
10513464ebd5Sriastradh#define R_028034_PA_SC_SCREEN_SCISSOR_BR             0x028034
105201e04c3fSmrg#define   S_028034_BR_X(x)                             (((unsigned)(x) & 0x7FFF) << 0)
10533464ebd5Sriastradh#define   G_028034_BR_X(x)                             (((x) >> 0) & 0x7FFF)
10543464ebd5Sriastradh#define   C_028034_BR_X                                0xFFFF8000
105501e04c3fSmrg#define   S_028034_BR_Y(x)                             (((unsigned)(x) & 0x7FFF) << 16)
10563464ebd5Sriastradh#define   G_028034_BR_Y(x)                             (((x) >> 16) & 0x7FFF)
10573464ebd5Sriastradh#define   C_028034_BR_Y                                0x8000FFFF
10583464ebd5Sriastradh#define R_028204_PA_SC_WINDOW_SCISSOR_TL             0x028204
105901e04c3fSmrg#define   S_028204_TL_X(x)                             (((unsigned)(x) & 0x3FFF) << 0)
10603464ebd5Sriastradh#define   G_028204_TL_X(x)                             (((x) >> 0) & 0x3FFF)
10613464ebd5Sriastradh#define   C_028204_TL_X                                0xFFFFC000
106201e04c3fSmrg#define   S_028204_TL_Y(x)                             (((unsigned)(x) & 0x3FFF) << 16)
10633464ebd5Sriastradh#define   G_028204_TL_Y(x)                             (((x) >> 16) & 0x3FFF)
10643464ebd5Sriastradh#define   C_028204_TL_Y                                0xC000FFFF
106501e04c3fSmrg#define   S_028204_WINDOW_OFFSET_DISABLE(x)            (((unsigned)(x) & 0x1) << 31)
10663464ebd5Sriastradh#define   G_028204_WINDOW_OFFSET_DISABLE(x)            (((x) >> 31) & 0x1)
10673464ebd5Sriastradh#define   C_028204_WINDOW_OFFSET_DISABLE               0x7FFFFFFF
10683464ebd5Sriastradh#define R_028208_PA_SC_WINDOW_SCISSOR_BR             0x028208
106901e04c3fSmrg#define   S_028208_BR_X(x)                             (((unsigned)(x) & 0x3FFF) << 0)
10703464ebd5Sriastradh#define   G_028208_BR_X(x)                             (((x) >> 0) & 0x3FFF)
10713464ebd5Sriastradh#define   C_028208_BR_X                                0xFFFFC000
107201e04c3fSmrg#define   S_028208_BR_Y(x)                             (((unsigned)(x) & 0x3FFF) << 16)
10733464ebd5Sriastradh#define   G_028208_BR_Y(x)                             (((x) >> 16) & 0x3FFF)
10743464ebd5Sriastradh#define   C_028208_BR_Y                                0xC000FFFF
10753464ebd5Sriastradh#define R_0287F0_VGT_DRAW_INITIATOR                  0x0287F0
107601e04c3fSmrg#define   S_0287F0_SOURCE_SELECT(x)                    (((unsigned)(x) & 0x3) << 0)
10773464ebd5Sriastradh#define   G_0287F0_SOURCE_SELECT(x)                    (((x) >> 0) & 0x3)
10783464ebd5Sriastradh#define   C_0287F0_SOURCE_SELECT                       0xFFFFFFFC
10793464ebd5Sriastradh#define     V_0287F0_DI_SRC_SEL_DMA                    0
1080af69d88dSmrg#define     V_0287F0_DI_SRC_SEL_IMMEDIATE              1
10813464ebd5Sriastradh#define     V_0287F0_DI_SRC_SEL_AUTO_INDEX             2
108201e04c3fSmrg#define   S_0287F0_MAJOR_MODE(x)                       (((unsigned)(x) & 0x3) << 2)
10833464ebd5Sriastradh#define   G_0287F0_MAJOR_MODE(x)                       (((x) >> 2) & 0x3)
10843464ebd5Sriastradh#define   C_0287F0_MAJOR_MODE                          0xFFFFFFF3
108501e04c3fSmrg#define   S_0287F0_SPRITE_EN(x)                        (((unsigned)(x) & 0x1) << 4)
10863464ebd5Sriastradh#define   G_0287F0_SPRITE_EN(x)                        (((x) >> 4) & 0x1)
10873464ebd5Sriastradh#define   C_0287F0_SPRITE_EN                           0xFFFFFFEF
108801e04c3fSmrg#define   S_0287F0_NOT_EOP(x)                          (((unsigned)(x) & 0x1) << 5)
10893464ebd5Sriastradh#define   G_0287F0_NOT_EOP(x)                          (((x) >> 5) & 0x1)
10903464ebd5Sriastradh#define   C_0287F0_NOT_EOP                             0xFFFFFFDF
109101e04c3fSmrg#define   S_0287F0_USE_OPAQUE(x)                       (((unsigned)(x) & 0x1) << 6)
10923464ebd5Sriastradh#define   G_0287F0_USE_OPAQUE(x)                       (((x) >> 6) & 0x1)
10933464ebd5Sriastradh#define   C_0287F0_USE_OPAQUE                          0xFFFFFFBF
10943464ebd5Sriastradh#define R_038000_SQ_TEX_RESOURCE_WORD0_0             0x038000
109501e04c3fSmrg#define   S_038000_DIM(x)                              (((unsigned)(x) & 0x7) << 0)
10963464ebd5Sriastradh#define   G_038000_DIM(x)                              (((x) >> 0) & 0x7)
10973464ebd5Sriastradh#define   C_038000_DIM                                 0xFFFFFFF8
10983464ebd5Sriastradh#define     V_038000_SQ_TEX_DIM_1D                     0x00000000
10993464ebd5Sriastradh#define     V_038000_SQ_TEX_DIM_2D                     0x00000001
11003464ebd5Sriastradh#define     V_038000_SQ_TEX_DIM_3D                     0x00000002
11013464ebd5Sriastradh#define     V_038000_SQ_TEX_DIM_CUBEMAP                0x00000003
11023464ebd5Sriastradh#define     V_038000_SQ_TEX_DIM_1D_ARRAY               0x00000004
11033464ebd5Sriastradh#define     V_038000_SQ_TEX_DIM_2D_ARRAY               0x00000005
11043464ebd5Sriastradh#define     V_038000_SQ_TEX_DIM_2D_MSAA                0x00000006
11053464ebd5Sriastradh#define     V_038000_SQ_TEX_DIM_2D_ARRAY_MSAA          0x00000007
110601e04c3fSmrg#define   S_038000_TILE_MODE(x)                        (((unsigned)(x) & 0xF) << 3)
11073464ebd5Sriastradh#define   G_038000_TILE_MODE(x)                        (((x) >> 3) & 0xF)
11083464ebd5Sriastradh#define   C_038000_TILE_MODE                           0xFFFFFF87
11093464ebd5Sriastradh#define     V_038000_ARRAY_LINEAR_GENERAL              0x00000000
11103464ebd5Sriastradh#define     V_038000_ARRAY_LINEAR_ALIGNED              0x00000001
11113464ebd5Sriastradh#define     V_038000_ARRAY_1D_TILED_THIN1              0x00000002
11123464ebd5Sriastradh#define     V_038000_ARRAY_2D_TILED_THIN1              0x00000004
111301e04c3fSmrg#define   S_038000_TILE_TYPE(x)                        (((unsigned)(x) & 0x1) << 7)
11143464ebd5Sriastradh#define   G_038000_TILE_TYPE(x)                        (((x) >> 7) & 0x1)
11153464ebd5Sriastradh#define   C_038000_TILE_TYPE                           0xFFFFFF7F
111601e04c3fSmrg#define   S_038000_PITCH(x)                            (((unsigned)(x) & 0x7FF) << 8)
11173464ebd5Sriastradh#define   G_038000_PITCH(x)                            (((x) >> 8) & 0x7FF)
11183464ebd5Sriastradh#define   C_038000_PITCH                               0xFFF800FF
111901e04c3fSmrg#define   S_038000_TEX_WIDTH(x)                        (((unsigned)(x) & 0x1FFF) << 19)
11203464ebd5Sriastradh#define   G_038000_TEX_WIDTH(x)                        (((x) >> 19) & 0x1FFF)
11213464ebd5Sriastradh#define   C_038000_TEX_WIDTH                           0x0007FFFF
11223464ebd5Sriastradh#define R_038004_SQ_TEX_RESOURCE_WORD1_0             0x038004
112301e04c3fSmrg#define   S_038004_TEX_HEIGHT(x)                       (((unsigned)(x) & 0x1FFF) << 0)
11243464ebd5Sriastradh#define   G_038004_TEX_HEIGHT(x)                       (((x) >> 0) & 0x1FFF)
11253464ebd5Sriastradh#define   C_038004_TEX_HEIGHT                          0xFFFFE000
112601e04c3fSmrg#define   S_038004_TEX_DEPTH(x)                        (((unsigned)(x) & 0x1FFF) << 13)
11273464ebd5Sriastradh#define   G_038004_TEX_DEPTH(x)                        (((x) >> 13) & 0x1FFF)
11283464ebd5Sriastradh#define   C_038004_TEX_DEPTH                           0xFC001FFF
112901e04c3fSmrg#define   S_038004_DATA_FORMAT(x)                      (((unsigned)(x) & 0x3F) << 26)
11303464ebd5Sriastradh#define   G_038004_DATA_FORMAT(x)                      (((x) >> 26) & 0x3F)
11313464ebd5Sriastradh#define   C_038004_DATA_FORMAT                         0x03FFFFFF
11323464ebd5Sriastradh#define R_038008_SQ_TEX_RESOURCE_WORD2_0             0x038008
113301e04c3fSmrg#define   S_038008_BASE_ADDRESS(x)                     (((unsigned)(x) & 0xFFFFFFFF) << 0)
11343464ebd5Sriastradh#define   G_038008_BASE_ADDRESS(x)                     (((x) >> 0) & 0xFFFFFFFF)
11353464ebd5Sriastradh#define   C_038008_BASE_ADDRESS                        0x00000000
11363464ebd5Sriastradh#define R_03800C_SQ_TEX_RESOURCE_WORD3_0             0x03800C
113701e04c3fSmrg#define   S_03800C_MIP_ADDRESS(x)                      (((unsigned)(x) & 0xFFFFFFFF) << 0)
11383464ebd5Sriastradh#define   G_03800C_MIP_ADDRESS(x)                      (((x) >> 0) & 0xFFFFFFFF)
11393464ebd5Sriastradh#define   C_03800C_MIP_ADDRESS                         0x00000000
11403464ebd5Sriastradh#define R_038010_SQ_TEX_RESOURCE_WORD4_0             0x038010
114101e04c3fSmrg#define   S_038010_FORMAT_COMP_X(x)                    (((unsigned)(x) & 0x3) << 0)
11423464ebd5Sriastradh#define   G_038010_FORMAT_COMP_X(x)                    (((x) >> 0) & 0x3)
11433464ebd5Sriastradh#define   C_038010_FORMAT_COMP_X                       0xFFFFFFFC
11443464ebd5Sriastradh#define     V_038010_SQ_FORMAT_COMP_UNSIGNED           0x00000000
11453464ebd5Sriastradh#define     V_038010_SQ_FORMAT_COMP_SIGNED             0x00000001
11463464ebd5Sriastradh#define     V_038010_SQ_FORMAT_COMP_UNSIGNED_BIASED    0x00000002
114701e04c3fSmrg#define   S_038010_FORMAT_COMP_Y(x)                    (((unsigned)(x) & 0x3) << 2)
11483464ebd5Sriastradh#define   G_038010_FORMAT_COMP_Y(x)                    (((x) >> 2) & 0x3)
11493464ebd5Sriastradh#define   C_038010_FORMAT_COMP_Y                       0xFFFFFFF3
115001e04c3fSmrg#define   S_038010_FORMAT_COMP_Z(x)                    (((unsigned)(x) & 0x3) << 4)
11513464ebd5Sriastradh#define   G_038010_FORMAT_COMP_Z(x)                    (((x) >> 4) & 0x3)
11523464ebd5Sriastradh#define   C_038010_FORMAT_COMP_Z                       0xFFFFFFCF
115301e04c3fSmrg#define   S_038010_FORMAT_COMP_W(x)                    (((unsigned)(x) & 0x3) << 6)
11543464ebd5Sriastradh#define   G_038010_FORMAT_COMP_W(x)                    (((x) >> 6) & 0x3)
11553464ebd5Sriastradh#define   C_038010_FORMAT_COMP_W                       0xFFFFFF3F
115601e04c3fSmrg#define   S_038010_NUM_FORMAT_ALL(x)                   (((unsigned)(x) & 0x3) << 8)
11573464ebd5Sriastradh#define   G_038010_NUM_FORMAT_ALL(x)                   (((x) >> 8) & 0x3)
11583464ebd5Sriastradh#define   C_038010_NUM_FORMAT_ALL                      0xFFFFFCFF
11593464ebd5Sriastradh#define     V_038010_SQ_NUM_FORMAT_NORM                0x00000000
11603464ebd5Sriastradh#define     V_038010_SQ_NUM_FORMAT_INT                 0x00000001
11613464ebd5Sriastradh#define     V_038010_SQ_NUM_FORMAT_SCALED              0x00000002
116201e04c3fSmrg#define   S_038010_SRF_MODE_ALL(x)                     (((unsigned)(x) & 0x1) << 10)
11633464ebd5Sriastradh#define   G_038010_SRF_MODE_ALL(x)                     (((x) >> 10) & 0x1)
11643464ebd5Sriastradh#define   C_038010_SRF_MODE_ALL                        0xFFFFFBFF
11653464ebd5Sriastradh#define     V_038010_SRF_MODE_ZERO_CLAMP_MINUS_ONE     0x00000000
11663464ebd5Sriastradh#define     V_038010_SRF_MODE_NO_ZERO                  0x00000001
116701e04c3fSmrg#define   S_038010_FORCE_DEGAMMA(x)                    (((unsigned)(x) & 0x1) << 11)
11683464ebd5Sriastradh#define   G_038010_FORCE_DEGAMMA(x)                    (((x) >> 11) & 0x1)
11693464ebd5Sriastradh#define   C_038010_FORCE_DEGAMMA                       0xFFFFF7FF
117001e04c3fSmrg#define   S_038010_ENDIAN_SWAP(x)                      (((unsigned)(x) & 0x3) << 12)
11713464ebd5Sriastradh#define   G_038010_ENDIAN_SWAP(x)                      (((x) >> 12) & 0x3)
11723464ebd5Sriastradh#define   C_038010_ENDIAN_SWAP                         0xFFFFCFFF
117301e04c3fSmrg#define   S_038010_REQUEST_SIZE(x)                     (((unsigned)(x) & 0x3) << 14)
11743464ebd5Sriastradh#define   G_038010_REQUEST_SIZE(x)                     (((x) >> 14) & 0x3)
11753464ebd5Sriastradh#define   C_038010_REQUEST_SIZE                        0xFFFF3FFF
117601e04c3fSmrg#define   S_038010_DST_SEL_X(x)                        (((unsigned)(x) & 0x7) << 16)
11773464ebd5Sriastradh#define   G_038010_DST_SEL_X(x)                        (((x) >> 16) & 0x7)
11783464ebd5Sriastradh#define   C_038010_DST_SEL_X                           0xFFF8FFFF
11793464ebd5Sriastradh#define     V_038010_SQ_SEL_X                          0x00000000
11803464ebd5Sriastradh#define     V_038010_SQ_SEL_Y                          0x00000001
11813464ebd5Sriastradh#define     V_038010_SQ_SEL_Z                          0x00000002
11823464ebd5Sriastradh#define     V_038010_SQ_SEL_W                          0x00000003
11833464ebd5Sriastradh#define     V_038010_SQ_SEL_0                          0x00000004
11843464ebd5Sriastradh#define     V_038010_SQ_SEL_1                          0x00000005
118501e04c3fSmrg#define   S_038010_DST_SEL_Y(x)                        (((unsigned)(x) & 0x7) << 19)
11863464ebd5Sriastradh#define   G_038010_DST_SEL_Y(x)                        (((x) >> 19) & 0x7)
11873464ebd5Sriastradh#define   C_038010_DST_SEL_Y                           0xFFC7FFFF
118801e04c3fSmrg#define   S_038010_DST_SEL_Z(x)                        (((unsigned)(x) & 0x7) << 22)
11893464ebd5Sriastradh#define   G_038010_DST_SEL_Z(x)                        (((x) >> 22) & 0x7)
11903464ebd5Sriastradh#define   C_038010_DST_SEL_Z                           0xFE3FFFFF
119101e04c3fSmrg#define   S_038010_DST_SEL_W(x)                        (((unsigned)(x) & 0x7) << 25)
11923464ebd5Sriastradh#define   G_038010_DST_SEL_W(x)                        (((x) >> 25) & 0x7)
11933464ebd5Sriastradh#define   C_038010_DST_SEL_W                           0xF1FFFFFF
119401e04c3fSmrg#define   S_038010_BASE_LEVEL(x)                       (((unsigned)(x) & 0xF) << 28)
11953464ebd5Sriastradh#define   G_038010_BASE_LEVEL(x)                       (((x) >> 28) & 0xF)
11963464ebd5Sriastradh#define   C_038010_BASE_LEVEL                          0x0FFFFFFF
11973464ebd5Sriastradh#define R_038014_SQ_TEX_RESOURCE_WORD5_0             0x038014
119801e04c3fSmrg#define   S_038014_LAST_LEVEL(x)                       (((unsigned)(x) & 0xF) << 0)
11993464ebd5Sriastradh#define   G_038014_LAST_LEVEL(x)                       (((x) >> 0) & 0xF)
12003464ebd5Sriastradh#define   C_038014_LAST_LEVEL                          0xFFFFFFF0
120101e04c3fSmrg#define   S_038014_BASE_ARRAY(x)                       (((unsigned)(x) & 0x1FFF) << 4)
12023464ebd5Sriastradh#define   G_038014_BASE_ARRAY(x)                       (((x) >> 4) & 0x1FFF)
12033464ebd5Sriastradh#define   C_038014_BASE_ARRAY                          0xFFFE000F
120401e04c3fSmrg#define   S_038014_LAST_ARRAY(x)                       (((unsigned)(x) & 0x1FFF) << 17)
12053464ebd5Sriastradh#define   G_038014_LAST_ARRAY(x)                       (((x) >> 17) & 0x1FFF)
12063464ebd5Sriastradh#define   C_038014_LAST_ARRAY                          0xC001FFFF
12073464ebd5Sriastradh#define R_038018_SQ_TEX_RESOURCE_WORD6_0             0x038018
120801e04c3fSmrg#define   S_038018_MPEG_CLAMP(x)                       (((unsigned)(x) & 0x3) << 0)
12093464ebd5Sriastradh#define   G_038018_MPEG_CLAMP(x)                       (((x) >> 0) & 0x3)
12103464ebd5Sriastradh#define   C_038018_MPEG_CLAMP                          0xFFFFFFFC
121101e04c3fSmrg#define   S_038018_MAX_ANISO(x)                        (((unsigned)(x) & 0x7) << 2)
12123464ebd5Sriastradh#define   G_038018_MAX_ANISO(x)                        (((x) >> 2) & 0x7)
12133464ebd5Sriastradh#define   C_038018_MAX_ANISO                           0xFFFFFFE3
121401e04c3fSmrg#define   S_038018_PERF_MODULATION(x)                  (((unsigned)(x) & 0x7) << 5)
12153464ebd5Sriastradh#define   G_038018_PERF_MODULATION(x)                  (((x) >> 5) & 0x7)
12163464ebd5Sriastradh#define   C_038018_PERF_MODULATION                     0xFFFFFF1F
121701e04c3fSmrg#define   S_038018_INTERLACED(x)                       (((unsigned)(x) & 0x1) << 8)
12183464ebd5Sriastradh#define   G_038018_INTERLACED(x)                       (((x) >> 8) & 0x1)
12193464ebd5Sriastradh#define   C_038018_INTERLACED                          0xFFFFFEFF
122001e04c3fSmrg#define   S_038018_TYPE(x)                             (((unsigned)(x) & 0x3) << 30)
12213464ebd5Sriastradh#define   G_038018_TYPE(x)                             (((x) >> 30) & 0x3)
12223464ebd5Sriastradh#define   C_038018_TYPE                                0x3FFFFFFF
12233464ebd5Sriastradh#define     V_038010_SQ_TEX_VTX_INVALID_TEXTURE        0x00000000
12243464ebd5Sriastradh#define     V_038010_SQ_TEX_VTX_INVALID_BUFFER         0x00000001
12253464ebd5Sriastradh#define     V_038010_SQ_TEX_VTX_VALID_TEXTURE          0x00000002
12263464ebd5Sriastradh#define     V_038010_SQ_TEX_VTX_VALID_BUFFER           0x00000003
12273464ebd5Sriastradh#define R_038008_SQ_VTX_CONSTANT_WORD2_0             0x038008
122801e04c3fSmrg#define   S_038008_BASE_ADDRESS_HI(x)                  (((unsigned)(x) & 0xFF) << 0)
12293464ebd5Sriastradh#define   G_038008_BASE_ADDRESS_HI(x)                  (((x) >> 0) & 0xFF)
12303464ebd5Sriastradh#define   C_038008_BASE_ADDRESS_HI                     0xFFFFFF00
123101e04c3fSmrg#define   S_038008_STRIDE(x)                           (((unsigned)(x) & 0x7FF) << 8)
12323464ebd5Sriastradh#define   G_038008_STRIDE(x)                           (((x) >> 8) & 0x7FF)
12333464ebd5Sriastradh#define   C_038008_STRIDE                              0xFFF800FF
123401e04c3fSmrg#define   S_038008_CLAMP_X(x)                          (((unsigned)(x) & 0x1) << 19)
12353464ebd5Sriastradh#define   G_038008_CLAMP_X(x)                          (((x) >> 19) & 0x1)
12363464ebd5Sriastradh#define   C_038008_CLAMP_X                             0xFFF7FFFF
123701e04c3fSmrg#define   S_038008_DATA_FORMAT(x)                      (((unsigned)(x) & 0x3F) << 20)
12383464ebd5Sriastradh#define   G_038008_DATA_FORMAT(x)                      (((x) >> 20) & 0x3F)
12393464ebd5Sriastradh#define   C_038008_DATA_FORMAT                         0xFC0FFFFF
12403464ebd5Sriastradh
124101e04c3fSmrg#define   S_038008_NUM_FORMAT_ALL(x)                   (((unsigned)(x) & 0x3) << 26)
12423464ebd5Sriastradh#define   G_038008_NUM_FORMAT_ALL(x)                   (((x) >> 26) & 0x3)
12433464ebd5Sriastradh#define   C_038008_NUM_FORMAT_ALL                      0xF3FFFFFF
12443464ebd5Sriastradh#define     V_038008_SQ_NUM_FORMAT_NORM                0x00000000
12453464ebd5Sriastradh#define     V_038008_SQ_NUM_FORMAT_INT                 0x00000001
12463464ebd5Sriastradh#define     V_038008_SQ_NUM_FORMAT_SCALED              0x00000002
124701e04c3fSmrg#define   S_038008_FORMAT_COMP_ALL(x)                  (((unsigned)(x) & 0x1) << 28)
12483464ebd5Sriastradh#define   G_038008_FORMAT_COMP_ALL(x)                  (((x) >> 28) & 0x1)
12493464ebd5Sriastradh#define   C_038008_FORMAT_COMP_ALL                     0xEFFFFFFF
125001e04c3fSmrg#define   S_038008_SRF_MODE_ALL(x)                     (((unsigned)(x) & 0x1) << 29)
12513464ebd5Sriastradh#define   G_038008_SRF_MODE_ALL(x)                     (((x) >> 29) & 0x1)
12523464ebd5Sriastradh#define   C_038008_SRF_MODE_ALL                        0xDFFFFFFF
125301e04c3fSmrg#define   S_038008_ENDIAN_SWAP(x)                      (((unsigned)(x) & 0x3) << 30)
12543464ebd5Sriastradh#define   G_038008_ENDIAN_SWAP(x)                      (((x) >> 30) & 0x3)
12553464ebd5Sriastradh#define   C_038008_ENDIAN_SWAP                         0x3FFFFFFF
12563464ebd5Sriastradh#define R_03C000_SQ_TEX_SAMPLER_WORD0_0              0x03C000
125701e04c3fSmrg#define   S_03C000_CLAMP_X(x)                          (((unsigned)(x) & 0x7) << 0)
12583464ebd5Sriastradh#define   G_03C000_CLAMP_X(x)                          (((x) >> 0) & 0x7)
12593464ebd5Sriastradh#define   C_03C000_CLAMP_X                             0xFFFFFFF8
12603464ebd5Sriastradh#define     V_03C000_SQ_TEX_WRAP                       0x00000000
12613464ebd5Sriastradh#define     V_03C000_SQ_TEX_MIRROR                     0x00000001
12623464ebd5Sriastradh#define     V_03C000_SQ_TEX_CLAMP_LAST_TEXEL           0x00000002
12633464ebd5Sriastradh#define     V_03C000_SQ_TEX_MIRROR_ONCE_LAST_TEXEL     0x00000003
12643464ebd5Sriastradh#define     V_03C000_SQ_TEX_CLAMP_HALF_BORDER          0x00000004
12653464ebd5Sriastradh#define     V_03C000_SQ_TEX_MIRROR_ONCE_HALF_BORDER    0x00000005
12663464ebd5Sriastradh#define     V_03C000_SQ_TEX_CLAMP_BORDER               0x00000006
12673464ebd5Sriastradh#define     V_03C000_SQ_TEX_MIRROR_ONCE_BORDER         0x00000007
126801e04c3fSmrg#define   S_03C000_CLAMP_Y(x)                          (((unsigned)(x) & 0x7) << 3)
12693464ebd5Sriastradh#define   G_03C000_CLAMP_Y(x)                          (((x) >> 3) & 0x7)
12703464ebd5Sriastradh#define   C_03C000_CLAMP_Y                             0xFFFFFFC7
127101e04c3fSmrg#define   S_03C000_CLAMP_Z(x)                          (((unsigned)(x) & 0x7) << 6)
12723464ebd5Sriastradh#define   G_03C000_CLAMP_Z(x)                          (((x) >> 6) & 0x7)
12733464ebd5Sriastradh#define   C_03C000_CLAMP_Z                             0xFFFFFE3F
127401e04c3fSmrg#define   S_03C000_XY_MAG_FILTER(x)                    (((unsigned)(x) & 0x7) << 9)
12753464ebd5Sriastradh#define   G_03C000_XY_MAG_FILTER(x)                    (((x) >> 9) & 0x7)
12763464ebd5Sriastradh#define   C_03C000_XY_MAG_FILTER                       0xFFFFF1FF
12773464ebd5Sriastradh#define     V_03C000_SQ_TEX_XY_FILTER_POINT            0x00000000
12783464ebd5Sriastradh#define     V_03C000_SQ_TEX_XY_FILTER_BILINEAR         0x00000001
12793464ebd5Sriastradh#define     V_03C000_SQ_TEX_XY_FILTER_BICUBIC          0x00000002
128001e04c3fSmrg#define     V_03C000_SQ_TEX_XY_FILTER_ANISO_POINT      0x00000004
128101e04c3fSmrg#define     V_03C000_SQ_TEX_XY_FILTER_ANISO_BILINEAR   0x00000005
128201e04c3fSmrg#define   S_03C000_XY_MIN_FILTER(x)                    (((unsigned)(x) & 0x7) << 12)
12833464ebd5Sriastradh#define   G_03C000_XY_MIN_FILTER(x)                    (((x) >> 12) & 0x7)
12843464ebd5Sriastradh#define   C_03C000_XY_MIN_FILTER                       0xFFFF8FFF
128501e04c3fSmrg#define   S_03C000_Z_FILTER(x)                         (((unsigned)(x) & 0x3) << 15)
12863464ebd5Sriastradh#define   G_03C000_Z_FILTER(x)                         (((x) >> 15) & 0x3)
12873464ebd5Sriastradh#define   C_03C000_Z_FILTER                            0xFFFE7FFF
12883464ebd5Sriastradh#define     V_03C000_SQ_TEX_Z_FILTER_NONE              0x00000000
12893464ebd5Sriastradh#define     V_03C000_SQ_TEX_Z_FILTER_POINT             0x00000001
12903464ebd5Sriastradh#define     V_03C000_SQ_TEX_Z_FILTER_LINEAR            0x00000002
129101e04c3fSmrg#define   S_03C000_MIP_FILTER(x)                       (((unsigned)(x) & 0x3) << 17)
12923464ebd5Sriastradh#define   G_03C000_MIP_FILTER(x)                       (((x) >> 17) & 0x3)
12933464ebd5Sriastradh#define   C_03C000_MIP_FILTER                          0xFFF9FFFF
129401e04c3fSmrg#define   S_03C000_MAX_ANISO_RATIO(x)                  (((unsigned)(x) & 0x7) << 19)
129501e04c3fSmrg#define   G_03C000_MAX_ANISO_RATIO(x)                  (((x) >> 19) & 0x7)
129601e04c3fSmrg#define   C_03C000_MAX_ANISO_RATIO                     0xFFB7FFFF
129701e04c3fSmrg#define   S_03C000_BORDER_COLOR_TYPE(x)                (((unsigned)(x) & 0x3) << 22)
12983464ebd5Sriastradh#define   G_03C000_BORDER_COLOR_TYPE(x)                (((x) >> 22) & 0x3)
12993464ebd5Sriastradh#define   C_03C000_BORDER_COLOR_TYPE                   0xFF3FFFFF
13003464ebd5Sriastradh#define     V_03C000_SQ_TEX_BORDER_COLOR_TRANS_BLACK   0x00000000
13013464ebd5Sriastradh#define     V_03C000_SQ_TEX_BORDER_COLOR_OPAQUE_BLACK  0x00000001
13023464ebd5Sriastradh#define     V_03C000_SQ_TEX_BORDER_COLOR_OPAQUE_WHITE  0x00000002
13033464ebd5Sriastradh#define     V_03C000_SQ_TEX_BORDER_COLOR_REGISTER      0x00000003
130401e04c3fSmrg#define   S_03C000_POINT_SAMPLING_CLAMP(x)             (((unsigned)(x) & 0x1) << 24)
13053464ebd5Sriastradh#define   G_03C000_POINT_SAMPLING_CLAMP(x)             (((x) >> 24) & 0x1)
13063464ebd5Sriastradh#define   C_03C000_POINT_SAMPLING_CLAMP                0xFEFFFFFF
130701e04c3fSmrg#define   S_03C000_TEX_ARRAY_OVERRIDE(x)               (((unsigned)(x) & 0x1) << 25)
13083464ebd5Sriastradh#define   G_03C000_TEX_ARRAY_OVERRIDE(x)               (((x) >> 25) & 0x1)
13093464ebd5Sriastradh#define   C_03C000_TEX_ARRAY_OVERRIDE                  0xFDFFFFFF
131001e04c3fSmrg#define   S_03C000_DEPTH_COMPARE_FUNCTION(x)           (((unsigned)(x) & 0x7) << 26)
13113464ebd5Sriastradh#define   G_03C000_DEPTH_COMPARE_FUNCTION(x)           (((x) >> 26) & 0x7)
13123464ebd5Sriastradh#define   C_03C000_DEPTH_COMPARE_FUNCTION              0xE3FFFFFF
13133464ebd5Sriastradh#define     V_03C000_SQ_TEX_DEPTH_COMPARE_NEVER        0x00000000
13143464ebd5Sriastradh#define     V_03C000_SQ_TEX_DEPTH_COMPARE_LESS         0x00000001
13153464ebd5Sriastradh#define     V_03C000_SQ_TEX_DEPTH_COMPARE_EQUAL        0x00000002
13163464ebd5Sriastradh#define     V_03C000_SQ_TEX_DEPTH_COMPARE_LESSEQUAL    0x00000003
13173464ebd5Sriastradh#define     V_03C000_SQ_TEX_DEPTH_COMPARE_GREATER      0x00000004
13183464ebd5Sriastradh#define     V_03C000_SQ_TEX_DEPTH_COMPARE_NOTEQUAL     0x00000005
13193464ebd5Sriastradh#define     V_03C000_SQ_TEX_DEPTH_COMPARE_GREATEREQUAL 0x00000006
13203464ebd5Sriastradh#define     V_03C000_SQ_TEX_DEPTH_COMPARE_ALWAYS       0x00000007
132101e04c3fSmrg#define   S_03C000_CHROMA_KEY(x)                       (((unsigned)(x) & 0x3) << 29)
13223464ebd5Sriastradh#define   G_03C000_CHROMA_KEY(x)                       (((x) >> 29) & 0x3)
13233464ebd5Sriastradh#define   C_03C000_CHROMA_KEY                          0x9FFFFFFF
13243464ebd5Sriastradh#define     V_03C000_SQ_TEX_CHROMA_KEY_DISABLE         0x00000000
13253464ebd5Sriastradh#define     V_03C000_SQ_TEX_CHROMA_KEY_KILL            0x00000001
13263464ebd5Sriastradh#define     V_03C000_SQ_TEX_CHROMA_KEY_BLEND           0x00000002
132701e04c3fSmrg#define   S_03C000_LOD_USES_MINOR_AXIS(x)              (((unsigned)(x) & 0x1) << 31)
13283464ebd5Sriastradh#define   G_03C000_LOD_USES_MINOR_AXIS(x)              (((x) >> 31) & 0x1)
13293464ebd5Sriastradh#define   C_03C000_LOD_USES_MINOR_AXIS                 0x7FFFFFFF
13303464ebd5Sriastradh#define R_03C004_SQ_TEX_SAMPLER_WORD1_0              0x03C004
133101e04c3fSmrg#define   S_03C004_MIN_LOD(x)                          (((unsigned)(x) & 0x3FF) << 0)
13323464ebd5Sriastradh#define   G_03C004_MIN_LOD(x)                          (((x) >> 0) & 0x3FF)
13333464ebd5Sriastradh#define   C_03C004_MIN_LOD                             0xFFFFFC00
133401e04c3fSmrg#define   S_03C004_MAX_LOD(x)                          (((unsigned)(x) & 0x3FF) << 10)
13353464ebd5Sriastradh#define   G_03C004_MAX_LOD(x)                          (((x) >> 10) & 0x3FF)
13363464ebd5Sriastradh#define   C_03C004_MAX_LOD                             0xFFF003FF
133701e04c3fSmrg#define   S_03C004_LOD_BIAS(x)                         (((unsigned)(x) & 0xFFF) << 20)
13383464ebd5Sriastradh#define   G_03C004_LOD_BIAS(x)                         (((x) >> 20) & 0xFFF)
13393464ebd5Sriastradh#define   C_03C004_LOD_BIAS                            0x000FFFFF
13403464ebd5Sriastradh#define R_03C008_SQ_TEX_SAMPLER_WORD2_0              0x03C008
134101e04c3fSmrg#define   S_03C008_LOD_BIAS_SEC(x)                     (((unsigned)(x) & 0xFFF) << 0)
13423464ebd5Sriastradh#define   G_03C008_LOD_BIAS_SEC(x)                     (((x) >> 0) & 0xFFF)
13433464ebd5Sriastradh#define   C_03C008_LOD_BIAS_SEC                        0xFFFFF000
134401e04c3fSmrg#define   S_03C008_MC_COORD_TRUNCATE(x)                (((unsigned)(x) & 0x1) << 12)
13453464ebd5Sriastradh#define   G_03C008_MC_COORD_TRUNCATE(x)                (((x) >> 12) & 0x1)
13463464ebd5Sriastradh#define   C_03C008_MC_COORD_TRUNCATE                   0xFFFFEFFF
134701e04c3fSmrg#define   S_03C008_FORCE_DEGAMMA(x)                    (((unsigned)(x) & 0x1) << 13)
13483464ebd5Sriastradh#define   G_03C008_FORCE_DEGAMMA(x)                    (((x) >> 13) & 0x1)
13493464ebd5Sriastradh#define   C_03C008_FORCE_DEGAMMA                       0xFFFFDFFF
135001e04c3fSmrg#define   S_03C008_HIGH_PRECISION_FILTER(x)            (((unsigned)(x) & 0x1) << 14)
13513464ebd5Sriastradh#define   G_03C008_HIGH_PRECISION_FILTER(x)            (((x) >> 14) & 0x1)
13523464ebd5Sriastradh#define   C_03C008_HIGH_PRECISION_FILTER               0xFFFFBFFF
135301e04c3fSmrg#define   S_03C008_PERF_MIP(x)                         (((unsigned)(x) & 0x7) << 15)
13543464ebd5Sriastradh#define   G_03C008_PERF_MIP(x)                         (((x) >> 15) & 0x7)
13553464ebd5Sriastradh#define   C_03C008_PERF_MIP                            0xFFFC7FFF
135601e04c3fSmrg#define   S_03C008_PERF_Z(x)                           (((unsigned)(x) & 0x3) << 18)
13573464ebd5Sriastradh#define   G_03C008_PERF_Z(x)                           (((x) >> 18) & 0x3)
13583464ebd5Sriastradh#define   C_03C008_PERF_Z                              0xFFF3FFFF
135901e04c3fSmrg#define   S_03C008_ANISO_BIAS(x)                       (((unsigned)(x) & 0x3f) << 22)
13603464ebd5Sriastradh#define   G_03C008_ANISO_BIAS(x)                       (((x) >> 22) & 0x3f)
13613464ebd5Sriastradh#define   C_03C008_ANISO_BIAS                          (~(0x3f << 22))
136201e04c3fSmrg#define   S_03C008_FETCH_4(x)                          (((unsigned)(x) & 0x1) << 26)
13633464ebd5Sriastradh#define   G_03C008_FETCH_4(x)                          (((x) >> 26) & 0x1)
13643464ebd5Sriastradh#define   C_03C008_FETCH_4                             0xFBFFFFFF
136501e04c3fSmrg#define   S_03C008_SAMPLE_IS_PCF(x)                    (((unsigned)(x) & 0x1) << 27)
13663464ebd5Sriastradh#define   G_03C008_SAMPLE_IS_PCF(x)                    (((x) >> 27) & 0x1)
13673464ebd5Sriastradh#define   C_03C008_SAMPLE_IS_PCF                       0xF7FFFFFF
136801e04c3fSmrg#define   S_03C008_TYPE(x)                             (((unsigned)(x) & 0x1) << 31)
13693464ebd5Sriastradh#define   G_03C008_TYPE(x)                             (((x) >> 31) & 0x1)
13703464ebd5Sriastradh#define   C_03C008_TYPE                                0x7FFFFFFF
13713464ebd5Sriastradh#define R_008958_VGT_PRIMITIVE_TYPE                  0x008958
137201e04c3fSmrg#define   S_008958_PRIM_TYPE(x)                        (((unsigned)(x) & 0x3F) << 0)
13733464ebd5Sriastradh#define   G_008958_PRIM_TYPE(x)                        (((x) >> 0) & 0x3F)
13743464ebd5Sriastradh#define   C_008958_PRIM_TYPE                           0xFFFFFFC0
13753464ebd5Sriastradh#define     V_008958_DI_PT_NONE                        0x00000000
13763464ebd5Sriastradh#define     V_008958_DI_PT_POINTLIST                   0x00000001
13773464ebd5Sriastradh#define     V_008958_DI_PT_LINELIST                    0x00000002
13783464ebd5Sriastradh#define     V_008958_DI_PT_LINESTRIP                   0x00000003
13793464ebd5Sriastradh#define     V_008958_DI_PT_TRILIST                     0x00000004
13803464ebd5Sriastradh#define     V_008958_DI_PT_TRIFAN                      0x00000005
13813464ebd5Sriastradh#define     V_008958_DI_PT_TRISTRIP                    0x00000006
13823464ebd5Sriastradh#define     V_008958_DI_PT_UNUSED_0                    0x00000007
13833464ebd5Sriastradh#define     V_008958_DI_PT_UNUSED_1                    0x00000008
138401e04c3fSmrg#define     V_008958_DI_PT_PATCH                       0x00000009
13853464ebd5Sriastradh#define     V_008958_DI_PT_LINELIST_ADJ                0x0000000A
13863464ebd5Sriastradh#define     V_008958_DI_PT_LINESTRIP_ADJ               0x0000000B
13873464ebd5Sriastradh#define     V_008958_DI_PT_TRILIST_ADJ                 0x0000000C
13883464ebd5Sriastradh#define     V_008958_DI_PT_TRISTRIP_ADJ                0x0000000D
13893464ebd5Sriastradh#define     V_008958_DI_PT_UNUSED_3                    0x0000000E
13903464ebd5Sriastradh#define     V_008958_DI_PT_UNUSED_4                    0x0000000F
13913464ebd5Sriastradh#define     V_008958_DI_PT_TRI_WITH_WFLAGS             0x00000010
13923464ebd5Sriastradh#define     V_008958_DI_PT_RECTLIST                    0x00000011
13933464ebd5Sriastradh#define     V_008958_DI_PT_LINELOOP                    0x00000012
13943464ebd5Sriastradh#define     V_008958_DI_PT_QUADLIST                    0x00000013
13953464ebd5Sriastradh#define     V_008958_DI_PT_QUADSTRIP                   0x00000014
13963464ebd5Sriastradh#define     V_008958_DI_PT_POLYGON                     0x00000015
13973464ebd5Sriastradh#define     V_008958_DI_PT_2D_COPY_RECT_LIST_V0        0x00000016
13983464ebd5Sriastradh#define     V_008958_DI_PT_2D_COPY_RECT_LIST_V1        0x00000017
13993464ebd5Sriastradh#define     V_008958_DI_PT_2D_COPY_RECT_LIST_V2        0x00000018
14003464ebd5Sriastradh#define     V_008958_DI_PT_2D_COPY_RECT_LIST_V3        0x00000019
14013464ebd5Sriastradh#define     V_008958_DI_PT_2D_FILL_RECT_LIST           0x0000001A
14023464ebd5Sriastradh#define     V_008958_DI_PT_2D_LINE_STRIP               0x0000001B
14033464ebd5Sriastradh#define     V_008958_DI_PT_2D_TRI_STRIP                0x0000001C
14043464ebd5Sriastradh#define R_02881C_PA_CL_VS_OUT_CNTL                   0x02881C
140501e04c3fSmrg#define   S_02881C_CLIP_DIST_ENA_0(x)                  (((unsigned)(x) & 0x1) << 0)
14063464ebd5Sriastradh#define   G_02881C_CLIP_DIST_ENA_0(x)                  (((x) >> 0) & 0x1)
14073464ebd5Sriastradh#define   C_02881C_CLIP_DIST_ENA_0                     0xFFFFFFFE
140801e04c3fSmrg#define   S_02881C_CLIP_DIST_ENA_1(x)                  (((unsigned)(x) & 0x1) << 1)
14093464ebd5Sriastradh#define   G_02881C_CLIP_DIST_ENA_1(x)                  (((x) >> 1) & 0x1)
14103464ebd5Sriastradh#define   C_02881C_CLIP_DIST_ENA_1                     0xFFFFFFFD
141101e04c3fSmrg#define   S_02881C_CLIP_DIST_ENA_2(x)                  (((unsigned)(x) & 0x1) << 2)
14123464ebd5Sriastradh#define   G_02881C_CLIP_DIST_ENA_2(x)                  (((x) >> 2) & 0x1)
14133464ebd5Sriastradh#define   C_02881C_CLIP_DIST_ENA_2                     0xFFFFFFFB
141401e04c3fSmrg#define   S_02881C_CLIP_DIST_ENA_3(x)                  (((unsigned)(x) & 0x1) << 3)
14153464ebd5Sriastradh#define   G_02881C_CLIP_DIST_ENA_3(x)                  (((x) >> 3) & 0x1)
14163464ebd5Sriastradh#define   C_02881C_CLIP_DIST_ENA_3                     0xFFFFFFF7
141701e04c3fSmrg#define   S_02881C_CLIP_DIST_ENA_4(x)                  (((unsigned)(x) & 0x1) << 4)
14183464ebd5Sriastradh#define   G_02881C_CLIP_DIST_ENA_4(x)                  (((x) >> 4) & 0x1)
14193464ebd5Sriastradh#define   C_02881C_CLIP_DIST_ENA_4                     0xFFFFFFEF
142001e04c3fSmrg#define   S_02881C_CLIP_DIST_ENA_5(x)                  (((unsigned)(x) & 0x1) << 5)
14213464ebd5Sriastradh#define   G_02881C_CLIP_DIST_ENA_5(x)                  (((x) >> 5) & 0x1)
14223464ebd5Sriastradh#define   C_02881C_CLIP_DIST_ENA_5                     0xFFFFFFDF
142301e04c3fSmrg#define   S_02881C_CLIP_DIST_ENA_6(x)                  (((unsigned)(x) & 0x1) << 6)
14243464ebd5Sriastradh#define   G_02881C_CLIP_DIST_ENA_6(x)                  (((x) >> 6) & 0x1)
14253464ebd5Sriastradh#define   C_02881C_CLIP_DIST_ENA_6                     0xFFFFFFBF
142601e04c3fSmrg#define   S_02881C_CLIP_DIST_ENA_7(x)                  (((unsigned)(x) & 0x1) << 7)
14273464ebd5Sriastradh#define   G_02881C_CLIP_DIST_ENA_7(x)                  (((x) >> 7) & 0x1)
14283464ebd5Sriastradh#define   C_02881C_CLIP_DIST_ENA_7                     0xFFFFFF7F
142901e04c3fSmrg#define   S_02881C_CULL_DIST_ENA_0(x)                  (((unsigned)(x) & 0x1) << 8)
14303464ebd5Sriastradh#define   G_02881C_CULL_DIST_ENA_0(x)                  (((x) >> 8) & 0x1)
14313464ebd5Sriastradh#define   C_02881C_CULL_DIST_ENA_0                     0xFFFFFEFF
143201e04c3fSmrg#define   S_02881C_CULL_DIST_ENA_1(x)                  (((unsigned)(x) & 0x1) << 9)
14333464ebd5Sriastradh#define   G_02881C_CULL_DIST_ENA_1(x)                  (((x) >> 9) & 0x1)
14343464ebd5Sriastradh#define   C_02881C_CULL_DIST_ENA_1                     0xFFFFFDFF
143501e04c3fSmrg#define   S_02881C_CULL_DIST_ENA_2(x)                  (((unsigned)(x) & 0x1) << 10)
14363464ebd5Sriastradh#define   G_02881C_CULL_DIST_ENA_2(x)                  (((x) >> 10) & 0x1)
14373464ebd5Sriastradh#define   C_02881C_CULL_DIST_ENA_2                     0xFFFFFBFF
143801e04c3fSmrg#define   S_02881C_CULL_DIST_ENA_3(x)                  (((unsigned)(x) & 0x1) << 11)
14393464ebd5Sriastradh#define   G_02881C_CULL_DIST_ENA_3(x)                  (((x) >> 11) & 0x1)
14403464ebd5Sriastradh#define   C_02881C_CULL_DIST_ENA_3                     0xFFFFF7FF
144101e04c3fSmrg#define   S_02881C_CULL_DIST_ENA_4(x)                  (((unsigned)(x) & 0x1) << 12)
14423464ebd5Sriastradh#define   G_02881C_CULL_DIST_ENA_4(x)                  (((x) >> 12) & 0x1)
14433464ebd5Sriastradh#define   C_02881C_CULL_DIST_ENA_4                     0xFFFFEFFF
144401e04c3fSmrg#define   S_02881C_CULL_DIST_ENA_5(x)                  (((unsigned)(x) & 0x1) << 13)
14453464ebd5Sriastradh#define   G_02881C_CULL_DIST_ENA_5(x)                  (((x) >> 13) & 0x1)
14463464ebd5Sriastradh#define   C_02881C_CULL_DIST_ENA_5                     0xFFFFDFFF
144701e04c3fSmrg#define   S_02881C_CULL_DIST_ENA_6(x)                  (((unsigned)(x) & 0x1) << 14)
14483464ebd5Sriastradh#define   G_02881C_CULL_DIST_ENA_6(x)                  (((x) >> 14) & 0x1)
14493464ebd5Sriastradh#define   C_02881C_CULL_DIST_ENA_6                     0xFFFFBFFF
145001e04c3fSmrg#define   S_02881C_CULL_DIST_ENA_7(x)                  (((unsigned)(x) & 0x1) << 15)
14513464ebd5Sriastradh#define   G_02881C_CULL_DIST_ENA_7(x)                  (((x) >> 15) & 0x1)
14523464ebd5Sriastradh#define   C_02881C_CULL_DIST_ENA_7                     0xFFFF7FFF
145301e04c3fSmrg#define   S_02881C_USE_VTX_POINT_SIZE(x)               (((unsigned)(x) & 0x1) << 16)
14543464ebd5Sriastradh#define   G_02881C_USE_VTX_POINT_SIZE(x)               (((x) >> 16) & 0x1)
14553464ebd5Sriastradh#define   C_02881C_USE_VTX_POINT_SIZE                  0xFFFEFFFF
145601e04c3fSmrg#define   S_02881C_USE_VTX_EDGE_FLAG(x)                (((unsigned)(x) & 0x1) << 17)
14573464ebd5Sriastradh#define   G_02881C_USE_VTX_EDGE_FLAG(x)                (((x) >> 17) & 0x1)
14583464ebd5Sriastradh#define   C_02881C_USE_VTX_EDGE_FLAG                   0xFFFDFFFF
145901e04c3fSmrg#define   S_02881C_USE_VTX_RENDER_TARGET_INDX(x)       (((unsigned)(x) & 0x1) << 18)
14603464ebd5Sriastradh#define   G_02881C_USE_VTX_RENDER_TARGET_INDX(x)       (((x) >> 18) & 0x1)
14613464ebd5Sriastradh#define   C_02881C_USE_VTX_RENDER_TARGET_INDX          0xFFFBFFFF
146201e04c3fSmrg#define   S_02881C_USE_VTX_VIEWPORT_INDX(x)            (((unsigned)(x) & 0x1) << 19)
14633464ebd5Sriastradh#define   G_02881C_USE_VTX_VIEWPORT_INDX(x)            (((x) >> 19) & 0x1)
14643464ebd5Sriastradh#define   C_02881C_USE_VTX_VIEWPORT_INDX               0xFFF7FFFF
146501e04c3fSmrg#define   S_02881C_USE_VTX_KILL_FLAG(x)                (((unsigned)(x) & 0x1) << 20)
14663464ebd5Sriastradh#define   G_02881C_USE_VTX_KILL_FLAG(x)                (((x) >> 20) & 0x1)
14673464ebd5Sriastradh#define   C_02881C_USE_VTX_KILL_FLAG                   0xFFEFFFFF
146801e04c3fSmrg#define   S_02881C_VS_OUT_MISC_VEC_ENA(x)              (((unsigned)(x) & 0x1) << 21)
14693464ebd5Sriastradh#define   G_02881C_VS_OUT_MISC_VEC_ENA(x)              (((x) >> 21) & 0x1)
14703464ebd5Sriastradh#define   C_02881C_VS_OUT_MISC_VEC_ENA                 0xFFDFFFFF
147101e04c3fSmrg#define   S_02881C_VS_OUT_CCDIST0_VEC_ENA(x)           (((unsigned)(x) & 0x1) << 22)
14723464ebd5Sriastradh#define   G_02881C_VS_OUT_CCDIST0_VEC_ENA(x)           (((x) >> 22) & 0x1)
14733464ebd5Sriastradh#define   C_02881C_VS_OUT_CCDIST0_VEC_ENA              0xFFBFFFFF
147401e04c3fSmrg#define   S_02881C_VS_OUT_CCDIST1_VEC_ENA(x)           (((unsigned)(x) & 0x1) << 23)
14753464ebd5Sriastradh#define   G_02881C_VS_OUT_CCDIST1_VEC_ENA(x)           (((x) >> 23) & 0x1)
14763464ebd5Sriastradh#define   C_02881C_VS_OUT_CCDIST1_VEC_ENA              0xFF7FFFFF
14773464ebd5Sriastradh#define R_028868_SQ_PGM_RESOURCES_VS                 0x028868
147801e04c3fSmrg#define   S_028868_NUM_GPRS(x)                         (((unsigned)(x) & 0xFF) << 0)
14793464ebd5Sriastradh#define   G_028868_NUM_GPRS(x)                         (((x) >> 0) & 0xFF)
14803464ebd5Sriastradh#define   C_028868_NUM_GPRS                            0xFFFFFF00
148101e04c3fSmrg#define   S_028868_STACK_SIZE(x)                       (((unsigned)(x) & 0xFF) << 8)
14823464ebd5Sriastradh#define   G_028868_STACK_SIZE(x)                       (((x) >> 8) & 0xFF)
14833464ebd5Sriastradh#define   C_028868_STACK_SIZE                          0xFFFF00FF
148401e04c3fSmrg#define   S_028868_DX10_CLAMP(x)                       (((unsigned)(x) & 0x1) << 21)
14853464ebd5Sriastradh#define   G_028868_DX10_CLAMP(x)                       (((x) >> 21) & 0x1)
14863464ebd5Sriastradh#define   C_028868_DX10_CLAMP                          0xFFDFFFFF
148701e04c3fSmrg#define   S_028868_FETCH_CACHE_LINES(x)                (((unsigned)(x) & 0x7) << 24)
14883464ebd5Sriastradh#define   G_028868_FETCH_CACHE_LINES(x)                (((x) >> 24) & 0x7)
14893464ebd5Sriastradh#define   C_028868_FETCH_CACHE_LINES                   0xF8FFFFFF
149001e04c3fSmrg#define   S_028868_UNCACHED_FIRST_INST(x)              (((unsigned)(x) & 0x1) << 28)
14913464ebd5Sriastradh#define   G_028868_UNCACHED_FIRST_INST(x)              (((x) >> 28) & 0x1)
14923464ebd5Sriastradh#define   C_028868_UNCACHED_FIRST_INST                 0xEFFFFFFF
14933464ebd5Sriastradh#define R_028850_SQ_PGM_RESOURCES_PS                 0x028850
149401e04c3fSmrg#define   S_028850_NUM_GPRS(x)                         (((unsigned)(x) & 0xFF) << 0)
14953464ebd5Sriastradh#define   G_028850_NUM_GPRS(x)                         (((x) >> 0) & 0xFF)
14963464ebd5Sriastradh#define   C_028850_NUM_GPRS                            0xFFFFFF00
149701e04c3fSmrg#define   S_028850_STACK_SIZE(x)                       (((unsigned)(x) & 0xFF) << 8)
14983464ebd5Sriastradh#define   G_028850_STACK_SIZE(x)                       (((x) >> 8) & 0xFF)
14993464ebd5Sriastradh#define   C_028850_STACK_SIZE                          0xFFFF00FF
150001e04c3fSmrg#define   S_028850_DX10_CLAMP(x)                       (((unsigned)(x) & 0x1) << 21)
15013464ebd5Sriastradh#define   G_028850_DX10_CLAMP(x)                       (((x) >> 21) & 0x1)
15023464ebd5Sriastradh#define   C_028850_DX10_CLAMP                          0xFFDFFFFF
150301e04c3fSmrg#define   S_028850_FETCH_CACHE_LINES(x)                (((unsigned)(x) & 0x7) << 24)
15043464ebd5Sriastradh#define   G_028850_FETCH_CACHE_LINES(x)                (((x) >> 24) & 0x7)
15053464ebd5Sriastradh#define   C_028850_FETCH_CACHE_LINES                   0xF8FFFFFF
150601e04c3fSmrg#define   S_028850_UNCACHED_FIRST_INST(x)              (((unsigned)(x) & 0x1) << 28)
15073464ebd5Sriastradh#define   G_028850_UNCACHED_FIRST_INST(x)              (((x) >> 28) & 0x1)
15083464ebd5Sriastradh#define   C_028850_UNCACHED_FIRST_INST                 0xEFFFFFFF
150901e04c3fSmrg#define   S_028850_CLAMP_CONSTS(x)                     (((unsigned)(x) & 0x1) << 31)
15103464ebd5Sriastradh#define   G_028850_CLAMP_CONSTS(x)                     (((x) >> 31) & 0x1)
15113464ebd5Sriastradh#define   C_028850_CLAMP_CONSTS                        0x7FFFFFFF
15123464ebd5Sriastradh#define R_028644_SPI_PS_INPUT_CNTL_0                 0x028644
151301e04c3fSmrg#define   S_028644_SEMANTIC(x)                         (((unsigned)(x) & 0xFF) << 0)
15143464ebd5Sriastradh#define   G_028644_SEMANTIC(x)                         (((x) >> 0) & 0xFF)
15153464ebd5Sriastradh#define   C_028644_SEMANTIC                            0xFFFFFF00
151601e04c3fSmrg#define   S_028644_DEFAULT_VAL(x)                      (((unsigned)(x) & 0x3) << 8)
15173464ebd5Sriastradh#define   G_028644_DEFAULT_VAL(x)                      (((x) >> 8) & 0x3)
15183464ebd5Sriastradh#define   C_028644_DEFAULT_VAL                         0xFFFFFCFF
151901e04c3fSmrg#define   S_028644_FLAT_SHADE(x)                       (((unsigned)(x) & 0x1) << 10)
15203464ebd5Sriastradh#define   G_028644_FLAT_SHADE(x)                       (((x) >> 10) & 0x1)
15213464ebd5Sriastradh#define   C_028644_FLAT_SHADE                          0xFFFFFBFF
152201e04c3fSmrg#define   S_028644_SEL_CENTROID(x)                     (((unsigned)(x) & 0x1) << 11)
15233464ebd5Sriastradh#define   G_028644_SEL_CENTROID(x)                     (((x) >> 11) & 0x1)
15243464ebd5Sriastradh#define   C_028644_SEL_CENTROID                        0xFFFFF7FF
152501e04c3fSmrg#define   S_028644_SEL_LINEAR(x)                       (((unsigned)(x) & 0x1) << 12)
15263464ebd5Sriastradh#define   G_028644_SEL_LINEAR(x)                       (((x) >> 12) & 0x1)
15273464ebd5Sriastradh#define   C_028644_SEL_LINEAR                          0xFFFFEFFF
152801e04c3fSmrg#define   S_028644_CYL_WRAP(x)                         (((unsigned)(x) & 0xF) << 13)
15293464ebd5Sriastradh#define   G_028644_CYL_WRAP(x)                         (((x) >> 13) & 0xF)
15303464ebd5Sriastradh#define   C_028644_CYL_WRAP                            0xFFFE1FFF
153101e04c3fSmrg#define   S_028644_PT_SPRITE_TEX(x)                    (((unsigned)(x) & 0x1) << 17)
15323464ebd5Sriastradh#define   G_028644_PT_SPRITE_TEX(x)                    (((x) >> 17) & 0x1)
15333464ebd5Sriastradh#define   C_028644_PT_SPRITE_TEX                       0xFFFDFFFF
153401e04c3fSmrg#define   S_028644_SEL_SAMPLE(x)                       (((unsigned)(x) & 0x1) << 18)
15353464ebd5Sriastradh#define   G_028644_SEL_SAMPLE(x)                       (((x) >> 18) & 0x1)
15363464ebd5Sriastradh#define   C_028644_SEL_SAMPLE                          0xFFFBFFFF
15373464ebd5Sriastradh#define R_0286D4_SPI_INTERP_CONTROL_0                0x0286D4
153801e04c3fSmrg#define   S_0286D4_FLAT_SHADE_ENA(x)                   (((unsigned)(x) & 0x1) << 0)
15393464ebd5Sriastradh#define   G_0286D4_FLAT_SHADE_ENA(x)                   (((x) >> 0) & 0x1)
15403464ebd5Sriastradh#define   C_0286D4_FLAT_SHADE_ENA                      0xFFFFFFFE
154101e04c3fSmrg#define   S_0286D4_PNT_SPRITE_ENA(x)                   (((unsigned)(x) & 0x1) << 1)
15423464ebd5Sriastradh#define   G_0286D4_PNT_SPRITE_ENA(x)                   (((x) >> 1) & 0x1)
15433464ebd5Sriastradh#define   C_0286D4_PNT_SPRITE_ENA                      0xFFFFFFFD
154401e04c3fSmrg#define   S_0286D4_PNT_SPRITE_OVRD_X(x)                (((unsigned)(x) & 0x7) << 2)
15453464ebd5Sriastradh#define   G_0286D4_PNT_SPRITE_OVRD_X(x)                (((x) >> 2) & 0x7)
15463464ebd5Sriastradh#define   C_0286D4_PNT_SPRITE_OVRD_X                   0xFFFFFFE3
154701e04c3fSmrg#define   S_0286D4_PNT_SPRITE_OVRD_Y(x)                (((unsigned)(x) & 0x7) << 5)
15483464ebd5Sriastradh#define   G_0286D4_PNT_SPRITE_OVRD_Y(x)                (((x) >> 5) & 0x7)
15493464ebd5Sriastradh#define   C_0286D4_PNT_SPRITE_OVRD_Y                   0xFFFFFF1F
155001e04c3fSmrg#define   S_0286D4_PNT_SPRITE_OVRD_Z(x)                (((unsigned)(x) & 0x7) << 8)
15513464ebd5Sriastradh#define   G_0286D4_PNT_SPRITE_OVRD_Z(x)                (((x) >> 8) & 0x7)
15523464ebd5Sriastradh#define   C_0286D4_PNT_SPRITE_OVRD_Z                   0xFFFFF8FF
155301e04c3fSmrg#define   S_0286D4_PNT_SPRITE_OVRD_W(x)                (((unsigned)(x) & 0x7) << 11)
15543464ebd5Sriastradh#define   G_0286D4_PNT_SPRITE_OVRD_W(x)                (((x) >> 11) & 0x7)
15553464ebd5Sriastradh#define   C_0286D4_PNT_SPRITE_OVRD_W                   0xFFFFC7FF
155601e04c3fSmrg#define   S_0286D4_PNT_SPRITE_TOP_1(x)                 (((unsigned)(x) & 0x1) << 14)
15573464ebd5Sriastradh#define   G_0286D4_PNT_SPRITE_TOP_1(x)                 (((x) >> 14) & 0x1)
15583464ebd5Sriastradh#define   C_0286D4_PNT_SPRITE_TOP_1                    0xFFFFBFFF
15593464ebd5Sriastradh#define R_028084_CB_COLOR1_VIEW                      0x028084
15603464ebd5Sriastradh#define R_028088_CB_COLOR2_VIEW                      0x028088
15613464ebd5Sriastradh#define R_02808C_CB_COLOR3_VIEW                      0x02808C
15623464ebd5Sriastradh#define R_028090_CB_COLOR4_VIEW                      0x028090
15633464ebd5Sriastradh#define R_028094_CB_COLOR5_VIEW                      0x028094
15643464ebd5Sriastradh#define R_028098_CB_COLOR6_VIEW                      0x028098
15653464ebd5Sriastradh#define R_02809C_CB_COLOR7_VIEW                      0x02809C
15663464ebd5Sriastradh#define R_028104_CB_COLOR1_MASK                      0x028104
15673464ebd5Sriastradh#define R_028108_CB_COLOR2_MASK                      0x028108
15683464ebd5Sriastradh#define R_02810C_CB_COLOR3_MASK                      0x02810C
15693464ebd5Sriastradh#define R_028110_CB_COLOR4_MASK                      0x028110
15703464ebd5Sriastradh#define R_028114_CB_COLOR5_MASK                      0x028114
15713464ebd5Sriastradh#define R_028118_CB_COLOR6_MASK                      0x028118
15723464ebd5Sriastradh#define R_02811C_CB_COLOR7_MASK                      0x02811C
15733464ebd5Sriastradh#define R_0280E4_CB_COLOR1_FRAG                      0x0280E4
15743464ebd5Sriastradh#define R_0280E8_CB_COLOR2_FRAG                      0x0280E8
15753464ebd5Sriastradh#define R_0280EC_CB_COLOR3_FRAG                      0x0280EC
15763464ebd5Sriastradh#define R_0280F0_CB_COLOR4_FRAG                      0x0280F0
15773464ebd5Sriastradh#define R_0280F4_CB_COLOR5_FRAG                      0x0280F4
15783464ebd5Sriastradh#define R_0280F8_CB_COLOR6_FRAG                      0x0280F8
15793464ebd5Sriastradh#define R_0280FC_CB_COLOR7_FRAG                      0x0280FC
15803464ebd5Sriastradh#define R_0280C4_CB_COLOR1_TILE                      0x0280C4
15813464ebd5Sriastradh#define R_0280C8_CB_COLOR2_TILE                      0x0280C8
15823464ebd5Sriastradh#define R_0280CC_CB_COLOR3_TILE                      0x0280CC
15833464ebd5Sriastradh#define R_0280D0_CB_COLOR4_TILE                      0x0280D0
15843464ebd5Sriastradh#define R_0280D4_CB_COLOR5_TILE                      0x0280D4
15853464ebd5Sriastradh#define R_0280D8_CB_COLOR6_TILE                      0x0280D8
15863464ebd5Sriastradh#define R_0280DC_CB_COLOR7_TILE                      0x0280DC
15873464ebd5Sriastradh#define R_0280A4_CB_COLOR1_INFO                      0x0280A4
15883464ebd5Sriastradh#define R_0280A8_CB_COLOR2_INFO                      0x0280A8
15893464ebd5Sriastradh#define R_0280AC_CB_COLOR3_INFO                      0x0280AC
15903464ebd5Sriastradh#define R_0280B0_CB_COLOR4_INFO                      0x0280B0
15913464ebd5Sriastradh#define R_0280B4_CB_COLOR5_INFO                      0x0280B4
15923464ebd5Sriastradh#define R_0280B8_CB_COLOR6_INFO                      0x0280B8
15933464ebd5Sriastradh#define R_0280BC_CB_COLOR7_INFO                      0x0280BC
1594af69d88dSmrg#define R_028C1C_PA_SC_AA_SAMPLE_LOCS_MCTX           0x028C1C
1595af69d88dSmrg#define R_028C20_PA_SC_AA_SAMPLE_LOCS_8D_WD1_MCTX    0x028C20
15963464ebd5Sriastradh#define R_028C30_CB_CLRCMP_CONTROL                   0x028C30
159701e04c3fSmrg#define   S_028C30_CLRCMP_FCN_SRC(x)                   (((unsigned)(x) & 0x7) << 0)
15983464ebd5Sriastradh#define   G_028C30_CLRCMP_FCN_SRC(x)                   (((x) >> 0) & 0x7)
15993464ebd5Sriastradh#define   C_028C30_CLRCMP_FCN_SRC                      0xFFFFFFF8
160001e04c3fSmrg#define   S_028C30_CLRCMP_FCN_DST(x)                   (((unsigned)(x) & 0x7) << 8)
16013464ebd5Sriastradh#define   G_028C30_CLRCMP_FCN_DST(x)                   (((x) >> 8) & 0x7)
16023464ebd5Sriastradh#define   C_028C30_CLRCMP_FCN_DST                      0xFFFFF8FF
160301e04c3fSmrg#define   S_028C30_CLRCMP_FCN_SEL(x)                   (((unsigned)(x) & 0x3) << 24)
16043464ebd5Sriastradh#define   G_028C30_CLRCMP_FCN_SEL(x)                   (((x) >> 24) & 0x3)
16053464ebd5Sriastradh#define   C_028C30_CLRCMP_FCN_SEL                      0xFCFFFFFF
16063464ebd5Sriastradh#define R_028C20_PA_SC_AA_SAMPLE_LOCS_8S_WD1_MCTX    0x028C20
160701e04c3fSmrg#define   S_028C20_S4_X(x)                             (((unsigned)(x) & 0xF) << 0)
16083464ebd5Sriastradh#define   G_028C20_S4_X(x)                             (((x) >> 0) & 0xF)
16093464ebd5Sriastradh#define   C_028C20_S4_X                                0xFFFFFFF0
161001e04c3fSmrg#define   S_028C20_S4_Y(x)                             (((unsigned)(x) & 0xF) << 4)
16113464ebd5Sriastradh#define   G_028C20_S4_Y(x)                             (((x) >> 4) & 0xF)
16123464ebd5Sriastradh#define   C_028C20_S4_Y                                0xFFFFFF0F
161301e04c3fSmrg#define   S_028C20_S5_X(x)                             (((unsigned)(x) & 0xF) << 8)
16143464ebd5Sriastradh#define   G_028C20_S5_X(x)                             (((x) >> 8) & 0xF)
16153464ebd5Sriastradh#define   C_028C20_S5_X                                0xFFFFF0FF
161601e04c3fSmrg#define   S_028C20_S5_Y(x)                             (((unsigned)(x) & 0xF) << 12)
16173464ebd5Sriastradh#define   G_028C20_S5_Y(x)                             (((x) >> 12) & 0xF)
16183464ebd5Sriastradh#define   C_028C20_S5_Y                                0xFFFF0FFF
161901e04c3fSmrg#define   S_028C20_S6_X(x)                             (((unsigned)(x) & 0xF) << 16)
16203464ebd5Sriastradh#define   G_028C20_S6_X(x)                             (((x) >> 16) & 0xF)
16213464ebd5Sriastradh#define   C_028C20_S6_X                                0xFFF0FFFF
162201e04c3fSmrg#define   S_028C20_S6_Y(x)                             (((unsigned)(x) & 0xF) << 20)
16233464ebd5Sriastradh#define   G_028C20_S6_Y(x)                             (((x) >> 20) & 0xF)
16243464ebd5Sriastradh#define   C_028C20_S6_Y                                0xFF0FFFFF
162501e04c3fSmrg#define   S_028C20_S7_X(x)                             (((unsigned)(x) & 0xF) << 24)
16263464ebd5Sriastradh#define   G_028C20_S7_X(x)                             (((x) >> 24) & 0xF)
16273464ebd5Sriastradh#define   C_028C20_S7_X                                0xF0FFFFFF
162801e04c3fSmrg#define   S_028C20_S7_Y(x)                             (((unsigned)(x) & 0xF) << 28)
16293464ebd5Sriastradh#define   G_028C20_S7_Y(x)                             (((x) >> 28) & 0xF)
16303464ebd5Sriastradh#define   C_028C20_S7_Y                                0x0FFFFFFF
16313464ebd5Sriastradh#define R_0280A0_CB_COLOR0_INFO                      0x0280A0
163201e04c3fSmrg#define   S_0280A0_ENDIAN(x)                           (((unsigned)(x) & 0x3) << 0)
16333464ebd5Sriastradh#define   G_0280A0_ENDIAN(x)                           (((x) >> 0) & 0x3)
16343464ebd5Sriastradh#define   C_0280A0_ENDIAN                              0xFFFFFFFC
163501e04c3fSmrg#define   S_0280A0_FORMAT(x)                           (((unsigned)(x) & 0x3F) << 2)
16363464ebd5Sriastradh#define   G_0280A0_FORMAT(x)                           (((x) >> 2) & 0x3F)
16373464ebd5Sriastradh#define   C_0280A0_FORMAT                              0xFFFFFF03
16383464ebd5Sriastradh#define     V_0280A0_COLOR_INVALID                     0x00000000
16393464ebd5Sriastradh#define     V_0280A0_COLOR_8                           0x00000001
16403464ebd5Sriastradh#define     V_0280A0_COLOR_4_4                         0x00000002
16413464ebd5Sriastradh#define     V_0280A0_COLOR_3_3_2                       0x00000003
16423464ebd5Sriastradh#define     V_0280A0_COLOR_16                          0x00000005
16433464ebd5Sriastradh#define     V_0280A0_COLOR_16_FLOAT                    0x00000006
16443464ebd5Sriastradh#define     V_0280A0_COLOR_8_8                         0x00000007
16453464ebd5Sriastradh#define     V_0280A0_COLOR_5_6_5                       0x00000008
16463464ebd5Sriastradh#define     V_0280A0_COLOR_6_5_5                       0x00000009
16473464ebd5Sriastradh#define     V_0280A0_COLOR_1_5_5_5                     0x0000000A
16483464ebd5Sriastradh#define     V_0280A0_COLOR_4_4_4_4                     0x0000000B
16493464ebd5Sriastradh#define     V_0280A0_COLOR_5_5_5_1                     0x0000000C
16503464ebd5Sriastradh#define     V_0280A0_COLOR_32                          0x0000000D
16513464ebd5Sriastradh#define     V_0280A0_COLOR_32_FLOAT                    0x0000000E
16523464ebd5Sriastradh#define     V_0280A0_COLOR_16_16                       0x0000000F
16533464ebd5Sriastradh#define     V_0280A0_COLOR_16_16_FLOAT                 0x00000010
16543464ebd5Sriastradh#define     V_0280A0_COLOR_8_24                        0x00000011
16553464ebd5Sriastradh#define     V_0280A0_COLOR_8_24_FLOAT                  0x00000012
16563464ebd5Sriastradh#define     V_0280A0_COLOR_24_8                        0x00000013
16573464ebd5Sriastradh#define     V_0280A0_COLOR_24_8_FLOAT                  0x00000014
16583464ebd5Sriastradh#define     V_0280A0_COLOR_10_11_11                    0x00000015
16593464ebd5Sriastradh#define     V_0280A0_COLOR_10_11_11_FLOAT              0x00000016
16603464ebd5Sriastradh#define     V_0280A0_COLOR_11_11_10                    0x00000017
16613464ebd5Sriastradh#define     V_0280A0_COLOR_11_11_10_FLOAT              0x00000018
16623464ebd5Sriastradh#define     V_0280A0_COLOR_2_10_10_10                  0x00000019
16633464ebd5Sriastradh#define     V_0280A0_COLOR_8_8_8_8                     0x0000001A
16643464ebd5Sriastradh#define     V_0280A0_COLOR_10_10_10_2                  0x0000001B
16653464ebd5Sriastradh#define     V_0280A0_COLOR_X24_8_32_FLOAT              0x0000001C
16663464ebd5Sriastradh#define     V_0280A0_COLOR_32_32                       0x0000001D
16673464ebd5Sriastradh#define     V_0280A0_COLOR_32_32_FLOAT                 0x0000001E
16683464ebd5Sriastradh#define     V_0280A0_COLOR_16_16_16_16                 0x0000001F
16693464ebd5Sriastradh#define     V_0280A0_COLOR_16_16_16_16_FLOAT           0x00000020
16703464ebd5Sriastradh#define     V_0280A0_COLOR_32_32_32_32                 0x00000022
16713464ebd5Sriastradh#define     V_0280A0_COLOR_32_32_32_32_FLOAT           0x00000023
167201e04c3fSmrg#define   S_0280A0_ARRAY_MODE(x)                       (((unsigned)(x) & 0xF) << 8)
16733464ebd5Sriastradh#define   G_0280A0_ARRAY_MODE(x)                       (((x) >> 8) & 0xF)
16743464ebd5Sriastradh#define   C_0280A0_ARRAY_MODE                          0xFFFFF0FF
16753464ebd5Sriastradh#define     V_0280A0_ARRAY_LINEAR_GENERAL              0x00000000
16763464ebd5Sriastradh#define     V_0280A0_ARRAY_LINEAR_ALIGNED              0x00000001
16773464ebd5Sriastradh#define     V_0280A0_ARRAY_1D_TILED_THIN1              0x00000002
16783464ebd5Sriastradh#define     V_0280A0_ARRAY_2D_TILED_THIN1              0x00000004
167901e04c3fSmrg#define   S_0280A0_NUMBER_TYPE(x)                      (((unsigned)(x) & 0x7) << 12)
16803464ebd5Sriastradh#define   G_0280A0_NUMBER_TYPE(x)                      (((x) >> 12) & 0x7)
16813464ebd5Sriastradh#define   C_0280A0_NUMBER_TYPE                         0xFFFF8FFF
168201e04c3fSmrg#define   S_0280A0_READ_SIZE(x)                        (((unsigned)(x) & 0x1) << 15)
16833464ebd5Sriastradh#define   G_0280A0_READ_SIZE(x)                        (((x) >> 15) & 0x1)
16843464ebd5Sriastradh#define   C_0280A0_READ_SIZE                           0xFFFF7FFF
168501e04c3fSmrg#define   S_0280A0_COMP_SWAP(x)                        (((unsigned)(x) & 0x3) << 16)
16863464ebd5Sriastradh#define   G_0280A0_COMP_SWAP(x)                        (((x) >> 16) & 0x3)
16873464ebd5Sriastradh#define   C_0280A0_COMP_SWAP                           0xFFFCFFFF
168801e04c3fSmrg#define   S_0280A0_TILE_MODE(x)                        (((unsigned)(x) & 0x3) << 18)
16893464ebd5Sriastradh#define   G_0280A0_TILE_MODE(x)                        (((x) >> 18) & 0x3)
16903464ebd5Sriastradh#define   C_0280A0_TILE_MODE                           0xFFF3FFFF
169101e04c3fSmrg#define   S_0280A0_BLEND_CLAMP(x)                      (((unsigned)(x) & 0x1) << 20)
16923464ebd5Sriastradh#define   G_0280A0_BLEND_CLAMP(x)                      (((x) >> 20) & 0x1)
16933464ebd5Sriastradh#define   C_0280A0_BLEND_CLAMP                         0xFFEFFFFF
169401e04c3fSmrg#define   S_0280A0_CLEAR_COLOR(x)                      (((unsigned)(x) & 0x1) << 21)
16953464ebd5Sriastradh#define   G_0280A0_CLEAR_COLOR(x)                      (((x) >> 21) & 0x1)
16963464ebd5Sriastradh#define   C_0280A0_CLEAR_COLOR                         0xFFDFFFFF
169701e04c3fSmrg#define   S_0280A0_BLEND_BYPASS(x)                     (((unsigned)(x) & 0x1) << 22)
16983464ebd5Sriastradh#define   G_0280A0_BLEND_BYPASS(x)                     (((x) >> 22) & 0x1)
16993464ebd5Sriastradh#define   C_0280A0_BLEND_BYPASS                        0xFFBFFFFF
170001e04c3fSmrg#define   S_0280A0_BLEND_FLOAT32(x)                    (((unsigned)(x) & 0x1) << 23)
17013464ebd5Sriastradh#define   G_0280A0_BLEND_FLOAT32(x)                    (((x) >> 23) & 0x1)
17023464ebd5Sriastradh#define   C_0280A0_BLEND_FLOAT32                       0xFF7FFFFF
170301e04c3fSmrg#define   S_0280A0_SIMPLE_FLOAT(x)                     (((unsigned)(x) & 0x1) << 24)
17043464ebd5Sriastradh#define   G_0280A0_SIMPLE_FLOAT(x)                     (((x) >> 24) & 0x1)
17053464ebd5Sriastradh#define   C_0280A0_SIMPLE_FLOAT                        0xFEFFFFFF
170601e04c3fSmrg#define   S_0280A0_ROUND_MODE(x)                       (((unsigned)(x) & 0x1) << 25)
17073464ebd5Sriastradh#define   G_0280A0_ROUND_MODE(x)                       (((x) >> 25) & 0x1)
17083464ebd5Sriastradh#define   C_0280A0_ROUND_MODE                          0xFDFFFFFF
170901e04c3fSmrg#define   S_0280A0_TILE_COMPACT(x)                     (((unsigned)(x) & 0x1) << 26)
17103464ebd5Sriastradh#define   G_0280A0_TILE_COMPACT(x)                     (((x) >> 26) & 0x1)
17113464ebd5Sriastradh#define   C_0280A0_TILE_COMPACT                        0xFBFFFFFF
171201e04c3fSmrg#define   S_0280A0_SOURCE_FORMAT(x)                    (((unsigned)(x) & 0x1) << 27)
17133464ebd5Sriastradh#define   G_0280A0_SOURCE_FORMAT(x)                    (((x) >> 27) & 0x1)
17143464ebd5Sriastradh#define   C_0280A0_SOURCE_FORMAT                       0xF7FFFFFF
17153464ebd5Sriastradh#define R_028060_CB_COLOR0_SIZE                      0x028060
171601e04c3fSmrg#define   S_028060_PITCH_TILE_MAX(x)                   (((unsigned)(x) & 0x3FF) << 0)
17173464ebd5Sriastradh#define   G_028060_PITCH_TILE_MAX(x)                   (((x) >> 0) & 0x3FF)
17183464ebd5Sriastradh#define   C_028060_PITCH_TILE_MAX                      0xFFFFFC00
171901e04c3fSmrg#define   S_028060_SLICE_TILE_MAX(x)                   (((unsigned)(x) & 0xFFFFF) << 10)
17203464ebd5Sriastradh#define   G_028060_SLICE_TILE_MAX(x)                   (((x) >> 10) & 0xFFFFF)
17213464ebd5Sriastradh#define   C_028060_SLICE_TILE_MAX                      0xC00003FF
17223464ebd5Sriastradh#define R_028800_DB_DEPTH_CONTROL                    0x028800
172301e04c3fSmrg#define   S_028800_STENCIL_ENABLE(x)                   (((unsigned)(x) & 0x1) << 0)
17243464ebd5Sriastradh#define   G_028800_STENCIL_ENABLE(x)                   (((x) >> 0) & 0x1)
17253464ebd5Sriastradh#define   C_028800_STENCIL_ENABLE                      0xFFFFFFFE
172601e04c3fSmrg#define   S_028800_Z_ENABLE(x)                         (((unsigned)(x) & 0x1) << 1)
17273464ebd5Sriastradh#define   G_028800_Z_ENABLE(x)                         (((x) >> 1) & 0x1)
17283464ebd5Sriastradh#define   C_028800_Z_ENABLE                            0xFFFFFFFD
172901e04c3fSmrg#define   S_028800_Z_WRITE_ENABLE(x)                   (((unsigned)(x) & 0x1) << 2)
17303464ebd5Sriastradh#define   G_028800_Z_WRITE_ENABLE(x)                   (((x) >> 2) & 0x1)
17313464ebd5Sriastradh#define   C_028800_Z_WRITE_ENABLE                      0xFFFFFFFB
173201e04c3fSmrg#define   S_028800_ZFUNC(x)                            (((unsigned)(x) & 0x7) << 4)
17333464ebd5Sriastradh#define   G_028800_ZFUNC(x)                            (((x) >> 4) & 0x7)
17343464ebd5Sriastradh#define   C_028800_ZFUNC                               0xFFFFFF8F
173501e04c3fSmrg#define   S_028800_BACKFACE_ENABLE(x)                  (((unsigned)(x) & 0x1) << 7)
17363464ebd5Sriastradh#define   G_028800_BACKFACE_ENABLE(x)                  (((x) >> 7) & 0x1)
17373464ebd5Sriastradh#define   C_028800_BACKFACE_ENABLE                     0xFFFFFF7F
173801e04c3fSmrg#define   S_028800_STENCILFUNC(x)                      (((unsigned)(x) & 0x7) << 8)
17393464ebd5Sriastradh#define   G_028800_STENCILFUNC(x)                      (((x) >> 8) & 0x7)
17403464ebd5Sriastradh#define   C_028800_STENCILFUNC                         0xFFFFF8FF
174101e04c3fSmrg#define   S_028800_STENCILFAIL(x)                      (((unsigned)(x) & 0x7) << 11)
17423464ebd5Sriastradh#define   G_028800_STENCILFAIL(x)                      (((x) >> 11) & 0x7)
17433464ebd5Sriastradh#define   C_028800_STENCILFAIL                         0xFFFFC7FF
174401e04c3fSmrg#define   S_028800_STENCILZPASS(x)                     (((unsigned)(x) & 0x7) << 14)
17453464ebd5Sriastradh#define   G_028800_STENCILZPASS(x)                     (((x) >> 14) & 0x7)
17463464ebd5Sriastradh#define   C_028800_STENCILZPASS                        0xFFFE3FFF
174701e04c3fSmrg#define   S_028800_STENCILZFAIL(x)                     (((unsigned)(x) & 0x7) << 17)
17483464ebd5Sriastradh#define   G_028800_STENCILZFAIL(x)                     (((x) >> 17) & 0x7)
17493464ebd5Sriastradh#define   C_028800_STENCILZFAIL                        0xFFF1FFFF
175001e04c3fSmrg#define   S_028800_STENCILFUNC_BF(x)                   (((unsigned)(x) & 0x7) << 20)
17513464ebd5Sriastradh#define   G_028800_STENCILFUNC_BF(x)                   (((x) >> 20) & 0x7)
17523464ebd5Sriastradh#define   C_028800_STENCILFUNC_BF                      0xFF8FFFFF
175301e04c3fSmrg#define   S_028800_STENCILFAIL_BF(x)                   (((unsigned)(x) & 0x7) << 23)
17543464ebd5Sriastradh#define   G_028800_STENCILFAIL_BF(x)                   (((x) >> 23) & 0x7)
17553464ebd5Sriastradh#define   C_028800_STENCILFAIL_BF                      0xFC7FFFFF
175601e04c3fSmrg#define   S_028800_STENCILZPASS_BF(x)                  (((unsigned)(x) & 0x7) << 26)
17573464ebd5Sriastradh#define   G_028800_STENCILZPASS_BF(x)                  (((x) >> 26) & 0x7)
17583464ebd5Sriastradh#define   C_028800_STENCILZPASS_BF                     0xE3FFFFFF
175901e04c3fSmrg#define   S_028800_STENCILZFAIL_BF(x)                  (((unsigned)(x) & 0x7) << 29)
17603464ebd5Sriastradh#define   G_028800_STENCILZFAIL_BF(x)                  (((x) >> 29) & 0x7)
17613464ebd5Sriastradh#define   C_028800_STENCILZFAIL_BF                     0x1FFFFFFF
17623464ebd5Sriastradh#define R_028010_DB_DEPTH_INFO                       0x028010
176301e04c3fSmrg#define   S_028010_FORMAT(x)                           (((unsigned)(x) & 0x7) << 0)
17643464ebd5Sriastradh#define   G_028010_FORMAT(x)                           (((x) >> 0) & 0x7)
17653464ebd5Sriastradh#define   C_028010_FORMAT                              0xFFFFFFF8
17663464ebd5Sriastradh#define     V_028010_DEPTH_INVALID                     0x00000000
17673464ebd5Sriastradh#define     V_028010_DEPTH_16                          0x00000001
17683464ebd5Sriastradh#define     V_028010_DEPTH_X8_24                       0x00000002
17693464ebd5Sriastradh#define     V_028010_DEPTH_8_24                        0x00000003
17703464ebd5Sriastradh#define     V_028010_DEPTH_X8_24_FLOAT                 0x00000004
17713464ebd5Sriastradh#define     V_028010_DEPTH_8_24_FLOAT                  0x00000005
17723464ebd5Sriastradh#define     V_028010_DEPTH_32_FLOAT                    0x00000006
17733464ebd5Sriastradh#define     V_028010_DEPTH_X24_8_32_FLOAT              0x00000007
177401e04c3fSmrg#define   S_028010_READ_SIZE(x)                        (((unsigned)(x) & 0x1) << 3)
17753464ebd5Sriastradh#define   G_028010_READ_SIZE(x)                        (((x) >> 3) & 0x1)
17763464ebd5Sriastradh#define   C_028010_READ_SIZE                           0xFFFFFFF7
177701e04c3fSmrg#define   S_028010_ARRAY_MODE(x)                       (((unsigned)(x) & 0xF) << 15)
17783464ebd5Sriastradh#define   G_028010_ARRAY_MODE(x)                       (((x) >> 15) & 0xF)
17793464ebd5Sriastradh#define   C_028010_ARRAY_MODE                          0xFFF87FFF
178001e04c3fSmrg#define   S_028010_TILE_SURFACE_ENABLE(x)              (((unsigned)(x) & 0x1) << 25)
17813464ebd5Sriastradh#define   G_028010_TILE_SURFACE_ENABLE(x)              (((x) >> 25) & 0x1)
17823464ebd5Sriastradh#define   C_028010_TILE_SURFACE_ENABLE                 0xFDFFFFFF
178301e04c3fSmrg#define   S_028010_TILE_COMPACT(x)                     (((unsigned)(x) & 0x1) << 26)
17843464ebd5Sriastradh#define   G_028010_TILE_COMPACT(x)                     (((x) >> 26) & 0x1)
17853464ebd5Sriastradh#define   C_028010_TILE_COMPACT                        0xFBFFFFFF
178601e04c3fSmrg#define   S_028010_ZRANGE_PRECISION(x)                 (((unsigned)(x) & 0x1) << 31)
17873464ebd5Sriastradh#define   G_028010_ZRANGE_PRECISION(x)                 (((x) >> 31) & 0x1)
17883464ebd5Sriastradh#define   C_028010_ZRANGE_PRECISION                    0x7FFFFFFF
17893464ebd5Sriastradh#define R_028000_DB_DEPTH_SIZE                       0x028000
179001e04c3fSmrg#define   S_028000_PITCH_TILE_MAX(x)                   (((unsigned)(x) & 0x3FF) << 0)
17913464ebd5Sriastradh#define   G_028000_PITCH_TILE_MAX(x)                   (((x) >> 0) & 0x3FF)
17923464ebd5Sriastradh#define   C_028000_PITCH_TILE_MAX                      0xFFFFFC00
179301e04c3fSmrg#define   S_028000_SLICE_TILE_MAX(x)                   (((unsigned)(x) & 0xFFFFF) << 10)
17943464ebd5Sriastradh#define   G_028000_SLICE_TILE_MAX(x)                   (((x) >> 10) & 0xFFFFF)
17953464ebd5Sriastradh#define   C_028000_SLICE_TILE_MAX                      0xC00003FF
17963464ebd5Sriastradh#define R_028004_DB_DEPTH_VIEW                       0x028004
179701e04c3fSmrg#define   S_028004_SLICE_START(x)                      (((unsigned)(x) & 0x7FF) << 0)
17983464ebd5Sriastradh#define   G_028004_SLICE_START(x)                      (((x) >> 0) & 0x7FF)
17993464ebd5Sriastradh#define   C_028004_SLICE_START                         0xFFFFF800
180001e04c3fSmrg#define   S_028004_SLICE_MAX(x)                        (((unsigned)(x) & 0x7FF) << 13)
18013464ebd5Sriastradh#define   G_028004_SLICE_MAX(x)                        (((x) >> 13) & 0x7FF)
18023464ebd5Sriastradh#define   C_028004_SLICE_MAX                           0xFF001FFF
18033464ebd5Sriastradh#define R_028D24_DB_HTILE_SURFACE                    0x028D24
180401e04c3fSmrg#define   S_028D24_HTILE_WIDTH(x)                      (((unsigned)(x) & 0x1) << 0)
18053464ebd5Sriastradh#define   G_028D24_HTILE_WIDTH(x)                      (((x) >> 0) & 0x1)
18063464ebd5Sriastradh#define   C_028D24_HTILE_WIDTH                         0xFFFFFFFE
180701e04c3fSmrg#define   S_028D24_HTILE_HEIGHT(x)                     (((unsigned)(x) & 0x1) << 1)
18083464ebd5Sriastradh#define   G_028D24_HTILE_HEIGHT(x)                     (((x) >> 1) & 0x1)
18093464ebd5Sriastradh#define   C_028D24_HTILE_HEIGHT                        0xFFFFFFFD
181001e04c3fSmrg#define   S_028D24_LINEAR(x)                           (((unsigned)(x) & 0x1) << 2)
18113464ebd5Sriastradh#define   G_028D24_LINEAR(x)                           (((x) >> 2) & 0x1)
18123464ebd5Sriastradh#define   C_028D24_LINEAR                              0xFFFFFFFB
181301e04c3fSmrg#define   S_028D24_FULL_CACHE(x)                       (((unsigned)(x) & 0x1) << 3)
18143464ebd5Sriastradh#define   G_028D24_FULL_CACHE(x)                       (((x) >> 3) & 0x1)
18153464ebd5Sriastradh#define   C_028D24_FULL_CACHE                          0xFFFFFFF7
181601e04c3fSmrg#define   S_028D24_HTILE_USES_PRELOAD_WIN(x)           (((unsigned)(x) & 0x1) << 4)
18173464ebd5Sriastradh#define   G_028D24_HTILE_USES_PRELOAD_WIN(x)           (((x) >> 4) & 0x1)
18183464ebd5Sriastradh#define   C_028D24_HTILE_USES_PRELOAD_WIN              0xFFFFFFEF
181901e04c3fSmrg#define   S_028D24_PRELOAD(x)                          (((unsigned)(x) & 0x1) << 5)
18203464ebd5Sriastradh#define   G_028D24_PRELOAD(x)                          (((x) >> 5) & 0x1)
18213464ebd5Sriastradh#define   C_028D24_PRELOAD                             0xFFFFFFDF
182201e04c3fSmrg#define   S_028D24_PREFETCH_WIDTH(x)                   (((unsigned)(x) & 0x3F) << 6)
18233464ebd5Sriastradh#define   G_028D24_PREFETCH_WIDTH(x)                   (((x) >> 6) & 0x3F)
18243464ebd5Sriastradh#define   C_028D24_PREFETCH_WIDTH                      0xFFFFF03F
182501e04c3fSmrg#define   S_028D24_PREFETCH_HEIGHT(x)                  (((unsigned)(x) & 0x3F) << 12)
18263464ebd5Sriastradh#define   G_028D24_PREFETCH_HEIGHT(x)                  (((x) >> 12) & 0x3F)
18273464ebd5Sriastradh#define   C_028D24_PREFETCH_HEIGHT                     0xFFFC0FFF
18283464ebd5Sriastradh#define R_028D34_DB_PREFETCH_LIMIT                   0x028D34
182901e04c3fSmrg#define   S_028D34_DEPTH_HEIGHT_TILE_MAX(x)            (((unsigned)(x) & 0x3FF) << 0)
18303464ebd5Sriastradh#define   G_028D34_DEPTH_HEIGHT_TILE_MAX(x)            (((x) >> 0) & 0x3FF)
18313464ebd5Sriastradh#define   C_028D34_DEPTH_HEIGHT_TILE_MAX               0xFFFFFC00
18323464ebd5Sriastradh#define R_028D10_DB_RENDER_OVERRIDE                  0x028D10
183301e04c3fSmrg#define   S_028D10_FORCE_HIZ_ENABLE(x)                 (((unsigned)(x) & 0x3) << 0)
18343464ebd5Sriastradh#define   G_028D10_FORCE_HIZ_ENABLE(x)                 (((x) >> 0) & 0x3)
18353464ebd5Sriastradh#define   C_028D10_FORCE_HIZ_ENABLE                    0xFFFFFFFC
183601e04c3fSmrg#define   S_028D10_FORCE_HIS_ENABLE0(x)                (((unsigned)(x) & 0x3) << 2)
18373464ebd5Sriastradh#define   G_028D10_FORCE_HIS_ENABLE0(x)                (((x) >> 2) & 0x3)
18383464ebd5Sriastradh#define   C_028D10_FORCE_HIS_ENABLE0                   0xFFFFFFF3
183901e04c3fSmrg#define   S_028D10_FORCE_HIS_ENABLE1(x)                (((unsigned)(x) & 0x3) << 4)
18403464ebd5Sriastradh#define   G_028D10_FORCE_HIS_ENABLE1(x)                (((x) >> 4) & 0x3)
18413464ebd5Sriastradh#define   C_028D10_FORCE_HIS_ENABLE1                   0xFFFFFFCF
184201e04c3fSmrg#define   S_028D10_FORCE_SHADER_Z_ORDER(x)             (((unsigned)(x) & 0x1) << 6)
18433464ebd5Sriastradh#define   G_028D10_FORCE_SHADER_Z_ORDER(x)             (((x) >> 6) & 0x1)
18443464ebd5Sriastradh#define   C_028D10_FORCE_SHADER_Z_ORDER                0xFFFFFFBF
184501e04c3fSmrg#define   S_028D10_FAST_Z_DISABLE(x)                   (((unsigned)(x) & 0x1) << 7)
18463464ebd5Sriastradh#define   G_028D10_FAST_Z_DISABLE(x)                   (((x) >> 7) & 0x1)
18473464ebd5Sriastradh#define   C_028D10_FAST_Z_DISABLE                      0xFFFFFF7F
184801e04c3fSmrg#define   S_028D10_FAST_STENCIL_DISABLE(x)             (((unsigned)(x) & 0x1) << 8)
18493464ebd5Sriastradh#define   G_028D10_FAST_STENCIL_DISABLE(x)             (((x) >> 8) & 0x1)
18503464ebd5Sriastradh#define   C_028D10_FAST_STENCIL_DISABLE                0xFFFFFEFF
185101e04c3fSmrg#define   S_028D10_NOOP_CULL_DISABLE(x)                (((unsigned)(x) & 0x1) << 9)
18523464ebd5Sriastradh#define   G_028D10_NOOP_CULL_DISABLE(x)                (((x) >> 9) & 0x1)
18533464ebd5Sriastradh#define   C_028D10_NOOP_CULL_DISABLE                   0xFFFFFDFF
185401e04c3fSmrg#define   S_028D10_FORCE_COLOR_KILL(x)                 (((unsigned)(x) & 0x1) << 10)
18553464ebd5Sriastradh#define   G_028D10_FORCE_COLOR_KILL(x)                 (((x) >> 10) & 0x1)
18563464ebd5Sriastradh#define   C_028D10_FORCE_COLOR_KILL                    0xFFFFFBFF
185701e04c3fSmrg#define   S_028D10_FORCE_Z_READ(x)                     (((unsigned)(x) & 0x1) << 11)
18583464ebd5Sriastradh#define   G_028D10_FORCE_Z_READ(x)                     (((x) >> 11) & 0x1)
18593464ebd5Sriastradh#define   C_028D10_FORCE_Z_READ                        0xFFFFF7FF
186001e04c3fSmrg#define   S_028D10_FORCE_STENCIL_READ(x)               (((unsigned)(x) & 0x1) << 12)
18613464ebd5Sriastradh#define   G_028D10_FORCE_STENCIL_READ(x)               (((x) >> 12) & 0x1)
18623464ebd5Sriastradh#define   C_028D10_FORCE_STENCIL_READ                  0xFFFFEFFF
186301e04c3fSmrg#define   S_028D10_FORCE_FULL_Z_RANGE(x)               (((unsigned)(x) & 0x3) << 13)
18643464ebd5Sriastradh#define   G_028D10_FORCE_FULL_Z_RANGE(x)               (((x) >> 13) & 0x3)
18653464ebd5Sriastradh#define   C_028D10_FORCE_FULL_Z_RANGE                  0xFFFF9FFF
186601e04c3fSmrg#define   S_028D10_FORCE_QC_SMASK_CONFLICT(x)          (((unsigned)(x) & 0x1) << 15)
18673464ebd5Sriastradh#define   G_028D10_FORCE_QC_SMASK_CONFLICT(x)          (((x) >> 15) & 0x1)
18683464ebd5Sriastradh#define   C_028D10_FORCE_QC_SMASK_CONFLICT             0xFFFF7FFF
186901e04c3fSmrg#define   S_028D10_DISABLE_VIEWPORT_CLAMP(x)           (((unsigned)(x) & 0x1) << 16)
18703464ebd5Sriastradh#define   G_028D10_DISABLE_VIEWPORT_CLAMP(x)           (((x) >> 16) & 0x1)
18713464ebd5Sriastradh#define   C_028D10_DISABLE_VIEWPORT_CLAMP              0xFFFEFFFF
187201e04c3fSmrg#define   S_028D10_IGNORE_SC_ZRANGE(x)                 (((unsigned)(x) & 0x1) << 17)
18733464ebd5Sriastradh#define   G_028D10_IGNORE_SC_ZRANGE(x)                 (((x) >> 17) & 0x1)
18743464ebd5Sriastradh#define   C_028D10_IGNORE_SC_ZRANGE                    0xFFFDFFFF
18753464ebd5Sriastradh#define R_028A40_VGT_GS_MODE                         0x028A40
187601e04c3fSmrg#define   S_028A40_MODE(x)                             (((unsigned)(x) & 0x3) << 0)
18773464ebd5Sriastradh#define   G_028A40_MODE(x)                             (((x) >> 0) & 0x3)
18783464ebd5Sriastradh#define   C_028A40_MODE                                0xFFFFFFFC
1879af69d88dSmrg#define     V_028A40_GS_OFF                            0
1880af69d88dSmrg#define     V_028A40_GS_SCENARIO_A                     1
1881af69d88dSmrg#define     V_028A40_GS_SCENARIO_B                     2
1882af69d88dSmrg#define     V_028A40_GS_SCENARIO_G                     3
188301e04c3fSmrg#define   S_028A40_ES_PASSTHRU(x)                      (((unsigned)(x) & 0x1) << 2)
18843464ebd5Sriastradh#define   G_028A40_ES_PASSTHRU(x)                      (((x) >> 2) & 0x1)
18853464ebd5Sriastradh#define   C_028A40_ES_PASSTHRU                         0xFFFFFFFB
188601e04c3fSmrg#define   S_028A40_CUT_MODE(x)                         (((unsigned)(x) & 0x3) << 3)
18873464ebd5Sriastradh#define   G_028A40_CUT_MODE(x)                         (((x) >> 3) & 0x3)
18883464ebd5Sriastradh#define   C_028A40_CUT_MODE                            0xFFFFFFE7
1889af69d88dSmrg#define     V_028A40_GS_CUT_1024                       0
1890af69d88dSmrg#define     V_028A40_GS_CUT_512                        1
1891af69d88dSmrg#define     V_028A40_GS_CUT_256                        2
1892af69d88dSmrg#define     V_028A40_GS_CUT_128                        3
18933464ebd5Sriastradh#define R_008DFC_SQ_CF_WORD0                         0x008DFC
189401e04c3fSmrg#define   S_008DFC_ADDR(x)                             (((unsigned)(x) & 0xFFFFFFFF) << 0)
18953464ebd5Sriastradh#define   G_008DFC_ADDR(x)                             (((x) >> 0) & 0xFFFFFFFF)
18963464ebd5Sriastradh#define   C_008DFC_ADDR                                0x00000000
18973464ebd5Sriastradh#define R_008DFC_SQ_CF_WORD1                         0x008DFC
189801e04c3fSmrg#define   S_008DFC_POP_COUNT(x)                        (((unsigned)(x) & 0x7) << 0)
18993464ebd5Sriastradh#define   G_008DFC_POP_COUNT(x)                        (((x) >> 0) & 0x7)
19003464ebd5Sriastradh#define   C_008DFC_POP_COUNT                           0xFFFFFFF8
190101e04c3fSmrg#define   S_008DFC_CF_CONST(x)                         (((unsigned)(x) & 0x1F) << 3)
19023464ebd5Sriastradh#define   G_008DFC_CF_CONST(x)                         (((x) >> 3) & 0x1F)
19033464ebd5Sriastradh#define   C_008DFC_CF_CONST                            0xFFFFFF07
190401e04c3fSmrg#define   S_008DFC_COND(x)                             (((unsigned)(x) & 0x3) << 8)
19053464ebd5Sriastradh#define   G_008DFC_COND(x)                             (((x) >> 8) & 0x3)
19063464ebd5Sriastradh#define   C_008DFC_COND                                0xFFFFFCFF
190701e04c3fSmrg#define   S_008DFC_COUNT(x)                            (((unsigned)(x) & 0x7) << 10)
19083464ebd5Sriastradh#define   G_008DFC_COUNT(x)                            (((x) >> 10) & 0x7)
19093464ebd5Sriastradh#define   C_008DFC_COUNT                               0xFFFFE3FF
191001e04c3fSmrg#define   S_008DFC_CALL_COUNT(x)                       (((unsigned)(x) & 0x3F) << 13)
19113464ebd5Sriastradh#define   G_008DFC_CALL_COUNT(x)                       (((x) >> 13) & 0x3F)
19123464ebd5Sriastradh#define   C_008DFC_CALL_COUNT                          0xFFF81FFF
191301e04c3fSmrg#define   S_008DFC_END_OF_PROGRAM(x)                   (((unsigned)(x) & 0x1) << 21)
19143464ebd5Sriastradh#define   G_008DFC_END_OF_PROGRAM(x)                   (((x) >> 21) & 0x1)
19153464ebd5Sriastradh#define   C_008DFC_END_OF_PROGRAM                      0xFFDFFFFF
191601e04c3fSmrg#define   S_008DFC_VALID_PIXEL_MODE(x)                 (((unsigned)(x) & 0x1) << 22)
19173464ebd5Sriastradh#define   G_008DFC_VALID_PIXEL_MODE(x)                 (((x) >> 22) & 0x1)
19183464ebd5Sriastradh#define   C_008DFC_VALID_PIXEL_MODE                    0xFFBFFFFF
191901e04c3fSmrg#define   S_008DFC_CF_INST(x)                          (((unsigned)(x) & 0x7F) << 23)
19203464ebd5Sriastradh#define   G_008DFC_CF_INST(x)                          (((x) >> 23) & 0x7F)
19213464ebd5Sriastradh#define   C_008DFC_CF_INST                             0xC07FFFFF
192201e04c3fSmrg#define   S_008DFC_WHOLE_QUAD_MODE(x)                  (((unsigned)(x) & 0x1) << 30)
19233464ebd5Sriastradh#define   G_008DFC_WHOLE_QUAD_MODE(x)                  (((x) >> 30) & 0x1)
19243464ebd5Sriastradh#define   C_008DFC_WHOLE_QUAD_MODE                     0xBFFFFFFF
192501e04c3fSmrg#define   S_008DFC_BARRIER(x)                          (((unsigned)(x) & 0x1) << 31)
19263464ebd5Sriastradh#define   G_008DFC_BARRIER(x)                          (((x) >> 31) & 0x1)
19273464ebd5Sriastradh#define   C_008DFC_BARRIER                             0x7FFFFFFF
19283464ebd5Sriastradh#define R_008DFC_SQ_CF_ALU_WORD0                     0x008DFC
192901e04c3fSmrg#define   S_008DFC_ALU_ADDR(x)                         (((unsigned)(x) & 0x3FFFFF) << 0)
19303464ebd5Sriastradh#define   G_008DFC_ALU_ADDR(x)                         (((x) >> 0) & 0x3FFFFF)
19313464ebd5Sriastradh#define   C_008DFC_ALU_ADDR                            0xFFC00000
193201e04c3fSmrg#define   S_008DFC_KCACHE_BANK0(x)                     (((unsigned)(x) & 0xF) << 22)
19333464ebd5Sriastradh#define   G_008DFC_KCACHE_BANK0(x)                     (((x) >> 22) & 0xF)
19343464ebd5Sriastradh#define   C_008DFC_KCACHE_BANK0                        0xFC3FFFFF
193501e04c3fSmrg#define   S_008DFC_KCACHE_BANK1(x)                     (((unsigned)(x) & 0xF) << 26)
19363464ebd5Sriastradh#define   G_008DFC_KCACHE_BANK1(x)                     (((x) >> 26) & 0xF)
19373464ebd5Sriastradh#define   C_008DFC_KCACHE_BANK1                        0xC3FFFFFF
193801e04c3fSmrg#define   S_008DFC_KCACHE_MODE0(x)                     (((unsigned)(x) & 0x3) << 30)
19393464ebd5Sriastradh#define   G_008DFC_KCACHE_MODE0(x)                     (((x) >> 30) & 0x3)
19403464ebd5Sriastradh#define   C_008DFC_KCACHE_MODE0                        0x3FFFFFFF
19413464ebd5Sriastradh#define R_008DFC_SQ_CF_ALU_WORD1                     0x008DFC
194201e04c3fSmrg#define   S_008DFC_KCACHE_MODE1(x)                     (((unsigned)(x) & 0x3) << 0)
19433464ebd5Sriastradh#define   G_008DFC_KCACHE_MODE1(x)                     (((x) >> 0) & 0x3)
19443464ebd5Sriastradh#define   C_008DFC_KCACHE_MODE1                        0xFFFFFFFC
194501e04c3fSmrg#define   S_008DFC_KCACHE_ADDR0(x)                     (((unsigned)(x) & 0xFF) << 2)
19463464ebd5Sriastradh#define   G_008DFC_KCACHE_ADDR0(x)                     (((x) >> 2) & 0xFF)
19473464ebd5Sriastradh#define   C_008DFC_KCACHE_ADDR0                        0xFFFFFC03
194801e04c3fSmrg#define   S_008DFC_KCACHE_ADDR1(x)                     (((unsigned)(x) & 0xFF) << 10)
19493464ebd5Sriastradh#define   G_008DFC_KCACHE_ADDR1(x)                     (((x) >> 10) & 0xFF)
19503464ebd5Sriastradh#define   C_008DFC_KCACHE_ADDR1                        0xFFFC03FF
195101e04c3fSmrg#define   S_008DFC_ALU_COUNT(x)                        (((unsigned)(x) & 0x7F) << 18)
19523464ebd5Sriastradh#define   G_008DFC_ALU_COUNT(x)                        (((x) >> 18) & 0x7F)
19533464ebd5Sriastradh#define   C_008DFC_ALU_COUNT                           0xFE03FFFF
195401e04c3fSmrg#define   S_008DFC_USES_WATERFALL(x)                   (((unsigned)(x) & 0x1) << 25)
19553464ebd5Sriastradh#define   G_008DFC_USES_WATERFALL(x)                   (((x) >> 25) & 0x1)
19563464ebd5Sriastradh#define   C_008DFC_USES_WATERFALL                      0xFDFFFFFF
195701e04c3fSmrg#define   S_008DFC_CF_ALU_INST(x)                      (((unsigned)(x) & 0xF) << 26)
19583464ebd5Sriastradh#define   G_008DFC_CF_ALU_INST(x)                      (((x) >> 26) & 0xF)
19593464ebd5Sriastradh#define   C_008DFC_CF_ALU_INST                         0xC3FFFFFF
19603464ebd5Sriastradh#define     V_008DFC_SQ_CF_INST_ALU                    0x00000008
19613464ebd5Sriastradh#define     V_008DFC_SQ_CF_INST_ALU_PUSH_BEFORE        0x00000009
19623464ebd5Sriastradh#define     V_008DFC_SQ_CF_INST_ALU_POP_AFTER          0x0000000A
19633464ebd5Sriastradh#define     V_008DFC_SQ_CF_INST_ALU_POP2_AFTER         0x0000000B
19643464ebd5Sriastradh#define     V_008DFC_SQ_CF_INST_ALU_CONTINUE           0x0000000D
19653464ebd5Sriastradh#define     V_008DFC_SQ_CF_INST_ALU_BREAK              0x0000000E
19663464ebd5Sriastradh#define     V_008DFC_SQ_CF_INST_ALU_ELSE_AFTER         0x0000000F
196701e04c3fSmrg#define   S_008DFC_WHOLE_QUAD_MODE(x)                  (((unsigned)(x) & 0x1) << 30)
19683464ebd5Sriastradh#define   G_008DFC_WHOLE_QUAD_MODE(x)                  (((x) >> 30) & 0x1)
19693464ebd5Sriastradh#define   C_008DFC_WHOLE_QUAD_MODE                     0xBFFFFFFF
197001e04c3fSmrg#define   S_008DFC_BARRIER(x)                          (((unsigned)(x) & 0x1) << 31)
19713464ebd5Sriastradh#define   G_008DFC_BARRIER(x)                          (((x) >> 31) & 0x1)
19723464ebd5Sriastradh#define   C_008DFC_BARRIER                             0x7FFFFFFF
19733464ebd5Sriastradh#define R_008DFC_SQ_CF_ALLOC_EXPORT_WORD0            0x008DFC
197401e04c3fSmrg#define   S_008DFC_ARRAY_BASE(x)                       (((unsigned)(x) & 0x1FFF) << 0)
19753464ebd5Sriastradh#define   G_008DFC_ARRAY_BASE(x)                       (((x) >> 0) & 0x1FFF)
19763464ebd5Sriastradh#define   C_008DFC_ARRAY_BASE                          0xFFFFE000
197701e04c3fSmrg#define   S_008DFC_TYPE(x)                             (((unsigned)(x) & 0x3) << 13)
19783464ebd5Sriastradh#define   G_008DFC_TYPE(x)                             (((x) >> 13) & 0x3)
19793464ebd5Sriastradh#define   C_008DFC_TYPE                                0xFFFF9FFF
198001e04c3fSmrg#define   S_008DFC_RW_GPR(x)                           (((unsigned)(x) & 0x7F) << 15)
19813464ebd5Sriastradh#define   G_008DFC_RW_GPR(x)                           (((x) >> 15) & 0x7F)
19823464ebd5Sriastradh#define   C_008DFC_RW_GPR                              0xFFC07FFF
198301e04c3fSmrg#define   S_008DFC_RW_REL(x)                           (((unsigned)(x) & 0x1) << 22)
19843464ebd5Sriastradh#define   G_008DFC_RW_REL(x)                           (((x) >> 22) & 0x1)
19853464ebd5Sriastradh#define   C_008DFC_RW_REL                              0xFFBFFFFF
198601e04c3fSmrg#define   S_008DFC_INDEX_GPR(x)                        (((unsigned)(x) & 0x7F) << 23)
19873464ebd5Sriastradh#define   G_008DFC_INDEX_GPR(x)                        (((x) >> 23) & 0x7F)
19883464ebd5Sriastradh#define   C_008DFC_INDEX_GPR                           0xC07FFFFF
198901e04c3fSmrg#define   S_008DFC_ELEM_SIZE(x)                        (((unsigned)(x) & 0x3) << 30)
19903464ebd5Sriastradh#define   G_008DFC_ELEM_SIZE(x)                        (((x) >> 30) & 0x3)
19913464ebd5Sriastradh#define   C_008DFC_ELEM_SIZE                           0x3FFFFFFF
19923464ebd5Sriastradh#define R_008DFC_SQ_CF_ALLOC_EXPORT_WORD1            0x008DFC
199301e04c3fSmrg#define   S_008DFC_BURST_COUNT(x)                      (((unsigned)(x) & 0xF) << 17)
19943464ebd5Sriastradh#define   G_008DFC_BURST_COUNT(x)                      (((x) >> 17) & 0xF)
19953464ebd5Sriastradh#define   C_008DFC_BURST_COUNT                         0xFFE1FFFF
199601e04c3fSmrg#define   S_008DFC_END_OF_PROGRAM(x)                   (((unsigned)(x) & 0x1) << 21)
19973464ebd5Sriastradh#define   G_008DFC_END_OF_PROGRAM(x)                   (((x) >> 21) & 0x1)
19983464ebd5Sriastradh#define   C_008DFC_END_OF_PROGRAM                      0xFFDFFFFF
199901e04c3fSmrg#define   S_008DFC_VALID_PIXEL_MODE(x)                 (((unsigned)(x) & 0x1) << 22)
20003464ebd5Sriastradh#define   G_008DFC_VALID_PIXEL_MODE(x)                 (((x) >> 22) & 0x1)
20013464ebd5Sriastradh#define   C_008DFC_VALID_PIXEL_MODE                    0xFFBFFFFF
200201e04c3fSmrg#define   S_008DFC_CF_INST(x)                          (((unsigned)(x) & 0x7F) << 23)
20033464ebd5Sriastradh#define   G_008DFC_CF_INST(x)                          (((x) >> 23) & 0x7F)
20043464ebd5Sriastradh#define   C_008DFC_CF_INST                             0xC07FFFFF
200501e04c3fSmrg#define   S_008DFC_WHOLE_QUAD_MODE(x)                  (((unsigned)(x) & 0x1) << 30)
20063464ebd5Sriastradh#define   G_008DFC_WHOLE_QUAD_MODE(x)                  (((x) >> 30) & 0x1)
20073464ebd5Sriastradh#define   C_008DFC_WHOLE_QUAD_MODE                     0xBFFFFFFF
200801e04c3fSmrg#define   S_008DFC_BARRIER(x)                          (((unsigned)(x) & 0x1) << 31)
20093464ebd5Sriastradh#define   G_008DFC_BARRIER(x)                          (((x) >> 31) & 0x1)
20103464ebd5Sriastradh#define   C_008DFC_BARRIER                             0x7FFFFFFF
20113464ebd5Sriastradh#define R_008DFC_SQ_CF_ALLOC_EXPORT_WORD1_BUF        0x008DFC
201201e04c3fSmrg#define   S_008DFC_ARRAY_SIZE(x)                       (((unsigned)(x) & 0xFFF) << 0)
20133464ebd5Sriastradh#define   G_008DFC_ARRAY_SIZE(x)                       (((x) >> 0) & 0xFFF)
20143464ebd5Sriastradh#define   C_008DFC_ARRAY_SIZE                          0xFFFFF000
201501e04c3fSmrg#define   S_008DFC_COMP_MASK(x)                        (((unsigned)(x) & 0xF) << 12)
20163464ebd5Sriastradh#define   G_008DFC_COMP_MASK(x)                        (((x) >> 12) & 0xF)
20173464ebd5Sriastradh#define   C_008DFC_COMP_MASK                           0xFFFF0FFF
20183464ebd5Sriastradh#define R_008DFC_SQ_CF_ALLOC_EXPORT_WORD1_SWIZ       0x008DFC
201901e04c3fSmrg#define   S_008DFC_SEL_X(x)                            (((unsigned)(x) & 0x7) << 0)
20203464ebd5Sriastradh#define   G_008DFC_SEL_X(x)                            (((x) >> 0) & 0x7)
20213464ebd5Sriastradh#define   C_008DFC_SEL_X                               0xFFFFFFF8
202201e04c3fSmrg#define   S_008DFC_SEL_Y(x)                            (((unsigned)(x) & 0x7) << 3)
20233464ebd5Sriastradh#define   G_008DFC_SEL_Y(x)                            (((x) >> 3) & 0x7)
20243464ebd5Sriastradh#define   C_008DFC_SEL_Y                               0xFFFFFFC7
202501e04c3fSmrg#define   S_008DFC_SEL_Z(x)                            (((unsigned)(x) & 0x7) << 6)
20263464ebd5Sriastradh#define   G_008DFC_SEL_Z(x)                            (((x) >> 6) & 0x7)
20273464ebd5Sriastradh#define   C_008DFC_SEL_Z                               0xFFFFFE3F
202801e04c3fSmrg#define   S_008DFC_SEL_W(x)                            (((unsigned)(x) & 0x7) << 9)
20293464ebd5Sriastradh#define   G_008DFC_SEL_W(x)                            (((x) >> 9) & 0x7)
20303464ebd5Sriastradh#define   C_008DFC_SEL_W                               0xFFFFF1FF
20313464ebd5Sriastradh#define R_008DFC_SQ_VTX_WORD0                        0x008DFC
203201e04c3fSmrg#define   S_008DFC_VTX_INST(x)                         (((unsigned)(x) & 0x1F) << 0)
20333464ebd5Sriastradh#define   G_008DFC_VTX_INST(x)                         (((x) >> 0) & 0x1F)
20343464ebd5Sriastradh#define   C_008DFC_VTX_INST                            0xFFFFFFE0
203501e04c3fSmrg#define   S_008DFC_FETCH_TYPE(x)                       (((unsigned)(x) & 0x3) << 5)
20363464ebd5Sriastradh#define   G_008DFC_FETCH_TYPE(x)                       (((x) >> 5) & 0x3)
20373464ebd5Sriastradh#define   C_008DFC_FETCH_TYPE                          0xFFFFFF9F
203801e04c3fSmrg#define   S_008DFC_FETCH_WHOLE_QUAD(x)                 (((unsigned)(x) & 0x1) << 7)
20393464ebd5Sriastradh#define   G_008DFC_FETCH_WHOLE_QUAD(x)                 (((x) >> 7) & 0x1)
20403464ebd5Sriastradh#define   C_008DFC_FETCH_WHOLE_QUAD                    0xFFFFFF7F
204101e04c3fSmrg#define   S_008DFC_BUFFER_ID(x)                        (((unsigned)(x) & 0xFF) << 8)
20423464ebd5Sriastradh#define   G_008DFC_BUFFER_ID(x)                        (((x) >> 8) & 0xFF)
20433464ebd5Sriastradh#define   C_008DFC_BUFFER_ID                           0xFFFF00FF
204401e04c3fSmrg#define   S_008DFC_SRC_GPR(x)                          (((unsigned)(x) & 0x7F) << 16)
20453464ebd5Sriastradh#define   G_008DFC_SRC_GPR(x)                          (((x) >> 16) & 0x7F)
20463464ebd5Sriastradh#define   C_008DFC_SRC_GPR                             0xFF80FFFF
204701e04c3fSmrg#define   S_008DFC_SRC_REL(x)                          (((unsigned)(x) & 0x1) << 23)
20483464ebd5Sriastradh#define   G_008DFC_SRC_REL(x)                          (((x) >> 23) & 0x1)
20493464ebd5Sriastradh#define   C_008DFC_SRC_REL                             0xFF7FFFFF
205001e04c3fSmrg#define   S_008DFC_SRC_SEL_X(x)                        (((unsigned)(x) & 0x3) << 24)
20513464ebd5Sriastradh#define   G_008DFC_SRC_SEL_X(x)                        (((x) >> 24) & 0x3)
20523464ebd5Sriastradh#define   C_008DFC_SRC_SEL_X                           0xFCFFFFFF
205301e04c3fSmrg#define   S_008DFC_MEGA_FETCH_COUNT(x)                 (((unsigned)(x) & 0x3F) << 26)
20543464ebd5Sriastradh#define   G_008DFC_MEGA_FETCH_COUNT(x)                 (((x) >> 26) & 0x3F)
20553464ebd5Sriastradh#define   C_008DFC_MEGA_FETCH_COUNT                    0x03FFFFFF
20563464ebd5Sriastradh#define R_008DFC_SQ_VTX_WORD1                        0x008DFC
205701e04c3fSmrg#define   S_008DFC_DST_SEL_X(x)                        (((unsigned)(x) & 0x7) << 9)
20583464ebd5Sriastradh#define   G_008DFC_DST_SEL_X(x)                        (((x) >> 9) & 0x7)
20593464ebd5Sriastradh#define   C_008DFC_DST_SEL_X                           0xFFFFF1FF
206001e04c3fSmrg#define   S_008DFC_DST_SEL_Y(x)                        (((unsigned)(x) & 0x7) << 12)
20613464ebd5Sriastradh#define   G_008DFC_DST_SEL_Y(x)                        (((x) >> 12) & 0x7)
20623464ebd5Sriastradh#define   C_008DFC_DST_SEL_Y                           0xFFFF8FFF
206301e04c3fSmrg#define   S_008DFC_DST_SEL_Z(x)                        (((unsigned)(x) & 0x7) << 15)
20643464ebd5Sriastradh#define   G_008DFC_DST_SEL_Z(x)                        (((x) >> 15) & 0x7)
20653464ebd5Sriastradh#define   C_008DFC_DST_SEL_Z                           0xFFFC7FFF
206601e04c3fSmrg#define   S_008DFC_DST_SEL_W(x)                        (((unsigned)(x) & 0x7) << 18)
20673464ebd5Sriastradh#define   G_008DFC_DST_SEL_W(x)                        (((x) >> 18) & 0x7)
20683464ebd5Sriastradh#define   C_008DFC_DST_SEL_W                           0xFFE3FFFF
206901e04c3fSmrg#define   S_008DFC_USE_CONST_FIELDS(x)                 (((unsigned)(x) & 0x1) << 21)
20703464ebd5Sriastradh#define   G_008DFC_USE_CONST_FIELDS(x)                 (((x) >> 21) & 0x1)
20713464ebd5Sriastradh#define   C_008DFC_USE_CONST_FIELDS                    0xFFDFFFFF
207201e04c3fSmrg#define   S_008DFC_DATA_FORMAT(x)                      (((unsigned)(x) & 0x3F) << 22)
20733464ebd5Sriastradh#define   G_008DFC_DATA_FORMAT(x)                      (((x) >> 22) & 0x3F)
20743464ebd5Sriastradh#define   C_008DFC_DATA_FORMAT                         0xF03FFFFF
207501e04c3fSmrg#define   S_008DFC_NUM_FORMAT_ALL(x)                   (((unsigned)(x) & 0x3) << 28)
20763464ebd5Sriastradh#define   G_008DFC_NUM_FORMAT_ALL(x)                   (((x) >> 28) & 0x3)
20773464ebd5Sriastradh#define   C_008DFC_NUM_FORMAT_ALL                      0xCFFFFFFF
207801e04c3fSmrg#define   S_008DFC_FORMAT_COMP_ALL(x)                  (((unsigned)(x) & 0x1) << 30)
20793464ebd5Sriastradh#define   G_008DFC_FORMAT_COMP_ALL(x)                  (((x) >> 30) & 0x1)
20803464ebd5Sriastradh#define   C_008DFC_FORMAT_COMP_ALL                     0xBFFFFFFF
208101e04c3fSmrg#define   S_008DFC_SRF_MODE_ALL(x)                     (((unsigned)(x) & 0x1) << 31)
20823464ebd5Sriastradh#define   G_008DFC_SRF_MODE_ALL(x)                     (((x) >> 31) & 0x1)
20833464ebd5Sriastradh#define   C_008DFC_SRF_MODE_ALL                        0x7FFFFFFF
20843464ebd5Sriastradh#define R_008DFC_SQ_VTX_WORD1_GPR                    0x008DFC
208501e04c3fSmrg#define   S_008DFC_DST_GPR(x)                          (((unsigned)(x) & 0x7F) << 0)
20863464ebd5Sriastradh#define   G_008DFC_DST_GPR(x)                          (((x) >> 0) & 0x7F)
20873464ebd5Sriastradh#define   C_008DFC_DST_GPR                             0xFFFFFF80
208801e04c3fSmrg#define   S_008DFC_DST_REL(x)                          (((unsigned)(x) & 0x1) << 7)
20893464ebd5Sriastradh#define   G_008DFC_DST_REL(x)                          (((x) >> 7) & 0x1)
20903464ebd5Sriastradh#define   C_008DFC_DST_REL                             0xFFFFFF7F
20913464ebd5Sriastradh#define R_008DFC_SQ_VTX_WORD2                        0x008DFC
209201e04c3fSmrg#define   S_008DFC_OFFSET(x)                           (((unsigned)(x) & 0xFFFF) << 0)
20933464ebd5Sriastradh#define   G_008DFC_OFFSET(x)                           (((x) >> 0) & 0xFFFF)
20943464ebd5Sriastradh#define   C_008DFC_OFFSET                              0xFFFF0000
209501e04c3fSmrg#define   S_008DFC_ENDIAN_SWAP(x)                      (((unsigned)(x) & 0x3) << 16)
20963464ebd5Sriastradh#define   G_008DFC_ENDIAN_SWAP(x)                      (((x) >> 16) & 0x3)
20973464ebd5Sriastradh#define   C_008DFC_ENDIAN_SWAP                         0xFFFCFFFF
209801e04c3fSmrg#define   S_008DFC_CONST_BUF_NO_STRIDE(x)              (((unsigned)(x) & 0x1) << 18)
20993464ebd5Sriastradh#define   G_008DFC_CONST_BUF_NO_STRIDE(x)              (((x) >> 18) & 0x1)
21003464ebd5Sriastradh#define   C_008DFC_CONST_BUF_NO_STRIDE                 0xFFFBFFFF
210101e04c3fSmrg#define   S_008DFC_MEGA_FETCH(x)                       (((unsigned)(x) & 0x1) << 19)
21023464ebd5Sriastradh#define   G_008DFC_MEGA_FETCH(x)                       (((x) >> 19) & 0x1)
21033464ebd5Sriastradh#define   C_008DFC_MEGA_FETCH                          0xFFF7FFFF
210401e04c3fSmrg#define   S_008DFC_ALT_CONST(x)                        (((unsigned)(x) & 0x1) << 20)
21053464ebd5Sriastradh#define   G_008DFC_ALT_CONST(x)                        (((x) >> 20) & 0x1)
21063464ebd5Sriastradh#define   C_008DFC_ALT_CONST                           0xFFEFFFFF
21073464ebd5Sriastradh#define R_008040_WAIT_UNTIL                          0x008040
210801e04c3fSmrg#define   S_008040_WAIT_CP_DMA_IDLE(x)                 (((unsigned)(x) & 0x1) << 8)
21093464ebd5Sriastradh#define   G_008040_WAIT_CP_DMA_IDLE(x)                 (((x) >> 8) & 0x1)
21103464ebd5Sriastradh#define   C_008040_WAIT_CP_DMA_IDLE                    0xFFFFFEFF
211101e04c3fSmrg#define   S_008040_WAIT_CMDFIFO(x)                     (((unsigned)(x) & 0x1) << 10)
21123464ebd5Sriastradh#define   G_008040_WAIT_CMDFIFO(x)                     (((x) >> 10) & 0x1)
21133464ebd5Sriastradh#define   C_008040_WAIT_CMDFIFO                        0xFFFFFBFF
211401e04c3fSmrg#define   S_008040_WAIT_2D_IDLE(x)                     (((unsigned)(x) & 0x1) << 14)
21153464ebd5Sriastradh#define   G_008040_WAIT_2D_IDLE(x)                     (((x) >> 14) & 0x1)
21163464ebd5Sriastradh#define   C_008040_WAIT_2D_IDLE                        0xFFFFBFFF
211701e04c3fSmrg#define   S_008040_WAIT_3D_IDLE(x)                     (((unsigned)(x) & 0x1) << 15)
21183464ebd5Sriastradh#define   G_008040_WAIT_3D_IDLE(x)                     (((x) >> 15) & 0x1)
21193464ebd5Sriastradh#define   C_008040_WAIT_3D_IDLE                        0xFFFF7FFF
212001e04c3fSmrg#define   S_008040_WAIT_2D_IDLECLEAN(x)                (((unsigned)(x) & 0x1) << 16)
21213464ebd5Sriastradh#define   G_008040_WAIT_2D_IDLECLEAN(x)                (((x) >> 16) & 0x1)
21223464ebd5Sriastradh#define   C_008040_WAIT_2D_IDLECLEAN                   0xFFFEFFFF
212301e04c3fSmrg#define   S_008040_WAIT_3D_IDLECLEAN(x)                (((unsigned)(x) & 0x1) << 17)
21243464ebd5Sriastradh#define   G_008040_WAIT_3D_IDLECLEAN(x)                (((x) >> 17) & 0x1)
21253464ebd5Sriastradh#define   C_008040_WAIT_3D_IDLECLEAN                   0xFFFDFFFF
212601e04c3fSmrg#define   S_008040_WAIT_EXTERN_SIG(x)                  (((unsigned)(x) & 0x1) << 19)
21273464ebd5Sriastradh#define   G_008040_WAIT_EXTERN_SIG(x)                  (((x) >> 19) & 0x1)
21283464ebd5Sriastradh#define   C_008040_WAIT_EXTERN_SIG                     0xFFF7FFFF
212901e04c3fSmrg#define   S_008040_CMDFIFO_ENTRIES(x)                  (((unsigned)(x) & 0x1F) << 20)
21303464ebd5Sriastradh#define   G_008040_CMDFIFO_ENTRIES(x)                  (((x) >> 20) & 0x1F)
21313464ebd5Sriastradh#define   C_008040_CMDFIFO_ENTRIES                     0xFE0FFFFF
21323464ebd5Sriastradh#define R_0286CC_SPI_PS_IN_CONTROL_0                 0x0286CC
213301e04c3fSmrg#define   S_0286CC_NUM_INTERP(x)                       (((unsigned)(x) & 0x3F) << 0)
21343464ebd5Sriastradh#define   G_0286CC_NUM_INTERP(x)                       (((x) >> 0) & 0x3F)
21353464ebd5Sriastradh#define   C_0286CC_NUM_INTERP                          0xFFFFFFC0
213601e04c3fSmrg#define   S_0286CC_POSITION_ENA(x)                     (((unsigned)(x) & 0x1) << 8)
21373464ebd5Sriastradh#define   G_0286CC_POSITION_ENA(x)                     (((x) >> 8) & 0x1)
21383464ebd5Sriastradh#define   C_0286CC_POSITION_ENA                        0xFFFFFEFF
213901e04c3fSmrg#define   S_0286CC_POSITION_CENTROID(x)                (((unsigned)(x) & 0x1) << 9)
21403464ebd5Sriastradh#define   G_0286CC_POSITION_CENTROID(x)                (((x) >> 9) & 0x1)
21413464ebd5Sriastradh#define   C_0286CC_POSITION_CENTROID                   0xFFFFFDFF
214201e04c3fSmrg#define   S_0286CC_POSITION_ADDR(x)                    (((unsigned)(x) & 0x1F) << 10)
21433464ebd5Sriastradh#define   G_0286CC_POSITION_ADDR(x)                    (((x) >> 10) & 0x1F)
21443464ebd5Sriastradh#define   C_0286CC_POSITION_ADDR                       0xFFFF83FF
214501e04c3fSmrg#define   S_0286CC_PARAM_GEN(x)                        (((unsigned)(x) & 0xF) << 15)
21463464ebd5Sriastradh#define   G_0286CC_PARAM_GEN(x)                        (((x) >> 15) & 0xF)
21473464ebd5Sriastradh#define   C_0286CC_PARAM_GEN                           0xFFF87FFF
214801e04c3fSmrg#define   S_0286CC_PARAM_GEN_ADDR(x)                   (((unsigned)(x) & 0x7F) << 19)
21493464ebd5Sriastradh#define   G_0286CC_PARAM_GEN_ADDR(x)                   (((x) >> 19) & 0x7F)
21503464ebd5Sriastradh#define   C_0286CC_PARAM_GEN_ADDR                      0xFC07FFFF
215101e04c3fSmrg#define   S_0286CC_BARYC_SAMPLE_CNTL(x)                (((unsigned)(x) & 0x3) << 26)
21523464ebd5Sriastradh#define   G_0286CC_BARYC_SAMPLE_CNTL(x)                (((x) >> 26) & 0x3)
21533464ebd5Sriastradh#define   C_0286CC_BARYC_SAMPLE_CNTL                   0xF3FFFFFF
215401e04c3fSmrg#define   S_0286CC_PERSP_GRADIENT_ENA(x)               (((unsigned)(x) & 0x1) << 28)
21553464ebd5Sriastradh#define   G_0286CC_PERSP_GRADIENT_ENA(x)               (((x) >> 28) & 0x1)
21563464ebd5Sriastradh#define   C_0286CC_PERSP_GRADIENT_ENA                  0xEFFFFFFF
215701e04c3fSmrg#define   S_0286CC_LINEAR_GRADIENT_ENA(x)              (((unsigned)(x) & 0x1) << 29)
21583464ebd5Sriastradh#define   G_0286CC_LINEAR_GRADIENT_ENA(x)              (((x) >> 29) & 0x1)
21593464ebd5Sriastradh#define   C_0286CC_LINEAR_GRADIENT_ENA                 0xDFFFFFFF
216001e04c3fSmrg#define   S_0286CC_POSITION_SAMPLE(x)                  (((unsigned)(x) & 0x1) << 30)
21613464ebd5Sriastradh#define   G_0286CC_POSITION_SAMPLE(x)                  (((x) >> 30) & 0x1)
21623464ebd5Sriastradh#define   C_0286CC_POSITION_SAMPLE                     0xBFFFFFFF
216301e04c3fSmrg#define   S_0286CC_BARYC_AT_SAMPLE_ENA(x)              (((unsigned)(x) & 0x1) << 31)
21643464ebd5Sriastradh#define   G_0286CC_BARYC_AT_SAMPLE_ENA(x)              (((x) >> 31) & 0x1)
21653464ebd5Sriastradh#define   C_0286CC_BARYC_AT_SAMPLE_ENA                 0x7FFFFFFF
21663464ebd5Sriastradh#define R_0286D0_SPI_PS_IN_CONTROL_1                 0x0286D0
216701e04c3fSmrg#define   S_0286D0_GEN_INDEX_PIX(x)                    (((unsigned)(x) & 0x1) << 0)
21683464ebd5Sriastradh#define   G_0286D0_GEN_INDEX_PIX(x)                    (((x) >> 0) & 0x1)
21693464ebd5Sriastradh#define   C_0286D0_GEN_INDEX_PIX                       0xFFFFFFFE
217001e04c3fSmrg#define   S_0286D0_GEN_INDEX_PIX_ADDR(x)               (((unsigned)(x) & 0x7F) << 1)
21713464ebd5Sriastradh#define   G_0286D0_GEN_INDEX_PIX_ADDR(x)               (((x) >> 1) & 0x7F)
21723464ebd5Sriastradh#define   C_0286D0_GEN_INDEX_PIX_ADDR                  0xFFFFFF01
217301e04c3fSmrg#define   S_0286D0_FRONT_FACE_ENA(x)                   (((unsigned)(x) & 0x1) << 8)
21743464ebd5Sriastradh#define   G_0286D0_FRONT_FACE_ENA(x)                   (((x) >> 8) & 0x1)
21753464ebd5Sriastradh#define   C_0286D0_FRONT_FACE_ENA                      0xFFFFFEFF
217601e04c3fSmrg#define   S_0286D0_FRONT_FACE_CHAN(x)                  (((unsigned)(x) & 0x3) << 9)
21773464ebd5Sriastradh#define   G_0286D0_FRONT_FACE_CHAN(x)                  (((x) >> 9) & 0x3)
21783464ebd5Sriastradh#define   C_0286D0_FRONT_FACE_CHAN                     0xFFFFF9FF
217901e04c3fSmrg#define   S_0286D0_FRONT_FACE_ALL_BITS(x)              (((unsigned)(x) & 0x1) << 11)
21803464ebd5Sriastradh#define   G_0286D0_FRONT_FACE_ALL_BITS(x)              (((x) >> 11) & 0x1)
21813464ebd5Sriastradh#define   C_0286D0_FRONT_FACE_ALL_BITS                 0xFFFFF7FF
218201e04c3fSmrg#define   S_0286D0_FRONT_FACE_ADDR(x)                  (((unsigned)(x) & 0x1F) << 12)
21833464ebd5Sriastradh#define   G_0286D0_FRONT_FACE_ADDR(x)                  (((x) >> 12) & 0x1F)
21843464ebd5Sriastradh#define   C_0286D0_FRONT_FACE_ADDR                     0xFFFE0FFF
218501e04c3fSmrg#define   S_0286D0_FOG_ADDR(x)                         (((unsigned)(x) & 0x7F) << 17)
21863464ebd5Sriastradh#define   G_0286D0_FOG_ADDR(x)                         (((x) >> 17) & 0x7F)
21873464ebd5Sriastradh#define   C_0286D0_FOG_ADDR                            0xFF01FFFF
218801e04c3fSmrg#define   S_0286D0_FIXED_PT_POSITION_ENA(x)            (((unsigned)(x) & 0x1) << 24)
21893464ebd5Sriastradh#define   G_0286D0_FIXED_PT_POSITION_ENA(x)            (((x) >> 24) & 0x1)
21903464ebd5Sriastradh#define   C_0286D0_FIXED_PT_POSITION_ENA               0xFEFFFFFF
219101e04c3fSmrg#define   S_0286D0_FIXED_PT_POSITION_ADDR(x)           (((unsigned)(x) & 0x1F) << 25)
21923464ebd5Sriastradh#define   G_0286D0_FIXED_PT_POSITION_ADDR(x)           (((x) >> 25) & 0x1F)
21933464ebd5Sriastradh#define   C_0286D0_FIXED_PT_POSITION_ADDR              0xC1FFFFFF
21943464ebd5Sriastradh#define R_0286C4_SPI_VS_OUT_CONFIG                   0x0286C4
219501e04c3fSmrg#define   S_0286C4_VS_PER_COMPONENT(x)                 (((unsigned)(x) & 0x1) << 0)
21963464ebd5Sriastradh#define   G_0286C4_VS_PER_COMPONENT(x)                 (((x) >> 0) & 0x1)
21973464ebd5Sriastradh#define   C_0286C4_VS_PER_COMPONENT                    0xFFFFFFFE
219801e04c3fSmrg#define   S_0286C4_VS_EXPORT_COUNT(x)                  (((unsigned)(x) & 0x1F) << 1)
21993464ebd5Sriastradh#define   G_0286C4_VS_EXPORT_COUNT(x)                  (((x) >> 1) & 0x1F)
22003464ebd5Sriastradh#define   C_0286C4_VS_EXPORT_COUNT                     0xFFFFFFC1
220101e04c3fSmrg#define   S_0286C4_VS_EXPORTS_FOG(x)                   (((unsigned)(x) & 0x1) << 8)
22023464ebd5Sriastradh#define   G_0286C4_VS_EXPORTS_FOG(x)                   (((x) >> 8) & 0x1)
22033464ebd5Sriastradh#define   C_0286C4_VS_EXPORTS_FOG                      0xFFFFFEFF
220401e04c3fSmrg#define   S_0286C4_VS_OUT_FOG_VEC_ADDR(x)              (((unsigned)(x) & 0x1F) << 9)
22053464ebd5Sriastradh#define   G_0286C4_VS_OUT_FOG_VEC_ADDR(x)              (((x) >> 9) & 0x1F)
22063464ebd5Sriastradh#define   C_0286C4_VS_OUT_FOG_VEC_ADDR                 0xFFFFC1FF
22073464ebd5Sriastradh#define R_028240_PA_SC_GENERIC_SCISSOR_TL            0x028240
220801e04c3fSmrg#define   S_028240_TL_X(x)                             (((unsigned)(x) & 0x3FFF) << 0)
22093464ebd5Sriastradh#define   G_028240_TL_X(x)                             (((x) >> 0) & 0x3FFF)
22103464ebd5Sriastradh#define   C_028240_TL_X                                0xFFFFC000
221101e04c3fSmrg#define   S_028240_TL_Y(x)                             (((unsigned)(x) & 0x3FFF) << 16)
22123464ebd5Sriastradh#define   G_028240_TL_Y(x)                             (((x) >> 16) & 0x3FFF)
22133464ebd5Sriastradh#define   C_028240_TL_Y                                0xC000FFFF
221401e04c3fSmrg#define   S_028240_WINDOW_OFFSET_DISABLE(x)            (((unsigned)(x) & 0x1) << 31)
22153464ebd5Sriastradh#define   G_028240_WINDOW_OFFSET_DISABLE(x)            (((x) >> 31) & 0x1)
22163464ebd5Sriastradh#define   C_028240_WINDOW_OFFSET_DISABLE               0x7FFFFFFF
22173464ebd5Sriastradh#define R_028244_PA_SC_GENERIC_SCISSOR_BR            0x028244
221801e04c3fSmrg#define   S_028244_BR_X(x)                             (((unsigned)(x) & 0x3FFF) << 0)
22193464ebd5Sriastradh#define   G_028244_BR_X(x)                             (((x) >> 0) & 0x3FFF)
22203464ebd5Sriastradh#define   C_028244_BR_X                                0xFFFFC000
222101e04c3fSmrg#define   S_028244_BR_Y(x)                             (((unsigned)(x) & 0x3FFF) << 16)
22223464ebd5Sriastradh#define   G_028244_BR_Y(x)                             (((x) >> 16) & 0x3FFF)
22233464ebd5Sriastradh#define   C_028244_BR_Y                                0xC000FFFF
22243464ebd5Sriastradh#define R_028030_PA_SC_SCREEN_SCISSOR_TL             0x028030
222501e04c3fSmrg#define   S_028030_TL_X(x)                             (((unsigned)(x) & 0x7FFF) << 0)
22263464ebd5Sriastradh#define   G_028030_TL_X(x)                             (((x) >> 0) & 0x7FFF)
22273464ebd5Sriastradh#define   C_028030_TL_X                                0xFFFF8000
222801e04c3fSmrg#define   S_028030_TL_Y(x)                             (((unsigned)(x) & 0x7FFF) << 16)
22293464ebd5Sriastradh#define   G_028030_TL_Y(x)                             (((x) >> 16) & 0x7FFF)
22303464ebd5Sriastradh#define   C_028030_TL_Y                                0x8000FFFF
22313464ebd5Sriastradh#define R_028034_PA_SC_SCREEN_SCISSOR_BR             0x028034
223201e04c3fSmrg#define   S_028034_BR_X(x)                             (((unsigned)(x) & 0x7FFF) << 0)
22333464ebd5Sriastradh#define   G_028034_BR_X(x)                             (((x) >> 0) & 0x7FFF)
22343464ebd5Sriastradh#define   C_028034_BR_X                                0xFFFF8000
223501e04c3fSmrg#define   S_028034_BR_Y(x)                             (((unsigned)(x) & 0x7FFF) << 16)
22363464ebd5Sriastradh#define   G_028034_BR_Y(x)                             (((x) >> 16) & 0x7FFF)
22373464ebd5Sriastradh#define   C_028034_BR_Y                                0x8000FFFF
22383464ebd5Sriastradh#define R_028204_PA_SC_WINDOW_SCISSOR_TL             0x028204
223901e04c3fSmrg#define   S_028204_TL_X(x)                             (((unsigned)(x) & 0x3FFF) << 0)
22403464ebd5Sriastradh#define   G_028204_TL_X(x)                             (((x) >> 0) & 0x3FFF)
22413464ebd5Sriastradh#define   C_028204_TL_X                                0xFFFFC000
224201e04c3fSmrg#define   S_028204_TL_Y(x)                             (((unsigned)(x) & 0x3FFF) << 16)
22433464ebd5Sriastradh#define   G_028204_TL_Y(x)                             (((x) >> 16) & 0x3FFF)
22443464ebd5Sriastradh#define   C_028204_TL_Y                                0xC000FFFF
224501e04c3fSmrg#define   S_028204_WINDOW_OFFSET_DISABLE(x)            (((unsigned)(x) & 0x1) << 31)
22463464ebd5Sriastradh#define   G_028204_WINDOW_OFFSET_DISABLE(x)            (((x) >> 31) & 0x1)
22473464ebd5Sriastradh#define   C_028204_WINDOW_OFFSET_DISABLE               0x7FFFFFFF
22483464ebd5Sriastradh#define R_028208_PA_SC_WINDOW_SCISSOR_BR             0x028208
224901e04c3fSmrg#define   S_028208_BR_X(x)                             (((unsigned)(x) & 0x3FFF) << 0)
22503464ebd5Sriastradh#define   G_028208_BR_X(x)                             (((x) >> 0) & 0x3FFF)
22513464ebd5Sriastradh#define   C_028208_BR_X                                0xFFFFC000
225201e04c3fSmrg#define   S_028208_BR_Y(x)                             (((unsigned)(x) & 0x3FFF) << 16)
22533464ebd5Sriastradh#define   G_028208_BR_Y(x)                             (((x) >> 16) & 0x3FFF)
22543464ebd5Sriastradh#define   C_028208_BR_Y                                0xC000FFFF
22553464ebd5Sriastradh#define R_0287F0_VGT_DRAW_INITIATOR                  0x0287F0
225601e04c3fSmrg#define   S_0287F0_SOURCE_SELECT(x)                    (((unsigned)(x) & 0x3) << 0)
22573464ebd5Sriastradh#define   G_0287F0_SOURCE_SELECT(x)                    (((x) >> 0) & 0x3)
22583464ebd5Sriastradh#define   C_0287F0_SOURCE_SELECT                       0xFFFFFFFC
225901e04c3fSmrg#define   S_0287F0_MAJOR_MODE(x)                       (((unsigned)(x) & 0x3) << 2)
22603464ebd5Sriastradh#define   G_0287F0_MAJOR_MODE(x)                       (((x) >> 2) & 0x3)
22613464ebd5Sriastradh#define   C_0287F0_MAJOR_MODE                          0xFFFFFFF3
226201e04c3fSmrg#define   S_0287F0_SPRITE_EN(x)                        (((unsigned)(x) & 0x1) << 4)
22633464ebd5Sriastradh#define   G_0287F0_SPRITE_EN(x)                        (((x) >> 4) & 0x1)
22643464ebd5Sriastradh#define   C_0287F0_SPRITE_EN                           0xFFFFFFEF
226501e04c3fSmrg#define   S_0287F0_NOT_EOP(x)                          (((unsigned)(x) & 0x1) << 5)
22663464ebd5Sriastradh#define   G_0287F0_NOT_EOP(x)                          (((x) >> 5) & 0x1)
22673464ebd5Sriastradh#define   C_0287F0_NOT_EOP                             0xFFFFFFDF
226801e04c3fSmrg#define   S_0287F0_USE_OPAQUE(x)                       (((unsigned)(x) & 0x1) << 6)
22693464ebd5Sriastradh#define   G_0287F0_USE_OPAQUE(x)                       (((x) >> 6) & 0x1)
22703464ebd5Sriastradh#define   C_0287F0_USE_OPAQUE                          0xFFFFFFBF
22713464ebd5Sriastradh#define R_0280A0_CB_COLOR0_INFO                      0x0280A0
22723464ebd5Sriastradh#define R_0280A4_CB_COLOR1_INFO                      0x0280A4
22733464ebd5Sriastradh#define R_0280A8_CB_COLOR2_INFO                      0x0280A8
22743464ebd5Sriastradh#define R_0280AC_CB_COLOR3_INFO                      0x0280AC
22753464ebd5Sriastradh#define R_0280B0_CB_COLOR4_INFO                      0x0280B0
22763464ebd5Sriastradh#define R_0280B4_CB_COLOR5_INFO                      0x0280B4
22773464ebd5Sriastradh#define R_0280B8_CB_COLOR6_INFO                      0x0280B8
22783464ebd5Sriastradh#define R_0280BC_CB_COLOR7_INFO                      0x0280BC
22793464ebd5Sriastradh#define R_02800C_DB_DEPTH_BASE                       0x02800C
22803464ebd5Sriastradh#define R_028000_DB_DEPTH_SIZE                       0x028000
22813464ebd5Sriastradh#define R_028004_DB_DEPTH_VIEW                       0x028004
22823464ebd5Sriastradh#define R_028010_DB_DEPTH_INFO                       0x028010
22833464ebd5Sriastradh#define R_028D24_DB_HTILE_SURFACE                    0x028D24
22843464ebd5Sriastradh#define R_028D34_DB_PREFETCH_LIMIT                   0x028D34
22853464ebd5Sriastradh#define R_0286D4_SPI_INTERP_CONTROL_0                0x0286D4
22863464ebd5Sriastradh#define R_028A48_PA_SC_MPASS_PS_CNTL                 0x028A48
22873464ebd5Sriastradh#define R_028C00_PA_SC_LINE_CNTL                     0x028C00
228801e04c3fSmrg#define   S_028C00_EXPAND_LINE_WIDTH(x)                (((unsigned)(x) & 0x1) << 9)
2289af69d88dSmrg#define   G_028C00_EXPAND_LINE_WIDTH(x)                (((x) >> 9) & 0x1)
2290af69d88dSmrg#define   C_028C00_EXPAND_LINE_WIDTH                   0xFFFFFDFF
229101e04c3fSmrg#define   S_028C00_LAST_PIXEL(x)                       (((unsigned)(x) & 0x1) << 10)
22923464ebd5Sriastradh#define   G_028C00_LAST_PIXEL(x)                       (((x) >> 10) & 0x1)
22933464ebd5Sriastradh#define   C_028C00_LAST_PIXEL                          0xFFFFFBFF
22943464ebd5Sriastradh#define R_028C04_PA_SC_AA_CONFIG                     0x028C04
22953464ebd5Sriastradh#define R_028C08_PA_SU_VTX_CNTL                      0x028C08
229601e04c3fSmrg#define   S_028C08_PIX_CENTER_HALF(x)                  (((unsigned)(x) & 0x1) << 0)
22973464ebd5Sriastradh#define   G_028C08_PIX_CENTER_HALF(x)                  (((x) >> 0) & 0x1)
22983464ebd5Sriastradh#define   C_028C08_PIX_CENTER_HALF                     0xFFFFFFFE
229901e04c3fSmrg#define   S_028C08_QUANT_MODE(x)                       (((unsigned)(x) & 0x7) << 3)
2300af69d88dSmrg#define   G_028C08_QUANT_MODE(x)                       (((x) >> 3) & 0x7)
2301af69d88dSmrg#define   C_028C08_QUANT_MODE                          0xFFFFFFC7
2302af69d88dSmrg#define     V_028C08_X_1_16TH                          0x00
2303af69d88dSmrg#define     V_028C08_X_1_8TH                           0x01
2304af69d88dSmrg#define     V_028C08_X_1_4TH                           0x02
2305af69d88dSmrg#define     V_028C08_X_1_2                             0x03
2306af69d88dSmrg#define     V_028C08_X_1                               0x04
2307af69d88dSmrg#define     V_028C08_X_1_256TH                         0x05
23083464ebd5Sriastradh#define R_028C1C_PA_SC_AA_SAMPLE_LOCS_MCTX           0x028C1C
23093464ebd5Sriastradh#define R_028C48_PA_SC_AA_MASK                       0x028C48
23103464ebd5Sriastradh#define R_028810_PA_CL_CLIP_CNTL                     0x028810
23113464ebd5Sriastradh#define R_02881C_PA_CL_VS_OUT_CNTL                   0x02881C
23123464ebd5Sriastradh#define R_028820_PA_CL_NANINF_CNTL                   0x028820
23133464ebd5Sriastradh#define R_028C0C_PA_CL_GB_VERT_CLIP_ADJ              0x028C0C
23143464ebd5Sriastradh#define R_028C10_PA_CL_GB_VERT_DISC_ADJ              0x028C10
23153464ebd5Sriastradh#define R_028C14_PA_CL_GB_HORZ_CLIP_ADJ              0x028C14
23163464ebd5Sriastradh#define R_028C18_PA_CL_GB_HORZ_DISC_ADJ              0x028C18
23173464ebd5Sriastradh#define R_028814_PA_SU_SC_MODE_CNTL                  0x028814
23183464ebd5Sriastradh#define R_028A00_PA_SU_POINT_SIZE                    0x028A00
23193464ebd5Sriastradh#define R_028A04_PA_SU_POINT_MINMAX                  0x028A04
232001e04c3fSmrg#define   S_028A04_MIN_SIZE(x)                         (((unsigned)(x) & 0xFFFF) << 0)
23213464ebd5Sriastradh#define   G_028A04_MIN_SIZE(x)                         (((x) >> 0) & 0xFFFF)
23223464ebd5Sriastradh#define   C_028A04_MIN_SIZE                            0xFFFF0000
232301e04c3fSmrg#define   S_028A04_MAX_SIZE(x)                         (((unsigned)(x) & 0xFFFF) << 16)
23243464ebd5Sriastradh#define   G_028A04_MAX_SIZE(x)                         (((x) >> 16) & 0xFFFF)
23253464ebd5Sriastradh#define   C_028A04_MAX_SIZE                            0x0000FFFF
23263464ebd5Sriastradh#define R_028A08_PA_SU_LINE_CNTL                     0x028A08
232701e04c3fSmrg#define   S_028A08_WIDTH(x)                            (((unsigned)(x) & 0xFFFF) << 0)
23283464ebd5Sriastradh#define   G_028A08_WIDTH(x)                            (((x) >> 0) & 0xFFFF)
23293464ebd5Sriastradh#define   C_028A08_WIDTH                               0xFFFF0000
23303464ebd5Sriastradh#define R_028A0C_PA_SC_LINE_STIPPLE                  0x028A0C
23313464ebd5Sriastradh#define R_028DF8_PA_SU_POLY_OFFSET_DB_FMT_CNTL       0x028DF8
23323464ebd5Sriastradh#define R_028DFC_PA_SU_POLY_OFFSET_CLAMP             0x028DFC
23333464ebd5Sriastradh#define R_028E00_PA_SU_POLY_OFFSET_FRONT_SCALE       0x028E00
23343464ebd5Sriastradh#define R_028E04_PA_SU_POLY_OFFSET_FRONT_OFFSET      0x028E04
23353464ebd5Sriastradh#define R_028E08_PA_SU_POLY_OFFSET_BACK_SCALE        0x028E08
23363464ebd5Sriastradh#define R_028E0C_PA_SU_POLY_OFFSET_BACK_OFFSET       0x028E0C
23373464ebd5Sriastradh#define R_028818_PA_CL_VTE_CNTL                      0x028818
233801e04c3fSmrg#define   S_028818_VPORT_X_SCALE_ENA(x)                (((unsigned)(x) & 0x1) << 0)
23393464ebd5Sriastradh#define   G_028818_VPORT_X_SCALE_ENA(x)                (((x) >> 0 & 0x1)
23403464ebd5Sriastradh#define   C_028818_VPORT_X_SCALE_ENA                   0xFFFFFFFE
234101e04c3fSmrg#define   S_028818_VPORT_X_OFFSET_ENA(x)               (((unsigned)(x) & 0x1) << 1)
23423464ebd5Sriastradh#define   G_028818_VPORT_X_OFFSET_ENA(x)               (((x) >> 1 & 0x1)
23433464ebd5Sriastradh#define   C_028818_VPORT_X_OFFSET_ENA                  0xFFFFFFFD
234401e04c3fSmrg#define   S_028818_VPORT_Y_SCALE_ENA(x)                (((unsigned)(x) & 0x1) << 2)
23453464ebd5Sriastradh#define   G_028818_VPORT_Y_SCALE_ENA(x)                (((x) >> 2 & 0x1)
23463464ebd5Sriastradh#define   C_028818_VPORT_Y_SCALE_ENA                   0xFFFFFFFB
234701e04c3fSmrg#define   S_028818_VPORT_Y_OFFSET_ENA(x)               (((unsigned)(x) & 0x1) << 3)
23483464ebd5Sriastradh#define   G_028818_VPORT_Y_OFFSET_ENA(x)               (((x) >> 3 & 0x1)
23493464ebd5Sriastradh#define   C_028818_VPORT_Y_OFFSET_ENA                  0xFFFFFFF7
235001e04c3fSmrg#define   S_028818_VPORT_Z_SCALE_ENA(x)                (((unsigned)(x) & 0x1) << 4)
23513464ebd5Sriastradh#define   G_028818_VPORT_Z_SCALE_ENA(x)                (((x) >> 4 & 0x1)
23523464ebd5Sriastradh#define   C_028818_VPORT_Z_SCALE_ENA                   0xFFFFFFEF
235301e04c3fSmrg#define   S_028818_VPORT_Z_OFFSET_ENA(x)               (((unsigned)(x) & 0x1) << 5)
23543464ebd5Sriastradh#define   G_028818_VPORT_Z_OFFSET_ENA(x)               (((x) >> 5 & 0x1)
23553464ebd5Sriastradh#define   C_028818_VPORT_Z_OFFSET_ENA                  0xFFFFFFDF
235601e04c3fSmrg#define   S_028818_VTX_XY_FMT(x)                       (((unsigned)(x) & 0x1) << 8)
2357af69d88dSmrg#define   G_028818_VTX_XY_FMT(x)                       (((x) >> 8) & 0x1)
2358af69d88dSmrg#define   C_028818_VTX_XY_FMT                          0xFFFFFEFF
235901e04c3fSmrg#define   S_028818_VTX_Z_FMT(x)                        (((unsigned)(x) & 0x1) << 9)
2360af69d88dSmrg#define   G_028818_VTX_Z_FMT(x)                        (((x) >> 9) & 0x1)
2361af69d88dSmrg#define   C_028818_VTX_Z_FMT                           0xFFFFFDFF
236201e04c3fSmrg#define   S_028818_VTX_W0_FMT(x)                       (((unsigned)(x) & 0x1) << 10)
23633464ebd5Sriastradh#define   G_028818_VTX_W0_FMT(x)                       (((x) >> 10) & 0x1)
23643464ebd5Sriastradh#define   C_028818_VTX_W0_FMT                          0xFFFFFBFF
23653464ebd5Sriastradh#define R_02843C_PA_CL_VPORT_XSCALE_0                0x02843C
23663464ebd5Sriastradh#define R_028444_PA_CL_VPORT_YSCALE_0                0x028444
23673464ebd5Sriastradh#define R_02844C_PA_CL_VPORT_ZSCALE_0                0x02844C
23683464ebd5Sriastradh#define R_028440_PA_CL_VPORT_XOFFSET_0               0x028440
23693464ebd5Sriastradh#define R_028448_PA_CL_VPORT_YOFFSET_0               0x028448
23703464ebd5Sriastradh#define R_028450_PA_CL_VPORT_ZOFFSET_0               0x028450
23713464ebd5Sriastradh#define R_028250_PA_SC_VPORT_SCISSOR_0_TL            0x028250
23723464ebd5Sriastradh#define R_028254_PA_SC_VPORT_SCISSOR_0_BR            0x028254
23733464ebd5Sriastradh#define R_028780_CB_BLEND0_CONTROL                   0x028780
23743464ebd5Sriastradh#define R_028784_CB_BLEND1_CONTROL                   0x028784
23753464ebd5Sriastradh#define R_028788_CB_BLEND2_CONTROL                   0x028788
23763464ebd5Sriastradh#define R_02878C_CB_BLEND3_CONTROL                   0x02878C
23773464ebd5Sriastradh#define R_028790_CB_BLEND4_CONTROL                   0x028790
23783464ebd5Sriastradh#define R_028794_CB_BLEND5_CONTROL                   0x028794
23793464ebd5Sriastradh#define R_028798_CB_BLEND6_CONTROL                   0x028798
23803464ebd5Sriastradh#define R_02879C_CB_BLEND7_CONTROL                   0x02879C
23813464ebd5Sriastradh#define R_028804_CB_BLEND_CONTROL                    0x028804
23823464ebd5Sriastradh#define R_028028_DB_STENCIL_CLEAR                    0x028028
23833464ebd5Sriastradh#define R_02802C_DB_DEPTH_CLEAR                      0x02802C
23843464ebd5Sriastradh#define R_028430_DB_STENCILREFMASK                   0x028430
23853464ebd5Sriastradh#define R_028434_DB_STENCILREFMASK_BF                0x028434
23863464ebd5Sriastradh#define R_028800_DB_DEPTH_CONTROL                    0x028800
23873464ebd5Sriastradh#define R_02880C_DB_SHADER_CONTROL                   0x02880C
23883464ebd5Sriastradh#define R_028D0C_DB_RENDER_CONTROL                   0x028D0C
23893464ebd5Sriastradh#define R_028D10_DB_RENDER_OVERRIDE                  0x028D10
2390af69d88dSmrg#define R_028D28_DB_SRESULTS_COMPARE_STATE0          0x028D28
23913464ebd5Sriastradh#define R_028D2C_DB_SRESULTS_COMPARE_STATE1          0x028D2C
23923464ebd5Sriastradh#define R_028D30_DB_PRELOAD_CONTROL                  0x028D30
23933464ebd5Sriastradh#define R_028D44_DB_ALPHA_TO_MASK                    0x028D44
239401e04c3fSmrg#define   S_028D44_ALPHA_TO_MASK_ENABLE(x)		(((unsigned)(x) & 0x1) << 0)
239501e04c3fSmrg#define   S_028D44_ALPHA_TO_MASK_OFFSET0(x)		(((unsigned)(x) & 0x3) << 8)
239601e04c3fSmrg#define   S_028D44_ALPHA_TO_MASK_OFFSET1(x)		(((unsigned)(x) & 0x3) << 10)
239701e04c3fSmrg#define   S_028D44_ALPHA_TO_MASK_OFFSET2(x)		(((unsigned)(x) & 0x3) << 12)
239801e04c3fSmrg#define   S_028D44_ALPHA_TO_MASK_OFFSET3(x)		(((unsigned)(x) & 0x3) << 14)
239901e04c3fSmrg#define   S_028D44_OFFSET_ROUND(x)			(((unsigned)(x) & 0x1) << 16)
24003464ebd5Sriastradh#define R_028868_SQ_PGM_RESOURCES_VS                 0x028868
2401af69d88dSmrg#define R_028890_SQ_PGM_RESOURCES_ES                 0x028890
240201e04c3fSmrg#define   S_028890_NUM_GPRS(x)                         (((unsigned)(x) & 0xFF) << 0)
2403af69d88dSmrg#define   G_028890_NUM_GPRS(x)                         (((x) >> 0) & 0xFF)
2404af69d88dSmrg#define   C_028890_NUM_GPRS                            0xFFFFFF00
240501e04c3fSmrg#define   S_028890_STACK_SIZE(x)                       (((unsigned)(x) & 0xFF) << 8)
2406af69d88dSmrg#define   G_028890_STACK_SIZE(x)                       (((x) >> 8) & 0xFF)
2407af69d88dSmrg#define   C_028890_STACK_SIZE                          0xFFFF00FF
240801e04c3fSmrg#define   S_028890_DX10_CLAMP(x)                       (((unsigned)(x) & 0x1) << 21)
2409af69d88dSmrg#define   G_028890_DX10_CLAMP(x)                       (((x) >> 21) & 0x1)
2410af69d88dSmrg#define   C_028890_DX10_CLAMP                          0xFFDFFFFF
2411af69d88dSmrg#define R_02887C_SQ_PGM_RESOURCES_GS                 0x02887C
241201e04c3fSmrg#define   S_02887C_NUM_GPRS(x)                         (((unsigned)(x) & 0xFF) << 0)
2413af69d88dSmrg#define   G_02887C_NUM_GPRS(x)                         (((x) >> 0) & 0xFF)
2414af69d88dSmrg#define   C_02887C_NUM_GPRS                            0xFFFFFF00
241501e04c3fSmrg#define   S_02887C_STACK_SIZE(x)                       (((unsigned)(x) & 0xFF) << 8)
2416af69d88dSmrg#define   G_02887C_STACK_SIZE(x)                       (((x) >> 8) & 0xFF)
2417af69d88dSmrg#define   C_02887C_STACK_SIZE                          0xFFFF00FF
241801e04c3fSmrg#define   S_02887C_DX10_CLAMP(x)                       (((unsigned)(x) & 0x1) << 21)
2419af69d88dSmrg#define   G_02887C_DX10_CLAMP(x)                       (((x) >> 21) & 0x1)
2420af69d88dSmrg#define   C_02887C_DX10_CLAMP                          0xFFDFFFFF
24213464ebd5Sriastradh#define R_0286CC_SPI_PS_IN_CONTROL_0                 0x0286CC
24223464ebd5Sriastradh#define R_0286D0_SPI_PS_IN_CONTROL_1                 0x0286D0
24233464ebd5Sriastradh#define R_028644_SPI_PS_INPUT_CNTL_0                 0x028644
24243464ebd5Sriastradh#define R_028648_SPI_PS_INPUT_CNTL_1                 0x028648
24253464ebd5Sriastradh#define R_02864C_SPI_PS_INPUT_CNTL_2                 0x02864C
24263464ebd5Sriastradh#define R_028650_SPI_PS_INPUT_CNTL_3                 0x028650
24273464ebd5Sriastradh#define R_028654_SPI_PS_INPUT_CNTL_4                 0x028654
24283464ebd5Sriastradh#define R_028658_SPI_PS_INPUT_CNTL_5                 0x028658
24293464ebd5Sriastradh#define R_02865C_SPI_PS_INPUT_CNTL_6                 0x02865C
24303464ebd5Sriastradh#define R_028660_SPI_PS_INPUT_CNTL_7                 0x028660
24313464ebd5Sriastradh#define R_028664_SPI_PS_INPUT_CNTL_8                 0x028664
24323464ebd5Sriastradh#define R_028668_SPI_PS_INPUT_CNTL_9                 0x028668
24333464ebd5Sriastradh#define R_02866C_SPI_PS_INPUT_CNTL_10                0x02866C
24343464ebd5Sriastradh#define R_028670_SPI_PS_INPUT_CNTL_11                0x028670
24353464ebd5Sriastradh#define R_028674_SPI_PS_INPUT_CNTL_12                0x028674
24363464ebd5Sriastradh#define R_028678_SPI_PS_INPUT_CNTL_13                0x028678
24373464ebd5Sriastradh#define R_02867C_SPI_PS_INPUT_CNTL_14                0x02867C
24383464ebd5Sriastradh#define R_028680_SPI_PS_INPUT_CNTL_15                0x028680
24393464ebd5Sriastradh#define R_028684_SPI_PS_INPUT_CNTL_16                0x028684
24403464ebd5Sriastradh#define R_028688_SPI_PS_INPUT_CNTL_17                0x028688
24413464ebd5Sriastradh#define R_02868C_SPI_PS_INPUT_CNTL_18                0x02868C
24423464ebd5Sriastradh#define R_028690_SPI_PS_INPUT_CNTL_19                0x028690
24433464ebd5Sriastradh#define R_028694_SPI_PS_INPUT_CNTL_20                0x028694
24443464ebd5Sriastradh#define R_028698_SPI_PS_INPUT_CNTL_21                0x028698
24453464ebd5Sriastradh#define R_02869C_SPI_PS_INPUT_CNTL_22                0x02869C
24463464ebd5Sriastradh#define R_0286A0_SPI_PS_INPUT_CNTL_23                0x0286A0
24473464ebd5Sriastradh#define R_0286A4_SPI_PS_INPUT_CNTL_24                0x0286A4
24483464ebd5Sriastradh#define R_0286A8_SPI_PS_INPUT_CNTL_25                0x0286A8
24493464ebd5Sriastradh#define R_0286AC_SPI_PS_INPUT_CNTL_26                0x0286AC
24503464ebd5Sriastradh#define R_0286B0_SPI_PS_INPUT_CNTL_27                0x0286B0
24513464ebd5Sriastradh#define R_0286B4_SPI_PS_INPUT_CNTL_28                0x0286B4
24523464ebd5Sriastradh#define R_0286B8_SPI_PS_INPUT_CNTL_29                0x0286B8
24533464ebd5Sriastradh#define R_0286BC_SPI_PS_INPUT_CNTL_30                0x0286BC
24543464ebd5Sriastradh#define R_0286C0_SPI_PS_INPUT_CNTL_31                0x0286C0
24553464ebd5Sriastradh#define R_028850_SQ_PGM_RESOURCES_PS                 0x028850
24563464ebd5Sriastradh#define R_028854_SQ_PGM_EXPORTS_PS                   0x028854
245701e04c3fSmrg#define   S_028854_EXPORT_COLORS(x)                    (((unsigned)(x) & 0xF) << 1)
24583464ebd5Sriastradh#define   G_028854_EXPORT_COLORS(x)                    (((x) >> 1) & 0xF)
24593464ebd5Sriastradh#define   C_028854_EXPORT_COLORS                       0xFFFFFFE1
246001e04c3fSmrg#define   S_028854_EXPORT_Z(x)                         (((unsigned)(x) & 0x1) << 0)
24613464ebd5Sriastradh#define   G_028854_EXPORT_Z(x)                         (((x) >> 0) & 0x1)
24623464ebd5Sriastradh#define   C_028854_EXPORT_Z                            0xFFFFFFFE
24633464ebd5Sriastradh#define R_008958_VGT_PRIMITIVE_TYPE                  0x008958
24643464ebd5Sriastradh#define R_028A7C_VGT_DMA_INDEX_TYPE                  0x028A7C
24653464ebd5Sriastradh#define R_028A88_VGT_DMA_NUM_INSTANCES               0x028A88
24663464ebd5Sriastradh#define R_008970_VGT_NUM_INDICES                     0x008970
24673464ebd5Sriastradh#define R_0287F0_VGT_DRAW_INITIATOR                  0x0287F0
24683464ebd5Sriastradh#define R_028238_CB_TARGET_MASK                      0x028238
24693464ebd5Sriastradh#define R_02823C_CB_SHADER_MASK                      0x02823C
24703464ebd5Sriastradh#define R_028060_CB_COLOR0_SIZE                      0x028060
247101e04c3fSmrg#define   S_028060_PITCH_TILE_MAX(x)                   (((unsigned)(x) & 0x3FF) << 0)
24723464ebd5Sriastradh#define   G_028060_PITCH_TILE_MAX(x)                   (((x) >> 0) & 0x3FF)
24733464ebd5Sriastradh#define   C_028060_PITCH_TILE_MAX                      0xFFFFFC00
247401e04c3fSmrg#define   S_028060_SLICE_TILE_MAX(x)                   (((unsigned)(x) & 0xFFFFF) << 10)
24753464ebd5Sriastradh#define   G_028060_SLICE_TILE_MAX(x)                   (((x) >> 10) & 0xFFFFF)
24763464ebd5Sriastradh#define   C_028060_SLICE_TILE_MAX                      0xC00003FF
24773464ebd5Sriastradh#define R_028064_CB_COLOR1_SIZE                      0x028064
24783464ebd5Sriastradh#define R_028068_CB_COLOR2_SIZE                      0x028068
24793464ebd5Sriastradh#define R_02806C_CB_COLOR3_SIZE                      0x02806C
24803464ebd5Sriastradh#define R_028070_CB_COLOR4_SIZE                      0x028070
24813464ebd5Sriastradh#define R_028074_CB_COLOR5_SIZE                      0x028074
24823464ebd5Sriastradh#define R_028078_CB_COLOR6_SIZE                      0x028078
24833464ebd5Sriastradh#define R_02807C_CB_COLOR7_SIZE                      0x02807C
24843464ebd5Sriastradh#define R_028040_CB_COLOR0_BASE                      0x028040
24853464ebd5Sriastradh#define R_028044_CB_COLOR1_BASE                      0x028044
24863464ebd5Sriastradh#define R_028048_CB_COLOR2_BASE                      0x028048
24873464ebd5Sriastradh#define R_02804C_CB_COLOR3_BASE                      0x02804C
24883464ebd5Sriastradh#define R_028050_CB_COLOR4_BASE                      0x028050
24893464ebd5Sriastradh#define R_028054_CB_COLOR5_BASE                      0x028054
24903464ebd5Sriastradh#define R_028058_CB_COLOR6_BASE                      0x028058
24913464ebd5Sriastradh#define R_02805C_CB_COLOR7_BASE                      0x02805C
24923464ebd5Sriastradh#define R_028240_PA_SC_GENERIC_SCISSOR_TL            0x028240
249301e04c3fSmrg#define   S_028240_TL_X(x)                             (((unsigned)(x) & 0x3FFF) << 0)
24943464ebd5Sriastradh#define   G_028240_TL_X(x)                             (((x) >> 0) & 0x3FFF)
24953464ebd5Sriastradh#define   C_028240_TL_X                                0xFFFFC000
249601e04c3fSmrg#define   S_028240_TL_Y(x)                             (((unsigned)(x) & 0x3FFF) << 16)
24973464ebd5Sriastradh#define   G_028240_TL_Y(x)                             (((x) >> 16) & 0x3FFF)
24983464ebd5Sriastradh#define   C_028240_TL_Y                                0xC000FFFF
24993464ebd5Sriastradh#define R_028C04_PA_SC_AA_CONFIG                     0x028C04
250001e04c3fSmrg#define   S_028C04_MSAA_NUM_SAMPLES(x)                 (((unsigned)(x) & 0x3) << 0)
25013464ebd5Sriastradh#define   G_028C04_MSAA_NUM_SAMPLES(x)                 (((x) >> 0) & 0x3)
25023464ebd5Sriastradh#define   C_028C04_MSAA_NUM_SAMPLES                    0xFFFFFFFC
250301e04c3fSmrg#define   S_028C04_AA_MASK_CENTROID_DTMN(x)            (((unsigned)(x) & 0x1) << 4)
25043464ebd5Sriastradh#define   G_028C04_AA_MASK_CENTROID_DTMN(x)            (((x) >> 4) & 0x1)
25053464ebd5Sriastradh#define   C_028C04_AA_MASK_CENTROID_DTMN               0xFFFFFFEF
250601e04c3fSmrg#define   S_028C04_MAX_SAMPLE_DIST(x)                  (((unsigned)(x) & 0xF) << 13)
25073464ebd5Sriastradh#define   G_028C04_MAX_SAMPLE_DIST(x)                  (((x) >> 13) & 0xF)
25083464ebd5Sriastradh#define   C_028C04_MAX_SAMPLE_DIST                     0xFFFE1FFF
25093464ebd5Sriastradh#define R_0288CC_SQ_PGM_CF_OFFSET_PS                 0x0288CC
25103464ebd5Sriastradh#define R_0288D0_SQ_PGM_CF_OFFSET_VS                 0x0288D0
2511af69d88dSmrg#define R_0288D4_SQ_PGM_CF_OFFSET_GS                 0x0288D4
2512af69d88dSmrg#define R_0288D8_SQ_PGM_CF_OFFSET_ES                 0x0288D8
2513af69d88dSmrg#define R_0288DC_SQ_PGM_CF_OFFSET_FS                 0x0288DC
25143464ebd5Sriastradh#define R_028840_SQ_PGM_START_PS                     0x028840
25153464ebd5Sriastradh#define R_028894_SQ_PGM_START_FS                     0x028894
25163464ebd5Sriastradh#define R_028858_SQ_PGM_START_VS                     0x028858
2517af69d88dSmrg#define R_02886C_SQ_PGM_START_GS                     0x02886C
2518af69d88dSmrg#define R_028880_SQ_PGM_START_ES                     0x028880
25193464ebd5Sriastradh#define R_028080_CB_COLOR0_VIEW                      0x028080
252001e04c3fSmrg#define   S_028080_SLICE_START(x)                      (((unsigned)(x) & 0x7FF) << 0)
25213464ebd5Sriastradh#define   G_028080_SLICE_START(x)                      (((x) >> 0) & 0x7FF)
25223464ebd5Sriastradh#define   C_028080_SLICE_START                         0xFFFFF800
252301e04c3fSmrg#define   S_028080_SLICE_MAX(x)                        (((unsigned)(x) & 0x7FF) << 13)
25243464ebd5Sriastradh#define   G_028080_SLICE_MAX(x)                        (((x) >> 13) & 0x7FF)
25253464ebd5Sriastradh#define   C_028080_SLICE_MAX                           0xFF001FFF
25263464ebd5Sriastradh#define R_028084_CB_COLOR1_VIEW                      0x028084
25273464ebd5Sriastradh#define R_028088_CB_COLOR2_VIEW                      0x028088
25283464ebd5Sriastradh#define R_02808C_CB_COLOR3_VIEW                      0x02808C
25293464ebd5Sriastradh#define R_028090_CB_COLOR4_VIEW                      0x028090
25303464ebd5Sriastradh#define R_028094_CB_COLOR5_VIEW                      0x028094
25313464ebd5Sriastradh#define R_028098_CB_COLOR6_VIEW                      0x028098
25323464ebd5Sriastradh#define R_02809C_CB_COLOR7_VIEW                      0x02809C
25333464ebd5Sriastradh#define R_028100_CB_COLOR0_MASK                      0x028100
253401e04c3fSmrg#define   S_028100_CMASK_BLOCK_MAX(x)                  (((unsigned)(x) & 0xFFF) << 0)
25353464ebd5Sriastradh#define   G_028100_CMASK_BLOCK_MAX(x)                  (((x) >> 0) & 0xFFF)
25363464ebd5Sriastradh#define   C_028100_CMASK_BLOCK_MAX                     0xFFFFF000
253701e04c3fSmrg#define   S_028100_FMASK_TILE_MAX(x)                   (((unsigned)(x) & 0xFFFFF) << 12)
25383464ebd5Sriastradh#define   G_028100_FMASK_TILE_MAX(x)                   (((x) >> 12) & 0xFFFFF)
25393464ebd5Sriastradh#define   C_028100_FMASK_TILE_MAX                      0x00000FFF
25403464ebd5Sriastradh#define R_028104_CB_COLOR1_MASK                      0x028104
25413464ebd5Sriastradh#define R_028108_CB_COLOR2_MASK                      0x028108
25423464ebd5Sriastradh#define R_02810C_CB_COLOR3_MASK                      0x02810C
25433464ebd5Sriastradh#define R_028110_CB_COLOR4_MASK                      0x028110
25443464ebd5Sriastradh#define R_028114_CB_COLOR5_MASK                      0x028114
25453464ebd5Sriastradh#define R_028118_CB_COLOR6_MASK                      0x028118
25463464ebd5Sriastradh#define R_02811C_CB_COLOR7_MASK                      0x02811C
25473464ebd5Sriastradh#define R_028040_CB_COLOR0_BASE                      0x028040
254801e04c3fSmrg#define   S_028040_BASE_256B(x)                        (((unsigned)(x) & 0xFFFFFFFF) << 0)
25493464ebd5Sriastradh#define   G_028040_BASE_256B(x)                        (((x) >> 0) & 0xFFFFFFFF)
25503464ebd5Sriastradh#define   C_028040_BASE_256B                           0x00000000
25513464ebd5Sriastradh#define R_0280E0_CB_COLOR0_FRAG                      0x0280E0
255201e04c3fSmrg#define   S_0280E0_BASE_256B(x)                        (((unsigned)(x) & 0xFFFFFFFF) << 0)
25533464ebd5Sriastradh#define   G_0280E0_BASE_256B(x)                        (((x) >> 0) & 0xFFFFFFFF)
25543464ebd5Sriastradh#define   C_0280E0_BASE_256B                           0x00000000
25553464ebd5Sriastradh#define R_0280E4_CB_COLOR1_FRAG                      0x0280E4
25563464ebd5Sriastradh#define R_0280E8_CB_COLOR2_FRAG                      0x0280E8
25573464ebd5Sriastradh#define R_0280EC_CB_COLOR3_FRAG                      0x0280EC
25583464ebd5Sriastradh#define R_0280F0_CB_COLOR4_FRAG                      0x0280F0
25593464ebd5Sriastradh#define R_0280F4_CB_COLOR5_FRAG                      0x0280F4
25603464ebd5Sriastradh#define R_0280F8_CB_COLOR6_FRAG                      0x0280F8
25613464ebd5Sriastradh#define R_0280FC_CB_COLOR7_FRAG                      0x0280FC
25623464ebd5Sriastradh#define R_0280C0_CB_COLOR0_TILE                      0x0280C0
256301e04c3fSmrg#define   S_0280C0_BASE_256B(x)                        (((unsigned)(x) & 0xFFFFFFFF) << 0)
25643464ebd5Sriastradh#define   G_0280C0_BASE_256B(x)                        (((x) >> 0) & 0xFFFFFFFF)
25653464ebd5Sriastradh#define   C_0280C0_BASE_256B                           0x00000000
25663464ebd5Sriastradh#define R_0280C4_CB_COLOR1_TILE                      0x0280C4
25673464ebd5Sriastradh#define R_0280C8_CB_COLOR2_TILE                      0x0280C8
25683464ebd5Sriastradh#define R_0280CC_CB_COLOR3_TILE                      0x0280CC
25693464ebd5Sriastradh#define R_0280D0_CB_COLOR4_TILE                      0x0280D0
25703464ebd5Sriastradh#define R_0280D4_CB_COLOR5_TILE                      0x0280D4
25713464ebd5Sriastradh#define R_0280D8_CB_COLOR6_TILE                      0x0280D8
25723464ebd5Sriastradh#define R_0280DC_CB_COLOR7_TILE                      0x0280DC
25733464ebd5Sriastradh#define R_028614_SPI_VS_OUT_ID_0                     0x028614
257401e04c3fSmrg#define   S_028614_SEMANTIC_0(x)                       (((unsigned)(x) & 0xFF) << 0)
25753464ebd5Sriastradh#define   G_028614_SEMANTIC_0(x)                       (((x) >> 0) & 0xFF)
25763464ebd5Sriastradh#define   C_028614_SEMANTIC_0                          0xFFFFFF00
257701e04c3fSmrg#define   S_028614_SEMANTIC_1(x)                       (((unsigned)(x) & 0xFF) << 8)
25783464ebd5Sriastradh#define   G_028614_SEMANTIC_1(x)                       (((x) >> 8) & 0xFF)
25793464ebd5Sriastradh#define   C_028614_SEMANTIC_1                          0xFFFF00FF
258001e04c3fSmrg#define   S_028614_SEMANTIC_2(x)                       (((unsigned)(x) & 0xFF) << 16)
25813464ebd5Sriastradh#define   G_028614_SEMANTIC_2(x)                       (((x) >> 16) & 0xFF)
25823464ebd5Sriastradh#define   C_028614_SEMANTIC_2                          0xFF00FFFF
258301e04c3fSmrg#define   S_028614_SEMANTIC_3(x)                       (((unsigned)(x) & 0xFF) << 24)
25843464ebd5Sriastradh#define   G_028614_SEMANTIC_3(x)                       (((x) >> 24) & 0xFF)
25853464ebd5Sriastradh#define   C_028614_SEMANTIC_3                          0x00FFFFFF
25863464ebd5Sriastradh#define R_028618_SPI_VS_OUT_ID_1                     0x028618
25873464ebd5Sriastradh#define R_02861C_SPI_VS_OUT_ID_2                     0x02861C
25883464ebd5Sriastradh#define R_028620_SPI_VS_OUT_ID_3                     0x028620
25893464ebd5Sriastradh#define R_028624_SPI_VS_OUT_ID_4                     0x028624
25903464ebd5Sriastradh#define R_028628_SPI_VS_OUT_ID_5                     0x028628
25913464ebd5Sriastradh#define R_02862C_SPI_VS_OUT_ID_6                     0x02862C
25923464ebd5Sriastradh#define R_028630_SPI_VS_OUT_ID_7                     0x028630
25933464ebd5Sriastradh#define R_028634_SPI_VS_OUT_ID_8                     0x028634
25943464ebd5Sriastradh#define R_028638_SPI_VS_OUT_ID_9                     0x028638
25953464ebd5Sriastradh#define R_038000_SQ_TEX_RESOURCE_WORD0_0             0x038000
259601e04c3fSmrg#define   S_038000_DIM(x)                              (((unsigned)(x) & 0x7) << 0)
25973464ebd5Sriastradh#define   G_038000_DIM(x)                              (((x) >> 0) & 0x7)
25983464ebd5Sriastradh#define   C_038000_DIM                                 0xFFFFFFF8
259901e04c3fSmrg#define   S_038000_TILE_MODE(x)                        (((unsigned)(x) & 0xF) << 3)
26003464ebd5Sriastradh#define   G_038000_TILE_MODE(x)                        (((x) >> 3) & 0xF)
26013464ebd5Sriastradh#define   C_038000_TILE_MODE                           0xFFFFFF87
260201e04c3fSmrg#define   S_038000_TILE_TYPE(x)                        (((unsigned)(x) & 0x1) << 7)
26033464ebd5Sriastradh#define   G_038000_TILE_TYPE(x)                        (((x) >> 7) & 0x1)
26043464ebd5Sriastradh#define   C_038000_TILE_TYPE                           0xFFFFFF7F
260501e04c3fSmrg#define   S_038000_PITCH(x)                            (((unsigned)(x) & 0x7FF) << 8)
26063464ebd5Sriastradh#define   G_038000_PITCH(x)                            (((x) >> 8) & 0x7FF)
26073464ebd5Sriastradh#define   C_038000_PITCH                               0xFFF800FF
260801e04c3fSmrg#define   S_038000_TEX_WIDTH(x)                        (((unsigned)(x) & 0x1FFF) << 19)
26093464ebd5Sriastradh#define   G_038000_TEX_WIDTH(x)                        (((x) >> 19) & 0x1FFF)
26103464ebd5Sriastradh#define   C_038000_TEX_WIDTH                           0x0007FFFF
26113464ebd5Sriastradh#define R_038004_SQ_TEX_RESOURCE_WORD1_0             0x038004
261201e04c3fSmrg#define   S_038004_TEX_HEIGHT(x)                       (((unsigned)(x) & 0x1FFF) << 0)
26133464ebd5Sriastradh#define   G_038004_TEX_HEIGHT(x)                       (((x) >> 0) & 0x1FFF)
26143464ebd5Sriastradh#define   C_038004_TEX_HEIGHT                          0xFFFFE000
261501e04c3fSmrg#define   S_038004_TEX_DEPTH(x)                        (((unsigned)(x) & 0x1FFF) << 13)
26163464ebd5Sriastradh#define   G_038004_TEX_DEPTH(x)                        (((x) >> 13) & 0x1FFF)
26173464ebd5Sriastradh#define   C_038004_TEX_DEPTH                           0xFC001FFF
261801e04c3fSmrg#define   S_038004_DATA_FORMAT(x)                      (((unsigned)(x) & 0x3F) << 26)
26193464ebd5Sriastradh#define   G_038004_DATA_FORMAT(x)                      (((x) >> 26) & 0x3F)
26203464ebd5Sriastradh#define   C_038004_DATA_FORMAT                         0x03FFFFFF
26213464ebd5Sriastradh#define     V_038004_COLOR_INVALID                     0x00000000
26223464ebd5Sriastradh#define     V_038004_COLOR_8                           0x00000001
26233464ebd5Sriastradh#define     V_038004_COLOR_4_4                         0x00000002
26243464ebd5Sriastradh#define     V_038004_COLOR_3_3_2                       0x00000003
26253464ebd5Sriastradh#define     V_038004_COLOR_16                          0x00000005
26263464ebd5Sriastradh#define     V_038004_COLOR_16_FLOAT                    0x00000006
26273464ebd5Sriastradh#define     V_038004_COLOR_8_8                         0x00000007
26283464ebd5Sriastradh#define     V_038004_COLOR_5_6_5                       0x00000008
26293464ebd5Sriastradh#define     V_038004_COLOR_6_5_5                       0x00000009
26303464ebd5Sriastradh#define     V_038004_COLOR_1_5_5_5                     0x0000000A
26313464ebd5Sriastradh#define     V_038004_COLOR_4_4_4_4                     0x0000000B
26323464ebd5Sriastradh#define     V_038004_COLOR_5_5_5_1                     0x0000000C
26333464ebd5Sriastradh#define     V_038004_COLOR_32                          0x0000000D
26343464ebd5Sriastradh#define     V_038004_COLOR_32_FLOAT                    0x0000000E
26353464ebd5Sriastradh#define     V_038004_COLOR_16_16                       0x0000000F
26363464ebd5Sriastradh#define     V_038004_COLOR_16_16_FLOAT                 0x00000010
26373464ebd5Sriastradh#define     V_038004_COLOR_8_24                        0x00000011
26383464ebd5Sriastradh#define     V_038004_COLOR_8_24_FLOAT                  0x00000012
26393464ebd5Sriastradh#define     V_038004_COLOR_24_8                        0x00000013
26403464ebd5Sriastradh#define     V_038004_COLOR_24_8_FLOAT                  0x00000014
26413464ebd5Sriastradh#define     V_038004_COLOR_10_11_11                    0x00000015
26423464ebd5Sriastradh#define     V_038004_COLOR_10_11_11_FLOAT              0x00000016
26433464ebd5Sriastradh#define     V_038004_COLOR_11_11_10                    0x00000017
26443464ebd5Sriastradh#define     V_038004_COLOR_11_11_10_FLOAT              0x00000018
26453464ebd5Sriastradh#define     V_038004_COLOR_2_10_10_10                  0x00000019
26463464ebd5Sriastradh#define     V_038004_COLOR_8_8_8_8                     0x0000001A
26473464ebd5Sriastradh#define     V_038004_COLOR_10_10_10_2                  0x0000001B
26483464ebd5Sriastradh#define     V_038004_COLOR_X24_8_32_FLOAT              0x0000001C
26493464ebd5Sriastradh#define     V_038004_COLOR_32_32                       0x0000001D
26503464ebd5Sriastradh#define     V_038004_COLOR_32_32_FLOAT                 0x0000001E
26513464ebd5Sriastradh#define     V_038004_COLOR_16_16_16_16                 0x0000001F
26523464ebd5Sriastradh#define     V_038004_COLOR_16_16_16_16_FLOAT           0x00000020
26533464ebd5Sriastradh#define     V_038004_COLOR_32_32_32_32                 0x00000022
26543464ebd5Sriastradh#define     V_038004_COLOR_32_32_32_32_FLOAT           0x00000023
26553464ebd5Sriastradh#define R_038008_SQ_TEX_RESOURCE_WORD2_0             0x038008
265601e04c3fSmrg#define   S_038008_BASE_ADDRESS(x)                     (((unsigned)(x) & 0xFFFFFFFF) << 0)
26573464ebd5Sriastradh#define   G_038008_BASE_ADDRESS(x)                     (((x) >> 0) & 0xFFFFFFFF)
26583464ebd5Sriastradh#define   C_038008_BASE_ADDRESS                        0x00000000
26593464ebd5Sriastradh#define R_03800C_SQ_TEX_RESOURCE_WORD3_0             0x03800C
266001e04c3fSmrg#define   S_03800C_MIP_ADDRESS(x)                      (((unsigned)(x) & 0xFFFFFFFF) << 0)
26613464ebd5Sriastradh#define   G_03800C_MIP_ADDRESS(x)                      (((x) >> 0) & 0xFFFFFFFF)
26623464ebd5Sriastradh#define   C_03800C_MIP_ADDRESS                         0x00000000
26633464ebd5Sriastradh#define R_038010_SQ_TEX_RESOURCE_WORD4_0             0x038010
266401e04c3fSmrg#define   S_038010_FORMAT_COMP_X(x)                    (((unsigned)(x) & 0x3) << 0)
26653464ebd5Sriastradh#define   G_038010_FORMAT_COMP_X(x)                    (((x) >> 0) & 0x3)
26663464ebd5Sriastradh#define   C_038010_FORMAT_COMP_X                       0xFFFFFFFC
266701e04c3fSmrg#define   S_038010_FORMAT_COMP_Y(x)                    (((unsigned)(x) & 0x3) << 2)
26683464ebd5Sriastradh#define   G_038010_FORMAT_COMP_Y(x)                    (((x) >> 2) & 0x3)
26693464ebd5Sriastradh#define   C_038010_FORMAT_COMP_Y                       0xFFFFFFF3
267001e04c3fSmrg#define   S_038010_FORMAT_COMP_Z(x)                    (((unsigned)(x) & 0x3) << 4)
26713464ebd5Sriastradh#define   G_038010_FORMAT_COMP_Z(x)                    (((x) >> 4) & 0x3)
26723464ebd5Sriastradh#define   C_038010_FORMAT_COMP_Z                       0xFFFFFFCF
267301e04c3fSmrg#define   S_038010_FORMAT_COMP_W(x)                    (((unsigned)(x) & 0x3) << 6)
26743464ebd5Sriastradh#define   G_038010_FORMAT_COMP_W(x)                    (((x) >> 6) & 0x3)
26753464ebd5Sriastradh#define   C_038010_FORMAT_COMP_W                       0xFFFFFF3F
267601e04c3fSmrg#define   S_038010_NUM_FORMAT_ALL(x)                   (((unsigned)(x) & 0x3) << 8)
26773464ebd5Sriastradh#define   G_038010_NUM_FORMAT_ALL(x)                   (((x) >> 8) & 0x3)
26783464ebd5Sriastradh#define   C_038010_NUM_FORMAT_ALL                      0xFFFFFCFF
267901e04c3fSmrg#define   S_038010_SRF_MODE_ALL(x)                     (((unsigned)(x) & 0x1) << 10)
26803464ebd5Sriastradh#define   G_038010_SRF_MODE_ALL(x)                     (((x) >> 10) & 0x1)
26813464ebd5Sriastradh#define   C_038010_SRF_MODE_ALL                        0xFFFFFBFF
268201e04c3fSmrg#define   S_038010_FORCE_DEGAMMA(x)                    (((unsigned)(x) & 0x1) << 11)
26833464ebd5Sriastradh#define   G_038010_FORCE_DEGAMMA(x)                    (((x) >> 11) & 0x1)
26843464ebd5Sriastradh#define   C_038010_FORCE_DEGAMMA                       0xFFFFF7FF
268501e04c3fSmrg#define   S_038010_ENDIAN_SWAP(x)                      (((unsigned)(x) & 0x3) << 12)
26863464ebd5Sriastradh#define   G_038010_ENDIAN_SWAP(x)                      (((x) >> 12) & 0x3)
26873464ebd5Sriastradh#define   C_038010_ENDIAN_SWAP                         0xFFFFCFFF
268801e04c3fSmrg#define   S_038010_REQUEST_SIZE(x)                     (((unsigned)(x) & 0x3) << 14)
26893464ebd5Sriastradh#define   G_038010_REQUEST_SIZE(x)                     (((x) >> 14) & 0x3)
26903464ebd5Sriastradh#define   C_038010_REQUEST_SIZE                        0xFFFF3FFF
269101e04c3fSmrg#define   S_038010_DST_SEL_X(x)                        (((unsigned)(x) & 0x7) << 16)
26923464ebd5Sriastradh#define   G_038010_DST_SEL_X(x)                        (((x) >> 16) & 0x7)
26933464ebd5Sriastradh#define   C_038010_DST_SEL_X                           0xFFF8FFFF
269401e04c3fSmrg#define   S_038010_DST_SEL_Y(x)                        (((unsigned)(x) & 0x7) << 19)
26953464ebd5Sriastradh#define   G_038010_DST_SEL_Y(x)                        (((x) >> 19) & 0x7)
26963464ebd5Sriastradh#define   C_038010_DST_SEL_Y                           0xFFC7FFFF
269701e04c3fSmrg#define   S_038010_DST_SEL_Z(x)                        (((unsigned)(x) & 0x7) << 22)
26983464ebd5Sriastradh#define   G_038010_DST_SEL_Z(x)                        (((x) >> 22) & 0x7)
26993464ebd5Sriastradh#define   C_038010_DST_SEL_Z                           0xFE3FFFFF
270001e04c3fSmrg#define   S_038010_DST_SEL_W(x)                        (((unsigned)(x) & 0x7) << 25)
27013464ebd5Sriastradh#define   G_038010_DST_SEL_W(x)                        (((x) >> 25) & 0x7)
27023464ebd5Sriastradh#define   C_038010_DST_SEL_W                           0xF1FFFFFF
270301e04c3fSmrg#define   S_038010_BASE_LEVEL(x)                       (((unsigned)(x) & 0xF) << 28)
27043464ebd5Sriastradh#define   G_038010_BASE_LEVEL(x)                       (((x) >> 28) & 0xF)
27053464ebd5Sriastradh#define   C_038010_BASE_LEVEL                          0x0FFFFFFF
27063464ebd5Sriastradh#define R_038014_SQ_TEX_RESOURCE_WORD5_0             0x038014
270701e04c3fSmrg#define   S_038014_LAST_LEVEL(x)                       (((unsigned)(x) & 0xF) << 0)
27083464ebd5Sriastradh#define   G_038014_LAST_LEVEL(x)                       (((x) >> 0) & 0xF)
27093464ebd5Sriastradh#define   C_038014_LAST_LEVEL                          0xFFFFFFF0
271001e04c3fSmrg#define   S_038014_BASE_ARRAY(x)                       (((unsigned)(x) & 0x1FFF) << 4)
27113464ebd5Sriastradh#define   G_038014_BASE_ARRAY(x)                       (((x) >> 4) & 0x1FFF)
27123464ebd5Sriastradh#define   C_038014_BASE_ARRAY                          0xFFFE000F
271301e04c3fSmrg#define   S_038014_LAST_ARRAY(x)                       (((unsigned)(x) & 0x1FFF) << 17)
27143464ebd5Sriastradh#define   G_038014_LAST_ARRAY(x)                       (((x) >> 17) & 0x1FFF)
27153464ebd5Sriastradh#define   C_038014_LAST_ARRAY                          0xC001FFFF
27163464ebd5Sriastradh#define R_038018_SQ_TEX_RESOURCE_WORD6_0             0x038018
271701e04c3fSmrg#define   S_038018_MPEG_CLAMP(x)                       (((unsigned)(x) & 0x3) << 0)
27183464ebd5Sriastradh#define   G_038018_MPEG_CLAMP(x)                       (((x) >> 0) & 0x3)
27193464ebd5Sriastradh#define   C_038018_MPEG_CLAMP                          0xFFFFFFFC
272001e04c3fSmrg#define   S_038018_PERF_MODULATION(x)                  (((unsigned)(x) & 0x7) << 5)
27213464ebd5Sriastradh#define   G_038018_PERF_MODULATION(x)                  (((x) >> 5) & 0x7)
27223464ebd5Sriastradh#define   C_038018_PERF_MODULATION                     0xFFFFFF1F
272301e04c3fSmrg#define   S_038018_INTERLACED(x)                       (((unsigned)(x) & 0x1) << 8)
27243464ebd5Sriastradh#define   G_038018_INTERLACED(x)                       (((x) >> 8) & 0x1)
27253464ebd5Sriastradh#define   C_038018_INTERLACED                          0xFFFFFEFF
272601e04c3fSmrg#define   S_038018_TYPE(x)                             (((unsigned)(x) & 0x3) << 30)
27273464ebd5Sriastradh#define   G_038018_TYPE(x)                             (((x) >> 30) & 0x3)
27283464ebd5Sriastradh#define   C_038018_TYPE                                0x3FFFFFFF
27293464ebd5Sriastradh#define R_008040_WAIT_UNTIL                          0x008040
273001e04c3fSmrg#define   S_008040_WAIT_CP_DMA_IDLE(x)                 (((unsigned)(x) & 0x1) << 8)
27313464ebd5Sriastradh#define   G_008040_WAIT_CP_DMA_IDLE(x)                 (((x) >> 8) & 0x1)
27323464ebd5Sriastradh#define   C_008040_WAIT_CP_DMA_IDLE                    0xFFFFFEFF
273301e04c3fSmrg#define   S_008040_WAIT_CMDFIFO(x)                     (((unsigned)(x) & 0x1) << 10)
27343464ebd5Sriastradh#define   G_008040_WAIT_CMDFIFO(x)                     (((x) >> 10) & 0x1)
27353464ebd5Sriastradh#define   C_008040_WAIT_CMDFIFO                        0xFFFFFBFF
273601e04c3fSmrg#define   S_008040_WAIT_2D_IDLE(x)                     (((unsigned)(x) & 0x1) << 14)
27373464ebd5Sriastradh#define   G_008040_WAIT_2D_IDLE(x)                     (((x) >> 14) & 0x1)
27383464ebd5Sriastradh#define   C_008040_WAIT_2D_IDLE                        0xFFFFBFFF
273901e04c3fSmrg#define   S_008040_WAIT_3D_IDLE(x)                     (((unsigned)(x) & 0x1) << 15)
27403464ebd5Sriastradh#define   G_008040_WAIT_3D_IDLE(x)                     (((x) >> 15) & 0x1)
27413464ebd5Sriastradh#define   C_008040_WAIT_3D_IDLE                        0xFFFF7FFF
274201e04c3fSmrg#define   S_008040_WAIT_2D_IDLECLEAN(x)                (((unsigned)(x) & 0x1) << 16)
27433464ebd5Sriastradh#define   G_008040_WAIT_2D_IDLECLEAN(x)                (((x) >> 16) & 0x1)
27443464ebd5Sriastradh#define   C_008040_WAIT_2D_IDLECLEAN                   0xFFFEFFFF
274501e04c3fSmrg#define   S_008040_WAIT_3D_IDLECLEAN(x)                (((unsigned)(x) & 0x1) << 17)
27463464ebd5Sriastradh#define   G_008040_WAIT_3D_IDLECLEAN(x)                (((x) >> 17) & 0x1)
27473464ebd5Sriastradh#define   C_008040_WAIT_3D_IDLECLEAN                   0xFFFDFFFF
274801e04c3fSmrg#define   S_008040_WAIT_EXTERN_SIG(x)                  (((unsigned)(x) & 0x1) << 19)
27493464ebd5Sriastradh#define   G_008040_WAIT_EXTERN_SIG(x)                  (((x) >> 19) & 0x1)
27503464ebd5Sriastradh#define   C_008040_WAIT_EXTERN_SIG                     0xFFF7FFFF
275101e04c3fSmrg#define   S_008040_CMDFIFO_ENTRIES(x)                  (((unsigned)(x) & 0x1F) << 20)
27523464ebd5Sriastradh#define   G_008040_CMDFIFO_ENTRIES(x)                  (((x) >> 20) & 0x1F)
27533464ebd5Sriastradh#define   C_008040_CMDFIFO_ENTRIES                     0xFE0FFFFF
27543464ebd5Sriastradh#define R_008958_VGT_PRIMITIVE_TYPE                  0x008958
275501e04c3fSmrg#define   S_008958_PRIM_TYPE(x)                        (((unsigned)(x) & 0x3F) << 0)
27563464ebd5Sriastradh#define   G_008958_PRIM_TYPE(x)                        (((x) >> 0) & 0x3F)
27573464ebd5Sriastradh#define   C_008958_PRIM_TYPE                           0xFFFFFFC0
27583464ebd5Sriastradh#define R_008C08_SQ_GPR_RESOURCE_MGMT_2              0x008C08
275901e04c3fSmrg#define   S_008C08_NUM_GS_GPRS(x)                      (((unsigned)(x) & 0xFF) << 0)
27603464ebd5Sriastradh#define   G_008C08_NUM_GS_GPRS(x)                      (((x) >> 0) & 0xFF)
27613464ebd5Sriastradh#define   C_008C08_NUM_GS_GPRS                         0xFFFFFF00
276201e04c3fSmrg#define   S_008C08_NUM_ES_GPRS(x)                      (((unsigned)(x) & 0xFF) << 16)
27633464ebd5Sriastradh#define   G_008C08_NUM_ES_GPRS(x)                      (((x) >> 16) & 0xFF)
27643464ebd5Sriastradh#define   C_008C08_NUM_ES_GPRS                         0xFF00FFFF
27653464ebd5Sriastradh#define R_008D8C_SQ_DYN_GPR_CNTL_PS_FLUSH_REQ        0x008D8C
276601e04c3fSmrg#define   S_008D8C_RING0_OFFSET(x)                     (((unsigned)(x) & 0xFF) << 0)
27673464ebd5Sriastradh#define   G_008D8C_RING0_OFFSET(x)                     (((x) >> 0) & 0xFF)
27683464ebd5Sriastradh#define   C_008D8C_RING0_OFFSET                        0xFFFFFF00
276901e04c3fSmrg#define   S_008D8C_ISOLATE_ES_ENABLE(x)                (((unsigned)(x) & 0x1) << 12)
27703464ebd5Sriastradh#define   G_008D8C_ISOLATE_ES_ENABLE(x)                (((x) >> 12) & 0x1)
27713464ebd5Sriastradh#define   C_008D8C_ISOLATE_ES_ENABLE                   0xFFFFEFFF
277201e04c3fSmrg#define   S_008D8C_ISOLATE_GS_ENABLE(x)                (((unsigned)(x) & 0x1) << 13)
27733464ebd5Sriastradh#define   G_008D8C_ISOLATE_GS_ENABLE(x)                (((x) >> 13) & 0x1)
27743464ebd5Sriastradh#define   C_008D8C_ISOLATE_GS_ENABLE                   0xFFFFDFFF
277501e04c3fSmrg#define   S_008D8C_VS_PC_LIMIT_ENABLE(x)               (((unsigned)(x) & 0x1) << 14)
27763464ebd5Sriastradh#define   G_008D8C_VS_PC_LIMIT_ENABLE(x)               (((x) >> 14) & 0x1)
27773464ebd5Sriastradh#define   C_008D8C_VS_PC_LIMIT_ENABLE                  0xFFFFBFFF
27783464ebd5Sriastradh#define R_009508_TA_CNTL_AUX                         0x009508
277901e04c3fSmrg#define   S_009508_DISABLE_CUBE_WRAP(x)                (((unsigned)(x) & 0x1) << 0)
27803464ebd5Sriastradh#define   G_009508_DISABLE_CUBE_WRAP(x)                (((x) >> 0) & 0x1)
27813464ebd5Sriastradh#define   C_009508_DISABLE_CUBE_WRAP                   0xFFFFFFFE
278201e04c3fSmrg#define   S_009508_DISABLE_CUBE_ANISO(x)               (((unsigned)(x) & 0x1) << 1)
27833464ebd5Sriastradh#define   G_009508_DISABLE_CUBE_ANISO(x)               (((x) >> 1) & 0x1)
27843464ebd5Sriastradh#define   C_009508_DISABLE_CUBE_ANISO                  (~(1 << 1))
278501e04c3fSmrg#define   S_009508_SYNC_GRADIENT(x)                    (((unsigned)(x) & 0x1) << 24)
27863464ebd5Sriastradh#define   G_009508_SYNC_GRADIENT(x)                    (((x) >> 24) & 0x1)
27873464ebd5Sriastradh#define   C_009508_SYNC_GRADIENT                       0xFEFFFFFF
278801e04c3fSmrg#define   S_009508_SYNC_WALKER(x)                      (((unsigned)(x) & 0x1) << 25)
27893464ebd5Sriastradh#define   G_009508_SYNC_WALKER(x)                      (((x) >> 25) & 0x1)
27903464ebd5Sriastradh#define   C_009508_SYNC_WALKER                         0xFDFFFFFF
279101e04c3fSmrg#define   S_009508_SYNC_ALIGNER(x)                     (((unsigned)(x) & 0x1) << 26)
27923464ebd5Sriastradh#define   G_009508_SYNC_ALIGNER(x)                     (((x) >> 26) & 0x1)
27933464ebd5Sriastradh#define   C_009508_SYNC_ALIGNER                        0xFBFFFFFF
279401e04c3fSmrg#define   S_009508_BILINEAR_PRECISION(x)               (((unsigned)(x) & 0x1) << 31)
27953464ebd5Sriastradh#define   G_009508_BILINEAR_PRECISION(x)               (((x) >> 31) & 0x1)
27963464ebd5Sriastradh#define   C_009508_BILINEAR_PRECISION                  0x7FFFFFFF
27973464ebd5Sriastradh#define R_009714_VC_ENHANCE                          0x009714
27983464ebd5Sriastradh#define R_009830_DB_DEBUG                            0x009830
27993464ebd5Sriastradh#define R_009838_DB_WATERMARKS                       0x009838
280001e04c3fSmrg#define   S_009838_DEPTH_FREE(x)                       (((unsigned)(x) & 0x1F) << 0)
28013464ebd5Sriastradh#define   G_009838_DEPTH_FREE(x)                       (((x) >> 0) & 0x1F)
28023464ebd5Sriastradh#define   C_009838_DEPTH_FREE                          0xFFFFFFE0
280301e04c3fSmrg#define   S_009838_DEPTH_FLUSH(x)                      (((unsigned)(x) & 0x3F) << 5)
28043464ebd5Sriastradh#define   G_009838_DEPTH_FLUSH(x)                      (((x) >> 5) & 0x3F)
28053464ebd5Sriastradh#define   C_009838_DEPTH_FLUSH                         0xFFFFF81F
280601e04c3fSmrg#define   S_009838_FORCE_SUMMARIZE(x)                  (((unsigned)(x) & 0xF) << 11)
28073464ebd5Sriastradh#define   G_009838_FORCE_SUMMARIZE(x)                  (((x) >> 11) & 0xF)
28083464ebd5Sriastradh#define   C_009838_FORCE_SUMMARIZE                     0xFFFF87FF
280901e04c3fSmrg#define   S_009838_DEPTH_PENDING_FREE(x)               (((unsigned)(x) & 0x1F) << 15)
28103464ebd5Sriastradh#define   G_009838_DEPTH_PENDING_FREE(x)               (((x) >> 15) & 0x1F)
28113464ebd5Sriastradh#define   C_009838_DEPTH_PENDING_FREE                  0xFFF07FFF
281201e04c3fSmrg#define   S_009838_DEPTH_CACHELINE_FREE(x)             (((unsigned)(x) & 0x1F) << 20)
28133464ebd5Sriastradh#define   G_009838_DEPTH_CACHELINE_FREE(x)             (((x) >> 20) & 0x1F)
28143464ebd5Sriastradh#define   C_009838_DEPTH_CACHELINE_FREE                0xFE0FFFFF
281501e04c3fSmrg#define   S_009838_EARLY_Z_PANIC_DISABLE(x)            (((unsigned)(x) & 0x1) << 25)
28163464ebd5Sriastradh#define   G_009838_EARLY_Z_PANIC_DISABLE(x)            (((x) >> 25) & 0x1)
28173464ebd5Sriastradh#define   C_009838_EARLY_Z_PANIC_DISABLE               0xFDFFFFFF
281801e04c3fSmrg#define   S_009838_LATE_Z_PANIC_DISABLE(x)             (((unsigned)(x) & 0x1) << 26)
28193464ebd5Sriastradh#define   G_009838_LATE_Z_PANIC_DISABLE(x)             (((x) >> 26) & 0x1)
28203464ebd5Sriastradh#define   C_009838_LATE_Z_PANIC_DISABLE                0xFBFFFFFF
282101e04c3fSmrg#define   S_009838_RE_Z_PANIC_DISABLE(x)               (((unsigned)(x) & 0x1) << 27)
28223464ebd5Sriastradh#define   G_009838_RE_Z_PANIC_DISABLE(x)               (((x) >> 27) & 0x1)
28233464ebd5Sriastradh#define   C_009838_RE_Z_PANIC_DISABLE                  0xF7FFFFFF
282401e04c3fSmrg#define   S_009838_DB_EXTRA_DEBUG(x)                   (((unsigned)(x) & 0xF) << 28)
28253464ebd5Sriastradh#define   G_009838_DB_EXTRA_DEBUG(x)                   (((x) >> 28) & 0xF)
28263464ebd5Sriastradh#define   C_009838_DB_EXTRA_DEBUG                      0x0FFFFFFF
28273464ebd5Sriastradh#define R_028030_PA_SC_SCREEN_SCISSOR_TL             0x028030
282801e04c3fSmrg#define   S_028030_TL_X(x)                             (((unsigned)(x) & 0x7FFF) << 0)
28293464ebd5Sriastradh#define   G_028030_TL_X(x)                             (((x) >> 0) & 0x7FFF)
28303464ebd5Sriastradh#define   C_028030_TL_X                                0xFFFF8000
283101e04c3fSmrg#define   S_028030_TL_Y(x)                             (((unsigned)(x) & 0x7FFF) << 16)
28323464ebd5Sriastradh#define   G_028030_TL_Y(x)                             (((x) >> 16) & 0x7FFF)
28333464ebd5Sriastradh#define   C_028030_TL_Y                                0x8000FFFF
28343464ebd5Sriastradh#define R_028034_PA_SC_SCREEN_SCISSOR_BR             0x028034
283501e04c3fSmrg#define   S_028034_BR_X(x)                             (((unsigned)(x) & 0x7FFF) << 0)
28363464ebd5Sriastradh#define   G_028034_BR_X(x)                             (((x) >> 0) & 0x7FFF)
28373464ebd5Sriastradh#define   C_028034_BR_X                                0xFFFF8000
283801e04c3fSmrg#define   S_028034_BR_Y(x)                             (((unsigned)(x) & 0x7FFF) << 16)
28393464ebd5Sriastradh#define   G_028034_BR_Y(x)                             (((x) >> 16) & 0x7FFF)
28403464ebd5Sriastradh#define   C_028034_BR_Y                                0x8000FFFF
28413464ebd5Sriastradh#define R_028200_PA_SC_WINDOW_OFFSET                 0x028200
284201e04c3fSmrg#define   S_028200_WINDOW_X_OFFSET(x)                  (((unsigned)(x) & 0x7FFF) << 0)
28433464ebd5Sriastradh#define   G_028200_WINDOW_X_OFFSET(x)                  (((x) >> 0) & 0x7FFF)
28443464ebd5Sriastradh#define   C_028200_WINDOW_X_OFFSET                     0xFFFF8000
284501e04c3fSmrg#define   S_028200_WINDOW_Y_OFFSET(x)                  (((unsigned)(x) & 0x7FFF) << 16)
28463464ebd5Sriastradh#define   G_028200_WINDOW_Y_OFFSET(x)                  (((x) >> 16) & 0x7FFF)
28473464ebd5Sriastradh#define   C_028200_WINDOW_Y_OFFSET                     0x8000FFFF
28483464ebd5Sriastradh#define R_028204_PA_SC_WINDOW_SCISSOR_TL             0x028204
284901e04c3fSmrg#define   S_028204_TL_X(x)                             (((unsigned)(x) & 0x3FFF) << 0)
28503464ebd5Sriastradh#define   G_028204_TL_X(x)                             (((x) >> 0) & 0x3FFF)
28513464ebd5Sriastradh#define   C_028204_TL_X                                0xFFFFC000
285201e04c3fSmrg#define   S_028204_TL_Y(x)                             (((unsigned)(x) & 0x3FFF) << 16)
28533464ebd5Sriastradh#define   G_028204_TL_Y(x)                             (((x) >> 16) & 0x3FFF)
28543464ebd5Sriastradh#define   C_028204_TL_Y                                0xC000FFFF
285501e04c3fSmrg#define   S_028204_WINDOW_OFFSET_DISABLE(x)            (((unsigned)(x) & 0x1) << 31)
28563464ebd5Sriastradh#define   G_028204_WINDOW_OFFSET_DISABLE(x)            (((x) >> 31) & 0x1)
28573464ebd5Sriastradh#define   C_028204_WINDOW_OFFSET_DISABLE               0x7FFFFFFF
28583464ebd5Sriastradh#define R_028208_PA_SC_WINDOW_SCISSOR_BR             0x028208
285901e04c3fSmrg#define   S_028208_BR_X(x)                             (((unsigned)(x) & 0x3FFF) << 0)
28603464ebd5Sriastradh#define   G_028208_BR_X(x)                             (((x) >> 0) & 0x3FFF)
28613464ebd5Sriastradh#define   C_028208_BR_X                                0xFFFFC000
286201e04c3fSmrg#define   S_028208_BR_Y(x)                             (((unsigned)(x) & 0x3FFF) << 16)
28633464ebd5Sriastradh#define   G_028208_BR_Y(x)                             (((x) >> 16) & 0x3FFF)
28643464ebd5Sriastradh#define   C_028208_BR_Y                                0xC000FFFF
28653464ebd5Sriastradh#define R_02820C_PA_SC_CLIPRECT_RULE                 0x02820C
286601e04c3fSmrg#define   S_02820C_CLIP_RULE(x)                        (((unsigned)(x) & 0xFFFF) << 0)
28673464ebd5Sriastradh#define   G_02820C_CLIP_RULE(x)                        (((x) >> 0) & 0xFFFF)
28683464ebd5Sriastradh#define   C_02820C_CLIP_RULE                           0xFFFF0000
28693464ebd5Sriastradh#define R_028210_PA_SC_CLIPRECT_0_TL                 0x028210
287001e04c3fSmrg#define   S_028210_TL_X(x)                             (((unsigned)(x) & 0x3FFF) << 0)
28713464ebd5Sriastradh#define   G_028210_TL_X(x)                             (((x) >> 0) & 0x3FFF)
28723464ebd5Sriastradh#define   C_028210_TL_X                                0xFFFFC000
287301e04c3fSmrg#define   S_028210_TL_Y(x)                             (((unsigned)(x) & 0x3FFF) << 16)
28743464ebd5Sriastradh#define   G_028210_TL_Y(x)                             (((x) >> 16) & 0x3FFF)
28753464ebd5Sriastradh#define   C_028210_TL_Y                                0xC000FFFF
28763464ebd5Sriastradh#define R_028214_PA_SC_CLIPRECT_0_BR                 0x028214
287701e04c3fSmrg#define   S_028214_BR_X(x)                             (((unsigned)(x) & 0x3FFF) << 0)
28783464ebd5Sriastradh#define   G_028214_BR_X(x)                             (((x) >> 0) & 0x3FFF)
28793464ebd5Sriastradh#define   C_028214_BR_X                                0xFFFFC000
288001e04c3fSmrg#define   S_028214_BR_Y(x)                             (((unsigned)(x) & 0x3FFF) << 16)
28813464ebd5Sriastradh#define   G_028214_BR_Y(x)                             (((x) >> 16) & 0x3FFF)
28823464ebd5Sriastradh#define   C_028214_BR_Y                                0xC000FFFF
28833464ebd5Sriastradh#define R_028218_PA_SC_CLIPRECT_1_TL                 0x028218
28843464ebd5Sriastradh#define R_02821C_PA_SC_CLIPRECT_1_BR                 0x02821C
28853464ebd5Sriastradh#define R_028220_PA_SC_CLIPRECT_2_TL                 0x028220
28863464ebd5Sriastradh#define R_028224_PA_SC_CLIPRECT_2_BR                 0x028224
28873464ebd5Sriastradh#define R_028228_PA_SC_CLIPRECT_3_TL                 0x028228
28883464ebd5Sriastradh#define R_02822C_PA_SC_CLIPRECT_3_BR                 0x02822C
28893464ebd5Sriastradh#define R_028230_PA_SC_EDGERULE                      0x028230
28903464ebd5Sriastradh#define R_028240_PA_SC_GENERIC_SCISSOR_TL            0x028240
289101e04c3fSmrg#define   S_028240_TL_X(x)                             (((unsigned)(x) & 0x3FFF) << 0)
28923464ebd5Sriastradh#define   G_028240_TL_X(x)                             (((x) >> 0) & 0x3FFF)
28933464ebd5Sriastradh#define   C_028240_TL_X                                0xFFFFC000
289401e04c3fSmrg#define   S_028240_TL_Y(x)                             (((unsigned)(x) & 0x3FFF) << 16)
28953464ebd5Sriastradh#define   G_028240_TL_Y(x)                             (((x) >> 16) & 0x3FFF)
28963464ebd5Sriastradh#define   C_028240_TL_Y                                0xC000FFFF
289701e04c3fSmrg#define   S_028240_WINDOW_OFFSET_DISABLE(x)            (((unsigned)(x) & 0x1) << 31)
28983464ebd5Sriastradh#define   G_028240_WINDOW_OFFSET_DISABLE(x)            (((x) >> 31) & 0x1)
28993464ebd5Sriastradh#define   C_028240_WINDOW_OFFSET_DISABLE               0x7FFFFFFF
29003464ebd5Sriastradh#define R_028244_PA_SC_GENERIC_SCISSOR_BR            0x028244
290101e04c3fSmrg#define   S_028244_BR_X(x)                             (((unsigned)(x) & 0x3FFF) << 0)
29023464ebd5Sriastradh#define   G_028244_BR_X(x)                             (((x) >> 0) & 0x3FFF)
29033464ebd5Sriastradh#define   C_028244_BR_X                                0xFFFFC000
290401e04c3fSmrg#define   S_028244_BR_Y(x)                             (((unsigned)(x) & 0x3FFF) << 16)
29053464ebd5Sriastradh#define   G_028244_BR_Y(x)                             (((x) >> 16) & 0x3FFF)
29063464ebd5Sriastradh#define   C_028244_BR_Y                                0xC000FFFF
29073464ebd5Sriastradh#define R_0282D0_PA_SC_VPORT_ZMIN_0                  0x0282D0
290801e04c3fSmrg#define   S_0282D0_VPORT_ZMIN(x)                       (((unsigned)(x) & 0xFFFFFFFF) << 0)
29093464ebd5Sriastradh#define   G_0282D0_VPORT_ZMIN(x)                       (((x) >> 0) & 0xFFFFFFFF)
29103464ebd5Sriastradh#define   C_0282D0_VPORT_ZMIN                          0x00000000
29113464ebd5Sriastradh#define R_0282D4_PA_SC_VPORT_ZMAX_0                  0x0282D4
291201e04c3fSmrg#define   S_0282D4_VPORT_ZMAX(x)                       (((unsigned)(x) & 0xFFFFFFFF) << 0)
29133464ebd5Sriastradh#define   G_0282D4_VPORT_ZMAX(x)                       (((x) >> 0) & 0xFFFFFFFF)
29143464ebd5Sriastradh#define   C_0282D4_VPORT_ZMAX                          0x00000000
29153464ebd5Sriastradh#define R_028350_SX_MISC                             0x028350
291601e04c3fSmrg#define   S_028350_MULTIPASS(x)                        (((unsigned)(x) & 0x1) << 0)
29173464ebd5Sriastradh#define   G_028350_MULTIPASS(x)                        (((x) >> 0) & 0x1)
29183464ebd5Sriastradh#define   C_028350_MULTIPASS                           0xFFFFFFFE
2919af69d88dSmrg#define R_028354_SX_SURFACE_SYNC                     0x028354
292001e04c3fSmrg#define   S_028354_SURFACE_SYNC_MASK(x)                (((unsigned)(x) & 0x1FF) << 0)
29213464ebd5Sriastradh#define R_028380_SQ_VTX_SEMANTIC_0                   0x028380
292201e04c3fSmrg#define   S_028380_SEMANTIC_ID(x)                      (((unsigned)(x) & 0xFF) << 0)
29233464ebd5Sriastradh#define   G_028380_SEMANTIC_ID(x)                      (((x) >> 0) & 0xFF)
29243464ebd5Sriastradh#define   C_028380_SEMANTIC_ID                         0xFFFFFF00
29253464ebd5Sriastradh#define R_028384_SQ_VTX_SEMANTIC_1                   0x028384
29263464ebd5Sriastradh#define R_028388_SQ_VTX_SEMANTIC_2                   0x028388
29273464ebd5Sriastradh#define R_02838C_SQ_VTX_SEMANTIC_3                   0x02838C
29283464ebd5Sriastradh#define R_028390_SQ_VTX_SEMANTIC_4                   0x028390
29293464ebd5Sriastradh#define R_028394_SQ_VTX_SEMANTIC_5                   0x028394
29303464ebd5Sriastradh#define R_028398_SQ_VTX_SEMANTIC_6                   0x028398
29313464ebd5Sriastradh#define R_02839C_SQ_VTX_SEMANTIC_7                   0x02839C
29323464ebd5Sriastradh#define R_0283A0_SQ_VTX_SEMANTIC_8                   0x0283A0
29333464ebd5Sriastradh#define R_0283A4_SQ_VTX_SEMANTIC_9                   0x0283A4
29343464ebd5Sriastradh#define R_0283A8_SQ_VTX_SEMANTIC_10                  0x0283A8
29353464ebd5Sriastradh#define R_0283AC_SQ_VTX_SEMANTIC_11                  0x0283AC
29363464ebd5Sriastradh#define R_0283B0_SQ_VTX_SEMANTIC_12                  0x0283B0
29373464ebd5Sriastradh#define R_0283B4_SQ_VTX_SEMANTIC_13                  0x0283B4
29383464ebd5Sriastradh#define R_0283B8_SQ_VTX_SEMANTIC_14                  0x0283B8
29393464ebd5Sriastradh#define R_0283BC_SQ_VTX_SEMANTIC_15                  0x0283BC
29403464ebd5Sriastradh#define R_0283C0_SQ_VTX_SEMANTIC_16                  0x0283C0
29413464ebd5Sriastradh#define R_0283C4_SQ_VTX_SEMANTIC_17                  0x0283C4
29423464ebd5Sriastradh#define R_0283C8_SQ_VTX_SEMANTIC_18                  0x0283C8
29433464ebd5Sriastradh#define R_0283CC_SQ_VTX_SEMANTIC_19                  0x0283CC
29443464ebd5Sriastradh#define R_0283D0_SQ_VTX_SEMANTIC_20                  0x0283D0
29453464ebd5Sriastradh#define R_0283D4_SQ_VTX_SEMANTIC_21                  0x0283D4
29463464ebd5Sriastradh#define R_0283D8_SQ_VTX_SEMANTIC_22                  0x0283D8
29473464ebd5Sriastradh#define R_0283DC_SQ_VTX_SEMANTIC_23                  0x0283DC
29483464ebd5Sriastradh#define R_0283E0_SQ_VTX_SEMANTIC_24                  0x0283E0
29493464ebd5Sriastradh#define R_0283E4_SQ_VTX_SEMANTIC_25                  0x0283E4
29503464ebd5Sriastradh#define R_0283E8_SQ_VTX_SEMANTIC_26                  0x0283E8
29513464ebd5Sriastradh#define R_0283EC_SQ_VTX_SEMANTIC_27                  0x0283EC
29523464ebd5Sriastradh#define R_0283F0_SQ_VTX_SEMANTIC_28                  0x0283F0
29533464ebd5Sriastradh#define R_0283F4_SQ_VTX_SEMANTIC_29                  0x0283F4
29543464ebd5Sriastradh#define R_0283F8_SQ_VTX_SEMANTIC_30                  0x0283F8
29553464ebd5Sriastradh#define R_0283FC_SQ_VTX_SEMANTIC_31                  0x0283FC
2956af69d88dSmrg#define R_0288C8_SQ_GS_VERT_ITEMSIZE                 0x0288C8
2957af69d88dSmrg#define R_0288E0_SQ_VTX_SEMANTIC_CLEAR               0x0288E0
29583464ebd5Sriastradh#define R_028400_VGT_MAX_VTX_INDX                    0x028400
295901e04c3fSmrg#define   S_028400_MAX_INDX(x)                         (((unsigned)(x) & 0xFFFFFFFF) << 0)
29603464ebd5Sriastradh#define   G_028400_MAX_INDX(x)                         (((x) >> 0) & 0xFFFFFFFF)
29613464ebd5Sriastradh#define   C_028400_MAX_INDX                            0x00000000
29623464ebd5Sriastradh#define R_028404_VGT_MIN_VTX_INDX                    0x028404
296301e04c3fSmrg#define   S_028404_MIN_INDX(x)                         (((unsigned)(x) & 0xFFFFFFFF) << 0)
29643464ebd5Sriastradh#define   G_028404_MIN_INDX(x)                         (((x) >> 0) & 0xFFFFFFFF)
29653464ebd5Sriastradh#define   C_028404_MIN_INDX                            0x00000000
29663464ebd5Sriastradh#define R_028408_VGT_INDX_OFFSET                     0x028408
296701e04c3fSmrg#define   S_028408_INDX_OFFSET(x)                      (((unsigned)(x) & 0xFFFFFFFF) << 0)
29683464ebd5Sriastradh#define   G_028408_INDX_OFFSET(x)                      (((x) >> 0) & 0xFFFFFFFF)
29693464ebd5Sriastradh#define   C_028408_INDX_OFFSET                         0x00000000
29703464ebd5Sriastradh#define R_02840C_VGT_MULTI_PRIM_IB_RESET_INDX        0x02840C
297101e04c3fSmrg#define   S_02840C_RESET_INDX(x)                       (((unsigned)(x) & 0xFFFFFFFF) << 0)
29723464ebd5Sriastradh#define   G_02840C_RESET_INDX(x)                       (((x) >> 0) & 0xFFFFFFFF)
29733464ebd5Sriastradh#define   C_02840C_RESET_INDX                          0x00000000
29743464ebd5Sriastradh#define R_028410_SX_ALPHA_TEST_CONTROL               0x028410
297501e04c3fSmrg#define   S_028410_ALPHA_FUNC(x)                       (((unsigned)(x) & 0x7) << 0)
29763464ebd5Sriastradh#define   G_028410_ALPHA_FUNC(x)                       (((x) >> 0) & 0x7)
29773464ebd5Sriastradh#define   C_028410_ALPHA_FUNC                          0xFFFFFFF8
297801e04c3fSmrg#define   S_028410_ALPHA_TEST_ENABLE(x)                (((unsigned)(x) & 0x1) << 3)
29793464ebd5Sriastradh#define   G_028410_ALPHA_TEST_ENABLE(x)                (((x) >> 3) & 0x1)
29803464ebd5Sriastradh#define   C_028410_ALPHA_TEST_ENABLE                   0xFFFFFFF7
298101e04c3fSmrg#define   S_028410_ALPHA_TEST_BYPASS(x)                (((unsigned)(x) & 0x1) << 8)
29823464ebd5Sriastradh#define   G_028410_ALPHA_TEST_BYPASS(x)                (((x) >> 8) & 0x1)
29833464ebd5Sriastradh#define   C_028410_ALPHA_TEST_BYPASS                   0xFFFFFEFF
29843464ebd5Sriastradh#define R_028414_CB_BLEND_RED                        0x028414
298501e04c3fSmrg#define   S_028414_BLEND_RED(x)                        (((unsigned)(x) & 0xFFFFFFFF) << 0)
29863464ebd5Sriastradh#define   G_028414_BLEND_RED(x)                        (((x) >> 0) & 0xFFFFFFFF)
29873464ebd5Sriastradh#define   C_028414_BLEND_RED                           0x00000000
29883464ebd5Sriastradh#define R_028418_CB_BLEND_GREEN                      0x028418
298901e04c3fSmrg#define   S_028418_BLEND_GREEN(x)                      (((unsigned)(x) & 0xFFFFFFFF) << 0)
29903464ebd5Sriastradh#define   G_028418_BLEND_GREEN(x)                      (((x) >> 0) & 0xFFFFFFFF)
29913464ebd5Sriastradh#define   C_028418_BLEND_GREEN                         0x00000000
29923464ebd5Sriastradh#define R_02841C_CB_BLEND_BLUE                       0x02841C
299301e04c3fSmrg#define   S_02841C_BLEND_BLUE(x)                       (((unsigned)(x) & 0xFFFFFFFF) << 0)
29943464ebd5Sriastradh#define   G_02841C_BLEND_BLUE(x)                       (((x) >> 0) & 0xFFFFFFFF)
29953464ebd5Sriastradh#define   C_02841C_BLEND_BLUE                          0x00000000
29963464ebd5Sriastradh#define R_028420_CB_BLEND_ALPHA                      0x028420
299701e04c3fSmrg#define   S_028420_BLEND_ALPHA(x)                      (((unsigned)(x) & 0xFFFFFFFF) << 0)
29983464ebd5Sriastradh#define   G_028420_BLEND_ALPHA(x)                      (((x) >> 0) & 0xFFFFFFFF)
29993464ebd5Sriastradh#define   C_028420_BLEND_ALPHA                         0x00000000
30003464ebd5Sriastradh#define R_028438_SX_ALPHA_REF                        0x028438
300101e04c3fSmrg#define   S_028438_ALPHA_REF(x)                        (((unsigned)(x) & 0xFFFFFFFF) << 0)
30023464ebd5Sriastradh#define   G_028438_ALPHA_REF(x)                        (((x) >> 0) & 0xFFFFFFFF)
30033464ebd5Sriastradh#define   C_028438_ALPHA_REF                           0x00000000
30043464ebd5Sriastradh#define R_0286C8_SPI_THREAD_GROUPING                 0x0286C8
300501e04c3fSmrg#define   S_0286C8_PS_GROUPING(x)                      (((unsigned)(x) & 0x1F) << 0)
30063464ebd5Sriastradh#define   G_0286C8_PS_GROUPING(x)                      (((x) >> 0) & 0x1F)
30073464ebd5Sriastradh#define   C_0286C8_PS_GROUPING                         0xFFFFFFE0
300801e04c3fSmrg#define   S_0286C8_VS_GROUPING(x)                      (((unsigned)(x) & 0x1F) << 8)
30093464ebd5Sriastradh#define   G_0286C8_VS_GROUPING(x)                      (((x) >> 8) & 0x1F)
30103464ebd5Sriastradh#define   C_0286C8_VS_GROUPING                         0xFFFFE0FF
301101e04c3fSmrg#define   S_0286C8_GS_GROUPING(x)                      (((unsigned)(x) & 0x1F) << 16)
30123464ebd5Sriastradh#define   G_0286C8_GS_GROUPING(x)                      (((x) >> 16) & 0x1F)
30133464ebd5Sriastradh#define   C_0286C8_GS_GROUPING                         0xFFE0FFFF
301401e04c3fSmrg#define   S_0286C8_ES_GROUPING(x)                      (((unsigned)(x) & 0x1F) << 24)
30153464ebd5Sriastradh#define   G_0286C8_ES_GROUPING(x)                      (((x) >> 24) & 0x1F)
30163464ebd5Sriastradh#define   C_0286C8_ES_GROUPING                         0xE0FFFFFF
30173464ebd5Sriastradh#define R_0286D8_SPI_INPUT_Z                         0x0286D8
301801e04c3fSmrg#define   S_0286D8_PROVIDE_Z_TO_SPI(x)                 (((unsigned)(x) & 0x1) << 0)
30193464ebd5Sriastradh#define   G_0286D8_PROVIDE_Z_TO_SPI(x)                 (((x) >> 0) & 0x1)
30203464ebd5Sriastradh#define   C_0286D8_PROVIDE_Z_TO_SPI                    0xFFFFFFFE
30213464ebd5Sriastradh#define R_0286DC_SPI_FOG_CNTL                        0x0286DC
302201e04c3fSmrg#define   S_0286DC_PASS_FOG_THROUGH_PS(x)              (((unsigned)(x) & 0x1) << 0)
30233464ebd5Sriastradh#define   G_0286DC_PASS_FOG_THROUGH_PS(x)              (((x) >> 0) & 0x1)
30243464ebd5Sriastradh#define   C_0286DC_PASS_FOG_THROUGH_PS                 0xFFFFFFFE
302501e04c3fSmrg#define   S_0286DC_PIXEL_FOG_FUNC(x)                   (((unsigned)(x) & 0x3) << 1)
30263464ebd5Sriastradh#define   G_0286DC_PIXEL_FOG_FUNC(x)                   (((x) >> 1) & 0x3)
30273464ebd5Sriastradh#define   C_0286DC_PIXEL_FOG_FUNC                      0xFFFFFFF9
302801e04c3fSmrg#define   S_0286DC_PIXEL_FOG_SRC_SEL(x)                (((unsigned)(x) & 0x1) << 3)
30293464ebd5Sriastradh#define   G_0286DC_PIXEL_FOG_SRC_SEL(x)                (((x) >> 3) & 0x1)
30303464ebd5Sriastradh#define   C_0286DC_PIXEL_FOG_SRC_SEL                   0xFFFFFFF7
303101e04c3fSmrg#define   S_0286DC_VS_FOG_CLAMP_DISABLE(x)             (((unsigned)(x) & 0x1) << 4)
30323464ebd5Sriastradh#define   G_0286DC_VS_FOG_CLAMP_DISABLE(x)             (((x) >> 4) & 0x1)
30333464ebd5Sriastradh#define   C_0286DC_VS_FOG_CLAMP_DISABLE                0xFFFFFFEF
30343464ebd5Sriastradh#define R_0286E0_SPI_FOG_FUNC_SCALE                  0x0286E0
303501e04c3fSmrg#define   S_0286E0_VALUE(x)                            (((unsigned)(x) & 0xFFFFFFFF) << 0)
30363464ebd5Sriastradh#define   G_0286E0_VALUE(x)                            (((x) >> 0) & 0xFFFFFFFF)
30373464ebd5Sriastradh#define   C_0286E0_VALUE                               0x00000000
30383464ebd5Sriastradh#define R_0286E4_SPI_FOG_FUNC_BIAS                   0x0286E4
303901e04c3fSmrg#define   S_0286E4_VALUE(x)                            (((unsigned)(x) & 0xFFFFFFFF) << 0)
30403464ebd5Sriastradh#define   G_0286E4_VALUE(x)                            (((x) >> 0) & 0xFFFFFFFF)
30413464ebd5Sriastradh#define   C_0286E4_VALUE                               0x00000000
30423464ebd5Sriastradh#define R_0287A0_CB_SHADER_CONTROL                   0x0287A0
304301e04c3fSmrg#define   S_0287A0_RT0_ENABLE(x)                       (((unsigned)(x) & 0x1) << 0)
30443464ebd5Sriastradh#define   G_0287A0_RT0_ENABLE(x)                       (((x) >> 0) & 0x1)
30453464ebd5Sriastradh#define   C_0287A0_RT0_ENABLE                          0xFFFFFFFE
304601e04c3fSmrg#define   S_0287A0_RT1_ENABLE(x)                       (((unsigned)(x) & 0x1) << 1)
30473464ebd5Sriastradh#define   G_0287A0_RT1_ENABLE(x)                       (((x) >> 1) & 0x1)
30483464ebd5Sriastradh#define   C_0287A0_RT1_ENABLE                          0xFFFFFFFD
304901e04c3fSmrg#define   S_0287A0_RT2_ENABLE(x)                       (((unsigned)(x) & 0x1) << 2)
30503464ebd5Sriastradh#define   G_0287A0_RT2_ENABLE(x)                       (((x) >> 2) & 0x1)
30513464ebd5Sriastradh#define   C_0287A0_RT2_ENABLE                          0xFFFFFFFB
305201e04c3fSmrg#define   S_0287A0_RT3_ENABLE(x)                       (((unsigned)(x) & 0x1) << 3)
30533464ebd5Sriastradh#define   G_0287A0_RT3_ENABLE(x)                       (((x) >> 3) & 0x1)
30543464ebd5Sriastradh#define   C_0287A0_RT3_ENABLE                          0xFFFFFFF7
305501e04c3fSmrg#define   S_0287A0_RT4_ENABLE(x)                       (((unsigned)(x) & 0x1) << 4)
30563464ebd5Sriastradh#define   G_0287A0_RT4_ENABLE(x)                       (((x) >> 4) & 0x1)
30573464ebd5Sriastradh#define   C_0287A0_RT4_ENABLE                          0xFFFFFFEF
305801e04c3fSmrg#define   S_0287A0_RT5_ENABLE(x)                       (((unsigned)(x) & 0x1) << 5)
30593464ebd5Sriastradh#define   G_0287A0_RT5_ENABLE(x)                       (((x) >> 5) & 0x1)
30603464ebd5Sriastradh#define   C_0287A0_RT5_ENABLE                          0xFFFFFFDF
306101e04c3fSmrg#define   S_0287A0_RT6_ENABLE(x)                       (((unsigned)(x) & 0x1) << 6)
30623464ebd5Sriastradh#define   G_0287A0_RT6_ENABLE(x)                       (((x) >> 6) & 0x1)
30633464ebd5Sriastradh#define   C_0287A0_RT6_ENABLE                          0xFFFFFFBF
306401e04c3fSmrg#define   S_0287A0_RT7_ENABLE(x)                       (((unsigned)(x) & 0x1) << 7)
30653464ebd5Sriastradh#define   G_0287A0_RT7_ENABLE(x)                       (((x) >> 7) & 0x1)
30663464ebd5Sriastradh#define   C_0287A0_RT7_ENABLE                          0xFFFFFF7F
30673464ebd5Sriastradh#define R_028894_SQ_PGM_START_FS                     0x028894
306801e04c3fSmrg#define   S_028894_PGM_START(x)                        (((unsigned)(x) & 0xFFFFFFFF) << 0)
30693464ebd5Sriastradh#define   G_028894_PGM_START(x)                        (((x) >> 0) & 0xFFFFFFFF)
30703464ebd5Sriastradh#define   C_028894_PGM_START                           0x00000000
30713464ebd5Sriastradh#define R_0288A4_SQ_PGM_RESOURCES_FS                 0x0288A4
307201e04c3fSmrg#define   S_0288A4_NUM_GPRS(x)                         (((unsigned)(x) & 0xFF) << 0)
30733464ebd5Sriastradh#define   G_0288A4_NUM_GPRS(x)                         (((x) >> 0) & 0xFF)
30743464ebd5Sriastradh#define   C_0288A4_NUM_GPRS                            0xFFFFFF00
307501e04c3fSmrg#define   S_0288A4_STACK_SIZE(x)                       (((unsigned)(x) & 0xFF) << 8)
30763464ebd5Sriastradh#define   G_0288A4_STACK_SIZE(x)                       (((x) >> 8) & 0xFF)
30773464ebd5Sriastradh#define   C_0288A4_STACK_SIZE                          0xFFFF00FF
307801e04c3fSmrg#define   S_0288A4_DX10_CLAMP(x)                       (((unsigned)(x) & 0x1) << 21)
30793464ebd5Sriastradh#define   G_0288A4_DX10_CLAMP(x)                       (((x) >> 21) & 0x1)
30803464ebd5Sriastradh#define   C_0288A4_DX10_CLAMP                          0xFFDFFFFF
30813464ebd5Sriastradh#define R_0288A8_SQ_ESGS_RING_ITEMSIZE               0x0288A8
308201e04c3fSmrg#define   S_0288A8_ITEMSIZE(x)                         (((unsigned)(x) & 0x7FFF) << 0)
30833464ebd5Sriastradh#define   G_0288A8_ITEMSIZE(x)                         (((x) >> 0) & 0x7FFF)
30843464ebd5Sriastradh#define   C_0288A8_ITEMSIZE                            0xFFFF8000
30853464ebd5Sriastradh#define R_0288AC_SQ_GSVS_RING_ITEMSIZE               0x0288AC
308601e04c3fSmrg#define   S_0288AC_ITEMSIZE(x)                         (((unsigned)(x) & 0x7FFF) << 0)
30873464ebd5Sriastradh#define   G_0288AC_ITEMSIZE(x)                         (((x) >> 0) & 0x7FFF)
30883464ebd5Sriastradh#define   C_0288AC_ITEMSIZE                            0xFFFF8000
30893464ebd5Sriastradh#define R_0288B0_SQ_ESTMP_RING_ITEMSIZE              0x0288B0
309001e04c3fSmrg#define   S_0288B0_ITEMSIZE(x)                         (((unsigned)(x) & 0x7FFF) << 0)
30913464ebd5Sriastradh#define   G_0288B0_ITEMSIZE(x)                         (((x) >> 0) & 0x7FFF)
30923464ebd5Sriastradh#define   C_0288B0_ITEMSIZE                            0xFFFF8000
30933464ebd5Sriastradh#define R_0288B4_SQ_GSTMP_RING_ITEMSIZE              0x0288B4
309401e04c3fSmrg#define   S_0288B4_ITEMSIZE(x)                         (((unsigned)(x) & 0x7FFF) << 0)
30953464ebd5Sriastradh#define   G_0288B4_ITEMSIZE(x)                         (((x) >> 0) & 0x7FFF)
30963464ebd5Sriastradh#define   C_0288B4_ITEMSIZE                            0xFFFF8000
30973464ebd5Sriastradh#define R_0288B8_SQ_VSTMP_RING_ITEMSIZE              0x0288B8
309801e04c3fSmrg#define   S_0288B8_ITEMSIZE(x)                         (((unsigned)(x) & 0x7FFF) << 0)
30993464ebd5Sriastradh#define   G_0288B8_ITEMSIZE(x)                         (((x) >> 0) & 0x7FFF)
31003464ebd5Sriastradh#define   C_0288B8_ITEMSIZE                            0xFFFF8000
31013464ebd5Sriastradh#define R_0288BC_SQ_PSTMP_RING_ITEMSIZE              0x0288BC
310201e04c3fSmrg#define   S_0288BC_ITEMSIZE(x)                         (((unsigned)(x) & 0x7FFF) << 0)
31033464ebd5Sriastradh#define   G_0288BC_ITEMSIZE(x)                         (((x) >> 0) & 0x7FFF)
31043464ebd5Sriastradh#define   C_0288BC_ITEMSIZE                            0xFFFF8000
31053464ebd5Sriastradh#define R_0288C0_SQ_FBUF_RING_ITEMSIZE               0x0288C0
310601e04c3fSmrg#define   S_0288C0_ITEMSIZE(x)                         (((unsigned)(x) & 0x7FFF) << 0)
31073464ebd5Sriastradh#define   G_0288C0_ITEMSIZE(x)                         (((x) >> 0) & 0x7FFF)
31083464ebd5Sriastradh#define   C_0288C0_ITEMSIZE                            0xFFFF8000
31093464ebd5Sriastradh#define R_0288C4_SQ_REDUC_RING_ITEMSIZE              0x0288C4
311001e04c3fSmrg#define   S_0288C4_ITEMSIZE(x)                         (((unsigned)(x) & 0x7FFF) << 0)
31113464ebd5Sriastradh#define   G_0288C4_ITEMSIZE(x)                         (((x) >> 0) & 0x7FFF)
31123464ebd5Sriastradh#define   C_0288C4_ITEMSIZE                            0xFFFF8000
31133464ebd5Sriastradh#define R_0288C8_SQ_GS_VERT_ITEMSIZE                 0x0288C8
311401e04c3fSmrg#define   S_0288C8_ITEMSIZE(x)                         (((unsigned)(x) & 0x7FFF) << 0)
31153464ebd5Sriastradh#define   G_0288C8_ITEMSIZE(x)                         (((x) >> 0) & 0x7FFF)
31163464ebd5Sriastradh#define   C_0288C8_ITEMSIZE                            0xFFFF8000
31173464ebd5Sriastradh#define R_0288DC_SQ_PGM_CF_OFFSET_FS                 0x0288DC
311801e04c3fSmrg#define   S_0288DC_PGM_CF_OFFSET(x)                    (((unsigned)(x) & 0xFFFFF) << 0)
31193464ebd5Sriastradh#define   G_0288DC_PGM_CF_OFFSET(x)                    (((x) >> 0) & 0xFFFFF)
31203464ebd5Sriastradh#define   C_0288DC_PGM_CF_OFFSET                       0xFFF00000
31213464ebd5Sriastradh#define R_028A10_VGT_OUTPUT_PATH_CNTL                0x028A10
312201e04c3fSmrg#define   S_028A10_PATH_SELECT(x)                      (((unsigned)(x) & 0x3) << 0)
31233464ebd5Sriastradh#define   G_028A10_PATH_SELECT(x)                      (((x) >> 0) & 0x3)
31243464ebd5Sriastradh#define   C_028A10_PATH_SELECT                         0xFFFFFFFC
31253464ebd5Sriastradh#define R_028A14_VGT_HOS_CNTL                        0x028A14
312601e04c3fSmrg#define   S_028A14_TESS_MODE(x)                        (((unsigned)(x) & 0x3) << 0)
31273464ebd5Sriastradh#define   G_028A14_TESS_MODE(x)                        (((x) >> 0) & 0x3)
31283464ebd5Sriastradh#define   C_028A14_TESS_MODE                           0xFFFFFFFC
31293464ebd5Sriastradh#define R_028A18_VGT_HOS_MAX_TESS_LEVEL              0x028A18
313001e04c3fSmrg#define   S_028A18_MAX_TESS(x)                         (((unsigned)(x) & 0xFFFFFFFF) << 0)
31313464ebd5Sriastradh#define   G_028A18_MAX_TESS(x)                         (((x) >> 0) & 0xFFFFFFFF)
31323464ebd5Sriastradh#define   C_028A18_MAX_TESS                            0x00000000
31333464ebd5Sriastradh#define R_028A1C_VGT_HOS_MIN_TESS_LEVEL              0x028A1C
313401e04c3fSmrg#define   S_028A1C_MIN_TESS(x)                         (((unsigned)(x) & 0xFFFFFFFF) << 0)
31353464ebd5Sriastradh#define   G_028A1C_MIN_TESS(x)                         (((x) >> 0) & 0xFFFFFFFF)
31363464ebd5Sriastradh#define   C_028A1C_MIN_TESS                            0x00000000
31373464ebd5Sriastradh#define R_028A20_VGT_HOS_REUSE_DEPTH                 0x028A20
313801e04c3fSmrg#define   S_028A20_REUSE_DEPTH(x)                      (((unsigned)(x) & 0xFF) << 0)
31393464ebd5Sriastradh#define   G_028A20_REUSE_DEPTH(x)                      (((x) >> 0) & 0xFF)
31403464ebd5Sriastradh#define   C_028A20_REUSE_DEPTH                         0xFFFFFF00
31413464ebd5Sriastradh#define R_028A24_VGT_GROUP_PRIM_TYPE                 0x028A24
314201e04c3fSmrg#define   S_028A24_PRIM_TYPE(x)                        (((unsigned)(x) & 0x1F) << 0)
31433464ebd5Sriastradh#define   G_028A24_PRIM_TYPE(x)                        (((x) >> 0) & 0x1F)
31443464ebd5Sriastradh#define   C_028A24_PRIM_TYPE                           0xFFFFFFE0
314501e04c3fSmrg#define   S_028A24_RETAIN_ORDER(x)                     (((unsigned)(x) & 0x1) << 14)
31463464ebd5Sriastradh#define   G_028A24_RETAIN_ORDER(x)                     (((x) >> 14) & 0x1)
31473464ebd5Sriastradh#define   C_028A24_RETAIN_ORDER                        0xFFFFBFFF
314801e04c3fSmrg#define   S_028A24_RETAIN_QUADS(x)                     (((unsigned)(x) & 0x1) << 15)
31493464ebd5Sriastradh#define   G_028A24_RETAIN_QUADS(x)                     (((x) >> 15) & 0x1)
31503464ebd5Sriastradh#define   C_028A24_RETAIN_QUADS                        0xFFFF7FFF
315101e04c3fSmrg#define   S_028A24_PRIM_ORDER(x)                       (((unsigned)(x) & 0x7) << 16)
31523464ebd5Sriastradh#define   G_028A24_PRIM_ORDER(x)                       (((x) >> 16) & 0x7)
31533464ebd5Sriastradh#define   C_028A24_PRIM_ORDER                          0xFFF8FFFF
31543464ebd5Sriastradh#define R_028A28_VGT_GROUP_FIRST_DECR                0x028A28
315501e04c3fSmrg#define   S_028A28_FIRST_DECR(x)                       (((unsigned)(x) & 0xF) << 0)
31563464ebd5Sriastradh#define   G_028A28_FIRST_DECR(x)                       (((x) >> 0) & 0xF)
31573464ebd5Sriastradh#define   C_028A28_FIRST_DECR                          0xFFFFFFF0
31583464ebd5Sriastradh#define R_028A2C_VGT_GROUP_DECR                      0x028A2C
315901e04c3fSmrg#define   S_028A2C_DECR(x)                             (((unsigned)(x) & 0xF) << 0)
31603464ebd5Sriastradh#define   G_028A2C_DECR(x)                             (((x) >> 0) & 0xF)
31613464ebd5Sriastradh#define   C_028A2C_DECR                                0xFFFFFFF0
31623464ebd5Sriastradh#define R_028A30_VGT_GROUP_VECT_0_CNTL               0x028A30
316301e04c3fSmrg#define   S_028A30_COMP_X_EN(x)                        (((unsigned)(x) & 0x1) << 0)
31643464ebd5Sriastradh#define   G_028A30_COMP_X_EN(x)                        (((x) >> 0) & 0x1)
31653464ebd5Sriastradh#define   C_028A30_COMP_X_EN                           0xFFFFFFFE
316601e04c3fSmrg#define   S_028A30_COMP_Y_EN(x)                        (((unsigned)(x) & 0x1) << 1)
31673464ebd5Sriastradh#define   G_028A30_COMP_Y_EN(x)                        (((x) >> 1) & 0x1)
31683464ebd5Sriastradh#define   C_028A30_COMP_Y_EN                           0xFFFFFFFD
316901e04c3fSmrg#define   S_028A30_COMP_Z_EN(x)                        (((unsigned)(x) & 0x1) << 2)
31703464ebd5Sriastradh#define   G_028A30_COMP_Z_EN(x)                        (((x) >> 2) & 0x1)
31713464ebd5Sriastradh#define   C_028A30_COMP_Z_EN                           0xFFFFFFFB
317201e04c3fSmrg#define   S_028A30_COMP_W_EN(x)                        (((unsigned)(x) & 0x1) << 3)
31733464ebd5Sriastradh#define   G_028A30_COMP_W_EN(x)                        (((x) >> 3) & 0x1)
31743464ebd5Sriastradh#define   C_028A30_COMP_W_EN                           0xFFFFFFF7
317501e04c3fSmrg#define   S_028A30_STRIDE(x)                           (((unsigned)(x) & 0xFF) << 8)
31763464ebd5Sriastradh#define   G_028A30_STRIDE(x)                           (((x) >> 8) & 0xFF)
31773464ebd5Sriastradh#define   C_028A30_STRIDE                              0xFFFF00FF
317801e04c3fSmrg#define   S_028A30_SHIFT(x)                            (((unsigned)(x) & 0xFF) << 16)
31793464ebd5Sriastradh#define   G_028A30_SHIFT(x)                            (((x) >> 16) & 0xFF)
31803464ebd5Sriastradh#define   C_028A30_SHIFT                               0xFF00FFFF
31813464ebd5Sriastradh#define R_028A34_VGT_GROUP_VECT_1_CNTL               0x028A34
318201e04c3fSmrg#define   S_028A34_COMP_X_EN(x)                        (((unsigned)(x) & 0x1) << 0)
31833464ebd5Sriastradh#define   G_028A34_COMP_X_EN(x)                        (((x) >> 0) & 0x1)
31843464ebd5Sriastradh#define   C_028A34_COMP_X_EN                           0xFFFFFFFE
318501e04c3fSmrg#define   S_028A34_COMP_Y_EN(x)                        (((unsigned)(x) & 0x1) << 1)
31863464ebd5Sriastradh#define   G_028A34_COMP_Y_EN(x)                        (((x) >> 1) & 0x1)
31873464ebd5Sriastradh#define   C_028A34_COMP_Y_EN                           0xFFFFFFFD
318801e04c3fSmrg#define   S_028A34_COMP_Z_EN(x)                        (((unsigned)(x) & 0x1) << 2)
31893464ebd5Sriastradh#define   G_028A34_COMP_Z_EN(x)                        (((x) >> 2) & 0x1)
31903464ebd5Sriastradh#define   C_028A34_COMP_Z_EN                           0xFFFFFFFB
319101e04c3fSmrg#define   S_028A34_COMP_W_EN(x)                        (((unsigned)(x) & 0x1) << 3)
31923464ebd5Sriastradh#define   G_028A34_COMP_W_EN(x)                        (((x) >> 3) & 0x1)
31933464ebd5Sriastradh#define   C_028A34_COMP_W_EN                           0xFFFFFFF7
319401e04c3fSmrg#define   S_028A34_STRIDE(x)                           (((unsigned)(x) & 0xFF) << 8)
31953464ebd5Sriastradh#define   G_028A34_STRIDE(x)                           (((x) >> 8) & 0xFF)
31963464ebd5Sriastradh#define   C_028A34_STRIDE                              0xFFFF00FF
319701e04c3fSmrg#define   S_028A34_SHIFT(x)                            (((unsigned)(x) & 0xFF) << 16)
31983464ebd5Sriastradh#define   G_028A34_SHIFT(x)                            (((x) >> 16) & 0xFF)
31993464ebd5Sriastradh#define   C_028A34_SHIFT                               0xFF00FFFF
32003464ebd5Sriastradh#define R_028A38_VGT_GROUP_VECT_0_FMT_CNTL           0x028A38
320101e04c3fSmrg#define   S_028A38_X_CONV(x)                           (((unsigned)(x) & 0xF) << 0)
32023464ebd5Sriastradh#define   G_028A38_X_CONV(x)                           (((x) >> 0) & 0xF)
32033464ebd5Sriastradh#define   C_028A38_X_CONV                              0xFFFFFFF0
320401e04c3fSmrg#define   S_028A38_X_OFFSET(x)                         (((unsigned)(x) & 0xF) << 4)
32053464ebd5Sriastradh#define   G_028A38_X_OFFSET(x)                         (((x) >> 4) & 0xF)
32063464ebd5Sriastradh#define   C_028A38_X_OFFSET                            0xFFFFFF0F
320701e04c3fSmrg#define   S_028A38_Y_CONV(x)                           (((unsigned)(x) & 0xF) << 8)
32083464ebd5Sriastradh#define   G_028A38_Y_CONV(x)                           (((x) >> 8) & 0xF)
32093464ebd5Sriastradh#define   C_028A38_Y_CONV                              0xFFFFF0FF
321001e04c3fSmrg#define   S_028A38_Y_OFFSET(x)                         (((unsigned)(x) & 0xF) << 12)
32113464ebd5Sriastradh#define   G_028A38_Y_OFFSET(x)                         (((x) >> 12) & 0xF)
32123464ebd5Sriastradh#define   C_028A38_Y_OFFSET                            0xFFFF0FFF
321301e04c3fSmrg#define   S_028A38_Z_CONV(x)                           (((unsigned)(x) & 0xF) << 16)
32143464ebd5Sriastradh#define   G_028A38_Z_CONV(x)                           (((x) >> 16) & 0xF)
32153464ebd5Sriastradh#define   C_028A38_Z_CONV                              0xFFF0FFFF
321601e04c3fSmrg#define   S_028A38_Z_OFFSET(x)                         (((unsigned)(x) & 0xF) << 20)
32173464ebd5Sriastradh#define   G_028A38_Z_OFFSET(x)                         (((x) >> 20) & 0xF)
32183464ebd5Sriastradh#define   C_028A38_Z_OFFSET                            0xFF0FFFFF
321901e04c3fSmrg#define   S_028A38_W_CONV(x)                           (((unsigned)(x) & 0xF) << 24)
32203464ebd5Sriastradh#define   G_028A38_W_CONV(x)                           (((x) >> 24) & 0xF)
32213464ebd5Sriastradh#define   C_028A38_W_CONV                              0xF0FFFFFF
322201e04c3fSmrg#define   S_028A38_W_OFFSET(x)                         (((unsigned)(x) & 0xF) << 28)
32233464ebd5Sriastradh#define   G_028A38_W_OFFSET(x)                         (((x) >> 28) & 0xF)
32243464ebd5Sriastradh#define   C_028A38_W_OFFSET                            0x0FFFFFFF
32253464ebd5Sriastradh#define R_028A3C_VGT_GROUP_VECT_1_FMT_CNTL           0x028A3C
322601e04c3fSmrg#define   S_028A3C_X_CONV(x)                           (((unsigned)(x) & 0xF) << 0)
32273464ebd5Sriastradh#define   G_028A3C_X_CONV(x)                           (((x) >> 0) & 0xF)
32283464ebd5Sriastradh#define   C_028A3C_X_CONV                              0xFFFFFFF0
322901e04c3fSmrg#define   S_028A3C_X_OFFSET(x)                         (((unsigned)(x) & 0xF) << 4)
32303464ebd5Sriastradh#define   G_028A3C_X_OFFSET(x)                         (((x) >> 4) & 0xF)
32313464ebd5Sriastradh#define   C_028A3C_X_OFFSET                            0xFFFFFF0F
323201e04c3fSmrg#define   S_028A3C_Y_CONV(x)                           (((unsigned)(x) & 0xF) << 8)
32333464ebd5Sriastradh#define   G_028A3C_Y_CONV(x)                           (((x) >> 8) & 0xF)
32343464ebd5Sriastradh#define   C_028A3C_Y_CONV                              0xFFFFF0FF
323501e04c3fSmrg#define   S_028A3C_Y_OFFSET(x)                         (((unsigned)(x) & 0xF) << 12)
32363464ebd5Sriastradh#define   G_028A3C_Y_OFFSET(x)                         (((x) >> 12) & 0xF)
32373464ebd5Sriastradh#define   C_028A3C_Y_OFFSET                            0xFFFF0FFF
323801e04c3fSmrg#define   S_028A3C_Z_CONV(x)                           (((unsigned)(x) & 0xF) << 16)
32393464ebd5Sriastradh#define   G_028A3C_Z_CONV(x)                           (((x) >> 16) & 0xF)
32403464ebd5Sriastradh#define   C_028A3C_Z_CONV                              0xFFF0FFFF
324101e04c3fSmrg#define   S_028A3C_Z_OFFSET(x)                         (((unsigned)(x) & 0xF) << 20)
32423464ebd5Sriastradh#define   G_028A3C_Z_OFFSET(x)                         (((x) >> 20) & 0xF)
32433464ebd5Sriastradh#define   C_028A3C_Z_OFFSET                            0xFF0FFFFF
324401e04c3fSmrg#define   S_028A3C_W_CONV(x)                           (((unsigned)(x) & 0xF) << 24)
32453464ebd5Sriastradh#define   G_028A3C_W_CONV(x)                           (((x) >> 24) & 0xF)
32463464ebd5Sriastradh#define   C_028A3C_W_CONV                              0xF0FFFFFF
324701e04c3fSmrg#define   S_028A3C_W_OFFSET(x)                         (((unsigned)(x) & 0xF) << 28)
32483464ebd5Sriastradh#define   G_028A3C_W_OFFSET(x)                         (((x) >> 28) & 0xF)
32493464ebd5Sriastradh#define   C_028A3C_W_OFFSET                            0x0FFFFFFF
32503464ebd5Sriastradh#define R_028A40_VGT_GS_MODE                         0x028A40
325101e04c3fSmrg#define   S_028A40_MODE(x)                             (((unsigned)(x) & 0x3) << 0)
32523464ebd5Sriastradh#define   G_028A40_MODE(x)                             (((x) >> 0) & 0x3)
32533464ebd5Sriastradh#define   C_028A40_MODE                                0xFFFFFFFC
325401e04c3fSmrg#define   S_028A40_ES_PASSTHRU(x)                      (((unsigned)(x) & 0x1) << 2)
32553464ebd5Sriastradh#define   G_028A40_ES_PASSTHRU(x)                      (((x) >> 2) & 0x1)
32563464ebd5Sriastradh#define   C_028A40_ES_PASSTHRU                         0xFFFFFFFB
325701e04c3fSmrg#define   S_028A40_CUT_MODE(x)                         (((unsigned)(x) & 0x3) << 3)
32583464ebd5Sriastradh#define   G_028A40_CUT_MODE(x)                         (((x) >> 3) & 0x3)
32593464ebd5Sriastradh#define   C_028A40_CUT_MODE                            0xFFFFFFE7
32603464ebd5Sriastradh#define R_028A4C_PA_SC_MODE_CNTL                     0x028A4C
326101e04c3fSmrg#define   S_028A4C_MSAA_ENABLE(x)                      (((unsigned)(x) & 0x1) << 0)
32623464ebd5Sriastradh#define   G_028A4C_MSAA_ENABLE(x)                      (((x) >> 0) & 0x1)
32633464ebd5Sriastradh#define   C_028A4C_MSAA_ENABLE                         0xFFFFFFFE
326401e04c3fSmrg#define   S_028A4C_CLIPRECT_ENABLE(x)                  (((unsigned)(x) & 0x1) << 1)
32653464ebd5Sriastradh#define   G_028A4C_CLIPRECT_ENABLE(x)                  (((x) >> 1) & 0x1)
32663464ebd5Sriastradh#define   C_028A4C_CLIPRECT_ENABLE                     0xFFFFFFFD
326701e04c3fSmrg#define   S_028A4C_LINE_STIPPLE_ENABLE(x)              (((unsigned)(x) & 0x1) << 2)
32683464ebd5Sriastradh#define   G_028A4C_LINE_STIPPLE_ENABLE(x)              (((x) >> 2) & 0x1)
32693464ebd5Sriastradh#define   C_028A4C_LINE_STIPPLE_ENABLE                 0xFFFFFFFB
327001e04c3fSmrg#define   S_028A4C_MULTI_CHIP_PRIM_DISCARD_ENAB(x)     (((unsigned)(x) & 0x1) << 3)
32713464ebd5Sriastradh#define   G_028A4C_MULTI_CHIP_PRIM_DISCARD_ENAB(x)     (((x) >> 3) & 0x1)
32723464ebd5Sriastradh#define   C_028A4C_MULTI_CHIP_PRIM_DISCARD_ENAB        0xFFFFFFF7
327301e04c3fSmrg#define   S_028A4C_WALK_ORDER_ENABLE(x)                (((unsigned)(x) & 0x1) << 4)
32743464ebd5Sriastradh#define   G_028A4C_WALK_ORDER_ENABLE(x)                (((x) >> 4) & 0x1)
32753464ebd5Sriastradh#define   C_028A4C_WALK_ORDER_ENABLE                   0xFFFFFFEF
327601e04c3fSmrg#define   S_028A4C_HALVE_DETAIL_SAMPLE_PERF(x)         (((unsigned)(x) & 0x1) << 5)
32773464ebd5Sriastradh#define   G_028A4C_HALVE_DETAIL_SAMPLE_PERF(x)         (((x) >> 5) & 0x1)
32783464ebd5Sriastradh#define   C_028A4C_HALVE_DETAIL_SAMPLE_PERF            0xFFFFFFDF
327901e04c3fSmrg#define   S_028A4C_WALK_SIZE(x)                        (((unsigned)(x) & 0x1) << 6)
32803464ebd5Sriastradh#define   G_028A4C_WALK_SIZE(x)                        (((x) >> 6) & 0x1)
32813464ebd5Sriastradh#define   C_028A4C_WALK_SIZE                           0xFFFFFFBF
328201e04c3fSmrg#define   S_028A4C_WALK_ALIGNMENT(x)                   (((unsigned)(x) & 0x1) << 7)
32833464ebd5Sriastradh#define   G_028A4C_WALK_ALIGNMENT(x)                   (((x) >> 7) & 0x1)
32843464ebd5Sriastradh#define   C_028A4C_WALK_ALIGNMENT                      0xFFFFFF7F
328501e04c3fSmrg#define   S_028A4C_WALK_ALIGN8_PRIM_FITS_ST(x)         (((unsigned)(x) & 0x1) << 8)
32863464ebd5Sriastradh#define   G_028A4C_WALK_ALIGN8_PRIM_FITS_ST(x)         (((x) >> 8) & 0x1)
32873464ebd5Sriastradh#define   C_028A4C_WALK_ALIGN8_PRIM_FITS_ST            0xFFFFFEFF
328801e04c3fSmrg#define   S_028A4C_TILE_COVER_NO_SCISSOR(x)            (((unsigned)(x) & 0x1) << 9)
32893464ebd5Sriastradh#define   G_028A4C_TILE_COVER_NO_SCISSOR(x)            (((x) >> 9) & 0x1)
32903464ebd5Sriastradh#define   C_028A4C_TILE_COVER_NO_SCISSOR               0xFFFFFDFF
329101e04c3fSmrg#define   S_028A4C_KILL_PIX_POST_HI_Z(x)               (((unsigned)(x) & 0x1) << 10)
32923464ebd5Sriastradh#define   G_028A4C_KILL_PIX_POST_HI_Z(x)               (((x) >> 10) & 0x1)
32933464ebd5Sriastradh#define   C_028A4C_KILL_PIX_POST_HI_Z                  0xFFFFFBFF
329401e04c3fSmrg#define   S_028A4C_KILL_PIX_POST_DETAIL_MASK(x)        (((unsigned)(x) & 0x1) << 11)
32953464ebd5Sriastradh#define   G_028A4C_KILL_PIX_POST_DETAIL_MASK(x)        (((x) >> 11) & 0x1)
32963464ebd5Sriastradh#define   C_028A4C_KILL_PIX_POST_DETAIL_MASK           0xFFFFF7FF
329701e04c3fSmrg#define   S_028A4C_MULTI_CHIP_SUPERTILE_ENABLE(x)      (((unsigned)(x) & 0x1) << 12)
32983464ebd5Sriastradh#define   G_028A4C_MULTI_CHIP_SUPERTILE_ENABLE(x)      (((x) >> 12) & 0x1)
32993464ebd5Sriastradh#define   C_028A4C_MULTI_CHIP_SUPERTILE_ENABLE         0xFFFFEFFF
330001e04c3fSmrg#define   S_028A4C_TILE_COVER_DISABLE(x)               (((unsigned)(x) & 0x1) << 13)
33013464ebd5Sriastradh#define   G_028A4C_TILE_COVER_DISABLE(x)               (((x) >> 13) & 0x1)
33023464ebd5Sriastradh#define   C_028A4C_TILE_COVER_DISABLE                  0xFFFFDFFF
330301e04c3fSmrg#define   S_028A4C_FORCE_EOV_CNTDWN_ENABLE(x)          (((unsigned)(x) & 0x1) << 14)
33043464ebd5Sriastradh#define   G_028A4C_FORCE_EOV_CNTDWN_ENABLE(x)          (((x) >> 14) & 0x1)
33053464ebd5Sriastradh#define   C_028A4C_FORCE_EOV_CNTDWN_ENABLE             0xFFFFBFFF
330601e04c3fSmrg#define   S_028A4C_FORCE_EOV_TILE_ENABLE(x)            (((unsigned)(x) & 0x1) << 15)
33073464ebd5Sriastradh#define   G_028A4C_FORCE_EOV_TILE_ENABLE(x)            (((x) >> 15) & 0x1)
33083464ebd5Sriastradh#define   C_028A4C_FORCE_EOV_TILE_ENABLE               0xFFFF7FFF
330901e04c3fSmrg#define   S_028A4C_FORCE_EOV_REZ_ENABLE(x)             (((unsigned)(x) & 0x1) << 16)
33103464ebd5Sriastradh#define   G_028A4C_FORCE_EOV_REZ_ENABLE(x)             (((x) >> 16) & 0x1)
33113464ebd5Sriastradh#define   C_028A4C_FORCE_EOV_REZ_ENABLE                0xFFFEFFFF
331201e04c3fSmrg#define   S_028A4C_PS_ITER_SAMPLE(x)                   (((unsigned)(x) & 0x1) << 17)
33133464ebd5Sriastradh#define   G_028A4C_PS_ITER_SAMPLE(x)                   (((x) >> 17) & 0x1)
33143464ebd5Sriastradh#define   C_028A4C_PS_ITER_SAMPLE                      0xFFFDFFFF
331501e04c3fSmrg#define   S_028A4C_R700_ZMM_LINE_OFFSET(x)             (((unsigned)(x) & 0x1) << 20)
331601e04c3fSmrg#define   S_028A4C_R700_VPORT_SCISSOR_ENABLE(x)        (((unsigned)(x) & 0x1) << 22)
33173464ebd5Sriastradh#define R_028A84_VGT_PRIMITIVEID_EN                  0x028A84
331801e04c3fSmrg#define   S_028A84_PRIMITIVEID_EN(x)                   (((unsigned)(x) & 0x1) << 0)
33193464ebd5Sriastradh#define   G_028A84_PRIMITIVEID_EN(x)                   (((x) >> 0) & 0x1)
33203464ebd5Sriastradh#define   C_028A84_PRIMITIVEID_EN                      0xFFFFFFFE
33213464ebd5Sriastradh#define R_028A94_VGT_MULTI_PRIM_IB_RESET_EN          0x028A94
332201e04c3fSmrg#define   S_028A94_RESET_EN(x)                         (((unsigned)(x) & 0x1) << 0)
33233464ebd5Sriastradh#define   G_028A94_RESET_EN(x)                         (((x) >> 0) & 0x1)
33243464ebd5Sriastradh#define   C_028A94_RESET_EN                            0xFFFFFFFE
33253464ebd5Sriastradh#define R_028AA0_VGT_INSTANCE_STEP_RATE_0            0x028AA0
332601e04c3fSmrg#define   S_028AA0_STEP_RATE(x)                        (((unsigned)(x) & 0xFFFFFFFF) << 0)
33273464ebd5Sriastradh#define   G_028AA0_STEP_RATE(x)                        (((x) >> 0) & 0xFFFFFFFF)
33283464ebd5Sriastradh#define   C_028AA0_STEP_RATE                           0x00000000
33293464ebd5Sriastradh#define R_028AA4_VGT_INSTANCE_STEP_RATE_1            0x028AA4
333001e04c3fSmrg#define   S_028AA4_STEP_RATE(x)                        (((unsigned)(x) & 0xFFFFFFFF) << 0)
33313464ebd5Sriastradh#define   G_028AA4_STEP_RATE(x)                        (((x) >> 0) & 0xFFFFFFFF)
33323464ebd5Sriastradh#define   C_028AA4_STEP_RATE                           0x00000000
33333464ebd5Sriastradh#define R_028AB0_VGT_STRMOUT_EN                      0x028AB0
333401e04c3fSmrg#define   S_028AB0_STREAMOUT(x)                        (((unsigned)(x) & 0x1) << 0)
33353464ebd5Sriastradh#define   G_028AB0_STREAMOUT(x)                        (((x) >> 0) & 0x1)
33363464ebd5Sriastradh#define   C_028AB0_STREAMOUT                           0xFFFFFFFE
33373464ebd5Sriastradh#define R_028AB4_VGT_REUSE_OFF                       0x028AB4
333801e04c3fSmrg#define   S_028AB4_REUSE_OFF(x)                        (((unsigned)(x) & 0x1) << 0)
33393464ebd5Sriastradh#define   G_028AB4_REUSE_OFF(x)                        (((x) >> 0) & 0x1)
33403464ebd5Sriastradh#define   C_028AB4_REUSE_OFF                           0xFFFFFFFE
33413464ebd5Sriastradh#define R_028AB8_VGT_VTX_CNT_EN                      0x028AB8
334201e04c3fSmrg#define   S_028AB8_VTX_CNT_EN(x)                       (((unsigned)(x) & 0x1) << 0)
33433464ebd5Sriastradh#define   G_028AB8_VTX_CNT_EN(x)                       (((x) >> 0) & 0x1)
33443464ebd5Sriastradh#define   C_028AB8_VTX_CNT_EN                          0xFFFFFFFE
3345af69d88dSmrg#define R_028AD0_VGT_STRMOUT_BUFFER_SIZE_0	     0x028AD0
3346af69d88dSmrg#define R_028AD4_VGT_STRMOUT_VTX_STRIDE_0	     0x028AD4
3347af69d88dSmrg#define R_028AD8_VGT_STRMOUT_BUFFER_BASE_0	     0x028AD8
3348af69d88dSmrg#define R_028ADC_VGT_STRMOUT_BUFFER_OFFSET_0	     0x028ADC
3349af69d88dSmrg#define R_028AE0_VGT_STRMOUT_BUFFER_SIZE_1	     0x028AE0
3350af69d88dSmrg#define R_028AE4_VGT_STRMOUT_VTX_STRIDE_1	     0x028AE4
3351af69d88dSmrg#define R_028AE8_VGT_STRMOUT_BUFFER_BASE_1	     0x028AE8
3352af69d88dSmrg#define R_028AEC_VGT_STRMOUT_BUFFER_OFFSET_1	     0x028AEC
3353af69d88dSmrg#define R_028AF0_VGT_STRMOUT_BUFFER_SIZE_2	     0x028AF0
3354af69d88dSmrg#define R_028AF4_VGT_STRMOUT_VTX_STRIDE_2	     0x028AF4
3355af69d88dSmrg#define R_028AF8_VGT_STRMOUT_BUFFER_BASE_2	     0x028AF8
3356af69d88dSmrg#define R_028AFC_VGT_STRMOUT_BUFFER_OFFSET_2	     0x028AFC
3357af69d88dSmrg#define R_028B00_VGT_STRMOUT_BUFFER_SIZE_3	     0x028B00
3358af69d88dSmrg#define R_028B04_VGT_STRMOUT_VTX_STRIDE_3	     0x028B04
3359af69d88dSmrg#define R_028B08_VGT_STRMOUT_BUFFER_BASE_3	     0x028B08
3360af69d88dSmrg#define R_028B0C_VGT_STRMOUT_BUFFER_OFFSET_3	     0x028B0C
3361af69d88dSmrg#define R_028B10_VGT_STRMOUT_BASE_OFFSET_0	     0x028B10
3362af69d88dSmrg#define R_028B14_VGT_STRMOUT_BASE_OFFSET_1	     0x028B14
3363af69d88dSmrg#define R_028B18_VGT_STRMOUT_BASE_OFFSET_2	     0x028B18
3364af69d88dSmrg#define R_028B1C_VGT_STRMOUT_BASE_OFFSET_3	     0x028B1C
33653464ebd5Sriastradh#define R_028B20_VGT_STRMOUT_BUFFER_EN               0x028B20
336601e04c3fSmrg#define   S_028B20_BUFFER_0_EN(x)                      (((unsigned)(x) & 0x1) << 0)
33673464ebd5Sriastradh#define   G_028B20_BUFFER_0_EN(x)                      (((x) >> 0) & 0x1)
33683464ebd5Sriastradh#define   C_028B20_BUFFER_0_EN                         0xFFFFFFFE
336901e04c3fSmrg#define   S_028B20_BUFFER_1_EN(x)                      (((unsigned)(x) & 0x1) << 1)
33703464ebd5Sriastradh#define   G_028B20_BUFFER_1_EN(x)                      (((x) >> 1) & 0x1)
33713464ebd5Sriastradh#define   C_028B20_BUFFER_1_EN                         0xFFFFFFFD
337201e04c3fSmrg#define   S_028B20_BUFFER_2_EN(x)                      (((unsigned)(x) & 0x1) << 2)
33733464ebd5Sriastradh#define   G_028B20_BUFFER_2_EN(x)                      (((x) >> 2) & 0x1)
33743464ebd5Sriastradh#define   C_028B20_BUFFER_2_EN                         0xFFFFFFFB
337501e04c3fSmrg#define   S_028B20_BUFFER_3_EN(x)                      (((unsigned)(x) & 0x1) << 3)
33763464ebd5Sriastradh#define   G_028B20_BUFFER_3_EN(x)                      (((x) >> 3) & 0x1)
33773464ebd5Sriastradh#define   C_028B20_BUFFER_3_EN                         0xFFFFFFF7
3378af69d88dSmrg#define R_028B28_VGT_STRMOUT_DRAW_OPAQUE_OFFSET	     0x028B28
3379af69d88dSmrg#define R_028B2C_VGT_STRMOUT_DRAW_OPAQUE_BUFFER_FILLED_SIZE 0x028B2C
3380af69d88dSmrg#define R_028B30_VGT_STRMOUT_DRAW_OPAQUE_VERTEX_STRIDE 0x028B30
3381af69d88dSmrg#define R_028B38_VGT_GS_MAX_VERT_OUT                 0x028B38 /* r7xx */
338201e04c3fSmrg#define   S_028B38_MAX_VERT_OUT(x)                      (((unsigned)(x) & 0x7FF) << 0)
3383af69d88dSmrg#define R_028B44_VGT_STRMOUT_BASE_OFFSET_HI_0	     0x028B44
3384af69d88dSmrg#define R_028B48_VGT_STRMOUT_BASE_OFFSET_HI_1	     0x028B48
3385af69d88dSmrg#define R_028B4C_VGT_STRMOUT_BASE_OFFSET_HI_2	     0x028B4C
3386af69d88dSmrg#define R_028B50_VGT_STRMOUT_BASE_OFFSET_HI_3	     0x028B50
33873464ebd5Sriastradh#define R_028C20_PA_SC_AA_SAMPLE_LOCS_8S_WD1_MCTX    0x028C20
338801e04c3fSmrg#define   S_028C20_S4_X(x)                             (((unsigned)(x) & 0xF) << 0)
33893464ebd5Sriastradh#define   G_028C20_S4_X(x)                             (((x) >> 0) & 0xF)
33903464ebd5Sriastradh#define   C_028C20_S4_X                                0xFFFFFFF0
339101e04c3fSmrg#define   S_028C20_S4_Y(x)                             (((unsigned)(x) & 0xF) << 4)
33923464ebd5Sriastradh#define   G_028C20_S4_Y(x)                             (((x) >> 4) & 0xF)
33933464ebd5Sriastradh#define   C_028C20_S4_Y                                0xFFFFFF0F
339401e04c3fSmrg#define   S_028C20_S5_X(x)                             (((unsigned)(x) & 0xF) << 8)
33953464ebd5Sriastradh#define   G_028C20_S5_X(x)                             (((x) >> 8) & 0xF)
33963464ebd5Sriastradh#define   C_028C20_S5_X                                0xFFFFF0FF
339701e04c3fSmrg#define   S_028C20_S5_Y(x)                             (((unsigned)(x) & 0xF) << 12)
33983464ebd5Sriastradh#define   G_028C20_S5_Y(x)                             (((x) >> 12) & 0xF)
33993464ebd5Sriastradh#define   C_028C20_S5_Y                                0xFFFF0FFF
340001e04c3fSmrg#define   S_028C20_S6_X(x)                             (((unsigned)(x) & 0xF) << 16)
34013464ebd5Sriastradh#define   G_028C20_S6_X(x)                             (((x) >> 16) & 0xF)
34023464ebd5Sriastradh#define   C_028C20_S6_X                                0xFFF0FFFF
340301e04c3fSmrg#define   S_028C20_S6_Y(x)                             (((unsigned)(x) & 0xF) << 20)
34043464ebd5Sriastradh#define   G_028C20_S6_Y(x)                             (((x) >> 20) & 0xF)
34053464ebd5Sriastradh#define   C_028C20_S6_Y                                0xFF0FFFFF
340601e04c3fSmrg#define   S_028C20_S7_X(x)                             (((unsigned)(x) & 0xF) << 24)
34073464ebd5Sriastradh#define   G_028C20_S7_X(x)                             (((x) >> 24) & 0xF)
34083464ebd5Sriastradh#define   C_028C20_S7_X                                0xF0FFFFFF
340901e04c3fSmrg#define   S_028C20_S7_Y(x)                             (((unsigned)(x) & 0xF) << 28)
34103464ebd5Sriastradh#define   G_028C20_S7_Y(x)                             (((x) >> 28) & 0xF)
34113464ebd5Sriastradh#define   C_028C20_S7_Y                                0x0FFFFFFF
34123464ebd5Sriastradh#define R_028C30_CB_CLRCMP_CONTROL                   0x028C30
341301e04c3fSmrg#define   S_028C30_CLRCMP_FCN_SRC(x)                   (((unsigned)(x) & 0x7) << 0)
34143464ebd5Sriastradh#define   G_028C30_CLRCMP_FCN_SRC(x)                   (((x) >> 0) & 0x7)
34153464ebd5Sriastradh#define   C_028C30_CLRCMP_FCN_SRC                      0xFFFFFFF8
341601e04c3fSmrg#define   S_028C30_CLRCMP_FCN_DST(x)                   (((unsigned)(x) & 0x7) << 8)
34173464ebd5Sriastradh#define   G_028C30_CLRCMP_FCN_DST(x)                   (((x) >> 8) & 0x7)
34183464ebd5Sriastradh#define   C_028C30_CLRCMP_FCN_DST                      0xFFFFF8FF
341901e04c3fSmrg#define   S_028C30_CLRCMP_FCN_SEL(x)                   (((unsigned)(x) & 0x3) << 24)
34203464ebd5Sriastradh#define   G_028C30_CLRCMP_FCN_SEL(x)                   (((x) >> 24) & 0x3)
34213464ebd5Sriastradh#define   C_028C30_CLRCMP_FCN_SEL                      0xFCFFFFFF
34223464ebd5Sriastradh#define R_028C34_CB_CLRCMP_SRC                       0x028C34
342301e04c3fSmrg#define   S_028C34_CLRCMP_SRC(x)                       (((unsigned)(x) & 0xFFFFFFFF) << 0)
34243464ebd5Sriastradh#define   G_028C34_CLRCMP_SRC(x)                       (((x) >> 0) & 0xFFFFFFFF)
34253464ebd5Sriastradh#define   C_028C34_CLRCMP_SRC                          0x00000000
34263464ebd5Sriastradh#define R_028C38_CB_CLRCMP_DST                       0x028C38
342701e04c3fSmrg#define   S_028C38_CLRCMP_DST(x)                       (((unsigned)(x) & 0xFFFFFFFF) << 0)
34283464ebd5Sriastradh#define   G_028C38_CLRCMP_DST(x)                       (((x) >> 0) & 0xFFFFFFFF)
34293464ebd5Sriastradh#define   C_028C38_CLRCMP_DST                          0x00000000
34303464ebd5Sriastradh#define R_028C3C_CB_CLRCMP_MSK                       0x028C3C
343101e04c3fSmrg#define   S_028C3C_CLRCMP_MSK(x)                       (((unsigned)(x) & 0xFFFFFFFF) << 0)
34323464ebd5Sriastradh#define   G_028C3C_CLRCMP_MSK(x)                       (((x) >> 0) & 0xFFFFFFFF)
34333464ebd5Sriastradh#define   C_028C3C_CLRCMP_MSK                          0x00000000
34343464ebd5Sriastradh#define R_0085F0_CP_COHER_CNTL                       0x0085F0
343501e04c3fSmrg#define   S_0085F0_DEST_BASE_0_ENA(x)                  (((unsigned)(x) & 0x1) << 0)
34363464ebd5Sriastradh#define   G_0085F0_DEST_BASE_0_ENA(x)                  (((x) >> 0) & 0x1)
34373464ebd5Sriastradh#define   C_0085F0_DEST_BASE_0_ENA                     0xFFFFFFFE
343801e04c3fSmrg#define   S_0085F0_DEST_BASE_1_ENA(x)                  (((unsigned)(x) & 0x1) << 1)
34393464ebd5Sriastradh#define   G_0085F0_DEST_BASE_1_ENA(x)                  (((x) >> 1) & 0x1)
34403464ebd5Sriastradh#define   C_0085F0_DEST_BASE_1_ENA                     0xFFFFFFFD
344101e04c3fSmrg#define   S_0085F0_SO0_DEST_BASE_ENA(x)                (((unsigned)(x) & 0x1) << 2)
34423464ebd5Sriastradh#define   G_0085F0_SO0_DEST_BASE_ENA(x)                (((x) >> 2) & 0x1)
34433464ebd5Sriastradh#define   C_0085F0_SO0_DEST_BASE_ENA                   0xFFFFFFFB
344401e04c3fSmrg#define   S_0085F0_SO1_DEST_BASE_ENA(x)                (((unsigned)(x) & 0x1) << 3)
34453464ebd5Sriastradh#define   G_0085F0_SO1_DEST_BASE_ENA(x)                (((x) >> 3) & 0x1)
34463464ebd5Sriastradh#define   C_0085F0_SO1_DEST_BASE_ENA                   0xFFFFFFF7
344701e04c3fSmrg#define   S_0085F0_SO2_DEST_BASE_ENA(x)                (((unsigned)(x) & 0x1) << 4)
34483464ebd5Sriastradh#define   G_0085F0_SO2_DEST_BASE_ENA(x)                (((x) >> 4) & 0x1)
34493464ebd5Sriastradh#define   C_0085F0_SO2_DEST_BASE_ENA                   0xFFFFFFEF
345001e04c3fSmrg#define   S_0085F0_SO3_DEST_BASE_ENA(x)                (((unsigned)(x) & 0x1) << 5)
34513464ebd5Sriastradh#define   G_0085F0_SO3_DEST_BASE_ENA(x)                (((x) >> 5) & 0x1)
34523464ebd5Sriastradh#define   C_0085F0_SO3_DEST_BASE_ENA                   0xFFFFFFDF
345301e04c3fSmrg#define   S_0085F0_CB0_DEST_BASE_ENA(x)                (((unsigned)(x) & 0x1) << 6)
34543464ebd5Sriastradh#define   G_0085F0_CB0_DEST_BASE_ENA(x)                (((x) >> 6) & 0x1)
34553464ebd5Sriastradh#define   C_0085F0_CB0_DEST_BASE_ENA                   0xFFFFFFBF
345601e04c3fSmrg#define   S_0085F0_CB1_DEST_BASE_ENA(x)                (((unsigned)(x) & 0x1) << 7)
34573464ebd5Sriastradh#define   G_0085F0_CB1_DEST_BASE_ENA(x)                (((x) >> 7) & 0x1)
34583464ebd5Sriastradh#define   C_0085F0_CB1_DEST_BASE_ENA                   0xFFFFFF7F
345901e04c3fSmrg#define   S_0085F0_CB2_DEST_BASE_ENA(x)                (((unsigned)(x) & 0x1) << 8)
34603464ebd5Sriastradh#define   G_0085F0_CB2_DEST_BASE_ENA(x)                (((x) >> 8) & 0x1)
34613464ebd5Sriastradh#define   C_0085F0_CB2_DEST_BASE_ENA                   0xFFFFFEFF
346201e04c3fSmrg#define   S_0085F0_CB3_DEST_BASE_ENA(x)                (((unsigned)(x) & 0x1) << 9)
34633464ebd5Sriastradh#define   G_0085F0_CB3_DEST_BASE_ENA(x)                (((x) >> 9) & 0x1)
34643464ebd5Sriastradh#define   C_0085F0_CB3_DEST_BASE_ENA                   0xFFFFFDFF
346501e04c3fSmrg#define   S_0085F0_CB4_DEST_BASE_ENA(x)                (((unsigned)(x) & 0x1) << 10)
34663464ebd5Sriastradh#define   G_0085F0_CB4_DEST_BASE_ENA(x)                (((x) >> 10) & 0x1)
34673464ebd5Sriastradh#define   C_0085F0_CB4_DEST_BASE_ENA                   0xFFFFFBFF
346801e04c3fSmrg#define   S_0085F0_CB5_DEST_BASE_ENA(x)                (((unsigned)(x) & 0x1) << 11)
34693464ebd5Sriastradh#define   G_0085F0_CB5_DEST_BASE_ENA(x)                (((x) >> 11) & 0x1)
34703464ebd5Sriastradh#define   C_0085F0_CB5_DEST_BASE_ENA                   0xFFFFF7FF
347101e04c3fSmrg#define   S_0085F0_CB6_DEST_BASE_ENA(x)                (((unsigned)(x) & 0x1) << 12)
34723464ebd5Sriastradh#define   G_0085F0_CB6_DEST_BASE_ENA(x)                (((x) >> 12) & 0x1)
34733464ebd5Sriastradh#define   C_0085F0_CB6_DEST_BASE_ENA                   0xFFFFEFFF
347401e04c3fSmrg#define   S_0085F0_CB7_DEST_BASE_ENA(x)                (((unsigned)(x) & 0x1) << 13)
34753464ebd5Sriastradh#define   G_0085F0_CB7_DEST_BASE_ENA(x)                (((x) >> 13) & 0x1)
34763464ebd5Sriastradh#define   C_0085F0_CB7_DEST_BASE_ENA                   0xFFFFDFFF
347701e04c3fSmrg#define   S_0085F0_DB_DEST_BASE_ENA(x)                 (((unsigned)(x) & 0x1) << 14)
34783464ebd5Sriastradh#define   G_0085F0_DB_DEST_BASE_ENA(x)                 (((x) >> 14) & 0x1)
34793464ebd5Sriastradh#define   C_0085F0_DB_DEST_BASE_ENA                    0xFFFFBFFF
3480af69d88dSmrg/* r600 only start */
348101e04c3fSmrg#define   S_0085F0_CR_DEST_BASE_ENA(x)                 (((unsigned)(x) & 0x1) << 15)
34823464ebd5Sriastradh#define   G_0085F0_CR_DEST_BASE_ENA(x)                 (((x) >> 15) & 0x1)
34833464ebd5Sriastradh#define   C_0085F0_CR_DEST_BASE_ENA                    0xFFFF7FFF
3484af69d88dSmrg/* r600 only end */
3485af69d88dSmrg/* evergreen only start */
348601e04c3fSmrg#define   S_0085F0_CB8_DEST_BASE_ENA(x)                (((unsigned)(x) & 0x1) << 15)
3487af69d88dSmrg#define   G_0085F0_CB8_DEST_BASE_ENA(x)                (((x) >> 15) & 0x1)
348801e04c3fSmrg#define   S_0085F0_CB9_DEST_BASE_ENA(x)                (((unsigned)(x) & 0x1) << 16)
3489af69d88dSmrg#define   G_0085F0_CB9_DEST_BASE_ENA(x)                (((x) >> 16) & 0x1)
349001e04c3fSmrg#define   S_0085F0_CB10_DEST_BASE_ENA(x)               (((unsigned)(x) & 0x1) << 17)
3491af69d88dSmrg#define   G_0085F0_CB10_DEST_BASE_ENA(x)               (((x) >> 17) & 0x1)
349201e04c3fSmrg#define   S_0085F0_CB11_DEST_BASE_ENA(x)               (((unsigned)(x) & 0x1) << 18)
3493af69d88dSmrg#define   G_0085F0_CB11_DEST_BASE_ENA(x)               (((x) >> 18) & 0x1)
3494af69d88dSmrg/* evergreen only end */
3495af69d88dSmrg/* evergreen and r7xx only */
349601e04c3fSmrg#define   S_0085F0_FULL_CACHE_ENA(x)                   (((unsigned)(x) & 0x1) << 20)
3497af69d88dSmrg#define   G_0085F0_FULL_CACHE_ENA(x)                   (((x) >> 20) & 0x1)
3498af69d88dSmrg/* evergreen and r7xx only end */
349901e04c3fSmrg#define   S_0085F0_TC_ACTION_ENA(x)                    (((unsigned)(x) & 0x1) << 23)
35003464ebd5Sriastradh#define   G_0085F0_TC_ACTION_ENA(x)                    (((x) >> 23) & 0x1)
35013464ebd5Sriastradh#define   C_0085F0_TC_ACTION_ENA                       0xFF7FFFFF
350201e04c3fSmrg#define   S_0085F0_VC_ACTION_ENA(x)                    (((unsigned)(x) & 0x1) << 24)
35033464ebd5Sriastradh#define   G_0085F0_VC_ACTION_ENA(x)                    (((x) >> 24) & 0x1)
35043464ebd5Sriastradh#define   C_0085F0_VC_ACTION_ENA                       0xFEFFFFFF
350501e04c3fSmrg#define   S_0085F0_CB_ACTION_ENA(x)                    (((unsigned)(x) & 0x1) << 25)
35063464ebd5Sriastradh#define   G_0085F0_CB_ACTION_ENA(x)                    (((x) >> 25) & 0x1)
35073464ebd5Sriastradh#define   C_0085F0_CB_ACTION_ENA                       0xFDFFFFFF
350801e04c3fSmrg#define   S_0085F0_DB_ACTION_ENA(x)                    (((unsigned)(x) & 0x1) << 26)
35093464ebd5Sriastradh#define   G_0085F0_DB_ACTION_ENA(x)                    (((x) >> 26) & 0x1)
35103464ebd5Sriastradh#define   C_0085F0_DB_ACTION_ENA                       0xFBFFFFFF
351101e04c3fSmrg#define   S_0085F0_SH_ACTION_ENA(x)                    (((unsigned)(x) & 0x1) << 27)
35123464ebd5Sriastradh#define   G_0085F0_SH_ACTION_ENA(x)                    (((x) >> 27) & 0x1)
35133464ebd5Sriastradh#define   C_0085F0_SH_ACTION_ENA                       0xF7FFFFFF
351401e04c3fSmrg#define   S_0085F0_SMX_ACTION_ENA(x)                   (((unsigned)(x) & 0x1) << 28)
35153464ebd5Sriastradh#define   G_0085F0_SMX_ACTION_ENA(x)                   (((x) >> 28) & 0x1)
35163464ebd5Sriastradh#define   C_0085F0_SMX_ACTION_ENA                      0xEFFFFFFF
351701e04c3fSmrg#define   S_0085F0_CR0_ACTION_ENA(x)                   (((unsigned)(x) & 0x1) << 29)
35183464ebd5Sriastradh#define   G_0085F0_CR0_ACTION_ENA(x)                   (((x) >> 29) & 0x1)
35193464ebd5Sriastradh#define   C_0085F0_CR0_ACTION_ENA                      0xDFFFFFFF
352001e04c3fSmrg#define   S_0085F0_CR1_ACTION_ENA(x)                   (((unsigned)(x) & 0x1) << 30)
35213464ebd5Sriastradh#define   G_0085F0_CR1_ACTION_ENA(x)                   (((x) >> 30) & 0x1)
35223464ebd5Sriastradh#define   C_0085F0_CR1_ACTION_ENA                      0xBFFFFFFF
352301e04c3fSmrg#define   S_0085F0_CR2_ACTION_ENA(x)                   (((unsigned)(x) & 0x1) << 31)
35243464ebd5Sriastradh#define   G_0085F0_CR2_ACTION_ENA(x)                   (((x) >> 31) & 0x1)
35253464ebd5Sriastradh#define   C_0085F0_CR2_ACTION_ENA                      0x7FFFFFFF
3526af69d88dSmrg#define R_0085F4_CP_COHER_SIZE                       0x0085F4
3527af69d88dSmrg#define R_0085F8_CP_COHER_BASE                       0x0085F8
3528af69d88dSmrg#define R_0085FC_CP_COHER_STATUS                     0x0085FC
35293464ebd5Sriastradh
35303464ebd5Sriastradh
35313464ebd5Sriastradh#define R_02812C_CB_CLEAR_ALPHA                      0x02812C
353201e04c3fSmrg#define   S_02812C_CLEAR_ALPHA(x)                      (((unsigned)(x) & 0xFFFFFFFF) << 0)
35333464ebd5Sriastradh#define   G_02812C_CLEAR_ALPHA(x)                      (((x) >> 0) & 0xFFFFFFFF)
35343464ebd5Sriastradh#define   C_02812C_CLEAR_ALPHA                         0x00000000
35353464ebd5Sriastradh#define R_028128_CB_CLEAR_BLUE                       0x028128
353601e04c3fSmrg#define   S_028128_CLEAR_BLUE(x)                       (((unsigned)(x) & 0xFFFFFFFF) << 0)
35373464ebd5Sriastradh#define   G_028128_CLEAR_BLUE(x)                       (((x) >> 0) & 0xFFFFFFFF)
35383464ebd5Sriastradh#define   C_028128_CLEAR_BLUE                          0x00000000
35393464ebd5Sriastradh#define R_028124_CB_CLEAR_GREEN                      0x028124
354001e04c3fSmrg#define   S_028124_CLEAR_GREEN(x)                      (((unsigned)(x) & 0xFFFFFFFF) << 0)
35413464ebd5Sriastradh#define   G_028124_CLEAR_GREEN(x)                      (((x) >> 0) & 0xFFFFFFFF)
35423464ebd5Sriastradh#define   C_028124_CLEAR_GREEN                         0x00000000
35433464ebd5Sriastradh#define R_028120_CB_CLEAR_RED                        0x028120
354401e04c3fSmrg#define   S_028120_CLEAR_RED(x)                        (((unsigned)(x) & 0xFFFFFFFF) << 0)
35453464ebd5Sriastradh#define   G_028120_CLEAR_RED(x)                        (((x) >> 0) & 0xFFFFFFFF)
35463464ebd5Sriastradh#define   C_028120_CLEAR_RED                           0x00000000
35473464ebd5Sriastradh#define R_02842C_CB_FOG_BLUE                         0x02842C
354801e04c3fSmrg#define   S_02842C_FOG_BLUE(x)                         (((unsigned)(x) & 0xFFFFFFFF) << 0)
35493464ebd5Sriastradh#define   G_02842C_FOG_BLUE(x)                         (((x) >> 0) & 0xFFFFFFFF)
35503464ebd5Sriastradh#define   C_02842C_FOG_BLUE                            0x00000000
35513464ebd5Sriastradh#define R_028428_CB_FOG_GREEN                        0x028428
355201e04c3fSmrg#define   S_028428_FOG_GREEN(x)                        (((unsigned)(x) & 0xFFFFFFFF) << 0)
35533464ebd5Sriastradh#define   G_028428_FOG_GREEN(x)                        (((x) >> 0) & 0xFFFFFFFF)
35543464ebd5Sriastradh#define   C_028428_FOG_GREEN                           0x00000000
35553464ebd5Sriastradh#define R_028424_CB_FOG_RED                          0x028424
355601e04c3fSmrg#define   S_028424_FOG_RED(x)                          (((unsigned)(x) & 0xFFFFFFFF) << 0)
35573464ebd5Sriastradh#define   G_028424_FOG_RED(x)                          (((x) >> 0) & 0xFFFFFFFF)
35583464ebd5Sriastradh#define   C_028424_FOG_RED                             0x00000000
35593464ebd5Sriastradh#define R_03C000_SQ_TEX_SAMPLER_WORD0_0              0x03C000
356001e04c3fSmrg#define   S_03C000_CLAMP_X(x)                          (((unsigned)(x) & 0x7) << 0)
35613464ebd5Sriastradh#define   G_03C000_CLAMP_X(x)                          (((x) >> 0) & 0x7)
35623464ebd5Sriastradh#define   C_03C000_CLAMP_X                             0xFFFFFFF8
356301e04c3fSmrg#define   S_03C000_CLAMP_Y(x)                          (((unsigned)(x) & 0x7) << 3)
35643464ebd5Sriastradh#define   G_03C000_CLAMP_Y(x)                          (((x) >> 3) & 0x7)
35653464ebd5Sriastradh#define   C_03C000_CLAMP_Y                             0xFFFFFFC7
356601e04c3fSmrg#define   S_03C000_CLAMP_Z(x)                          (((unsigned)(x) & 0x7) << 6)
35673464ebd5Sriastradh#define   G_03C000_CLAMP_Z(x)                          (((x) >> 6) & 0x7)
35683464ebd5Sriastradh#define   C_03C000_CLAMP_Z                             0xFFFFFE3F
356901e04c3fSmrg#define   S_03C000_XY_MAG_FILTER(x)                    (((unsigned)(x) & 0x7) << 9)
35703464ebd5Sriastradh#define   G_03C000_XY_MAG_FILTER(x)                    (((x) >> 9) & 0x7)
35713464ebd5Sriastradh#define   C_03C000_XY_MAG_FILTER                       0xFFFFF1FF
357201e04c3fSmrg#define   S_03C000_XY_MIN_FILTER(x)                    (((unsigned)(x) & 0x7) << 12)
35733464ebd5Sriastradh#define   G_03C000_XY_MIN_FILTER(x)                    (((x) >> 12) & 0x7)
35743464ebd5Sriastradh#define   C_03C000_XY_MIN_FILTER                       0xFFFF8FFF
357501e04c3fSmrg#define   S_03C000_Z_FILTER(x)                         (((unsigned)(x) & 0x3) << 15)
35763464ebd5Sriastradh#define   G_03C000_Z_FILTER(x)                         (((x) >> 15) & 0x3)
35773464ebd5Sriastradh#define   C_03C000_Z_FILTER                            0xFFFE7FFF
357801e04c3fSmrg#define   S_03C000_MIP_FILTER(x)                       (((unsigned)(x) & 0x3) << 17)
35793464ebd5Sriastradh#define   G_03C000_MIP_FILTER(x)                       (((x) >> 17) & 0x3)
35803464ebd5Sriastradh#define   C_03C000_MIP_FILTER                          0xFFF9FFFF
358101e04c3fSmrg#define   S_03C000_BORDER_COLOR_TYPE(x)                (((unsigned)(x) & 0x3) << 22)
35823464ebd5Sriastradh#define   G_03C000_BORDER_COLOR_TYPE(x)                (((x) >> 22) & 0x3)
35833464ebd5Sriastradh#define   C_03C000_BORDER_COLOR_TYPE                   0xFF3FFFFF
358401e04c3fSmrg#define   S_03C000_POINT_SAMPLING_CLAMP(x)             (((unsigned)(x) & 0x1) << 24)
35853464ebd5Sriastradh#define   G_03C000_POINT_SAMPLING_CLAMP(x)             (((x) >> 24) & 0x1)
35863464ebd5Sriastradh#define   C_03C000_POINT_SAMPLING_CLAMP                0xFEFFFFFF
358701e04c3fSmrg#define   S_03C000_TEX_ARRAY_OVERRIDE(x)               (((unsigned)(x) & 0x1) << 25)
35883464ebd5Sriastradh#define   G_03C000_TEX_ARRAY_OVERRIDE(x)               (((x) >> 25) & 0x1)
35893464ebd5Sriastradh#define   C_03C000_TEX_ARRAY_OVERRIDE                  0xFDFFFFFF
359001e04c3fSmrg#define   S_03C000_DEPTH_COMPARE_FUNCTION(x)           (((unsigned)(x) & 0x7) << 26)
35913464ebd5Sriastradh#define   G_03C000_DEPTH_COMPARE_FUNCTION(x)           (((x) >> 26) & 0x7)
35923464ebd5Sriastradh#define   C_03C000_DEPTH_COMPARE_FUNCTION              0xE3FFFFFF
359301e04c3fSmrg#define   S_03C000_CHROMA_KEY(x)                       (((unsigned)(x) & 0x3) << 29)
35943464ebd5Sriastradh#define   G_03C000_CHROMA_KEY(x)                       (((x) >> 29) & 0x3)
35953464ebd5Sriastradh#define   C_03C000_CHROMA_KEY                          0x9FFFFFFF
359601e04c3fSmrg#define   S_03C000_LOD_USES_MINOR_AXIS(x)              (((unsigned)(x) & 0x1) << 31)
35973464ebd5Sriastradh#define   G_03C000_LOD_USES_MINOR_AXIS(x)              (((x) >> 31) & 0x1)
35983464ebd5Sriastradh#define   C_03C000_LOD_USES_MINOR_AXIS                 0x7FFFFFFF
35993464ebd5Sriastradh#define R_03C004_SQ_TEX_SAMPLER_WORD1_0              0x03C004
360001e04c3fSmrg#define   S_03C004_MIN_LOD(x)                          (((unsigned)(x) & 0x3FF) << 0)
36013464ebd5Sriastradh#define   G_03C004_MIN_LOD(x)                          (((x) >> 0) & 0x3FF)
36023464ebd5Sriastradh#define   C_03C004_MIN_LOD                             0xFFFFFC00
360301e04c3fSmrg#define   S_03C004_MAX_LOD(x)                          (((unsigned)(x) & 0x3FF) << 10)
36043464ebd5Sriastradh#define   G_03C004_MAX_LOD(x)                          (((x) >> 10) & 0x3FF)
36053464ebd5Sriastradh#define   C_03C004_MAX_LOD                             0xFFF003FF
360601e04c3fSmrg#define   S_03C004_LOD_BIAS(x)                         (((unsigned)(x) & 0xFFF) << 20)
36073464ebd5Sriastradh#define   G_03C004_LOD_BIAS(x)                         (((x) >> 20) & 0xFFF)
36083464ebd5Sriastradh#define   C_03C004_LOD_BIAS                            0x000FFFFF
36093464ebd5Sriastradh#define R_03C008_SQ_TEX_SAMPLER_WORD2_0              0x03C008
361001e04c3fSmrg#define   S_03C008_LOD_BIAS_SEC(x)                     (((unsigned)(x) & 0xFFF) << 0)
36113464ebd5Sriastradh#define   G_03C008_LOD_BIAS_SEC(x)                     (((x) >> 0) & 0xFFF)
36123464ebd5Sriastradh#define   C_03C008_LOD_BIAS_SEC                        0xFFFFF000
361301e04c3fSmrg#define   S_03C008_MC_COORD_TRUNCATE(x)                (((unsigned)(x) & 0x1) << 12)
36143464ebd5Sriastradh#define   G_03C008_MC_COORD_TRUNCATE(x)                (((x) >> 12) & 0x1)
36153464ebd5Sriastradh#define   C_03C008_MC_COORD_TRUNCATE                   0xFFFFEFFF
361601e04c3fSmrg#define   S_03C008_FORCE_DEGAMMA(x)                    (((unsigned)(x) & 0x1) << 13)
36173464ebd5Sriastradh#define   G_03C008_FORCE_DEGAMMA(x)                    (((x) >> 13) & 0x1)
36183464ebd5Sriastradh#define   C_03C008_FORCE_DEGAMMA                       0xFFFFDFFF
361901e04c3fSmrg#define   S_03C008_HIGH_PRECISION_FILTER(x)            (((unsigned)(x) & 0x1) << 14)
36203464ebd5Sriastradh#define   G_03C008_HIGH_PRECISION_FILTER(x)            (((x) >> 14) & 0x1)
36213464ebd5Sriastradh#define   C_03C008_HIGH_PRECISION_FILTER               0xFFFFBFFF
362201e04c3fSmrg#define   S_03C008_PERF_MIP(x)                         (((unsigned)(x) & 0x7) << 15)
36233464ebd5Sriastradh#define   G_03C008_PERF_MIP(x)                         (((x) >> 15) & 0x7)
36243464ebd5Sriastradh#define   C_03C008_PERF_MIP                            0xFFFC7FFF
362501e04c3fSmrg#define   S_03C008_PERF_Z(x)                           (((unsigned)(x) & 0x3) << 18)
36263464ebd5Sriastradh#define   G_03C008_PERF_Z(x)                           (((x) >> 18) & 0x3)
36273464ebd5Sriastradh#define   C_03C008_PERF_Z                              0xFFF3FFFF
362801e04c3fSmrg#define   S_03C008_FETCH_4(x)                          (((unsigned)(x) & 0x1) << 26)
36293464ebd5Sriastradh#define   G_03C008_FETCH_4(x)                          (((x) >> 26) & 0x1)
36303464ebd5Sriastradh#define   C_03C008_FETCH_4                             0xFBFFFFFF
363101e04c3fSmrg#define   S_03C008_SAMPLE_IS_PCF(x)                    (((unsigned)(x) & 0x1) << 27)
36323464ebd5Sriastradh#define   G_03C008_SAMPLE_IS_PCF(x)                    (((x) >> 27) & 0x1)
36333464ebd5Sriastradh#define   C_03C008_SAMPLE_IS_PCF                       0xF7FFFFFF
363401e04c3fSmrg#define   S_03C008_TYPE(x)                             (((unsigned)(x) & 0x1) << 31)
36353464ebd5Sriastradh#define   G_03C008_TYPE(x)                             (((x) >> 31) & 0x1)
36363464ebd5Sriastradh#define   C_03C008_TYPE                                0x7FFFFFFF
36373464ebd5Sriastradh#define R_00A40C_TD_PS_SAMPLER0_BORDER_ALPHA         0x00A40C
363801e04c3fSmrg#define   S_00A40C_BORDER_ALPHA(x)                     (((unsigned)(x) & 0xFFFFFFFF) << 0)
36393464ebd5Sriastradh#define   G_00A40C_BORDER_ALPHA(x)                     (((x) >> 0) & 0xFFFFFFFF)
36403464ebd5Sriastradh#define   C_00A40C_BORDER_ALPHA                        0x00000000
36413464ebd5Sriastradh#define R_00A408_TD_PS_SAMPLER0_BORDER_BLUE          0x00A408
364201e04c3fSmrg#define   S_00A408_BORDER_BLUE(x)                      (((unsigned)(x) & 0xFFFFFFFF) << 0)
36433464ebd5Sriastradh#define   G_00A408_BORDER_BLUE(x)                      (((x) >> 0) & 0xFFFFFFFF)
36443464ebd5Sriastradh#define   C_00A408_BORDER_BLUE                         0x00000000
36453464ebd5Sriastradh#define R_00A404_TD_PS_SAMPLER0_BORDER_GREEN         0x00A404
364601e04c3fSmrg#define   S_00A404_BORDER_GREEN(x)                     (((unsigned)(x) & 0xFFFFFFFF) << 0)
36473464ebd5Sriastradh#define   G_00A404_BORDER_GREEN(x)                     (((x) >> 0) & 0xFFFFFFFF)
36483464ebd5Sriastradh#define   C_00A404_BORDER_GREEN                        0x00000000
36493464ebd5Sriastradh#define R_00A400_TD_PS_SAMPLER0_BORDER_RED           0x00A400
365001e04c3fSmrg#define   S_00A400_BORDER_RED(x)                       (((unsigned)(x) & 0xFFFFFFFF) << 0)
36513464ebd5Sriastradh#define   G_00A400_BORDER_RED(x)                       (((x) >> 0) & 0xFFFFFFFF)
36523464ebd5Sriastradh#define   C_00A400_BORDER_RED                          0x00000000
36533464ebd5Sriastradh#define R_00A60C_TD_VS_SAMPLER0_BORDER_ALPHA         0x00A60C
365401e04c3fSmrg#define   S_00A60C_BORDER_ALPHA(x)                     (((unsigned)(x) & 0xFFFFFFFF) << 0)
36553464ebd5Sriastradh#define   G_00A60C_BORDER_ALPHA(x)                     (((x) >> 0) & 0xFFFFFFFF)
36563464ebd5Sriastradh#define   C_00A60C_BORDER_ALPHA                        0x00000000
36573464ebd5Sriastradh#define R_00A608_TD_VS_SAMPLER0_BORDER_BLUE          0x00A608
365801e04c3fSmrg#define   S_00A608_BORDER_BLUE(x)                      (((unsigned)(x) & 0xFFFFFFFF) << 0)
36593464ebd5Sriastradh#define   G_00A608_BORDER_BLUE(x)                      (((x) >> 0) & 0xFFFFFFFF)
36603464ebd5Sriastradh#define   C_00A608_BORDER_BLUE                         0x00000000
36613464ebd5Sriastradh#define R_00A604_TD_VS_SAMPLER0_BORDER_GREEN         0x00A604
366201e04c3fSmrg#define   S_00A604_BORDER_GREEN(x)                     (((unsigned)(x) & 0xFFFFFFFF) << 0)
36633464ebd5Sriastradh#define   G_00A604_BORDER_GREEN(x)                     (((x) >> 0) & 0xFFFFFFFF)
36643464ebd5Sriastradh#define   C_00A604_BORDER_GREEN                        0x00000000
36653464ebd5Sriastradh#define R_00A600_TD_VS_SAMPLER0_BORDER_RED           0x00A600
366601e04c3fSmrg#define   S_00A600_BORDER_RED(x)                       (((unsigned)(x) & 0xFFFFFFFF) << 0)
36673464ebd5Sriastradh#define   G_00A600_BORDER_RED(x)                       (((x) >> 0) & 0xFFFFFFFF)
36683464ebd5Sriastradh#define   C_00A600_BORDER_RED                          0x00000000
36693464ebd5Sriastradh#define R_00A80C_TD_GS_SAMPLER0_BORDER_ALPHA         0x00A80C
367001e04c3fSmrg#define   S_00A80C_BORDER_ALPHA(x)                     (((unsigned)(x) & 0xFFFFFFFF) << 0)
36713464ebd5Sriastradh#define   G_00A80C_BORDER_ALPHA(x)                     (((x) >> 0) & 0xFFFFFFFF)
36723464ebd5Sriastradh#define   C_00A80C_BORDER_ALPHA                        0x00000000
36733464ebd5Sriastradh#define R_00A808_TD_GS_SAMPLER0_BORDER_BLUE          0x00A808
367401e04c3fSmrg#define   S_00A808_BORDER_BLUE(x)                      (((unsigned)(x) & 0xFFFFFFFF) << 0)
36753464ebd5Sriastradh#define   G_00A808_BORDER_BLUE(x)                      (((x) >> 0) & 0xFFFFFFFF)
36763464ebd5Sriastradh#define   C_00A808_BORDER_BLUE                         0x00000000
36773464ebd5Sriastradh#define R_00A804_TD_GS_SAMPLER0_BORDER_GREEN         0x00A804
367801e04c3fSmrg#define   S_00A804_BORDER_GREEN(x)                     (((unsigned)(x) & 0xFFFFFFFF) << 0)
36793464ebd5Sriastradh#define   G_00A804_BORDER_GREEN(x)                     (((x) >> 0) & 0xFFFFFFFF)
36803464ebd5Sriastradh#define   C_00A804_BORDER_GREEN                        0x00000000
36813464ebd5Sriastradh#define R_00A800_TD_GS_SAMPLER0_BORDER_RED           0x00A800
368201e04c3fSmrg#define   S_00A800_BORDER_RED(x)                       (((unsigned)(x) & 0xFFFFFFFF) << 0)
36833464ebd5Sriastradh#define   G_00A800_BORDER_RED(x)                       (((x) >> 0) & 0xFFFFFFFF)
36843464ebd5Sriastradh#define   C_00A800_BORDER_RED                          0x00000000
36853464ebd5Sriastradh#define R_030000_SQ_ALU_CONSTANT0_0                  0x030000
368601e04c3fSmrg#define   S_030000_X(x)                                (((unsigned)(x) & 0xFFFFFFFF) << 0)
36873464ebd5Sriastradh#define   G_030000_X(x)                                (((x) >> 0) & 0xFFFFFFFF)
36883464ebd5Sriastradh#define   C_030000_X                                   0x00000000
36893464ebd5Sriastradh#define R_030004_SQ_ALU_CONSTANT1_0                  0x030004
369001e04c3fSmrg#define   S_030004_Y(x)                                (((unsigned)(x) & 0xFFFFFFFF) << 0)
36913464ebd5Sriastradh#define   G_030004_Y(x)                                (((x) >> 0) & 0xFFFFFFFF)
36923464ebd5Sriastradh#define   C_030004_Y                                   0x00000000
36933464ebd5Sriastradh#define R_030008_SQ_ALU_CONSTANT2_0                  0x030008
369401e04c3fSmrg#define   S_030008_Z(x)                                (((unsigned)(x) & 0xFFFFFFFF) << 0)
36953464ebd5Sriastradh#define   G_030008_Z(x)                                (((x) >> 0) & 0xFFFFFFFF)
36963464ebd5Sriastradh#define   C_030008_Z                                   0x00000000
36973464ebd5Sriastradh#define R_03000C_SQ_ALU_CONSTANT3_0                  0x03000C
369801e04c3fSmrg#define   S_03000C_W(x)                                (((unsigned)(x) & 0xFFFFFFFF) << 0)
36993464ebd5Sriastradh#define   G_03000C_W(x)                                (((x) >> 0) & 0xFFFFFFFF)
37003464ebd5Sriastradh#define   C_03000C_W                                   0x00000000
37013464ebd5Sriastradh#define R_0287E4_VGT_DMA_BASE_HI                     0x0287E4
37023464ebd5Sriastradh#define R_0287E8_VGT_DMA_BASE                        0x0287E8
37033464ebd5Sriastradh#define R_028E20_PA_CL_UCP0_X                        0x028E20
37043464ebd5Sriastradh#define R_028E24_PA_CL_UCP0_Y                        0x028E24
37053464ebd5Sriastradh#define R_028E28_PA_CL_UCP0_Z                        0x028E28
37063464ebd5Sriastradh#define R_028E2C_PA_CL_UCP0_W                        0x028E2C
37073464ebd5Sriastradh#define R_028E30_PA_CL_UCP1_X                        0x028E30
37083464ebd5Sriastradh#define R_028E34_PA_CL_UCP1_Y                        0x028E34
37093464ebd5Sriastradh#define R_028E38_PA_CL_UCP1_Z                        0x028E38
37103464ebd5Sriastradh#define R_028E3C_PA_CL_UCP1_W                        0x028E3C
37113464ebd5Sriastradh#define R_028E40_PA_CL_UCP2_X                        0x028E40
37123464ebd5Sriastradh#define R_028E44_PA_CL_UCP2_Y                        0x028E44
37133464ebd5Sriastradh#define R_028E48_PA_CL_UCP2_Z                        0x028E48
37143464ebd5Sriastradh#define R_028E4C_PA_CL_UCP2_W                        0x028E4C
37153464ebd5Sriastradh#define R_028E50_PA_CL_UCP3_X                        0x028E50
37163464ebd5Sriastradh#define R_028E54_PA_CL_UCP3_Y                        0x028E54
37173464ebd5Sriastradh#define R_028E58_PA_CL_UCP3_Z                        0x028E58
37183464ebd5Sriastradh#define R_028E5C_PA_CL_UCP3_W                        0x028E5C
37193464ebd5Sriastradh#define R_028E60_PA_CL_UCP4_X                        0x028E60
37203464ebd5Sriastradh#define R_028E64_PA_CL_UCP4_Y                        0x028E64
37213464ebd5Sriastradh#define R_028E68_PA_CL_UCP4_Z                        0x028E68
37223464ebd5Sriastradh#define R_028E6C_PA_CL_UCP4_W                        0x028E6C
37233464ebd5Sriastradh#define R_028E70_PA_CL_UCP5_X                        0x028E70
37243464ebd5Sriastradh#define R_028E74_PA_CL_UCP5_Y                        0x028E74
37253464ebd5Sriastradh#define R_028E78_PA_CL_UCP5_Z                        0x028E78
37263464ebd5Sriastradh#define R_028E7C_PA_CL_UCP5_W                        0x028E7C
37273464ebd5Sriastradh#define R_038000_RESOURCE0_WORD0                     0x038000
37283464ebd5Sriastradh#define R_038004_RESOURCE0_WORD1                     0x038004
37293464ebd5Sriastradh#define R_038008_RESOURCE0_WORD2                     0x038008
37303464ebd5Sriastradh#define R_03800C_RESOURCE0_WORD3                     0x03800C
37313464ebd5Sriastradh#define R_038010_RESOURCE0_WORD4                     0x038010
37323464ebd5Sriastradh#define R_038014_RESOURCE0_WORD5                     0x038014
37333464ebd5Sriastradh#define R_038018_RESOURCE0_WORD6                     0x038018
37343464ebd5Sriastradh
37353464ebd5Sriastradh#define R_028140_ALU_CONST_BUFFER_SIZE_PS_0          0x00028140
3736af69d88dSmrg#define R_028144_ALU_CONST_BUFFER_SIZE_PS_1          0x00028144
37373464ebd5Sriastradh#define R_028180_ALU_CONST_BUFFER_SIZE_VS_0          0x00028180
3738af69d88dSmrg#define R_028184_ALU_CONST_BUFFER_SIZE_VS_1          0x00028184
3739af69d88dSmrg#define R_0281C0_ALU_CONST_BUFFER_SIZE_GS_0          0x000281C0
37403464ebd5Sriastradh#define R_028940_ALU_CONST_CACHE_PS_0                0x00028940
3741af69d88dSmrg#define R_028944_ALU_CONST_CACHE_PS_1                0x00028944
37423464ebd5Sriastradh#define R_028980_ALU_CONST_CACHE_VS_0                0x00028980
3743af69d88dSmrg#define R_028984_ALU_CONST_CACHE_VS_1                0x00028984
3744af69d88dSmrg#define R_0289C0_ALU_CONST_CACHE_GS_0                0x000289C0
37453464ebd5Sriastradh
37463464ebd5Sriastradh#define R_03CFF0_SQ_VTX_BASE_VTX_LOC                 0x03CFF0
37473464ebd5Sriastradh#define R_03CFF4_SQ_VTX_START_INST_LOC               0x03CFF4
37483464ebd5Sriastradh
37493464ebd5Sriastradh#define R_03E200_SQ_LOOP_CONST_0                     0x3E200
37503464ebd5Sriastradh
3751af69d88dSmrg#define SQ_TEX_INST_LD			0x03
3752af69d88dSmrg#define SQ_TEX_INST_GET_TEXTURE_RESINFO	0x04
3753af69d88dSmrg#define SQ_TEX_INST_GET_BORDER_COLOR_FRAC 0x05
3754af69d88dSmrg#define SQ_TEX_INST_GET_COMP_TEX_LOD	0x06
3755af69d88dSmrg#define SQ_TEX_INST_GET_GRADIENTS_H	0x07
3756af69d88dSmrg#define SQ_TEX_INST_GET_GRADIENTS_V	0x08
3757af69d88dSmrg#define SQ_TEX_INST_GET_LERP_FACTORS	0x09
3758af69d88dSmrg#define SQ_TEX_INST_GET_WEIGHTS		0x0A
3759af69d88dSmrg#define SQ_TEX_INST_SET_GRADIENTS_H	0x0B
3760af69d88dSmrg#define SQ_TEX_INST_SET_GRADIENTS_V	0x0C
3761af69d88dSmrg#define SQ_TEX_INST_PASS		0x0D
3762af69d88dSmrg#define SQ_TEX_INST_SET_CUBEMAP_INDEX	0x0E
3763af69d88dSmrg
3764af69d88dSmrg#define SQ_TEX_INST_SAMPLE		0x10
3765af69d88dSmrg#define SQ_TEX_INST_SAMPLE_L		0x11
3766af69d88dSmrg#define SQ_TEX_INST_SAMPLE_LB		0x12
3767af69d88dSmrg#define SQ_TEX_INST_SAMPLE_LZ		0x13
3768af69d88dSmrg#define SQ_TEX_INST_SAMPLE_G		0x14
3769af69d88dSmrg#define SQ_TEX_INST_SAMPLE_G_L		0x15
3770af69d88dSmrg#define SQ_TEX_INST_SAMPLE_G_LB		0x16
3771af69d88dSmrg#define SQ_TEX_INST_SAMPLE_G_LZ		0x17
3772af69d88dSmrg#define SQ_TEX_INST_SAMPLE_C		0x18 /* src.xyz = texcoord, src.z = array index (if needed), src.w = depth */
3773af69d88dSmrg#define SQ_TEX_INST_SAMPLE_C_L		0x19 /* src.xy  = texcoord, src.y = array index (if needed), src.z = depth, src.w = lod */
3774af69d88dSmrg#define SQ_TEX_INST_SAMPLE_C_LB		0x1A /* src.xy  = texcoord, src.y = array index (if needed), src.z = depth, src.w = bias */
3775af69d88dSmrg#define SQ_TEX_INST_SAMPLE_C_LZ		0x1B
3776af69d88dSmrg#define SQ_TEX_INST_SAMPLE_C_G		0x1C
3777af69d88dSmrg#define SQ_TEX_INST_SAMPLE_C_G_L	0x1D
3778af69d88dSmrg#define SQ_TEX_INST_SAMPLE_C_G_LB	0x1E
3779af69d88dSmrg#define SQ_TEX_INST_SAMPLE_C_G_LZ	0x1F
3780af69d88dSmrg
378101e04c3fSmrg#define EG_0802C_GRBM_GFX_INDEX          			0x802C
378201e04c3fSmrg#define   S_0802C_INSTANCE_INDEX(x)					  (((x) & 0xffff) << 0)
378301e04c3fSmrg#define   S_0802C_SE_INDEX(x)						  (((x) & 0x3fff) << 16)
378401e04c3fSmrg#define   S_0802C_INSTANCE_BROADCAST_WRITES(x)		  (((x) & 0x1) << 30)
378501e04c3fSmrg#define   S_0802C_SE_BROADCAST_WRITES(x)			  (((x) & 0x1) << 31)
378601e04c3fSmrg
3787af69d88dSmrg#define CM_R_028AA8_IA_MULTI_VGT_PARAM                0x028AA8
378801e04c3fSmrg#define   S_028AA8_PRIMGROUP_SIZE(x)                   (((unsigned)(x) & 0xFFFF) << 0)
3789af69d88dSmrg#define   G_028AA8_PRIMGROUP_SIZE(x)                   (((x) >> 0) & 0xFFFF)
3790af69d88dSmrg#define   C_028AA8_PRIMGROUP_SIZE                      0xFFFF0000
379101e04c3fSmrg#define   S_028AA8_PARTIAL_VS_WAVE_ON(x)               (((unsigned)(x) & 0x1) << 16)
3792af69d88dSmrg#define   G_028AA8_PARTIAL_VS_WAVE_ON(x)               (((x) >> 16) & 0x1)
3793af69d88dSmrg#define   C_028AA8_PARTIAL_VS_WAVE_ON                  0xFFFEFFFF
379401e04c3fSmrg#define   S_028AA8_SWITCH_ON_EOP(x)                    (((unsigned)(x) & 0x1) << 17)
3795af69d88dSmrg#define   G_028AA8_SWITCH_ON_EOP(x)                    (((x) >> 17) & 0x1)
3796af69d88dSmrg#define   C_028AA8_SWITCH_ON_EOP                       0xFFFDFFFF
37973464ebd5Sriastradh
3798af69d88dSmrg/* async DMA packets */
379901e04c3fSmrg#define DMA_PACKET(cmd, t, s, n)	((((unsigned)(cmd) & 0xF) << 28) |	\
380001e04c3fSmrg					(((unsigned)(t) & 0x1) << 23) |		\
380101e04c3fSmrg					(((unsigned)(s) & 0x1) << 22) |		\
380201e04c3fSmrg					(((unsigned)(n) & 0xFFFF) << 0))
3803af69d88dSmrg/* async DMA Packet types */
3804af69d88dSmrg#define DMA_PACKET_WRITE		0x2
3805af69d88dSmrg#define DMA_PACKET_COPY			0x3
3806af69d88dSmrg#define R600_DMA_COPY_MAX_SIZE_DW		0xffff
3807af69d88dSmrg#define DMA_PACKET_INDIRECT_BUFFER	0x4
3808af69d88dSmrg#define DMA_PACKET_SEMAPHORE		0x5
3809af69d88dSmrg#define DMA_PACKET_FENCE		0x6
3810af69d88dSmrg#define DMA_PACKET_TRAP			0x7
3811af69d88dSmrg#define DMA_PACKET_CONSTANT_FILL	0xd /* 7xx only */
3812af69d88dSmrg#define DMA_PACKET_NOP			0xf
38133464ebd5Sriastradh
381401e04c3fSmrg
381501e04c3fSmrg/* Resource IDs:
381601e04c3fSmrg *   PS: 0   .. +160
381701e04c3fSmrg *   VS: 160 .. +160
381801e04c3fSmrg *   FS: 320 .. +16
381901e04c3fSmrg *   GS: 336 .. +160
382001e04c3fSmrg */
382101e04c3fSmrg#define R600_FETCH_CONSTANTS_OFFSET_PS 0
382201e04c3fSmrg#define R600_FETCH_CONSTANTS_OFFSET_VS 160
382301e04c3fSmrg#define R600_FETCH_CONSTANTS_OFFSET_FS 320
382401e04c3fSmrg#define R600_FETCH_CONSTANTS_OFFSET_GS 336
38253464ebd5Sriastradh#endif
3826