gfx9d.h revision b8e80941
1/*
2 * Vega 3D Registers
3 *
4 * Copyright (C) 2016  Advanced Micro Devices, Inc.
5 *
6 * Permission is hereby granted, free of charge, to any person obtaining a
7 * copy of this software and associated documentation files (the "Software"),
8 * to deal in the Software without restriction, including without limitation
9 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
10 * and/or sell copies of the Software, and to permit persons to whom the
11 * Software is furnished to do so, subject to the following conditions:
12 *
13 * The above copyright notice and this permission notice shall be included
14 * in all copies or substantial portions of the Software.
15 *
16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
17 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
19 * THE COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
20 * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
21 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 */
23
24#ifndef GFX9D_H
25#define GFX9D_H
26
27#define R_008008_GRBM_STATUS2                                           0x008008
28#define   S_008008_ME0PIPE1_CMDFIFO_AVAIL(x)                          (((unsigned)(x) & 0x0F) << 0)
29#define   G_008008_ME0PIPE1_CMDFIFO_AVAIL(x)                          (((x) >> 0) & 0x0F)
30#define   C_008008_ME0PIPE1_CMDFIFO_AVAIL                             0xFFFFFFF0
31#define   S_008008_ME0PIPE1_CF_RQ_PENDING(x)                          (((unsigned)(x) & 0x1) << 4)
32#define   G_008008_ME0PIPE1_CF_RQ_PENDING(x)                          (((x) >> 4) & 0x1)
33#define   C_008008_ME0PIPE1_CF_RQ_PENDING                             0xFFFFFFEF
34#define   S_008008_ME0PIPE1_PF_RQ_PENDING(x)                          (((unsigned)(x) & 0x1) << 5)
35#define   G_008008_ME0PIPE1_PF_RQ_PENDING(x)                          (((x) >> 5) & 0x1)
36#define   C_008008_ME0PIPE1_PF_RQ_PENDING                             0xFFFFFFDF
37#define   S_008008_ME1PIPE0_RQ_PENDING(x)                             (((unsigned)(x) & 0x1) << 6)
38#define   G_008008_ME1PIPE0_RQ_PENDING(x)                             (((x) >> 6) & 0x1)
39#define   C_008008_ME1PIPE0_RQ_PENDING                                0xFFFFFFBF
40#define   S_008008_ME1PIPE1_RQ_PENDING(x)                             (((unsigned)(x) & 0x1) << 7)
41#define   G_008008_ME1PIPE1_RQ_PENDING(x)                             (((x) >> 7) & 0x1)
42#define   C_008008_ME1PIPE1_RQ_PENDING                                0xFFFFFF7F
43#define   S_008008_ME1PIPE2_RQ_PENDING(x)                             (((unsigned)(x) & 0x1) << 8)
44#define   G_008008_ME1PIPE2_RQ_PENDING(x)                             (((x) >> 8) & 0x1)
45#define   C_008008_ME1PIPE2_RQ_PENDING                                0xFFFFFEFF
46#define   S_008008_ME1PIPE3_RQ_PENDING(x)                             (((unsigned)(x) & 0x1) << 9)
47#define   G_008008_ME1PIPE3_RQ_PENDING(x)                             (((x) >> 9) & 0x1)
48#define   C_008008_ME1PIPE3_RQ_PENDING                                0xFFFFFDFF
49#define   S_008008_ME2PIPE0_RQ_PENDING(x)                             (((unsigned)(x) & 0x1) << 10)
50#define   G_008008_ME2PIPE0_RQ_PENDING(x)                             (((x) >> 10) & 0x1)
51#define   C_008008_ME2PIPE0_RQ_PENDING                                0xFFFFFBFF
52#define   S_008008_ME2PIPE1_RQ_PENDING(x)                             (((unsigned)(x) & 0x1) << 11)
53#define   G_008008_ME2PIPE1_RQ_PENDING(x)                             (((x) >> 11) & 0x1)
54#define   C_008008_ME2PIPE1_RQ_PENDING                                0xFFFFF7FF
55#define   S_008008_ME2PIPE2_RQ_PENDING(x)                             (((unsigned)(x) & 0x1) << 12)
56#define   G_008008_ME2PIPE2_RQ_PENDING(x)                             (((x) >> 12) & 0x1)
57#define   C_008008_ME2PIPE2_RQ_PENDING                                0xFFFFEFFF
58#define   S_008008_ME2PIPE3_RQ_PENDING(x)                             (((unsigned)(x) & 0x1) << 13)
59#define   G_008008_ME2PIPE3_RQ_PENDING(x)                             (((x) >> 13) & 0x1)
60#define   C_008008_ME2PIPE3_RQ_PENDING                                0xFFFFDFFF
61#define   S_008008_RLC_RQ_PENDING(x)                                  (((unsigned)(x) & 0x1) << 14)
62#define   G_008008_RLC_RQ_PENDING(x)                                  (((x) >> 14) & 0x1)
63#define   C_008008_RLC_RQ_PENDING                                     0xFFFFBFFF
64#define   S_008008_UTCL2_BUSY(x)                                      (((unsigned)(x) & 0x1) << 15)
65#define   G_008008_UTCL2_BUSY(x)                                      (((x) >> 15) & 0x1)
66#define   C_008008_UTCL2_BUSY                                         0xFFFF7FFF
67#define   S_008008_EA_BUSY(x)                                         (((unsigned)(x) & 0x1) << 16)
68#define   G_008008_EA_BUSY(x)                                         (((x) >> 16) & 0x1)
69#define   C_008008_EA_BUSY                                            0xFFFEFFFF
70#define   S_008008_RMI_BUSY(x)                                        (((unsigned)(x) & 0x1) << 17)
71#define   G_008008_RMI_BUSY(x)                                        (((x) >> 17) & 0x1)
72#define   C_008008_RMI_BUSY                                           0xFFFDFFFF
73#define   S_008008_UTCL2_RQ_PENDING(x)                                (((unsigned)(x) & 0x1) << 18)
74#define   G_008008_UTCL2_RQ_PENDING(x)                                (((x) >> 18) & 0x1)
75#define   C_008008_UTCL2_RQ_PENDING                                   0xFFFBFFFF
76#define   S_008008_CPF_RQ_PENDING(x)                                  (((unsigned)(x) & 0x1) << 19)
77#define   G_008008_CPF_RQ_PENDING(x)                                  (((x) >> 19) & 0x1)
78#define   C_008008_CPF_RQ_PENDING                                     0xFFF7FFFF
79#define   S_008008_EA_LINK_BUSY(x)                                    (((unsigned)(x) & 0x1) << 20)
80#define   G_008008_EA_LINK_BUSY(x)                                    (((x) >> 20) & 0x1)
81#define   C_008008_EA_LINK_BUSY                                       0xFFEFFFFF
82#define   S_008008_RLC_BUSY(x)                                        (((unsigned)(x) & 0x1) << 24)
83#define   G_008008_RLC_BUSY(x)                                        (((x) >> 24) & 0x1)
84#define   C_008008_RLC_BUSY                                           0xFEFFFFFF
85#define   S_008008_TC_BUSY(x)                                         (((unsigned)(x) & 0x1) << 25)
86#define   G_008008_TC_BUSY(x)                                         (((x) >> 25) & 0x1)
87#define   C_008008_TC_BUSY                                            0xFDFFFFFF
88#define   S_008008_TCC_CC_RESIDENT(x)                                 (((unsigned)(x) & 0x1) << 26)
89#define   G_008008_TCC_CC_RESIDENT(x)                                 (((x) >> 26) & 0x1)
90#define   C_008008_TCC_CC_RESIDENT                                    0xFBFFFFFF
91#define   S_008008_CPF_BUSY(x)                                        (((unsigned)(x) & 0x1) << 28)
92#define   G_008008_CPF_BUSY(x)                                        (((x) >> 28) & 0x1)
93#define   C_008008_CPF_BUSY                                           0xEFFFFFFF
94#define   S_008008_CPC_BUSY(x)                                        (((unsigned)(x) & 0x1) << 29)
95#define   G_008008_CPC_BUSY(x)                                        (((x) >> 29) & 0x1)
96#define   C_008008_CPC_BUSY                                           0xDFFFFFFF
97#define   S_008008_CPG_BUSY(x)                                        (((unsigned)(x) & 0x1) << 30)
98#define   G_008008_CPG_BUSY(x)                                        (((x) >> 30) & 0x1)
99#define   C_008008_CPG_BUSY                                           0xBFFFFFFF
100#define   S_008008_CPAXI_BUSY(x)                                      (((unsigned)(x) & 0x1) << 31)
101#define   G_008008_CPAXI_BUSY(x)                                      (((x) >> 31) & 0x1)
102#define   C_008008_CPAXI_BUSY                                         0x7FFFFFFF
103#define R_008010_GRBM_STATUS                                            0x008010
104#define   S_008010_ME0PIPE0_CMDFIFO_AVAIL(x)                          (((unsigned)(x) & 0x0F) << 0)
105#define   G_008010_ME0PIPE0_CMDFIFO_AVAIL(x)                          (((x) >> 0) & 0x0F)
106#define   C_008010_ME0PIPE0_CMDFIFO_AVAIL                             0xFFFFFFF0
107#define   S_008010_RSMU_RQ_PENDING(x)                                 (((unsigned)(x) & 0x1) << 5)
108#define   G_008010_RSMU_RQ_PENDING(x)                                 (((x) >> 5) & 0x1)
109#define   C_008010_RSMU_RQ_PENDING                                    0xFFFFFFDF
110#define   S_008010_ME0PIPE0_CF_RQ_PENDING(x)                          (((unsigned)(x) & 0x1) << 7)
111#define   G_008010_ME0PIPE0_CF_RQ_PENDING(x)                          (((x) >> 7) & 0x1)
112#define   C_008010_ME0PIPE0_CF_RQ_PENDING                             0xFFFFFF7F
113#define   S_008010_ME0PIPE0_PF_RQ_PENDING(x)                          (((unsigned)(x) & 0x1) << 8)
114#define   G_008010_ME0PIPE0_PF_RQ_PENDING(x)                          (((x) >> 8) & 0x1)
115#define   C_008010_ME0PIPE0_PF_RQ_PENDING                             0xFFFFFEFF
116#define   S_008010_GDS_DMA_RQ_PENDING(x)                              (((unsigned)(x) & 0x1) << 9)
117#define   G_008010_GDS_DMA_RQ_PENDING(x)                              (((x) >> 9) & 0x1)
118#define   C_008010_GDS_DMA_RQ_PENDING                                 0xFFFFFDFF
119#define   S_008010_DB_CLEAN(x)                                        (((unsigned)(x) & 0x1) << 12)
120#define   G_008010_DB_CLEAN(x)                                        (((x) >> 12) & 0x1)
121#define   C_008010_DB_CLEAN                                           0xFFFFEFFF
122#define   S_008010_CB_CLEAN(x)                                        (((unsigned)(x) & 0x1) << 13)
123#define   G_008010_CB_CLEAN(x)                                        (((x) >> 13) & 0x1)
124#define   C_008010_CB_CLEAN                                           0xFFFFDFFF
125#define   S_008010_TA_BUSY(x)                                         (((unsigned)(x) & 0x1) << 14)
126#define   G_008010_TA_BUSY(x)                                         (((x) >> 14) & 0x1)
127#define   C_008010_TA_BUSY                                            0xFFFFBFFF
128#define   S_008010_GDS_BUSY(x)                                        (((unsigned)(x) & 0x1) << 15)
129#define   G_008010_GDS_BUSY(x)                                        (((x) >> 15) & 0x1)
130#define   C_008010_GDS_BUSY                                           0xFFFF7FFF
131#define   S_008010_WD_BUSY_NO_DMA(x)                                  (((unsigned)(x) & 0x1) << 16)
132#define   G_008010_WD_BUSY_NO_DMA(x)                                  (((x) >> 16) & 0x1)
133#define   C_008010_WD_BUSY_NO_DMA                                     0xFFFEFFFF
134#define   S_008010_VGT_BUSY(x)                                        (((unsigned)(x) & 0x1) << 17)
135#define   G_008010_VGT_BUSY(x)                                        (((x) >> 17) & 0x1)
136#define   C_008010_VGT_BUSY                                           0xFFFDFFFF
137#define   S_008010_IA_BUSY_NO_DMA(x)                                  (((unsigned)(x) & 0x1) << 18)
138#define   G_008010_IA_BUSY_NO_DMA(x)                                  (((x) >> 18) & 0x1)
139#define   C_008010_IA_BUSY_NO_DMA                                     0xFFFBFFFF
140#define   S_008010_IA_BUSY(x)                                         (((unsigned)(x) & 0x1) << 19)
141#define   G_008010_IA_BUSY(x)                                         (((x) >> 19) & 0x1)
142#define   C_008010_IA_BUSY                                            0xFFF7FFFF
143#define   S_008010_SX_BUSY(x)                                         (((unsigned)(x) & 0x1) << 20)
144#define   G_008010_SX_BUSY(x)                                         (((x) >> 20) & 0x1)
145#define   C_008010_SX_BUSY                                            0xFFEFFFFF
146#define   S_008010_WD_BUSY(x)                                         (((unsigned)(x) & 0x1) << 21)
147#define   G_008010_WD_BUSY(x)                                         (((x) >> 21) & 0x1)
148#define   C_008010_WD_BUSY                                            0xFFDFFFFF
149#define   S_008010_SPI_BUSY(x)                                        (((unsigned)(x) & 0x1) << 22)
150#define   G_008010_SPI_BUSY(x)                                        (((x) >> 22) & 0x1)
151#define   C_008010_SPI_BUSY                                           0xFFBFFFFF
152#define   S_008010_BCI_BUSY(x)                                        (((unsigned)(x) & 0x1) << 23)
153#define   G_008010_BCI_BUSY(x)                                        (((x) >> 23) & 0x1)
154#define   C_008010_BCI_BUSY                                           0xFF7FFFFF
155#define   S_008010_SC_BUSY(x)                                         (((unsigned)(x) & 0x1) << 24)
156#define   G_008010_SC_BUSY(x)                                         (((x) >> 24) & 0x1)
157#define   C_008010_SC_BUSY                                            0xFEFFFFFF
158#define   S_008010_PA_BUSY(x)                                         (((unsigned)(x) & 0x1) << 25)
159#define   G_008010_PA_BUSY(x)                                         (((x) >> 25) & 0x1)
160#define   C_008010_PA_BUSY                                            0xFDFFFFFF
161#define   S_008010_DB_BUSY(x)                                         (((unsigned)(x) & 0x1) << 26)
162#define   G_008010_DB_BUSY(x)                                         (((x) >> 26) & 0x1)
163#define   C_008010_DB_BUSY                                            0xFBFFFFFF
164#define   S_008010_CP_COHERENCY_BUSY(x)                               (((unsigned)(x) & 0x1) << 28)
165#define   G_008010_CP_COHERENCY_BUSY(x)                               (((x) >> 28) & 0x1)
166#define   C_008010_CP_COHERENCY_BUSY                                  0xEFFFFFFF
167#define   S_008010_CP_BUSY(x)                                         (((unsigned)(x) & 0x1) << 29)
168#define   G_008010_CP_BUSY(x)                                         (((x) >> 29) & 0x1)
169#define   C_008010_CP_BUSY                                            0xDFFFFFFF
170#define   S_008010_CB_BUSY(x)                                         (((unsigned)(x) & 0x1) << 30)
171#define   G_008010_CB_BUSY(x)                                         (((x) >> 30) & 0x1)
172#define   C_008010_CB_BUSY                                            0xBFFFFFFF
173#define   S_008010_GUI_ACTIVE(x)                                      (((unsigned)(x) & 0x1) << 31)
174#define   G_008010_GUI_ACTIVE(x)                                      (((x) >> 31) & 0x1)
175#define   C_008010_GUI_ACTIVE                                         0x7FFFFFFF
176#define R_008014_GRBM_STATUS_SE0                                        0x008014
177#define   S_008014_DB_CLEAN(x)                                        (((unsigned)(x) & 0x1) << 1)
178#define   G_008014_DB_CLEAN(x)                                        (((x) >> 1) & 0x1)
179#define   C_008014_DB_CLEAN                                           0xFFFFFFFD
180#define   S_008014_CB_CLEAN(x)                                        (((unsigned)(x) & 0x1) << 2)
181#define   G_008014_CB_CLEAN(x)                                        (((x) >> 2) & 0x1)
182#define   C_008014_CB_CLEAN                                           0xFFFFFFFB
183#define   S_008014_RMI_BUSY(x)                                        (((unsigned)(x) & 0x1) << 21)
184#define   G_008014_RMI_BUSY(x)                                        (((x) >> 21) & 0x1)
185#define   C_008014_RMI_BUSY                                           0xFFDFFFFF
186#define   S_008014_BCI_BUSY(x)                                        (((unsigned)(x) & 0x1) << 22)
187#define   G_008014_BCI_BUSY(x)                                        (((x) >> 22) & 0x1)
188#define   C_008014_BCI_BUSY                                           0xFFBFFFFF
189#define   S_008014_VGT_BUSY(x)                                        (((unsigned)(x) & 0x1) << 23)
190#define   G_008014_VGT_BUSY(x)                                        (((x) >> 23) & 0x1)
191#define   C_008014_VGT_BUSY                                           0xFF7FFFFF
192#define   S_008014_PA_BUSY(x)                                         (((unsigned)(x) & 0x1) << 24)
193#define   G_008014_PA_BUSY(x)                                         (((x) >> 24) & 0x1)
194#define   C_008014_PA_BUSY                                            0xFEFFFFFF
195#define   S_008014_TA_BUSY(x)                                         (((unsigned)(x) & 0x1) << 25)
196#define   G_008014_TA_BUSY(x)                                         (((x) >> 25) & 0x1)
197#define   C_008014_TA_BUSY                                            0xFDFFFFFF
198#define   S_008014_SX_BUSY(x)                                         (((unsigned)(x) & 0x1) << 26)
199#define   G_008014_SX_BUSY(x)                                         (((x) >> 26) & 0x1)
200#define   C_008014_SX_BUSY                                            0xFBFFFFFF
201#define   S_008014_SPI_BUSY(x)                                        (((unsigned)(x) & 0x1) << 27)
202#define   G_008014_SPI_BUSY(x)                                        (((x) >> 27) & 0x1)
203#define   C_008014_SPI_BUSY                                           0xF7FFFFFF
204#define   S_008014_SC_BUSY(x)                                         (((unsigned)(x) & 0x1) << 29)
205#define   G_008014_SC_BUSY(x)                                         (((x) >> 29) & 0x1)
206#define   C_008014_SC_BUSY                                            0xDFFFFFFF
207#define   S_008014_DB_BUSY(x)                                         (((unsigned)(x) & 0x1) << 30)
208#define   G_008014_DB_BUSY(x)                                         (((x) >> 30) & 0x1)
209#define   C_008014_DB_BUSY                                            0xBFFFFFFF
210#define   S_008014_CB_BUSY(x)                                         (((unsigned)(x) & 0x1) << 31)
211#define   G_008014_CB_BUSY(x)                                         (((x) >> 31) & 0x1)
212#define   C_008014_CB_BUSY                                            0x7FFFFFFF
213#define R_008018_GRBM_STATUS_SE1                                        0x008018
214#define   S_008018_DB_CLEAN(x)                                        (((unsigned)(x) & 0x1) << 1)
215#define   G_008018_DB_CLEAN(x)                                        (((x) >> 1) & 0x1)
216#define   C_008018_DB_CLEAN                                           0xFFFFFFFD
217#define   S_008018_CB_CLEAN(x)                                        (((unsigned)(x) & 0x1) << 2)
218#define   G_008018_CB_CLEAN(x)                                        (((x) >> 2) & 0x1)
219#define   C_008018_CB_CLEAN                                           0xFFFFFFFB
220#define   S_008018_RMI_BUSY(x)                                        (((unsigned)(x) & 0x1) << 21)
221#define   G_008018_RMI_BUSY(x)                                        (((x) >> 21) & 0x1)
222#define   C_008018_RMI_BUSY                                           0xFFDFFFFF
223#define   S_008018_BCI_BUSY(x)                                        (((unsigned)(x) & 0x1) << 22)
224#define   G_008018_BCI_BUSY(x)                                        (((x) >> 22) & 0x1)
225#define   C_008018_BCI_BUSY                                           0xFFBFFFFF
226#define   S_008018_VGT_BUSY(x)                                        (((unsigned)(x) & 0x1) << 23)
227#define   G_008018_VGT_BUSY(x)                                        (((x) >> 23) & 0x1)
228#define   C_008018_VGT_BUSY                                           0xFF7FFFFF
229#define   S_008018_PA_BUSY(x)                                         (((unsigned)(x) & 0x1) << 24)
230#define   G_008018_PA_BUSY(x)                                         (((x) >> 24) & 0x1)
231#define   C_008018_PA_BUSY                                            0xFEFFFFFF
232#define   S_008018_TA_BUSY(x)                                         (((unsigned)(x) & 0x1) << 25)
233#define   G_008018_TA_BUSY(x)                                         (((x) >> 25) & 0x1)
234#define   C_008018_TA_BUSY                                            0xFDFFFFFF
235#define   S_008018_SX_BUSY(x)                                         (((unsigned)(x) & 0x1) << 26)
236#define   G_008018_SX_BUSY(x)                                         (((x) >> 26) & 0x1)
237#define   C_008018_SX_BUSY                                            0xFBFFFFFF
238#define   S_008018_SPI_BUSY(x)                                        (((unsigned)(x) & 0x1) << 27)
239#define   G_008018_SPI_BUSY(x)                                        (((x) >> 27) & 0x1)
240#define   C_008018_SPI_BUSY                                           0xF7FFFFFF
241#define   S_008018_SC_BUSY(x)                                         (((unsigned)(x) & 0x1) << 29)
242#define   G_008018_SC_BUSY(x)                                         (((x) >> 29) & 0x1)
243#define   C_008018_SC_BUSY                                            0xDFFFFFFF
244#define   S_008018_DB_BUSY(x)                                         (((unsigned)(x) & 0x1) << 30)
245#define   G_008018_DB_BUSY(x)                                         (((x) >> 30) & 0x1)
246#define   C_008018_DB_BUSY                                            0xBFFFFFFF
247#define   S_008018_CB_BUSY(x)                                         (((unsigned)(x) & 0x1) << 31)
248#define   G_008018_CB_BUSY(x)                                         (((x) >> 31) & 0x1)
249#define   C_008018_CB_BUSY                                            0x7FFFFFFF
250#define R_008038_GRBM_STATUS_SE2                                        0x008038
251#define   S_008038_DB_CLEAN(x)                                        (((unsigned)(x) & 0x1) << 1)
252#define   G_008038_DB_CLEAN(x)                                        (((x) >> 1) & 0x1)
253#define   C_008038_DB_CLEAN                                           0xFFFFFFFD
254#define   S_008038_CB_CLEAN(x)                                        (((unsigned)(x) & 0x1) << 2)
255#define   G_008038_CB_CLEAN(x)                                        (((x) >> 2) & 0x1)
256#define   C_008038_CB_CLEAN                                           0xFFFFFFFB
257#define   S_008038_RMI_BUSY(x)                                        (((unsigned)(x) & 0x1) << 21)
258#define   G_008038_RMI_BUSY(x)                                        (((x) >> 21) & 0x1)
259#define   C_008038_RMI_BUSY                                           0xFFDFFFFF
260#define   S_008038_BCI_BUSY(x)                                        (((unsigned)(x) & 0x1) << 22)
261#define   G_008038_BCI_BUSY(x)                                        (((x) >> 22) & 0x1)
262#define   C_008038_BCI_BUSY                                           0xFFBFFFFF
263#define   S_008038_VGT_BUSY(x)                                        (((unsigned)(x) & 0x1) << 23)
264#define   G_008038_VGT_BUSY(x)                                        (((x) >> 23) & 0x1)
265#define   C_008038_VGT_BUSY                                           0xFF7FFFFF
266#define   S_008038_PA_BUSY(x)                                         (((unsigned)(x) & 0x1) << 24)
267#define   G_008038_PA_BUSY(x)                                         (((x) >> 24) & 0x1)
268#define   C_008038_PA_BUSY                                            0xFEFFFFFF
269#define   S_008038_TA_BUSY(x)                                         (((unsigned)(x) & 0x1) << 25)
270#define   G_008038_TA_BUSY(x)                                         (((x) >> 25) & 0x1)
271#define   C_008038_TA_BUSY                                            0xFDFFFFFF
272#define   S_008038_SX_BUSY(x)                                         (((unsigned)(x) & 0x1) << 26)
273#define   G_008038_SX_BUSY(x)                                         (((x) >> 26) & 0x1)
274#define   C_008038_SX_BUSY                                            0xFBFFFFFF
275#define   S_008038_SPI_BUSY(x)                                        (((unsigned)(x) & 0x1) << 27)
276#define   G_008038_SPI_BUSY(x)                                        (((x) >> 27) & 0x1)
277#define   C_008038_SPI_BUSY                                           0xF7FFFFFF
278#define   S_008038_SC_BUSY(x)                                         (((unsigned)(x) & 0x1) << 29)
279#define   G_008038_SC_BUSY(x)                                         (((x) >> 29) & 0x1)
280#define   C_008038_SC_BUSY                                            0xDFFFFFFF
281#define   S_008038_DB_BUSY(x)                                         (((unsigned)(x) & 0x1) << 30)
282#define   G_008038_DB_BUSY(x)                                         (((x) >> 30) & 0x1)
283#define   C_008038_DB_BUSY                                            0xBFFFFFFF
284#define   S_008038_CB_BUSY(x)                                         (((unsigned)(x) & 0x1) << 31)
285#define   G_008038_CB_BUSY(x)                                         (((x) >> 31) & 0x1)
286#define   C_008038_CB_BUSY                                            0x7FFFFFFF
287#define R_00803C_GRBM_STATUS_SE3                                        0x00803C
288#define   S_00803C_DB_CLEAN(x)                                        (((unsigned)(x) & 0x1) << 1)
289#define   G_00803C_DB_CLEAN(x)                                        (((x) >> 1) & 0x1)
290#define   C_00803C_DB_CLEAN                                           0xFFFFFFFD
291#define   S_00803C_CB_CLEAN(x)                                        (((unsigned)(x) & 0x1) << 2)
292#define   G_00803C_CB_CLEAN(x)                                        (((x) >> 2) & 0x1)
293#define   C_00803C_CB_CLEAN                                           0xFFFFFFFB
294#define   S_00803C_RMI_BUSY(x)                                        (((unsigned)(x) & 0x1) << 21)
295#define   G_00803C_RMI_BUSY(x)                                        (((x) >> 21) & 0x1)
296#define   C_00803C_RMI_BUSY                                           0xFFDFFFFF
297#define   S_00803C_BCI_BUSY(x)                                        (((unsigned)(x) & 0x1) << 22)
298#define   G_00803C_BCI_BUSY(x)                                        (((x) >> 22) & 0x1)
299#define   C_00803C_BCI_BUSY                                           0xFFBFFFFF
300#define   S_00803C_VGT_BUSY(x)                                        (((unsigned)(x) & 0x1) << 23)
301#define   G_00803C_VGT_BUSY(x)                                        (((x) >> 23) & 0x1)
302#define   C_00803C_VGT_BUSY                                           0xFF7FFFFF
303#define   S_00803C_PA_BUSY(x)                                         (((unsigned)(x) & 0x1) << 24)
304#define   G_00803C_PA_BUSY(x)                                         (((x) >> 24) & 0x1)
305#define   C_00803C_PA_BUSY                                            0xFEFFFFFF
306#define   S_00803C_TA_BUSY(x)                                         (((unsigned)(x) & 0x1) << 25)
307#define   G_00803C_TA_BUSY(x)                                         (((x) >> 25) & 0x1)
308#define   C_00803C_TA_BUSY                                            0xFDFFFFFF
309#define   S_00803C_SX_BUSY(x)                                         (((unsigned)(x) & 0x1) << 26)
310#define   G_00803C_SX_BUSY(x)                                         (((x) >> 26) & 0x1)
311#define   C_00803C_SX_BUSY                                            0xFBFFFFFF
312#define   S_00803C_SPI_BUSY(x)                                        (((unsigned)(x) & 0x1) << 27)
313#define   G_00803C_SPI_BUSY(x)                                        (((x) >> 27) & 0x1)
314#define   C_00803C_SPI_BUSY                                           0xF7FFFFFF
315#define   S_00803C_SC_BUSY(x)                                         (((unsigned)(x) & 0x1) << 29)
316#define   G_00803C_SC_BUSY(x)                                         (((x) >> 29) & 0x1)
317#define   C_00803C_SC_BUSY                                            0xDFFFFFFF
318#define   S_00803C_DB_BUSY(x)                                         (((unsigned)(x) & 0x1) << 30)
319#define   G_00803C_DB_BUSY(x)                                         (((x) >> 30) & 0x1)
320#define   C_00803C_DB_BUSY                                            0xBFFFFFFF
321#define   S_00803C_CB_BUSY(x)                                         (((unsigned)(x) & 0x1) << 31)
322#define   G_00803C_CB_BUSY(x)                                         (((x) >> 31) & 0x1)
323#define   C_00803C_CB_BUSY                                            0x7FFFFFFF
324#define R_0300FC_CP_STRMOUT_CNTL                                        0x0300FC
325#define   S_0300FC_OFFSET_UPDATE_DONE(x)                              (((unsigned)(x) & 0x1) << 0)
326#define   G_0300FC_OFFSET_UPDATE_DONE(x)                              (((x) >> 0) & 0x1)
327#define   C_0300FC_OFFSET_UPDATE_DONE                                 0xFFFFFFFE
328#define R_0301E4_CP_COHER_BASE_HI                                       0x0301E4
329#define   S_0301E4_COHER_BASE_HI_256B(x)                              (((unsigned)(x) & 0xFF) << 0)
330#define   G_0301E4_COHER_BASE_HI_256B(x)                              (((x) >> 0) & 0xFF)
331#define   C_0301E4_COHER_BASE_HI_256B                                 0xFFFFFF00
332#define R_0301EC_CP_COHER_START_DELAY                                   0x0301EC
333#define   S_0301EC_START_DELAY_COUNT(x)                               (((unsigned)(x) & 0x3F) << 0)
334#define   G_0301EC_START_DELAY_COUNT(x)                               (((x) >> 0) & 0x3F)
335#define   C_0301EC_START_DELAY_COUNT                                  0xFFFFFFC0
336#define R_0301F0_CP_COHER_CNTL                                          0x0301F0
337#define   S_0301F0_TC_NC_ACTION_ENA(x)                                (((unsigned)(x) & 0x1) << 3)
338#define   G_0301F0_TC_NC_ACTION_ENA(x)                                (((x) >> 3) & 0x1)
339#define   C_0301F0_TC_NC_ACTION_ENA                                   0xFFFFFFF7
340#define   S_0301F0_TC_WC_ACTION_ENA(x)                                (((unsigned)(x) & 0x1) << 4)
341#define   G_0301F0_TC_WC_ACTION_ENA(x)                                (((x) >> 4) & 0x1)
342#define   C_0301F0_TC_WC_ACTION_ENA                                   0xFFFFFFEF
343#define   S_0301F0_TC_INV_METADATA_ACTION_ENA(x)                      (((unsigned)(x) & 0x1) << 5)
344#define   G_0301F0_TC_INV_METADATA_ACTION_ENA(x)                      (((x) >> 5) & 0x1)
345#define   C_0301F0_TC_INV_METADATA_ACTION_ENA                         0xFFFFFFDF
346#define   S_0301F0_TCL1_VOL_ACTION_ENA(x)                             (((unsigned)(x) & 0x1) << 15)
347#define   G_0301F0_TCL1_VOL_ACTION_ENA(x)                             (((x) >> 15) & 0x1)
348#define   C_0301F0_TCL1_VOL_ACTION_ENA                                0xFFFF7FFF
349#define   S_0301F0_TC_WB_ACTION_ENA(x)                                (((unsigned)(x) & 0x1) << 18)
350#define   G_0301F0_TC_WB_ACTION_ENA(x)                                (((x) >> 18) & 0x1)
351#define   C_0301F0_TC_WB_ACTION_ENA                                   0xFFFBFFFF
352#define   S_0301F0_TCL1_ACTION_ENA(x)                                 (((unsigned)(x) & 0x1) << 22)
353#define   G_0301F0_TCL1_ACTION_ENA(x)                                 (((x) >> 22) & 0x1)
354#define   C_0301F0_TCL1_ACTION_ENA                                    0xFFBFFFFF
355#define   S_0301F0_TC_ACTION_ENA(x)                                   (((unsigned)(x) & 0x1) << 23)
356#define   G_0301F0_TC_ACTION_ENA(x)                                   (((x) >> 23) & 0x1)
357#define   C_0301F0_TC_ACTION_ENA                                      0xFF7FFFFF
358#define   S_0301F0_CB_ACTION_ENA(x)                                   (((unsigned)(x) & 0x1) << 25)
359#define   G_0301F0_CB_ACTION_ENA(x)                                   (((x) >> 25) & 0x1)
360#define   C_0301F0_CB_ACTION_ENA                                      0xFDFFFFFF
361#define   S_0301F0_DB_ACTION_ENA(x)                                   (((unsigned)(x) & 0x1) << 26)
362#define   G_0301F0_DB_ACTION_ENA(x)                                   (((x) >> 26) & 0x1)
363#define   C_0301F0_DB_ACTION_ENA                                      0xFBFFFFFF
364#define   S_0301F0_SH_KCACHE_ACTION_ENA(x)                            (((unsigned)(x) & 0x1) << 27)
365#define   G_0301F0_SH_KCACHE_ACTION_ENA(x)                            (((x) >> 27) & 0x1)
366#define   C_0301F0_SH_KCACHE_ACTION_ENA                               0xF7FFFFFF
367#define   S_0301F0_SH_KCACHE_VOL_ACTION_ENA(x)                        (((unsigned)(x) & 0x1) << 28)
368#define   G_0301F0_SH_KCACHE_VOL_ACTION_ENA(x)                        (((x) >> 28) & 0x1)
369#define   C_0301F0_SH_KCACHE_VOL_ACTION_ENA                           0xEFFFFFFF
370#define   S_0301F0_SH_ICACHE_ACTION_ENA(x)                            (((unsigned)(x) & 0x1) << 29)
371#define   G_0301F0_SH_ICACHE_ACTION_ENA(x)                            (((x) >> 29) & 0x1)
372#define   C_0301F0_SH_ICACHE_ACTION_ENA                               0xDFFFFFFF
373#define   S_0301F0_SH_KCACHE_WB_ACTION_ENA(x)                         (((unsigned)(x) & 0x1) << 30)
374#define   G_0301F0_SH_KCACHE_WB_ACTION_ENA(x)                         (((x) >> 30) & 0x1)
375#define   C_0301F0_SH_KCACHE_WB_ACTION_ENA                            0xBFFFFFFF
376#define R_0301F4_CP_COHER_SIZE                                          0x0301F4
377#define R_0301F8_CP_COHER_BASE                                          0x0301F8
378#define R_0301FC_CP_COHER_STATUS                                        0x0301FC
379#define   S_0301FC_MEID(x)                                            (((unsigned)(x) & 0x03) << 24)
380#define   G_0301FC_MEID(x)                                            (((x) >> 24) & 0x03)
381#define   C_0301FC_MEID                                               0xFCFFFFFF
382#define   S_0301FC_STATUS(x)                                          (((unsigned)(x) & 0x1) << 31)
383#define   G_0301FC_STATUS(x)                                          (((x) >> 31) & 0x1)
384#define   C_0301FC_STATUS                                             0x7FFFFFFF
385#define R_008210_CP_CPC_STATUS                                          0x008210
386#define   S_008210_MEC1_BUSY(x)                                       (((unsigned)(x) & 0x1) << 0)
387#define   G_008210_MEC1_BUSY(x)                                       (((x) >> 0) & 0x1)
388#define   C_008210_MEC1_BUSY                                          0xFFFFFFFE
389#define   S_008210_MEC2_BUSY(x)                                       (((unsigned)(x) & 0x1) << 1)
390#define   G_008210_MEC2_BUSY(x)                                       (((x) >> 1) & 0x1)
391#define   C_008210_MEC2_BUSY                                          0xFFFFFFFD
392#define   S_008210_DC0_BUSY(x)                                        (((unsigned)(x) & 0x1) << 2)
393#define   G_008210_DC0_BUSY(x)                                        (((x) >> 2) & 0x1)
394#define   C_008210_DC0_BUSY                                           0xFFFFFFFB
395#define   S_008210_DC1_BUSY(x)                                        (((unsigned)(x) & 0x1) << 3)
396#define   G_008210_DC1_BUSY(x)                                        (((x) >> 3) & 0x1)
397#define   C_008210_DC1_BUSY                                           0xFFFFFFF7
398#define   S_008210_RCIU1_BUSY(x)                                      (((unsigned)(x) & 0x1) << 4)
399#define   G_008210_RCIU1_BUSY(x)                                      (((x) >> 4) & 0x1)
400#define   C_008210_RCIU1_BUSY                                         0xFFFFFFEF
401#define   S_008210_RCIU2_BUSY(x)                                      (((unsigned)(x) & 0x1) << 5)
402#define   G_008210_RCIU2_BUSY(x)                                      (((x) >> 5) & 0x1)
403#define   C_008210_RCIU2_BUSY                                         0xFFFFFFDF
404#define   S_008210_ROQ1_BUSY(x)                                       (((unsigned)(x) & 0x1) << 6)
405#define   G_008210_ROQ1_BUSY(x)                                       (((x) >> 6) & 0x1)
406#define   C_008210_ROQ1_BUSY                                          0xFFFFFFBF
407#define   S_008210_ROQ2_BUSY(x)                                       (((unsigned)(x) & 0x1) << 7)
408#define   G_008210_ROQ2_BUSY(x)                                       (((x) >> 7) & 0x1)
409#define   C_008210_ROQ2_BUSY                                          0xFFFFFF7F
410#define   S_008210_TCIU_BUSY(x)                                       (((unsigned)(x) & 0x1) << 10)
411#define   G_008210_TCIU_BUSY(x)                                       (((x) >> 10) & 0x1)
412#define   C_008210_TCIU_BUSY                                          0xFFFFFBFF
413#define   S_008210_SCRATCH_RAM_BUSY(x)                                (((unsigned)(x) & 0x1) << 11)
414#define   G_008210_SCRATCH_RAM_BUSY(x)                                (((x) >> 11) & 0x1)
415#define   C_008210_SCRATCH_RAM_BUSY                                   0xFFFFF7FF
416#define   S_008210_QU_BUSY(x)                                         (((unsigned)(x) & 0x1) << 12)
417#define   G_008210_QU_BUSY(x)                                         (((x) >> 12) & 0x1)
418#define   C_008210_QU_BUSY                                            0xFFFFEFFF
419#define   S_008210_UTCL2IU_BUSY(x)                                    (((unsigned)(x) & 0x1) << 13)
420#define   G_008210_UTCL2IU_BUSY(x)                                    (((x) >> 13) & 0x1)
421#define   C_008210_UTCL2IU_BUSY                                       0xFFFFDFFF
422#define   S_008210_SAVE_RESTORE_BUSY(x)                               (((unsigned)(x) & 0x1) << 14)
423#define   G_008210_SAVE_RESTORE_BUSY(x)                               (((x) >> 14) & 0x1)
424#define   C_008210_SAVE_RESTORE_BUSY                                  0xFFFFBFFF
425#define   S_008210_CPG_CPC_BUSY(x)                                    (((unsigned)(x) & 0x1) << 29)
426#define   G_008210_CPG_CPC_BUSY(x)                                    (((x) >> 29) & 0x1)
427#define   C_008210_CPG_CPC_BUSY                                       0xDFFFFFFF
428#define   S_008210_CPF_CPC_BUSY(x)                                    (((unsigned)(x) & 0x1) << 30)
429#define   G_008210_CPF_CPC_BUSY(x)                                    (((x) >> 30) & 0x1)
430#define   C_008210_CPF_CPC_BUSY                                       0xBFFFFFFF
431#define   S_008210_CPC_BUSY(x)                                        (((unsigned)(x) & 0x1) << 31)
432#define   G_008210_CPC_BUSY(x)                                        (((x) >> 31) & 0x1)
433#define   C_008210_CPC_BUSY                                           0x7FFFFFFF
434#define R_008214_CP_CPC_BUSY_STAT                                       0x008214
435#define   S_008214_MEC1_LOAD_BUSY(x)                                  (((unsigned)(x) & 0x1) << 0)
436#define   G_008214_MEC1_LOAD_BUSY(x)                                  (((x) >> 0) & 0x1)
437#define   C_008214_MEC1_LOAD_BUSY                                     0xFFFFFFFE
438#define   S_008214_MEC1_SEMAPOHRE_BUSY(x)                             (((unsigned)(x) & 0x1) << 1)
439#define   G_008214_MEC1_SEMAPOHRE_BUSY(x)                             (((x) >> 1) & 0x1)
440#define   C_008214_MEC1_SEMAPOHRE_BUSY                                0xFFFFFFFD
441#define   S_008214_MEC1_MUTEX_BUSY(x)                                 (((unsigned)(x) & 0x1) << 2)
442#define   G_008214_MEC1_MUTEX_BUSY(x)                                 (((x) >> 2) & 0x1)
443#define   C_008214_MEC1_MUTEX_BUSY                                    0xFFFFFFFB
444#define   S_008214_MEC1_MESSAGE_BUSY(x)                               (((unsigned)(x) & 0x1) << 3)
445#define   G_008214_MEC1_MESSAGE_BUSY(x)                               (((x) >> 3) & 0x1)
446#define   C_008214_MEC1_MESSAGE_BUSY                                  0xFFFFFFF7
447#define   S_008214_MEC1_EOP_QUEUE_BUSY(x)                             (((unsigned)(x) & 0x1) << 4)
448#define   G_008214_MEC1_EOP_QUEUE_BUSY(x)                             (((x) >> 4) & 0x1)
449#define   C_008214_MEC1_EOP_QUEUE_BUSY                                0xFFFFFFEF
450#define   S_008214_MEC1_IQ_QUEUE_BUSY(x)                              (((unsigned)(x) & 0x1) << 5)
451#define   G_008214_MEC1_IQ_QUEUE_BUSY(x)                              (((x) >> 5) & 0x1)
452#define   C_008214_MEC1_IQ_QUEUE_BUSY                                 0xFFFFFFDF
453#define   S_008214_MEC1_IB_QUEUE_BUSY(x)                              (((unsigned)(x) & 0x1) << 6)
454#define   G_008214_MEC1_IB_QUEUE_BUSY(x)                              (((x) >> 6) & 0x1)
455#define   C_008214_MEC1_IB_QUEUE_BUSY                                 0xFFFFFFBF
456#define   S_008214_MEC1_TC_BUSY(x)                                    (((unsigned)(x) & 0x1) << 7)
457#define   G_008214_MEC1_TC_BUSY(x)                                    (((x) >> 7) & 0x1)
458#define   C_008214_MEC1_TC_BUSY                                       0xFFFFFF7F
459#define   S_008214_MEC1_DMA_BUSY(x)                                   (((unsigned)(x) & 0x1) << 8)
460#define   G_008214_MEC1_DMA_BUSY(x)                                   (((x) >> 8) & 0x1)
461#define   C_008214_MEC1_DMA_BUSY                                      0xFFFFFEFF
462#define   S_008214_MEC1_PARTIAL_FLUSH_BUSY(x)                         (((unsigned)(x) & 0x1) << 9)
463#define   G_008214_MEC1_PARTIAL_FLUSH_BUSY(x)                         (((x) >> 9) & 0x1)
464#define   C_008214_MEC1_PARTIAL_FLUSH_BUSY                            0xFFFFFDFF
465#define   S_008214_MEC1_PIPE0_BUSY(x)                                 (((unsigned)(x) & 0x1) << 10)
466#define   G_008214_MEC1_PIPE0_BUSY(x)                                 (((x) >> 10) & 0x1)
467#define   C_008214_MEC1_PIPE0_BUSY                                    0xFFFFFBFF
468#define   S_008214_MEC1_PIPE1_BUSY(x)                                 (((unsigned)(x) & 0x1) << 11)
469#define   G_008214_MEC1_PIPE1_BUSY(x)                                 (((x) >> 11) & 0x1)
470#define   C_008214_MEC1_PIPE1_BUSY                                    0xFFFFF7FF
471#define   S_008214_MEC1_PIPE2_BUSY(x)                                 (((unsigned)(x) & 0x1) << 12)
472#define   G_008214_MEC1_PIPE2_BUSY(x)                                 (((x) >> 12) & 0x1)
473#define   C_008214_MEC1_PIPE2_BUSY                                    0xFFFFEFFF
474#define   S_008214_MEC1_PIPE3_BUSY(x)                                 (((unsigned)(x) & 0x1) << 13)
475#define   G_008214_MEC1_PIPE3_BUSY(x)                                 (((x) >> 13) & 0x1)
476#define   C_008214_MEC1_PIPE3_BUSY                                    0xFFFFDFFF
477#define   S_008214_MEC2_LOAD_BUSY(x)                                  (((unsigned)(x) & 0x1) << 16)
478#define   G_008214_MEC2_LOAD_BUSY(x)                                  (((x) >> 16) & 0x1)
479#define   C_008214_MEC2_LOAD_BUSY                                     0xFFFEFFFF
480#define   S_008214_MEC2_SEMAPOHRE_BUSY(x)                             (((unsigned)(x) & 0x1) << 17)
481#define   G_008214_MEC2_SEMAPOHRE_BUSY(x)                             (((x) >> 17) & 0x1)
482#define   C_008214_MEC2_SEMAPOHRE_BUSY                                0xFFFDFFFF
483#define   S_008214_MEC2_MUTEX_BUSY(x)                                 (((unsigned)(x) & 0x1) << 18)
484#define   G_008214_MEC2_MUTEX_BUSY(x)                                 (((x) >> 18) & 0x1)
485#define   C_008214_MEC2_MUTEX_BUSY                                    0xFFFBFFFF
486#define   S_008214_MEC2_MESSAGE_BUSY(x)                               (((unsigned)(x) & 0x1) << 19)
487#define   G_008214_MEC2_MESSAGE_BUSY(x)                               (((x) >> 19) & 0x1)
488#define   C_008214_MEC2_MESSAGE_BUSY                                  0xFFF7FFFF
489#define   S_008214_MEC2_EOP_QUEUE_BUSY(x)                             (((unsigned)(x) & 0x1) << 20)
490#define   G_008214_MEC2_EOP_QUEUE_BUSY(x)                             (((x) >> 20) & 0x1)
491#define   C_008214_MEC2_EOP_QUEUE_BUSY                                0xFFEFFFFF
492#define   S_008214_MEC2_IQ_QUEUE_BUSY(x)                              (((unsigned)(x) & 0x1) << 21)
493#define   G_008214_MEC2_IQ_QUEUE_BUSY(x)                              (((x) >> 21) & 0x1)
494#define   C_008214_MEC2_IQ_QUEUE_BUSY                                 0xFFDFFFFF
495#define   S_008214_MEC2_IB_QUEUE_BUSY(x)                              (((unsigned)(x) & 0x1) << 22)
496#define   G_008214_MEC2_IB_QUEUE_BUSY(x)                              (((x) >> 22) & 0x1)
497#define   C_008214_MEC2_IB_QUEUE_BUSY                                 0xFFBFFFFF
498#define   S_008214_MEC2_TC_BUSY(x)                                    (((unsigned)(x) & 0x1) << 23)
499#define   G_008214_MEC2_TC_BUSY(x)                                    (((x) >> 23) & 0x1)
500#define   C_008214_MEC2_TC_BUSY                                       0xFF7FFFFF
501#define   S_008214_MEC2_DMA_BUSY(x)                                   (((unsigned)(x) & 0x1) << 24)
502#define   G_008214_MEC2_DMA_BUSY(x)                                   (((x) >> 24) & 0x1)
503#define   C_008214_MEC2_DMA_BUSY                                      0xFEFFFFFF
504#define   S_008214_MEC2_PARTIAL_FLUSH_BUSY(x)                         (((unsigned)(x) & 0x1) << 25)
505#define   G_008214_MEC2_PARTIAL_FLUSH_BUSY(x)                         (((x) >> 25) & 0x1)
506#define   C_008214_MEC2_PARTIAL_FLUSH_BUSY                            0xFDFFFFFF
507#define   S_008214_MEC2_PIPE0_BUSY(x)                                 (((unsigned)(x) & 0x1) << 26)
508#define   G_008214_MEC2_PIPE0_BUSY(x)                                 (((x) >> 26) & 0x1)
509#define   C_008214_MEC2_PIPE0_BUSY                                    0xFBFFFFFF
510#define   S_008214_MEC2_PIPE1_BUSY(x)                                 (((unsigned)(x) & 0x1) << 27)
511#define   G_008214_MEC2_PIPE1_BUSY(x)                                 (((x) >> 27) & 0x1)
512#define   C_008214_MEC2_PIPE1_BUSY                                    0xF7FFFFFF
513#define   S_008214_MEC2_PIPE2_BUSY(x)                                 (((unsigned)(x) & 0x1) << 28)
514#define   G_008214_MEC2_PIPE2_BUSY(x)                                 (((x) >> 28) & 0x1)
515#define   C_008214_MEC2_PIPE2_BUSY                                    0xEFFFFFFF
516#define   S_008214_MEC2_PIPE3_BUSY(x)                                 (((unsigned)(x) & 0x1) << 29)
517#define   G_008214_MEC2_PIPE3_BUSY(x)                                 (((x) >> 29) & 0x1)
518#define   C_008214_MEC2_PIPE3_BUSY                                    0xDFFFFFFF
519#define R_008218_CP_CPC_STALLED_STAT1                                   0x008218
520#define   S_008218_RCIU_TX_FREE_STALL(x)                              (((unsigned)(x) & 0x1) << 3)
521#define   G_008218_RCIU_TX_FREE_STALL(x)                              (((x) >> 3) & 0x1)
522#define   C_008218_RCIU_TX_FREE_STALL                                 0xFFFFFFF7
523#define   S_008218_RCIU_PRIV_VIOLATION(x)                             (((unsigned)(x) & 0x1) << 4)
524#define   G_008218_RCIU_PRIV_VIOLATION(x)                             (((x) >> 4) & 0x1)
525#define   C_008218_RCIU_PRIV_VIOLATION                                0xFFFFFFEF
526#define   S_008218_TCIU_TX_FREE_STALL(x)                              (((unsigned)(x) & 0x1) << 6)
527#define   G_008218_TCIU_TX_FREE_STALL(x)                              (((x) >> 6) & 0x1)
528#define   C_008218_TCIU_TX_FREE_STALL                                 0xFFFFFFBF
529#define   S_008218_MEC1_DECODING_PACKET(x)                            (((unsigned)(x) & 0x1) << 8)
530#define   G_008218_MEC1_DECODING_PACKET(x)                            (((x) >> 8) & 0x1)
531#define   C_008218_MEC1_DECODING_PACKET                               0xFFFFFEFF
532#define   S_008218_MEC1_WAIT_ON_RCIU(x)                               (((unsigned)(x) & 0x1) << 9)
533#define   G_008218_MEC1_WAIT_ON_RCIU(x)                               (((x) >> 9) & 0x1)
534#define   C_008218_MEC1_WAIT_ON_RCIU                                  0xFFFFFDFF
535#define   S_008218_MEC1_WAIT_ON_RCIU_READ(x)                          (((unsigned)(x) & 0x1) << 10)
536#define   G_008218_MEC1_WAIT_ON_RCIU_READ(x)                          (((x) >> 10) & 0x1)
537#define   C_008218_MEC1_WAIT_ON_RCIU_READ                             0xFFFFFBFF
538#define   S_008218_MEC1_WAIT_ON_ROQ_DATA(x)                           (((unsigned)(x) & 0x1) << 13)
539#define   G_008218_MEC1_WAIT_ON_ROQ_DATA(x)                           (((x) >> 13) & 0x1)
540#define   C_008218_MEC1_WAIT_ON_ROQ_DATA                              0xFFFFDFFF
541#define   S_008218_MEC2_DECODING_PACKET(x)                            (((unsigned)(x) & 0x1) << 16)
542#define   G_008218_MEC2_DECODING_PACKET(x)                            (((x) >> 16) & 0x1)
543#define   C_008218_MEC2_DECODING_PACKET                               0xFFFEFFFF
544#define   S_008218_MEC2_WAIT_ON_RCIU(x)                               (((unsigned)(x) & 0x1) << 17)
545#define   G_008218_MEC2_WAIT_ON_RCIU(x)                               (((x) >> 17) & 0x1)
546#define   C_008218_MEC2_WAIT_ON_RCIU                                  0xFFFDFFFF
547#define   S_008218_MEC2_WAIT_ON_RCIU_READ(x)                          (((unsigned)(x) & 0x1) << 18)
548#define   G_008218_MEC2_WAIT_ON_RCIU_READ(x)                          (((x) >> 18) & 0x1)
549#define   C_008218_MEC2_WAIT_ON_RCIU_READ                             0xFFFBFFFF
550#define   S_008218_MEC2_WAIT_ON_ROQ_DATA(x)                           (((unsigned)(x) & 0x1) << 21)
551#define   G_008218_MEC2_WAIT_ON_ROQ_DATA(x)                           (((x) >> 21) & 0x1)
552#define   C_008218_MEC2_WAIT_ON_ROQ_DATA                              0xFFDFFFFF
553#define   S_008218_UTCL2IU_WAITING_ON_FREE(x)                         (((unsigned)(x) & 0x1) << 22)
554#define   G_008218_UTCL2IU_WAITING_ON_FREE(x)                         (((x) >> 22) & 0x1)
555#define   C_008218_UTCL2IU_WAITING_ON_FREE                            0xFFBFFFFF
556#define   S_008218_UTCL2IU_WAITING_ON_TAGS(x)                         (((unsigned)(x) & 0x1) << 23)
557#define   G_008218_UTCL2IU_WAITING_ON_TAGS(x)                         (((x) >> 23) & 0x1)
558#define   C_008218_UTCL2IU_WAITING_ON_TAGS                            0xFF7FFFFF
559#define   S_008218_UTCL1_WAITING_ON_TRANS(x)                          (((unsigned)(x) & 0x1) << 24)
560#define   G_008218_UTCL1_WAITING_ON_TRANS(x)                          (((x) >> 24) & 0x1)
561#define   C_008218_UTCL1_WAITING_ON_TRANS                             0xFEFFFFFF
562#define R_00821C_CP_CPF_STATUS                                          0x00821C
563#define   S_00821C_POST_WPTR_GFX_BUSY(x)                              (((unsigned)(x) & 0x1) << 0)
564#define   G_00821C_POST_WPTR_GFX_BUSY(x)                              (((x) >> 0) & 0x1)
565#define   C_00821C_POST_WPTR_GFX_BUSY                                 0xFFFFFFFE
566#define   S_00821C_CSF_BUSY(x)                                        (((unsigned)(x) & 0x1) << 1)
567#define   G_00821C_CSF_BUSY(x)                                        (((x) >> 1) & 0x1)
568#define   C_00821C_CSF_BUSY                                           0xFFFFFFFD
569#define   S_00821C_ROQ_ALIGN_BUSY(x)                                  (((unsigned)(x) & 0x1) << 4)
570#define   G_00821C_ROQ_ALIGN_BUSY(x)                                  (((x) >> 4) & 0x1)
571#define   C_00821C_ROQ_ALIGN_BUSY                                     0xFFFFFFEF
572#define   S_00821C_ROQ_RING_BUSY(x)                                   (((unsigned)(x) & 0x1) << 5)
573#define   G_00821C_ROQ_RING_BUSY(x)                                   (((x) >> 5) & 0x1)
574#define   C_00821C_ROQ_RING_BUSY                                      0xFFFFFFDF
575#define   S_00821C_ROQ_INDIRECT1_BUSY(x)                              (((unsigned)(x) & 0x1) << 6)
576#define   G_00821C_ROQ_INDIRECT1_BUSY(x)                              (((x) >> 6) & 0x1)
577#define   C_00821C_ROQ_INDIRECT1_BUSY                                 0xFFFFFFBF
578#define   S_00821C_ROQ_INDIRECT2_BUSY(x)                              (((unsigned)(x) & 0x1) << 7)
579#define   G_00821C_ROQ_INDIRECT2_BUSY(x)                              (((x) >> 7) & 0x1)
580#define   C_00821C_ROQ_INDIRECT2_BUSY                                 0xFFFFFF7F
581#define   S_00821C_ROQ_STATE_BUSY(x)                                  (((unsigned)(x) & 0x1) << 8)
582#define   G_00821C_ROQ_STATE_BUSY(x)                                  (((x) >> 8) & 0x1)
583#define   C_00821C_ROQ_STATE_BUSY                                     0xFFFFFEFF
584#define   S_00821C_ROQ_CE_RING_BUSY(x)                                (((unsigned)(x) & 0x1) << 9)
585#define   G_00821C_ROQ_CE_RING_BUSY(x)                                (((x) >> 9) & 0x1)
586#define   C_00821C_ROQ_CE_RING_BUSY                                   0xFFFFFDFF
587#define   S_00821C_ROQ_CE_INDIRECT1_BUSY(x)                           (((unsigned)(x) & 0x1) << 10)
588#define   G_00821C_ROQ_CE_INDIRECT1_BUSY(x)                           (((x) >> 10) & 0x1)
589#define   C_00821C_ROQ_CE_INDIRECT1_BUSY                              0xFFFFFBFF
590#define   S_00821C_ROQ_CE_INDIRECT2_BUSY(x)                           (((unsigned)(x) & 0x1) << 11)
591#define   G_00821C_ROQ_CE_INDIRECT2_BUSY(x)                           (((x) >> 11) & 0x1)
592#define   C_00821C_ROQ_CE_INDIRECT2_BUSY                              0xFFFFF7FF
593#define   S_00821C_SEMAPHORE_BUSY(x)                                  (((unsigned)(x) & 0x1) << 12)
594#define   G_00821C_SEMAPHORE_BUSY(x)                                  (((x) >> 12) & 0x1)
595#define   C_00821C_SEMAPHORE_BUSY                                     0xFFFFEFFF
596#define   S_00821C_INTERRUPT_BUSY(x)                                  (((unsigned)(x) & 0x1) << 13)
597#define   G_00821C_INTERRUPT_BUSY(x)                                  (((x) >> 13) & 0x1)
598#define   C_00821C_INTERRUPT_BUSY                                     0xFFFFDFFF
599#define   S_00821C_TCIU_BUSY(x)                                       (((unsigned)(x) & 0x1) << 14)
600#define   G_00821C_TCIU_BUSY(x)                                       (((x) >> 14) & 0x1)
601#define   C_00821C_TCIU_BUSY                                          0xFFFFBFFF
602#define   S_00821C_HQD_BUSY(x)                                        (((unsigned)(x) & 0x1) << 15)
603#define   G_00821C_HQD_BUSY(x)                                        (((x) >> 15) & 0x1)
604#define   C_00821C_HQD_BUSY                                           0xFFFF7FFF
605#define   S_00821C_PRT_BUSY(x)                                        (((unsigned)(x) & 0x1) << 16)
606#define   G_00821C_PRT_BUSY(x)                                        (((x) >> 16) & 0x1)
607#define   C_00821C_PRT_BUSY                                           0xFFFEFFFF
608#define   S_00821C_UTCL2IU_BUSY(x)                                    (((unsigned)(x) & 0x1) << 17)
609#define   G_00821C_UTCL2IU_BUSY(x)                                    (((x) >> 17) & 0x1)
610#define   C_00821C_UTCL2IU_BUSY                                       0xFFFDFFFF
611#define   S_00821C_CPF_GFX_BUSY(x)                                    (((unsigned)(x) & 0x1) << 26)
612#define   G_00821C_CPF_GFX_BUSY(x)                                    (((x) >> 26) & 0x1)
613#define   C_00821C_CPF_GFX_BUSY                                       0xFBFFFFFF
614#define   S_00821C_CPF_CMP_BUSY(x)                                    (((unsigned)(x) & 0x1) << 27)
615#define   G_00821C_CPF_CMP_BUSY(x)                                    (((x) >> 27) & 0x1)
616#define   C_00821C_CPF_CMP_BUSY                                       0xF7FFFFFF
617#define   S_00821C_GRBM_CPF_STAT_BUSY(x)                              (((unsigned)(x) & 0x03) << 28)
618#define   G_00821C_GRBM_CPF_STAT_BUSY(x)                              (((x) >> 28) & 0x03)
619#define   C_00821C_GRBM_CPF_STAT_BUSY                                 0xCFFFFFFF
620#define   S_00821C_CPC_CPF_BUSY(x)                                    (((unsigned)(x) & 0x1) << 30)
621#define   G_00821C_CPC_CPF_BUSY(x)                                    (((x) >> 30) & 0x1)
622#define   C_00821C_CPC_CPF_BUSY                                       0xBFFFFFFF
623#define   S_00821C_CPF_BUSY(x)                                        (((unsigned)(x) & 0x1) << 31)
624#define   G_00821C_CPF_BUSY(x)                                        (((x) >> 31) & 0x1)
625#define   C_00821C_CPF_BUSY                                           0x7FFFFFFF
626#define R_008220_CP_CPF_BUSY_STAT                                       0x008220
627#define   S_008220_REG_BUS_FIFO_BUSY(x)                               (((unsigned)(x) & 0x1) << 0)
628#define   G_008220_REG_BUS_FIFO_BUSY(x)                               (((x) >> 0) & 0x1)
629#define   C_008220_REG_BUS_FIFO_BUSY                                  0xFFFFFFFE
630#define   S_008220_CSF_RING_BUSY(x)                                   (((unsigned)(x) & 0x1) << 1)
631#define   G_008220_CSF_RING_BUSY(x)                                   (((x) >> 1) & 0x1)
632#define   C_008220_CSF_RING_BUSY                                      0xFFFFFFFD
633#define   S_008220_CSF_INDIRECT1_BUSY(x)                              (((unsigned)(x) & 0x1) << 2)
634#define   G_008220_CSF_INDIRECT1_BUSY(x)                              (((x) >> 2) & 0x1)
635#define   C_008220_CSF_INDIRECT1_BUSY                                 0xFFFFFFFB
636#define   S_008220_CSF_INDIRECT2_BUSY(x)                              (((unsigned)(x) & 0x1) << 3)
637#define   G_008220_CSF_INDIRECT2_BUSY(x)                              (((x) >> 3) & 0x1)
638#define   C_008220_CSF_INDIRECT2_BUSY                                 0xFFFFFFF7
639#define   S_008220_CSF_STATE_BUSY(x)                                  (((unsigned)(x) & 0x1) << 4)
640#define   G_008220_CSF_STATE_BUSY(x)                                  (((x) >> 4) & 0x1)
641#define   C_008220_CSF_STATE_BUSY                                     0xFFFFFFEF
642#define   S_008220_CSF_CE_INDR1_BUSY(x)                               (((unsigned)(x) & 0x1) << 5)
643#define   G_008220_CSF_CE_INDR1_BUSY(x)                               (((x) >> 5) & 0x1)
644#define   C_008220_CSF_CE_INDR1_BUSY                                  0xFFFFFFDF
645#define   S_008220_CSF_CE_INDR2_BUSY(x)                               (((unsigned)(x) & 0x1) << 6)
646#define   G_008220_CSF_CE_INDR2_BUSY(x)                               (((x) >> 6) & 0x1)
647#define   C_008220_CSF_CE_INDR2_BUSY                                  0xFFFFFFBF
648#define   S_008220_CSF_ARBITER_BUSY(x)                                (((unsigned)(x) & 0x1) << 7)
649#define   G_008220_CSF_ARBITER_BUSY(x)                                (((x) >> 7) & 0x1)
650#define   C_008220_CSF_ARBITER_BUSY                                   0xFFFFFF7F
651#define   S_008220_CSF_INPUT_BUSY(x)                                  (((unsigned)(x) & 0x1) << 8)
652#define   G_008220_CSF_INPUT_BUSY(x)                                  (((x) >> 8) & 0x1)
653#define   C_008220_CSF_INPUT_BUSY                                     0xFFFFFEFF
654#define   S_008220_OUTSTANDING_READ_TAGS(x)                           (((unsigned)(x) & 0x1) << 9)
655#define   G_008220_OUTSTANDING_READ_TAGS(x)                           (((x) >> 9) & 0x1)
656#define   C_008220_OUTSTANDING_READ_TAGS                              0xFFFFFDFF
657#define   S_008220_HPD_PROCESSING_EOP_BUSY(x)                         (((unsigned)(x) & 0x1) << 11)
658#define   G_008220_HPD_PROCESSING_EOP_BUSY(x)                         (((x) >> 11) & 0x1)
659#define   C_008220_HPD_PROCESSING_EOP_BUSY                            0xFFFFF7FF
660#define   S_008220_HQD_DISPATCH_BUSY(x)                               (((unsigned)(x) & 0x1) << 12)
661#define   G_008220_HQD_DISPATCH_BUSY(x)                               (((x) >> 12) & 0x1)
662#define   C_008220_HQD_DISPATCH_BUSY                                  0xFFFFEFFF
663#define   S_008220_HQD_IQ_TIMER_BUSY(x)                               (((unsigned)(x) & 0x1) << 13)
664#define   G_008220_HQD_IQ_TIMER_BUSY(x)                               (((x) >> 13) & 0x1)
665#define   C_008220_HQD_IQ_TIMER_BUSY                                  0xFFFFDFFF
666#define   S_008220_HQD_DMA_OFFLOAD_BUSY(x)                            (((unsigned)(x) & 0x1) << 14)
667#define   G_008220_HQD_DMA_OFFLOAD_BUSY(x)                            (((x) >> 14) & 0x1)
668#define   C_008220_HQD_DMA_OFFLOAD_BUSY                               0xFFFFBFFF
669#define   S_008220_HQD_WAIT_SEMAPHORE_BUSY(x)                         (((unsigned)(x) & 0x1) << 15)
670#define   G_008220_HQD_WAIT_SEMAPHORE_BUSY(x)                         (((x) >> 15) & 0x1)
671#define   C_008220_HQD_WAIT_SEMAPHORE_BUSY                            0xFFFF7FFF
672#define   S_008220_HQD_SIGNAL_SEMAPHORE_BUSY(x)                       (((unsigned)(x) & 0x1) << 16)
673#define   G_008220_HQD_SIGNAL_SEMAPHORE_BUSY(x)                       (((x) >> 16) & 0x1)
674#define   C_008220_HQD_SIGNAL_SEMAPHORE_BUSY                          0xFFFEFFFF
675#define   S_008220_HQD_MESSAGE_BUSY(x)                                (((unsigned)(x) & 0x1) << 17)
676#define   G_008220_HQD_MESSAGE_BUSY(x)                                (((x) >> 17) & 0x1)
677#define   C_008220_HQD_MESSAGE_BUSY                                   0xFFFDFFFF
678#define   S_008220_HQD_PQ_FETCHER_BUSY(x)                             (((unsigned)(x) & 0x1) << 18)
679#define   G_008220_HQD_PQ_FETCHER_BUSY(x)                             (((x) >> 18) & 0x1)
680#define   C_008220_HQD_PQ_FETCHER_BUSY                                0xFFFBFFFF
681#define   S_008220_HQD_IB_FETCHER_BUSY(x)                             (((unsigned)(x) & 0x1) << 19)
682#define   G_008220_HQD_IB_FETCHER_BUSY(x)                             (((x) >> 19) & 0x1)
683#define   C_008220_HQD_IB_FETCHER_BUSY                                0xFFF7FFFF
684#define   S_008220_HQD_IQ_FETCHER_BUSY(x)                             (((unsigned)(x) & 0x1) << 20)
685#define   G_008220_HQD_IQ_FETCHER_BUSY(x)                             (((x) >> 20) & 0x1)
686#define   C_008220_HQD_IQ_FETCHER_BUSY                                0xFFEFFFFF
687#define   S_008220_HQD_EOP_FETCHER_BUSY(x)                            (((unsigned)(x) & 0x1) << 21)
688#define   G_008220_HQD_EOP_FETCHER_BUSY(x)                            (((x) >> 21) & 0x1)
689#define   C_008220_HQD_EOP_FETCHER_BUSY                               0xFFDFFFFF
690#define   S_008220_HQD_CONSUMED_RPTR_BUSY(x)                          (((unsigned)(x) & 0x1) << 22)
691#define   G_008220_HQD_CONSUMED_RPTR_BUSY(x)                          (((x) >> 22) & 0x1)
692#define   C_008220_HQD_CONSUMED_RPTR_BUSY                             0xFFBFFFFF
693#define   S_008220_HQD_FETCHER_ARB_BUSY(x)                            (((unsigned)(x) & 0x1) << 23)
694#define   G_008220_HQD_FETCHER_ARB_BUSY(x)                            (((x) >> 23) & 0x1)
695#define   C_008220_HQD_FETCHER_ARB_BUSY                               0xFF7FFFFF
696#define   S_008220_HQD_ROQ_ALIGN_BUSY(x)                              (((unsigned)(x) & 0x1) << 24)
697#define   G_008220_HQD_ROQ_ALIGN_BUSY(x)                              (((x) >> 24) & 0x1)
698#define   C_008220_HQD_ROQ_ALIGN_BUSY                                 0xFEFFFFFF
699#define   S_008220_HQD_ROQ_EOP_BUSY(x)                                (((unsigned)(x) & 0x1) << 25)
700#define   G_008220_HQD_ROQ_EOP_BUSY(x)                                (((x) >> 25) & 0x1)
701#define   C_008220_HQD_ROQ_EOP_BUSY                                   0xFDFFFFFF
702#define   S_008220_HQD_ROQ_IQ_BUSY(x)                                 (((unsigned)(x) & 0x1) << 26)
703#define   G_008220_HQD_ROQ_IQ_BUSY(x)                                 (((x) >> 26) & 0x1)
704#define   C_008220_HQD_ROQ_IQ_BUSY                                    0xFBFFFFFF
705#define   S_008220_HQD_ROQ_PQ_BUSY(x)                                 (((unsigned)(x) & 0x1) << 27)
706#define   G_008220_HQD_ROQ_PQ_BUSY(x)                                 (((x) >> 27) & 0x1)
707#define   C_008220_HQD_ROQ_PQ_BUSY                                    0xF7FFFFFF
708#define   S_008220_HQD_ROQ_IB_BUSY(x)                                 (((unsigned)(x) & 0x1) << 28)
709#define   G_008220_HQD_ROQ_IB_BUSY(x)                                 (((x) >> 28) & 0x1)
710#define   C_008220_HQD_ROQ_IB_BUSY                                    0xEFFFFFFF
711#define   S_008220_HQD_WPTR_POLL_BUSY(x)                              (((unsigned)(x) & 0x1) << 29)
712#define   G_008220_HQD_WPTR_POLL_BUSY(x)                              (((x) >> 29) & 0x1)
713#define   C_008220_HQD_WPTR_POLL_BUSY                                 0xDFFFFFFF
714#define   S_008220_HQD_PQ_BUSY(x)                                     (((unsigned)(x) & 0x1) << 30)
715#define   G_008220_HQD_PQ_BUSY(x)                                     (((x) >> 30) & 0x1)
716#define   C_008220_HQD_PQ_BUSY                                        0xBFFFFFFF
717#define   S_008220_HQD_IB_BUSY(x)                                     (((unsigned)(x) & 0x1) << 31)
718#define   G_008220_HQD_IB_BUSY(x)                                     (((x) >> 31) & 0x1)
719#define   C_008220_HQD_IB_BUSY                                        0x7FFFFFFF
720#define R_008224_CP_CPF_STALLED_STAT1                                   0x008224
721#define   S_008224_RING_FETCHING_DATA(x)                              (((unsigned)(x) & 0x1) << 0)
722#define   G_008224_RING_FETCHING_DATA(x)                              (((x) >> 0) & 0x1)
723#define   C_008224_RING_FETCHING_DATA                                 0xFFFFFFFE
724#define   S_008224_INDR1_FETCHING_DATA(x)                             (((unsigned)(x) & 0x1) << 1)
725#define   G_008224_INDR1_FETCHING_DATA(x)                             (((x) >> 1) & 0x1)
726#define   C_008224_INDR1_FETCHING_DATA                                0xFFFFFFFD
727#define   S_008224_INDR2_FETCHING_DATA(x)                             (((unsigned)(x) & 0x1) << 2)
728#define   G_008224_INDR2_FETCHING_DATA(x)                             (((x) >> 2) & 0x1)
729#define   C_008224_INDR2_FETCHING_DATA                                0xFFFFFFFB
730#define   S_008224_STATE_FETCHING_DATA(x)                             (((unsigned)(x) & 0x1) << 3)
731#define   G_008224_STATE_FETCHING_DATA(x)                             (((x) >> 3) & 0x1)
732#define   C_008224_STATE_FETCHING_DATA                                0xFFFFFFF7
733#define   S_008224_TCIU_WAITING_ON_FREE(x)                            (((unsigned)(x) & 0x1) << 5)
734#define   G_008224_TCIU_WAITING_ON_FREE(x)                            (((x) >> 5) & 0x1)
735#define   C_008224_TCIU_WAITING_ON_FREE                               0xFFFFFFDF
736#define   S_008224_TCIU_WAITING_ON_TAGS(x)                            (((unsigned)(x) & 0x1) << 6)
737#define   G_008224_TCIU_WAITING_ON_TAGS(x)                            (((x) >> 6) & 0x1)
738#define   C_008224_TCIU_WAITING_ON_TAGS                               0xFFFFFFBF
739#define   S_008224_UTCL2IU_WAITING_ON_FREE(x)                         (((unsigned)(x) & 0x1) << 7)
740#define   G_008224_UTCL2IU_WAITING_ON_FREE(x)                         (((x) >> 7) & 0x1)
741#define   C_008224_UTCL2IU_WAITING_ON_FREE                            0xFFFFFF7F
742#define   S_008224_UTCL2IU_WAITING_ON_TAGS(x)                         (((unsigned)(x) & 0x1) << 8)
743#define   G_008224_UTCL2IU_WAITING_ON_TAGS(x)                         (((x) >> 8) & 0x1)
744#define   C_008224_UTCL2IU_WAITING_ON_TAGS                            0xFFFFFEFF
745#define   S_008224_GFX_UTCL1_WAITING_ON_TRANS(x)                      (((unsigned)(x) & 0x1) << 9)
746#define   G_008224_GFX_UTCL1_WAITING_ON_TRANS(x)                      (((x) >> 9) & 0x1)
747#define   C_008224_GFX_UTCL1_WAITING_ON_TRANS                         0xFFFFFDFF
748#define   S_008224_CMP_UTCL1_WAITING_ON_TRANS(x)                      (((unsigned)(x) & 0x1) << 10)
749#define   G_008224_CMP_UTCL1_WAITING_ON_TRANS(x)                      (((x) >> 10) & 0x1)
750#define   C_008224_CMP_UTCL1_WAITING_ON_TRANS                         0xFFFFFBFF
751#define   S_008224_RCIU_WAITING_ON_FREE(x)                            (((unsigned)(x) & 0x1) << 11)
752#define   G_008224_RCIU_WAITING_ON_FREE(x)                            (((x) >> 11) & 0x1)
753#define   C_008224_RCIU_WAITING_ON_FREE                               0xFFFFF7FF
754#define R_030230_CP_COHER_SIZE_HI                                       0x030230
755#define   S_030230_COHER_SIZE_HI_256B(x)                              (((unsigned)(x) & 0xFF) << 0)
756#define   G_030230_COHER_SIZE_HI_256B(x)                              (((x) >> 0) & 0xFF)
757#define   C_030230_COHER_SIZE_HI_256B                                 0xFFFFFF00
758#define R_008670_CP_STALLED_STAT3                                       0x008670
759#define   S_008670_CE_TO_CSF_NOT_RDY_TO_RCV(x)                        (((unsigned)(x) & 0x1) << 0)
760#define   G_008670_CE_TO_CSF_NOT_RDY_TO_RCV(x)                        (((x) >> 0) & 0x1)
761#define   C_008670_CE_TO_CSF_NOT_RDY_TO_RCV                           0xFFFFFFFE
762#define   S_008670_CE_TO_RAM_INIT_FETCHER_NOT_RDY_TO_RCV(x)           (((unsigned)(x) & 0x1) << 1)
763#define   G_008670_CE_TO_RAM_INIT_FETCHER_NOT_RDY_TO_RCV(x)           (((x) >> 1) & 0x1)
764#define   C_008670_CE_TO_RAM_INIT_FETCHER_NOT_RDY_TO_RCV              0xFFFFFFFD
765#define   S_008670_CE_WAITING_ON_DATA_FROM_RAM_INIT_FETCHER(x)        (((unsigned)(x) & 0x1) << 2)
766#define   G_008670_CE_WAITING_ON_DATA_FROM_RAM_INIT_FETCHER(x)        (((x) >> 2) & 0x1)
767#define   C_008670_CE_WAITING_ON_DATA_FROM_RAM_INIT_FETCHER           0xFFFFFFFB
768#define   S_008670_CE_TO_RAM_INIT_NOT_RDY(x)                          (((unsigned)(x) & 0x1) << 3)
769#define   G_008670_CE_TO_RAM_INIT_NOT_RDY(x)                          (((x) >> 3) & 0x1)
770#define   C_008670_CE_TO_RAM_INIT_NOT_RDY                             0xFFFFFFF7
771#define   S_008670_CE_TO_RAM_DUMP_NOT_RDY(x)                          (((unsigned)(x) & 0x1) << 4)
772#define   G_008670_CE_TO_RAM_DUMP_NOT_RDY(x)                          (((x) >> 4) & 0x1)
773#define   C_008670_CE_TO_RAM_DUMP_NOT_RDY                             0xFFFFFFEF
774#define   S_008670_CE_TO_RAM_WRITE_NOT_RDY(x)                         (((unsigned)(x) & 0x1) << 5)
775#define   G_008670_CE_TO_RAM_WRITE_NOT_RDY(x)                         (((x) >> 5) & 0x1)
776#define   C_008670_CE_TO_RAM_WRITE_NOT_RDY                            0xFFFFFFDF
777#define   S_008670_CE_TO_INC_FIFO_NOT_RDY_TO_RCV(x)                   (((unsigned)(x) & 0x1) << 6)
778#define   G_008670_CE_TO_INC_FIFO_NOT_RDY_TO_RCV(x)                   (((x) >> 6) & 0x1)
779#define   C_008670_CE_TO_INC_FIFO_NOT_RDY_TO_RCV                      0xFFFFFFBF
780#define   S_008670_CE_TO_WR_FIFO_NOT_RDY_TO_RCV(x)                    (((unsigned)(x) & 0x1) << 7)
781#define   G_008670_CE_TO_WR_FIFO_NOT_RDY_TO_RCV(x)                    (((x) >> 7) & 0x1)
782#define   C_008670_CE_TO_WR_FIFO_NOT_RDY_TO_RCV                       0xFFFFFF7F
783#define   S_008670_CE_WAITING_ON_BUFFER_DATA(x)                       (((unsigned)(x) & 0x1) << 10)
784#define   G_008670_CE_WAITING_ON_BUFFER_DATA(x)                       (((x) >> 10) & 0x1)
785#define   C_008670_CE_WAITING_ON_BUFFER_DATA                          0xFFFFFBFF
786#define   S_008670_CE_WAITING_ON_CE_BUFFER_FLAG(x)                    (((unsigned)(x) & 0x1) << 11)
787#define   G_008670_CE_WAITING_ON_CE_BUFFER_FLAG(x)                    (((x) >> 11) & 0x1)
788#define   C_008670_CE_WAITING_ON_CE_BUFFER_FLAG                       0xFFFFF7FF
789#define   S_008670_CE_WAITING_ON_DE_COUNTER(x)                        (((unsigned)(x) & 0x1) << 12)
790#define   G_008670_CE_WAITING_ON_DE_COUNTER(x)                        (((x) >> 12) & 0x1)
791#define   C_008670_CE_WAITING_ON_DE_COUNTER                           0xFFFFEFFF
792#define   S_008670_CE_WAITING_ON_DE_COUNTER_UNDERFLOW(x)              (((unsigned)(x) & 0x1) << 13)
793#define   G_008670_CE_WAITING_ON_DE_COUNTER_UNDERFLOW(x)              (((x) >> 13) & 0x1)
794#define   C_008670_CE_WAITING_ON_DE_COUNTER_UNDERFLOW                 0xFFFFDFFF
795#define   S_008670_TCIU_WAITING_ON_FREE(x)                            (((unsigned)(x) & 0x1) << 14)
796#define   G_008670_TCIU_WAITING_ON_FREE(x)                            (((x) >> 14) & 0x1)
797#define   C_008670_TCIU_WAITING_ON_FREE                               0xFFFFBFFF
798#define   S_008670_TCIU_WAITING_ON_TAGS(x)                            (((unsigned)(x) & 0x1) << 15)
799#define   G_008670_TCIU_WAITING_ON_TAGS(x)                            (((x) >> 15) & 0x1)
800#define   C_008670_TCIU_WAITING_ON_TAGS                               0xFFFF7FFF
801#define   S_008670_CE_STALLED_ON_TC_WR_CONFIRM(x)                     (((unsigned)(x) & 0x1) << 16)
802#define   G_008670_CE_STALLED_ON_TC_WR_CONFIRM(x)                     (((x) >> 16) & 0x1)
803#define   C_008670_CE_STALLED_ON_TC_WR_CONFIRM                        0xFFFEFFFF
804#define   S_008670_CE_STALLED_ON_ATOMIC_RTN_DATA(x)                   (((unsigned)(x) & 0x1) << 17)
805#define   G_008670_CE_STALLED_ON_ATOMIC_RTN_DATA(x)                   (((x) >> 17) & 0x1)
806#define   C_008670_CE_STALLED_ON_ATOMIC_RTN_DATA                      0xFFFDFFFF
807#define   S_008670_UTCL2IU_WAITING_ON_FREE(x)                         (((unsigned)(x) & 0x1) << 18)
808#define   G_008670_UTCL2IU_WAITING_ON_FREE(x)                         (((x) >> 18) & 0x1)
809#define   C_008670_UTCL2IU_WAITING_ON_FREE                            0xFFFBFFFF
810#define   S_008670_UTCL2IU_WAITING_ON_TAGS(x)                         (((unsigned)(x) & 0x1) << 19)
811#define   G_008670_UTCL2IU_WAITING_ON_TAGS(x)                         (((x) >> 19) & 0x1)
812#define   C_008670_UTCL2IU_WAITING_ON_TAGS                            0xFFF7FFFF
813#define   S_008670_UTCL1_WAITING_ON_TRANS(x)                          (((unsigned)(x) & 0x1) << 20)
814#define   G_008670_UTCL1_WAITING_ON_TRANS(x)                          (((x) >> 20) & 0x1)
815#define   C_008670_UTCL1_WAITING_ON_TRANS                             0xFFEFFFFF
816#define R_008674_CP_STALLED_STAT1                                       0x008674
817#define   S_008674_RBIU_TO_DMA_NOT_RDY_TO_RCV(x)                      (((unsigned)(x) & 0x1) << 0)
818#define   G_008674_RBIU_TO_DMA_NOT_RDY_TO_RCV(x)                      (((x) >> 0) & 0x1)
819#define   C_008674_RBIU_TO_DMA_NOT_RDY_TO_RCV                         0xFFFFFFFE
820#define   S_008674_RBIU_TO_SEM_NOT_RDY_TO_RCV(x)                      (((unsigned)(x) & 0x1) << 2)
821#define   G_008674_RBIU_TO_SEM_NOT_RDY_TO_RCV(x)                      (((x) >> 2) & 0x1)
822#define   C_008674_RBIU_TO_SEM_NOT_RDY_TO_RCV                         0xFFFFFFFB
823#define   S_008674_RBIU_TO_MEMWR_NOT_RDY_TO_RCV(x)                    (((unsigned)(x) & 0x1) << 4)
824#define   G_008674_RBIU_TO_MEMWR_NOT_RDY_TO_RCV(x)                    (((x) >> 4) & 0x1)
825#define   C_008674_RBIU_TO_MEMWR_NOT_RDY_TO_RCV                       0xFFFFFFEF
826#define   S_008674_ME_HAS_ACTIVE_CE_BUFFER_FLAG(x)                    (((unsigned)(x) & 0x1) << 10)
827#define   G_008674_ME_HAS_ACTIVE_CE_BUFFER_FLAG(x)                    (((x) >> 10) & 0x1)
828#define   C_008674_ME_HAS_ACTIVE_CE_BUFFER_FLAG                       0xFFFFFBFF
829#define   S_008674_ME_HAS_ACTIVE_DE_BUFFER_FLAG(x)                    (((unsigned)(x) & 0x1) << 11)
830#define   G_008674_ME_HAS_ACTIVE_DE_BUFFER_FLAG(x)                    (((x) >> 11) & 0x1)
831#define   C_008674_ME_HAS_ACTIVE_DE_BUFFER_FLAG                       0xFFFFF7FF
832#define   S_008674_ME_STALLED_ON_TC_WR_CONFIRM(x)                     (((unsigned)(x) & 0x1) << 12)
833#define   G_008674_ME_STALLED_ON_TC_WR_CONFIRM(x)                     (((x) >> 12) & 0x1)
834#define   C_008674_ME_STALLED_ON_TC_WR_CONFIRM                        0xFFFFEFFF
835#define   S_008674_ME_STALLED_ON_ATOMIC_RTN_DATA(x)                   (((unsigned)(x) & 0x1) << 13)
836#define   G_008674_ME_STALLED_ON_ATOMIC_RTN_DATA(x)                   (((x) >> 13) & 0x1)
837#define   C_008674_ME_STALLED_ON_ATOMIC_RTN_DATA                      0xFFFFDFFF
838#define   S_008674_ME_WAITING_ON_TC_READ_DATA(x)                      (((unsigned)(x) & 0x1) << 14)
839#define   G_008674_ME_WAITING_ON_TC_READ_DATA(x)                      (((x) >> 14) & 0x1)
840#define   C_008674_ME_WAITING_ON_TC_READ_DATA                         0xFFFFBFFF
841#define   S_008674_ME_WAITING_ON_REG_READ_DATA(x)                     (((unsigned)(x) & 0x1) << 15)
842#define   G_008674_ME_WAITING_ON_REG_READ_DATA(x)                     (((x) >> 15) & 0x1)
843#define   C_008674_ME_WAITING_ON_REG_READ_DATA                        0xFFFF7FFF
844#define   S_008674_RCIU_WAITING_ON_GDS_FREE(x)                        (((unsigned)(x) & 0x1) << 23)
845#define   G_008674_RCIU_WAITING_ON_GDS_FREE(x)                        (((x) >> 23) & 0x1)
846#define   C_008674_RCIU_WAITING_ON_GDS_FREE                           0xFF7FFFFF
847#define   S_008674_RCIU_WAITING_ON_GRBM_FREE(x)                       (((unsigned)(x) & 0x1) << 24)
848#define   G_008674_RCIU_WAITING_ON_GRBM_FREE(x)                       (((x) >> 24) & 0x1)
849#define   C_008674_RCIU_WAITING_ON_GRBM_FREE                          0xFEFFFFFF
850#define   S_008674_RCIU_WAITING_ON_VGT_FREE(x)                        (((unsigned)(x) & 0x1) << 25)
851#define   G_008674_RCIU_WAITING_ON_VGT_FREE(x)                        (((x) >> 25) & 0x1)
852#define   C_008674_RCIU_WAITING_ON_VGT_FREE                           0xFDFFFFFF
853#define   S_008674_RCIU_STALLED_ON_ME_READ(x)                         (((unsigned)(x) & 0x1) << 26)
854#define   G_008674_RCIU_STALLED_ON_ME_READ(x)                         (((x) >> 26) & 0x1)
855#define   C_008674_RCIU_STALLED_ON_ME_READ                            0xFBFFFFFF
856#define   S_008674_RCIU_STALLED_ON_DMA_READ(x)                        (((unsigned)(x) & 0x1) << 27)
857#define   G_008674_RCIU_STALLED_ON_DMA_READ(x)                        (((x) >> 27) & 0x1)
858#define   C_008674_RCIU_STALLED_ON_DMA_READ                           0xF7FFFFFF
859#define   S_008674_RCIU_STALLED_ON_APPEND_READ(x)                     (((unsigned)(x) & 0x1) << 28)
860#define   G_008674_RCIU_STALLED_ON_APPEND_READ(x)                     (((x) >> 28) & 0x1)
861#define   C_008674_RCIU_STALLED_ON_APPEND_READ                        0xEFFFFFFF
862#define   S_008674_RCIU_HALTED_BY_REG_VIOLATION(x)                    (((unsigned)(x) & 0x1) << 29)
863#define   G_008674_RCIU_HALTED_BY_REG_VIOLATION(x)                    (((x) >> 29) & 0x1)
864#define   C_008674_RCIU_HALTED_BY_REG_VIOLATION                       0xDFFFFFFF
865#define R_008678_CP_STALLED_STAT2                                       0x008678
866#define   S_008678_PFP_TO_CSF_NOT_RDY_TO_RCV(x)                       (((unsigned)(x) & 0x1) << 0)
867#define   G_008678_PFP_TO_CSF_NOT_RDY_TO_RCV(x)                       (((x) >> 0) & 0x1)
868#define   C_008678_PFP_TO_CSF_NOT_RDY_TO_RCV                          0xFFFFFFFE
869#define   S_008678_PFP_TO_MEQ_NOT_RDY_TO_RCV(x)                       (((unsigned)(x) & 0x1) << 1)
870#define   G_008678_PFP_TO_MEQ_NOT_RDY_TO_RCV(x)                       (((x) >> 1) & 0x1)
871#define   C_008678_PFP_TO_MEQ_NOT_RDY_TO_RCV                          0xFFFFFFFD
872#define   S_008678_PFP_TO_RCIU_NOT_RDY_TO_RCV(x)                      (((unsigned)(x) & 0x1) << 2)
873#define   G_008678_PFP_TO_RCIU_NOT_RDY_TO_RCV(x)                      (((x) >> 2) & 0x1)
874#define   C_008678_PFP_TO_RCIU_NOT_RDY_TO_RCV                         0xFFFFFFFB
875#define   S_008678_PFP_TO_VGT_WRITES_PENDING(x)                       (((unsigned)(x) & 0x1) << 4)
876#define   G_008678_PFP_TO_VGT_WRITES_PENDING(x)                       (((x) >> 4) & 0x1)
877#define   C_008678_PFP_TO_VGT_WRITES_PENDING                          0xFFFFFFEF
878#define   S_008678_PFP_RCIU_READ_PENDING(x)                           (((unsigned)(x) & 0x1) << 5)
879#define   G_008678_PFP_RCIU_READ_PENDING(x)                           (((x) >> 5) & 0x1)
880#define   C_008678_PFP_RCIU_READ_PENDING                              0xFFFFFFDF
881#define   S_008678_PFP_WAITING_ON_BUFFER_DATA(x)                      (((unsigned)(x) & 0x1) << 8)
882#define   G_008678_PFP_WAITING_ON_BUFFER_DATA(x)                      (((x) >> 8) & 0x1)
883#define   C_008678_PFP_WAITING_ON_BUFFER_DATA                         0xFFFFFEFF
884#define   S_008678_ME_WAIT_ON_CE_COUNTER(x)                           (((unsigned)(x) & 0x1) << 9)
885#define   G_008678_ME_WAIT_ON_CE_COUNTER(x)                           (((x) >> 9) & 0x1)
886#define   C_008678_ME_WAIT_ON_CE_COUNTER                              0xFFFFFDFF
887#define   S_008678_ME_WAIT_ON_AVAIL_BUFFER(x)                         (((unsigned)(x) & 0x1) << 10)
888#define   G_008678_ME_WAIT_ON_AVAIL_BUFFER(x)                         (((x) >> 10) & 0x1)
889#define   C_008678_ME_WAIT_ON_AVAIL_BUFFER                            0xFFFFFBFF
890#define   S_008678_GFX_CNTX_NOT_AVAIL_TO_ME(x)                        (((unsigned)(x) & 0x1) << 11)
891#define   G_008678_GFX_CNTX_NOT_AVAIL_TO_ME(x)                        (((x) >> 11) & 0x1)
892#define   C_008678_GFX_CNTX_NOT_AVAIL_TO_ME                           0xFFFFF7FF
893#define   S_008678_ME_RCIU_NOT_RDY_TO_RCV(x)                          (((unsigned)(x) & 0x1) << 12)
894#define   G_008678_ME_RCIU_NOT_RDY_TO_RCV(x)                          (((x) >> 12) & 0x1)
895#define   C_008678_ME_RCIU_NOT_RDY_TO_RCV                             0xFFFFEFFF
896#define   S_008678_ME_TO_CONST_NOT_RDY_TO_RCV(x)                      (((unsigned)(x) & 0x1) << 13)
897#define   G_008678_ME_TO_CONST_NOT_RDY_TO_RCV(x)                      (((x) >> 13) & 0x1)
898#define   C_008678_ME_TO_CONST_NOT_RDY_TO_RCV                         0xFFFFDFFF
899#define   S_008678_ME_WAITING_DATA_FROM_PFP(x)                        (((unsigned)(x) & 0x1) << 14)
900#define   G_008678_ME_WAITING_DATA_FROM_PFP(x)                        (((x) >> 14) & 0x1)
901#define   C_008678_ME_WAITING_DATA_FROM_PFP                           0xFFFFBFFF
902#define   S_008678_ME_WAITING_ON_PARTIAL_FLUSH(x)                     (((unsigned)(x) & 0x1) << 15)
903#define   G_008678_ME_WAITING_ON_PARTIAL_FLUSH(x)                     (((x) >> 15) & 0x1)
904#define   C_008678_ME_WAITING_ON_PARTIAL_FLUSH                        0xFFFF7FFF
905#define   S_008678_MEQ_TO_ME_NOT_RDY_TO_RCV(x)                        (((unsigned)(x) & 0x1) << 16)
906#define   G_008678_MEQ_TO_ME_NOT_RDY_TO_RCV(x)                        (((x) >> 16) & 0x1)
907#define   C_008678_MEQ_TO_ME_NOT_RDY_TO_RCV                           0xFFFEFFFF
908#define   S_008678_STQ_TO_ME_NOT_RDY_TO_RCV(x)                        (((unsigned)(x) & 0x1) << 17)
909#define   G_008678_STQ_TO_ME_NOT_RDY_TO_RCV(x)                        (((x) >> 17) & 0x1)
910#define   C_008678_STQ_TO_ME_NOT_RDY_TO_RCV                           0xFFFDFFFF
911#define   S_008678_ME_WAITING_DATA_FROM_STQ(x)                        (((unsigned)(x) & 0x1) << 18)
912#define   G_008678_ME_WAITING_DATA_FROM_STQ(x)                        (((x) >> 18) & 0x1)
913#define   C_008678_ME_WAITING_DATA_FROM_STQ                           0xFFFBFFFF
914#define   S_008678_PFP_STALLED_ON_TC_WR_CONFIRM(x)                    (((unsigned)(x) & 0x1) << 19)
915#define   G_008678_PFP_STALLED_ON_TC_WR_CONFIRM(x)                    (((x) >> 19) & 0x1)
916#define   C_008678_PFP_STALLED_ON_TC_WR_CONFIRM                       0xFFF7FFFF
917#define   S_008678_PFP_STALLED_ON_ATOMIC_RTN_DATA(x)                  (((unsigned)(x) & 0x1) << 20)
918#define   G_008678_PFP_STALLED_ON_ATOMIC_RTN_DATA(x)                  (((x) >> 20) & 0x1)
919#define   C_008678_PFP_STALLED_ON_ATOMIC_RTN_DATA                     0xFFEFFFFF
920#define   S_008678_EOPD_FIFO_NEEDS_SC_EOP_DONE(x)                     (((unsigned)(x) & 0x1) << 21)
921#define   G_008678_EOPD_FIFO_NEEDS_SC_EOP_DONE(x)                     (((x) >> 21) & 0x1)
922#define   C_008678_EOPD_FIFO_NEEDS_SC_EOP_DONE                        0xFFDFFFFF
923#define   S_008678_EOPD_FIFO_NEEDS_WR_CONFIRM(x)                      (((unsigned)(x) & 0x1) << 22)
924#define   G_008678_EOPD_FIFO_NEEDS_WR_CONFIRM(x)                      (((x) >> 22) & 0x1)
925#define   C_008678_EOPD_FIFO_NEEDS_WR_CONFIRM                         0xFFBFFFFF
926#define   S_008678_STRMO_WR_OF_PRIM_DATA_PENDING(x)                   (((unsigned)(x) & 0x1) << 23)
927#define   G_008678_STRMO_WR_OF_PRIM_DATA_PENDING(x)                   (((x) >> 23) & 0x1)
928#define   C_008678_STRMO_WR_OF_PRIM_DATA_PENDING                      0xFF7FFFFF
929#define   S_008678_PIPE_STATS_WR_DATA_PENDING(x)                      (((unsigned)(x) & 0x1) << 24)
930#define   G_008678_PIPE_STATS_WR_DATA_PENDING(x)                      (((x) >> 24) & 0x1)
931#define   C_008678_PIPE_STATS_WR_DATA_PENDING                         0xFEFFFFFF
932#define   S_008678_APPEND_RDY_WAIT_ON_CS_DONE(x)                      (((unsigned)(x) & 0x1) << 25)
933#define   G_008678_APPEND_RDY_WAIT_ON_CS_DONE(x)                      (((x) >> 25) & 0x1)
934#define   C_008678_APPEND_RDY_WAIT_ON_CS_DONE                         0xFDFFFFFF
935#define   S_008678_APPEND_RDY_WAIT_ON_PS_DONE(x)                      (((unsigned)(x) & 0x1) << 26)
936#define   G_008678_APPEND_RDY_WAIT_ON_PS_DONE(x)                      (((x) >> 26) & 0x1)
937#define   C_008678_APPEND_RDY_WAIT_ON_PS_DONE                         0xFBFFFFFF
938#define   S_008678_APPEND_WAIT_ON_WR_CONFIRM(x)                       (((unsigned)(x) & 0x1) << 27)
939#define   G_008678_APPEND_WAIT_ON_WR_CONFIRM(x)                       (((x) >> 27) & 0x1)
940#define   C_008678_APPEND_WAIT_ON_WR_CONFIRM                          0xF7FFFFFF
941#define   S_008678_APPEND_ACTIVE_PARTITION(x)                         (((unsigned)(x) & 0x1) << 28)
942#define   G_008678_APPEND_ACTIVE_PARTITION(x)                         (((x) >> 28) & 0x1)
943#define   C_008678_APPEND_ACTIVE_PARTITION                            0xEFFFFFFF
944#define   S_008678_APPEND_WAITING_TO_SEND_MEMWRITE(x)                 (((unsigned)(x) & 0x1) << 29)
945#define   G_008678_APPEND_WAITING_TO_SEND_MEMWRITE(x)                 (((x) >> 29) & 0x1)
946#define   C_008678_APPEND_WAITING_TO_SEND_MEMWRITE                    0xDFFFFFFF
947#define   S_008678_SURF_SYNC_NEEDS_IDLE_CNTXS(x)                      (((unsigned)(x) & 0x1) << 30)
948#define   G_008678_SURF_SYNC_NEEDS_IDLE_CNTXS(x)                      (((x) >> 30) & 0x1)
949#define   C_008678_SURF_SYNC_NEEDS_IDLE_CNTXS                         0xBFFFFFFF
950#define   S_008678_SURF_SYNC_NEEDS_ALL_CLEAN(x)                       (((unsigned)(x) & 0x1) << 31)
951#define   G_008678_SURF_SYNC_NEEDS_ALL_CLEAN(x)                       (((x) >> 31) & 0x1)
952#define   C_008678_SURF_SYNC_NEEDS_ALL_CLEAN                          0x7FFFFFFF
953#define R_008680_CP_STAT                                                0x008680
954#define   S_008680_ROQ_RING_BUSY(x)                                   (((unsigned)(x) & 0x1) << 9)
955#define   G_008680_ROQ_RING_BUSY(x)                                   (((x) >> 9) & 0x1)
956#define   C_008680_ROQ_RING_BUSY                                      0xFFFFFDFF
957#define   S_008680_ROQ_INDIRECT1_BUSY(x)                              (((unsigned)(x) & 0x1) << 10)
958#define   G_008680_ROQ_INDIRECT1_BUSY(x)                              (((x) >> 10) & 0x1)
959#define   C_008680_ROQ_INDIRECT1_BUSY                                 0xFFFFFBFF
960#define   S_008680_ROQ_INDIRECT2_BUSY(x)                              (((unsigned)(x) & 0x1) << 11)
961#define   G_008680_ROQ_INDIRECT2_BUSY(x)                              (((x) >> 11) & 0x1)
962#define   C_008680_ROQ_INDIRECT2_BUSY                                 0xFFFFF7FF
963#define   S_008680_ROQ_STATE_BUSY(x)                                  (((unsigned)(x) & 0x1) << 12)
964#define   G_008680_ROQ_STATE_BUSY(x)                                  (((x) >> 12) & 0x1)
965#define   C_008680_ROQ_STATE_BUSY                                     0xFFFFEFFF
966#define   S_008680_DC_BUSY(x)                                         (((unsigned)(x) & 0x1) << 13)
967#define   G_008680_DC_BUSY(x)                                         (((x) >> 13) & 0x1)
968#define   C_008680_DC_BUSY                                            0xFFFFDFFF
969#define   S_008680_UTCL2IU_BUSY(x)                                    (((unsigned)(x) & 0x1) << 14)
970#define   G_008680_UTCL2IU_BUSY(x)                                    (((x) >> 14) & 0x1)
971#define   C_008680_UTCL2IU_BUSY                                       0xFFFFBFFF
972#define   S_008680_PFP_BUSY(x)                                        (((unsigned)(x) & 0x1) << 15)
973#define   G_008680_PFP_BUSY(x)                                        (((x) >> 15) & 0x1)
974#define   C_008680_PFP_BUSY                                           0xFFFF7FFF
975#define   S_008680_MEQ_BUSY(x)                                        (((unsigned)(x) & 0x1) << 16)
976#define   G_008680_MEQ_BUSY(x)                                        (((x) >> 16) & 0x1)
977#define   C_008680_MEQ_BUSY                                           0xFFFEFFFF
978#define   S_008680_ME_BUSY(x)                                         (((unsigned)(x) & 0x1) << 17)
979#define   G_008680_ME_BUSY(x)                                         (((x) >> 17) & 0x1)
980#define   C_008680_ME_BUSY                                            0xFFFDFFFF
981#define   S_008680_QUERY_BUSY(x)                                      (((unsigned)(x) & 0x1) << 18)
982#define   G_008680_QUERY_BUSY(x)                                      (((x) >> 18) & 0x1)
983#define   C_008680_QUERY_BUSY                                         0xFFFBFFFF
984#define   S_008680_SEMAPHORE_BUSY(x)                                  (((unsigned)(x) & 0x1) << 19)
985#define   G_008680_SEMAPHORE_BUSY(x)                                  (((x) >> 19) & 0x1)
986#define   C_008680_SEMAPHORE_BUSY                                     0xFFF7FFFF
987#define   S_008680_INTERRUPT_BUSY(x)                                  (((unsigned)(x) & 0x1) << 20)
988#define   G_008680_INTERRUPT_BUSY(x)                                  (((x) >> 20) & 0x1)
989#define   C_008680_INTERRUPT_BUSY                                     0xFFEFFFFF
990#define   S_008680_SURFACE_SYNC_BUSY(x)                               (((unsigned)(x) & 0x1) << 21)
991#define   G_008680_SURFACE_SYNC_BUSY(x)                               (((x) >> 21) & 0x1)
992#define   C_008680_SURFACE_SYNC_BUSY                                  0xFFDFFFFF
993#define   S_008680_DMA_BUSY(x)                                        (((unsigned)(x) & 0x1) << 22)
994#define   G_008680_DMA_BUSY(x)                                        (((x) >> 22) & 0x1)
995#define   C_008680_DMA_BUSY                                           0xFFBFFFFF
996#define   S_008680_RCIU_BUSY(x)                                       (((unsigned)(x) & 0x1) << 23)
997#define   G_008680_RCIU_BUSY(x)                                       (((x) >> 23) & 0x1)
998#define   C_008680_RCIU_BUSY                                          0xFF7FFFFF
999#define   S_008680_SCRATCH_RAM_BUSY(x)                                (((unsigned)(x) & 0x1) << 24)
1000#define   G_008680_SCRATCH_RAM_BUSY(x)                                (((x) >> 24) & 0x1)
1001#define   C_008680_SCRATCH_RAM_BUSY                                   0xFEFFFFFF
1002#define   S_008680_CE_BUSY(x)                                         (((unsigned)(x) & 0x1) << 26)
1003#define   G_008680_CE_BUSY(x)                                         (((x) >> 26) & 0x1)
1004#define   C_008680_CE_BUSY                                            0xFBFFFFFF
1005#define   S_008680_TCIU_BUSY(x)                                       (((unsigned)(x) & 0x1) << 27)
1006#define   G_008680_TCIU_BUSY(x)                                       (((x) >> 27) & 0x1)
1007#define   C_008680_TCIU_BUSY                                          0xF7FFFFFF
1008#define   S_008680_ROQ_CE_RING_BUSY(x)                                (((unsigned)(x) & 0x1) << 28)
1009#define   G_008680_ROQ_CE_RING_BUSY(x)                                (((x) >> 28) & 0x1)
1010#define   C_008680_ROQ_CE_RING_BUSY                                   0xEFFFFFFF
1011#define   S_008680_ROQ_CE_INDIRECT1_BUSY(x)                           (((unsigned)(x) & 0x1) << 29)
1012#define   G_008680_ROQ_CE_INDIRECT1_BUSY(x)                           (((x) >> 29) & 0x1)
1013#define   C_008680_ROQ_CE_INDIRECT1_BUSY                              0xDFFFFFFF
1014#define   S_008680_ROQ_CE_INDIRECT2_BUSY(x)                           (((unsigned)(x) & 0x1) << 30)
1015#define   G_008680_ROQ_CE_INDIRECT2_BUSY(x)                           (((x) >> 30) & 0x1)
1016#define   C_008680_ROQ_CE_INDIRECT2_BUSY                              0xBFFFFFFF
1017#define   S_008680_CP_BUSY(x)                                         (((unsigned)(x) & 0x1) << 31)
1018#define   G_008680_CP_BUSY(x)                                         (((x) >> 31) & 0x1)
1019#define   C_008680_CP_BUSY                                            0x7FFFFFFF
1020#define R_030800_GRBM_GFX_INDEX                                         0x030800
1021#define   S_030800_INSTANCE_INDEX(x)                                  (((unsigned)(x) & 0xFF) << 0)
1022#define   G_030800_INSTANCE_INDEX(x)                                  (((x) >> 0) & 0xFF)
1023#define   C_030800_INSTANCE_INDEX                                     0xFFFFFF00
1024#define   S_030800_SH_INDEX(x)                                        (((unsigned)(x) & 0xFF) << 8)
1025#define   G_030800_SH_INDEX(x)                                        (((x) >> 8) & 0xFF)
1026#define   C_030800_SH_INDEX                                           0xFFFF00FF
1027#define   S_030800_SE_INDEX(x)                                        (((unsigned)(x) & 0xFF) << 16)
1028#define   G_030800_SE_INDEX(x)                                        (((x) >> 16) & 0xFF)
1029#define   C_030800_SE_INDEX                                           0xFF00FFFF
1030#define   S_030800_SH_BROADCAST_WRITES(x)                             (((unsigned)(x) & 0x1) << 29)
1031#define   G_030800_SH_BROADCAST_WRITES(x)                             (((x) >> 29) & 0x1)
1032#define   C_030800_SH_BROADCAST_WRITES                                0xDFFFFFFF
1033#define   S_030800_INSTANCE_BROADCAST_WRITES(x)                       (((unsigned)(x) & 0x1) << 30)
1034#define   G_030800_INSTANCE_BROADCAST_WRITES(x)                       (((x) >> 30) & 0x1)
1035#define   C_030800_INSTANCE_BROADCAST_WRITES                          0xBFFFFFFF
1036#define   S_030800_SE_BROADCAST_WRITES(x)                             (((unsigned)(x) & 0x1) << 31)
1037#define   G_030800_SE_BROADCAST_WRITES(x)                             (((x) >> 31) & 0x1)
1038#define   C_030800_SE_BROADCAST_WRITES                                0x7FFFFFFF
1039#define R_030904_VGT_GSVS_RING_SIZE                                     0x030904
1040#define R_030908_VGT_PRIMITIVE_TYPE                                     0x030908
1041#define   S_030908_PRIM_TYPE(x)                                       (((unsigned)(x) & 0x3F) << 0)
1042#define   G_030908_PRIM_TYPE(x)                                       (((x) >> 0) & 0x3F)
1043#define   C_030908_PRIM_TYPE                                          0xFFFFFFC0
1044#define R_03090C_VGT_INDEX_TYPE                                         0x03090C
1045#define   S_03090C_INDEX_TYPE(x)                                      (((unsigned)(x) & 0x03) << 0)
1046#define   G_03090C_INDEX_TYPE(x)                                      (((x) >> 0) & 0x03)
1047#define   C_03090C_INDEX_TYPE                                         0xFFFFFFFC
1048#define   S_03090C_PRIMGEN_EN(x)                                      (((unsigned)(x) & 0x1) << 8)
1049#define   G_03090C_PRIMGEN_EN(x)                                      (((x) >> 8) & 0x1)
1050#define   C_03090C_PRIMGEN_EN                                         0xFFFFFEFF
1051#define R_030910_VGT_STRMOUT_BUFFER_FILLED_SIZE_0                       0x030910
1052#define R_030914_VGT_STRMOUT_BUFFER_FILLED_SIZE_1                       0x030914
1053#define R_030918_VGT_STRMOUT_BUFFER_FILLED_SIZE_2                       0x030918
1054#define R_03091C_VGT_STRMOUT_BUFFER_FILLED_SIZE_3                       0x03091C
1055#define R_030920_VGT_MAX_VTX_INDX                                       0x030920
1056#define R_030924_VGT_MIN_VTX_INDX                                       0x030924
1057#define R_030928_VGT_INDX_OFFSET                                        0x030928
1058#define R_03092C_VGT_MULTI_PRIM_IB_RESET_EN                             0x03092C
1059#define   S_03092C_RESET_EN(x)                                        (((unsigned)(x) & 0x1) << 0)
1060#define   G_03092C_RESET_EN(x)                                        (((x) >> 0) & 0x1)
1061#define   C_03092C_RESET_EN                                           0xFFFFFFFE
1062#define   S_03092C_MATCH_ALL_BITS(x)                                  (((unsigned)(x) & 0x1) << 1)
1063#define   G_03092C_MATCH_ALL_BITS(x)                                  (((x) >> 1) & 0x1)
1064#define   C_03092C_MATCH_ALL_BITS                                     0xFFFFFFFD
1065#define R_030930_VGT_NUM_INDICES                                        0x030930
1066#define R_030934_VGT_NUM_INSTANCES                                      0x030934
1067#define R_030938_VGT_TF_RING_SIZE                                       0x030938
1068#define   S_030938_SIZE(x)                                            (((unsigned)(x) & 0xFFFF) << 0)
1069#define   G_030938_SIZE(x)                                            (((x) >> 0) & 0xFFFF)
1070#define   C_030938_SIZE                                               0xFFFF0000
1071#define R_03093C_VGT_HS_OFFCHIP_PARAM                                   0x03093C
1072#define   S_03093C_OFFCHIP_BUFFERING(x)                               (((unsigned)(x) & 0x1FF) << 0)
1073#define   G_03093C_OFFCHIP_BUFFERING(x)                               (((x) >> 0) & 0x1FF)
1074#define   C_03093C_OFFCHIP_BUFFERING                                  0xFFFFFE00
1075#define   S_03093C_OFFCHIP_GRANULARITY(x)                             (((unsigned)(x) & 0x03) << 9)
1076#define   G_03093C_OFFCHIP_GRANULARITY(x)                             (((x) >> 9) & 0x03)
1077#define   C_03093C_OFFCHIP_GRANULARITY                                0xFFFFF9FF
1078#define R_030940_VGT_TF_MEMORY_BASE                                     0x030940
1079#define R_030944_VGT_TF_MEMORY_BASE_HI                                  0x030944
1080#define   S_030944_BASE_HI(x)                                         (((unsigned)(x) & 0xFF) << 0)
1081#define   G_030944_BASE_HI(x)                                         (((x) >> 0) & 0xFF)
1082#define   C_030944_BASE_HI                                            0xFFFFFF00
1083#define R_030948_WD_POS_BUF_BASE                                        0x030948
1084#define R_03094C_WD_POS_BUF_BASE_HI                                     0x03094C
1085#define   S_03094C_BASE_HI(x)                                         (((unsigned)(x) & 0xFF) << 0)
1086#define   G_03094C_BASE_HI(x)                                         (((x) >> 0) & 0xFF)
1087#define   C_03094C_BASE_HI                                            0xFFFFFF00
1088#define R_030950_WD_CNTL_SB_BUF_BASE                                    0x030950
1089#define R_030954_WD_CNTL_SB_BUF_BASE_HI                                 0x030954
1090#define   S_030954_BASE_HI(x)                                         (((unsigned)(x) & 0xFF) << 0)
1091#define   G_030954_BASE_HI(x)                                         (((x) >> 0) & 0xFF)
1092#define   C_030954_BASE_HI                                            0xFFFFFF00
1093#define R_030958_WD_INDEX_BUF_BASE                                      0x030958
1094#define R_03095C_WD_INDEX_BUF_BASE_HI                                   0x03095C
1095#define   S_03095C_BASE_HI(x)                                         (((unsigned)(x) & 0xFF) << 0)
1096#define   G_03095C_BASE_HI(x)                                         (((x) >> 0) & 0xFF)
1097#define   C_03095C_BASE_HI                                            0xFFFFFF00
1098#define R_030960_IA_MULTI_VGT_PARAM                                     0x030960
1099#define   S_030960_PRIMGROUP_SIZE(x)                                  (((unsigned)(x) & 0xFFFF) << 0)
1100#define   G_030960_PRIMGROUP_SIZE(x)                                  (((x) >> 0) & 0xFFFF)
1101#define   C_030960_PRIMGROUP_SIZE                                     0xFFFF0000
1102#define   S_030960_PARTIAL_VS_WAVE_ON(x)                              (((unsigned)(x) & 0x1) << 16)
1103#define   G_030960_PARTIAL_VS_WAVE_ON(x)                              (((x) >> 16) & 0x1)
1104#define   C_030960_PARTIAL_VS_WAVE_ON                                 0xFFFEFFFF
1105#define   S_030960_SWITCH_ON_EOP(x)                                   (((unsigned)(x) & 0x1) << 17)
1106#define   G_030960_SWITCH_ON_EOP(x)                                   (((x) >> 17) & 0x1)
1107#define   C_030960_SWITCH_ON_EOP                                      0xFFFDFFFF
1108#define   S_030960_PARTIAL_ES_WAVE_ON(x)                              (((unsigned)(x) & 0x1) << 18)
1109#define   G_030960_PARTIAL_ES_WAVE_ON(x)                              (((x) >> 18) & 0x1)
1110#define   C_030960_PARTIAL_ES_WAVE_ON                                 0xFFFBFFFF
1111#define   S_030960_SWITCH_ON_EOI(x)                                   (((unsigned)(x) & 0x1) << 19)
1112#define   G_030960_SWITCH_ON_EOI(x)                                   (((x) >> 19) & 0x1)
1113#define   C_030960_SWITCH_ON_EOI                                      0xFFF7FFFF
1114#define   S_030960_WD_SWITCH_ON_EOP(x)                                (((unsigned)(x) & 0x1) << 20)
1115#define   G_030960_WD_SWITCH_ON_EOP(x)                                (((x) >> 20) & 0x1)
1116#define   C_030960_WD_SWITCH_ON_EOP                                   0xFFEFFFFF
1117#define   S_030960_EN_INST_OPT_BASIC(x)                               (((unsigned)(x) & 0x1) << 21)
1118#define   G_030960_EN_INST_OPT_BASIC(x)                               (((x) >> 21) & 0x1)
1119#define   C_030960_EN_INST_OPT_BASIC                                  0xFFDFFFFF
1120#define   S_030960_EN_INST_OPT_ADV(x)                                 (((unsigned)(x) & 0x1) << 22)
1121#define   G_030960_EN_INST_OPT_ADV(x)                                 (((x) >> 22) & 0x1)
1122#define   C_030960_EN_INST_OPT_ADV                                    0xFFBFFFFF
1123#define   S_030960_HW_USE_ONLY(x)                                     (((unsigned)(x) & 0x1) << 23)
1124#define   G_030960_HW_USE_ONLY(x)                                     (((x) >> 23) & 0x1)
1125#define   C_030960_HW_USE_ONLY                                        0xFF7FFFFF
1126#define R_030968_VGT_INSTANCE_BASE_ID                                   0x030968
1127#define R_030A00_PA_SU_LINE_STIPPLE_VALUE                               0x030A00
1128#define   S_030A00_LINE_STIPPLE_VALUE(x)                              (((unsigned)(x) & 0xFFFFFF) << 0)
1129#define   G_030A00_LINE_STIPPLE_VALUE(x)                              (((x) >> 0) & 0xFFFFFF)
1130#define   C_030A00_LINE_STIPPLE_VALUE                                 0xFF000000
1131#define R_030A04_PA_SC_LINE_STIPPLE_STATE                               0x030A04
1132#define   S_030A04_CURRENT_PTR(x)                                     (((unsigned)(x) & 0x0F) << 0)
1133#define   G_030A04_CURRENT_PTR(x)                                     (((x) >> 0) & 0x0F)
1134#define   C_030A04_CURRENT_PTR                                        0xFFFFFFF0
1135#define   S_030A04_CURRENT_COUNT(x)                                   (((unsigned)(x) & 0xFF) << 8)
1136#define   G_030A04_CURRENT_COUNT(x)                                   (((x) >> 8) & 0xFF)
1137#define   C_030A04_CURRENT_COUNT                                      0xFFFF00FF
1138#define R_030A10_PA_SC_SCREEN_EXTENT_MIN_0                              0x030A10
1139#define   S_030A10_X(x)                                               (((unsigned)(x) & 0xFFFF) << 0)
1140#define   G_030A10_X(x)                                               (((x) >> 0) & 0xFFFF)
1141#define   C_030A10_X                                                  0xFFFF0000
1142#define   S_030A10_Y(x)                                               (((unsigned)(x) & 0xFFFF) << 16)
1143#define   G_030A10_Y(x)                                               (((x) >> 16) & 0xFFFF)
1144#define   C_030A10_Y                                                  0x0000FFFF
1145#define R_030A14_PA_SC_SCREEN_EXTENT_MAX_0                              0x030A14
1146#define   S_030A14_X(x)                                               (((unsigned)(x) & 0xFFFF) << 0)
1147#define   G_030A14_X(x)                                               (((x) >> 0) & 0xFFFF)
1148#define   C_030A14_X                                                  0xFFFF0000
1149#define   S_030A14_Y(x)                                               (((unsigned)(x) & 0xFFFF) << 16)
1150#define   G_030A14_Y(x)                                               (((x) >> 16) & 0xFFFF)
1151#define   C_030A14_Y                                                  0x0000FFFF
1152#define R_030A18_PA_SC_SCREEN_EXTENT_MIN_1                              0x030A18
1153#define   S_030A18_X(x)                                               (((unsigned)(x) & 0xFFFF) << 0)
1154#define   G_030A18_X(x)                                               (((x) >> 0) & 0xFFFF)
1155#define   C_030A18_X                                                  0xFFFF0000
1156#define   S_030A18_Y(x)                                               (((unsigned)(x) & 0xFFFF) << 16)
1157#define   G_030A18_Y(x)                                               (((x) >> 16) & 0xFFFF)
1158#define   C_030A18_Y                                                  0x0000FFFF
1159#define R_030A2C_PA_SC_SCREEN_EXTENT_MAX_1                              0x030A2C
1160#define   S_030A2C_X(x)                                               (((unsigned)(x) & 0xFFFF) << 0)
1161#define   G_030A2C_X(x)                                               (((x) >> 0) & 0xFFFF)
1162#define   C_030A2C_X                                                  0xFFFF0000
1163#define   S_030A2C_Y(x)                                               (((unsigned)(x) & 0xFFFF) << 16)
1164#define   G_030A2C_Y(x)                                               (((x) >> 16) & 0xFFFF)
1165#define   C_030A2C_Y                                                  0x0000FFFF
1166#define R_030D20_SQC_CACHES                                             0x030D20
1167#define   S_030D20_TARGET_INST(x)                                     (((unsigned)(x) & 0x1) << 0)
1168#define   G_030D20_TARGET_INST(x)                                     (((x) >> 0) & 0x1)
1169#define   C_030D20_TARGET_INST                                        0xFFFFFFFE
1170#define   S_030D20_TARGET_DATA(x)                                     (((unsigned)(x) & 0x1) << 1)
1171#define   G_030D20_TARGET_DATA(x)                                     (((x) >> 1) & 0x1)
1172#define   C_030D20_TARGET_DATA                                        0xFFFFFFFD
1173#define   S_030D20_INVALIDATE(x)                                      (((unsigned)(x) & 0x1) << 2)
1174#define   G_030D20_INVALIDATE(x)                                      (((x) >> 2) & 0x1)
1175#define   C_030D20_INVALIDATE                                         0xFFFFFFFB
1176#define   S_030D20_WRITEBACK(x)                                       (((unsigned)(x) & 0x1) << 3)
1177#define   G_030D20_WRITEBACK(x)                                       (((x) >> 3) & 0x1)
1178#define   C_030D20_WRITEBACK                                          0xFFFFFFF7
1179#define   S_030D20_VOL(x)                                             (((unsigned)(x) & 0x1) << 4)
1180#define   G_030D20_VOL(x)                                             (((x) >> 4) & 0x1)
1181#define   C_030D20_VOL                                                0xFFFFFFEF
1182#define   S_030D20_COMPLETE(x)                                        (((unsigned)(x) & 0x1) << 16)
1183#define   G_030D20_COMPLETE(x)                                        (((x) >> 16) & 0x1)
1184#define   C_030D20_COMPLETE                                           0xFFFEFFFF
1185#define R_030D24_SQC_WRITEBACK                                          0x030D24
1186#define   S_030D24_DWB(x)                                             (((unsigned)(x) & 0x1) << 0)
1187#define   G_030D24_DWB(x)                                             (((x) >> 0) & 0x1)
1188#define   C_030D24_DWB                                                0xFFFFFFFE
1189#define   S_030D24_DIRTY(x)                                           (((unsigned)(x) & 0x1) << 1)
1190#define   G_030D24_DIRTY(x)                                           (((x) >> 1) & 0x1)
1191#define   C_030D24_DIRTY                                              0xFFFFFFFD
1192#define R_030E00_TA_CS_BC_BASE_ADDR                                     0x030E00
1193#define R_030E04_TA_CS_BC_BASE_ADDR_HI                                  0x030E04
1194#define   S_030E04_ADDRESS(x)                                         (((unsigned)(x) & 0xFF) << 0)
1195#define   G_030E04_ADDRESS(x)                                         (((x) >> 0) & 0xFF)
1196#define   C_030E04_ADDRESS                                            0xFFFFFF00
1197#define R_030F00_DB_OCCLUSION_COUNT0_LOW                                0x030F00
1198#define R_008F00_SQ_BUF_RSRC_WORD0                                      0x008F00
1199#define R_030F04_DB_OCCLUSION_COUNT0_HI                                 0x030F04
1200#define   S_030F04_COUNT_HI(x)                                        (((unsigned)(x) & 0x7FFFFFFF) << 0)
1201#define   G_030F04_COUNT_HI(x)                                        (((x) >> 0) & 0x7FFFFFFF)
1202#define   C_030F04_COUNT_HI                                           0x80000000
1203#define R_008F04_SQ_BUF_RSRC_WORD1                                      0x008F04
1204#define   S_008F04_BASE_ADDRESS_HI(x)                                 (((unsigned)(x) & 0xFFFF) << 0)
1205#define   G_008F04_BASE_ADDRESS_HI(x)                                 (((x) >> 0) & 0xFFFF)
1206#define   C_008F04_BASE_ADDRESS_HI                                    0xFFFF0000
1207#define   S_008F04_STRIDE(x)                                          (((unsigned)(x) & 0x3FFF) << 16)
1208#define   G_008F04_STRIDE(x)                                          (((x) >> 16) & 0x3FFF)
1209#define   C_008F04_STRIDE                                             0xC000FFFF
1210#define   S_008F04_CACHE_SWIZZLE(x)                                   (((unsigned)(x) & 0x1) << 30)
1211#define   G_008F04_CACHE_SWIZZLE(x)                                   (((x) >> 30) & 0x1)
1212#define   C_008F04_CACHE_SWIZZLE                                      0xBFFFFFFF
1213#define   S_008F04_SWIZZLE_ENABLE(x)                                  (((unsigned)(x) & 0x1) << 31)
1214#define   G_008F04_SWIZZLE_ENABLE(x)                                  (((x) >> 31) & 0x1)
1215#define   C_008F04_SWIZZLE_ENABLE                                     0x7FFFFFFF
1216#define R_030F08_DB_OCCLUSION_COUNT1_LOW                                0x030F08
1217#define R_008F08_SQ_BUF_RSRC_WORD2                                      0x008F08
1218#define R_030F0C_DB_OCCLUSION_COUNT1_HI                                 0x030F0C
1219#define   S_030F0C_COUNT_HI(x)                                        (((unsigned)(x) & 0x7FFFFFFF) << 0)
1220#define   G_030F0C_COUNT_HI(x)                                        (((x) >> 0) & 0x7FFFFFFF)
1221#define   C_030F0C_COUNT_HI                                           0x80000000
1222#define R_008F0C_SQ_BUF_RSRC_WORD3                                      0x008F0C
1223#define   S_008F0C_DST_SEL_X(x)                                       (((unsigned)(x) & 0x07) << 0)
1224#define   G_008F0C_DST_SEL_X(x)                                       (((x) >> 0) & 0x07)
1225#define   C_008F0C_DST_SEL_X                                          0xFFFFFFF8
1226#define   S_008F0C_DST_SEL_Y(x)                                       (((unsigned)(x) & 0x07) << 3)
1227#define   G_008F0C_DST_SEL_Y(x)                                       (((x) >> 3) & 0x07)
1228#define   C_008F0C_DST_SEL_Y                                          0xFFFFFFC7
1229#define   S_008F0C_DST_SEL_Z(x)                                       (((unsigned)(x) & 0x07) << 6)
1230#define   G_008F0C_DST_SEL_Z(x)                                       (((x) >> 6) & 0x07)
1231#define   C_008F0C_DST_SEL_Z                                          0xFFFFFE3F
1232#define   S_008F0C_DST_SEL_W(x)                                       (((unsigned)(x) & 0x07) << 9)
1233#define   G_008F0C_DST_SEL_W(x)                                       (((x) >> 9) & 0x07)
1234#define   C_008F0C_DST_SEL_W                                          0xFFFFF1FF
1235#define   S_008F0C_NUM_FORMAT(x)                                      (((unsigned)(x) & 0x07) << 12)
1236#define   G_008F0C_NUM_FORMAT(x)                                      (((x) >> 12) & 0x07)
1237#define   C_008F0C_NUM_FORMAT                                         0xFFFF8FFF
1238#define   S_008F0C_DATA_FORMAT(x)                                     (((unsigned)(x) & 0x0F) << 15)
1239#define   G_008F0C_DATA_FORMAT(x)                                     (((x) >> 15) & 0x0F)
1240#define   C_008F0C_DATA_FORMAT                                        0xFFF87FFF
1241#define   S_008F0C_USER_VM_ENABLE(x)                                  (((unsigned)(x) & 0x1) << 19)
1242#define   G_008F0C_USER_VM_ENABLE(x)                                  (((x) >> 19) & 0x1)
1243#define   C_008F0C_USER_VM_ENABLE                                     0xFFF7FFFF
1244#define   S_008F0C_USER_VM_MODE(x)                                    (((unsigned)(x) & 0x1) << 20)
1245#define   G_008F0C_USER_VM_MODE(x)                                    (((x) >> 20) & 0x1)
1246#define   C_008F0C_USER_VM_MODE                                       0xFFEFFFFF
1247#define   S_008F0C_INDEX_STRIDE(x)                                    (((unsigned)(x) & 0x03) << 21)
1248#define   G_008F0C_INDEX_STRIDE(x)                                    (((x) >> 21) & 0x03)
1249#define   C_008F0C_INDEX_STRIDE                                       0xFF9FFFFF
1250#define   S_008F0C_ADD_TID_ENABLE(x)                                  (((unsigned)(x) & 0x1) << 23)
1251#define   G_008F0C_ADD_TID_ENABLE(x)                                  (((x) >> 23) & 0x1)
1252#define   C_008F0C_ADD_TID_ENABLE                                     0xFF7FFFFF
1253#define   S_008F0C_NV(x)                                              (((unsigned)(x) & 0x1) << 27)
1254#define   G_008F0C_NV(x)                                              (((x) >> 27) & 0x1)
1255#define   C_008F0C_NV                                                 0xF7FFFFFF
1256#define   S_008F0C_TYPE(x)                                            (((unsigned)(x) & 0x03) << 30)
1257#define   G_008F0C_TYPE(x)                                            (((x) >> 30) & 0x03)
1258#define   C_008F0C_TYPE                                               0x3FFFFFFF
1259#define R_030F10_DB_OCCLUSION_COUNT2_LOW                                0x030F10
1260#define R_008F10_SQ_IMG_RSRC_WORD0                                      0x008F10
1261#define R_030F14_DB_OCCLUSION_COUNT2_HI                                 0x030F14
1262#define   S_030F14_COUNT_HI(x)                                        (((unsigned)(x) & 0x7FFFFFFF) << 0)
1263#define   G_030F14_COUNT_HI(x)                                        (((x) >> 0) & 0x7FFFFFFF)
1264#define   C_030F14_COUNT_HI                                           0x80000000
1265#define R_008F14_SQ_IMG_RSRC_WORD1                                      0x008F14
1266#define   S_008F14_BASE_ADDRESS_HI(x)                                 (((unsigned)(x) & 0xFF) << 0)
1267#define   G_008F14_BASE_ADDRESS_HI(x)                                 (((x) >> 0) & 0xFF)
1268#define   C_008F14_BASE_ADDRESS_HI                                    0xFFFFFF00
1269#define   S_008F14_MIN_LOD(x)                                         (((unsigned)(x) & 0xFFF) << 8)
1270#define   G_008F14_MIN_LOD(x)                                         (((x) >> 8) & 0xFFF)
1271#define   C_008F14_MIN_LOD                                            0xFFF000FF
1272#define   S_008F14_DATA_FORMAT_GFX9(x)                                (((unsigned)(x) & 0x3F) << 20)
1273#define   G_008F14_DATA_FORMAT_GFX9(x)                                (((x) >> 20) & 0x3F)
1274#define   C_008F14_DATA_FORMAT_GFX9                                   0xFC0FFFFF
1275#define     V_008F14_IMG_DATA_FORMAT_INVALID                        0x00
1276#define     V_008F14_IMG_DATA_FORMAT_8                              0x01
1277#define     V_008F14_IMG_DATA_FORMAT_16                             0x02
1278#define     V_008F14_IMG_DATA_FORMAT_8_8                            0x03
1279#define     V_008F14_IMG_DATA_FORMAT_32                             0x04
1280#define     V_008F14_IMG_DATA_FORMAT_16_16                          0x05
1281#define     V_008F14_IMG_DATA_FORMAT_10_11_11                       0x06
1282#define     V_008F14_IMG_DATA_FORMAT_11_11_10                       0x07
1283#define     V_008F14_IMG_DATA_FORMAT_10_10_10_2                     0x08
1284#define     V_008F14_IMG_DATA_FORMAT_2_10_10_10                     0x09
1285#define     V_008F14_IMG_DATA_FORMAT_8_8_8_8                        0x0A
1286#define     V_008F14_IMG_DATA_FORMAT_32_32                          0x0B
1287#define     V_008F14_IMG_DATA_FORMAT_16_16_16_16                    0x0C
1288#define     V_008F14_IMG_DATA_FORMAT_32_32_32                       0x0D
1289#define     V_008F14_IMG_DATA_FORMAT_32_32_32_32                    0x0E
1290#define     V_008F14_IMG_DATA_FORMAT_RESERVED_15                    0x0F
1291#define     V_008F14_IMG_DATA_FORMAT_5_6_5                          0x10
1292#define     V_008F14_IMG_DATA_FORMAT_1_5_5_5                        0x11
1293#define     V_008F14_IMG_DATA_FORMAT_5_5_5_1                        0x12
1294#define     V_008F14_IMG_DATA_FORMAT_4_4_4_4                        0x13
1295#define     V_008F14_IMG_DATA_FORMAT_8_24                           0x14
1296#define     V_008F14_IMG_DATA_FORMAT_24_8                           0x15
1297#define     V_008F14_IMG_DATA_FORMAT_X24_8_32                       0x16
1298#define     V_008F14_IMG_DATA_FORMAT_8_AS_8_8_8_8                   0x17
1299#define     V_008F14_IMG_DATA_FORMAT_ETC2_RGB                       0x18
1300#define     V_008F14_IMG_DATA_FORMAT_ETC2_RGBA                      0x19
1301#define     V_008F14_IMG_DATA_FORMAT_ETC2_R                         0x1A
1302#define     V_008F14_IMG_DATA_FORMAT_ETC2_RG                        0x1B
1303#define     V_008F14_IMG_DATA_FORMAT_ETC2_RGBA1                     0x1C
1304#define     V_008F14_IMG_DATA_FORMAT_RESERVED_29                    0x1D
1305#define     V_008F14_IMG_DATA_FORMAT_RESERVED_30                    0x1E
1306#define     V_008F14_IMG_DATA_FORMAT_6E4                            0x1F
1307#define     V_008F14_IMG_DATA_FORMAT_GB_GR                          0x20
1308#define     V_008F14_IMG_DATA_FORMAT_BG_RG                          0x21
1309#define     V_008F14_IMG_DATA_FORMAT_5_9_9_9                        0x22
1310#define     V_008F14_IMG_DATA_FORMAT_BC1                            0x23
1311#define     V_008F14_IMG_DATA_FORMAT_BC2                            0x24
1312#define     V_008F14_IMG_DATA_FORMAT_BC3                            0x25
1313#define     V_008F14_IMG_DATA_FORMAT_BC4                            0x26
1314#define     V_008F14_IMG_DATA_FORMAT_BC5                            0x27
1315#define     V_008F14_IMG_DATA_FORMAT_BC6                            0x28
1316#define     V_008F14_IMG_DATA_FORMAT_BC7                            0x29
1317#define     V_008F14_IMG_DATA_FORMAT_16_AS_32_32                    0x2A
1318#define     V_008F14_IMG_DATA_FORMAT_16_AS_16_16_16_16_GFX9         0x2B
1319#define     V_008F14_IMG_DATA_FORMAT_16_AS_32_32_32_32_GFX9         0x2C
1320#define     V_008F14_IMG_DATA_FORMAT_FMASK                          0x2D /* NUM_FORMAT selects the format */
1321#define     V_008F14_IMG_DATA_FORMAT_ASTC_2D_LDR                    0x2E /* NUM_FORMAT selects the block size */
1322#define     V_008F14_IMG_DATA_FORMAT_ASTC_2D_HDR                    0x2F /* ditto */
1323#define     V_008F14_IMG_DATA_FORMAT_ASTC_2D_LDR_SRGB               0x30 /* ditto */
1324#define     V_008F14_IMG_DATA_FORMAT_ASTC_3D_LDR                    0x31 /* ditto */
1325#define     V_008F14_IMG_DATA_FORMAT_ASTC_3D_HDR                    0x32 /* ditto */
1326#define     V_008F14_IMG_DATA_FORMAT_ASTC_3D_LDR_SRGB               0x33 /* ditto */
1327#define     V_008F14_IMG_DATA_FORMAT_N_IN_16                        0x34
1328#define     V_008F14_IMG_DATA_FORMAT_N_IN_16_16                     0x35
1329#define     V_008F14_IMG_DATA_FORMAT_N_IN_16_16_16_16               0x36
1330#define     V_008F14_IMG_DATA_FORMAT_N_IN_16_AS_16_16_16_16         0x37
1331#define     V_008F14_IMG_DATA_FORMAT_RESERVED_56                    0x38
1332#define     V_008F14_IMG_DATA_FORMAT_4_4                            0x39
1333#define     V_008F14_IMG_DATA_FORMAT_6_5_5                          0x3A
1334#define     V_008F14_IMG_DATA_FORMAT_S8_16                          0x3B
1335#define     V_008F14_IMG_DATA_FORMAT_S8_32                          0x3C
1336#define     V_008F14_IMG_DATA_FORMAT_8_AS_32                        0x3D
1337#define     V_008F14_IMG_DATA_FORMAT_8_AS_32_32                     0x3E
1338#define     V_008F14_IMG_DATA_FORMAT_32_AS_32_32_32_32              0x3F
1339#define   S_008F14_NUM_FORMAT_GFX9(x)                                 (((unsigned)(x) & 0x0F) << 26)
1340#define   G_008F14_NUM_FORMAT_GFX9(x)                                 (((x) >> 26) & 0x0F)
1341#define   C_008F14_NUM_FORMAT_GFX9                                    0xC3FFFFFF
1342#define     V_008F14_IMG_NUM_FORMAT_UNORM                           0x00
1343#define     V_008F14_IMG_NUM_FORMAT_SNORM                           0x01
1344#define     V_008F14_IMG_NUM_FORMAT_USCALED                         0x02
1345#define     V_008F14_IMG_NUM_FORMAT_SSCALED                         0x03
1346#define     V_008F14_IMG_NUM_FORMAT_UINT                            0x04
1347#define     V_008F14_IMG_NUM_FORMAT_SINT                            0x05
1348#define     V_008F14_IMG_NUM_FORMAT_RESERVED_6                      0x06
1349#define     V_008F14_IMG_NUM_FORMAT_FLOAT                           0x07
1350#define     V_008F14_IMG_NUM_FORMAT_METADATA                        0x08
1351#define     V_008F14_IMG_NUM_FORMAT_SRGB                            0x09
1352#define     V_008F14_IMG_NUM_FORMAT_UNORM_UINT                      0x0A
1353#define   S_008F14_NUM_FORMAT_FMASK(x)                                (((unsigned)(x) & 0x0F) << 26)
1354#define   G_008F14_NUM_FORMAT_FMASK(x)                                (((x) >> 26) & 0x0F)
1355#define   C_008F14_NUM_FORMAT_FMASK                                   0xC3FFFFFF
1356#define     V_008F14_IMG_FMASK_8_2_1                                0x00
1357#define     V_008F14_IMG_FMASK_8_4_1                                0x01
1358#define     V_008F14_IMG_FMASK_8_8_1                                0x02
1359#define     V_008F14_IMG_FMASK_8_2_2                                0x03
1360#define     V_008F14_IMG_FMASK_8_4_2                                0x04
1361#define     V_008F14_IMG_FMASK_8_4_4                                0x05
1362#define     V_008F14_IMG_FMASK_16_16_1                              0x06
1363#define     V_008F14_IMG_FMASK_16_8_2                               0x07
1364#define     V_008F14_IMG_FMASK_32_16_2                              0x08
1365#define     V_008F14_IMG_FMASK_32_8_4                               0x09
1366#define     V_008F14_IMG_FMASK_32_8_8                               0x0A
1367#define     V_008F14_IMG_FMASK_64_16_4                              0x0B
1368#define     V_008F14_IMG_FMASK_64_16_8                              0x0C
1369#define   S_008F14_NUM_FORMAT_ASTC_2D(x)                              (((unsigned)(x) & 0x0F) << 26)
1370#define   G_008F14_NUM_FORMAT_ASTC_2D(x)                              (((x) >> 26) & 0x0F)
1371#define   C_008F14_NUM_FORMAT_ASTC_2D                               0xC3FFFFFF
1372#define     V_008F14_IMG_ASTC_2D_4x4                                0x00
1373#define     V_008F14_IMG_ASTC_2D_5x4                                0x01
1374#define     V_008F14_IMG_ASTC_2D_5x5                                0x02
1375#define     V_008F14_IMG_ASTC_2D_6x5                                0x03
1376#define     V_008F14_IMG_ASTC_2D_6x6                                0x04
1377#define     V_008F14_IMG_ASTC_2D_8x5                                0x05
1378#define     V_008F14_IMG_ASTC_2D_8x6                                0x06
1379#define     V_008F14_IMG_ASTC_2D_8x8                                0x07
1380#define     V_008F14_IMG_ASTC_2D_10x5                               0x08
1381#define     V_008F14_IMG_ASTC_2D_10x6                               0x09
1382#define     V_008F14_IMG_ASTC_2D_10x8                               0x0A
1383#define     V_008F14_IMG_ASTC_2D_10x10                              0x0B
1384#define     V_008F14_IMG_ASTC_2D_12x10                              0x0C
1385#define     V_008F14_IMG_ASTC_2D_12x12                              0x0D
1386#define   S_008F14_NUM_FORMAT_ASTC_3D(x)                              (((unsigned)(x) & 0x0F) << 26)
1387#define   G_008F14_NUM_FORMAT_ASTC_3D(x)                              (((x) >> 26) & 0x0F)
1388#define   C_008F14_NUM_FORMAT_ASTC_3D                               0xC3FFFFFF
1389#define     V_008F14_IMG_ASTC_3D_3x3x3                              0x00
1390#define     V_008F14_IMG_ASTC_3D_4x3x3                              0x01
1391#define     V_008F14_IMG_ASTC_3D_4x4x3                              0x02
1392#define     V_008F14_IMG_ASTC_3D_4x4x4                              0x03
1393#define     V_008F14_IMG_ASTC_3D_5x4x4                              0x04
1394#define     V_008F14_IMG_ASTC_3D_5x5x4                              0x05
1395#define     V_008F14_IMG_ASTC_3D_5x5x5                              0x06
1396#define     V_008F14_IMG_ASTC_3D_6x5x5                              0x07
1397#define     V_008F14_IMG_ASTC_3D_6x6x5                              0x08
1398#define     V_008F14_IMG_ASTC_3D_6x6x6                              0x09
1399#define   S_008F14_NV(x)                                              (((unsigned)(x) & 0x1) << 30)
1400#define   G_008F14_NV(x)                                              (((x) >> 30) & 0x1)
1401#define   C_008F14_NV                                                 0xBFFFFFFF
1402#define   S_008F14_META_DIRECT(x)                                     (((unsigned)(x) & 0x1) << 31)
1403#define   G_008F14_META_DIRECT(x)                                     (((x) >> 31) & 0x1)
1404#define   C_008F14_META_DIRECT                                        0x7FFFFFFF
1405#define R_030F18_DB_OCCLUSION_COUNT3_LOW                                0x030F18
1406#define R_008F18_SQ_IMG_RSRC_WORD2                                      0x008F18
1407#define   S_008F18_WIDTH(x)                                           (((unsigned)(x) & 0x3FFF) << 0)
1408#define   G_008F18_WIDTH(x)                                           (((x) >> 0) & 0x3FFF)
1409#define   C_008F18_WIDTH                                              0xFFFFC000
1410#define   S_008F18_HEIGHT(x)                                          (((unsigned)(x) & 0x3FFF) << 14)
1411#define   G_008F18_HEIGHT(x)                                          (((x) >> 14) & 0x3FFF)
1412#define   C_008F18_HEIGHT                                             0xF0003FFF
1413#define   S_008F18_PERF_MOD(x)                                        (((unsigned)(x) & 0x07) << 28)
1414#define   G_008F18_PERF_MOD(x)                                        (((x) >> 28) & 0x07)
1415#define   C_008F18_PERF_MOD                                           0x8FFFFFFF
1416#define R_030F1C_DB_OCCLUSION_COUNT3_HI                                 0x030F1C
1417#define   S_030F1C_COUNT_HI(x)                                        (((unsigned)(x) & 0x7FFFFFFF) << 0)
1418#define   G_030F1C_COUNT_HI(x)                                        (((x) >> 0) & 0x7FFFFFFF)
1419#define   C_030F1C_COUNT_HI                                           0x80000000
1420#define R_008F1C_SQ_IMG_RSRC_WORD3                                      0x008F1C
1421#define   S_008F1C_DST_SEL_X(x)                                       (((unsigned)(x) & 0x07) << 0)
1422#define   G_008F1C_DST_SEL_X(x)                                       (((x) >> 0) & 0x07)
1423#define   C_008F1C_DST_SEL_X                                          0xFFFFFFF8
1424#define   S_008F1C_DST_SEL_Y(x)                                       (((unsigned)(x) & 0x07) << 3)
1425#define   G_008F1C_DST_SEL_Y(x)                                       (((x) >> 3) & 0x07)
1426#define   C_008F1C_DST_SEL_Y                                          0xFFFFFFC7
1427#define   S_008F1C_DST_SEL_Z(x)                                       (((unsigned)(x) & 0x07) << 6)
1428#define   G_008F1C_DST_SEL_Z(x)                                       (((x) >> 6) & 0x07)
1429#define   C_008F1C_DST_SEL_Z                                          0xFFFFFE3F
1430#define   S_008F1C_DST_SEL_W(x)                                       (((unsigned)(x) & 0x07) << 9)
1431#define   G_008F1C_DST_SEL_W(x)                                       (((x) >> 9) & 0x07)
1432#define   C_008F1C_DST_SEL_W                                          0xFFFFF1FF
1433#define   S_008F1C_BASE_LEVEL(x)                                      (((unsigned)(x) & 0x0F) << 12)
1434#define   G_008F1C_BASE_LEVEL(x)                                      (((x) >> 12) & 0x0F)
1435#define   C_008F1C_BASE_LEVEL                                         0xFFFF0FFF
1436#define   S_008F1C_LAST_LEVEL(x)                                      (((unsigned)(x) & 0x0F) << 16)
1437#define   G_008F1C_LAST_LEVEL(x)                                      (((x) >> 16) & 0x0F)
1438#define   C_008F1C_LAST_LEVEL                                         0xFFF0FFFF
1439#define   S_008F1C_SW_MODE(x)                                         (((unsigned)(x) & 0x1F) << 20)
1440#define   G_008F1C_SW_MODE(x)                                         (((x) >> 20) & 0x1F)
1441#define   C_008F1C_SW_MODE                                            0xFE0FFFFF
1442#define   S_008F1C_TYPE(x)                                            (((unsigned)(x) & 0x0F) << 28)
1443#define   G_008F1C_TYPE(x)                                            (((x) >> 28) & 0x0F)
1444#define   C_008F1C_TYPE                                               0x0FFFFFFF
1445#define R_008F20_SQ_IMG_RSRC_WORD4                                      0x008F20
1446#define   S_008F20_DEPTH(x)                                           (((unsigned)(x) & 0x1FFF) << 0)
1447#define   G_008F20_DEPTH(x)                                           (((x) >> 0) & 0x1FFF)
1448#define   C_008F20_DEPTH                                              0xFFFFE000
1449#define   S_008F20_PITCH_GFX9(x)                                      (((unsigned)(x) & 0xFFFF) << 13)
1450#define   G_008F20_PITCH_GFX9(x)                                      (((x) >> 13) & 0xFFFF)
1451#define   C_008F20_PITCH_GFX9                                         0xE0001FFF
1452#define   S_008F20_BC_SWIZZLE(x)                                      (((unsigned)(x) & 0x07) << 29)
1453#define   G_008F20_BC_SWIZZLE(x)                                      (((x) >> 29) & 0x07)
1454#define   C_008F20_BC_SWIZZLE                                         0x1FFFFFFF
1455#define     V_008F20_BC_SWIZZLE_XYZW					0
1456#define     V_008F20_BC_SWIZZLE_XWYZ					1
1457#define     V_008F20_BC_SWIZZLE_WZYX					2
1458#define     V_008F20_BC_SWIZZLE_WXYZ					3
1459#define     V_008F20_BC_SWIZZLE_ZYXW					4
1460#define     V_008F20_BC_SWIZZLE_YXWZ					5
1461#define R_008F24_SQ_IMG_RSRC_WORD5                                      0x008F24
1462#define   S_008F24_BASE_ARRAY(x)                                      (((unsigned)(x) & 0x1FFF) << 0)
1463#define   G_008F24_BASE_ARRAY(x)                                      (((x) >> 0) & 0x1FFF)
1464#define   C_008F24_BASE_ARRAY                                         0xFFFFE000
1465#define   S_008F24_ARRAY_PITCH(x)                                     (((unsigned)(x) & 0x0F) << 13)
1466#define   G_008F24_ARRAY_PITCH(x)                                     (((x) >> 13) & 0x0F)
1467#define   C_008F24_ARRAY_PITCH                                        0xFFFE1FFF
1468#define   S_008F24_META_DATA_ADDRESS(x)                               (((unsigned)(x) & 0xFF) << 17)
1469#define   G_008F24_META_DATA_ADDRESS(x)                               (((x) >> 17) & 0xFF)
1470#define   C_008F24_META_DATA_ADDRESS                                  0xFE01FFFF
1471#define   S_008F24_META_LINEAR(x)                                     (((unsigned)(x) & 0x1) << 25)
1472#define   G_008F24_META_LINEAR(x)                                     (((x) >> 25) & 0x1)
1473#define   C_008F24_META_LINEAR                                        0xFDFFFFFF
1474#define   S_008F24_META_PIPE_ALIGNED(x)                               (((unsigned)(x) & 0x1) << 26)
1475#define   G_008F24_META_PIPE_ALIGNED(x)                               (((x) >> 26) & 0x1)
1476#define   C_008F24_META_PIPE_ALIGNED                                  0xFBFFFFFF
1477#define   S_008F24_META_RB_ALIGNED(x)                                 (((unsigned)(x) & 0x1) << 27)
1478#define   G_008F24_META_RB_ALIGNED(x)                                 (((x) >> 27) & 0x1)
1479#define   C_008F24_META_RB_ALIGNED                                    0xF7FFFFFF
1480#define   S_008F24_MAX_MIP(x)                                         (((unsigned)(x) & 0x0F) << 28)
1481#define   G_008F24_MAX_MIP(x)                                         (((x) >> 28) & 0x0F)
1482#define   C_008F24_MAX_MIP                                            0x0FFFFFFF
1483#define R_008F28_SQ_IMG_RSRC_WORD6                                      0x008F28
1484#define   S_008F28_MIN_LOD_WARN(x)                                    (((unsigned)(x) & 0xFFF) << 0)
1485#define   G_008F28_MIN_LOD_WARN(x)                                    (((x) >> 0) & 0xFFF)
1486#define   C_008F28_MIN_LOD_WARN                                       0xFFFFF000
1487#define   S_008F28_COUNTER_BANK_ID(x)                                 (((unsigned)(x) & 0xFF) << 12)
1488#define   G_008F28_COUNTER_BANK_ID(x)                                 (((x) >> 12) & 0xFF)
1489#define   C_008F28_COUNTER_BANK_ID                                    0xFFF00FFF
1490#define   S_008F28_LOD_HDW_CNT_EN(x)                                  (((unsigned)(x) & 0x1) << 20)
1491#define   G_008F28_LOD_HDW_CNT_EN(x)                                  (((x) >> 20) & 0x1)
1492#define   C_008F28_LOD_HDW_CNT_EN                                     0xFFEFFFFF
1493#define   S_008F28_COMPRESSION_EN(x)                                  (((unsigned)(x) & 0x1) << 21)
1494#define   G_008F28_COMPRESSION_EN(x)                                  (((x) >> 21) & 0x1)
1495#define   C_008F28_COMPRESSION_EN                                     0xFFDFFFFF
1496#define   S_008F28_ALPHA_IS_ON_MSB(x)                                 (((unsigned)(x) & 0x1) << 22)
1497#define   G_008F28_ALPHA_IS_ON_MSB(x)                                 (((x) >> 22) & 0x1)
1498#define   C_008F28_ALPHA_IS_ON_MSB                                    0xFFBFFFFF
1499#define   S_008F28_COLOR_TRANSFORM(x)                                 (((unsigned)(x) & 0x1) << 23)
1500#define   G_008F28_COLOR_TRANSFORM(x)                                 (((x) >> 23) & 0x1)
1501#define   C_008F28_COLOR_TRANSFORM                                    0xFF7FFFFF
1502#define   S_008F28_LOST_ALPHA_BITS(x)                                 (((unsigned)(x) & 0x0F) << 24)
1503#define   G_008F28_LOST_ALPHA_BITS(x)                                 (((x) >> 24) & 0x0F)
1504#define   C_008F28_LOST_ALPHA_BITS                                    0xF0FFFFFF
1505#define   S_008F28_LOST_COLOR_BITS(x)                                 (((unsigned)(x) & 0x0F) << 28)
1506#define   G_008F28_LOST_COLOR_BITS(x)                                 (((x) >> 28) & 0x0F)
1507#define   C_008F28_LOST_COLOR_BITS                                    0x0FFFFFFF
1508#define R_008F2C_SQ_IMG_RSRC_WORD7                                      0x008F2C
1509#define R_008F30_SQ_IMG_SAMP_WORD0                                      0x008F30
1510#define   S_008F30_CLAMP_X(x)                                         (((unsigned)(x) & 0x07) << 0)
1511#define   G_008F30_CLAMP_X(x)                                         (((x) >> 0) & 0x07)
1512#define   C_008F30_CLAMP_X                                            0xFFFFFFF8
1513#define   S_008F30_CLAMP_Y(x)                                         (((unsigned)(x) & 0x07) << 3)
1514#define   G_008F30_CLAMP_Y(x)                                         (((x) >> 3) & 0x07)
1515#define   C_008F30_CLAMP_Y                                            0xFFFFFFC7
1516#define   S_008F30_CLAMP_Z(x)                                         (((unsigned)(x) & 0x07) << 6)
1517#define   G_008F30_CLAMP_Z(x)                                         (((x) >> 6) & 0x07)
1518#define   C_008F30_CLAMP_Z                                            0xFFFFFE3F
1519#define   S_008F30_MAX_ANISO_RATIO(x)                                 (((unsigned)(x) & 0x07) << 9)
1520#define   G_008F30_MAX_ANISO_RATIO(x)                                 (((x) >> 9) & 0x07)
1521#define   C_008F30_MAX_ANISO_RATIO                                    0xFFFFF1FF
1522#define   S_008F30_DEPTH_COMPARE_FUNC(x)                              (((unsigned)(x) & 0x07) << 12)
1523#define   G_008F30_DEPTH_COMPARE_FUNC(x)                              (((x) >> 12) & 0x07)
1524#define   C_008F30_DEPTH_COMPARE_FUNC                                 0xFFFF8FFF
1525#define   S_008F30_FORCE_UNNORMALIZED(x)                              (((unsigned)(x) & 0x1) << 15)
1526#define   G_008F30_FORCE_UNNORMALIZED(x)                              (((x) >> 15) & 0x1)
1527#define   C_008F30_FORCE_UNNORMALIZED                                 0xFFFF7FFF
1528#define   S_008F30_ANISO_THRESHOLD(x)                                 (((unsigned)(x) & 0x07) << 16)
1529#define   G_008F30_ANISO_THRESHOLD(x)                                 (((x) >> 16) & 0x07)
1530#define   C_008F30_ANISO_THRESHOLD                                    0xFFF8FFFF
1531#define   S_008F30_MC_COORD_TRUNC(x)                                  (((unsigned)(x) & 0x1) << 19)
1532#define   G_008F30_MC_COORD_TRUNC(x)                                  (((x) >> 19) & 0x1)
1533#define   C_008F30_MC_COORD_TRUNC                                     0xFFF7FFFF
1534#define   S_008F30_FORCE_DEGAMMA(x)                                   (((unsigned)(x) & 0x1) << 20)
1535#define   G_008F30_FORCE_DEGAMMA(x)                                   (((x) >> 20) & 0x1)
1536#define   C_008F30_FORCE_DEGAMMA                                      0xFFEFFFFF
1537#define   S_008F30_ANISO_BIAS(x)                                      (((unsigned)(x) & 0x3F) << 21)
1538#define   G_008F30_ANISO_BIAS(x)                                      (((x) >> 21) & 0x3F)
1539#define   C_008F30_ANISO_BIAS                                         0xF81FFFFF
1540#define   S_008F30_TRUNC_COORD(x)                                     (((unsigned)(x) & 0x1) << 27)
1541#define   G_008F30_TRUNC_COORD(x)                                     (((x) >> 27) & 0x1)
1542#define   C_008F30_TRUNC_COORD                                        0xF7FFFFFF
1543#define   S_008F30_DISABLE_CUBE_WRAP(x)                               (((unsigned)(x) & 0x1) << 28)
1544#define   G_008F30_DISABLE_CUBE_WRAP(x)                               (((x) >> 28) & 0x1)
1545#define   C_008F30_DISABLE_CUBE_WRAP                                  0xEFFFFFFF
1546#define   S_008F30_FILTER_MODE(x)                                     (((unsigned)(x) & 0x03) << 29)
1547#define   G_008F30_FILTER_MODE(x)                                     (((x) >> 29) & 0x03)
1548#define   C_008F30_FILTER_MODE                                        0x9FFFFFFF
1549#define   S_008F30_COMPAT_MODE(x)                                     (((unsigned)(x) & 0x1) << 31)
1550#define   G_008F30_COMPAT_MODE(x)                                     (((x) >> 31) & 0x1)
1551#define   C_008F30_COMPAT_MODE                                        0x7FFFFFFF
1552#define R_008F34_SQ_IMG_SAMP_WORD1                                      0x008F34
1553#define   S_008F34_MIN_LOD(x)                                         (((unsigned)(x) & 0xFFF) << 0)
1554#define   G_008F34_MIN_LOD(x)                                         (((x) >> 0) & 0xFFF)
1555#define   C_008F34_MIN_LOD                                            0xFFFFF000
1556#define   S_008F34_MAX_LOD(x)                                         (((unsigned)(x) & 0xFFF) << 12)
1557#define   G_008F34_MAX_LOD(x)                                         (((x) >> 12) & 0xFFF)
1558#define   C_008F34_MAX_LOD                                            0xFF000FFF
1559#define   S_008F34_PERF_MIP(x)                                        (((unsigned)(x) & 0x0F) << 24)
1560#define   G_008F34_PERF_MIP(x)                                        (((x) >> 24) & 0x0F)
1561#define   C_008F34_PERF_MIP                                           0xF0FFFFFF
1562#define   S_008F34_PERF_Z(x)                                          (((unsigned)(x) & 0x0F) << 28)
1563#define   G_008F34_PERF_Z(x)                                          (((x) >> 28) & 0x0F)
1564#define   C_008F34_PERF_Z                                             0x0FFFFFFF
1565#define R_008F38_SQ_IMG_SAMP_WORD2                                      0x008F38
1566#define   S_008F38_LOD_BIAS(x)                                        (((unsigned)(x) & 0x3FFF) << 0)
1567#define   G_008F38_LOD_BIAS(x)                                        (((x) >> 0) & 0x3FFF)
1568#define   C_008F38_LOD_BIAS                                           0xFFFFC000
1569#define   S_008F38_LOD_BIAS_SEC(x)                                    (((unsigned)(x) & 0x3F) << 14)
1570#define   G_008F38_LOD_BIAS_SEC(x)                                    (((x) >> 14) & 0x3F)
1571#define   C_008F38_LOD_BIAS_SEC                                       0xFFF03FFF
1572#define   S_008F38_XY_MAG_FILTER(x)                                   (((unsigned)(x) & 0x03) << 20)
1573#define   G_008F38_XY_MAG_FILTER(x)                                   (((x) >> 20) & 0x03)
1574#define   C_008F38_XY_MAG_FILTER                                      0xFFCFFFFF
1575#define   S_008F38_XY_MIN_FILTER(x)                                   (((unsigned)(x) & 0x03) << 22)
1576#define   G_008F38_XY_MIN_FILTER(x)                                   (((x) >> 22) & 0x03)
1577#define   C_008F38_XY_MIN_FILTER                                      0xFF3FFFFF
1578#define   S_008F38_Z_FILTER(x)                                        (((unsigned)(x) & 0x03) << 24)
1579#define   G_008F38_Z_FILTER(x)                                        (((x) >> 24) & 0x03)
1580#define   C_008F38_Z_FILTER                                           0xFCFFFFFF
1581#define   S_008F38_MIP_FILTER(x)                                      (((unsigned)(x) & 0x03) << 26)
1582#define   G_008F38_MIP_FILTER(x)                                      (((x) >> 26) & 0x03)
1583#define   C_008F38_MIP_FILTER                                         0xF3FFFFFF
1584#define   S_008F38_MIP_POINT_PRECLAMP(x)                              (((unsigned)(x) & 0x1) << 28)
1585#define   G_008F38_MIP_POINT_PRECLAMP(x)                              (((x) >> 28) & 0x1)
1586#define   C_008F38_MIP_POINT_PRECLAMP                                 0xEFFFFFFF
1587#define   S_008F38_BLEND_ZERO_PRT(x)                                  (((unsigned)(x) & 0x1) << 29)
1588#define   G_008F38_BLEND_ZERO_PRT(x)                                  (((x) >> 29) & 0x1)
1589#define   C_008F38_BLEND_ZERO_PRT                                     0xDFFFFFFF
1590#define   S_008F38_FILTER_PREC_FIX(x)                                 (((unsigned)(x) & 0x1) << 30)
1591#define   G_008F38_FILTER_PREC_FIX(x)                                 (((x) >> 30) & 0x1)
1592#define   C_008F38_FILTER_PREC_FIX                                    0xBFFFFFFF
1593#define   S_008F38_ANISO_OVERRIDE(x)                                  (((unsigned)(x) & 0x1) << 31)
1594#define   G_008F38_ANISO_OVERRIDE(x)                                  (((x) >> 31) & 0x1)
1595#define   C_008F38_ANISO_OVERRIDE                                     0x7FFFFFFF
1596#define R_008F3C_SQ_IMG_SAMP_WORD3                                      0x008F3C
1597#define   S_008F3C_BORDER_COLOR_PTR(x)                                (((unsigned)(x) & 0xFFF) << 0)
1598#define   G_008F3C_BORDER_COLOR_PTR(x)                                (((x) >> 0) & 0xFFF)
1599#define   C_008F3C_BORDER_COLOR_PTR                                   0xFFFFF000
1600#define   S_008F3C_SKIP_DEGAMMA(x)                                    (((unsigned)(x) & 0x1) << 12)
1601#define   G_008F3C_SKIP_DEGAMMA(x)                                    (((x) >> 12) & 0x1)
1602#define   C_008F3C_SKIP_DEGAMMA                                       0xFFFFEFFF
1603#define   S_008F3C_BORDER_COLOR_TYPE(x)                               (((unsigned)(x) & 0x03) << 30)
1604#define   G_008F3C_BORDER_COLOR_TYPE(x)                               (((x) >> 30) & 0x03)
1605#define   C_008F3C_BORDER_COLOR_TYPE                                  0x3FFFFFFF
1606#define R_030FF8_DB_ZPASS_COUNT_LOW                                     0x030FF8
1607#define R_030FFC_DB_ZPASS_COUNT_HI                                      0x030FFC
1608#define   S_030FFC_COUNT_HI(x)                                        (((unsigned)(x) & 0x7FFFFFFF) << 0)
1609#define   G_030FFC_COUNT_HI(x)                                        (((x) >> 0) & 0x7FFFFFFF)
1610#define   C_030FFC_COUNT_HI                                           0x80000000
1611#define R_031100_SPI_CONFIG_CNTL                                        0x031100
1612#define   S_031100_GPR_WRITE_PRIORITY(x)                              (((unsigned)(x) & 0x1FFFFF) << 0)
1613#define   G_031100_GPR_WRITE_PRIORITY(x)                              (((x) >> 0) & 0x1FFFFF)
1614#define   C_031100_GPR_WRITE_PRIORITY                                 0xFFE00000
1615#define   S_031100_EXP_PRIORITY_ORDER(x)                              (((unsigned)(x) & 0x07) << 21)
1616#define   G_031100_EXP_PRIORITY_ORDER(x)                              (((x) >> 21) & 0x07)
1617#define   C_031100_EXP_PRIORITY_ORDER                                 0xFF1FFFFF
1618#define   S_031100_ENABLE_SQG_TOP_EVENTS(x)                           (((unsigned)(x) & 0x1) << 24)
1619#define   G_031100_ENABLE_SQG_TOP_EVENTS(x)                           (((x) >> 24) & 0x1)
1620#define   C_031100_ENABLE_SQG_TOP_EVENTS                              0xFEFFFFFF
1621#define   S_031100_ENABLE_SQG_BOP_EVENTS(x)                           (((unsigned)(x) & 0x1) << 25)
1622#define   G_031100_ENABLE_SQG_BOP_EVENTS(x)                           (((x) >> 25) & 0x1)
1623#define   C_031100_ENABLE_SQG_BOP_EVENTS                              0xFDFFFFFF
1624#define   S_031100_RSRC_MGMT_RESET(x)                                 (((unsigned)(x) & 0x1) << 26)
1625#define   G_031100_RSRC_MGMT_RESET(x)                                 (((x) >> 26) & 0x1)
1626#define   C_031100_RSRC_MGMT_RESET                                    0xFBFFFFFF
1627#define   S_031100_TTRACE_STALL_ALL(x)                                (((unsigned)(x) & 0x1) << 27)
1628#define   G_031100_TTRACE_STALL_ALL(x)                                (((x) >> 27) & 0x1)
1629#define   C_031100_TTRACE_STALL_ALL                                   0xF7FFFFFF
1630#define   S_031100_ALLOC_ARB_LRU_ENA(x)                               (((unsigned)(x) & 0x1) << 28)
1631#define   G_031100_ALLOC_ARB_LRU_ENA(x)                               (((x) >> 28) & 0x1)
1632#define   C_031100_ALLOC_ARB_LRU_ENA                                  0xEFFFFFFF
1633#define   S_031100_EXP_ARB_LRU_ENA(x)                                 (((unsigned)(x) & 0x1) << 29)
1634#define   G_031100_EXP_ARB_LRU_ENA(x)                                 (((x) >> 29) & 0x1)
1635#define   C_031100_EXP_ARB_LRU_ENA                                    0xDFFFFFFF
1636#define   S_031100_PS_PKR_PRIORITY_CNTL(x)                            (((unsigned)(x) & 0x03) << 30)
1637#define   G_031100_PS_PKR_PRIORITY_CNTL(x)                            (((x) >> 30) & 0x03)
1638#define   C_031100_PS_PKR_PRIORITY_CNTL                               0x3FFFFFFF
1639#define R_031104_SPI_CONFIG_CNTL_1                                      0x031104
1640#define   S_031104_VTX_DONE_DELAY(x)                                  (((unsigned)(x) & 0x0F) << 0)
1641#define   G_031104_VTX_DONE_DELAY(x)                                  (((x) >> 0) & 0x0F)
1642#define   C_031104_VTX_DONE_DELAY                                     0xFFFFFFF0
1643#define   S_031104_INTERP_ONE_PRIM_PER_ROW(x)                         (((unsigned)(x) & 0x1) << 4)
1644#define   G_031104_INTERP_ONE_PRIM_PER_ROW(x)                         (((x) >> 4) & 0x1)
1645#define   C_031104_INTERP_ONE_PRIM_PER_ROW                            0xFFFFFFEF
1646#define   S_031104_BATON_RESET_DISABLE(x)                             (((unsigned)(x) & 0x1) << 5)
1647#define   G_031104_BATON_RESET_DISABLE(x)                             (((x) >> 5) & 0x1)
1648#define   C_031104_BATON_RESET_DISABLE                                0xFFFFFFDF
1649#define   S_031104_PC_LIMIT_ENABLE(x)                                 (((unsigned)(x) & 0x1) << 6)
1650#define   G_031104_PC_LIMIT_ENABLE(x)                                 (((x) >> 6) & 0x1)
1651#define   C_031104_PC_LIMIT_ENABLE                                    0xFFFFFFBF
1652#define   S_031104_PC_LIMIT_STRICT(x)                                 (((unsigned)(x) & 0x1) << 7)
1653#define   G_031104_PC_LIMIT_STRICT(x)                                 (((x) >> 7) & 0x1)
1654#define   C_031104_PC_LIMIT_STRICT                                    0xFFFFFF7F
1655#define   S_031104_CRC_SIMD_ID_WADDR_DISABLE(x)                       (((unsigned)(x) & 0x1) << 8)
1656#define   G_031104_CRC_SIMD_ID_WADDR_DISABLE(x)                       (((x) >> 8) & 0x1)
1657#define   C_031104_CRC_SIMD_ID_WADDR_DISABLE                          0xFFFFFEFF
1658#define   S_031104_LBPW_CU_CHK_MODE(x)                                (((unsigned)(x) & 0x1) << 9)
1659#define   G_031104_LBPW_CU_CHK_MODE(x)                                (((x) >> 9) & 0x1)
1660#define   C_031104_LBPW_CU_CHK_MODE                                   0xFFFFFDFF
1661#define   S_031104_LBPW_CU_CHK_CNT(x)                                 (((unsigned)(x) & 0x0F) << 10)
1662#define   G_031104_LBPW_CU_CHK_CNT(x)                                 (((x) >> 10) & 0x0F)
1663#define   C_031104_LBPW_CU_CHK_CNT                                    0xFFFFC3FF
1664#define   S_031104_CSC_PWR_SAVE_DISABLE(x)                            (((unsigned)(x) & 0x1) << 14)
1665#define   G_031104_CSC_PWR_SAVE_DISABLE(x)                            (((x) >> 14) & 0x1)
1666#define   C_031104_CSC_PWR_SAVE_DISABLE                               0xFFFFBFFF
1667#define   S_031104_CSG_PWR_SAVE_DISABLE(x)                            (((unsigned)(x) & 0x1) << 15)
1668#define   G_031104_CSG_PWR_SAVE_DISABLE(x)                            (((x) >> 15) & 0x1)
1669#define   C_031104_CSG_PWR_SAVE_DISABLE                               0xFFFF7FFF
1670#define   S_031104_PC_LIMIT_SIZE(x)                                   (((unsigned)(x) & 0xFFFF) << 16)
1671#define   G_031104_PC_LIMIT_SIZE(x)                                   (((x) >> 16) & 0xFFFF)
1672#define   C_031104_PC_LIMIT_SIZE                                      0x0000FFFF
1673#define R_031108_SPI_CONFIG_CNTL_2                                      0x031108
1674#define   S_031108_CONTEXT_SAVE_WAIT_GDS_REQUEST_CYCLE_OVHD(x)        (((unsigned)(x) & 0x0F) << 0)
1675#define   G_031108_CONTEXT_SAVE_WAIT_GDS_REQUEST_CYCLE_OVHD(x)        (((x) >> 0) & 0x0F)
1676#define   C_031108_CONTEXT_SAVE_WAIT_GDS_REQUEST_CYCLE_OVHD           0xFFFFFFF0
1677#define   S_031108_CONTEXT_SAVE_WAIT_GDS_GRANT_CYCLE_OVHD(x)          (((unsigned)(x) & 0x0F) << 4)
1678#define   G_031108_CONTEXT_SAVE_WAIT_GDS_GRANT_CYCLE_OVHD(x)          (((x) >> 4) & 0x0F)
1679#define   C_031108_CONTEXT_SAVE_WAIT_GDS_GRANT_CYCLE_OVHD             0xFFFFFF0F
1680#define R_0098F8_GB_ADDR_CONFIG                                         0x0098F8
1681#define   S_0098F8_NUM_PIPES(x)                                       (((unsigned)(x) & 0x07) << 0)
1682#define   G_0098F8_NUM_PIPES(x)                                       (((x) >> 0) & 0x07)
1683#define   C_0098F8_NUM_PIPES                                          0xFFFFFFF8
1684#define   S_0098F8_PIPE_INTERLEAVE_SIZE_GFX9(x)                       (((unsigned)(x) & 0x07) << 3)
1685#define   G_0098F8_PIPE_INTERLEAVE_SIZE_GFX9(x)                       (((x) >> 3) & 0x07)
1686#define   C_0098F8_PIPE_INTERLEAVE_SIZE_GFX9                          0xFFFFFFC7
1687#define   S_0098F8_MAX_COMPRESSED_FRAGS(x)                            (((unsigned)(x) & 0x03) << 6)
1688#define   G_0098F8_MAX_COMPRESSED_FRAGS(x)                            (((x) >> 6) & 0x03)
1689#define   C_0098F8_MAX_COMPRESSED_FRAGS                               0xFFFFFF3F
1690#define   S_0098F8_BANK_INTERLEAVE_SIZE(x)                            (((unsigned)(x) & 0x07) << 8)
1691#define   G_0098F8_BANK_INTERLEAVE_SIZE(x)                            (((x) >> 8) & 0x07)
1692#define   C_0098F8_BANK_INTERLEAVE_SIZE                               0xFFFFF8FF
1693#define   S_0098F8_NUM_BANKS(x)                                       (((unsigned)(x) & 0x07) << 12)
1694#define   G_0098F8_NUM_BANKS(x)                                       (((x) >> 12) & 0x07)
1695#define   C_0098F8_NUM_BANKS                                          0xFFFF8FFF
1696#define   S_0098F8_SHADER_ENGINE_TILE_SIZE(x)                         (((unsigned)(x) & 0x07) << 16)
1697#define   G_0098F8_SHADER_ENGINE_TILE_SIZE(x)                         (((x) >> 16) & 0x07)
1698#define   C_0098F8_SHADER_ENGINE_TILE_SIZE                            0xFFF8FFFF
1699#define   S_0098F8_NUM_SHADER_ENGINES_GFX9(x)                         (((unsigned)(x) & 0x03) << 19)
1700#define   G_0098F8_NUM_SHADER_ENGINES_GFX9(x)                         (((x) >> 19) & 0x03)
1701#define   C_0098F8_NUM_SHADER_ENGINES_GFX9                            0xFFE7FFFF
1702#define   S_0098F8_NUM_GPUS_GFX9(x)                                   (((unsigned)(x) & 0x07) << 21)
1703#define   G_0098F8_NUM_GPUS_GFX9(x)                                   (((x) >> 21) & 0x07)
1704#define   C_0098F8_NUM_GPUS_GFX9                                      0xFF1FFFFF
1705#define   S_0098F8_MULTI_GPU_TILE_SIZE(x)                             (((unsigned)(x) & 0x03) << 24)
1706#define   G_0098F8_MULTI_GPU_TILE_SIZE(x)                             (((x) >> 24) & 0x03)
1707#define   C_0098F8_MULTI_GPU_TILE_SIZE                                0xFCFFFFFF
1708#define   S_0098F8_NUM_RB_PER_SE(x)                                   (((unsigned)(x) & 0x03) << 26)
1709#define   G_0098F8_NUM_RB_PER_SE(x)                                   (((x) >> 26) & 0x03)
1710#define   C_0098F8_NUM_RB_PER_SE                                      0xF3FFFFFF
1711#define   S_0098F8_ROW_SIZE(x)                                        (((unsigned)(x) & 0x03) << 28)
1712#define   G_0098F8_ROW_SIZE(x)                                        (((x) >> 28) & 0x03)
1713#define   C_0098F8_ROW_SIZE                                           0xCFFFFFFF
1714#define   S_0098F8_NUM_LOWER_PIPES(x)                                 (((unsigned)(x) & 0x1) << 30)
1715#define   G_0098F8_NUM_LOWER_PIPES(x)                                 (((x) >> 30) & 0x1)
1716#define   C_0098F8_NUM_LOWER_PIPES                                    0xBFFFFFFF
1717#define   S_0098F8_SE_ENABLE(x)                                       (((unsigned)(x) & 0x1) << 31)
1718#define   G_0098F8_SE_ENABLE(x)                                       (((x) >> 31) & 0x1)
1719#define   C_0098F8_SE_ENABLE                                          0x7FFFFFFF
1720#define R_009910_GB_TILE_MODE0                                          0x009910
1721#define   S_009910_ARRAY_MODE(x)                                      (((unsigned)(x) & 0x0F) << 2)
1722#define   G_009910_ARRAY_MODE(x)                                      (((x) >> 2) & 0x0F)
1723#define   C_009910_ARRAY_MODE                                         0xFFFFFFC3
1724#define   S_009910_PIPE_CONFIG(x)                                     (((unsigned)(x) & 0x1F) << 6)
1725#define   G_009910_PIPE_CONFIG(x)                                     (((x) >> 6) & 0x1F)
1726#define   C_009910_PIPE_CONFIG                                        0xFFFFF83F
1727#define   S_009910_TILE_SPLIT(x)                                      (((unsigned)(x) & 0x07) << 11)
1728#define   G_009910_TILE_SPLIT(x)                                      (((x) >> 11) & 0x07)
1729#define   C_009910_TILE_SPLIT                                         0xFFFFC7FF
1730#define   S_009910_MICRO_TILE_MODE_NEW(x)                             (((unsigned)(x) & 0x07) << 22)
1731#define   G_009910_MICRO_TILE_MODE_NEW(x)                             (((x) >> 22) & 0x07)
1732#define   C_009910_MICRO_TILE_MODE_NEW                                0xFE3FFFFF
1733#define   S_009910_SAMPLE_SPLIT(x)                                    (((unsigned)(x) & 0x03) << 25)
1734#define   G_009910_SAMPLE_SPLIT(x)                                    (((x) >> 25) & 0x03)
1735#define   C_009910_SAMPLE_SPLIT                                       0xF9FFFFFF
1736#define R_009914_GB_TILE_MODE1                                          0x009914
1737#define R_009918_GB_TILE_MODE2                                          0x009918
1738#define R_00991C_GB_TILE_MODE3                                          0x00991C
1739#define R_009920_GB_TILE_MODE4                                          0x009920
1740#define R_009924_GB_TILE_MODE5                                          0x009924
1741#define R_009928_GB_TILE_MODE6                                          0x009928
1742#define R_00992C_GB_TILE_MODE7                                          0x00992C
1743#define R_009930_GB_TILE_MODE8                                          0x009930
1744#define R_009934_GB_TILE_MODE9                                          0x009934
1745#define R_009938_GB_TILE_MODE10                                         0x009938
1746#define R_00993C_GB_TILE_MODE11                                         0x00993C
1747#define R_009940_GB_TILE_MODE12                                         0x009940
1748#define R_009944_GB_TILE_MODE13                                         0x009944
1749#define R_009948_GB_TILE_MODE14                                         0x009948
1750#define R_00994C_GB_TILE_MODE15                                         0x00994C
1751#define R_009950_GB_TILE_MODE16                                         0x009950
1752#define R_009954_GB_TILE_MODE17                                         0x009954
1753#define R_009958_GB_TILE_MODE18                                         0x009958
1754#define R_00995C_GB_TILE_MODE19                                         0x00995C
1755#define R_009960_GB_TILE_MODE20                                         0x009960
1756#define R_009964_GB_TILE_MODE21                                         0x009964
1757#define R_009968_GB_TILE_MODE22                                         0x009968
1758#define R_00996C_GB_TILE_MODE23                                         0x00996C
1759#define R_009970_GB_TILE_MODE24                                         0x009970
1760#define R_009974_GB_TILE_MODE25                                         0x009974
1761#define R_009978_GB_TILE_MODE26                                         0x009978
1762#define R_00997C_GB_TILE_MODE27                                         0x00997C
1763#define R_009980_GB_TILE_MODE28                                         0x009980
1764#define R_009984_GB_TILE_MODE29                                         0x009984
1765#define R_009988_GB_TILE_MODE30                                         0x009988
1766#define R_00998C_GB_TILE_MODE31                                         0x00998C
1767#define R_009990_GB_MACROTILE_MODE0                                     0x009990
1768#define   S_009990_BANK_WIDTH(x)                                      (((unsigned)(x) & 0x03) << 0)
1769#define   G_009990_BANK_WIDTH(x)                                      (((x) >> 0) & 0x03)
1770#define   C_009990_BANK_WIDTH                                         0xFFFFFFFC
1771#define   S_009990_BANK_HEIGHT(x)                                     (((unsigned)(x) & 0x03) << 2)
1772#define   G_009990_BANK_HEIGHT(x)                                     (((x) >> 2) & 0x03)
1773#define   C_009990_BANK_HEIGHT                                        0xFFFFFFF3
1774#define   S_009990_MACRO_TILE_ASPECT(x)                               (((unsigned)(x) & 0x03) << 4)
1775#define   G_009990_MACRO_TILE_ASPECT(x)                               (((x) >> 4) & 0x03)
1776#define   C_009990_MACRO_TILE_ASPECT                                  0xFFFFFFCF
1777#define   S_009990_NUM_BANKS(x)                                       (((unsigned)(x) & 0x03) << 6)
1778#define   G_009990_NUM_BANKS(x)                                       (((x) >> 6) & 0x03)
1779#define   C_009990_NUM_BANKS                                          0xFFFFFF3F
1780#define R_009994_GB_MACROTILE_MODE1                                     0x009994
1781#define R_009998_GB_MACROTILE_MODE2                                     0x009998
1782#define R_00999C_GB_MACROTILE_MODE3                                     0x00999C
1783#define R_0099A0_GB_MACROTILE_MODE4                                     0x0099A0
1784#define R_0099A4_GB_MACROTILE_MODE5                                     0x0099A4
1785#define R_0099A8_GB_MACROTILE_MODE6                                     0x0099A8
1786#define R_0099AC_GB_MACROTILE_MODE7                                     0x0099AC
1787#define R_0099B0_GB_MACROTILE_MODE8                                     0x0099B0
1788#define R_0099B4_GB_MACROTILE_MODE9                                     0x0099B4
1789#define R_0099B8_GB_MACROTILE_MODE10                                    0x0099B8
1790#define R_0099BC_GB_MACROTILE_MODE11                                    0x0099BC
1791#define R_0099C0_GB_MACROTILE_MODE12                                    0x0099C0
1792#define R_0099C4_GB_MACROTILE_MODE13                                    0x0099C4
1793#define R_0099C8_GB_MACROTILE_MODE14                                    0x0099C8
1794#define R_0099CC_GB_MACROTILE_MODE15                                    0x0099CC
1795#define R_00B01C_SPI_SHADER_PGM_RSRC3_PS                                0x00B01C
1796#define   S_00B01C_CU_EN(x)                                           (((unsigned)(x) & 0xFFFF) << 0)
1797#define   G_00B01C_CU_EN(x)                                           (((x) >> 0) & 0xFFFF)
1798#define   C_00B01C_CU_EN                                              0xFFFF0000
1799#define   S_00B01C_WAVE_LIMIT(x)                                      (((unsigned)(x) & 0x3F) << 16)
1800#define   G_00B01C_WAVE_LIMIT(x)                                      (((x) >> 16) & 0x3F)
1801#define   C_00B01C_WAVE_LIMIT                                         0xFFC0FFFF
1802#define   S_00B01C_LOCK_LOW_THRESHOLD(x)                              (((unsigned)(x) & 0x0F) << 22)
1803#define   G_00B01C_LOCK_LOW_THRESHOLD(x)                              (((x) >> 22) & 0x0F)
1804#define   C_00B01C_LOCK_LOW_THRESHOLD                                 0xFC3FFFFF
1805#define   S_00B01C_SIMD_DISABLE(x)                                    (((unsigned)(x) & 0x0F) << 26)
1806#define   G_00B01C_SIMD_DISABLE(x)                                    (((x) >> 26) & 0x0F)
1807#define   C_00B01C_SIMD_DISABLE                                       0xC3FFFFFF
1808#define R_00B020_SPI_SHADER_PGM_LO_PS                                   0x00B020
1809#define R_00B024_SPI_SHADER_PGM_HI_PS                                   0x00B024
1810#define   S_00B024_MEM_BASE(x)                                        (((unsigned)(x) & 0xFF) << 0)
1811#define   G_00B024_MEM_BASE(x)                                        (((x) >> 0) & 0xFF)
1812#define   C_00B024_MEM_BASE                                           0xFFFFFF00
1813#define R_00B028_SPI_SHADER_PGM_RSRC1_PS                                0x00B028
1814#define   S_00B028_VGPRS(x)                                           (((unsigned)(x) & 0x3F) << 0)
1815#define   G_00B028_VGPRS(x)                                           (((x) >> 0) & 0x3F)
1816#define   C_00B028_VGPRS                                              0xFFFFFFC0
1817#define   S_00B028_SGPRS(x)                                           (((unsigned)(x) & 0x0F) << 6)
1818#define   G_00B028_SGPRS(x)                                           (((x) >> 6) & 0x0F)
1819#define   C_00B028_SGPRS                                              0xFFFFFC3F
1820#define   S_00B028_PRIORITY(x)                                        (((unsigned)(x) & 0x03) << 10)
1821#define   G_00B028_PRIORITY(x)                                        (((x) >> 10) & 0x03)
1822#define   C_00B028_PRIORITY                                           0xFFFFF3FF
1823#define   S_00B028_FLOAT_MODE(x)                                      (((unsigned)(x) & 0xFF) << 12)
1824#define   G_00B028_FLOAT_MODE(x)                                      (((x) >> 12) & 0xFF)
1825#define   C_00B028_FLOAT_MODE                                         0xFFF00FFF
1826#define   S_00B028_PRIV(x)                                            (((unsigned)(x) & 0x1) << 20)
1827#define   G_00B028_PRIV(x)                                            (((x) >> 20) & 0x1)
1828#define   C_00B028_PRIV                                               0xFFEFFFFF
1829#define   S_00B028_DX10_CLAMP(x)                                      (((unsigned)(x) & 0x1) << 21)
1830#define   G_00B028_DX10_CLAMP(x)                                      (((x) >> 21) & 0x1)
1831#define   C_00B028_DX10_CLAMP                                         0xFFDFFFFF
1832#define   S_00B028_DEBUG_MODE(x)                                      (((unsigned)(x) & 0x1) << 22)
1833#define   G_00B028_DEBUG_MODE(x)                                      (((x) >> 22) & 0x1)
1834#define   C_00B028_DEBUG_MODE                                         0xFFBFFFFF
1835#define   S_00B028_IEEE_MODE(x)                                       (((unsigned)(x) & 0x1) << 23)
1836#define   G_00B028_IEEE_MODE(x)                                       (((x) >> 23) & 0x1)
1837#define   C_00B028_IEEE_MODE                                          0xFF7FFFFF
1838#define   S_00B028_CU_GROUP_DISABLE(x)                                (((unsigned)(x) & 0x1) << 24)
1839#define   G_00B028_CU_GROUP_DISABLE(x)                                (((x) >> 24) & 0x1)
1840#define   C_00B028_CU_GROUP_DISABLE                                   0xFEFFFFFF
1841#define   S_00B028_CDBG_USER(x)                                       (((unsigned)(x) & 0x1) << 28)
1842#define   G_00B028_CDBG_USER(x)                                       (((x) >> 28) & 0x1)
1843#define   C_00B028_CDBG_USER                                          0xEFFFFFFF
1844#define   S_00B028_FP16_OVFL(x)                                       (((unsigned)(x) & 0x1) << 29)
1845#define   G_00B028_FP16_OVFL(x)                                       (((x) >> 29) & 0x1)
1846#define   C_00B028_FP16_OVFL                                          0xDFFFFFFF
1847#define R_00B02C_SPI_SHADER_PGM_RSRC2_PS                                0x00B02C
1848#define   S_00B02C_SCRATCH_EN(x)                                      (((unsigned)(x) & 0x1) << 0)
1849#define   G_00B02C_SCRATCH_EN(x)                                      (((x) >> 0) & 0x1)
1850#define   C_00B02C_SCRATCH_EN                                         0xFFFFFFFE
1851#define   S_00B02C_USER_SGPR(x)                                       (((unsigned)(x) & 0x1F) << 1)
1852#define   G_00B02C_USER_SGPR(x)                                       (((x) >> 1) & 0x1F)
1853#define   C_00B02C_USER_SGPR                                          0xFFFFFFC1
1854#define   S_00B02C_TRAP_PRESENT(x)                                    (((unsigned)(x) & 0x1) << 6)
1855#define   G_00B02C_TRAP_PRESENT(x)                                    (((x) >> 6) & 0x1)
1856#define   C_00B02C_TRAP_PRESENT                                       0xFFFFFFBF
1857#define   S_00B02C_WAVE_CNT_EN(x)                                     (((unsigned)(x) & 0x1) << 7)
1858#define   G_00B02C_WAVE_CNT_EN(x)                                     (((x) >> 7) & 0x1)
1859#define   C_00B02C_WAVE_CNT_EN                                        0xFFFFFF7F
1860#define   S_00B02C_EXTRA_LDS_SIZE(x)                                  (((unsigned)(x) & 0xFF) << 8)
1861#define   G_00B02C_EXTRA_LDS_SIZE(x)                                  (((x) >> 8) & 0xFF)
1862#define   C_00B02C_EXTRA_LDS_SIZE                                     0xFFFF00FF
1863#define   S_00B02C_EXCP_EN(x)                                         (((unsigned)(x) & 0x1FF) << 16)
1864#define   G_00B02C_EXCP_EN(x)                                         (((x) >> 16) & 0x1FF)
1865#define   C_00B02C_EXCP_EN                                            0xFE00FFFF
1866#define   S_00B02C_LOAD_COLLISION_WAVEID(x)                           (((unsigned)(x) & 0x1) << 25)
1867#define   G_00B02C_LOAD_COLLISION_WAVEID(x)                           (((x) >> 25) & 0x1)
1868#define   C_00B02C_LOAD_COLLISION_WAVEID                              0xFDFFFFFF
1869#define   S_00B02C_LOAD_INTRAWAVE_COLLISION(x)                        (((unsigned)(x) & 0x1) << 26)
1870#define   G_00B02C_LOAD_INTRAWAVE_COLLISION(x)                        (((x) >> 26) & 0x1)
1871#define   C_00B02C_LOAD_INTRAWAVE_COLLISION                           0xFBFFFFFF
1872#define   S_00B02C_SKIP_USGPR0(x)                                     (((unsigned)(x) & 0x1) << 27)
1873#define   G_00B02C_SKIP_USGPR0(x)                                     (((x) >> 27) & 0x1)
1874#define   C_00B02C_SKIP_USGPR0                                        0xF7FFFFFF
1875#define   S_00B02C_USER_SGPR_MSB(x)                                   (((unsigned)(x) & 0x1) << 28)
1876#define   G_00B02C_USER_SGPR_MSB(x)                                   (((x) >> 28) & 0x1)
1877#define   C_00B02C_USER_SGPR_MSB                                      0xEFFFFFFF
1878#define R_00B030_SPI_SHADER_USER_DATA_PS_0                              0x00B030
1879#define R_00B034_SPI_SHADER_USER_DATA_PS_1                              0x00B034
1880#define R_00B038_SPI_SHADER_USER_DATA_PS_2                              0x00B038
1881#define R_00B03C_SPI_SHADER_USER_DATA_PS_3                              0x00B03C
1882#define R_00B040_SPI_SHADER_USER_DATA_PS_4                              0x00B040
1883#define R_00B044_SPI_SHADER_USER_DATA_PS_5                              0x00B044
1884#define R_00B048_SPI_SHADER_USER_DATA_PS_6                              0x00B048
1885#define R_00B04C_SPI_SHADER_USER_DATA_PS_7                              0x00B04C
1886#define R_00B050_SPI_SHADER_USER_DATA_PS_8                              0x00B050
1887#define R_00B054_SPI_SHADER_USER_DATA_PS_9                              0x00B054
1888#define R_00B058_SPI_SHADER_USER_DATA_PS_10                             0x00B058
1889#define R_00B05C_SPI_SHADER_USER_DATA_PS_11                             0x00B05C
1890#define R_00B060_SPI_SHADER_USER_DATA_PS_12                             0x00B060
1891#define R_00B064_SPI_SHADER_USER_DATA_PS_13                             0x00B064
1892#define R_00B068_SPI_SHADER_USER_DATA_PS_14                             0x00B068
1893#define R_00B06C_SPI_SHADER_USER_DATA_PS_15                             0x00B06C
1894#define R_00B070_SPI_SHADER_USER_DATA_PS_16                             0x00B070
1895#define R_00B074_SPI_SHADER_USER_DATA_PS_17                             0x00B074
1896#define R_00B078_SPI_SHADER_USER_DATA_PS_18                             0x00B078
1897#define R_00B07C_SPI_SHADER_USER_DATA_PS_19                             0x00B07C
1898#define R_00B080_SPI_SHADER_USER_DATA_PS_20                             0x00B080
1899#define R_00B084_SPI_SHADER_USER_DATA_PS_21                             0x00B084
1900#define R_00B088_SPI_SHADER_USER_DATA_PS_22                             0x00B088
1901#define R_00B08C_SPI_SHADER_USER_DATA_PS_23                             0x00B08C
1902#define R_00B090_SPI_SHADER_USER_DATA_PS_24                             0x00B090
1903#define R_00B094_SPI_SHADER_USER_DATA_PS_25                             0x00B094
1904#define R_00B098_SPI_SHADER_USER_DATA_PS_26                             0x00B098
1905#define R_00B09C_SPI_SHADER_USER_DATA_PS_27                             0x00B09C
1906#define R_00B0A0_SPI_SHADER_USER_DATA_PS_28                             0x00B0A0
1907#define R_00B0A4_SPI_SHADER_USER_DATA_PS_29                             0x00B0A4
1908#define R_00B0A8_SPI_SHADER_USER_DATA_PS_30                             0x00B0A8
1909#define R_00B0AC_SPI_SHADER_USER_DATA_PS_31                             0x00B0AC
1910#define R_00B118_SPI_SHADER_PGM_RSRC3_VS                                0x00B118
1911#define   S_00B118_CU_EN(x)                                           (((unsigned)(x) & 0xFFFF) << 0)
1912#define   G_00B118_CU_EN(x)                                           (((x) >> 0) & 0xFFFF)
1913#define   C_00B118_CU_EN                                              0xFFFF0000
1914#define   S_00B118_WAVE_LIMIT(x)                                      (((unsigned)(x) & 0x3F) << 16)
1915#define   G_00B118_WAVE_LIMIT(x)                                      (((x) >> 16) & 0x3F)
1916#define   C_00B118_WAVE_LIMIT                                         0xFFC0FFFF
1917#define   S_00B118_LOCK_LOW_THRESHOLD(x)                              (((unsigned)(x) & 0x0F) << 22)
1918#define   G_00B118_LOCK_LOW_THRESHOLD(x)                              (((x) >> 22) & 0x0F)
1919#define   C_00B118_LOCK_LOW_THRESHOLD                                 0xFC3FFFFF
1920#define   S_00B118_SIMD_DISABLE(x)                                    (((unsigned)(x) & 0x0F) << 26)
1921#define   G_00B118_SIMD_DISABLE(x)                                    (((x) >> 26) & 0x0F)
1922#define   C_00B118_SIMD_DISABLE                                       0xC3FFFFFF
1923#define R_00B11C_SPI_SHADER_LATE_ALLOC_VS                               0x00B11C
1924#define   S_00B11C_LIMIT(x)                                           (((unsigned)(x) & 0x3F) << 0)
1925#define   G_00B11C_LIMIT(x)                                           (((x) >> 0) & 0x3F)
1926#define   C_00B11C_LIMIT                                              0xFFFFFFC0
1927#define R_00B120_SPI_SHADER_PGM_LO_VS                                   0x00B120
1928#define R_00B124_SPI_SHADER_PGM_HI_VS                                   0x00B124
1929#define   S_00B124_MEM_BASE(x)                                        (((unsigned)(x) & 0xFF) << 0)
1930#define   G_00B124_MEM_BASE(x)                                        (((x) >> 0) & 0xFF)
1931#define   C_00B124_MEM_BASE                                           0xFFFFFF00
1932#define R_00B128_SPI_SHADER_PGM_RSRC1_VS                                0x00B128
1933#define   S_00B128_VGPRS(x)                                           (((unsigned)(x) & 0x3F) << 0)
1934#define   G_00B128_VGPRS(x)                                           (((x) >> 0) & 0x3F)
1935#define   C_00B128_VGPRS                                              0xFFFFFFC0
1936#define   S_00B128_SGPRS(x)                                           (((unsigned)(x) & 0x0F) << 6)
1937#define   G_00B128_SGPRS(x)                                           (((x) >> 6) & 0x0F)
1938#define   C_00B128_SGPRS                                              0xFFFFFC3F
1939#define   S_00B128_PRIORITY(x)                                        (((unsigned)(x) & 0x03) << 10)
1940#define   G_00B128_PRIORITY(x)                                        (((x) >> 10) & 0x03)
1941#define   C_00B128_PRIORITY                                           0xFFFFF3FF
1942#define   S_00B128_FLOAT_MODE(x)                                      (((unsigned)(x) & 0xFF) << 12)
1943#define   G_00B128_FLOAT_MODE(x)                                      (((x) >> 12) & 0xFF)
1944#define   C_00B128_FLOAT_MODE                                         0xFFF00FFF
1945#define   S_00B128_PRIV(x)                                            (((unsigned)(x) & 0x1) << 20)
1946#define   G_00B128_PRIV(x)                                            (((x) >> 20) & 0x1)
1947#define   C_00B128_PRIV                                               0xFFEFFFFF
1948#define   S_00B128_DX10_CLAMP(x)                                      (((unsigned)(x) & 0x1) << 21)
1949#define   G_00B128_DX10_CLAMP(x)                                      (((x) >> 21) & 0x1)
1950#define   C_00B128_DX10_CLAMP                                         0xFFDFFFFF
1951#define   S_00B128_DEBUG_MODE(x)                                      (((unsigned)(x) & 0x1) << 22)
1952#define   G_00B128_DEBUG_MODE(x)                                      (((x) >> 22) & 0x1)
1953#define   C_00B128_DEBUG_MODE                                         0xFFBFFFFF
1954#define   S_00B128_IEEE_MODE(x)                                       (((unsigned)(x) & 0x1) << 23)
1955#define   G_00B128_IEEE_MODE(x)                                       (((x) >> 23) & 0x1)
1956#define   C_00B128_IEEE_MODE                                          0xFF7FFFFF
1957#define   S_00B128_VGPR_COMP_CNT(x)                                   (((unsigned)(x) & 0x03) << 24)
1958#define   G_00B128_VGPR_COMP_CNT(x)                                   (((x) >> 24) & 0x03)
1959#define   C_00B128_VGPR_COMP_CNT                                      0xFCFFFFFF
1960#define   S_00B128_CU_GROUP_ENABLE(x)                                 (((unsigned)(x) & 0x1) << 26)
1961#define   G_00B128_CU_GROUP_ENABLE(x)                                 (((x) >> 26) & 0x1)
1962#define   C_00B128_CU_GROUP_ENABLE                                    0xFBFFFFFF
1963#define   S_00B128_CDBG_USER(x)                                       (((unsigned)(x) & 0x1) << 30)
1964#define   G_00B128_CDBG_USER(x)                                       (((x) >> 30) & 0x1)
1965#define   C_00B128_CDBG_USER                                          0xBFFFFFFF
1966#define   S_00B128_FP16_OVFL(x)                                       (((unsigned)(x) & 0x1) << 31)
1967#define   G_00B128_FP16_OVFL(x)                                       (((x) >> 31) & 0x1)
1968#define   C_00B128_FP16_OVFL                                          0x7FFFFFFF
1969#define R_00B12C_SPI_SHADER_PGM_RSRC2_VS                                0x00B12C
1970#define   S_00B12C_SCRATCH_EN(x)                                      (((unsigned)(x) & 0x1) << 0)
1971#define   G_00B12C_SCRATCH_EN(x)                                      (((x) >> 0) & 0x1)
1972#define   C_00B12C_SCRATCH_EN                                         0xFFFFFFFE
1973#define   S_00B12C_USER_SGPR(x)                                       (((unsigned)(x) & 0x1F) << 1)
1974#define   G_00B12C_USER_SGPR(x)                                       (((x) >> 1) & 0x1F)
1975#define   C_00B12C_USER_SGPR                                          0xFFFFFFC1
1976#define   S_00B12C_TRAP_PRESENT(x)                                    (((unsigned)(x) & 0x1) << 6)
1977#define   G_00B12C_TRAP_PRESENT(x)                                    (((x) >> 6) & 0x1)
1978#define   C_00B12C_TRAP_PRESENT                                       0xFFFFFFBF
1979#define   S_00B12C_OC_LDS_EN(x)                                       (((unsigned)(x) & 0x1) << 7)
1980#define   G_00B12C_OC_LDS_EN(x)                                       (((x) >> 7) & 0x1)
1981#define   C_00B12C_OC_LDS_EN                                          0xFFFFFF7F
1982#define   S_00B12C_SO_BASE0_EN(x)                                     (((unsigned)(x) & 0x1) << 8)
1983#define   G_00B12C_SO_BASE0_EN(x)                                     (((x) >> 8) & 0x1)
1984#define   C_00B12C_SO_BASE0_EN                                        0xFFFFFEFF
1985#define   S_00B12C_SO_BASE1_EN(x)                                     (((unsigned)(x) & 0x1) << 9)
1986#define   G_00B12C_SO_BASE1_EN(x)                                     (((x) >> 9) & 0x1)
1987#define   C_00B12C_SO_BASE1_EN                                        0xFFFFFDFF
1988#define   S_00B12C_SO_BASE2_EN(x)                                     (((unsigned)(x) & 0x1) << 10)
1989#define   G_00B12C_SO_BASE2_EN(x)                                     (((x) >> 10) & 0x1)
1990#define   C_00B12C_SO_BASE2_EN                                        0xFFFFFBFF
1991#define   S_00B12C_SO_BASE3_EN(x)                                     (((unsigned)(x) & 0x1) << 11)
1992#define   G_00B12C_SO_BASE3_EN(x)                                     (((x) >> 11) & 0x1)
1993#define   C_00B12C_SO_BASE3_EN                                        0xFFFFF7FF
1994#define   S_00B12C_SO_EN(x)                                           (((unsigned)(x) & 0x1) << 12)
1995#define   G_00B12C_SO_EN(x)                                           (((x) >> 12) & 0x1)
1996#define   C_00B12C_SO_EN                                              0xFFFFEFFF
1997#define   S_00B12C_EXCP_EN(x)                                         (((unsigned)(x) & 0x1FF) << 13)
1998#define   G_00B12C_EXCP_EN(x)                                         (((x) >> 13) & 0x1FF)
1999#define   C_00B12C_EXCP_EN                                            0xFFC01FFF
2000#define   S_00B12C_PC_BASE_EN(x)                                      (((unsigned)(x) & 0x1) << 22)
2001#define   G_00B12C_PC_BASE_EN(x)                                      (((x) >> 22) & 0x1)
2002#define   C_00B12C_PC_BASE_EN                                         0xFFBFFFFF
2003#define   S_00B12C_DISPATCH_DRAW_EN(x)                                (((unsigned)(x) & 0x1) << 24)
2004#define   G_00B12C_DISPATCH_DRAW_EN(x)                                (((x) >> 24) & 0x1)
2005#define   C_00B12C_DISPATCH_DRAW_EN                                   0xFEFFFFFF
2006#define   S_00B12C_SKIP_USGPR0(x)                                     (((unsigned)(x) & 0x1) << 27)
2007#define   G_00B12C_SKIP_USGPR0(x)                                     (((x) >> 27) & 0x1)
2008#define   C_00B12C_SKIP_USGPR0                                        0xF7FFFFFF
2009#define   S_00B12C_USER_SGPR_MSB(x)                                   (((unsigned)(x) & 0x1) << 28)
2010#define   G_00B12C_USER_SGPR_MSB(x)                                   (((x) >> 28) & 0x1)
2011#define   C_00B12C_USER_SGPR_MSB                                      0xEFFFFFFF
2012#define R_00B130_SPI_SHADER_USER_DATA_VS_0                              0x00B130
2013#define R_00B134_SPI_SHADER_USER_DATA_VS_1                              0x00B134
2014#define R_00B138_SPI_SHADER_USER_DATA_VS_2                              0x00B138
2015#define R_00B13C_SPI_SHADER_USER_DATA_VS_3                              0x00B13C
2016#define R_00B140_SPI_SHADER_USER_DATA_VS_4                              0x00B140
2017#define R_00B144_SPI_SHADER_USER_DATA_VS_5                              0x00B144
2018#define R_00B148_SPI_SHADER_USER_DATA_VS_6                              0x00B148
2019#define R_00B14C_SPI_SHADER_USER_DATA_VS_7                              0x00B14C
2020#define R_00B150_SPI_SHADER_USER_DATA_VS_8                              0x00B150
2021#define R_00B154_SPI_SHADER_USER_DATA_VS_9                              0x00B154
2022#define R_00B158_SPI_SHADER_USER_DATA_VS_10                             0x00B158
2023#define R_00B15C_SPI_SHADER_USER_DATA_VS_11                             0x00B15C
2024#define R_00B160_SPI_SHADER_USER_DATA_VS_12                             0x00B160
2025#define R_00B164_SPI_SHADER_USER_DATA_VS_13                             0x00B164
2026#define R_00B168_SPI_SHADER_USER_DATA_VS_14                             0x00B168
2027#define R_00B16C_SPI_SHADER_USER_DATA_VS_15                             0x00B16C
2028#define R_00B170_SPI_SHADER_USER_DATA_VS_16                             0x00B170
2029#define R_00B174_SPI_SHADER_USER_DATA_VS_17                             0x00B174
2030#define R_00B178_SPI_SHADER_USER_DATA_VS_18                             0x00B178
2031#define R_00B17C_SPI_SHADER_USER_DATA_VS_19                             0x00B17C
2032#define R_00B180_SPI_SHADER_USER_DATA_VS_20                             0x00B180
2033#define R_00B184_SPI_SHADER_USER_DATA_VS_21                             0x00B184
2034#define R_00B188_SPI_SHADER_USER_DATA_VS_22                             0x00B188
2035#define R_00B18C_SPI_SHADER_USER_DATA_VS_23                             0x00B18C
2036#define R_00B190_SPI_SHADER_USER_DATA_VS_24                             0x00B190
2037#define R_00B194_SPI_SHADER_USER_DATA_VS_25                             0x00B194
2038#define R_00B198_SPI_SHADER_USER_DATA_VS_26                             0x00B198
2039#define R_00B19C_SPI_SHADER_USER_DATA_VS_27                             0x00B19C
2040#define R_00B1A0_SPI_SHADER_USER_DATA_VS_28                             0x00B1A0
2041#define R_00B1A4_SPI_SHADER_USER_DATA_VS_29                             0x00B1A4
2042#define R_00B1A8_SPI_SHADER_USER_DATA_VS_30                             0x00B1A8
2043#define R_00B1AC_SPI_SHADER_USER_DATA_VS_31                             0x00B1AC
2044#define R_00B1F0_SPI_SHADER_PGM_RSRC2_GS_VS                             0x00B1F0
2045#define   S_00B1F0_SCRATCH_EN(x)                                      (((unsigned)(x) & 0x1) << 0)
2046#define   G_00B1F0_SCRATCH_EN(x)                                      (((x) >> 0) & 0x1)
2047#define   C_00B1F0_SCRATCH_EN                                         0xFFFFFFFE
2048#define   S_00B1F0_USER_SGPR(x)                                       (((unsigned)(x) & 0x1F) << 1)
2049#define   G_00B1F0_USER_SGPR(x)                                       (((x) >> 1) & 0x1F)
2050#define   C_00B1F0_USER_SGPR                                          0xFFFFFFC1
2051#define   S_00B1F0_TRAP_PRESENT(x)                                    (((unsigned)(x) & 0x1) << 6)
2052#define   G_00B1F0_TRAP_PRESENT(x)                                    (((x) >> 6) & 0x1)
2053#define   C_00B1F0_TRAP_PRESENT                                       0xFFFFFFBF
2054#define   S_00B1F0_EXCP_EN(x)                                         (((unsigned)(x) & 0x1FF) << 7)
2055#define   G_00B1F0_EXCP_EN(x)                                         (((x) >> 7) & 0x1FF)
2056#define   C_00B1F0_EXCP_EN                                            0xFFFF007F
2057#define   S_00B1F0_VGPR_COMP_CNT(x)                                   (((unsigned)(x) & 0x03) << 16)
2058#define   G_00B1F0_VGPR_COMP_CNT(x)                                   (((x) >> 16) & 0x03)
2059#define   C_00B1F0_VGPR_COMP_CNT                                      0xFFFCFFFF
2060#define   S_00B1F0_OC_LDS_EN(x)                                       (((unsigned)(x) & 0x1) << 18)
2061#define   G_00B1F0_OC_LDS_EN(x)                                       (((x) >> 18) & 0x1)
2062#define   C_00B1F0_OC_LDS_EN                                          0xFFFBFFFF
2063#define   S_00B1F0_LDS_SIZE(x)                                        (((unsigned)(x) & 0xFF) << 19)
2064#define   G_00B1F0_LDS_SIZE(x)                                        (((x) >> 19) & 0xFF)
2065#define   C_00B1F0_LDS_SIZE                                           0xF807FFFF
2066#define   S_00B1F0_SKIP_USGPR0(x)                                     (((unsigned)(x) & 0x1) << 27)
2067#define   G_00B1F0_SKIP_USGPR0(x)                                     (((x) >> 27) & 0x1)
2068#define   C_00B1F0_SKIP_USGPR0                                        0xF7FFFFFF
2069#define   S_00B1F0_USER_SGPR_MSB(x)                                   (((unsigned)(x) & 0x1) << 28)
2070#define   G_00B1F0_USER_SGPR_MSB(x)                                   (((x) >> 28) & 0x1)
2071#define   C_00B1F0_USER_SGPR_MSB                                      0xEFFFFFFF
2072#define R_00B204_SPI_SHADER_PGM_RSRC4_GS                                0x00B204
2073#define   S_00B204_GROUP_FIFO_DEPTH(x)                                (((unsigned)(x) & 0x7F) << 0)
2074#define   G_00B204_GROUP_FIFO_DEPTH(x)                                (((x) >> 0) & 0x7F)
2075#define   C_00B204_GROUP_FIFO_DEPTH                                   0xFFFFFF80
2076#define   S_00B204_SPI_SHADER_LATE_ALLOC_GS(x)                        (((unsigned)(x) & 0x7F) << 7)
2077#define   G_00B204_SPI_SHADER_LATE_ALLOC_GS(x)                        (((x) >> 7) & 0x7F)
2078#define   C_00B204_SPI_SHADER_LATE_ALLOC_GS                           0xFFFFC07F
2079#define R_00B208_SPI_SHADER_USER_DATA_ADDR_LO_GS                        0x00B208
2080#define R_00B20C_SPI_SHADER_USER_DATA_ADDR_HI_GS                        0x00B20C
2081#define R_00B210_SPI_SHADER_PGM_LO_ES                                   0x00B210
2082#define R_00B214_SPI_SHADER_PGM_HI_ES                                   0x00B214
2083#define   S_00B214_MEM_BASE(x)                                        (((unsigned)(x) & 0xFF) << 0)
2084#define   G_00B214_MEM_BASE(x)                                        (((x) >> 0) & 0xFF)
2085#define   C_00B214_MEM_BASE                                           0xFFFFFF00
2086#define R_00B21C_SPI_SHADER_PGM_RSRC3_GS                                0x00B21C
2087#define   S_00B21C_CU_EN(x)                                           (((unsigned)(x) & 0xFFFF) << 0)
2088#define   G_00B21C_CU_EN(x)                                           (((x) >> 0) & 0xFFFF)
2089#define   C_00B21C_CU_EN                                              0xFFFF0000
2090#define   S_00B21C_WAVE_LIMIT(x)                                      (((unsigned)(x) & 0x3F) << 16)
2091#define   G_00B21C_WAVE_LIMIT(x)                                      (((x) >> 16) & 0x3F)
2092#define   C_00B21C_WAVE_LIMIT                                         0xFFC0FFFF
2093#define   S_00B21C_LOCK_LOW_THRESHOLD(x)                              (((unsigned)(x) & 0x0F) << 22)
2094#define   G_00B21C_LOCK_LOW_THRESHOLD(x)                              (((x) >> 22) & 0x0F)
2095#define   C_00B21C_LOCK_LOW_THRESHOLD                                 0xFC3FFFFF
2096#define   S_00B21C_SIMD_DISABLE(x)                                    (((unsigned)(x) & 0x0F) << 26)
2097#define   G_00B21C_SIMD_DISABLE(x)                                    (((x) >> 26) & 0x0F)
2098#define   C_00B21C_SIMD_DISABLE                                       0xC3FFFFFF
2099#define R_00B220_SPI_SHADER_PGM_LO_GS                                   0x00B220
2100#define R_00B224_SPI_SHADER_PGM_HI_GS                                   0x00B224
2101#define   S_00B224_MEM_BASE(x)                                        (((unsigned)(x) & 0xFF) << 0)
2102#define   G_00B224_MEM_BASE(x)                                        (((x) >> 0) & 0xFF)
2103#define   C_00B224_MEM_BASE                                           0xFFFFFF00
2104#define R_00B228_SPI_SHADER_PGM_RSRC1_GS                                0x00B228
2105#define   S_00B228_VGPRS(x)                                           (((unsigned)(x) & 0x3F) << 0)
2106#define   G_00B228_VGPRS(x)                                           (((x) >> 0) & 0x3F)
2107#define   C_00B228_VGPRS                                              0xFFFFFFC0
2108#define   S_00B228_SGPRS(x)                                           (((unsigned)(x) & 0x0F) << 6)
2109#define   G_00B228_SGPRS(x)                                           (((x) >> 6) & 0x0F)
2110#define   C_00B228_SGPRS                                              0xFFFFFC3F
2111#define   S_00B228_PRIORITY(x)                                        (((unsigned)(x) & 0x03) << 10)
2112#define   G_00B228_PRIORITY(x)                                        (((x) >> 10) & 0x03)
2113#define   C_00B228_PRIORITY                                           0xFFFFF3FF
2114#define   S_00B228_FLOAT_MODE(x)                                      (((unsigned)(x) & 0xFF) << 12)
2115#define   G_00B228_FLOAT_MODE(x)                                      (((x) >> 12) & 0xFF)
2116#define   C_00B228_FLOAT_MODE                                         0xFFF00FFF
2117#define   S_00B228_PRIV(x)                                            (((unsigned)(x) & 0x1) << 20)
2118#define   G_00B228_PRIV(x)                                            (((x) >> 20) & 0x1)
2119#define   C_00B228_PRIV                                               0xFFEFFFFF
2120#define   S_00B228_DX10_CLAMP(x)                                      (((unsigned)(x) & 0x1) << 21)
2121#define   G_00B228_DX10_CLAMP(x)                                      (((x) >> 21) & 0x1)
2122#define   C_00B228_DX10_CLAMP                                         0xFFDFFFFF
2123#define   S_00B228_DEBUG_MODE(x)                                      (((unsigned)(x) & 0x1) << 22)
2124#define   G_00B228_DEBUG_MODE(x)                                      (((x) >> 22) & 0x1)
2125#define   C_00B228_DEBUG_MODE                                         0xFFBFFFFF
2126#define   S_00B228_IEEE_MODE(x)                                       (((unsigned)(x) & 0x1) << 23)
2127#define   G_00B228_IEEE_MODE(x)                                       (((x) >> 23) & 0x1)
2128#define   C_00B228_IEEE_MODE                                          0xFF7FFFFF
2129#define   S_00B228_CU_GROUP_ENABLE(x)                                 (((unsigned)(x) & 0x1) << 24)
2130#define   G_00B228_CU_GROUP_ENABLE(x)                                 (((x) >> 24) & 0x1)
2131#define   C_00B228_CU_GROUP_ENABLE                                    0xFEFFFFFF
2132#define   S_00B228_CDBG_USER(x)                                       (((unsigned)(x) & 0x1) << 28)
2133#define   G_00B228_CDBG_USER(x)                                       (((x) >> 28) & 0x1)
2134#define   C_00B228_CDBG_USER                                          0xEFFFFFFF
2135#define   S_00B228_GS_VGPR_COMP_CNT(x)                                (((unsigned)(x) & 0x03) << 29)
2136#define   G_00B228_GS_VGPR_COMP_CNT(x)                                (((x) >> 29) & 0x03)
2137#define   C_00B228_GS_VGPR_COMP_CNT                                   0x9FFFFFFF
2138#define   S_00B228_FP16_OVFL(x)                                       (((unsigned)(x) & 0x1) << 31)
2139#define   G_00B228_FP16_OVFL(x)                                       (((x) >> 31) & 0x1)
2140#define   C_00B228_FP16_OVFL                                          0x7FFFFFFF
2141#define R_00B22C_SPI_SHADER_PGM_RSRC2_GS                                0x00B22C
2142#define   S_00B22C_SCRATCH_EN(x)                                      (((unsigned)(x) & 0x1) << 0)
2143#define   G_00B22C_SCRATCH_EN(x)                                      (((x) >> 0) & 0x1)
2144#define   C_00B22C_SCRATCH_EN                                         0xFFFFFFFE
2145#define   S_00B22C_USER_SGPR(x)                                       (((unsigned)(x) & 0x1F) << 1)
2146#define   G_00B22C_USER_SGPR(x)                                       (((x) >> 1) & 0x1F)
2147#define   C_00B22C_USER_SGPR                                          0xFFFFFFC1
2148#define   S_00B22C_TRAP_PRESENT(x)                                    (((unsigned)(x) & 0x1) << 6)
2149#define   G_00B22C_TRAP_PRESENT(x)                                    (((x) >> 6) & 0x1)
2150#define   C_00B22C_TRAP_PRESENT                                       0xFFFFFFBF
2151#define   S_00B22C_EXCP_EN(x)                                         (((unsigned)(x) & 0x1FF) << 7)
2152#define   G_00B22C_EXCP_EN(x)                                         (((x) >> 7) & 0x1FF)
2153#define   C_00B22C_EXCP_EN                                            0xFFFF007F
2154#define   S_00B22C_ES_VGPR_COMP_CNT(x)                                (((unsigned)(x) & 0x03) << 16)
2155#define   G_00B22C_ES_VGPR_COMP_CNT(x)                                (((x) >> 16) & 0x03)
2156#define   C_00B22C_ES_VGPR_COMP_CNT                                   0xFFFCFFFF
2157#define   S_00B22C_OC_LDS_EN(x)                                       (((unsigned)(x) & 0x1) << 18)
2158#define   G_00B22C_OC_LDS_EN(x)                                       (((x) >> 18) & 0x1)
2159#define   C_00B22C_OC_LDS_EN                                          0xFFFBFFFF
2160#define   S_00B22C_LDS_SIZE(x)                                        (((unsigned)(x) & 0xFF) << 19)
2161#define   G_00B22C_LDS_SIZE(x)                                        (((x) >> 19) & 0xFF)
2162#define   C_00B22C_LDS_SIZE                                           0xF807FFFF
2163#define   S_00B22C_SKIP_USGPR0(x)                                     (((unsigned)(x) & 0x1) << 27)
2164#define   G_00B22C_SKIP_USGPR0(x)                                     (((x) >> 27) & 0x1)
2165#define   C_00B22C_SKIP_USGPR0                                        0xF7FFFFFF
2166#define   S_00B22C_USER_SGPR_MSB(x)                                   (((unsigned)(x) & 0x1) << 28)
2167#define   G_00B22C_USER_SGPR_MSB(x)                                   (((x) >> 28) & 0x1)
2168#define   C_00B22C_USER_SGPR_MSB                                      0xEFFFFFFF
2169#define R_00B330_SPI_SHADER_USER_DATA_ES_0                              0x00B330
2170#define R_00B334_SPI_SHADER_USER_DATA_ES_1                              0x00B334
2171#define R_00B338_SPI_SHADER_USER_DATA_ES_2                              0x00B338
2172#define R_00B33C_SPI_SHADER_USER_DATA_ES_3                              0x00B33C
2173#define R_00B340_SPI_SHADER_USER_DATA_ES_4                              0x00B340
2174#define R_00B344_SPI_SHADER_USER_DATA_ES_5                              0x00B344
2175#define R_00B348_SPI_SHADER_USER_DATA_ES_6                              0x00B348
2176#define R_00B34C_SPI_SHADER_USER_DATA_ES_7                              0x00B34C
2177#define R_00B350_SPI_SHADER_USER_DATA_ES_8                              0x00B350
2178#define R_00B354_SPI_SHADER_USER_DATA_ES_9                              0x00B354
2179#define R_00B358_SPI_SHADER_USER_DATA_ES_10                             0x00B358
2180#define R_00B35C_SPI_SHADER_USER_DATA_ES_11                             0x00B35C
2181#define R_00B360_SPI_SHADER_USER_DATA_ES_12                             0x00B360
2182#define R_00B364_SPI_SHADER_USER_DATA_ES_13                             0x00B364
2183#define R_00B368_SPI_SHADER_USER_DATA_ES_14                             0x00B368
2184#define R_00B36C_SPI_SHADER_USER_DATA_ES_15                             0x00B36C
2185#define R_00B370_SPI_SHADER_USER_DATA_ES_16                             0x00B370
2186#define R_00B374_SPI_SHADER_USER_DATA_ES_17                             0x00B374
2187#define R_00B378_SPI_SHADER_USER_DATA_ES_18                             0x00B378
2188#define R_00B37C_SPI_SHADER_USER_DATA_ES_19                             0x00B37C
2189#define R_00B380_SPI_SHADER_USER_DATA_ES_20                             0x00B380
2190#define R_00B384_SPI_SHADER_USER_DATA_ES_21                             0x00B384
2191#define R_00B388_SPI_SHADER_USER_DATA_ES_22                             0x00B388
2192#define R_00B38C_SPI_SHADER_USER_DATA_ES_23                             0x00B38C
2193#define R_00B390_SPI_SHADER_USER_DATA_ES_24                             0x00B390
2194#define R_00B394_SPI_SHADER_USER_DATA_ES_25                             0x00B394
2195#define R_00B398_SPI_SHADER_USER_DATA_ES_26                             0x00B398
2196#define R_00B39C_SPI_SHADER_USER_DATA_ES_27                             0x00B39C
2197#define R_00B3A0_SPI_SHADER_USER_DATA_ES_28                             0x00B3A0
2198#define R_00B3A4_SPI_SHADER_USER_DATA_ES_29                             0x00B3A4
2199#define R_00B3A8_SPI_SHADER_USER_DATA_ES_30                             0x00B3A8
2200#define R_00B3AC_SPI_SHADER_USER_DATA_ES_31                             0x00B3AC
2201#define R_00B404_SPI_SHADER_PGM_RSRC4_HS                                0x00B404
2202#define   S_00B404_GROUP_FIFO_DEPTH(x)                                (((unsigned)(x) & 0x7F) << 0)
2203#define   G_00B404_GROUP_FIFO_DEPTH(x)                                (((x) >> 0) & 0x7F)
2204#define   C_00B404_GROUP_FIFO_DEPTH                                   0xFFFFFF80
2205#define R_00B408_SPI_SHADER_USER_DATA_ADDR_LO_HS                        0x00B408
2206#define R_00B40C_SPI_SHADER_USER_DATA_ADDR_HI_HS                        0x00B40C
2207#define R_00B410_SPI_SHADER_PGM_LO_LS                                   0x00B410
2208#define R_00B414_SPI_SHADER_PGM_HI_LS                                   0x00B414
2209#define   S_00B414_MEM_BASE(x)                                        (((unsigned)(x) & 0xFF) << 0)
2210#define   G_00B414_MEM_BASE(x)                                        (((x) >> 0) & 0xFF)
2211#define   C_00B414_MEM_BASE                                           0xFFFFFF00
2212#define R_00B41C_SPI_SHADER_PGM_RSRC3_HS                                0x00B41C
2213#define   S_00B41C_WAVE_LIMIT(x)                                      (((unsigned)(x) & 0x3F) << 0)
2214#define   G_00B41C_WAVE_LIMIT(x)                                      (((x) >> 0) & 0x3F)
2215#define   C_00B41C_WAVE_LIMIT                                         0xFFFFFFC0
2216#define   S_00B41C_LOCK_LOW_THRESHOLD(x)                              (((unsigned)(x) & 0x0F) << 6)
2217#define   G_00B41C_LOCK_LOW_THRESHOLD(x)                              (((x) >> 6) & 0x0F)
2218#define   C_00B41C_LOCK_LOW_THRESHOLD                                 0xFFFFFC3F
2219#define   S_00B41C_SIMD_DISABLE(x)                                    (((unsigned)(x) & 0x0F) << 10)
2220#define   G_00B41C_SIMD_DISABLE(x)                                    (((x) >> 10) & 0x0F)
2221#define   C_00B41C_SIMD_DISABLE                                       0xFFFFC3FF
2222#define   S_00B41C_CU_EN(x)                                           (((unsigned)(x) & 0xFFFF) << 16)
2223#define   G_00B41C_CU_EN(x)                                           (((x) >> 16) & 0xFFFF)
2224#define   C_00B41C_CU_EN                                              0x0000FFFF
2225#define R_00B420_SPI_SHADER_PGM_LO_HS                                   0x00B420
2226#define R_00B424_SPI_SHADER_PGM_HI_HS                                   0x00B424
2227#define   S_00B424_MEM_BASE(x)                                        (((unsigned)(x) & 0xFF) << 0)
2228#define   G_00B424_MEM_BASE(x)                                        (((x) >> 0) & 0xFF)
2229#define   C_00B424_MEM_BASE                                           0xFFFFFF00
2230#define R_00B428_SPI_SHADER_PGM_RSRC1_HS                                0x00B428
2231#define   S_00B428_VGPRS(x)                                           (((unsigned)(x) & 0x3F) << 0)
2232#define   G_00B428_VGPRS(x)                                           (((x) >> 0) & 0x3F)
2233#define   C_00B428_VGPRS                                              0xFFFFFFC0
2234#define   S_00B428_SGPRS(x)                                           (((unsigned)(x) & 0x0F) << 6)
2235#define   G_00B428_SGPRS(x)                                           (((x) >> 6) & 0x0F)
2236#define   C_00B428_SGPRS                                              0xFFFFFC3F
2237#define   S_00B428_PRIORITY(x)                                        (((unsigned)(x) & 0x03) << 10)
2238#define   G_00B428_PRIORITY(x)                                        (((x) >> 10) & 0x03)
2239#define   C_00B428_PRIORITY                                           0xFFFFF3FF
2240#define   S_00B428_FLOAT_MODE(x)                                      (((unsigned)(x) & 0xFF) << 12)
2241#define   G_00B428_FLOAT_MODE(x)                                      (((x) >> 12) & 0xFF)
2242#define   C_00B428_FLOAT_MODE                                         0xFFF00FFF
2243#define   S_00B428_PRIV(x)                                            (((unsigned)(x) & 0x1) << 20)
2244#define   G_00B428_PRIV(x)                                            (((x) >> 20) & 0x1)
2245#define   C_00B428_PRIV                                               0xFFEFFFFF
2246#define   S_00B428_DX10_CLAMP(x)                                      (((unsigned)(x) & 0x1) << 21)
2247#define   G_00B428_DX10_CLAMP(x)                                      (((x) >> 21) & 0x1)
2248#define   C_00B428_DX10_CLAMP                                         0xFFDFFFFF
2249#define   S_00B428_DEBUG_MODE(x)                                      (((unsigned)(x) & 0x1) << 22)
2250#define   G_00B428_DEBUG_MODE(x)                                      (((x) >> 22) & 0x1)
2251#define   C_00B428_DEBUG_MODE                                         0xFFBFFFFF
2252#define   S_00B428_IEEE_MODE(x)                                       (((unsigned)(x) & 0x1) << 23)
2253#define   G_00B428_IEEE_MODE(x)                                       (((x) >> 23) & 0x1)
2254#define   C_00B428_IEEE_MODE                                          0xFF7FFFFF
2255#define   S_00B428_CDBG_USER(x)                                       (((unsigned)(x) & 0x1) << 27)
2256#define   G_00B428_CDBG_USER(x)                                       (((x) >> 27) & 0x1)
2257#define   C_00B428_CDBG_USER                                          0xF7FFFFFF
2258#define   S_00B428_LS_VGPR_COMP_CNT(x)                                (((unsigned)(x) & 0x03) << 28)
2259#define   G_00B428_LS_VGPR_COMP_CNT(x)                                (((x) >> 28) & 0x03)
2260#define   C_00B428_LS_VGPR_COMP_CNT                                   0xCFFFFFFF
2261#define   S_00B428_FP16_OVFL(x)                                       (((unsigned)(x) & 0x1) << 30)
2262#define   G_00B428_FP16_OVFL(x)                                       (((x) >> 30) & 0x1)
2263#define   C_00B428_FP16_OVFL                                          0xBFFFFFFF
2264#define R_00B42C_SPI_SHADER_PGM_RSRC2_HS                                0x00B42C
2265#define   S_00B42C_SCRATCH_EN(x)                                      (((unsigned)(x) & 0x1) << 0)
2266#define   G_00B42C_SCRATCH_EN(x)                                      (((x) >> 0) & 0x1)
2267#define   C_00B42C_SCRATCH_EN                                         0xFFFFFFFE
2268#define   S_00B42C_USER_SGPR(x)                                       (((unsigned)(x) & 0x1F) << 1)
2269#define   G_00B42C_USER_SGPR(x)                                       (((x) >> 1) & 0x1F)
2270#define   C_00B42C_USER_SGPR                                          0xFFFFFFC1
2271#define   S_00B42C_TRAP_PRESENT(x)                                    (((unsigned)(x) & 0x1) << 6)
2272#define   G_00B42C_TRAP_PRESENT(x)                                    (((x) >> 6) & 0x1)
2273#define   C_00B42C_TRAP_PRESENT                                       0xFFFFFFBF
2274#define   S_00B42C_EXCP_EN(x)                                         (((unsigned)(x) & 0x1FF) << 7)
2275#define   G_00B42C_EXCP_EN(x)                                         (((x) >> 7) & 0x1FF)
2276#define   C_00B42C_EXCP_EN                                            0xFFFF007F
2277#define   S_00B42C_LDS_SIZE(x)                                        (((unsigned)(x) & 0x1FF) << 16)
2278#define   G_00B42C_LDS_SIZE(x)                                        (((x) >> 16) & 0x1FF)
2279#define   C_00B42C_LDS_SIZE                                           0xFE00FFFF
2280#define   S_00B42C_SKIP_USGPR0(x)                                     (((unsigned)(x) & 0x1) << 27)
2281#define   G_00B42C_SKIP_USGPR0(x)                                     (((x) >> 27) & 0x1)
2282#define   C_00B42C_SKIP_USGPR0                                        0xF7FFFFFF
2283#define   S_00B42C_USER_SGPR_MSB(x)                                   (((unsigned)(x) & 0x1) << 28)
2284#define   G_00B42C_USER_SGPR_MSB(x)                                   (((x) >> 28) & 0x1)
2285#define   C_00B42C_USER_SGPR_MSB                                      0xEFFFFFFF
2286#define R_00B430_SPI_SHADER_USER_DATA_LS_0                              0x00B430
2287#define R_00B434_SPI_SHADER_USER_DATA_LS_1                              0x00B434
2288#define R_00B438_SPI_SHADER_USER_DATA_LS_2                              0x00B438
2289#define R_00B43C_SPI_SHADER_USER_DATA_LS_3                              0x00B43C
2290#define R_00B440_SPI_SHADER_USER_DATA_LS_4                              0x00B440
2291#define R_00B444_SPI_SHADER_USER_DATA_LS_5                              0x00B444
2292#define R_00B448_SPI_SHADER_USER_DATA_LS_6                              0x00B448
2293#define R_00B44C_SPI_SHADER_USER_DATA_LS_7                              0x00B44C
2294#define R_00B450_SPI_SHADER_USER_DATA_LS_8                              0x00B450
2295#define R_00B454_SPI_SHADER_USER_DATA_LS_9                              0x00B454
2296#define R_00B458_SPI_SHADER_USER_DATA_LS_10                             0x00B458
2297#define R_00B45C_SPI_SHADER_USER_DATA_LS_11                             0x00B45C
2298#define R_00B460_SPI_SHADER_USER_DATA_LS_12                             0x00B460
2299#define R_00B464_SPI_SHADER_USER_DATA_LS_13                             0x00B464
2300#define R_00B468_SPI_SHADER_USER_DATA_LS_14                             0x00B468
2301#define R_00B46C_SPI_SHADER_USER_DATA_LS_15                             0x00B46C
2302#define R_00B470_SPI_SHADER_USER_DATA_LS_16                             0x00B470
2303#define R_00B474_SPI_SHADER_USER_DATA_LS_17                             0x00B474
2304#define R_00B478_SPI_SHADER_USER_DATA_LS_18                             0x00B478
2305#define R_00B47C_SPI_SHADER_USER_DATA_LS_19                             0x00B47C
2306#define R_00B480_SPI_SHADER_USER_DATA_LS_20                             0x00B480
2307#define R_00B484_SPI_SHADER_USER_DATA_LS_21                             0x00B484
2308#define R_00B488_SPI_SHADER_USER_DATA_LS_22                             0x00B488
2309#define R_00B48C_SPI_SHADER_USER_DATA_LS_23                             0x00B48C
2310#define R_00B490_SPI_SHADER_USER_DATA_LS_24                             0x00B490
2311#define R_00B494_SPI_SHADER_USER_DATA_LS_25                             0x00B494
2312#define R_00B498_SPI_SHADER_USER_DATA_LS_26                             0x00B498
2313#define R_00B49C_SPI_SHADER_USER_DATA_LS_27                             0x00B49C
2314#define R_00B4A0_SPI_SHADER_USER_DATA_LS_28                             0x00B4A0
2315#define R_00B4A4_SPI_SHADER_USER_DATA_LS_29                             0x00B4A4
2316#define R_00B4A8_SPI_SHADER_USER_DATA_LS_30                             0x00B4A8
2317#define R_00B4AC_SPI_SHADER_USER_DATA_LS_31                             0x00B4AC
2318#define R_00B530_SPI_SHADER_USER_DATA_COMMON_0                          0x00B530
2319#define R_00B534_SPI_SHADER_USER_DATA_COMMON_1                          0x00B534
2320#define R_00B538_SPI_SHADER_USER_DATA_COMMON_2                          0x00B538
2321#define R_00B53C_SPI_SHADER_USER_DATA_COMMON_3                          0x00B53C
2322#define R_00B540_SPI_SHADER_USER_DATA_COMMON_4                          0x00B540
2323#define R_00B544_SPI_SHADER_USER_DATA_COMMON_5                          0x00B544
2324#define R_00B548_SPI_SHADER_USER_DATA_COMMON_6                          0x00B548
2325#define R_00B54C_SPI_SHADER_USER_DATA_COMMON_7                          0x00B54C
2326#define R_00B550_SPI_SHADER_USER_DATA_COMMON_8                          0x00B550
2327#define R_00B554_SPI_SHADER_USER_DATA_COMMON_9                          0x00B554
2328#define R_00B558_SPI_SHADER_USER_DATA_COMMON_10                         0x00B558
2329#define R_00B55C_SPI_SHADER_USER_DATA_COMMON_11                         0x00B55C
2330#define R_00B560_SPI_SHADER_USER_DATA_COMMON_12                         0x00B560
2331#define R_00B564_SPI_SHADER_USER_DATA_COMMON_13                         0x00B564
2332#define R_00B568_SPI_SHADER_USER_DATA_COMMON_14                         0x00B568
2333#define R_00B56C_SPI_SHADER_USER_DATA_COMMON_15                         0x00B56C
2334#define R_00B570_SPI_SHADER_USER_DATA_COMMON_16                         0x00B570
2335#define R_00B574_SPI_SHADER_USER_DATA_COMMON_17                         0x00B574
2336#define R_00B578_SPI_SHADER_USER_DATA_COMMON_18                         0x00B578
2337#define R_00B57C_SPI_SHADER_USER_DATA_COMMON_19                         0x00B57C
2338#define R_00B580_SPI_SHADER_USER_DATA_COMMON_20                         0x00B580
2339#define R_00B584_SPI_SHADER_USER_DATA_COMMON_21                         0x00B584
2340#define R_00B588_SPI_SHADER_USER_DATA_COMMON_22                         0x00B588
2341#define R_00B58C_SPI_SHADER_USER_DATA_COMMON_23                         0x00B58C
2342#define R_00B590_SPI_SHADER_USER_DATA_COMMON_24                         0x00B590
2343#define R_00B594_SPI_SHADER_USER_DATA_COMMON_25                         0x00B594
2344#define R_00B598_SPI_SHADER_USER_DATA_COMMON_26                         0x00B598
2345#define R_00B59C_SPI_SHADER_USER_DATA_COMMON_27                         0x00B59C
2346#define R_00B5A0_SPI_SHADER_USER_DATA_COMMON_28                         0x00B5A0
2347#define R_00B5A4_SPI_SHADER_USER_DATA_COMMON_29                         0x00B5A4
2348#define R_00B5A8_SPI_SHADER_USER_DATA_COMMON_30                         0x00B5A8
2349#define R_00B5AC_SPI_SHADER_USER_DATA_COMMON_31                         0x00B5AC
2350#define R_00B800_COMPUTE_DISPATCH_INITIATOR                             0x00B800
2351#define   S_00B800_COMPUTE_SHADER_EN(x)                               (((unsigned)(x) & 0x1) << 0)
2352#define   G_00B800_COMPUTE_SHADER_EN(x)                               (((x) >> 0) & 0x1)
2353#define   C_00B800_COMPUTE_SHADER_EN                                  0xFFFFFFFE
2354#define   S_00B800_PARTIAL_TG_EN(x)                                   (((unsigned)(x) & 0x1) << 1)
2355#define   G_00B800_PARTIAL_TG_EN(x)                                   (((x) >> 1) & 0x1)
2356#define   C_00B800_PARTIAL_TG_EN                                      0xFFFFFFFD
2357#define   S_00B800_FORCE_START_AT_000(x)                              (((unsigned)(x) & 0x1) << 2)
2358#define   G_00B800_FORCE_START_AT_000(x)                              (((x) >> 2) & 0x1)
2359#define   C_00B800_FORCE_START_AT_000                                 0xFFFFFFFB
2360#define   S_00B800_ORDERED_APPEND_ENBL(x)                             (((unsigned)(x) & 0x1) << 3)
2361#define   G_00B800_ORDERED_APPEND_ENBL(x)                             (((x) >> 3) & 0x1)
2362#define   C_00B800_ORDERED_APPEND_ENBL                                0xFFFFFFF7
2363#define   S_00B800_ORDERED_APPEND_MODE(x)                             (((unsigned)(x) & 0x1) << 4)
2364#define   G_00B800_ORDERED_APPEND_MODE(x)                             (((x) >> 4) & 0x1)
2365#define   C_00B800_ORDERED_APPEND_MODE                                0xFFFFFFEF
2366#define   S_00B800_USE_THREAD_DIMENSIONS(x)                           (((unsigned)(x) & 0x1) << 5)
2367#define   G_00B800_USE_THREAD_DIMENSIONS(x)                           (((x) >> 5) & 0x1)
2368#define   C_00B800_USE_THREAD_DIMENSIONS                              0xFFFFFFDF
2369#define   S_00B800_ORDER_MODE(x)                                      (((unsigned)(x) & 0x1) << 6)
2370#define   G_00B800_ORDER_MODE(x)                                      (((x) >> 6) & 0x1)
2371#define   C_00B800_ORDER_MODE                                         0xFFFFFFBF
2372#define   S_00B800_SCALAR_L1_INV_VOL(x)                               (((unsigned)(x) & 0x1) << 10)
2373#define   G_00B800_SCALAR_L1_INV_VOL(x)                               (((x) >> 10) & 0x1)
2374#define   C_00B800_SCALAR_L1_INV_VOL                                  0xFFFFFBFF
2375#define   S_00B800_VECTOR_L1_INV_VOL(x)                               (((unsigned)(x) & 0x1) << 11)
2376#define   G_00B800_VECTOR_L1_INV_VOL(x)                               (((x) >> 11) & 0x1)
2377#define   C_00B800_VECTOR_L1_INV_VOL                                  0xFFFFF7FF
2378#define   S_00B800_RESERVED(x)                                        (((unsigned)(x) & 0x1) << 12)
2379#define   G_00B800_RESERVED(x)                                        (((x) >> 12) & 0x1)
2380#define   C_00B800_RESERVED                                           0xFFFFEFFF
2381#define   S_00B800_RESTORE(x)                                         (((unsigned)(x) & 0x1) << 14)
2382#define   G_00B800_RESTORE(x)                                         (((x) >> 14) & 0x1)
2383#define   C_00B800_RESTORE                                            0xFFFFBFFF
2384#define R_00B804_COMPUTE_DIM_X                                          0x00B804
2385#define R_00B808_COMPUTE_DIM_Y                                          0x00B808
2386#define R_00B80C_COMPUTE_DIM_Z                                          0x00B80C
2387#define R_00B810_COMPUTE_START_X                                        0x00B810
2388#define R_00B814_COMPUTE_START_Y                                        0x00B814
2389#define R_00B818_COMPUTE_START_Z                                        0x00B818
2390#define R_00B81C_COMPUTE_NUM_THREAD_X                                   0x00B81C
2391#define   S_00B81C_NUM_THREAD_FULL(x)                                 (((unsigned)(x) & 0xFFFF) << 0)
2392#define   G_00B81C_NUM_THREAD_FULL(x)                                 (((x) >> 0) & 0xFFFF)
2393#define   C_00B81C_NUM_THREAD_FULL                                    0xFFFF0000
2394#define   S_00B81C_NUM_THREAD_PARTIAL(x)                              (((unsigned)(x) & 0xFFFF) << 16)
2395#define   G_00B81C_NUM_THREAD_PARTIAL(x)                              (((x) >> 16) & 0xFFFF)
2396#define   C_00B81C_NUM_THREAD_PARTIAL                                 0x0000FFFF
2397#define R_00B820_COMPUTE_NUM_THREAD_Y                                   0x00B820
2398#define   S_00B820_NUM_THREAD_FULL(x)                                 (((unsigned)(x) & 0xFFFF) << 0)
2399#define   G_00B820_NUM_THREAD_FULL(x)                                 (((x) >> 0) & 0xFFFF)
2400#define   C_00B820_NUM_THREAD_FULL                                    0xFFFF0000
2401#define   S_00B820_NUM_THREAD_PARTIAL(x)                              (((unsigned)(x) & 0xFFFF) << 16)
2402#define   G_00B820_NUM_THREAD_PARTIAL(x)                              (((x) >> 16) & 0xFFFF)
2403#define   C_00B820_NUM_THREAD_PARTIAL                                 0x0000FFFF
2404#define R_00B824_COMPUTE_NUM_THREAD_Z                                   0x00B824
2405#define   S_00B824_NUM_THREAD_FULL(x)                                 (((unsigned)(x) & 0xFFFF) << 0)
2406#define   G_00B824_NUM_THREAD_FULL(x)                                 (((x) >> 0) & 0xFFFF)
2407#define   C_00B824_NUM_THREAD_FULL                                    0xFFFF0000
2408#define   S_00B824_NUM_THREAD_PARTIAL(x)                              (((unsigned)(x) & 0xFFFF) << 16)
2409#define   G_00B824_NUM_THREAD_PARTIAL(x)                              (((x) >> 16) & 0xFFFF)
2410#define   C_00B824_NUM_THREAD_PARTIAL                                 0x0000FFFF
2411#define R_00B828_COMPUTE_PIPELINESTAT_ENABLE                            0x00B828
2412#define   S_00B828_PIPELINESTAT_ENABLE(x)                             (((unsigned)(x) & 0x1) << 0)
2413#define   G_00B828_PIPELINESTAT_ENABLE(x)                             (((x) >> 0) & 0x1)
2414#define   C_00B828_PIPELINESTAT_ENABLE                                0xFFFFFFFE
2415#define R_00B82C_COMPUTE_PERFCOUNT_ENABLE                               0x00B82C
2416#define   S_00B82C_PERFCOUNT_ENABLE(x)                                (((unsigned)(x) & 0x1) << 0)
2417#define   G_00B82C_PERFCOUNT_ENABLE(x)                                (((x) >> 0) & 0x1)
2418#define   C_00B82C_PERFCOUNT_ENABLE                                   0xFFFFFFFE
2419#define R_00B830_COMPUTE_PGM_LO                                         0x00B830
2420#define R_00B834_COMPUTE_PGM_HI                                         0x00B834
2421#define   S_00B834_DATA(x)                                            (((unsigned)(x) & 0xFF) << 0)
2422#define   G_00B834_DATA(x)                                            (((x) >> 0) & 0xFF)
2423#define   C_00B834_DATA                                               0xFFFFFF00
2424#define R_00B838_COMPUTE_DISPATCH_PKT_ADDR_LO                           0x00B838
2425#define R_00B83C_COMPUTE_DISPATCH_PKT_ADDR_HI                           0x00B83C
2426#define   S_00B83C_DATA(x)                                            (((unsigned)(x) & 0xFF) << 0)
2427#define   G_00B83C_DATA(x)                                            (((x) >> 0) & 0xFF)
2428#define   C_00B83C_DATA                                               0xFFFFFF00
2429#define R_00B840_COMPUTE_DISPATCH_SCRATCH_BASE_LO                       0x00B840
2430#define R_00B844_COMPUTE_DISPATCH_SCRATCH_BASE_HI                       0x00B844
2431#define   S_00B844_DATA(x)                                            (((unsigned)(x) & 0xFF) << 0)
2432#define   G_00B844_DATA(x)                                            (((x) >> 0) & 0xFF)
2433#define   C_00B844_DATA                                               0xFFFFFF00
2434#define R_00B848_COMPUTE_PGM_RSRC1                                      0x00B848
2435#define   S_00B848_VGPRS(x)                                           (((unsigned)(x) & 0x3F) << 0)
2436#define   G_00B848_VGPRS(x)                                           (((x) >> 0) & 0x3F)
2437#define   C_00B848_VGPRS                                              0xFFFFFFC0
2438#define   S_00B848_SGPRS(x)                                           (((unsigned)(x) & 0x0F) << 6)
2439#define   G_00B848_SGPRS(x)                                           (((x) >> 6) & 0x0F)
2440#define   C_00B848_SGPRS                                              0xFFFFFC3F
2441#define   S_00B848_PRIORITY(x)                                        (((unsigned)(x) & 0x03) << 10)
2442#define   G_00B848_PRIORITY(x)                                        (((x) >> 10) & 0x03)
2443#define   C_00B848_PRIORITY                                           0xFFFFF3FF
2444#define   S_00B848_FLOAT_MODE(x)                                      (((unsigned)(x) & 0xFF) << 12)
2445#define   G_00B848_FLOAT_MODE(x)                                      (((x) >> 12) & 0xFF)
2446#define   C_00B848_FLOAT_MODE                                         0xFFF00FFF
2447#define   S_00B848_PRIV(x)                                            (((unsigned)(x) & 0x1) << 20)
2448#define   G_00B848_PRIV(x)                                            (((x) >> 20) & 0x1)
2449#define   C_00B848_PRIV                                               0xFFEFFFFF
2450#define   S_00B848_DX10_CLAMP(x)                                      (((unsigned)(x) & 0x1) << 21)
2451#define   G_00B848_DX10_CLAMP(x)                                      (((x) >> 21) & 0x1)
2452#define   C_00B848_DX10_CLAMP                                         0xFFDFFFFF
2453#define   S_00B848_DEBUG_MODE(x)                                      (((unsigned)(x) & 0x1) << 22)
2454#define   G_00B848_DEBUG_MODE(x)                                      (((x) >> 22) & 0x1)
2455#define   C_00B848_DEBUG_MODE                                         0xFFBFFFFF
2456#define   S_00B848_IEEE_MODE(x)                                       (((unsigned)(x) & 0x1) << 23)
2457#define   G_00B848_IEEE_MODE(x)                                       (((x) >> 23) & 0x1)
2458#define   C_00B848_IEEE_MODE                                          0xFF7FFFFF
2459#define   S_00B848_BULKY(x)                                           (((unsigned)(x) & 0x1) << 24)
2460#define   G_00B848_BULKY(x)                                           (((x) >> 24) & 0x1)
2461#define   C_00B848_BULKY                                              0xFEFFFFFF
2462#define   S_00B848_CDBG_USER(x)                                       (((unsigned)(x) & 0x1) << 25)
2463#define   G_00B848_CDBG_USER(x)                                       (((x) >> 25) & 0x1)
2464#define   C_00B848_CDBG_USER                                          0xFDFFFFFF
2465#define   S_00B848_FP16_OVFL(x)                                       (((unsigned)(x) & 0x1) << 26)
2466#define   G_00B848_FP16_OVFL(x)                                       (((x) >> 26) & 0x1)
2467#define   C_00B848_FP16_OVFL                                          0xFBFFFFFF
2468#define R_00B84C_COMPUTE_PGM_RSRC2                                      0x00B84C
2469#define   S_00B84C_SCRATCH_EN(x)                                      (((unsigned)(x) & 0x1) << 0)
2470#define   G_00B84C_SCRATCH_EN(x)                                      (((x) >> 0) & 0x1)
2471#define   C_00B84C_SCRATCH_EN                                         0xFFFFFFFE
2472#define   S_00B84C_USER_SGPR(x)                                       (((unsigned)(x) & 0x1F) << 1)
2473#define   G_00B84C_USER_SGPR(x)                                       (((x) >> 1) & 0x1F)
2474#define   C_00B84C_USER_SGPR                                          0xFFFFFFC1
2475#define   S_00B84C_TRAP_PRESENT(x)                                    (((unsigned)(x) & 0x1) << 6)
2476#define   G_00B84C_TRAP_PRESENT(x)                                    (((x) >> 6) & 0x1)
2477#define   C_00B84C_TRAP_PRESENT                                       0xFFFFFFBF
2478#define   S_00B84C_TGID_X_EN(x)                                       (((unsigned)(x) & 0x1) << 7)
2479#define   G_00B84C_TGID_X_EN(x)                                       (((x) >> 7) & 0x1)
2480#define   C_00B84C_TGID_X_EN                                          0xFFFFFF7F
2481#define   S_00B84C_TGID_Y_EN(x)                                       (((unsigned)(x) & 0x1) << 8)
2482#define   G_00B84C_TGID_Y_EN(x)                                       (((x) >> 8) & 0x1)
2483#define   C_00B84C_TGID_Y_EN                                          0xFFFFFEFF
2484#define   S_00B84C_TGID_Z_EN(x)                                       (((unsigned)(x) & 0x1) << 9)
2485#define   G_00B84C_TGID_Z_EN(x)                                       (((x) >> 9) & 0x1)
2486#define   C_00B84C_TGID_Z_EN                                          0xFFFFFDFF
2487#define   S_00B84C_TG_SIZE_EN(x)                                      (((unsigned)(x) & 0x1) << 10)
2488#define   G_00B84C_TG_SIZE_EN(x)                                      (((x) >> 10) & 0x1)
2489#define   C_00B84C_TG_SIZE_EN                                         0xFFFFFBFF
2490#define   S_00B84C_TIDIG_COMP_CNT(x)                                  (((unsigned)(x) & 0x03) << 11)
2491#define   G_00B84C_TIDIG_COMP_CNT(x)                                  (((x) >> 11) & 0x03)
2492#define   C_00B84C_TIDIG_COMP_CNT                                     0xFFFFE7FF
2493#define   S_00B84C_EXCP_EN_MSB(x)                                     (((unsigned)(x) & 0x03) << 13)
2494#define   G_00B84C_EXCP_EN_MSB(x)                                     (((x) >> 13) & 0x03)
2495#define   C_00B84C_EXCP_EN_MSB                                        0xFFFF9FFF
2496#define   S_00B84C_LDS_SIZE(x)                                        (((unsigned)(x) & 0x1FF) << 15)
2497#define   G_00B84C_LDS_SIZE(x)                                        (((x) >> 15) & 0x1FF)
2498#define   C_00B84C_LDS_SIZE                                           0xFF007FFF
2499#define   S_00B84C_EXCP_EN(x)                                         (((unsigned)(x) & 0x7F) << 24)
2500#define   G_00B84C_EXCP_EN(x)                                         (((x) >> 24) & 0x7F)
2501#define   C_00B84C_EXCP_EN                                            0x80FFFFFF
2502#define   S_00B84C_SKIP_USGPR0(x)                                     (((unsigned)(x) & 0x1) << 31)
2503#define   G_00B84C_SKIP_USGPR0(x)                                     (((x) >> 31) & 0x1)
2504#define   C_00B84C_SKIP_USGPR0                                        0x7FFFFFFF
2505#define R_00B850_COMPUTE_VMID                                           0x00B850
2506#define   S_00B850_DATA(x)                                            (((unsigned)(x) & 0x0F) << 0)
2507#define   G_00B850_DATA(x)                                            (((x) >> 0) & 0x0F)
2508#define   C_00B850_DATA                                               0xFFFFFFF0
2509#define R_00B854_COMPUTE_RESOURCE_LIMITS                                0x00B854
2510#define   S_00B854_WAVES_PER_SH(x)                                    (((unsigned)(x) & 0x3FF) << 0)
2511#define   G_00B854_WAVES_PER_SH(x)                                    (((x) >> 0) & 0x3FF)
2512#define   C_00B854_WAVES_PER_SH                                       0xFFFFFC00
2513#define   S_00B854_TG_PER_CU(x)                                       (((unsigned)(x) & 0x0F) << 12)
2514#define   G_00B854_TG_PER_CU(x)                                       (((x) >> 12) & 0x0F)
2515#define   C_00B854_TG_PER_CU                                          0xFFFF0FFF
2516#define   S_00B854_LOCK_THRESHOLD(x)                                  (((unsigned)(x) & 0x3F) << 16)
2517#define   G_00B854_LOCK_THRESHOLD(x)                                  (((x) >> 16) & 0x3F)
2518#define   C_00B854_LOCK_THRESHOLD                                     0xFFC0FFFF
2519#define   S_00B854_SIMD_DEST_CNTL(x)                                  (((unsigned)(x) & 0x1) << 22)
2520#define   G_00B854_SIMD_DEST_CNTL(x)                                  (((x) >> 22) & 0x1)
2521#define   C_00B854_SIMD_DEST_CNTL                                     0xFFBFFFFF
2522#define   S_00B854_FORCE_SIMD_DIST(x)                                 (((unsigned)(x) & 0x1) << 23)
2523#define   G_00B854_FORCE_SIMD_DIST(x)                                 (((x) >> 23) & 0x1)
2524#define   C_00B854_FORCE_SIMD_DIST                                    0xFF7FFFFF
2525#define   S_00B854_CU_GROUP_COUNT(x)                                  (((unsigned)(x) & 0x07) << 24)
2526#define   G_00B854_CU_GROUP_COUNT(x)                                  (((x) >> 24) & 0x07)
2527#define   C_00B854_CU_GROUP_COUNT                                     0xF8FFFFFF
2528#define   S_00B854_SIMD_DISABLE(x)                                    (((unsigned)(x) & 0x0F) << 27)
2529#define   G_00B854_SIMD_DISABLE(x)                                    (((x) >> 27) & 0x0F)
2530#define   C_00B854_SIMD_DISABLE                                       0x87FFFFFF
2531#define R_00B858_COMPUTE_STATIC_THREAD_MGMT_SE0                         0x00B858
2532#define   S_00B858_SH0_CU_EN(x)                                       (((unsigned)(x) & 0xFFFF) << 0)
2533#define   G_00B858_SH0_CU_EN(x)                                       (((x) >> 0) & 0xFFFF)
2534#define   C_00B858_SH0_CU_EN                                          0xFFFF0000
2535#define   S_00B858_SH1_CU_EN(x)                                       (((unsigned)(x) & 0xFFFF) << 16)
2536#define   G_00B858_SH1_CU_EN(x)                                       (((x) >> 16) & 0xFFFF)
2537#define   C_00B858_SH1_CU_EN                                          0x0000FFFF
2538#define R_00B85C_COMPUTE_STATIC_THREAD_MGMT_SE1                         0x00B85C
2539#define   S_00B85C_SH0_CU_EN(x)                                       (((unsigned)(x) & 0xFFFF) << 0)
2540#define   G_00B85C_SH0_CU_EN(x)                                       (((x) >> 0) & 0xFFFF)
2541#define   C_00B85C_SH0_CU_EN                                          0xFFFF0000
2542#define   S_00B85C_SH1_CU_EN(x)                                       (((unsigned)(x) & 0xFFFF) << 16)
2543#define   G_00B85C_SH1_CU_EN(x)                                       (((x) >> 16) & 0xFFFF)
2544#define   C_00B85C_SH1_CU_EN                                          0x0000FFFF
2545#define R_00B860_COMPUTE_TMPRING_SIZE                                   0x00B860
2546#define   S_00B860_WAVES(x)                                           (((unsigned)(x) & 0xFFF) << 0)
2547#define   G_00B860_WAVES(x)                                           (((x) >> 0) & 0xFFF)
2548#define   C_00B860_WAVES                                              0xFFFFF000
2549#define   S_00B860_WAVESIZE(x)                                        (((unsigned)(x) & 0x1FFF) << 12)
2550#define   G_00B860_WAVESIZE(x)                                        (((x) >> 12) & 0x1FFF)
2551#define   C_00B860_WAVESIZE                                           0xFE000FFF
2552#define R_00B864_COMPUTE_STATIC_THREAD_MGMT_SE2                         0x00B864
2553#define   S_00B864_SH0_CU_EN(x)                                       (((unsigned)(x) & 0xFFFF) << 0)
2554#define   G_00B864_SH0_CU_EN(x)                                       (((x) >> 0) & 0xFFFF)
2555#define   C_00B864_SH0_CU_EN                                          0xFFFF0000
2556#define   S_00B864_SH1_CU_EN(x)                                       (((unsigned)(x) & 0xFFFF) << 16)
2557#define   G_00B864_SH1_CU_EN(x)                                       (((x) >> 16) & 0xFFFF)
2558#define   C_00B864_SH1_CU_EN                                          0x0000FFFF
2559#define R_00B868_COMPUTE_STATIC_THREAD_MGMT_SE3                         0x00B868
2560#define   S_00B868_SH0_CU_EN(x)                                       (((unsigned)(x) & 0xFFFF) << 0)
2561#define   G_00B868_SH0_CU_EN(x)                                       (((x) >> 0) & 0xFFFF)
2562#define   C_00B868_SH0_CU_EN                                          0xFFFF0000
2563#define   S_00B868_SH1_CU_EN(x)                                       (((unsigned)(x) & 0xFFFF) << 16)
2564#define   G_00B868_SH1_CU_EN(x)                                       (((x) >> 16) & 0xFFFF)
2565#define   C_00B868_SH1_CU_EN                                          0x0000FFFF
2566#define R_00B86C_COMPUTE_RESTART_X                                      0x00B86C
2567#define R_00B870_COMPUTE_RESTART_Y                                      0x00B870
2568#define R_00B874_COMPUTE_RESTART_Z                                      0x00B874
2569#define R_00B87C_COMPUTE_MISC_RESERVED                                  0x00B87C
2570#define   S_00B87C_SEND_SEID(x)                                       (((unsigned)(x) & 0x03) << 0)
2571#define   G_00B87C_SEND_SEID(x)                                       (((x) >> 0) & 0x03)
2572#define   C_00B87C_SEND_SEID                                          0xFFFFFFFC
2573#define   S_00B87C_RESERVED2(x)                                       (((unsigned)(x) & 0x1) << 2)
2574#define   G_00B87C_RESERVED2(x)                                       (((x) >> 2) & 0x1)
2575#define   C_00B87C_RESERVED2                                          0xFFFFFFFB
2576#define   S_00B87C_RESERVED3(x)                                       (((unsigned)(x) & 0x1) << 3)
2577#define   G_00B87C_RESERVED3(x)                                       (((x) >> 3) & 0x1)
2578#define   C_00B87C_RESERVED3                                          0xFFFFFFF7
2579#define   S_00B87C_RESERVED4(x)                                       (((unsigned)(x) & 0x1) << 4)
2580#define   G_00B87C_RESERVED4(x)                                       (((x) >> 4) & 0x1)
2581#define   C_00B87C_RESERVED4                                          0xFFFFFFEF
2582#define   S_00B87C_WAVE_ID_BASE(x)                                    (((unsigned)(x) & 0xFFF) << 5)
2583#define   G_00B87C_WAVE_ID_BASE(x)                                    (((x) >> 5) & 0xFFF)
2584#define   C_00B87C_WAVE_ID_BASE                                       0xFFFE001F
2585#define R_00B880_COMPUTE_DISPATCH_ID                                    0x00B880
2586#define R_00B884_COMPUTE_THREADGROUP_ID                                 0x00B884
2587#define R_00B888_COMPUTE_RELAUNCH                                       0x00B888
2588#define   S_00B888_PAYLOAD(x)                                         (((unsigned)(x) & 0x3FFFFFFF) << 0)
2589#define   G_00B888_PAYLOAD(x)                                         (((x) >> 0) & 0x3FFFFFFF)
2590#define   C_00B888_PAYLOAD                                            0xC0000000
2591#define   S_00B888_IS_EVENT(x)                                        (((unsigned)(x) & 0x1) << 30)
2592#define   G_00B888_IS_EVENT(x)                                        (((x) >> 30) & 0x1)
2593#define   C_00B888_IS_EVENT                                           0xBFFFFFFF
2594#define   S_00B888_IS_STATE(x)                                        (((unsigned)(x) & 0x1) << 31)
2595#define   G_00B888_IS_STATE(x)                                        (((x) >> 31) & 0x1)
2596#define   C_00B888_IS_STATE                                           0x7FFFFFFF
2597#define R_00B88C_COMPUTE_WAVE_RESTORE_ADDR_LO                           0x00B88C
2598#define R_00B890_COMPUTE_WAVE_RESTORE_ADDR_HI                           0x00B890
2599#define   S_00B890_ADDR(x)                                            (((unsigned)(x) & 0xFFFF) << 0)
2600#define   G_00B890_ADDR(x)                                            (((x) >> 0) & 0xFFFF)
2601#define   C_00B890_ADDR                                               0xFFFF0000
2602#define R_00B900_COMPUTE_USER_DATA_0                                    0x00B900
2603#define R_00B904_COMPUTE_USER_DATA_1                                    0x00B904
2604#define R_00B908_COMPUTE_USER_DATA_2                                    0x00B908
2605#define R_00B90C_COMPUTE_USER_DATA_3                                    0x00B90C
2606#define R_00B910_COMPUTE_USER_DATA_4                                    0x00B910
2607#define R_00B914_COMPUTE_USER_DATA_5                                    0x00B914
2608#define R_00B918_COMPUTE_USER_DATA_6                                    0x00B918
2609#define R_00B91C_COMPUTE_USER_DATA_7                                    0x00B91C
2610#define R_00B920_COMPUTE_USER_DATA_8                                    0x00B920
2611#define R_00B924_COMPUTE_USER_DATA_9                                    0x00B924
2612#define R_00B928_COMPUTE_USER_DATA_10                                   0x00B928
2613#define R_00B92C_COMPUTE_USER_DATA_11                                   0x00B92C
2614#define R_00B930_COMPUTE_USER_DATA_12                                   0x00B930
2615#define R_00B934_COMPUTE_USER_DATA_13                                   0x00B934
2616#define R_00B938_COMPUTE_USER_DATA_14                                   0x00B938
2617#define R_00B93C_COMPUTE_USER_DATA_15                                   0x00B93C
2618#define R_00B9FC_COMPUTE_NOWHERE                                        0x00B9FC
2619#define R_034000_CPG_PERFCOUNTER1_LO                                    0x034000
2620#define R_034004_CPG_PERFCOUNTER1_HI                                    0x034004
2621#define R_034008_CPG_PERFCOUNTER0_LO                                    0x034008
2622#define R_03400C_CPG_PERFCOUNTER0_HI                                    0x03400C
2623#define R_034010_CPC_PERFCOUNTER1_LO                                    0x034010
2624#define R_034014_CPC_PERFCOUNTER1_HI                                    0x034014
2625#define R_034018_CPC_PERFCOUNTER0_LO                                    0x034018
2626#define R_03401C_CPC_PERFCOUNTER0_HI                                    0x03401C
2627#define R_034020_CPF_PERFCOUNTER1_LO                                    0x034020
2628#define R_034024_CPF_PERFCOUNTER1_HI                                    0x034024
2629#define R_034028_CPF_PERFCOUNTER0_LO                                    0x034028
2630#define R_03402C_CPF_PERFCOUNTER0_HI                                    0x03402C
2631#define R_034030_CPF_LATENCY_STATS_DATA                                 0x034030
2632#define R_034034_CPG_LATENCY_STATS_DATA                                 0x034034
2633#define R_034038_CPC_LATENCY_STATS_DATA                                 0x034038
2634#define R_034100_GRBM_PERFCOUNTER0_LO                                   0x034100
2635#define R_034104_GRBM_PERFCOUNTER0_HI                                   0x034104
2636#define R_03410C_GRBM_PERFCOUNTER1_LO                                   0x03410C
2637#define R_034110_GRBM_PERFCOUNTER1_HI                                   0x034110
2638#define R_034114_GRBM_SE0_PERFCOUNTER_LO                                0x034114
2639#define R_034118_GRBM_SE0_PERFCOUNTER_HI                                0x034118
2640#define R_03411C_GRBM_SE1_PERFCOUNTER_LO                                0x03411C
2641#define R_034120_GRBM_SE1_PERFCOUNTER_HI                                0x034120
2642#define R_034124_GRBM_SE2_PERFCOUNTER_LO                                0x034124
2643#define R_034128_GRBM_SE2_PERFCOUNTER_HI                                0x034128
2644#define R_03412C_GRBM_SE3_PERFCOUNTER_LO                                0x03412C
2645#define R_034130_GRBM_SE3_PERFCOUNTER_HI                                0x034130
2646#define R_034200_WD_PERFCOUNTER0_LO                                     0x034200
2647#define R_034204_WD_PERFCOUNTER0_HI                                     0x034204
2648#define R_034208_WD_PERFCOUNTER1_LO                                     0x034208
2649#define R_03420C_WD_PERFCOUNTER1_HI                                     0x03420C
2650#define R_034210_WD_PERFCOUNTER2_LO                                     0x034210
2651#define R_034214_WD_PERFCOUNTER2_HI                                     0x034214
2652#define R_034218_WD_PERFCOUNTER3_LO                                     0x034218
2653#define R_03421C_WD_PERFCOUNTER3_HI                                     0x03421C
2654#define R_034220_IA_PERFCOUNTER0_LO                                     0x034220
2655#define R_034224_IA_PERFCOUNTER0_HI                                     0x034224
2656#define R_034228_IA_PERFCOUNTER1_LO                                     0x034228
2657#define R_03422C_IA_PERFCOUNTER1_HI                                     0x03422C
2658#define R_034230_IA_PERFCOUNTER2_LO                                     0x034230
2659#define R_034234_IA_PERFCOUNTER2_HI                                     0x034234
2660#define R_034238_IA_PERFCOUNTER3_LO                                     0x034238
2661#define R_03423C_IA_PERFCOUNTER3_HI                                     0x03423C
2662#define R_034240_VGT_PERFCOUNTER0_LO                                    0x034240
2663#define R_034244_VGT_PERFCOUNTER0_HI                                    0x034244
2664#define R_034248_VGT_PERFCOUNTER1_LO                                    0x034248
2665#define R_03424C_VGT_PERFCOUNTER1_HI                                    0x03424C
2666#define R_034250_VGT_PERFCOUNTER2_LO                                    0x034250
2667#define R_034254_VGT_PERFCOUNTER2_HI                                    0x034254
2668#define R_034258_VGT_PERFCOUNTER3_LO                                    0x034258
2669#define R_03425C_VGT_PERFCOUNTER3_HI                                    0x03425C
2670#define R_034400_PA_SU_PERFCOUNTER0_LO                                  0x034400
2671#define R_034404_PA_SU_PERFCOUNTER0_HI                                  0x034404
2672#define   S_034404_PERFCOUNTER_HI(x)                                  (((unsigned)(x) & 0xFFFF) << 0)
2673#define   G_034404_PERFCOUNTER_HI(x)                                  (((x) >> 0) & 0xFFFF)
2674#define   C_034404_PERFCOUNTER_HI                                     0xFFFF0000
2675#define R_034408_PA_SU_PERFCOUNTER1_LO                                  0x034408
2676#define R_03440C_PA_SU_PERFCOUNTER1_HI                                  0x03440C
2677#define R_034410_PA_SU_PERFCOUNTER2_LO                                  0x034410
2678#define R_034414_PA_SU_PERFCOUNTER2_HI                                  0x034414
2679#define R_034418_PA_SU_PERFCOUNTER3_LO                                  0x034418
2680#define R_03441C_PA_SU_PERFCOUNTER3_HI                                  0x03441C
2681#define R_034500_PA_SC_PERFCOUNTER0_LO                                  0x034500
2682#define R_034504_PA_SC_PERFCOUNTER0_HI                                  0x034504
2683#define R_034508_PA_SC_PERFCOUNTER1_LO                                  0x034508
2684#define R_03450C_PA_SC_PERFCOUNTER1_HI                                  0x03450C
2685#define R_034510_PA_SC_PERFCOUNTER2_LO                                  0x034510
2686#define R_034514_PA_SC_PERFCOUNTER2_HI                                  0x034514
2687#define R_034518_PA_SC_PERFCOUNTER3_LO                                  0x034518
2688#define R_03451C_PA_SC_PERFCOUNTER3_HI                                  0x03451C
2689#define R_034520_PA_SC_PERFCOUNTER4_LO                                  0x034520
2690#define R_034524_PA_SC_PERFCOUNTER4_HI                                  0x034524
2691#define R_034528_PA_SC_PERFCOUNTER5_LO                                  0x034528
2692#define R_03452C_PA_SC_PERFCOUNTER5_HI                                  0x03452C
2693#define R_034530_PA_SC_PERFCOUNTER6_LO                                  0x034530
2694#define R_034534_PA_SC_PERFCOUNTER6_HI                                  0x034534
2695#define R_034538_PA_SC_PERFCOUNTER7_LO                                  0x034538
2696#define R_03453C_PA_SC_PERFCOUNTER7_HI                                  0x03453C
2697#define R_034600_SPI_PERFCOUNTER0_HI                                    0x034600
2698#define R_034604_SPI_PERFCOUNTER0_LO                                    0x034604
2699#define R_034608_SPI_PERFCOUNTER1_HI                                    0x034608
2700#define R_03460C_SPI_PERFCOUNTER1_LO                                    0x03460C
2701#define R_034610_SPI_PERFCOUNTER2_HI                                    0x034610
2702#define R_034614_SPI_PERFCOUNTER2_LO                                    0x034614
2703#define R_034618_SPI_PERFCOUNTER3_HI                                    0x034618
2704#define R_03461C_SPI_PERFCOUNTER3_LO                                    0x03461C
2705#define R_034620_SPI_PERFCOUNTER4_HI                                    0x034620
2706#define R_034624_SPI_PERFCOUNTER4_LO                                    0x034624
2707#define R_034628_SPI_PERFCOUNTER5_HI                                    0x034628
2708#define R_03462C_SPI_PERFCOUNTER5_LO                                    0x03462C
2709#define R_034700_SQ_PERFCOUNTER0_LO                                     0x034700
2710#define R_034704_SQ_PERFCOUNTER0_HI                                     0x034704
2711#define R_034708_SQ_PERFCOUNTER1_LO                                     0x034708
2712#define R_03470C_SQ_PERFCOUNTER1_HI                                     0x03470C
2713#define R_034710_SQ_PERFCOUNTER2_LO                                     0x034710
2714#define R_034714_SQ_PERFCOUNTER2_HI                                     0x034714
2715#define R_034718_SQ_PERFCOUNTER3_LO                                     0x034718
2716#define R_03471C_SQ_PERFCOUNTER3_HI                                     0x03471C
2717#define R_034720_SQ_PERFCOUNTER4_LO                                     0x034720
2718#define R_034724_SQ_PERFCOUNTER4_HI                                     0x034724
2719#define R_034728_SQ_PERFCOUNTER5_LO                                     0x034728
2720#define R_03472C_SQ_PERFCOUNTER5_HI                                     0x03472C
2721#define R_034730_SQ_PERFCOUNTER6_LO                                     0x034730
2722#define R_034734_SQ_PERFCOUNTER6_HI                                     0x034734
2723#define R_034738_SQ_PERFCOUNTER7_LO                                     0x034738
2724#define R_03473C_SQ_PERFCOUNTER7_HI                                     0x03473C
2725#define R_034740_SQ_PERFCOUNTER8_LO                                     0x034740
2726#define R_034744_SQ_PERFCOUNTER8_HI                                     0x034744
2727#define R_034748_SQ_PERFCOUNTER9_LO                                     0x034748
2728#define R_03474C_SQ_PERFCOUNTER9_HI                                     0x03474C
2729#define R_034750_SQ_PERFCOUNTER10_LO                                    0x034750
2730#define R_034754_SQ_PERFCOUNTER10_HI                                    0x034754
2731#define R_034758_SQ_PERFCOUNTER11_LO                                    0x034758
2732#define R_03475C_SQ_PERFCOUNTER11_HI                                    0x03475C
2733#define R_034760_SQ_PERFCOUNTER12_LO                                    0x034760
2734#define R_034764_SQ_PERFCOUNTER12_HI                                    0x034764
2735#define R_034768_SQ_PERFCOUNTER13_LO                                    0x034768
2736#define R_03476C_SQ_PERFCOUNTER13_HI                                    0x03476C
2737#define R_034770_SQ_PERFCOUNTER14_LO                                    0x034770
2738#define R_034774_SQ_PERFCOUNTER14_HI                                    0x034774
2739#define R_034778_SQ_PERFCOUNTER15_LO                                    0x034778
2740#define R_03477C_SQ_PERFCOUNTER15_HI                                    0x03477C
2741#define R_034900_SX_PERFCOUNTER0_LO                                     0x034900
2742#define R_034904_SX_PERFCOUNTER0_HI                                     0x034904
2743#define R_034908_SX_PERFCOUNTER1_LO                                     0x034908
2744#define R_03490C_SX_PERFCOUNTER1_HI                                     0x03490C
2745#define R_034910_SX_PERFCOUNTER2_LO                                     0x034910
2746#define R_034914_SX_PERFCOUNTER2_HI                                     0x034914
2747#define R_034918_SX_PERFCOUNTER3_LO                                     0x034918
2748#define R_03491C_SX_PERFCOUNTER3_HI                                     0x03491C
2749#define R_034A00_GDS_PERFCOUNTER0_LO                                    0x034A00
2750#define R_034A04_GDS_PERFCOUNTER0_HI                                    0x034A04
2751#define R_034A08_GDS_PERFCOUNTER1_LO                                    0x034A08
2752#define R_034A0C_GDS_PERFCOUNTER1_HI                                    0x034A0C
2753#define R_034A10_GDS_PERFCOUNTER2_LO                                    0x034A10
2754#define R_034A14_GDS_PERFCOUNTER2_HI                                    0x034A14
2755#define R_034A18_GDS_PERFCOUNTER3_LO                                    0x034A18
2756#define R_034A1C_GDS_PERFCOUNTER3_HI                                    0x034A1C
2757#define R_034B00_TA_PERFCOUNTER0_LO                                     0x034B00
2758#define R_034B04_TA_PERFCOUNTER0_HI                                     0x034B04
2759#define R_034B08_TA_PERFCOUNTER1_LO                                     0x034B08
2760#define R_034B0C_TA_PERFCOUNTER1_HI                                     0x034B0C
2761#define R_034C00_TD_PERFCOUNTER0_LO                                     0x034C00
2762#define R_034C04_TD_PERFCOUNTER0_HI                                     0x034C04
2763#define R_034C08_TD_PERFCOUNTER1_LO                                     0x034C08
2764#define R_034C0C_TD_PERFCOUNTER1_HI                                     0x034C0C
2765#define R_034D00_TCP_PERFCOUNTER0_LO                                    0x034D00
2766#define R_034D04_TCP_PERFCOUNTER0_HI                                    0x034D04
2767#define R_034D08_TCP_PERFCOUNTER1_LO                                    0x034D08
2768#define R_034D0C_TCP_PERFCOUNTER1_HI                                    0x034D0C
2769#define R_034D10_TCP_PERFCOUNTER2_LO                                    0x034D10
2770#define R_034D14_TCP_PERFCOUNTER2_HI                                    0x034D14
2771#define R_034D18_TCP_PERFCOUNTER3_LO                                    0x034D18
2772#define R_034D1C_TCP_PERFCOUNTER3_HI                                    0x034D1C
2773#define R_034E00_TCC_PERFCOUNTER0_LO                                    0x034E00
2774#define R_034E04_TCC_PERFCOUNTER0_HI                                    0x034E04
2775#define R_034E08_TCC_PERFCOUNTER1_LO                                    0x034E08
2776#define R_034E0C_TCC_PERFCOUNTER1_HI                                    0x034E0C
2777#define R_034E10_TCC_PERFCOUNTER2_LO                                    0x034E10
2778#define R_034E14_TCC_PERFCOUNTER2_HI                                    0x034E14
2779#define R_034E18_TCC_PERFCOUNTER3_LO                                    0x034E18
2780#define R_034E1C_TCC_PERFCOUNTER3_HI                                    0x034E1C
2781#define R_034E40_TCA_PERFCOUNTER0_LO                                    0x034E40
2782#define R_034E44_TCA_PERFCOUNTER0_HI                                    0x034E44
2783#define R_034E48_TCA_PERFCOUNTER1_LO                                    0x034E48
2784#define R_034E4C_TCA_PERFCOUNTER1_HI                                    0x034E4C
2785#define R_034E50_TCA_PERFCOUNTER2_LO                                    0x034E50
2786#define R_034E54_TCA_PERFCOUNTER2_HI                                    0x034E54
2787#define R_034E58_TCA_PERFCOUNTER3_LO                                    0x034E58
2788#define R_034E5C_TCA_PERFCOUNTER3_HI                                    0x034E5C
2789#define R_035018_CB_PERFCOUNTER0_LO                                     0x035018
2790#define R_03501C_CB_PERFCOUNTER0_HI                                     0x03501C
2791#define R_035020_CB_PERFCOUNTER1_LO                                     0x035020
2792#define R_035024_CB_PERFCOUNTER1_HI                                     0x035024
2793#define R_035028_CB_PERFCOUNTER2_LO                                     0x035028
2794#define R_03502C_CB_PERFCOUNTER2_HI                                     0x03502C
2795#define R_035030_CB_PERFCOUNTER3_LO                                     0x035030
2796#define R_035034_CB_PERFCOUNTER3_HI                                     0x035034
2797#define R_035100_DB_PERFCOUNTER0_LO                                     0x035100
2798#define R_035104_DB_PERFCOUNTER0_HI                                     0x035104
2799#define R_035108_DB_PERFCOUNTER1_LO                                     0x035108
2800#define R_03510C_DB_PERFCOUNTER1_HI                                     0x03510C
2801#define R_035110_DB_PERFCOUNTER2_LO                                     0x035110
2802#define R_035114_DB_PERFCOUNTER2_HI                                     0x035114
2803#define R_035118_DB_PERFCOUNTER3_LO                                     0x035118
2804#define R_03511C_DB_PERFCOUNTER3_HI                                     0x03511C
2805#define R_036000_CPG_PERFCOUNTER1_SELECT                                0x036000
2806#define R_036004_CPG_PERFCOUNTER0_SELECT1                               0x036004
2807#define   S_036004_CNTR_SEL2(x)                                       (((unsigned)(x) & 0x3FF) << 0)
2808#define   G_036004_CNTR_SEL2(x)                                       (((x) >> 0) & 0x3FF)
2809#define   C_036004_CNTR_SEL2                                          0xFFFFFC00
2810#define   S_036004_CNTR_SEL3(x)                                       (((unsigned)(x) & 0x3FF) << 10)
2811#define   G_036004_CNTR_SEL3(x)                                       (((x) >> 10) & 0x3FF)
2812#define   C_036004_CNTR_SEL3                                          0xFFF003FF
2813#define   S_036004_CNTR_MODE3(x)                                      (((unsigned)(x) & 0x0F) << 24)
2814#define   G_036004_CNTR_MODE3(x)                                      (((x) >> 24) & 0x0F)
2815#define   C_036004_CNTR_MODE3                                         0xF0FFFFFF
2816#define   S_036004_CNTR_MODE2(x)                                      (((unsigned)(x) & 0x0F) << 28)
2817#define   G_036004_CNTR_MODE2(x)                                      (((x) >> 28) & 0x0F)
2818#define   C_036004_CNTR_MODE2                                         0x0FFFFFFF
2819#define R_036008_CPG_PERFCOUNTER0_SELECT                                0x036008
2820#define   S_036008_CNTR_SEL0(x)                                       (((unsigned)(x) & 0x3FF) << 0)
2821#define   G_036008_CNTR_SEL0(x)                                       (((x) >> 0) & 0x3FF)
2822#define   C_036008_CNTR_SEL0                                          0xFFFFFC00
2823#define   S_036008_CNTR_SEL1(x)                                       (((unsigned)(x) & 0x3FF) << 10)
2824#define   G_036008_CNTR_SEL1(x)                                       (((x) >> 10) & 0x3FF)
2825#define   C_036008_CNTR_SEL1                                          0xFFF003FF
2826#define   S_036008_SPM_MODE(x)                                        (((unsigned)(x) & 0x0F) << 20)
2827#define   G_036008_SPM_MODE(x)                                        (((x) >> 20) & 0x0F)
2828#define   C_036008_SPM_MODE                                           0xFF0FFFFF
2829#define   S_036008_CNTR_MODE1(x)                                      (((unsigned)(x) & 0x0F) << 24)
2830#define   G_036008_CNTR_MODE1(x)                                      (((x) >> 24) & 0x0F)
2831#define   C_036008_CNTR_MODE1                                         0xF0FFFFFF
2832#define   S_036008_CNTR_MODE0(x)                                      (((unsigned)(x) & 0x0F) << 28)
2833#define   G_036008_CNTR_MODE0(x)                                      (((x) >> 28) & 0x0F)
2834#define   C_036008_CNTR_MODE0                                         0x0FFFFFFF
2835#define R_03600C_CPC_PERFCOUNTER1_SELECT                                0x03600C
2836#define R_036010_CPC_PERFCOUNTER0_SELECT1                               0x036010
2837#define   S_036010_CNTR_SEL2(x)                                       (((unsigned)(x) & 0x3FF) << 0)
2838#define   G_036010_CNTR_SEL2(x)                                       (((x) >> 0) & 0x3FF)
2839#define   C_036010_CNTR_SEL2                                          0xFFFFFC00
2840#define   S_036010_CNTR_SEL3(x)                                       (((unsigned)(x) & 0x3FF) << 10)
2841#define   G_036010_CNTR_SEL3(x)                                       (((x) >> 10) & 0x3FF)
2842#define   C_036010_CNTR_SEL3                                          0xFFF003FF
2843#define   S_036010_CNTR_MODE3(x)                                      (((unsigned)(x) & 0x0F) << 24)
2844#define   G_036010_CNTR_MODE3(x)                                      (((x) >> 24) & 0x0F)
2845#define   C_036010_CNTR_MODE3                                         0xF0FFFFFF
2846#define   S_036010_CNTR_MODE2(x)                                      (((unsigned)(x) & 0x0F) << 28)
2847#define   G_036010_CNTR_MODE2(x)                                      (((x) >> 28) & 0x0F)
2848#define   C_036010_CNTR_MODE2                                         0x0FFFFFFF
2849#define R_036014_CPF_PERFCOUNTER1_SELECT                                0x036014
2850#define R_036018_CPF_PERFCOUNTER0_SELECT1                               0x036018
2851#define   S_036018_CNTR_SEL2(x)                                       (((unsigned)(x) & 0x3FF) << 0)
2852#define   G_036018_CNTR_SEL2(x)                                       (((x) >> 0) & 0x3FF)
2853#define   C_036018_CNTR_SEL2                                          0xFFFFFC00
2854#define   S_036018_CNTR_SEL3(x)                                       (((unsigned)(x) & 0x3FF) << 10)
2855#define   G_036018_CNTR_SEL3(x)                                       (((x) >> 10) & 0x3FF)
2856#define   C_036018_CNTR_SEL3                                          0xFFF003FF
2857#define   S_036018_CNTR_MODE3(x)                                      (((unsigned)(x) & 0x0F) << 24)
2858#define   G_036018_CNTR_MODE3(x)                                      (((x) >> 24) & 0x0F)
2859#define   C_036018_CNTR_MODE3                                         0xF0FFFFFF
2860#define   S_036018_CNTR_MODE2(x)                                      (((unsigned)(x) & 0x0F) << 28)
2861#define   G_036018_CNTR_MODE2(x)                                      (((x) >> 28) & 0x0F)
2862#define   C_036018_CNTR_MODE2                                         0x0FFFFFFF
2863#define R_03601C_CPF_PERFCOUNTER0_SELECT                                0x03601C
2864#define   S_03601C_CNTR_SEL0(x)                                       (((unsigned)(x) & 0x3FF) << 0)
2865#define   G_03601C_CNTR_SEL0(x)                                       (((x) >> 0) & 0x3FF)
2866#define   C_03601C_CNTR_SEL0                                          0xFFFFFC00
2867#define   S_03601C_CNTR_SEL1(x)                                       (((unsigned)(x) & 0x3FF) << 10)
2868#define   G_03601C_CNTR_SEL1(x)                                       (((x) >> 10) & 0x3FF)
2869#define   C_03601C_CNTR_SEL1                                          0xFFF003FF
2870#define   S_03601C_SPM_MODE(x)                                        (((unsigned)(x) & 0x0F) << 20)
2871#define   G_03601C_SPM_MODE(x)                                        (((x) >> 20) & 0x0F)
2872#define   C_03601C_SPM_MODE                                           0xFF0FFFFF
2873#define   S_03601C_CNTR_MODE1(x)                                      (((unsigned)(x) & 0x0F) << 24)
2874#define   G_03601C_CNTR_MODE1(x)                                      (((x) >> 24) & 0x0F)
2875#define   C_03601C_CNTR_MODE1                                         0xF0FFFFFF
2876#define   S_03601C_CNTR_MODE0(x)                                      (((unsigned)(x) & 0x0F) << 28)
2877#define   G_03601C_CNTR_MODE0(x)                                      (((x) >> 28) & 0x0F)
2878#define   C_03601C_CNTR_MODE0                                         0x0FFFFFFF
2879#define R_036020_CP_PERFMON_CNTL                                        0x036020
2880#define   S_036020_PERFMON_STATE(x)                                   (((unsigned)(x) & 0x0F) << 0)
2881#define   G_036020_PERFMON_STATE(x)                                   (((x) >> 0) & 0x0F)
2882#define   C_036020_PERFMON_STATE                                      0xFFFFFFF0
2883#define   S_036020_SPM_PERFMON_STATE(x)                               (((unsigned)(x) & 0x0F) << 4)
2884#define   G_036020_SPM_PERFMON_STATE(x)                               (((x) >> 4) & 0x0F)
2885#define   C_036020_SPM_PERFMON_STATE                                  0xFFFFFF0F
2886#define   S_036020_PERFMON_ENABLE_MODE(x)                             (((unsigned)(x) & 0x03) << 8)
2887#define   G_036020_PERFMON_ENABLE_MODE(x)                             (((x) >> 8) & 0x03)
2888#define   C_036020_PERFMON_ENABLE_MODE                                0xFFFFFCFF
2889#define   S_036020_PERFMON_SAMPLE_ENABLE(x)                           (((unsigned)(x) & 0x1) << 10)
2890#define   G_036020_PERFMON_SAMPLE_ENABLE(x)                           (((x) >> 10) & 0x1)
2891#define   C_036020_PERFMON_SAMPLE_ENABLE                              0xFFFFFBFF
2892#define R_036024_CPC_PERFCOUNTER0_SELECT                                0x036024
2893#define   S_036024_CNTR_SEL0(x)                                       (((unsigned)(x) & 0x3FF) << 0)
2894#define   G_036024_CNTR_SEL0(x)                                       (((x) >> 0) & 0x3FF)
2895#define   C_036024_CNTR_SEL0                                          0xFFFFFC00
2896#define   S_036024_CNTR_SEL1(x)                                       (((unsigned)(x) & 0x3FF) << 10)
2897#define   G_036024_CNTR_SEL1(x)                                       (((x) >> 10) & 0x3FF)
2898#define   C_036024_CNTR_SEL1                                          0xFFF003FF
2899#define   S_036024_SPM_MODE(x)                                        (((unsigned)(x) & 0x0F) << 20)
2900#define   G_036024_SPM_MODE(x)                                        (((x) >> 20) & 0x0F)
2901#define   C_036024_SPM_MODE                                           0xFF0FFFFF
2902#define   S_036024_CNTR_MODE1(x)                                      (((unsigned)(x) & 0x0F) << 24)
2903#define   G_036024_CNTR_MODE1(x)                                      (((x) >> 24) & 0x0F)
2904#define   C_036024_CNTR_MODE1                                         0xF0FFFFFF
2905#define   S_036024_CNTR_MODE0(x)                                      (((unsigned)(x) & 0x0F) << 28)
2906#define   G_036024_CNTR_MODE0(x)                                      (((x) >> 28) & 0x0F)
2907#define   C_036024_CNTR_MODE0                                         0x0FFFFFFF
2908#define R_036028_CPF_TC_PERF_COUNTER_WINDOW_SELECT                      0x036028
2909#define   S_036028_INDEX(x)                                           (((unsigned)(x) & 0x07) << 0)
2910#define   G_036028_INDEX(x)                                           (((x) >> 0) & 0x07)
2911#define   C_036028_INDEX                                              0xFFFFFFF8
2912#define   S_036028_ALWAYS(x)                                          (((unsigned)(x) & 0x1) << 30)
2913#define   G_036028_ALWAYS(x)                                          (((x) >> 30) & 0x1)
2914#define   C_036028_ALWAYS                                             0xBFFFFFFF
2915#define   S_036028_ENABLE(x)                                          (((unsigned)(x) & 0x1) << 31)
2916#define   G_036028_ENABLE(x)                                          (((x) >> 31) & 0x1)
2917#define   C_036028_ENABLE                                             0x7FFFFFFF
2918#define R_03602C_CPG_TC_PERF_COUNTER_WINDOW_SELECT                      0x03602C
2919#define   S_03602C_INDEX(x)                                           (((unsigned)(x) & 0x1F) << 0)
2920#define   G_03602C_INDEX(x)                                           (((x) >> 0) & 0x1F)
2921#define   C_03602C_INDEX                                              0xFFFFFFE0
2922#define   S_03602C_ALWAYS(x)                                          (((unsigned)(x) & 0x1) << 30)
2923#define   G_03602C_ALWAYS(x)                                          (((x) >> 30) & 0x1)
2924#define   C_03602C_ALWAYS                                             0xBFFFFFFF
2925#define   S_03602C_ENABLE(x)                                          (((unsigned)(x) & 0x1) << 31)
2926#define   G_03602C_ENABLE(x)                                          (((x) >> 31) & 0x1)
2927#define   C_03602C_ENABLE                                             0x7FFFFFFF
2928#define R_036030_CPF_LATENCY_STATS_SELECT                               0x036030
2929#define   S_036030_INDEX(x)                                           (((unsigned)(x) & 0x0F) << 0)
2930#define   G_036030_INDEX(x)                                           (((x) >> 0) & 0x0F)
2931#define   C_036030_INDEX                                              0xFFFFFFF0
2932#define   S_036030_CLEAR(x)                                           (((unsigned)(x) & 0x1) << 30)
2933#define   G_036030_CLEAR(x)                                           (((x) >> 30) & 0x1)
2934#define   C_036030_CLEAR                                              0xBFFFFFFF
2935#define   S_036030_ENABLE(x)                                          (((unsigned)(x) & 0x1) << 31)
2936#define   G_036030_ENABLE(x)                                          (((x) >> 31) & 0x1)
2937#define   C_036030_ENABLE                                             0x7FFFFFFF
2938#define R_036034_CPG_LATENCY_STATS_SELECT                               0x036034
2939#define   S_036034_INDEX(x)                                           (((unsigned)(x) & 0x1F) << 0)
2940#define   G_036034_INDEX(x)                                           (((x) >> 0) & 0x1F)
2941#define   C_036034_INDEX                                              0xFFFFFFE0
2942#define   S_036034_CLEAR(x)                                           (((unsigned)(x) & 0x1) << 30)
2943#define   G_036034_CLEAR(x)                                           (((x) >> 30) & 0x1)
2944#define   C_036034_CLEAR                                              0xBFFFFFFF
2945#define   S_036034_ENABLE(x)                                          (((unsigned)(x) & 0x1) << 31)
2946#define   G_036034_ENABLE(x)                                          (((x) >> 31) & 0x1)
2947#define   C_036034_ENABLE                                             0x7FFFFFFF
2948#define R_036038_CPC_LATENCY_STATS_SELECT                               0x036038
2949#define   S_036038_INDEX(x)                                           (((unsigned)(x) & 0x07) << 0)
2950#define   G_036038_INDEX(x)                                           (((x) >> 0) & 0x07)
2951#define   C_036038_INDEX                                              0xFFFFFFF8
2952#define   S_036038_CLEAR(x)                                           (((unsigned)(x) & 0x1) << 30)
2953#define   G_036038_CLEAR(x)                                           (((x) >> 30) & 0x1)
2954#define   C_036038_CLEAR                                              0xBFFFFFFF
2955#define   S_036038_ENABLE(x)                                          (((unsigned)(x) & 0x1) << 31)
2956#define   G_036038_ENABLE(x)                                          (((x) >> 31) & 0x1)
2957#define   C_036038_ENABLE                                             0x7FFFFFFF
2958#define R_036100_GRBM_PERFCOUNTER0_SELECT                               0x036100
2959#define   S_036100_PERF_SEL(x)                                        (((unsigned)(x) & 0x3F) << 0)
2960#define   G_036100_PERF_SEL(x)                                        (((x) >> 0) & 0x3F)
2961#define   C_036100_PERF_SEL                                           0xFFFFFFC0
2962#define   S_036100_DB_CLEAN_USER_DEFINED_MASK(x)                      (((unsigned)(x) & 0x1) << 10)
2963#define   G_036100_DB_CLEAN_USER_DEFINED_MASK(x)                      (((x) >> 10) & 0x1)
2964#define   C_036100_DB_CLEAN_USER_DEFINED_MASK                         0xFFFFFBFF
2965#define   S_036100_CB_CLEAN_USER_DEFINED_MASK(x)                      (((unsigned)(x) & 0x1) << 11)
2966#define   G_036100_CB_CLEAN_USER_DEFINED_MASK(x)                      (((x) >> 11) & 0x1)
2967#define   C_036100_CB_CLEAN_USER_DEFINED_MASK                         0xFFFFF7FF
2968#define   S_036100_VGT_BUSY_USER_DEFINED_MASK(x)                      (((unsigned)(x) & 0x1) << 12)
2969#define   G_036100_VGT_BUSY_USER_DEFINED_MASK(x)                      (((x) >> 12) & 0x1)
2970#define   C_036100_VGT_BUSY_USER_DEFINED_MASK                         0xFFFFEFFF
2971#define   S_036100_TA_BUSY_USER_DEFINED_MASK(x)                       (((unsigned)(x) & 0x1) << 13)
2972#define   G_036100_TA_BUSY_USER_DEFINED_MASK(x)                       (((x) >> 13) & 0x1)
2973#define   C_036100_TA_BUSY_USER_DEFINED_MASK                          0xFFFFDFFF
2974#define   S_036100_SX_BUSY_USER_DEFINED_MASK(x)                       (((unsigned)(x) & 0x1) << 14)
2975#define   G_036100_SX_BUSY_USER_DEFINED_MASK(x)                       (((x) >> 14) & 0x1)
2976#define   C_036100_SX_BUSY_USER_DEFINED_MASK                          0xFFFFBFFF
2977#define   S_036100_SPI_BUSY_USER_DEFINED_MASK(x)                      (((unsigned)(x) & 0x1) << 16)
2978#define   G_036100_SPI_BUSY_USER_DEFINED_MASK(x)                      (((x) >> 16) & 0x1)
2979#define   C_036100_SPI_BUSY_USER_DEFINED_MASK                         0xFFFEFFFF
2980#define   S_036100_SC_BUSY_USER_DEFINED_MASK(x)                       (((unsigned)(x) & 0x1) << 17)
2981#define   G_036100_SC_BUSY_USER_DEFINED_MASK(x)                       (((x) >> 17) & 0x1)
2982#define   C_036100_SC_BUSY_USER_DEFINED_MASK                          0xFFFDFFFF
2983#define   S_036100_PA_BUSY_USER_DEFINED_MASK(x)                       (((unsigned)(x) & 0x1) << 18)
2984#define   G_036100_PA_BUSY_USER_DEFINED_MASK(x)                       (((x) >> 18) & 0x1)
2985#define   C_036100_PA_BUSY_USER_DEFINED_MASK                          0xFFFBFFFF
2986#define   S_036100_GRBM_BUSY_USER_DEFINED_MASK(x)                     (((unsigned)(x) & 0x1) << 19)
2987#define   G_036100_GRBM_BUSY_USER_DEFINED_MASK(x)                     (((x) >> 19) & 0x1)
2988#define   C_036100_GRBM_BUSY_USER_DEFINED_MASK                        0xFFF7FFFF
2989#define   S_036100_DB_BUSY_USER_DEFINED_MASK(x)                       (((unsigned)(x) & 0x1) << 20)
2990#define   G_036100_DB_BUSY_USER_DEFINED_MASK(x)                       (((x) >> 20) & 0x1)
2991#define   C_036100_DB_BUSY_USER_DEFINED_MASK                          0xFFEFFFFF
2992#define   S_036100_CB_BUSY_USER_DEFINED_MASK(x)                       (((unsigned)(x) & 0x1) << 21)
2993#define   G_036100_CB_BUSY_USER_DEFINED_MASK(x)                       (((x) >> 21) & 0x1)
2994#define   C_036100_CB_BUSY_USER_DEFINED_MASK                          0xFFDFFFFF
2995#define   S_036100_CP_BUSY_USER_DEFINED_MASK(x)                       (((unsigned)(x) & 0x1) << 22)
2996#define   G_036100_CP_BUSY_USER_DEFINED_MASK(x)                       (((x) >> 22) & 0x1)
2997#define   C_036100_CP_BUSY_USER_DEFINED_MASK                          0xFFBFFFFF
2998#define   S_036100_IA_BUSY_USER_DEFINED_MASK(x)                       (((unsigned)(x) & 0x1) << 23)
2999#define   G_036100_IA_BUSY_USER_DEFINED_MASK(x)                       (((x) >> 23) & 0x1)
3000#define   C_036100_IA_BUSY_USER_DEFINED_MASK                          0xFF7FFFFF
3001#define   S_036100_GDS_BUSY_USER_DEFINED_MASK(x)                      (((unsigned)(x) & 0x1) << 24)
3002#define   G_036100_GDS_BUSY_USER_DEFINED_MASK(x)                      (((x) >> 24) & 0x1)
3003#define   C_036100_GDS_BUSY_USER_DEFINED_MASK                         0xFEFFFFFF
3004#define   S_036100_BCI_BUSY_USER_DEFINED_MASK(x)                      (((unsigned)(x) & 0x1) << 25)
3005#define   G_036100_BCI_BUSY_USER_DEFINED_MASK(x)                      (((x) >> 25) & 0x1)
3006#define   C_036100_BCI_BUSY_USER_DEFINED_MASK                         0xFDFFFFFF
3007#define   S_036100_RLC_BUSY_USER_DEFINED_MASK(x)                      (((unsigned)(x) & 0x1) << 26)
3008#define   G_036100_RLC_BUSY_USER_DEFINED_MASK(x)                      (((x) >> 26) & 0x1)
3009#define   C_036100_RLC_BUSY_USER_DEFINED_MASK                         0xFBFFFFFF
3010#define   S_036100_TC_BUSY_USER_DEFINED_MASK(x)                       (((unsigned)(x) & 0x1) << 27)
3011#define   G_036100_TC_BUSY_USER_DEFINED_MASK(x)                       (((x) >> 27) & 0x1)
3012#define   C_036100_TC_BUSY_USER_DEFINED_MASK                          0xF7FFFFFF
3013#define   S_036100_WD_BUSY_USER_DEFINED_MASK(x)                       (((unsigned)(x) & 0x1) << 28)
3014#define   G_036100_WD_BUSY_USER_DEFINED_MASK(x)                       (((x) >> 28) & 0x1)
3015#define   C_036100_WD_BUSY_USER_DEFINED_MASK                          0xEFFFFFFF
3016#define   S_036100_UTCL2_BUSY_USER_DEFINED_MASK(x)                    (((unsigned)(x) & 0x1) << 29)
3017#define   G_036100_UTCL2_BUSY_USER_DEFINED_MASK(x)                    (((x) >> 29) & 0x1)
3018#define   C_036100_UTCL2_BUSY_USER_DEFINED_MASK                       0xDFFFFFFF
3019#define   S_036100_EA_BUSY_USER_DEFINED_MASK(x)                       (((unsigned)(x) & 0x1) << 30)
3020#define   G_036100_EA_BUSY_USER_DEFINED_MASK(x)                       (((x) >> 30) & 0x1)
3021#define   C_036100_EA_BUSY_USER_DEFINED_MASK                          0xBFFFFFFF
3022#define   S_036100_RMI_BUSY_USER_DEFINED_MASK(x)                      (((unsigned)(x) & 0x1) << 31)
3023#define   G_036100_RMI_BUSY_USER_DEFINED_MASK(x)                      (((x) >> 31) & 0x1)
3024#define   C_036100_RMI_BUSY_USER_DEFINED_MASK                         0x7FFFFFFF
3025#define R_036104_GRBM_PERFCOUNTER1_SELECT                               0x036104
3026#define R_036108_GRBM_SE0_PERFCOUNTER_SELECT                            0x036108
3027#define   S_036108_PERF_SEL(x)                                        (((unsigned)(x) & 0x3F) << 0)
3028#define   G_036108_PERF_SEL(x)                                        (((x) >> 0) & 0x3F)
3029#define   C_036108_PERF_SEL                                           0xFFFFFFC0
3030#define   S_036108_DB_CLEAN_USER_DEFINED_MASK(x)                      (((unsigned)(x) & 0x1) << 10)
3031#define   G_036108_DB_CLEAN_USER_DEFINED_MASK(x)                      (((x) >> 10) & 0x1)
3032#define   C_036108_DB_CLEAN_USER_DEFINED_MASK                         0xFFFFFBFF
3033#define   S_036108_CB_CLEAN_USER_DEFINED_MASK(x)                      (((unsigned)(x) & 0x1) << 11)
3034#define   G_036108_CB_CLEAN_USER_DEFINED_MASK(x)                      (((x) >> 11) & 0x1)
3035#define   C_036108_CB_CLEAN_USER_DEFINED_MASK                         0xFFFFF7FF
3036#define   S_036108_TA_BUSY_USER_DEFINED_MASK(x)                       (((unsigned)(x) & 0x1) << 12)
3037#define   G_036108_TA_BUSY_USER_DEFINED_MASK(x)                       (((x) >> 12) & 0x1)
3038#define   C_036108_TA_BUSY_USER_DEFINED_MASK                          0xFFFFEFFF
3039#define   S_036108_SX_BUSY_USER_DEFINED_MASK(x)                       (((unsigned)(x) & 0x1) << 13)
3040#define   G_036108_SX_BUSY_USER_DEFINED_MASK(x)                       (((x) >> 13) & 0x1)
3041#define   C_036108_SX_BUSY_USER_DEFINED_MASK                          0xFFFFDFFF
3042#define   S_036108_SPI_BUSY_USER_DEFINED_MASK(x)                      (((unsigned)(x) & 0x1) << 15)
3043#define   G_036108_SPI_BUSY_USER_DEFINED_MASK(x)                      (((x) >> 15) & 0x1)
3044#define   C_036108_SPI_BUSY_USER_DEFINED_MASK                         0xFFFF7FFF
3045#define   S_036108_SC_BUSY_USER_DEFINED_MASK(x)                       (((unsigned)(x) & 0x1) << 16)
3046#define   G_036108_SC_BUSY_USER_DEFINED_MASK(x)                       (((x) >> 16) & 0x1)
3047#define   C_036108_SC_BUSY_USER_DEFINED_MASK                          0xFFFEFFFF
3048#define   S_036108_DB_BUSY_USER_DEFINED_MASK(x)                       (((unsigned)(x) & 0x1) << 17)
3049#define   G_036108_DB_BUSY_USER_DEFINED_MASK(x)                       (((x) >> 17) & 0x1)
3050#define   C_036108_DB_BUSY_USER_DEFINED_MASK                          0xFFFDFFFF
3051#define   S_036108_CB_BUSY_USER_DEFINED_MASK(x)                       (((unsigned)(x) & 0x1) << 18)
3052#define   G_036108_CB_BUSY_USER_DEFINED_MASK(x)                       (((x) >> 18) & 0x1)
3053#define   C_036108_CB_BUSY_USER_DEFINED_MASK                          0xFFFBFFFF
3054#define   S_036108_VGT_BUSY_USER_DEFINED_MASK(x)                      (((unsigned)(x) & 0x1) << 19)
3055#define   G_036108_VGT_BUSY_USER_DEFINED_MASK(x)                      (((x) >> 19) & 0x1)
3056#define   C_036108_VGT_BUSY_USER_DEFINED_MASK                         0xFFF7FFFF
3057#define   S_036108_PA_BUSY_USER_DEFINED_MASK(x)                       (((unsigned)(x) & 0x1) << 20)
3058#define   G_036108_PA_BUSY_USER_DEFINED_MASK(x)                       (((x) >> 20) & 0x1)
3059#define   C_036108_PA_BUSY_USER_DEFINED_MASK                          0xFFEFFFFF
3060#define   S_036108_BCI_BUSY_USER_DEFINED_MASK(x)                      (((unsigned)(x) & 0x1) << 21)
3061#define   G_036108_BCI_BUSY_USER_DEFINED_MASK(x)                      (((x) >> 21) & 0x1)
3062#define   C_036108_BCI_BUSY_USER_DEFINED_MASK                         0xFFDFFFFF
3063#define   S_036108_RMI_BUSY_USER_DEFINED_MASK(x)                      (((unsigned)(x) & 0x1) << 22)
3064#define   G_036108_RMI_BUSY_USER_DEFINED_MASK(x)                      (((x) >> 22) & 0x1)
3065#define   C_036108_RMI_BUSY_USER_DEFINED_MASK                         0xFFBFFFFF
3066#define R_03610C_GRBM_SE1_PERFCOUNTER_SELECT                            0x03610C
3067#define   S_03610C_PERF_SEL(x)                                        (((unsigned)(x) & 0x3F) << 0)
3068#define   G_03610C_PERF_SEL(x)                                        (((x) >> 0) & 0x3F)
3069#define   C_03610C_PERF_SEL                                           0xFFFFFFC0
3070#define   S_03610C_DB_CLEAN_USER_DEFINED_MASK(x)                      (((unsigned)(x) & 0x1) << 10)
3071#define   G_03610C_DB_CLEAN_USER_DEFINED_MASK(x)                      (((x) >> 10) & 0x1)
3072#define   C_03610C_DB_CLEAN_USER_DEFINED_MASK                         0xFFFFFBFF
3073#define   S_03610C_CB_CLEAN_USER_DEFINED_MASK(x)                      (((unsigned)(x) & 0x1) << 11)
3074#define   G_03610C_CB_CLEAN_USER_DEFINED_MASK(x)                      (((x) >> 11) & 0x1)
3075#define   C_03610C_CB_CLEAN_USER_DEFINED_MASK                         0xFFFFF7FF
3076#define   S_03610C_TA_BUSY_USER_DEFINED_MASK(x)                       (((unsigned)(x) & 0x1) << 12)
3077#define   G_03610C_TA_BUSY_USER_DEFINED_MASK(x)                       (((x) >> 12) & 0x1)
3078#define   C_03610C_TA_BUSY_USER_DEFINED_MASK                          0xFFFFEFFF
3079#define   S_03610C_SX_BUSY_USER_DEFINED_MASK(x)                       (((unsigned)(x) & 0x1) << 13)
3080#define   G_03610C_SX_BUSY_USER_DEFINED_MASK(x)                       (((x) >> 13) & 0x1)
3081#define   C_03610C_SX_BUSY_USER_DEFINED_MASK                          0xFFFFDFFF
3082#define   S_03610C_SPI_BUSY_USER_DEFINED_MASK(x)                      (((unsigned)(x) & 0x1) << 15)
3083#define   G_03610C_SPI_BUSY_USER_DEFINED_MASK(x)                      (((x) >> 15) & 0x1)
3084#define   C_03610C_SPI_BUSY_USER_DEFINED_MASK                         0xFFFF7FFF
3085#define   S_03610C_SC_BUSY_USER_DEFINED_MASK(x)                       (((unsigned)(x) & 0x1) << 16)
3086#define   G_03610C_SC_BUSY_USER_DEFINED_MASK(x)                       (((x) >> 16) & 0x1)
3087#define   C_03610C_SC_BUSY_USER_DEFINED_MASK                          0xFFFEFFFF
3088#define   S_03610C_DB_BUSY_USER_DEFINED_MASK(x)                       (((unsigned)(x) & 0x1) << 17)
3089#define   G_03610C_DB_BUSY_USER_DEFINED_MASK(x)                       (((x) >> 17) & 0x1)
3090#define   C_03610C_DB_BUSY_USER_DEFINED_MASK                          0xFFFDFFFF
3091#define   S_03610C_CB_BUSY_USER_DEFINED_MASK(x)                       (((unsigned)(x) & 0x1) << 18)
3092#define   G_03610C_CB_BUSY_USER_DEFINED_MASK(x)                       (((x) >> 18) & 0x1)
3093#define   C_03610C_CB_BUSY_USER_DEFINED_MASK                          0xFFFBFFFF
3094#define   S_03610C_VGT_BUSY_USER_DEFINED_MASK(x)                      (((unsigned)(x) & 0x1) << 19)
3095#define   G_03610C_VGT_BUSY_USER_DEFINED_MASK(x)                      (((x) >> 19) & 0x1)
3096#define   C_03610C_VGT_BUSY_USER_DEFINED_MASK                         0xFFF7FFFF
3097#define   S_03610C_PA_BUSY_USER_DEFINED_MASK(x)                       (((unsigned)(x) & 0x1) << 20)
3098#define   G_03610C_PA_BUSY_USER_DEFINED_MASK(x)                       (((x) >> 20) & 0x1)
3099#define   C_03610C_PA_BUSY_USER_DEFINED_MASK                          0xFFEFFFFF
3100#define   S_03610C_BCI_BUSY_USER_DEFINED_MASK(x)                      (((unsigned)(x) & 0x1) << 21)
3101#define   G_03610C_BCI_BUSY_USER_DEFINED_MASK(x)                      (((x) >> 21) & 0x1)
3102#define   C_03610C_BCI_BUSY_USER_DEFINED_MASK                         0xFFDFFFFF
3103#define   S_03610C_RMI_BUSY_USER_DEFINED_MASK(x)                      (((unsigned)(x) & 0x1) << 22)
3104#define   G_03610C_RMI_BUSY_USER_DEFINED_MASK(x)                      (((x) >> 22) & 0x1)
3105#define   C_03610C_RMI_BUSY_USER_DEFINED_MASK                         0xFFBFFFFF
3106#define R_036110_GRBM_SE2_PERFCOUNTER_SELECT                            0x036110
3107#define   S_036110_PERF_SEL(x)                                        (((unsigned)(x) & 0x3F) << 0)
3108#define   G_036110_PERF_SEL(x)                                        (((x) >> 0) & 0x3F)
3109#define   C_036110_PERF_SEL                                           0xFFFFFFC0
3110#define   S_036110_DB_CLEAN_USER_DEFINED_MASK(x)                      (((unsigned)(x) & 0x1) << 10)
3111#define   G_036110_DB_CLEAN_USER_DEFINED_MASK(x)                      (((x) >> 10) & 0x1)
3112#define   C_036110_DB_CLEAN_USER_DEFINED_MASK                         0xFFFFFBFF
3113#define   S_036110_CB_CLEAN_USER_DEFINED_MASK(x)                      (((unsigned)(x) & 0x1) << 11)
3114#define   G_036110_CB_CLEAN_USER_DEFINED_MASK(x)                      (((x) >> 11) & 0x1)
3115#define   C_036110_CB_CLEAN_USER_DEFINED_MASK                         0xFFFFF7FF
3116#define   S_036110_TA_BUSY_USER_DEFINED_MASK(x)                       (((unsigned)(x) & 0x1) << 12)
3117#define   G_036110_TA_BUSY_USER_DEFINED_MASK(x)                       (((x) >> 12) & 0x1)
3118#define   C_036110_TA_BUSY_USER_DEFINED_MASK                          0xFFFFEFFF
3119#define   S_036110_SX_BUSY_USER_DEFINED_MASK(x)                       (((unsigned)(x) & 0x1) << 13)
3120#define   G_036110_SX_BUSY_USER_DEFINED_MASK(x)                       (((x) >> 13) & 0x1)
3121#define   C_036110_SX_BUSY_USER_DEFINED_MASK                          0xFFFFDFFF
3122#define   S_036110_SPI_BUSY_USER_DEFINED_MASK(x)                      (((unsigned)(x) & 0x1) << 15)
3123#define   G_036110_SPI_BUSY_USER_DEFINED_MASK(x)                      (((x) >> 15) & 0x1)
3124#define   C_036110_SPI_BUSY_USER_DEFINED_MASK                         0xFFFF7FFF
3125#define   S_036110_SC_BUSY_USER_DEFINED_MASK(x)                       (((unsigned)(x) & 0x1) << 16)
3126#define   G_036110_SC_BUSY_USER_DEFINED_MASK(x)                       (((x) >> 16) & 0x1)
3127#define   C_036110_SC_BUSY_USER_DEFINED_MASK                          0xFFFEFFFF
3128#define   S_036110_DB_BUSY_USER_DEFINED_MASK(x)                       (((unsigned)(x) & 0x1) << 17)
3129#define   G_036110_DB_BUSY_USER_DEFINED_MASK(x)                       (((x) >> 17) & 0x1)
3130#define   C_036110_DB_BUSY_USER_DEFINED_MASK                          0xFFFDFFFF
3131#define   S_036110_CB_BUSY_USER_DEFINED_MASK(x)                       (((unsigned)(x) & 0x1) << 18)
3132#define   G_036110_CB_BUSY_USER_DEFINED_MASK(x)                       (((x) >> 18) & 0x1)
3133#define   C_036110_CB_BUSY_USER_DEFINED_MASK                          0xFFFBFFFF
3134#define   S_036110_VGT_BUSY_USER_DEFINED_MASK(x)                      (((unsigned)(x) & 0x1) << 19)
3135#define   G_036110_VGT_BUSY_USER_DEFINED_MASK(x)                      (((x) >> 19) & 0x1)
3136#define   C_036110_VGT_BUSY_USER_DEFINED_MASK                         0xFFF7FFFF
3137#define   S_036110_PA_BUSY_USER_DEFINED_MASK(x)                       (((unsigned)(x) & 0x1) << 20)
3138#define   G_036110_PA_BUSY_USER_DEFINED_MASK(x)                       (((x) >> 20) & 0x1)
3139#define   C_036110_PA_BUSY_USER_DEFINED_MASK                          0xFFEFFFFF
3140#define   S_036110_BCI_BUSY_USER_DEFINED_MASK(x)                      (((unsigned)(x) & 0x1) << 21)
3141#define   G_036110_BCI_BUSY_USER_DEFINED_MASK(x)                      (((x) >> 21) & 0x1)
3142#define   C_036110_BCI_BUSY_USER_DEFINED_MASK                         0xFFDFFFFF
3143#define   S_036110_RMI_BUSY_USER_DEFINED_MASK(x)                      (((unsigned)(x) & 0x1) << 22)
3144#define   G_036110_RMI_BUSY_USER_DEFINED_MASK(x)                      (((x) >> 22) & 0x1)
3145#define   C_036110_RMI_BUSY_USER_DEFINED_MASK                         0xFFBFFFFF
3146#define R_036114_GRBM_SE3_PERFCOUNTER_SELECT                            0x036114
3147#define   S_036114_PERF_SEL(x)                                        (((unsigned)(x) & 0x3F) << 0)
3148#define   G_036114_PERF_SEL(x)                                        (((x) >> 0) & 0x3F)
3149#define   C_036114_PERF_SEL                                           0xFFFFFFC0
3150#define   S_036114_DB_CLEAN_USER_DEFINED_MASK(x)                      (((unsigned)(x) & 0x1) << 10)
3151#define   G_036114_DB_CLEAN_USER_DEFINED_MASK(x)                      (((x) >> 10) & 0x1)
3152#define   C_036114_DB_CLEAN_USER_DEFINED_MASK                         0xFFFFFBFF
3153#define   S_036114_CB_CLEAN_USER_DEFINED_MASK(x)                      (((unsigned)(x) & 0x1) << 11)
3154#define   G_036114_CB_CLEAN_USER_DEFINED_MASK(x)                      (((x) >> 11) & 0x1)
3155#define   C_036114_CB_CLEAN_USER_DEFINED_MASK                         0xFFFFF7FF
3156#define   S_036114_TA_BUSY_USER_DEFINED_MASK(x)                       (((unsigned)(x) & 0x1) << 12)
3157#define   G_036114_TA_BUSY_USER_DEFINED_MASK(x)                       (((x) >> 12) & 0x1)
3158#define   C_036114_TA_BUSY_USER_DEFINED_MASK                          0xFFFFEFFF
3159#define   S_036114_SX_BUSY_USER_DEFINED_MASK(x)                       (((unsigned)(x) & 0x1) << 13)
3160#define   G_036114_SX_BUSY_USER_DEFINED_MASK(x)                       (((x) >> 13) & 0x1)
3161#define   C_036114_SX_BUSY_USER_DEFINED_MASK                          0xFFFFDFFF
3162#define   S_036114_SPI_BUSY_USER_DEFINED_MASK(x)                      (((unsigned)(x) & 0x1) << 15)
3163#define   G_036114_SPI_BUSY_USER_DEFINED_MASK(x)                      (((x) >> 15) & 0x1)
3164#define   C_036114_SPI_BUSY_USER_DEFINED_MASK                         0xFFFF7FFF
3165#define   S_036114_SC_BUSY_USER_DEFINED_MASK(x)                       (((unsigned)(x) & 0x1) << 16)
3166#define   G_036114_SC_BUSY_USER_DEFINED_MASK(x)                       (((x) >> 16) & 0x1)
3167#define   C_036114_SC_BUSY_USER_DEFINED_MASK                          0xFFFEFFFF
3168#define   S_036114_DB_BUSY_USER_DEFINED_MASK(x)                       (((unsigned)(x) & 0x1) << 17)
3169#define   G_036114_DB_BUSY_USER_DEFINED_MASK(x)                       (((x) >> 17) & 0x1)
3170#define   C_036114_DB_BUSY_USER_DEFINED_MASK                          0xFFFDFFFF
3171#define   S_036114_CB_BUSY_USER_DEFINED_MASK(x)                       (((unsigned)(x) & 0x1) << 18)
3172#define   G_036114_CB_BUSY_USER_DEFINED_MASK(x)                       (((x) >> 18) & 0x1)
3173#define   C_036114_CB_BUSY_USER_DEFINED_MASK                          0xFFFBFFFF
3174#define   S_036114_VGT_BUSY_USER_DEFINED_MASK(x)                      (((unsigned)(x) & 0x1) << 19)
3175#define   G_036114_VGT_BUSY_USER_DEFINED_MASK(x)                      (((x) >> 19) & 0x1)
3176#define   C_036114_VGT_BUSY_USER_DEFINED_MASK                         0xFFF7FFFF
3177#define   S_036114_PA_BUSY_USER_DEFINED_MASK(x)                       (((unsigned)(x) & 0x1) << 20)
3178#define   G_036114_PA_BUSY_USER_DEFINED_MASK(x)                       (((x) >> 20) & 0x1)
3179#define   C_036114_PA_BUSY_USER_DEFINED_MASK                          0xFFEFFFFF
3180#define   S_036114_BCI_BUSY_USER_DEFINED_MASK(x)                      (((unsigned)(x) & 0x1) << 21)
3181#define   G_036114_BCI_BUSY_USER_DEFINED_MASK(x)                      (((x) >> 21) & 0x1)
3182#define   C_036114_BCI_BUSY_USER_DEFINED_MASK                         0xFFDFFFFF
3183#define   S_036114_RMI_BUSY_USER_DEFINED_MASK(x)                      (((unsigned)(x) & 0x1) << 22)
3184#define   G_036114_RMI_BUSY_USER_DEFINED_MASK(x)                      (((x) >> 22) & 0x1)
3185#define   C_036114_RMI_BUSY_USER_DEFINED_MASK                         0xFFBFFFFF
3186#define R_036200_WD_PERFCOUNTER0_SELECT                                 0x036200
3187#define   S_036200_PERF_SEL(x)                                        (((unsigned)(x) & 0xFF) << 0)
3188#define   G_036200_PERF_SEL(x)                                        (((x) >> 0) & 0xFF)
3189#define   C_036200_PERF_SEL                                           0xFFFFFF00
3190#define   S_036200_PERF_MODE(x)                                       (((unsigned)(x) & 0x0F) << 28)
3191#define   G_036200_PERF_MODE(x)                                       (((x) >> 28) & 0x0F)
3192#define   C_036200_PERF_MODE                                          0x0FFFFFFF
3193#define R_036204_WD_PERFCOUNTER1_SELECT                                 0x036204
3194#define R_036208_WD_PERFCOUNTER2_SELECT                                 0x036208
3195#define R_03620C_WD_PERFCOUNTER3_SELECT                                 0x03620C
3196#define R_036210_IA_PERFCOUNTER0_SELECT                                 0x036210
3197#define   S_036210_PERF_SEL(x)                                        (((unsigned)(x) & 0x3FF) << 0)
3198#define   G_036210_PERF_SEL(x)                                        (((x) >> 0) & 0x3FF)
3199#define   C_036210_PERF_SEL                                           0xFFFFFC00
3200#define   S_036210_PERF_SEL1(x)                                       (((unsigned)(x) & 0x3FF) << 10)
3201#define   G_036210_PERF_SEL1(x)                                       (((x) >> 10) & 0x3FF)
3202#define   C_036210_PERF_SEL1                                          0xFFF003FF
3203#define   S_036210_CNTR_MODE(x)                                       (((unsigned)(x) & 0x0F) << 20)
3204#define   G_036210_CNTR_MODE(x)                                       (((x) >> 20) & 0x0F)
3205#define   C_036210_CNTR_MODE                                          0xFF0FFFFF
3206#define   S_036210_PERF_MODE1(x)                                      (((unsigned)(x) & 0x0F) << 24)
3207#define   G_036210_PERF_MODE1(x)                                      (((x) >> 24) & 0x0F)
3208#define   C_036210_PERF_MODE1                                         0xF0FFFFFF
3209#define   S_036210_PERF_MODE(x)                                       (((unsigned)(x) & 0x0F) << 28)
3210#define   G_036210_PERF_MODE(x)                                       (((x) >> 28) & 0x0F)
3211#define   C_036210_PERF_MODE                                          0x0FFFFFFF
3212#define R_036214_IA_PERFCOUNTER1_SELECT                                 0x036214
3213#define R_036218_IA_PERFCOUNTER2_SELECT                                 0x036218
3214#define R_03621C_IA_PERFCOUNTER3_SELECT                                 0x03621C
3215#define R_036220_IA_PERFCOUNTER0_SELECT1                                0x036220
3216#define   S_036220_PERF_SEL2(x)                                       (((unsigned)(x) & 0x3FF) << 0)
3217#define   G_036220_PERF_SEL2(x)                                       (((x) >> 0) & 0x3FF)
3218#define   C_036220_PERF_SEL2                                          0xFFFFFC00
3219#define   S_036220_PERF_SEL3(x)                                       (((unsigned)(x) & 0x3FF) << 10)
3220#define   G_036220_PERF_SEL3(x)                                       (((x) >> 10) & 0x3FF)
3221#define   C_036220_PERF_SEL3                                          0xFFF003FF
3222#define   S_036220_PERF_MODE3(x)                                      (((unsigned)(x) & 0x0F) << 24)
3223#define   G_036220_PERF_MODE3(x)                                      (((x) >> 24) & 0x0F)
3224#define   C_036220_PERF_MODE3                                         0xF0FFFFFF
3225#define   S_036220_PERF_MODE2(x)                                      (((unsigned)(x) & 0x0F) << 28)
3226#define   G_036220_PERF_MODE2(x)                                      (((x) >> 28) & 0x0F)
3227#define   C_036220_PERF_MODE2                                         0x0FFFFFFF
3228#define R_036230_VGT_PERFCOUNTER0_SELECT                                0x036230
3229#define   S_036230_PERF_SEL(x)                                        (((unsigned)(x) & 0x3FF) << 0)
3230#define   G_036230_PERF_SEL(x)                                        (((x) >> 0) & 0x3FF)
3231#define   C_036230_PERF_SEL                                           0xFFFFFC00
3232#define   S_036230_PERF_SEL1(x)                                       (((unsigned)(x) & 0x3FF) << 10)
3233#define   G_036230_PERF_SEL1(x)                                       (((x) >> 10) & 0x3FF)
3234#define   C_036230_PERF_SEL1                                          0xFFF003FF
3235#define   S_036230_CNTR_MODE(x)                                       (((unsigned)(x) & 0x0F) << 20)
3236#define   G_036230_CNTR_MODE(x)                                       (((x) >> 20) & 0x0F)
3237#define   C_036230_CNTR_MODE                                          0xFF0FFFFF
3238#define   S_036230_PERF_MODE1(x)                                      (((unsigned)(x) & 0x0F) << 24)
3239#define   G_036230_PERF_MODE1(x)                                      (((x) >> 24) & 0x0F)
3240#define   C_036230_PERF_MODE1                                         0xF0FFFFFF
3241#define   S_036230_PERF_MODE(x)                                       (((unsigned)(x) & 0x0F) << 28)
3242#define   G_036230_PERF_MODE(x)                                       (((x) >> 28) & 0x0F)
3243#define   C_036230_PERF_MODE                                          0x0FFFFFFF
3244#define R_036234_VGT_PERFCOUNTER1_SELECT                                0x036234
3245#define R_036238_VGT_PERFCOUNTER2_SELECT                                0x036238
3246#define R_03623C_VGT_PERFCOUNTER3_SELECT                                0x03623C
3247#define R_036240_VGT_PERFCOUNTER0_SELECT1                               0x036240
3248#define   S_036240_PERF_SEL2(x)                                       (((unsigned)(x) & 0x3FF) << 0)
3249#define   G_036240_PERF_SEL2(x)                                       (((x) >> 0) & 0x3FF)
3250#define   C_036240_PERF_SEL2                                          0xFFFFFC00
3251#define   S_036240_PERF_SEL3(x)                                       (((unsigned)(x) & 0x3FF) << 10)
3252#define   G_036240_PERF_SEL3(x)                                       (((x) >> 10) & 0x3FF)
3253#define   C_036240_PERF_SEL3                                          0xFFF003FF
3254#define   S_036240_PERF_MODE3(x)                                      (((unsigned)(x) & 0x0F) << 24)
3255#define   G_036240_PERF_MODE3(x)                                      (((x) >> 24) & 0x0F)
3256#define   C_036240_PERF_MODE3                                         0xF0FFFFFF
3257#define   S_036240_PERF_MODE2(x)                                      (((unsigned)(x) & 0x0F) << 28)
3258#define   G_036240_PERF_MODE2(x)                                      (((x) >> 28) & 0x0F)
3259#define   C_036240_PERF_MODE2                                         0x0FFFFFFF
3260#define R_036244_VGT_PERFCOUNTER1_SELECT1                               0x036244
3261#define R_036250_VGT_PERFCOUNTER_SEID_MASK                              0x036250
3262#define   S_036250_PERF_SEID_IGNORE_MASK(x)                           (((unsigned)(x) & 0xFF) << 0)
3263#define   G_036250_PERF_SEID_IGNORE_MASK(x)                           (((x) >> 0) & 0xFF)
3264#define   C_036250_PERF_SEID_IGNORE_MASK                              0xFFFFFF00
3265#define R_036400_PA_SU_PERFCOUNTER0_SELECT                              0x036400
3266#define   S_036400_PERF_SEL(x)                                        (((unsigned)(x) & 0x3FF) << 0)
3267#define   G_036400_PERF_SEL(x)                                        (((x) >> 0) & 0x3FF)
3268#define   C_036400_PERF_SEL                                           0xFFFFFC00
3269#define   S_036400_PERF_SEL1(x)                                       (((unsigned)(x) & 0x3FF) << 10)
3270#define   G_036400_PERF_SEL1(x)                                       (((x) >> 10) & 0x3FF)
3271#define   C_036400_PERF_SEL1                                          0xFFF003FF
3272#define   S_036400_CNTR_MODE(x)                                       (((unsigned)(x) & 0x0F) << 20)
3273#define   G_036400_CNTR_MODE(x)                                       (((x) >> 20) & 0x0F)
3274#define   C_036400_CNTR_MODE                                          0xFF0FFFFF
3275#define R_036404_PA_SU_PERFCOUNTER0_SELECT1                             0x036404
3276#define   S_036404_PERF_SEL2(x)                                       (((unsigned)(x) & 0x3FF) << 0)
3277#define   G_036404_PERF_SEL2(x)                                       (((x) >> 0) & 0x3FF)
3278#define   C_036404_PERF_SEL2                                          0xFFFFFC00
3279#define   S_036404_PERF_SEL3(x)                                       (((unsigned)(x) & 0x3FF) << 10)
3280#define   G_036404_PERF_SEL3(x)                                       (((x) >> 10) & 0x3FF)
3281#define   C_036404_PERF_SEL3                                          0xFFF003FF
3282#define R_036408_PA_SU_PERFCOUNTER1_SELECT                              0x036408
3283#define R_03640C_PA_SU_PERFCOUNTER1_SELECT1                             0x03640C
3284#define R_036410_PA_SU_PERFCOUNTER2_SELECT                              0x036410
3285#define R_036414_PA_SU_PERFCOUNTER3_SELECT                              0x036414
3286#define R_036500_PA_SC_PERFCOUNTER0_SELECT                              0x036500
3287#define   S_036500_PERF_SEL(x)                                        (((unsigned)(x) & 0x3FF) << 0)
3288#define   G_036500_PERF_SEL(x)                                        (((x) >> 0) & 0x3FF)
3289#define   C_036500_PERF_SEL                                           0xFFFFFC00
3290#define   S_036500_PERF_SEL1(x)                                       (((unsigned)(x) & 0x3FF) << 10)
3291#define   G_036500_PERF_SEL1(x)                                       (((x) >> 10) & 0x3FF)
3292#define   C_036500_PERF_SEL1                                          0xFFF003FF
3293#define   S_036500_CNTR_MODE(x)                                       (((unsigned)(x) & 0x0F) << 20)
3294#define   G_036500_CNTR_MODE(x)                                       (((x) >> 20) & 0x0F)
3295#define   C_036500_CNTR_MODE                                          0xFF0FFFFF
3296#define R_036504_PA_SC_PERFCOUNTER0_SELECT1                             0x036504
3297#define   S_036504_PERF_SEL2(x)                                       (((unsigned)(x) & 0x3FF) << 0)
3298#define   G_036504_PERF_SEL2(x)                                       (((x) >> 0) & 0x3FF)
3299#define   C_036504_PERF_SEL2                                          0xFFFFFC00
3300#define   S_036504_PERF_SEL3(x)                                       (((unsigned)(x) & 0x3FF) << 10)
3301#define   G_036504_PERF_SEL3(x)                                       (((x) >> 10) & 0x3FF)
3302#define   C_036504_PERF_SEL3                                          0xFFF003FF
3303#define R_036508_PA_SC_PERFCOUNTER1_SELECT                              0x036508
3304#define R_03650C_PA_SC_PERFCOUNTER2_SELECT                              0x03650C
3305#define R_036510_PA_SC_PERFCOUNTER3_SELECT                              0x036510
3306#define R_036514_PA_SC_PERFCOUNTER4_SELECT                              0x036514
3307#define R_036518_PA_SC_PERFCOUNTER5_SELECT                              0x036518
3308#define R_03651C_PA_SC_PERFCOUNTER6_SELECT                              0x03651C
3309#define R_036520_PA_SC_PERFCOUNTER7_SELECT                              0x036520
3310#define R_036600_SPI_PERFCOUNTER0_SELECT                                0x036600
3311#define   S_036600_PERF_SEL(x)                                        (((unsigned)(x) & 0x3FF) << 0)
3312#define   G_036600_PERF_SEL(x)                                        (((x) >> 0) & 0x3FF)
3313#define   C_036600_PERF_SEL                                           0xFFFFFC00
3314#define   S_036600_PERF_SEL1(x)                                       (((unsigned)(x) & 0x3FF) << 10)
3315#define   G_036600_PERF_SEL1(x)                                       (((x) >> 10) & 0x3FF)
3316#define   C_036600_PERF_SEL1                                          0xFFF003FF
3317#define   S_036600_CNTR_MODE(x)                                       (((unsigned)(x) & 0x0F) << 20)
3318#define   G_036600_CNTR_MODE(x)                                       (((x) >> 20) & 0x0F)
3319#define   C_036600_CNTR_MODE                                          0xFF0FFFFF
3320#define   S_036600_PERF_MODE1(x)                                      (((unsigned)(x) & 0x0F) << 24)
3321#define   G_036600_PERF_MODE1(x)                                      (((x) >> 24) & 0x0F)
3322#define   C_036600_PERF_MODE1                                         0xF0FFFFFF
3323#define   S_036600_PERF_MODE(x)                                       (((unsigned)(x) & 0x0F) << 28)
3324#define   G_036600_PERF_MODE(x)                                       (((x) >> 28) & 0x0F)
3325#define   C_036600_PERF_MODE                                          0x0FFFFFFF
3326#define R_036604_SPI_PERFCOUNTER1_SELECT                                0x036604
3327#define R_036608_SPI_PERFCOUNTER2_SELECT                                0x036608
3328#define R_03660C_SPI_PERFCOUNTER3_SELECT                                0x03660C
3329#define R_036610_SPI_PERFCOUNTER0_SELECT1                               0x036610
3330#define   S_036610_PERF_SEL2(x)                                       (((unsigned)(x) & 0x3FF) << 0)
3331#define   G_036610_PERF_SEL2(x)                                       (((x) >> 0) & 0x3FF)
3332#define   C_036610_PERF_SEL2                                          0xFFFFFC00
3333#define   S_036610_PERF_SEL3(x)                                       (((unsigned)(x) & 0x3FF) << 10)
3334#define   G_036610_PERF_SEL3(x)                                       (((x) >> 10) & 0x3FF)
3335#define   C_036610_PERF_SEL3                                          0xFFF003FF
3336#define   S_036610_PERF_MODE3(x)                                      (((unsigned)(x) & 0x0F) << 24)
3337#define   G_036610_PERF_MODE3(x)                                      (((x) >> 24) & 0x0F)
3338#define   C_036610_PERF_MODE3                                         0xF0FFFFFF
3339#define   S_036610_PERF_MODE2(x)                                      (((unsigned)(x) & 0x0F) << 28)
3340#define   G_036610_PERF_MODE2(x)                                      (((x) >> 28) & 0x0F)
3341#define   C_036610_PERF_MODE2                                         0x0FFFFFFF
3342#define R_036614_SPI_PERFCOUNTER1_SELECT1                               0x036614
3343#define R_036618_SPI_PERFCOUNTER2_SELECT1                               0x036618
3344#define R_03661C_SPI_PERFCOUNTER3_SELECT1                               0x03661C
3345#define R_036620_SPI_PERFCOUNTER4_SELECT                                0x036620
3346#define R_036624_SPI_PERFCOUNTER5_SELECT                                0x036624
3347#define R_036628_SPI_PERFCOUNTER_BINS                                   0x036628
3348#define   S_036628_BIN0_MIN(x)                                        (((unsigned)(x) & 0x0F) << 0)
3349#define   G_036628_BIN0_MIN(x)                                        (((x) >> 0) & 0x0F)
3350#define   C_036628_BIN0_MIN                                           0xFFFFFFF0
3351#define   S_036628_BIN0_MAX(x)                                        (((unsigned)(x) & 0x0F) << 4)
3352#define   G_036628_BIN0_MAX(x)                                        (((x) >> 4) & 0x0F)
3353#define   C_036628_BIN0_MAX                                           0xFFFFFF0F
3354#define   S_036628_BIN1_MIN(x)                                        (((unsigned)(x) & 0x0F) << 8)
3355#define   G_036628_BIN1_MIN(x)                                        (((x) >> 8) & 0x0F)
3356#define   C_036628_BIN1_MIN                                           0xFFFFF0FF
3357#define   S_036628_BIN1_MAX(x)                                        (((unsigned)(x) & 0x0F) << 12)
3358#define   G_036628_BIN1_MAX(x)                                        (((x) >> 12) & 0x0F)
3359#define   C_036628_BIN1_MAX                                           0xFFFF0FFF
3360#define   S_036628_BIN2_MIN(x)                                        (((unsigned)(x) & 0x0F) << 16)
3361#define   G_036628_BIN2_MIN(x)                                        (((x) >> 16) & 0x0F)
3362#define   C_036628_BIN2_MIN                                           0xFFF0FFFF
3363#define   S_036628_BIN2_MAX(x)                                        (((unsigned)(x) & 0x0F) << 20)
3364#define   G_036628_BIN2_MAX(x)                                        (((x) >> 20) & 0x0F)
3365#define   C_036628_BIN2_MAX                                           0xFF0FFFFF
3366#define   S_036628_BIN3_MIN(x)                                        (((unsigned)(x) & 0x0F) << 24)
3367#define   G_036628_BIN3_MIN(x)                                        (((x) >> 24) & 0x0F)
3368#define   C_036628_BIN3_MIN                                           0xF0FFFFFF
3369#define   S_036628_BIN3_MAX(x)                                        (((unsigned)(x) & 0x0F) << 28)
3370#define   G_036628_BIN3_MAX(x)                                        (((x) >> 28) & 0x0F)
3371#define   C_036628_BIN3_MAX                                           0x0FFFFFFF
3372#define R_036700_SQ_PERFCOUNTER0_SELECT                                 0x036700
3373#define   S_036700_PERF_SEL(x)                                        (((unsigned)(x) & 0x1FF) << 0)
3374#define   G_036700_PERF_SEL(x)                                        (((x) >> 0) & 0x1FF)
3375#define   C_036700_PERF_SEL                                           0xFFFFFE00
3376#define   S_036700_SQC_BANK_MASK(x)                                   (((unsigned)(x) & 0x0F) << 12)
3377#define   G_036700_SQC_BANK_MASK(x)                                   (((x) >> 12) & 0x0F)
3378#define   C_036700_SQC_BANK_MASK                                      0xFFFF0FFF
3379#define   S_036700_SQC_CLIENT_MASK(x)                                 (((unsigned)(x) & 0x0F) << 16)
3380#define   G_036700_SQC_CLIENT_MASK(x)                                 (((x) >> 16) & 0x0F)
3381#define   C_036700_SQC_CLIENT_MASK                                    0xFFF0FFFF
3382#define   S_036700_SPM_MODE(x)                                        (((unsigned)(x) & 0x0F) << 20)
3383#define   G_036700_SPM_MODE(x)                                        (((x) >> 20) & 0x0F)
3384#define   C_036700_SPM_MODE                                           0xFF0FFFFF
3385#define   S_036700_SIMD_MASK(x)                                       (((unsigned)(x) & 0x0F) << 24)
3386#define   G_036700_SIMD_MASK(x)                                       (((x) >> 24) & 0x0F)
3387#define   C_036700_SIMD_MASK                                          0xF0FFFFFF
3388#define   S_036700_PERF_MODE(x)                                       (((unsigned)(x) & 0x0F) << 28)
3389#define   G_036700_PERF_MODE(x)                                       (((x) >> 28) & 0x0F)
3390#define   C_036700_PERF_MODE                                          0x0FFFFFFF
3391#define R_036704_SQ_PERFCOUNTER1_SELECT                                 0x036704
3392#define R_036708_SQ_PERFCOUNTER2_SELECT                                 0x036708
3393#define R_03670C_SQ_PERFCOUNTER3_SELECT                                 0x03670C
3394#define R_036710_SQ_PERFCOUNTER4_SELECT                                 0x036710
3395#define R_036714_SQ_PERFCOUNTER5_SELECT                                 0x036714
3396#define R_036718_SQ_PERFCOUNTER6_SELECT                                 0x036718
3397#define R_03671C_SQ_PERFCOUNTER7_SELECT                                 0x03671C
3398#define R_036720_SQ_PERFCOUNTER8_SELECT                                 0x036720
3399#define R_036724_SQ_PERFCOUNTER9_SELECT                                 0x036724
3400#define R_036728_SQ_PERFCOUNTER10_SELECT                                0x036728
3401#define R_03672C_SQ_PERFCOUNTER11_SELECT                                0x03672C
3402#define R_036730_SQ_PERFCOUNTER12_SELECT                                0x036730
3403#define R_036734_SQ_PERFCOUNTER13_SELECT                                0x036734
3404#define R_036738_SQ_PERFCOUNTER14_SELECT                                0x036738
3405#define R_03673C_SQ_PERFCOUNTER15_SELECT                                0x03673C
3406#define R_036780_SQ_PERFCOUNTER_CTRL                                    0x036780
3407#define   S_036780_PS_EN(x)                                           (((unsigned)(x) & 0x1) << 0)
3408#define   G_036780_PS_EN(x)                                           (((x) >> 0) & 0x1)
3409#define   C_036780_PS_EN                                              0xFFFFFFFE
3410#define   S_036780_VS_EN(x)                                           (((unsigned)(x) & 0x1) << 1)
3411#define   G_036780_VS_EN(x)                                           (((x) >> 1) & 0x1)
3412#define   C_036780_VS_EN                                              0xFFFFFFFD
3413#define   S_036780_GS_EN(x)                                           (((unsigned)(x) & 0x1) << 2)
3414#define   G_036780_GS_EN(x)                                           (((x) >> 2) & 0x1)
3415#define   C_036780_GS_EN                                              0xFFFFFFFB
3416#define   S_036780_ES_EN(x)                                           (((unsigned)(x) & 0x1) << 3)
3417#define   G_036780_ES_EN(x)                                           (((x) >> 3) & 0x1)
3418#define   C_036780_ES_EN                                              0xFFFFFFF7
3419#define   S_036780_HS_EN(x)                                           (((unsigned)(x) & 0x1) << 4)
3420#define   G_036780_HS_EN(x)                                           (((x) >> 4) & 0x1)
3421#define   C_036780_HS_EN                                              0xFFFFFFEF
3422#define   S_036780_LS_EN(x)                                           (((unsigned)(x) & 0x1) << 5)
3423#define   G_036780_LS_EN(x)                                           (((x) >> 5) & 0x1)
3424#define   C_036780_LS_EN                                              0xFFFFFFDF
3425#define   S_036780_CS_EN(x)                                           (((unsigned)(x) & 0x1) << 6)
3426#define   G_036780_CS_EN(x)                                           (((x) >> 6) & 0x1)
3427#define   C_036780_CS_EN                                              0xFFFFFFBF
3428#define   S_036780_CNTR_RATE(x)                                       (((unsigned)(x) & 0x1F) << 8)
3429#define   G_036780_CNTR_RATE(x)                                       (((x) >> 8) & 0x1F)
3430#define   C_036780_CNTR_RATE                                          0xFFFFE0FF
3431#define   S_036780_DISABLE_FLUSH(x)                                   (((unsigned)(x) & 0x1) << 13)
3432#define   G_036780_DISABLE_FLUSH(x)                                   (((x) >> 13) & 0x1)
3433#define   C_036780_DISABLE_FLUSH                                      0xFFFFDFFF
3434#define R_036784_SQ_PERFCOUNTER_MASK                                    0x036784
3435#define   S_036784_SH0_MASK(x)                                        (((unsigned)(x) & 0xFFFF) << 0)
3436#define   G_036784_SH0_MASK(x)                                        (((x) >> 0) & 0xFFFF)
3437#define   C_036784_SH0_MASK                                           0xFFFF0000
3438#define   S_036784_SH1_MASK(x)                                        (((unsigned)(x) & 0xFFFF) << 16)
3439#define   G_036784_SH1_MASK(x)                                        (((x) >> 16) & 0xFFFF)
3440#define   C_036784_SH1_MASK                                           0x0000FFFF
3441#define R_036788_SQ_PERFCOUNTER_CTRL2                                   0x036788
3442#define   S_036788_FORCE_EN(x)                                        (((unsigned)(x) & 0x1) << 0)
3443#define   G_036788_FORCE_EN(x)                                        (((x) >> 0) & 0x1)
3444#define   C_036788_FORCE_EN                                           0xFFFFFFFE
3445#define R_036900_SX_PERFCOUNTER0_SELECT                                 0x036900
3446#define   S_036900_PERFCOUNTER_SELECT(x)                              (((unsigned)(x) & 0x3FF) << 0)
3447#define   G_036900_PERFCOUNTER_SELECT(x)                              (((x) >> 0) & 0x3FF)
3448#define   C_036900_PERFCOUNTER_SELECT                                 0xFFFFFC00
3449#define   S_036900_PERFCOUNTER_SELECT1(x)                             (((unsigned)(x) & 0x3FF) << 10)
3450#define   G_036900_PERFCOUNTER_SELECT1(x)                             (((x) >> 10) & 0x3FF)
3451#define   C_036900_PERFCOUNTER_SELECT1                                0xFFF003FF
3452#define   S_036900_CNTR_MODE(x)                                       (((unsigned)(x) & 0x0F) << 20)
3453#define   G_036900_CNTR_MODE(x)                                       (((x) >> 20) & 0x0F)
3454#define   C_036900_CNTR_MODE                                          0xFF0FFFFF
3455#define R_036904_SX_PERFCOUNTER1_SELECT                                 0x036904
3456#define R_036908_SX_PERFCOUNTER2_SELECT                                 0x036908
3457#define R_03690C_SX_PERFCOUNTER3_SELECT                                 0x03690C
3458#define R_036910_SX_PERFCOUNTER0_SELECT1                                0x036910
3459#define   S_036910_PERFCOUNTER_SELECT2(x)                             (((unsigned)(x) & 0x3FF) << 0)
3460#define   G_036910_PERFCOUNTER_SELECT2(x)                             (((x) >> 0) & 0x3FF)
3461#define   C_036910_PERFCOUNTER_SELECT2                                0xFFFFFC00
3462#define   S_036910_PERFCOUNTER_SELECT3(x)                             (((unsigned)(x) & 0x3FF) << 10)
3463#define   G_036910_PERFCOUNTER_SELECT3(x)                             (((x) >> 10) & 0x3FF)
3464#define   C_036910_PERFCOUNTER_SELECT3                                0xFFF003FF
3465#define R_036914_SX_PERFCOUNTER1_SELECT1                                0x036914
3466#define R_036A00_GDS_PERFCOUNTER0_SELECT                                0x036A00
3467#define   S_036A00_PERFCOUNTER_SELECT(x)                              (((unsigned)(x) & 0x3FF) << 0)
3468#define   G_036A00_PERFCOUNTER_SELECT(x)                              (((x) >> 0) & 0x3FF)
3469#define   C_036A00_PERFCOUNTER_SELECT                                 0xFFFFFC00
3470#define   S_036A00_PERFCOUNTER_SELECT1(x)                             (((unsigned)(x) & 0x3FF) << 10)
3471#define   G_036A00_PERFCOUNTER_SELECT1(x)                             (((x) >> 10) & 0x3FF)
3472#define   C_036A00_PERFCOUNTER_SELECT1                                0xFFF003FF
3473#define   S_036A00_CNTR_MODE(x)                                       (((unsigned)(x) & 0x0F) << 20)
3474#define   G_036A00_CNTR_MODE(x)                                       (((x) >> 20) & 0x0F)
3475#define   C_036A00_CNTR_MODE                                          0xFF0FFFFF
3476#define R_036A04_GDS_PERFCOUNTER1_SELECT                                0x036A04
3477#define R_036A08_GDS_PERFCOUNTER2_SELECT                                0x036A08
3478#define R_036A0C_GDS_PERFCOUNTER3_SELECT                                0x036A0C
3479#define R_036A10_GDS_PERFCOUNTER0_SELECT1                               0x036A10
3480#define   S_036A10_PERFCOUNTER_SELECT2(x)                             (((unsigned)(x) & 0x3FF) << 0)
3481#define   G_036A10_PERFCOUNTER_SELECT2(x)                             (((x) >> 0) & 0x3FF)
3482#define   C_036A10_PERFCOUNTER_SELECT2                                0xFFFFFC00
3483#define   S_036A10_PERFCOUNTER_SELECT3(x)                             (((unsigned)(x) & 0x3FF) << 10)
3484#define   G_036A10_PERFCOUNTER_SELECT3(x)                             (((x) >> 10) & 0x3FF)
3485#define   C_036A10_PERFCOUNTER_SELECT3                                0xFFF003FF
3486#define R_036B00_TA_PERFCOUNTER0_SELECT                                 0x036B00
3487#define   S_036B00_PERF_SEL(x)                                        (((unsigned)(x) & 0xFF) << 0)
3488#define   G_036B00_PERF_SEL(x)                                        (((x) >> 0) & 0xFF)
3489#define   C_036B00_PERF_SEL                                           0xFFFFFF00
3490#define   S_036B00_PERF_SEL1(x)                                       (((unsigned)(x) & 0xFF) << 10)
3491#define   G_036B00_PERF_SEL1(x)                                       (((x) >> 10) & 0xFF)
3492#define   C_036B00_PERF_SEL1                                          0xFFFC03FF
3493#define   S_036B00_CNTR_MODE(x)                                       (((unsigned)(x) & 0x0F) << 20)
3494#define   G_036B00_CNTR_MODE(x)                                       (((x) >> 20) & 0x0F)
3495#define   C_036B00_CNTR_MODE                                          0xFF0FFFFF
3496#define   S_036B00_PERF_MODE1(x)                                      (((unsigned)(x) & 0x0F) << 24)
3497#define   G_036B00_PERF_MODE1(x)                                      (((x) >> 24) & 0x0F)
3498#define   C_036B00_PERF_MODE1                                         0xF0FFFFFF
3499#define   S_036B00_PERF_MODE(x)                                       (((unsigned)(x) & 0x0F) << 28)
3500#define   G_036B00_PERF_MODE(x)                                       (((x) >> 28) & 0x0F)
3501#define   C_036B00_PERF_MODE                                          0x0FFFFFFF
3502#define R_036B04_TA_PERFCOUNTER0_SELECT1                                0x036B04
3503#define   S_036B04_PERF_SEL2(x)                                       (((unsigned)(x) & 0xFF) << 0)
3504#define   G_036B04_PERF_SEL2(x)                                       (((x) >> 0) & 0xFF)
3505#define   C_036B04_PERF_SEL2                                          0xFFFFFF00
3506#define   S_036B04_PERF_SEL3(x)                                       (((unsigned)(x) & 0xFF) << 10)
3507#define   G_036B04_PERF_SEL3(x)                                       (((x) >> 10) & 0xFF)
3508#define   C_036B04_PERF_SEL3                                          0xFFFC03FF
3509#define   S_036B04_PERF_MODE3(x)                                      (((unsigned)(x) & 0x0F) << 24)
3510#define   G_036B04_PERF_MODE3(x)                                      (((x) >> 24) & 0x0F)
3511#define   C_036B04_PERF_MODE3                                         0xF0FFFFFF
3512#define   S_036B04_PERF_MODE2(x)                                      (((unsigned)(x) & 0x0F) << 28)
3513#define   G_036B04_PERF_MODE2(x)                                      (((x) >> 28) & 0x0F)
3514#define   C_036B04_PERF_MODE2                                         0x0FFFFFFF
3515#define R_036B08_TA_PERFCOUNTER1_SELECT                                 0x036B08
3516#define R_036C00_TD_PERFCOUNTER0_SELECT                                 0x036C00
3517#define   S_036C00_PERF_SEL(x)                                        (((unsigned)(x) & 0xFF) << 0)
3518#define   G_036C00_PERF_SEL(x)                                        (((x) >> 0) & 0xFF)
3519#define   C_036C00_PERF_SEL                                           0xFFFFFF00
3520#define   S_036C00_PERF_SEL1(x)                                       (((unsigned)(x) & 0xFF) << 10)
3521#define   G_036C00_PERF_SEL1(x)                                       (((x) >> 10) & 0xFF)
3522#define   C_036C00_PERF_SEL1                                          0xFFFC03FF
3523#define   S_036C00_CNTR_MODE(x)                                       (((unsigned)(x) & 0x0F) << 20)
3524#define   G_036C00_CNTR_MODE(x)                                       (((x) >> 20) & 0x0F)
3525#define   C_036C00_CNTR_MODE                                          0xFF0FFFFF
3526#define   S_036C00_PERF_MODE1(x)                                      (((unsigned)(x) & 0x0F) << 24)
3527#define   G_036C00_PERF_MODE1(x)                                      (((x) >> 24) & 0x0F)
3528#define   C_036C00_PERF_MODE1                                         0xF0FFFFFF
3529#define   S_036C00_PERF_MODE(x)                                       (((unsigned)(x) & 0x0F) << 28)
3530#define   G_036C00_PERF_MODE(x)                                       (((x) >> 28) & 0x0F)
3531#define   C_036C00_PERF_MODE                                          0x0FFFFFFF
3532#define R_036C04_TD_PERFCOUNTER0_SELECT1                                0x036C04
3533#define   S_036C04_PERF_SEL2(x)                                       (((unsigned)(x) & 0xFF) << 0)
3534#define   G_036C04_PERF_SEL2(x)                                       (((x) >> 0) & 0xFF)
3535#define   C_036C04_PERF_SEL2                                          0xFFFFFF00
3536#define   S_036C04_PERF_SEL3(x)                                       (((unsigned)(x) & 0xFF) << 10)
3537#define   G_036C04_PERF_SEL3(x)                                       (((x) >> 10) & 0xFF)
3538#define   C_036C04_PERF_SEL3                                          0xFFFC03FF
3539#define   S_036C04_PERF_MODE3(x)                                      (((unsigned)(x) & 0x0F) << 24)
3540#define   G_036C04_PERF_MODE3(x)                                      (((x) >> 24) & 0x0F)
3541#define   C_036C04_PERF_MODE3                                         0xF0FFFFFF
3542#define   S_036C04_PERF_MODE2(x)                                      (((unsigned)(x) & 0x0F) << 28)
3543#define   G_036C04_PERF_MODE2(x)                                      (((x) >> 28) & 0x0F)
3544#define   C_036C04_PERF_MODE2                                         0x0FFFFFFF
3545#define R_036C08_TD_PERFCOUNTER1_SELECT                                 0x036C08
3546#define R_036D00_TCP_PERFCOUNTER0_SELECT                                0x036D00
3547#define   S_036D00_PERF_SEL(x)                                        (((unsigned)(x) & 0x3FF) << 0)
3548#define   G_036D00_PERF_SEL(x)                                        (((x) >> 0) & 0x3FF)
3549#define   C_036D00_PERF_SEL                                           0xFFFFFC00
3550#define   S_036D00_PERF_SEL1(x)                                       (((unsigned)(x) & 0x3FF) << 10)
3551#define   G_036D00_PERF_SEL1(x)                                       (((x) >> 10) & 0x3FF)
3552#define   C_036D00_PERF_SEL1                                          0xFFF003FF
3553#define   S_036D00_CNTR_MODE(x)                                       (((unsigned)(x) & 0x0F) << 20)
3554#define   G_036D00_CNTR_MODE(x)                                       (((x) >> 20) & 0x0F)
3555#define   C_036D00_CNTR_MODE                                          0xFF0FFFFF
3556#define   S_036D00_PERF_MODE1(x)                                      (((unsigned)(x) & 0x0F) << 24)
3557#define   G_036D00_PERF_MODE1(x)                                      (((x) >> 24) & 0x0F)
3558#define   C_036D00_PERF_MODE1                                         0xF0FFFFFF
3559#define   S_036D00_PERF_MODE(x)                                       (((unsigned)(x) & 0x0F) << 28)
3560#define   G_036D00_PERF_MODE(x)                                       (((x) >> 28) & 0x0F)
3561#define   C_036D00_PERF_MODE                                          0x0FFFFFFF
3562#define R_036D04_TCP_PERFCOUNTER0_SELECT1                               0x036D04
3563#define   S_036D04_PERF_SEL2(x)                                       (((unsigned)(x) & 0x3FF) << 0)
3564#define   G_036D04_PERF_SEL2(x)                                       (((x) >> 0) & 0x3FF)
3565#define   C_036D04_PERF_SEL2                                          0xFFFFFC00
3566#define   S_036D04_PERF_SEL3(x)                                       (((unsigned)(x) & 0x3FF) << 10)
3567#define   G_036D04_PERF_SEL3(x)                                       (((x) >> 10) & 0x3FF)
3568#define   C_036D04_PERF_SEL3                                          0xFFF003FF
3569#define   S_036D04_PERF_MODE3(x)                                      (((unsigned)(x) & 0x0F) << 24)
3570#define   G_036D04_PERF_MODE3(x)                                      (((x) >> 24) & 0x0F)
3571#define   C_036D04_PERF_MODE3                                         0xF0FFFFFF
3572#define   S_036D04_PERF_MODE2(x)                                      (((unsigned)(x) & 0x0F) << 28)
3573#define   G_036D04_PERF_MODE2(x)                                      (((x) >> 28) & 0x0F)
3574#define   C_036D04_PERF_MODE2                                         0x0FFFFFFF
3575#define R_036D08_TCP_PERFCOUNTER1_SELECT                                0x036D08
3576#define R_036D0C_TCP_PERFCOUNTER1_SELECT1                               0x036D0C
3577#define R_036D10_TCP_PERFCOUNTER2_SELECT                                0x036D10
3578#define R_036D14_TCP_PERFCOUNTER3_SELECT                                0x036D14
3579#define R_036E00_TCC_PERFCOUNTER0_SELECT                                0x036E00
3580#define   S_036E00_PERF_SEL(x)                                        (((unsigned)(x) & 0x3FF) << 0)
3581#define   G_036E00_PERF_SEL(x)                                        (((x) >> 0) & 0x3FF)
3582#define   C_036E00_PERF_SEL                                           0xFFFFFC00
3583#define   S_036E00_PERF_SEL1(x)                                       (((unsigned)(x) & 0x3FF) << 10)
3584#define   G_036E00_PERF_SEL1(x)                                       (((x) >> 10) & 0x3FF)
3585#define   C_036E00_PERF_SEL1                                          0xFFF003FF
3586#define   S_036E00_CNTR_MODE(x)                                       (((unsigned)(x) & 0x0F) << 20)
3587#define   G_036E00_CNTR_MODE(x)                                       (((x) >> 20) & 0x0F)
3588#define   C_036E00_CNTR_MODE                                          0xFF0FFFFF
3589#define   S_036E00_PERF_MODE1(x)                                      (((unsigned)(x) & 0x0F) << 24)
3590#define   G_036E00_PERF_MODE1(x)                                      (((x) >> 24) & 0x0F)
3591#define   C_036E00_PERF_MODE1                                         0xF0FFFFFF
3592#define   S_036E00_PERF_MODE(x)                                       (((unsigned)(x) & 0x0F) << 28)
3593#define   G_036E00_PERF_MODE(x)                                       (((x) >> 28) & 0x0F)
3594#define   C_036E00_PERF_MODE                                          0x0FFFFFFF
3595#define R_036E04_TCC_PERFCOUNTER0_SELECT1                               0x036E04
3596#define   S_036E04_PERF_SEL2(x)                                       (((unsigned)(x) & 0x3FF) << 0)
3597#define   G_036E04_PERF_SEL2(x)                                       (((x) >> 0) & 0x3FF)
3598#define   C_036E04_PERF_SEL2                                          0xFFFFFC00
3599#define   S_036E04_PERF_SEL3(x)                                       (((unsigned)(x) & 0x3FF) << 10)
3600#define   G_036E04_PERF_SEL3(x)                                       (((x) >> 10) & 0x3FF)
3601#define   C_036E04_PERF_SEL3                                          0xFFF003FF
3602#define   S_036E04_PERF_MODE2(x)                                      (((unsigned)(x) & 0x0F) << 24)
3603#define   G_036E04_PERF_MODE2(x)                                      (((x) >> 24) & 0x0F)
3604#define   C_036E04_PERF_MODE2                                         0xF0FFFFFF
3605#define   S_036E04_PERF_MODE3(x)                                      (((unsigned)(x) & 0x0F) << 28)
3606#define   G_036E04_PERF_MODE3(x)                                      (((x) >> 28) & 0x0F)
3607#define   C_036E04_PERF_MODE3                                         0x0FFFFFFF
3608#define R_036E08_TCC_PERFCOUNTER1_SELECT                                0x036E08
3609#define R_036E0C_TCC_PERFCOUNTER1_SELECT1                               0x036E0C
3610#define R_036E10_TCC_PERFCOUNTER2_SELECT                                0x036E10
3611#define R_036E14_TCC_PERFCOUNTER3_SELECT                                0x036E14
3612#define R_036E40_TCA_PERFCOUNTER0_SELECT                                0x036E40
3613#define   S_036E40_PERF_SEL(x)                                        (((unsigned)(x) & 0x3FF) << 0)
3614#define   G_036E40_PERF_SEL(x)                                        (((x) >> 0) & 0x3FF)
3615#define   C_036E40_PERF_SEL                                           0xFFFFFC00
3616#define   S_036E40_PERF_SEL1(x)                                       (((unsigned)(x) & 0x3FF) << 10)
3617#define   G_036E40_PERF_SEL1(x)                                       (((x) >> 10) & 0x3FF)
3618#define   C_036E40_PERF_SEL1                                          0xFFF003FF
3619#define   S_036E40_CNTR_MODE(x)                                       (((unsigned)(x) & 0x0F) << 20)
3620#define   G_036E40_CNTR_MODE(x)                                       (((x) >> 20) & 0x0F)
3621#define   C_036E40_CNTR_MODE                                          0xFF0FFFFF
3622#define   S_036E40_PERF_MODE1(x)                                      (((unsigned)(x) & 0x0F) << 24)
3623#define   G_036E40_PERF_MODE1(x)                                      (((x) >> 24) & 0x0F)
3624#define   C_036E40_PERF_MODE1                                         0xF0FFFFFF
3625#define   S_036E40_PERF_MODE(x)                                       (((unsigned)(x) & 0x0F) << 28)
3626#define   G_036E40_PERF_MODE(x)                                       (((x) >> 28) & 0x0F)
3627#define   C_036E40_PERF_MODE                                          0x0FFFFFFF
3628#define R_036E44_TCA_PERFCOUNTER0_SELECT1                               0x036E44
3629#define   S_036E44_PERF_SEL2(x)                                       (((unsigned)(x) & 0x3FF) << 0)
3630#define   G_036E44_PERF_SEL2(x)                                       (((x) >> 0) & 0x3FF)
3631#define   C_036E44_PERF_SEL2                                          0xFFFFFC00
3632#define   S_036E44_PERF_SEL3(x)                                       (((unsigned)(x) & 0x3FF) << 10)
3633#define   G_036E44_PERF_SEL3(x)                                       (((x) >> 10) & 0x3FF)
3634#define   C_036E44_PERF_SEL3                                          0xFFF003FF
3635#define   S_036E44_PERF_MODE2(x)                                      (((unsigned)(x) & 0x0F) << 24)
3636#define   G_036E44_PERF_MODE2(x)                                      (((x) >> 24) & 0x0F)
3637#define   C_036E44_PERF_MODE2                                         0xF0FFFFFF
3638#define   S_036E44_PERF_MODE3(x)                                      (((unsigned)(x) & 0x0F) << 28)
3639#define   G_036E44_PERF_MODE3(x)                                      (((x) >> 28) & 0x0F)
3640#define   C_036E44_PERF_MODE3                                         0x0FFFFFFF
3641#define R_036E48_TCA_PERFCOUNTER1_SELECT                                0x036E48
3642#define R_036E4C_TCA_PERFCOUNTER1_SELECT1                               0x036E4C
3643#define R_036E50_TCA_PERFCOUNTER2_SELECT                                0x036E50
3644#define R_036E54_TCA_PERFCOUNTER3_SELECT                                0x036E54
3645#define R_037000_CB_PERFCOUNTER_FILTER                                  0x037000
3646#define   S_037000_OP_FILTER_ENABLE(x)                                (((unsigned)(x) & 0x1) << 0)
3647#define   G_037000_OP_FILTER_ENABLE(x)                                (((x) >> 0) & 0x1)
3648#define   C_037000_OP_FILTER_ENABLE                                   0xFFFFFFFE
3649#define   S_037000_OP_FILTER_SEL(x)                                   (((unsigned)(x) & 0x07) << 1)
3650#define   G_037000_OP_FILTER_SEL(x)                                   (((x) >> 1) & 0x07)
3651#define   C_037000_OP_FILTER_SEL                                      0xFFFFFFF1
3652#define   S_037000_FORMAT_FILTER_ENABLE(x)                            (((unsigned)(x) & 0x1) << 4)
3653#define   G_037000_FORMAT_FILTER_ENABLE(x)                            (((x) >> 4) & 0x1)
3654#define   C_037000_FORMAT_FILTER_ENABLE                               0xFFFFFFEF
3655#define   S_037000_FORMAT_FILTER_SEL(x)                               (((unsigned)(x) & 0x1F) << 5)
3656#define   G_037000_FORMAT_FILTER_SEL(x)                               (((x) >> 5) & 0x1F)
3657#define   C_037000_FORMAT_FILTER_SEL                                  0xFFFFFC1F
3658#define   S_037000_CLEAR_FILTER_ENABLE(x)                             (((unsigned)(x) & 0x1) << 10)
3659#define   G_037000_CLEAR_FILTER_ENABLE(x)                             (((x) >> 10) & 0x1)
3660#define   C_037000_CLEAR_FILTER_ENABLE                                0xFFFFFBFF
3661#define   S_037000_CLEAR_FILTER_SEL(x)                                (((unsigned)(x) & 0x1) << 11)
3662#define   G_037000_CLEAR_FILTER_SEL(x)                                (((x) >> 11) & 0x1)
3663#define   C_037000_CLEAR_FILTER_SEL                                   0xFFFFF7FF
3664#define   S_037000_MRT_FILTER_ENABLE(x)                               (((unsigned)(x) & 0x1) << 12)
3665#define   G_037000_MRT_FILTER_ENABLE(x)                               (((x) >> 12) & 0x1)
3666#define   C_037000_MRT_FILTER_ENABLE                                  0xFFFFEFFF
3667#define   S_037000_MRT_FILTER_SEL(x)                                  (((unsigned)(x) & 0x07) << 13)
3668#define   G_037000_MRT_FILTER_SEL(x)                                  (((x) >> 13) & 0x07)
3669#define   C_037000_MRT_FILTER_SEL                                     0xFFFF1FFF
3670#define   S_037000_NUM_SAMPLES_FILTER_ENABLE(x)                       (((unsigned)(x) & 0x1) << 17)
3671#define   G_037000_NUM_SAMPLES_FILTER_ENABLE(x)                       (((x) >> 17) & 0x1)
3672#define   C_037000_NUM_SAMPLES_FILTER_ENABLE                          0xFFFDFFFF
3673#define   S_037000_NUM_SAMPLES_FILTER_SEL(x)                          (((unsigned)(x) & 0x07) << 18)
3674#define   G_037000_NUM_SAMPLES_FILTER_SEL(x)                          (((x) >> 18) & 0x07)
3675#define   C_037000_NUM_SAMPLES_FILTER_SEL                             0xFFE3FFFF
3676#define   S_037000_NUM_FRAGMENTS_FILTER_ENABLE(x)                     (((unsigned)(x) & 0x1) << 21)
3677#define   G_037000_NUM_FRAGMENTS_FILTER_ENABLE(x)                     (((x) >> 21) & 0x1)
3678#define   C_037000_NUM_FRAGMENTS_FILTER_ENABLE                        0xFFDFFFFF
3679#define   S_037000_NUM_FRAGMENTS_FILTER_SEL(x)                        (((unsigned)(x) & 0x03) << 22)
3680#define   G_037000_NUM_FRAGMENTS_FILTER_SEL(x)                        (((x) >> 22) & 0x03)
3681#define   C_037000_NUM_FRAGMENTS_FILTER_SEL                           0xFF3FFFFF
3682#define R_037004_CB_PERFCOUNTER0_SELECT                                 0x037004
3683#define   S_037004_PERF_SEL(x)                                        (((unsigned)(x) & 0x1FF) << 0)
3684#define   G_037004_PERF_SEL(x)                                        (((x) >> 0) & 0x1FF)
3685#define   C_037004_PERF_SEL                                           0xFFFFFE00
3686#define   S_037004_PERF_SEL1(x)                                       (((unsigned)(x) & 0x1FF) << 10)
3687#define   G_037004_PERF_SEL1(x)                                       (((x) >> 10) & 0x1FF)
3688#define   C_037004_PERF_SEL1                                          0xFFF803FF
3689#define   S_037004_CNTR_MODE(x)                                       (((unsigned)(x) & 0x0F) << 20)
3690#define   G_037004_CNTR_MODE(x)                                       (((x) >> 20) & 0x0F)
3691#define   C_037004_CNTR_MODE                                          0xFF0FFFFF
3692#define   S_037004_PERF_MODE1(x)                                      (((unsigned)(x) & 0x0F) << 24)
3693#define   G_037004_PERF_MODE1(x)                                      (((x) >> 24) & 0x0F)
3694#define   C_037004_PERF_MODE1                                         0xF0FFFFFF
3695#define   S_037004_PERF_MODE(x)                                       (((unsigned)(x) & 0x0F) << 28)
3696#define   G_037004_PERF_MODE(x)                                       (((x) >> 28) & 0x0F)
3697#define   C_037004_PERF_MODE                                          0x0FFFFFFF
3698#define R_037008_CB_PERFCOUNTER0_SELECT1                                0x037008
3699#define   S_037008_PERF_SEL2(x)                                       (((unsigned)(x) & 0x1FF) << 0)
3700#define   G_037008_PERF_SEL2(x)                                       (((x) >> 0) & 0x1FF)
3701#define   C_037008_PERF_SEL2                                          0xFFFFFE00
3702#define   S_037008_PERF_SEL3(x)                                       (((unsigned)(x) & 0x1FF) << 10)
3703#define   G_037008_PERF_SEL3(x)                                       (((x) >> 10) & 0x1FF)
3704#define   C_037008_PERF_SEL3                                          0xFFF803FF
3705#define   S_037008_PERF_MODE3(x)                                      (((unsigned)(x) & 0x0F) << 24)
3706#define   G_037008_PERF_MODE3(x)                                      (((x) >> 24) & 0x0F)
3707#define   C_037008_PERF_MODE3                                         0xF0FFFFFF
3708#define   S_037008_PERF_MODE2(x)                                      (((unsigned)(x) & 0x0F) << 28)
3709#define   G_037008_PERF_MODE2(x)                                      (((x) >> 28) & 0x0F)
3710#define   C_037008_PERF_MODE2                                         0x0FFFFFFF
3711#define R_03700C_CB_PERFCOUNTER1_SELECT                                 0x03700C
3712#define R_037010_CB_PERFCOUNTER2_SELECT                                 0x037010
3713#define R_037014_CB_PERFCOUNTER3_SELECT                                 0x037014
3714#define R_037100_DB_PERFCOUNTER0_SELECT                                 0x037100
3715#define   S_037100_PERF_SEL(x)                                        (((unsigned)(x) & 0x3FF) << 0)
3716#define   G_037100_PERF_SEL(x)                                        (((x) >> 0) & 0x3FF)
3717#define   C_037100_PERF_SEL                                           0xFFFFFC00
3718#define   S_037100_PERF_SEL1(x)                                       (((unsigned)(x) & 0x3FF) << 10)
3719#define   G_037100_PERF_SEL1(x)                                       (((x) >> 10) & 0x3FF)
3720#define   C_037100_PERF_SEL1                                          0xFFF003FF
3721#define   S_037100_CNTR_MODE(x)                                       (((unsigned)(x) & 0x0F) << 20)
3722#define   G_037100_CNTR_MODE(x)                                       (((x) >> 20) & 0x0F)
3723#define   C_037100_CNTR_MODE                                          0xFF0FFFFF
3724#define   S_037100_PERF_MODE1(x)                                      (((unsigned)(x) & 0x0F) << 24)
3725#define   G_037100_PERF_MODE1(x)                                      (((x) >> 24) & 0x0F)
3726#define   C_037100_PERF_MODE1                                         0xF0FFFFFF
3727#define   S_037100_PERF_MODE(x)                                       (((unsigned)(x) & 0x0F) << 28)
3728#define   G_037100_PERF_MODE(x)                                       (((x) >> 28) & 0x0F)
3729#define   C_037100_PERF_MODE                                          0x0FFFFFFF
3730#define R_037104_DB_PERFCOUNTER0_SELECT1                                0x037104
3731#define   S_037104_PERF_SEL2(x)                                       (((unsigned)(x) & 0x3FF) << 0)
3732#define   G_037104_PERF_SEL2(x)                                       (((x) >> 0) & 0x3FF)
3733#define   C_037104_PERF_SEL2                                          0xFFFFFC00
3734#define   S_037104_PERF_SEL3(x)                                       (((unsigned)(x) & 0x3FF) << 10)
3735#define   G_037104_PERF_SEL3(x)                                       (((x) >> 10) & 0x3FF)
3736#define   C_037104_PERF_SEL3                                          0xFFF003FF
3737#define   S_037104_PERF_MODE3(x)                                      (((unsigned)(x) & 0x0F) << 24)
3738#define   G_037104_PERF_MODE3(x)                                      (((x) >> 24) & 0x0F)
3739#define   C_037104_PERF_MODE3                                         0xF0FFFFFF
3740#define   S_037104_PERF_MODE2(x)                                      (((unsigned)(x) & 0x0F) << 28)
3741#define   G_037104_PERF_MODE2(x)                                      (((x) >> 28) & 0x0F)
3742#define   C_037104_PERF_MODE2                                         0x0FFFFFFF
3743#define R_037108_DB_PERFCOUNTER1_SELECT                                 0x037108
3744#define R_03710C_DB_PERFCOUNTER1_SELECT1                                0x03710C
3745#define R_037110_DB_PERFCOUNTER2_SELECT                                 0x037110
3746#define R_037118_DB_PERFCOUNTER3_SELECT                                 0x037118
3747#define R_028000_DB_RENDER_CONTROL                                      0x028000
3748#define   S_028000_DEPTH_CLEAR_ENABLE(x)                              (((unsigned)(x) & 0x1) << 0)
3749#define   G_028000_DEPTH_CLEAR_ENABLE(x)                              (((x) >> 0) & 0x1)
3750#define   C_028000_DEPTH_CLEAR_ENABLE                                 0xFFFFFFFE
3751#define   S_028000_STENCIL_CLEAR_ENABLE(x)                            (((unsigned)(x) & 0x1) << 1)
3752#define   G_028000_STENCIL_CLEAR_ENABLE(x)                            (((x) >> 1) & 0x1)
3753#define   C_028000_STENCIL_CLEAR_ENABLE                               0xFFFFFFFD
3754#define   S_028000_DEPTH_COPY(x)                                      (((unsigned)(x) & 0x1) << 2)
3755#define   G_028000_DEPTH_COPY(x)                                      (((x) >> 2) & 0x1)
3756#define   C_028000_DEPTH_COPY                                         0xFFFFFFFB
3757#define   S_028000_STENCIL_COPY(x)                                    (((unsigned)(x) & 0x1) << 3)
3758#define   G_028000_STENCIL_COPY(x)                                    (((x) >> 3) & 0x1)
3759#define   C_028000_STENCIL_COPY                                       0xFFFFFFF7
3760#define   S_028000_RESUMMARIZE_ENABLE(x)                              (((unsigned)(x) & 0x1) << 4)
3761#define   G_028000_RESUMMARIZE_ENABLE(x)                              (((x) >> 4) & 0x1)
3762#define   C_028000_RESUMMARIZE_ENABLE                                 0xFFFFFFEF
3763#define   S_028000_STENCIL_COMPRESS_DISABLE(x)                        (((unsigned)(x) & 0x1) << 5)
3764#define   G_028000_STENCIL_COMPRESS_DISABLE(x)                        (((x) >> 5) & 0x1)
3765#define   C_028000_STENCIL_COMPRESS_DISABLE                           0xFFFFFFDF
3766#define   S_028000_DEPTH_COMPRESS_DISABLE(x)                          (((unsigned)(x) & 0x1) << 6)
3767#define   G_028000_DEPTH_COMPRESS_DISABLE(x)                          (((x) >> 6) & 0x1)
3768#define   C_028000_DEPTH_COMPRESS_DISABLE                             0xFFFFFFBF
3769#define   S_028000_COPY_CENTROID(x)                                   (((unsigned)(x) & 0x1) << 7)
3770#define   G_028000_COPY_CENTROID(x)                                   (((x) >> 7) & 0x1)
3771#define   C_028000_COPY_CENTROID                                      0xFFFFFF7F
3772#define   S_028000_COPY_SAMPLE(x)                                     (((unsigned)(x) & 0x0F) << 8)
3773#define   G_028000_COPY_SAMPLE(x)                                     (((x) >> 8) & 0x0F)
3774#define   C_028000_COPY_SAMPLE                                        0xFFFFF0FF
3775#define   S_028000_DECOMPRESS_ENABLE(x)                               (((unsigned)(x) & 0x1) << 12)
3776#define   G_028000_DECOMPRESS_ENABLE(x)                               (((x) >> 12) & 0x1)
3777#define   C_028000_DECOMPRESS_ENABLE                                  0xFFFFEFFF
3778#define R_028004_DB_COUNT_CONTROL                                       0x028004
3779#define   S_028004_ZPASS_INCREMENT_DISABLE(x)                         (((unsigned)(x) & 0x1) << 0)
3780#define   G_028004_ZPASS_INCREMENT_DISABLE(x)                         (((x) >> 0) & 0x1)
3781#define   C_028004_ZPASS_INCREMENT_DISABLE                            0xFFFFFFFE
3782#define   S_028004_PERFECT_ZPASS_COUNTS(x)                            (((unsigned)(x) & 0x1) << 1)
3783#define   G_028004_PERFECT_ZPASS_COUNTS(x)                            (((x) >> 1) & 0x1)
3784#define   C_028004_PERFECT_ZPASS_COUNTS                               0xFFFFFFFD
3785#define   S_028004_SAMPLE_RATE(x)                                     (((unsigned)(x) & 0x07) << 4)
3786#define   G_028004_SAMPLE_RATE(x)                                     (((x) >> 4) & 0x07)
3787#define   C_028004_SAMPLE_RATE                                        0xFFFFFF8F
3788#define   S_028004_ZPASS_ENABLE(x)                                    (((unsigned)(x) & 0x0F) << 8)
3789#define   G_028004_ZPASS_ENABLE(x)                                    (((x) >> 8) & 0x0F)
3790#define   C_028004_ZPASS_ENABLE                                       0xFFFFF0FF
3791#define   S_028004_ZFAIL_ENABLE(x)                                    (((unsigned)(x) & 0x0F) << 12)
3792#define   G_028004_ZFAIL_ENABLE(x)                                    (((x) >> 12) & 0x0F)
3793#define   C_028004_ZFAIL_ENABLE                                       0xFFFF0FFF
3794#define   S_028004_SFAIL_ENABLE(x)                                    (((unsigned)(x) & 0x0F) << 16)
3795#define   G_028004_SFAIL_ENABLE(x)                                    (((x) >> 16) & 0x0F)
3796#define   C_028004_SFAIL_ENABLE                                       0xFFF0FFFF
3797#define   S_028004_DBFAIL_ENABLE(x)                                   (((unsigned)(x) & 0x0F) << 20)
3798#define   G_028004_DBFAIL_ENABLE(x)                                   (((x) >> 20) & 0x0F)
3799#define   C_028004_DBFAIL_ENABLE                                      0xFF0FFFFF
3800#define   S_028004_SLICE_EVEN_ENABLE(x)                               (((unsigned)(x) & 0x0F) << 24)
3801#define   G_028004_SLICE_EVEN_ENABLE(x)                               (((x) >> 24) & 0x0F)
3802#define   C_028004_SLICE_EVEN_ENABLE                                  0xF0FFFFFF
3803#define   S_028004_SLICE_ODD_ENABLE(x)                                (((unsigned)(x) & 0x0F) << 28)
3804#define   G_028004_SLICE_ODD_ENABLE(x)                                (((x) >> 28) & 0x0F)
3805#define   C_028004_SLICE_ODD_ENABLE                                   0x0FFFFFFF
3806#define R_028008_DB_DEPTH_VIEW                                          0x028008
3807#define   S_028008_SLICE_START(x)                                     (((unsigned)(x) & 0x7FF) << 0)
3808#define   G_028008_SLICE_START(x)                                     (((x) >> 0) & 0x7FF)
3809#define   C_028008_SLICE_START                                        0xFFFFF800
3810#define   S_028008_SLICE_MAX(x)                                       (((unsigned)(x) & 0x7FF) << 13)
3811#define   G_028008_SLICE_MAX(x)                                       (((x) >> 13) & 0x7FF)
3812#define   C_028008_SLICE_MAX                                          0xFF001FFF
3813#define   S_028008_Z_READ_ONLY(x)                                     (((unsigned)(x) & 0x1) << 24)
3814#define   G_028008_Z_READ_ONLY(x)                                     (((x) >> 24) & 0x1)
3815#define   C_028008_Z_READ_ONLY                                        0xFEFFFFFF
3816#define   S_028008_STENCIL_READ_ONLY(x)                               (((unsigned)(x) & 0x1) << 25)
3817#define   G_028008_STENCIL_READ_ONLY(x)                               (((x) >> 25) & 0x1)
3818#define   C_028008_STENCIL_READ_ONLY                                  0xFDFFFFFF
3819#define   S_028008_MIPID(x)                                           (((unsigned)(x) & 0x0F) << 26)
3820#define   G_028008_MIPID(x)                                           (((x) >> 26) & 0x0F)
3821#define   C_028008_MIPID                                              0xC3FFFFFF
3822#define R_02800C_DB_RENDER_OVERRIDE                                     0x02800C
3823#define   S_02800C_FORCE_HIZ_ENABLE(x)                                (((unsigned)(x) & 0x03) << 0)
3824#define   G_02800C_FORCE_HIZ_ENABLE(x)                                (((x) >> 0) & 0x03)
3825#define   C_02800C_FORCE_HIZ_ENABLE                                   0xFFFFFFFC
3826#define   S_02800C_FORCE_HIS_ENABLE0(x)                               (((unsigned)(x) & 0x03) << 2)
3827#define   G_02800C_FORCE_HIS_ENABLE0(x)                               (((x) >> 2) & 0x03)
3828#define   C_02800C_FORCE_HIS_ENABLE0                                  0xFFFFFFF3
3829#define   S_02800C_FORCE_HIS_ENABLE1(x)                               (((unsigned)(x) & 0x03) << 4)
3830#define   G_02800C_FORCE_HIS_ENABLE1(x)                               (((x) >> 4) & 0x03)
3831#define   C_02800C_FORCE_HIS_ENABLE1                                  0xFFFFFFCF
3832#define   S_02800C_FORCE_SHADER_Z_ORDER(x)                            (((unsigned)(x) & 0x1) << 6)
3833#define   G_02800C_FORCE_SHADER_Z_ORDER(x)                            (((x) >> 6) & 0x1)
3834#define   C_02800C_FORCE_SHADER_Z_ORDER                               0xFFFFFFBF
3835#define   S_02800C_FAST_Z_DISABLE(x)                                  (((unsigned)(x) & 0x1) << 7)
3836#define   G_02800C_FAST_Z_DISABLE(x)                                  (((x) >> 7) & 0x1)
3837#define   C_02800C_FAST_Z_DISABLE                                     0xFFFFFF7F
3838#define   S_02800C_FAST_STENCIL_DISABLE(x)                            (((unsigned)(x) & 0x1) << 8)
3839#define   G_02800C_FAST_STENCIL_DISABLE(x)                            (((x) >> 8) & 0x1)
3840#define   C_02800C_FAST_STENCIL_DISABLE                               0xFFFFFEFF
3841#define   S_02800C_NOOP_CULL_DISABLE(x)                               (((unsigned)(x) & 0x1) << 9)
3842#define   G_02800C_NOOP_CULL_DISABLE(x)                               (((x) >> 9) & 0x1)
3843#define   C_02800C_NOOP_CULL_DISABLE                                  0xFFFFFDFF
3844#define   S_02800C_FORCE_COLOR_KILL(x)                                (((unsigned)(x) & 0x1) << 10)
3845#define   G_02800C_FORCE_COLOR_KILL(x)                                (((x) >> 10) & 0x1)
3846#define   C_02800C_FORCE_COLOR_KILL                                   0xFFFFFBFF
3847#define   S_02800C_FORCE_Z_READ(x)                                    (((unsigned)(x) & 0x1) << 11)
3848#define   G_02800C_FORCE_Z_READ(x)                                    (((x) >> 11) & 0x1)
3849#define   C_02800C_FORCE_Z_READ                                       0xFFFFF7FF
3850#define   S_02800C_FORCE_STENCIL_READ(x)                              (((unsigned)(x) & 0x1) << 12)
3851#define   G_02800C_FORCE_STENCIL_READ(x)                              (((x) >> 12) & 0x1)
3852#define   C_02800C_FORCE_STENCIL_READ                                 0xFFFFEFFF
3853#define   S_02800C_FORCE_FULL_Z_RANGE(x)                              (((unsigned)(x) & 0x03) << 13)
3854#define   G_02800C_FORCE_FULL_Z_RANGE(x)                              (((x) >> 13) & 0x03)
3855#define   C_02800C_FORCE_FULL_Z_RANGE                                 0xFFFF9FFF
3856#define   S_02800C_FORCE_QC_SMASK_CONFLICT(x)                         (((unsigned)(x) & 0x1) << 15)
3857#define   G_02800C_FORCE_QC_SMASK_CONFLICT(x)                         (((x) >> 15) & 0x1)
3858#define   C_02800C_FORCE_QC_SMASK_CONFLICT                            0xFFFF7FFF
3859#define   S_02800C_DISABLE_VIEWPORT_CLAMP(x)                          (((unsigned)(x) & 0x1) << 16)
3860#define   G_02800C_DISABLE_VIEWPORT_CLAMP(x)                          (((x) >> 16) & 0x1)
3861#define   C_02800C_DISABLE_VIEWPORT_CLAMP                             0xFFFEFFFF
3862#define   S_02800C_IGNORE_SC_ZRANGE(x)                                (((unsigned)(x) & 0x1) << 17)
3863#define   G_02800C_IGNORE_SC_ZRANGE(x)                                (((x) >> 17) & 0x1)
3864#define   C_02800C_IGNORE_SC_ZRANGE                                   0xFFFDFFFF
3865#define   S_02800C_DISABLE_FULLY_COVERED(x)                           (((unsigned)(x) & 0x1) << 18)
3866#define   G_02800C_DISABLE_FULLY_COVERED(x)                           (((x) >> 18) & 0x1)
3867#define   C_02800C_DISABLE_FULLY_COVERED                              0xFFFBFFFF
3868#define   S_02800C_FORCE_Z_LIMIT_SUMM(x)                              (((unsigned)(x) & 0x03) << 19)
3869#define   G_02800C_FORCE_Z_LIMIT_SUMM(x)                              (((x) >> 19) & 0x03)
3870#define   C_02800C_FORCE_Z_LIMIT_SUMM                                 0xFFE7FFFF
3871#define   S_02800C_MAX_TILES_IN_DTT(x)                                (((unsigned)(x) & 0x1F) << 21)
3872#define   G_02800C_MAX_TILES_IN_DTT(x)                                (((x) >> 21) & 0x1F)
3873#define   C_02800C_MAX_TILES_IN_DTT                                   0xFC1FFFFF
3874#define   S_02800C_DISABLE_TILE_RATE_TILES(x)                         (((unsigned)(x) & 0x1) << 26)
3875#define   G_02800C_DISABLE_TILE_RATE_TILES(x)                         (((x) >> 26) & 0x1)
3876#define   C_02800C_DISABLE_TILE_RATE_TILES                            0xFBFFFFFF
3877#define   S_02800C_FORCE_Z_DIRTY(x)                                   (((unsigned)(x) & 0x1) << 27)
3878#define   G_02800C_FORCE_Z_DIRTY(x)                                   (((x) >> 27) & 0x1)
3879#define   C_02800C_FORCE_Z_DIRTY                                      0xF7FFFFFF
3880#define   S_02800C_FORCE_STENCIL_DIRTY(x)                             (((unsigned)(x) & 0x1) << 28)
3881#define   G_02800C_FORCE_STENCIL_DIRTY(x)                             (((x) >> 28) & 0x1)
3882#define   C_02800C_FORCE_STENCIL_DIRTY                                0xEFFFFFFF
3883#define   S_02800C_FORCE_Z_VALID(x)                                   (((unsigned)(x) & 0x1) << 29)
3884#define   G_02800C_FORCE_Z_VALID(x)                                   (((x) >> 29) & 0x1)
3885#define   C_02800C_FORCE_Z_VALID                                      0xDFFFFFFF
3886#define   S_02800C_FORCE_STENCIL_VALID(x)                             (((unsigned)(x) & 0x1) << 30)
3887#define   G_02800C_FORCE_STENCIL_VALID(x)                             (((x) >> 30) & 0x1)
3888#define   C_02800C_FORCE_STENCIL_VALID                                0xBFFFFFFF
3889#define   S_02800C_PRESERVE_COMPRESSION(x)                            (((unsigned)(x) & 0x1) << 31)
3890#define   G_02800C_PRESERVE_COMPRESSION(x)                            (((x) >> 31) & 0x1)
3891#define   C_02800C_PRESERVE_COMPRESSION                               0x7FFFFFFF
3892#define R_028010_DB_RENDER_OVERRIDE2                                    0x028010
3893#define   S_028010_PARTIAL_SQUAD_LAUNCH_CONTROL(x)                    (((unsigned)(x) & 0x03) << 0)
3894#define   G_028010_PARTIAL_SQUAD_LAUNCH_CONTROL(x)                    (((x) >> 0) & 0x03)
3895#define   C_028010_PARTIAL_SQUAD_LAUNCH_CONTROL                       0xFFFFFFFC
3896#define   S_028010_PARTIAL_SQUAD_LAUNCH_COUNTDOWN(x)                  (((unsigned)(x) & 0x07) << 2)
3897#define   G_028010_PARTIAL_SQUAD_LAUNCH_COUNTDOWN(x)                  (((x) >> 2) & 0x07)
3898#define   C_028010_PARTIAL_SQUAD_LAUNCH_COUNTDOWN                     0xFFFFFFE3
3899#define   S_028010_DISABLE_ZMASK_EXPCLEAR_OPTIMIZATION(x)             (((unsigned)(x) & 0x1) << 5)
3900#define   G_028010_DISABLE_ZMASK_EXPCLEAR_OPTIMIZATION(x)             (((x) >> 5) & 0x1)
3901#define   C_028010_DISABLE_ZMASK_EXPCLEAR_OPTIMIZATION                0xFFFFFFDF
3902#define   S_028010_DISABLE_SMEM_EXPCLEAR_OPTIMIZATION(x)              (((unsigned)(x) & 0x1) << 6)
3903#define   G_028010_DISABLE_SMEM_EXPCLEAR_OPTIMIZATION(x)              (((x) >> 6) & 0x1)
3904#define   C_028010_DISABLE_SMEM_EXPCLEAR_OPTIMIZATION                 0xFFFFFFBF
3905#define   S_028010_DISABLE_COLOR_ON_VALIDATION(x)                     (((unsigned)(x) & 0x1) << 7)
3906#define   G_028010_DISABLE_COLOR_ON_VALIDATION(x)                     (((x) >> 7) & 0x1)
3907#define   C_028010_DISABLE_COLOR_ON_VALIDATION                        0xFFFFFF7F
3908#define   S_028010_DECOMPRESS_Z_ON_FLUSH(x)                           (((unsigned)(x) & 0x1) << 8)
3909#define   G_028010_DECOMPRESS_Z_ON_FLUSH(x)                           (((x) >> 8) & 0x1)
3910#define   C_028010_DECOMPRESS_Z_ON_FLUSH                              0xFFFFFEFF
3911#define   S_028010_DISABLE_REG_SNOOP(x)                               (((unsigned)(x) & 0x1) << 9)
3912#define   G_028010_DISABLE_REG_SNOOP(x)                               (((x) >> 9) & 0x1)
3913#define   C_028010_DISABLE_REG_SNOOP                                  0xFFFFFDFF
3914#define   S_028010_DEPTH_BOUNDS_HIER_DEPTH_DISABLE(x)                 (((unsigned)(x) & 0x1) << 10)
3915#define   G_028010_DEPTH_BOUNDS_HIER_DEPTH_DISABLE(x)                 (((x) >> 10) & 0x1)
3916#define   C_028010_DEPTH_BOUNDS_HIER_DEPTH_DISABLE                    0xFFFFFBFF
3917#define   S_028010_SEPARATE_HIZS_FUNC_ENABLE(x)                       (((unsigned)(x) & 0x1) << 11)
3918#define   G_028010_SEPARATE_HIZS_FUNC_ENABLE(x)                       (((x) >> 11) & 0x1)
3919#define   C_028010_SEPARATE_HIZS_FUNC_ENABLE                          0xFFFFF7FF
3920#define   S_028010_HIZ_ZFUNC(x)                                       (((unsigned)(x) & 0x07) << 12)
3921#define   G_028010_HIZ_ZFUNC(x)                                       (((x) >> 12) & 0x07)
3922#define   C_028010_HIZ_ZFUNC                                          0xFFFF8FFF
3923#define   S_028010_HIS_SFUNC_FF(x)                                    (((unsigned)(x) & 0x07) << 15)
3924#define   G_028010_HIS_SFUNC_FF(x)                                    (((x) >> 15) & 0x07)
3925#define   C_028010_HIS_SFUNC_FF                                       0xFFFC7FFF
3926#define   S_028010_HIS_SFUNC_BF(x)                                    (((unsigned)(x) & 0x07) << 18)
3927#define   G_028010_HIS_SFUNC_BF(x)                                    (((x) >> 18) & 0x07)
3928#define   C_028010_HIS_SFUNC_BF                                       0xFFE3FFFF
3929#define   S_028010_PRESERVE_ZRANGE(x)                                 (((unsigned)(x) & 0x1) << 21)
3930#define   G_028010_PRESERVE_ZRANGE(x)                                 (((x) >> 21) & 0x1)
3931#define   C_028010_PRESERVE_ZRANGE                                    0xFFDFFFFF
3932#define   S_028010_PRESERVE_SRESULTS(x)                               (((unsigned)(x) & 0x1) << 22)
3933#define   G_028010_PRESERVE_SRESULTS(x)                               (((x) >> 22) & 0x1)
3934#define   C_028010_PRESERVE_SRESULTS                                  0xFFBFFFFF
3935#define   S_028010_DISABLE_FAST_PASS(x)                               (((unsigned)(x) & 0x1) << 23)
3936#define   G_028010_DISABLE_FAST_PASS(x)                               (((x) >> 23) & 0x1)
3937#define   C_028010_DISABLE_FAST_PASS                                  0xFF7FFFFF
3938#define   S_028010_ALLOW_PARTIAL_RES_HIER_KILL(x)                     (((unsigned)(x) & 0x1) << 25)
3939#define   G_028010_ALLOW_PARTIAL_RES_HIER_KILL(x)                     (((x) >> 25) & 0x1)
3940#define   C_028010_ALLOW_PARTIAL_RES_HIER_KILL                        0xFDFFFFFF
3941#define R_028014_DB_HTILE_DATA_BASE                                     0x028014
3942#define R_028018_DB_HTILE_DATA_BASE_HI                                  0x028018
3943#define   S_028018_BASE_HI(x)                                         (((unsigned)(x) & 0xFF) << 0)
3944#define   G_028018_BASE_HI(x)                                         (((x) >> 0) & 0xFF)
3945#define   C_028018_BASE_HI                                            0xFFFFFF00
3946#define R_02801C_DB_DEPTH_SIZE                                          0x02801C
3947#define   S_02801C_X_MAX(x)                                           (((unsigned)(x) & 0x3FFF) << 0)
3948#define   G_02801C_X_MAX(x)                                           (((x) >> 0) & 0x3FFF)
3949#define   C_02801C_X_MAX                                              0xFFFFC000
3950#define   S_02801C_Y_MAX(x)                                           (((unsigned)(x) & 0x3FFF) << 16)
3951#define   G_02801C_Y_MAX(x)                                           (((x) >> 16) & 0x3FFF)
3952#define   C_02801C_Y_MAX                                              0xC000FFFF
3953#define R_028020_DB_DEPTH_BOUNDS_MIN                                    0x028020
3954#define R_028024_DB_DEPTH_BOUNDS_MAX                                    0x028024
3955#define R_028028_DB_STENCIL_CLEAR                                       0x028028
3956#define   S_028028_CLEAR(x)                                           (((unsigned)(x) & 0xFF) << 0)
3957#define   G_028028_CLEAR(x)                                           (((x) >> 0) & 0xFF)
3958#define   C_028028_CLEAR                                              0xFFFFFF00
3959#define R_02802C_DB_DEPTH_CLEAR                                         0x02802C
3960#define R_028030_PA_SC_SCREEN_SCISSOR_TL                                0x028030
3961#define   S_028030_TL_X(x)                                            (((unsigned)(x) & 0xFFFF) << 0)
3962#define   G_028030_TL_X(x)                                            (((x) >> 0) & 0xFFFF)
3963#define   C_028030_TL_X                                               0xFFFF0000
3964#define   S_028030_TL_Y(x)                                            (((unsigned)(x) & 0xFFFF) << 16)
3965#define   G_028030_TL_Y(x)                                            (((x) >> 16) & 0xFFFF)
3966#define   C_028030_TL_Y                                               0x0000FFFF
3967#define R_028034_PA_SC_SCREEN_SCISSOR_BR                                0x028034
3968#define   S_028034_BR_X(x)                                            (((unsigned)(x) & 0xFFFF) << 0)
3969#define   G_028034_BR_X(x)                                            (((x) >> 0) & 0xFFFF)
3970#define   C_028034_BR_X                                               0xFFFF0000
3971#define   S_028034_BR_Y(x)                                            (((unsigned)(x) & 0xFFFF) << 16)
3972#define   G_028034_BR_Y(x)                                            (((x) >> 16) & 0xFFFF)
3973#define   C_028034_BR_Y                                               0x0000FFFF
3974#define R_028038_DB_Z_INFO                                              0x028038
3975#define   S_028038_FORMAT(x)                                          (((unsigned)(x) & 0x03) << 0)
3976#define   G_028038_FORMAT(x)                                          (((x) >> 0) & 0x03)
3977#define   C_028038_FORMAT                                             0xFFFFFFFC
3978#define   S_028038_NUM_SAMPLES(x)                                     (((unsigned)(x) & 0x03) << 2)
3979#define   G_028038_NUM_SAMPLES(x)                                     (((x) >> 2) & 0x03)
3980#define   C_028038_NUM_SAMPLES                                        0xFFFFFFF3
3981#define   S_028038_SW_MODE(x)                                         (((unsigned)(x) & 0x1F) << 4)
3982#define   G_028038_SW_MODE(x)                                         (((x) >> 4) & 0x1F)
3983#define   C_028038_SW_MODE                                            0xFFFFFE0F
3984#define   S_028038_PARTIALLY_RESIDENT(x)                              (((unsigned)(x) & 0x1) << 12)
3985#define   G_028038_PARTIALLY_RESIDENT(x)                              (((x) >> 12) & 0x1)
3986#define   C_028038_PARTIALLY_RESIDENT                                 0xFFFFEFFF
3987#define   S_028038_FAULT_BEHAVIOR(x)                                  (((unsigned)(x) & 0x03) << 13)
3988#define   G_028038_FAULT_BEHAVIOR(x)                                  (((x) >> 13) & 0x03)
3989#define   C_028038_FAULT_BEHAVIOR                                     0xFFFF9FFF
3990#define   S_028038_ITERATE_FLUSH(x)                                   (((unsigned)(x) & 0x1) << 15)
3991#define   G_028038_ITERATE_FLUSH(x)                                   (((x) >> 15) & 0x1)
3992#define   C_028038_ITERATE_FLUSH                                      0xFFFF7FFF
3993#define   S_028038_MAXMIP(x)                                          (((unsigned)(x) & 0x0F) << 16)
3994#define   G_028038_MAXMIP(x)                                          (((x) >> 16) & 0x0F)
3995#define   C_028038_MAXMIP                                             0xFFF0FFFF
3996#define   S_028038_DECOMPRESS_ON_N_ZPLANES(x)                         (((unsigned)(x) & 0x0F) << 23)
3997#define   G_028038_DECOMPRESS_ON_N_ZPLANES(x)                         (((x) >> 23) & 0x0F)
3998#define   C_028038_DECOMPRESS_ON_N_ZPLANES                            0xF87FFFFF
3999#define   S_028038_ALLOW_EXPCLEAR(x)                                  (((unsigned)(x) & 0x1) << 27)
4000#define   G_028038_ALLOW_EXPCLEAR(x)                                  (((x) >> 27) & 0x1)
4001#define   C_028038_ALLOW_EXPCLEAR                                     0xF7FFFFFF
4002#define   S_028038_READ_SIZE(x)                                       (((unsigned)(x) & 0x1) << 28)
4003#define   G_028038_READ_SIZE(x)                                       (((x) >> 28) & 0x1)
4004#define   C_028038_READ_SIZE                                          0xEFFFFFFF
4005#define   S_028038_TILE_SURFACE_ENABLE(x)                             (((unsigned)(x) & 0x1) << 29)
4006#define   G_028038_TILE_SURFACE_ENABLE(x)                             (((x) >> 29) & 0x1)
4007#define   C_028038_TILE_SURFACE_ENABLE                                0xDFFFFFFF
4008#define   S_028038_CLEAR_DISALLOWED(x)                                (((unsigned)(x) & 0x1) << 30)
4009#define   G_028038_CLEAR_DISALLOWED(x)                                (((x) >> 30) & 0x1)
4010#define   C_028038_CLEAR_DISALLOWED                                   0xBFFFFFFF
4011#define   S_028038_ZRANGE_PRECISION(x)                                (((unsigned)(x) & 0x1) << 31)
4012#define   G_028038_ZRANGE_PRECISION(x)                                (((x) >> 31) & 0x1)
4013#define   C_028038_ZRANGE_PRECISION                                   0x7FFFFFFF
4014#define R_02803C_DB_STENCIL_INFO                                        0x02803C
4015#define   S_02803C_FORMAT(x)                                          (((unsigned)(x) & 0x1) << 0)
4016#define   G_02803C_FORMAT(x)                                          (((x) >> 0) & 0x1)
4017#define   C_02803C_FORMAT                                             0xFFFFFFFE
4018#define   S_02803C_SW_MODE(x)                                         (((unsigned)(x) & 0x1F) << 4)
4019#define   G_02803C_SW_MODE(x)                                         (((x) >> 4) & 0x1F)
4020#define   C_02803C_SW_MODE                                            0xFFFFFE0F
4021#define   S_02803C_PARTIALLY_RESIDENT(x)                              (((unsigned)(x) & 0x1) << 12)
4022#define   G_02803C_PARTIALLY_RESIDENT(x)                              (((x) >> 12) & 0x1)
4023#define   C_02803C_PARTIALLY_RESIDENT                                 0xFFFFEFFF
4024#define   S_02803C_FAULT_BEHAVIOR(x)                                  (((unsigned)(x) & 0x03) << 13)
4025#define   G_02803C_FAULT_BEHAVIOR(x)                                  (((x) >> 13) & 0x03)
4026#define   C_02803C_FAULT_BEHAVIOR                                     0xFFFF9FFF
4027#define   S_02803C_ITERATE_FLUSH(x)                                   (((unsigned)(x) & 0x1) << 15)
4028#define   G_02803C_ITERATE_FLUSH(x)                                   (((x) >> 15) & 0x1)
4029#define   C_02803C_ITERATE_FLUSH                                      0xFFFF7FFF
4030#define   S_02803C_ALLOW_EXPCLEAR(x)                                  (((unsigned)(x) & 0x1) << 27)
4031#define   G_02803C_ALLOW_EXPCLEAR(x)                                  (((x) >> 27) & 0x1)
4032#define   C_02803C_ALLOW_EXPCLEAR                                     0xF7FFFFFF
4033#define   S_02803C_TILE_STENCIL_DISABLE(x)                            (((unsigned)(x) & 0x1) << 29)
4034#define   G_02803C_TILE_STENCIL_DISABLE(x)                            (((x) >> 29) & 0x1)
4035#define   C_02803C_TILE_STENCIL_DISABLE                               0xDFFFFFFF
4036#define   S_02803C_CLEAR_DISALLOWED(x)                                (((unsigned)(x) & 0x1) << 30)
4037#define   G_02803C_CLEAR_DISALLOWED(x)                                (((x) >> 30) & 0x1)
4038#define   C_02803C_CLEAR_DISALLOWED                                   0xBFFFFFFF
4039#define R_028040_DB_Z_READ_BASE                                         0x028040
4040#define R_028044_DB_Z_READ_BASE_HI                                      0x028044
4041#define   S_028044_BASE_HI(x)                                         (((unsigned)(x) & 0xFF) << 0)
4042#define   G_028044_BASE_HI(x)                                         (((x) >> 0) & 0xFF)
4043#define   C_028044_BASE_HI                                            0xFFFFFF00
4044#define R_028048_DB_STENCIL_READ_BASE                                   0x028048
4045#define R_02804C_DB_STENCIL_READ_BASE_HI                                0x02804C
4046#define   S_02804C_BASE_HI(x)                                         (((unsigned)(x) & 0xFF) << 0)
4047#define   G_02804C_BASE_HI(x)                                         (((x) >> 0) & 0xFF)
4048#define   C_02804C_BASE_HI                                            0xFFFFFF00
4049#define R_028050_DB_Z_WRITE_BASE                                        0x028050
4050#define R_028054_DB_Z_WRITE_BASE_HI                                     0x028054
4051#define   S_028054_BASE_HI(x)                                         (((unsigned)(x) & 0xFF) << 0)
4052#define   G_028054_BASE_HI(x)                                         (((x) >> 0) & 0xFF)
4053#define   C_028054_BASE_HI                                            0xFFFFFF00
4054#define R_028058_DB_STENCIL_WRITE_BASE                                  0x028058
4055#define R_02805C_DB_STENCIL_WRITE_BASE_HI                               0x02805C
4056#define   S_02805C_BASE_HI(x)                                         (((unsigned)(x) & 0xFF) << 0)
4057#define   G_02805C_BASE_HI(x)                                         (((x) >> 0) & 0xFF)
4058#define   C_02805C_BASE_HI                                            0xFFFFFF00
4059#define R_028060_DB_DFSM_CONTROL                                        0x028060
4060#define   S_028060_PUNCHOUT_MODE(x)                                   (((unsigned)(x) & 0x03) << 0)
4061#define   G_028060_PUNCHOUT_MODE(x)                                   (((x) >> 0) & 0x03)
4062#define   C_028060_PUNCHOUT_MODE                                      0xFFFFFFFC
4063#define     V_028060_AUTO						0
4064#define     V_028060_FORCE_ON						1
4065#define     V_028060_FORCE_OFF						2
4066#define     V_028060_RESERVED						3
4067#define   S_028060_POPS_DRAIN_PS_ON_OVERLAP(x)                        (((unsigned)(x) & 0x1) << 2)
4068#define   G_028060_POPS_DRAIN_PS_ON_OVERLAP(x)                        (((x) >> 2) & 0x1)
4069#define   C_028060_POPS_DRAIN_PS_ON_OVERLAP                           0xFFFFFFFB
4070#define   S_028060_DISALLOW_OVERFLOW(x)                               (((unsigned)(x) & 0x1) << 3)
4071#define   G_028060_DISALLOW_OVERFLOW(x)                               (((x) >> 3) & 0x1)
4072#define   C_028060_DISALLOW_OVERFLOW                                  0xFFFFFFF7
4073#define R_028068_DB_Z_INFO2                                             0x028068
4074#define   S_028068_EPITCH(x)                                          (((unsigned)(x) & 0xFFFF) << 0)
4075#define   G_028068_EPITCH(x)                                          (((x) >> 0) & 0xFFFF)
4076#define   C_028068_EPITCH                                             0xFFFF0000
4077#define R_02806C_DB_STENCIL_INFO2                                       0x02806C
4078#define   S_02806C_EPITCH(x)                                          (((unsigned)(x) & 0xFFFF) << 0)
4079#define   G_02806C_EPITCH(x)                                          (((x) >> 0) & 0xFFFF)
4080#define   C_02806C_EPITCH                                             0xFFFF0000
4081#define R_028080_TA_BC_BASE_ADDR                                        0x028080
4082#define R_028084_TA_BC_BASE_ADDR_HI                                     0x028084
4083#define   S_028084_ADDRESS(x)                                         (((unsigned)(x) & 0xFF) << 0)
4084#define   G_028084_ADDRESS(x)                                         (((x) >> 0) & 0xFF)
4085#define   C_028084_ADDRESS                                            0xFFFFFF00
4086#define R_0281E8_COHER_DEST_BASE_HI_0                                   0x0281E8
4087#define   S_0281E8_DEST_BASE_HI_256B(x)                               (((unsigned)(x) & 0xFF) << 0)
4088#define   G_0281E8_DEST_BASE_HI_256B(x)                               (((x) >> 0) & 0xFF)
4089#define   C_0281E8_DEST_BASE_HI_256B                                  0xFFFFFF00
4090#define R_0281EC_COHER_DEST_BASE_HI_1                                   0x0281EC
4091#define   S_0281EC_DEST_BASE_HI_256B(x)                               (((unsigned)(x) & 0xFF) << 0)
4092#define   G_0281EC_DEST_BASE_HI_256B(x)                               (((x) >> 0) & 0xFF)
4093#define   C_0281EC_DEST_BASE_HI_256B                                  0xFFFFFF00
4094#define R_0281F0_COHER_DEST_BASE_HI_2                                   0x0281F0
4095#define   S_0281F0_DEST_BASE_HI_256B(x)                               (((unsigned)(x) & 0xFF) << 0)
4096#define   G_0281F0_DEST_BASE_HI_256B(x)                               (((x) >> 0) & 0xFF)
4097#define   C_0281F0_DEST_BASE_HI_256B                                  0xFFFFFF00
4098#define R_0281F4_COHER_DEST_BASE_HI_3                                   0x0281F4
4099#define   S_0281F4_DEST_BASE_HI_256B(x)                               (((unsigned)(x) & 0xFF) << 0)
4100#define   G_0281F4_DEST_BASE_HI_256B(x)                               (((x) >> 0) & 0xFF)
4101#define   C_0281F4_DEST_BASE_HI_256B                                  0xFFFFFF00
4102#define R_0281F8_COHER_DEST_BASE_2                                      0x0281F8
4103#define R_0281FC_COHER_DEST_BASE_3                                      0x0281FC
4104#define R_028200_PA_SC_WINDOW_OFFSET                                    0x028200
4105#define   S_028200_WINDOW_X_OFFSET(x)                                 (((unsigned)(x) & 0xFFFF) << 0)
4106#define   G_028200_WINDOW_X_OFFSET(x)                                 (((x) >> 0) & 0xFFFF)
4107#define   C_028200_WINDOW_X_OFFSET                                    0xFFFF0000
4108#define   S_028200_WINDOW_Y_OFFSET(x)                                 (((unsigned)(x) & 0xFFFF) << 16)
4109#define   G_028200_WINDOW_Y_OFFSET(x)                                 (((x) >> 16) & 0xFFFF)
4110#define   C_028200_WINDOW_Y_OFFSET                                    0x0000FFFF
4111#define R_028204_PA_SC_WINDOW_SCISSOR_TL                                0x028204
4112#define   S_028204_TL_X(x)                                            (((unsigned)(x) & 0x7FFF) << 0)
4113#define   G_028204_TL_X(x)                                            (((x) >> 0) & 0x7FFF)
4114#define   C_028204_TL_X                                               0xFFFF8000
4115#define   S_028204_TL_Y(x)                                            (((unsigned)(x) & 0x7FFF) << 16)
4116#define   G_028204_TL_Y(x)                                            (((x) >> 16) & 0x7FFF)
4117#define   C_028204_TL_Y                                               0x8000FFFF
4118#define   S_028204_WINDOW_OFFSET_DISABLE(x)                           (((unsigned)(x) & 0x1) << 31)
4119#define   G_028204_WINDOW_OFFSET_DISABLE(x)                           (((x) >> 31) & 0x1)
4120#define   C_028204_WINDOW_OFFSET_DISABLE                              0x7FFFFFFF
4121#define R_028208_PA_SC_WINDOW_SCISSOR_BR                                0x028208
4122#define   S_028208_BR_X(x)                                            (((unsigned)(x) & 0x7FFF) << 0)
4123#define   G_028208_BR_X(x)                                            (((x) >> 0) & 0x7FFF)
4124#define   C_028208_BR_X                                               0xFFFF8000
4125#define   S_028208_BR_Y(x)                                            (((unsigned)(x) & 0x7FFF) << 16)
4126#define   G_028208_BR_Y(x)                                            (((x) >> 16) & 0x7FFF)
4127#define   C_028208_BR_Y                                               0x8000FFFF
4128#define R_02820C_PA_SC_CLIPRECT_RULE                                    0x02820C
4129#define   S_02820C_CLIP_RULE(x)                                       (((unsigned)(x) & 0xFFFF) << 0)
4130#define   G_02820C_CLIP_RULE(x)                                       (((x) >> 0) & 0xFFFF)
4131#define   C_02820C_CLIP_RULE                                          0xFFFF0000
4132#define R_028210_PA_SC_CLIPRECT_0_TL                                    0x028210
4133#define   S_028210_TL_X(x)                                            (((unsigned)(x) & 0x7FFF) << 0)
4134#define   G_028210_TL_X(x)                                            (((x) >> 0) & 0x7FFF)
4135#define   C_028210_TL_X                                               0xFFFF8000
4136#define   S_028210_TL_Y(x)                                            (((unsigned)(x) & 0x7FFF) << 16)
4137#define   G_028210_TL_Y(x)                                            (((x) >> 16) & 0x7FFF)
4138#define   C_028210_TL_Y                                               0x8000FFFF
4139#define R_028214_PA_SC_CLIPRECT_0_BR                                    0x028214
4140#define   S_028214_BR_X(x)                                            (((unsigned)(x) & 0x7FFF) << 0)
4141#define   G_028214_BR_X(x)                                            (((x) >> 0) & 0x7FFF)
4142#define   C_028214_BR_X                                               0xFFFF8000
4143#define   S_028214_BR_Y(x)                                            (((unsigned)(x) & 0x7FFF) << 16)
4144#define   G_028214_BR_Y(x)                                            (((x) >> 16) & 0x7FFF)
4145#define   C_028214_BR_Y                                               0x8000FFFF
4146#define R_028218_PA_SC_CLIPRECT_1_TL                                    0x028218
4147#define R_02821C_PA_SC_CLIPRECT_1_BR                                    0x02821C
4148#define R_028220_PA_SC_CLIPRECT_2_TL                                    0x028220
4149#define R_028224_PA_SC_CLIPRECT_2_BR                                    0x028224
4150#define R_028228_PA_SC_CLIPRECT_3_TL                                    0x028228
4151#define R_02822C_PA_SC_CLIPRECT_3_BR                                    0x02822C
4152#define R_028230_PA_SC_EDGERULE                                         0x028230
4153#define   S_028230_ER_TRI(x)                                          (((unsigned)(x) & 0x0F) << 0)
4154#define   G_028230_ER_TRI(x)                                          (((x) >> 0) & 0x0F)
4155#define   C_028230_ER_TRI                                             0xFFFFFFF0
4156#define   S_028230_ER_POINT(x)                                        (((unsigned)(x) & 0x0F) << 4)
4157#define   G_028230_ER_POINT(x)                                        (((x) >> 4) & 0x0F)
4158#define   C_028230_ER_POINT                                           0xFFFFFF0F
4159#define   S_028230_ER_RECT(x)                                         (((unsigned)(x) & 0x0F) << 8)
4160#define   G_028230_ER_RECT(x)                                         (((x) >> 8) & 0x0F)
4161#define   C_028230_ER_RECT                                            0xFFFFF0FF
4162#define   S_028230_ER_LINE_LR(x)                                      (((unsigned)(x) & 0x3F) << 12)
4163#define   G_028230_ER_LINE_LR(x)                                      (((x) >> 12) & 0x3F)
4164#define   C_028230_ER_LINE_LR                                         0xFFFC0FFF
4165#define   S_028230_ER_LINE_RL(x)                                      (((unsigned)(x) & 0x3F) << 18)
4166#define   G_028230_ER_LINE_RL(x)                                      (((x) >> 18) & 0x3F)
4167#define   C_028230_ER_LINE_RL                                         0xFF03FFFF
4168#define   S_028230_ER_LINE_TB(x)                                      (((unsigned)(x) & 0x0F) << 24)
4169#define   G_028230_ER_LINE_TB(x)                                      (((x) >> 24) & 0x0F)
4170#define   C_028230_ER_LINE_TB                                         0xF0FFFFFF
4171#define   S_028230_ER_LINE_BT(x)                                      (((unsigned)(x) & 0x0F) << 28)
4172#define   G_028230_ER_LINE_BT(x)                                      (((x) >> 28) & 0x0F)
4173#define   C_028230_ER_LINE_BT                                         0x0FFFFFFF
4174#define R_028234_PA_SU_HARDWARE_SCREEN_OFFSET                           0x028234
4175#define   S_028234_HW_SCREEN_OFFSET_X(x)                              (((unsigned)(x) & 0x1FF) << 0)
4176#define   G_028234_HW_SCREEN_OFFSET_X(x)                              (((x) >> 0) & 0x1FF)
4177#define   C_028234_HW_SCREEN_OFFSET_X                                 0xFFFFFE00
4178#define   S_028234_HW_SCREEN_OFFSET_Y(x)                              (((unsigned)(x) & 0x1FF) << 16)
4179#define   G_028234_HW_SCREEN_OFFSET_Y(x)                              (((x) >> 16) & 0x1FF)
4180#define   C_028234_HW_SCREEN_OFFSET_Y                                 0xFE00FFFF
4181#define R_028238_CB_TARGET_MASK                                         0x028238
4182#define   S_028238_TARGET0_ENABLE(x)                                  (((unsigned)(x) & 0x0F) << 0)
4183#define   G_028238_TARGET0_ENABLE(x)                                  (((x) >> 0) & 0x0F)
4184#define   C_028238_TARGET0_ENABLE                                     0xFFFFFFF0
4185#define   S_028238_TARGET1_ENABLE(x)                                  (((unsigned)(x) & 0x0F) << 4)
4186#define   G_028238_TARGET1_ENABLE(x)                                  (((x) >> 4) & 0x0F)
4187#define   C_028238_TARGET1_ENABLE                                     0xFFFFFF0F
4188#define   S_028238_TARGET2_ENABLE(x)                                  (((unsigned)(x) & 0x0F) << 8)
4189#define   G_028238_TARGET2_ENABLE(x)                                  (((x) >> 8) & 0x0F)
4190#define   C_028238_TARGET2_ENABLE                                     0xFFFFF0FF
4191#define   S_028238_TARGET3_ENABLE(x)                                  (((unsigned)(x) & 0x0F) << 12)
4192#define   G_028238_TARGET3_ENABLE(x)                                  (((x) >> 12) & 0x0F)
4193#define   C_028238_TARGET3_ENABLE                                     0xFFFF0FFF
4194#define   S_028238_TARGET4_ENABLE(x)                                  (((unsigned)(x) & 0x0F) << 16)
4195#define   G_028238_TARGET4_ENABLE(x)                                  (((x) >> 16) & 0x0F)
4196#define   C_028238_TARGET4_ENABLE                                     0xFFF0FFFF
4197#define   S_028238_TARGET5_ENABLE(x)                                  (((unsigned)(x) & 0x0F) << 20)
4198#define   G_028238_TARGET5_ENABLE(x)                                  (((x) >> 20) & 0x0F)
4199#define   C_028238_TARGET5_ENABLE                                     0xFF0FFFFF
4200#define   S_028238_TARGET6_ENABLE(x)                                  (((unsigned)(x) & 0x0F) << 24)
4201#define   G_028238_TARGET6_ENABLE(x)                                  (((x) >> 24) & 0x0F)
4202#define   C_028238_TARGET6_ENABLE                                     0xF0FFFFFF
4203#define   S_028238_TARGET7_ENABLE(x)                                  (((unsigned)(x) & 0x0F) << 28)
4204#define   G_028238_TARGET7_ENABLE(x)                                  (((x) >> 28) & 0x0F)
4205#define   C_028238_TARGET7_ENABLE                                     0x0FFFFFFF
4206#define R_02823C_CB_SHADER_MASK                                         0x02823C
4207#define   S_02823C_OUTPUT0_ENABLE(x)                                  (((unsigned)(x) & 0x0F) << 0)
4208#define   G_02823C_OUTPUT0_ENABLE(x)                                  (((x) >> 0) & 0x0F)
4209#define   C_02823C_OUTPUT0_ENABLE                                     0xFFFFFFF0
4210#define   S_02823C_OUTPUT1_ENABLE(x)                                  (((unsigned)(x) & 0x0F) << 4)
4211#define   G_02823C_OUTPUT1_ENABLE(x)                                  (((x) >> 4) & 0x0F)
4212#define   C_02823C_OUTPUT1_ENABLE                                     0xFFFFFF0F
4213#define   S_02823C_OUTPUT2_ENABLE(x)                                  (((unsigned)(x) & 0x0F) << 8)
4214#define   G_02823C_OUTPUT2_ENABLE(x)                                  (((x) >> 8) & 0x0F)
4215#define   C_02823C_OUTPUT2_ENABLE                                     0xFFFFF0FF
4216#define   S_02823C_OUTPUT3_ENABLE(x)                                  (((unsigned)(x) & 0x0F) << 12)
4217#define   G_02823C_OUTPUT3_ENABLE(x)                                  (((x) >> 12) & 0x0F)
4218#define   C_02823C_OUTPUT3_ENABLE                                     0xFFFF0FFF
4219#define   S_02823C_OUTPUT4_ENABLE(x)                                  (((unsigned)(x) & 0x0F) << 16)
4220#define   G_02823C_OUTPUT4_ENABLE(x)                                  (((x) >> 16) & 0x0F)
4221#define   C_02823C_OUTPUT4_ENABLE                                     0xFFF0FFFF
4222#define   S_02823C_OUTPUT5_ENABLE(x)                                  (((unsigned)(x) & 0x0F) << 20)
4223#define   G_02823C_OUTPUT5_ENABLE(x)                                  (((x) >> 20) & 0x0F)
4224#define   C_02823C_OUTPUT5_ENABLE                                     0xFF0FFFFF
4225#define   S_02823C_OUTPUT6_ENABLE(x)                                  (((unsigned)(x) & 0x0F) << 24)
4226#define   G_02823C_OUTPUT6_ENABLE(x)                                  (((x) >> 24) & 0x0F)
4227#define   C_02823C_OUTPUT6_ENABLE                                     0xF0FFFFFF
4228#define   S_02823C_OUTPUT7_ENABLE(x)                                  (((unsigned)(x) & 0x0F) << 28)
4229#define   G_02823C_OUTPUT7_ENABLE(x)                                  (((x) >> 28) & 0x0F)
4230#define   C_02823C_OUTPUT7_ENABLE                                     0x0FFFFFFF
4231#define R_028240_PA_SC_GENERIC_SCISSOR_TL                               0x028240
4232#define   S_028240_TL_X(x)                                            (((unsigned)(x) & 0x7FFF) << 0)
4233#define   G_028240_TL_X(x)                                            (((x) >> 0) & 0x7FFF)
4234#define   C_028240_TL_X                                               0xFFFF8000
4235#define   S_028240_TL_Y(x)                                            (((unsigned)(x) & 0x7FFF) << 16)
4236#define   G_028240_TL_Y(x)                                            (((x) >> 16) & 0x7FFF)
4237#define   C_028240_TL_Y                                               0x8000FFFF
4238#define   S_028240_WINDOW_OFFSET_DISABLE(x)                           (((unsigned)(x) & 0x1) << 31)
4239#define   G_028240_WINDOW_OFFSET_DISABLE(x)                           (((x) >> 31) & 0x1)
4240#define   C_028240_WINDOW_OFFSET_DISABLE                              0x7FFFFFFF
4241#define R_028244_PA_SC_GENERIC_SCISSOR_BR                               0x028244
4242#define   S_028244_BR_X(x)                                            (((unsigned)(x) & 0x7FFF) << 0)
4243#define   G_028244_BR_X(x)                                            (((x) >> 0) & 0x7FFF)
4244#define   C_028244_BR_X                                               0xFFFF8000
4245#define   S_028244_BR_Y(x)                                            (((unsigned)(x) & 0x7FFF) << 16)
4246#define   G_028244_BR_Y(x)                                            (((x) >> 16) & 0x7FFF)
4247#define   C_028244_BR_Y                                               0x8000FFFF
4248#define R_028248_COHER_DEST_BASE_0                                      0x028248
4249#define R_02824C_COHER_DEST_BASE_1                                      0x02824C
4250#define R_028250_PA_SC_VPORT_SCISSOR_0_TL                               0x028250
4251#define   S_028250_TL_X(x)                                            (((unsigned)(x) & 0x7FFF) << 0)
4252#define   G_028250_TL_X(x)                                            (((x) >> 0) & 0x7FFF)
4253#define   C_028250_TL_X                                               0xFFFF8000
4254#define   S_028250_TL_Y(x)                                            (((unsigned)(x) & 0x7FFF) << 16)
4255#define   G_028250_TL_Y(x)                                            (((x) >> 16) & 0x7FFF)
4256#define   C_028250_TL_Y                                               0x8000FFFF
4257#define   S_028250_WINDOW_OFFSET_DISABLE(x)                           (((unsigned)(x) & 0x1) << 31)
4258#define   G_028250_WINDOW_OFFSET_DISABLE(x)                           (((x) >> 31) & 0x1)
4259#define   C_028250_WINDOW_OFFSET_DISABLE                              0x7FFFFFFF
4260#define R_028254_PA_SC_VPORT_SCISSOR_0_BR                               0x028254
4261#define   S_028254_BR_X(x)                                            (((unsigned)(x) & 0x7FFF) << 0)
4262#define   G_028254_BR_X(x)                                            (((x) >> 0) & 0x7FFF)
4263#define   C_028254_BR_X                                               0xFFFF8000
4264#define   S_028254_BR_Y(x)                                            (((unsigned)(x) & 0x7FFF) << 16)
4265#define   G_028254_BR_Y(x)                                            (((x) >> 16) & 0x7FFF)
4266#define   C_028254_BR_Y                                               0x8000FFFF
4267#define R_028258_PA_SC_VPORT_SCISSOR_1_TL                               0x028258
4268#define R_02825C_PA_SC_VPORT_SCISSOR_1_BR                               0x02825C
4269#define R_028260_PA_SC_VPORT_SCISSOR_2_TL                               0x028260
4270#define R_028264_PA_SC_VPORT_SCISSOR_2_BR                               0x028264
4271#define R_028268_PA_SC_VPORT_SCISSOR_3_TL                               0x028268
4272#define R_02826C_PA_SC_VPORT_SCISSOR_3_BR                               0x02826C
4273#define R_028270_PA_SC_VPORT_SCISSOR_4_TL                               0x028270
4274#define R_028274_PA_SC_VPORT_SCISSOR_4_BR                               0x028274
4275#define R_028278_PA_SC_VPORT_SCISSOR_5_TL                               0x028278
4276#define R_02827C_PA_SC_VPORT_SCISSOR_5_BR                               0x02827C
4277#define R_028280_PA_SC_VPORT_SCISSOR_6_TL                               0x028280
4278#define R_028284_PA_SC_VPORT_SCISSOR_6_BR                               0x028284
4279#define R_028288_PA_SC_VPORT_SCISSOR_7_TL                               0x028288
4280#define R_02828C_PA_SC_VPORT_SCISSOR_7_BR                               0x02828C
4281#define R_028290_PA_SC_VPORT_SCISSOR_8_TL                               0x028290
4282#define R_028294_PA_SC_VPORT_SCISSOR_8_BR                               0x028294
4283#define R_028298_PA_SC_VPORT_SCISSOR_9_TL                               0x028298
4284#define R_02829C_PA_SC_VPORT_SCISSOR_9_BR                               0x02829C
4285#define R_0282A0_PA_SC_VPORT_SCISSOR_10_TL                              0x0282A0
4286#define R_0282A4_PA_SC_VPORT_SCISSOR_10_BR                              0x0282A4
4287#define R_0282A8_PA_SC_VPORT_SCISSOR_11_TL                              0x0282A8
4288#define R_0282AC_PA_SC_VPORT_SCISSOR_11_BR                              0x0282AC
4289#define R_0282B0_PA_SC_VPORT_SCISSOR_12_TL                              0x0282B0
4290#define R_0282B4_PA_SC_VPORT_SCISSOR_12_BR                              0x0282B4
4291#define R_0282B8_PA_SC_VPORT_SCISSOR_13_TL                              0x0282B8
4292#define R_0282BC_PA_SC_VPORT_SCISSOR_13_BR                              0x0282BC
4293#define R_0282C0_PA_SC_VPORT_SCISSOR_14_TL                              0x0282C0
4294#define R_0282C4_PA_SC_VPORT_SCISSOR_14_BR                              0x0282C4
4295#define R_0282C8_PA_SC_VPORT_SCISSOR_15_TL                              0x0282C8
4296#define R_0282CC_PA_SC_VPORT_SCISSOR_15_BR                              0x0282CC
4297#define R_0282D0_PA_SC_VPORT_ZMIN_0                                     0x0282D0
4298#define R_0282D4_PA_SC_VPORT_ZMAX_0                                     0x0282D4
4299#define R_0282D8_PA_SC_VPORT_ZMIN_1                                     0x0282D8
4300#define R_0282DC_PA_SC_VPORT_ZMAX_1                                     0x0282DC
4301#define R_0282E0_PA_SC_VPORT_ZMIN_2                                     0x0282E0
4302#define R_0282E4_PA_SC_VPORT_ZMAX_2                                     0x0282E4
4303#define R_0282E8_PA_SC_VPORT_ZMIN_3                                     0x0282E8
4304#define R_0282EC_PA_SC_VPORT_ZMAX_3                                     0x0282EC
4305#define R_0282F0_PA_SC_VPORT_ZMIN_4                                     0x0282F0
4306#define R_0282F4_PA_SC_VPORT_ZMAX_4                                     0x0282F4
4307#define R_0282F8_PA_SC_VPORT_ZMIN_5                                     0x0282F8
4308#define R_0282FC_PA_SC_VPORT_ZMAX_5                                     0x0282FC
4309#define R_028300_PA_SC_VPORT_ZMIN_6                                     0x028300
4310#define R_028304_PA_SC_VPORT_ZMAX_6                                     0x028304
4311#define R_028308_PA_SC_VPORT_ZMIN_7                                     0x028308
4312#define R_02830C_PA_SC_VPORT_ZMAX_7                                     0x02830C
4313#define R_028310_PA_SC_VPORT_ZMIN_8                                     0x028310
4314#define R_028314_PA_SC_VPORT_ZMAX_8                                     0x028314
4315#define R_028318_PA_SC_VPORT_ZMIN_9                                     0x028318
4316#define R_02831C_PA_SC_VPORT_ZMAX_9                                     0x02831C
4317#define R_028320_PA_SC_VPORT_ZMIN_10                                    0x028320
4318#define R_028324_PA_SC_VPORT_ZMAX_10                                    0x028324
4319#define R_028328_PA_SC_VPORT_ZMIN_11                                    0x028328
4320#define R_02832C_PA_SC_VPORT_ZMAX_11                                    0x02832C
4321#define R_028330_PA_SC_VPORT_ZMIN_12                                    0x028330
4322#define R_028334_PA_SC_VPORT_ZMAX_12                                    0x028334
4323#define R_028338_PA_SC_VPORT_ZMIN_13                                    0x028338
4324#define R_02833C_PA_SC_VPORT_ZMAX_13                                    0x02833C
4325#define R_028340_PA_SC_VPORT_ZMIN_14                                    0x028340
4326#define R_028344_PA_SC_VPORT_ZMAX_14                                    0x028344
4327#define R_028348_PA_SC_VPORT_ZMIN_15                                    0x028348
4328#define R_02834C_PA_SC_VPORT_ZMAX_15                                    0x02834C
4329#define R_028350_PA_SC_RASTER_CONFIG                                    0x028350
4330#define   S_028350_RB_MAP_PKR0(x)                                     (((unsigned)(x) & 0x03) << 0)
4331#define   G_028350_RB_MAP_PKR0(x)                                     (((x) >> 0) & 0x03)
4332#define   C_028350_RB_MAP_PKR0                                        0xFFFFFFFC
4333#define   S_028350_RB_MAP_PKR1(x)                                     (((unsigned)(x) & 0x03) << 2)
4334#define   G_028350_RB_MAP_PKR1(x)                                     (((x) >> 2) & 0x03)
4335#define   C_028350_RB_MAP_PKR1                                        0xFFFFFFF3
4336#define   S_028350_RB_XSEL2(x)                                        (((unsigned)(x) & 0x03) << 4)
4337#define   G_028350_RB_XSEL2(x)                                        (((x) >> 4) & 0x03)
4338#define   C_028350_RB_XSEL2                                           0xFFFFFFCF
4339#define   S_028350_RB_XSEL(x)                                         (((unsigned)(x) & 0x1) << 6)
4340#define   G_028350_RB_XSEL(x)                                         (((x) >> 6) & 0x1)
4341#define   C_028350_RB_XSEL                                            0xFFFFFFBF
4342#define   S_028350_RB_YSEL(x)                                         (((unsigned)(x) & 0x1) << 7)
4343#define   G_028350_RB_YSEL(x)                                         (((x) >> 7) & 0x1)
4344#define   C_028350_RB_YSEL                                            0xFFFFFF7F
4345#define   S_028350_PKR_MAP(x)                                         (((unsigned)(x) & 0x03) << 8)
4346#define   G_028350_PKR_MAP(x)                                         (((x) >> 8) & 0x03)
4347#define   C_028350_PKR_MAP                                            0xFFFFFCFF
4348#define   S_028350_PKR_XSEL(x)                                        (((unsigned)(x) & 0x03) << 10)
4349#define   G_028350_PKR_XSEL(x)                                        (((x) >> 10) & 0x03)
4350#define   C_028350_PKR_XSEL                                           0xFFFFF3FF
4351#define   S_028350_PKR_YSEL(x)                                        (((unsigned)(x) & 0x03) << 12)
4352#define   G_028350_PKR_YSEL(x)                                        (((x) >> 12) & 0x03)
4353#define   C_028350_PKR_YSEL                                           0xFFFFCFFF
4354#define   S_028350_PKR_XSEL2(x)                                       (((unsigned)(x) & 0x03) << 14)
4355#define   G_028350_PKR_XSEL2(x)                                       (((x) >> 14) & 0x03)
4356#define   C_028350_PKR_XSEL2                                          0xFFFF3FFF
4357#define   S_028350_SC_MAP(x)                                          (((unsigned)(x) & 0x03) << 16)
4358#define   G_028350_SC_MAP(x)                                          (((x) >> 16) & 0x03)
4359#define   C_028350_SC_MAP                                             0xFFFCFFFF
4360#define   S_028350_SC_XSEL(x)                                         (((unsigned)(x) & 0x03) << 18)
4361#define   G_028350_SC_XSEL(x)                                         (((x) >> 18) & 0x03)
4362#define   C_028350_SC_XSEL                                            0xFFF3FFFF
4363#define   S_028350_SC_YSEL(x)                                         (((unsigned)(x) & 0x03) << 20)
4364#define   G_028350_SC_YSEL(x)                                         (((x) >> 20) & 0x03)
4365#define   C_028350_SC_YSEL                                            0xFFCFFFFF
4366#define   S_028350_SE_MAP(x)                                          (((unsigned)(x) & 0x03) << 24)
4367#define   G_028350_SE_MAP(x)                                          (((x) >> 24) & 0x03)
4368#define   C_028350_SE_MAP                                             0xFCFFFFFF
4369#define   S_028350_SE_XSEL_GFX9(x)                                    (((unsigned)(x) & 0x07) << 26)
4370#define   G_028350_SE_XSEL_GFX9(x)                                    (((x) >> 26) & 0x07)
4371#define   C_028350_SE_XSEL_GFX9                                       0xE3FFFFFF
4372#define   S_028350_SE_YSEL_GFX9(x)                                    (((unsigned)(x) & 0x07) << 29)
4373#define   G_028350_SE_YSEL_GFX9(x)                                    (((x) >> 29) & 0x07)
4374#define   C_028350_SE_YSEL_GFX9                                       0x1FFFFFFF
4375#define R_028354_PA_SC_RASTER_CONFIG_1                                  0x028354
4376#define   S_028354_SE_PAIR_MAP(x)                                     (((unsigned)(x) & 0x03) << 0)
4377#define   G_028354_SE_PAIR_MAP(x)                                     (((x) >> 0) & 0x03)
4378#define   C_028354_SE_PAIR_MAP                                        0xFFFFFFFC
4379#define   S_028354_SE_PAIR_XSEL_GFX9(x)                               (((unsigned)(x) & 0x07) << 2)
4380#define   G_028354_SE_PAIR_XSEL_GFX9(x)                               (((x) >> 2) & 0x07)
4381#define   C_028354_SE_PAIR_XSEL_GFX9                                  0xFFFFFFE3
4382#define   S_028354_SE_PAIR_YSEL_GFX9(x)                               (((unsigned)(x) & 0x07) << 5)
4383#define   G_028354_SE_PAIR_YSEL_GFX9(x)                               (((x) >> 5) & 0x07)
4384#define   C_028354_SE_PAIR_YSEL_GFX9                                  0xFFFFFF1F
4385#define R_028358_PA_SC_SCREEN_EXTENT_CONTROL                            0x028358
4386#define   S_028358_SLICE_EVEN_ENABLE(x)                               (((unsigned)(x) & 0x03) << 0)
4387#define   G_028358_SLICE_EVEN_ENABLE(x)                               (((x) >> 0) & 0x03)
4388#define   C_028358_SLICE_EVEN_ENABLE                                  0xFFFFFFFC
4389#define   S_028358_SLICE_ODD_ENABLE(x)                                (((unsigned)(x) & 0x03) << 2)
4390#define   G_028358_SLICE_ODD_ENABLE(x)                                (((x) >> 2) & 0x03)
4391#define   C_028358_SLICE_ODD_ENABLE                                   0xFFFFFFF3
4392#define R_02835C_PA_SC_TILE_STEERING_OVERRIDE                           0x02835C
4393#define   S_02835C_ENABLE(x)                                          (((unsigned)(x) & 0x1) << 0)
4394#define   G_02835C_ENABLE(x)                                          (((x) >> 0) & 0x1)
4395#define   C_02835C_ENABLE                                             0xFFFFFFFE
4396#define   S_02835C_NUM_SE(x)                                          (((unsigned)(x) & 0x03) << 1)
4397#define   G_02835C_NUM_SE(x)                                          (((x) >> 1) & 0x03)
4398#define   C_02835C_NUM_SE                                             0xFFFFFFF9
4399#define   S_02835C_NUM_RB_PER_SE(x)                                   (((unsigned)(x) & 0x03) << 5)
4400#define   G_02835C_NUM_RB_PER_SE(x)                                   (((x) >> 5) & 0x03)
4401#define   C_02835C_NUM_RB_PER_SE                                      0xFFFFFF9F
4402#define R_028360_CP_PERFMON_CNTX_CNTL                                   0x028360
4403#define   S_028360_PERFMON_ENABLE(x)                                  (((unsigned)(x) & 0x1) << 31)
4404#define   G_028360_PERFMON_ENABLE(x)                                  (((x) >> 31) & 0x1)
4405#define   C_028360_PERFMON_ENABLE                                     0x7FFFFFFF
4406#define R_0283A0_PA_SC_RIGHT_VERT_GRID                                  0x0283A0
4407#define   S_0283A0_LEFT_QTR(x)                                        (((unsigned)(x) & 0xFF) << 0)
4408#define   G_0283A0_LEFT_QTR(x)                                        (((x) >> 0) & 0xFF)
4409#define   C_0283A0_LEFT_QTR                                           0xFFFFFF00
4410#define   S_0283A0_LEFT_HALF(x)                                       (((unsigned)(x) & 0xFF) << 8)
4411#define   G_0283A0_LEFT_HALF(x)                                       (((x) >> 8) & 0xFF)
4412#define   C_0283A0_LEFT_HALF                                          0xFFFF00FF
4413#define   S_0283A0_RIGHT_HALF(x)                                      (((unsigned)(x) & 0xFF) << 16)
4414#define   G_0283A0_RIGHT_HALF(x)                                      (((x) >> 16) & 0xFF)
4415#define   C_0283A0_RIGHT_HALF                                         0xFF00FFFF
4416#define   S_0283A0_RIGHT_QTR(x)                                       (((unsigned)(x) & 0xFF) << 24)
4417#define   G_0283A0_RIGHT_QTR(x)                                       (((x) >> 24) & 0xFF)
4418#define   C_0283A0_RIGHT_QTR                                          0x00FFFFFF
4419#define R_0283A4_PA_SC_LEFT_VERT_GRID                                   0x0283A4
4420#define   S_0283A4_LEFT_QTR(x)                                        (((unsigned)(x) & 0xFF) << 0)
4421#define   G_0283A4_LEFT_QTR(x)                                        (((x) >> 0) & 0xFF)
4422#define   C_0283A4_LEFT_QTR                                           0xFFFFFF00
4423#define   S_0283A4_LEFT_HALF(x)                                       (((unsigned)(x) & 0xFF) << 8)
4424#define   G_0283A4_LEFT_HALF(x)                                       (((x) >> 8) & 0xFF)
4425#define   C_0283A4_LEFT_HALF                                          0xFFFF00FF
4426#define   S_0283A4_RIGHT_HALF(x)                                      (((unsigned)(x) & 0xFF) << 16)
4427#define   G_0283A4_RIGHT_HALF(x)                                      (((x) >> 16) & 0xFF)
4428#define   C_0283A4_RIGHT_HALF                                         0xFF00FFFF
4429#define   S_0283A4_RIGHT_QTR(x)                                       (((unsigned)(x) & 0xFF) << 24)
4430#define   G_0283A4_RIGHT_QTR(x)                                       (((x) >> 24) & 0xFF)
4431#define   C_0283A4_RIGHT_QTR                                          0x00FFFFFF
4432#define R_0283A8_PA_SC_HORIZ_GRID                                       0x0283A8
4433#define   S_0283A8_TOP_QTR(x)                                         (((unsigned)(x) & 0xFF) << 0)
4434#define   G_0283A8_TOP_QTR(x)                                         (((x) >> 0) & 0xFF)
4435#define   C_0283A8_TOP_QTR                                            0xFFFFFF00
4436#define   S_0283A8_TOP_HALF(x)                                        (((unsigned)(x) & 0xFF) << 8)
4437#define   G_0283A8_TOP_HALF(x)                                        (((x) >> 8) & 0xFF)
4438#define   C_0283A8_TOP_HALF                                           0xFFFF00FF
4439#define   S_0283A8_BOT_HALF(x)                                        (((unsigned)(x) & 0xFF) << 16)
4440#define   G_0283A8_BOT_HALF(x)                                        (((x) >> 16) & 0xFF)
4441#define   C_0283A8_BOT_HALF                                           0xFF00FFFF
4442#define   S_0283A8_BOT_QTR(x)                                         (((unsigned)(x) & 0xFF) << 24)
4443#define   G_0283A8_BOT_QTR(x)                                         (((x) >> 24) & 0xFF)
4444#define   C_0283A8_BOT_QTR                                            0x00FFFFFF
4445#define R_02840C_VGT_MULTI_PRIM_IB_RESET_INDX                           0x02840C
4446#define R_028414_CB_BLEND_RED                                           0x028414
4447#define R_028418_CB_BLEND_GREEN                                         0x028418
4448#define R_02841C_CB_BLEND_BLUE                                          0x02841C
4449#define R_028420_CB_BLEND_ALPHA                                         0x028420
4450#define R_028424_CB_DCC_CONTROL                                         0x028424
4451#define   S_028424_OVERWRITE_COMBINER_DISABLE(x)                      (((unsigned)(x) & 0x1) << 0)
4452#define   G_028424_OVERWRITE_COMBINER_DISABLE(x)                      (((x) >> 0) & 0x1)
4453#define   C_028424_OVERWRITE_COMBINER_DISABLE                         0xFFFFFFFE
4454#define   S_028424_OVERWRITE_COMBINER_MRT_SHARING_DISABLE(x)          (((unsigned)(x) & 0x1) << 1)
4455#define   G_028424_OVERWRITE_COMBINER_MRT_SHARING_DISABLE(x)          (((x) >> 1) & 0x1)
4456#define   C_028424_OVERWRITE_COMBINER_MRT_SHARING_DISABLE             0xFFFFFFFD
4457#define   S_028424_OVERWRITE_COMBINER_WATERMARK(x)                    (((unsigned)(x) & 0x1F) << 2)
4458#define   G_028424_OVERWRITE_COMBINER_WATERMARK(x)                    (((x) >> 2) & 0x1F)
4459#define   C_028424_OVERWRITE_COMBINER_WATERMARK                       0xFFFFFF83
4460#define   S_028424_DISABLE_CONSTANT_ENCODE_REG(x)                     (((unsigned)(x) & 0x1) << 10) /* Raven2+ */
4461#define   G_028424_DISABLE_CONSTANT_ENCODE_REG(x)                     (((x) >> 10) & 0x1)
4462#define   C_028424_DISABLE_CONSTANT_ENCODE_REG                        0xFFFFFBFF
4463#define R_02842C_DB_STENCIL_CONTROL                                     0x02842C
4464#define   S_02842C_STENCILFAIL(x)                                     (((unsigned)(x) & 0x0F) << 0)
4465#define   G_02842C_STENCILFAIL(x)                                     (((x) >> 0) & 0x0F)
4466#define   C_02842C_STENCILFAIL                                        0xFFFFFFF0
4467#define   S_02842C_STENCILZPASS(x)                                    (((unsigned)(x) & 0x0F) << 4)
4468#define   G_02842C_STENCILZPASS(x)                                    (((x) >> 4) & 0x0F)
4469#define   C_02842C_STENCILZPASS                                       0xFFFFFF0F
4470#define   S_02842C_STENCILZFAIL(x)                                    (((unsigned)(x) & 0x0F) << 8)
4471#define   G_02842C_STENCILZFAIL(x)                                    (((x) >> 8) & 0x0F)
4472#define   C_02842C_STENCILZFAIL                                       0xFFFFF0FF
4473#define   S_02842C_STENCILFAIL_BF(x)                                  (((unsigned)(x) & 0x0F) << 12)
4474#define   G_02842C_STENCILFAIL_BF(x)                                  (((x) >> 12) & 0x0F)
4475#define   C_02842C_STENCILFAIL_BF                                     0xFFFF0FFF
4476#define   S_02842C_STENCILZPASS_BF(x)                                 (((unsigned)(x) & 0x0F) << 16)
4477#define   G_02842C_STENCILZPASS_BF(x)                                 (((x) >> 16) & 0x0F)
4478#define   C_02842C_STENCILZPASS_BF                                    0xFFF0FFFF
4479#define   S_02842C_STENCILZFAIL_BF(x)                                 (((unsigned)(x) & 0x0F) << 20)
4480#define   G_02842C_STENCILZFAIL_BF(x)                                 (((x) >> 20) & 0x0F)
4481#define   C_02842C_STENCILZFAIL_BF                                    0xFF0FFFFF
4482#define R_028430_DB_STENCILREFMASK                                      0x028430
4483#define   S_028430_STENCILTESTVAL(x)                                  (((unsigned)(x) & 0xFF) << 0)
4484#define   G_028430_STENCILTESTVAL(x)                                  (((x) >> 0) & 0xFF)
4485#define   C_028430_STENCILTESTVAL                                     0xFFFFFF00
4486#define   S_028430_STENCILMASK(x)                                     (((unsigned)(x) & 0xFF) << 8)
4487#define   G_028430_STENCILMASK(x)                                     (((x) >> 8) & 0xFF)
4488#define   C_028430_STENCILMASK                                        0xFFFF00FF
4489#define   S_028430_STENCILWRITEMASK(x)                                (((unsigned)(x) & 0xFF) << 16)
4490#define   G_028430_STENCILWRITEMASK(x)                                (((x) >> 16) & 0xFF)
4491#define   C_028430_STENCILWRITEMASK                                   0xFF00FFFF
4492#define   S_028430_STENCILOPVAL(x)                                    (((unsigned)(x) & 0xFF) << 24)
4493#define   G_028430_STENCILOPVAL(x)                                    (((x) >> 24) & 0xFF)
4494#define   C_028430_STENCILOPVAL                                       0x00FFFFFF
4495#define R_028434_DB_STENCILREFMASK_BF                                   0x028434
4496#define   S_028434_STENCILTESTVAL_BF(x)                               (((unsigned)(x) & 0xFF) << 0)
4497#define   G_028434_STENCILTESTVAL_BF(x)                               (((x) >> 0) & 0xFF)
4498#define   C_028434_STENCILTESTVAL_BF                                  0xFFFFFF00
4499#define   S_028434_STENCILMASK_BF(x)                                  (((unsigned)(x) & 0xFF) << 8)
4500#define   G_028434_STENCILMASK_BF(x)                                  (((x) >> 8) & 0xFF)
4501#define   C_028434_STENCILMASK_BF                                     0xFFFF00FF
4502#define   S_028434_STENCILWRITEMASK_BF(x)                             (((unsigned)(x) & 0xFF) << 16)
4503#define   G_028434_STENCILWRITEMASK_BF(x)                             (((x) >> 16) & 0xFF)
4504#define   C_028434_STENCILWRITEMASK_BF                                0xFF00FFFF
4505#define   S_028434_STENCILOPVAL_BF(x)                                 (((unsigned)(x) & 0xFF) << 24)
4506#define   G_028434_STENCILOPVAL_BF(x)                                 (((x) >> 24) & 0xFF)
4507#define   C_028434_STENCILOPVAL_BF                                    0x00FFFFFF
4508#define R_02843C_PA_CL_VPORT_XSCALE                                     0x02843C
4509#define R_028440_PA_CL_VPORT_XOFFSET                                    0x028440
4510#define R_028444_PA_CL_VPORT_YSCALE                                     0x028444
4511#define R_028448_PA_CL_VPORT_YOFFSET                                    0x028448
4512#define R_02844C_PA_CL_VPORT_ZSCALE                                     0x02844C
4513#define R_028450_PA_CL_VPORT_ZOFFSET                                    0x028450
4514#define R_028454_PA_CL_VPORT_XSCALE_1                                   0x028454
4515#define R_028458_PA_CL_VPORT_XOFFSET_1                                  0x028458
4516#define R_02845C_PA_CL_VPORT_YSCALE_1                                   0x02845C
4517#define R_028460_PA_CL_VPORT_YOFFSET_1                                  0x028460
4518#define R_028464_PA_CL_VPORT_ZSCALE_1                                   0x028464
4519#define R_028468_PA_CL_VPORT_ZOFFSET_1                                  0x028468
4520#define R_02846C_PA_CL_VPORT_XSCALE_2                                   0x02846C
4521#define R_028470_PA_CL_VPORT_XOFFSET_2                                  0x028470
4522#define R_028474_PA_CL_VPORT_YSCALE_2                                   0x028474
4523#define R_028478_PA_CL_VPORT_YOFFSET_2                                  0x028478
4524#define R_02847C_PA_CL_VPORT_ZSCALE_2                                   0x02847C
4525#define R_028480_PA_CL_VPORT_ZOFFSET_2                                  0x028480
4526#define R_028484_PA_CL_VPORT_XSCALE_3                                   0x028484
4527#define R_028488_PA_CL_VPORT_XOFFSET_3                                  0x028488
4528#define R_02848C_PA_CL_VPORT_YSCALE_3                                   0x02848C
4529#define R_028490_PA_CL_VPORT_YOFFSET_3                                  0x028490
4530#define R_028494_PA_CL_VPORT_ZSCALE_3                                   0x028494
4531#define R_028498_PA_CL_VPORT_ZOFFSET_3                                  0x028498
4532#define R_02849C_PA_CL_VPORT_XSCALE_4                                   0x02849C
4533#define R_0284A0_PA_CL_VPORT_XOFFSET_4                                  0x0284A0
4534#define R_0284A4_PA_CL_VPORT_YSCALE_4                                   0x0284A4
4535#define R_0284A8_PA_CL_VPORT_YOFFSET_4                                  0x0284A8
4536#define R_0284AC_PA_CL_VPORT_ZSCALE_4                                   0x0284AC
4537#define R_0284B0_PA_CL_VPORT_ZOFFSET_4                                  0x0284B0
4538#define R_0284B4_PA_CL_VPORT_XSCALE_5                                   0x0284B4
4539#define R_0284B8_PA_CL_VPORT_XOFFSET_5                                  0x0284B8
4540#define R_0284BC_PA_CL_VPORT_YSCALE_5                                   0x0284BC
4541#define R_0284C0_PA_CL_VPORT_YOFFSET_5                                  0x0284C0
4542#define R_0284C4_PA_CL_VPORT_ZSCALE_5                                   0x0284C4
4543#define R_0284C8_PA_CL_VPORT_ZOFFSET_5                                  0x0284C8
4544#define R_0284CC_PA_CL_VPORT_XSCALE_6                                   0x0284CC
4545#define R_0284D0_PA_CL_VPORT_XOFFSET_6                                  0x0284D0
4546#define R_0284D4_PA_CL_VPORT_YSCALE_6                                   0x0284D4
4547#define R_0284D8_PA_CL_VPORT_YOFFSET_6                                  0x0284D8
4548#define R_0284DC_PA_CL_VPORT_ZSCALE_6                                   0x0284DC
4549#define R_0284E0_PA_CL_VPORT_ZOFFSET_6                                  0x0284E0
4550#define R_0284E4_PA_CL_VPORT_XSCALE_7                                   0x0284E4
4551#define R_0284E8_PA_CL_VPORT_XOFFSET_7                                  0x0284E8
4552#define R_0284EC_PA_CL_VPORT_YSCALE_7                                   0x0284EC
4553#define R_0284F0_PA_CL_VPORT_YOFFSET_7                                  0x0284F0
4554#define R_0284F4_PA_CL_VPORT_ZSCALE_7                                   0x0284F4
4555#define R_0284F8_PA_CL_VPORT_ZOFFSET_7                                  0x0284F8
4556#define R_0284FC_PA_CL_VPORT_XSCALE_8                                   0x0284FC
4557#define R_028500_PA_CL_VPORT_XOFFSET_8                                  0x028500
4558#define R_028504_PA_CL_VPORT_YSCALE_8                                   0x028504
4559#define R_028508_PA_CL_VPORT_YOFFSET_8                                  0x028508
4560#define R_02850C_PA_CL_VPORT_ZSCALE_8                                   0x02850C
4561#define R_028510_PA_CL_VPORT_ZOFFSET_8                                  0x028510
4562#define R_028514_PA_CL_VPORT_XSCALE_9                                   0x028514
4563#define R_028518_PA_CL_VPORT_XOFFSET_9                                  0x028518
4564#define R_02851C_PA_CL_VPORT_YSCALE_9                                   0x02851C
4565#define R_028520_PA_CL_VPORT_YOFFSET_9                                  0x028520
4566#define R_028524_PA_CL_VPORT_ZSCALE_9                                   0x028524
4567#define R_028528_PA_CL_VPORT_ZOFFSET_9                                  0x028528
4568#define R_02852C_PA_CL_VPORT_XSCALE_10                                  0x02852C
4569#define R_028530_PA_CL_VPORT_XOFFSET_10                                 0x028530
4570#define R_028534_PA_CL_VPORT_YSCALE_10                                  0x028534
4571#define R_028538_PA_CL_VPORT_YOFFSET_10                                 0x028538
4572#define R_02853C_PA_CL_VPORT_ZSCALE_10                                  0x02853C
4573#define R_028540_PA_CL_VPORT_ZOFFSET_10                                 0x028540
4574#define R_028544_PA_CL_VPORT_XSCALE_11                                  0x028544
4575#define R_028548_PA_CL_VPORT_XOFFSET_11                                 0x028548
4576#define R_02854C_PA_CL_VPORT_YSCALE_11                                  0x02854C
4577#define R_028550_PA_CL_VPORT_YOFFSET_11                                 0x028550
4578#define R_028554_PA_CL_VPORT_ZSCALE_11                                  0x028554
4579#define R_028558_PA_CL_VPORT_ZOFFSET_11                                 0x028558
4580#define R_02855C_PA_CL_VPORT_XSCALE_12                                  0x02855C
4581#define R_028560_PA_CL_VPORT_XOFFSET_12                                 0x028560
4582#define R_028564_PA_CL_VPORT_YSCALE_12                                  0x028564
4583#define R_028568_PA_CL_VPORT_YOFFSET_12                                 0x028568
4584#define R_02856C_PA_CL_VPORT_ZSCALE_12                                  0x02856C
4585#define R_028570_PA_CL_VPORT_ZOFFSET_12                                 0x028570
4586#define R_028574_PA_CL_VPORT_XSCALE_13                                  0x028574
4587#define R_028578_PA_CL_VPORT_XOFFSET_13                                 0x028578
4588#define R_02857C_PA_CL_VPORT_YSCALE_13                                  0x02857C
4589#define R_028580_PA_CL_VPORT_YOFFSET_13                                 0x028580
4590#define R_028584_PA_CL_VPORT_ZSCALE_13                                  0x028584
4591#define R_028588_PA_CL_VPORT_ZOFFSET_13                                 0x028588
4592#define R_02858C_PA_CL_VPORT_XSCALE_14                                  0x02858C
4593#define R_028590_PA_CL_VPORT_XOFFSET_14                                 0x028590
4594#define R_028594_PA_CL_VPORT_YSCALE_14                                  0x028594
4595#define R_028598_PA_CL_VPORT_YOFFSET_14                                 0x028598
4596#define R_02859C_PA_CL_VPORT_ZSCALE_14                                  0x02859C
4597#define R_0285A0_PA_CL_VPORT_ZOFFSET_14                                 0x0285A0
4598#define R_0285A4_PA_CL_VPORT_XSCALE_15                                  0x0285A4
4599#define R_0285A8_PA_CL_VPORT_XOFFSET_15                                 0x0285A8
4600#define R_0285AC_PA_CL_VPORT_YSCALE_15                                  0x0285AC
4601#define R_0285B0_PA_CL_VPORT_YOFFSET_15                                 0x0285B0
4602#define R_0285B4_PA_CL_VPORT_ZSCALE_15                                  0x0285B4
4603#define R_0285B8_PA_CL_VPORT_ZOFFSET_15                                 0x0285B8
4604#define R_0285BC_PA_CL_UCP_0_X                                          0x0285BC
4605#define R_0285C0_PA_CL_UCP_0_Y                                          0x0285C0
4606#define R_0285C4_PA_CL_UCP_0_Z                                          0x0285C4
4607#define R_0285C8_PA_CL_UCP_0_W                                          0x0285C8
4608#define R_0285CC_PA_CL_UCP_1_X                                          0x0285CC
4609#define R_0285D0_PA_CL_UCP_1_Y                                          0x0285D0
4610#define R_0285D4_PA_CL_UCP_1_Z                                          0x0285D4
4611#define R_0285D8_PA_CL_UCP_1_W                                          0x0285D8
4612#define R_0285DC_PA_CL_UCP_2_X                                          0x0285DC
4613#define R_0285E0_PA_CL_UCP_2_Y                                          0x0285E0
4614#define R_0285E4_PA_CL_UCP_2_Z                                          0x0285E4
4615#define R_0285E8_PA_CL_UCP_2_W                                          0x0285E8
4616#define R_0285EC_PA_CL_UCP_3_X                                          0x0285EC
4617#define R_0285F0_PA_CL_UCP_3_Y                                          0x0285F0
4618#define R_0285F4_PA_CL_UCP_3_Z                                          0x0285F4
4619#define R_0285F8_PA_CL_UCP_3_W                                          0x0285F8
4620#define R_0285FC_PA_CL_UCP_4_X                                          0x0285FC
4621#define R_028600_PA_CL_UCP_4_Y                                          0x028600
4622#define R_028604_PA_CL_UCP_4_Z                                          0x028604
4623#define R_028608_PA_CL_UCP_4_W                                          0x028608
4624#define R_02860C_PA_CL_UCP_5_X                                          0x02860C
4625#define R_028610_PA_CL_UCP_5_Y                                          0x028610
4626#define R_028614_PA_CL_UCP_5_Z                                          0x028614
4627#define R_028618_PA_CL_UCP_5_W                                          0x028618
4628#define R_028644_SPI_PS_INPUT_CNTL_0                                    0x028644
4629#define   S_028644_OFFSET(x)                                          (((unsigned)(x) & 0x3F) << 0)
4630#define   G_028644_OFFSET(x)                                          (((x) >> 0) & 0x3F)
4631#define   C_028644_OFFSET                                             0xFFFFFFC0
4632#define   S_028644_DEFAULT_VAL(x)                                     (((unsigned)(x) & 0x03) << 8)
4633#define   G_028644_DEFAULT_VAL(x)                                     (((x) >> 8) & 0x03)
4634#define   C_028644_DEFAULT_VAL                                        0xFFFFFCFF
4635#define   S_028644_FLAT_SHADE(x)                                      (((unsigned)(x) & 0x1) << 10)
4636#define   G_028644_FLAT_SHADE(x)                                      (((x) >> 10) & 0x1)
4637#define   C_028644_FLAT_SHADE                                         0xFFFFFBFF
4638#define   S_028644_CYL_WRAP(x)                                        (((unsigned)(x) & 0x0F) << 13)
4639#define   G_028644_CYL_WRAP(x)                                        (((x) >> 13) & 0x0F)
4640#define   C_028644_CYL_WRAP                                           0xFFFE1FFF
4641#define   S_028644_PT_SPRITE_TEX(x)                                   (((unsigned)(x) & 0x1) << 17)
4642#define   G_028644_PT_SPRITE_TEX(x)                                   (((x) >> 17) & 0x1)
4643#define   C_028644_PT_SPRITE_TEX                                      0xFFFDFFFF
4644#define   S_028644_DUP(x)                                             (((unsigned)(x) & 0x1) << 18)
4645#define   G_028644_DUP(x)                                             (((x) >> 18) & 0x1)
4646#define   C_028644_DUP                                                0xFFFBFFFF
4647#define   S_028644_FP16_INTERP_MODE(x)                                (((unsigned)(x) & 0x1) << 19)
4648#define   G_028644_FP16_INTERP_MODE(x)                                (((x) >> 19) & 0x1)
4649#define   C_028644_FP16_INTERP_MODE                                   0xFFF7FFFF
4650#define   S_028644_USE_DEFAULT_ATTR1(x)                               (((unsigned)(x) & 0x1) << 20)
4651#define   G_028644_USE_DEFAULT_ATTR1(x)                               (((x) >> 20) & 0x1)
4652#define   C_028644_USE_DEFAULT_ATTR1                                  0xFFEFFFFF
4653#define   S_028644_DEFAULT_VAL_ATTR1(x)                               (((unsigned)(x) & 0x03) << 21)
4654#define   G_028644_DEFAULT_VAL_ATTR1(x)                               (((x) >> 21) & 0x03)
4655#define   C_028644_DEFAULT_VAL_ATTR1                                  0xFF9FFFFF
4656#define   S_028644_PT_SPRITE_TEX_ATTR1(x)                             (((unsigned)(x) & 0x1) << 23)
4657#define   G_028644_PT_SPRITE_TEX_ATTR1(x)                             (((x) >> 23) & 0x1)
4658#define   C_028644_PT_SPRITE_TEX_ATTR1                                0xFF7FFFFF
4659#define   S_028644_ATTR0_VALID(x)                                     (((unsigned)(x) & 0x1) << 24)
4660#define   G_028644_ATTR0_VALID(x)                                     (((x) >> 24) & 0x1)
4661#define   C_028644_ATTR0_VALID                                        0xFEFFFFFF
4662#define   S_028644_ATTR1_VALID(x)                                     (((unsigned)(x) & 0x1) << 25)
4663#define   G_028644_ATTR1_VALID(x)                                     (((x) >> 25) & 0x1)
4664#define   C_028644_ATTR1_VALID                                        0xFDFFFFFF
4665#define R_028648_SPI_PS_INPUT_CNTL_1                                    0x028648
4666#define R_02864C_SPI_PS_INPUT_CNTL_2                                    0x02864C
4667#define R_028650_SPI_PS_INPUT_CNTL_3                                    0x028650
4668#define R_028654_SPI_PS_INPUT_CNTL_4                                    0x028654
4669#define R_028658_SPI_PS_INPUT_CNTL_5                                    0x028658
4670#define R_02865C_SPI_PS_INPUT_CNTL_6                                    0x02865C
4671#define R_028660_SPI_PS_INPUT_CNTL_7                                    0x028660
4672#define R_028664_SPI_PS_INPUT_CNTL_8                                    0x028664
4673#define R_028668_SPI_PS_INPUT_CNTL_9                                    0x028668
4674#define R_02866C_SPI_PS_INPUT_CNTL_10                                   0x02866C
4675#define R_028670_SPI_PS_INPUT_CNTL_11                                   0x028670
4676#define R_028674_SPI_PS_INPUT_CNTL_12                                   0x028674
4677#define R_028678_SPI_PS_INPUT_CNTL_13                                   0x028678
4678#define R_02867C_SPI_PS_INPUT_CNTL_14                                   0x02867C
4679#define R_028680_SPI_PS_INPUT_CNTL_15                                   0x028680
4680#define R_028684_SPI_PS_INPUT_CNTL_16                                   0x028684
4681#define R_028688_SPI_PS_INPUT_CNTL_17                                   0x028688
4682#define R_02868C_SPI_PS_INPUT_CNTL_18                                   0x02868C
4683#define R_028690_SPI_PS_INPUT_CNTL_19                                   0x028690
4684#define R_028694_SPI_PS_INPUT_CNTL_20                                   0x028694
4685#define R_028698_SPI_PS_INPUT_CNTL_21                                   0x028698
4686#define R_02869C_SPI_PS_INPUT_CNTL_22                                   0x02869C
4687#define R_0286A0_SPI_PS_INPUT_CNTL_23                                   0x0286A0
4688#define R_0286A4_SPI_PS_INPUT_CNTL_24                                   0x0286A4
4689#define R_0286A8_SPI_PS_INPUT_CNTL_25                                   0x0286A8
4690#define R_0286AC_SPI_PS_INPUT_CNTL_26                                   0x0286AC
4691#define R_0286B0_SPI_PS_INPUT_CNTL_27                                   0x0286B0
4692#define R_0286B4_SPI_PS_INPUT_CNTL_28                                   0x0286B4
4693#define R_0286B8_SPI_PS_INPUT_CNTL_29                                   0x0286B8
4694#define R_0286BC_SPI_PS_INPUT_CNTL_30                                   0x0286BC
4695#define R_0286C0_SPI_PS_INPUT_CNTL_31                                   0x0286C0
4696#define R_0286C4_SPI_VS_OUT_CONFIG                                      0x0286C4
4697#define   S_0286C4_VS_EXPORT_COUNT(x)                                 (((unsigned)(x) & 0x1F) << 1)
4698#define   G_0286C4_VS_EXPORT_COUNT(x)                                 (((x) >> 1) & 0x1F)
4699#define   C_0286C4_VS_EXPORT_COUNT                                    0xFFFFFFC1
4700#define   S_0286C4_VS_HALF_PACK(x)                                    (((unsigned)(x) & 0x1) << 6)
4701#define   G_0286C4_VS_HALF_PACK(x)                                    (((x) >> 6) & 0x1)
4702#define   C_0286C4_VS_HALF_PACK                                       0xFFFFFFBF
4703#define R_0286CC_SPI_PS_INPUT_ENA                                       0x0286CC
4704#define   S_0286CC_PERSP_SAMPLE_ENA(x)                                (((unsigned)(x) & 0x1) << 0)
4705#define   G_0286CC_PERSP_SAMPLE_ENA(x)                                (((x) >> 0) & 0x1)
4706#define   C_0286CC_PERSP_SAMPLE_ENA                                   0xFFFFFFFE
4707#define   S_0286CC_PERSP_CENTER_ENA(x)                                (((unsigned)(x) & 0x1) << 1)
4708#define   G_0286CC_PERSP_CENTER_ENA(x)                                (((x) >> 1) & 0x1)
4709#define   C_0286CC_PERSP_CENTER_ENA                                   0xFFFFFFFD
4710#define   S_0286CC_PERSP_CENTROID_ENA(x)                              (((unsigned)(x) & 0x1) << 2)
4711#define   G_0286CC_PERSP_CENTROID_ENA(x)                              (((x) >> 2) & 0x1)
4712#define   C_0286CC_PERSP_CENTROID_ENA                                 0xFFFFFFFB
4713#define   S_0286CC_PERSP_PULL_MODEL_ENA(x)                            (((unsigned)(x) & 0x1) << 3)
4714#define   G_0286CC_PERSP_PULL_MODEL_ENA(x)                            (((x) >> 3) & 0x1)
4715#define   C_0286CC_PERSP_PULL_MODEL_ENA                               0xFFFFFFF7
4716#define   S_0286CC_LINEAR_SAMPLE_ENA(x)                               (((unsigned)(x) & 0x1) << 4)
4717#define   G_0286CC_LINEAR_SAMPLE_ENA(x)                               (((x) >> 4) & 0x1)
4718#define   C_0286CC_LINEAR_SAMPLE_ENA                                  0xFFFFFFEF
4719#define   S_0286CC_LINEAR_CENTER_ENA(x)                               (((unsigned)(x) & 0x1) << 5)
4720#define   G_0286CC_LINEAR_CENTER_ENA(x)                               (((x) >> 5) & 0x1)
4721#define   C_0286CC_LINEAR_CENTER_ENA                                  0xFFFFFFDF
4722#define   S_0286CC_LINEAR_CENTROID_ENA(x)                             (((unsigned)(x) & 0x1) << 6)
4723#define   G_0286CC_LINEAR_CENTROID_ENA(x)                             (((x) >> 6) & 0x1)
4724#define   C_0286CC_LINEAR_CENTROID_ENA                                0xFFFFFFBF
4725#define   S_0286CC_LINE_STIPPLE_TEX_ENA(x)                            (((unsigned)(x) & 0x1) << 7)
4726#define   G_0286CC_LINE_STIPPLE_TEX_ENA(x)                            (((x) >> 7) & 0x1)
4727#define   C_0286CC_LINE_STIPPLE_TEX_ENA                               0xFFFFFF7F
4728#define   S_0286CC_POS_X_FLOAT_ENA(x)                                 (((unsigned)(x) & 0x1) << 8)
4729#define   G_0286CC_POS_X_FLOAT_ENA(x)                                 (((x) >> 8) & 0x1)
4730#define   C_0286CC_POS_X_FLOAT_ENA                                    0xFFFFFEFF
4731#define   S_0286CC_POS_Y_FLOAT_ENA(x)                                 (((unsigned)(x) & 0x1) << 9)
4732#define   G_0286CC_POS_Y_FLOAT_ENA(x)                                 (((x) >> 9) & 0x1)
4733#define   C_0286CC_POS_Y_FLOAT_ENA                                    0xFFFFFDFF
4734#define   S_0286CC_POS_Z_FLOAT_ENA(x)                                 (((unsigned)(x) & 0x1) << 10)
4735#define   G_0286CC_POS_Z_FLOAT_ENA(x)                                 (((x) >> 10) & 0x1)
4736#define   C_0286CC_POS_Z_FLOAT_ENA                                    0xFFFFFBFF
4737#define   S_0286CC_POS_W_FLOAT_ENA(x)                                 (((unsigned)(x) & 0x1) << 11)
4738#define   G_0286CC_POS_W_FLOAT_ENA(x)                                 (((x) >> 11) & 0x1)
4739#define   C_0286CC_POS_W_FLOAT_ENA                                    0xFFFFF7FF
4740#define   S_0286CC_FRONT_FACE_ENA(x)                                  (((unsigned)(x) & 0x1) << 12)
4741#define   G_0286CC_FRONT_FACE_ENA(x)                                  (((x) >> 12) & 0x1)
4742#define   C_0286CC_FRONT_FACE_ENA                                     0xFFFFEFFF
4743#define   S_0286CC_ANCILLARY_ENA(x)                                   (((unsigned)(x) & 0x1) << 13)
4744#define   G_0286CC_ANCILLARY_ENA(x)                                   (((x) >> 13) & 0x1)
4745#define   C_0286CC_ANCILLARY_ENA                                      0xFFFFDFFF
4746#define   S_0286CC_SAMPLE_COVERAGE_ENA(x)                             (((unsigned)(x) & 0x1) << 14)
4747#define   G_0286CC_SAMPLE_COVERAGE_ENA(x)                             (((x) >> 14) & 0x1)
4748#define   C_0286CC_SAMPLE_COVERAGE_ENA                                0xFFFFBFFF
4749#define   S_0286CC_POS_FIXED_PT_ENA(x)                                (((unsigned)(x) & 0x1) << 15)
4750#define   G_0286CC_POS_FIXED_PT_ENA(x)                                (((x) >> 15) & 0x1)
4751#define   C_0286CC_POS_FIXED_PT_ENA                                   0xFFFF7FFF
4752#define R_0286D0_SPI_PS_INPUT_ADDR                                      0x0286D0
4753#define   S_0286D0_PERSP_SAMPLE_ENA(x)                                (((unsigned)(x) & 0x1) << 0)
4754#define   G_0286D0_PERSP_SAMPLE_ENA(x)                                (((x) >> 0) & 0x1)
4755#define   C_0286D0_PERSP_SAMPLE_ENA                                   0xFFFFFFFE
4756#define   S_0286D0_PERSP_CENTER_ENA(x)                                (((unsigned)(x) & 0x1) << 1)
4757#define   G_0286D0_PERSP_CENTER_ENA(x)                                (((x) >> 1) & 0x1)
4758#define   C_0286D0_PERSP_CENTER_ENA                                   0xFFFFFFFD
4759#define   S_0286D0_PERSP_CENTROID_ENA(x)                              (((unsigned)(x) & 0x1) << 2)
4760#define   G_0286D0_PERSP_CENTROID_ENA(x)                              (((x) >> 2) & 0x1)
4761#define   C_0286D0_PERSP_CENTROID_ENA                                 0xFFFFFFFB
4762#define   S_0286D0_PERSP_PULL_MODEL_ENA(x)                            (((unsigned)(x) & 0x1) << 3)
4763#define   G_0286D0_PERSP_PULL_MODEL_ENA(x)                            (((x) >> 3) & 0x1)
4764#define   C_0286D0_PERSP_PULL_MODEL_ENA                               0xFFFFFFF7
4765#define   S_0286D0_LINEAR_SAMPLE_ENA(x)                               (((unsigned)(x) & 0x1) << 4)
4766#define   G_0286D0_LINEAR_SAMPLE_ENA(x)                               (((x) >> 4) & 0x1)
4767#define   C_0286D0_LINEAR_SAMPLE_ENA                                  0xFFFFFFEF
4768#define   S_0286D0_LINEAR_CENTER_ENA(x)                               (((unsigned)(x) & 0x1) << 5)
4769#define   G_0286D0_LINEAR_CENTER_ENA(x)                               (((x) >> 5) & 0x1)
4770#define   C_0286D0_LINEAR_CENTER_ENA                                  0xFFFFFFDF
4771#define   S_0286D0_LINEAR_CENTROID_ENA(x)                             (((unsigned)(x) & 0x1) << 6)
4772#define   G_0286D0_LINEAR_CENTROID_ENA(x)                             (((x) >> 6) & 0x1)
4773#define   C_0286D0_LINEAR_CENTROID_ENA                                0xFFFFFFBF
4774#define   S_0286D0_LINE_STIPPLE_TEX_ENA(x)                            (((unsigned)(x) & 0x1) << 7)
4775#define   G_0286D0_LINE_STIPPLE_TEX_ENA(x)                            (((x) >> 7) & 0x1)
4776#define   C_0286D0_LINE_STIPPLE_TEX_ENA                               0xFFFFFF7F
4777#define   S_0286D0_POS_X_FLOAT_ENA(x)                                 (((unsigned)(x) & 0x1) << 8)
4778#define   G_0286D0_POS_X_FLOAT_ENA(x)                                 (((x) >> 8) & 0x1)
4779#define   C_0286D0_POS_X_FLOAT_ENA                                    0xFFFFFEFF
4780#define   S_0286D0_POS_Y_FLOAT_ENA(x)                                 (((unsigned)(x) & 0x1) << 9)
4781#define   G_0286D0_POS_Y_FLOAT_ENA(x)                                 (((x) >> 9) & 0x1)
4782#define   C_0286D0_POS_Y_FLOAT_ENA                                    0xFFFFFDFF
4783#define   S_0286D0_POS_Z_FLOAT_ENA(x)                                 (((unsigned)(x) & 0x1) << 10)
4784#define   G_0286D0_POS_Z_FLOAT_ENA(x)                                 (((x) >> 10) & 0x1)
4785#define   C_0286D0_POS_Z_FLOAT_ENA                                    0xFFFFFBFF
4786#define   S_0286D0_POS_W_FLOAT_ENA(x)                                 (((unsigned)(x) & 0x1) << 11)
4787#define   G_0286D0_POS_W_FLOAT_ENA(x)                                 (((x) >> 11) & 0x1)
4788#define   C_0286D0_POS_W_FLOAT_ENA                                    0xFFFFF7FF
4789#define   S_0286D0_FRONT_FACE_ENA(x)                                  (((unsigned)(x) & 0x1) << 12)
4790#define   G_0286D0_FRONT_FACE_ENA(x)                                  (((x) >> 12) & 0x1)
4791#define   C_0286D0_FRONT_FACE_ENA                                     0xFFFFEFFF
4792#define   S_0286D0_ANCILLARY_ENA(x)                                   (((unsigned)(x) & 0x1) << 13)
4793#define   G_0286D0_ANCILLARY_ENA(x)                                   (((x) >> 13) & 0x1)
4794#define   C_0286D0_ANCILLARY_ENA                                      0xFFFFDFFF
4795#define   S_0286D0_SAMPLE_COVERAGE_ENA(x)                             (((unsigned)(x) & 0x1) << 14)
4796#define   G_0286D0_SAMPLE_COVERAGE_ENA(x)                             (((x) >> 14) & 0x1)
4797#define   C_0286D0_SAMPLE_COVERAGE_ENA                                0xFFFFBFFF
4798#define   S_0286D0_POS_FIXED_PT_ENA(x)                                (((unsigned)(x) & 0x1) << 15)
4799#define   G_0286D0_POS_FIXED_PT_ENA(x)                                (((x) >> 15) & 0x1)
4800#define   C_0286D0_POS_FIXED_PT_ENA                                   0xFFFF7FFF
4801#define R_0286D4_SPI_INTERP_CONTROL_0                                   0x0286D4
4802#define   S_0286D4_FLAT_SHADE_ENA(x)                                  (((unsigned)(x) & 0x1) << 0)
4803#define   G_0286D4_FLAT_SHADE_ENA(x)                                  (((x) >> 0) & 0x1)
4804#define   C_0286D4_FLAT_SHADE_ENA                                     0xFFFFFFFE
4805#define   S_0286D4_PNT_SPRITE_ENA(x)                                  (((unsigned)(x) & 0x1) << 1)
4806#define   G_0286D4_PNT_SPRITE_ENA(x)                                  (((x) >> 1) & 0x1)
4807#define   C_0286D4_PNT_SPRITE_ENA                                     0xFFFFFFFD
4808#define   S_0286D4_PNT_SPRITE_OVRD_X(x)                               (((unsigned)(x) & 0x07) << 2)
4809#define   G_0286D4_PNT_SPRITE_OVRD_X(x)                               (((x) >> 2) & 0x07)
4810#define   C_0286D4_PNT_SPRITE_OVRD_X                                  0xFFFFFFE3
4811#define   S_0286D4_PNT_SPRITE_OVRD_Y(x)                               (((unsigned)(x) & 0x07) << 5)
4812#define   G_0286D4_PNT_SPRITE_OVRD_Y(x)                               (((x) >> 5) & 0x07)
4813#define   C_0286D4_PNT_SPRITE_OVRD_Y                                  0xFFFFFF1F
4814#define   S_0286D4_PNT_SPRITE_OVRD_Z(x)                               (((unsigned)(x) & 0x07) << 8)
4815#define   G_0286D4_PNT_SPRITE_OVRD_Z(x)                               (((x) >> 8) & 0x07)
4816#define   C_0286D4_PNT_SPRITE_OVRD_Z                                  0xFFFFF8FF
4817#define   S_0286D4_PNT_SPRITE_OVRD_W(x)                               (((unsigned)(x) & 0x07) << 11)
4818#define   G_0286D4_PNT_SPRITE_OVRD_W(x)                               (((x) >> 11) & 0x07)
4819#define   C_0286D4_PNT_SPRITE_OVRD_W                                  0xFFFFC7FF
4820#define   S_0286D4_PNT_SPRITE_TOP_1(x)                                (((unsigned)(x) & 0x1) << 14)
4821#define   G_0286D4_PNT_SPRITE_TOP_1(x)                                (((x) >> 14) & 0x1)
4822#define   C_0286D4_PNT_SPRITE_TOP_1                                   0xFFFFBFFF
4823#define R_0286D8_SPI_PS_IN_CONTROL                                      0x0286D8
4824#define   S_0286D8_NUM_INTERP(x)                                      (((unsigned)(x) & 0x3F) << 0)
4825#define   G_0286D8_NUM_INTERP(x)                                      (((x) >> 0) & 0x3F)
4826#define   C_0286D8_NUM_INTERP                                         0xFFFFFFC0
4827#define   S_0286D8_PARAM_GEN(x)                                       (((unsigned)(x) & 0x1) << 6)
4828#define   G_0286D8_PARAM_GEN(x)                                       (((x) >> 6) & 0x1)
4829#define   C_0286D8_PARAM_GEN                                          0xFFFFFFBF
4830#define   S_0286D8_OFFCHIP_PARAM_EN(x)                                (((unsigned)(x) & 0x1) << 7)
4831#define   G_0286D8_OFFCHIP_PARAM_EN(x)                                (((x) >> 7) & 0x1)
4832#define   C_0286D8_OFFCHIP_PARAM_EN                                   0xFFFFFF7F
4833#define   S_0286D8_LATE_PC_DEALLOC(x)                                 (((unsigned)(x) & 0x1) << 8)
4834#define   G_0286D8_LATE_PC_DEALLOC(x)                                 (((x) >> 8) & 0x1)
4835#define   C_0286D8_LATE_PC_DEALLOC                                    0xFFFFFEFF
4836#define   S_0286D8_BC_OPTIMIZE_DISABLE(x)                             (((unsigned)(x) & 0x1) << 14)
4837#define   G_0286D8_BC_OPTIMIZE_DISABLE(x)                             (((x) >> 14) & 0x1)
4838#define   C_0286D8_BC_OPTIMIZE_DISABLE                                0xFFFFBFFF
4839#define R_0286E0_SPI_BARYC_CNTL                                         0x0286E0
4840#define   S_0286E0_PERSP_CENTER_CNTL(x)                               (((unsigned)(x) & 0x1) << 0)
4841#define   G_0286E0_PERSP_CENTER_CNTL(x)                               (((x) >> 0) & 0x1)
4842#define   C_0286E0_PERSP_CENTER_CNTL                                  0xFFFFFFFE
4843#define   S_0286E0_PERSP_CENTROID_CNTL(x)                             (((unsigned)(x) & 0x1) << 4)
4844#define   G_0286E0_PERSP_CENTROID_CNTL(x)                             (((x) >> 4) & 0x1)
4845#define   C_0286E0_PERSP_CENTROID_CNTL                                0xFFFFFFEF
4846#define   S_0286E0_LINEAR_CENTER_CNTL(x)                              (((unsigned)(x) & 0x1) << 8)
4847#define   G_0286E0_LINEAR_CENTER_CNTL(x)                              (((x) >> 8) & 0x1)
4848#define   C_0286E0_LINEAR_CENTER_CNTL                                 0xFFFFFEFF
4849#define   S_0286E0_LINEAR_CENTROID_CNTL(x)                            (((unsigned)(x) & 0x1) << 12)
4850#define   G_0286E0_LINEAR_CENTROID_CNTL(x)                            (((x) >> 12) & 0x1)
4851#define   C_0286E0_LINEAR_CENTROID_CNTL                               0xFFFFEFFF
4852#define   S_0286E0_POS_FLOAT_LOCATION(x)                              (((unsigned)(x) & 0x03) << 16)
4853#define   G_0286E0_POS_FLOAT_LOCATION(x)                              (((x) >> 16) & 0x03)
4854#define   C_0286E0_POS_FLOAT_LOCATION                                 0xFFFCFFFF
4855#define   S_0286E0_POS_FLOAT_ULC(x)                                   (((unsigned)(x) & 0x1) << 20)
4856#define   G_0286E0_POS_FLOAT_ULC(x)                                   (((x) >> 20) & 0x1)
4857#define   C_0286E0_POS_FLOAT_ULC                                      0xFFEFFFFF
4858#define   S_0286E0_FRONT_FACE_ALL_BITS(x)                             (((unsigned)(x) & 0x1) << 24)
4859#define   G_0286E0_FRONT_FACE_ALL_BITS(x)                             (((x) >> 24) & 0x1)
4860#define   C_0286E0_FRONT_FACE_ALL_BITS                                0xFEFFFFFF
4861#define R_0286E8_SPI_TMPRING_SIZE                                       0x0286E8
4862#define   S_0286E8_WAVES(x)                                           (((unsigned)(x) & 0xFFF) << 0)
4863#define   G_0286E8_WAVES(x)                                           (((x) >> 0) & 0xFFF)
4864#define   C_0286E8_WAVES                                              0xFFFFF000
4865#define   S_0286E8_WAVESIZE(x)                                        (((unsigned)(x) & 0x1FFF) << 12)
4866#define   G_0286E8_WAVESIZE(x)                                        (((x) >> 12) & 0x1FFF)
4867#define   C_0286E8_WAVESIZE                                           0xFE000FFF
4868#define R_02870C_SPI_SHADER_POS_FORMAT                                  0x02870C
4869#define   S_02870C_POS0_EXPORT_FORMAT(x)                              (((unsigned)(x) & 0x0F) << 0)
4870#define   G_02870C_POS0_EXPORT_FORMAT(x)                              (((x) >> 0) & 0x0F)
4871#define   C_02870C_POS0_EXPORT_FORMAT                                 0xFFFFFFF0
4872#define   S_02870C_POS1_EXPORT_FORMAT(x)                              (((unsigned)(x) & 0x0F) << 4)
4873#define   G_02870C_POS1_EXPORT_FORMAT(x)                              (((x) >> 4) & 0x0F)
4874#define   C_02870C_POS1_EXPORT_FORMAT                                 0xFFFFFF0F
4875#define   S_02870C_POS2_EXPORT_FORMAT(x)                              (((unsigned)(x) & 0x0F) << 8)
4876#define   G_02870C_POS2_EXPORT_FORMAT(x)                              (((x) >> 8) & 0x0F)
4877#define   C_02870C_POS2_EXPORT_FORMAT                                 0xFFFFF0FF
4878#define   S_02870C_POS3_EXPORT_FORMAT(x)                              (((unsigned)(x) & 0x0F) << 12)
4879#define   G_02870C_POS3_EXPORT_FORMAT(x)                              (((x) >> 12) & 0x0F)
4880#define   C_02870C_POS3_EXPORT_FORMAT                                 0xFFFF0FFF
4881#define R_028710_SPI_SHADER_Z_FORMAT                                    0x028710
4882#define   S_028710_Z_EXPORT_FORMAT(x)                                 (((unsigned)(x) & 0x0F) << 0)
4883#define   G_028710_Z_EXPORT_FORMAT(x)                                 (((x) >> 0) & 0x0F)
4884#define   C_028710_Z_EXPORT_FORMAT                                    0xFFFFFFF0
4885#define R_028714_SPI_SHADER_COL_FORMAT                                  0x028714
4886#define   S_028714_COL0_EXPORT_FORMAT(x)                              (((unsigned)(x) & 0x0F) << 0)
4887#define   G_028714_COL0_EXPORT_FORMAT(x)                              (((x) >> 0) & 0x0F)
4888#define   C_028714_COL0_EXPORT_FORMAT                                 0xFFFFFFF0
4889#define   S_028714_COL1_EXPORT_FORMAT(x)                              (((unsigned)(x) & 0x0F) << 4)
4890#define   G_028714_COL1_EXPORT_FORMAT(x)                              (((x) >> 4) & 0x0F)
4891#define   C_028714_COL1_EXPORT_FORMAT                                 0xFFFFFF0F
4892#define   S_028714_COL2_EXPORT_FORMAT(x)                              (((unsigned)(x) & 0x0F) << 8)
4893#define   G_028714_COL2_EXPORT_FORMAT(x)                              (((x) >> 8) & 0x0F)
4894#define   C_028714_COL2_EXPORT_FORMAT                                 0xFFFFF0FF
4895#define   S_028714_COL3_EXPORT_FORMAT(x)                              (((unsigned)(x) & 0x0F) << 12)
4896#define   G_028714_COL3_EXPORT_FORMAT(x)                              (((x) >> 12) & 0x0F)
4897#define   C_028714_COL3_EXPORT_FORMAT                                 0xFFFF0FFF
4898#define   S_028714_COL4_EXPORT_FORMAT(x)                              (((unsigned)(x) & 0x0F) << 16)
4899#define   G_028714_COL4_EXPORT_FORMAT(x)                              (((x) >> 16) & 0x0F)
4900#define   C_028714_COL4_EXPORT_FORMAT                                 0xFFF0FFFF
4901#define   S_028714_COL5_EXPORT_FORMAT(x)                              (((unsigned)(x) & 0x0F) << 20)
4902#define   G_028714_COL5_EXPORT_FORMAT(x)                              (((x) >> 20) & 0x0F)
4903#define   C_028714_COL5_EXPORT_FORMAT                                 0xFF0FFFFF
4904#define   S_028714_COL6_EXPORT_FORMAT(x)                              (((unsigned)(x) & 0x0F) << 24)
4905#define   G_028714_COL6_EXPORT_FORMAT(x)                              (((x) >> 24) & 0x0F)
4906#define   C_028714_COL6_EXPORT_FORMAT                                 0xF0FFFFFF
4907#define   S_028714_COL7_EXPORT_FORMAT(x)                              (((unsigned)(x) & 0x0F) << 28)
4908#define   G_028714_COL7_EXPORT_FORMAT(x)                              (((x) >> 28) & 0x0F)
4909#define   C_028714_COL7_EXPORT_FORMAT                                 0x0FFFFFFF
4910#define R_028754_SX_PS_DOWNCONVERT                                      0x028754
4911#define   S_028754_MRT0(x)                                            (((unsigned)(x) & 0x0F) << 0)
4912#define   G_028754_MRT0(x)                                            (((x) >> 0) & 0x0F)
4913#define   C_028754_MRT0                                               0xFFFFFFF0
4914#define   S_028754_MRT1(x)                                            (((unsigned)(x) & 0x0F) << 4)
4915#define   G_028754_MRT1(x)                                            (((x) >> 4) & 0x0F)
4916#define   C_028754_MRT1                                               0xFFFFFF0F
4917#define   S_028754_MRT2(x)                                            (((unsigned)(x) & 0x0F) << 8)
4918#define   G_028754_MRT2(x)                                            (((x) >> 8) & 0x0F)
4919#define   C_028754_MRT2                                               0xFFFFF0FF
4920#define   S_028754_MRT3(x)                                            (((unsigned)(x) & 0x0F) << 12)
4921#define   G_028754_MRT3(x)                                            (((x) >> 12) & 0x0F)
4922#define   C_028754_MRT3                                               0xFFFF0FFF
4923#define   S_028754_MRT4(x)                                            (((unsigned)(x) & 0x0F) << 16)
4924#define   G_028754_MRT4(x)                                            (((x) >> 16) & 0x0F)
4925#define   C_028754_MRT4                                               0xFFF0FFFF
4926#define   S_028754_MRT5(x)                                            (((unsigned)(x) & 0x0F) << 20)
4927#define   G_028754_MRT5(x)                                            (((x) >> 20) & 0x0F)
4928#define   C_028754_MRT5                                               0xFF0FFFFF
4929#define   S_028754_MRT6(x)                                            (((unsigned)(x) & 0x0F) << 24)
4930#define   G_028754_MRT6(x)                                            (((x) >> 24) & 0x0F)
4931#define   C_028754_MRT6                                               0xF0FFFFFF
4932#define   S_028754_MRT7(x)                                            (((unsigned)(x) & 0x0F) << 28)
4933#define   G_028754_MRT7(x)                                            (((x) >> 28) & 0x0F)
4934#define   C_028754_MRT7                                               0x0FFFFFFF
4935#define R_028758_SX_BLEND_OPT_EPSILON                                   0x028758
4936#define   S_028758_MRT0_EPSILON(x)                                    (((unsigned)(x) & 0x0F) << 0)
4937#define   G_028758_MRT0_EPSILON(x)                                    (((x) >> 0) & 0x0F)
4938#define   C_028758_MRT0_EPSILON                                       0xFFFFFFF0
4939#define   S_028758_MRT1_EPSILON(x)                                    (((unsigned)(x) & 0x0F) << 4)
4940#define   G_028758_MRT1_EPSILON(x)                                    (((x) >> 4) & 0x0F)
4941#define   C_028758_MRT1_EPSILON                                       0xFFFFFF0F
4942#define   S_028758_MRT2_EPSILON(x)                                    (((unsigned)(x) & 0x0F) << 8)
4943#define   G_028758_MRT2_EPSILON(x)                                    (((x) >> 8) & 0x0F)
4944#define   C_028758_MRT2_EPSILON                                       0xFFFFF0FF
4945#define   S_028758_MRT3_EPSILON(x)                                    (((unsigned)(x) & 0x0F) << 12)
4946#define   G_028758_MRT3_EPSILON(x)                                    (((x) >> 12) & 0x0F)
4947#define   C_028758_MRT3_EPSILON                                       0xFFFF0FFF
4948#define   S_028758_MRT4_EPSILON(x)                                    (((unsigned)(x) & 0x0F) << 16)
4949#define   G_028758_MRT4_EPSILON(x)                                    (((x) >> 16) & 0x0F)
4950#define   C_028758_MRT4_EPSILON                                       0xFFF0FFFF
4951#define   S_028758_MRT5_EPSILON(x)                                    (((unsigned)(x) & 0x0F) << 20)
4952#define   G_028758_MRT5_EPSILON(x)                                    (((x) >> 20) & 0x0F)
4953#define   C_028758_MRT5_EPSILON                                       0xFF0FFFFF
4954#define   S_028758_MRT6_EPSILON(x)                                    (((unsigned)(x) & 0x0F) << 24)
4955#define   G_028758_MRT6_EPSILON(x)                                    (((x) >> 24) & 0x0F)
4956#define   C_028758_MRT6_EPSILON                                       0xF0FFFFFF
4957#define   S_028758_MRT7_EPSILON(x)                                    (((unsigned)(x) & 0x0F) << 28)
4958#define   G_028758_MRT7_EPSILON(x)                                    (((x) >> 28) & 0x0F)
4959#define   C_028758_MRT7_EPSILON                                       0x0FFFFFFF
4960#define R_02875C_SX_BLEND_OPT_CONTROL                                   0x02875C
4961#define   S_02875C_MRT0_COLOR_OPT_DISABLE(x)                          (((unsigned)(x) & 0x1) << 0)
4962#define   G_02875C_MRT0_COLOR_OPT_DISABLE(x)                          (((x) >> 0) & 0x1)
4963#define   C_02875C_MRT0_COLOR_OPT_DISABLE                             0xFFFFFFFE
4964#define   S_02875C_MRT0_ALPHA_OPT_DISABLE(x)                          (((unsigned)(x) & 0x1) << 1)
4965#define   G_02875C_MRT0_ALPHA_OPT_DISABLE(x)                          (((x) >> 1) & 0x1)
4966#define   C_02875C_MRT0_ALPHA_OPT_DISABLE                             0xFFFFFFFD
4967#define   S_02875C_MRT1_COLOR_OPT_DISABLE(x)                          (((unsigned)(x) & 0x1) << 4)
4968#define   G_02875C_MRT1_COLOR_OPT_DISABLE(x)                          (((x) >> 4) & 0x1)
4969#define   C_02875C_MRT1_COLOR_OPT_DISABLE                             0xFFFFFFEF
4970#define   S_02875C_MRT1_ALPHA_OPT_DISABLE(x)                          (((unsigned)(x) & 0x1) << 5)
4971#define   G_02875C_MRT1_ALPHA_OPT_DISABLE(x)                          (((x) >> 5) & 0x1)
4972#define   C_02875C_MRT1_ALPHA_OPT_DISABLE                             0xFFFFFFDF
4973#define   S_02875C_MRT2_COLOR_OPT_DISABLE(x)                          (((unsigned)(x) & 0x1) << 8)
4974#define   G_02875C_MRT2_COLOR_OPT_DISABLE(x)                          (((x) >> 8) & 0x1)
4975#define   C_02875C_MRT2_COLOR_OPT_DISABLE                             0xFFFFFEFF
4976#define   S_02875C_MRT2_ALPHA_OPT_DISABLE(x)                          (((unsigned)(x) & 0x1) << 9)
4977#define   G_02875C_MRT2_ALPHA_OPT_DISABLE(x)                          (((x) >> 9) & 0x1)
4978#define   C_02875C_MRT2_ALPHA_OPT_DISABLE                             0xFFFFFDFF
4979#define   S_02875C_MRT3_COLOR_OPT_DISABLE(x)                          (((unsigned)(x) & 0x1) << 12)
4980#define   G_02875C_MRT3_COLOR_OPT_DISABLE(x)                          (((x) >> 12) & 0x1)
4981#define   C_02875C_MRT3_COLOR_OPT_DISABLE                             0xFFFFEFFF
4982#define   S_02875C_MRT3_ALPHA_OPT_DISABLE(x)                          (((unsigned)(x) & 0x1) << 13)
4983#define   G_02875C_MRT3_ALPHA_OPT_DISABLE(x)                          (((x) >> 13) & 0x1)
4984#define   C_02875C_MRT3_ALPHA_OPT_DISABLE                             0xFFFFDFFF
4985#define   S_02875C_MRT4_COLOR_OPT_DISABLE(x)                          (((unsigned)(x) & 0x1) << 16)
4986#define   G_02875C_MRT4_COLOR_OPT_DISABLE(x)                          (((x) >> 16) & 0x1)
4987#define   C_02875C_MRT4_COLOR_OPT_DISABLE                             0xFFFEFFFF
4988#define   S_02875C_MRT4_ALPHA_OPT_DISABLE(x)                          (((unsigned)(x) & 0x1) << 17)
4989#define   G_02875C_MRT4_ALPHA_OPT_DISABLE(x)                          (((x) >> 17) & 0x1)
4990#define   C_02875C_MRT4_ALPHA_OPT_DISABLE                             0xFFFDFFFF
4991#define   S_02875C_MRT5_COLOR_OPT_DISABLE(x)                          (((unsigned)(x) & 0x1) << 20)
4992#define   G_02875C_MRT5_COLOR_OPT_DISABLE(x)                          (((x) >> 20) & 0x1)
4993#define   C_02875C_MRT5_COLOR_OPT_DISABLE                             0xFFEFFFFF
4994#define   S_02875C_MRT5_ALPHA_OPT_DISABLE(x)                          (((unsigned)(x) & 0x1) << 21)
4995#define   G_02875C_MRT5_ALPHA_OPT_DISABLE(x)                          (((x) >> 21) & 0x1)
4996#define   C_02875C_MRT5_ALPHA_OPT_DISABLE                             0xFFDFFFFF
4997#define   S_02875C_MRT6_COLOR_OPT_DISABLE(x)                          (((unsigned)(x) & 0x1) << 24)
4998#define   G_02875C_MRT6_COLOR_OPT_DISABLE(x)                          (((x) >> 24) & 0x1)
4999#define   C_02875C_MRT6_COLOR_OPT_DISABLE                             0xFEFFFFFF
5000#define   S_02875C_MRT6_ALPHA_OPT_DISABLE(x)                          (((unsigned)(x) & 0x1) << 25)
5001#define   G_02875C_MRT6_ALPHA_OPT_DISABLE(x)                          (((x) >> 25) & 0x1)
5002#define   C_02875C_MRT6_ALPHA_OPT_DISABLE                             0xFDFFFFFF
5003#define   S_02875C_MRT7_COLOR_OPT_DISABLE(x)                          (((unsigned)(x) & 0x1) << 28)
5004#define   G_02875C_MRT7_COLOR_OPT_DISABLE(x)                          (((x) >> 28) & 0x1)
5005#define   C_02875C_MRT7_COLOR_OPT_DISABLE                             0xEFFFFFFF
5006#define   S_02875C_MRT7_ALPHA_OPT_DISABLE(x)                          (((unsigned)(x) & 0x1) << 29)
5007#define   G_02875C_MRT7_ALPHA_OPT_DISABLE(x)                          (((x) >> 29) & 0x1)
5008#define   C_02875C_MRT7_ALPHA_OPT_DISABLE                             0xDFFFFFFF
5009#define   S_02875C_PIXEN_ZERO_OPT_DISABLE(x)                          (((unsigned)(x) & 0x1) << 31)
5010#define   G_02875C_PIXEN_ZERO_OPT_DISABLE(x)                          (((x) >> 31) & 0x1)
5011#define   C_02875C_PIXEN_ZERO_OPT_DISABLE                             0x7FFFFFFF
5012#define R_028760_SX_MRT0_BLEND_OPT                                      0x028760
5013#define   S_028760_COLOR_SRC_OPT(x)                                   (((unsigned)(x) & 0x07) << 0)
5014#define   G_028760_COLOR_SRC_OPT(x)                                   (((x) >> 0) & 0x07)
5015#define   C_028760_COLOR_SRC_OPT                                      0xFFFFFFF8
5016#define   S_028760_COLOR_DST_OPT(x)                                   (((unsigned)(x) & 0x07) << 4)
5017#define   G_028760_COLOR_DST_OPT(x)                                   (((x) >> 4) & 0x07)
5018#define   C_028760_COLOR_DST_OPT                                      0xFFFFFF8F
5019#define   S_028760_COLOR_COMB_FCN(x)                                  (((unsigned)(x) & 0x07) << 8)
5020#define   G_028760_COLOR_COMB_FCN(x)                                  (((x) >> 8) & 0x07)
5021#define   C_028760_COLOR_COMB_FCN                                     0xFFFFF8FF
5022#define   S_028760_ALPHA_SRC_OPT(x)                                   (((unsigned)(x) & 0x07) << 16)
5023#define   G_028760_ALPHA_SRC_OPT(x)                                   (((x) >> 16) & 0x07)
5024#define   C_028760_ALPHA_SRC_OPT                                      0xFFF8FFFF
5025#define   S_028760_ALPHA_DST_OPT(x)                                   (((unsigned)(x) & 0x07) << 20)
5026#define   G_028760_ALPHA_DST_OPT(x)                                   (((x) >> 20) & 0x07)
5027#define   C_028760_ALPHA_DST_OPT                                      0xFF8FFFFF
5028#define   S_028760_ALPHA_COMB_FCN(x)                                  (((unsigned)(x) & 0x07) << 24)
5029#define   G_028760_ALPHA_COMB_FCN(x)                                  (((x) >> 24) & 0x07)
5030#define   C_028760_ALPHA_COMB_FCN                                     0xF8FFFFFF
5031#define R_028764_SX_MRT1_BLEND_OPT                                      0x028764
5032#define   S_028764_COLOR_SRC_OPT(x)                                   (((unsigned)(x) & 0x07) << 0)
5033#define   G_028764_COLOR_SRC_OPT(x)                                   (((x) >> 0) & 0x07)
5034#define   C_028764_COLOR_SRC_OPT                                      0xFFFFFFF8
5035#define   S_028764_COLOR_DST_OPT(x)                                   (((unsigned)(x) & 0x07) << 4)
5036#define   G_028764_COLOR_DST_OPT(x)                                   (((x) >> 4) & 0x07)
5037#define   C_028764_COLOR_DST_OPT                                      0xFFFFFF8F
5038#define   S_028764_COLOR_COMB_FCN(x)                                  (((unsigned)(x) & 0x07) << 8)
5039#define   G_028764_COLOR_COMB_FCN(x)                                  (((x) >> 8) & 0x07)
5040#define   C_028764_COLOR_COMB_FCN                                     0xFFFFF8FF
5041#define   S_028764_ALPHA_SRC_OPT(x)                                   (((unsigned)(x) & 0x07) << 16)
5042#define   G_028764_ALPHA_SRC_OPT(x)                                   (((x) >> 16) & 0x07)
5043#define   C_028764_ALPHA_SRC_OPT                                      0xFFF8FFFF
5044#define   S_028764_ALPHA_DST_OPT(x)                                   (((unsigned)(x) & 0x07) << 20)
5045#define   G_028764_ALPHA_DST_OPT(x)                                   (((x) >> 20) & 0x07)
5046#define   C_028764_ALPHA_DST_OPT                                      0xFF8FFFFF
5047#define   S_028764_ALPHA_COMB_FCN(x)                                  (((unsigned)(x) & 0x07) << 24)
5048#define   G_028764_ALPHA_COMB_FCN(x)                                  (((x) >> 24) & 0x07)
5049#define   C_028764_ALPHA_COMB_FCN                                     0xF8FFFFFF
5050#define R_028768_SX_MRT2_BLEND_OPT                                      0x028768
5051#define   S_028768_COLOR_SRC_OPT(x)                                   (((unsigned)(x) & 0x07) << 0)
5052#define   G_028768_COLOR_SRC_OPT(x)                                   (((x) >> 0) & 0x07)
5053#define   C_028768_COLOR_SRC_OPT                                      0xFFFFFFF8
5054#define   S_028768_COLOR_DST_OPT(x)                                   (((unsigned)(x) & 0x07) << 4)
5055#define   G_028768_COLOR_DST_OPT(x)                                   (((x) >> 4) & 0x07)
5056#define   C_028768_COLOR_DST_OPT                                      0xFFFFFF8F
5057#define   S_028768_COLOR_COMB_FCN(x)                                  (((unsigned)(x) & 0x07) << 8)
5058#define   G_028768_COLOR_COMB_FCN(x)                                  (((x) >> 8) & 0x07)
5059#define   C_028768_COLOR_COMB_FCN                                     0xFFFFF8FF
5060#define   S_028768_ALPHA_SRC_OPT(x)                                   (((unsigned)(x) & 0x07) << 16)
5061#define   G_028768_ALPHA_SRC_OPT(x)                                   (((x) >> 16) & 0x07)
5062#define   C_028768_ALPHA_SRC_OPT                                      0xFFF8FFFF
5063#define   S_028768_ALPHA_DST_OPT(x)                                   (((unsigned)(x) & 0x07) << 20)
5064#define   G_028768_ALPHA_DST_OPT(x)                                   (((x) >> 20) & 0x07)
5065#define   C_028768_ALPHA_DST_OPT                                      0xFF8FFFFF
5066#define   S_028768_ALPHA_COMB_FCN(x)                                  (((unsigned)(x) & 0x07) << 24)
5067#define   G_028768_ALPHA_COMB_FCN(x)                                  (((x) >> 24) & 0x07)
5068#define   C_028768_ALPHA_COMB_FCN                                     0xF8FFFFFF
5069#define R_02876C_SX_MRT3_BLEND_OPT                                      0x02876C
5070#define   S_02876C_COLOR_SRC_OPT(x)                                   (((unsigned)(x) & 0x07) << 0)
5071#define   G_02876C_COLOR_SRC_OPT(x)                                   (((x) >> 0) & 0x07)
5072#define   C_02876C_COLOR_SRC_OPT                                      0xFFFFFFF8
5073#define   S_02876C_COLOR_DST_OPT(x)                                   (((unsigned)(x) & 0x07) << 4)
5074#define   G_02876C_COLOR_DST_OPT(x)                                   (((x) >> 4) & 0x07)
5075#define   C_02876C_COLOR_DST_OPT                                      0xFFFFFF8F
5076#define   S_02876C_COLOR_COMB_FCN(x)                                  (((unsigned)(x) & 0x07) << 8)
5077#define   G_02876C_COLOR_COMB_FCN(x)                                  (((x) >> 8) & 0x07)
5078#define   C_02876C_COLOR_COMB_FCN                                     0xFFFFF8FF
5079#define   S_02876C_ALPHA_SRC_OPT(x)                                   (((unsigned)(x) & 0x07) << 16)
5080#define   G_02876C_ALPHA_SRC_OPT(x)                                   (((x) >> 16) & 0x07)
5081#define   C_02876C_ALPHA_SRC_OPT                                      0xFFF8FFFF
5082#define   S_02876C_ALPHA_DST_OPT(x)                                   (((unsigned)(x) & 0x07) << 20)
5083#define   G_02876C_ALPHA_DST_OPT(x)                                   (((x) >> 20) & 0x07)
5084#define   C_02876C_ALPHA_DST_OPT                                      0xFF8FFFFF
5085#define   S_02876C_ALPHA_COMB_FCN(x)                                  (((unsigned)(x) & 0x07) << 24)
5086#define   G_02876C_ALPHA_COMB_FCN(x)                                  (((x) >> 24) & 0x07)
5087#define   C_02876C_ALPHA_COMB_FCN                                     0xF8FFFFFF
5088#define R_028770_SX_MRT4_BLEND_OPT                                      0x028770
5089#define   S_028770_COLOR_SRC_OPT(x)                                   (((unsigned)(x) & 0x07) << 0)
5090#define   G_028770_COLOR_SRC_OPT(x)                                   (((x) >> 0) & 0x07)
5091#define   C_028770_COLOR_SRC_OPT                                      0xFFFFFFF8
5092#define   S_028770_COLOR_DST_OPT(x)                                   (((unsigned)(x) & 0x07) << 4)
5093#define   G_028770_COLOR_DST_OPT(x)                                   (((x) >> 4) & 0x07)
5094#define   C_028770_COLOR_DST_OPT                                      0xFFFFFF8F
5095#define   S_028770_COLOR_COMB_FCN(x)                                  (((unsigned)(x) & 0x07) << 8)
5096#define   G_028770_COLOR_COMB_FCN(x)                                  (((x) >> 8) & 0x07)
5097#define   C_028770_COLOR_COMB_FCN                                     0xFFFFF8FF
5098#define   S_028770_ALPHA_SRC_OPT(x)                                   (((unsigned)(x) & 0x07) << 16)
5099#define   G_028770_ALPHA_SRC_OPT(x)                                   (((x) >> 16) & 0x07)
5100#define   C_028770_ALPHA_SRC_OPT                                      0xFFF8FFFF
5101#define   S_028770_ALPHA_DST_OPT(x)                                   (((unsigned)(x) & 0x07) << 20)
5102#define   G_028770_ALPHA_DST_OPT(x)                                   (((x) >> 20) & 0x07)
5103#define   C_028770_ALPHA_DST_OPT                                      0xFF8FFFFF
5104#define   S_028770_ALPHA_COMB_FCN(x)                                  (((unsigned)(x) & 0x07) << 24)
5105#define   G_028770_ALPHA_COMB_FCN(x)                                  (((x) >> 24) & 0x07)
5106#define   C_028770_ALPHA_COMB_FCN                                     0xF8FFFFFF
5107#define R_028774_SX_MRT5_BLEND_OPT                                      0x028774
5108#define   S_028774_COLOR_SRC_OPT(x)                                   (((unsigned)(x) & 0x07) << 0)
5109#define   G_028774_COLOR_SRC_OPT(x)                                   (((x) >> 0) & 0x07)
5110#define   C_028774_COLOR_SRC_OPT                                      0xFFFFFFF8
5111#define   S_028774_COLOR_DST_OPT(x)                                   (((unsigned)(x) & 0x07) << 4)
5112#define   G_028774_COLOR_DST_OPT(x)                                   (((x) >> 4) & 0x07)
5113#define   C_028774_COLOR_DST_OPT                                      0xFFFFFF8F
5114#define   S_028774_COLOR_COMB_FCN(x)                                  (((unsigned)(x) & 0x07) << 8)
5115#define   G_028774_COLOR_COMB_FCN(x)                                  (((x) >> 8) & 0x07)
5116#define   C_028774_COLOR_COMB_FCN                                     0xFFFFF8FF
5117#define   S_028774_ALPHA_SRC_OPT(x)                                   (((unsigned)(x) & 0x07) << 16)
5118#define   G_028774_ALPHA_SRC_OPT(x)                                   (((x) >> 16) & 0x07)
5119#define   C_028774_ALPHA_SRC_OPT                                      0xFFF8FFFF
5120#define   S_028774_ALPHA_DST_OPT(x)                                   (((unsigned)(x) & 0x07) << 20)
5121#define   G_028774_ALPHA_DST_OPT(x)                                   (((x) >> 20) & 0x07)
5122#define   C_028774_ALPHA_DST_OPT                                      0xFF8FFFFF
5123#define   S_028774_ALPHA_COMB_FCN(x)                                  (((unsigned)(x) & 0x07) << 24)
5124#define   G_028774_ALPHA_COMB_FCN(x)                                  (((x) >> 24) & 0x07)
5125#define   C_028774_ALPHA_COMB_FCN                                     0xF8FFFFFF
5126#define R_028778_SX_MRT6_BLEND_OPT                                      0x028778
5127#define   S_028778_COLOR_SRC_OPT(x)                                   (((unsigned)(x) & 0x07) << 0)
5128#define   G_028778_COLOR_SRC_OPT(x)                                   (((x) >> 0) & 0x07)
5129#define   C_028778_COLOR_SRC_OPT                                      0xFFFFFFF8
5130#define   S_028778_COLOR_DST_OPT(x)                                   (((unsigned)(x) & 0x07) << 4)
5131#define   G_028778_COLOR_DST_OPT(x)                                   (((x) >> 4) & 0x07)
5132#define   C_028778_COLOR_DST_OPT                                      0xFFFFFF8F
5133#define   S_028778_COLOR_COMB_FCN(x)                                  (((unsigned)(x) & 0x07) << 8)
5134#define   G_028778_COLOR_COMB_FCN(x)                                  (((x) >> 8) & 0x07)
5135#define   C_028778_COLOR_COMB_FCN                                     0xFFFFF8FF
5136#define   S_028778_ALPHA_SRC_OPT(x)                                   (((unsigned)(x) & 0x07) << 16)
5137#define   G_028778_ALPHA_SRC_OPT(x)                                   (((x) >> 16) & 0x07)
5138#define   C_028778_ALPHA_SRC_OPT                                      0xFFF8FFFF
5139#define   S_028778_ALPHA_DST_OPT(x)                                   (((unsigned)(x) & 0x07) << 20)
5140#define   G_028778_ALPHA_DST_OPT(x)                                   (((x) >> 20) & 0x07)
5141#define   C_028778_ALPHA_DST_OPT                                      0xFF8FFFFF
5142#define   S_028778_ALPHA_COMB_FCN(x)                                  (((unsigned)(x) & 0x07) << 24)
5143#define   G_028778_ALPHA_COMB_FCN(x)                                  (((x) >> 24) & 0x07)
5144#define   C_028778_ALPHA_COMB_FCN                                     0xF8FFFFFF
5145#define R_02877C_SX_MRT7_BLEND_OPT                                      0x02877C
5146#define   S_02877C_COLOR_SRC_OPT(x)                                   (((unsigned)(x) & 0x07) << 0)
5147#define   G_02877C_COLOR_SRC_OPT(x)                                   (((x) >> 0) & 0x07)
5148#define   C_02877C_COLOR_SRC_OPT                                      0xFFFFFFF8
5149#define   S_02877C_COLOR_DST_OPT(x)                                   (((unsigned)(x) & 0x07) << 4)
5150#define   G_02877C_COLOR_DST_OPT(x)                                   (((x) >> 4) & 0x07)
5151#define   C_02877C_COLOR_DST_OPT                                      0xFFFFFF8F
5152#define   S_02877C_COLOR_COMB_FCN(x)                                  (((unsigned)(x) & 0x07) << 8)
5153#define   G_02877C_COLOR_COMB_FCN(x)                                  (((x) >> 8) & 0x07)
5154#define   C_02877C_COLOR_COMB_FCN                                     0xFFFFF8FF
5155#define   S_02877C_ALPHA_SRC_OPT(x)                                   (((unsigned)(x) & 0x07) << 16)
5156#define   G_02877C_ALPHA_SRC_OPT(x)                                   (((x) >> 16) & 0x07)
5157#define   C_02877C_ALPHA_SRC_OPT                                      0xFFF8FFFF
5158#define   S_02877C_ALPHA_DST_OPT(x)                                   (((unsigned)(x) & 0x07) << 20)
5159#define   G_02877C_ALPHA_DST_OPT(x)                                   (((x) >> 20) & 0x07)
5160#define   C_02877C_ALPHA_DST_OPT                                      0xFF8FFFFF
5161#define   S_02877C_ALPHA_COMB_FCN(x)                                  (((unsigned)(x) & 0x07) << 24)
5162#define   G_02877C_ALPHA_COMB_FCN(x)                                  (((x) >> 24) & 0x07)
5163#define   C_02877C_ALPHA_COMB_FCN                                     0xF8FFFFFF
5164#define R_028780_CB_BLEND0_CONTROL                                      0x028780
5165#define   S_028780_COLOR_SRCBLEND(x)                                  (((unsigned)(x) & 0x1F) << 0)
5166#define   G_028780_COLOR_SRCBLEND(x)                                  (((x) >> 0) & 0x1F)
5167#define   C_028780_COLOR_SRCBLEND                                     0xFFFFFFE0
5168#define   S_028780_COLOR_COMB_FCN(x)                                  (((unsigned)(x) & 0x07) << 5)
5169#define   G_028780_COLOR_COMB_FCN(x)                                  (((x) >> 5) & 0x07)
5170#define   C_028780_COLOR_COMB_FCN                                     0xFFFFFF1F
5171#define   S_028780_COLOR_DESTBLEND(x)                                 (((unsigned)(x) & 0x1F) << 8)
5172#define   G_028780_COLOR_DESTBLEND(x)                                 (((x) >> 8) & 0x1F)
5173#define   C_028780_COLOR_DESTBLEND                                    0xFFFFE0FF
5174#define   S_028780_ALPHA_SRCBLEND(x)                                  (((unsigned)(x) & 0x1F) << 16)
5175#define   G_028780_ALPHA_SRCBLEND(x)                                  (((x) >> 16) & 0x1F)
5176#define   C_028780_ALPHA_SRCBLEND                                     0xFFE0FFFF
5177#define   S_028780_ALPHA_COMB_FCN(x)                                  (((unsigned)(x) & 0x07) << 21)
5178#define   G_028780_ALPHA_COMB_FCN(x)                                  (((x) >> 21) & 0x07)
5179#define   C_028780_ALPHA_COMB_FCN                                     0xFF1FFFFF
5180#define   S_028780_ALPHA_DESTBLEND(x)                                 (((unsigned)(x) & 0x1F) << 24)
5181#define   G_028780_ALPHA_DESTBLEND(x)                                 (((x) >> 24) & 0x1F)
5182#define   C_028780_ALPHA_DESTBLEND                                    0xE0FFFFFF
5183#define   S_028780_SEPARATE_ALPHA_BLEND(x)                            (((unsigned)(x) & 0x1) << 29)
5184#define   G_028780_SEPARATE_ALPHA_BLEND(x)                            (((x) >> 29) & 0x1)
5185#define   C_028780_SEPARATE_ALPHA_BLEND                               0xDFFFFFFF
5186#define   S_028780_ENABLE(x)                                          (((unsigned)(x) & 0x1) << 30)
5187#define   G_028780_ENABLE(x)                                          (((x) >> 30) & 0x1)
5188#define   C_028780_ENABLE                                             0xBFFFFFFF
5189#define   S_028780_DISABLE_ROP3(x)                                    (((unsigned)(x) & 0x1) << 31)
5190#define   G_028780_DISABLE_ROP3(x)                                    (((x) >> 31) & 0x1)
5191#define   C_028780_DISABLE_ROP3                                       0x7FFFFFFF
5192#define R_028784_CB_BLEND1_CONTROL                                      0x028784
5193#define R_028788_CB_BLEND2_CONTROL                                      0x028788
5194#define R_02878C_CB_BLEND3_CONTROL                                      0x02878C
5195#define R_028790_CB_BLEND4_CONTROL                                      0x028790
5196#define R_028794_CB_BLEND5_CONTROL                                      0x028794
5197#define R_028798_CB_BLEND6_CONTROL                                      0x028798
5198#define R_02879C_CB_BLEND7_CONTROL                                      0x02879C
5199#define R_0287A0_CB_MRT0_EPITCH                                         0x0287A0
5200#define   S_0287A0_EPITCH(x)                                          (((unsigned)(x) & 0xFFFF) << 0)
5201#define   G_0287A0_EPITCH(x)                                          (((x) >> 0) & 0xFFFF)
5202#define   C_0287A0_EPITCH                                             0xFFFF0000
5203#define R_0287A4_CB_MRT1_EPITCH                                         0x0287A4
5204#define   S_0287A4_EPITCH(x)                                          (((unsigned)(x) & 0xFFFF) << 0)
5205#define   G_0287A4_EPITCH(x)                                          (((x) >> 0) & 0xFFFF)
5206#define   C_0287A4_EPITCH                                             0xFFFF0000
5207#define R_0287A8_CB_MRT2_EPITCH                                         0x0287A8
5208#define   S_0287A8_EPITCH(x)                                          (((unsigned)(x) & 0xFFFF) << 0)
5209#define   G_0287A8_EPITCH(x)                                          (((x) >> 0) & 0xFFFF)
5210#define   C_0287A8_EPITCH                                             0xFFFF0000
5211#define R_0287AC_CB_MRT3_EPITCH                                         0x0287AC
5212#define   S_0287AC_EPITCH(x)                                          (((unsigned)(x) & 0xFFFF) << 0)
5213#define   G_0287AC_EPITCH(x)                                          (((x) >> 0) & 0xFFFF)
5214#define   C_0287AC_EPITCH                                             0xFFFF0000
5215#define R_0287B0_CB_MRT4_EPITCH                                         0x0287B0
5216#define   S_0287B0_EPITCH(x)                                          (((unsigned)(x) & 0xFFFF) << 0)
5217#define   G_0287B0_EPITCH(x)                                          (((x) >> 0) & 0xFFFF)
5218#define   C_0287B0_EPITCH                                             0xFFFF0000
5219#define R_0287B4_CB_MRT5_EPITCH                                         0x0287B4
5220#define   S_0287B4_EPITCH(x)                                          (((unsigned)(x) & 0xFFFF) << 0)
5221#define   G_0287B4_EPITCH(x)                                          (((x) >> 0) & 0xFFFF)
5222#define   C_0287B4_EPITCH                                             0xFFFF0000
5223#define R_0287B8_CB_MRT6_EPITCH                                         0x0287B8
5224#define   S_0287B8_EPITCH(x)                                          (((unsigned)(x) & 0xFFFF) << 0)
5225#define   G_0287B8_EPITCH(x)                                          (((x) >> 0) & 0xFFFF)
5226#define   C_0287B8_EPITCH                                             0xFFFF0000
5227#define R_0287BC_CB_MRT7_EPITCH                                         0x0287BC
5228#define   S_0287BC_EPITCH(x)                                          (((unsigned)(x) & 0xFFFF) << 0)
5229#define   G_0287BC_EPITCH(x)                                          (((x) >> 0) & 0xFFFF)
5230#define   C_0287BC_EPITCH                                             0xFFFF0000
5231#define R_0287CC_CS_COPY_STATE                                          0x0287CC
5232#define   S_0287CC_SRC_STATE_ID(x)                                    (((unsigned)(x) & 0x07) << 0)
5233#define   G_0287CC_SRC_STATE_ID(x)                                    (((x) >> 0) & 0x07)
5234#define   C_0287CC_SRC_STATE_ID                                       0xFFFFFFF8
5235#define R_0287D4_PA_CL_POINT_X_RAD                                      0x0287D4
5236#define R_0287D8_PA_CL_POINT_Y_RAD                                      0x0287D8
5237#define R_0287DC_PA_CL_POINT_SIZE                                       0x0287DC
5238#define R_0287E0_PA_CL_POINT_CULL_RAD                                   0x0287E0
5239#define R_0287E4_VGT_DMA_BASE_HI                                        0x0287E4
5240#define   S_0287E4_BASE_ADDR_GFX9(x)                                  (((unsigned)(x) & 0xFFFF) << 0)
5241#define   G_0287E4_BASE_ADDR_GFX9(x)                                  (((x) >> 0) & 0xFFFF)
5242#define   C_0287E4_BASE_ADDR_GFX9                                     0xFFFF0000
5243#define R_0287E8_VGT_DMA_BASE                                           0x0287E8
5244#define R_0287F0_VGT_DRAW_INITIATOR                                     0x0287F0
5245#define   S_0287F0_SOURCE_SELECT(x)                                   (((unsigned)(x) & 0x03) << 0)
5246#define   G_0287F0_SOURCE_SELECT(x)                                   (((x) >> 0) & 0x03)
5247#define   C_0287F0_SOURCE_SELECT                                      0xFFFFFFFC
5248#define   S_0287F0_MAJOR_MODE(x)                                      (((unsigned)(x) & 0x03) << 2)
5249#define   G_0287F0_MAJOR_MODE(x)                                      (((x) >> 2) & 0x03)
5250#define   C_0287F0_MAJOR_MODE                                         0xFFFFFFF3
5251#define   S_0287F0_SPRITE_EN_R6XX(x)                                  (((unsigned)(x) & 0x1) << 4)
5252#define   G_0287F0_SPRITE_EN_R6XX(x)                                  (((x) >> 4) & 0x1)
5253#define   C_0287F0_SPRITE_EN_R6XX                                     0xFFFFFFEF
5254#define   S_0287F0_NOT_EOP(x)                                         (((unsigned)(x) & 0x1) << 5)
5255#define   G_0287F0_NOT_EOP(x)                                         (((x) >> 5) & 0x1)
5256#define   C_0287F0_NOT_EOP                                            0xFFFFFFDF
5257#define   S_0287F0_USE_OPAQUE(x)                                      (((unsigned)(x) & 0x1) << 6)
5258#define   G_0287F0_USE_OPAQUE(x)                                      (((x) >> 6) & 0x1)
5259#define   C_0287F0_USE_OPAQUE                                         0xFFFFFFBF
5260#define   S_0287F0_UNROLLED_INST(x)                                   (((unsigned)(x) & 0x1) << 7)
5261#define   G_0287F0_UNROLLED_INST(x)                                   (((x) >> 7) & 0x1)
5262#define   C_0287F0_UNROLLED_INST                                      0xFFFFFF7F
5263#define   S_0287F0_GRBM_SKEW_NO_DEC(x)                                (((unsigned)(x) & 0x1) << 8)
5264#define   G_0287F0_GRBM_SKEW_NO_DEC(x)                                (((x) >> 8) & 0x1)
5265#define   C_0287F0_GRBM_SKEW_NO_DEC                                   0xFFFFFEFF
5266#define   S_0287F0_REG_RT_INDEX(x)                                    (((unsigned)(x) & 0x07) << 29)
5267#define   G_0287F0_REG_RT_INDEX(x)                                    (((x) >> 29) & 0x07)
5268#define   C_0287F0_REG_RT_INDEX                                       0x1FFFFFFF
5269#define R_0287F4_VGT_IMMED_DATA                                         0x0287F4
5270#define R_0287F8_VGT_EVENT_ADDRESS_REG                                  0x0287F8
5271#define   S_0287F8_ADDRESS_LOW(x)                                     (((unsigned)(x) & 0xFFFFFFF) << 0)
5272#define   G_0287F8_ADDRESS_LOW(x)                                     (((x) >> 0) & 0xFFFFFFF)
5273#define   C_0287F8_ADDRESS_LOW                                        0xF0000000
5274#define R_028800_DB_DEPTH_CONTROL                                       0x028800
5275#define   S_028800_STENCIL_ENABLE(x)                                  (((unsigned)(x) & 0x1) << 0)
5276#define   G_028800_STENCIL_ENABLE(x)                                  (((x) >> 0) & 0x1)
5277#define   C_028800_STENCIL_ENABLE                                     0xFFFFFFFE
5278#define   S_028800_Z_ENABLE(x)                                        (((unsigned)(x) & 0x1) << 1)
5279#define   G_028800_Z_ENABLE(x)                                        (((x) >> 1) & 0x1)
5280#define   C_028800_Z_ENABLE                                           0xFFFFFFFD
5281#define   S_028800_Z_WRITE_ENABLE(x)                                  (((unsigned)(x) & 0x1) << 2)
5282#define   G_028800_Z_WRITE_ENABLE(x)                                  (((x) >> 2) & 0x1)
5283#define   C_028800_Z_WRITE_ENABLE                                     0xFFFFFFFB
5284#define   S_028800_DEPTH_BOUNDS_ENABLE(x)                             (((unsigned)(x) & 0x1) << 3)
5285#define   G_028800_DEPTH_BOUNDS_ENABLE(x)                             (((x) >> 3) & 0x1)
5286#define   C_028800_DEPTH_BOUNDS_ENABLE                                0xFFFFFFF7
5287#define   S_028800_ZFUNC(x)                                           (((unsigned)(x) & 0x07) << 4)
5288#define   G_028800_ZFUNC(x)                                           (((x) >> 4) & 0x07)
5289#define   C_028800_ZFUNC                                              0xFFFFFF8F
5290#define   S_028800_BACKFACE_ENABLE(x)                                 (((unsigned)(x) & 0x1) << 7)
5291#define   G_028800_BACKFACE_ENABLE(x)                                 (((x) >> 7) & 0x1)
5292#define   C_028800_BACKFACE_ENABLE                                    0xFFFFFF7F
5293#define   S_028800_STENCILFUNC(x)                                     (((unsigned)(x) & 0x07) << 8)
5294#define   G_028800_STENCILFUNC(x)                                     (((x) >> 8) & 0x07)
5295#define   C_028800_STENCILFUNC                                        0xFFFFF8FF
5296#define   S_028800_STENCILFUNC_BF(x)                                  (((unsigned)(x) & 0x07) << 20)
5297#define   G_028800_STENCILFUNC_BF(x)                                  (((x) >> 20) & 0x07)
5298#define   C_028800_STENCILFUNC_BF                                     0xFF8FFFFF
5299#define   S_028800_ENABLE_COLOR_WRITES_ON_DEPTH_FAIL(x)               (((unsigned)(x) & 0x1) << 30)
5300#define   G_028800_ENABLE_COLOR_WRITES_ON_DEPTH_FAIL(x)               (((x) >> 30) & 0x1)
5301#define   C_028800_ENABLE_COLOR_WRITES_ON_DEPTH_FAIL                  0xBFFFFFFF
5302#define   S_028800_DISABLE_COLOR_WRITES_ON_DEPTH_PASS(x)              (((unsigned)(x) & 0x1) << 31)
5303#define   G_028800_DISABLE_COLOR_WRITES_ON_DEPTH_PASS(x)              (((x) >> 31) & 0x1)
5304#define   C_028800_DISABLE_COLOR_WRITES_ON_DEPTH_PASS                 0x7FFFFFFF
5305#define R_028804_DB_EQAA                                                0x028804
5306#define   S_028804_MAX_ANCHOR_SAMPLES(x)                              (((unsigned)(x) & 0x07) << 0)
5307#define   G_028804_MAX_ANCHOR_SAMPLES(x)                              (((x) >> 0) & 0x07)
5308#define   C_028804_MAX_ANCHOR_SAMPLES                                 0xFFFFFFF8
5309#define   S_028804_PS_ITER_SAMPLES(x)                                 (((unsigned)(x) & 0x07) << 4)
5310#define   G_028804_PS_ITER_SAMPLES(x)                                 (((x) >> 4) & 0x07)
5311#define   C_028804_PS_ITER_SAMPLES                                    0xFFFFFF8F
5312#define   S_028804_MASK_EXPORT_NUM_SAMPLES(x)                         (((unsigned)(x) & 0x07) << 8)
5313#define   G_028804_MASK_EXPORT_NUM_SAMPLES(x)                         (((x) >> 8) & 0x07)
5314#define   C_028804_MASK_EXPORT_NUM_SAMPLES                            0xFFFFF8FF
5315#define   S_028804_ALPHA_TO_MASK_NUM_SAMPLES(x)                       (((unsigned)(x) & 0x07) << 12)
5316#define   G_028804_ALPHA_TO_MASK_NUM_SAMPLES(x)                       (((x) >> 12) & 0x07)
5317#define   C_028804_ALPHA_TO_MASK_NUM_SAMPLES                          0xFFFF8FFF
5318#define   S_028804_HIGH_QUALITY_INTERSECTIONS(x)                      (((unsigned)(x) & 0x1) << 16)
5319#define   G_028804_HIGH_QUALITY_INTERSECTIONS(x)                      (((x) >> 16) & 0x1)
5320#define   C_028804_HIGH_QUALITY_INTERSECTIONS                         0xFFFEFFFF
5321#define   S_028804_INCOHERENT_EQAA_READS(x)                           (((unsigned)(x) & 0x1) << 17)
5322#define   G_028804_INCOHERENT_EQAA_READS(x)                           (((x) >> 17) & 0x1)
5323#define   C_028804_INCOHERENT_EQAA_READS                              0xFFFDFFFF
5324#define   S_028804_INTERPOLATE_COMP_Z(x)                              (((unsigned)(x) & 0x1) << 18)
5325#define   G_028804_INTERPOLATE_COMP_Z(x)                              (((x) >> 18) & 0x1)
5326#define   C_028804_INTERPOLATE_COMP_Z                                 0xFFFBFFFF
5327#define   S_028804_INTERPOLATE_SRC_Z(x)                               (((unsigned)(x) & 0x1) << 19)
5328#define   G_028804_INTERPOLATE_SRC_Z(x)                               (((x) >> 19) & 0x1)
5329#define   C_028804_INTERPOLATE_SRC_Z                                  0xFFF7FFFF
5330#define   S_028804_STATIC_ANCHOR_ASSOCIATIONS(x)                      (((unsigned)(x) & 0x1) << 20)
5331#define   G_028804_STATIC_ANCHOR_ASSOCIATIONS(x)                      (((x) >> 20) & 0x1)
5332#define   C_028804_STATIC_ANCHOR_ASSOCIATIONS                         0xFFEFFFFF
5333#define   S_028804_ALPHA_TO_MASK_EQAA_DISABLE(x)                      (((unsigned)(x) & 0x1) << 21)
5334#define   G_028804_ALPHA_TO_MASK_EQAA_DISABLE(x)                      (((x) >> 21) & 0x1)
5335#define   C_028804_ALPHA_TO_MASK_EQAA_DISABLE                         0xFFDFFFFF
5336#define   S_028804_OVERRASTERIZATION_AMOUNT(x)                        (((unsigned)(x) & 0x07) << 24)
5337#define   G_028804_OVERRASTERIZATION_AMOUNT(x)                        (((x) >> 24) & 0x07)
5338#define   C_028804_OVERRASTERIZATION_AMOUNT                           0xF8FFFFFF
5339#define   S_028804_ENABLE_POSTZ_OVERRASTERIZATION(x)                  (((unsigned)(x) & 0x1) << 27)
5340#define   G_028804_ENABLE_POSTZ_OVERRASTERIZATION(x)                  (((x) >> 27) & 0x1)
5341#define   C_028804_ENABLE_POSTZ_OVERRASTERIZATION                     0xF7FFFFFF
5342#define R_028808_CB_COLOR_CONTROL                                       0x028808
5343#define   S_028808_DISABLE_DUAL_QUAD(x)                               (((unsigned)(x) & 0x1) << 0)
5344#define   G_028808_DISABLE_DUAL_QUAD(x)                               (((x) >> 0) & 0x1)
5345#define   C_028808_DISABLE_DUAL_QUAD                                  0xFFFFFFFE
5346#define   S_028808_DEGAMMA_ENABLE(x)                                  (((unsigned)(x) & 0x1) << 3)
5347#define   G_028808_DEGAMMA_ENABLE(x)                                  (((x) >> 3) & 0x1)
5348#define   C_028808_DEGAMMA_ENABLE                                     0xFFFFFFF7
5349#define   S_028808_MODE(x)                                            (((unsigned)(x) & 0x07) << 4)
5350#define   G_028808_MODE(x)                                            (((x) >> 4) & 0x07)
5351#define   C_028808_MODE                                               0xFFFFFF8F
5352#define   S_028808_ROP3(x)                                            (((unsigned)(x) & 0xFF) << 16)
5353#define   G_028808_ROP3(x)                                            (((x) >> 16) & 0xFF)
5354#define   C_028808_ROP3                                               0xFF00FFFF
5355#define R_02880C_DB_SHADER_CONTROL                                      0x02880C
5356#define   S_02880C_Z_EXPORT_ENABLE(x)                                 (((unsigned)(x) & 0x1) << 0)
5357#define   G_02880C_Z_EXPORT_ENABLE(x)                                 (((x) >> 0) & 0x1)
5358#define   C_02880C_Z_EXPORT_ENABLE                                    0xFFFFFFFE
5359#define   S_02880C_STENCIL_TEST_VAL_EXPORT_ENABLE(x)                  (((unsigned)(x) & 0x1) << 1)
5360#define   G_02880C_STENCIL_TEST_VAL_EXPORT_ENABLE(x)                  (((x) >> 1) & 0x1)
5361#define   C_02880C_STENCIL_TEST_VAL_EXPORT_ENABLE                     0xFFFFFFFD
5362#define   S_02880C_STENCIL_OP_VAL_EXPORT_ENABLE(x)                    (((unsigned)(x) & 0x1) << 2)
5363#define   G_02880C_STENCIL_OP_VAL_EXPORT_ENABLE(x)                    (((x) >> 2) & 0x1)
5364#define   C_02880C_STENCIL_OP_VAL_EXPORT_ENABLE                       0xFFFFFFFB
5365#define   S_02880C_Z_ORDER(x)                                         (((unsigned)(x) & 0x03) << 4)
5366#define   G_02880C_Z_ORDER(x)                                         (((x) >> 4) & 0x03)
5367#define   C_02880C_Z_ORDER                                            0xFFFFFFCF
5368#define   S_02880C_KILL_ENABLE(x)                                     (((unsigned)(x) & 0x1) << 6)
5369#define   G_02880C_KILL_ENABLE(x)                                     (((x) >> 6) & 0x1)
5370#define   C_02880C_KILL_ENABLE                                        0xFFFFFFBF
5371#define   S_02880C_COVERAGE_TO_MASK_ENABLE(x)                         (((unsigned)(x) & 0x1) << 7)
5372#define   G_02880C_COVERAGE_TO_MASK_ENABLE(x)                         (((x) >> 7) & 0x1)
5373#define   C_02880C_COVERAGE_TO_MASK_ENABLE                            0xFFFFFF7F
5374#define   S_02880C_MASK_EXPORT_ENABLE(x)                              (((unsigned)(x) & 0x1) << 8)
5375#define   G_02880C_MASK_EXPORT_ENABLE(x)                              (((x) >> 8) & 0x1)
5376#define   C_02880C_MASK_EXPORT_ENABLE                                 0xFFFFFEFF
5377#define   S_02880C_EXEC_ON_HIER_FAIL(x)                               (((unsigned)(x) & 0x1) << 9)
5378#define   G_02880C_EXEC_ON_HIER_FAIL(x)                               (((x) >> 9) & 0x1)
5379#define   C_02880C_EXEC_ON_HIER_FAIL                                  0xFFFFFDFF
5380#define   S_02880C_EXEC_ON_NOOP(x)                                    (((unsigned)(x) & 0x1) << 10)
5381#define   G_02880C_EXEC_ON_NOOP(x)                                    (((x) >> 10) & 0x1)
5382#define   C_02880C_EXEC_ON_NOOP                                       0xFFFFFBFF
5383#define   S_02880C_ALPHA_TO_MASK_DISABLE(x)                           (((unsigned)(x) & 0x1) << 11)
5384#define   G_02880C_ALPHA_TO_MASK_DISABLE(x)                           (((x) >> 11) & 0x1)
5385#define   C_02880C_ALPHA_TO_MASK_DISABLE                              0xFFFFF7FF
5386#define   S_02880C_DEPTH_BEFORE_SHADER(x)                             (((unsigned)(x) & 0x1) << 12)
5387#define   G_02880C_DEPTH_BEFORE_SHADER(x)                             (((x) >> 12) & 0x1)
5388#define   C_02880C_DEPTH_BEFORE_SHADER                                0xFFFFEFFF
5389#define   S_02880C_CONSERVATIVE_Z_EXPORT(x)                           (((unsigned)(x) & 0x03) << 13)
5390#define   G_02880C_CONSERVATIVE_Z_EXPORT(x)                           (((x) >> 13) & 0x03)
5391#define   C_02880C_CONSERVATIVE_Z_EXPORT                              0xFFFF9FFF
5392#define   S_02880C_DUAL_QUAD_DISABLE(x)                               (((unsigned)(x) & 0x1) << 15)
5393#define   G_02880C_DUAL_QUAD_DISABLE(x)                               (((x) >> 15) & 0x1)
5394#define   C_02880C_DUAL_QUAD_DISABLE                                  0xFFFF7FFF
5395#define   S_02880C_PRIMITIVE_ORDERED_PIXEL_SHADER(x)                  (((unsigned)(x) & 0x1) << 16)
5396#define   G_02880C_PRIMITIVE_ORDERED_PIXEL_SHADER(x)                  (((x) >> 16) & 0x1)
5397#define   C_02880C_PRIMITIVE_ORDERED_PIXEL_SHADER                     0xFFFEFFFF
5398#define   S_02880C_EXEC_IF_OVERLAPPED(x)                              (((unsigned)(x) & 0x1) << 17)
5399#define   G_02880C_EXEC_IF_OVERLAPPED(x)                              (((x) >> 17) & 0x1)
5400#define   C_02880C_EXEC_IF_OVERLAPPED                                 0xFFFDFFFF
5401#define   S_02880C_POPS_OVERLAP_NUM_SAMPLES(x)                        (((unsigned)(x) & 0x07) << 20)
5402#define   G_02880C_POPS_OVERLAP_NUM_SAMPLES(x)                        (((x) >> 20) & 0x07)
5403#define   C_02880C_POPS_OVERLAP_NUM_SAMPLES                           0xFF8FFFFF
5404#define R_028810_PA_CL_CLIP_CNTL                                        0x028810
5405#define   S_028810_UCP_ENA_0(x)                                       (((unsigned)(x) & 0x1) << 0)
5406#define   G_028810_UCP_ENA_0(x)                                       (((x) >> 0) & 0x1)
5407#define   C_028810_UCP_ENA_0                                          0xFFFFFFFE
5408#define   S_028810_UCP_ENA_1(x)                                       (((unsigned)(x) & 0x1) << 1)
5409#define   G_028810_UCP_ENA_1(x)                                       (((x) >> 1) & 0x1)
5410#define   C_028810_UCP_ENA_1                                          0xFFFFFFFD
5411#define   S_028810_UCP_ENA_2(x)                                       (((unsigned)(x) & 0x1) << 2)
5412#define   G_028810_UCP_ENA_2(x)                                       (((x) >> 2) & 0x1)
5413#define   C_028810_UCP_ENA_2                                          0xFFFFFFFB
5414#define   S_028810_UCP_ENA_3(x)                                       (((unsigned)(x) & 0x1) << 3)
5415#define   G_028810_UCP_ENA_3(x)                                       (((x) >> 3) & 0x1)
5416#define   C_028810_UCP_ENA_3                                          0xFFFFFFF7
5417#define   S_028810_UCP_ENA_4(x)                                       (((unsigned)(x) & 0x1) << 4)
5418#define   G_028810_UCP_ENA_4(x)                                       (((x) >> 4) & 0x1)
5419#define   C_028810_UCP_ENA_4                                          0xFFFFFFEF
5420#define   S_028810_UCP_ENA_5(x)                                       (((unsigned)(x) & 0x1) << 5)
5421#define   G_028810_UCP_ENA_5(x)                                       (((x) >> 5) & 0x1)
5422#define   C_028810_UCP_ENA_5                                          0xFFFFFFDF
5423#define   S_028810_PS_UCP_Y_SCALE_NEG(x)                              (((unsigned)(x) & 0x1) << 13)
5424#define   G_028810_PS_UCP_Y_SCALE_NEG(x)                              (((x) >> 13) & 0x1)
5425#define   C_028810_PS_UCP_Y_SCALE_NEG                                 0xFFFFDFFF
5426#define   S_028810_PS_UCP_MODE(x)                                     (((unsigned)(x) & 0x03) << 14)
5427#define   G_028810_PS_UCP_MODE(x)                                     (((x) >> 14) & 0x03)
5428#define   C_028810_PS_UCP_MODE                                        0xFFFF3FFF
5429#define   S_028810_CLIP_DISABLE(x)                                    (((unsigned)(x) & 0x1) << 16)
5430#define   G_028810_CLIP_DISABLE(x)                                    (((x) >> 16) & 0x1)
5431#define   C_028810_CLIP_DISABLE                                       0xFFFEFFFF
5432#define   S_028810_UCP_CULL_ONLY_ENA(x)                               (((unsigned)(x) & 0x1) << 17)
5433#define   G_028810_UCP_CULL_ONLY_ENA(x)                               (((x) >> 17) & 0x1)
5434#define   C_028810_UCP_CULL_ONLY_ENA                                  0xFFFDFFFF
5435#define   S_028810_BOUNDARY_EDGE_FLAG_ENA(x)                          (((unsigned)(x) & 0x1) << 18)
5436#define   G_028810_BOUNDARY_EDGE_FLAG_ENA(x)                          (((x) >> 18) & 0x1)
5437#define   C_028810_BOUNDARY_EDGE_FLAG_ENA                             0xFFFBFFFF
5438#define   S_028810_DX_CLIP_SPACE_DEF(x)                               (((unsigned)(x) & 0x1) << 19)
5439#define   G_028810_DX_CLIP_SPACE_DEF(x)                               (((x) >> 19) & 0x1)
5440#define   C_028810_DX_CLIP_SPACE_DEF                                  0xFFF7FFFF
5441#define   S_028810_DIS_CLIP_ERR_DETECT(x)                             (((unsigned)(x) & 0x1) << 20)
5442#define   G_028810_DIS_CLIP_ERR_DETECT(x)                             (((x) >> 20) & 0x1)
5443#define   C_028810_DIS_CLIP_ERR_DETECT                                0xFFEFFFFF
5444#define   S_028810_VTX_KILL_OR(x)                                     (((unsigned)(x) & 0x1) << 21)
5445#define   G_028810_VTX_KILL_OR(x)                                     (((x) >> 21) & 0x1)
5446#define   C_028810_VTX_KILL_OR                                        0xFFDFFFFF
5447#define   S_028810_DX_RASTERIZATION_KILL(x)                           (((unsigned)(x) & 0x1) << 22)
5448#define   G_028810_DX_RASTERIZATION_KILL(x)                           (((x) >> 22) & 0x1)
5449#define   C_028810_DX_RASTERIZATION_KILL                              0xFFBFFFFF
5450#define   S_028810_DX_LINEAR_ATTR_CLIP_ENA(x)                         (((unsigned)(x) & 0x1) << 24)
5451#define   G_028810_DX_LINEAR_ATTR_CLIP_ENA(x)                         (((x) >> 24) & 0x1)
5452#define   C_028810_DX_LINEAR_ATTR_CLIP_ENA                            0xFEFFFFFF
5453#define   S_028810_VTE_VPORT_PROVOKE_DISABLE(x)                       (((unsigned)(x) & 0x1) << 25)
5454#define   G_028810_VTE_VPORT_PROVOKE_DISABLE(x)                       (((x) >> 25) & 0x1)
5455#define   C_028810_VTE_VPORT_PROVOKE_DISABLE                          0xFDFFFFFF
5456#define   S_028810_ZCLIP_NEAR_DISABLE(x)                              (((unsigned)(x) & 0x1) << 26)
5457#define   G_028810_ZCLIP_NEAR_DISABLE(x)                              (((x) >> 26) & 0x1)
5458#define   C_028810_ZCLIP_NEAR_DISABLE                                 0xFBFFFFFF
5459#define   S_028810_ZCLIP_FAR_DISABLE(x)                               (((unsigned)(x) & 0x1) << 27)
5460#define   G_028810_ZCLIP_FAR_DISABLE(x)                               (((x) >> 27) & 0x1)
5461#define   C_028810_ZCLIP_FAR_DISABLE                                  0xF7FFFFFF
5462#define R_028814_PA_SU_SC_MODE_CNTL                                     0x028814
5463#define   S_028814_CULL_FRONT(x)                                      (((unsigned)(x) & 0x1) << 0)
5464#define   G_028814_CULL_FRONT(x)                                      (((x) >> 0) & 0x1)
5465#define   C_028814_CULL_FRONT                                         0xFFFFFFFE
5466#define   S_028814_CULL_BACK(x)                                       (((unsigned)(x) & 0x1) << 1)
5467#define   G_028814_CULL_BACK(x)                                       (((x) >> 1) & 0x1)
5468#define   C_028814_CULL_BACK                                          0xFFFFFFFD
5469#define   S_028814_FACE(x)                                            (((unsigned)(x) & 0x1) << 2)
5470#define   G_028814_FACE(x)                                            (((x) >> 2) & 0x1)
5471#define   C_028814_FACE                                               0xFFFFFFFB
5472#define   S_028814_POLY_MODE(x)                                       (((unsigned)(x) & 0x03) << 3)
5473#define   G_028814_POLY_MODE(x)                                       (((x) >> 3) & 0x03)
5474#define   C_028814_POLY_MODE                                          0xFFFFFFE7
5475#define   S_028814_POLYMODE_FRONT_PTYPE(x)                            (((unsigned)(x) & 0x07) << 5)
5476#define   G_028814_POLYMODE_FRONT_PTYPE(x)                            (((x) >> 5) & 0x07)
5477#define   C_028814_POLYMODE_FRONT_PTYPE                               0xFFFFFF1F
5478#define   S_028814_POLYMODE_BACK_PTYPE(x)                             (((unsigned)(x) & 0x07) << 8)
5479#define   G_028814_POLYMODE_BACK_PTYPE(x)                             (((x) >> 8) & 0x07)
5480#define   C_028814_POLYMODE_BACK_PTYPE                                0xFFFFF8FF
5481#define   S_028814_POLY_OFFSET_FRONT_ENABLE(x)                        (((unsigned)(x) & 0x1) << 11)
5482#define   G_028814_POLY_OFFSET_FRONT_ENABLE(x)                        (((x) >> 11) & 0x1)
5483#define   C_028814_POLY_OFFSET_FRONT_ENABLE                           0xFFFFF7FF
5484#define   S_028814_POLY_OFFSET_BACK_ENABLE(x)                         (((unsigned)(x) & 0x1) << 12)
5485#define   G_028814_POLY_OFFSET_BACK_ENABLE(x)                         (((x) >> 12) & 0x1)
5486#define   C_028814_POLY_OFFSET_BACK_ENABLE                            0xFFFFEFFF
5487#define   S_028814_POLY_OFFSET_PARA_ENABLE(x)                         (((unsigned)(x) & 0x1) << 13)
5488#define   G_028814_POLY_OFFSET_PARA_ENABLE(x)                         (((x) >> 13) & 0x1)
5489#define   C_028814_POLY_OFFSET_PARA_ENABLE                            0xFFFFDFFF
5490#define   S_028814_VTX_WINDOW_OFFSET_ENABLE(x)                        (((unsigned)(x) & 0x1) << 16)
5491#define   G_028814_VTX_WINDOW_OFFSET_ENABLE(x)                        (((x) >> 16) & 0x1)
5492#define   C_028814_VTX_WINDOW_OFFSET_ENABLE                           0xFFFEFFFF
5493#define   S_028814_PROVOKING_VTX_LAST(x)                              (((unsigned)(x) & 0x1) << 19)
5494#define   G_028814_PROVOKING_VTX_LAST(x)                              (((x) >> 19) & 0x1)
5495#define   C_028814_PROVOKING_VTX_LAST                                 0xFFF7FFFF
5496#define   S_028814_PERSP_CORR_DIS(x)                                  (((unsigned)(x) & 0x1) << 20)
5497#define   G_028814_PERSP_CORR_DIS(x)                                  (((x) >> 20) & 0x1)
5498#define   C_028814_PERSP_CORR_DIS                                     0xFFEFFFFF
5499#define   S_028814_MULTI_PRIM_IB_ENA(x)                               (((unsigned)(x) & 0x1) << 21)
5500#define   G_028814_MULTI_PRIM_IB_ENA(x)                               (((x) >> 21) & 0x1)
5501#define   C_028814_MULTI_PRIM_IB_ENA                                  0xFFDFFFFF
5502#define   S_028814_RIGHT_TRIANGLE_ALTERNATE_GRADIENT_REF(x)           (((unsigned)(x) & 0x1) << 22)
5503#define   G_028814_RIGHT_TRIANGLE_ALTERNATE_GRADIENT_REF(x)           (((x) >> 22) & 0x1)
5504#define   C_028814_RIGHT_TRIANGLE_ALTERNATE_GRADIENT_REF              0xFFBFFFFF
5505#define   S_028814_NEW_QUAD_DECOMPOSITION(x)                          (((unsigned)(x) & 0x1) << 23)
5506#define   G_028814_NEW_QUAD_DECOMPOSITION(x)                          (((x) >> 23) & 0x1)
5507#define   C_028814_NEW_QUAD_DECOMPOSITION                             0xFF7FFFFF
5508#define R_028818_PA_CL_VTE_CNTL                                         0x028818
5509#define   S_028818_VPORT_X_SCALE_ENA(x)                               (((unsigned)(x) & 0x1) << 0)
5510#define   G_028818_VPORT_X_SCALE_ENA(x)                               (((x) >> 0) & 0x1)
5511#define   C_028818_VPORT_X_SCALE_ENA                                  0xFFFFFFFE
5512#define   S_028818_VPORT_X_OFFSET_ENA(x)                              (((unsigned)(x) & 0x1) << 1)
5513#define   G_028818_VPORT_X_OFFSET_ENA(x)                              (((x) >> 1) & 0x1)
5514#define   C_028818_VPORT_X_OFFSET_ENA                                 0xFFFFFFFD
5515#define   S_028818_VPORT_Y_SCALE_ENA(x)                               (((unsigned)(x) & 0x1) << 2)
5516#define   G_028818_VPORT_Y_SCALE_ENA(x)                               (((x) >> 2) & 0x1)
5517#define   C_028818_VPORT_Y_SCALE_ENA                                  0xFFFFFFFB
5518#define   S_028818_VPORT_Y_OFFSET_ENA(x)                              (((unsigned)(x) & 0x1) << 3)
5519#define   G_028818_VPORT_Y_OFFSET_ENA(x)                              (((x) >> 3) & 0x1)
5520#define   C_028818_VPORT_Y_OFFSET_ENA                                 0xFFFFFFF7
5521#define   S_028818_VPORT_Z_SCALE_ENA(x)                               (((unsigned)(x) & 0x1) << 4)
5522#define   G_028818_VPORT_Z_SCALE_ENA(x)                               (((x) >> 4) & 0x1)
5523#define   C_028818_VPORT_Z_SCALE_ENA                                  0xFFFFFFEF
5524#define   S_028818_VPORT_Z_OFFSET_ENA(x)                              (((unsigned)(x) & 0x1) << 5)
5525#define   G_028818_VPORT_Z_OFFSET_ENA(x)                              (((x) >> 5) & 0x1)
5526#define   C_028818_VPORT_Z_OFFSET_ENA                                 0xFFFFFFDF
5527#define   S_028818_VTX_XY_FMT(x)                                      (((unsigned)(x) & 0x1) << 8)
5528#define   G_028818_VTX_XY_FMT(x)                                      (((x) >> 8) & 0x1)
5529#define   C_028818_VTX_XY_FMT                                         0xFFFFFEFF
5530#define   S_028818_VTX_Z_FMT(x)                                       (((unsigned)(x) & 0x1) << 9)
5531#define   G_028818_VTX_Z_FMT(x)                                       (((x) >> 9) & 0x1)
5532#define   C_028818_VTX_Z_FMT                                          0xFFFFFDFF
5533#define   S_028818_VTX_W0_FMT(x)                                      (((unsigned)(x) & 0x1) << 10)
5534#define   G_028818_VTX_W0_FMT(x)                                      (((x) >> 10) & 0x1)
5535#define   C_028818_VTX_W0_FMT                                         0xFFFFFBFF
5536#define   S_028818_PERFCOUNTER_REF(x)                                 (((unsigned)(x) & 0x1) << 11)
5537#define   G_028818_PERFCOUNTER_REF(x)                                 (((x) >> 11) & 0x1)
5538#define   C_028818_PERFCOUNTER_REF                                    0xFFFFF7FF
5539#define R_02881C_PA_CL_VS_OUT_CNTL                                      0x02881C
5540#define   S_02881C_CLIP_DIST_ENA_0(x)                                 (((unsigned)(x) & 0x1) << 0)
5541#define   G_02881C_CLIP_DIST_ENA_0(x)                                 (((x) >> 0) & 0x1)
5542#define   C_02881C_CLIP_DIST_ENA_0                                    0xFFFFFFFE
5543#define   S_02881C_CLIP_DIST_ENA_1(x)                                 (((unsigned)(x) & 0x1) << 1)
5544#define   G_02881C_CLIP_DIST_ENA_1(x)                                 (((x) >> 1) & 0x1)
5545#define   C_02881C_CLIP_DIST_ENA_1                                    0xFFFFFFFD
5546#define   S_02881C_CLIP_DIST_ENA_2(x)                                 (((unsigned)(x) & 0x1) << 2)
5547#define   G_02881C_CLIP_DIST_ENA_2(x)                                 (((x) >> 2) & 0x1)
5548#define   C_02881C_CLIP_DIST_ENA_2                                    0xFFFFFFFB
5549#define   S_02881C_CLIP_DIST_ENA_3(x)                                 (((unsigned)(x) & 0x1) << 3)
5550#define   G_02881C_CLIP_DIST_ENA_3(x)                                 (((x) >> 3) & 0x1)
5551#define   C_02881C_CLIP_DIST_ENA_3                                    0xFFFFFFF7
5552#define   S_02881C_CLIP_DIST_ENA_4(x)                                 (((unsigned)(x) & 0x1) << 4)
5553#define   G_02881C_CLIP_DIST_ENA_4(x)                                 (((x) >> 4) & 0x1)
5554#define   C_02881C_CLIP_DIST_ENA_4                                    0xFFFFFFEF
5555#define   S_02881C_CLIP_DIST_ENA_5(x)                                 (((unsigned)(x) & 0x1) << 5)
5556#define   G_02881C_CLIP_DIST_ENA_5(x)                                 (((x) >> 5) & 0x1)
5557#define   C_02881C_CLIP_DIST_ENA_5                                    0xFFFFFFDF
5558#define   S_02881C_CLIP_DIST_ENA_6(x)                                 (((unsigned)(x) & 0x1) << 6)
5559#define   G_02881C_CLIP_DIST_ENA_6(x)                                 (((x) >> 6) & 0x1)
5560#define   C_02881C_CLIP_DIST_ENA_6                                    0xFFFFFFBF
5561#define   S_02881C_CLIP_DIST_ENA_7(x)                                 (((unsigned)(x) & 0x1) << 7)
5562#define   G_02881C_CLIP_DIST_ENA_7(x)                                 (((x) >> 7) & 0x1)
5563#define   C_02881C_CLIP_DIST_ENA_7                                    0xFFFFFF7F
5564#define   S_02881C_CULL_DIST_ENA_0(x)                                 (((unsigned)(x) & 0x1) << 8)
5565#define   G_02881C_CULL_DIST_ENA_0(x)                                 (((x) >> 8) & 0x1)
5566#define   C_02881C_CULL_DIST_ENA_0                                    0xFFFFFEFF
5567#define   S_02881C_CULL_DIST_ENA_1(x)                                 (((unsigned)(x) & 0x1) << 9)
5568#define   G_02881C_CULL_DIST_ENA_1(x)                                 (((x) >> 9) & 0x1)
5569#define   C_02881C_CULL_DIST_ENA_1                                    0xFFFFFDFF
5570#define   S_02881C_CULL_DIST_ENA_2(x)                                 (((unsigned)(x) & 0x1) << 10)
5571#define   G_02881C_CULL_DIST_ENA_2(x)                                 (((x) >> 10) & 0x1)
5572#define   C_02881C_CULL_DIST_ENA_2                                    0xFFFFFBFF
5573#define   S_02881C_CULL_DIST_ENA_3(x)                                 (((unsigned)(x) & 0x1) << 11)
5574#define   G_02881C_CULL_DIST_ENA_3(x)                                 (((x) >> 11) & 0x1)
5575#define   C_02881C_CULL_DIST_ENA_3                                    0xFFFFF7FF
5576#define   S_02881C_CULL_DIST_ENA_4(x)                                 (((unsigned)(x) & 0x1) << 12)
5577#define   G_02881C_CULL_DIST_ENA_4(x)                                 (((x) >> 12) & 0x1)
5578#define   C_02881C_CULL_DIST_ENA_4                                    0xFFFFEFFF
5579#define   S_02881C_CULL_DIST_ENA_5(x)                                 (((unsigned)(x) & 0x1) << 13)
5580#define   G_02881C_CULL_DIST_ENA_5(x)                                 (((x) >> 13) & 0x1)
5581#define   C_02881C_CULL_DIST_ENA_5                                    0xFFFFDFFF
5582#define   S_02881C_CULL_DIST_ENA_6(x)                                 (((unsigned)(x) & 0x1) << 14)
5583#define   G_02881C_CULL_DIST_ENA_6(x)                                 (((x) >> 14) & 0x1)
5584#define   C_02881C_CULL_DIST_ENA_6                                    0xFFFFBFFF
5585#define   S_02881C_CULL_DIST_ENA_7(x)                                 (((unsigned)(x) & 0x1) << 15)
5586#define   G_02881C_CULL_DIST_ENA_7(x)                                 (((x) >> 15) & 0x1)
5587#define   C_02881C_CULL_DIST_ENA_7                                    0xFFFF7FFF
5588#define   S_02881C_USE_VTX_POINT_SIZE(x)                              (((unsigned)(x) & 0x1) << 16)
5589#define   G_02881C_USE_VTX_POINT_SIZE(x)                              (((x) >> 16) & 0x1)
5590#define   C_02881C_USE_VTX_POINT_SIZE                                 0xFFFEFFFF
5591#define   S_02881C_USE_VTX_EDGE_FLAG(x)                               (((unsigned)(x) & 0x1) << 17)
5592#define   G_02881C_USE_VTX_EDGE_FLAG(x)                               (((x) >> 17) & 0x1)
5593#define   C_02881C_USE_VTX_EDGE_FLAG                                  0xFFFDFFFF
5594#define   S_02881C_USE_VTX_RENDER_TARGET_INDX(x)                      (((unsigned)(x) & 0x1) << 18)
5595#define   G_02881C_USE_VTX_RENDER_TARGET_INDX(x)                      (((x) >> 18) & 0x1)
5596#define   C_02881C_USE_VTX_RENDER_TARGET_INDX                         0xFFFBFFFF
5597#define   S_02881C_USE_VTX_VIEWPORT_INDX(x)                           (((unsigned)(x) & 0x1) << 19)
5598#define   G_02881C_USE_VTX_VIEWPORT_INDX(x)                           (((x) >> 19) & 0x1)
5599#define   C_02881C_USE_VTX_VIEWPORT_INDX                              0xFFF7FFFF
5600#define   S_02881C_USE_VTX_KILL_FLAG(x)                               (((unsigned)(x) & 0x1) << 20)
5601#define   G_02881C_USE_VTX_KILL_FLAG(x)                               (((x) >> 20) & 0x1)
5602#define   C_02881C_USE_VTX_KILL_FLAG                                  0xFFEFFFFF
5603#define   S_02881C_VS_OUT_MISC_VEC_ENA(x)                             (((unsigned)(x) & 0x1) << 21)
5604#define   G_02881C_VS_OUT_MISC_VEC_ENA(x)                             (((x) >> 21) & 0x1)
5605#define   C_02881C_VS_OUT_MISC_VEC_ENA                                0xFFDFFFFF
5606#define   S_02881C_VS_OUT_CCDIST0_VEC_ENA(x)                          (((unsigned)(x) & 0x1) << 22)
5607#define   G_02881C_VS_OUT_CCDIST0_VEC_ENA(x)                          (((x) >> 22) & 0x1)
5608#define   C_02881C_VS_OUT_CCDIST0_VEC_ENA                             0xFFBFFFFF
5609#define   S_02881C_VS_OUT_CCDIST1_VEC_ENA(x)                          (((unsigned)(x) & 0x1) << 23)
5610#define   G_02881C_VS_OUT_CCDIST1_VEC_ENA(x)                          (((x) >> 23) & 0x1)
5611#define   C_02881C_VS_OUT_CCDIST1_VEC_ENA                             0xFF7FFFFF
5612#define   S_02881C_VS_OUT_MISC_SIDE_BUS_ENA(x)                        (((unsigned)(x) & 0x1) << 24)
5613#define   G_02881C_VS_OUT_MISC_SIDE_BUS_ENA(x)                        (((x) >> 24) & 0x1)
5614#define   C_02881C_VS_OUT_MISC_SIDE_BUS_ENA                           0xFEFFFFFF
5615#define   S_02881C_USE_VTX_GS_CUT_FLAG(x)                             (((unsigned)(x) & 0x1) << 25)
5616#define   G_02881C_USE_VTX_GS_CUT_FLAG(x)                             (((x) >> 25) & 0x1)
5617#define   C_02881C_USE_VTX_GS_CUT_FLAG                                0xFDFFFFFF
5618#define   S_02881C_USE_VTX_LINE_WIDTH(x)                              (((unsigned)(x) & 0x1) << 26)
5619#define   G_02881C_USE_VTX_LINE_WIDTH(x)                              (((x) >> 26) & 0x1)
5620#define   C_02881C_USE_VTX_LINE_WIDTH                                 0xFBFFFFFF
5621#define   S_02881C_USE_VTX_SHD_OBJPRIM_ID(x)                          (((unsigned)(x) & 0x1) << 27)
5622#define   G_02881C_USE_VTX_SHD_OBJPRIM_ID(x)                          (((x) >> 27) & 0x1)
5623#define   C_02881C_USE_VTX_SHD_OBJPRIM_ID                             0xF7FFFFFF
5624#define R_028820_PA_CL_NANINF_CNTL                                      0x028820
5625#define   S_028820_VTE_XY_INF_DISCARD(x)                              (((unsigned)(x) & 0x1) << 0)
5626#define   G_028820_VTE_XY_INF_DISCARD(x)                              (((x) >> 0) & 0x1)
5627#define   C_028820_VTE_XY_INF_DISCARD                                 0xFFFFFFFE
5628#define   S_028820_VTE_Z_INF_DISCARD(x)                               (((unsigned)(x) & 0x1) << 1)
5629#define   G_028820_VTE_Z_INF_DISCARD(x)                               (((x) >> 1) & 0x1)
5630#define   C_028820_VTE_Z_INF_DISCARD                                  0xFFFFFFFD
5631#define   S_028820_VTE_W_INF_DISCARD(x)                               (((unsigned)(x) & 0x1) << 2)
5632#define   G_028820_VTE_W_INF_DISCARD(x)                               (((x) >> 2) & 0x1)
5633#define   C_028820_VTE_W_INF_DISCARD                                  0xFFFFFFFB
5634#define   S_028820_VTE_0XNANINF_IS_0(x)                               (((unsigned)(x) & 0x1) << 3)
5635#define   G_028820_VTE_0XNANINF_IS_0(x)                               (((x) >> 3) & 0x1)
5636#define   C_028820_VTE_0XNANINF_IS_0                                  0xFFFFFFF7
5637#define   S_028820_VTE_XY_NAN_RETAIN(x)                               (((unsigned)(x) & 0x1) << 4)
5638#define   G_028820_VTE_XY_NAN_RETAIN(x)                               (((x) >> 4) & 0x1)
5639#define   C_028820_VTE_XY_NAN_RETAIN                                  0xFFFFFFEF
5640#define   S_028820_VTE_Z_NAN_RETAIN(x)                                (((unsigned)(x) & 0x1) << 5)
5641#define   G_028820_VTE_Z_NAN_RETAIN(x)                                (((x) >> 5) & 0x1)
5642#define   C_028820_VTE_Z_NAN_RETAIN                                   0xFFFFFFDF
5643#define   S_028820_VTE_W_NAN_RETAIN(x)                                (((unsigned)(x) & 0x1) << 6)
5644#define   G_028820_VTE_W_NAN_RETAIN(x)                                (((x) >> 6) & 0x1)
5645#define   C_028820_VTE_W_NAN_RETAIN                                   0xFFFFFFBF
5646#define   S_028820_VTE_W_RECIP_NAN_IS_0(x)                            (((unsigned)(x) & 0x1) << 7)
5647#define   G_028820_VTE_W_RECIP_NAN_IS_0(x)                            (((x) >> 7) & 0x1)
5648#define   C_028820_VTE_W_RECIP_NAN_IS_0                               0xFFFFFF7F
5649#define   S_028820_VS_XY_NAN_TO_INF(x)                                (((unsigned)(x) & 0x1) << 8)
5650#define   G_028820_VS_XY_NAN_TO_INF(x)                                (((x) >> 8) & 0x1)
5651#define   C_028820_VS_XY_NAN_TO_INF                                   0xFFFFFEFF
5652#define   S_028820_VS_XY_INF_RETAIN(x)                                (((unsigned)(x) & 0x1) << 9)
5653#define   G_028820_VS_XY_INF_RETAIN(x)                                (((x) >> 9) & 0x1)
5654#define   C_028820_VS_XY_INF_RETAIN                                   0xFFFFFDFF
5655#define   S_028820_VS_Z_NAN_TO_INF(x)                                 (((unsigned)(x) & 0x1) << 10)
5656#define   G_028820_VS_Z_NAN_TO_INF(x)                                 (((x) >> 10) & 0x1)
5657#define   C_028820_VS_Z_NAN_TO_INF                                    0xFFFFFBFF
5658#define   S_028820_VS_Z_INF_RETAIN(x)                                 (((unsigned)(x) & 0x1) << 11)
5659#define   G_028820_VS_Z_INF_RETAIN(x)                                 (((x) >> 11) & 0x1)
5660#define   C_028820_VS_Z_INF_RETAIN                                    0xFFFFF7FF
5661#define   S_028820_VS_W_NAN_TO_INF(x)                                 (((unsigned)(x) & 0x1) << 12)
5662#define   G_028820_VS_W_NAN_TO_INF(x)                                 (((x) >> 12) & 0x1)
5663#define   C_028820_VS_W_NAN_TO_INF                                    0xFFFFEFFF
5664#define   S_028820_VS_W_INF_RETAIN(x)                                 (((unsigned)(x) & 0x1) << 13)
5665#define   G_028820_VS_W_INF_RETAIN(x)                                 (((x) >> 13) & 0x1)
5666#define   C_028820_VS_W_INF_RETAIN                                    0xFFFFDFFF
5667#define   S_028820_VS_CLIP_DIST_INF_DISCARD(x)                        (((unsigned)(x) & 0x1) << 14)
5668#define   G_028820_VS_CLIP_DIST_INF_DISCARD(x)                        (((x) >> 14) & 0x1)
5669#define   C_028820_VS_CLIP_DIST_INF_DISCARD                           0xFFFFBFFF
5670#define   S_028820_VTE_NO_OUTPUT_NEG_0(x)                             (((unsigned)(x) & 0x1) << 20)
5671#define   G_028820_VTE_NO_OUTPUT_NEG_0(x)                             (((x) >> 20) & 0x1)
5672#define   C_028820_VTE_NO_OUTPUT_NEG_0                                0xFFEFFFFF
5673#define R_028824_PA_SU_LINE_STIPPLE_CNTL                                0x028824
5674#define   S_028824_LINE_STIPPLE_RESET(x)                              (((unsigned)(x) & 0x03) << 0)
5675#define   G_028824_LINE_STIPPLE_RESET(x)                              (((x) >> 0) & 0x03)
5676#define   C_028824_LINE_STIPPLE_RESET                                 0xFFFFFFFC
5677#define   S_028824_EXPAND_FULL_LENGTH(x)                              (((unsigned)(x) & 0x1) << 2)
5678#define   G_028824_EXPAND_FULL_LENGTH(x)                              (((x) >> 2) & 0x1)
5679#define   C_028824_EXPAND_FULL_LENGTH                                 0xFFFFFFFB
5680#define   S_028824_FRACTIONAL_ACCUM(x)                                (((unsigned)(x) & 0x1) << 3)
5681#define   G_028824_FRACTIONAL_ACCUM(x)                                (((x) >> 3) & 0x1)
5682#define   C_028824_FRACTIONAL_ACCUM                                   0xFFFFFFF7
5683#define   S_028824_DIAMOND_ADJUST(x)                                  (((unsigned)(x) & 0x1) << 4)
5684#define   G_028824_DIAMOND_ADJUST(x)                                  (((x) >> 4) & 0x1)
5685#define   C_028824_DIAMOND_ADJUST                                     0xFFFFFFEF
5686#define R_028828_PA_SU_LINE_STIPPLE_SCALE                               0x028828
5687#define R_02882C_PA_SU_PRIM_FILTER_CNTL                                 0x02882C
5688#define   S_02882C_TRIANGLE_FILTER_DISABLE(x)                         (((unsigned)(x) & 0x1) << 0)
5689#define   G_02882C_TRIANGLE_FILTER_DISABLE(x)                         (((x) >> 0) & 0x1)
5690#define   C_02882C_TRIANGLE_FILTER_DISABLE                            0xFFFFFFFE
5691#define   S_02882C_LINE_FILTER_DISABLE(x)                             (((unsigned)(x) & 0x1) << 1)
5692#define   G_02882C_LINE_FILTER_DISABLE(x)                             (((x) >> 1) & 0x1)
5693#define   C_02882C_LINE_FILTER_DISABLE                                0xFFFFFFFD
5694#define   S_02882C_POINT_FILTER_DISABLE(x)                            (((unsigned)(x) & 0x1) << 2)
5695#define   G_02882C_POINT_FILTER_DISABLE(x)                            (((x) >> 2) & 0x1)
5696#define   C_02882C_POINT_FILTER_DISABLE                               0xFFFFFFFB
5697#define   S_02882C_RECTANGLE_FILTER_DISABLE(x)                        (((unsigned)(x) & 0x1) << 3)
5698#define   G_02882C_RECTANGLE_FILTER_DISABLE(x)                        (((x) >> 3) & 0x1)
5699#define   C_02882C_RECTANGLE_FILTER_DISABLE                           0xFFFFFFF7
5700#define   S_02882C_TRIANGLE_EXPAND_ENA(x)                             (((unsigned)(x) & 0x1) << 4)
5701#define   G_02882C_TRIANGLE_EXPAND_ENA(x)                             (((x) >> 4) & 0x1)
5702#define   C_02882C_TRIANGLE_EXPAND_ENA                                0xFFFFFFEF
5703#define   S_02882C_LINE_EXPAND_ENA(x)                                 (((unsigned)(x) & 0x1) << 5)
5704#define   G_02882C_LINE_EXPAND_ENA(x)                                 (((x) >> 5) & 0x1)
5705#define   C_02882C_LINE_EXPAND_ENA                                    0xFFFFFFDF
5706#define   S_02882C_POINT_EXPAND_ENA(x)                                (((unsigned)(x) & 0x1) << 6)
5707#define   G_02882C_POINT_EXPAND_ENA(x)                                (((x) >> 6) & 0x1)
5708#define   C_02882C_POINT_EXPAND_ENA                                   0xFFFFFFBF
5709#define   S_02882C_RECTANGLE_EXPAND_ENA(x)                            (((unsigned)(x) & 0x1) << 7)
5710#define   G_02882C_RECTANGLE_EXPAND_ENA(x)                            (((x) >> 7) & 0x1)
5711#define   C_02882C_RECTANGLE_EXPAND_ENA                               0xFFFFFF7F
5712#define   S_02882C_PRIM_EXPAND_CONSTANT(x)                            (((unsigned)(x) & 0xFF) << 8)
5713#define   G_02882C_PRIM_EXPAND_CONSTANT(x)                            (((x) >> 8) & 0xFF)
5714#define   C_02882C_PRIM_EXPAND_CONSTANT                               0xFFFF00FF
5715#define   S_02882C_XMAX_RIGHT_EXCLUSION(x)                            (((unsigned)(x) & 0x1) << 30)
5716#define   G_02882C_XMAX_RIGHT_EXCLUSION(x)                            (((x) >> 30) & 0x1)
5717#define   C_02882C_XMAX_RIGHT_EXCLUSION                               0xBFFFFFFF
5718#define   S_02882C_YMAX_BOTTOM_EXCLUSION(x)                           (((unsigned)(x) & 0x1) << 31)
5719#define   G_02882C_YMAX_BOTTOM_EXCLUSION(x)                           (((x) >> 31) & 0x1)
5720#define   C_02882C_YMAX_BOTTOM_EXCLUSION                              0x7FFFFFFF
5721#define R_028830_PA_SU_SMALL_PRIM_FILTER_CNTL                           0x028830
5722#define   S_028830_SMALL_PRIM_FILTER_ENABLE(x)                        (((unsigned)(x) & 0x1) << 0)
5723#define   G_028830_SMALL_PRIM_FILTER_ENABLE(x)                        (((x) >> 0) & 0x1)
5724#define   C_028830_SMALL_PRIM_FILTER_ENABLE                           0xFFFFFFFE
5725#define   S_028830_TRIANGLE_FILTER_DISABLE(x)                         (((unsigned)(x) & 0x1) << 1)
5726#define   G_028830_TRIANGLE_FILTER_DISABLE(x)                         (((x) >> 1) & 0x1)
5727#define   C_028830_TRIANGLE_FILTER_DISABLE                            0xFFFFFFFD
5728#define   S_028830_LINE_FILTER_DISABLE(x)                             (((unsigned)(x) & 0x1) << 2)
5729#define   G_028830_LINE_FILTER_DISABLE(x)                             (((x) >> 2) & 0x1)
5730#define   C_028830_LINE_FILTER_DISABLE                                0xFFFFFFFB
5731#define   S_028830_POINT_FILTER_DISABLE(x)                            (((unsigned)(x) & 0x1) << 3)
5732#define   G_028830_POINT_FILTER_DISABLE(x)                            (((x) >> 3) & 0x1)
5733#define   C_028830_POINT_FILTER_DISABLE                               0xFFFFFFF7
5734#define   S_028830_RECTANGLE_FILTER_DISABLE(x)                        (((unsigned)(x) & 0x1) << 4)
5735#define   G_028830_RECTANGLE_FILTER_DISABLE(x)                        (((x) >> 4) & 0x1)
5736#define   C_028830_RECTANGLE_FILTER_DISABLE                           0xFFFFFFEF
5737#define R_028834_PA_CL_OBJPRIM_ID_CNTL                                  0x028834
5738#define   S_028834_OBJ_ID_SEL(x)                                      (((unsigned)(x) & 0x1) << 0)
5739#define   G_028834_OBJ_ID_SEL(x)                                      (((x) >> 0) & 0x1)
5740#define   C_028834_OBJ_ID_SEL                                         0xFFFFFFFE
5741#define   S_028834_ADD_PIPED_PRIM_ID(x)                               (((unsigned)(x) & 0x1) << 1)
5742#define   G_028834_ADD_PIPED_PRIM_ID(x)                               (((x) >> 1) & 0x1)
5743#define   C_028834_ADD_PIPED_PRIM_ID                                  0xFFFFFFFD
5744#define   S_028834_EN_32BIT_OBJPRIMID(x)                              (((unsigned)(x) & 0x1) << 2)
5745#define   G_028834_EN_32BIT_OBJPRIMID(x)                              (((x) >> 2) & 0x1)
5746#define   C_028834_EN_32BIT_OBJPRIMID                                 0xFFFFFFFB
5747#define R_028838_PA_CL_NGG_CNTL                                         0x028838
5748#define   S_028838_VERTEX_REUSE_OFF(x)                                (((unsigned)(x) & 0x1) << 0)
5749#define   G_028838_VERTEX_REUSE_OFF(x)                                (((x) >> 0) & 0x1)
5750#define   C_028838_VERTEX_REUSE_OFF                                   0xFFFFFFFE
5751#define   S_028838_INDEX_BUF_EDGE_FLAG_ENA(x)                         (((unsigned)(x) & 0x1) << 1)
5752#define   G_028838_INDEX_BUF_EDGE_FLAG_ENA(x)                         (((x) >> 1) & 0x1)
5753#define   C_028838_INDEX_BUF_EDGE_FLAG_ENA                            0xFFFFFFFD
5754#define R_02883C_PA_SU_OVER_RASTERIZATION_CNTL                          0x02883C
5755#define   S_02883C_DISCARD_0_AREA_TRIANGLES(x)                        (((unsigned)(x) & 0x1) << 0)
5756#define   G_02883C_DISCARD_0_AREA_TRIANGLES(x)                        (((x) >> 0) & 0x1)
5757#define   C_02883C_DISCARD_0_AREA_TRIANGLES                           0xFFFFFFFE
5758#define   S_02883C_DISCARD_0_AREA_LINES(x)                            (((unsigned)(x) & 0x1) << 1)
5759#define   G_02883C_DISCARD_0_AREA_LINES(x)                            (((x) >> 1) & 0x1)
5760#define   C_02883C_DISCARD_0_AREA_LINES                               0xFFFFFFFD
5761#define   S_02883C_DISCARD_0_AREA_POINTS(x)                           (((unsigned)(x) & 0x1) << 2)
5762#define   G_02883C_DISCARD_0_AREA_POINTS(x)                           (((x) >> 2) & 0x1)
5763#define   C_02883C_DISCARD_0_AREA_POINTS                              0xFFFFFFFB
5764#define   S_02883C_DISCARD_0_AREA_RECTANGLES(x)                       (((unsigned)(x) & 0x1) << 3)
5765#define   G_02883C_DISCARD_0_AREA_RECTANGLES(x)                       (((x) >> 3) & 0x1)
5766#define   C_02883C_DISCARD_0_AREA_RECTANGLES                          0xFFFFFFF7
5767#define   S_02883C_USE_PROVOKING_ZW(x)                                (((unsigned)(x) & 0x1) << 4)
5768#define   G_02883C_USE_PROVOKING_ZW(x)                                (((x) >> 4) & 0x1)
5769#define   C_02883C_USE_PROVOKING_ZW                                   0xFFFFFFEF
5770#define R_028840_PA_STEREO_CNTL                                         0x028840
5771#define R_028A00_PA_SU_POINT_SIZE                                       0x028A00
5772#define   S_028A00_HEIGHT(x)                                          (((unsigned)(x) & 0xFFFF) << 0)
5773#define   G_028A00_HEIGHT(x)                                          (((x) >> 0) & 0xFFFF)
5774#define   C_028A00_HEIGHT                                             0xFFFF0000
5775#define   S_028A00_WIDTH(x)                                           (((unsigned)(x) & 0xFFFF) << 16)
5776#define   G_028A00_WIDTH(x)                                           (((x) >> 16) & 0xFFFF)
5777#define   C_028A00_WIDTH                                              0x0000FFFF
5778#define R_028A04_PA_SU_POINT_MINMAX                                     0x028A04
5779#define   S_028A04_MIN_SIZE(x)                                        (((unsigned)(x) & 0xFFFF) << 0)
5780#define   G_028A04_MIN_SIZE(x)                                        (((x) >> 0) & 0xFFFF)
5781#define   C_028A04_MIN_SIZE                                           0xFFFF0000
5782#define   S_028A04_MAX_SIZE(x)                                        (((unsigned)(x) & 0xFFFF) << 16)
5783#define   G_028A04_MAX_SIZE(x)                                        (((x) >> 16) & 0xFFFF)
5784#define   C_028A04_MAX_SIZE                                           0x0000FFFF
5785#define R_028A08_PA_SU_LINE_CNTL                                        0x028A08
5786#define   S_028A08_WIDTH(x)                                           (((unsigned)(x) & 0xFFFF) << 0)
5787#define   G_028A08_WIDTH(x)                                           (((x) >> 0) & 0xFFFF)
5788#define   C_028A08_WIDTH                                              0xFFFF0000
5789#define R_028A0C_PA_SC_LINE_STIPPLE                                     0x028A0C
5790#define   S_028A0C_LINE_PATTERN(x)                                    (((unsigned)(x) & 0xFFFF) << 0)
5791#define   G_028A0C_LINE_PATTERN(x)                                    (((x) >> 0) & 0xFFFF)
5792#define   C_028A0C_LINE_PATTERN                                       0xFFFF0000
5793#define   S_028A0C_REPEAT_COUNT(x)                                    (((unsigned)(x) & 0xFF) << 16)
5794#define   G_028A0C_REPEAT_COUNT(x)                                    (((x) >> 16) & 0xFF)
5795#define   C_028A0C_REPEAT_COUNT                                       0xFF00FFFF
5796#define   S_028A0C_PATTERN_BIT_ORDER(x)                               (((unsigned)(x) & 0x1) << 28)
5797#define   G_028A0C_PATTERN_BIT_ORDER(x)                               (((x) >> 28) & 0x1)
5798#define   C_028A0C_PATTERN_BIT_ORDER                                  0xEFFFFFFF
5799#define   S_028A0C_AUTO_RESET_CNTL(x)                                 (((unsigned)(x) & 0x03) << 29)
5800#define   G_028A0C_AUTO_RESET_CNTL(x)                                 (((x) >> 29) & 0x03)
5801#define   C_028A0C_AUTO_RESET_CNTL                                    0x9FFFFFFF
5802#define R_028A10_VGT_OUTPUT_PATH_CNTL                                   0x028A10
5803#define   S_028A10_PATH_SELECT(x)                                     (((unsigned)(x) & 0x07) << 0)
5804#define   G_028A10_PATH_SELECT(x)                                     (((x) >> 0) & 0x07)
5805#define   C_028A10_PATH_SELECT                                        0xFFFFFFF8
5806#define R_028A14_VGT_HOS_CNTL                                           0x028A14
5807#define   S_028A14_TESS_MODE(x)                                       (((unsigned)(x) & 0x03) << 0)
5808#define   G_028A14_TESS_MODE(x)                                       (((x) >> 0) & 0x03)
5809#define   C_028A14_TESS_MODE                                          0xFFFFFFFC
5810#define R_028A18_VGT_HOS_MAX_TESS_LEVEL                                 0x028A18
5811#define R_028A1C_VGT_HOS_MIN_TESS_LEVEL                                 0x028A1C
5812#define R_028A20_VGT_HOS_REUSE_DEPTH                                    0x028A20
5813#define   S_028A20_REUSE_DEPTH(x)                                     (((unsigned)(x) & 0xFF) << 0)
5814#define   G_028A20_REUSE_DEPTH(x)                                     (((x) >> 0) & 0xFF)
5815#define   C_028A20_REUSE_DEPTH                                        0xFFFFFF00
5816#define R_028A24_VGT_GROUP_PRIM_TYPE                                    0x028A24
5817#define   S_028A24_PRIM_TYPE(x)                                       (((unsigned)(x) & 0x1F) << 0)
5818#define   G_028A24_PRIM_TYPE(x)                                       (((x) >> 0) & 0x1F)
5819#define   C_028A24_PRIM_TYPE                                          0xFFFFFFE0
5820#define   S_028A24_RETAIN_ORDER(x)                                    (((unsigned)(x) & 0x1) << 14)
5821#define   G_028A24_RETAIN_ORDER(x)                                    (((x) >> 14) & 0x1)
5822#define   C_028A24_RETAIN_ORDER                                       0xFFFFBFFF
5823#define   S_028A24_RETAIN_QUADS(x)                                    (((unsigned)(x) & 0x1) << 15)
5824#define   G_028A24_RETAIN_QUADS(x)                                    (((x) >> 15) & 0x1)
5825#define   C_028A24_RETAIN_QUADS                                       0xFFFF7FFF
5826#define   S_028A24_PRIM_ORDER(x)                                      (((unsigned)(x) & 0x07) << 16)
5827#define   G_028A24_PRIM_ORDER(x)                                      (((x) >> 16) & 0x07)
5828#define   C_028A24_PRIM_ORDER                                         0xFFF8FFFF
5829#define R_028A28_VGT_GROUP_FIRST_DECR                                   0x028A28
5830#define   S_028A28_FIRST_DECR(x)                                      (((unsigned)(x) & 0x0F) << 0)
5831#define   G_028A28_FIRST_DECR(x)                                      (((x) >> 0) & 0x0F)
5832#define   C_028A28_FIRST_DECR                                         0xFFFFFFF0
5833#define R_028A2C_VGT_GROUP_DECR                                         0x028A2C
5834#define   S_028A2C_DECR(x)                                            (((unsigned)(x) & 0x0F) << 0)
5835#define   G_028A2C_DECR(x)                                            (((x) >> 0) & 0x0F)
5836#define   C_028A2C_DECR                                               0xFFFFFFF0
5837#define R_028A30_VGT_GROUP_VECT_0_CNTL                                  0x028A30
5838#define   S_028A30_COMP_X_EN(x)                                       (((unsigned)(x) & 0x1) << 0)
5839#define   G_028A30_COMP_X_EN(x)                                       (((x) >> 0) & 0x1)
5840#define   C_028A30_COMP_X_EN                                          0xFFFFFFFE
5841#define   S_028A30_COMP_Y_EN(x)                                       (((unsigned)(x) & 0x1) << 1)
5842#define   G_028A30_COMP_Y_EN(x)                                       (((x) >> 1) & 0x1)
5843#define   C_028A30_COMP_Y_EN                                          0xFFFFFFFD
5844#define   S_028A30_COMP_Z_EN(x)                                       (((unsigned)(x) & 0x1) << 2)
5845#define   G_028A30_COMP_Z_EN(x)                                       (((x) >> 2) & 0x1)
5846#define   C_028A30_COMP_Z_EN                                          0xFFFFFFFB
5847#define   S_028A30_COMP_W_EN(x)                                       (((unsigned)(x) & 0x1) << 3)
5848#define   G_028A30_COMP_W_EN(x)                                       (((x) >> 3) & 0x1)
5849#define   C_028A30_COMP_W_EN                                          0xFFFFFFF7
5850#define   S_028A30_STRIDE(x)                                          (((unsigned)(x) & 0xFF) << 8)
5851#define   G_028A30_STRIDE(x)                                          (((x) >> 8) & 0xFF)
5852#define   C_028A30_STRIDE                                             0xFFFF00FF
5853#define   S_028A30_SHIFT(x)                                           (((unsigned)(x) & 0xFF) << 16)
5854#define   G_028A30_SHIFT(x)                                           (((x) >> 16) & 0xFF)
5855#define   C_028A30_SHIFT                                              0xFF00FFFF
5856#define R_028A34_VGT_GROUP_VECT_1_CNTL                                  0x028A34
5857#define   S_028A34_COMP_X_EN(x)                                       (((unsigned)(x) & 0x1) << 0)
5858#define   G_028A34_COMP_X_EN(x)                                       (((x) >> 0) & 0x1)
5859#define   C_028A34_COMP_X_EN                                          0xFFFFFFFE
5860#define   S_028A34_COMP_Y_EN(x)                                       (((unsigned)(x) & 0x1) << 1)
5861#define   G_028A34_COMP_Y_EN(x)                                       (((x) >> 1) & 0x1)
5862#define   C_028A34_COMP_Y_EN                                          0xFFFFFFFD
5863#define   S_028A34_COMP_Z_EN(x)                                       (((unsigned)(x) & 0x1) << 2)
5864#define   G_028A34_COMP_Z_EN(x)                                       (((x) >> 2) & 0x1)
5865#define   C_028A34_COMP_Z_EN                                          0xFFFFFFFB
5866#define   S_028A34_COMP_W_EN(x)                                       (((unsigned)(x) & 0x1) << 3)
5867#define   G_028A34_COMP_W_EN(x)                                       (((x) >> 3) & 0x1)
5868#define   C_028A34_COMP_W_EN                                          0xFFFFFFF7
5869#define   S_028A34_STRIDE(x)                                          (((unsigned)(x) & 0xFF) << 8)
5870#define   G_028A34_STRIDE(x)                                          (((x) >> 8) & 0xFF)
5871#define   C_028A34_STRIDE                                             0xFFFF00FF
5872#define   S_028A34_SHIFT(x)                                           (((unsigned)(x) & 0xFF) << 16)
5873#define   G_028A34_SHIFT(x)                                           (((x) >> 16) & 0xFF)
5874#define   C_028A34_SHIFT                                              0xFF00FFFF
5875#define R_028A38_VGT_GROUP_VECT_0_FMT_CNTL                              0x028A38
5876#define   S_028A38_X_CONV(x)                                          (((unsigned)(x) & 0x0F) << 0)
5877#define   G_028A38_X_CONV(x)                                          (((x) >> 0) & 0x0F)
5878#define   C_028A38_X_CONV                                             0xFFFFFFF0
5879#define   S_028A38_X_OFFSET(x)                                        (((unsigned)(x) & 0x0F) << 4)
5880#define   G_028A38_X_OFFSET(x)                                        (((x) >> 4) & 0x0F)
5881#define   C_028A38_X_OFFSET                                           0xFFFFFF0F
5882#define   S_028A38_Y_CONV(x)                                          (((unsigned)(x) & 0x0F) << 8)
5883#define   G_028A38_Y_CONV(x)                                          (((x) >> 8) & 0x0F)
5884#define   C_028A38_Y_CONV                                             0xFFFFF0FF
5885#define   S_028A38_Y_OFFSET(x)                                        (((unsigned)(x) & 0x0F) << 12)
5886#define   G_028A38_Y_OFFSET(x)                                        (((x) >> 12) & 0x0F)
5887#define   C_028A38_Y_OFFSET                                           0xFFFF0FFF
5888#define   S_028A38_Z_CONV(x)                                          (((unsigned)(x) & 0x0F) << 16)
5889#define   G_028A38_Z_CONV(x)                                          (((x) >> 16) & 0x0F)
5890#define   C_028A38_Z_CONV                                             0xFFF0FFFF
5891#define   S_028A38_Z_OFFSET(x)                                        (((unsigned)(x) & 0x0F) << 20)
5892#define   G_028A38_Z_OFFSET(x)                                        (((x) >> 20) & 0x0F)
5893#define   C_028A38_Z_OFFSET                                           0xFF0FFFFF
5894#define   S_028A38_W_CONV(x)                                          (((unsigned)(x) & 0x0F) << 24)
5895#define   G_028A38_W_CONV(x)                                          (((x) >> 24) & 0x0F)
5896#define   C_028A38_W_CONV                                             0xF0FFFFFF
5897#define   S_028A38_W_OFFSET(x)                                        (((unsigned)(x) & 0x0F) << 28)
5898#define   G_028A38_W_OFFSET(x)                                        (((x) >> 28) & 0x0F)
5899#define   C_028A38_W_OFFSET                                           0x0FFFFFFF
5900#define R_028A3C_VGT_GROUP_VECT_1_FMT_CNTL                              0x028A3C
5901#define   S_028A3C_X_CONV(x)                                          (((unsigned)(x) & 0x0F) << 0)
5902#define   G_028A3C_X_CONV(x)                                          (((x) >> 0) & 0x0F)
5903#define   C_028A3C_X_CONV                                             0xFFFFFFF0
5904#define   S_028A3C_X_OFFSET(x)                                        (((unsigned)(x) & 0x0F) << 4)
5905#define   G_028A3C_X_OFFSET(x)                                        (((x) >> 4) & 0x0F)
5906#define   C_028A3C_X_OFFSET                                           0xFFFFFF0F
5907#define   S_028A3C_Y_CONV(x)                                          (((unsigned)(x) & 0x0F) << 8)
5908#define   G_028A3C_Y_CONV(x)                                          (((x) >> 8) & 0x0F)
5909#define   C_028A3C_Y_CONV                                             0xFFFFF0FF
5910#define   S_028A3C_Y_OFFSET(x)                                        (((unsigned)(x) & 0x0F) << 12)
5911#define   G_028A3C_Y_OFFSET(x)                                        (((x) >> 12) & 0x0F)
5912#define   C_028A3C_Y_OFFSET                                           0xFFFF0FFF
5913#define   S_028A3C_Z_CONV(x)                                          (((unsigned)(x) & 0x0F) << 16)
5914#define   G_028A3C_Z_CONV(x)                                          (((x) >> 16) & 0x0F)
5915#define   C_028A3C_Z_CONV                                             0xFFF0FFFF
5916#define   S_028A3C_Z_OFFSET(x)                                        (((unsigned)(x) & 0x0F) << 20)
5917#define   G_028A3C_Z_OFFSET(x)                                        (((x) >> 20) & 0x0F)
5918#define   C_028A3C_Z_OFFSET                                           0xFF0FFFFF
5919#define   S_028A3C_W_CONV(x)                                          (((unsigned)(x) & 0x0F) << 24)
5920#define   G_028A3C_W_CONV(x)                                          (((x) >> 24) & 0x0F)
5921#define   C_028A3C_W_CONV                                             0xF0FFFFFF
5922#define   S_028A3C_W_OFFSET(x)                                        (((unsigned)(x) & 0x0F) << 28)
5923#define   G_028A3C_W_OFFSET(x)                                        (((x) >> 28) & 0x0F)
5924#define   C_028A3C_W_OFFSET                                           0x0FFFFFFF
5925#define R_028A40_VGT_GS_MODE                                            0x028A40
5926#define   S_028A40_MODE(x)                                            (((unsigned)(x) & 0x07) << 0)
5927#define   G_028A40_MODE(x)                                            (((x) >> 0) & 0x07)
5928#define   C_028A40_MODE                                               0xFFFFFFF8
5929#define   S_028A40_RESERVED_0(x)                                      (((unsigned)(x) & 0x1) << 3)
5930#define   G_028A40_RESERVED_0(x)                                      (((x) >> 3) & 0x1)
5931#define   C_028A40_RESERVED_0                                         0xFFFFFFF7
5932#define   S_028A40_CUT_MODE(x)                                        (((unsigned)(x) & 0x03) << 4)
5933#define   G_028A40_CUT_MODE(x)                                        (((x) >> 4) & 0x03)
5934#define   C_028A40_CUT_MODE                                           0xFFFFFFCF
5935#define   S_028A40_RESERVED_1(x)                                      (((unsigned)(x) & 0x1F) << 6)
5936#define   G_028A40_RESERVED_1(x)                                      (((x) >> 6) & 0x1F)
5937#define   C_028A40_RESERVED_1                                         0xFFFFF83F
5938#define   S_028A40_GS_C_PACK_EN(x)                                    (((unsigned)(x) & 0x1) << 11)
5939#define   G_028A40_GS_C_PACK_EN(x)                                    (((x) >> 11) & 0x1)
5940#define   C_028A40_GS_C_PACK_EN                                       0xFFFFF7FF
5941#define   S_028A40_RESERVED_2(x)                                      (((unsigned)(x) & 0x1) << 12)
5942#define   G_028A40_RESERVED_2(x)                                      (((x) >> 12) & 0x1)
5943#define   C_028A40_RESERVED_2                                         0xFFFFEFFF
5944#define   S_028A40_ES_PASSTHRU(x)                                     (((unsigned)(x) & 0x1) << 13)
5945#define   G_028A40_ES_PASSTHRU(x)                                     (((x) >> 13) & 0x1)
5946#define   C_028A40_ES_PASSTHRU                                        0xFFFFDFFF
5947#define   S_028A40_RESERVED_3(x)                                      (((unsigned)(x) & 0x1) << 14)
5948#define   G_028A40_RESERVED_3(x)                                      (((x) >> 14) & 0x1)
5949#define   C_028A40_RESERVED_3                                         0xFFFFBFFF
5950#define   S_028A40_RESERVED_4(x)                                      (((unsigned)(x) & 0x1) << 15)
5951#define   G_028A40_RESERVED_4(x)                                      (((x) >> 15) & 0x1)
5952#define   C_028A40_RESERVED_4                                         0xFFFF7FFF
5953#define   S_028A40_RESERVED_5(x)                                      (((unsigned)(x) & 0x1) << 16)
5954#define   G_028A40_RESERVED_5(x)                                      (((x) >> 16) & 0x1)
5955#define   C_028A40_RESERVED_5                                         0xFFFEFFFF
5956#define   S_028A40_PARTIAL_THD_AT_EOI(x)                              (((unsigned)(x) & 0x1) << 17)
5957#define   G_028A40_PARTIAL_THD_AT_EOI(x)                              (((x) >> 17) & 0x1)
5958#define   C_028A40_PARTIAL_THD_AT_EOI                                 0xFFFDFFFF
5959#define   S_028A40_SUPPRESS_CUTS(x)                                   (((unsigned)(x) & 0x1) << 18)
5960#define   G_028A40_SUPPRESS_CUTS(x)                                   (((x) >> 18) & 0x1)
5961#define   C_028A40_SUPPRESS_CUTS                                      0xFFFBFFFF
5962#define   S_028A40_ES_WRITE_OPTIMIZE(x)                               (((unsigned)(x) & 0x1) << 19)
5963#define   G_028A40_ES_WRITE_OPTIMIZE(x)                               (((x) >> 19) & 0x1)
5964#define   C_028A40_ES_WRITE_OPTIMIZE                                  0xFFF7FFFF
5965#define   S_028A40_GS_WRITE_OPTIMIZE(x)                               (((unsigned)(x) & 0x1) << 20)
5966#define   G_028A40_GS_WRITE_OPTIMIZE(x)                               (((x) >> 20) & 0x1)
5967#define   C_028A40_GS_WRITE_OPTIMIZE                                  0xFFEFFFFF
5968#define   S_028A40_ONCHIP(x)                                          (((unsigned)(x) & 0x03) << 21)
5969#define   G_028A40_ONCHIP(x)                                          (((x) >> 21) & 0x03)
5970#define   C_028A40_ONCHIP                                             0xFF9FFFFF
5971#define R_028A44_VGT_GS_ONCHIP_CNTL                                     0x028A44
5972#define   S_028A44_ES_VERTS_PER_SUBGRP(x)                             (((unsigned)(x) & 0x7FF) << 0)
5973#define   G_028A44_ES_VERTS_PER_SUBGRP(x)                             (((x) >> 0) & 0x7FF)
5974#define   C_028A44_ES_VERTS_PER_SUBGRP                                0xFFFFF800
5975#define   S_028A44_GS_PRIMS_PER_SUBGRP(x)                             (((unsigned)(x) & 0x7FF) << 11)
5976#define   G_028A44_GS_PRIMS_PER_SUBGRP(x)                             (((x) >> 11) & 0x7FF)
5977#define   C_028A44_GS_PRIMS_PER_SUBGRP                                0xFFC007FF
5978#define   S_028A44_GS_INST_PRIMS_IN_SUBGRP(x)                         (((unsigned)(x) & 0x3FF) << 22)
5979#define   G_028A44_GS_INST_PRIMS_IN_SUBGRP(x)                         (((x) >> 22) & 0x3FF)
5980#define   C_028A44_GS_INST_PRIMS_IN_SUBGRP                            0x003FFFFF
5981#define R_028A48_PA_SC_MODE_CNTL_0                                      0x028A48
5982#define   S_028A48_MSAA_ENABLE(x)                                     (((unsigned)(x) & 0x1) << 0)
5983#define   G_028A48_MSAA_ENABLE(x)                                     (((x) >> 0) & 0x1)
5984#define   C_028A48_MSAA_ENABLE                                        0xFFFFFFFE
5985#define   S_028A48_VPORT_SCISSOR_ENABLE(x)                            (((unsigned)(x) & 0x1) << 1)
5986#define   G_028A48_VPORT_SCISSOR_ENABLE(x)                            (((x) >> 1) & 0x1)
5987#define   C_028A48_VPORT_SCISSOR_ENABLE                               0xFFFFFFFD
5988#define   S_028A48_LINE_STIPPLE_ENABLE(x)                             (((unsigned)(x) & 0x1) << 2)
5989#define   G_028A48_LINE_STIPPLE_ENABLE(x)                             (((x) >> 2) & 0x1)
5990#define   C_028A48_LINE_STIPPLE_ENABLE                                0xFFFFFFFB
5991#define   S_028A48_SEND_UNLIT_STILES_TO_PKR(x)                        (((unsigned)(x) & 0x1) << 3)
5992#define   G_028A48_SEND_UNLIT_STILES_TO_PKR(x)                        (((x) >> 3) & 0x1)
5993#define   C_028A48_SEND_UNLIT_STILES_TO_PKR                           0xFFFFFFF7
5994#define   S_028A48_SCALE_LINE_WIDTH_PAD(x)                            (((unsigned)(x) & 0x1) << 4)
5995#define   G_028A48_SCALE_LINE_WIDTH_PAD(x)                            (((x) >> 4) & 0x1)
5996#define   C_028A48_SCALE_LINE_WIDTH_PAD                               0xFFFFFFEF
5997#define   S_028A48_ALTERNATE_RBS_PER_TILE(x)                          (((unsigned)(x) & 0x1) << 5)
5998#define   G_028A48_ALTERNATE_RBS_PER_TILE(x)                          (((x) >> 5) & 0x1)
5999#define   C_028A48_ALTERNATE_RBS_PER_TILE                             0xFFFFFFDF
6000#define   S_028A48_COARSE_TILE_STARTS_ON_EVEN_RB(x)                   (((unsigned)(x) & 0x1) << 6)
6001#define   G_028A48_COARSE_TILE_STARTS_ON_EVEN_RB(x)                   (((x) >> 6) & 0x1)
6002#define   C_028A48_COARSE_TILE_STARTS_ON_EVEN_RB                      0xFFFFFFBF
6003#define R_028A4C_PA_SC_MODE_CNTL_1                                      0x028A4C
6004#define   S_028A4C_WALK_SIZE(x)                                       (((unsigned)(x) & 0x1) << 0)
6005#define   G_028A4C_WALK_SIZE(x)                                       (((x) >> 0) & 0x1)
6006#define   C_028A4C_WALK_SIZE                                          0xFFFFFFFE
6007#define   S_028A4C_WALK_ALIGNMENT(x)                                  (((unsigned)(x) & 0x1) << 1)
6008#define   G_028A4C_WALK_ALIGNMENT(x)                                  (((x) >> 1) & 0x1)
6009#define   C_028A4C_WALK_ALIGNMENT                                     0xFFFFFFFD
6010#define   S_028A4C_WALK_ALIGN8_PRIM_FITS_ST(x)                        (((unsigned)(x) & 0x1) << 2)
6011#define   G_028A4C_WALK_ALIGN8_PRIM_FITS_ST(x)                        (((x) >> 2) & 0x1)
6012#define   C_028A4C_WALK_ALIGN8_PRIM_FITS_ST                           0xFFFFFFFB
6013#define   S_028A4C_WALK_FENCE_ENABLE(x)                               (((unsigned)(x) & 0x1) << 3)
6014#define   G_028A4C_WALK_FENCE_ENABLE(x)                               (((x) >> 3) & 0x1)
6015#define   C_028A4C_WALK_FENCE_ENABLE                                  0xFFFFFFF7
6016#define   S_028A4C_WALK_FENCE_SIZE(x)                                 (((unsigned)(x) & 0x07) << 4)
6017#define   G_028A4C_WALK_FENCE_SIZE(x)                                 (((x) >> 4) & 0x07)
6018#define   C_028A4C_WALK_FENCE_SIZE                                    0xFFFFFF8F
6019#define   S_028A4C_SUPERTILE_WALK_ORDER_ENABLE(x)                     (((unsigned)(x) & 0x1) << 7)
6020#define   G_028A4C_SUPERTILE_WALK_ORDER_ENABLE(x)                     (((x) >> 7) & 0x1)
6021#define   C_028A4C_SUPERTILE_WALK_ORDER_ENABLE                        0xFFFFFF7F
6022#define   S_028A4C_TILE_WALK_ORDER_ENABLE(x)                          (((unsigned)(x) & 0x1) << 8)
6023#define   G_028A4C_TILE_WALK_ORDER_ENABLE(x)                          (((x) >> 8) & 0x1)
6024#define   C_028A4C_TILE_WALK_ORDER_ENABLE                             0xFFFFFEFF
6025#define   S_028A4C_TILE_COVER_DISABLE(x)                              (((unsigned)(x) & 0x1) << 9)
6026#define   G_028A4C_TILE_COVER_DISABLE(x)                              (((x) >> 9) & 0x1)
6027#define   C_028A4C_TILE_COVER_DISABLE                                 0xFFFFFDFF
6028#define   S_028A4C_TILE_COVER_NO_SCISSOR(x)                           (((unsigned)(x) & 0x1) << 10)
6029#define   G_028A4C_TILE_COVER_NO_SCISSOR(x)                           (((x) >> 10) & 0x1)
6030#define   C_028A4C_TILE_COVER_NO_SCISSOR                              0xFFFFFBFF
6031#define   S_028A4C_ZMM_LINE_EXTENT(x)                                 (((unsigned)(x) & 0x1) << 11)
6032#define   G_028A4C_ZMM_LINE_EXTENT(x)                                 (((x) >> 11) & 0x1)
6033#define   C_028A4C_ZMM_LINE_EXTENT                                    0xFFFFF7FF
6034#define   S_028A4C_ZMM_LINE_OFFSET(x)                                 (((unsigned)(x) & 0x1) << 12)
6035#define   G_028A4C_ZMM_LINE_OFFSET(x)                                 (((x) >> 12) & 0x1)
6036#define   C_028A4C_ZMM_LINE_OFFSET                                    0xFFFFEFFF
6037#define   S_028A4C_ZMM_RECT_EXTENT(x)                                 (((unsigned)(x) & 0x1) << 13)
6038#define   G_028A4C_ZMM_RECT_EXTENT(x)                                 (((x) >> 13) & 0x1)
6039#define   C_028A4C_ZMM_RECT_EXTENT                                    0xFFFFDFFF
6040#define   S_028A4C_KILL_PIX_POST_HI_Z(x)                              (((unsigned)(x) & 0x1) << 14)
6041#define   G_028A4C_KILL_PIX_POST_HI_Z(x)                              (((x) >> 14) & 0x1)
6042#define   C_028A4C_KILL_PIX_POST_HI_Z                                 0xFFFFBFFF
6043#define   S_028A4C_KILL_PIX_POST_DETAIL_MASK(x)                       (((unsigned)(x) & 0x1) << 15)
6044#define   G_028A4C_KILL_PIX_POST_DETAIL_MASK(x)                       (((x) >> 15) & 0x1)
6045#define   C_028A4C_KILL_PIX_POST_DETAIL_MASK                          0xFFFF7FFF
6046#define   S_028A4C_PS_ITER_SAMPLE(x)                                  (((unsigned)(x) & 0x1) << 16)
6047#define   G_028A4C_PS_ITER_SAMPLE(x)                                  (((x) >> 16) & 0x1)
6048#define   C_028A4C_PS_ITER_SAMPLE                                     0xFFFEFFFF
6049#define   S_028A4C_MULTI_SHADER_ENGINE_PRIM_DISCARD_ENABLE(x)         (((unsigned)(x) & 0x1) << 17)
6050#define   G_028A4C_MULTI_SHADER_ENGINE_PRIM_DISCARD_ENABLE(x)         (((x) >> 17) & 0x1)
6051#define   C_028A4C_MULTI_SHADER_ENGINE_PRIM_DISCARD_ENABLE            0xFFFDFFFF
6052#define   S_028A4C_MULTI_GPU_SUPERTILE_ENABLE(x)                      (((unsigned)(x) & 0x1) << 18)
6053#define   G_028A4C_MULTI_GPU_SUPERTILE_ENABLE(x)                      (((x) >> 18) & 0x1)
6054#define   C_028A4C_MULTI_GPU_SUPERTILE_ENABLE                         0xFFFBFFFF
6055#define   S_028A4C_GPU_ID_OVERRIDE_ENABLE(x)                          (((unsigned)(x) & 0x1) << 19)
6056#define   G_028A4C_GPU_ID_OVERRIDE_ENABLE(x)                          (((x) >> 19) & 0x1)
6057#define   C_028A4C_GPU_ID_OVERRIDE_ENABLE                             0xFFF7FFFF
6058#define   S_028A4C_GPU_ID_OVERRIDE(x)                                 (((unsigned)(x) & 0x0F) << 20)
6059#define   G_028A4C_GPU_ID_OVERRIDE(x)                                 (((x) >> 20) & 0x0F)
6060#define   C_028A4C_GPU_ID_OVERRIDE                                    0xFF0FFFFF
6061#define   S_028A4C_MULTI_GPU_PRIM_DISCARD_ENABLE(x)                   (((unsigned)(x) & 0x1) << 24)
6062#define   G_028A4C_MULTI_GPU_PRIM_DISCARD_ENABLE(x)                   (((x) >> 24) & 0x1)
6063#define   C_028A4C_MULTI_GPU_PRIM_DISCARD_ENABLE                      0xFEFFFFFF
6064#define   S_028A4C_FORCE_EOV_CNTDWN_ENABLE(x)                         (((unsigned)(x) & 0x1) << 25)
6065#define   G_028A4C_FORCE_EOV_CNTDWN_ENABLE(x)                         (((x) >> 25) & 0x1)
6066#define   C_028A4C_FORCE_EOV_CNTDWN_ENABLE                            0xFDFFFFFF
6067#define   S_028A4C_FORCE_EOV_REZ_ENABLE(x)                            (((unsigned)(x) & 0x1) << 26)
6068#define   G_028A4C_FORCE_EOV_REZ_ENABLE(x)                            (((x) >> 26) & 0x1)
6069#define   C_028A4C_FORCE_EOV_REZ_ENABLE                               0xFBFFFFFF
6070#define   S_028A4C_OUT_OF_ORDER_PRIMITIVE_ENABLE(x)                   (((unsigned)(x) & 0x1) << 27)
6071#define   G_028A4C_OUT_OF_ORDER_PRIMITIVE_ENABLE(x)                   (((x) >> 27) & 0x1)
6072#define   C_028A4C_OUT_OF_ORDER_PRIMITIVE_ENABLE                      0xF7FFFFFF
6073#define   S_028A4C_OUT_OF_ORDER_WATER_MARK(x)                         (((unsigned)(x) & 0x07) << 28)
6074#define   G_028A4C_OUT_OF_ORDER_WATER_MARK(x)                         (((x) >> 28) & 0x07)
6075#define   C_028A4C_OUT_OF_ORDER_WATER_MARK                            0x8FFFFFFF
6076#define R_028A50_VGT_ENHANCE                                            0x028A50
6077#define R_028A54_VGT_GS_PER_ES                                          0x028A54
6078#define   S_028A54_GS_PER_ES(x)                                       (((unsigned)(x) & 0x7FF) << 0)
6079#define   G_028A54_GS_PER_ES(x)                                       (((x) >> 0) & 0x7FF)
6080#define   C_028A54_GS_PER_ES                                          0xFFFFF800
6081#define R_028A58_VGT_ES_PER_GS                                          0x028A58
6082#define   S_028A58_ES_PER_GS(x)                                       (((unsigned)(x) & 0x7FF) << 0)
6083#define   G_028A58_ES_PER_GS(x)                                       (((x) >> 0) & 0x7FF)
6084#define   C_028A58_ES_PER_GS                                          0xFFFFF800
6085#define R_028A5C_VGT_GS_PER_VS                                          0x028A5C
6086#define   S_028A5C_GS_PER_VS(x)                                       (((unsigned)(x) & 0x0F) << 0)
6087#define   G_028A5C_GS_PER_VS(x)                                       (((x) >> 0) & 0x0F)
6088#define   C_028A5C_GS_PER_VS                                          0xFFFFFFF0
6089#define R_028A60_VGT_GSVS_RING_OFFSET_1                                 0x028A60
6090#define   S_028A60_OFFSET(x)                                          (((unsigned)(x) & 0x7FFF) << 0)
6091#define   G_028A60_OFFSET(x)                                          (((x) >> 0) & 0x7FFF)
6092#define   C_028A60_OFFSET                                             0xFFFF8000
6093#define R_028A64_VGT_GSVS_RING_OFFSET_2                                 0x028A64
6094#define   S_028A64_OFFSET(x)                                          (((unsigned)(x) & 0x7FFF) << 0)
6095#define   G_028A64_OFFSET(x)                                          (((x) >> 0) & 0x7FFF)
6096#define   C_028A64_OFFSET                                             0xFFFF8000
6097#define R_028A68_VGT_GSVS_RING_OFFSET_3                                 0x028A68
6098#define   S_028A68_OFFSET(x)                                          (((unsigned)(x) & 0x7FFF) << 0)
6099#define   G_028A68_OFFSET(x)                                          (((x) >> 0) & 0x7FFF)
6100#define   C_028A68_OFFSET                                             0xFFFF8000
6101#define R_028A6C_VGT_GS_OUT_PRIM_TYPE                                   0x028A6C
6102#define   S_028A6C_OUTPRIM_TYPE(x)                                    (((unsigned)(x) & 0x3F) << 0)
6103#define   G_028A6C_OUTPRIM_TYPE(x)                                    (((x) >> 0) & 0x3F)
6104#define   C_028A6C_OUTPRIM_TYPE                                       0xFFFFFFC0
6105#define   S_028A6C_OUTPRIM_TYPE_1(x)                                  (((unsigned)(x) & 0x3F) << 8)
6106#define   G_028A6C_OUTPRIM_TYPE_1(x)                                  (((x) >> 8) & 0x3F)
6107#define   C_028A6C_OUTPRIM_TYPE_1                                     0xFFFFC0FF
6108#define   S_028A6C_OUTPRIM_TYPE_2(x)                                  (((unsigned)(x) & 0x3F) << 16)
6109#define   G_028A6C_OUTPRIM_TYPE_2(x)                                  (((x) >> 16) & 0x3F)
6110#define   C_028A6C_OUTPRIM_TYPE_2                                     0xFFC0FFFF
6111#define   S_028A6C_OUTPRIM_TYPE_3(x)                                  (((unsigned)(x) & 0x3F) << 22)
6112#define   G_028A6C_OUTPRIM_TYPE_3(x)                                  (((x) >> 22) & 0x3F)
6113#define   C_028A6C_OUTPRIM_TYPE_3                                     0xF03FFFFF
6114#define   S_028A6C_UNIQUE_TYPE_PER_STREAM(x)                          (((unsigned)(x) & 0x1) << 31)
6115#define   G_028A6C_UNIQUE_TYPE_PER_STREAM(x)                          (((x) >> 31) & 0x1)
6116#define   C_028A6C_UNIQUE_TYPE_PER_STREAM                             0x7FFFFFFF
6117#define R_028A70_IA_ENHANCE                                             0x028A70
6118#define R_028A74_VGT_DMA_SIZE                                           0x028A74
6119#define R_028A78_VGT_DMA_MAX_SIZE                                       0x028A78
6120#define R_028A7C_VGT_DMA_INDEX_TYPE                                     0x028A7C
6121#define   S_028A7C_INDEX_TYPE(x)                                      (((unsigned)(x) & 0x03) << 0)
6122#define   G_028A7C_INDEX_TYPE(x)                                      (((x) >> 0) & 0x03)
6123#define   C_028A7C_INDEX_TYPE                                         0xFFFFFFFC
6124#define   S_028A7C_SWAP_MODE(x)                                       (((unsigned)(x) & 0x03) << 2)
6125#define   G_028A7C_SWAP_MODE(x)                                       (((x) >> 2) & 0x03)
6126#define   C_028A7C_SWAP_MODE                                          0xFFFFFFF3
6127#define   S_028A7C_BUF_TYPE(x)                                        (((unsigned)(x) & 0x03) << 4)
6128#define   G_028A7C_BUF_TYPE(x)                                        (((x) >> 4) & 0x03)
6129#define   C_028A7C_BUF_TYPE                                           0xFFFFFFCF
6130#define   S_028A7C_RDREQ_POLICY(x)                                    (((unsigned)(x) & 0x1) << 6)
6131#define   G_028A7C_RDREQ_POLICY(x)                                    (((x) >> 6) & 0x1)
6132#define   C_028A7C_RDREQ_POLICY                                       0xFFFFFFBF
6133#define   S_028A7C_PRIMGEN_EN(x)                                      (((unsigned)(x) & 0x1) << 8)
6134#define   G_028A7C_PRIMGEN_EN(x)                                      (((x) >> 8) & 0x1)
6135#define   C_028A7C_PRIMGEN_EN                                         0xFFFFFEFF
6136#define   S_028A7C_NOT_EOP(x)                                         (((unsigned)(x) & 0x1) << 9)
6137#define   G_028A7C_NOT_EOP(x)                                         (((x) >> 9) & 0x1)
6138#define   C_028A7C_NOT_EOP                                            0xFFFFFDFF
6139#define   S_028A7C_REQ_PATH(x)                                        (((unsigned)(x) & 0x1) << 10)
6140#define   G_028A7C_REQ_PATH(x)                                        (((x) >> 10) & 0x1)
6141#define   C_028A7C_REQ_PATH                                           0xFFFFFBFF
6142#define R_028A80_WD_ENHANCE                                             0x028A80
6143#define R_028A84_VGT_PRIMITIVEID_EN                                     0x028A84
6144#define   S_028A84_PRIMITIVEID_EN(x)                                  (((unsigned)(x) & 0x1) << 0)
6145#define   G_028A84_PRIMITIVEID_EN(x)                                  (((x) >> 0) & 0x1)
6146#define   C_028A84_PRIMITIVEID_EN                                     0xFFFFFFFE
6147#define   S_028A84_DISABLE_RESET_ON_EOI(x)                            (((unsigned)(x) & 0x1) << 1)
6148#define   G_028A84_DISABLE_RESET_ON_EOI(x)                            (((x) >> 1) & 0x1)
6149#define   C_028A84_DISABLE_RESET_ON_EOI                               0xFFFFFFFD
6150#define   S_028A84_NGG_DISABLE_PROVOK_REUSE(x)                        (((unsigned)(x) & 0x1) << 2)
6151#define   G_028A84_NGG_DISABLE_PROVOK_REUSE(x)                        (((x) >> 2) & 0x1)
6152#define   C_028A84_NGG_DISABLE_PROVOK_REUSE                           0xFFFFFFFB
6153#define R_028A88_VGT_DMA_NUM_INSTANCES                                  0x028A88
6154#define R_028A8C_VGT_PRIMITIVEID_RESET                                  0x028A8C
6155#define R_028A90_VGT_EVENT_INITIATOR                                    0x028A90
6156#define   S_028A90_EVENT_TYPE(x)                                      (((unsigned)(x) & 0x3F) << 0)
6157#define   G_028A90_EVENT_TYPE(x)                                      (((x) >> 0) & 0x3F)
6158#define   C_028A90_EVENT_TYPE                                         0xFFFFFFC0
6159#define     V_028A90_SAMPLE_STREAMOUTSTATS1                         0x01
6160#define     V_028A90_SAMPLE_STREAMOUTSTATS2                         0x02
6161#define     V_028A90_SAMPLE_STREAMOUTSTATS3                         0x03
6162#define     V_028A90_CACHE_FLUSH_TS                                 0x04
6163#define     V_028A90_CONTEXT_DONE                                   0x05
6164#define     V_028A90_CACHE_FLUSH                                    0x06
6165#define     V_028A90_CS_PARTIAL_FLUSH                               0x07
6166#define     V_028A90_VGT_STREAMOUT_SYNC                             0x08
6167#define     V_028A90_VGT_STREAMOUT_RESET                            0x0A
6168#define     V_028A90_END_OF_PIPE_INCR_DE                            0x0B
6169#define     V_028A90_END_OF_PIPE_IB_END                             0x0C
6170#define     V_028A90_RST_PIX_CNT                                    0x0D
6171#define     V_028A90_BREAK_BATCH                                    0x0E /* new */
6172#define     V_028A90_VS_PARTIAL_FLUSH                               0x0F
6173#define     V_028A90_PS_PARTIAL_FLUSH                               0x10
6174#define     V_028A90_FLUSH_HS_OUTPUT                                0x11
6175#define     V_028A90_FLUSH_DFSM                                     0x12 /* new */
6176#define     V_028A90_RESET_TO_LOWEST_VGT                            0x13 /* new */
6177#define     V_028A90_CACHE_FLUSH_AND_INV_TS_EVENT                   0x14
6178#define     V_028A90_ZPASS_DONE                                     0x15
6179#define     V_028A90_CACHE_FLUSH_AND_INV_EVENT                      0x16
6180#define     V_028A90_PERFCOUNTER_START                              0x17
6181#define     V_028A90_PERFCOUNTER_STOP                               0x18
6182#define     V_028A90_PIPELINESTAT_START                             0x19
6183#define     V_028A90_PIPELINESTAT_STOP                              0x1A
6184#define     V_028A90_PERFCOUNTER_SAMPLE                             0x1B
6185#define     V_028A90_SAMPLE_PIPELINESTAT                            0x1E
6186#define     V_028A90_SO_VGTSTREAMOUT_FLUSH                          0x1F
6187#define     V_028A90_SAMPLE_STREAMOUTSTATS                          0x20
6188#define     V_028A90_RESET_VTX_CNT                                  0x21
6189#define     V_028A90_BLOCK_CONTEXT_DONE                             0x22
6190#define     V_028A90_CS_CONTEXT_DONE                                0x23
6191#define     V_028A90_VGT_FLUSH                                      0x24
6192#define     V_028A90_TGID_ROLLOVER                                  0x25
6193#define     V_028A90_SC_SEND_DB_VPZ                                 0x27
6194#define     V_028A90_BOTTOM_OF_PIPE_TS                              0x28
6195#define     V_028A90_DB_CACHE_FLUSH_AND_INV                         0x2A
6196#define     V_028A90_FLUSH_AND_INV_DB_DATA_TS                       0x2B
6197#define     V_028A90_FLUSH_AND_INV_DB_META                          0x2C
6198#define     V_028A90_FLUSH_AND_INV_CB_DATA_TS                       0x2D
6199#define     V_028A90_FLUSH_AND_INV_CB_META                          0x2E
6200#define     V_028A90_CS_DONE                                        0x2F
6201#define     V_028A90_PS_DONE                                        0x30
6202#define     V_028A90_FLUSH_AND_INV_CB_PIXEL_DATA                    0x31
6203#define     V_028A90_THREAD_TRACE_START                             0x33
6204#define     V_028A90_THREAD_TRACE_STOP                              0x34
6205#define     V_028A90_THREAD_TRACE_MARKER                            0x35
6206#define     V_028A90_THREAD_TRACE_FLUSH                             0x36
6207#define     V_028A90_THREAD_TRACE_FINISH                            0x37
6208#define     V_028A90_PIXEL_PIPE_STAT_CONTROL                        0x38
6209#define     V_028A90_PIXEL_PIPE_STAT_DUMP                           0x39
6210#define     V_028A90_PIXEL_PIPE_STAT_RESET                          0x3A
6211#define     V_028A90_ENABLE_NGG_PIPELINE                            0x3D /* new */
6212#define     V_028A90_ENABLE_LEGACY_PIPELINE                         0x3E /* new */
6213#define   S_028A90_ADDRESS_HI_GFX9(x)                                 (((unsigned)(x) & 0x1FFFF) << 10)
6214#define   G_028A90_ADDRESS_HI_GFX9(x)                                 (((x) >> 10) & 0x1FFFF)
6215#define   C_028A90_ADDRESS_HI_GFX9                                    0xF80003FF
6216#define   S_028A90_EXTENDED_EVENT(x)                                  (((unsigned)(x) & 0x1) << 27)
6217#define   G_028A90_EXTENDED_EVENT(x)                                  (((x) >> 27) & 0x1)
6218#define   C_028A90_EXTENDED_EVENT                                     0xF7FFFFFF
6219#define R_028A94_VGT_GS_MAX_PRIMS_PER_SUBGROUP                          0x028A94
6220#define   S_028A94_MAX_PRIMS_PER_SUBGROUP(x)                          (((unsigned)(x) & 0xFFFF) << 0)
6221#define   G_028A94_MAX_PRIMS_PER_SUBGROUP(x)                          (((x) >> 0) & 0xFFFF)
6222#define   C_028A94_MAX_PRIMS_PER_SUBGROUP                             0xFFFF0000
6223#define R_028A98_VGT_DRAW_PAYLOAD_CNTL                                  0x028A98
6224#define   S_028A98_OBJPRIM_ID_EN(x)                                   (((unsigned)(x) & 0x1) << 0)
6225#define   G_028A98_OBJPRIM_ID_EN(x)                                   (((x) >> 0) & 0x1)
6226#define   C_028A98_OBJPRIM_ID_EN                                      0xFFFFFFFE
6227#define   S_028A98_EN_REG_RT_INDEX(x)                                 (((unsigned)(x) & 0x1) << 1)
6228#define   G_028A98_EN_REG_RT_INDEX(x)                                 (((x) >> 1) & 0x1)
6229#define   C_028A98_EN_REG_RT_INDEX                                    0xFFFFFFFD
6230#define   S_028A98_EN_PIPELINE_PRIMID(x)                              (((unsigned)(x) & 0x1) << 2)
6231#define   G_028A98_EN_PIPELINE_PRIMID(x)                              (((x) >> 2) & 0x1)
6232#define   C_028A98_EN_PIPELINE_PRIMID                                 0xFFFFFFFB
6233#define   S_028A98_OBJECT_ID_INST_EN(x)                               (((unsigned)(x) & 0x1) << 3)
6234#define   G_028A98_OBJECT_ID_INST_EN(x)                               (((x) >> 3) & 0x1)
6235#define   C_028A98_OBJECT_ID_INST_EN                                  0xFFFFFFF7
6236#define R_028AA0_VGT_INSTANCE_STEP_RATE_0                               0x028AA0
6237#define R_028AA4_VGT_INSTANCE_STEP_RATE_1                               0x028AA4
6238#define R_028AAC_VGT_ESGS_RING_ITEMSIZE                                 0x028AAC
6239#define   S_028AAC_ITEMSIZE(x)                                        (((unsigned)(x) & 0x7FFF) << 0)
6240#define   G_028AAC_ITEMSIZE(x)                                        (((x) >> 0) & 0x7FFF)
6241#define   C_028AAC_ITEMSIZE                                           0xFFFF8000
6242#define R_028AB0_VGT_GSVS_RING_ITEMSIZE                                 0x028AB0
6243#define   S_028AB0_ITEMSIZE(x)                                        (((unsigned)(x) & 0x7FFF) << 0)
6244#define   G_028AB0_ITEMSIZE(x)                                        (((x) >> 0) & 0x7FFF)
6245#define   C_028AB0_ITEMSIZE                                           0xFFFF8000
6246#define R_028AB4_VGT_REUSE_OFF                                          0x028AB4
6247#define   S_028AB4_REUSE_OFF(x)                                       (((unsigned)(x) & 0x1) << 0)
6248#define   G_028AB4_REUSE_OFF(x)                                       (((x) >> 0) & 0x1)
6249#define   C_028AB4_REUSE_OFF                                          0xFFFFFFFE
6250#define R_028AB8_VGT_VTX_CNT_EN                                         0x028AB8
6251#define   S_028AB8_VTX_CNT_EN(x)                                      (((unsigned)(x) & 0x1) << 0)
6252#define   G_028AB8_VTX_CNT_EN(x)                                      (((x) >> 0) & 0x1)
6253#define   C_028AB8_VTX_CNT_EN                                         0xFFFFFFFE
6254#define R_028ABC_DB_HTILE_SURFACE                                       0x028ABC
6255#define   S_028ABC_FULL_CACHE(x)                                      (((unsigned)(x) & 0x1) << 1)
6256#define   G_028ABC_FULL_CACHE(x)                                      (((x) >> 1) & 0x1)
6257#define   C_028ABC_FULL_CACHE                                         0xFFFFFFFD
6258#define   S_028ABC_HTILE_USES_PRELOAD_WIN(x)                          (((unsigned)(x) & 0x1) << 2)
6259#define   G_028ABC_HTILE_USES_PRELOAD_WIN(x)                          (((x) >> 2) & 0x1)
6260#define   C_028ABC_HTILE_USES_PRELOAD_WIN                             0xFFFFFFFB
6261#define   S_028ABC_PRELOAD(x)                                         (((unsigned)(x) & 0x1) << 3)
6262#define   G_028ABC_PRELOAD(x)                                         (((x) >> 3) & 0x1)
6263#define   C_028ABC_PRELOAD                                            0xFFFFFFF7
6264#define   S_028ABC_PREFETCH_WIDTH(x)                                  (((unsigned)(x) & 0x3F) << 4)
6265#define   G_028ABC_PREFETCH_WIDTH(x)                                  (((x) >> 4) & 0x3F)
6266#define   C_028ABC_PREFETCH_WIDTH                                     0xFFFFFC0F
6267#define   S_028ABC_PREFETCH_HEIGHT(x)                                 (((unsigned)(x) & 0x3F) << 10)
6268#define   G_028ABC_PREFETCH_HEIGHT(x)                                 (((x) >> 10) & 0x3F)
6269#define   C_028ABC_PREFETCH_HEIGHT                                    0xFFFF03FF
6270#define   S_028ABC_DST_OUTSIDE_ZERO_TO_ONE(x)                         (((unsigned)(x) & 0x1) << 16)
6271#define   G_028ABC_DST_OUTSIDE_ZERO_TO_ONE(x)                         (((x) >> 16) & 0x1)
6272#define   C_028ABC_DST_OUTSIDE_ZERO_TO_ONE                            0xFFFEFFFF
6273#define   S_028ABC_PIPE_ALIGNED(x)                                    (((unsigned)(x) & 0x1) << 18)
6274#define   G_028ABC_PIPE_ALIGNED(x)                                    (((x) >> 18) & 0x1)
6275#define   C_028ABC_PIPE_ALIGNED                                       0xFFFBFFFF
6276#define   S_028ABC_RB_ALIGNED(x)                                      (((unsigned)(x) & 0x1) << 19)
6277#define   G_028ABC_RB_ALIGNED(x)                                      (((x) >> 19) & 0x1)
6278#define   C_028ABC_RB_ALIGNED                                         0xFFF7FFFF
6279#define R_028AC0_DB_SRESULTS_COMPARE_STATE0                             0x028AC0
6280#define   S_028AC0_COMPAREFUNC0(x)                                    (((unsigned)(x) & 0x07) << 0)
6281#define   G_028AC0_COMPAREFUNC0(x)                                    (((x) >> 0) & 0x07)
6282#define   C_028AC0_COMPAREFUNC0                                       0xFFFFFFF8
6283#define   S_028AC0_COMPAREVALUE0(x)                                   (((unsigned)(x) & 0xFF) << 4)
6284#define   G_028AC0_COMPAREVALUE0(x)                                   (((x) >> 4) & 0xFF)
6285#define   C_028AC0_COMPAREVALUE0                                      0xFFFFF00F
6286#define   S_028AC0_COMPAREMASK0(x)                                    (((unsigned)(x) & 0xFF) << 12)
6287#define   G_028AC0_COMPAREMASK0(x)                                    (((x) >> 12) & 0xFF)
6288#define   C_028AC0_COMPAREMASK0                                       0xFFF00FFF
6289#define   S_028AC0_ENABLE0(x)                                         (((unsigned)(x) & 0x1) << 24)
6290#define   G_028AC0_ENABLE0(x)                                         (((x) >> 24) & 0x1)
6291#define   C_028AC0_ENABLE0                                            0xFEFFFFFF
6292#define R_028AC4_DB_SRESULTS_COMPARE_STATE1                             0x028AC4
6293#define   S_028AC4_COMPAREFUNC1(x)                                    (((unsigned)(x) & 0x07) << 0)
6294#define   G_028AC4_COMPAREFUNC1(x)                                    (((x) >> 0) & 0x07)
6295#define   C_028AC4_COMPAREFUNC1                                       0xFFFFFFF8
6296#define   S_028AC4_COMPAREVALUE1(x)                                   (((unsigned)(x) & 0xFF) << 4)
6297#define   G_028AC4_COMPAREVALUE1(x)                                   (((x) >> 4) & 0xFF)
6298#define   C_028AC4_COMPAREVALUE1                                      0xFFFFF00F
6299#define   S_028AC4_COMPAREMASK1(x)                                    (((unsigned)(x) & 0xFF) << 12)
6300#define   G_028AC4_COMPAREMASK1(x)                                    (((x) >> 12) & 0xFF)
6301#define   C_028AC4_COMPAREMASK1                                       0xFFF00FFF
6302#define   S_028AC4_ENABLE1(x)                                         (((unsigned)(x) & 0x1) << 24)
6303#define   G_028AC4_ENABLE1(x)                                         (((x) >> 24) & 0x1)
6304#define   C_028AC4_ENABLE1                                            0xFEFFFFFF
6305#define R_028AC8_DB_PRELOAD_CONTROL                                     0x028AC8
6306#define   S_028AC8_START_X(x)                                         (((unsigned)(x) & 0xFF) << 0)
6307#define   G_028AC8_START_X(x)                                         (((x) >> 0) & 0xFF)
6308#define   C_028AC8_START_X                                            0xFFFFFF00
6309#define   S_028AC8_START_Y(x)                                         (((unsigned)(x) & 0xFF) << 8)
6310#define   G_028AC8_START_Y(x)                                         (((x) >> 8) & 0xFF)
6311#define   C_028AC8_START_Y                                            0xFFFF00FF
6312#define   S_028AC8_MAX_X(x)                                           (((unsigned)(x) & 0xFF) << 16)
6313#define   G_028AC8_MAX_X(x)                                           (((x) >> 16) & 0xFF)
6314#define   C_028AC8_MAX_X                                              0xFF00FFFF
6315#define   S_028AC8_MAX_Y(x)                                           (((unsigned)(x) & 0xFF) << 24)
6316#define   G_028AC8_MAX_Y(x)                                           (((x) >> 24) & 0xFF)
6317#define   C_028AC8_MAX_Y                                              0x00FFFFFF
6318#define R_028AD0_VGT_STRMOUT_BUFFER_SIZE_0                              0x028AD0
6319#define R_028AD4_VGT_STRMOUT_VTX_STRIDE_0                               0x028AD4
6320#define   S_028AD4_STRIDE(x)                                          (((unsigned)(x) & 0x3FF) << 0)
6321#define   G_028AD4_STRIDE(x)                                          (((x) >> 0) & 0x3FF)
6322#define   C_028AD4_STRIDE                                             0xFFFFFC00
6323#define R_028ADC_VGT_STRMOUT_BUFFER_OFFSET_0                            0x028ADC
6324#define R_028AE0_VGT_STRMOUT_BUFFER_SIZE_1                              0x028AE0
6325#define R_028AE4_VGT_STRMOUT_VTX_STRIDE_1                               0x028AE4
6326#define   S_028AE4_STRIDE(x)                                          (((unsigned)(x) & 0x3FF) << 0)
6327#define   G_028AE4_STRIDE(x)                                          (((x) >> 0) & 0x3FF)
6328#define   C_028AE4_STRIDE                                             0xFFFFFC00
6329#define R_028AEC_VGT_STRMOUT_BUFFER_OFFSET_1                            0x028AEC
6330#define R_028AF0_VGT_STRMOUT_BUFFER_SIZE_2                              0x028AF0
6331#define R_028AF4_VGT_STRMOUT_VTX_STRIDE_2                               0x028AF4
6332#define   S_028AF4_STRIDE(x)                                          (((unsigned)(x) & 0x3FF) << 0)
6333#define   G_028AF4_STRIDE(x)                                          (((x) >> 0) & 0x3FF)
6334#define   C_028AF4_STRIDE                                             0xFFFFFC00
6335#define R_028AFC_VGT_STRMOUT_BUFFER_OFFSET_2                            0x028AFC
6336#define R_028B00_VGT_STRMOUT_BUFFER_SIZE_3                              0x028B00
6337#define R_028B04_VGT_STRMOUT_VTX_STRIDE_3                               0x028B04
6338#define   S_028B04_STRIDE(x)                                          (((unsigned)(x) & 0x3FF) << 0)
6339#define   G_028B04_STRIDE(x)                                          (((x) >> 0) & 0x3FF)
6340#define   C_028B04_STRIDE                                             0xFFFFFC00
6341#define R_028B0C_VGT_STRMOUT_BUFFER_OFFSET_3                            0x028B0C
6342#define R_028B28_VGT_STRMOUT_DRAW_OPAQUE_OFFSET                         0x028B28
6343#define R_028B2C_VGT_STRMOUT_DRAW_OPAQUE_BUFFER_FILLED_SIZE             0x028B2C
6344#define R_028B30_VGT_STRMOUT_DRAW_OPAQUE_VERTEX_STRIDE                  0x028B30
6345#define   S_028B30_VERTEX_STRIDE(x)                                   (((unsigned)(x) & 0x1FF) << 0)
6346#define   G_028B30_VERTEX_STRIDE(x)                                   (((x) >> 0) & 0x1FF)
6347#define   C_028B30_VERTEX_STRIDE                                      0xFFFFFE00
6348#define R_028B38_VGT_GS_MAX_VERT_OUT                                    0x028B38
6349#define   S_028B38_MAX_VERT_OUT(x)                                    (((unsigned)(x) & 0x7FF) << 0)
6350#define   G_028B38_MAX_VERT_OUT(x)                                    (((x) >> 0) & 0x7FF)
6351#define   C_028B38_MAX_VERT_OUT                                       0xFFFFF800
6352#define R_028B50_VGT_TESS_DISTRIBUTION                                  0x028B50
6353#define   S_028B50_ACCUM_ISOLINE(x)                                   (((unsigned)(x) & 0xFF) << 0)
6354#define   G_028B50_ACCUM_ISOLINE(x)                                   (((x) >> 0) & 0xFF)
6355#define   C_028B50_ACCUM_ISOLINE                                      0xFFFFFF00
6356#define   S_028B50_ACCUM_TRI(x)                                       (((unsigned)(x) & 0xFF) << 8)
6357#define   G_028B50_ACCUM_TRI(x)                                       (((x) >> 8) & 0xFF)
6358#define   C_028B50_ACCUM_TRI                                          0xFFFF00FF
6359#define   S_028B50_ACCUM_QUAD(x)                                      (((unsigned)(x) & 0xFF) << 16)
6360#define   G_028B50_ACCUM_QUAD(x)                                      (((x) >> 16) & 0xFF)
6361#define   C_028B50_ACCUM_QUAD                                         0xFF00FFFF
6362#define   S_028B50_DONUT_SPLIT(x)                                     (((unsigned)(x) & 0x1F) << 24)
6363#define   G_028B50_DONUT_SPLIT(x)                                     (((x) >> 24) & 0x1F)
6364#define   C_028B50_DONUT_SPLIT                                        0xE0FFFFFF
6365#define   S_028B50_TRAP_SPLIT(x)                                      (((unsigned)(x) & 0x07) << 29)
6366#define   G_028B50_TRAP_SPLIT(x)                                      (((x) >> 29) & 0x07)
6367#define   C_028B50_TRAP_SPLIT                                         0x1FFFFFFF
6368#define R_028B54_VGT_SHADER_STAGES_EN                                   0x028B54
6369#define   S_028B54_LS_EN(x)                                           (((unsigned)(x) & 0x03) << 0)
6370#define   G_028B54_LS_EN(x)                                           (((x) >> 0) & 0x03)
6371#define   C_028B54_LS_EN                                              0xFFFFFFFC
6372#define   S_028B54_HS_EN(x)                                           (((unsigned)(x) & 0x1) << 2)
6373#define   G_028B54_HS_EN(x)                                           (((x) >> 2) & 0x1)
6374#define   C_028B54_HS_EN                                              0xFFFFFFFB
6375#define   S_028B54_ES_EN(x)                                           (((unsigned)(x) & 0x03) << 3)
6376#define   G_028B54_ES_EN(x)                                           (((x) >> 3) & 0x03)
6377#define   C_028B54_ES_EN                                              0xFFFFFFE7
6378#define   S_028B54_GS_EN(x)                                           (((unsigned)(x) & 0x1) << 5)
6379#define   G_028B54_GS_EN(x)                                           (((x) >> 5) & 0x1)
6380#define   C_028B54_GS_EN                                              0xFFFFFFDF
6381#define   S_028B54_VS_EN(x)                                           (((unsigned)(x) & 0x03) << 6)
6382#define   G_028B54_VS_EN(x)                                           (((x) >> 6) & 0x03)
6383#define   C_028B54_VS_EN                                              0xFFFFFF3F
6384#define   S_028B54_DISPATCH_DRAW_EN(x)                                (((unsigned)(x) & 0x1) << 9)
6385#define   G_028B54_DISPATCH_DRAW_EN(x)                                (((x) >> 9) & 0x1)
6386#define   C_028B54_DISPATCH_DRAW_EN                                   0xFFFFFDFF
6387#define   S_028B54_DIS_DEALLOC_ACCUM_0(x)                             (((unsigned)(x) & 0x1) << 10)
6388#define   G_028B54_DIS_DEALLOC_ACCUM_0(x)                             (((x) >> 10) & 0x1)
6389#define   C_028B54_DIS_DEALLOC_ACCUM_0                                0xFFFFFBFF
6390#define   S_028B54_DIS_DEALLOC_ACCUM_1(x)                             (((unsigned)(x) & 0x1) << 11)
6391#define   G_028B54_DIS_DEALLOC_ACCUM_1(x)                             (((x) >> 11) & 0x1)
6392#define   C_028B54_DIS_DEALLOC_ACCUM_1                                0xFFFFF7FF
6393#define   S_028B54_VS_WAVE_ID_EN(x)                                   (((unsigned)(x) & 0x1) << 12)
6394#define   G_028B54_VS_WAVE_ID_EN(x)                                   (((x) >> 12) & 0x1)
6395#define   C_028B54_VS_WAVE_ID_EN                                      0xFFFFEFFF
6396#define   S_028B54_PRIMGEN_EN(x)                                      (((unsigned)(x) & 0x1) << 13)
6397#define   G_028B54_PRIMGEN_EN(x)                                      (((x) >> 13) & 0x1)
6398#define   C_028B54_PRIMGEN_EN                                         0xFFFFDFFF
6399#define   S_028B54_ORDERED_ID_MODE(x)                                 (((unsigned)(x) & 0x1) << 14)
6400#define   G_028B54_ORDERED_ID_MODE(x)                                 (((x) >> 14) & 0x1)
6401#define   C_028B54_ORDERED_ID_MODE                                    0xFFFFBFFF
6402#define   S_028B54_MAX_PRIMGRP_IN_WAVE(x)                             (((unsigned)(x) & 0x0F) << 15)
6403#define   G_028B54_MAX_PRIMGRP_IN_WAVE(x)                             (((x) >> 15) & 0x0F)
6404#define   C_028B54_MAX_PRIMGRP_IN_WAVE                                0xFFF87FFF
6405#define   S_028B54_GS_FAST_LAUNCH(x)                                  (((unsigned)(x) & 0x1) << 19)
6406#define   G_028B54_GS_FAST_LAUNCH(x)                                  (((x) >> 19) & 0x1)
6407#define   C_028B54_GS_FAST_LAUNCH                                     0xFFF7FFFF
6408#define R_028B58_VGT_LS_HS_CONFIG                                       0x028B58
6409#define   S_028B58_NUM_PATCHES(x)                                     (((unsigned)(x) & 0xFF) << 0)
6410#define   G_028B58_NUM_PATCHES(x)                                     (((x) >> 0) & 0xFF)
6411#define   C_028B58_NUM_PATCHES                                        0xFFFFFF00
6412#define   S_028B58_HS_NUM_INPUT_CP(x)                                 (((unsigned)(x) & 0x3F) << 8)
6413#define   G_028B58_HS_NUM_INPUT_CP(x)                                 (((x) >> 8) & 0x3F)
6414#define   C_028B58_HS_NUM_INPUT_CP                                    0xFFFFC0FF
6415#define   S_028B58_HS_NUM_OUTPUT_CP(x)                                (((unsigned)(x) & 0x3F) << 14)
6416#define   G_028B58_HS_NUM_OUTPUT_CP(x)                                (((x) >> 14) & 0x3F)
6417#define   C_028B58_HS_NUM_OUTPUT_CP                                   0xFFF03FFF
6418#define R_028B5C_VGT_GS_VERT_ITEMSIZE                                   0x028B5C
6419#define   S_028B5C_ITEMSIZE(x)                                        (((unsigned)(x) & 0x7FFF) << 0)
6420#define   G_028B5C_ITEMSIZE(x)                                        (((x) >> 0) & 0x7FFF)
6421#define   C_028B5C_ITEMSIZE                                           0xFFFF8000
6422#define R_028B60_VGT_GS_VERT_ITEMSIZE_1                                 0x028B60
6423#define   S_028B60_ITEMSIZE(x)                                        (((unsigned)(x) & 0x7FFF) << 0)
6424#define   G_028B60_ITEMSIZE(x)                                        (((x) >> 0) & 0x7FFF)
6425#define   C_028B60_ITEMSIZE                                           0xFFFF8000
6426#define R_028B64_VGT_GS_VERT_ITEMSIZE_2                                 0x028B64
6427#define   S_028B64_ITEMSIZE(x)                                        (((unsigned)(x) & 0x7FFF) << 0)
6428#define   G_028B64_ITEMSIZE(x)                                        (((x) >> 0) & 0x7FFF)
6429#define   C_028B64_ITEMSIZE                                           0xFFFF8000
6430#define R_028B68_VGT_GS_VERT_ITEMSIZE_3                                 0x028B68
6431#define   S_028B68_ITEMSIZE(x)                                        (((unsigned)(x) & 0x7FFF) << 0)
6432#define   G_028B68_ITEMSIZE(x)                                        (((x) >> 0) & 0x7FFF)
6433#define   C_028B68_ITEMSIZE                                           0xFFFF8000
6434#define R_028B6C_VGT_TF_PARAM                                           0x028B6C
6435#define   S_028B6C_TYPE(x)                                            (((unsigned)(x) & 0x03) << 0)
6436#define   G_028B6C_TYPE(x)                                            (((x) >> 0) & 0x03)
6437#define   C_028B6C_TYPE                                               0xFFFFFFFC
6438#define   S_028B6C_PARTITIONING(x)                                    (((unsigned)(x) & 0x07) << 2)
6439#define   G_028B6C_PARTITIONING(x)                                    (((x) >> 2) & 0x07)
6440#define   C_028B6C_PARTITIONING                                       0xFFFFFFE3
6441#define   S_028B6C_TOPOLOGY(x)                                        (((unsigned)(x) & 0x07) << 5)
6442#define   G_028B6C_TOPOLOGY(x)                                        (((x) >> 5) & 0x07)
6443#define   C_028B6C_TOPOLOGY                                           0xFFFFFF1F
6444#define   S_028B6C_RESERVED_REDUC_AXIS(x)                             (((unsigned)(x) & 0x1) << 8)
6445#define   G_028B6C_RESERVED_REDUC_AXIS(x)                             (((x) >> 8) & 0x1)
6446#define   C_028B6C_RESERVED_REDUC_AXIS                                0xFFFFFEFF
6447#define   S_028B6C_DEPRECATED(x)                                      (((unsigned)(x) & 0x1) << 9)
6448#define   G_028B6C_DEPRECATED(x)                                      (((x) >> 9) & 0x1)
6449#define   C_028B6C_DEPRECATED                                         0xFFFFFDFF
6450#define   S_028B6C_DISABLE_DONUTS(x)                                  (((unsigned)(x) & 0x1) << 14)
6451#define   G_028B6C_DISABLE_DONUTS(x)                                  (((x) >> 14) & 0x1)
6452#define   C_028B6C_DISABLE_DONUTS                                     0xFFFFBFFF
6453#define   S_028B6C_RDREQ_POLICY(x)                                    (((unsigned)(x) & 0x1) << 15)
6454#define   G_028B6C_RDREQ_POLICY(x)                                    (((x) >> 15) & 0x1)
6455#define   C_028B6C_RDREQ_POLICY                                       0xFFFF7FFF
6456#define   S_028B6C_DISTRIBUTION_MODE(x)                               (((unsigned)(x) & 0x03) << 17)
6457#define   G_028B6C_DISTRIBUTION_MODE(x)                               (((x) >> 17) & 0x03)
6458#define   C_028B6C_DISTRIBUTION_MODE                                  0xFFF9FFFF
6459#define R_028B70_DB_ALPHA_TO_MASK                                       0x028B70
6460#define   S_028B70_ALPHA_TO_MASK_ENABLE(x)                            (((unsigned)(x) & 0x1) << 0)
6461#define   G_028B70_ALPHA_TO_MASK_ENABLE(x)                            (((x) >> 0) & 0x1)
6462#define   C_028B70_ALPHA_TO_MASK_ENABLE                               0xFFFFFFFE
6463#define   S_028B70_ALPHA_TO_MASK_OFFSET0(x)                           (((unsigned)(x) & 0x03) << 8)
6464#define   G_028B70_ALPHA_TO_MASK_OFFSET0(x)                           (((x) >> 8) & 0x03)
6465#define   C_028B70_ALPHA_TO_MASK_OFFSET0                              0xFFFFFCFF
6466#define   S_028B70_ALPHA_TO_MASK_OFFSET1(x)                           (((unsigned)(x) & 0x03) << 10)
6467#define   G_028B70_ALPHA_TO_MASK_OFFSET1(x)                           (((x) >> 10) & 0x03)
6468#define   C_028B70_ALPHA_TO_MASK_OFFSET1                              0xFFFFF3FF
6469#define   S_028B70_ALPHA_TO_MASK_OFFSET2(x)                           (((unsigned)(x) & 0x03) << 12)
6470#define   G_028B70_ALPHA_TO_MASK_OFFSET2(x)                           (((x) >> 12) & 0x03)
6471#define   C_028B70_ALPHA_TO_MASK_OFFSET2                              0xFFFFCFFF
6472#define   S_028B70_ALPHA_TO_MASK_OFFSET3(x)                           (((unsigned)(x) & 0x03) << 14)
6473#define   G_028B70_ALPHA_TO_MASK_OFFSET3(x)                           (((x) >> 14) & 0x03)
6474#define   C_028B70_ALPHA_TO_MASK_OFFSET3                              0xFFFF3FFF
6475#define   S_028B70_OFFSET_ROUND(x)                                    (((unsigned)(x) & 0x1) << 16)
6476#define   G_028B70_OFFSET_ROUND(x)                                    (((x) >> 16) & 0x1)
6477#define   C_028B70_OFFSET_ROUND                                       0xFFFEFFFF
6478#define R_028B74_VGT_DISPATCH_DRAW_INDEX                                0x028B74
6479#define R_028B78_PA_SU_POLY_OFFSET_DB_FMT_CNTL                          0x028B78
6480#define   S_028B78_POLY_OFFSET_NEG_NUM_DB_BITS(x)                     (((unsigned)(x) & 0xFF) << 0)
6481#define   G_028B78_POLY_OFFSET_NEG_NUM_DB_BITS(x)                     (((x) >> 0) & 0xFF)
6482#define   C_028B78_POLY_OFFSET_NEG_NUM_DB_BITS                        0xFFFFFF00
6483#define   S_028B78_POLY_OFFSET_DB_IS_FLOAT_FMT(x)                     (((unsigned)(x) & 0x1) << 8)
6484#define   G_028B78_POLY_OFFSET_DB_IS_FLOAT_FMT(x)                     (((x) >> 8) & 0x1)
6485#define   C_028B78_POLY_OFFSET_DB_IS_FLOAT_FMT                        0xFFFFFEFF
6486#define R_028B7C_PA_SU_POLY_OFFSET_CLAMP                                0x028B7C
6487#define R_028B80_PA_SU_POLY_OFFSET_FRONT_SCALE                          0x028B80
6488#define R_028B84_PA_SU_POLY_OFFSET_FRONT_OFFSET                         0x028B84
6489#define R_028B88_PA_SU_POLY_OFFSET_BACK_SCALE                           0x028B88
6490#define R_028B8C_PA_SU_POLY_OFFSET_BACK_OFFSET                          0x028B8C
6491#define R_028B90_VGT_GS_INSTANCE_CNT                                    0x028B90
6492#define   S_028B90_ENABLE(x)                                          (((unsigned)(x) & 0x1) << 0)
6493#define   G_028B90_ENABLE(x)                                          (((x) >> 0) & 0x1)
6494#define   C_028B90_ENABLE                                             0xFFFFFFFE
6495#define   S_028B90_CNT(x)                                             (((unsigned)(x) & 0x7F) << 2)
6496#define   G_028B90_CNT(x)                                             (((x) >> 2) & 0x7F)
6497#define   C_028B90_CNT                                                0xFFFFFE03
6498#define R_028B94_VGT_STRMOUT_CONFIG                                     0x028B94
6499#define   S_028B94_STREAMOUT_0_EN(x)                                  (((unsigned)(x) & 0x1) << 0)
6500#define   G_028B94_STREAMOUT_0_EN(x)                                  (((x) >> 0) & 0x1)
6501#define   C_028B94_STREAMOUT_0_EN                                     0xFFFFFFFE
6502#define   S_028B94_STREAMOUT_1_EN(x)                                  (((unsigned)(x) & 0x1) << 1)
6503#define   G_028B94_STREAMOUT_1_EN(x)                                  (((x) >> 1) & 0x1)
6504#define   C_028B94_STREAMOUT_1_EN                                     0xFFFFFFFD
6505#define   S_028B94_STREAMOUT_2_EN(x)                                  (((unsigned)(x) & 0x1) << 2)
6506#define   G_028B94_STREAMOUT_2_EN(x)                                  (((x) >> 2) & 0x1)
6507#define   C_028B94_STREAMOUT_2_EN                                     0xFFFFFFFB
6508#define   S_028B94_STREAMOUT_3_EN(x)                                  (((unsigned)(x) & 0x1) << 3)
6509#define   G_028B94_STREAMOUT_3_EN(x)                                  (((x) >> 3) & 0x1)
6510#define   C_028B94_STREAMOUT_3_EN                                     0xFFFFFFF7
6511#define   S_028B94_RAST_STREAM(x)                                     (((unsigned)(x) & 0x07) << 4)
6512#define   G_028B94_RAST_STREAM(x)                                     (((x) >> 4) & 0x07)
6513#define   C_028B94_RAST_STREAM                                        0xFFFFFF8F
6514#define   S_028B94_EN_PRIMS_NEEDED_CNT(x)                             (((unsigned)(x) & 0x1) << 7)
6515#define   G_028B94_EN_PRIMS_NEEDED_CNT(x)                             (((x) >> 7) & 0x1)
6516#define   C_028B94_EN_PRIMS_NEEDED_CNT                                0xFFFFFF7F
6517#define   S_028B94_RAST_STREAM_MASK(x)                                (((unsigned)(x) & 0x0F) << 8)
6518#define   G_028B94_RAST_STREAM_MASK(x)                                (((x) >> 8) & 0x0F)
6519#define   C_028B94_RAST_STREAM_MASK                                   0xFFFFF0FF
6520#define   S_028B94_USE_RAST_STREAM_MASK(x)                            (((unsigned)(x) & 0x1) << 31)
6521#define   G_028B94_USE_RAST_STREAM_MASK(x)                            (((x) >> 31) & 0x1)
6522#define   C_028B94_USE_RAST_STREAM_MASK                               0x7FFFFFFF
6523#define R_028B98_VGT_STRMOUT_BUFFER_CONFIG                              0x028B98
6524#define   S_028B98_STREAM_0_BUFFER_EN(x)                              (((unsigned)(x) & 0x0F) << 0)
6525#define   G_028B98_STREAM_0_BUFFER_EN(x)                              (((x) >> 0) & 0x0F)
6526#define   C_028B98_STREAM_0_BUFFER_EN                                 0xFFFFFFF0
6527#define   S_028B98_STREAM_1_BUFFER_EN(x)                              (((unsigned)(x) & 0x0F) << 4)
6528#define   G_028B98_STREAM_1_BUFFER_EN(x)                              (((x) >> 4) & 0x0F)
6529#define   C_028B98_STREAM_1_BUFFER_EN                                 0xFFFFFF0F
6530#define   S_028B98_STREAM_2_BUFFER_EN(x)                              (((unsigned)(x) & 0x0F) << 8)
6531#define   G_028B98_STREAM_2_BUFFER_EN(x)                              (((x) >> 8) & 0x0F)
6532#define   C_028B98_STREAM_2_BUFFER_EN                                 0xFFFFF0FF
6533#define   S_028B98_STREAM_3_BUFFER_EN(x)                              (((unsigned)(x) & 0x0F) << 12)
6534#define   G_028B98_STREAM_3_BUFFER_EN(x)                              (((x) >> 12) & 0x0F)
6535#define   C_028B98_STREAM_3_BUFFER_EN                                 0xFFFF0FFF
6536#define R_028B9C_VGT_DMA_EVENT_INITIATOR                                0x028B9C
6537#define   S_028B9C_EVENT_TYPE(x)                                      (((unsigned)(x) & 0x3F) << 0)
6538#define   G_028B9C_EVENT_TYPE(x)                                      (((x) >> 0) & 0x3F)
6539#define   C_028B9C_EVENT_TYPE                                         0xFFFFFFC0
6540#define   S_028B9C_ADDRESS_HI(x)                                      (((unsigned)(x) & 0x1FFFF) << 10)
6541#define   G_028B9C_ADDRESS_HI(x)                                      (((x) >> 10) & 0x1FFFF)
6542#define   C_028B9C_ADDRESS_HI                                         0xF80003FF
6543#define   S_028B9C_EXTENDED_EVENT(x)                                  (((unsigned)(x) & 0x1) << 27)
6544#define   G_028B9C_EXTENDED_EVENT(x)                                  (((x) >> 27) & 0x1)
6545#define   C_028B9C_EXTENDED_EVENT                                     0xF7FFFFFF
6546#define R_028BD4_PA_SC_CENTROID_PRIORITY_0                              0x028BD4
6547#define   S_028BD4_DISTANCE_0(x)                                      (((unsigned)(x) & 0x0F) << 0)
6548#define   G_028BD4_DISTANCE_0(x)                                      (((x) >> 0) & 0x0F)
6549#define   C_028BD4_DISTANCE_0                                         0xFFFFFFF0
6550#define   S_028BD4_DISTANCE_1(x)                                      (((unsigned)(x) & 0x0F) << 4)
6551#define   G_028BD4_DISTANCE_1(x)                                      (((x) >> 4) & 0x0F)
6552#define   C_028BD4_DISTANCE_1                                         0xFFFFFF0F
6553#define   S_028BD4_DISTANCE_2(x)                                      (((unsigned)(x) & 0x0F) << 8)
6554#define   G_028BD4_DISTANCE_2(x)                                      (((x) >> 8) & 0x0F)
6555#define   C_028BD4_DISTANCE_2                                         0xFFFFF0FF
6556#define   S_028BD4_DISTANCE_3(x)                                      (((unsigned)(x) & 0x0F) << 12)
6557#define   G_028BD4_DISTANCE_3(x)                                      (((x) >> 12) & 0x0F)
6558#define   C_028BD4_DISTANCE_3                                         0xFFFF0FFF
6559#define   S_028BD4_DISTANCE_4(x)                                      (((unsigned)(x) & 0x0F) << 16)
6560#define   G_028BD4_DISTANCE_4(x)                                      (((x) >> 16) & 0x0F)
6561#define   C_028BD4_DISTANCE_4                                         0xFFF0FFFF
6562#define   S_028BD4_DISTANCE_5(x)                                      (((unsigned)(x) & 0x0F) << 20)
6563#define   G_028BD4_DISTANCE_5(x)                                      (((x) >> 20) & 0x0F)
6564#define   C_028BD4_DISTANCE_5                                         0xFF0FFFFF
6565#define   S_028BD4_DISTANCE_6(x)                                      (((unsigned)(x) & 0x0F) << 24)
6566#define   G_028BD4_DISTANCE_6(x)                                      (((x) >> 24) & 0x0F)
6567#define   C_028BD4_DISTANCE_6                                         0xF0FFFFFF
6568#define   S_028BD4_DISTANCE_7(x)                                      (((unsigned)(x) & 0x0F) << 28)
6569#define   G_028BD4_DISTANCE_7(x)                                      (((x) >> 28) & 0x0F)
6570#define   C_028BD4_DISTANCE_7                                         0x0FFFFFFF
6571#define R_028BD8_PA_SC_CENTROID_PRIORITY_1                              0x028BD8
6572#define   S_028BD8_DISTANCE_8(x)                                      (((unsigned)(x) & 0x0F) << 0)
6573#define   G_028BD8_DISTANCE_8(x)                                      (((x) >> 0) & 0x0F)
6574#define   C_028BD8_DISTANCE_8                                         0xFFFFFFF0
6575#define   S_028BD8_DISTANCE_9(x)                                      (((unsigned)(x) & 0x0F) << 4)
6576#define   G_028BD8_DISTANCE_9(x)                                      (((x) >> 4) & 0x0F)
6577#define   C_028BD8_DISTANCE_9                                         0xFFFFFF0F
6578#define   S_028BD8_DISTANCE_10(x)                                     (((unsigned)(x) & 0x0F) << 8)
6579#define   G_028BD8_DISTANCE_10(x)                                     (((x) >> 8) & 0x0F)
6580#define   C_028BD8_DISTANCE_10                                        0xFFFFF0FF
6581#define   S_028BD8_DISTANCE_11(x)                                     (((unsigned)(x) & 0x0F) << 12)
6582#define   G_028BD8_DISTANCE_11(x)                                     (((x) >> 12) & 0x0F)
6583#define   C_028BD8_DISTANCE_11                                        0xFFFF0FFF
6584#define   S_028BD8_DISTANCE_12(x)                                     (((unsigned)(x) & 0x0F) << 16)
6585#define   G_028BD8_DISTANCE_12(x)                                     (((x) >> 16) & 0x0F)
6586#define   C_028BD8_DISTANCE_12                                        0xFFF0FFFF
6587#define   S_028BD8_DISTANCE_13(x)                                     (((unsigned)(x) & 0x0F) << 20)
6588#define   G_028BD8_DISTANCE_13(x)                                     (((x) >> 20) & 0x0F)
6589#define   C_028BD8_DISTANCE_13                                        0xFF0FFFFF
6590#define   S_028BD8_DISTANCE_14(x)                                     (((unsigned)(x) & 0x0F) << 24)
6591#define   G_028BD8_DISTANCE_14(x)                                     (((x) >> 24) & 0x0F)
6592#define   C_028BD8_DISTANCE_14                                        0xF0FFFFFF
6593#define   S_028BD8_DISTANCE_15(x)                                     (((unsigned)(x) & 0x0F) << 28)
6594#define   G_028BD8_DISTANCE_15(x)                                     (((x) >> 28) & 0x0F)
6595#define   C_028BD8_DISTANCE_15                                        0x0FFFFFFF
6596#define R_028BDC_PA_SC_LINE_CNTL                                        0x028BDC
6597#define   S_028BDC_EXPAND_LINE_WIDTH(x)                               (((unsigned)(x) & 0x1) << 9)
6598#define   G_028BDC_EXPAND_LINE_WIDTH(x)                               (((x) >> 9) & 0x1)
6599#define   C_028BDC_EXPAND_LINE_WIDTH                                  0xFFFFFDFF
6600#define   S_028BDC_LAST_PIXEL(x)                                      (((unsigned)(x) & 0x1) << 10)
6601#define   G_028BDC_LAST_PIXEL(x)                                      (((x) >> 10) & 0x1)
6602#define   C_028BDC_LAST_PIXEL                                         0xFFFFFBFF
6603#define   S_028BDC_PERPENDICULAR_ENDCAP_ENA(x)                        (((unsigned)(x) & 0x1) << 11)
6604#define   G_028BDC_PERPENDICULAR_ENDCAP_ENA(x)                        (((x) >> 11) & 0x1)
6605#define   C_028BDC_PERPENDICULAR_ENDCAP_ENA                           0xFFFFF7FF
6606#define   S_028BDC_DX10_DIAMOND_TEST_ENA(x)                           (((unsigned)(x) & 0x1) << 12)
6607#define   G_028BDC_DX10_DIAMOND_TEST_ENA(x)                           (((x) >> 12) & 0x1)
6608#define   C_028BDC_DX10_DIAMOND_TEST_ENA                              0xFFFFEFFF
6609#define R_028BE0_PA_SC_AA_CONFIG                                        0x028BE0
6610#define   S_028BE0_MSAA_NUM_SAMPLES(x)                                (((unsigned)(x) & 0x07) << 0)
6611#define   G_028BE0_MSAA_NUM_SAMPLES(x)                                (((x) >> 0) & 0x07)
6612#define   C_028BE0_MSAA_NUM_SAMPLES                                   0xFFFFFFF8
6613#define   S_028BE0_AA_MASK_CENTROID_DTMN(x)                           (((unsigned)(x) & 0x1) << 4)
6614#define   G_028BE0_AA_MASK_CENTROID_DTMN(x)                           (((x) >> 4) & 0x1)
6615#define   C_028BE0_AA_MASK_CENTROID_DTMN                              0xFFFFFFEF
6616#define   S_028BE0_MAX_SAMPLE_DIST(x)                                 (((unsigned)(x) & 0x0F) << 13)
6617#define   G_028BE0_MAX_SAMPLE_DIST(x)                                 (((x) >> 13) & 0x0F)
6618#define   C_028BE0_MAX_SAMPLE_DIST                                    0xFFFE1FFF
6619#define   S_028BE0_MSAA_EXPOSED_SAMPLES(x)                            (((unsigned)(x) & 0x07) << 20)
6620#define   G_028BE0_MSAA_EXPOSED_SAMPLES(x)                            (((x) >> 20) & 0x07)
6621#define   C_028BE0_MSAA_EXPOSED_SAMPLES                               0xFF8FFFFF
6622#define   S_028BE0_DETAIL_TO_EXPOSED_MODE(x)                          (((unsigned)(x) & 0x03) << 24)
6623#define   G_028BE0_DETAIL_TO_EXPOSED_MODE(x)                          (((x) >> 24) & 0x03)
6624#define   C_028BE0_DETAIL_TO_EXPOSED_MODE                             0xFCFFFFFF
6625#define   S_028BE0_COVERAGE_TO_SHADER_SELECT(x)                       (((unsigned)(x) & 0x03) << 26)
6626#define   G_028BE0_COVERAGE_TO_SHADER_SELECT(x)                       (((x) >> 26) & 0x03)
6627#define   C_028BE0_COVERAGE_TO_SHADER_SELECT                          0xF3FFFFFF
6628#define R_028BE4_PA_SU_VTX_CNTL                                         0x028BE4
6629#define   S_028BE4_PIX_CENTER(x)                                      (((unsigned)(x) & 0x1) << 0)
6630#define   G_028BE4_PIX_CENTER(x)                                      (((x) >> 0) & 0x1)
6631#define   C_028BE4_PIX_CENTER                                         0xFFFFFFFE
6632#define   S_028BE4_ROUND_MODE(x)                                      (((unsigned)(x) & 0x03) << 1)
6633#define   G_028BE4_ROUND_MODE(x)                                      (((x) >> 1) & 0x03)
6634#define   C_028BE4_ROUND_MODE                                         0xFFFFFFF9
6635#define   S_028BE4_QUANT_MODE(x)                                      (((unsigned)(x) & 0x07) << 3)
6636#define   G_028BE4_QUANT_MODE(x)                                      (((x) >> 3) & 0x07)
6637#define   C_028BE4_QUANT_MODE                                         0xFFFFFFC7
6638#define R_028BE8_PA_CL_GB_VERT_CLIP_ADJ                                 0x028BE8
6639#define R_028BEC_PA_CL_GB_VERT_DISC_ADJ                                 0x028BEC
6640#define R_028BF0_PA_CL_GB_HORZ_CLIP_ADJ                                 0x028BF0
6641#define R_028BF4_PA_CL_GB_HORZ_DISC_ADJ                                 0x028BF4
6642#define R_028BF8_PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y0_0                      0x028BF8
6643#define   S_028BF8_S0_X(x)                                            (((unsigned)(x) & 0x0F) << 0)
6644#define   G_028BF8_S0_X(x)                                            (((x) >> 0) & 0x0F)
6645#define   C_028BF8_S0_X                                               0xFFFFFFF0
6646#define   S_028BF8_S0_Y(x)                                            (((unsigned)(x) & 0x0F) << 4)
6647#define   G_028BF8_S0_Y(x)                                            (((x) >> 4) & 0x0F)
6648#define   C_028BF8_S0_Y                                               0xFFFFFF0F
6649#define   S_028BF8_S1_X(x)                                            (((unsigned)(x) & 0x0F) << 8)
6650#define   G_028BF8_S1_X(x)                                            (((x) >> 8) & 0x0F)
6651#define   C_028BF8_S1_X                                               0xFFFFF0FF
6652#define   S_028BF8_S1_Y(x)                                            (((unsigned)(x) & 0x0F) << 12)
6653#define   G_028BF8_S1_Y(x)                                            (((x) >> 12) & 0x0F)
6654#define   C_028BF8_S1_Y                                               0xFFFF0FFF
6655#define   S_028BF8_S2_X(x)                                            (((unsigned)(x) & 0x0F) << 16)
6656#define   G_028BF8_S2_X(x)                                            (((x) >> 16) & 0x0F)
6657#define   C_028BF8_S2_X                                               0xFFF0FFFF
6658#define   S_028BF8_S2_Y(x)                                            (((unsigned)(x) & 0x0F) << 20)
6659#define   G_028BF8_S2_Y(x)                                            (((x) >> 20) & 0x0F)
6660#define   C_028BF8_S2_Y                                               0xFF0FFFFF
6661#define   S_028BF8_S3_X(x)                                            (((unsigned)(x) & 0x0F) << 24)
6662#define   G_028BF8_S3_X(x)                                            (((x) >> 24) & 0x0F)
6663#define   C_028BF8_S3_X                                               0xF0FFFFFF
6664#define   S_028BF8_S3_Y(x)                                            (((unsigned)(x) & 0x0F) << 28)
6665#define   G_028BF8_S3_Y(x)                                            (((x) >> 28) & 0x0F)
6666#define   C_028BF8_S3_Y                                               0x0FFFFFFF
6667#define R_028BFC_PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y0_1                      0x028BFC
6668#define   S_028BFC_S4_X(x)                                            (((unsigned)(x) & 0x0F) << 0)
6669#define   G_028BFC_S4_X(x)                                            (((x) >> 0) & 0x0F)
6670#define   C_028BFC_S4_X                                               0xFFFFFFF0
6671#define   S_028BFC_S4_Y(x)                                            (((unsigned)(x) & 0x0F) << 4)
6672#define   G_028BFC_S4_Y(x)                                            (((x) >> 4) & 0x0F)
6673#define   C_028BFC_S4_Y                                               0xFFFFFF0F
6674#define   S_028BFC_S5_X(x)                                            (((unsigned)(x) & 0x0F) << 8)
6675#define   G_028BFC_S5_X(x)                                            (((x) >> 8) & 0x0F)
6676#define   C_028BFC_S5_X                                               0xFFFFF0FF
6677#define   S_028BFC_S5_Y(x)                                            (((unsigned)(x) & 0x0F) << 12)
6678#define   G_028BFC_S5_Y(x)                                            (((x) >> 12) & 0x0F)
6679#define   C_028BFC_S5_Y                                               0xFFFF0FFF
6680#define   S_028BFC_S6_X(x)                                            (((unsigned)(x) & 0x0F) << 16)
6681#define   G_028BFC_S6_X(x)                                            (((x) >> 16) & 0x0F)
6682#define   C_028BFC_S6_X                                               0xFFF0FFFF
6683#define   S_028BFC_S6_Y(x)                                            (((unsigned)(x) & 0x0F) << 20)
6684#define   G_028BFC_S6_Y(x)                                            (((x) >> 20) & 0x0F)
6685#define   C_028BFC_S6_Y                                               0xFF0FFFFF
6686#define   S_028BFC_S7_X(x)                                            (((unsigned)(x) & 0x0F) << 24)
6687#define   G_028BFC_S7_X(x)                                            (((x) >> 24) & 0x0F)
6688#define   C_028BFC_S7_X                                               0xF0FFFFFF
6689#define   S_028BFC_S7_Y(x)                                            (((unsigned)(x) & 0x0F) << 28)
6690#define   G_028BFC_S7_Y(x)                                            (((x) >> 28) & 0x0F)
6691#define   C_028BFC_S7_Y                                               0x0FFFFFFF
6692#define R_028C00_PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y0_2                      0x028C00
6693#define   S_028C00_S8_X(x)                                            (((unsigned)(x) & 0x0F) << 0)
6694#define   G_028C00_S8_X(x)                                            (((x) >> 0) & 0x0F)
6695#define   C_028C00_S8_X                                               0xFFFFFFF0
6696#define   S_028C00_S8_Y(x)                                            (((unsigned)(x) & 0x0F) << 4)
6697#define   G_028C00_S8_Y(x)                                            (((x) >> 4) & 0x0F)
6698#define   C_028C00_S8_Y                                               0xFFFFFF0F
6699#define   S_028C00_S9_X(x)                                            (((unsigned)(x) & 0x0F) << 8)
6700#define   G_028C00_S9_X(x)                                            (((x) >> 8) & 0x0F)
6701#define   C_028C00_S9_X                                               0xFFFFF0FF
6702#define   S_028C00_S9_Y(x)                                            (((unsigned)(x) & 0x0F) << 12)
6703#define   G_028C00_S9_Y(x)                                            (((x) >> 12) & 0x0F)
6704#define   C_028C00_S9_Y                                               0xFFFF0FFF
6705#define   S_028C00_S10_X(x)                                           (((unsigned)(x) & 0x0F) << 16)
6706#define   G_028C00_S10_X(x)                                           (((x) >> 16) & 0x0F)
6707#define   C_028C00_S10_X                                              0xFFF0FFFF
6708#define   S_028C00_S10_Y(x)                                           (((unsigned)(x) & 0x0F) << 20)
6709#define   G_028C00_S10_Y(x)                                           (((x) >> 20) & 0x0F)
6710#define   C_028C00_S10_Y                                              0xFF0FFFFF
6711#define   S_028C00_S11_X(x)                                           (((unsigned)(x) & 0x0F) << 24)
6712#define   G_028C00_S11_X(x)                                           (((x) >> 24) & 0x0F)
6713#define   C_028C00_S11_X                                              0xF0FFFFFF
6714#define   S_028C00_S11_Y(x)                                           (((unsigned)(x) & 0x0F) << 28)
6715#define   G_028C00_S11_Y(x)                                           (((x) >> 28) & 0x0F)
6716#define   C_028C00_S11_Y                                              0x0FFFFFFF
6717#define R_028C04_PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y0_3                      0x028C04
6718#define   S_028C04_S12_X(x)                                           (((unsigned)(x) & 0x0F) << 0)
6719#define   G_028C04_S12_X(x)                                           (((x) >> 0) & 0x0F)
6720#define   C_028C04_S12_X                                              0xFFFFFFF0
6721#define   S_028C04_S12_Y(x)                                           (((unsigned)(x) & 0x0F) << 4)
6722#define   G_028C04_S12_Y(x)                                           (((x) >> 4) & 0x0F)
6723#define   C_028C04_S12_Y                                              0xFFFFFF0F
6724#define   S_028C04_S13_X(x)                                           (((unsigned)(x) & 0x0F) << 8)
6725#define   G_028C04_S13_X(x)                                           (((x) >> 8) & 0x0F)
6726#define   C_028C04_S13_X                                              0xFFFFF0FF
6727#define   S_028C04_S13_Y(x)                                           (((unsigned)(x) & 0x0F) << 12)
6728#define   G_028C04_S13_Y(x)                                           (((x) >> 12) & 0x0F)
6729#define   C_028C04_S13_Y                                              0xFFFF0FFF
6730#define   S_028C04_S14_X(x)                                           (((unsigned)(x) & 0x0F) << 16)
6731#define   G_028C04_S14_X(x)                                           (((x) >> 16) & 0x0F)
6732#define   C_028C04_S14_X                                              0xFFF0FFFF
6733#define   S_028C04_S14_Y(x)                                           (((unsigned)(x) & 0x0F) << 20)
6734#define   G_028C04_S14_Y(x)                                           (((x) >> 20) & 0x0F)
6735#define   C_028C04_S14_Y                                              0xFF0FFFFF
6736#define   S_028C04_S15_X(x)                                           (((unsigned)(x) & 0x0F) << 24)
6737#define   G_028C04_S15_X(x)                                           (((x) >> 24) & 0x0F)
6738#define   C_028C04_S15_X                                              0xF0FFFFFF
6739#define   S_028C04_S15_Y(x)                                           (((unsigned)(x) & 0x0F) << 28)
6740#define   G_028C04_S15_Y(x)                                           (((x) >> 28) & 0x0F)
6741#define   C_028C04_S15_Y                                              0x0FFFFFFF
6742#define R_028C08_PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y0_0                      0x028C08
6743#define   S_028C08_S0_X(x)                                            (((unsigned)(x) & 0x0F) << 0)
6744#define   G_028C08_S0_X(x)                                            (((x) >> 0) & 0x0F)
6745#define   C_028C08_S0_X                                               0xFFFFFFF0
6746#define   S_028C08_S0_Y(x)                                            (((unsigned)(x) & 0x0F) << 4)
6747#define   G_028C08_S0_Y(x)                                            (((x) >> 4) & 0x0F)
6748#define   C_028C08_S0_Y                                               0xFFFFFF0F
6749#define   S_028C08_S1_X(x)                                            (((unsigned)(x) & 0x0F) << 8)
6750#define   G_028C08_S1_X(x)                                            (((x) >> 8) & 0x0F)
6751#define   C_028C08_S1_X                                               0xFFFFF0FF
6752#define   S_028C08_S1_Y(x)                                            (((unsigned)(x) & 0x0F) << 12)
6753#define   G_028C08_S1_Y(x)                                            (((x) >> 12) & 0x0F)
6754#define   C_028C08_S1_Y                                               0xFFFF0FFF
6755#define   S_028C08_S2_X(x)                                            (((unsigned)(x) & 0x0F) << 16)
6756#define   G_028C08_S2_X(x)                                            (((x) >> 16) & 0x0F)
6757#define   C_028C08_S2_X                                               0xFFF0FFFF
6758#define   S_028C08_S2_Y(x)                                            (((unsigned)(x) & 0x0F) << 20)
6759#define   G_028C08_S2_Y(x)                                            (((x) >> 20) & 0x0F)
6760#define   C_028C08_S2_Y                                               0xFF0FFFFF
6761#define   S_028C08_S3_X(x)                                            (((unsigned)(x) & 0x0F) << 24)
6762#define   G_028C08_S3_X(x)                                            (((x) >> 24) & 0x0F)
6763#define   C_028C08_S3_X                                               0xF0FFFFFF
6764#define   S_028C08_S3_Y(x)                                            (((unsigned)(x) & 0x0F) << 28)
6765#define   G_028C08_S3_Y(x)                                            (((x) >> 28) & 0x0F)
6766#define   C_028C08_S3_Y                                               0x0FFFFFFF
6767#define R_028C0C_PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y0_1                      0x028C0C
6768#define   S_028C0C_S4_X(x)                                            (((unsigned)(x) & 0x0F) << 0)
6769#define   G_028C0C_S4_X(x)                                            (((x) >> 0) & 0x0F)
6770#define   C_028C0C_S4_X                                               0xFFFFFFF0
6771#define   S_028C0C_S4_Y(x)                                            (((unsigned)(x) & 0x0F) << 4)
6772#define   G_028C0C_S4_Y(x)                                            (((x) >> 4) & 0x0F)
6773#define   C_028C0C_S4_Y                                               0xFFFFFF0F
6774#define   S_028C0C_S5_X(x)                                            (((unsigned)(x) & 0x0F) << 8)
6775#define   G_028C0C_S5_X(x)                                            (((x) >> 8) & 0x0F)
6776#define   C_028C0C_S5_X                                               0xFFFFF0FF
6777#define   S_028C0C_S5_Y(x)                                            (((unsigned)(x) & 0x0F) << 12)
6778#define   G_028C0C_S5_Y(x)                                            (((x) >> 12) & 0x0F)
6779#define   C_028C0C_S5_Y                                               0xFFFF0FFF
6780#define   S_028C0C_S6_X(x)                                            (((unsigned)(x) & 0x0F) << 16)
6781#define   G_028C0C_S6_X(x)                                            (((x) >> 16) & 0x0F)
6782#define   C_028C0C_S6_X                                               0xFFF0FFFF
6783#define   S_028C0C_S6_Y(x)                                            (((unsigned)(x) & 0x0F) << 20)
6784#define   G_028C0C_S6_Y(x)                                            (((x) >> 20) & 0x0F)
6785#define   C_028C0C_S6_Y                                               0xFF0FFFFF
6786#define   S_028C0C_S7_X(x)                                            (((unsigned)(x) & 0x0F) << 24)
6787#define   G_028C0C_S7_X(x)                                            (((x) >> 24) & 0x0F)
6788#define   C_028C0C_S7_X                                               0xF0FFFFFF
6789#define   S_028C0C_S7_Y(x)                                            (((unsigned)(x) & 0x0F) << 28)
6790#define   G_028C0C_S7_Y(x)                                            (((x) >> 28) & 0x0F)
6791#define   C_028C0C_S7_Y                                               0x0FFFFFFF
6792#define R_028C10_PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y0_2                      0x028C10
6793#define   S_028C10_S8_X(x)                                            (((unsigned)(x) & 0x0F) << 0)
6794#define   G_028C10_S8_X(x)                                            (((x) >> 0) & 0x0F)
6795#define   C_028C10_S8_X                                               0xFFFFFFF0
6796#define   S_028C10_S8_Y(x)                                            (((unsigned)(x) & 0x0F) << 4)
6797#define   G_028C10_S8_Y(x)                                            (((x) >> 4) & 0x0F)
6798#define   C_028C10_S8_Y                                               0xFFFFFF0F
6799#define   S_028C10_S9_X(x)                                            (((unsigned)(x) & 0x0F) << 8)
6800#define   G_028C10_S9_X(x)                                            (((x) >> 8) & 0x0F)
6801#define   C_028C10_S9_X                                               0xFFFFF0FF
6802#define   S_028C10_S9_Y(x)                                            (((unsigned)(x) & 0x0F) << 12)
6803#define   G_028C10_S9_Y(x)                                            (((x) >> 12) & 0x0F)
6804#define   C_028C10_S9_Y                                               0xFFFF0FFF
6805#define   S_028C10_S10_X(x)                                           (((unsigned)(x) & 0x0F) << 16)
6806#define   G_028C10_S10_X(x)                                           (((x) >> 16) & 0x0F)
6807#define   C_028C10_S10_X                                              0xFFF0FFFF
6808#define   S_028C10_S10_Y(x)                                           (((unsigned)(x) & 0x0F) << 20)
6809#define   G_028C10_S10_Y(x)                                           (((x) >> 20) & 0x0F)
6810#define   C_028C10_S10_Y                                              0xFF0FFFFF
6811#define   S_028C10_S11_X(x)                                           (((unsigned)(x) & 0x0F) << 24)
6812#define   G_028C10_S11_X(x)                                           (((x) >> 24) & 0x0F)
6813#define   C_028C10_S11_X                                              0xF0FFFFFF
6814#define   S_028C10_S11_Y(x)                                           (((unsigned)(x) & 0x0F) << 28)
6815#define   G_028C10_S11_Y(x)                                           (((x) >> 28) & 0x0F)
6816#define   C_028C10_S11_Y                                              0x0FFFFFFF
6817#define R_028C14_PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y0_3                      0x028C14
6818#define   S_028C14_S12_X(x)                                           (((unsigned)(x) & 0x0F) << 0)
6819#define   G_028C14_S12_X(x)                                           (((x) >> 0) & 0x0F)
6820#define   C_028C14_S12_X                                              0xFFFFFFF0
6821#define   S_028C14_S12_Y(x)                                           (((unsigned)(x) & 0x0F) << 4)
6822#define   G_028C14_S12_Y(x)                                           (((x) >> 4) & 0x0F)
6823#define   C_028C14_S12_Y                                              0xFFFFFF0F
6824#define   S_028C14_S13_X(x)                                           (((unsigned)(x) & 0x0F) << 8)
6825#define   G_028C14_S13_X(x)                                           (((x) >> 8) & 0x0F)
6826#define   C_028C14_S13_X                                              0xFFFFF0FF
6827#define   S_028C14_S13_Y(x)                                           (((unsigned)(x) & 0x0F) << 12)
6828#define   G_028C14_S13_Y(x)                                           (((x) >> 12) & 0x0F)
6829#define   C_028C14_S13_Y                                              0xFFFF0FFF
6830#define   S_028C14_S14_X(x)                                           (((unsigned)(x) & 0x0F) << 16)
6831#define   G_028C14_S14_X(x)                                           (((x) >> 16) & 0x0F)
6832#define   C_028C14_S14_X                                              0xFFF0FFFF
6833#define   S_028C14_S14_Y(x)                                           (((unsigned)(x) & 0x0F) << 20)
6834#define   G_028C14_S14_Y(x)                                           (((x) >> 20) & 0x0F)
6835#define   C_028C14_S14_Y                                              0xFF0FFFFF
6836#define   S_028C14_S15_X(x)                                           (((unsigned)(x) & 0x0F) << 24)
6837#define   G_028C14_S15_X(x)                                           (((x) >> 24) & 0x0F)
6838#define   C_028C14_S15_X                                              0xF0FFFFFF
6839#define   S_028C14_S15_Y(x)                                           (((unsigned)(x) & 0x0F) << 28)
6840#define   G_028C14_S15_Y(x)                                           (((x) >> 28) & 0x0F)
6841#define   C_028C14_S15_Y                                              0x0FFFFFFF
6842#define R_028C18_PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y1_0                      0x028C18
6843#define   S_028C18_S0_X(x)                                            (((unsigned)(x) & 0x0F) << 0)
6844#define   G_028C18_S0_X(x)                                            (((x) >> 0) & 0x0F)
6845#define   C_028C18_S0_X                                               0xFFFFFFF0
6846#define   S_028C18_S0_Y(x)                                            (((unsigned)(x) & 0x0F) << 4)
6847#define   G_028C18_S0_Y(x)                                            (((x) >> 4) & 0x0F)
6848#define   C_028C18_S0_Y                                               0xFFFFFF0F
6849#define   S_028C18_S1_X(x)                                            (((unsigned)(x) & 0x0F) << 8)
6850#define   G_028C18_S1_X(x)                                            (((x) >> 8) & 0x0F)
6851#define   C_028C18_S1_X                                               0xFFFFF0FF
6852#define   S_028C18_S1_Y(x)                                            (((unsigned)(x) & 0x0F) << 12)
6853#define   G_028C18_S1_Y(x)                                            (((x) >> 12) & 0x0F)
6854#define   C_028C18_S1_Y                                               0xFFFF0FFF
6855#define   S_028C18_S2_X(x)                                            (((unsigned)(x) & 0x0F) << 16)
6856#define   G_028C18_S2_X(x)                                            (((x) >> 16) & 0x0F)
6857#define   C_028C18_S2_X                                               0xFFF0FFFF
6858#define   S_028C18_S2_Y(x)                                            (((unsigned)(x) & 0x0F) << 20)
6859#define   G_028C18_S2_Y(x)                                            (((x) >> 20) & 0x0F)
6860#define   C_028C18_S2_Y                                               0xFF0FFFFF
6861#define   S_028C18_S3_X(x)                                            (((unsigned)(x) & 0x0F) << 24)
6862#define   G_028C18_S3_X(x)                                            (((x) >> 24) & 0x0F)
6863#define   C_028C18_S3_X                                               0xF0FFFFFF
6864#define   S_028C18_S3_Y(x)                                            (((unsigned)(x) & 0x0F) << 28)
6865#define   G_028C18_S3_Y(x)                                            (((x) >> 28) & 0x0F)
6866#define   C_028C18_S3_Y                                               0x0FFFFFFF
6867#define R_028C1C_PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y1_1                      0x028C1C
6868#define   S_028C1C_S4_X(x)                                            (((unsigned)(x) & 0x0F) << 0)
6869#define   G_028C1C_S4_X(x)                                            (((x) >> 0) & 0x0F)
6870#define   C_028C1C_S4_X                                               0xFFFFFFF0
6871#define   S_028C1C_S4_Y(x)                                            (((unsigned)(x) & 0x0F) << 4)
6872#define   G_028C1C_S4_Y(x)                                            (((x) >> 4) & 0x0F)
6873#define   C_028C1C_S4_Y                                               0xFFFFFF0F
6874#define   S_028C1C_S5_X(x)                                            (((unsigned)(x) & 0x0F) << 8)
6875#define   G_028C1C_S5_X(x)                                            (((x) >> 8) & 0x0F)
6876#define   C_028C1C_S5_X                                               0xFFFFF0FF
6877#define   S_028C1C_S5_Y(x)                                            (((unsigned)(x) & 0x0F) << 12)
6878#define   G_028C1C_S5_Y(x)                                            (((x) >> 12) & 0x0F)
6879#define   C_028C1C_S5_Y                                               0xFFFF0FFF
6880#define   S_028C1C_S6_X(x)                                            (((unsigned)(x) & 0x0F) << 16)
6881#define   G_028C1C_S6_X(x)                                            (((x) >> 16) & 0x0F)
6882#define   C_028C1C_S6_X                                               0xFFF0FFFF
6883#define   S_028C1C_S6_Y(x)                                            (((unsigned)(x) & 0x0F) << 20)
6884#define   G_028C1C_S6_Y(x)                                            (((x) >> 20) & 0x0F)
6885#define   C_028C1C_S6_Y                                               0xFF0FFFFF
6886#define   S_028C1C_S7_X(x)                                            (((unsigned)(x) & 0x0F) << 24)
6887#define   G_028C1C_S7_X(x)                                            (((x) >> 24) & 0x0F)
6888#define   C_028C1C_S7_X                                               0xF0FFFFFF
6889#define   S_028C1C_S7_Y(x)                                            (((unsigned)(x) & 0x0F) << 28)
6890#define   G_028C1C_S7_Y(x)                                            (((x) >> 28) & 0x0F)
6891#define   C_028C1C_S7_Y                                               0x0FFFFFFF
6892#define R_028C20_PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y1_2                      0x028C20
6893#define   S_028C20_S8_X(x)                                            (((unsigned)(x) & 0x0F) << 0)
6894#define   G_028C20_S8_X(x)                                            (((x) >> 0) & 0x0F)
6895#define   C_028C20_S8_X                                               0xFFFFFFF0
6896#define   S_028C20_S8_Y(x)                                            (((unsigned)(x) & 0x0F) << 4)
6897#define   G_028C20_S8_Y(x)                                            (((x) >> 4) & 0x0F)
6898#define   C_028C20_S8_Y                                               0xFFFFFF0F
6899#define   S_028C20_S9_X(x)                                            (((unsigned)(x) & 0x0F) << 8)
6900#define   G_028C20_S9_X(x)                                            (((x) >> 8) & 0x0F)
6901#define   C_028C20_S9_X                                               0xFFFFF0FF
6902#define   S_028C20_S9_Y(x)                                            (((unsigned)(x) & 0x0F) << 12)
6903#define   G_028C20_S9_Y(x)                                            (((x) >> 12) & 0x0F)
6904#define   C_028C20_S9_Y                                               0xFFFF0FFF
6905#define   S_028C20_S10_X(x)                                           (((unsigned)(x) & 0x0F) << 16)
6906#define   G_028C20_S10_X(x)                                           (((x) >> 16) & 0x0F)
6907#define   C_028C20_S10_X                                              0xFFF0FFFF
6908#define   S_028C20_S10_Y(x)                                           (((unsigned)(x) & 0x0F) << 20)
6909#define   G_028C20_S10_Y(x)                                           (((x) >> 20) & 0x0F)
6910#define   C_028C20_S10_Y                                              0xFF0FFFFF
6911#define   S_028C20_S11_X(x)                                           (((unsigned)(x) & 0x0F) << 24)
6912#define   G_028C20_S11_X(x)                                           (((x) >> 24) & 0x0F)
6913#define   C_028C20_S11_X                                              0xF0FFFFFF
6914#define   S_028C20_S11_Y(x)                                           (((unsigned)(x) & 0x0F) << 28)
6915#define   G_028C20_S11_Y(x)                                           (((x) >> 28) & 0x0F)
6916#define   C_028C20_S11_Y                                              0x0FFFFFFF
6917#define R_028C24_PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y1_3                      0x028C24
6918#define   S_028C24_S12_X(x)                                           (((unsigned)(x) & 0x0F) << 0)
6919#define   G_028C24_S12_X(x)                                           (((x) >> 0) & 0x0F)
6920#define   C_028C24_S12_X                                              0xFFFFFFF0
6921#define   S_028C24_S12_Y(x)                                           (((unsigned)(x) & 0x0F) << 4)
6922#define   G_028C24_S12_Y(x)                                           (((x) >> 4) & 0x0F)
6923#define   C_028C24_S12_Y                                              0xFFFFFF0F
6924#define   S_028C24_S13_X(x)                                           (((unsigned)(x) & 0x0F) << 8)
6925#define   G_028C24_S13_X(x)                                           (((x) >> 8) & 0x0F)
6926#define   C_028C24_S13_X                                              0xFFFFF0FF
6927#define   S_028C24_S13_Y(x)                                           (((unsigned)(x) & 0x0F) << 12)
6928#define   G_028C24_S13_Y(x)                                           (((x) >> 12) & 0x0F)
6929#define   C_028C24_S13_Y                                              0xFFFF0FFF
6930#define   S_028C24_S14_X(x)                                           (((unsigned)(x) & 0x0F) << 16)
6931#define   G_028C24_S14_X(x)                                           (((x) >> 16) & 0x0F)
6932#define   C_028C24_S14_X                                              0xFFF0FFFF
6933#define   S_028C24_S14_Y(x)                                           (((unsigned)(x) & 0x0F) << 20)
6934#define   G_028C24_S14_Y(x)                                           (((x) >> 20) & 0x0F)
6935#define   C_028C24_S14_Y                                              0xFF0FFFFF
6936#define   S_028C24_S15_X(x)                                           (((unsigned)(x) & 0x0F) << 24)
6937#define   G_028C24_S15_X(x)                                           (((x) >> 24) & 0x0F)
6938#define   C_028C24_S15_X                                              0xF0FFFFFF
6939#define   S_028C24_S15_Y(x)                                           (((unsigned)(x) & 0x0F) << 28)
6940#define   G_028C24_S15_Y(x)                                           (((x) >> 28) & 0x0F)
6941#define   C_028C24_S15_Y                                              0x0FFFFFFF
6942#define R_028C28_PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y1_0                      0x028C28
6943#define   S_028C28_S0_X(x)                                            (((unsigned)(x) & 0x0F) << 0)
6944#define   G_028C28_S0_X(x)                                            (((x) >> 0) & 0x0F)
6945#define   C_028C28_S0_X                                               0xFFFFFFF0
6946#define   S_028C28_S0_Y(x)                                            (((unsigned)(x) & 0x0F) << 4)
6947#define   G_028C28_S0_Y(x)                                            (((x) >> 4) & 0x0F)
6948#define   C_028C28_S0_Y                                               0xFFFFFF0F
6949#define   S_028C28_S1_X(x)                                            (((unsigned)(x) & 0x0F) << 8)
6950#define   G_028C28_S1_X(x)                                            (((x) >> 8) & 0x0F)
6951#define   C_028C28_S1_X                                               0xFFFFF0FF
6952#define   S_028C28_S1_Y(x)                                            (((unsigned)(x) & 0x0F) << 12)
6953#define   G_028C28_S1_Y(x)                                            (((x) >> 12) & 0x0F)
6954#define   C_028C28_S1_Y                                               0xFFFF0FFF
6955#define   S_028C28_S2_X(x)                                            (((unsigned)(x) & 0x0F) << 16)
6956#define   G_028C28_S2_X(x)                                            (((x) >> 16) & 0x0F)
6957#define   C_028C28_S2_X                                               0xFFF0FFFF
6958#define   S_028C28_S2_Y(x)                                            (((unsigned)(x) & 0x0F) << 20)
6959#define   G_028C28_S2_Y(x)                                            (((x) >> 20) & 0x0F)
6960#define   C_028C28_S2_Y                                               0xFF0FFFFF
6961#define   S_028C28_S3_X(x)                                            (((unsigned)(x) & 0x0F) << 24)
6962#define   G_028C28_S3_X(x)                                            (((x) >> 24) & 0x0F)
6963#define   C_028C28_S3_X                                               0xF0FFFFFF
6964#define   S_028C28_S3_Y(x)                                            (((unsigned)(x) & 0x0F) << 28)
6965#define   G_028C28_S3_Y(x)                                            (((x) >> 28) & 0x0F)
6966#define   C_028C28_S3_Y                                               0x0FFFFFFF
6967#define R_028C2C_PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y1_1                      0x028C2C
6968#define   S_028C2C_S4_X(x)                                            (((unsigned)(x) & 0x0F) << 0)
6969#define   G_028C2C_S4_X(x)                                            (((x) >> 0) & 0x0F)
6970#define   C_028C2C_S4_X                                               0xFFFFFFF0
6971#define   S_028C2C_S4_Y(x)                                            (((unsigned)(x) & 0x0F) << 4)
6972#define   G_028C2C_S4_Y(x)                                            (((x) >> 4) & 0x0F)
6973#define   C_028C2C_S4_Y                                               0xFFFFFF0F
6974#define   S_028C2C_S5_X(x)                                            (((unsigned)(x) & 0x0F) << 8)
6975#define   G_028C2C_S5_X(x)                                            (((x) >> 8) & 0x0F)
6976#define   C_028C2C_S5_X                                               0xFFFFF0FF
6977#define   S_028C2C_S5_Y(x)                                            (((unsigned)(x) & 0x0F) << 12)
6978#define   G_028C2C_S5_Y(x)                                            (((x) >> 12) & 0x0F)
6979#define   C_028C2C_S5_Y                                               0xFFFF0FFF
6980#define   S_028C2C_S6_X(x)                                            (((unsigned)(x) & 0x0F) << 16)
6981#define   G_028C2C_S6_X(x)                                            (((x) >> 16) & 0x0F)
6982#define   C_028C2C_S6_X                                               0xFFF0FFFF
6983#define   S_028C2C_S6_Y(x)                                            (((unsigned)(x) & 0x0F) << 20)
6984#define   G_028C2C_S6_Y(x)                                            (((x) >> 20) & 0x0F)
6985#define   C_028C2C_S6_Y                                               0xFF0FFFFF
6986#define   S_028C2C_S7_X(x)                                            (((unsigned)(x) & 0x0F) << 24)
6987#define   G_028C2C_S7_X(x)                                            (((x) >> 24) & 0x0F)
6988#define   C_028C2C_S7_X                                               0xF0FFFFFF
6989#define   S_028C2C_S7_Y(x)                                            (((unsigned)(x) & 0x0F) << 28)
6990#define   G_028C2C_S7_Y(x)                                            (((x) >> 28) & 0x0F)
6991#define   C_028C2C_S7_Y                                               0x0FFFFFFF
6992#define R_028C30_PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y1_2                      0x028C30
6993#define   S_028C30_S8_X(x)                                            (((unsigned)(x) & 0x0F) << 0)
6994#define   G_028C30_S8_X(x)                                            (((x) >> 0) & 0x0F)
6995#define   C_028C30_S8_X                                               0xFFFFFFF0
6996#define   S_028C30_S8_Y(x)                                            (((unsigned)(x) & 0x0F) << 4)
6997#define   G_028C30_S8_Y(x)                                            (((x) >> 4) & 0x0F)
6998#define   C_028C30_S8_Y                                               0xFFFFFF0F
6999#define   S_028C30_S9_X(x)                                            (((unsigned)(x) & 0x0F) << 8)
7000#define   G_028C30_S9_X(x)                                            (((x) >> 8) & 0x0F)
7001#define   C_028C30_S9_X                                               0xFFFFF0FF
7002#define   S_028C30_S9_Y(x)                                            (((unsigned)(x) & 0x0F) << 12)
7003#define   G_028C30_S9_Y(x)                                            (((x) >> 12) & 0x0F)
7004#define   C_028C30_S9_Y                                               0xFFFF0FFF
7005#define   S_028C30_S10_X(x)                                           (((unsigned)(x) & 0x0F) << 16)
7006#define   G_028C30_S10_X(x)                                           (((x) >> 16) & 0x0F)
7007#define   C_028C30_S10_X                                              0xFFF0FFFF
7008#define   S_028C30_S10_Y(x)                                           (((unsigned)(x) & 0x0F) << 20)
7009#define   G_028C30_S10_Y(x)                                           (((x) >> 20) & 0x0F)
7010#define   C_028C30_S10_Y                                              0xFF0FFFFF
7011#define   S_028C30_S11_X(x)                                           (((unsigned)(x) & 0x0F) << 24)
7012#define   G_028C30_S11_X(x)                                           (((x) >> 24) & 0x0F)
7013#define   C_028C30_S11_X                                              0xF0FFFFFF
7014#define   S_028C30_S11_Y(x)                                           (((unsigned)(x) & 0x0F) << 28)
7015#define   G_028C30_S11_Y(x)                                           (((x) >> 28) & 0x0F)
7016#define   C_028C30_S11_Y                                              0x0FFFFFFF
7017#define R_028C34_PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y1_3                      0x028C34
7018#define   S_028C34_S12_X(x)                                           (((unsigned)(x) & 0x0F) << 0)
7019#define   G_028C34_S12_X(x)                                           (((x) >> 0) & 0x0F)
7020#define   C_028C34_S12_X                                              0xFFFFFFF0
7021#define   S_028C34_S12_Y(x)                                           (((unsigned)(x) & 0x0F) << 4)
7022#define   G_028C34_S12_Y(x)                                           (((x) >> 4) & 0x0F)
7023#define   C_028C34_S12_Y                                              0xFFFFFF0F
7024#define   S_028C34_S13_X(x)                                           (((unsigned)(x) & 0x0F) << 8)
7025#define   G_028C34_S13_X(x)                                           (((x) >> 8) & 0x0F)
7026#define   C_028C34_S13_X                                              0xFFFFF0FF
7027#define   S_028C34_S13_Y(x)                                           (((unsigned)(x) & 0x0F) << 12)
7028#define   G_028C34_S13_Y(x)                                           (((x) >> 12) & 0x0F)
7029#define   C_028C34_S13_Y                                              0xFFFF0FFF
7030#define   S_028C34_S14_X(x)                                           (((unsigned)(x) & 0x0F) << 16)
7031#define   G_028C34_S14_X(x)                                           (((x) >> 16) & 0x0F)
7032#define   C_028C34_S14_X                                              0xFFF0FFFF
7033#define   S_028C34_S14_Y(x)                                           (((unsigned)(x) & 0x0F) << 20)
7034#define   G_028C34_S14_Y(x)                                           (((x) >> 20) & 0x0F)
7035#define   C_028C34_S14_Y                                              0xFF0FFFFF
7036#define   S_028C34_S15_X(x)                                           (((unsigned)(x) & 0x0F) << 24)
7037#define   G_028C34_S15_X(x)                                           (((x) >> 24) & 0x0F)
7038#define   C_028C34_S15_X                                              0xF0FFFFFF
7039#define   S_028C34_S15_Y(x)                                           (((unsigned)(x) & 0x0F) << 28)
7040#define   G_028C34_S15_Y(x)                                           (((x) >> 28) & 0x0F)
7041#define   C_028C34_S15_Y                                              0x0FFFFFFF
7042#define R_028C38_PA_SC_AA_MASK_X0Y0_X1Y0                                0x028C38
7043#define   S_028C38_AA_MASK_X0Y0(x)                                    (((unsigned)(x) & 0xFFFF) << 0)
7044#define   G_028C38_AA_MASK_X0Y0(x)                                    (((x) >> 0) & 0xFFFF)
7045#define   C_028C38_AA_MASK_X0Y0                                       0xFFFF0000
7046#define   S_028C38_AA_MASK_X1Y0(x)                                    (((unsigned)(x) & 0xFFFF) << 16)
7047#define   G_028C38_AA_MASK_X1Y0(x)                                    (((x) >> 16) & 0xFFFF)
7048#define   C_028C38_AA_MASK_X1Y0                                       0x0000FFFF
7049#define R_028C3C_PA_SC_AA_MASK_X0Y1_X1Y1                                0x028C3C
7050#define   S_028C3C_AA_MASK_X0Y1(x)                                    (((unsigned)(x) & 0xFFFF) << 0)
7051#define   G_028C3C_AA_MASK_X0Y1(x)                                    (((x) >> 0) & 0xFFFF)
7052#define   C_028C3C_AA_MASK_X0Y1                                       0xFFFF0000
7053#define   S_028C3C_AA_MASK_X1Y1(x)                                    (((unsigned)(x) & 0xFFFF) << 16)
7054#define   G_028C3C_AA_MASK_X1Y1(x)                                    (((x) >> 16) & 0xFFFF)
7055#define   C_028C3C_AA_MASK_X1Y1                                       0x0000FFFF
7056#define R_028C40_PA_SC_SHADER_CONTROL                                   0x028C40
7057#define   S_028C40_REALIGN_DQUADS_AFTER_N_WAVES(x)                    (((unsigned)(x) & 0x03) << 0)
7058#define   G_028C40_REALIGN_DQUADS_AFTER_N_WAVES(x)                    (((x) >> 0) & 0x03)
7059#define   C_028C40_REALIGN_DQUADS_AFTER_N_WAVES                       0xFFFFFFFC
7060#define   S_028C40_LOAD_COLLISION_WAVEID(x)                           (((unsigned)(x) & 0x1) << 2)
7061#define   G_028C40_LOAD_COLLISION_WAVEID(x)                           (((x) >> 2) & 0x1)
7062#define   C_028C40_LOAD_COLLISION_WAVEID                              0xFFFFFFFB
7063#define   S_028C40_LOAD_INTRAWAVE_COLLISION(x)                        (((unsigned)(x) & 0x1) << 3)
7064#define   G_028C40_LOAD_INTRAWAVE_COLLISION(x)                        (((x) >> 3) & 0x1)
7065#define   C_028C40_LOAD_INTRAWAVE_COLLISION                           0xFFFFFFF7
7066#define R_028C44_PA_SC_BINNER_CNTL_0                                    0x028C44
7067#define   S_028C44_BINNING_MODE(x)                                    (((unsigned)(x) & 0x03) << 0)
7068#define   G_028C44_BINNING_MODE(x)                                    (((x) >> 0) & 0x03)
7069#define   C_028C44_BINNING_MODE                                       0xFFFFFFFC
7070#define     V_028C44_BINNING_ALLOWED					0
7071#define     V_028C44_FORCE_BINNING_ON					1
7072#define     V_028C44_DISABLE_BINNING_USE_NEW_SC				2
7073#define     V_028C44_DISABLE_BINNING_USE_LEGACY_SC			3
7074#define   S_028C44_BIN_SIZE_X(x)                                      (((unsigned)(x) & 0x1) << 2)
7075#define   G_028C44_BIN_SIZE_X(x)                                      (((x) >> 2) & 0x1)
7076#define   C_028C44_BIN_SIZE_X                                         0xFFFFFFFB
7077#define   S_028C44_BIN_SIZE_Y(x)                                      (((unsigned)(x) & 0x1) << 3)
7078#define   G_028C44_BIN_SIZE_Y(x)                                      (((x) >> 3) & 0x1)
7079#define   C_028C44_BIN_SIZE_Y                                         0xFFFFFFF7
7080#define   S_028C44_BIN_SIZE_X_EXTEND(x)                               (((unsigned)(x) & 0x07) << 4)
7081#define   G_028C44_BIN_SIZE_X_EXTEND(x)                               (((x) >> 4) & 0x07)
7082#define   C_028C44_BIN_SIZE_X_EXTEND                                  0xFFFFFF8F
7083#define   S_028C44_BIN_SIZE_Y_EXTEND(x)                               (((unsigned)(x) & 0x07) << 7)
7084#define   G_028C44_BIN_SIZE_Y_EXTEND(x)                               (((x) >> 7) & 0x07)
7085#define   C_028C44_BIN_SIZE_Y_EXTEND                                  0xFFFFFC7F
7086#define   S_028C44_CONTEXT_STATES_PER_BIN(x)                          (((unsigned)(x) & 0x07) << 10)
7087#define   G_028C44_CONTEXT_STATES_PER_BIN(x)                          (((x) >> 10) & 0x07)
7088#define   C_028C44_CONTEXT_STATES_PER_BIN                             0xFFFFE3FF
7089#define   S_028C44_PERSISTENT_STATES_PER_BIN(x)                       (((unsigned)(x) & 0x1F) << 13)
7090#define   G_028C44_PERSISTENT_STATES_PER_BIN(x)                       (((x) >> 13) & 0x1F)
7091#define   C_028C44_PERSISTENT_STATES_PER_BIN                          0xFFFC1FFF
7092#define   S_028C44_DISABLE_START_OF_PRIM(x)                           (((unsigned)(x) & 0x1) << 18)
7093#define   G_028C44_DISABLE_START_OF_PRIM(x)                           (((x) >> 18) & 0x1)
7094#define   C_028C44_DISABLE_START_OF_PRIM                              0xFFFBFFFF
7095#define   S_028C44_FPOVS_PER_BATCH(x)                                 (((unsigned)(x) & 0xFF) << 19)
7096#define   G_028C44_FPOVS_PER_BATCH(x)                                 (((x) >> 19) & 0xFF)
7097#define   C_028C44_FPOVS_PER_BATCH                                    0xF807FFFF
7098#define   S_028C44_OPTIMAL_BIN_SELECTION(x)                           (((unsigned)(x) & 0x1) << 27)
7099#define   G_028C44_OPTIMAL_BIN_SELECTION(x)                           (((x) >> 27) & 0x1)
7100#define   C_028C44_OPTIMAL_BIN_SELECTION                              0xF7FFFFFF
7101#define R_028C48_PA_SC_BINNER_CNTL_1                                    0x028C48
7102#define   S_028C48_MAX_ALLOC_COUNT(x)                                 (((unsigned)(x) & 0xFFFF) << 0)
7103#define   G_028C48_MAX_ALLOC_COUNT(x)                                 (((x) >> 0) & 0xFFFF)
7104#define   C_028C48_MAX_ALLOC_COUNT                                    0xFFFF0000
7105#define   S_028C48_MAX_PRIM_PER_BATCH(x)                              (((unsigned)(x) & 0xFFFF) << 16)
7106#define   G_028C48_MAX_PRIM_PER_BATCH(x)                              (((x) >> 16) & 0xFFFF)
7107#define   C_028C48_MAX_PRIM_PER_BATCH                                 0x0000FFFF
7108#define R_028C4C_PA_SC_CONSERVATIVE_RASTERIZATION_CNTL                  0x028C4C
7109#define   S_028C4C_OVER_RAST_ENABLE(x)                                (((unsigned)(x) & 0x1) << 0)
7110#define   G_028C4C_OVER_RAST_ENABLE(x)                                (((x) >> 0) & 0x1)
7111#define   C_028C4C_OVER_RAST_ENABLE                                   0xFFFFFFFE
7112#define   S_028C4C_OVER_RAST_SAMPLE_SELECT(x)                         (((unsigned)(x) & 0x0F) << 1)
7113#define   G_028C4C_OVER_RAST_SAMPLE_SELECT(x)                         (((x) >> 1) & 0x0F)
7114#define   C_028C4C_OVER_RAST_SAMPLE_SELECT                            0xFFFFFFE1
7115#define   S_028C4C_UNDER_RAST_ENABLE(x)                               (((unsigned)(x) & 0x1) << 5)
7116#define   G_028C4C_UNDER_RAST_ENABLE(x)                               (((x) >> 5) & 0x1)
7117#define   C_028C4C_UNDER_RAST_ENABLE                                  0xFFFFFFDF
7118#define   S_028C4C_UNDER_RAST_SAMPLE_SELECT(x)                        (((unsigned)(x) & 0x0F) << 6)
7119#define   G_028C4C_UNDER_RAST_SAMPLE_SELECT(x)                        (((x) >> 6) & 0x0F)
7120#define   C_028C4C_UNDER_RAST_SAMPLE_SELECT                           0xFFFFFC3F
7121#define   S_028C4C_PBB_UNCERTAINTY_REGION_ENABLE(x)                   (((unsigned)(x) & 0x1) << 10)
7122#define   G_028C4C_PBB_UNCERTAINTY_REGION_ENABLE(x)                   (((x) >> 10) & 0x1)
7123#define   C_028C4C_PBB_UNCERTAINTY_REGION_ENABLE                      0xFFFFFBFF
7124#define   S_028C4C_ZMM_TRI_EXTENT(x)                                  (((unsigned)(x) & 0x1) << 11)
7125#define   G_028C4C_ZMM_TRI_EXTENT(x)                                  (((x) >> 11) & 0x1)
7126#define   C_028C4C_ZMM_TRI_EXTENT                                     0xFFFFF7FF
7127#define   S_028C4C_ZMM_TRI_OFFSET(x)                                  (((unsigned)(x) & 0x1) << 12)
7128#define   G_028C4C_ZMM_TRI_OFFSET(x)                                  (((x) >> 12) & 0x1)
7129#define   C_028C4C_ZMM_TRI_OFFSET                                     0xFFFFEFFF
7130#define   S_028C4C_OVERRIDE_OVER_RAST_INNER_TO_NORMAL(x)              (((unsigned)(x) & 0x1) << 13)
7131#define   G_028C4C_OVERRIDE_OVER_RAST_INNER_TO_NORMAL(x)              (((x) >> 13) & 0x1)
7132#define   C_028C4C_OVERRIDE_OVER_RAST_INNER_TO_NORMAL                 0xFFFFDFFF
7133#define   S_028C4C_OVERRIDE_UNDER_RAST_INNER_TO_NORMAL(x)             (((unsigned)(x) & 0x1) << 14)
7134#define   G_028C4C_OVERRIDE_UNDER_RAST_INNER_TO_NORMAL(x)             (((x) >> 14) & 0x1)
7135#define   C_028C4C_OVERRIDE_UNDER_RAST_INNER_TO_NORMAL                0xFFFFBFFF
7136#define   S_028C4C_DEGENERATE_OVERRIDE_INNER_TO_NORMAL_DISABLE(x)     (((unsigned)(x) & 0x1) << 15)
7137#define   G_028C4C_DEGENERATE_OVERRIDE_INNER_TO_NORMAL_DISABLE(x)     (((x) >> 15) & 0x1)
7138#define   C_028C4C_DEGENERATE_OVERRIDE_INNER_TO_NORMAL_DISABLE        0xFFFF7FFF
7139#define   S_028C4C_UNCERTAINTY_REGION_MODE(x)                         (((unsigned)(x) & 0x03) << 16)
7140#define   G_028C4C_UNCERTAINTY_REGION_MODE(x)                         (((x) >> 16) & 0x03)
7141#define   C_028C4C_UNCERTAINTY_REGION_MODE                            0xFFFCFFFF
7142#define   S_028C4C_OUTER_UNCERTAINTY_EDGERULE_OVERRIDE(x)             (((unsigned)(x) & 0x1) << 18)
7143#define   G_028C4C_OUTER_UNCERTAINTY_EDGERULE_OVERRIDE(x)             (((x) >> 18) & 0x1)
7144#define   C_028C4C_OUTER_UNCERTAINTY_EDGERULE_OVERRIDE                0xFFFBFFFF
7145#define   S_028C4C_INNER_UNCERTAINTY_EDGERULE_OVERRIDE(x)             (((unsigned)(x) & 0x1) << 19)
7146#define   G_028C4C_INNER_UNCERTAINTY_EDGERULE_OVERRIDE(x)             (((x) >> 19) & 0x1)
7147#define   C_028C4C_INNER_UNCERTAINTY_EDGERULE_OVERRIDE                0xFFF7FFFF
7148#define   S_028C4C_NULL_SQUAD_AA_MASK_ENABLE(x)                       (((unsigned)(x) & 0x1) << 20)
7149#define   G_028C4C_NULL_SQUAD_AA_MASK_ENABLE(x)                       (((x) >> 20) & 0x1)
7150#define   C_028C4C_NULL_SQUAD_AA_MASK_ENABLE                          0xFFEFFFFF
7151#define   S_028C4C_COVERAGE_AA_MASK_ENABLE(x)                         (((unsigned)(x) & 0x1) << 21)
7152#define   G_028C4C_COVERAGE_AA_MASK_ENABLE(x)                         (((x) >> 21) & 0x1)
7153#define   C_028C4C_COVERAGE_AA_MASK_ENABLE                            0xFFDFFFFF
7154#define   S_028C4C_PREZ_AA_MASK_ENABLE(x)                             (((unsigned)(x) & 0x1) << 22)
7155#define   G_028C4C_PREZ_AA_MASK_ENABLE(x)                             (((x) >> 22) & 0x1)
7156#define   C_028C4C_PREZ_AA_MASK_ENABLE                                0xFFBFFFFF
7157#define   S_028C4C_POSTZ_AA_MASK_ENABLE(x)                            (((unsigned)(x) & 0x1) << 23)
7158#define   G_028C4C_POSTZ_AA_MASK_ENABLE(x)                            (((x) >> 23) & 0x1)
7159#define   C_028C4C_POSTZ_AA_MASK_ENABLE                               0xFF7FFFFF
7160#define   S_028C4C_CENTROID_SAMPLE_OVERRIDE(x)                        (((unsigned)(x) & 0x1) << 24)
7161#define   G_028C4C_CENTROID_SAMPLE_OVERRIDE(x)                        (((x) >> 24) & 0x1)
7162#define   C_028C4C_CENTROID_SAMPLE_OVERRIDE                           0xFEFFFFFF
7163#define R_028C50_PA_SC_NGG_MODE_CNTL                                    0x028C50
7164#define   S_028C50_MAX_DEALLOCS_IN_WAVE(x)                            (((unsigned)(x) & 0x7FF) << 0)
7165#define   G_028C50_MAX_DEALLOCS_IN_WAVE(x)                            (((x) >> 0) & 0x7FF)
7166#define   C_028C50_MAX_DEALLOCS_IN_WAVE                               0xFFFFF800
7167#define R_028C58_VGT_VERTEX_REUSE_BLOCK_CNTL                            0x028C58
7168#define   S_028C58_VTX_REUSE_DEPTH(x)                                 (((unsigned)(x) & 0xFF) << 0)
7169#define   G_028C58_VTX_REUSE_DEPTH(x)                                 (((x) >> 0) & 0xFF)
7170#define   C_028C58_VTX_REUSE_DEPTH                                    0xFFFFFF00
7171#define R_028C5C_VGT_OUT_DEALLOC_CNTL                                   0x028C5C
7172#define   S_028C5C_DEALLOC_DIST(x)                                    (((unsigned)(x) & 0x7F) << 0)
7173#define   G_028C5C_DEALLOC_DIST(x)                                    (((x) >> 0) & 0x7F)
7174#define   C_028C5C_DEALLOC_DIST                                       0xFFFFFF80
7175#define R_028C60_CB_COLOR0_BASE                                         0x028C60
7176#define R_028C64_CB_COLOR0_BASE_EXT                                     0x028C64
7177#define   S_028C64_BASE_256B(x)                                       (((unsigned)(x) & 0xFF) << 0)
7178#define   G_028C64_BASE_256B(x)                                       (((x) >> 0) & 0xFF)
7179#define   C_028C64_BASE_256B                                          0xFFFFFF00
7180#define R_028C68_CB_COLOR0_ATTRIB2                                      0x028C68
7181#define   S_028C68_MIP0_HEIGHT(x)                                     (((unsigned)(x) & 0x3FFF) << 0)
7182#define   G_028C68_MIP0_HEIGHT(x)                                     (((x) >> 0) & 0x3FFF)
7183#define   C_028C68_MIP0_HEIGHT                                        0xFFFFC000
7184#define   S_028C68_MIP0_WIDTH(x)                                      (((unsigned)(x) & 0x3FFF) << 14)
7185#define   G_028C68_MIP0_WIDTH(x)                                      (((x) >> 14) & 0x3FFF)
7186#define   C_028C68_MIP0_WIDTH                                         0xF0003FFF
7187#define   S_028C68_MAX_MIP(x)                                         (((unsigned)(x) & 0x0F) << 28)
7188#define   G_028C68_MAX_MIP(x)                                         (((x) >> 28) & 0x0F)
7189#define   C_028C68_MAX_MIP                                            0x0FFFFFFF
7190#define R_028C6C_CB_COLOR0_VIEW                                         0x028C6C
7191#define   S_028C6C_SLICE_START(x)                                     (((unsigned)(x) & 0x7FF) << 0)
7192#define   G_028C6C_SLICE_START(x)                                     (((x) >> 0) & 0x7FF)
7193#define   C_028C6C_SLICE_START                                        0xFFFFF800
7194#define   S_028C6C_SLICE_MAX(x)                                       (((unsigned)(x) & 0x7FF) << 13)
7195#define   G_028C6C_SLICE_MAX(x)                                       (((x) >> 13) & 0x7FF)
7196#define   C_028C6C_SLICE_MAX                                          0xFF001FFF
7197#define   S_028C6C_MIP_LEVEL(x)                                       (((unsigned)(x) & 0x0F) << 24)
7198#define   G_028C6C_MIP_LEVEL(x)                                       (((x) >> 24) & 0x0F)
7199#define   C_028C6C_MIP_LEVEL                                          0xF0FFFFFF
7200#define R_028C70_CB_COLOR0_INFO                                         0x028C70
7201#define   S_028C70_ENDIAN(x)                                          (((unsigned)(x) & 0x03) << 0)
7202#define   G_028C70_ENDIAN(x)                                          (((x) >> 0) & 0x03)
7203#define   C_028C70_ENDIAN                                             0xFFFFFFFC
7204#define   S_028C70_FORMAT(x)                                          (((unsigned)(x) & 0x1F) << 2)
7205#define   G_028C70_FORMAT(x)                                          (((x) >> 2) & 0x1F)
7206#define   C_028C70_FORMAT                                             0xFFFFFF83
7207#define   S_028C70_NUMBER_TYPE(x)                                     (((unsigned)(x) & 0x07) << 8)
7208#define   G_028C70_NUMBER_TYPE(x)                                     (((x) >> 8) & 0x07)
7209#define   C_028C70_NUMBER_TYPE                                        0xFFFFF8FF
7210#define   S_028C70_COMP_SWAP(x)                                       (((unsigned)(x) & 0x03) << 11)
7211#define   G_028C70_COMP_SWAP(x)                                       (((x) >> 11) & 0x03)
7212#define   C_028C70_COMP_SWAP                                          0xFFFFE7FF
7213#define   S_028C70_FAST_CLEAR(x)                                      (((unsigned)(x) & 0x1) << 13)
7214#define   G_028C70_FAST_CLEAR(x)                                      (((x) >> 13) & 0x1)
7215#define   C_028C70_FAST_CLEAR                                         0xFFFFDFFF
7216#define   S_028C70_COMPRESSION(x)                                     (((unsigned)(x) & 0x1) << 14)
7217#define   G_028C70_COMPRESSION(x)                                     (((x) >> 14) & 0x1)
7218#define   C_028C70_COMPRESSION                                        0xFFFFBFFF
7219#define   S_028C70_BLEND_CLAMP(x)                                     (((unsigned)(x) & 0x1) << 15)
7220#define   G_028C70_BLEND_CLAMP(x)                                     (((x) >> 15) & 0x1)
7221#define   C_028C70_BLEND_CLAMP                                        0xFFFF7FFF
7222#define   S_028C70_BLEND_BYPASS(x)                                    (((unsigned)(x) & 0x1) << 16)
7223#define   G_028C70_BLEND_BYPASS(x)                                    (((x) >> 16) & 0x1)
7224#define   C_028C70_BLEND_BYPASS                                       0xFFFEFFFF
7225#define   S_028C70_SIMPLE_FLOAT(x)                                    (((unsigned)(x) & 0x1) << 17)
7226#define   G_028C70_SIMPLE_FLOAT(x)                                    (((x) >> 17) & 0x1)
7227#define   C_028C70_SIMPLE_FLOAT                                       0xFFFDFFFF
7228#define   S_028C70_ROUND_MODE(x)                                      (((unsigned)(x) & 0x1) << 18)
7229#define   G_028C70_ROUND_MODE(x)                                      (((x) >> 18) & 0x1)
7230#define   C_028C70_ROUND_MODE                                         0xFFFBFFFF
7231#define   S_028C70_BLEND_OPT_DONT_RD_DST(x)                           (((unsigned)(x) & 0x07) << 20)
7232#define   G_028C70_BLEND_OPT_DONT_RD_DST(x)                           (((x) >> 20) & 0x07)
7233#define   C_028C70_BLEND_OPT_DONT_RD_DST                              0xFF8FFFFF
7234#define   S_028C70_BLEND_OPT_DISCARD_PIXEL(x)                         (((unsigned)(x) & 0x07) << 23)
7235#define   G_028C70_BLEND_OPT_DISCARD_PIXEL(x)                         (((x) >> 23) & 0x07)
7236#define   C_028C70_BLEND_OPT_DISCARD_PIXEL                            0xFC7FFFFF
7237#define   S_028C70_FMASK_COMPRESSION_DISABLE(x)                       (((unsigned)(x) & 0x1) << 26)
7238#define   G_028C70_FMASK_COMPRESSION_DISABLE(x)                       (((x) >> 26) & 0x1)
7239#define   C_028C70_FMASK_COMPRESSION_DISABLE                          0xFBFFFFFF
7240#define   S_028C70_FMASK_COMPRESS_1FRAG_ONLY(x)                       (((unsigned)(x) & 0x1) << 27)
7241#define   G_028C70_FMASK_COMPRESS_1FRAG_ONLY(x)                       (((x) >> 27) & 0x1)
7242#define   C_028C70_FMASK_COMPRESS_1FRAG_ONLY                          0xF7FFFFFF
7243#define   S_028C70_DCC_ENABLE(x)                                      (((unsigned)(x) & 0x1) << 28)
7244#define   G_028C70_DCC_ENABLE(x)                                      (((x) >> 28) & 0x1)
7245#define   C_028C70_DCC_ENABLE                                         0xEFFFFFFF
7246#define   S_028C70_CMASK_ADDR_TYPE(x)                                 (((unsigned)(x) & 0x03) << 29)
7247#define   G_028C70_CMASK_ADDR_TYPE(x)                                 (((x) >> 29) & 0x03)
7248#define   C_028C70_CMASK_ADDR_TYPE                                    0x9FFFFFFF
7249#define R_028C74_CB_COLOR0_ATTRIB                                       0x028C74
7250#define   S_028C74_MIP0_DEPTH(x)                                      (((unsigned)(x) & 0x7FF) << 0)
7251#define   G_028C74_MIP0_DEPTH(x)                                      (((x) >> 0) & 0x7FF)
7252#define   C_028C74_MIP0_DEPTH                                         0xFFFFF800
7253#define   S_028C74_META_LINEAR(x)                                     (((unsigned)(x) & 0x1) << 11)
7254#define   G_028C74_META_LINEAR(x)                                     (((x) >> 11) & 0x1)
7255#define   C_028C74_META_LINEAR                                        0xFFFFF7FF
7256#define   S_028C74_NUM_SAMPLES(x)                                     (((unsigned)(x) & 0x07) << 12)
7257#define   G_028C74_NUM_SAMPLES(x)                                     (((x) >> 12) & 0x07)
7258#define   C_028C74_NUM_SAMPLES                                        0xFFFF8FFF
7259#define   S_028C74_NUM_FRAGMENTS(x)                                   (((unsigned)(x) & 0x03) << 15)
7260#define   G_028C74_NUM_FRAGMENTS(x)                                   (((x) >> 15) & 0x03)
7261#define   C_028C74_NUM_FRAGMENTS                                      0xFFFE7FFF
7262#define   S_028C74_FORCE_DST_ALPHA_1(x)                               (((unsigned)(x) & 0x1) << 17)
7263#define   G_028C74_FORCE_DST_ALPHA_1(x)                               (((x) >> 17) & 0x1)
7264#define   C_028C74_FORCE_DST_ALPHA_1                                  0xFFFDFFFF
7265#define   S_028C74_COLOR_SW_MODE(x)                                   (((unsigned)(x) & 0x1F) << 18)
7266#define   G_028C74_COLOR_SW_MODE(x)                                   (((x) >> 18) & 0x1F)
7267#define   C_028C74_COLOR_SW_MODE                                      0xFF83FFFF
7268#define   S_028C74_FMASK_SW_MODE(x)                                   (((unsigned)(x) & 0x1F) << 23)
7269#define   G_028C74_FMASK_SW_MODE(x)                                   (((x) >> 23) & 0x1F)
7270#define   C_028C74_FMASK_SW_MODE                                      0xF07FFFFF
7271#define   S_028C74_RESOURCE_TYPE(x)                                   (((unsigned)(x) & 0x03) << 28)
7272#define   G_028C74_RESOURCE_TYPE(x)                                   (((x) >> 28) & 0x03)
7273#define   C_028C74_RESOURCE_TYPE                                      0xCFFFFFFF
7274#define     V_028C74_1D                                             0
7275#define     V_028C74_2D                                             1
7276#define     V_028C74_3D                                             2
7277#define     V_028C74_RESERVED                                       3
7278#define   S_028C74_RB_ALIGNED(x)                                      (((unsigned)(x) & 0x1) << 30)
7279#define   G_028C74_RB_ALIGNED(x)                                      (((x) >> 30) & 0x1)
7280#define   C_028C74_RB_ALIGNED                                         0xBFFFFFFF
7281#define   S_028C74_PIPE_ALIGNED(x)                                    (((unsigned)(x) & 0x1) << 31)
7282#define   G_028C74_PIPE_ALIGNED(x)                                    (((x) >> 31) & 0x1)
7283#define   C_028C74_PIPE_ALIGNED                                       0x7FFFFFFF
7284#define R_028C78_CB_COLOR0_DCC_CONTROL                                  0x028C78
7285#define   S_028C78_OVERWRITE_COMBINER_DISABLE(x)                      (((unsigned)(x) & 0x1) << 0)
7286#define   G_028C78_OVERWRITE_COMBINER_DISABLE(x)                      (((x) >> 0) & 0x1)
7287#define   C_028C78_OVERWRITE_COMBINER_DISABLE                         0xFFFFFFFE
7288#define   S_028C78_KEY_CLEAR_ENABLE(x)                                (((unsigned)(x) & 0x1) << 1)
7289#define   G_028C78_KEY_CLEAR_ENABLE(x)                                (((x) >> 1) & 0x1)
7290#define   C_028C78_KEY_CLEAR_ENABLE                                   0xFFFFFFFD
7291#define   S_028C78_MAX_UNCOMPRESSED_BLOCK_SIZE(x)                     (((unsigned)(x) & 0x03) << 2)
7292#define   G_028C78_MAX_UNCOMPRESSED_BLOCK_SIZE(x)                     (((x) >> 2) & 0x03)
7293#define   C_028C78_MAX_UNCOMPRESSED_BLOCK_SIZE                        0xFFFFFFF3
7294#define   S_028C78_MIN_COMPRESSED_BLOCK_SIZE(x)                       (((unsigned)(x) & 0x1) << 4)
7295#define   G_028C78_MIN_COMPRESSED_BLOCK_SIZE(x)                       (((x) >> 4) & 0x1)
7296#define   C_028C78_MIN_COMPRESSED_BLOCK_SIZE                          0xFFFFFFEF
7297#define   S_028C78_MAX_COMPRESSED_BLOCK_SIZE(x)                       (((unsigned)(x) & 0x03) << 5)
7298#define   G_028C78_MAX_COMPRESSED_BLOCK_SIZE(x)                       (((x) >> 5) & 0x03)
7299#define   C_028C78_MAX_COMPRESSED_BLOCK_SIZE                          0xFFFFFF9F
7300#define   S_028C78_COLOR_TRANSFORM(x)                                 (((unsigned)(x) & 0x03) << 7)
7301#define   G_028C78_COLOR_TRANSFORM(x)                                 (((x) >> 7) & 0x03)
7302#define   C_028C78_COLOR_TRANSFORM                                    0xFFFFFE7F
7303#define   S_028C78_INDEPENDENT_64B_BLOCKS(x)                          (((unsigned)(x) & 0x1) << 9)
7304#define   G_028C78_INDEPENDENT_64B_BLOCKS(x)                          (((x) >> 9) & 0x1)
7305#define   C_028C78_INDEPENDENT_64B_BLOCKS                             0xFFFFFDFF
7306#define   S_028C78_LOSSY_RGB_PRECISION(x)                             (((unsigned)(x) & 0x0F) << 10)
7307#define   G_028C78_LOSSY_RGB_PRECISION(x)                             (((x) >> 10) & 0x0F)
7308#define   C_028C78_LOSSY_RGB_PRECISION                                0xFFFFC3FF
7309#define   S_028C78_LOSSY_ALPHA_PRECISION(x)                           (((unsigned)(x) & 0x0F) << 14)
7310#define   G_028C78_LOSSY_ALPHA_PRECISION(x)                           (((x) >> 14) & 0x0F)
7311#define   C_028C78_LOSSY_ALPHA_PRECISION                              0xFFFC3FFF
7312#define R_028C7C_CB_COLOR0_CMASK                                        0x028C7C
7313#define R_028C80_CB_COLOR0_CMASK_BASE_EXT                               0x028C80
7314#define   S_028C80_BASE_256B(x)                                       (((unsigned)(x) & 0xFF) << 0)
7315#define   G_028C80_BASE_256B(x)                                       (((x) >> 0) & 0xFF)
7316#define   C_028C80_BASE_256B                                          0xFFFFFF00
7317#define R_028C84_CB_COLOR0_FMASK                                        0x028C84
7318#define R_028C88_CB_COLOR0_FMASK_BASE_EXT                               0x028C88
7319#define   S_028C88_BASE_256B(x)                                       (((unsigned)(x) & 0xFF) << 0)
7320#define   G_028C88_BASE_256B(x)                                       (((x) >> 0) & 0xFF)
7321#define   C_028C88_BASE_256B                                          0xFFFFFF00
7322#define R_028C8C_CB_COLOR0_CLEAR_WORD0                                  0x028C8C
7323#define R_028C90_CB_COLOR0_CLEAR_WORD1                                  0x028C90
7324#define R_028C94_CB_COLOR0_DCC_BASE                                     0x028C94
7325#define R_028C98_CB_COLOR0_DCC_BASE_EXT                                 0x028C98
7326#define   S_028C98_BASE_256B(x)                                       (((unsigned)(x) & 0xFF) << 0)
7327#define   G_028C98_BASE_256B(x)                                       (((x) >> 0) & 0xFF)
7328#define   C_028C98_BASE_256B                                          0xFFFFFF00
7329#define R_028C9C_CB_COLOR1_BASE                                         0x028C9C
7330#define R_028CA0_CB_COLOR1_BASE_EXT                                     0x028CA0
7331#define R_028CA4_CB_COLOR1_ATTRIB2                                      0x028CA4
7332#define R_028CA8_CB_COLOR1_VIEW                                         0x028CA8
7333#define R_028CAC_CB_COLOR1_INFO                                         0x028CAC
7334#define R_028CB0_CB_COLOR1_ATTRIB                                       0x028CB0
7335#define R_028CB4_CB_COLOR1_DCC_CONTROL                                  0x028CB4
7336#define R_028CB8_CB_COLOR1_CMASK                                        0x028CB8
7337#define R_028CBC_CB_COLOR1_CMASK_BASE_EXT                               0x028CBC
7338#define R_028CC0_CB_COLOR1_FMASK                                        0x028CC0
7339#define R_028CC4_CB_COLOR1_FMASK_BASE_EXT                               0x028CC4
7340#define R_028CC8_CB_COLOR1_CLEAR_WORD0                                  0x028CC8
7341#define R_028CCC_CB_COLOR1_CLEAR_WORD1                                  0x028CCC
7342#define R_028CD0_CB_COLOR1_DCC_BASE                                     0x028CD0
7343#define R_028CD4_CB_COLOR1_DCC_BASE_EXT                                 0x028CD4
7344#define R_028CD8_CB_COLOR2_BASE                                         0x028CD8
7345#define R_028CDC_CB_COLOR2_BASE_EXT                                     0x028CDC
7346#define R_028CE0_CB_COLOR2_ATTRIB2                                      0x028CE0
7347#define R_028CE4_CB_COLOR2_VIEW                                         0x028CE4
7348#define R_028CE8_CB_COLOR2_INFO                                         0x028CE8
7349#define R_028CEC_CB_COLOR2_ATTRIB                                       0x028CEC
7350#define R_028CF0_CB_COLOR2_DCC_CONTROL                                  0x028CF0
7351#define R_028CF4_CB_COLOR2_CMASK                                        0x028CF4
7352#define R_028CF8_CB_COLOR2_CMASK_BASE_EXT                               0x028CF8
7353#define R_028CFC_CB_COLOR2_FMASK                                        0x028CFC
7354#define R_028D00_CB_COLOR2_FMASK_BASE_EXT                               0x028D00
7355#define R_028D04_CB_COLOR2_CLEAR_WORD0                                  0x028D04
7356#define R_028D08_CB_COLOR2_CLEAR_WORD1                                  0x028D08
7357#define R_028D0C_CB_COLOR2_DCC_BASE                                     0x028D0C
7358#define R_028D10_CB_COLOR2_DCC_BASE_EXT                                 0x028D10
7359#define R_028D14_CB_COLOR3_BASE                                         0x028D14
7360#define R_028D18_CB_COLOR3_BASE_EXT                                     0x028D18
7361#define R_028D1C_CB_COLOR3_ATTRIB2                                      0x028D1C
7362#define R_028D20_CB_COLOR3_VIEW                                         0x028D20
7363#define R_028D24_CB_COLOR3_INFO                                         0x028D24
7364#define R_028D28_CB_COLOR3_ATTRIB                                       0x028D28
7365#define R_028D2C_CB_COLOR3_DCC_CONTROL                                  0x028D2C
7366#define R_028D30_CB_COLOR3_CMASK                                        0x028D30
7367#define R_028D34_CB_COLOR3_CMASK_BASE_EXT                               0x028D34
7368#define R_028D38_CB_COLOR3_FMASK                                        0x028D38
7369#define R_028D3C_CB_COLOR3_FMASK_BASE_EXT                               0x028D3C
7370#define R_028D40_CB_COLOR3_CLEAR_WORD0                                  0x028D40
7371#define R_028D44_CB_COLOR3_CLEAR_WORD1                                  0x028D44
7372#define R_028D48_CB_COLOR3_DCC_BASE                                     0x028D48
7373#define R_028D4C_CB_COLOR3_DCC_BASE_EXT                                 0x028D4C
7374#define R_028D50_CB_COLOR4_BASE                                         0x028D50
7375#define R_028D54_CB_COLOR4_BASE_EXT                                     0x028D54
7376#define R_028D58_CB_COLOR4_ATTRIB2                                      0x028D58
7377#define R_028D5C_CB_COLOR4_VIEW                                         0x028D5C
7378#define R_028D60_CB_COLOR4_INFO                                         0x028D60
7379#define R_028D64_CB_COLOR4_ATTRIB                                       0x028D64
7380#define R_028D68_CB_COLOR4_DCC_CONTROL                                  0x028D68
7381#define R_028D6C_CB_COLOR4_CMASK                                        0x028D6C
7382#define R_028D70_CB_COLOR4_CMASK_BASE_EXT                               0x028D70
7383#define R_028D74_CB_COLOR4_FMASK                                        0x028D74
7384#define R_028D78_CB_COLOR4_FMASK_BASE_EXT                               0x028D78
7385#define R_028D7C_CB_COLOR4_CLEAR_WORD0                                  0x028D7C
7386#define R_028D80_CB_COLOR4_CLEAR_WORD1                                  0x028D80
7387#define R_028D84_CB_COLOR4_DCC_BASE                                     0x028D84
7388#define R_028D88_CB_COLOR4_DCC_BASE_EXT                                 0x028D88
7389#define R_028D8C_CB_COLOR5_BASE                                         0x028D8C
7390#define R_028D90_CB_COLOR5_BASE_EXT                                     0x028D90
7391#define R_028D94_CB_COLOR5_ATTRIB2                                      0x028D94
7392#define R_028D98_CB_COLOR5_VIEW                                         0x028D98
7393#define R_028D9C_CB_COLOR5_INFO                                         0x028D9C
7394#define R_028DA0_CB_COLOR5_ATTRIB                                       0x028DA0
7395#define R_028DA4_CB_COLOR5_DCC_CONTROL                                  0x028DA4
7396#define R_028DA8_CB_COLOR5_CMASK                                        0x028DA8
7397#define R_028DAC_CB_COLOR5_CMASK_BASE_EXT                               0x028DAC
7398#define R_028DB0_CB_COLOR5_FMASK                                        0x028DB0
7399#define R_028DB4_CB_COLOR5_FMASK_BASE_EXT                               0x028DB4
7400#define R_028DB8_CB_COLOR5_CLEAR_WORD0                                  0x028DB8
7401#define R_028DBC_CB_COLOR5_CLEAR_WORD1                                  0x028DBC
7402#define R_028DC0_CB_COLOR5_DCC_BASE                                     0x028DC0
7403#define R_028DC4_CB_COLOR5_DCC_BASE_EXT                                 0x028DC4
7404#define R_028DC8_CB_COLOR6_BASE                                         0x028DC8
7405#define R_028DCC_CB_COLOR6_BASE_EXT                                     0x028DCC
7406#define R_028DD0_CB_COLOR6_ATTRIB2                                      0x028DD0
7407#define R_028DD4_CB_COLOR6_VIEW                                         0x028DD4
7408#define R_028DD8_CB_COLOR6_INFO                                         0x028DD8
7409#define R_028DDC_CB_COLOR6_ATTRIB                                       0x028DDC
7410#define R_028DE0_CB_COLOR6_DCC_CONTROL                                  0x028DE0
7411#define R_028DE4_CB_COLOR6_CMASK                                        0x028DE4
7412#define R_028DE8_CB_COLOR6_CMASK_BASE_EXT                               0x028DE8
7413#define R_028DEC_CB_COLOR6_FMASK                                        0x028DEC
7414#define R_028DF0_CB_COLOR6_FMASK_BASE_EXT                               0x028DF0
7415#define R_028DF4_CB_COLOR6_CLEAR_WORD0                                  0x028DF4
7416#define R_028DF8_CB_COLOR6_CLEAR_WORD1                                  0x028DF8
7417#define R_028DFC_CB_COLOR6_DCC_BASE                                     0x028DFC
7418#define R_028E00_CB_COLOR6_DCC_BASE_EXT                                 0x028E00
7419#define R_028E04_CB_COLOR7_BASE                                         0x028E04
7420#define R_028E08_CB_COLOR7_BASE_EXT                                     0x028E08
7421#define R_028E0C_CB_COLOR7_ATTRIB2                                      0x028E0C
7422#define R_028E10_CB_COLOR7_VIEW                                         0x028E10
7423#define R_028E14_CB_COLOR7_INFO                                         0x028E14
7424#define R_028E18_CB_COLOR7_ATTRIB                                       0x028E18
7425#define R_028E1C_CB_COLOR7_DCC_CONTROL                                  0x028E1C
7426#define R_028E20_CB_COLOR7_CMASK                                        0x028E20
7427#define R_028E24_CB_COLOR7_CMASK_BASE_EXT                               0x028E24
7428#define R_028E28_CB_COLOR7_FMASK                                        0x028E28
7429#define R_028E2C_CB_COLOR7_FMASK_BASE_EXT                               0x028E2C
7430#define R_028E30_CB_COLOR7_CLEAR_WORD0                                  0x028E30
7431#define R_028E34_CB_COLOR7_CLEAR_WORD1                                  0x028E34
7432#define R_028E38_CB_COLOR7_DCC_BASE                                     0x028E38
7433#define R_028E3C_CB_COLOR7_DCC_BASE_EXT                                 0x028E3C
7434
7435#endif /* GFX9D_H */
7436