1*4882a593Smuzhiyun #ifndef A6XX_XML
2*4882a593Smuzhiyun #define A6XX_XML
3*4882a593Smuzhiyun
4*4882a593Smuzhiyun /* Autogenerated file, DO NOT EDIT manually!
5*4882a593Smuzhiyun
6*4882a593Smuzhiyun This file was generated by the rules-ng-ng headergen tool in this git repository:
7*4882a593Smuzhiyun http://github.com/freedreno/envytools/
8*4882a593Smuzhiyun git clone https://github.com/freedreno/envytools.git
9*4882a593Smuzhiyun
10*4882a593Smuzhiyun The rules-ng-ng source files this header was generated from are:
11*4882a593Smuzhiyun - /home/robclark/src/envytools/rnndb/adreno.xml ( 594 bytes, from 2020-07-23 21:58:14)
12*4882a593Smuzhiyun - /home/robclark/src/envytools/rnndb/freedreno_copyright.xml ( 1572 bytes, from 2020-07-23 21:58:14)
13*4882a593Smuzhiyun - /home/robclark/src/envytools/rnndb/adreno/a2xx.xml ( 90159 bytes, from 2020-07-23 21:58:14)
14*4882a593Smuzhiyun - /home/robclark/src/envytools/rnndb/adreno/adreno_common.xml ( 14386 bytes, from 2020-07-23 21:58:14)
15*4882a593Smuzhiyun - /home/robclark/src/envytools/rnndb/adreno/adreno_pm4.xml ( 65048 bytes, from 2020-07-23 21:58:14)
16*4882a593Smuzhiyun - /home/robclark/src/envytools/rnndb/adreno/a3xx.xml ( 84226 bytes, from 2020-07-23 21:58:14)
17*4882a593Smuzhiyun - /home/robclark/src/envytools/rnndb/adreno/a4xx.xml ( 112556 bytes, from 2020-07-23 21:58:14)
18*4882a593Smuzhiyun - /home/robclark/src/envytools/rnndb/adreno/a5xx.xml ( 149461 bytes, from 2020-07-23 21:58:14)
19*4882a593Smuzhiyun - /home/robclark/src/envytools/rnndb/adreno/a6xx.xml ( 184695 bytes, from 2020-07-23 21:58:14)
20*4882a593Smuzhiyun - /home/robclark/src/envytools/rnndb/adreno/a6xx_gmu.xml ( 11218 bytes, from 2020-07-23 21:58:14)
21*4882a593Smuzhiyun - /home/robclark/src/envytools/rnndb/adreno/ocmem.xml ( 1773 bytes, from 2020-07-23 21:58:14)
22*4882a593Smuzhiyun - /home/robclark/src/envytools/rnndb/adreno/adreno_control_regs.xml ( 4559 bytes, from 2020-07-23 21:58:14)
23*4882a593Smuzhiyun - /home/robclark/src/envytools/rnndb/adreno/adreno_pipe_regs.xml ( 2872 bytes, from 2020-07-23 21:58:14)
24*4882a593Smuzhiyun
25*4882a593Smuzhiyun Copyright (C) 2013-2020 by the following authors:
26*4882a593Smuzhiyun - Rob Clark <robdclark@gmail.com> (robclark)
27*4882a593Smuzhiyun - Ilia Mirkin <imirkin@alum.mit.edu> (imirkin)
28*4882a593Smuzhiyun
29*4882a593Smuzhiyun Permission is hereby granted, free of charge, to any person obtaining
30*4882a593Smuzhiyun a copy of this software and associated documentation files (the
31*4882a593Smuzhiyun "Software"), to deal in the Software without restriction, including
32*4882a593Smuzhiyun without limitation the rights to use, copy, modify, merge, publish,
33*4882a593Smuzhiyun distribute, sublicense, and/or sell copies of the Software, and to
34*4882a593Smuzhiyun permit persons to whom the Software is furnished to do so, subject to
35*4882a593Smuzhiyun the following conditions:
36*4882a593Smuzhiyun
37*4882a593Smuzhiyun The above copyright notice and this permission notice (including the
38*4882a593Smuzhiyun next paragraph) shall be included in all copies or substantial
39*4882a593Smuzhiyun portions of the Software.
40*4882a593Smuzhiyun
41*4882a593Smuzhiyun THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
42*4882a593Smuzhiyun EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
43*4882a593Smuzhiyun MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
44*4882a593Smuzhiyun IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
45*4882a593Smuzhiyun LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
46*4882a593Smuzhiyun OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
47*4882a593Smuzhiyun WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
48*4882a593Smuzhiyun */
49*4882a593Smuzhiyun
50*4882a593Smuzhiyun
51*4882a593Smuzhiyun enum a6xx_tile_mode {
52*4882a593Smuzhiyun TILE6_LINEAR = 0,
53*4882a593Smuzhiyun TILE6_2 = 2,
54*4882a593Smuzhiyun TILE6_3 = 3,
55*4882a593Smuzhiyun };
56*4882a593Smuzhiyun
57*4882a593Smuzhiyun enum a6xx_format {
58*4882a593Smuzhiyun FMT6_A8_UNORM = 2,
59*4882a593Smuzhiyun FMT6_8_UNORM = 3,
60*4882a593Smuzhiyun FMT6_8_SNORM = 4,
61*4882a593Smuzhiyun FMT6_8_UINT = 5,
62*4882a593Smuzhiyun FMT6_8_SINT = 6,
63*4882a593Smuzhiyun FMT6_4_4_4_4_UNORM = 8,
64*4882a593Smuzhiyun FMT6_5_5_5_1_UNORM = 10,
65*4882a593Smuzhiyun FMT6_1_5_5_5_UNORM = 12,
66*4882a593Smuzhiyun FMT6_5_6_5_UNORM = 14,
67*4882a593Smuzhiyun FMT6_8_8_UNORM = 15,
68*4882a593Smuzhiyun FMT6_8_8_SNORM = 16,
69*4882a593Smuzhiyun FMT6_8_8_UINT = 17,
70*4882a593Smuzhiyun FMT6_8_8_SINT = 18,
71*4882a593Smuzhiyun FMT6_L8_A8_UNORM = 19,
72*4882a593Smuzhiyun FMT6_16_UNORM = 21,
73*4882a593Smuzhiyun FMT6_16_SNORM = 22,
74*4882a593Smuzhiyun FMT6_16_FLOAT = 23,
75*4882a593Smuzhiyun FMT6_16_UINT = 24,
76*4882a593Smuzhiyun FMT6_16_SINT = 25,
77*4882a593Smuzhiyun FMT6_8_8_8_UNORM = 33,
78*4882a593Smuzhiyun FMT6_8_8_8_SNORM = 34,
79*4882a593Smuzhiyun FMT6_8_8_8_UINT = 35,
80*4882a593Smuzhiyun FMT6_8_8_8_SINT = 36,
81*4882a593Smuzhiyun FMT6_8_8_8_8_UNORM = 48,
82*4882a593Smuzhiyun FMT6_8_8_8_X8_UNORM = 49,
83*4882a593Smuzhiyun FMT6_8_8_8_8_SNORM = 50,
84*4882a593Smuzhiyun FMT6_8_8_8_8_UINT = 51,
85*4882a593Smuzhiyun FMT6_8_8_8_8_SINT = 52,
86*4882a593Smuzhiyun FMT6_9_9_9_E5_FLOAT = 53,
87*4882a593Smuzhiyun FMT6_10_10_10_2_UNORM = 54,
88*4882a593Smuzhiyun FMT6_10_10_10_2_UNORM_DEST = 55,
89*4882a593Smuzhiyun FMT6_10_10_10_2_SNORM = 57,
90*4882a593Smuzhiyun FMT6_10_10_10_2_UINT = 58,
91*4882a593Smuzhiyun FMT6_10_10_10_2_SINT = 59,
92*4882a593Smuzhiyun FMT6_11_11_10_FLOAT = 66,
93*4882a593Smuzhiyun FMT6_16_16_UNORM = 67,
94*4882a593Smuzhiyun FMT6_16_16_SNORM = 68,
95*4882a593Smuzhiyun FMT6_16_16_FLOAT = 69,
96*4882a593Smuzhiyun FMT6_16_16_UINT = 70,
97*4882a593Smuzhiyun FMT6_16_16_SINT = 71,
98*4882a593Smuzhiyun FMT6_32_UNORM = 72,
99*4882a593Smuzhiyun FMT6_32_SNORM = 73,
100*4882a593Smuzhiyun FMT6_32_FLOAT = 74,
101*4882a593Smuzhiyun FMT6_32_UINT = 75,
102*4882a593Smuzhiyun FMT6_32_SINT = 76,
103*4882a593Smuzhiyun FMT6_32_FIXED = 77,
104*4882a593Smuzhiyun FMT6_16_16_16_UNORM = 88,
105*4882a593Smuzhiyun FMT6_16_16_16_SNORM = 89,
106*4882a593Smuzhiyun FMT6_16_16_16_FLOAT = 90,
107*4882a593Smuzhiyun FMT6_16_16_16_UINT = 91,
108*4882a593Smuzhiyun FMT6_16_16_16_SINT = 92,
109*4882a593Smuzhiyun FMT6_16_16_16_16_UNORM = 96,
110*4882a593Smuzhiyun FMT6_16_16_16_16_SNORM = 97,
111*4882a593Smuzhiyun FMT6_16_16_16_16_FLOAT = 98,
112*4882a593Smuzhiyun FMT6_16_16_16_16_UINT = 99,
113*4882a593Smuzhiyun FMT6_16_16_16_16_SINT = 100,
114*4882a593Smuzhiyun FMT6_32_32_UNORM = 101,
115*4882a593Smuzhiyun FMT6_32_32_SNORM = 102,
116*4882a593Smuzhiyun FMT6_32_32_FLOAT = 103,
117*4882a593Smuzhiyun FMT6_32_32_UINT = 104,
118*4882a593Smuzhiyun FMT6_32_32_SINT = 105,
119*4882a593Smuzhiyun FMT6_32_32_FIXED = 106,
120*4882a593Smuzhiyun FMT6_32_32_32_UNORM = 112,
121*4882a593Smuzhiyun FMT6_32_32_32_SNORM = 113,
122*4882a593Smuzhiyun FMT6_32_32_32_UINT = 114,
123*4882a593Smuzhiyun FMT6_32_32_32_SINT = 115,
124*4882a593Smuzhiyun FMT6_32_32_32_FLOAT = 116,
125*4882a593Smuzhiyun FMT6_32_32_32_FIXED = 117,
126*4882a593Smuzhiyun FMT6_32_32_32_32_UNORM = 128,
127*4882a593Smuzhiyun FMT6_32_32_32_32_SNORM = 129,
128*4882a593Smuzhiyun FMT6_32_32_32_32_FLOAT = 130,
129*4882a593Smuzhiyun FMT6_32_32_32_32_UINT = 131,
130*4882a593Smuzhiyun FMT6_32_32_32_32_SINT = 132,
131*4882a593Smuzhiyun FMT6_32_32_32_32_FIXED = 133,
132*4882a593Smuzhiyun FMT6_G8R8B8R8_422_UNORM = 140,
133*4882a593Smuzhiyun FMT6_R8G8R8B8_422_UNORM = 141,
134*4882a593Smuzhiyun FMT6_R8_G8B8_2PLANE_420_UNORM = 142,
135*4882a593Smuzhiyun FMT6_R8_G8_B8_3PLANE_420_UNORM = 144,
136*4882a593Smuzhiyun FMT6_Z24_UNORM_S8_UINT_AS_R8G8B8A8 = 145,
137*4882a593Smuzhiyun FMT6_8_PLANE_UNORM = 148,
138*4882a593Smuzhiyun FMT6_Z24_UNORM_S8_UINT = 160,
139*4882a593Smuzhiyun FMT6_ETC2_RG11_UNORM = 171,
140*4882a593Smuzhiyun FMT6_ETC2_RG11_SNORM = 172,
141*4882a593Smuzhiyun FMT6_ETC2_R11_UNORM = 173,
142*4882a593Smuzhiyun FMT6_ETC2_R11_SNORM = 174,
143*4882a593Smuzhiyun FMT6_ETC1 = 175,
144*4882a593Smuzhiyun FMT6_ETC2_RGB8 = 176,
145*4882a593Smuzhiyun FMT6_ETC2_RGBA8 = 177,
146*4882a593Smuzhiyun FMT6_ETC2_RGB8A1 = 178,
147*4882a593Smuzhiyun FMT6_DXT1 = 179,
148*4882a593Smuzhiyun FMT6_DXT3 = 180,
149*4882a593Smuzhiyun FMT6_DXT5 = 181,
150*4882a593Smuzhiyun FMT6_RGTC1_UNORM = 183,
151*4882a593Smuzhiyun FMT6_RGTC1_SNORM = 184,
152*4882a593Smuzhiyun FMT6_RGTC2_UNORM = 187,
153*4882a593Smuzhiyun FMT6_RGTC2_SNORM = 188,
154*4882a593Smuzhiyun FMT6_BPTC_UFLOAT = 190,
155*4882a593Smuzhiyun FMT6_BPTC_FLOAT = 191,
156*4882a593Smuzhiyun FMT6_BPTC = 192,
157*4882a593Smuzhiyun FMT6_ASTC_4x4 = 193,
158*4882a593Smuzhiyun FMT6_ASTC_5x4 = 194,
159*4882a593Smuzhiyun FMT6_ASTC_5x5 = 195,
160*4882a593Smuzhiyun FMT6_ASTC_6x5 = 196,
161*4882a593Smuzhiyun FMT6_ASTC_6x6 = 197,
162*4882a593Smuzhiyun FMT6_ASTC_8x5 = 198,
163*4882a593Smuzhiyun FMT6_ASTC_8x6 = 199,
164*4882a593Smuzhiyun FMT6_ASTC_8x8 = 200,
165*4882a593Smuzhiyun FMT6_ASTC_10x5 = 201,
166*4882a593Smuzhiyun FMT6_ASTC_10x6 = 202,
167*4882a593Smuzhiyun FMT6_ASTC_10x8 = 203,
168*4882a593Smuzhiyun FMT6_ASTC_10x10 = 204,
169*4882a593Smuzhiyun FMT6_ASTC_12x10 = 205,
170*4882a593Smuzhiyun FMT6_ASTC_12x12 = 206,
171*4882a593Smuzhiyun FMT6_S8Z24_UINT = 234,
172*4882a593Smuzhiyun FMT6_NONE = 255,
173*4882a593Smuzhiyun };
174*4882a593Smuzhiyun
175*4882a593Smuzhiyun enum a6xx_polygon_mode {
176*4882a593Smuzhiyun POLYMODE6_POINTS = 1,
177*4882a593Smuzhiyun POLYMODE6_LINES = 2,
178*4882a593Smuzhiyun POLYMODE6_TRIANGLES = 3,
179*4882a593Smuzhiyun };
180*4882a593Smuzhiyun
181*4882a593Smuzhiyun enum a6xx_depth_format {
182*4882a593Smuzhiyun DEPTH6_NONE = 0,
183*4882a593Smuzhiyun DEPTH6_16 = 1,
184*4882a593Smuzhiyun DEPTH6_24_8 = 2,
185*4882a593Smuzhiyun DEPTH6_32 = 4,
186*4882a593Smuzhiyun };
187*4882a593Smuzhiyun
188*4882a593Smuzhiyun enum a6xx_shader_id {
189*4882a593Smuzhiyun A6XX_TP0_TMO_DATA = 9,
190*4882a593Smuzhiyun A6XX_TP0_SMO_DATA = 10,
191*4882a593Smuzhiyun A6XX_TP0_MIPMAP_BASE_DATA = 11,
192*4882a593Smuzhiyun A6XX_TP1_TMO_DATA = 25,
193*4882a593Smuzhiyun A6XX_TP1_SMO_DATA = 26,
194*4882a593Smuzhiyun A6XX_TP1_MIPMAP_BASE_DATA = 27,
195*4882a593Smuzhiyun A6XX_SP_INST_DATA = 41,
196*4882a593Smuzhiyun A6XX_SP_LB_0_DATA = 42,
197*4882a593Smuzhiyun A6XX_SP_LB_1_DATA = 43,
198*4882a593Smuzhiyun A6XX_SP_LB_2_DATA = 44,
199*4882a593Smuzhiyun A6XX_SP_LB_3_DATA = 45,
200*4882a593Smuzhiyun A6XX_SP_LB_4_DATA = 46,
201*4882a593Smuzhiyun A6XX_SP_LB_5_DATA = 47,
202*4882a593Smuzhiyun A6XX_SP_CB_BINDLESS_DATA = 48,
203*4882a593Smuzhiyun A6XX_SP_CB_LEGACY_DATA = 49,
204*4882a593Smuzhiyun A6XX_SP_UAV_DATA = 50,
205*4882a593Smuzhiyun A6XX_SP_INST_TAG = 51,
206*4882a593Smuzhiyun A6XX_SP_CB_BINDLESS_TAG = 52,
207*4882a593Smuzhiyun A6XX_SP_TMO_UMO_TAG = 53,
208*4882a593Smuzhiyun A6XX_SP_SMO_TAG = 54,
209*4882a593Smuzhiyun A6XX_SP_STATE_DATA = 55,
210*4882a593Smuzhiyun A6XX_HLSQ_CHUNK_CVS_RAM = 73,
211*4882a593Smuzhiyun A6XX_HLSQ_CHUNK_CPS_RAM = 74,
212*4882a593Smuzhiyun A6XX_HLSQ_CHUNK_CVS_RAM_TAG = 75,
213*4882a593Smuzhiyun A6XX_HLSQ_CHUNK_CPS_RAM_TAG = 76,
214*4882a593Smuzhiyun A6XX_HLSQ_ICB_CVS_CB_BASE_TAG = 77,
215*4882a593Smuzhiyun A6XX_HLSQ_ICB_CPS_CB_BASE_TAG = 78,
216*4882a593Smuzhiyun A6XX_HLSQ_CVS_MISC_RAM = 80,
217*4882a593Smuzhiyun A6XX_HLSQ_CPS_MISC_RAM = 81,
218*4882a593Smuzhiyun A6XX_HLSQ_INST_RAM = 82,
219*4882a593Smuzhiyun A6XX_HLSQ_GFX_CVS_CONST_RAM = 83,
220*4882a593Smuzhiyun A6XX_HLSQ_GFX_CPS_CONST_RAM = 84,
221*4882a593Smuzhiyun A6XX_HLSQ_CVS_MISC_RAM_TAG = 85,
222*4882a593Smuzhiyun A6XX_HLSQ_CPS_MISC_RAM_TAG = 86,
223*4882a593Smuzhiyun A6XX_HLSQ_INST_RAM_TAG = 87,
224*4882a593Smuzhiyun A6XX_HLSQ_GFX_CVS_CONST_RAM_TAG = 88,
225*4882a593Smuzhiyun A6XX_HLSQ_GFX_CPS_CONST_RAM_TAG = 89,
226*4882a593Smuzhiyun A6XX_HLSQ_PWR_REST_RAM = 90,
227*4882a593Smuzhiyun A6XX_HLSQ_PWR_REST_TAG = 91,
228*4882a593Smuzhiyun A6XX_HLSQ_DATAPATH_META = 96,
229*4882a593Smuzhiyun A6XX_HLSQ_FRONTEND_META = 97,
230*4882a593Smuzhiyun A6XX_HLSQ_INDIRECT_META = 98,
231*4882a593Smuzhiyun A6XX_HLSQ_BACKEND_META = 99,
232*4882a593Smuzhiyun };
233*4882a593Smuzhiyun
234*4882a593Smuzhiyun enum a6xx_debugbus_id {
235*4882a593Smuzhiyun A6XX_DBGBUS_CP = 1,
236*4882a593Smuzhiyun A6XX_DBGBUS_RBBM = 2,
237*4882a593Smuzhiyun A6XX_DBGBUS_VBIF = 3,
238*4882a593Smuzhiyun A6XX_DBGBUS_HLSQ = 4,
239*4882a593Smuzhiyun A6XX_DBGBUS_UCHE = 5,
240*4882a593Smuzhiyun A6XX_DBGBUS_DPM = 6,
241*4882a593Smuzhiyun A6XX_DBGBUS_TESS = 7,
242*4882a593Smuzhiyun A6XX_DBGBUS_PC = 8,
243*4882a593Smuzhiyun A6XX_DBGBUS_VFDP = 9,
244*4882a593Smuzhiyun A6XX_DBGBUS_VPC = 10,
245*4882a593Smuzhiyun A6XX_DBGBUS_TSE = 11,
246*4882a593Smuzhiyun A6XX_DBGBUS_RAS = 12,
247*4882a593Smuzhiyun A6XX_DBGBUS_VSC = 13,
248*4882a593Smuzhiyun A6XX_DBGBUS_COM = 14,
249*4882a593Smuzhiyun A6XX_DBGBUS_LRZ = 16,
250*4882a593Smuzhiyun A6XX_DBGBUS_A2D = 17,
251*4882a593Smuzhiyun A6XX_DBGBUS_CCUFCHE = 18,
252*4882a593Smuzhiyun A6XX_DBGBUS_GMU_CX = 19,
253*4882a593Smuzhiyun A6XX_DBGBUS_RBP = 20,
254*4882a593Smuzhiyun A6XX_DBGBUS_DCS = 21,
255*4882a593Smuzhiyun A6XX_DBGBUS_DBGC = 22,
256*4882a593Smuzhiyun A6XX_DBGBUS_CX = 23,
257*4882a593Smuzhiyun A6XX_DBGBUS_GMU_GX = 24,
258*4882a593Smuzhiyun A6XX_DBGBUS_TPFCHE = 25,
259*4882a593Smuzhiyun A6XX_DBGBUS_GBIF_GX = 26,
260*4882a593Smuzhiyun A6XX_DBGBUS_GPC = 29,
261*4882a593Smuzhiyun A6XX_DBGBUS_LARC = 30,
262*4882a593Smuzhiyun A6XX_DBGBUS_HLSQ_SPTP = 31,
263*4882a593Smuzhiyun A6XX_DBGBUS_RB_0 = 32,
264*4882a593Smuzhiyun A6XX_DBGBUS_RB_1 = 33,
265*4882a593Smuzhiyun A6XX_DBGBUS_UCHE_WRAPPER = 36,
266*4882a593Smuzhiyun A6XX_DBGBUS_CCU_0 = 40,
267*4882a593Smuzhiyun A6XX_DBGBUS_CCU_1 = 41,
268*4882a593Smuzhiyun A6XX_DBGBUS_VFD_0 = 56,
269*4882a593Smuzhiyun A6XX_DBGBUS_VFD_1 = 57,
270*4882a593Smuzhiyun A6XX_DBGBUS_VFD_2 = 58,
271*4882a593Smuzhiyun A6XX_DBGBUS_VFD_3 = 59,
272*4882a593Smuzhiyun A6XX_DBGBUS_SP_0 = 64,
273*4882a593Smuzhiyun A6XX_DBGBUS_SP_1 = 65,
274*4882a593Smuzhiyun A6XX_DBGBUS_TPL1_0 = 72,
275*4882a593Smuzhiyun A6XX_DBGBUS_TPL1_1 = 73,
276*4882a593Smuzhiyun A6XX_DBGBUS_TPL1_2 = 74,
277*4882a593Smuzhiyun A6XX_DBGBUS_TPL1_3 = 75,
278*4882a593Smuzhiyun };
279*4882a593Smuzhiyun
280*4882a593Smuzhiyun enum a6xx_cp_perfcounter_select {
281*4882a593Smuzhiyun PERF_CP_ALWAYS_COUNT = 0,
282*4882a593Smuzhiyun PERF_CP_BUSY_GFX_CORE_IDLE = 1,
283*4882a593Smuzhiyun PERF_CP_BUSY_CYCLES = 2,
284*4882a593Smuzhiyun PERF_CP_NUM_PREEMPTIONS = 3,
285*4882a593Smuzhiyun PERF_CP_PREEMPTION_REACTION_DELAY = 4,
286*4882a593Smuzhiyun PERF_CP_PREEMPTION_SWITCH_OUT_TIME = 5,
287*4882a593Smuzhiyun PERF_CP_PREEMPTION_SWITCH_IN_TIME = 6,
288*4882a593Smuzhiyun PERF_CP_DEAD_DRAWS_IN_BIN_RENDER = 7,
289*4882a593Smuzhiyun PERF_CP_PREDICATED_DRAWS_KILLED = 8,
290*4882a593Smuzhiyun PERF_CP_MODE_SWITCH = 9,
291*4882a593Smuzhiyun PERF_CP_ZPASS_DONE = 10,
292*4882a593Smuzhiyun PERF_CP_CONTEXT_DONE = 11,
293*4882a593Smuzhiyun PERF_CP_CACHE_FLUSH = 12,
294*4882a593Smuzhiyun PERF_CP_LONG_PREEMPTIONS = 13,
295*4882a593Smuzhiyun PERF_CP_SQE_I_CACHE_STARVE = 14,
296*4882a593Smuzhiyun PERF_CP_SQE_IDLE = 15,
297*4882a593Smuzhiyun PERF_CP_SQE_PM4_STARVE_RB_IB = 16,
298*4882a593Smuzhiyun PERF_CP_SQE_PM4_STARVE_SDS = 17,
299*4882a593Smuzhiyun PERF_CP_SQE_MRB_STARVE = 18,
300*4882a593Smuzhiyun PERF_CP_SQE_RRB_STARVE = 19,
301*4882a593Smuzhiyun PERF_CP_SQE_VSD_STARVE = 20,
302*4882a593Smuzhiyun PERF_CP_VSD_DECODE_STARVE = 21,
303*4882a593Smuzhiyun PERF_CP_SQE_PIPE_OUT_STALL = 22,
304*4882a593Smuzhiyun PERF_CP_SQE_SYNC_STALL = 23,
305*4882a593Smuzhiyun PERF_CP_SQE_PM4_WFI_STALL = 24,
306*4882a593Smuzhiyun PERF_CP_SQE_SYS_WFI_STALL = 25,
307*4882a593Smuzhiyun PERF_CP_SQE_T4_EXEC = 26,
308*4882a593Smuzhiyun PERF_CP_SQE_LOAD_STATE_EXEC = 27,
309*4882a593Smuzhiyun PERF_CP_SQE_SAVE_SDS_STATE = 28,
310*4882a593Smuzhiyun PERF_CP_SQE_DRAW_EXEC = 29,
311*4882a593Smuzhiyun PERF_CP_SQE_CTXT_REG_BUNCH_EXEC = 30,
312*4882a593Smuzhiyun PERF_CP_SQE_EXEC_PROFILED = 31,
313*4882a593Smuzhiyun PERF_CP_MEMORY_POOL_EMPTY = 32,
314*4882a593Smuzhiyun PERF_CP_MEMORY_POOL_SYNC_STALL = 33,
315*4882a593Smuzhiyun PERF_CP_MEMORY_POOL_ABOVE_THRESH = 34,
316*4882a593Smuzhiyun PERF_CP_AHB_WR_STALL_PRE_DRAWS = 35,
317*4882a593Smuzhiyun PERF_CP_AHB_STALL_SQE_GMU = 36,
318*4882a593Smuzhiyun PERF_CP_AHB_STALL_SQE_WR_OTHER = 37,
319*4882a593Smuzhiyun PERF_CP_AHB_STALL_SQE_RD_OTHER = 38,
320*4882a593Smuzhiyun PERF_CP_CLUSTER0_EMPTY = 39,
321*4882a593Smuzhiyun PERF_CP_CLUSTER1_EMPTY = 40,
322*4882a593Smuzhiyun PERF_CP_CLUSTER2_EMPTY = 41,
323*4882a593Smuzhiyun PERF_CP_CLUSTER3_EMPTY = 42,
324*4882a593Smuzhiyun PERF_CP_CLUSTER4_EMPTY = 43,
325*4882a593Smuzhiyun PERF_CP_CLUSTER5_EMPTY = 44,
326*4882a593Smuzhiyun PERF_CP_PM4_DATA = 45,
327*4882a593Smuzhiyun PERF_CP_PM4_HEADERS = 46,
328*4882a593Smuzhiyun PERF_CP_VBIF_READ_BEATS = 47,
329*4882a593Smuzhiyun PERF_CP_VBIF_WRITE_BEATS = 48,
330*4882a593Smuzhiyun PERF_CP_SQE_INSTR_COUNTER = 49,
331*4882a593Smuzhiyun };
332*4882a593Smuzhiyun
333*4882a593Smuzhiyun enum a6xx_rbbm_perfcounter_select {
334*4882a593Smuzhiyun PERF_RBBM_ALWAYS_COUNT = 0,
335*4882a593Smuzhiyun PERF_RBBM_ALWAYS_ON = 1,
336*4882a593Smuzhiyun PERF_RBBM_TSE_BUSY = 2,
337*4882a593Smuzhiyun PERF_RBBM_RAS_BUSY = 3,
338*4882a593Smuzhiyun PERF_RBBM_PC_DCALL_BUSY = 4,
339*4882a593Smuzhiyun PERF_RBBM_PC_VSD_BUSY = 5,
340*4882a593Smuzhiyun PERF_RBBM_STATUS_MASKED = 6,
341*4882a593Smuzhiyun PERF_RBBM_COM_BUSY = 7,
342*4882a593Smuzhiyun PERF_RBBM_DCOM_BUSY = 8,
343*4882a593Smuzhiyun PERF_RBBM_VBIF_BUSY = 9,
344*4882a593Smuzhiyun PERF_RBBM_VSC_BUSY = 10,
345*4882a593Smuzhiyun PERF_RBBM_TESS_BUSY = 11,
346*4882a593Smuzhiyun PERF_RBBM_UCHE_BUSY = 12,
347*4882a593Smuzhiyun PERF_RBBM_HLSQ_BUSY = 13,
348*4882a593Smuzhiyun };
349*4882a593Smuzhiyun
350*4882a593Smuzhiyun enum a6xx_pc_perfcounter_select {
351*4882a593Smuzhiyun PERF_PC_BUSY_CYCLES = 0,
352*4882a593Smuzhiyun PERF_PC_WORKING_CYCLES = 1,
353*4882a593Smuzhiyun PERF_PC_STALL_CYCLES_VFD = 2,
354*4882a593Smuzhiyun PERF_PC_STALL_CYCLES_TSE = 3,
355*4882a593Smuzhiyun PERF_PC_STALL_CYCLES_VPC = 4,
356*4882a593Smuzhiyun PERF_PC_STALL_CYCLES_UCHE = 5,
357*4882a593Smuzhiyun PERF_PC_STALL_CYCLES_TESS = 6,
358*4882a593Smuzhiyun PERF_PC_STALL_CYCLES_TSE_ONLY = 7,
359*4882a593Smuzhiyun PERF_PC_STALL_CYCLES_VPC_ONLY = 8,
360*4882a593Smuzhiyun PERF_PC_PASS1_TF_STALL_CYCLES = 9,
361*4882a593Smuzhiyun PERF_PC_STARVE_CYCLES_FOR_INDEX = 10,
362*4882a593Smuzhiyun PERF_PC_STARVE_CYCLES_FOR_TESS_FACTOR = 11,
363*4882a593Smuzhiyun PERF_PC_STARVE_CYCLES_FOR_VIZ_STREAM = 12,
364*4882a593Smuzhiyun PERF_PC_STARVE_CYCLES_FOR_POSITION = 13,
365*4882a593Smuzhiyun PERF_PC_STARVE_CYCLES_DI = 14,
366*4882a593Smuzhiyun PERF_PC_VIS_STREAMS_LOADED = 15,
367*4882a593Smuzhiyun PERF_PC_INSTANCES = 16,
368*4882a593Smuzhiyun PERF_PC_VPC_PRIMITIVES = 17,
369*4882a593Smuzhiyun PERF_PC_DEAD_PRIM = 18,
370*4882a593Smuzhiyun PERF_PC_LIVE_PRIM = 19,
371*4882a593Smuzhiyun PERF_PC_VERTEX_HITS = 20,
372*4882a593Smuzhiyun PERF_PC_IA_VERTICES = 21,
373*4882a593Smuzhiyun PERF_PC_IA_PRIMITIVES = 22,
374*4882a593Smuzhiyun PERF_PC_GS_PRIMITIVES = 23,
375*4882a593Smuzhiyun PERF_PC_HS_INVOCATIONS = 24,
376*4882a593Smuzhiyun PERF_PC_DS_INVOCATIONS = 25,
377*4882a593Smuzhiyun PERF_PC_VS_INVOCATIONS = 26,
378*4882a593Smuzhiyun PERF_PC_GS_INVOCATIONS = 27,
379*4882a593Smuzhiyun PERF_PC_DS_PRIMITIVES = 28,
380*4882a593Smuzhiyun PERF_PC_VPC_POS_DATA_TRANSACTION = 29,
381*4882a593Smuzhiyun PERF_PC_3D_DRAWCALLS = 30,
382*4882a593Smuzhiyun PERF_PC_2D_DRAWCALLS = 31,
383*4882a593Smuzhiyun PERF_PC_NON_DRAWCALL_GLOBAL_EVENTS = 32,
384*4882a593Smuzhiyun PERF_TESS_BUSY_CYCLES = 33,
385*4882a593Smuzhiyun PERF_TESS_WORKING_CYCLES = 34,
386*4882a593Smuzhiyun PERF_TESS_STALL_CYCLES_PC = 35,
387*4882a593Smuzhiyun PERF_TESS_STARVE_CYCLES_PC = 36,
388*4882a593Smuzhiyun PERF_PC_TSE_TRANSACTION = 37,
389*4882a593Smuzhiyun PERF_PC_TSE_VERTEX = 38,
390*4882a593Smuzhiyun PERF_PC_TESS_PC_UV_TRANS = 39,
391*4882a593Smuzhiyun PERF_PC_TESS_PC_UV_PATCHES = 40,
392*4882a593Smuzhiyun PERF_PC_TESS_FACTOR_TRANS = 41,
393*4882a593Smuzhiyun };
394*4882a593Smuzhiyun
395*4882a593Smuzhiyun enum a6xx_vfd_perfcounter_select {
396*4882a593Smuzhiyun PERF_VFD_BUSY_CYCLES = 0,
397*4882a593Smuzhiyun PERF_VFD_STALL_CYCLES_UCHE = 1,
398*4882a593Smuzhiyun PERF_VFD_STALL_CYCLES_VPC_ALLOC = 2,
399*4882a593Smuzhiyun PERF_VFD_STALL_CYCLES_SP_INFO = 3,
400*4882a593Smuzhiyun PERF_VFD_STALL_CYCLES_SP_ATTR = 4,
401*4882a593Smuzhiyun PERF_VFD_STARVE_CYCLES_UCHE = 5,
402*4882a593Smuzhiyun PERF_VFD_RBUFFER_FULL = 6,
403*4882a593Smuzhiyun PERF_VFD_ATTR_INFO_FIFO_FULL = 7,
404*4882a593Smuzhiyun PERF_VFD_DECODED_ATTRIBUTE_BYTES = 8,
405*4882a593Smuzhiyun PERF_VFD_NUM_ATTRIBUTES = 9,
406*4882a593Smuzhiyun PERF_VFD_UPPER_SHADER_FIBERS = 10,
407*4882a593Smuzhiyun PERF_VFD_LOWER_SHADER_FIBERS = 11,
408*4882a593Smuzhiyun PERF_VFD_MODE_0_FIBERS = 12,
409*4882a593Smuzhiyun PERF_VFD_MODE_1_FIBERS = 13,
410*4882a593Smuzhiyun PERF_VFD_MODE_2_FIBERS = 14,
411*4882a593Smuzhiyun PERF_VFD_MODE_3_FIBERS = 15,
412*4882a593Smuzhiyun PERF_VFD_MODE_4_FIBERS = 16,
413*4882a593Smuzhiyun PERF_VFD_TOTAL_VERTICES = 17,
414*4882a593Smuzhiyun PERF_VFDP_STALL_CYCLES_VFD = 18,
415*4882a593Smuzhiyun PERF_VFDP_STALL_CYCLES_VFD_INDEX = 19,
416*4882a593Smuzhiyun PERF_VFDP_STALL_CYCLES_VFD_PROG = 20,
417*4882a593Smuzhiyun PERF_VFDP_STARVE_CYCLES_PC = 21,
418*4882a593Smuzhiyun PERF_VFDP_VS_STAGE_WAVES = 22,
419*4882a593Smuzhiyun };
420*4882a593Smuzhiyun
421*4882a593Smuzhiyun enum a6xx_hlsq_perfcounter_select {
422*4882a593Smuzhiyun PERF_HLSQ_BUSY_CYCLES = 0,
423*4882a593Smuzhiyun PERF_HLSQ_STALL_CYCLES_UCHE = 1,
424*4882a593Smuzhiyun PERF_HLSQ_STALL_CYCLES_SP_STATE = 2,
425*4882a593Smuzhiyun PERF_HLSQ_STALL_CYCLES_SP_FS_STAGE = 3,
426*4882a593Smuzhiyun PERF_HLSQ_UCHE_LATENCY_CYCLES = 4,
427*4882a593Smuzhiyun PERF_HLSQ_UCHE_LATENCY_COUNT = 5,
428*4882a593Smuzhiyun PERF_HLSQ_FS_STAGE_1X_WAVES = 6,
429*4882a593Smuzhiyun PERF_HLSQ_FS_STAGE_2X_WAVES = 7,
430*4882a593Smuzhiyun PERF_HLSQ_QUADS = 8,
431*4882a593Smuzhiyun PERF_HLSQ_CS_INVOCATIONS = 9,
432*4882a593Smuzhiyun PERF_HLSQ_COMPUTE_DRAWCALLS = 10,
433*4882a593Smuzhiyun PERF_HLSQ_FS_DATA_WAIT_PROGRAMMING = 11,
434*4882a593Smuzhiyun PERF_HLSQ_DUAL_FS_PROG_ACTIVE = 12,
435*4882a593Smuzhiyun PERF_HLSQ_DUAL_VS_PROG_ACTIVE = 13,
436*4882a593Smuzhiyun PERF_HLSQ_FS_BATCH_COUNT_ZERO = 14,
437*4882a593Smuzhiyun PERF_HLSQ_VS_BATCH_COUNT_ZERO = 15,
438*4882a593Smuzhiyun PERF_HLSQ_WAVE_PENDING_NO_QUAD = 16,
439*4882a593Smuzhiyun PERF_HLSQ_WAVE_PENDING_NO_PRIM_BASE = 17,
440*4882a593Smuzhiyun PERF_HLSQ_STALL_CYCLES_VPC = 18,
441*4882a593Smuzhiyun PERF_HLSQ_PIXELS = 19,
442*4882a593Smuzhiyun PERF_HLSQ_DRAW_MODE_SWITCH_VSFS_SYNC = 20,
443*4882a593Smuzhiyun };
444*4882a593Smuzhiyun
445*4882a593Smuzhiyun enum a6xx_vpc_perfcounter_select {
446*4882a593Smuzhiyun PERF_VPC_BUSY_CYCLES = 0,
447*4882a593Smuzhiyun PERF_VPC_WORKING_CYCLES = 1,
448*4882a593Smuzhiyun PERF_VPC_STALL_CYCLES_UCHE = 2,
449*4882a593Smuzhiyun PERF_VPC_STALL_CYCLES_VFD_WACK = 3,
450*4882a593Smuzhiyun PERF_VPC_STALL_CYCLES_HLSQ_PRIM_ALLOC = 4,
451*4882a593Smuzhiyun PERF_VPC_STALL_CYCLES_PC = 5,
452*4882a593Smuzhiyun PERF_VPC_STALL_CYCLES_SP_LM = 6,
453*4882a593Smuzhiyun PERF_VPC_STARVE_CYCLES_SP = 7,
454*4882a593Smuzhiyun PERF_VPC_STARVE_CYCLES_LRZ = 8,
455*4882a593Smuzhiyun PERF_VPC_PC_PRIMITIVES = 9,
456*4882a593Smuzhiyun PERF_VPC_SP_COMPONENTS = 10,
457*4882a593Smuzhiyun PERF_VPC_STALL_CYCLES_VPCRAM_POS = 11,
458*4882a593Smuzhiyun PERF_VPC_LRZ_ASSIGN_PRIMITIVES = 12,
459*4882a593Smuzhiyun PERF_VPC_RB_VISIBLE_PRIMITIVES = 13,
460*4882a593Smuzhiyun PERF_VPC_LM_TRANSACTION = 14,
461*4882a593Smuzhiyun PERF_VPC_STREAMOUT_TRANSACTION = 15,
462*4882a593Smuzhiyun PERF_VPC_VS_BUSY_CYCLES = 16,
463*4882a593Smuzhiyun PERF_VPC_PS_BUSY_CYCLES = 17,
464*4882a593Smuzhiyun PERF_VPC_VS_WORKING_CYCLES = 18,
465*4882a593Smuzhiyun PERF_VPC_PS_WORKING_CYCLES = 19,
466*4882a593Smuzhiyun PERF_VPC_STARVE_CYCLES_RB = 20,
467*4882a593Smuzhiyun PERF_VPC_NUM_VPCRAM_READ_POS = 21,
468*4882a593Smuzhiyun PERF_VPC_WIT_FULL_CYCLES = 22,
469*4882a593Smuzhiyun PERF_VPC_VPCRAM_FULL_CYCLES = 23,
470*4882a593Smuzhiyun PERF_VPC_LM_FULL_WAIT_FOR_INTP_END = 24,
471*4882a593Smuzhiyun PERF_VPC_NUM_VPCRAM_WRITE = 25,
472*4882a593Smuzhiyun PERF_VPC_NUM_VPCRAM_READ_SO = 26,
473*4882a593Smuzhiyun PERF_VPC_NUM_ATTR_REQ_LM = 27,
474*4882a593Smuzhiyun };
475*4882a593Smuzhiyun
476*4882a593Smuzhiyun enum a6xx_tse_perfcounter_select {
477*4882a593Smuzhiyun PERF_TSE_BUSY_CYCLES = 0,
478*4882a593Smuzhiyun PERF_TSE_CLIPPING_CYCLES = 1,
479*4882a593Smuzhiyun PERF_TSE_STALL_CYCLES_RAS = 2,
480*4882a593Smuzhiyun PERF_TSE_STALL_CYCLES_LRZ_BARYPLANE = 3,
481*4882a593Smuzhiyun PERF_TSE_STALL_CYCLES_LRZ_ZPLANE = 4,
482*4882a593Smuzhiyun PERF_TSE_STARVE_CYCLES_PC = 5,
483*4882a593Smuzhiyun PERF_TSE_INPUT_PRIM = 6,
484*4882a593Smuzhiyun PERF_TSE_INPUT_NULL_PRIM = 7,
485*4882a593Smuzhiyun PERF_TSE_TRIVAL_REJ_PRIM = 8,
486*4882a593Smuzhiyun PERF_TSE_CLIPPED_PRIM = 9,
487*4882a593Smuzhiyun PERF_TSE_ZERO_AREA_PRIM = 10,
488*4882a593Smuzhiyun PERF_TSE_FACENESS_CULLED_PRIM = 11,
489*4882a593Smuzhiyun PERF_TSE_ZERO_PIXEL_PRIM = 12,
490*4882a593Smuzhiyun PERF_TSE_OUTPUT_NULL_PRIM = 13,
491*4882a593Smuzhiyun PERF_TSE_OUTPUT_VISIBLE_PRIM = 14,
492*4882a593Smuzhiyun PERF_TSE_CINVOCATION = 15,
493*4882a593Smuzhiyun PERF_TSE_CPRIMITIVES = 16,
494*4882a593Smuzhiyun PERF_TSE_2D_INPUT_PRIM = 17,
495*4882a593Smuzhiyun PERF_TSE_2D_ALIVE_CYCLES = 18,
496*4882a593Smuzhiyun PERF_TSE_CLIP_PLANES = 19,
497*4882a593Smuzhiyun };
498*4882a593Smuzhiyun
499*4882a593Smuzhiyun enum a6xx_ras_perfcounter_select {
500*4882a593Smuzhiyun PERF_RAS_BUSY_CYCLES = 0,
501*4882a593Smuzhiyun PERF_RAS_SUPERTILE_ACTIVE_CYCLES = 1,
502*4882a593Smuzhiyun PERF_RAS_STALL_CYCLES_LRZ = 2,
503*4882a593Smuzhiyun PERF_RAS_STARVE_CYCLES_TSE = 3,
504*4882a593Smuzhiyun PERF_RAS_SUPER_TILES = 4,
505*4882a593Smuzhiyun PERF_RAS_8X4_TILES = 5,
506*4882a593Smuzhiyun PERF_RAS_MASKGEN_ACTIVE = 6,
507*4882a593Smuzhiyun PERF_RAS_FULLY_COVERED_SUPER_TILES = 7,
508*4882a593Smuzhiyun PERF_RAS_FULLY_COVERED_8X4_TILES = 8,
509*4882a593Smuzhiyun PERF_RAS_PRIM_KILLED_INVISILBE = 9,
510*4882a593Smuzhiyun PERF_RAS_SUPERTILE_GEN_ACTIVE_CYCLES = 10,
511*4882a593Smuzhiyun PERF_RAS_LRZ_INTF_WORKING_CYCLES = 11,
512*4882a593Smuzhiyun PERF_RAS_BLOCKS = 12,
513*4882a593Smuzhiyun };
514*4882a593Smuzhiyun
515*4882a593Smuzhiyun enum a6xx_uche_perfcounter_select {
516*4882a593Smuzhiyun PERF_UCHE_BUSY_CYCLES = 0,
517*4882a593Smuzhiyun PERF_UCHE_STALL_CYCLES_ARBITER = 1,
518*4882a593Smuzhiyun PERF_UCHE_VBIF_LATENCY_CYCLES = 2,
519*4882a593Smuzhiyun PERF_UCHE_VBIF_LATENCY_SAMPLES = 3,
520*4882a593Smuzhiyun PERF_UCHE_VBIF_READ_BEATS_TP = 4,
521*4882a593Smuzhiyun PERF_UCHE_VBIF_READ_BEATS_VFD = 5,
522*4882a593Smuzhiyun PERF_UCHE_VBIF_READ_BEATS_HLSQ = 6,
523*4882a593Smuzhiyun PERF_UCHE_VBIF_READ_BEATS_LRZ = 7,
524*4882a593Smuzhiyun PERF_UCHE_VBIF_READ_BEATS_SP = 8,
525*4882a593Smuzhiyun PERF_UCHE_READ_REQUESTS_TP = 9,
526*4882a593Smuzhiyun PERF_UCHE_READ_REQUESTS_VFD = 10,
527*4882a593Smuzhiyun PERF_UCHE_READ_REQUESTS_HLSQ = 11,
528*4882a593Smuzhiyun PERF_UCHE_READ_REQUESTS_LRZ = 12,
529*4882a593Smuzhiyun PERF_UCHE_READ_REQUESTS_SP = 13,
530*4882a593Smuzhiyun PERF_UCHE_WRITE_REQUESTS_LRZ = 14,
531*4882a593Smuzhiyun PERF_UCHE_WRITE_REQUESTS_SP = 15,
532*4882a593Smuzhiyun PERF_UCHE_WRITE_REQUESTS_VPC = 16,
533*4882a593Smuzhiyun PERF_UCHE_WRITE_REQUESTS_VSC = 17,
534*4882a593Smuzhiyun PERF_UCHE_EVICTS = 18,
535*4882a593Smuzhiyun PERF_UCHE_BANK_REQ0 = 19,
536*4882a593Smuzhiyun PERF_UCHE_BANK_REQ1 = 20,
537*4882a593Smuzhiyun PERF_UCHE_BANK_REQ2 = 21,
538*4882a593Smuzhiyun PERF_UCHE_BANK_REQ3 = 22,
539*4882a593Smuzhiyun PERF_UCHE_BANK_REQ4 = 23,
540*4882a593Smuzhiyun PERF_UCHE_BANK_REQ5 = 24,
541*4882a593Smuzhiyun PERF_UCHE_BANK_REQ6 = 25,
542*4882a593Smuzhiyun PERF_UCHE_BANK_REQ7 = 26,
543*4882a593Smuzhiyun PERF_UCHE_VBIF_READ_BEATS_CH0 = 27,
544*4882a593Smuzhiyun PERF_UCHE_VBIF_READ_BEATS_CH1 = 28,
545*4882a593Smuzhiyun PERF_UCHE_GMEM_READ_BEATS = 29,
546*4882a593Smuzhiyun PERF_UCHE_TPH_REF_FULL = 30,
547*4882a593Smuzhiyun PERF_UCHE_TPH_VICTIM_FULL = 31,
548*4882a593Smuzhiyun PERF_UCHE_TPH_EXT_FULL = 32,
549*4882a593Smuzhiyun PERF_UCHE_VBIF_STALL_WRITE_DATA = 33,
550*4882a593Smuzhiyun PERF_UCHE_DCMP_LATENCY_SAMPLES = 34,
551*4882a593Smuzhiyun PERF_UCHE_DCMP_LATENCY_CYCLES = 35,
552*4882a593Smuzhiyun PERF_UCHE_VBIF_READ_BEATS_PC = 36,
553*4882a593Smuzhiyun PERF_UCHE_READ_REQUESTS_PC = 37,
554*4882a593Smuzhiyun PERF_UCHE_RAM_READ_REQ = 38,
555*4882a593Smuzhiyun PERF_UCHE_RAM_WRITE_REQ = 39,
556*4882a593Smuzhiyun };
557*4882a593Smuzhiyun
558*4882a593Smuzhiyun enum a6xx_tp_perfcounter_select {
559*4882a593Smuzhiyun PERF_TP_BUSY_CYCLES = 0,
560*4882a593Smuzhiyun PERF_TP_STALL_CYCLES_UCHE = 1,
561*4882a593Smuzhiyun PERF_TP_LATENCY_CYCLES = 2,
562*4882a593Smuzhiyun PERF_TP_LATENCY_TRANS = 3,
563*4882a593Smuzhiyun PERF_TP_FLAG_CACHE_REQUEST_SAMPLES = 4,
564*4882a593Smuzhiyun PERF_TP_FLAG_CACHE_REQUEST_LATENCY = 5,
565*4882a593Smuzhiyun PERF_TP_L1_CACHELINE_REQUESTS = 6,
566*4882a593Smuzhiyun PERF_TP_L1_CACHELINE_MISSES = 7,
567*4882a593Smuzhiyun PERF_TP_SP_TP_TRANS = 8,
568*4882a593Smuzhiyun PERF_TP_TP_SP_TRANS = 9,
569*4882a593Smuzhiyun PERF_TP_OUTPUT_PIXELS = 10,
570*4882a593Smuzhiyun PERF_TP_FILTER_WORKLOAD_16BIT = 11,
571*4882a593Smuzhiyun PERF_TP_FILTER_WORKLOAD_32BIT = 12,
572*4882a593Smuzhiyun PERF_TP_QUADS_RECEIVED = 13,
573*4882a593Smuzhiyun PERF_TP_QUADS_OFFSET = 14,
574*4882a593Smuzhiyun PERF_TP_QUADS_SHADOW = 15,
575*4882a593Smuzhiyun PERF_TP_QUADS_ARRAY = 16,
576*4882a593Smuzhiyun PERF_TP_QUADS_GRADIENT = 17,
577*4882a593Smuzhiyun PERF_TP_QUADS_1D = 18,
578*4882a593Smuzhiyun PERF_TP_QUADS_2D = 19,
579*4882a593Smuzhiyun PERF_TP_QUADS_BUFFER = 20,
580*4882a593Smuzhiyun PERF_TP_QUADS_3D = 21,
581*4882a593Smuzhiyun PERF_TP_QUADS_CUBE = 22,
582*4882a593Smuzhiyun PERF_TP_DIVERGENT_QUADS_RECEIVED = 23,
583*4882a593Smuzhiyun PERF_TP_PRT_NON_RESIDENT_EVENTS = 24,
584*4882a593Smuzhiyun PERF_TP_OUTPUT_PIXELS_POINT = 25,
585*4882a593Smuzhiyun PERF_TP_OUTPUT_PIXELS_BILINEAR = 26,
586*4882a593Smuzhiyun PERF_TP_OUTPUT_PIXELS_MIP = 27,
587*4882a593Smuzhiyun PERF_TP_OUTPUT_PIXELS_ANISO = 28,
588*4882a593Smuzhiyun PERF_TP_OUTPUT_PIXELS_ZERO_LOD = 29,
589*4882a593Smuzhiyun PERF_TP_FLAG_CACHE_REQUESTS = 30,
590*4882a593Smuzhiyun PERF_TP_FLAG_CACHE_MISSES = 31,
591*4882a593Smuzhiyun PERF_TP_L1_5_L2_REQUESTS = 32,
592*4882a593Smuzhiyun PERF_TP_2D_OUTPUT_PIXELS = 33,
593*4882a593Smuzhiyun PERF_TP_2D_OUTPUT_PIXELS_POINT = 34,
594*4882a593Smuzhiyun PERF_TP_2D_OUTPUT_PIXELS_BILINEAR = 35,
595*4882a593Smuzhiyun PERF_TP_2D_FILTER_WORKLOAD_16BIT = 36,
596*4882a593Smuzhiyun PERF_TP_2D_FILTER_WORKLOAD_32BIT = 37,
597*4882a593Smuzhiyun PERF_TP_TPA2TPC_TRANS = 38,
598*4882a593Smuzhiyun PERF_TP_L1_MISSES_ASTC_1TILE = 39,
599*4882a593Smuzhiyun PERF_TP_L1_MISSES_ASTC_2TILE = 40,
600*4882a593Smuzhiyun PERF_TP_L1_MISSES_ASTC_4TILE = 41,
601*4882a593Smuzhiyun PERF_TP_L1_5_L2_COMPRESS_REQS = 42,
602*4882a593Smuzhiyun PERF_TP_L1_5_L2_COMPRESS_MISS = 43,
603*4882a593Smuzhiyun PERF_TP_L1_BANK_CONFLICT = 44,
604*4882a593Smuzhiyun PERF_TP_L1_5_MISS_LATENCY_CYCLES = 45,
605*4882a593Smuzhiyun PERF_TP_L1_5_MISS_LATENCY_TRANS = 46,
606*4882a593Smuzhiyun PERF_TP_QUADS_CONSTANT_MULTIPLIED = 47,
607*4882a593Smuzhiyun PERF_TP_FRONTEND_WORKING_CYCLES = 48,
608*4882a593Smuzhiyun PERF_TP_L1_TAG_WORKING_CYCLES = 49,
609*4882a593Smuzhiyun PERF_TP_L1_DATA_WRITE_WORKING_CYCLES = 50,
610*4882a593Smuzhiyun PERF_TP_PRE_L1_DECOM_WORKING_CYCLES = 51,
611*4882a593Smuzhiyun PERF_TP_BACKEND_WORKING_CYCLES = 52,
612*4882a593Smuzhiyun PERF_TP_FLAG_CACHE_WORKING_CYCLES = 53,
613*4882a593Smuzhiyun PERF_TP_L1_5_CACHE_WORKING_CYCLES = 54,
614*4882a593Smuzhiyun PERF_TP_STARVE_CYCLES_SP = 55,
615*4882a593Smuzhiyun PERF_TP_STARVE_CYCLES_UCHE = 56,
616*4882a593Smuzhiyun };
617*4882a593Smuzhiyun
618*4882a593Smuzhiyun enum a6xx_sp_perfcounter_select {
619*4882a593Smuzhiyun PERF_SP_BUSY_CYCLES = 0,
620*4882a593Smuzhiyun PERF_SP_ALU_WORKING_CYCLES = 1,
621*4882a593Smuzhiyun PERF_SP_EFU_WORKING_CYCLES = 2,
622*4882a593Smuzhiyun PERF_SP_STALL_CYCLES_VPC = 3,
623*4882a593Smuzhiyun PERF_SP_STALL_CYCLES_TP = 4,
624*4882a593Smuzhiyun PERF_SP_STALL_CYCLES_UCHE = 5,
625*4882a593Smuzhiyun PERF_SP_STALL_CYCLES_RB = 6,
626*4882a593Smuzhiyun PERF_SP_NON_EXECUTION_CYCLES = 7,
627*4882a593Smuzhiyun PERF_SP_WAVE_CONTEXTS = 8,
628*4882a593Smuzhiyun PERF_SP_WAVE_CONTEXT_CYCLES = 9,
629*4882a593Smuzhiyun PERF_SP_FS_STAGE_WAVE_CYCLES = 10,
630*4882a593Smuzhiyun PERF_SP_FS_STAGE_WAVE_SAMPLES = 11,
631*4882a593Smuzhiyun PERF_SP_VS_STAGE_WAVE_CYCLES = 12,
632*4882a593Smuzhiyun PERF_SP_VS_STAGE_WAVE_SAMPLES = 13,
633*4882a593Smuzhiyun PERF_SP_FS_STAGE_DURATION_CYCLES = 14,
634*4882a593Smuzhiyun PERF_SP_VS_STAGE_DURATION_CYCLES = 15,
635*4882a593Smuzhiyun PERF_SP_WAVE_CTRL_CYCLES = 16,
636*4882a593Smuzhiyun PERF_SP_WAVE_LOAD_CYCLES = 17,
637*4882a593Smuzhiyun PERF_SP_WAVE_EMIT_CYCLES = 18,
638*4882a593Smuzhiyun PERF_SP_WAVE_NOP_CYCLES = 19,
639*4882a593Smuzhiyun PERF_SP_WAVE_WAIT_CYCLES = 20,
640*4882a593Smuzhiyun PERF_SP_WAVE_FETCH_CYCLES = 21,
641*4882a593Smuzhiyun PERF_SP_WAVE_IDLE_CYCLES = 22,
642*4882a593Smuzhiyun PERF_SP_WAVE_END_CYCLES = 23,
643*4882a593Smuzhiyun PERF_SP_WAVE_LONG_SYNC_CYCLES = 24,
644*4882a593Smuzhiyun PERF_SP_WAVE_SHORT_SYNC_CYCLES = 25,
645*4882a593Smuzhiyun PERF_SP_WAVE_JOIN_CYCLES = 26,
646*4882a593Smuzhiyun PERF_SP_LM_LOAD_INSTRUCTIONS = 27,
647*4882a593Smuzhiyun PERF_SP_LM_STORE_INSTRUCTIONS = 28,
648*4882a593Smuzhiyun PERF_SP_LM_ATOMICS = 29,
649*4882a593Smuzhiyun PERF_SP_GM_LOAD_INSTRUCTIONS = 30,
650*4882a593Smuzhiyun PERF_SP_GM_STORE_INSTRUCTIONS = 31,
651*4882a593Smuzhiyun PERF_SP_GM_ATOMICS = 32,
652*4882a593Smuzhiyun PERF_SP_VS_STAGE_TEX_INSTRUCTIONS = 33,
653*4882a593Smuzhiyun PERF_SP_VS_STAGE_EFU_INSTRUCTIONS = 34,
654*4882a593Smuzhiyun PERF_SP_VS_STAGE_FULL_ALU_INSTRUCTIONS = 35,
655*4882a593Smuzhiyun PERF_SP_VS_STAGE_HALF_ALU_INSTRUCTIONS = 36,
656*4882a593Smuzhiyun PERF_SP_FS_STAGE_TEX_INSTRUCTIONS = 37,
657*4882a593Smuzhiyun PERF_SP_FS_STAGE_CFLOW_INSTRUCTIONS = 38,
658*4882a593Smuzhiyun PERF_SP_FS_STAGE_EFU_INSTRUCTIONS = 39,
659*4882a593Smuzhiyun PERF_SP_FS_STAGE_FULL_ALU_INSTRUCTIONS = 40,
660*4882a593Smuzhiyun PERF_SP_FS_STAGE_HALF_ALU_INSTRUCTIONS = 41,
661*4882a593Smuzhiyun PERF_SP_FS_STAGE_BARY_INSTRUCTIONS = 42,
662*4882a593Smuzhiyun PERF_SP_VS_INSTRUCTIONS = 43,
663*4882a593Smuzhiyun PERF_SP_FS_INSTRUCTIONS = 44,
664*4882a593Smuzhiyun PERF_SP_ADDR_LOCK_COUNT = 45,
665*4882a593Smuzhiyun PERF_SP_UCHE_READ_TRANS = 46,
666*4882a593Smuzhiyun PERF_SP_UCHE_WRITE_TRANS = 47,
667*4882a593Smuzhiyun PERF_SP_EXPORT_VPC_TRANS = 48,
668*4882a593Smuzhiyun PERF_SP_EXPORT_RB_TRANS = 49,
669*4882a593Smuzhiyun PERF_SP_PIXELS_KILLED = 50,
670*4882a593Smuzhiyun PERF_SP_ICL1_REQUESTS = 51,
671*4882a593Smuzhiyun PERF_SP_ICL1_MISSES = 52,
672*4882a593Smuzhiyun PERF_SP_HS_INSTRUCTIONS = 53,
673*4882a593Smuzhiyun PERF_SP_DS_INSTRUCTIONS = 54,
674*4882a593Smuzhiyun PERF_SP_GS_INSTRUCTIONS = 55,
675*4882a593Smuzhiyun PERF_SP_CS_INSTRUCTIONS = 56,
676*4882a593Smuzhiyun PERF_SP_GPR_READ = 57,
677*4882a593Smuzhiyun PERF_SP_GPR_WRITE = 58,
678*4882a593Smuzhiyun PERF_SP_FS_STAGE_HALF_EFU_INSTRUCTIONS = 59,
679*4882a593Smuzhiyun PERF_SP_VS_STAGE_HALF_EFU_INSTRUCTIONS = 60,
680*4882a593Smuzhiyun PERF_SP_LM_BANK_CONFLICTS = 61,
681*4882a593Smuzhiyun PERF_SP_TEX_CONTROL_WORKING_CYCLES = 62,
682*4882a593Smuzhiyun PERF_SP_LOAD_CONTROL_WORKING_CYCLES = 63,
683*4882a593Smuzhiyun PERF_SP_FLOW_CONTROL_WORKING_CYCLES = 64,
684*4882a593Smuzhiyun PERF_SP_LM_WORKING_CYCLES = 65,
685*4882a593Smuzhiyun PERF_SP_DISPATCHER_WORKING_CYCLES = 66,
686*4882a593Smuzhiyun PERF_SP_SEQUENCER_WORKING_CYCLES = 67,
687*4882a593Smuzhiyun PERF_SP_LOW_EFFICIENCY_STARVED_BY_TP = 68,
688*4882a593Smuzhiyun PERF_SP_STARVE_CYCLES_HLSQ = 69,
689*4882a593Smuzhiyun PERF_SP_NON_EXECUTION_LS_CYCLES = 70,
690*4882a593Smuzhiyun PERF_SP_WORKING_EU = 71,
691*4882a593Smuzhiyun PERF_SP_ANY_EU_WORKING = 72,
692*4882a593Smuzhiyun PERF_SP_WORKING_EU_FS_STAGE = 73,
693*4882a593Smuzhiyun PERF_SP_ANY_EU_WORKING_FS_STAGE = 74,
694*4882a593Smuzhiyun PERF_SP_WORKING_EU_VS_STAGE = 75,
695*4882a593Smuzhiyun PERF_SP_ANY_EU_WORKING_VS_STAGE = 76,
696*4882a593Smuzhiyun PERF_SP_WORKING_EU_CS_STAGE = 77,
697*4882a593Smuzhiyun PERF_SP_ANY_EU_WORKING_CS_STAGE = 78,
698*4882a593Smuzhiyun PERF_SP_GPR_READ_PREFETCH = 79,
699*4882a593Smuzhiyun PERF_SP_GPR_READ_CONFLICT = 80,
700*4882a593Smuzhiyun PERF_SP_GPR_WRITE_CONFLICT = 81,
701*4882a593Smuzhiyun PERF_SP_GM_LOAD_LATENCY_CYCLES = 82,
702*4882a593Smuzhiyun PERF_SP_GM_LOAD_LATENCY_SAMPLES = 83,
703*4882a593Smuzhiyun PERF_SP_EXECUTABLE_WAVES = 84,
704*4882a593Smuzhiyun };
705*4882a593Smuzhiyun
706*4882a593Smuzhiyun enum a6xx_rb_perfcounter_select {
707*4882a593Smuzhiyun PERF_RB_BUSY_CYCLES = 0,
708*4882a593Smuzhiyun PERF_RB_STALL_CYCLES_HLSQ = 1,
709*4882a593Smuzhiyun PERF_RB_STALL_CYCLES_FIFO0_FULL = 2,
710*4882a593Smuzhiyun PERF_RB_STALL_CYCLES_FIFO1_FULL = 3,
711*4882a593Smuzhiyun PERF_RB_STALL_CYCLES_FIFO2_FULL = 4,
712*4882a593Smuzhiyun PERF_RB_STARVE_CYCLES_SP = 5,
713*4882a593Smuzhiyun PERF_RB_STARVE_CYCLES_LRZ_TILE = 6,
714*4882a593Smuzhiyun PERF_RB_STARVE_CYCLES_CCU = 7,
715*4882a593Smuzhiyun PERF_RB_STARVE_CYCLES_Z_PLANE = 8,
716*4882a593Smuzhiyun PERF_RB_STARVE_CYCLES_BARY_PLANE = 9,
717*4882a593Smuzhiyun PERF_RB_Z_WORKLOAD = 10,
718*4882a593Smuzhiyun PERF_RB_HLSQ_ACTIVE = 11,
719*4882a593Smuzhiyun PERF_RB_Z_READ = 12,
720*4882a593Smuzhiyun PERF_RB_Z_WRITE = 13,
721*4882a593Smuzhiyun PERF_RB_C_READ = 14,
722*4882a593Smuzhiyun PERF_RB_C_WRITE = 15,
723*4882a593Smuzhiyun PERF_RB_TOTAL_PASS = 16,
724*4882a593Smuzhiyun PERF_RB_Z_PASS = 17,
725*4882a593Smuzhiyun PERF_RB_Z_FAIL = 18,
726*4882a593Smuzhiyun PERF_RB_S_FAIL = 19,
727*4882a593Smuzhiyun PERF_RB_BLENDED_FXP_COMPONENTS = 20,
728*4882a593Smuzhiyun PERF_RB_BLENDED_FP16_COMPONENTS = 21,
729*4882a593Smuzhiyun PERF_RB_PS_INVOCATIONS = 22,
730*4882a593Smuzhiyun PERF_RB_2D_ALIVE_CYCLES = 23,
731*4882a593Smuzhiyun PERF_RB_2D_STALL_CYCLES_A2D = 24,
732*4882a593Smuzhiyun PERF_RB_2D_STARVE_CYCLES_SRC = 25,
733*4882a593Smuzhiyun PERF_RB_2D_STARVE_CYCLES_SP = 26,
734*4882a593Smuzhiyun PERF_RB_2D_STARVE_CYCLES_DST = 27,
735*4882a593Smuzhiyun PERF_RB_2D_VALID_PIXELS = 28,
736*4882a593Smuzhiyun PERF_RB_3D_PIXELS = 29,
737*4882a593Smuzhiyun PERF_RB_BLENDER_WORKING_CYCLES = 30,
738*4882a593Smuzhiyun PERF_RB_ZPROC_WORKING_CYCLES = 31,
739*4882a593Smuzhiyun PERF_RB_CPROC_WORKING_CYCLES = 32,
740*4882a593Smuzhiyun PERF_RB_SAMPLER_WORKING_CYCLES = 33,
741*4882a593Smuzhiyun PERF_RB_STALL_CYCLES_CCU_COLOR_READ = 34,
742*4882a593Smuzhiyun PERF_RB_STALL_CYCLES_CCU_COLOR_WRITE = 35,
743*4882a593Smuzhiyun PERF_RB_STALL_CYCLES_CCU_DEPTH_READ = 36,
744*4882a593Smuzhiyun PERF_RB_STALL_CYCLES_CCU_DEPTH_WRITE = 37,
745*4882a593Smuzhiyun PERF_RB_STALL_CYCLES_VPC = 38,
746*4882a593Smuzhiyun PERF_RB_2D_INPUT_TRANS = 39,
747*4882a593Smuzhiyun PERF_RB_2D_OUTPUT_RB_DST_TRANS = 40,
748*4882a593Smuzhiyun PERF_RB_2D_OUTPUT_RB_SRC_TRANS = 41,
749*4882a593Smuzhiyun PERF_RB_BLENDED_FP32_COMPONENTS = 42,
750*4882a593Smuzhiyun PERF_RB_COLOR_PIX_TILES = 43,
751*4882a593Smuzhiyun PERF_RB_STALL_CYCLES_CCU = 44,
752*4882a593Smuzhiyun PERF_RB_EARLY_Z_ARB3_GRANT = 45,
753*4882a593Smuzhiyun PERF_RB_LATE_Z_ARB3_GRANT = 46,
754*4882a593Smuzhiyun PERF_RB_EARLY_Z_SKIP_GRANT = 47,
755*4882a593Smuzhiyun };
756*4882a593Smuzhiyun
757*4882a593Smuzhiyun enum a6xx_vsc_perfcounter_select {
758*4882a593Smuzhiyun PERF_VSC_BUSY_CYCLES = 0,
759*4882a593Smuzhiyun PERF_VSC_WORKING_CYCLES = 1,
760*4882a593Smuzhiyun PERF_VSC_STALL_CYCLES_UCHE = 2,
761*4882a593Smuzhiyun PERF_VSC_EOT_NUM = 3,
762*4882a593Smuzhiyun PERF_VSC_INPUT_TILES = 4,
763*4882a593Smuzhiyun };
764*4882a593Smuzhiyun
765*4882a593Smuzhiyun enum a6xx_ccu_perfcounter_select {
766*4882a593Smuzhiyun PERF_CCU_BUSY_CYCLES = 0,
767*4882a593Smuzhiyun PERF_CCU_STALL_CYCLES_RB_DEPTH_RETURN = 1,
768*4882a593Smuzhiyun PERF_CCU_STALL_CYCLES_RB_COLOR_RETURN = 2,
769*4882a593Smuzhiyun PERF_CCU_STARVE_CYCLES_FLAG_RETURN = 3,
770*4882a593Smuzhiyun PERF_CCU_DEPTH_BLOCKS = 4,
771*4882a593Smuzhiyun PERF_CCU_COLOR_BLOCKS = 5,
772*4882a593Smuzhiyun PERF_CCU_DEPTH_BLOCK_HIT = 6,
773*4882a593Smuzhiyun PERF_CCU_COLOR_BLOCK_HIT = 7,
774*4882a593Smuzhiyun PERF_CCU_PARTIAL_BLOCK_READ = 8,
775*4882a593Smuzhiyun PERF_CCU_GMEM_READ = 9,
776*4882a593Smuzhiyun PERF_CCU_GMEM_WRITE = 10,
777*4882a593Smuzhiyun PERF_CCU_DEPTH_READ_FLAG0_COUNT = 11,
778*4882a593Smuzhiyun PERF_CCU_DEPTH_READ_FLAG1_COUNT = 12,
779*4882a593Smuzhiyun PERF_CCU_DEPTH_READ_FLAG2_COUNT = 13,
780*4882a593Smuzhiyun PERF_CCU_DEPTH_READ_FLAG3_COUNT = 14,
781*4882a593Smuzhiyun PERF_CCU_DEPTH_READ_FLAG4_COUNT = 15,
782*4882a593Smuzhiyun PERF_CCU_DEPTH_READ_FLAG5_COUNT = 16,
783*4882a593Smuzhiyun PERF_CCU_DEPTH_READ_FLAG6_COUNT = 17,
784*4882a593Smuzhiyun PERF_CCU_DEPTH_READ_FLAG8_COUNT = 18,
785*4882a593Smuzhiyun PERF_CCU_COLOR_READ_FLAG0_COUNT = 19,
786*4882a593Smuzhiyun PERF_CCU_COLOR_READ_FLAG1_COUNT = 20,
787*4882a593Smuzhiyun PERF_CCU_COLOR_READ_FLAG2_COUNT = 21,
788*4882a593Smuzhiyun PERF_CCU_COLOR_READ_FLAG3_COUNT = 22,
789*4882a593Smuzhiyun PERF_CCU_COLOR_READ_FLAG4_COUNT = 23,
790*4882a593Smuzhiyun PERF_CCU_COLOR_READ_FLAG5_COUNT = 24,
791*4882a593Smuzhiyun PERF_CCU_COLOR_READ_FLAG6_COUNT = 25,
792*4882a593Smuzhiyun PERF_CCU_COLOR_READ_FLAG8_COUNT = 26,
793*4882a593Smuzhiyun PERF_CCU_2D_RD_REQ = 27,
794*4882a593Smuzhiyun PERF_CCU_2D_WR_REQ = 28,
795*4882a593Smuzhiyun };
796*4882a593Smuzhiyun
797*4882a593Smuzhiyun enum a6xx_lrz_perfcounter_select {
798*4882a593Smuzhiyun PERF_LRZ_BUSY_CYCLES = 0,
799*4882a593Smuzhiyun PERF_LRZ_STARVE_CYCLES_RAS = 1,
800*4882a593Smuzhiyun PERF_LRZ_STALL_CYCLES_RB = 2,
801*4882a593Smuzhiyun PERF_LRZ_STALL_CYCLES_VSC = 3,
802*4882a593Smuzhiyun PERF_LRZ_STALL_CYCLES_VPC = 4,
803*4882a593Smuzhiyun PERF_LRZ_STALL_CYCLES_FLAG_PREFETCH = 5,
804*4882a593Smuzhiyun PERF_LRZ_STALL_CYCLES_UCHE = 6,
805*4882a593Smuzhiyun PERF_LRZ_LRZ_READ = 7,
806*4882a593Smuzhiyun PERF_LRZ_LRZ_WRITE = 8,
807*4882a593Smuzhiyun PERF_LRZ_READ_LATENCY = 9,
808*4882a593Smuzhiyun PERF_LRZ_MERGE_CACHE_UPDATING = 10,
809*4882a593Smuzhiyun PERF_LRZ_PRIM_KILLED_BY_MASKGEN = 11,
810*4882a593Smuzhiyun PERF_LRZ_PRIM_KILLED_BY_LRZ = 12,
811*4882a593Smuzhiyun PERF_LRZ_VISIBLE_PRIM_AFTER_LRZ = 13,
812*4882a593Smuzhiyun PERF_LRZ_FULL_8X8_TILES = 14,
813*4882a593Smuzhiyun PERF_LRZ_PARTIAL_8X8_TILES = 15,
814*4882a593Smuzhiyun PERF_LRZ_TILE_KILLED = 16,
815*4882a593Smuzhiyun PERF_LRZ_TOTAL_PIXEL = 17,
816*4882a593Smuzhiyun PERF_LRZ_VISIBLE_PIXEL_AFTER_LRZ = 18,
817*4882a593Smuzhiyun PERF_LRZ_FULLY_COVERED_TILES = 19,
818*4882a593Smuzhiyun PERF_LRZ_PARTIAL_COVERED_TILES = 20,
819*4882a593Smuzhiyun PERF_LRZ_FEEDBACK_ACCEPT = 21,
820*4882a593Smuzhiyun PERF_LRZ_FEEDBACK_DISCARD = 22,
821*4882a593Smuzhiyun PERF_LRZ_FEEDBACK_STALL = 23,
822*4882a593Smuzhiyun PERF_LRZ_STALL_CYCLES_RB_ZPLANE = 24,
823*4882a593Smuzhiyun PERF_LRZ_STALL_CYCLES_RB_BPLANE = 25,
824*4882a593Smuzhiyun PERF_LRZ_STALL_CYCLES_VC = 26,
825*4882a593Smuzhiyun PERF_LRZ_RAS_MASK_TRANS = 27,
826*4882a593Smuzhiyun };
827*4882a593Smuzhiyun
828*4882a593Smuzhiyun enum a6xx_cmp_perfcounter_select {
829*4882a593Smuzhiyun PERF_CMPDECMP_STALL_CYCLES_ARB = 0,
830*4882a593Smuzhiyun PERF_CMPDECMP_VBIF_LATENCY_CYCLES = 1,
831*4882a593Smuzhiyun PERF_CMPDECMP_VBIF_LATENCY_SAMPLES = 2,
832*4882a593Smuzhiyun PERF_CMPDECMP_VBIF_READ_DATA_CCU = 3,
833*4882a593Smuzhiyun PERF_CMPDECMP_VBIF_WRITE_DATA_CCU = 4,
834*4882a593Smuzhiyun PERF_CMPDECMP_VBIF_READ_REQUEST = 5,
835*4882a593Smuzhiyun PERF_CMPDECMP_VBIF_WRITE_REQUEST = 6,
836*4882a593Smuzhiyun PERF_CMPDECMP_VBIF_READ_DATA = 7,
837*4882a593Smuzhiyun PERF_CMPDECMP_VBIF_WRITE_DATA = 8,
838*4882a593Smuzhiyun PERF_CMPDECMP_FLAG_FETCH_CYCLES = 9,
839*4882a593Smuzhiyun PERF_CMPDECMP_FLAG_FETCH_SAMPLES = 10,
840*4882a593Smuzhiyun PERF_CMPDECMP_DEPTH_WRITE_FLAG1_COUNT = 11,
841*4882a593Smuzhiyun PERF_CMPDECMP_DEPTH_WRITE_FLAG2_COUNT = 12,
842*4882a593Smuzhiyun PERF_CMPDECMP_DEPTH_WRITE_FLAG3_COUNT = 13,
843*4882a593Smuzhiyun PERF_CMPDECMP_DEPTH_WRITE_FLAG4_COUNT = 14,
844*4882a593Smuzhiyun PERF_CMPDECMP_DEPTH_WRITE_FLAG5_COUNT = 15,
845*4882a593Smuzhiyun PERF_CMPDECMP_DEPTH_WRITE_FLAG6_COUNT = 16,
846*4882a593Smuzhiyun PERF_CMPDECMP_DEPTH_WRITE_FLAG8_COUNT = 17,
847*4882a593Smuzhiyun PERF_CMPDECMP_COLOR_WRITE_FLAG1_COUNT = 18,
848*4882a593Smuzhiyun PERF_CMPDECMP_COLOR_WRITE_FLAG2_COUNT = 19,
849*4882a593Smuzhiyun PERF_CMPDECMP_COLOR_WRITE_FLAG3_COUNT = 20,
850*4882a593Smuzhiyun PERF_CMPDECMP_COLOR_WRITE_FLAG4_COUNT = 21,
851*4882a593Smuzhiyun PERF_CMPDECMP_COLOR_WRITE_FLAG5_COUNT = 22,
852*4882a593Smuzhiyun PERF_CMPDECMP_COLOR_WRITE_FLAG6_COUNT = 23,
853*4882a593Smuzhiyun PERF_CMPDECMP_COLOR_WRITE_FLAG8_COUNT = 24,
854*4882a593Smuzhiyun PERF_CMPDECMP_2D_STALL_CYCLES_VBIF_REQ = 25,
855*4882a593Smuzhiyun PERF_CMPDECMP_2D_STALL_CYCLES_VBIF_WR = 26,
856*4882a593Smuzhiyun PERF_CMPDECMP_2D_STALL_CYCLES_VBIF_RETURN = 27,
857*4882a593Smuzhiyun PERF_CMPDECMP_2D_RD_DATA = 28,
858*4882a593Smuzhiyun PERF_CMPDECMP_2D_WR_DATA = 29,
859*4882a593Smuzhiyun PERF_CMPDECMP_VBIF_READ_DATA_UCHE_CH0 = 30,
860*4882a593Smuzhiyun PERF_CMPDECMP_VBIF_READ_DATA_UCHE_CH1 = 31,
861*4882a593Smuzhiyun PERF_CMPDECMP_2D_OUTPUT_TRANS = 32,
862*4882a593Smuzhiyun PERF_CMPDECMP_VBIF_WRITE_DATA_UCHE = 33,
863*4882a593Smuzhiyun PERF_CMPDECMP_DEPTH_WRITE_FLAG0_COUNT = 34,
864*4882a593Smuzhiyun PERF_CMPDECMP_COLOR_WRITE_FLAG0_COUNT = 35,
865*4882a593Smuzhiyun PERF_CMPDECMP_COLOR_WRITE_FLAGALPHA_COUNT = 36,
866*4882a593Smuzhiyun PERF_CMPDECMP_2D_BUSY_CYCLES = 37,
867*4882a593Smuzhiyun PERF_CMPDECMP_2D_REORDER_STARVE_CYCLES = 38,
868*4882a593Smuzhiyun PERF_CMPDECMP_2D_PIXELS = 39,
869*4882a593Smuzhiyun };
870*4882a593Smuzhiyun
871*4882a593Smuzhiyun enum a6xx_2d_ifmt {
872*4882a593Smuzhiyun R2D_UNORM8 = 16,
873*4882a593Smuzhiyun R2D_INT32 = 7,
874*4882a593Smuzhiyun R2D_INT16 = 6,
875*4882a593Smuzhiyun R2D_INT8 = 5,
876*4882a593Smuzhiyun R2D_FLOAT32 = 4,
877*4882a593Smuzhiyun R2D_FLOAT16 = 3,
878*4882a593Smuzhiyun R2D_UNORM8_SRGB = 1,
879*4882a593Smuzhiyun R2D_RAW = 0,
880*4882a593Smuzhiyun };
881*4882a593Smuzhiyun
882*4882a593Smuzhiyun enum a6xx_ztest_mode {
883*4882a593Smuzhiyun A6XX_EARLY_Z = 0,
884*4882a593Smuzhiyun A6XX_LATE_Z = 1,
885*4882a593Smuzhiyun A6XX_EARLY_LRZ_LATE_Z = 2,
886*4882a593Smuzhiyun };
887*4882a593Smuzhiyun
888*4882a593Smuzhiyun enum a6xx_rotation {
889*4882a593Smuzhiyun ROTATE_0 = 0,
890*4882a593Smuzhiyun ROTATE_90 = 1,
891*4882a593Smuzhiyun ROTATE_180 = 2,
892*4882a593Smuzhiyun ROTATE_270 = 3,
893*4882a593Smuzhiyun ROTATE_HFLIP = 4,
894*4882a593Smuzhiyun ROTATE_VFLIP = 5,
895*4882a593Smuzhiyun };
896*4882a593Smuzhiyun
897*4882a593Smuzhiyun enum a6xx_tess_spacing {
898*4882a593Smuzhiyun TESS_EQUAL = 0,
899*4882a593Smuzhiyun TESS_FRACTIONAL_ODD = 2,
900*4882a593Smuzhiyun TESS_FRACTIONAL_EVEN = 3,
901*4882a593Smuzhiyun };
902*4882a593Smuzhiyun
903*4882a593Smuzhiyun enum a6xx_tess_output {
904*4882a593Smuzhiyun TESS_POINTS = 0,
905*4882a593Smuzhiyun TESS_LINES = 1,
906*4882a593Smuzhiyun TESS_CW_TRIS = 2,
907*4882a593Smuzhiyun TESS_CCW_TRIS = 3,
908*4882a593Smuzhiyun };
909*4882a593Smuzhiyun
910*4882a593Smuzhiyun enum a6xx_tex_filter {
911*4882a593Smuzhiyun A6XX_TEX_NEAREST = 0,
912*4882a593Smuzhiyun A6XX_TEX_LINEAR = 1,
913*4882a593Smuzhiyun A6XX_TEX_ANISO = 2,
914*4882a593Smuzhiyun A6XX_TEX_CUBIC = 3,
915*4882a593Smuzhiyun };
916*4882a593Smuzhiyun
917*4882a593Smuzhiyun enum a6xx_tex_clamp {
918*4882a593Smuzhiyun A6XX_TEX_REPEAT = 0,
919*4882a593Smuzhiyun A6XX_TEX_CLAMP_TO_EDGE = 1,
920*4882a593Smuzhiyun A6XX_TEX_MIRROR_REPEAT = 2,
921*4882a593Smuzhiyun A6XX_TEX_CLAMP_TO_BORDER = 3,
922*4882a593Smuzhiyun A6XX_TEX_MIRROR_CLAMP = 4,
923*4882a593Smuzhiyun };
924*4882a593Smuzhiyun
925*4882a593Smuzhiyun enum a6xx_tex_aniso {
926*4882a593Smuzhiyun A6XX_TEX_ANISO_1 = 0,
927*4882a593Smuzhiyun A6XX_TEX_ANISO_2 = 1,
928*4882a593Smuzhiyun A6XX_TEX_ANISO_4 = 2,
929*4882a593Smuzhiyun A6XX_TEX_ANISO_8 = 3,
930*4882a593Smuzhiyun A6XX_TEX_ANISO_16 = 4,
931*4882a593Smuzhiyun };
932*4882a593Smuzhiyun
933*4882a593Smuzhiyun enum a6xx_reduction_mode {
934*4882a593Smuzhiyun A6XX_REDUCTION_MODE_AVERAGE = 0,
935*4882a593Smuzhiyun A6XX_REDUCTION_MODE_MIN = 1,
936*4882a593Smuzhiyun A6XX_REDUCTION_MODE_MAX = 2,
937*4882a593Smuzhiyun };
938*4882a593Smuzhiyun
939*4882a593Smuzhiyun enum a6xx_tex_swiz {
940*4882a593Smuzhiyun A6XX_TEX_X = 0,
941*4882a593Smuzhiyun A6XX_TEX_Y = 1,
942*4882a593Smuzhiyun A6XX_TEX_Z = 2,
943*4882a593Smuzhiyun A6XX_TEX_W = 3,
944*4882a593Smuzhiyun A6XX_TEX_ZERO = 4,
945*4882a593Smuzhiyun A6XX_TEX_ONE = 5,
946*4882a593Smuzhiyun };
947*4882a593Smuzhiyun
948*4882a593Smuzhiyun enum a6xx_tex_type {
949*4882a593Smuzhiyun A6XX_TEX_1D = 0,
950*4882a593Smuzhiyun A6XX_TEX_2D = 1,
951*4882a593Smuzhiyun A6XX_TEX_CUBE = 2,
952*4882a593Smuzhiyun A6XX_TEX_3D = 3,
953*4882a593Smuzhiyun };
954*4882a593Smuzhiyun
955*4882a593Smuzhiyun #define A6XX_RBBM_INT_0_MASK_RBBM_GPU_IDLE 0x00000001
956*4882a593Smuzhiyun #define A6XX_RBBM_INT_0_MASK_CP_AHB_ERROR 0x00000002
957*4882a593Smuzhiyun #define A6XX_RBBM_INT_0_MASK_RBBM_ATB_ASYNCFIFO_OVERFLOW 0x00000040
958*4882a593Smuzhiyun #define A6XX_RBBM_INT_0_MASK_RBBM_GPC_ERROR 0x00000080
959*4882a593Smuzhiyun #define A6XX_RBBM_INT_0_MASK_CP_SW 0x00000100
960*4882a593Smuzhiyun #define A6XX_RBBM_INT_0_MASK_CP_HW_ERROR 0x00000200
961*4882a593Smuzhiyun #define A6XX_RBBM_INT_0_MASK_CP_CCU_FLUSH_DEPTH_TS 0x00000400
962*4882a593Smuzhiyun #define A6XX_RBBM_INT_0_MASK_CP_CCU_FLUSH_COLOR_TS 0x00000800
963*4882a593Smuzhiyun #define A6XX_RBBM_INT_0_MASK_CP_CCU_RESOLVE_TS 0x00001000
964*4882a593Smuzhiyun #define A6XX_RBBM_INT_0_MASK_CP_IB2 0x00002000
965*4882a593Smuzhiyun #define A6XX_RBBM_INT_0_MASK_CP_IB1 0x00004000
966*4882a593Smuzhiyun #define A6XX_RBBM_INT_0_MASK_CP_RB 0x00008000
967*4882a593Smuzhiyun #define A6XX_RBBM_INT_0_MASK_CP_RB_DONE_TS 0x00020000
968*4882a593Smuzhiyun #define A6XX_RBBM_INT_0_MASK_CP_WT_DONE_TS 0x00040000
969*4882a593Smuzhiyun #define A6XX_RBBM_INT_0_MASK_CP_CACHE_FLUSH_TS 0x00100000
970*4882a593Smuzhiyun #define A6XX_RBBM_INT_0_MASK_RBBM_ATB_BUS_OVERFLOW 0x00400000
971*4882a593Smuzhiyun #define A6XX_RBBM_INT_0_MASK_RBBM_HANG_DETECT 0x00800000
972*4882a593Smuzhiyun #define A6XX_RBBM_INT_0_MASK_UCHE_OOB_ACCESS 0x01000000
973*4882a593Smuzhiyun #define A6XX_RBBM_INT_0_MASK_UCHE_TRAP_INTR 0x02000000
974*4882a593Smuzhiyun #define A6XX_RBBM_INT_0_MASK_DEBBUS_INTR_0 0x04000000
975*4882a593Smuzhiyun #define A6XX_RBBM_INT_0_MASK_DEBBUS_INTR_1 0x08000000
976*4882a593Smuzhiyun #define A6XX_RBBM_INT_0_MASK_ISDB_CPU_IRQ 0x40000000
977*4882a593Smuzhiyun #define A6XX_RBBM_INT_0_MASK_ISDB_UNDER_DEBUG 0x80000000
978*4882a593Smuzhiyun #define A6XX_CP_INT_CP_OPCODE_ERROR 0x00000001
979*4882a593Smuzhiyun #define A6XX_CP_INT_CP_UCODE_ERROR 0x00000002
980*4882a593Smuzhiyun #define A6XX_CP_INT_CP_HW_FAULT_ERROR 0x00000004
981*4882a593Smuzhiyun #define A6XX_CP_INT_CP_REGISTER_PROTECTION_ERROR 0x00000010
982*4882a593Smuzhiyun #define A6XX_CP_INT_CP_AHB_ERROR 0x00000020
983*4882a593Smuzhiyun #define A6XX_CP_INT_CP_VSD_PARITY_ERROR 0x00000040
984*4882a593Smuzhiyun #define A6XX_CP_INT_CP_ILLEGAL_INSTR_ERROR 0x00000080
985*4882a593Smuzhiyun #define REG_A6XX_CP_RB_BASE 0x00000800
986*4882a593Smuzhiyun
987*4882a593Smuzhiyun #define REG_A6XX_CP_RB_BASE_HI 0x00000801
988*4882a593Smuzhiyun
989*4882a593Smuzhiyun #define REG_A6XX_CP_RB_CNTL 0x00000802
990*4882a593Smuzhiyun
991*4882a593Smuzhiyun #define REG_A6XX_CP_RB_RPTR_ADDR_LO 0x00000804
992*4882a593Smuzhiyun
993*4882a593Smuzhiyun #define REG_A6XX_CP_RB_RPTR_ADDR_HI 0x00000805
994*4882a593Smuzhiyun
995*4882a593Smuzhiyun #define REG_A6XX_CP_RB_RPTR 0x00000806
996*4882a593Smuzhiyun
997*4882a593Smuzhiyun #define REG_A6XX_CP_RB_WPTR 0x00000807
998*4882a593Smuzhiyun
999*4882a593Smuzhiyun #define REG_A6XX_CP_SQE_CNTL 0x00000808
1000*4882a593Smuzhiyun
1001*4882a593Smuzhiyun #define REG_A6XX_CP_CP2GMU_STATUS 0x00000812
1002*4882a593Smuzhiyun #define A6XX_CP_CP2GMU_STATUS_IFPC 0x00000001
1003*4882a593Smuzhiyun
1004*4882a593Smuzhiyun #define REG_A6XX_CP_HW_FAULT 0x00000821
1005*4882a593Smuzhiyun
1006*4882a593Smuzhiyun #define REG_A6XX_CP_INTERRUPT_STATUS 0x00000823
1007*4882a593Smuzhiyun
1008*4882a593Smuzhiyun #define REG_A6XX_CP_PROTECT_STATUS 0x00000824
1009*4882a593Smuzhiyun
1010*4882a593Smuzhiyun #define REG_A6XX_CP_SQE_INSTR_BASE_LO 0x00000830
1011*4882a593Smuzhiyun
1012*4882a593Smuzhiyun #define REG_A6XX_CP_SQE_INSTR_BASE_HI 0x00000831
1013*4882a593Smuzhiyun
1014*4882a593Smuzhiyun #define REG_A6XX_CP_MISC_CNTL 0x00000840
1015*4882a593Smuzhiyun
1016*4882a593Smuzhiyun #define REG_A6XX_CP_APRIV_CNTL 0x00000844
1017*4882a593Smuzhiyun
1018*4882a593Smuzhiyun #define REG_A6XX_CP_ROQ_THRESHOLDS_1 0x000008c1
1019*4882a593Smuzhiyun #define A6XX_CP_ROQ_THRESHOLDS_1_RB_LO__MASK 0x000000ff
1020*4882a593Smuzhiyun #define A6XX_CP_ROQ_THRESHOLDS_1_RB_LO__SHIFT 0
A6XX_CP_ROQ_THRESHOLDS_1_RB_LO(uint32_t val)1021*4882a593Smuzhiyun static inline uint32_t A6XX_CP_ROQ_THRESHOLDS_1_RB_LO(uint32_t val)
1022*4882a593Smuzhiyun {
1023*4882a593Smuzhiyun return ((val >> 2) << A6XX_CP_ROQ_THRESHOLDS_1_RB_LO__SHIFT) & A6XX_CP_ROQ_THRESHOLDS_1_RB_LO__MASK;
1024*4882a593Smuzhiyun }
1025*4882a593Smuzhiyun #define A6XX_CP_ROQ_THRESHOLDS_1_RB_HI__MASK 0x0000ff00
1026*4882a593Smuzhiyun #define A6XX_CP_ROQ_THRESHOLDS_1_RB_HI__SHIFT 8
A6XX_CP_ROQ_THRESHOLDS_1_RB_HI(uint32_t val)1027*4882a593Smuzhiyun static inline uint32_t A6XX_CP_ROQ_THRESHOLDS_1_RB_HI(uint32_t val)
1028*4882a593Smuzhiyun {
1029*4882a593Smuzhiyun return ((val >> 2) << A6XX_CP_ROQ_THRESHOLDS_1_RB_HI__SHIFT) & A6XX_CP_ROQ_THRESHOLDS_1_RB_HI__MASK;
1030*4882a593Smuzhiyun }
1031*4882a593Smuzhiyun #define A6XX_CP_ROQ_THRESHOLDS_1_IB1_START__MASK 0x00ff0000
1032*4882a593Smuzhiyun #define A6XX_CP_ROQ_THRESHOLDS_1_IB1_START__SHIFT 16
A6XX_CP_ROQ_THRESHOLDS_1_IB1_START(uint32_t val)1033*4882a593Smuzhiyun static inline uint32_t A6XX_CP_ROQ_THRESHOLDS_1_IB1_START(uint32_t val)
1034*4882a593Smuzhiyun {
1035*4882a593Smuzhiyun return ((val >> 2) << A6XX_CP_ROQ_THRESHOLDS_1_IB1_START__SHIFT) & A6XX_CP_ROQ_THRESHOLDS_1_IB1_START__MASK;
1036*4882a593Smuzhiyun }
1037*4882a593Smuzhiyun #define A6XX_CP_ROQ_THRESHOLDS_1_IB2_START__MASK 0xff000000
1038*4882a593Smuzhiyun #define A6XX_CP_ROQ_THRESHOLDS_1_IB2_START__SHIFT 24
A6XX_CP_ROQ_THRESHOLDS_1_IB2_START(uint32_t val)1039*4882a593Smuzhiyun static inline uint32_t A6XX_CP_ROQ_THRESHOLDS_1_IB2_START(uint32_t val)
1040*4882a593Smuzhiyun {
1041*4882a593Smuzhiyun return ((val >> 2) << A6XX_CP_ROQ_THRESHOLDS_1_IB2_START__SHIFT) & A6XX_CP_ROQ_THRESHOLDS_1_IB2_START__MASK;
1042*4882a593Smuzhiyun }
1043*4882a593Smuzhiyun
1044*4882a593Smuzhiyun #define REG_A6XX_CP_ROQ_THRESHOLDS_2 0x000008c2
1045*4882a593Smuzhiyun #define A6XX_CP_ROQ_THRESHOLDS_2_SDS_START__MASK 0x000001ff
1046*4882a593Smuzhiyun #define A6XX_CP_ROQ_THRESHOLDS_2_SDS_START__SHIFT 0
A6XX_CP_ROQ_THRESHOLDS_2_SDS_START(uint32_t val)1047*4882a593Smuzhiyun static inline uint32_t A6XX_CP_ROQ_THRESHOLDS_2_SDS_START(uint32_t val)
1048*4882a593Smuzhiyun {
1049*4882a593Smuzhiyun return ((val >> 2) << A6XX_CP_ROQ_THRESHOLDS_2_SDS_START__SHIFT) & A6XX_CP_ROQ_THRESHOLDS_2_SDS_START__MASK;
1050*4882a593Smuzhiyun }
1051*4882a593Smuzhiyun #define A6XX_CP_ROQ_THRESHOLDS_2_ROQ_SIZE__MASK 0xffff0000
1052*4882a593Smuzhiyun #define A6XX_CP_ROQ_THRESHOLDS_2_ROQ_SIZE__SHIFT 16
A6XX_CP_ROQ_THRESHOLDS_2_ROQ_SIZE(uint32_t val)1053*4882a593Smuzhiyun static inline uint32_t A6XX_CP_ROQ_THRESHOLDS_2_ROQ_SIZE(uint32_t val)
1054*4882a593Smuzhiyun {
1055*4882a593Smuzhiyun return ((val >> 2) << A6XX_CP_ROQ_THRESHOLDS_2_ROQ_SIZE__SHIFT) & A6XX_CP_ROQ_THRESHOLDS_2_ROQ_SIZE__MASK;
1056*4882a593Smuzhiyun }
1057*4882a593Smuzhiyun
1058*4882a593Smuzhiyun #define REG_A6XX_CP_MEM_POOL_SIZE 0x000008c3
1059*4882a593Smuzhiyun
1060*4882a593Smuzhiyun #define REG_A6XX_CP_CHICKEN_DBG 0x00000841
1061*4882a593Smuzhiyun
1062*4882a593Smuzhiyun #define REG_A6XX_CP_ADDR_MODE_CNTL 0x00000842
1063*4882a593Smuzhiyun
1064*4882a593Smuzhiyun #define REG_A6XX_CP_DBG_ECO_CNTL 0x00000843
1065*4882a593Smuzhiyun
1066*4882a593Smuzhiyun #define REG_A6XX_CP_PROTECT_CNTL 0x0000084f
1067*4882a593Smuzhiyun
REG_A6XX_CP_SCRATCH(uint32_t i0)1068*4882a593Smuzhiyun static inline uint32_t REG_A6XX_CP_SCRATCH(uint32_t i0) { return 0x00000883 + 0x1*i0; }
1069*4882a593Smuzhiyun
REG_A6XX_CP_SCRATCH_REG(uint32_t i0)1070*4882a593Smuzhiyun static inline uint32_t REG_A6XX_CP_SCRATCH_REG(uint32_t i0) { return 0x00000883 + 0x1*i0; }
1071*4882a593Smuzhiyun
REG_A6XX_CP_PROTECT(uint32_t i0)1072*4882a593Smuzhiyun static inline uint32_t REG_A6XX_CP_PROTECT(uint32_t i0) { return 0x00000850 + 0x1*i0; }
1073*4882a593Smuzhiyun
REG_A6XX_CP_PROTECT_REG(uint32_t i0)1074*4882a593Smuzhiyun static inline uint32_t REG_A6XX_CP_PROTECT_REG(uint32_t i0) { return 0x00000850 + 0x1*i0; }
1075*4882a593Smuzhiyun #define A6XX_CP_PROTECT_REG_BASE_ADDR__MASK 0x0003ffff
1076*4882a593Smuzhiyun #define A6XX_CP_PROTECT_REG_BASE_ADDR__SHIFT 0
A6XX_CP_PROTECT_REG_BASE_ADDR(uint32_t val)1077*4882a593Smuzhiyun static inline uint32_t A6XX_CP_PROTECT_REG_BASE_ADDR(uint32_t val)
1078*4882a593Smuzhiyun {
1079*4882a593Smuzhiyun return ((val) << A6XX_CP_PROTECT_REG_BASE_ADDR__SHIFT) & A6XX_CP_PROTECT_REG_BASE_ADDR__MASK;
1080*4882a593Smuzhiyun }
1081*4882a593Smuzhiyun #define A6XX_CP_PROTECT_REG_MASK_LEN__MASK 0x7ffc0000
1082*4882a593Smuzhiyun #define A6XX_CP_PROTECT_REG_MASK_LEN__SHIFT 18
A6XX_CP_PROTECT_REG_MASK_LEN(uint32_t val)1083*4882a593Smuzhiyun static inline uint32_t A6XX_CP_PROTECT_REG_MASK_LEN(uint32_t val)
1084*4882a593Smuzhiyun {
1085*4882a593Smuzhiyun return ((val) << A6XX_CP_PROTECT_REG_MASK_LEN__SHIFT) & A6XX_CP_PROTECT_REG_MASK_LEN__MASK;
1086*4882a593Smuzhiyun }
1087*4882a593Smuzhiyun #define A6XX_CP_PROTECT_REG_READ 0x80000000
1088*4882a593Smuzhiyun
1089*4882a593Smuzhiyun #define REG_A6XX_CP_CONTEXT_SWITCH_CNTL 0x000008a0
1090*4882a593Smuzhiyun
1091*4882a593Smuzhiyun #define REG_A6XX_CP_CONTEXT_SWITCH_SMMU_INFO_LO 0x000008a1
1092*4882a593Smuzhiyun
1093*4882a593Smuzhiyun #define REG_A6XX_CP_CONTEXT_SWITCH_SMMU_INFO_HI 0x000008a2
1094*4882a593Smuzhiyun
1095*4882a593Smuzhiyun #define REG_A6XX_CP_CONTEXT_SWITCH_PRIV_NON_SECURE_RESTORE_ADDR_LO 0x000008a3
1096*4882a593Smuzhiyun
1097*4882a593Smuzhiyun #define REG_A6XX_CP_CONTEXT_SWITCH_PRIV_NON_SECURE_RESTORE_ADDR_HI 0x000008a4
1098*4882a593Smuzhiyun
1099*4882a593Smuzhiyun #define REG_A6XX_CP_CONTEXT_SWITCH_PRIV_SECURE_RESTORE_ADDR_LO 0x000008a5
1100*4882a593Smuzhiyun
1101*4882a593Smuzhiyun #define REG_A6XX_CP_CONTEXT_SWITCH_PRIV_SECURE_RESTORE_ADDR_HI 0x000008a6
1102*4882a593Smuzhiyun
1103*4882a593Smuzhiyun #define REG_A6XX_CP_CONTEXT_SWITCH_NON_PRIV_RESTORE_ADDR_LO 0x000008a7
1104*4882a593Smuzhiyun
1105*4882a593Smuzhiyun #define REG_A6XX_CP_CONTEXT_SWITCH_NON_PRIV_RESTORE_ADDR_HI 0x000008a8
1106*4882a593Smuzhiyun
1107*4882a593Smuzhiyun #define REG_A6XX_CP_PERFCTR_CP_SEL_0 0x000008d0
1108*4882a593Smuzhiyun
1109*4882a593Smuzhiyun #define REG_A6XX_CP_PERFCTR_CP_SEL_1 0x000008d1
1110*4882a593Smuzhiyun
1111*4882a593Smuzhiyun #define REG_A6XX_CP_PERFCTR_CP_SEL_2 0x000008d2
1112*4882a593Smuzhiyun
1113*4882a593Smuzhiyun #define REG_A6XX_CP_PERFCTR_CP_SEL_3 0x000008d3
1114*4882a593Smuzhiyun
1115*4882a593Smuzhiyun #define REG_A6XX_CP_PERFCTR_CP_SEL_4 0x000008d4
1116*4882a593Smuzhiyun
1117*4882a593Smuzhiyun #define REG_A6XX_CP_PERFCTR_CP_SEL_5 0x000008d5
1118*4882a593Smuzhiyun
1119*4882a593Smuzhiyun #define REG_A6XX_CP_PERFCTR_CP_SEL_6 0x000008d6
1120*4882a593Smuzhiyun
1121*4882a593Smuzhiyun #define REG_A6XX_CP_PERFCTR_CP_SEL_7 0x000008d7
1122*4882a593Smuzhiyun
1123*4882a593Smuzhiyun #define REG_A6XX_CP_PERFCTR_CP_SEL_8 0x000008d8
1124*4882a593Smuzhiyun
1125*4882a593Smuzhiyun #define REG_A6XX_CP_PERFCTR_CP_SEL_9 0x000008d9
1126*4882a593Smuzhiyun
1127*4882a593Smuzhiyun #define REG_A6XX_CP_PERFCTR_CP_SEL_10 0x000008da
1128*4882a593Smuzhiyun
1129*4882a593Smuzhiyun #define REG_A6XX_CP_PERFCTR_CP_SEL_11 0x000008db
1130*4882a593Smuzhiyun
1131*4882a593Smuzhiyun #define REG_A6XX_CP_PERFCTR_CP_SEL_12 0x000008dc
1132*4882a593Smuzhiyun
1133*4882a593Smuzhiyun #define REG_A6XX_CP_PERFCTR_CP_SEL_13 0x000008dd
1134*4882a593Smuzhiyun
1135*4882a593Smuzhiyun #define REG_A6XX_CP_CRASH_SCRIPT_BASE_LO 0x00000900
1136*4882a593Smuzhiyun
1137*4882a593Smuzhiyun #define REG_A6XX_CP_CRASH_SCRIPT_BASE_HI 0x00000901
1138*4882a593Smuzhiyun
1139*4882a593Smuzhiyun #define REG_A6XX_CP_CRASH_DUMP_CNTL 0x00000902
1140*4882a593Smuzhiyun
1141*4882a593Smuzhiyun #define REG_A6XX_CP_CRASH_DUMP_STATUS 0x00000903
1142*4882a593Smuzhiyun
1143*4882a593Smuzhiyun #define REG_A6XX_CP_SQE_STAT_ADDR 0x00000908
1144*4882a593Smuzhiyun
1145*4882a593Smuzhiyun #define REG_A6XX_CP_SQE_STAT_DATA 0x00000909
1146*4882a593Smuzhiyun
1147*4882a593Smuzhiyun #define REG_A6XX_CP_DRAW_STATE_ADDR 0x0000090a
1148*4882a593Smuzhiyun
1149*4882a593Smuzhiyun #define REG_A6XX_CP_DRAW_STATE_DATA 0x0000090b
1150*4882a593Smuzhiyun
1151*4882a593Smuzhiyun #define REG_A6XX_CP_ROQ_DBG_ADDR 0x0000090c
1152*4882a593Smuzhiyun
1153*4882a593Smuzhiyun #define REG_A6XX_CP_ROQ_DBG_DATA 0x0000090d
1154*4882a593Smuzhiyun
1155*4882a593Smuzhiyun #define REG_A6XX_CP_MEM_POOL_DBG_ADDR 0x0000090e
1156*4882a593Smuzhiyun
1157*4882a593Smuzhiyun #define REG_A6XX_CP_MEM_POOL_DBG_DATA 0x0000090f
1158*4882a593Smuzhiyun
1159*4882a593Smuzhiyun #define REG_A6XX_CP_SQE_UCODE_DBG_ADDR 0x00000910
1160*4882a593Smuzhiyun
1161*4882a593Smuzhiyun #define REG_A6XX_CP_SQE_UCODE_DBG_DATA 0x00000911
1162*4882a593Smuzhiyun
1163*4882a593Smuzhiyun #define REG_A6XX_CP_IB1_BASE 0x00000928
1164*4882a593Smuzhiyun
1165*4882a593Smuzhiyun #define REG_A6XX_CP_IB1_BASE_HI 0x00000929
1166*4882a593Smuzhiyun
1167*4882a593Smuzhiyun #define REG_A6XX_CP_IB1_REM_SIZE 0x0000092a
1168*4882a593Smuzhiyun
1169*4882a593Smuzhiyun #define REG_A6XX_CP_IB2_BASE 0x0000092b
1170*4882a593Smuzhiyun
1171*4882a593Smuzhiyun #define REG_A6XX_CP_IB2_BASE_HI 0x0000092c
1172*4882a593Smuzhiyun
1173*4882a593Smuzhiyun #define REG_A6XX_CP_IB2_REM_SIZE 0x0000092d
1174*4882a593Smuzhiyun
1175*4882a593Smuzhiyun #define REG_A6XX_CP_SDS_BASE 0x0000092e
1176*4882a593Smuzhiyun
1177*4882a593Smuzhiyun #define REG_A6XX_CP_SDS_BASE_HI 0x0000092f
1178*4882a593Smuzhiyun
1179*4882a593Smuzhiyun #define REG_A6XX_CP_SDS_REM_SIZE 0x0000092e
1180*4882a593Smuzhiyun
1181*4882a593Smuzhiyun #define REG_A6XX_CP_BIN_SIZE_ADDRESS 0x00000931
1182*4882a593Smuzhiyun
1183*4882a593Smuzhiyun #define REG_A6XX_CP_BIN_SIZE_ADDRESS_HI 0x00000932
1184*4882a593Smuzhiyun
1185*4882a593Smuzhiyun #define REG_A6XX_CP_BIN_DATA_ADDR 0x00000934
1186*4882a593Smuzhiyun
1187*4882a593Smuzhiyun #define REG_A6XX_CP_BIN_DATA_ADDR_HI 0x00000935
1188*4882a593Smuzhiyun
1189*4882a593Smuzhiyun #define REG_A6XX_CP_CSQ_IB1_STAT 0x00000949
1190*4882a593Smuzhiyun #define A6XX_CP_CSQ_IB1_STAT_REM__MASK 0xffff0000
1191*4882a593Smuzhiyun #define A6XX_CP_CSQ_IB1_STAT_REM__SHIFT 16
A6XX_CP_CSQ_IB1_STAT_REM(uint32_t val)1192*4882a593Smuzhiyun static inline uint32_t A6XX_CP_CSQ_IB1_STAT_REM(uint32_t val)
1193*4882a593Smuzhiyun {
1194*4882a593Smuzhiyun return ((val) << A6XX_CP_CSQ_IB1_STAT_REM__SHIFT) & A6XX_CP_CSQ_IB1_STAT_REM__MASK;
1195*4882a593Smuzhiyun }
1196*4882a593Smuzhiyun
1197*4882a593Smuzhiyun #define REG_A6XX_CP_CSQ_IB2_STAT 0x0000094a
1198*4882a593Smuzhiyun #define A6XX_CP_CSQ_IB2_STAT_REM__MASK 0xffff0000
1199*4882a593Smuzhiyun #define A6XX_CP_CSQ_IB2_STAT_REM__SHIFT 16
A6XX_CP_CSQ_IB2_STAT_REM(uint32_t val)1200*4882a593Smuzhiyun static inline uint32_t A6XX_CP_CSQ_IB2_STAT_REM(uint32_t val)
1201*4882a593Smuzhiyun {
1202*4882a593Smuzhiyun return ((val) << A6XX_CP_CSQ_IB2_STAT_REM__SHIFT) & A6XX_CP_CSQ_IB2_STAT_REM__MASK;
1203*4882a593Smuzhiyun }
1204*4882a593Smuzhiyun
1205*4882a593Smuzhiyun #define REG_A6XX_CP_ALWAYS_ON_COUNTER_LO 0x00000980
1206*4882a593Smuzhiyun
1207*4882a593Smuzhiyun #define REG_A6XX_CP_ALWAYS_ON_COUNTER_HI 0x00000981
1208*4882a593Smuzhiyun
1209*4882a593Smuzhiyun #define REG_A6XX_CP_AHB_CNTL 0x0000098d
1210*4882a593Smuzhiyun
1211*4882a593Smuzhiyun #define REG_A6XX_CP_APERTURE_CNTL_HOST 0x00000a00
1212*4882a593Smuzhiyun
1213*4882a593Smuzhiyun #define REG_A6XX_CP_APERTURE_CNTL_CD 0x00000a03
1214*4882a593Smuzhiyun
1215*4882a593Smuzhiyun #define REG_A6XX_VSC_ADDR_MODE_CNTL 0x00000c01
1216*4882a593Smuzhiyun
1217*4882a593Smuzhiyun #define REG_A6XX_RBBM_INT_0_STATUS 0x00000201
1218*4882a593Smuzhiyun
1219*4882a593Smuzhiyun #define REG_A6XX_RBBM_STATUS 0x00000210
1220*4882a593Smuzhiyun #define A6XX_RBBM_STATUS_GPU_BUSY_IGN_AHB 0x00800000
1221*4882a593Smuzhiyun #define A6XX_RBBM_STATUS_GPU_BUSY_IGN_AHB_CP 0x00400000
1222*4882a593Smuzhiyun #define A6XX_RBBM_STATUS_HLSQ_BUSY 0x00200000
1223*4882a593Smuzhiyun #define A6XX_RBBM_STATUS_VSC_BUSY 0x00100000
1224*4882a593Smuzhiyun #define A6XX_RBBM_STATUS_TPL1_BUSY 0x00080000
1225*4882a593Smuzhiyun #define A6XX_RBBM_STATUS_SP_BUSY 0x00040000
1226*4882a593Smuzhiyun #define A6XX_RBBM_STATUS_UCHE_BUSY 0x00020000
1227*4882a593Smuzhiyun #define A6XX_RBBM_STATUS_VPC_BUSY 0x00010000
1228*4882a593Smuzhiyun #define A6XX_RBBM_STATUS_VFD_BUSY 0x00008000
1229*4882a593Smuzhiyun #define A6XX_RBBM_STATUS_TESS_BUSY 0x00004000
1230*4882a593Smuzhiyun #define A6XX_RBBM_STATUS_PC_VSD_BUSY 0x00002000
1231*4882a593Smuzhiyun #define A6XX_RBBM_STATUS_PC_DCALL_BUSY 0x00001000
1232*4882a593Smuzhiyun #define A6XX_RBBM_STATUS_COM_DCOM_BUSY 0x00000800
1233*4882a593Smuzhiyun #define A6XX_RBBM_STATUS_LRZ_BUSY 0x00000400
1234*4882a593Smuzhiyun #define A6XX_RBBM_STATUS_A2D_BUSY 0x00000200
1235*4882a593Smuzhiyun #define A6XX_RBBM_STATUS_CCU_BUSY 0x00000100
1236*4882a593Smuzhiyun #define A6XX_RBBM_STATUS_RB_BUSY 0x00000080
1237*4882a593Smuzhiyun #define A6XX_RBBM_STATUS_RAS_BUSY 0x00000040
1238*4882a593Smuzhiyun #define A6XX_RBBM_STATUS_TSE_BUSY 0x00000020
1239*4882a593Smuzhiyun #define A6XX_RBBM_STATUS_VBIF_BUSY 0x00000010
1240*4882a593Smuzhiyun #define A6XX_RBBM_STATUS_GFX_DBGC_BUSY 0x00000008
1241*4882a593Smuzhiyun #define A6XX_RBBM_STATUS_CP_BUSY 0x00000004
1242*4882a593Smuzhiyun #define A6XX_RBBM_STATUS_CP_AHB_BUSY_CP_MASTER 0x00000002
1243*4882a593Smuzhiyun #define A6XX_RBBM_STATUS_CP_AHB_BUSY_CX_MASTER 0x00000001
1244*4882a593Smuzhiyun
1245*4882a593Smuzhiyun #define REG_A6XX_RBBM_STATUS3 0x00000213
1246*4882a593Smuzhiyun #define A6XX_RBBM_STATUS3_SMMU_STALLED_ON_FAULT 0x01000000
1247*4882a593Smuzhiyun
1248*4882a593Smuzhiyun #define REG_A6XX_RBBM_VBIF_GX_RESET_STATUS 0x00000215
1249*4882a593Smuzhiyun
1250*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_CP_0_LO 0x00000400
1251*4882a593Smuzhiyun
1252*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_CP_0_HI 0x00000401
1253*4882a593Smuzhiyun
1254*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_CP_1_LO 0x00000402
1255*4882a593Smuzhiyun
1256*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_CP_1_HI 0x00000403
1257*4882a593Smuzhiyun
1258*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_CP_2_LO 0x00000404
1259*4882a593Smuzhiyun
1260*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_CP_2_HI 0x00000405
1261*4882a593Smuzhiyun
1262*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_CP_3_LO 0x00000406
1263*4882a593Smuzhiyun
1264*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_CP_3_HI 0x00000407
1265*4882a593Smuzhiyun
1266*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_CP_4_LO 0x00000408
1267*4882a593Smuzhiyun
1268*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_CP_4_HI 0x00000409
1269*4882a593Smuzhiyun
1270*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_CP_5_LO 0x0000040a
1271*4882a593Smuzhiyun
1272*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_CP_5_HI 0x0000040b
1273*4882a593Smuzhiyun
1274*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_CP_6_LO 0x0000040c
1275*4882a593Smuzhiyun
1276*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_CP_6_HI 0x0000040d
1277*4882a593Smuzhiyun
1278*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_CP_7_LO 0x0000040e
1279*4882a593Smuzhiyun
1280*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_CP_7_HI 0x0000040f
1281*4882a593Smuzhiyun
1282*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_CP_8_LO 0x00000410
1283*4882a593Smuzhiyun
1284*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_CP_8_HI 0x00000411
1285*4882a593Smuzhiyun
1286*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_CP_9_LO 0x00000412
1287*4882a593Smuzhiyun
1288*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_CP_9_HI 0x00000413
1289*4882a593Smuzhiyun
1290*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_CP_10_LO 0x00000414
1291*4882a593Smuzhiyun
1292*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_CP_10_HI 0x00000415
1293*4882a593Smuzhiyun
1294*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_CP_11_LO 0x00000416
1295*4882a593Smuzhiyun
1296*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_CP_11_HI 0x00000417
1297*4882a593Smuzhiyun
1298*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_CP_12_LO 0x00000418
1299*4882a593Smuzhiyun
1300*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_CP_12_HI 0x00000419
1301*4882a593Smuzhiyun
1302*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_CP_13_LO 0x0000041a
1303*4882a593Smuzhiyun
1304*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_CP_13_HI 0x0000041b
1305*4882a593Smuzhiyun
1306*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_RBBM_0_LO 0x0000041c
1307*4882a593Smuzhiyun
1308*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_RBBM_0_HI 0x0000041d
1309*4882a593Smuzhiyun
1310*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_RBBM_1_LO 0x0000041e
1311*4882a593Smuzhiyun
1312*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_RBBM_1_HI 0x0000041f
1313*4882a593Smuzhiyun
1314*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_RBBM_2_LO 0x00000420
1315*4882a593Smuzhiyun
1316*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_RBBM_2_HI 0x00000421
1317*4882a593Smuzhiyun
1318*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_RBBM_3_LO 0x00000422
1319*4882a593Smuzhiyun
1320*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_RBBM_3_HI 0x00000423
1321*4882a593Smuzhiyun
1322*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_PC_0_LO 0x00000424
1323*4882a593Smuzhiyun
1324*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_PC_0_HI 0x00000425
1325*4882a593Smuzhiyun
1326*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_PC_1_LO 0x00000426
1327*4882a593Smuzhiyun
1328*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_PC_1_HI 0x00000427
1329*4882a593Smuzhiyun
1330*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_PC_2_LO 0x00000428
1331*4882a593Smuzhiyun
1332*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_PC_2_HI 0x00000429
1333*4882a593Smuzhiyun
1334*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_PC_3_LO 0x0000042a
1335*4882a593Smuzhiyun
1336*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_PC_3_HI 0x0000042b
1337*4882a593Smuzhiyun
1338*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_PC_4_LO 0x0000042c
1339*4882a593Smuzhiyun
1340*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_PC_4_HI 0x0000042d
1341*4882a593Smuzhiyun
1342*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_PC_5_LO 0x0000042e
1343*4882a593Smuzhiyun
1344*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_PC_5_HI 0x0000042f
1345*4882a593Smuzhiyun
1346*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_PC_6_LO 0x00000430
1347*4882a593Smuzhiyun
1348*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_PC_6_HI 0x00000431
1349*4882a593Smuzhiyun
1350*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_PC_7_LO 0x00000432
1351*4882a593Smuzhiyun
1352*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_PC_7_HI 0x00000433
1353*4882a593Smuzhiyun
1354*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_VFD_0_LO 0x00000434
1355*4882a593Smuzhiyun
1356*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_VFD_0_HI 0x00000435
1357*4882a593Smuzhiyun
1358*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_VFD_1_LO 0x00000436
1359*4882a593Smuzhiyun
1360*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_VFD_1_HI 0x00000437
1361*4882a593Smuzhiyun
1362*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_VFD_2_LO 0x00000438
1363*4882a593Smuzhiyun
1364*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_VFD_2_HI 0x00000439
1365*4882a593Smuzhiyun
1366*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_VFD_3_LO 0x0000043a
1367*4882a593Smuzhiyun
1368*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_VFD_3_HI 0x0000043b
1369*4882a593Smuzhiyun
1370*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_VFD_4_LO 0x0000043c
1371*4882a593Smuzhiyun
1372*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_VFD_4_HI 0x0000043d
1373*4882a593Smuzhiyun
1374*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_VFD_5_LO 0x0000043e
1375*4882a593Smuzhiyun
1376*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_VFD_5_HI 0x0000043f
1377*4882a593Smuzhiyun
1378*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_VFD_6_LO 0x00000440
1379*4882a593Smuzhiyun
1380*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_VFD_6_HI 0x00000441
1381*4882a593Smuzhiyun
1382*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_VFD_7_LO 0x00000442
1383*4882a593Smuzhiyun
1384*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_VFD_7_HI 0x00000443
1385*4882a593Smuzhiyun
1386*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_HLSQ_0_LO 0x00000444
1387*4882a593Smuzhiyun
1388*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_HLSQ_0_HI 0x00000445
1389*4882a593Smuzhiyun
1390*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_HLSQ_1_LO 0x00000446
1391*4882a593Smuzhiyun
1392*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_HLSQ_1_HI 0x00000447
1393*4882a593Smuzhiyun
1394*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_HLSQ_2_LO 0x00000448
1395*4882a593Smuzhiyun
1396*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_HLSQ_2_HI 0x00000449
1397*4882a593Smuzhiyun
1398*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_HLSQ_3_LO 0x0000044a
1399*4882a593Smuzhiyun
1400*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_HLSQ_3_HI 0x0000044b
1401*4882a593Smuzhiyun
1402*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_HLSQ_4_LO 0x0000044c
1403*4882a593Smuzhiyun
1404*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_HLSQ_4_HI 0x0000044d
1405*4882a593Smuzhiyun
1406*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_HLSQ_5_LO 0x0000044e
1407*4882a593Smuzhiyun
1408*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_HLSQ_5_HI 0x0000044f
1409*4882a593Smuzhiyun
1410*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_VPC_0_LO 0x00000450
1411*4882a593Smuzhiyun
1412*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_VPC_0_HI 0x00000451
1413*4882a593Smuzhiyun
1414*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_VPC_1_LO 0x00000452
1415*4882a593Smuzhiyun
1416*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_VPC_1_HI 0x00000453
1417*4882a593Smuzhiyun
1418*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_VPC_2_LO 0x00000454
1419*4882a593Smuzhiyun
1420*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_VPC_2_HI 0x00000455
1421*4882a593Smuzhiyun
1422*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_VPC_3_LO 0x00000456
1423*4882a593Smuzhiyun
1424*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_VPC_3_HI 0x00000457
1425*4882a593Smuzhiyun
1426*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_VPC_4_LO 0x00000458
1427*4882a593Smuzhiyun
1428*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_VPC_4_HI 0x00000459
1429*4882a593Smuzhiyun
1430*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_VPC_5_LO 0x0000045a
1431*4882a593Smuzhiyun
1432*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_VPC_5_HI 0x0000045b
1433*4882a593Smuzhiyun
1434*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_CCU_0_LO 0x0000045c
1435*4882a593Smuzhiyun
1436*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_CCU_0_HI 0x0000045d
1437*4882a593Smuzhiyun
1438*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_CCU_1_LO 0x0000045e
1439*4882a593Smuzhiyun
1440*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_CCU_1_HI 0x0000045f
1441*4882a593Smuzhiyun
1442*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_CCU_2_LO 0x00000460
1443*4882a593Smuzhiyun
1444*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_CCU_2_HI 0x00000461
1445*4882a593Smuzhiyun
1446*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_CCU_3_LO 0x00000462
1447*4882a593Smuzhiyun
1448*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_CCU_3_HI 0x00000463
1449*4882a593Smuzhiyun
1450*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_CCU_4_LO 0x00000464
1451*4882a593Smuzhiyun
1452*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_CCU_4_HI 0x00000465
1453*4882a593Smuzhiyun
1454*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_TSE_0_LO 0x00000466
1455*4882a593Smuzhiyun
1456*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_TSE_0_HI 0x00000467
1457*4882a593Smuzhiyun
1458*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_TSE_1_LO 0x00000468
1459*4882a593Smuzhiyun
1460*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_TSE_1_HI 0x00000469
1461*4882a593Smuzhiyun
1462*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_TSE_2_LO 0x0000046a
1463*4882a593Smuzhiyun
1464*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_TSE_2_HI 0x0000046b
1465*4882a593Smuzhiyun
1466*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_TSE_3_LO 0x0000046c
1467*4882a593Smuzhiyun
1468*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_TSE_3_HI 0x0000046d
1469*4882a593Smuzhiyun
1470*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_RAS_0_LO 0x0000046e
1471*4882a593Smuzhiyun
1472*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_RAS_0_HI 0x0000046f
1473*4882a593Smuzhiyun
1474*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_RAS_1_LO 0x00000470
1475*4882a593Smuzhiyun
1476*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_RAS_1_HI 0x00000471
1477*4882a593Smuzhiyun
1478*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_RAS_2_LO 0x00000472
1479*4882a593Smuzhiyun
1480*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_RAS_2_HI 0x00000473
1481*4882a593Smuzhiyun
1482*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_RAS_3_LO 0x00000474
1483*4882a593Smuzhiyun
1484*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_RAS_3_HI 0x00000475
1485*4882a593Smuzhiyun
1486*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_UCHE_0_LO 0x00000476
1487*4882a593Smuzhiyun
1488*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_UCHE_0_HI 0x00000477
1489*4882a593Smuzhiyun
1490*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_UCHE_1_LO 0x00000478
1491*4882a593Smuzhiyun
1492*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_UCHE_1_HI 0x00000479
1493*4882a593Smuzhiyun
1494*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_UCHE_2_LO 0x0000047a
1495*4882a593Smuzhiyun
1496*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_UCHE_2_HI 0x0000047b
1497*4882a593Smuzhiyun
1498*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_UCHE_3_LO 0x0000047c
1499*4882a593Smuzhiyun
1500*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_UCHE_3_HI 0x0000047d
1501*4882a593Smuzhiyun
1502*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_UCHE_4_LO 0x0000047e
1503*4882a593Smuzhiyun
1504*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_UCHE_4_HI 0x0000047f
1505*4882a593Smuzhiyun
1506*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_UCHE_5_LO 0x00000480
1507*4882a593Smuzhiyun
1508*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_UCHE_5_HI 0x00000481
1509*4882a593Smuzhiyun
1510*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_UCHE_6_LO 0x00000482
1511*4882a593Smuzhiyun
1512*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_UCHE_6_HI 0x00000483
1513*4882a593Smuzhiyun
1514*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_UCHE_7_LO 0x00000484
1515*4882a593Smuzhiyun
1516*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_UCHE_7_HI 0x00000485
1517*4882a593Smuzhiyun
1518*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_UCHE_8_LO 0x00000486
1519*4882a593Smuzhiyun
1520*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_UCHE_8_HI 0x00000487
1521*4882a593Smuzhiyun
1522*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_UCHE_9_LO 0x00000488
1523*4882a593Smuzhiyun
1524*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_UCHE_9_HI 0x00000489
1525*4882a593Smuzhiyun
1526*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_UCHE_10_LO 0x0000048a
1527*4882a593Smuzhiyun
1528*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_UCHE_10_HI 0x0000048b
1529*4882a593Smuzhiyun
1530*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_UCHE_11_LO 0x0000048c
1531*4882a593Smuzhiyun
1532*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_UCHE_11_HI 0x0000048d
1533*4882a593Smuzhiyun
1534*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_TP_0_LO 0x0000048e
1535*4882a593Smuzhiyun
1536*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_TP_0_HI 0x0000048f
1537*4882a593Smuzhiyun
1538*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_TP_1_LO 0x00000490
1539*4882a593Smuzhiyun
1540*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_TP_1_HI 0x00000491
1541*4882a593Smuzhiyun
1542*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_TP_2_LO 0x00000492
1543*4882a593Smuzhiyun
1544*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_TP_2_HI 0x00000493
1545*4882a593Smuzhiyun
1546*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_TP_3_LO 0x00000494
1547*4882a593Smuzhiyun
1548*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_TP_3_HI 0x00000495
1549*4882a593Smuzhiyun
1550*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_TP_4_LO 0x00000496
1551*4882a593Smuzhiyun
1552*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_TP_4_HI 0x00000497
1553*4882a593Smuzhiyun
1554*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_TP_5_LO 0x00000498
1555*4882a593Smuzhiyun
1556*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_TP_5_HI 0x00000499
1557*4882a593Smuzhiyun
1558*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_TP_6_LO 0x0000049a
1559*4882a593Smuzhiyun
1560*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_TP_6_HI 0x0000049b
1561*4882a593Smuzhiyun
1562*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_TP_7_LO 0x0000049c
1563*4882a593Smuzhiyun
1564*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_TP_7_HI 0x0000049d
1565*4882a593Smuzhiyun
1566*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_TP_8_LO 0x0000049e
1567*4882a593Smuzhiyun
1568*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_TP_8_HI 0x0000049f
1569*4882a593Smuzhiyun
1570*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_TP_9_LO 0x000004a0
1571*4882a593Smuzhiyun
1572*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_TP_9_HI 0x000004a1
1573*4882a593Smuzhiyun
1574*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_TP_10_LO 0x000004a2
1575*4882a593Smuzhiyun
1576*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_TP_10_HI 0x000004a3
1577*4882a593Smuzhiyun
1578*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_TP_11_LO 0x000004a4
1579*4882a593Smuzhiyun
1580*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_TP_11_HI 0x000004a5
1581*4882a593Smuzhiyun
1582*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_SP_0_LO 0x000004a6
1583*4882a593Smuzhiyun
1584*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_SP_0_HI 0x000004a7
1585*4882a593Smuzhiyun
1586*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_SP_1_LO 0x000004a8
1587*4882a593Smuzhiyun
1588*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_SP_1_HI 0x000004a9
1589*4882a593Smuzhiyun
1590*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_SP_2_LO 0x000004aa
1591*4882a593Smuzhiyun
1592*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_SP_2_HI 0x000004ab
1593*4882a593Smuzhiyun
1594*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_SP_3_LO 0x000004ac
1595*4882a593Smuzhiyun
1596*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_SP_3_HI 0x000004ad
1597*4882a593Smuzhiyun
1598*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_SP_4_LO 0x000004ae
1599*4882a593Smuzhiyun
1600*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_SP_4_HI 0x000004af
1601*4882a593Smuzhiyun
1602*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_SP_5_LO 0x000004b0
1603*4882a593Smuzhiyun
1604*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_SP_5_HI 0x000004b1
1605*4882a593Smuzhiyun
1606*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_SP_6_LO 0x000004b2
1607*4882a593Smuzhiyun
1608*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_SP_6_HI 0x000004b3
1609*4882a593Smuzhiyun
1610*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_SP_7_LO 0x000004b4
1611*4882a593Smuzhiyun
1612*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_SP_7_HI 0x000004b5
1613*4882a593Smuzhiyun
1614*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_SP_8_LO 0x000004b6
1615*4882a593Smuzhiyun
1616*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_SP_8_HI 0x000004b7
1617*4882a593Smuzhiyun
1618*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_SP_9_LO 0x000004b8
1619*4882a593Smuzhiyun
1620*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_SP_9_HI 0x000004b9
1621*4882a593Smuzhiyun
1622*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_SP_10_LO 0x000004ba
1623*4882a593Smuzhiyun
1624*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_SP_10_HI 0x000004bb
1625*4882a593Smuzhiyun
1626*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_SP_11_LO 0x000004bc
1627*4882a593Smuzhiyun
1628*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_SP_11_HI 0x000004bd
1629*4882a593Smuzhiyun
1630*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_SP_12_LO 0x000004be
1631*4882a593Smuzhiyun
1632*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_SP_12_HI 0x000004bf
1633*4882a593Smuzhiyun
1634*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_SP_13_LO 0x000004c0
1635*4882a593Smuzhiyun
1636*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_SP_13_HI 0x000004c1
1637*4882a593Smuzhiyun
1638*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_SP_14_LO 0x000004c2
1639*4882a593Smuzhiyun
1640*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_SP_14_HI 0x000004c3
1641*4882a593Smuzhiyun
1642*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_SP_15_LO 0x000004c4
1643*4882a593Smuzhiyun
1644*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_SP_15_HI 0x000004c5
1645*4882a593Smuzhiyun
1646*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_SP_16_LO 0x000004c6
1647*4882a593Smuzhiyun
1648*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_SP_16_HI 0x000004c7
1649*4882a593Smuzhiyun
1650*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_SP_17_LO 0x000004c8
1651*4882a593Smuzhiyun
1652*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_SP_17_HI 0x000004c9
1653*4882a593Smuzhiyun
1654*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_SP_18_LO 0x000004ca
1655*4882a593Smuzhiyun
1656*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_SP_18_HI 0x000004cb
1657*4882a593Smuzhiyun
1658*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_SP_19_LO 0x000004cc
1659*4882a593Smuzhiyun
1660*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_SP_19_HI 0x000004cd
1661*4882a593Smuzhiyun
1662*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_SP_20_LO 0x000004ce
1663*4882a593Smuzhiyun
1664*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_SP_20_HI 0x000004cf
1665*4882a593Smuzhiyun
1666*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_SP_21_LO 0x000004d0
1667*4882a593Smuzhiyun
1668*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_SP_21_HI 0x000004d1
1669*4882a593Smuzhiyun
1670*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_SP_22_LO 0x000004d2
1671*4882a593Smuzhiyun
1672*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_SP_22_HI 0x000004d3
1673*4882a593Smuzhiyun
1674*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_SP_23_LO 0x000004d4
1675*4882a593Smuzhiyun
1676*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_SP_23_HI 0x000004d5
1677*4882a593Smuzhiyun
1678*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_RB_0_LO 0x000004d6
1679*4882a593Smuzhiyun
1680*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_RB_0_HI 0x000004d7
1681*4882a593Smuzhiyun
1682*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_RB_1_LO 0x000004d8
1683*4882a593Smuzhiyun
1684*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_RB_1_HI 0x000004d9
1685*4882a593Smuzhiyun
1686*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_RB_2_LO 0x000004da
1687*4882a593Smuzhiyun
1688*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_RB_2_HI 0x000004db
1689*4882a593Smuzhiyun
1690*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_RB_3_LO 0x000004dc
1691*4882a593Smuzhiyun
1692*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_RB_3_HI 0x000004dd
1693*4882a593Smuzhiyun
1694*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_RB_4_LO 0x000004de
1695*4882a593Smuzhiyun
1696*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_RB_4_HI 0x000004df
1697*4882a593Smuzhiyun
1698*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_RB_5_LO 0x000004e0
1699*4882a593Smuzhiyun
1700*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_RB_5_HI 0x000004e1
1701*4882a593Smuzhiyun
1702*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_RB_6_LO 0x000004e2
1703*4882a593Smuzhiyun
1704*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_RB_6_HI 0x000004e3
1705*4882a593Smuzhiyun
1706*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_RB_7_LO 0x000004e4
1707*4882a593Smuzhiyun
1708*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_RB_7_HI 0x000004e5
1709*4882a593Smuzhiyun
1710*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_VSC_0_LO 0x000004e6
1711*4882a593Smuzhiyun
1712*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_VSC_0_HI 0x000004e7
1713*4882a593Smuzhiyun
1714*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_VSC_1_LO 0x000004e8
1715*4882a593Smuzhiyun
1716*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_VSC_1_HI 0x000004e9
1717*4882a593Smuzhiyun
1718*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_LRZ_0_LO 0x000004ea
1719*4882a593Smuzhiyun
1720*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_LRZ_0_HI 0x000004eb
1721*4882a593Smuzhiyun
1722*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_LRZ_1_LO 0x000004ec
1723*4882a593Smuzhiyun
1724*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_LRZ_1_HI 0x000004ed
1725*4882a593Smuzhiyun
1726*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_LRZ_2_LO 0x000004ee
1727*4882a593Smuzhiyun
1728*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_LRZ_2_HI 0x000004ef
1729*4882a593Smuzhiyun
1730*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_LRZ_3_LO 0x000004f0
1731*4882a593Smuzhiyun
1732*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_LRZ_3_HI 0x000004f1
1733*4882a593Smuzhiyun
1734*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_CMP_0_LO 0x000004f2
1735*4882a593Smuzhiyun
1736*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_CMP_0_HI 0x000004f3
1737*4882a593Smuzhiyun
1738*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_CMP_1_LO 0x000004f4
1739*4882a593Smuzhiyun
1740*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_CMP_1_HI 0x000004f5
1741*4882a593Smuzhiyun
1742*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_CMP_2_LO 0x000004f6
1743*4882a593Smuzhiyun
1744*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_CMP_2_HI 0x000004f7
1745*4882a593Smuzhiyun
1746*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_CMP_3_LO 0x000004f8
1747*4882a593Smuzhiyun
1748*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_CMP_3_HI 0x000004f9
1749*4882a593Smuzhiyun
1750*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_CNTL 0x00000500
1751*4882a593Smuzhiyun
1752*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_LOAD_CMD0 0x00000501
1753*4882a593Smuzhiyun
1754*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_LOAD_CMD1 0x00000502
1755*4882a593Smuzhiyun
1756*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_LOAD_CMD2 0x00000503
1757*4882a593Smuzhiyun
1758*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_LOAD_CMD3 0x00000504
1759*4882a593Smuzhiyun
1760*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_LOAD_VALUE_LO 0x00000505
1761*4882a593Smuzhiyun
1762*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_LOAD_VALUE_HI 0x00000506
1763*4882a593Smuzhiyun
1764*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_RBBM_SEL_0 0x00000507
1765*4882a593Smuzhiyun
1766*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_RBBM_SEL_1 0x00000508
1767*4882a593Smuzhiyun
1768*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_RBBM_SEL_2 0x00000509
1769*4882a593Smuzhiyun
1770*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_RBBM_SEL_3 0x0000050a
1771*4882a593Smuzhiyun
1772*4882a593Smuzhiyun #define REG_A6XX_RBBM_PERFCTR_GPU_BUSY_MASKED 0x0000050b
1773*4882a593Smuzhiyun
1774*4882a593Smuzhiyun #define REG_A6XX_RBBM_ISDB_CNT 0x00000533
1775*4882a593Smuzhiyun
1776*4882a593Smuzhiyun #define REG_A6XX_RBBM_PRIMCTR_0_LO 0x00000540
1777*4882a593Smuzhiyun
1778*4882a593Smuzhiyun #define REG_A6XX_RBBM_PRIMCTR_0_HI 0x00000541
1779*4882a593Smuzhiyun
1780*4882a593Smuzhiyun #define REG_A6XX_RBBM_PRIMCTR_1_LO 0x00000542
1781*4882a593Smuzhiyun
1782*4882a593Smuzhiyun #define REG_A6XX_RBBM_PRIMCTR_1_HI 0x00000543
1783*4882a593Smuzhiyun
1784*4882a593Smuzhiyun #define REG_A6XX_RBBM_PRIMCTR_2_LO 0x00000544
1785*4882a593Smuzhiyun
1786*4882a593Smuzhiyun #define REG_A6XX_RBBM_PRIMCTR_2_HI 0x00000545
1787*4882a593Smuzhiyun
1788*4882a593Smuzhiyun #define REG_A6XX_RBBM_PRIMCTR_3_LO 0x00000546
1789*4882a593Smuzhiyun
1790*4882a593Smuzhiyun #define REG_A6XX_RBBM_PRIMCTR_3_HI 0x00000547
1791*4882a593Smuzhiyun
1792*4882a593Smuzhiyun #define REG_A6XX_RBBM_PRIMCTR_4_LO 0x00000548
1793*4882a593Smuzhiyun
1794*4882a593Smuzhiyun #define REG_A6XX_RBBM_PRIMCTR_4_HI 0x00000549
1795*4882a593Smuzhiyun
1796*4882a593Smuzhiyun #define REG_A6XX_RBBM_PRIMCTR_5_LO 0x0000054a
1797*4882a593Smuzhiyun
1798*4882a593Smuzhiyun #define REG_A6XX_RBBM_PRIMCTR_5_HI 0x0000054b
1799*4882a593Smuzhiyun
1800*4882a593Smuzhiyun #define REG_A6XX_RBBM_PRIMCTR_6_LO 0x0000054c
1801*4882a593Smuzhiyun
1802*4882a593Smuzhiyun #define REG_A6XX_RBBM_PRIMCTR_6_HI 0x0000054d
1803*4882a593Smuzhiyun
1804*4882a593Smuzhiyun #define REG_A6XX_RBBM_PRIMCTR_7_LO 0x0000054e
1805*4882a593Smuzhiyun
1806*4882a593Smuzhiyun #define REG_A6XX_RBBM_PRIMCTR_7_HI 0x0000054f
1807*4882a593Smuzhiyun
1808*4882a593Smuzhiyun #define REG_A6XX_RBBM_PRIMCTR_8_LO 0x00000550
1809*4882a593Smuzhiyun
1810*4882a593Smuzhiyun #define REG_A6XX_RBBM_PRIMCTR_8_HI 0x00000551
1811*4882a593Smuzhiyun
1812*4882a593Smuzhiyun #define REG_A6XX_RBBM_PRIMCTR_9_LO 0x00000552
1813*4882a593Smuzhiyun
1814*4882a593Smuzhiyun #define REG_A6XX_RBBM_PRIMCTR_9_HI 0x00000553
1815*4882a593Smuzhiyun
1816*4882a593Smuzhiyun #define REG_A6XX_RBBM_PRIMCTR_10_LO 0x00000554
1817*4882a593Smuzhiyun
1818*4882a593Smuzhiyun #define REG_A6XX_RBBM_PRIMCTR_10_HI 0x00000555
1819*4882a593Smuzhiyun
1820*4882a593Smuzhiyun #define REG_A6XX_RBBM_SECVID_TRUST_CNTL 0x0000f400
1821*4882a593Smuzhiyun
1822*4882a593Smuzhiyun #define REG_A6XX_RBBM_SECVID_TSB_TRUSTED_BASE_LO 0x0000f800
1823*4882a593Smuzhiyun
1824*4882a593Smuzhiyun #define REG_A6XX_RBBM_SECVID_TSB_TRUSTED_BASE_HI 0x0000f801
1825*4882a593Smuzhiyun
1826*4882a593Smuzhiyun #define REG_A6XX_RBBM_SECVID_TSB_TRUSTED_SIZE 0x0000f802
1827*4882a593Smuzhiyun
1828*4882a593Smuzhiyun #define REG_A6XX_RBBM_SECVID_TSB_CNTL 0x0000f803
1829*4882a593Smuzhiyun
1830*4882a593Smuzhiyun #define REG_A6XX_RBBM_SECVID_TSB_ADDR_MODE_CNTL 0x0000f810
1831*4882a593Smuzhiyun
1832*4882a593Smuzhiyun #define REG_A6XX_RBBM_VBIF_CLIENT_QOS_CNTL 0x00000010
1833*4882a593Smuzhiyun
1834*4882a593Smuzhiyun #define REG_A6XX_RBBM_GBIF_CLIENT_QOS_CNTL 0x00000011
1835*4882a593Smuzhiyun
1836*4882a593Smuzhiyun #define REG_A6XX_RBBM_WAIT_FOR_GPU_IDLE_CMD 0x0000001c
1837*4882a593Smuzhiyun #define A6XX_RBBM_WAIT_FOR_GPU_IDLE_CMD_WAIT_GPU_IDLE 0x00000001
1838*4882a593Smuzhiyun
1839*4882a593Smuzhiyun #define REG_A6XX_RBBM_INTERFACE_HANG_INT_CNTL 0x0000001f
1840*4882a593Smuzhiyun
1841*4882a593Smuzhiyun #define REG_A6XX_RBBM_INT_CLEAR_CMD 0x00000037
1842*4882a593Smuzhiyun
1843*4882a593Smuzhiyun #define REG_A6XX_RBBM_INT_0_MASK 0x00000038
1844*4882a593Smuzhiyun
1845*4882a593Smuzhiyun #define REG_A6XX_RBBM_SP_HYST_CNT 0x00000042
1846*4882a593Smuzhiyun
1847*4882a593Smuzhiyun #define REG_A6XX_RBBM_SW_RESET_CMD 0x00000043
1848*4882a593Smuzhiyun
1849*4882a593Smuzhiyun #define REG_A6XX_RBBM_RAC_THRESHOLD_CNT 0x00000044
1850*4882a593Smuzhiyun
1851*4882a593Smuzhiyun #define REG_A6XX_RBBM_BLOCK_SW_RESET_CMD 0x00000045
1852*4882a593Smuzhiyun
1853*4882a593Smuzhiyun #define REG_A6XX_RBBM_BLOCK_SW_RESET_CMD2 0x00000046
1854*4882a593Smuzhiyun
1855*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_CNTL 0x000000ae
1856*4882a593Smuzhiyun
1857*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_CNTL_SP0 0x000000b0
1858*4882a593Smuzhiyun
1859*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_CNTL_SP1 0x000000b1
1860*4882a593Smuzhiyun
1861*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_CNTL_SP2 0x000000b2
1862*4882a593Smuzhiyun
1863*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_CNTL_SP3 0x000000b3
1864*4882a593Smuzhiyun
1865*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_CNTL2_SP0 0x000000b4
1866*4882a593Smuzhiyun
1867*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_CNTL2_SP1 0x000000b5
1868*4882a593Smuzhiyun
1869*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_CNTL2_SP2 0x000000b6
1870*4882a593Smuzhiyun
1871*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_CNTL2_SP3 0x000000b7
1872*4882a593Smuzhiyun
1873*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_DELAY_SP0 0x000000b8
1874*4882a593Smuzhiyun
1875*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_DELAY_SP1 0x000000b9
1876*4882a593Smuzhiyun
1877*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_DELAY_SP2 0x000000ba
1878*4882a593Smuzhiyun
1879*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_DELAY_SP3 0x000000bb
1880*4882a593Smuzhiyun
1881*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_HYST_SP0 0x000000bc
1882*4882a593Smuzhiyun
1883*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_HYST_SP1 0x000000bd
1884*4882a593Smuzhiyun
1885*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_HYST_SP2 0x000000be
1886*4882a593Smuzhiyun
1887*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_HYST_SP3 0x000000bf
1888*4882a593Smuzhiyun
1889*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_CNTL_TP0 0x000000c0
1890*4882a593Smuzhiyun
1891*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_CNTL_TP1 0x000000c1
1892*4882a593Smuzhiyun
1893*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_CNTL_TP2 0x000000c2
1894*4882a593Smuzhiyun
1895*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_CNTL_TP3 0x000000c3
1896*4882a593Smuzhiyun
1897*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_CNTL2_TP0 0x000000c4
1898*4882a593Smuzhiyun
1899*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_CNTL2_TP1 0x000000c5
1900*4882a593Smuzhiyun
1901*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_CNTL2_TP2 0x000000c6
1902*4882a593Smuzhiyun
1903*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_CNTL2_TP3 0x000000c7
1904*4882a593Smuzhiyun
1905*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_CNTL3_TP0 0x000000c8
1906*4882a593Smuzhiyun
1907*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_CNTL3_TP1 0x000000c9
1908*4882a593Smuzhiyun
1909*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_CNTL3_TP2 0x000000ca
1910*4882a593Smuzhiyun
1911*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_CNTL3_TP3 0x000000cb
1912*4882a593Smuzhiyun
1913*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_CNTL4_TP0 0x000000cc
1914*4882a593Smuzhiyun
1915*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_CNTL4_TP1 0x000000cd
1916*4882a593Smuzhiyun
1917*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_CNTL4_TP2 0x000000ce
1918*4882a593Smuzhiyun
1919*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_CNTL4_TP3 0x000000cf
1920*4882a593Smuzhiyun
1921*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_DELAY_TP0 0x000000d0
1922*4882a593Smuzhiyun
1923*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_DELAY_TP1 0x000000d1
1924*4882a593Smuzhiyun
1925*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_DELAY_TP2 0x000000d2
1926*4882a593Smuzhiyun
1927*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_DELAY_TP3 0x000000d3
1928*4882a593Smuzhiyun
1929*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_DELAY2_TP0 0x000000d4
1930*4882a593Smuzhiyun
1931*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_DELAY2_TP1 0x000000d5
1932*4882a593Smuzhiyun
1933*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_DELAY2_TP2 0x000000d6
1934*4882a593Smuzhiyun
1935*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_DELAY2_TP3 0x000000d7
1936*4882a593Smuzhiyun
1937*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_DELAY3_TP0 0x000000d8
1938*4882a593Smuzhiyun
1939*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_DELAY3_TP1 0x000000d9
1940*4882a593Smuzhiyun
1941*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_DELAY3_TP2 0x000000da
1942*4882a593Smuzhiyun
1943*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_DELAY3_TP3 0x000000db
1944*4882a593Smuzhiyun
1945*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_DELAY4_TP0 0x000000dc
1946*4882a593Smuzhiyun
1947*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_DELAY4_TP1 0x000000dd
1948*4882a593Smuzhiyun
1949*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_DELAY4_TP2 0x000000de
1950*4882a593Smuzhiyun
1951*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_DELAY4_TP3 0x000000df
1952*4882a593Smuzhiyun
1953*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_HYST_TP0 0x000000e0
1954*4882a593Smuzhiyun
1955*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_HYST_TP1 0x000000e1
1956*4882a593Smuzhiyun
1957*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_HYST_TP2 0x000000e2
1958*4882a593Smuzhiyun
1959*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_HYST_TP3 0x000000e3
1960*4882a593Smuzhiyun
1961*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_HYST2_TP0 0x000000e4
1962*4882a593Smuzhiyun
1963*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_HYST2_TP1 0x000000e5
1964*4882a593Smuzhiyun
1965*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_HYST2_TP2 0x000000e6
1966*4882a593Smuzhiyun
1967*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_HYST2_TP3 0x000000e7
1968*4882a593Smuzhiyun
1969*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_HYST3_TP0 0x000000e8
1970*4882a593Smuzhiyun
1971*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_HYST3_TP1 0x000000e9
1972*4882a593Smuzhiyun
1973*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_HYST3_TP2 0x000000ea
1974*4882a593Smuzhiyun
1975*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_HYST3_TP3 0x000000eb
1976*4882a593Smuzhiyun
1977*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_HYST4_TP0 0x000000ec
1978*4882a593Smuzhiyun
1979*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_HYST4_TP1 0x000000ed
1980*4882a593Smuzhiyun
1981*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_HYST4_TP2 0x000000ee
1982*4882a593Smuzhiyun
1983*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_HYST4_TP3 0x000000ef
1984*4882a593Smuzhiyun
1985*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_CNTL_RB0 0x000000f0
1986*4882a593Smuzhiyun
1987*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_CNTL_RB1 0x000000f1
1988*4882a593Smuzhiyun
1989*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_CNTL_RB2 0x000000f2
1990*4882a593Smuzhiyun
1991*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_CNTL_RB3 0x000000f3
1992*4882a593Smuzhiyun
1993*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_CNTL2_RB0 0x000000f4
1994*4882a593Smuzhiyun
1995*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_CNTL2_RB1 0x000000f5
1996*4882a593Smuzhiyun
1997*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_CNTL2_RB2 0x000000f6
1998*4882a593Smuzhiyun
1999*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_CNTL2_RB3 0x000000f7
2000*4882a593Smuzhiyun
2001*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_CNTL_CCU0 0x000000f8
2002*4882a593Smuzhiyun
2003*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_CNTL_CCU1 0x000000f9
2004*4882a593Smuzhiyun
2005*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_CNTL_CCU2 0x000000fa
2006*4882a593Smuzhiyun
2007*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_CNTL_CCU3 0x000000fb
2008*4882a593Smuzhiyun
2009*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_HYST_RB_CCU0 0x00000100
2010*4882a593Smuzhiyun
2011*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_HYST_RB_CCU1 0x00000101
2012*4882a593Smuzhiyun
2013*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_HYST_RB_CCU2 0x00000102
2014*4882a593Smuzhiyun
2015*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_HYST_RB_CCU3 0x00000103
2016*4882a593Smuzhiyun
2017*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_CNTL_RAC 0x00000104
2018*4882a593Smuzhiyun
2019*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_CNTL2_RAC 0x00000105
2020*4882a593Smuzhiyun
2021*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_DELAY_RAC 0x00000106
2022*4882a593Smuzhiyun
2023*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_HYST_RAC 0x00000107
2024*4882a593Smuzhiyun
2025*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_CNTL_TSE_RAS_RBBM 0x00000108
2026*4882a593Smuzhiyun
2027*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_DELAY_TSE_RAS_RBBM 0x00000109
2028*4882a593Smuzhiyun
2029*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_HYST_TSE_RAS_RBBM 0x0000010a
2030*4882a593Smuzhiyun
2031*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_CNTL_UCHE 0x0000010b
2032*4882a593Smuzhiyun
2033*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_CNTL2_UCHE 0x0000010c
2034*4882a593Smuzhiyun
2035*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_CNTL3_UCHE 0x0000010d
2036*4882a593Smuzhiyun
2037*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_CNTL4_UCHE 0x0000010e
2038*4882a593Smuzhiyun
2039*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_DELAY_UCHE 0x0000010f
2040*4882a593Smuzhiyun
2041*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_HYST_UCHE 0x00000110
2042*4882a593Smuzhiyun
2043*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_MODE_VFD 0x00000111
2044*4882a593Smuzhiyun
2045*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_DELAY_VFD 0x00000112
2046*4882a593Smuzhiyun
2047*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_HYST_VFD 0x00000113
2048*4882a593Smuzhiyun
2049*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_MODE_GPC 0x00000114
2050*4882a593Smuzhiyun
2051*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_DELAY_GPC 0x00000115
2052*4882a593Smuzhiyun
2053*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_HYST_GPC 0x00000116
2054*4882a593Smuzhiyun
2055*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_DELAY_HLSQ_2 0x00000117
2056*4882a593Smuzhiyun
2057*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_CNTL_GMU_GX 0x00000118
2058*4882a593Smuzhiyun
2059*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_DELAY_GMU_GX 0x00000119
2060*4882a593Smuzhiyun
2061*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_HYST_GMU_GX 0x0000011a
2062*4882a593Smuzhiyun
2063*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_MODE_HLSQ 0x0000011b
2064*4882a593Smuzhiyun
2065*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_DELAY_HLSQ 0x0000011c
2066*4882a593Smuzhiyun
2067*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_HYST_HLSQ 0x0000011d
2068*4882a593Smuzhiyun
2069*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_CNTL_TEX_FCHE 0x00000120
2070*4882a593Smuzhiyun
2071*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_DELAY_TEX_FCHE 0x00000121
2072*4882a593Smuzhiyun
2073*4882a593Smuzhiyun #define REG_A6XX_RBBM_CLOCK_HYST_TEX_FCHE 0x00000122
2074*4882a593Smuzhiyun
2075*4882a593Smuzhiyun #define REG_A6XX_DBGC_CFG_DBGBUS_SEL_A 0x00000600
2076*4882a593Smuzhiyun
2077*4882a593Smuzhiyun #define REG_A6XX_DBGC_CFG_DBGBUS_SEL_B 0x00000601
2078*4882a593Smuzhiyun
2079*4882a593Smuzhiyun #define REG_A6XX_DBGC_CFG_DBGBUS_SEL_C 0x00000602
2080*4882a593Smuzhiyun
2081*4882a593Smuzhiyun #define REG_A6XX_DBGC_CFG_DBGBUS_SEL_D 0x00000603
2082*4882a593Smuzhiyun #define A6XX_DBGC_CFG_DBGBUS_SEL_D_PING_INDEX__MASK 0x000000ff
2083*4882a593Smuzhiyun #define A6XX_DBGC_CFG_DBGBUS_SEL_D_PING_INDEX__SHIFT 0
A6XX_DBGC_CFG_DBGBUS_SEL_D_PING_INDEX(uint32_t val)2084*4882a593Smuzhiyun static inline uint32_t A6XX_DBGC_CFG_DBGBUS_SEL_D_PING_INDEX(uint32_t val)
2085*4882a593Smuzhiyun {
2086*4882a593Smuzhiyun return ((val) << A6XX_DBGC_CFG_DBGBUS_SEL_D_PING_INDEX__SHIFT) & A6XX_DBGC_CFG_DBGBUS_SEL_D_PING_INDEX__MASK;
2087*4882a593Smuzhiyun }
2088*4882a593Smuzhiyun #define A6XX_DBGC_CFG_DBGBUS_SEL_D_PING_BLK_SEL__MASK 0x0000ff00
2089*4882a593Smuzhiyun #define A6XX_DBGC_CFG_DBGBUS_SEL_D_PING_BLK_SEL__SHIFT 8
A6XX_DBGC_CFG_DBGBUS_SEL_D_PING_BLK_SEL(uint32_t val)2090*4882a593Smuzhiyun static inline uint32_t A6XX_DBGC_CFG_DBGBUS_SEL_D_PING_BLK_SEL(uint32_t val)
2091*4882a593Smuzhiyun {
2092*4882a593Smuzhiyun return ((val) << A6XX_DBGC_CFG_DBGBUS_SEL_D_PING_BLK_SEL__SHIFT) & A6XX_DBGC_CFG_DBGBUS_SEL_D_PING_BLK_SEL__MASK;
2093*4882a593Smuzhiyun }
2094*4882a593Smuzhiyun
2095*4882a593Smuzhiyun #define REG_A6XX_DBGC_CFG_DBGBUS_CNTLT 0x00000604
2096*4882a593Smuzhiyun #define A6XX_DBGC_CFG_DBGBUS_CNTLT_TRACEEN__MASK 0x0000003f
2097*4882a593Smuzhiyun #define A6XX_DBGC_CFG_DBGBUS_CNTLT_TRACEEN__SHIFT 0
A6XX_DBGC_CFG_DBGBUS_CNTLT_TRACEEN(uint32_t val)2098*4882a593Smuzhiyun static inline uint32_t A6XX_DBGC_CFG_DBGBUS_CNTLT_TRACEEN(uint32_t val)
2099*4882a593Smuzhiyun {
2100*4882a593Smuzhiyun return ((val) << A6XX_DBGC_CFG_DBGBUS_CNTLT_TRACEEN__SHIFT) & A6XX_DBGC_CFG_DBGBUS_CNTLT_TRACEEN__MASK;
2101*4882a593Smuzhiyun }
2102*4882a593Smuzhiyun #define A6XX_DBGC_CFG_DBGBUS_CNTLT_GRANU__MASK 0x00007000
2103*4882a593Smuzhiyun #define A6XX_DBGC_CFG_DBGBUS_CNTLT_GRANU__SHIFT 12
A6XX_DBGC_CFG_DBGBUS_CNTLT_GRANU(uint32_t val)2104*4882a593Smuzhiyun static inline uint32_t A6XX_DBGC_CFG_DBGBUS_CNTLT_GRANU(uint32_t val)
2105*4882a593Smuzhiyun {
2106*4882a593Smuzhiyun return ((val) << A6XX_DBGC_CFG_DBGBUS_CNTLT_GRANU__SHIFT) & A6XX_DBGC_CFG_DBGBUS_CNTLT_GRANU__MASK;
2107*4882a593Smuzhiyun }
2108*4882a593Smuzhiyun #define A6XX_DBGC_CFG_DBGBUS_CNTLT_SEGT__MASK 0xf0000000
2109*4882a593Smuzhiyun #define A6XX_DBGC_CFG_DBGBUS_CNTLT_SEGT__SHIFT 28
A6XX_DBGC_CFG_DBGBUS_CNTLT_SEGT(uint32_t val)2110*4882a593Smuzhiyun static inline uint32_t A6XX_DBGC_CFG_DBGBUS_CNTLT_SEGT(uint32_t val)
2111*4882a593Smuzhiyun {
2112*4882a593Smuzhiyun return ((val) << A6XX_DBGC_CFG_DBGBUS_CNTLT_SEGT__SHIFT) & A6XX_DBGC_CFG_DBGBUS_CNTLT_SEGT__MASK;
2113*4882a593Smuzhiyun }
2114*4882a593Smuzhiyun
2115*4882a593Smuzhiyun #define REG_A6XX_DBGC_CFG_DBGBUS_CNTLM 0x00000605
2116*4882a593Smuzhiyun #define A6XX_DBGC_CFG_DBGBUS_CNTLM_ENABLE__MASK 0x0f000000
2117*4882a593Smuzhiyun #define A6XX_DBGC_CFG_DBGBUS_CNTLM_ENABLE__SHIFT 24
A6XX_DBGC_CFG_DBGBUS_CNTLM_ENABLE(uint32_t val)2118*4882a593Smuzhiyun static inline uint32_t A6XX_DBGC_CFG_DBGBUS_CNTLM_ENABLE(uint32_t val)
2119*4882a593Smuzhiyun {
2120*4882a593Smuzhiyun return ((val) << A6XX_DBGC_CFG_DBGBUS_CNTLM_ENABLE__SHIFT) & A6XX_DBGC_CFG_DBGBUS_CNTLM_ENABLE__MASK;
2121*4882a593Smuzhiyun }
2122*4882a593Smuzhiyun
2123*4882a593Smuzhiyun #define REG_A6XX_DBGC_CFG_DBGBUS_IVTL_0 0x00000608
2124*4882a593Smuzhiyun
2125*4882a593Smuzhiyun #define REG_A6XX_DBGC_CFG_DBGBUS_IVTL_1 0x00000609
2126*4882a593Smuzhiyun
2127*4882a593Smuzhiyun #define REG_A6XX_DBGC_CFG_DBGBUS_IVTL_2 0x0000060a
2128*4882a593Smuzhiyun
2129*4882a593Smuzhiyun #define REG_A6XX_DBGC_CFG_DBGBUS_IVTL_3 0x0000060b
2130*4882a593Smuzhiyun
2131*4882a593Smuzhiyun #define REG_A6XX_DBGC_CFG_DBGBUS_MASKL_0 0x0000060c
2132*4882a593Smuzhiyun
2133*4882a593Smuzhiyun #define REG_A6XX_DBGC_CFG_DBGBUS_MASKL_1 0x0000060d
2134*4882a593Smuzhiyun
2135*4882a593Smuzhiyun #define REG_A6XX_DBGC_CFG_DBGBUS_MASKL_2 0x0000060e
2136*4882a593Smuzhiyun
2137*4882a593Smuzhiyun #define REG_A6XX_DBGC_CFG_DBGBUS_MASKL_3 0x0000060f
2138*4882a593Smuzhiyun
2139*4882a593Smuzhiyun #define REG_A6XX_DBGC_CFG_DBGBUS_BYTEL_0 0x00000610
2140*4882a593Smuzhiyun #define A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL0__MASK 0x0000000f
2141*4882a593Smuzhiyun #define A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL0__SHIFT 0
A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL0(uint32_t val)2142*4882a593Smuzhiyun static inline uint32_t A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL0(uint32_t val)
2143*4882a593Smuzhiyun {
2144*4882a593Smuzhiyun return ((val) << A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL0__SHIFT) & A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL0__MASK;
2145*4882a593Smuzhiyun }
2146*4882a593Smuzhiyun #define A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL1__MASK 0x000000f0
2147*4882a593Smuzhiyun #define A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL1__SHIFT 4
A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL1(uint32_t val)2148*4882a593Smuzhiyun static inline uint32_t A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL1(uint32_t val)
2149*4882a593Smuzhiyun {
2150*4882a593Smuzhiyun return ((val) << A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL1__SHIFT) & A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL1__MASK;
2151*4882a593Smuzhiyun }
2152*4882a593Smuzhiyun #define A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL2__MASK 0x00000f00
2153*4882a593Smuzhiyun #define A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL2__SHIFT 8
A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL2(uint32_t val)2154*4882a593Smuzhiyun static inline uint32_t A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL2(uint32_t val)
2155*4882a593Smuzhiyun {
2156*4882a593Smuzhiyun return ((val) << A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL2__SHIFT) & A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL2__MASK;
2157*4882a593Smuzhiyun }
2158*4882a593Smuzhiyun #define A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL3__MASK 0x0000f000
2159*4882a593Smuzhiyun #define A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL3__SHIFT 12
A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL3(uint32_t val)2160*4882a593Smuzhiyun static inline uint32_t A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL3(uint32_t val)
2161*4882a593Smuzhiyun {
2162*4882a593Smuzhiyun return ((val) << A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL3__SHIFT) & A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL3__MASK;
2163*4882a593Smuzhiyun }
2164*4882a593Smuzhiyun #define A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL4__MASK 0x000f0000
2165*4882a593Smuzhiyun #define A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL4__SHIFT 16
A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL4(uint32_t val)2166*4882a593Smuzhiyun static inline uint32_t A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL4(uint32_t val)
2167*4882a593Smuzhiyun {
2168*4882a593Smuzhiyun return ((val) << A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL4__SHIFT) & A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL4__MASK;
2169*4882a593Smuzhiyun }
2170*4882a593Smuzhiyun #define A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL5__MASK 0x00f00000
2171*4882a593Smuzhiyun #define A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL5__SHIFT 20
A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL5(uint32_t val)2172*4882a593Smuzhiyun static inline uint32_t A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL5(uint32_t val)
2173*4882a593Smuzhiyun {
2174*4882a593Smuzhiyun return ((val) << A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL5__SHIFT) & A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL5__MASK;
2175*4882a593Smuzhiyun }
2176*4882a593Smuzhiyun #define A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL6__MASK 0x0f000000
2177*4882a593Smuzhiyun #define A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL6__SHIFT 24
A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL6(uint32_t val)2178*4882a593Smuzhiyun static inline uint32_t A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL6(uint32_t val)
2179*4882a593Smuzhiyun {
2180*4882a593Smuzhiyun return ((val) << A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL6__SHIFT) & A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL6__MASK;
2181*4882a593Smuzhiyun }
2182*4882a593Smuzhiyun #define A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL7__MASK 0xf0000000
2183*4882a593Smuzhiyun #define A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL7__SHIFT 28
A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL7(uint32_t val)2184*4882a593Smuzhiyun static inline uint32_t A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL7(uint32_t val)
2185*4882a593Smuzhiyun {
2186*4882a593Smuzhiyun return ((val) << A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL7__SHIFT) & A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL7__MASK;
2187*4882a593Smuzhiyun }
2188*4882a593Smuzhiyun
2189*4882a593Smuzhiyun #define REG_A6XX_DBGC_CFG_DBGBUS_BYTEL_1 0x00000611
2190*4882a593Smuzhiyun #define A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL8__MASK 0x0000000f
2191*4882a593Smuzhiyun #define A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL8__SHIFT 0
A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL8(uint32_t val)2192*4882a593Smuzhiyun static inline uint32_t A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL8(uint32_t val)
2193*4882a593Smuzhiyun {
2194*4882a593Smuzhiyun return ((val) << A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL8__SHIFT) & A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL8__MASK;
2195*4882a593Smuzhiyun }
2196*4882a593Smuzhiyun #define A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL9__MASK 0x000000f0
2197*4882a593Smuzhiyun #define A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL9__SHIFT 4
A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL9(uint32_t val)2198*4882a593Smuzhiyun static inline uint32_t A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL9(uint32_t val)
2199*4882a593Smuzhiyun {
2200*4882a593Smuzhiyun return ((val) << A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL9__SHIFT) & A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL9__MASK;
2201*4882a593Smuzhiyun }
2202*4882a593Smuzhiyun #define A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL10__MASK 0x00000f00
2203*4882a593Smuzhiyun #define A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL10__SHIFT 8
A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL10(uint32_t val)2204*4882a593Smuzhiyun static inline uint32_t A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL10(uint32_t val)
2205*4882a593Smuzhiyun {
2206*4882a593Smuzhiyun return ((val) << A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL10__SHIFT) & A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL10__MASK;
2207*4882a593Smuzhiyun }
2208*4882a593Smuzhiyun #define A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL11__MASK 0x0000f000
2209*4882a593Smuzhiyun #define A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL11__SHIFT 12
A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL11(uint32_t val)2210*4882a593Smuzhiyun static inline uint32_t A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL11(uint32_t val)
2211*4882a593Smuzhiyun {
2212*4882a593Smuzhiyun return ((val) << A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL11__SHIFT) & A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL11__MASK;
2213*4882a593Smuzhiyun }
2214*4882a593Smuzhiyun #define A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL12__MASK 0x000f0000
2215*4882a593Smuzhiyun #define A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL12__SHIFT 16
A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL12(uint32_t val)2216*4882a593Smuzhiyun static inline uint32_t A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL12(uint32_t val)
2217*4882a593Smuzhiyun {
2218*4882a593Smuzhiyun return ((val) << A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL12__SHIFT) & A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL12__MASK;
2219*4882a593Smuzhiyun }
2220*4882a593Smuzhiyun #define A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL13__MASK 0x00f00000
2221*4882a593Smuzhiyun #define A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL13__SHIFT 20
A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL13(uint32_t val)2222*4882a593Smuzhiyun static inline uint32_t A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL13(uint32_t val)
2223*4882a593Smuzhiyun {
2224*4882a593Smuzhiyun return ((val) << A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL13__SHIFT) & A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL13__MASK;
2225*4882a593Smuzhiyun }
2226*4882a593Smuzhiyun #define A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL14__MASK 0x0f000000
2227*4882a593Smuzhiyun #define A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL14__SHIFT 24
A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL14(uint32_t val)2228*4882a593Smuzhiyun static inline uint32_t A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL14(uint32_t val)
2229*4882a593Smuzhiyun {
2230*4882a593Smuzhiyun return ((val) << A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL14__SHIFT) & A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL14__MASK;
2231*4882a593Smuzhiyun }
2232*4882a593Smuzhiyun #define A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL15__MASK 0xf0000000
2233*4882a593Smuzhiyun #define A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL15__SHIFT 28
A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL15(uint32_t val)2234*4882a593Smuzhiyun static inline uint32_t A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL15(uint32_t val)
2235*4882a593Smuzhiyun {
2236*4882a593Smuzhiyun return ((val) << A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL15__SHIFT) & A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL15__MASK;
2237*4882a593Smuzhiyun }
2238*4882a593Smuzhiyun
2239*4882a593Smuzhiyun #define REG_A6XX_DBGC_CFG_DBGBUS_TRACE_BUF1 0x0000062f
2240*4882a593Smuzhiyun
2241*4882a593Smuzhiyun #define REG_A6XX_DBGC_CFG_DBGBUS_TRACE_BUF2 0x00000630
2242*4882a593Smuzhiyun
2243*4882a593Smuzhiyun #define REG_A6XX_VSC_PERFCTR_VSC_SEL_0 0x00000cd8
2244*4882a593Smuzhiyun
2245*4882a593Smuzhiyun #define REG_A6XX_VSC_PERFCTR_VSC_SEL_1 0x00000cd9
2246*4882a593Smuzhiyun
2247*4882a593Smuzhiyun #define REG_A6XX_HLSQ_ADDR_MODE_CNTL 0x0000be05
2248*4882a593Smuzhiyun
2249*4882a593Smuzhiyun #define REG_A6XX_HLSQ_PERFCTR_HLSQ_SEL_0 0x0000be10
2250*4882a593Smuzhiyun
2251*4882a593Smuzhiyun #define REG_A6XX_HLSQ_PERFCTR_HLSQ_SEL_1 0x0000be11
2252*4882a593Smuzhiyun
2253*4882a593Smuzhiyun #define REG_A6XX_HLSQ_PERFCTR_HLSQ_SEL_2 0x0000be12
2254*4882a593Smuzhiyun
2255*4882a593Smuzhiyun #define REG_A6XX_HLSQ_PERFCTR_HLSQ_SEL_3 0x0000be13
2256*4882a593Smuzhiyun
2257*4882a593Smuzhiyun #define REG_A6XX_HLSQ_PERFCTR_HLSQ_SEL_4 0x0000be14
2258*4882a593Smuzhiyun
2259*4882a593Smuzhiyun #define REG_A6XX_HLSQ_PERFCTR_HLSQ_SEL_5 0x0000be15
2260*4882a593Smuzhiyun
2261*4882a593Smuzhiyun #define REG_A6XX_HLSQ_DBG_AHB_READ_APERTURE 0x0000c800
2262*4882a593Smuzhiyun
2263*4882a593Smuzhiyun #define REG_A6XX_HLSQ_DBG_READ_SEL 0x0000d000
2264*4882a593Smuzhiyun
2265*4882a593Smuzhiyun #define REG_A6XX_VFD_ADDR_MODE_CNTL 0x0000a601
2266*4882a593Smuzhiyun
2267*4882a593Smuzhiyun #define REG_A6XX_VFD_PERFCTR_VFD_SEL_0 0x0000a610
2268*4882a593Smuzhiyun
2269*4882a593Smuzhiyun #define REG_A6XX_VFD_PERFCTR_VFD_SEL_1 0x0000a611
2270*4882a593Smuzhiyun
2271*4882a593Smuzhiyun #define REG_A6XX_VFD_PERFCTR_VFD_SEL_2 0x0000a612
2272*4882a593Smuzhiyun
2273*4882a593Smuzhiyun #define REG_A6XX_VFD_PERFCTR_VFD_SEL_3 0x0000a613
2274*4882a593Smuzhiyun
2275*4882a593Smuzhiyun #define REG_A6XX_VFD_PERFCTR_VFD_SEL_4 0x0000a614
2276*4882a593Smuzhiyun
2277*4882a593Smuzhiyun #define REG_A6XX_VFD_PERFCTR_VFD_SEL_5 0x0000a615
2278*4882a593Smuzhiyun
2279*4882a593Smuzhiyun #define REG_A6XX_VFD_PERFCTR_VFD_SEL_6 0x0000a616
2280*4882a593Smuzhiyun
2281*4882a593Smuzhiyun #define REG_A6XX_VFD_PERFCTR_VFD_SEL_7 0x0000a617
2282*4882a593Smuzhiyun
2283*4882a593Smuzhiyun #define REG_A6XX_UCHE_ADDR_MODE_CNTL 0x00000e00
2284*4882a593Smuzhiyun
2285*4882a593Smuzhiyun #define REG_A6XX_UCHE_MODE_CNTL 0x00000e01
2286*4882a593Smuzhiyun
2287*4882a593Smuzhiyun #define REG_A6XX_UCHE_WRITE_RANGE_MAX_LO 0x00000e05
2288*4882a593Smuzhiyun
2289*4882a593Smuzhiyun #define REG_A6XX_UCHE_WRITE_RANGE_MAX_HI 0x00000e06
2290*4882a593Smuzhiyun
2291*4882a593Smuzhiyun #define REG_A6XX_UCHE_WRITE_THRU_BASE_LO 0x00000e07
2292*4882a593Smuzhiyun
2293*4882a593Smuzhiyun #define REG_A6XX_UCHE_WRITE_THRU_BASE_HI 0x00000e08
2294*4882a593Smuzhiyun
2295*4882a593Smuzhiyun #define REG_A6XX_UCHE_TRAP_BASE_LO 0x00000e09
2296*4882a593Smuzhiyun
2297*4882a593Smuzhiyun #define REG_A6XX_UCHE_TRAP_BASE_HI 0x00000e0a
2298*4882a593Smuzhiyun
2299*4882a593Smuzhiyun #define REG_A6XX_UCHE_GMEM_RANGE_MIN_LO 0x00000e0b
2300*4882a593Smuzhiyun
2301*4882a593Smuzhiyun #define REG_A6XX_UCHE_GMEM_RANGE_MIN_HI 0x00000e0c
2302*4882a593Smuzhiyun
2303*4882a593Smuzhiyun #define REG_A6XX_UCHE_GMEM_RANGE_MAX_LO 0x00000e0d
2304*4882a593Smuzhiyun
2305*4882a593Smuzhiyun #define REG_A6XX_UCHE_GMEM_RANGE_MAX_HI 0x00000e0e
2306*4882a593Smuzhiyun
2307*4882a593Smuzhiyun #define REG_A6XX_UCHE_CACHE_WAYS 0x00000e17
2308*4882a593Smuzhiyun
2309*4882a593Smuzhiyun #define REG_A6XX_UCHE_FILTER_CNTL 0x00000e18
2310*4882a593Smuzhiyun
2311*4882a593Smuzhiyun #define REG_A6XX_UCHE_CLIENT_PF 0x00000e19
2312*4882a593Smuzhiyun #define A6XX_UCHE_CLIENT_PF_PERFSEL__MASK 0x000000ff
2313*4882a593Smuzhiyun #define A6XX_UCHE_CLIENT_PF_PERFSEL__SHIFT 0
A6XX_UCHE_CLIENT_PF_PERFSEL(uint32_t val)2314*4882a593Smuzhiyun static inline uint32_t A6XX_UCHE_CLIENT_PF_PERFSEL(uint32_t val)
2315*4882a593Smuzhiyun {
2316*4882a593Smuzhiyun return ((val) << A6XX_UCHE_CLIENT_PF_PERFSEL__SHIFT) & A6XX_UCHE_CLIENT_PF_PERFSEL__MASK;
2317*4882a593Smuzhiyun }
2318*4882a593Smuzhiyun
2319*4882a593Smuzhiyun #define REG_A6XX_UCHE_PERFCTR_UCHE_SEL_0 0x00000e1c
2320*4882a593Smuzhiyun
2321*4882a593Smuzhiyun #define REG_A6XX_UCHE_PERFCTR_UCHE_SEL_1 0x00000e1d
2322*4882a593Smuzhiyun
2323*4882a593Smuzhiyun #define REG_A6XX_UCHE_PERFCTR_UCHE_SEL_2 0x00000e1e
2324*4882a593Smuzhiyun
2325*4882a593Smuzhiyun #define REG_A6XX_UCHE_PERFCTR_UCHE_SEL_3 0x00000e1f
2326*4882a593Smuzhiyun
2327*4882a593Smuzhiyun #define REG_A6XX_UCHE_PERFCTR_UCHE_SEL_4 0x00000e20
2328*4882a593Smuzhiyun
2329*4882a593Smuzhiyun #define REG_A6XX_UCHE_PERFCTR_UCHE_SEL_5 0x00000e21
2330*4882a593Smuzhiyun
2331*4882a593Smuzhiyun #define REG_A6XX_UCHE_PERFCTR_UCHE_SEL_6 0x00000e22
2332*4882a593Smuzhiyun
2333*4882a593Smuzhiyun #define REG_A6XX_UCHE_PERFCTR_UCHE_SEL_7 0x00000e23
2334*4882a593Smuzhiyun
2335*4882a593Smuzhiyun #define REG_A6XX_UCHE_PERFCTR_UCHE_SEL_8 0x00000e24
2336*4882a593Smuzhiyun
2337*4882a593Smuzhiyun #define REG_A6XX_UCHE_PERFCTR_UCHE_SEL_9 0x00000e25
2338*4882a593Smuzhiyun
2339*4882a593Smuzhiyun #define REG_A6XX_UCHE_PERFCTR_UCHE_SEL_10 0x00000e26
2340*4882a593Smuzhiyun
2341*4882a593Smuzhiyun #define REG_A6XX_UCHE_PERFCTR_UCHE_SEL_11 0x00000e27
2342*4882a593Smuzhiyun
2343*4882a593Smuzhiyun #define REG_A6XX_SP_ADDR_MODE_CNTL 0x0000ae01
2344*4882a593Smuzhiyun
2345*4882a593Smuzhiyun #define REG_A6XX_SP_NC_MODE_CNTL 0x0000ae02
2346*4882a593Smuzhiyun
2347*4882a593Smuzhiyun #define REG_A6XX_SP_PERFCTR_SP_SEL_0 0x0000ae10
2348*4882a593Smuzhiyun
2349*4882a593Smuzhiyun #define REG_A6XX_SP_PERFCTR_SP_SEL_1 0x0000ae11
2350*4882a593Smuzhiyun
2351*4882a593Smuzhiyun #define REG_A6XX_SP_PERFCTR_SP_SEL_2 0x0000ae12
2352*4882a593Smuzhiyun
2353*4882a593Smuzhiyun #define REG_A6XX_SP_PERFCTR_SP_SEL_3 0x0000ae13
2354*4882a593Smuzhiyun
2355*4882a593Smuzhiyun #define REG_A6XX_SP_PERFCTR_SP_SEL_4 0x0000ae14
2356*4882a593Smuzhiyun
2357*4882a593Smuzhiyun #define REG_A6XX_SP_PERFCTR_SP_SEL_5 0x0000ae15
2358*4882a593Smuzhiyun
2359*4882a593Smuzhiyun #define REG_A6XX_SP_PERFCTR_SP_SEL_6 0x0000ae16
2360*4882a593Smuzhiyun
2361*4882a593Smuzhiyun #define REG_A6XX_SP_PERFCTR_SP_SEL_7 0x0000ae17
2362*4882a593Smuzhiyun
2363*4882a593Smuzhiyun #define REG_A6XX_SP_PERFCTR_SP_SEL_8 0x0000ae18
2364*4882a593Smuzhiyun
2365*4882a593Smuzhiyun #define REG_A6XX_SP_PERFCTR_SP_SEL_9 0x0000ae19
2366*4882a593Smuzhiyun
2367*4882a593Smuzhiyun #define REG_A6XX_SP_PERFCTR_SP_SEL_10 0x0000ae1a
2368*4882a593Smuzhiyun
2369*4882a593Smuzhiyun #define REG_A6XX_SP_PERFCTR_SP_SEL_11 0x0000ae1b
2370*4882a593Smuzhiyun
2371*4882a593Smuzhiyun #define REG_A6XX_SP_PERFCTR_SP_SEL_12 0x0000ae1c
2372*4882a593Smuzhiyun
2373*4882a593Smuzhiyun #define REG_A6XX_SP_PERFCTR_SP_SEL_13 0x0000ae1d
2374*4882a593Smuzhiyun
2375*4882a593Smuzhiyun #define REG_A6XX_SP_PERFCTR_SP_SEL_14 0x0000ae1e
2376*4882a593Smuzhiyun
2377*4882a593Smuzhiyun #define REG_A6XX_SP_PERFCTR_SP_SEL_15 0x0000ae1f
2378*4882a593Smuzhiyun
2379*4882a593Smuzhiyun #define REG_A6XX_SP_PERFCTR_SP_SEL_16 0x0000ae20
2380*4882a593Smuzhiyun
2381*4882a593Smuzhiyun #define REG_A6XX_SP_PERFCTR_SP_SEL_17 0x0000ae21
2382*4882a593Smuzhiyun
2383*4882a593Smuzhiyun #define REG_A6XX_SP_PERFCTR_SP_SEL_18 0x0000ae22
2384*4882a593Smuzhiyun
2385*4882a593Smuzhiyun #define REG_A6XX_SP_PERFCTR_SP_SEL_19 0x0000ae23
2386*4882a593Smuzhiyun
2387*4882a593Smuzhiyun #define REG_A6XX_SP_PERFCTR_SP_SEL_20 0x0000ae24
2388*4882a593Smuzhiyun
2389*4882a593Smuzhiyun #define REG_A6XX_SP_PERFCTR_SP_SEL_21 0x0000ae25
2390*4882a593Smuzhiyun
2391*4882a593Smuzhiyun #define REG_A6XX_SP_PERFCTR_SP_SEL_22 0x0000ae26
2392*4882a593Smuzhiyun
2393*4882a593Smuzhiyun #define REG_A6XX_SP_PERFCTR_SP_SEL_23 0x0000ae27
2394*4882a593Smuzhiyun
2395*4882a593Smuzhiyun #define REG_A6XX_TPL1_ADDR_MODE_CNTL 0x0000b601
2396*4882a593Smuzhiyun
2397*4882a593Smuzhiyun #define REG_A6XX_TPL1_NC_MODE_CNTL 0x0000b604
2398*4882a593Smuzhiyun
2399*4882a593Smuzhiyun #define REG_A6XX_TPL1_BICUBIC_WEIGHTS_TABLE_0 0x0000b608
2400*4882a593Smuzhiyun
2401*4882a593Smuzhiyun #define REG_A6XX_TPL1_BICUBIC_WEIGHTS_TABLE_1 0x0000b609
2402*4882a593Smuzhiyun
2403*4882a593Smuzhiyun #define REG_A6XX_TPL1_BICUBIC_WEIGHTS_TABLE_2 0x0000b60a
2404*4882a593Smuzhiyun
2405*4882a593Smuzhiyun #define REG_A6XX_TPL1_BICUBIC_WEIGHTS_TABLE_3 0x0000b60b
2406*4882a593Smuzhiyun
2407*4882a593Smuzhiyun #define REG_A6XX_TPL1_BICUBIC_WEIGHTS_TABLE_4 0x0000b60c
2408*4882a593Smuzhiyun
2409*4882a593Smuzhiyun #define REG_A6XX_TPL1_PERFCTR_TP_SEL_0 0x0000b610
2410*4882a593Smuzhiyun
2411*4882a593Smuzhiyun #define REG_A6XX_TPL1_PERFCTR_TP_SEL_1 0x0000b611
2412*4882a593Smuzhiyun
2413*4882a593Smuzhiyun #define REG_A6XX_TPL1_PERFCTR_TP_SEL_2 0x0000b612
2414*4882a593Smuzhiyun
2415*4882a593Smuzhiyun #define REG_A6XX_TPL1_PERFCTR_TP_SEL_3 0x0000b613
2416*4882a593Smuzhiyun
2417*4882a593Smuzhiyun #define REG_A6XX_TPL1_PERFCTR_TP_SEL_4 0x0000b614
2418*4882a593Smuzhiyun
2419*4882a593Smuzhiyun #define REG_A6XX_TPL1_PERFCTR_TP_SEL_5 0x0000b615
2420*4882a593Smuzhiyun
2421*4882a593Smuzhiyun #define REG_A6XX_TPL1_PERFCTR_TP_SEL_6 0x0000b616
2422*4882a593Smuzhiyun
2423*4882a593Smuzhiyun #define REG_A6XX_TPL1_PERFCTR_TP_SEL_7 0x0000b617
2424*4882a593Smuzhiyun
2425*4882a593Smuzhiyun #define REG_A6XX_TPL1_PERFCTR_TP_SEL_8 0x0000b618
2426*4882a593Smuzhiyun
2427*4882a593Smuzhiyun #define REG_A6XX_TPL1_PERFCTR_TP_SEL_9 0x0000b619
2428*4882a593Smuzhiyun
2429*4882a593Smuzhiyun #define REG_A6XX_TPL1_PERFCTR_TP_SEL_10 0x0000b61a
2430*4882a593Smuzhiyun
2431*4882a593Smuzhiyun #define REG_A6XX_TPL1_PERFCTR_TP_SEL_11 0x0000b61b
2432*4882a593Smuzhiyun
2433*4882a593Smuzhiyun #define REG_A6XX_VBIF_VERSION 0x00003000
2434*4882a593Smuzhiyun
2435*4882a593Smuzhiyun #define REG_A6XX_VBIF_CLKON 0x00003001
2436*4882a593Smuzhiyun #define A6XX_VBIF_CLKON_FORCE_ON_TESTBUS 0x00000002
2437*4882a593Smuzhiyun
2438*4882a593Smuzhiyun #define REG_A6XX_VBIF_GATE_OFF_WRREQ_EN 0x0000302a
2439*4882a593Smuzhiyun
2440*4882a593Smuzhiyun #define REG_A6XX_VBIF_XIN_HALT_CTRL0 0x00003080
2441*4882a593Smuzhiyun
2442*4882a593Smuzhiyun #define REG_A6XX_VBIF_XIN_HALT_CTRL1 0x00003081
2443*4882a593Smuzhiyun
2444*4882a593Smuzhiyun #define REG_A6XX_VBIF_TEST_BUS_OUT_CTRL 0x00003084
2445*4882a593Smuzhiyun
2446*4882a593Smuzhiyun #define REG_A6XX_VBIF_TEST_BUS1_CTRL0 0x00003085
2447*4882a593Smuzhiyun
2448*4882a593Smuzhiyun #define REG_A6XX_VBIF_TEST_BUS1_CTRL1 0x00003086
2449*4882a593Smuzhiyun #define A6XX_VBIF_TEST_BUS1_CTRL1_DATA_SEL__MASK 0x0000000f
2450*4882a593Smuzhiyun #define A6XX_VBIF_TEST_BUS1_CTRL1_DATA_SEL__SHIFT 0
A6XX_VBIF_TEST_BUS1_CTRL1_DATA_SEL(uint32_t val)2451*4882a593Smuzhiyun static inline uint32_t A6XX_VBIF_TEST_BUS1_CTRL1_DATA_SEL(uint32_t val)
2452*4882a593Smuzhiyun {
2453*4882a593Smuzhiyun return ((val) << A6XX_VBIF_TEST_BUS1_CTRL1_DATA_SEL__SHIFT) & A6XX_VBIF_TEST_BUS1_CTRL1_DATA_SEL__MASK;
2454*4882a593Smuzhiyun }
2455*4882a593Smuzhiyun
2456*4882a593Smuzhiyun #define REG_A6XX_VBIF_TEST_BUS2_CTRL0 0x00003087
2457*4882a593Smuzhiyun
2458*4882a593Smuzhiyun #define REG_A6XX_VBIF_TEST_BUS2_CTRL1 0x00003088
2459*4882a593Smuzhiyun #define A6XX_VBIF_TEST_BUS2_CTRL1_DATA_SEL__MASK 0x000001ff
2460*4882a593Smuzhiyun #define A6XX_VBIF_TEST_BUS2_CTRL1_DATA_SEL__SHIFT 0
A6XX_VBIF_TEST_BUS2_CTRL1_DATA_SEL(uint32_t val)2461*4882a593Smuzhiyun static inline uint32_t A6XX_VBIF_TEST_BUS2_CTRL1_DATA_SEL(uint32_t val)
2462*4882a593Smuzhiyun {
2463*4882a593Smuzhiyun return ((val) << A6XX_VBIF_TEST_BUS2_CTRL1_DATA_SEL__SHIFT) & A6XX_VBIF_TEST_BUS2_CTRL1_DATA_SEL__MASK;
2464*4882a593Smuzhiyun }
2465*4882a593Smuzhiyun
2466*4882a593Smuzhiyun #define REG_A6XX_VBIF_TEST_BUS_OUT 0x0000308c
2467*4882a593Smuzhiyun
2468*4882a593Smuzhiyun #define REG_A6XX_VBIF_PERF_CNT_SEL0 0x000030d0
2469*4882a593Smuzhiyun
2470*4882a593Smuzhiyun #define REG_A6XX_VBIF_PERF_CNT_SEL1 0x000030d1
2471*4882a593Smuzhiyun
2472*4882a593Smuzhiyun #define REG_A6XX_VBIF_PERF_CNT_SEL2 0x000030d2
2473*4882a593Smuzhiyun
2474*4882a593Smuzhiyun #define REG_A6XX_VBIF_PERF_CNT_SEL3 0x000030d3
2475*4882a593Smuzhiyun
2476*4882a593Smuzhiyun #define REG_A6XX_VBIF_PERF_CNT_LOW0 0x000030d8
2477*4882a593Smuzhiyun
2478*4882a593Smuzhiyun #define REG_A6XX_VBIF_PERF_CNT_LOW1 0x000030d9
2479*4882a593Smuzhiyun
2480*4882a593Smuzhiyun #define REG_A6XX_VBIF_PERF_CNT_LOW2 0x000030da
2481*4882a593Smuzhiyun
2482*4882a593Smuzhiyun #define REG_A6XX_VBIF_PERF_CNT_LOW3 0x000030db
2483*4882a593Smuzhiyun
2484*4882a593Smuzhiyun #define REG_A6XX_VBIF_PERF_CNT_HIGH0 0x000030e0
2485*4882a593Smuzhiyun
2486*4882a593Smuzhiyun #define REG_A6XX_VBIF_PERF_CNT_HIGH1 0x000030e1
2487*4882a593Smuzhiyun
2488*4882a593Smuzhiyun #define REG_A6XX_VBIF_PERF_CNT_HIGH2 0x000030e2
2489*4882a593Smuzhiyun
2490*4882a593Smuzhiyun #define REG_A6XX_VBIF_PERF_CNT_HIGH3 0x000030e3
2491*4882a593Smuzhiyun
2492*4882a593Smuzhiyun #define REG_A6XX_VBIF_PERF_PWR_CNT_EN0 0x00003100
2493*4882a593Smuzhiyun
2494*4882a593Smuzhiyun #define REG_A6XX_VBIF_PERF_PWR_CNT_EN1 0x00003101
2495*4882a593Smuzhiyun
2496*4882a593Smuzhiyun #define REG_A6XX_VBIF_PERF_PWR_CNT_EN2 0x00003102
2497*4882a593Smuzhiyun
2498*4882a593Smuzhiyun #define REG_A6XX_VBIF_PERF_PWR_CNT_LOW0 0x00003110
2499*4882a593Smuzhiyun
2500*4882a593Smuzhiyun #define REG_A6XX_VBIF_PERF_PWR_CNT_LOW1 0x00003111
2501*4882a593Smuzhiyun
2502*4882a593Smuzhiyun #define REG_A6XX_VBIF_PERF_PWR_CNT_LOW2 0x00003112
2503*4882a593Smuzhiyun
2504*4882a593Smuzhiyun #define REG_A6XX_VBIF_PERF_PWR_CNT_HIGH0 0x00003118
2505*4882a593Smuzhiyun
2506*4882a593Smuzhiyun #define REG_A6XX_VBIF_PERF_PWR_CNT_HIGH1 0x00003119
2507*4882a593Smuzhiyun
2508*4882a593Smuzhiyun #define REG_A6XX_VBIF_PERF_PWR_CNT_HIGH2 0x0000311a
2509*4882a593Smuzhiyun
2510*4882a593Smuzhiyun #define REG_A6XX_GBIF_SCACHE_CNTL1 0x00003c02
2511*4882a593Smuzhiyun
2512*4882a593Smuzhiyun #define REG_A6XX_GBIF_QSB_SIDE0 0x00003c03
2513*4882a593Smuzhiyun
2514*4882a593Smuzhiyun #define REG_A6XX_GBIF_QSB_SIDE1 0x00003c04
2515*4882a593Smuzhiyun
2516*4882a593Smuzhiyun #define REG_A6XX_GBIF_QSB_SIDE2 0x00003c05
2517*4882a593Smuzhiyun
2518*4882a593Smuzhiyun #define REG_A6XX_GBIF_QSB_SIDE3 0x00003c06
2519*4882a593Smuzhiyun
2520*4882a593Smuzhiyun #define REG_A6XX_GBIF_HALT 0x00003c45
2521*4882a593Smuzhiyun
2522*4882a593Smuzhiyun #define REG_A6XX_GBIF_HALT_ACK 0x00003c46
2523*4882a593Smuzhiyun
2524*4882a593Smuzhiyun #define REG_A6XX_GBIF_PERF_PWR_CNT_EN 0x00003cc0
2525*4882a593Smuzhiyun
2526*4882a593Smuzhiyun #define REG_A6XX_GBIF_PERF_CNT_SEL 0x00003cc2
2527*4882a593Smuzhiyun
2528*4882a593Smuzhiyun #define REG_A6XX_GBIF_PERF_PWR_CNT_SEL 0x00003cc3
2529*4882a593Smuzhiyun
2530*4882a593Smuzhiyun #define REG_A6XX_GBIF_PERF_CNT_LOW0 0x00003cc4
2531*4882a593Smuzhiyun
2532*4882a593Smuzhiyun #define REG_A6XX_GBIF_PERF_CNT_LOW1 0x00003cc5
2533*4882a593Smuzhiyun
2534*4882a593Smuzhiyun #define REG_A6XX_GBIF_PERF_CNT_LOW2 0x00003cc6
2535*4882a593Smuzhiyun
2536*4882a593Smuzhiyun #define REG_A6XX_GBIF_PERF_CNT_LOW3 0x00003cc7
2537*4882a593Smuzhiyun
2538*4882a593Smuzhiyun #define REG_A6XX_GBIF_PERF_CNT_HIGH0 0x00003cc8
2539*4882a593Smuzhiyun
2540*4882a593Smuzhiyun #define REG_A6XX_GBIF_PERF_CNT_HIGH1 0x00003cc9
2541*4882a593Smuzhiyun
2542*4882a593Smuzhiyun #define REG_A6XX_GBIF_PERF_CNT_HIGH2 0x00003cca
2543*4882a593Smuzhiyun
2544*4882a593Smuzhiyun #define REG_A6XX_GBIF_PERF_CNT_HIGH3 0x00003ccb
2545*4882a593Smuzhiyun
2546*4882a593Smuzhiyun #define REG_A6XX_GBIF_PWR_CNT_LOW0 0x00003ccc
2547*4882a593Smuzhiyun
2548*4882a593Smuzhiyun #define REG_A6XX_GBIF_PWR_CNT_LOW1 0x00003ccd
2549*4882a593Smuzhiyun
2550*4882a593Smuzhiyun #define REG_A6XX_GBIF_PWR_CNT_LOW2 0x00003cce
2551*4882a593Smuzhiyun
2552*4882a593Smuzhiyun #define REG_A6XX_GBIF_PWR_CNT_HIGH0 0x00003ccf
2553*4882a593Smuzhiyun
2554*4882a593Smuzhiyun #define REG_A6XX_GBIF_PWR_CNT_HIGH1 0x00003cd0
2555*4882a593Smuzhiyun
2556*4882a593Smuzhiyun #define REG_A6XX_GBIF_PWR_CNT_HIGH2 0x00003cd1
2557*4882a593Smuzhiyun
2558*4882a593Smuzhiyun #define REG_A6XX_SP_WINDOW_OFFSET 0x0000b4d1
2559*4882a593Smuzhiyun #define A6XX_SP_WINDOW_OFFSET_WINDOW_OFFSET_DISABLE 0x80000000
2560*4882a593Smuzhiyun #define A6XX_SP_WINDOW_OFFSET_X__MASK 0x00007fff
2561*4882a593Smuzhiyun #define A6XX_SP_WINDOW_OFFSET_X__SHIFT 0
A6XX_SP_WINDOW_OFFSET_X(uint32_t val)2562*4882a593Smuzhiyun static inline uint32_t A6XX_SP_WINDOW_OFFSET_X(uint32_t val)
2563*4882a593Smuzhiyun {
2564*4882a593Smuzhiyun return ((val) << A6XX_SP_WINDOW_OFFSET_X__SHIFT) & A6XX_SP_WINDOW_OFFSET_X__MASK;
2565*4882a593Smuzhiyun }
2566*4882a593Smuzhiyun #define A6XX_SP_WINDOW_OFFSET_Y__MASK 0x7fff0000
2567*4882a593Smuzhiyun #define A6XX_SP_WINDOW_OFFSET_Y__SHIFT 16
A6XX_SP_WINDOW_OFFSET_Y(uint32_t val)2568*4882a593Smuzhiyun static inline uint32_t A6XX_SP_WINDOW_OFFSET_Y(uint32_t val)
2569*4882a593Smuzhiyun {
2570*4882a593Smuzhiyun return ((val) << A6XX_SP_WINDOW_OFFSET_Y__SHIFT) & A6XX_SP_WINDOW_OFFSET_Y__MASK;
2571*4882a593Smuzhiyun }
2572*4882a593Smuzhiyun
2573*4882a593Smuzhiyun #define REG_A6XX_SP_TP_WINDOW_OFFSET 0x0000b307
2574*4882a593Smuzhiyun #define A6XX_SP_TP_WINDOW_OFFSET_WINDOW_OFFSET_DISABLE 0x80000000
2575*4882a593Smuzhiyun #define A6XX_SP_TP_WINDOW_OFFSET_X__MASK 0x00007fff
2576*4882a593Smuzhiyun #define A6XX_SP_TP_WINDOW_OFFSET_X__SHIFT 0
A6XX_SP_TP_WINDOW_OFFSET_X(uint32_t val)2577*4882a593Smuzhiyun static inline uint32_t A6XX_SP_TP_WINDOW_OFFSET_X(uint32_t val)
2578*4882a593Smuzhiyun {
2579*4882a593Smuzhiyun return ((val) << A6XX_SP_TP_WINDOW_OFFSET_X__SHIFT) & A6XX_SP_TP_WINDOW_OFFSET_X__MASK;
2580*4882a593Smuzhiyun }
2581*4882a593Smuzhiyun #define A6XX_SP_TP_WINDOW_OFFSET_Y__MASK 0x7fff0000
2582*4882a593Smuzhiyun #define A6XX_SP_TP_WINDOW_OFFSET_Y__SHIFT 16
A6XX_SP_TP_WINDOW_OFFSET_Y(uint32_t val)2583*4882a593Smuzhiyun static inline uint32_t A6XX_SP_TP_WINDOW_OFFSET_Y(uint32_t val)
2584*4882a593Smuzhiyun {
2585*4882a593Smuzhiyun return ((val) << A6XX_SP_TP_WINDOW_OFFSET_Y__SHIFT) & A6XX_SP_TP_WINDOW_OFFSET_Y__MASK;
2586*4882a593Smuzhiyun }
2587*4882a593Smuzhiyun
2588*4882a593Smuzhiyun #define REG_A6XX_VSC_BIN_SIZE 0x00000c02
2589*4882a593Smuzhiyun #define A6XX_VSC_BIN_SIZE_WIDTH__MASK 0x000000ff
2590*4882a593Smuzhiyun #define A6XX_VSC_BIN_SIZE_WIDTH__SHIFT 0
A6XX_VSC_BIN_SIZE_WIDTH(uint32_t val)2591*4882a593Smuzhiyun static inline uint32_t A6XX_VSC_BIN_SIZE_WIDTH(uint32_t val)
2592*4882a593Smuzhiyun {
2593*4882a593Smuzhiyun return ((val >> 5) << A6XX_VSC_BIN_SIZE_WIDTH__SHIFT) & A6XX_VSC_BIN_SIZE_WIDTH__MASK;
2594*4882a593Smuzhiyun }
2595*4882a593Smuzhiyun #define A6XX_VSC_BIN_SIZE_HEIGHT__MASK 0x0001ff00
2596*4882a593Smuzhiyun #define A6XX_VSC_BIN_SIZE_HEIGHT__SHIFT 8
A6XX_VSC_BIN_SIZE_HEIGHT(uint32_t val)2597*4882a593Smuzhiyun static inline uint32_t A6XX_VSC_BIN_SIZE_HEIGHT(uint32_t val)
2598*4882a593Smuzhiyun {
2599*4882a593Smuzhiyun return ((val >> 4) << A6XX_VSC_BIN_SIZE_HEIGHT__SHIFT) & A6XX_VSC_BIN_SIZE_HEIGHT__MASK;
2600*4882a593Smuzhiyun }
2601*4882a593Smuzhiyun
2602*4882a593Smuzhiyun #define REG_A6XX_VSC_DRAW_STRM_SIZE_ADDRESS_LO 0x00000c03
2603*4882a593Smuzhiyun
2604*4882a593Smuzhiyun #define REG_A6XX_VSC_DRAW_STRM_SIZE_ADDRESS_HI 0x00000c04
2605*4882a593Smuzhiyun
2606*4882a593Smuzhiyun #define REG_A6XX_VSC_DRAW_STRM_SIZE_ADDRESS 0x00000c03
2607*4882a593Smuzhiyun
2608*4882a593Smuzhiyun #define REG_A6XX_VSC_BIN_COUNT 0x00000c06
2609*4882a593Smuzhiyun #define A6XX_VSC_BIN_COUNT_NX__MASK 0x000007fe
2610*4882a593Smuzhiyun #define A6XX_VSC_BIN_COUNT_NX__SHIFT 1
A6XX_VSC_BIN_COUNT_NX(uint32_t val)2611*4882a593Smuzhiyun static inline uint32_t A6XX_VSC_BIN_COUNT_NX(uint32_t val)
2612*4882a593Smuzhiyun {
2613*4882a593Smuzhiyun return ((val) << A6XX_VSC_BIN_COUNT_NX__SHIFT) & A6XX_VSC_BIN_COUNT_NX__MASK;
2614*4882a593Smuzhiyun }
2615*4882a593Smuzhiyun #define A6XX_VSC_BIN_COUNT_NY__MASK 0x001ff800
2616*4882a593Smuzhiyun #define A6XX_VSC_BIN_COUNT_NY__SHIFT 11
A6XX_VSC_BIN_COUNT_NY(uint32_t val)2617*4882a593Smuzhiyun static inline uint32_t A6XX_VSC_BIN_COUNT_NY(uint32_t val)
2618*4882a593Smuzhiyun {
2619*4882a593Smuzhiyun return ((val) << A6XX_VSC_BIN_COUNT_NY__SHIFT) & A6XX_VSC_BIN_COUNT_NY__MASK;
2620*4882a593Smuzhiyun }
2621*4882a593Smuzhiyun
REG_A6XX_VSC_PIPE_CONFIG(uint32_t i0)2622*4882a593Smuzhiyun static inline uint32_t REG_A6XX_VSC_PIPE_CONFIG(uint32_t i0) { return 0x00000c10 + 0x1*i0; }
2623*4882a593Smuzhiyun
REG_A6XX_VSC_PIPE_CONFIG_REG(uint32_t i0)2624*4882a593Smuzhiyun static inline uint32_t REG_A6XX_VSC_PIPE_CONFIG_REG(uint32_t i0) { return 0x00000c10 + 0x1*i0; }
2625*4882a593Smuzhiyun #define A6XX_VSC_PIPE_CONFIG_REG_X__MASK 0x000003ff
2626*4882a593Smuzhiyun #define A6XX_VSC_PIPE_CONFIG_REG_X__SHIFT 0
A6XX_VSC_PIPE_CONFIG_REG_X(uint32_t val)2627*4882a593Smuzhiyun static inline uint32_t A6XX_VSC_PIPE_CONFIG_REG_X(uint32_t val)
2628*4882a593Smuzhiyun {
2629*4882a593Smuzhiyun return ((val) << A6XX_VSC_PIPE_CONFIG_REG_X__SHIFT) & A6XX_VSC_PIPE_CONFIG_REG_X__MASK;
2630*4882a593Smuzhiyun }
2631*4882a593Smuzhiyun #define A6XX_VSC_PIPE_CONFIG_REG_Y__MASK 0x000ffc00
2632*4882a593Smuzhiyun #define A6XX_VSC_PIPE_CONFIG_REG_Y__SHIFT 10
A6XX_VSC_PIPE_CONFIG_REG_Y(uint32_t val)2633*4882a593Smuzhiyun static inline uint32_t A6XX_VSC_PIPE_CONFIG_REG_Y(uint32_t val)
2634*4882a593Smuzhiyun {
2635*4882a593Smuzhiyun return ((val) << A6XX_VSC_PIPE_CONFIG_REG_Y__SHIFT) & A6XX_VSC_PIPE_CONFIG_REG_Y__MASK;
2636*4882a593Smuzhiyun }
2637*4882a593Smuzhiyun #define A6XX_VSC_PIPE_CONFIG_REG_W__MASK 0x03f00000
2638*4882a593Smuzhiyun #define A6XX_VSC_PIPE_CONFIG_REG_W__SHIFT 20
A6XX_VSC_PIPE_CONFIG_REG_W(uint32_t val)2639*4882a593Smuzhiyun static inline uint32_t A6XX_VSC_PIPE_CONFIG_REG_W(uint32_t val)
2640*4882a593Smuzhiyun {
2641*4882a593Smuzhiyun return ((val) << A6XX_VSC_PIPE_CONFIG_REG_W__SHIFT) & A6XX_VSC_PIPE_CONFIG_REG_W__MASK;
2642*4882a593Smuzhiyun }
2643*4882a593Smuzhiyun #define A6XX_VSC_PIPE_CONFIG_REG_H__MASK 0xfc000000
2644*4882a593Smuzhiyun #define A6XX_VSC_PIPE_CONFIG_REG_H__SHIFT 26
A6XX_VSC_PIPE_CONFIG_REG_H(uint32_t val)2645*4882a593Smuzhiyun static inline uint32_t A6XX_VSC_PIPE_CONFIG_REG_H(uint32_t val)
2646*4882a593Smuzhiyun {
2647*4882a593Smuzhiyun return ((val) << A6XX_VSC_PIPE_CONFIG_REG_H__SHIFT) & A6XX_VSC_PIPE_CONFIG_REG_H__MASK;
2648*4882a593Smuzhiyun }
2649*4882a593Smuzhiyun
2650*4882a593Smuzhiyun #define REG_A6XX_VSC_PRIM_STRM_ADDRESS_LO 0x00000c30
2651*4882a593Smuzhiyun
2652*4882a593Smuzhiyun #define REG_A6XX_VSC_PRIM_STRM_ADDRESS_HI 0x00000c31
2653*4882a593Smuzhiyun
2654*4882a593Smuzhiyun #define REG_A6XX_VSC_PRIM_STRM_ADDRESS 0x00000c30
2655*4882a593Smuzhiyun
2656*4882a593Smuzhiyun #define REG_A6XX_VSC_PRIM_STRM_PITCH 0x00000c32
2657*4882a593Smuzhiyun
2658*4882a593Smuzhiyun #define REG_A6XX_VSC_PRIM_STRM_LIMIT 0x00000c33
2659*4882a593Smuzhiyun
2660*4882a593Smuzhiyun #define REG_A6XX_VSC_DRAW_STRM_ADDRESS_LO 0x00000c34
2661*4882a593Smuzhiyun
2662*4882a593Smuzhiyun #define REG_A6XX_VSC_DRAW_STRM_ADDRESS_HI 0x00000c35
2663*4882a593Smuzhiyun
2664*4882a593Smuzhiyun #define REG_A6XX_VSC_DRAW_STRM_ADDRESS 0x00000c34
2665*4882a593Smuzhiyun
2666*4882a593Smuzhiyun #define REG_A6XX_VSC_DRAW_STRM_PITCH 0x00000c36
2667*4882a593Smuzhiyun
2668*4882a593Smuzhiyun #define REG_A6XX_VSC_DRAW_STRM_LIMIT 0x00000c37
2669*4882a593Smuzhiyun
REG_A6XX_VSC_STATE(uint32_t i0)2670*4882a593Smuzhiyun static inline uint32_t REG_A6XX_VSC_STATE(uint32_t i0) { return 0x00000c38 + 0x1*i0; }
2671*4882a593Smuzhiyun
REG_A6XX_VSC_STATE_REG(uint32_t i0)2672*4882a593Smuzhiyun static inline uint32_t REG_A6XX_VSC_STATE_REG(uint32_t i0) { return 0x00000c38 + 0x1*i0; }
2673*4882a593Smuzhiyun
REG_A6XX_VSC_PRIM_STRM_SIZE(uint32_t i0)2674*4882a593Smuzhiyun static inline uint32_t REG_A6XX_VSC_PRIM_STRM_SIZE(uint32_t i0) { return 0x00000c58 + 0x1*i0; }
2675*4882a593Smuzhiyun
REG_A6XX_VSC_PRIM_STRM_SIZE_REG(uint32_t i0)2676*4882a593Smuzhiyun static inline uint32_t REG_A6XX_VSC_PRIM_STRM_SIZE_REG(uint32_t i0) { return 0x00000c58 + 0x1*i0; }
2677*4882a593Smuzhiyun
REG_A6XX_VSC_DRAW_STRM_SIZE(uint32_t i0)2678*4882a593Smuzhiyun static inline uint32_t REG_A6XX_VSC_DRAW_STRM_SIZE(uint32_t i0) { return 0x00000c78 + 0x1*i0; }
2679*4882a593Smuzhiyun
REG_A6XX_VSC_DRAW_STRM_SIZE_REG(uint32_t i0)2680*4882a593Smuzhiyun static inline uint32_t REG_A6XX_VSC_DRAW_STRM_SIZE_REG(uint32_t i0) { return 0x00000c78 + 0x1*i0; }
2681*4882a593Smuzhiyun
2682*4882a593Smuzhiyun #define REG_A6XX_UCHE_UNKNOWN_0E12 0x00000e12
2683*4882a593Smuzhiyun
2684*4882a593Smuzhiyun #define REG_A6XX_GRAS_CL_CNTL 0x00008000
2685*4882a593Smuzhiyun #define A6XX_GRAS_CL_CNTL_CLIP_DISABLE 0x00000001
2686*4882a593Smuzhiyun #define A6XX_GRAS_CL_CNTL_ZNEAR_CLIP_DISABLE 0x00000002
2687*4882a593Smuzhiyun #define A6XX_GRAS_CL_CNTL_ZFAR_CLIP_DISABLE 0x00000004
2688*4882a593Smuzhiyun #define A6XX_GRAS_CL_CNTL_UNK5 0x00000020
2689*4882a593Smuzhiyun #define A6XX_GRAS_CL_CNTL_ZERO_GB_SCALE_Z 0x00000040
2690*4882a593Smuzhiyun #define A6XX_GRAS_CL_CNTL_VP_CLIP_CODE_IGNORE 0x00000080
2691*4882a593Smuzhiyun #define A6XX_GRAS_CL_CNTL_VP_XFORM_DISABLE 0x00000100
2692*4882a593Smuzhiyun #define A6XX_GRAS_CL_CNTL_PERSP_DIVISION_DISABLE 0x00000200
2693*4882a593Smuzhiyun
2694*4882a593Smuzhiyun #define REG_A6XX_GRAS_VS_CL_CNTL 0x00008001
2695*4882a593Smuzhiyun #define A6XX_GRAS_VS_CL_CNTL_CLIP_MASK__MASK 0x000000ff
2696*4882a593Smuzhiyun #define A6XX_GRAS_VS_CL_CNTL_CLIP_MASK__SHIFT 0
A6XX_GRAS_VS_CL_CNTL_CLIP_MASK(uint32_t val)2697*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_VS_CL_CNTL_CLIP_MASK(uint32_t val)
2698*4882a593Smuzhiyun {
2699*4882a593Smuzhiyun return ((val) << A6XX_GRAS_VS_CL_CNTL_CLIP_MASK__SHIFT) & A6XX_GRAS_VS_CL_CNTL_CLIP_MASK__MASK;
2700*4882a593Smuzhiyun }
2701*4882a593Smuzhiyun #define A6XX_GRAS_VS_CL_CNTL_CULL_MASK__MASK 0x0000ff00
2702*4882a593Smuzhiyun #define A6XX_GRAS_VS_CL_CNTL_CULL_MASK__SHIFT 8
A6XX_GRAS_VS_CL_CNTL_CULL_MASK(uint32_t val)2703*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_VS_CL_CNTL_CULL_MASK(uint32_t val)
2704*4882a593Smuzhiyun {
2705*4882a593Smuzhiyun return ((val) << A6XX_GRAS_VS_CL_CNTL_CULL_MASK__SHIFT) & A6XX_GRAS_VS_CL_CNTL_CULL_MASK__MASK;
2706*4882a593Smuzhiyun }
2707*4882a593Smuzhiyun
2708*4882a593Smuzhiyun #define REG_A6XX_GRAS_DS_CL_CNTL 0x00008002
2709*4882a593Smuzhiyun #define A6XX_GRAS_DS_CL_CNTL_CLIP_MASK__MASK 0x000000ff
2710*4882a593Smuzhiyun #define A6XX_GRAS_DS_CL_CNTL_CLIP_MASK__SHIFT 0
A6XX_GRAS_DS_CL_CNTL_CLIP_MASK(uint32_t val)2711*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_DS_CL_CNTL_CLIP_MASK(uint32_t val)
2712*4882a593Smuzhiyun {
2713*4882a593Smuzhiyun return ((val) << A6XX_GRAS_DS_CL_CNTL_CLIP_MASK__SHIFT) & A6XX_GRAS_DS_CL_CNTL_CLIP_MASK__MASK;
2714*4882a593Smuzhiyun }
2715*4882a593Smuzhiyun #define A6XX_GRAS_DS_CL_CNTL_CULL_MASK__MASK 0x0000ff00
2716*4882a593Smuzhiyun #define A6XX_GRAS_DS_CL_CNTL_CULL_MASK__SHIFT 8
A6XX_GRAS_DS_CL_CNTL_CULL_MASK(uint32_t val)2717*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_DS_CL_CNTL_CULL_MASK(uint32_t val)
2718*4882a593Smuzhiyun {
2719*4882a593Smuzhiyun return ((val) << A6XX_GRAS_DS_CL_CNTL_CULL_MASK__SHIFT) & A6XX_GRAS_DS_CL_CNTL_CULL_MASK__MASK;
2720*4882a593Smuzhiyun }
2721*4882a593Smuzhiyun
2722*4882a593Smuzhiyun #define REG_A6XX_GRAS_GS_CL_CNTL 0x00008003
2723*4882a593Smuzhiyun #define A6XX_GRAS_GS_CL_CNTL_CLIP_MASK__MASK 0x000000ff
2724*4882a593Smuzhiyun #define A6XX_GRAS_GS_CL_CNTL_CLIP_MASK__SHIFT 0
A6XX_GRAS_GS_CL_CNTL_CLIP_MASK(uint32_t val)2725*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_GS_CL_CNTL_CLIP_MASK(uint32_t val)
2726*4882a593Smuzhiyun {
2727*4882a593Smuzhiyun return ((val) << A6XX_GRAS_GS_CL_CNTL_CLIP_MASK__SHIFT) & A6XX_GRAS_GS_CL_CNTL_CLIP_MASK__MASK;
2728*4882a593Smuzhiyun }
2729*4882a593Smuzhiyun #define A6XX_GRAS_GS_CL_CNTL_CULL_MASK__MASK 0x0000ff00
2730*4882a593Smuzhiyun #define A6XX_GRAS_GS_CL_CNTL_CULL_MASK__SHIFT 8
A6XX_GRAS_GS_CL_CNTL_CULL_MASK(uint32_t val)2731*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_GS_CL_CNTL_CULL_MASK(uint32_t val)
2732*4882a593Smuzhiyun {
2733*4882a593Smuzhiyun return ((val) << A6XX_GRAS_GS_CL_CNTL_CULL_MASK__SHIFT) & A6XX_GRAS_GS_CL_CNTL_CULL_MASK__MASK;
2734*4882a593Smuzhiyun }
2735*4882a593Smuzhiyun
2736*4882a593Smuzhiyun #define REG_A6XX_GRAS_MAX_LAYER_INDEX 0x00008004
2737*4882a593Smuzhiyun
2738*4882a593Smuzhiyun #define REG_A6XX_GRAS_CNTL 0x00008005
2739*4882a593Smuzhiyun #define A6XX_GRAS_CNTL_IJ_PERSP_PIXEL 0x00000001
2740*4882a593Smuzhiyun #define A6XX_GRAS_CNTL_IJ_PERSP_CENTROID 0x00000002
2741*4882a593Smuzhiyun #define A6XX_GRAS_CNTL_IJ_PERSP_SAMPLE 0x00000004
2742*4882a593Smuzhiyun #define A6XX_GRAS_CNTL_SIZE 0x00000008
2743*4882a593Smuzhiyun #define A6XX_GRAS_CNTL_UNK4 0x00000010
2744*4882a593Smuzhiyun #define A6XX_GRAS_CNTL_SIZE_PERSAMP 0x00000020
2745*4882a593Smuzhiyun #define A6XX_GRAS_CNTL_COORD_MASK__MASK 0x000003c0
2746*4882a593Smuzhiyun #define A6XX_GRAS_CNTL_COORD_MASK__SHIFT 6
A6XX_GRAS_CNTL_COORD_MASK(uint32_t val)2747*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_CNTL_COORD_MASK(uint32_t val)
2748*4882a593Smuzhiyun {
2749*4882a593Smuzhiyun return ((val) << A6XX_GRAS_CNTL_COORD_MASK__SHIFT) & A6XX_GRAS_CNTL_COORD_MASK__MASK;
2750*4882a593Smuzhiyun }
2751*4882a593Smuzhiyun
2752*4882a593Smuzhiyun #define REG_A6XX_GRAS_CL_GUARDBAND_CLIP_ADJ 0x00008006
2753*4882a593Smuzhiyun #define A6XX_GRAS_CL_GUARDBAND_CLIP_ADJ_HORZ__MASK 0x000001ff
2754*4882a593Smuzhiyun #define A6XX_GRAS_CL_GUARDBAND_CLIP_ADJ_HORZ__SHIFT 0
A6XX_GRAS_CL_GUARDBAND_CLIP_ADJ_HORZ(uint32_t val)2755*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_CL_GUARDBAND_CLIP_ADJ_HORZ(uint32_t val)
2756*4882a593Smuzhiyun {
2757*4882a593Smuzhiyun return ((val) << A6XX_GRAS_CL_GUARDBAND_CLIP_ADJ_HORZ__SHIFT) & A6XX_GRAS_CL_GUARDBAND_CLIP_ADJ_HORZ__MASK;
2758*4882a593Smuzhiyun }
2759*4882a593Smuzhiyun #define A6XX_GRAS_CL_GUARDBAND_CLIP_ADJ_VERT__MASK 0x0007fc00
2760*4882a593Smuzhiyun #define A6XX_GRAS_CL_GUARDBAND_CLIP_ADJ_VERT__SHIFT 10
A6XX_GRAS_CL_GUARDBAND_CLIP_ADJ_VERT(uint32_t val)2761*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_CL_GUARDBAND_CLIP_ADJ_VERT(uint32_t val)
2762*4882a593Smuzhiyun {
2763*4882a593Smuzhiyun return ((val) << A6XX_GRAS_CL_GUARDBAND_CLIP_ADJ_VERT__SHIFT) & A6XX_GRAS_CL_GUARDBAND_CLIP_ADJ_VERT__MASK;
2764*4882a593Smuzhiyun }
2765*4882a593Smuzhiyun
REG_A6XX_GRAS_CL_VPORT(uint32_t i0)2766*4882a593Smuzhiyun static inline uint32_t REG_A6XX_GRAS_CL_VPORT(uint32_t i0) { return 0x00008010 + 0x6*i0; }
2767*4882a593Smuzhiyun
REG_A6XX_GRAS_CL_VPORT_XOFFSET(uint32_t i0)2768*4882a593Smuzhiyun static inline uint32_t REG_A6XX_GRAS_CL_VPORT_XOFFSET(uint32_t i0) { return 0x00008010 + 0x6*i0; }
2769*4882a593Smuzhiyun #define A6XX_GRAS_CL_VPORT_XOFFSET__MASK 0xffffffff
2770*4882a593Smuzhiyun #define A6XX_GRAS_CL_VPORT_XOFFSET__SHIFT 0
A6XX_GRAS_CL_VPORT_XOFFSET(float val)2771*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_CL_VPORT_XOFFSET(float val)
2772*4882a593Smuzhiyun {
2773*4882a593Smuzhiyun return ((fui(val)) << A6XX_GRAS_CL_VPORT_XOFFSET__SHIFT) & A6XX_GRAS_CL_VPORT_XOFFSET__MASK;
2774*4882a593Smuzhiyun }
2775*4882a593Smuzhiyun
REG_A6XX_GRAS_CL_VPORT_XSCALE(uint32_t i0)2776*4882a593Smuzhiyun static inline uint32_t REG_A6XX_GRAS_CL_VPORT_XSCALE(uint32_t i0) { return 0x00008011 + 0x6*i0; }
2777*4882a593Smuzhiyun #define A6XX_GRAS_CL_VPORT_XSCALE__MASK 0xffffffff
2778*4882a593Smuzhiyun #define A6XX_GRAS_CL_VPORT_XSCALE__SHIFT 0
A6XX_GRAS_CL_VPORT_XSCALE(float val)2779*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_CL_VPORT_XSCALE(float val)
2780*4882a593Smuzhiyun {
2781*4882a593Smuzhiyun return ((fui(val)) << A6XX_GRAS_CL_VPORT_XSCALE__SHIFT) & A6XX_GRAS_CL_VPORT_XSCALE__MASK;
2782*4882a593Smuzhiyun }
2783*4882a593Smuzhiyun
REG_A6XX_GRAS_CL_VPORT_YOFFSET(uint32_t i0)2784*4882a593Smuzhiyun static inline uint32_t REG_A6XX_GRAS_CL_VPORT_YOFFSET(uint32_t i0) { return 0x00008012 + 0x6*i0; }
2785*4882a593Smuzhiyun #define A6XX_GRAS_CL_VPORT_YOFFSET__MASK 0xffffffff
2786*4882a593Smuzhiyun #define A6XX_GRAS_CL_VPORT_YOFFSET__SHIFT 0
A6XX_GRAS_CL_VPORT_YOFFSET(float val)2787*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_CL_VPORT_YOFFSET(float val)
2788*4882a593Smuzhiyun {
2789*4882a593Smuzhiyun return ((fui(val)) << A6XX_GRAS_CL_VPORT_YOFFSET__SHIFT) & A6XX_GRAS_CL_VPORT_YOFFSET__MASK;
2790*4882a593Smuzhiyun }
2791*4882a593Smuzhiyun
REG_A6XX_GRAS_CL_VPORT_YSCALE(uint32_t i0)2792*4882a593Smuzhiyun static inline uint32_t REG_A6XX_GRAS_CL_VPORT_YSCALE(uint32_t i0) { return 0x00008013 + 0x6*i0; }
2793*4882a593Smuzhiyun #define A6XX_GRAS_CL_VPORT_YSCALE__MASK 0xffffffff
2794*4882a593Smuzhiyun #define A6XX_GRAS_CL_VPORT_YSCALE__SHIFT 0
A6XX_GRAS_CL_VPORT_YSCALE(float val)2795*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_CL_VPORT_YSCALE(float val)
2796*4882a593Smuzhiyun {
2797*4882a593Smuzhiyun return ((fui(val)) << A6XX_GRAS_CL_VPORT_YSCALE__SHIFT) & A6XX_GRAS_CL_VPORT_YSCALE__MASK;
2798*4882a593Smuzhiyun }
2799*4882a593Smuzhiyun
REG_A6XX_GRAS_CL_VPORT_ZOFFSET(uint32_t i0)2800*4882a593Smuzhiyun static inline uint32_t REG_A6XX_GRAS_CL_VPORT_ZOFFSET(uint32_t i0) { return 0x00008014 + 0x6*i0; }
2801*4882a593Smuzhiyun #define A6XX_GRAS_CL_VPORT_ZOFFSET__MASK 0xffffffff
2802*4882a593Smuzhiyun #define A6XX_GRAS_CL_VPORT_ZOFFSET__SHIFT 0
A6XX_GRAS_CL_VPORT_ZOFFSET(float val)2803*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_CL_VPORT_ZOFFSET(float val)
2804*4882a593Smuzhiyun {
2805*4882a593Smuzhiyun return ((fui(val)) << A6XX_GRAS_CL_VPORT_ZOFFSET__SHIFT) & A6XX_GRAS_CL_VPORT_ZOFFSET__MASK;
2806*4882a593Smuzhiyun }
2807*4882a593Smuzhiyun
REG_A6XX_GRAS_CL_VPORT_ZSCALE(uint32_t i0)2808*4882a593Smuzhiyun static inline uint32_t REG_A6XX_GRAS_CL_VPORT_ZSCALE(uint32_t i0) { return 0x00008015 + 0x6*i0; }
2809*4882a593Smuzhiyun #define A6XX_GRAS_CL_VPORT_ZSCALE__MASK 0xffffffff
2810*4882a593Smuzhiyun #define A6XX_GRAS_CL_VPORT_ZSCALE__SHIFT 0
A6XX_GRAS_CL_VPORT_ZSCALE(float val)2811*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_CL_VPORT_ZSCALE(float val)
2812*4882a593Smuzhiyun {
2813*4882a593Smuzhiyun return ((fui(val)) << A6XX_GRAS_CL_VPORT_ZSCALE__SHIFT) & A6XX_GRAS_CL_VPORT_ZSCALE__MASK;
2814*4882a593Smuzhiyun }
2815*4882a593Smuzhiyun
REG_A6XX_GRAS_CL_Z_CLAMP(uint32_t i0)2816*4882a593Smuzhiyun static inline uint32_t REG_A6XX_GRAS_CL_Z_CLAMP(uint32_t i0) { return 0x00008070 + 0x2*i0; }
2817*4882a593Smuzhiyun
REG_A6XX_GRAS_CL_Z_CLAMP_MIN(uint32_t i0)2818*4882a593Smuzhiyun static inline uint32_t REG_A6XX_GRAS_CL_Z_CLAMP_MIN(uint32_t i0) { return 0x00008070 + 0x2*i0; }
2819*4882a593Smuzhiyun #define A6XX_GRAS_CL_Z_CLAMP_MIN__MASK 0xffffffff
2820*4882a593Smuzhiyun #define A6XX_GRAS_CL_Z_CLAMP_MIN__SHIFT 0
A6XX_GRAS_CL_Z_CLAMP_MIN(float val)2821*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_CL_Z_CLAMP_MIN(float val)
2822*4882a593Smuzhiyun {
2823*4882a593Smuzhiyun return ((fui(val)) << A6XX_GRAS_CL_Z_CLAMP_MIN__SHIFT) & A6XX_GRAS_CL_Z_CLAMP_MIN__MASK;
2824*4882a593Smuzhiyun }
2825*4882a593Smuzhiyun
REG_A6XX_GRAS_CL_Z_CLAMP_MAX(uint32_t i0)2826*4882a593Smuzhiyun static inline uint32_t REG_A6XX_GRAS_CL_Z_CLAMP_MAX(uint32_t i0) { return 0x00008071 + 0x2*i0; }
2827*4882a593Smuzhiyun #define A6XX_GRAS_CL_Z_CLAMP_MAX__MASK 0xffffffff
2828*4882a593Smuzhiyun #define A6XX_GRAS_CL_Z_CLAMP_MAX__SHIFT 0
A6XX_GRAS_CL_Z_CLAMP_MAX(float val)2829*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_CL_Z_CLAMP_MAX(float val)
2830*4882a593Smuzhiyun {
2831*4882a593Smuzhiyun return ((fui(val)) << A6XX_GRAS_CL_Z_CLAMP_MAX__SHIFT) & A6XX_GRAS_CL_Z_CLAMP_MAX__MASK;
2832*4882a593Smuzhiyun }
2833*4882a593Smuzhiyun
2834*4882a593Smuzhiyun #define REG_A6XX_GRAS_SU_CNTL 0x00008090
2835*4882a593Smuzhiyun #define A6XX_GRAS_SU_CNTL_CULL_FRONT 0x00000001
2836*4882a593Smuzhiyun #define A6XX_GRAS_SU_CNTL_CULL_BACK 0x00000002
2837*4882a593Smuzhiyun #define A6XX_GRAS_SU_CNTL_FRONT_CW 0x00000004
2838*4882a593Smuzhiyun #define A6XX_GRAS_SU_CNTL_LINEHALFWIDTH__MASK 0x000007f8
2839*4882a593Smuzhiyun #define A6XX_GRAS_SU_CNTL_LINEHALFWIDTH__SHIFT 3
A6XX_GRAS_SU_CNTL_LINEHALFWIDTH(float val)2840*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_SU_CNTL_LINEHALFWIDTH(float val)
2841*4882a593Smuzhiyun {
2842*4882a593Smuzhiyun return ((((int32_t)(val * 4.0))) << A6XX_GRAS_SU_CNTL_LINEHALFWIDTH__SHIFT) & A6XX_GRAS_SU_CNTL_LINEHALFWIDTH__MASK;
2843*4882a593Smuzhiyun }
2844*4882a593Smuzhiyun #define A6XX_GRAS_SU_CNTL_POLY_OFFSET 0x00000800
2845*4882a593Smuzhiyun #define A6XX_GRAS_SU_CNTL_UNK12__MASK 0x00001000
2846*4882a593Smuzhiyun #define A6XX_GRAS_SU_CNTL_UNK12__SHIFT 12
A6XX_GRAS_SU_CNTL_UNK12(uint32_t val)2847*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_SU_CNTL_UNK12(uint32_t val)
2848*4882a593Smuzhiyun {
2849*4882a593Smuzhiyun return ((val) << A6XX_GRAS_SU_CNTL_UNK12__SHIFT) & A6XX_GRAS_SU_CNTL_UNK12__MASK;
2850*4882a593Smuzhiyun }
2851*4882a593Smuzhiyun #define A6XX_GRAS_SU_CNTL_MSAA_ENABLE 0x00002000
2852*4882a593Smuzhiyun #define A6XX_GRAS_SU_CNTL_UNK15__MASK 0x007f8000
2853*4882a593Smuzhiyun #define A6XX_GRAS_SU_CNTL_UNK15__SHIFT 15
A6XX_GRAS_SU_CNTL_UNK15(uint32_t val)2854*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_SU_CNTL_UNK15(uint32_t val)
2855*4882a593Smuzhiyun {
2856*4882a593Smuzhiyun return ((val) << A6XX_GRAS_SU_CNTL_UNK15__SHIFT) & A6XX_GRAS_SU_CNTL_UNK15__MASK;
2857*4882a593Smuzhiyun }
2858*4882a593Smuzhiyun
2859*4882a593Smuzhiyun #define REG_A6XX_GRAS_SU_POINT_MINMAX 0x00008091
2860*4882a593Smuzhiyun #define A6XX_GRAS_SU_POINT_MINMAX_MIN__MASK 0x0000ffff
2861*4882a593Smuzhiyun #define A6XX_GRAS_SU_POINT_MINMAX_MIN__SHIFT 0
A6XX_GRAS_SU_POINT_MINMAX_MIN(float val)2862*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_SU_POINT_MINMAX_MIN(float val)
2863*4882a593Smuzhiyun {
2864*4882a593Smuzhiyun return ((((uint32_t)(val * 16.0))) << A6XX_GRAS_SU_POINT_MINMAX_MIN__SHIFT) & A6XX_GRAS_SU_POINT_MINMAX_MIN__MASK;
2865*4882a593Smuzhiyun }
2866*4882a593Smuzhiyun #define A6XX_GRAS_SU_POINT_MINMAX_MAX__MASK 0xffff0000
2867*4882a593Smuzhiyun #define A6XX_GRAS_SU_POINT_MINMAX_MAX__SHIFT 16
A6XX_GRAS_SU_POINT_MINMAX_MAX(float val)2868*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_SU_POINT_MINMAX_MAX(float val)
2869*4882a593Smuzhiyun {
2870*4882a593Smuzhiyun return ((((uint32_t)(val * 16.0))) << A6XX_GRAS_SU_POINT_MINMAX_MAX__SHIFT) & A6XX_GRAS_SU_POINT_MINMAX_MAX__MASK;
2871*4882a593Smuzhiyun }
2872*4882a593Smuzhiyun
2873*4882a593Smuzhiyun #define REG_A6XX_GRAS_SU_POINT_SIZE 0x00008092
2874*4882a593Smuzhiyun #define A6XX_GRAS_SU_POINT_SIZE__MASK 0x0000ffff
2875*4882a593Smuzhiyun #define A6XX_GRAS_SU_POINT_SIZE__SHIFT 0
A6XX_GRAS_SU_POINT_SIZE(float val)2876*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_SU_POINT_SIZE(float val)
2877*4882a593Smuzhiyun {
2878*4882a593Smuzhiyun return ((((int32_t)(val * 16.0))) << A6XX_GRAS_SU_POINT_SIZE__SHIFT) & A6XX_GRAS_SU_POINT_SIZE__MASK;
2879*4882a593Smuzhiyun }
2880*4882a593Smuzhiyun
2881*4882a593Smuzhiyun #define REG_A6XX_GRAS_SU_DEPTH_PLANE_CNTL 0x00008094
2882*4882a593Smuzhiyun #define A6XX_GRAS_SU_DEPTH_PLANE_CNTL_Z_MODE__MASK 0x00000003
2883*4882a593Smuzhiyun #define A6XX_GRAS_SU_DEPTH_PLANE_CNTL_Z_MODE__SHIFT 0
A6XX_GRAS_SU_DEPTH_PLANE_CNTL_Z_MODE(enum a6xx_ztest_mode val)2884*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_SU_DEPTH_PLANE_CNTL_Z_MODE(enum a6xx_ztest_mode val)
2885*4882a593Smuzhiyun {
2886*4882a593Smuzhiyun return ((val) << A6XX_GRAS_SU_DEPTH_PLANE_CNTL_Z_MODE__SHIFT) & A6XX_GRAS_SU_DEPTH_PLANE_CNTL_Z_MODE__MASK;
2887*4882a593Smuzhiyun }
2888*4882a593Smuzhiyun
2889*4882a593Smuzhiyun #define REG_A6XX_GRAS_SU_POLY_OFFSET_SCALE 0x00008095
2890*4882a593Smuzhiyun #define A6XX_GRAS_SU_POLY_OFFSET_SCALE__MASK 0xffffffff
2891*4882a593Smuzhiyun #define A6XX_GRAS_SU_POLY_OFFSET_SCALE__SHIFT 0
A6XX_GRAS_SU_POLY_OFFSET_SCALE(float val)2892*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_SU_POLY_OFFSET_SCALE(float val)
2893*4882a593Smuzhiyun {
2894*4882a593Smuzhiyun return ((fui(val)) << A6XX_GRAS_SU_POLY_OFFSET_SCALE__SHIFT) & A6XX_GRAS_SU_POLY_OFFSET_SCALE__MASK;
2895*4882a593Smuzhiyun }
2896*4882a593Smuzhiyun
2897*4882a593Smuzhiyun #define REG_A6XX_GRAS_SU_POLY_OFFSET_OFFSET 0x00008096
2898*4882a593Smuzhiyun #define A6XX_GRAS_SU_POLY_OFFSET_OFFSET__MASK 0xffffffff
2899*4882a593Smuzhiyun #define A6XX_GRAS_SU_POLY_OFFSET_OFFSET__SHIFT 0
A6XX_GRAS_SU_POLY_OFFSET_OFFSET(float val)2900*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_SU_POLY_OFFSET_OFFSET(float val)
2901*4882a593Smuzhiyun {
2902*4882a593Smuzhiyun return ((fui(val)) << A6XX_GRAS_SU_POLY_OFFSET_OFFSET__SHIFT) & A6XX_GRAS_SU_POLY_OFFSET_OFFSET__MASK;
2903*4882a593Smuzhiyun }
2904*4882a593Smuzhiyun
2905*4882a593Smuzhiyun #define REG_A6XX_GRAS_SU_POLY_OFFSET_OFFSET_CLAMP 0x00008097
2906*4882a593Smuzhiyun #define A6XX_GRAS_SU_POLY_OFFSET_OFFSET_CLAMP__MASK 0xffffffff
2907*4882a593Smuzhiyun #define A6XX_GRAS_SU_POLY_OFFSET_OFFSET_CLAMP__SHIFT 0
A6XX_GRAS_SU_POLY_OFFSET_OFFSET_CLAMP(float val)2908*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_SU_POLY_OFFSET_OFFSET_CLAMP(float val)
2909*4882a593Smuzhiyun {
2910*4882a593Smuzhiyun return ((fui(val)) << A6XX_GRAS_SU_POLY_OFFSET_OFFSET_CLAMP__SHIFT) & A6XX_GRAS_SU_POLY_OFFSET_OFFSET_CLAMP__MASK;
2911*4882a593Smuzhiyun }
2912*4882a593Smuzhiyun
2913*4882a593Smuzhiyun #define REG_A6XX_GRAS_SU_DEPTH_BUFFER_INFO 0x00008098
2914*4882a593Smuzhiyun #define A6XX_GRAS_SU_DEPTH_BUFFER_INFO_DEPTH_FORMAT__MASK 0x00000007
2915*4882a593Smuzhiyun #define A6XX_GRAS_SU_DEPTH_BUFFER_INFO_DEPTH_FORMAT__SHIFT 0
A6XX_GRAS_SU_DEPTH_BUFFER_INFO_DEPTH_FORMAT(enum a6xx_depth_format val)2916*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_SU_DEPTH_BUFFER_INFO_DEPTH_FORMAT(enum a6xx_depth_format val)
2917*4882a593Smuzhiyun {
2918*4882a593Smuzhiyun return ((val) << A6XX_GRAS_SU_DEPTH_BUFFER_INFO_DEPTH_FORMAT__SHIFT) & A6XX_GRAS_SU_DEPTH_BUFFER_INFO_DEPTH_FORMAT__MASK;
2919*4882a593Smuzhiyun }
2920*4882a593Smuzhiyun #define A6XX_GRAS_SU_DEPTH_BUFFER_INFO_UNK3__MASK 0x00000008
2921*4882a593Smuzhiyun #define A6XX_GRAS_SU_DEPTH_BUFFER_INFO_UNK3__SHIFT 3
A6XX_GRAS_SU_DEPTH_BUFFER_INFO_UNK3(uint32_t val)2922*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_SU_DEPTH_BUFFER_INFO_UNK3(uint32_t val)
2923*4882a593Smuzhiyun {
2924*4882a593Smuzhiyun return ((val) << A6XX_GRAS_SU_DEPTH_BUFFER_INFO_UNK3__SHIFT) & A6XX_GRAS_SU_DEPTH_BUFFER_INFO_UNK3__MASK;
2925*4882a593Smuzhiyun }
2926*4882a593Smuzhiyun
2927*4882a593Smuzhiyun #define REG_A6XX_GRAS_UNKNOWN_8099 0x00008099
2928*4882a593Smuzhiyun
2929*4882a593Smuzhiyun #define REG_A6XX_GRAS_UNKNOWN_809A 0x0000809a
2930*4882a593Smuzhiyun
2931*4882a593Smuzhiyun #define REG_A6XX_GRAS_VS_LAYER_CNTL 0x0000809b
2932*4882a593Smuzhiyun #define A6XX_GRAS_VS_LAYER_CNTL_WRITES_LAYER 0x00000001
2933*4882a593Smuzhiyun #define A6XX_GRAS_VS_LAYER_CNTL_WRITES_VIEW 0x00000002
2934*4882a593Smuzhiyun
2935*4882a593Smuzhiyun #define REG_A6XX_GRAS_GS_LAYER_CNTL 0x0000809c
2936*4882a593Smuzhiyun #define A6XX_GRAS_GS_LAYER_CNTL_WRITES_LAYER 0x00000001
2937*4882a593Smuzhiyun #define A6XX_GRAS_GS_LAYER_CNTL_WRITES_VIEW 0x00000002
2938*4882a593Smuzhiyun
2939*4882a593Smuzhiyun #define REG_A6XX_GRAS_DS_LAYER_CNTL 0x0000809d
2940*4882a593Smuzhiyun #define A6XX_GRAS_DS_LAYER_CNTL_WRITES_LAYER 0x00000001
2941*4882a593Smuzhiyun #define A6XX_GRAS_DS_LAYER_CNTL_WRITES_VIEW 0x00000002
2942*4882a593Smuzhiyun
2943*4882a593Smuzhiyun #define REG_A6XX_GRAS_UNKNOWN_80A0 0x000080a0
2944*4882a593Smuzhiyun
2945*4882a593Smuzhiyun #define REG_A6XX_GRAS_BIN_CONTROL 0x000080a1
2946*4882a593Smuzhiyun #define A6XX_GRAS_BIN_CONTROL_BINW__MASK 0x0000003f
2947*4882a593Smuzhiyun #define A6XX_GRAS_BIN_CONTROL_BINW__SHIFT 0
A6XX_GRAS_BIN_CONTROL_BINW(uint32_t val)2948*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_BIN_CONTROL_BINW(uint32_t val)
2949*4882a593Smuzhiyun {
2950*4882a593Smuzhiyun return ((val >> 5) << A6XX_GRAS_BIN_CONTROL_BINW__SHIFT) & A6XX_GRAS_BIN_CONTROL_BINW__MASK;
2951*4882a593Smuzhiyun }
2952*4882a593Smuzhiyun #define A6XX_GRAS_BIN_CONTROL_BINH__MASK 0x00007f00
2953*4882a593Smuzhiyun #define A6XX_GRAS_BIN_CONTROL_BINH__SHIFT 8
A6XX_GRAS_BIN_CONTROL_BINH(uint32_t val)2954*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_BIN_CONTROL_BINH(uint32_t val)
2955*4882a593Smuzhiyun {
2956*4882a593Smuzhiyun return ((val >> 4) << A6XX_GRAS_BIN_CONTROL_BINH__SHIFT) & A6XX_GRAS_BIN_CONTROL_BINH__MASK;
2957*4882a593Smuzhiyun }
2958*4882a593Smuzhiyun #define A6XX_GRAS_BIN_CONTROL_BINNING_PASS 0x00040000
2959*4882a593Smuzhiyun #define A6XX_GRAS_BIN_CONTROL_UNK19__MASK 0x00080000
2960*4882a593Smuzhiyun #define A6XX_GRAS_BIN_CONTROL_UNK19__SHIFT 19
A6XX_GRAS_BIN_CONTROL_UNK19(uint32_t val)2961*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_BIN_CONTROL_UNK19(uint32_t val)
2962*4882a593Smuzhiyun {
2963*4882a593Smuzhiyun return ((val) << A6XX_GRAS_BIN_CONTROL_UNK19__SHIFT) & A6XX_GRAS_BIN_CONTROL_UNK19__MASK;
2964*4882a593Smuzhiyun }
2965*4882a593Smuzhiyun #define A6XX_GRAS_BIN_CONTROL_UNK20__MASK 0x00100000
2966*4882a593Smuzhiyun #define A6XX_GRAS_BIN_CONTROL_UNK20__SHIFT 20
A6XX_GRAS_BIN_CONTROL_UNK20(uint32_t val)2967*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_BIN_CONTROL_UNK20(uint32_t val)
2968*4882a593Smuzhiyun {
2969*4882a593Smuzhiyun return ((val) << A6XX_GRAS_BIN_CONTROL_UNK20__SHIFT) & A6XX_GRAS_BIN_CONTROL_UNK20__MASK;
2970*4882a593Smuzhiyun }
2971*4882a593Smuzhiyun #define A6XX_GRAS_BIN_CONTROL_USE_VIZ 0x00200000
2972*4882a593Smuzhiyun #define A6XX_GRAS_BIN_CONTROL_UNK22__MASK 0x0fc00000
2973*4882a593Smuzhiyun #define A6XX_GRAS_BIN_CONTROL_UNK22__SHIFT 22
A6XX_GRAS_BIN_CONTROL_UNK22(uint32_t val)2974*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_BIN_CONTROL_UNK22(uint32_t val)
2975*4882a593Smuzhiyun {
2976*4882a593Smuzhiyun return ((val) << A6XX_GRAS_BIN_CONTROL_UNK22__SHIFT) & A6XX_GRAS_BIN_CONTROL_UNK22__MASK;
2977*4882a593Smuzhiyun }
2978*4882a593Smuzhiyun
2979*4882a593Smuzhiyun #define REG_A6XX_GRAS_RAS_MSAA_CNTL 0x000080a2
2980*4882a593Smuzhiyun #define A6XX_GRAS_RAS_MSAA_CNTL_SAMPLES__MASK 0x00000003
2981*4882a593Smuzhiyun #define A6XX_GRAS_RAS_MSAA_CNTL_SAMPLES__SHIFT 0
A6XX_GRAS_RAS_MSAA_CNTL_SAMPLES(enum a3xx_msaa_samples val)2982*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_RAS_MSAA_CNTL_SAMPLES(enum a3xx_msaa_samples val)
2983*4882a593Smuzhiyun {
2984*4882a593Smuzhiyun return ((val) << A6XX_GRAS_RAS_MSAA_CNTL_SAMPLES__SHIFT) & A6XX_GRAS_RAS_MSAA_CNTL_SAMPLES__MASK;
2985*4882a593Smuzhiyun }
2986*4882a593Smuzhiyun #define A6XX_GRAS_RAS_MSAA_CNTL_UNK2__MASK 0x00000004
2987*4882a593Smuzhiyun #define A6XX_GRAS_RAS_MSAA_CNTL_UNK2__SHIFT 2
A6XX_GRAS_RAS_MSAA_CNTL_UNK2(uint32_t val)2988*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_RAS_MSAA_CNTL_UNK2(uint32_t val)
2989*4882a593Smuzhiyun {
2990*4882a593Smuzhiyun return ((val) << A6XX_GRAS_RAS_MSAA_CNTL_UNK2__SHIFT) & A6XX_GRAS_RAS_MSAA_CNTL_UNK2__MASK;
2991*4882a593Smuzhiyun }
2992*4882a593Smuzhiyun #define A6XX_GRAS_RAS_MSAA_CNTL_UNK3__MASK 0x00000008
2993*4882a593Smuzhiyun #define A6XX_GRAS_RAS_MSAA_CNTL_UNK3__SHIFT 3
A6XX_GRAS_RAS_MSAA_CNTL_UNK3(uint32_t val)2994*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_RAS_MSAA_CNTL_UNK3(uint32_t val)
2995*4882a593Smuzhiyun {
2996*4882a593Smuzhiyun return ((val) << A6XX_GRAS_RAS_MSAA_CNTL_UNK3__SHIFT) & A6XX_GRAS_RAS_MSAA_CNTL_UNK3__MASK;
2997*4882a593Smuzhiyun }
2998*4882a593Smuzhiyun
2999*4882a593Smuzhiyun #define REG_A6XX_GRAS_DEST_MSAA_CNTL 0x000080a3
3000*4882a593Smuzhiyun #define A6XX_GRAS_DEST_MSAA_CNTL_SAMPLES__MASK 0x00000003
3001*4882a593Smuzhiyun #define A6XX_GRAS_DEST_MSAA_CNTL_SAMPLES__SHIFT 0
A6XX_GRAS_DEST_MSAA_CNTL_SAMPLES(enum a3xx_msaa_samples val)3002*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_DEST_MSAA_CNTL_SAMPLES(enum a3xx_msaa_samples val)
3003*4882a593Smuzhiyun {
3004*4882a593Smuzhiyun return ((val) << A6XX_GRAS_DEST_MSAA_CNTL_SAMPLES__SHIFT) & A6XX_GRAS_DEST_MSAA_CNTL_SAMPLES__MASK;
3005*4882a593Smuzhiyun }
3006*4882a593Smuzhiyun #define A6XX_GRAS_DEST_MSAA_CNTL_MSAA_DISABLE 0x00000004
3007*4882a593Smuzhiyun
3008*4882a593Smuzhiyun #define REG_A6XX_GRAS_SAMPLE_CONFIG 0x000080a4
3009*4882a593Smuzhiyun #define A6XX_GRAS_SAMPLE_CONFIG_UNK0 0x00000001
3010*4882a593Smuzhiyun #define A6XX_GRAS_SAMPLE_CONFIG_LOCATION_ENABLE 0x00000002
3011*4882a593Smuzhiyun
3012*4882a593Smuzhiyun #define REG_A6XX_GRAS_SAMPLE_LOCATION_0 0x000080a5
3013*4882a593Smuzhiyun #define A6XX_GRAS_SAMPLE_LOCATION_0_SAMPLE_0_X__MASK 0x0000000f
3014*4882a593Smuzhiyun #define A6XX_GRAS_SAMPLE_LOCATION_0_SAMPLE_0_X__SHIFT 0
A6XX_GRAS_SAMPLE_LOCATION_0_SAMPLE_0_X(float val)3015*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_SAMPLE_LOCATION_0_SAMPLE_0_X(float val)
3016*4882a593Smuzhiyun {
3017*4882a593Smuzhiyun return ((((int32_t)(val * 1.0))) << A6XX_GRAS_SAMPLE_LOCATION_0_SAMPLE_0_X__SHIFT) & A6XX_GRAS_SAMPLE_LOCATION_0_SAMPLE_0_X__MASK;
3018*4882a593Smuzhiyun }
3019*4882a593Smuzhiyun #define A6XX_GRAS_SAMPLE_LOCATION_0_SAMPLE_0_Y__MASK 0x000000f0
3020*4882a593Smuzhiyun #define A6XX_GRAS_SAMPLE_LOCATION_0_SAMPLE_0_Y__SHIFT 4
A6XX_GRAS_SAMPLE_LOCATION_0_SAMPLE_0_Y(float val)3021*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_SAMPLE_LOCATION_0_SAMPLE_0_Y(float val)
3022*4882a593Smuzhiyun {
3023*4882a593Smuzhiyun return ((((int32_t)(val * 1.0))) << A6XX_GRAS_SAMPLE_LOCATION_0_SAMPLE_0_Y__SHIFT) & A6XX_GRAS_SAMPLE_LOCATION_0_SAMPLE_0_Y__MASK;
3024*4882a593Smuzhiyun }
3025*4882a593Smuzhiyun #define A6XX_GRAS_SAMPLE_LOCATION_0_SAMPLE_1_X__MASK 0x00000f00
3026*4882a593Smuzhiyun #define A6XX_GRAS_SAMPLE_LOCATION_0_SAMPLE_1_X__SHIFT 8
A6XX_GRAS_SAMPLE_LOCATION_0_SAMPLE_1_X(float val)3027*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_SAMPLE_LOCATION_0_SAMPLE_1_X(float val)
3028*4882a593Smuzhiyun {
3029*4882a593Smuzhiyun return ((((int32_t)(val * 1.0))) << A6XX_GRAS_SAMPLE_LOCATION_0_SAMPLE_1_X__SHIFT) & A6XX_GRAS_SAMPLE_LOCATION_0_SAMPLE_1_X__MASK;
3030*4882a593Smuzhiyun }
3031*4882a593Smuzhiyun #define A6XX_GRAS_SAMPLE_LOCATION_0_SAMPLE_1_Y__MASK 0x0000f000
3032*4882a593Smuzhiyun #define A6XX_GRAS_SAMPLE_LOCATION_0_SAMPLE_1_Y__SHIFT 12
A6XX_GRAS_SAMPLE_LOCATION_0_SAMPLE_1_Y(float val)3033*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_SAMPLE_LOCATION_0_SAMPLE_1_Y(float val)
3034*4882a593Smuzhiyun {
3035*4882a593Smuzhiyun return ((((int32_t)(val * 1.0))) << A6XX_GRAS_SAMPLE_LOCATION_0_SAMPLE_1_Y__SHIFT) & A6XX_GRAS_SAMPLE_LOCATION_0_SAMPLE_1_Y__MASK;
3036*4882a593Smuzhiyun }
3037*4882a593Smuzhiyun #define A6XX_GRAS_SAMPLE_LOCATION_0_SAMPLE_2_X__MASK 0x000f0000
3038*4882a593Smuzhiyun #define A6XX_GRAS_SAMPLE_LOCATION_0_SAMPLE_2_X__SHIFT 16
A6XX_GRAS_SAMPLE_LOCATION_0_SAMPLE_2_X(float val)3039*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_SAMPLE_LOCATION_0_SAMPLE_2_X(float val)
3040*4882a593Smuzhiyun {
3041*4882a593Smuzhiyun return ((((int32_t)(val * 1.0))) << A6XX_GRAS_SAMPLE_LOCATION_0_SAMPLE_2_X__SHIFT) & A6XX_GRAS_SAMPLE_LOCATION_0_SAMPLE_2_X__MASK;
3042*4882a593Smuzhiyun }
3043*4882a593Smuzhiyun #define A6XX_GRAS_SAMPLE_LOCATION_0_SAMPLE_2_Y__MASK 0x00f00000
3044*4882a593Smuzhiyun #define A6XX_GRAS_SAMPLE_LOCATION_0_SAMPLE_2_Y__SHIFT 20
A6XX_GRAS_SAMPLE_LOCATION_0_SAMPLE_2_Y(float val)3045*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_SAMPLE_LOCATION_0_SAMPLE_2_Y(float val)
3046*4882a593Smuzhiyun {
3047*4882a593Smuzhiyun return ((((int32_t)(val * 1.0))) << A6XX_GRAS_SAMPLE_LOCATION_0_SAMPLE_2_Y__SHIFT) & A6XX_GRAS_SAMPLE_LOCATION_0_SAMPLE_2_Y__MASK;
3048*4882a593Smuzhiyun }
3049*4882a593Smuzhiyun #define A6XX_GRAS_SAMPLE_LOCATION_0_SAMPLE_3_X__MASK 0x0f000000
3050*4882a593Smuzhiyun #define A6XX_GRAS_SAMPLE_LOCATION_0_SAMPLE_3_X__SHIFT 24
A6XX_GRAS_SAMPLE_LOCATION_0_SAMPLE_3_X(float val)3051*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_SAMPLE_LOCATION_0_SAMPLE_3_X(float val)
3052*4882a593Smuzhiyun {
3053*4882a593Smuzhiyun return ((((int32_t)(val * 1.0))) << A6XX_GRAS_SAMPLE_LOCATION_0_SAMPLE_3_X__SHIFT) & A6XX_GRAS_SAMPLE_LOCATION_0_SAMPLE_3_X__MASK;
3054*4882a593Smuzhiyun }
3055*4882a593Smuzhiyun #define A6XX_GRAS_SAMPLE_LOCATION_0_SAMPLE_3_Y__MASK 0xf0000000
3056*4882a593Smuzhiyun #define A6XX_GRAS_SAMPLE_LOCATION_0_SAMPLE_3_Y__SHIFT 28
A6XX_GRAS_SAMPLE_LOCATION_0_SAMPLE_3_Y(float val)3057*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_SAMPLE_LOCATION_0_SAMPLE_3_Y(float val)
3058*4882a593Smuzhiyun {
3059*4882a593Smuzhiyun return ((((int32_t)(val * 1.0))) << A6XX_GRAS_SAMPLE_LOCATION_0_SAMPLE_3_Y__SHIFT) & A6XX_GRAS_SAMPLE_LOCATION_0_SAMPLE_3_Y__MASK;
3060*4882a593Smuzhiyun }
3061*4882a593Smuzhiyun
3062*4882a593Smuzhiyun #define REG_A6XX_GRAS_SAMPLE_LOCATION_1 0x000080a6
3063*4882a593Smuzhiyun #define A6XX_GRAS_SAMPLE_LOCATION_1_SAMPLE_0_X__MASK 0x0000000f
3064*4882a593Smuzhiyun #define A6XX_GRAS_SAMPLE_LOCATION_1_SAMPLE_0_X__SHIFT 0
A6XX_GRAS_SAMPLE_LOCATION_1_SAMPLE_0_X(float val)3065*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_SAMPLE_LOCATION_1_SAMPLE_0_X(float val)
3066*4882a593Smuzhiyun {
3067*4882a593Smuzhiyun return ((((int32_t)(val * 1.0))) << A6XX_GRAS_SAMPLE_LOCATION_1_SAMPLE_0_X__SHIFT) & A6XX_GRAS_SAMPLE_LOCATION_1_SAMPLE_0_X__MASK;
3068*4882a593Smuzhiyun }
3069*4882a593Smuzhiyun #define A6XX_GRAS_SAMPLE_LOCATION_1_SAMPLE_0_Y__MASK 0x000000f0
3070*4882a593Smuzhiyun #define A6XX_GRAS_SAMPLE_LOCATION_1_SAMPLE_0_Y__SHIFT 4
A6XX_GRAS_SAMPLE_LOCATION_1_SAMPLE_0_Y(float val)3071*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_SAMPLE_LOCATION_1_SAMPLE_0_Y(float val)
3072*4882a593Smuzhiyun {
3073*4882a593Smuzhiyun return ((((int32_t)(val * 1.0))) << A6XX_GRAS_SAMPLE_LOCATION_1_SAMPLE_0_Y__SHIFT) & A6XX_GRAS_SAMPLE_LOCATION_1_SAMPLE_0_Y__MASK;
3074*4882a593Smuzhiyun }
3075*4882a593Smuzhiyun #define A6XX_GRAS_SAMPLE_LOCATION_1_SAMPLE_1_X__MASK 0x00000f00
3076*4882a593Smuzhiyun #define A6XX_GRAS_SAMPLE_LOCATION_1_SAMPLE_1_X__SHIFT 8
A6XX_GRAS_SAMPLE_LOCATION_1_SAMPLE_1_X(float val)3077*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_SAMPLE_LOCATION_1_SAMPLE_1_X(float val)
3078*4882a593Smuzhiyun {
3079*4882a593Smuzhiyun return ((((int32_t)(val * 1.0))) << A6XX_GRAS_SAMPLE_LOCATION_1_SAMPLE_1_X__SHIFT) & A6XX_GRAS_SAMPLE_LOCATION_1_SAMPLE_1_X__MASK;
3080*4882a593Smuzhiyun }
3081*4882a593Smuzhiyun #define A6XX_GRAS_SAMPLE_LOCATION_1_SAMPLE_1_Y__MASK 0x0000f000
3082*4882a593Smuzhiyun #define A6XX_GRAS_SAMPLE_LOCATION_1_SAMPLE_1_Y__SHIFT 12
A6XX_GRAS_SAMPLE_LOCATION_1_SAMPLE_1_Y(float val)3083*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_SAMPLE_LOCATION_1_SAMPLE_1_Y(float val)
3084*4882a593Smuzhiyun {
3085*4882a593Smuzhiyun return ((((int32_t)(val * 1.0))) << A6XX_GRAS_SAMPLE_LOCATION_1_SAMPLE_1_Y__SHIFT) & A6XX_GRAS_SAMPLE_LOCATION_1_SAMPLE_1_Y__MASK;
3086*4882a593Smuzhiyun }
3087*4882a593Smuzhiyun #define A6XX_GRAS_SAMPLE_LOCATION_1_SAMPLE_2_X__MASK 0x000f0000
3088*4882a593Smuzhiyun #define A6XX_GRAS_SAMPLE_LOCATION_1_SAMPLE_2_X__SHIFT 16
A6XX_GRAS_SAMPLE_LOCATION_1_SAMPLE_2_X(float val)3089*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_SAMPLE_LOCATION_1_SAMPLE_2_X(float val)
3090*4882a593Smuzhiyun {
3091*4882a593Smuzhiyun return ((((int32_t)(val * 1.0))) << A6XX_GRAS_SAMPLE_LOCATION_1_SAMPLE_2_X__SHIFT) & A6XX_GRAS_SAMPLE_LOCATION_1_SAMPLE_2_X__MASK;
3092*4882a593Smuzhiyun }
3093*4882a593Smuzhiyun #define A6XX_GRAS_SAMPLE_LOCATION_1_SAMPLE_2_Y__MASK 0x00f00000
3094*4882a593Smuzhiyun #define A6XX_GRAS_SAMPLE_LOCATION_1_SAMPLE_2_Y__SHIFT 20
A6XX_GRAS_SAMPLE_LOCATION_1_SAMPLE_2_Y(float val)3095*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_SAMPLE_LOCATION_1_SAMPLE_2_Y(float val)
3096*4882a593Smuzhiyun {
3097*4882a593Smuzhiyun return ((((int32_t)(val * 1.0))) << A6XX_GRAS_SAMPLE_LOCATION_1_SAMPLE_2_Y__SHIFT) & A6XX_GRAS_SAMPLE_LOCATION_1_SAMPLE_2_Y__MASK;
3098*4882a593Smuzhiyun }
3099*4882a593Smuzhiyun #define A6XX_GRAS_SAMPLE_LOCATION_1_SAMPLE_3_X__MASK 0x0f000000
3100*4882a593Smuzhiyun #define A6XX_GRAS_SAMPLE_LOCATION_1_SAMPLE_3_X__SHIFT 24
A6XX_GRAS_SAMPLE_LOCATION_1_SAMPLE_3_X(float val)3101*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_SAMPLE_LOCATION_1_SAMPLE_3_X(float val)
3102*4882a593Smuzhiyun {
3103*4882a593Smuzhiyun return ((((int32_t)(val * 1.0))) << A6XX_GRAS_SAMPLE_LOCATION_1_SAMPLE_3_X__SHIFT) & A6XX_GRAS_SAMPLE_LOCATION_1_SAMPLE_3_X__MASK;
3104*4882a593Smuzhiyun }
3105*4882a593Smuzhiyun #define A6XX_GRAS_SAMPLE_LOCATION_1_SAMPLE_3_Y__MASK 0xf0000000
3106*4882a593Smuzhiyun #define A6XX_GRAS_SAMPLE_LOCATION_1_SAMPLE_3_Y__SHIFT 28
A6XX_GRAS_SAMPLE_LOCATION_1_SAMPLE_3_Y(float val)3107*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_SAMPLE_LOCATION_1_SAMPLE_3_Y(float val)
3108*4882a593Smuzhiyun {
3109*4882a593Smuzhiyun return ((((int32_t)(val * 1.0))) << A6XX_GRAS_SAMPLE_LOCATION_1_SAMPLE_3_Y__SHIFT) & A6XX_GRAS_SAMPLE_LOCATION_1_SAMPLE_3_Y__MASK;
3110*4882a593Smuzhiyun }
3111*4882a593Smuzhiyun
3112*4882a593Smuzhiyun #define REG_A6XX_GRAS_UNKNOWN_80AF 0x000080af
3113*4882a593Smuzhiyun
REG_A6XX_GRAS_SC_SCREEN_SCISSOR(uint32_t i0)3114*4882a593Smuzhiyun static inline uint32_t REG_A6XX_GRAS_SC_SCREEN_SCISSOR(uint32_t i0) { return 0x000080b0 + 0x2*i0; }
3115*4882a593Smuzhiyun
REG_A6XX_GRAS_SC_SCREEN_SCISSOR_TL(uint32_t i0)3116*4882a593Smuzhiyun static inline uint32_t REG_A6XX_GRAS_SC_SCREEN_SCISSOR_TL(uint32_t i0) { return 0x000080b0 + 0x2*i0; }
3117*4882a593Smuzhiyun #define A6XX_GRAS_SC_SCREEN_SCISSOR_TL_X__MASK 0x0000ffff
3118*4882a593Smuzhiyun #define A6XX_GRAS_SC_SCREEN_SCISSOR_TL_X__SHIFT 0
A6XX_GRAS_SC_SCREEN_SCISSOR_TL_X(uint32_t val)3119*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_SC_SCREEN_SCISSOR_TL_X(uint32_t val)
3120*4882a593Smuzhiyun {
3121*4882a593Smuzhiyun return ((val) << A6XX_GRAS_SC_SCREEN_SCISSOR_TL_X__SHIFT) & A6XX_GRAS_SC_SCREEN_SCISSOR_TL_X__MASK;
3122*4882a593Smuzhiyun }
3123*4882a593Smuzhiyun #define A6XX_GRAS_SC_SCREEN_SCISSOR_TL_Y__MASK 0xffff0000
3124*4882a593Smuzhiyun #define A6XX_GRAS_SC_SCREEN_SCISSOR_TL_Y__SHIFT 16
A6XX_GRAS_SC_SCREEN_SCISSOR_TL_Y(uint32_t val)3125*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_SC_SCREEN_SCISSOR_TL_Y(uint32_t val)
3126*4882a593Smuzhiyun {
3127*4882a593Smuzhiyun return ((val) << A6XX_GRAS_SC_SCREEN_SCISSOR_TL_Y__SHIFT) & A6XX_GRAS_SC_SCREEN_SCISSOR_TL_Y__MASK;
3128*4882a593Smuzhiyun }
3129*4882a593Smuzhiyun
REG_A6XX_GRAS_SC_SCREEN_SCISSOR_BR(uint32_t i0)3130*4882a593Smuzhiyun static inline uint32_t REG_A6XX_GRAS_SC_SCREEN_SCISSOR_BR(uint32_t i0) { return 0x000080b1 + 0x2*i0; }
3131*4882a593Smuzhiyun #define A6XX_GRAS_SC_SCREEN_SCISSOR_BR_X__MASK 0x0000ffff
3132*4882a593Smuzhiyun #define A6XX_GRAS_SC_SCREEN_SCISSOR_BR_X__SHIFT 0
A6XX_GRAS_SC_SCREEN_SCISSOR_BR_X(uint32_t val)3133*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_SC_SCREEN_SCISSOR_BR_X(uint32_t val)
3134*4882a593Smuzhiyun {
3135*4882a593Smuzhiyun return ((val) << A6XX_GRAS_SC_SCREEN_SCISSOR_BR_X__SHIFT) & A6XX_GRAS_SC_SCREEN_SCISSOR_BR_X__MASK;
3136*4882a593Smuzhiyun }
3137*4882a593Smuzhiyun #define A6XX_GRAS_SC_SCREEN_SCISSOR_BR_Y__MASK 0xffff0000
3138*4882a593Smuzhiyun #define A6XX_GRAS_SC_SCREEN_SCISSOR_BR_Y__SHIFT 16
A6XX_GRAS_SC_SCREEN_SCISSOR_BR_Y(uint32_t val)3139*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_SC_SCREEN_SCISSOR_BR_Y(uint32_t val)
3140*4882a593Smuzhiyun {
3141*4882a593Smuzhiyun return ((val) << A6XX_GRAS_SC_SCREEN_SCISSOR_BR_Y__SHIFT) & A6XX_GRAS_SC_SCREEN_SCISSOR_BR_Y__MASK;
3142*4882a593Smuzhiyun }
3143*4882a593Smuzhiyun
REG_A6XX_GRAS_SC_VIEWPORT_SCISSOR(uint32_t i0)3144*4882a593Smuzhiyun static inline uint32_t REG_A6XX_GRAS_SC_VIEWPORT_SCISSOR(uint32_t i0) { return 0x000080d0 + 0x2*i0; }
3145*4882a593Smuzhiyun
REG_A6XX_GRAS_SC_VIEWPORT_SCISSOR_TL(uint32_t i0)3146*4882a593Smuzhiyun static inline uint32_t REG_A6XX_GRAS_SC_VIEWPORT_SCISSOR_TL(uint32_t i0) { return 0x000080d0 + 0x2*i0; }
3147*4882a593Smuzhiyun #define A6XX_GRAS_SC_VIEWPORT_SCISSOR_TL_X__MASK 0x0000ffff
3148*4882a593Smuzhiyun #define A6XX_GRAS_SC_VIEWPORT_SCISSOR_TL_X__SHIFT 0
A6XX_GRAS_SC_VIEWPORT_SCISSOR_TL_X(uint32_t val)3149*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_SC_VIEWPORT_SCISSOR_TL_X(uint32_t val)
3150*4882a593Smuzhiyun {
3151*4882a593Smuzhiyun return ((val) << A6XX_GRAS_SC_VIEWPORT_SCISSOR_TL_X__SHIFT) & A6XX_GRAS_SC_VIEWPORT_SCISSOR_TL_X__MASK;
3152*4882a593Smuzhiyun }
3153*4882a593Smuzhiyun #define A6XX_GRAS_SC_VIEWPORT_SCISSOR_TL_Y__MASK 0xffff0000
3154*4882a593Smuzhiyun #define A6XX_GRAS_SC_VIEWPORT_SCISSOR_TL_Y__SHIFT 16
A6XX_GRAS_SC_VIEWPORT_SCISSOR_TL_Y(uint32_t val)3155*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_SC_VIEWPORT_SCISSOR_TL_Y(uint32_t val)
3156*4882a593Smuzhiyun {
3157*4882a593Smuzhiyun return ((val) << A6XX_GRAS_SC_VIEWPORT_SCISSOR_TL_Y__SHIFT) & A6XX_GRAS_SC_VIEWPORT_SCISSOR_TL_Y__MASK;
3158*4882a593Smuzhiyun }
3159*4882a593Smuzhiyun
REG_A6XX_GRAS_SC_VIEWPORT_SCISSOR_BR(uint32_t i0)3160*4882a593Smuzhiyun static inline uint32_t REG_A6XX_GRAS_SC_VIEWPORT_SCISSOR_BR(uint32_t i0) { return 0x000080d1 + 0x2*i0; }
3161*4882a593Smuzhiyun #define A6XX_GRAS_SC_VIEWPORT_SCISSOR_BR_X__MASK 0x0000ffff
3162*4882a593Smuzhiyun #define A6XX_GRAS_SC_VIEWPORT_SCISSOR_BR_X__SHIFT 0
A6XX_GRAS_SC_VIEWPORT_SCISSOR_BR_X(uint32_t val)3163*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_SC_VIEWPORT_SCISSOR_BR_X(uint32_t val)
3164*4882a593Smuzhiyun {
3165*4882a593Smuzhiyun return ((val) << A6XX_GRAS_SC_VIEWPORT_SCISSOR_BR_X__SHIFT) & A6XX_GRAS_SC_VIEWPORT_SCISSOR_BR_X__MASK;
3166*4882a593Smuzhiyun }
3167*4882a593Smuzhiyun #define A6XX_GRAS_SC_VIEWPORT_SCISSOR_BR_Y__MASK 0xffff0000
3168*4882a593Smuzhiyun #define A6XX_GRAS_SC_VIEWPORT_SCISSOR_BR_Y__SHIFT 16
A6XX_GRAS_SC_VIEWPORT_SCISSOR_BR_Y(uint32_t val)3169*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_SC_VIEWPORT_SCISSOR_BR_Y(uint32_t val)
3170*4882a593Smuzhiyun {
3171*4882a593Smuzhiyun return ((val) << A6XX_GRAS_SC_VIEWPORT_SCISSOR_BR_Y__SHIFT) & A6XX_GRAS_SC_VIEWPORT_SCISSOR_BR_Y__MASK;
3172*4882a593Smuzhiyun }
3173*4882a593Smuzhiyun
3174*4882a593Smuzhiyun #define REG_A6XX_GRAS_SC_WINDOW_SCISSOR_TL 0x000080f0
3175*4882a593Smuzhiyun #define A6XX_GRAS_SC_WINDOW_SCISSOR_TL_X__MASK 0x00003fff
3176*4882a593Smuzhiyun #define A6XX_GRAS_SC_WINDOW_SCISSOR_TL_X__SHIFT 0
A6XX_GRAS_SC_WINDOW_SCISSOR_TL_X(uint32_t val)3177*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_SC_WINDOW_SCISSOR_TL_X(uint32_t val)
3178*4882a593Smuzhiyun {
3179*4882a593Smuzhiyun return ((val) << A6XX_GRAS_SC_WINDOW_SCISSOR_TL_X__SHIFT) & A6XX_GRAS_SC_WINDOW_SCISSOR_TL_X__MASK;
3180*4882a593Smuzhiyun }
3181*4882a593Smuzhiyun #define A6XX_GRAS_SC_WINDOW_SCISSOR_TL_Y__MASK 0x3fff0000
3182*4882a593Smuzhiyun #define A6XX_GRAS_SC_WINDOW_SCISSOR_TL_Y__SHIFT 16
A6XX_GRAS_SC_WINDOW_SCISSOR_TL_Y(uint32_t val)3183*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_SC_WINDOW_SCISSOR_TL_Y(uint32_t val)
3184*4882a593Smuzhiyun {
3185*4882a593Smuzhiyun return ((val) << A6XX_GRAS_SC_WINDOW_SCISSOR_TL_Y__SHIFT) & A6XX_GRAS_SC_WINDOW_SCISSOR_TL_Y__MASK;
3186*4882a593Smuzhiyun }
3187*4882a593Smuzhiyun
3188*4882a593Smuzhiyun #define REG_A6XX_GRAS_SC_WINDOW_SCISSOR_BR 0x000080f1
3189*4882a593Smuzhiyun #define A6XX_GRAS_SC_WINDOW_SCISSOR_BR_X__MASK 0x00003fff
3190*4882a593Smuzhiyun #define A6XX_GRAS_SC_WINDOW_SCISSOR_BR_X__SHIFT 0
A6XX_GRAS_SC_WINDOW_SCISSOR_BR_X(uint32_t val)3191*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_SC_WINDOW_SCISSOR_BR_X(uint32_t val)
3192*4882a593Smuzhiyun {
3193*4882a593Smuzhiyun return ((val) << A6XX_GRAS_SC_WINDOW_SCISSOR_BR_X__SHIFT) & A6XX_GRAS_SC_WINDOW_SCISSOR_BR_X__MASK;
3194*4882a593Smuzhiyun }
3195*4882a593Smuzhiyun #define A6XX_GRAS_SC_WINDOW_SCISSOR_BR_Y__MASK 0x3fff0000
3196*4882a593Smuzhiyun #define A6XX_GRAS_SC_WINDOW_SCISSOR_BR_Y__SHIFT 16
A6XX_GRAS_SC_WINDOW_SCISSOR_BR_Y(uint32_t val)3197*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_SC_WINDOW_SCISSOR_BR_Y(uint32_t val)
3198*4882a593Smuzhiyun {
3199*4882a593Smuzhiyun return ((val) << A6XX_GRAS_SC_WINDOW_SCISSOR_BR_Y__SHIFT) & A6XX_GRAS_SC_WINDOW_SCISSOR_BR_Y__MASK;
3200*4882a593Smuzhiyun }
3201*4882a593Smuzhiyun
3202*4882a593Smuzhiyun #define REG_A6XX_GRAS_LRZ_CNTL 0x00008100
3203*4882a593Smuzhiyun #define A6XX_GRAS_LRZ_CNTL_ENABLE 0x00000001
3204*4882a593Smuzhiyun #define A6XX_GRAS_LRZ_CNTL_LRZ_WRITE 0x00000002
3205*4882a593Smuzhiyun #define A6XX_GRAS_LRZ_CNTL_GREATER 0x00000004
3206*4882a593Smuzhiyun #define A6XX_GRAS_LRZ_CNTL_FC_ENABLE 0x00000008
3207*4882a593Smuzhiyun #define A6XX_GRAS_LRZ_CNTL_Z_TEST_ENABLE 0x00000010
3208*4882a593Smuzhiyun #define A6XX_GRAS_LRZ_CNTL_UNK5__MASK 0x000003e0
3209*4882a593Smuzhiyun #define A6XX_GRAS_LRZ_CNTL_UNK5__SHIFT 5
A6XX_GRAS_LRZ_CNTL_UNK5(uint32_t val)3210*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_LRZ_CNTL_UNK5(uint32_t val)
3211*4882a593Smuzhiyun {
3212*4882a593Smuzhiyun return ((val) << A6XX_GRAS_LRZ_CNTL_UNK5__SHIFT) & A6XX_GRAS_LRZ_CNTL_UNK5__MASK;
3213*4882a593Smuzhiyun }
3214*4882a593Smuzhiyun
3215*4882a593Smuzhiyun #define REG_A6XX_GRAS_UNKNOWN_8101 0x00008101
3216*4882a593Smuzhiyun
3217*4882a593Smuzhiyun #define REG_A6XX_GRAS_2D_BLIT_INFO 0x00008102
3218*4882a593Smuzhiyun #define A6XX_GRAS_2D_BLIT_INFO_COLOR_FORMAT__MASK 0x000000ff
3219*4882a593Smuzhiyun #define A6XX_GRAS_2D_BLIT_INFO_COLOR_FORMAT__SHIFT 0
A6XX_GRAS_2D_BLIT_INFO_COLOR_FORMAT(enum a6xx_format val)3220*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_2D_BLIT_INFO_COLOR_FORMAT(enum a6xx_format val)
3221*4882a593Smuzhiyun {
3222*4882a593Smuzhiyun return ((val) << A6XX_GRAS_2D_BLIT_INFO_COLOR_FORMAT__SHIFT) & A6XX_GRAS_2D_BLIT_INFO_COLOR_FORMAT__MASK;
3223*4882a593Smuzhiyun }
3224*4882a593Smuzhiyun
3225*4882a593Smuzhiyun #define REG_A6XX_GRAS_LRZ_BUFFER_BASE_LO 0x00008103
3226*4882a593Smuzhiyun
3227*4882a593Smuzhiyun #define REG_A6XX_GRAS_LRZ_BUFFER_BASE_HI 0x00008104
3228*4882a593Smuzhiyun
3229*4882a593Smuzhiyun #define REG_A6XX_GRAS_LRZ_BUFFER_BASE 0x00008103
3230*4882a593Smuzhiyun #define A6XX_GRAS_LRZ_BUFFER_BASE__MASK 0xffffffff
3231*4882a593Smuzhiyun #define A6XX_GRAS_LRZ_BUFFER_BASE__SHIFT 0
A6XX_GRAS_LRZ_BUFFER_BASE(uint32_t val)3232*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_LRZ_BUFFER_BASE(uint32_t val)
3233*4882a593Smuzhiyun {
3234*4882a593Smuzhiyun return ((val) << A6XX_GRAS_LRZ_BUFFER_BASE__SHIFT) & A6XX_GRAS_LRZ_BUFFER_BASE__MASK;
3235*4882a593Smuzhiyun }
3236*4882a593Smuzhiyun
3237*4882a593Smuzhiyun #define REG_A6XX_GRAS_LRZ_BUFFER_PITCH 0x00008105
3238*4882a593Smuzhiyun #define A6XX_GRAS_LRZ_BUFFER_PITCH_PITCH__MASK 0x000000ff
3239*4882a593Smuzhiyun #define A6XX_GRAS_LRZ_BUFFER_PITCH_PITCH__SHIFT 0
A6XX_GRAS_LRZ_BUFFER_PITCH_PITCH(uint32_t val)3240*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_LRZ_BUFFER_PITCH_PITCH(uint32_t val)
3241*4882a593Smuzhiyun {
3242*4882a593Smuzhiyun return ((val >> 5) << A6XX_GRAS_LRZ_BUFFER_PITCH_PITCH__SHIFT) & A6XX_GRAS_LRZ_BUFFER_PITCH_PITCH__MASK;
3243*4882a593Smuzhiyun }
3244*4882a593Smuzhiyun #define A6XX_GRAS_LRZ_BUFFER_PITCH_ARRAY_PITCH__MASK 0x1ffffc00
3245*4882a593Smuzhiyun #define A6XX_GRAS_LRZ_BUFFER_PITCH_ARRAY_PITCH__SHIFT 10
A6XX_GRAS_LRZ_BUFFER_PITCH_ARRAY_PITCH(uint32_t val)3246*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_LRZ_BUFFER_PITCH_ARRAY_PITCH(uint32_t val)
3247*4882a593Smuzhiyun {
3248*4882a593Smuzhiyun return ((val >> 4) << A6XX_GRAS_LRZ_BUFFER_PITCH_ARRAY_PITCH__SHIFT) & A6XX_GRAS_LRZ_BUFFER_PITCH_ARRAY_PITCH__MASK;
3249*4882a593Smuzhiyun }
3250*4882a593Smuzhiyun
3251*4882a593Smuzhiyun #define REG_A6XX_GRAS_LRZ_FAST_CLEAR_BUFFER_BASE_LO 0x00008106
3252*4882a593Smuzhiyun
3253*4882a593Smuzhiyun #define REG_A6XX_GRAS_LRZ_FAST_CLEAR_BUFFER_BASE_HI 0x00008107
3254*4882a593Smuzhiyun
3255*4882a593Smuzhiyun #define REG_A6XX_GRAS_LRZ_FAST_CLEAR_BUFFER_BASE 0x00008106
3256*4882a593Smuzhiyun #define A6XX_GRAS_LRZ_FAST_CLEAR_BUFFER_BASE__MASK 0xffffffff
3257*4882a593Smuzhiyun #define A6XX_GRAS_LRZ_FAST_CLEAR_BUFFER_BASE__SHIFT 0
A6XX_GRAS_LRZ_FAST_CLEAR_BUFFER_BASE(uint32_t val)3258*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_LRZ_FAST_CLEAR_BUFFER_BASE(uint32_t val)
3259*4882a593Smuzhiyun {
3260*4882a593Smuzhiyun return ((val) << A6XX_GRAS_LRZ_FAST_CLEAR_BUFFER_BASE__SHIFT) & A6XX_GRAS_LRZ_FAST_CLEAR_BUFFER_BASE__MASK;
3261*4882a593Smuzhiyun }
3262*4882a593Smuzhiyun
3263*4882a593Smuzhiyun #define REG_A6XX_GRAS_SAMPLE_CNTL 0x00008109
3264*4882a593Smuzhiyun #define A6XX_GRAS_SAMPLE_CNTL_PER_SAMP_MODE 0x00000001
3265*4882a593Smuzhiyun
3266*4882a593Smuzhiyun #define REG_A6XX_GRAS_UNKNOWN_810A 0x0000810a
3267*4882a593Smuzhiyun #define A6XX_GRAS_UNKNOWN_810A_UNK0__MASK 0x000007ff
3268*4882a593Smuzhiyun #define A6XX_GRAS_UNKNOWN_810A_UNK0__SHIFT 0
A6XX_GRAS_UNKNOWN_810A_UNK0(uint32_t val)3269*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_UNKNOWN_810A_UNK0(uint32_t val)
3270*4882a593Smuzhiyun {
3271*4882a593Smuzhiyun return ((val) << A6XX_GRAS_UNKNOWN_810A_UNK0__SHIFT) & A6XX_GRAS_UNKNOWN_810A_UNK0__MASK;
3272*4882a593Smuzhiyun }
3273*4882a593Smuzhiyun #define A6XX_GRAS_UNKNOWN_810A_UNK16__MASK 0x07ff0000
3274*4882a593Smuzhiyun #define A6XX_GRAS_UNKNOWN_810A_UNK16__SHIFT 16
A6XX_GRAS_UNKNOWN_810A_UNK16(uint32_t val)3275*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_UNKNOWN_810A_UNK16(uint32_t val)
3276*4882a593Smuzhiyun {
3277*4882a593Smuzhiyun return ((val) << A6XX_GRAS_UNKNOWN_810A_UNK16__SHIFT) & A6XX_GRAS_UNKNOWN_810A_UNK16__MASK;
3278*4882a593Smuzhiyun }
3279*4882a593Smuzhiyun #define A6XX_GRAS_UNKNOWN_810A_UNK28__MASK 0xf0000000
3280*4882a593Smuzhiyun #define A6XX_GRAS_UNKNOWN_810A_UNK28__SHIFT 28
A6XX_GRAS_UNKNOWN_810A_UNK28(uint32_t val)3281*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_UNKNOWN_810A_UNK28(uint32_t val)
3282*4882a593Smuzhiyun {
3283*4882a593Smuzhiyun return ((val) << A6XX_GRAS_UNKNOWN_810A_UNK28__SHIFT) & A6XX_GRAS_UNKNOWN_810A_UNK28__MASK;
3284*4882a593Smuzhiyun }
3285*4882a593Smuzhiyun
3286*4882a593Smuzhiyun #define REG_A6XX_GRAS_UNKNOWN_8110 0x00008110
3287*4882a593Smuzhiyun
3288*4882a593Smuzhiyun #define REG_A6XX_GRAS_2D_BLIT_CNTL 0x00008400
3289*4882a593Smuzhiyun #define A6XX_GRAS_2D_BLIT_CNTL_ROTATE__MASK 0x00000007
3290*4882a593Smuzhiyun #define A6XX_GRAS_2D_BLIT_CNTL_ROTATE__SHIFT 0
A6XX_GRAS_2D_BLIT_CNTL_ROTATE(enum a6xx_rotation val)3291*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_2D_BLIT_CNTL_ROTATE(enum a6xx_rotation val)
3292*4882a593Smuzhiyun {
3293*4882a593Smuzhiyun return ((val) << A6XX_GRAS_2D_BLIT_CNTL_ROTATE__SHIFT) & A6XX_GRAS_2D_BLIT_CNTL_ROTATE__MASK;
3294*4882a593Smuzhiyun }
3295*4882a593Smuzhiyun #define A6XX_GRAS_2D_BLIT_CNTL_UNK3__MASK 0x00000078
3296*4882a593Smuzhiyun #define A6XX_GRAS_2D_BLIT_CNTL_UNK3__SHIFT 3
A6XX_GRAS_2D_BLIT_CNTL_UNK3(uint32_t val)3297*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_2D_BLIT_CNTL_UNK3(uint32_t val)
3298*4882a593Smuzhiyun {
3299*4882a593Smuzhiyun return ((val) << A6XX_GRAS_2D_BLIT_CNTL_UNK3__SHIFT) & A6XX_GRAS_2D_BLIT_CNTL_UNK3__MASK;
3300*4882a593Smuzhiyun }
3301*4882a593Smuzhiyun #define A6XX_GRAS_2D_BLIT_CNTL_SOLID_COLOR 0x00000080
3302*4882a593Smuzhiyun #define A6XX_GRAS_2D_BLIT_CNTL_COLOR_FORMAT__MASK 0x0000ff00
3303*4882a593Smuzhiyun #define A6XX_GRAS_2D_BLIT_CNTL_COLOR_FORMAT__SHIFT 8
A6XX_GRAS_2D_BLIT_CNTL_COLOR_FORMAT(enum a6xx_format val)3304*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_2D_BLIT_CNTL_COLOR_FORMAT(enum a6xx_format val)
3305*4882a593Smuzhiyun {
3306*4882a593Smuzhiyun return ((val) << A6XX_GRAS_2D_BLIT_CNTL_COLOR_FORMAT__SHIFT) & A6XX_GRAS_2D_BLIT_CNTL_COLOR_FORMAT__MASK;
3307*4882a593Smuzhiyun }
3308*4882a593Smuzhiyun #define A6XX_GRAS_2D_BLIT_CNTL_SCISSOR 0x00010000
3309*4882a593Smuzhiyun #define A6XX_GRAS_2D_BLIT_CNTL_UNK17__MASK 0x00060000
3310*4882a593Smuzhiyun #define A6XX_GRAS_2D_BLIT_CNTL_UNK17__SHIFT 17
A6XX_GRAS_2D_BLIT_CNTL_UNK17(uint32_t val)3311*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_2D_BLIT_CNTL_UNK17(uint32_t val)
3312*4882a593Smuzhiyun {
3313*4882a593Smuzhiyun return ((val) << A6XX_GRAS_2D_BLIT_CNTL_UNK17__SHIFT) & A6XX_GRAS_2D_BLIT_CNTL_UNK17__MASK;
3314*4882a593Smuzhiyun }
3315*4882a593Smuzhiyun #define A6XX_GRAS_2D_BLIT_CNTL_D24S8 0x00080000
3316*4882a593Smuzhiyun #define A6XX_GRAS_2D_BLIT_CNTL_MASK__MASK 0x00f00000
3317*4882a593Smuzhiyun #define A6XX_GRAS_2D_BLIT_CNTL_MASK__SHIFT 20
A6XX_GRAS_2D_BLIT_CNTL_MASK(uint32_t val)3318*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_2D_BLIT_CNTL_MASK(uint32_t val)
3319*4882a593Smuzhiyun {
3320*4882a593Smuzhiyun return ((val) << A6XX_GRAS_2D_BLIT_CNTL_MASK__SHIFT) & A6XX_GRAS_2D_BLIT_CNTL_MASK__MASK;
3321*4882a593Smuzhiyun }
3322*4882a593Smuzhiyun #define A6XX_GRAS_2D_BLIT_CNTL_IFMT__MASK 0x1f000000
3323*4882a593Smuzhiyun #define A6XX_GRAS_2D_BLIT_CNTL_IFMT__SHIFT 24
A6XX_GRAS_2D_BLIT_CNTL_IFMT(enum a6xx_2d_ifmt val)3324*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_2D_BLIT_CNTL_IFMT(enum a6xx_2d_ifmt val)
3325*4882a593Smuzhiyun {
3326*4882a593Smuzhiyun return ((val) << A6XX_GRAS_2D_BLIT_CNTL_IFMT__SHIFT) & A6XX_GRAS_2D_BLIT_CNTL_IFMT__MASK;
3327*4882a593Smuzhiyun }
3328*4882a593Smuzhiyun #define A6XX_GRAS_2D_BLIT_CNTL_UNK29__MASK 0x20000000
3329*4882a593Smuzhiyun #define A6XX_GRAS_2D_BLIT_CNTL_UNK29__SHIFT 29
A6XX_GRAS_2D_BLIT_CNTL_UNK29(uint32_t val)3330*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_2D_BLIT_CNTL_UNK29(uint32_t val)
3331*4882a593Smuzhiyun {
3332*4882a593Smuzhiyun return ((val) << A6XX_GRAS_2D_BLIT_CNTL_UNK29__SHIFT) & A6XX_GRAS_2D_BLIT_CNTL_UNK29__MASK;
3333*4882a593Smuzhiyun }
3334*4882a593Smuzhiyun
3335*4882a593Smuzhiyun #define REG_A6XX_GRAS_2D_SRC_TL_X 0x00008401
3336*4882a593Smuzhiyun
3337*4882a593Smuzhiyun #define REG_A6XX_GRAS_2D_SRC_BR_X 0x00008402
3338*4882a593Smuzhiyun
3339*4882a593Smuzhiyun #define REG_A6XX_GRAS_2D_SRC_TL_Y 0x00008403
3340*4882a593Smuzhiyun
3341*4882a593Smuzhiyun #define REG_A6XX_GRAS_2D_SRC_BR_Y 0x00008404
3342*4882a593Smuzhiyun
3343*4882a593Smuzhiyun #define REG_A6XX_GRAS_2D_DST_TL 0x00008405
3344*4882a593Smuzhiyun #define A6XX_GRAS_2D_DST_TL_X__MASK 0x00003fff
3345*4882a593Smuzhiyun #define A6XX_GRAS_2D_DST_TL_X__SHIFT 0
A6XX_GRAS_2D_DST_TL_X(uint32_t val)3346*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_2D_DST_TL_X(uint32_t val)
3347*4882a593Smuzhiyun {
3348*4882a593Smuzhiyun return ((val) << A6XX_GRAS_2D_DST_TL_X__SHIFT) & A6XX_GRAS_2D_DST_TL_X__MASK;
3349*4882a593Smuzhiyun }
3350*4882a593Smuzhiyun #define A6XX_GRAS_2D_DST_TL_Y__MASK 0x3fff0000
3351*4882a593Smuzhiyun #define A6XX_GRAS_2D_DST_TL_Y__SHIFT 16
A6XX_GRAS_2D_DST_TL_Y(uint32_t val)3352*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_2D_DST_TL_Y(uint32_t val)
3353*4882a593Smuzhiyun {
3354*4882a593Smuzhiyun return ((val) << A6XX_GRAS_2D_DST_TL_Y__SHIFT) & A6XX_GRAS_2D_DST_TL_Y__MASK;
3355*4882a593Smuzhiyun }
3356*4882a593Smuzhiyun
3357*4882a593Smuzhiyun #define REG_A6XX_GRAS_2D_DST_BR 0x00008406
3358*4882a593Smuzhiyun #define A6XX_GRAS_2D_DST_BR_X__MASK 0x00003fff
3359*4882a593Smuzhiyun #define A6XX_GRAS_2D_DST_BR_X__SHIFT 0
A6XX_GRAS_2D_DST_BR_X(uint32_t val)3360*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_2D_DST_BR_X(uint32_t val)
3361*4882a593Smuzhiyun {
3362*4882a593Smuzhiyun return ((val) << A6XX_GRAS_2D_DST_BR_X__SHIFT) & A6XX_GRAS_2D_DST_BR_X__MASK;
3363*4882a593Smuzhiyun }
3364*4882a593Smuzhiyun #define A6XX_GRAS_2D_DST_BR_Y__MASK 0x3fff0000
3365*4882a593Smuzhiyun #define A6XX_GRAS_2D_DST_BR_Y__SHIFT 16
A6XX_GRAS_2D_DST_BR_Y(uint32_t val)3366*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_2D_DST_BR_Y(uint32_t val)
3367*4882a593Smuzhiyun {
3368*4882a593Smuzhiyun return ((val) << A6XX_GRAS_2D_DST_BR_Y__SHIFT) & A6XX_GRAS_2D_DST_BR_Y__MASK;
3369*4882a593Smuzhiyun }
3370*4882a593Smuzhiyun
3371*4882a593Smuzhiyun #define REG_A6XX_GRAS_2D_UNKNOWN_8407 0x00008407
3372*4882a593Smuzhiyun
3373*4882a593Smuzhiyun #define REG_A6XX_GRAS_2D_UNKNOWN_8408 0x00008408
3374*4882a593Smuzhiyun
3375*4882a593Smuzhiyun #define REG_A6XX_GRAS_2D_UNKNOWN_8409 0x00008409
3376*4882a593Smuzhiyun
3377*4882a593Smuzhiyun #define REG_A6XX_GRAS_2D_RESOLVE_CNTL_1 0x0000840a
3378*4882a593Smuzhiyun #define A6XX_GRAS_2D_RESOLVE_CNTL_1_X__MASK 0x00003fff
3379*4882a593Smuzhiyun #define A6XX_GRAS_2D_RESOLVE_CNTL_1_X__SHIFT 0
A6XX_GRAS_2D_RESOLVE_CNTL_1_X(uint32_t val)3380*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_2D_RESOLVE_CNTL_1_X(uint32_t val)
3381*4882a593Smuzhiyun {
3382*4882a593Smuzhiyun return ((val) << A6XX_GRAS_2D_RESOLVE_CNTL_1_X__SHIFT) & A6XX_GRAS_2D_RESOLVE_CNTL_1_X__MASK;
3383*4882a593Smuzhiyun }
3384*4882a593Smuzhiyun #define A6XX_GRAS_2D_RESOLVE_CNTL_1_Y__MASK 0x3fff0000
3385*4882a593Smuzhiyun #define A6XX_GRAS_2D_RESOLVE_CNTL_1_Y__SHIFT 16
A6XX_GRAS_2D_RESOLVE_CNTL_1_Y(uint32_t val)3386*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_2D_RESOLVE_CNTL_1_Y(uint32_t val)
3387*4882a593Smuzhiyun {
3388*4882a593Smuzhiyun return ((val) << A6XX_GRAS_2D_RESOLVE_CNTL_1_Y__SHIFT) & A6XX_GRAS_2D_RESOLVE_CNTL_1_Y__MASK;
3389*4882a593Smuzhiyun }
3390*4882a593Smuzhiyun
3391*4882a593Smuzhiyun #define REG_A6XX_GRAS_2D_RESOLVE_CNTL_2 0x0000840b
3392*4882a593Smuzhiyun #define A6XX_GRAS_2D_RESOLVE_CNTL_2_X__MASK 0x00003fff
3393*4882a593Smuzhiyun #define A6XX_GRAS_2D_RESOLVE_CNTL_2_X__SHIFT 0
A6XX_GRAS_2D_RESOLVE_CNTL_2_X(uint32_t val)3394*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_2D_RESOLVE_CNTL_2_X(uint32_t val)
3395*4882a593Smuzhiyun {
3396*4882a593Smuzhiyun return ((val) << A6XX_GRAS_2D_RESOLVE_CNTL_2_X__SHIFT) & A6XX_GRAS_2D_RESOLVE_CNTL_2_X__MASK;
3397*4882a593Smuzhiyun }
3398*4882a593Smuzhiyun #define A6XX_GRAS_2D_RESOLVE_CNTL_2_Y__MASK 0x3fff0000
3399*4882a593Smuzhiyun #define A6XX_GRAS_2D_RESOLVE_CNTL_2_Y__SHIFT 16
A6XX_GRAS_2D_RESOLVE_CNTL_2_Y(uint32_t val)3400*4882a593Smuzhiyun static inline uint32_t A6XX_GRAS_2D_RESOLVE_CNTL_2_Y(uint32_t val)
3401*4882a593Smuzhiyun {
3402*4882a593Smuzhiyun return ((val) << A6XX_GRAS_2D_RESOLVE_CNTL_2_Y__SHIFT) & A6XX_GRAS_2D_RESOLVE_CNTL_2_Y__MASK;
3403*4882a593Smuzhiyun }
3404*4882a593Smuzhiyun
3405*4882a593Smuzhiyun #define REG_A6XX_GRAS_UNKNOWN_8600 0x00008600
3406*4882a593Smuzhiyun
3407*4882a593Smuzhiyun #define REG_A6XX_GRAS_ADDR_MODE_CNTL 0x00008601
3408*4882a593Smuzhiyun
3409*4882a593Smuzhiyun #define REG_A6XX_GRAS_PERFCTR_TSE_SEL_0 0x00008610
3410*4882a593Smuzhiyun
3411*4882a593Smuzhiyun #define REG_A6XX_GRAS_PERFCTR_TSE_SEL_1 0x00008611
3412*4882a593Smuzhiyun
3413*4882a593Smuzhiyun #define REG_A6XX_GRAS_PERFCTR_TSE_SEL_2 0x00008612
3414*4882a593Smuzhiyun
3415*4882a593Smuzhiyun #define REG_A6XX_GRAS_PERFCTR_TSE_SEL_3 0x00008613
3416*4882a593Smuzhiyun
3417*4882a593Smuzhiyun #define REG_A6XX_GRAS_PERFCTR_RAS_SEL_0 0x00008614
3418*4882a593Smuzhiyun
3419*4882a593Smuzhiyun #define REG_A6XX_GRAS_PERFCTR_RAS_SEL_1 0x00008615
3420*4882a593Smuzhiyun
3421*4882a593Smuzhiyun #define REG_A6XX_GRAS_PERFCTR_RAS_SEL_2 0x00008616
3422*4882a593Smuzhiyun
3423*4882a593Smuzhiyun #define REG_A6XX_GRAS_PERFCTR_RAS_SEL_3 0x00008617
3424*4882a593Smuzhiyun
3425*4882a593Smuzhiyun #define REG_A6XX_GRAS_PERFCTR_LRZ_SEL_0 0x00008618
3426*4882a593Smuzhiyun
3427*4882a593Smuzhiyun #define REG_A6XX_GRAS_PERFCTR_LRZ_SEL_1 0x00008619
3428*4882a593Smuzhiyun
3429*4882a593Smuzhiyun #define REG_A6XX_GRAS_PERFCTR_LRZ_SEL_2 0x0000861a
3430*4882a593Smuzhiyun
3431*4882a593Smuzhiyun #define REG_A6XX_GRAS_PERFCTR_LRZ_SEL_3 0x0000861b
3432*4882a593Smuzhiyun
3433*4882a593Smuzhiyun #define REG_A6XX_RB_BIN_CONTROL 0x00008800
3434*4882a593Smuzhiyun #define A6XX_RB_BIN_CONTROL_BINW__MASK 0x0000003f
3435*4882a593Smuzhiyun #define A6XX_RB_BIN_CONTROL_BINW__SHIFT 0
A6XX_RB_BIN_CONTROL_BINW(uint32_t val)3436*4882a593Smuzhiyun static inline uint32_t A6XX_RB_BIN_CONTROL_BINW(uint32_t val)
3437*4882a593Smuzhiyun {
3438*4882a593Smuzhiyun return ((val >> 5) << A6XX_RB_BIN_CONTROL_BINW__SHIFT) & A6XX_RB_BIN_CONTROL_BINW__MASK;
3439*4882a593Smuzhiyun }
3440*4882a593Smuzhiyun #define A6XX_RB_BIN_CONTROL_BINH__MASK 0x00007f00
3441*4882a593Smuzhiyun #define A6XX_RB_BIN_CONTROL_BINH__SHIFT 8
A6XX_RB_BIN_CONTROL_BINH(uint32_t val)3442*4882a593Smuzhiyun static inline uint32_t A6XX_RB_BIN_CONTROL_BINH(uint32_t val)
3443*4882a593Smuzhiyun {
3444*4882a593Smuzhiyun return ((val >> 4) << A6XX_RB_BIN_CONTROL_BINH__SHIFT) & A6XX_RB_BIN_CONTROL_BINH__MASK;
3445*4882a593Smuzhiyun }
3446*4882a593Smuzhiyun #define A6XX_RB_BIN_CONTROL_BINNING_PASS 0x00040000
3447*4882a593Smuzhiyun #define A6XX_RB_BIN_CONTROL_UNK19__MASK 0x00080000
3448*4882a593Smuzhiyun #define A6XX_RB_BIN_CONTROL_UNK19__SHIFT 19
A6XX_RB_BIN_CONTROL_UNK19(uint32_t val)3449*4882a593Smuzhiyun static inline uint32_t A6XX_RB_BIN_CONTROL_UNK19(uint32_t val)
3450*4882a593Smuzhiyun {
3451*4882a593Smuzhiyun return ((val) << A6XX_RB_BIN_CONTROL_UNK19__SHIFT) & A6XX_RB_BIN_CONTROL_UNK19__MASK;
3452*4882a593Smuzhiyun }
3453*4882a593Smuzhiyun #define A6XX_RB_BIN_CONTROL_UNK20__MASK 0x00100000
3454*4882a593Smuzhiyun #define A6XX_RB_BIN_CONTROL_UNK20__SHIFT 20
A6XX_RB_BIN_CONTROL_UNK20(uint32_t val)3455*4882a593Smuzhiyun static inline uint32_t A6XX_RB_BIN_CONTROL_UNK20(uint32_t val)
3456*4882a593Smuzhiyun {
3457*4882a593Smuzhiyun return ((val) << A6XX_RB_BIN_CONTROL_UNK20__SHIFT) & A6XX_RB_BIN_CONTROL_UNK20__MASK;
3458*4882a593Smuzhiyun }
3459*4882a593Smuzhiyun #define A6XX_RB_BIN_CONTROL_USE_VIZ 0x00200000
3460*4882a593Smuzhiyun #define A6XX_RB_BIN_CONTROL_UNK22__MASK 0x07c00000
3461*4882a593Smuzhiyun #define A6XX_RB_BIN_CONTROL_UNK22__SHIFT 22
A6XX_RB_BIN_CONTROL_UNK22(uint32_t val)3462*4882a593Smuzhiyun static inline uint32_t A6XX_RB_BIN_CONTROL_UNK22(uint32_t val)
3463*4882a593Smuzhiyun {
3464*4882a593Smuzhiyun return ((val) << A6XX_RB_BIN_CONTROL_UNK22__SHIFT) & A6XX_RB_BIN_CONTROL_UNK22__MASK;
3465*4882a593Smuzhiyun }
3466*4882a593Smuzhiyun
3467*4882a593Smuzhiyun #define REG_A6XX_RB_RENDER_CNTL 0x00008801
3468*4882a593Smuzhiyun #define A6XX_RB_RENDER_CNTL_UNK3 0x00000008
3469*4882a593Smuzhiyun #define A6XX_RB_RENDER_CNTL_UNK4 0x00000010
3470*4882a593Smuzhiyun #define A6XX_RB_RENDER_CNTL_UNK5__MASK 0x00000060
3471*4882a593Smuzhiyun #define A6XX_RB_RENDER_CNTL_UNK5__SHIFT 5
A6XX_RB_RENDER_CNTL_UNK5(uint32_t val)3472*4882a593Smuzhiyun static inline uint32_t A6XX_RB_RENDER_CNTL_UNK5(uint32_t val)
3473*4882a593Smuzhiyun {
3474*4882a593Smuzhiyun return ((val) << A6XX_RB_RENDER_CNTL_UNK5__SHIFT) & A6XX_RB_RENDER_CNTL_UNK5__MASK;
3475*4882a593Smuzhiyun }
3476*4882a593Smuzhiyun #define A6XX_RB_RENDER_CNTL_BINNING 0x00000080
3477*4882a593Smuzhiyun #define A6XX_RB_RENDER_CNTL_UNK8__MASK 0x00001f00
3478*4882a593Smuzhiyun #define A6XX_RB_RENDER_CNTL_UNK8__SHIFT 8
A6XX_RB_RENDER_CNTL_UNK8(uint32_t val)3479*4882a593Smuzhiyun static inline uint32_t A6XX_RB_RENDER_CNTL_UNK8(uint32_t val)
3480*4882a593Smuzhiyun {
3481*4882a593Smuzhiyun return ((val) << A6XX_RB_RENDER_CNTL_UNK8__SHIFT) & A6XX_RB_RENDER_CNTL_UNK8__MASK;
3482*4882a593Smuzhiyun }
3483*4882a593Smuzhiyun #define A6XX_RB_RENDER_CNTL_FLAG_DEPTH 0x00004000
3484*4882a593Smuzhiyun #define A6XX_RB_RENDER_CNTL_FLAG_MRTS__MASK 0x00ff0000
3485*4882a593Smuzhiyun #define A6XX_RB_RENDER_CNTL_FLAG_MRTS__SHIFT 16
A6XX_RB_RENDER_CNTL_FLAG_MRTS(uint32_t val)3486*4882a593Smuzhiyun static inline uint32_t A6XX_RB_RENDER_CNTL_FLAG_MRTS(uint32_t val)
3487*4882a593Smuzhiyun {
3488*4882a593Smuzhiyun return ((val) << A6XX_RB_RENDER_CNTL_FLAG_MRTS__SHIFT) & A6XX_RB_RENDER_CNTL_FLAG_MRTS__MASK;
3489*4882a593Smuzhiyun }
3490*4882a593Smuzhiyun
3491*4882a593Smuzhiyun #define REG_A6XX_RB_RAS_MSAA_CNTL 0x00008802
3492*4882a593Smuzhiyun #define A6XX_RB_RAS_MSAA_CNTL_SAMPLES__MASK 0x00000003
3493*4882a593Smuzhiyun #define A6XX_RB_RAS_MSAA_CNTL_SAMPLES__SHIFT 0
A6XX_RB_RAS_MSAA_CNTL_SAMPLES(enum a3xx_msaa_samples val)3494*4882a593Smuzhiyun static inline uint32_t A6XX_RB_RAS_MSAA_CNTL_SAMPLES(enum a3xx_msaa_samples val)
3495*4882a593Smuzhiyun {
3496*4882a593Smuzhiyun return ((val) << A6XX_RB_RAS_MSAA_CNTL_SAMPLES__SHIFT) & A6XX_RB_RAS_MSAA_CNTL_SAMPLES__MASK;
3497*4882a593Smuzhiyun }
3498*4882a593Smuzhiyun #define A6XX_RB_RAS_MSAA_CNTL_UNK2__MASK 0x00000004
3499*4882a593Smuzhiyun #define A6XX_RB_RAS_MSAA_CNTL_UNK2__SHIFT 2
A6XX_RB_RAS_MSAA_CNTL_UNK2(uint32_t val)3500*4882a593Smuzhiyun static inline uint32_t A6XX_RB_RAS_MSAA_CNTL_UNK2(uint32_t val)
3501*4882a593Smuzhiyun {
3502*4882a593Smuzhiyun return ((val) << A6XX_RB_RAS_MSAA_CNTL_UNK2__SHIFT) & A6XX_RB_RAS_MSAA_CNTL_UNK2__MASK;
3503*4882a593Smuzhiyun }
3504*4882a593Smuzhiyun #define A6XX_RB_RAS_MSAA_CNTL_UNK3__MASK 0x00000008
3505*4882a593Smuzhiyun #define A6XX_RB_RAS_MSAA_CNTL_UNK3__SHIFT 3
A6XX_RB_RAS_MSAA_CNTL_UNK3(uint32_t val)3506*4882a593Smuzhiyun static inline uint32_t A6XX_RB_RAS_MSAA_CNTL_UNK3(uint32_t val)
3507*4882a593Smuzhiyun {
3508*4882a593Smuzhiyun return ((val) << A6XX_RB_RAS_MSAA_CNTL_UNK3__SHIFT) & A6XX_RB_RAS_MSAA_CNTL_UNK3__MASK;
3509*4882a593Smuzhiyun }
3510*4882a593Smuzhiyun
3511*4882a593Smuzhiyun #define REG_A6XX_RB_DEST_MSAA_CNTL 0x00008803
3512*4882a593Smuzhiyun #define A6XX_RB_DEST_MSAA_CNTL_SAMPLES__MASK 0x00000003
3513*4882a593Smuzhiyun #define A6XX_RB_DEST_MSAA_CNTL_SAMPLES__SHIFT 0
A6XX_RB_DEST_MSAA_CNTL_SAMPLES(enum a3xx_msaa_samples val)3514*4882a593Smuzhiyun static inline uint32_t A6XX_RB_DEST_MSAA_CNTL_SAMPLES(enum a3xx_msaa_samples val)
3515*4882a593Smuzhiyun {
3516*4882a593Smuzhiyun return ((val) << A6XX_RB_DEST_MSAA_CNTL_SAMPLES__SHIFT) & A6XX_RB_DEST_MSAA_CNTL_SAMPLES__MASK;
3517*4882a593Smuzhiyun }
3518*4882a593Smuzhiyun #define A6XX_RB_DEST_MSAA_CNTL_MSAA_DISABLE 0x00000004
3519*4882a593Smuzhiyun
3520*4882a593Smuzhiyun #define REG_A6XX_RB_SAMPLE_CONFIG 0x00008804
3521*4882a593Smuzhiyun #define A6XX_RB_SAMPLE_CONFIG_UNK0 0x00000001
3522*4882a593Smuzhiyun #define A6XX_RB_SAMPLE_CONFIG_LOCATION_ENABLE 0x00000002
3523*4882a593Smuzhiyun
3524*4882a593Smuzhiyun #define REG_A6XX_RB_SAMPLE_LOCATION_0 0x00008805
3525*4882a593Smuzhiyun #define A6XX_RB_SAMPLE_LOCATION_0_SAMPLE_0_X__MASK 0x0000000f
3526*4882a593Smuzhiyun #define A6XX_RB_SAMPLE_LOCATION_0_SAMPLE_0_X__SHIFT 0
A6XX_RB_SAMPLE_LOCATION_0_SAMPLE_0_X(float val)3527*4882a593Smuzhiyun static inline uint32_t A6XX_RB_SAMPLE_LOCATION_0_SAMPLE_0_X(float val)
3528*4882a593Smuzhiyun {
3529*4882a593Smuzhiyun return ((((int32_t)(val * 1.0))) << A6XX_RB_SAMPLE_LOCATION_0_SAMPLE_0_X__SHIFT) & A6XX_RB_SAMPLE_LOCATION_0_SAMPLE_0_X__MASK;
3530*4882a593Smuzhiyun }
3531*4882a593Smuzhiyun #define A6XX_RB_SAMPLE_LOCATION_0_SAMPLE_0_Y__MASK 0x000000f0
3532*4882a593Smuzhiyun #define A6XX_RB_SAMPLE_LOCATION_0_SAMPLE_0_Y__SHIFT 4
A6XX_RB_SAMPLE_LOCATION_0_SAMPLE_0_Y(float val)3533*4882a593Smuzhiyun static inline uint32_t A6XX_RB_SAMPLE_LOCATION_0_SAMPLE_0_Y(float val)
3534*4882a593Smuzhiyun {
3535*4882a593Smuzhiyun return ((((int32_t)(val * 1.0))) << A6XX_RB_SAMPLE_LOCATION_0_SAMPLE_0_Y__SHIFT) & A6XX_RB_SAMPLE_LOCATION_0_SAMPLE_0_Y__MASK;
3536*4882a593Smuzhiyun }
3537*4882a593Smuzhiyun #define A6XX_RB_SAMPLE_LOCATION_0_SAMPLE_1_X__MASK 0x00000f00
3538*4882a593Smuzhiyun #define A6XX_RB_SAMPLE_LOCATION_0_SAMPLE_1_X__SHIFT 8
A6XX_RB_SAMPLE_LOCATION_0_SAMPLE_1_X(float val)3539*4882a593Smuzhiyun static inline uint32_t A6XX_RB_SAMPLE_LOCATION_0_SAMPLE_1_X(float val)
3540*4882a593Smuzhiyun {
3541*4882a593Smuzhiyun return ((((int32_t)(val * 1.0))) << A6XX_RB_SAMPLE_LOCATION_0_SAMPLE_1_X__SHIFT) & A6XX_RB_SAMPLE_LOCATION_0_SAMPLE_1_X__MASK;
3542*4882a593Smuzhiyun }
3543*4882a593Smuzhiyun #define A6XX_RB_SAMPLE_LOCATION_0_SAMPLE_1_Y__MASK 0x0000f000
3544*4882a593Smuzhiyun #define A6XX_RB_SAMPLE_LOCATION_0_SAMPLE_1_Y__SHIFT 12
A6XX_RB_SAMPLE_LOCATION_0_SAMPLE_1_Y(float val)3545*4882a593Smuzhiyun static inline uint32_t A6XX_RB_SAMPLE_LOCATION_0_SAMPLE_1_Y(float val)
3546*4882a593Smuzhiyun {
3547*4882a593Smuzhiyun return ((((int32_t)(val * 1.0))) << A6XX_RB_SAMPLE_LOCATION_0_SAMPLE_1_Y__SHIFT) & A6XX_RB_SAMPLE_LOCATION_0_SAMPLE_1_Y__MASK;
3548*4882a593Smuzhiyun }
3549*4882a593Smuzhiyun #define A6XX_RB_SAMPLE_LOCATION_0_SAMPLE_2_X__MASK 0x000f0000
3550*4882a593Smuzhiyun #define A6XX_RB_SAMPLE_LOCATION_0_SAMPLE_2_X__SHIFT 16
A6XX_RB_SAMPLE_LOCATION_0_SAMPLE_2_X(float val)3551*4882a593Smuzhiyun static inline uint32_t A6XX_RB_SAMPLE_LOCATION_0_SAMPLE_2_X(float val)
3552*4882a593Smuzhiyun {
3553*4882a593Smuzhiyun return ((((int32_t)(val * 1.0))) << A6XX_RB_SAMPLE_LOCATION_0_SAMPLE_2_X__SHIFT) & A6XX_RB_SAMPLE_LOCATION_0_SAMPLE_2_X__MASK;
3554*4882a593Smuzhiyun }
3555*4882a593Smuzhiyun #define A6XX_RB_SAMPLE_LOCATION_0_SAMPLE_2_Y__MASK 0x00f00000
3556*4882a593Smuzhiyun #define A6XX_RB_SAMPLE_LOCATION_0_SAMPLE_2_Y__SHIFT 20
A6XX_RB_SAMPLE_LOCATION_0_SAMPLE_2_Y(float val)3557*4882a593Smuzhiyun static inline uint32_t A6XX_RB_SAMPLE_LOCATION_0_SAMPLE_2_Y(float val)
3558*4882a593Smuzhiyun {
3559*4882a593Smuzhiyun return ((((int32_t)(val * 1.0))) << A6XX_RB_SAMPLE_LOCATION_0_SAMPLE_2_Y__SHIFT) & A6XX_RB_SAMPLE_LOCATION_0_SAMPLE_2_Y__MASK;
3560*4882a593Smuzhiyun }
3561*4882a593Smuzhiyun #define A6XX_RB_SAMPLE_LOCATION_0_SAMPLE_3_X__MASK 0x0f000000
3562*4882a593Smuzhiyun #define A6XX_RB_SAMPLE_LOCATION_0_SAMPLE_3_X__SHIFT 24
A6XX_RB_SAMPLE_LOCATION_0_SAMPLE_3_X(float val)3563*4882a593Smuzhiyun static inline uint32_t A6XX_RB_SAMPLE_LOCATION_0_SAMPLE_3_X(float val)
3564*4882a593Smuzhiyun {
3565*4882a593Smuzhiyun return ((((int32_t)(val * 1.0))) << A6XX_RB_SAMPLE_LOCATION_0_SAMPLE_3_X__SHIFT) & A6XX_RB_SAMPLE_LOCATION_0_SAMPLE_3_X__MASK;
3566*4882a593Smuzhiyun }
3567*4882a593Smuzhiyun #define A6XX_RB_SAMPLE_LOCATION_0_SAMPLE_3_Y__MASK 0xf0000000
3568*4882a593Smuzhiyun #define A6XX_RB_SAMPLE_LOCATION_0_SAMPLE_3_Y__SHIFT 28
A6XX_RB_SAMPLE_LOCATION_0_SAMPLE_3_Y(float val)3569*4882a593Smuzhiyun static inline uint32_t A6XX_RB_SAMPLE_LOCATION_0_SAMPLE_3_Y(float val)
3570*4882a593Smuzhiyun {
3571*4882a593Smuzhiyun return ((((int32_t)(val * 1.0))) << A6XX_RB_SAMPLE_LOCATION_0_SAMPLE_3_Y__SHIFT) & A6XX_RB_SAMPLE_LOCATION_0_SAMPLE_3_Y__MASK;
3572*4882a593Smuzhiyun }
3573*4882a593Smuzhiyun
3574*4882a593Smuzhiyun #define REG_A6XX_RB_SAMPLE_LOCATION_1 0x00008806
3575*4882a593Smuzhiyun #define A6XX_RB_SAMPLE_LOCATION_1_SAMPLE_0_X__MASK 0x0000000f
3576*4882a593Smuzhiyun #define A6XX_RB_SAMPLE_LOCATION_1_SAMPLE_0_X__SHIFT 0
A6XX_RB_SAMPLE_LOCATION_1_SAMPLE_0_X(float val)3577*4882a593Smuzhiyun static inline uint32_t A6XX_RB_SAMPLE_LOCATION_1_SAMPLE_0_X(float val)
3578*4882a593Smuzhiyun {
3579*4882a593Smuzhiyun return ((((int32_t)(val * 1.0))) << A6XX_RB_SAMPLE_LOCATION_1_SAMPLE_0_X__SHIFT) & A6XX_RB_SAMPLE_LOCATION_1_SAMPLE_0_X__MASK;
3580*4882a593Smuzhiyun }
3581*4882a593Smuzhiyun #define A6XX_RB_SAMPLE_LOCATION_1_SAMPLE_0_Y__MASK 0x000000f0
3582*4882a593Smuzhiyun #define A6XX_RB_SAMPLE_LOCATION_1_SAMPLE_0_Y__SHIFT 4
A6XX_RB_SAMPLE_LOCATION_1_SAMPLE_0_Y(float val)3583*4882a593Smuzhiyun static inline uint32_t A6XX_RB_SAMPLE_LOCATION_1_SAMPLE_0_Y(float val)
3584*4882a593Smuzhiyun {
3585*4882a593Smuzhiyun return ((((int32_t)(val * 1.0))) << A6XX_RB_SAMPLE_LOCATION_1_SAMPLE_0_Y__SHIFT) & A6XX_RB_SAMPLE_LOCATION_1_SAMPLE_0_Y__MASK;
3586*4882a593Smuzhiyun }
3587*4882a593Smuzhiyun #define A6XX_RB_SAMPLE_LOCATION_1_SAMPLE_1_X__MASK 0x00000f00
3588*4882a593Smuzhiyun #define A6XX_RB_SAMPLE_LOCATION_1_SAMPLE_1_X__SHIFT 8
A6XX_RB_SAMPLE_LOCATION_1_SAMPLE_1_X(float val)3589*4882a593Smuzhiyun static inline uint32_t A6XX_RB_SAMPLE_LOCATION_1_SAMPLE_1_X(float val)
3590*4882a593Smuzhiyun {
3591*4882a593Smuzhiyun return ((((int32_t)(val * 1.0))) << A6XX_RB_SAMPLE_LOCATION_1_SAMPLE_1_X__SHIFT) & A6XX_RB_SAMPLE_LOCATION_1_SAMPLE_1_X__MASK;
3592*4882a593Smuzhiyun }
3593*4882a593Smuzhiyun #define A6XX_RB_SAMPLE_LOCATION_1_SAMPLE_1_Y__MASK 0x0000f000
3594*4882a593Smuzhiyun #define A6XX_RB_SAMPLE_LOCATION_1_SAMPLE_1_Y__SHIFT 12
A6XX_RB_SAMPLE_LOCATION_1_SAMPLE_1_Y(float val)3595*4882a593Smuzhiyun static inline uint32_t A6XX_RB_SAMPLE_LOCATION_1_SAMPLE_1_Y(float val)
3596*4882a593Smuzhiyun {
3597*4882a593Smuzhiyun return ((((int32_t)(val * 1.0))) << A6XX_RB_SAMPLE_LOCATION_1_SAMPLE_1_Y__SHIFT) & A6XX_RB_SAMPLE_LOCATION_1_SAMPLE_1_Y__MASK;
3598*4882a593Smuzhiyun }
3599*4882a593Smuzhiyun #define A6XX_RB_SAMPLE_LOCATION_1_SAMPLE_2_X__MASK 0x000f0000
3600*4882a593Smuzhiyun #define A6XX_RB_SAMPLE_LOCATION_1_SAMPLE_2_X__SHIFT 16
A6XX_RB_SAMPLE_LOCATION_1_SAMPLE_2_X(float val)3601*4882a593Smuzhiyun static inline uint32_t A6XX_RB_SAMPLE_LOCATION_1_SAMPLE_2_X(float val)
3602*4882a593Smuzhiyun {
3603*4882a593Smuzhiyun return ((((int32_t)(val * 1.0))) << A6XX_RB_SAMPLE_LOCATION_1_SAMPLE_2_X__SHIFT) & A6XX_RB_SAMPLE_LOCATION_1_SAMPLE_2_X__MASK;
3604*4882a593Smuzhiyun }
3605*4882a593Smuzhiyun #define A6XX_RB_SAMPLE_LOCATION_1_SAMPLE_2_Y__MASK 0x00f00000
3606*4882a593Smuzhiyun #define A6XX_RB_SAMPLE_LOCATION_1_SAMPLE_2_Y__SHIFT 20
A6XX_RB_SAMPLE_LOCATION_1_SAMPLE_2_Y(float val)3607*4882a593Smuzhiyun static inline uint32_t A6XX_RB_SAMPLE_LOCATION_1_SAMPLE_2_Y(float val)
3608*4882a593Smuzhiyun {
3609*4882a593Smuzhiyun return ((((int32_t)(val * 1.0))) << A6XX_RB_SAMPLE_LOCATION_1_SAMPLE_2_Y__SHIFT) & A6XX_RB_SAMPLE_LOCATION_1_SAMPLE_2_Y__MASK;
3610*4882a593Smuzhiyun }
3611*4882a593Smuzhiyun #define A6XX_RB_SAMPLE_LOCATION_1_SAMPLE_3_X__MASK 0x0f000000
3612*4882a593Smuzhiyun #define A6XX_RB_SAMPLE_LOCATION_1_SAMPLE_3_X__SHIFT 24
A6XX_RB_SAMPLE_LOCATION_1_SAMPLE_3_X(float val)3613*4882a593Smuzhiyun static inline uint32_t A6XX_RB_SAMPLE_LOCATION_1_SAMPLE_3_X(float val)
3614*4882a593Smuzhiyun {
3615*4882a593Smuzhiyun return ((((int32_t)(val * 1.0))) << A6XX_RB_SAMPLE_LOCATION_1_SAMPLE_3_X__SHIFT) & A6XX_RB_SAMPLE_LOCATION_1_SAMPLE_3_X__MASK;
3616*4882a593Smuzhiyun }
3617*4882a593Smuzhiyun #define A6XX_RB_SAMPLE_LOCATION_1_SAMPLE_3_Y__MASK 0xf0000000
3618*4882a593Smuzhiyun #define A6XX_RB_SAMPLE_LOCATION_1_SAMPLE_3_Y__SHIFT 28
A6XX_RB_SAMPLE_LOCATION_1_SAMPLE_3_Y(float val)3619*4882a593Smuzhiyun static inline uint32_t A6XX_RB_SAMPLE_LOCATION_1_SAMPLE_3_Y(float val)
3620*4882a593Smuzhiyun {
3621*4882a593Smuzhiyun return ((((int32_t)(val * 1.0))) << A6XX_RB_SAMPLE_LOCATION_1_SAMPLE_3_Y__SHIFT) & A6XX_RB_SAMPLE_LOCATION_1_SAMPLE_3_Y__MASK;
3622*4882a593Smuzhiyun }
3623*4882a593Smuzhiyun
3624*4882a593Smuzhiyun #define REG_A6XX_RB_RENDER_CONTROL0 0x00008809
3625*4882a593Smuzhiyun #define A6XX_RB_RENDER_CONTROL0_IJ_PERSP_PIXEL 0x00000001
3626*4882a593Smuzhiyun #define A6XX_RB_RENDER_CONTROL0_IJ_PERSP_CENTROID 0x00000002
3627*4882a593Smuzhiyun #define A6XX_RB_RENDER_CONTROL0_IJ_PERSP_SAMPLE 0x00000004
3628*4882a593Smuzhiyun #define A6XX_RB_RENDER_CONTROL0_SIZE 0x00000008
3629*4882a593Smuzhiyun #define A6XX_RB_RENDER_CONTROL0_UNK4 0x00000010
3630*4882a593Smuzhiyun #define A6XX_RB_RENDER_CONTROL0_SIZE_PERSAMP 0x00000020
3631*4882a593Smuzhiyun #define A6XX_RB_RENDER_CONTROL0_COORD_MASK__MASK 0x000003c0
3632*4882a593Smuzhiyun #define A6XX_RB_RENDER_CONTROL0_COORD_MASK__SHIFT 6
A6XX_RB_RENDER_CONTROL0_COORD_MASK(uint32_t val)3633*4882a593Smuzhiyun static inline uint32_t A6XX_RB_RENDER_CONTROL0_COORD_MASK(uint32_t val)
3634*4882a593Smuzhiyun {
3635*4882a593Smuzhiyun return ((val) << A6XX_RB_RENDER_CONTROL0_COORD_MASK__SHIFT) & A6XX_RB_RENDER_CONTROL0_COORD_MASK__MASK;
3636*4882a593Smuzhiyun }
3637*4882a593Smuzhiyun #define A6XX_RB_RENDER_CONTROL0_UNK10 0x00000400
3638*4882a593Smuzhiyun
3639*4882a593Smuzhiyun #define REG_A6XX_RB_RENDER_CONTROL1 0x0000880a
3640*4882a593Smuzhiyun #define A6XX_RB_RENDER_CONTROL1_SAMPLEMASK 0x00000001
3641*4882a593Smuzhiyun #define A6XX_RB_RENDER_CONTROL1_UNK1 0x00000002
3642*4882a593Smuzhiyun #define A6XX_RB_RENDER_CONTROL1_FACENESS 0x00000004
3643*4882a593Smuzhiyun #define A6XX_RB_RENDER_CONTROL1_SAMPLEID 0x00000008
3644*4882a593Smuzhiyun #define A6XX_RB_RENDER_CONTROL1_UNK4 0x00000010
3645*4882a593Smuzhiyun #define A6XX_RB_RENDER_CONTROL1_UNK5 0x00000020
3646*4882a593Smuzhiyun #define A6XX_RB_RENDER_CONTROL1_SIZE 0x00000040
3647*4882a593Smuzhiyun #define A6XX_RB_RENDER_CONTROL1_UNK7 0x00000080
3648*4882a593Smuzhiyun #define A6XX_RB_RENDER_CONTROL1_UNK8 0x00000100
3649*4882a593Smuzhiyun
3650*4882a593Smuzhiyun #define REG_A6XX_RB_FS_OUTPUT_CNTL0 0x0000880b
3651*4882a593Smuzhiyun #define A6XX_RB_FS_OUTPUT_CNTL0_DUAL_COLOR_IN_ENABLE 0x00000001
3652*4882a593Smuzhiyun #define A6XX_RB_FS_OUTPUT_CNTL0_FRAG_WRITES_Z 0x00000002
3653*4882a593Smuzhiyun #define A6XX_RB_FS_OUTPUT_CNTL0_FRAG_WRITES_SAMPMASK 0x00000004
3654*4882a593Smuzhiyun #define A6XX_RB_FS_OUTPUT_CNTL0_FRAG_WRITES_STENCILREF 0x00000008
3655*4882a593Smuzhiyun
3656*4882a593Smuzhiyun #define REG_A6XX_RB_FS_OUTPUT_CNTL1 0x0000880c
3657*4882a593Smuzhiyun #define A6XX_RB_FS_OUTPUT_CNTL1_MRT__MASK 0x0000000f
3658*4882a593Smuzhiyun #define A6XX_RB_FS_OUTPUT_CNTL1_MRT__SHIFT 0
A6XX_RB_FS_OUTPUT_CNTL1_MRT(uint32_t val)3659*4882a593Smuzhiyun static inline uint32_t A6XX_RB_FS_OUTPUT_CNTL1_MRT(uint32_t val)
3660*4882a593Smuzhiyun {
3661*4882a593Smuzhiyun return ((val) << A6XX_RB_FS_OUTPUT_CNTL1_MRT__SHIFT) & A6XX_RB_FS_OUTPUT_CNTL1_MRT__MASK;
3662*4882a593Smuzhiyun }
3663*4882a593Smuzhiyun
3664*4882a593Smuzhiyun #define REG_A6XX_RB_RENDER_COMPONENTS 0x0000880d
3665*4882a593Smuzhiyun #define A6XX_RB_RENDER_COMPONENTS_RT0__MASK 0x0000000f
3666*4882a593Smuzhiyun #define A6XX_RB_RENDER_COMPONENTS_RT0__SHIFT 0
A6XX_RB_RENDER_COMPONENTS_RT0(uint32_t val)3667*4882a593Smuzhiyun static inline uint32_t A6XX_RB_RENDER_COMPONENTS_RT0(uint32_t val)
3668*4882a593Smuzhiyun {
3669*4882a593Smuzhiyun return ((val) << A6XX_RB_RENDER_COMPONENTS_RT0__SHIFT) & A6XX_RB_RENDER_COMPONENTS_RT0__MASK;
3670*4882a593Smuzhiyun }
3671*4882a593Smuzhiyun #define A6XX_RB_RENDER_COMPONENTS_RT1__MASK 0x000000f0
3672*4882a593Smuzhiyun #define A6XX_RB_RENDER_COMPONENTS_RT1__SHIFT 4
A6XX_RB_RENDER_COMPONENTS_RT1(uint32_t val)3673*4882a593Smuzhiyun static inline uint32_t A6XX_RB_RENDER_COMPONENTS_RT1(uint32_t val)
3674*4882a593Smuzhiyun {
3675*4882a593Smuzhiyun return ((val) << A6XX_RB_RENDER_COMPONENTS_RT1__SHIFT) & A6XX_RB_RENDER_COMPONENTS_RT1__MASK;
3676*4882a593Smuzhiyun }
3677*4882a593Smuzhiyun #define A6XX_RB_RENDER_COMPONENTS_RT2__MASK 0x00000f00
3678*4882a593Smuzhiyun #define A6XX_RB_RENDER_COMPONENTS_RT2__SHIFT 8
A6XX_RB_RENDER_COMPONENTS_RT2(uint32_t val)3679*4882a593Smuzhiyun static inline uint32_t A6XX_RB_RENDER_COMPONENTS_RT2(uint32_t val)
3680*4882a593Smuzhiyun {
3681*4882a593Smuzhiyun return ((val) << A6XX_RB_RENDER_COMPONENTS_RT2__SHIFT) & A6XX_RB_RENDER_COMPONENTS_RT2__MASK;
3682*4882a593Smuzhiyun }
3683*4882a593Smuzhiyun #define A6XX_RB_RENDER_COMPONENTS_RT3__MASK 0x0000f000
3684*4882a593Smuzhiyun #define A6XX_RB_RENDER_COMPONENTS_RT3__SHIFT 12
A6XX_RB_RENDER_COMPONENTS_RT3(uint32_t val)3685*4882a593Smuzhiyun static inline uint32_t A6XX_RB_RENDER_COMPONENTS_RT3(uint32_t val)
3686*4882a593Smuzhiyun {
3687*4882a593Smuzhiyun return ((val) << A6XX_RB_RENDER_COMPONENTS_RT3__SHIFT) & A6XX_RB_RENDER_COMPONENTS_RT3__MASK;
3688*4882a593Smuzhiyun }
3689*4882a593Smuzhiyun #define A6XX_RB_RENDER_COMPONENTS_RT4__MASK 0x000f0000
3690*4882a593Smuzhiyun #define A6XX_RB_RENDER_COMPONENTS_RT4__SHIFT 16
A6XX_RB_RENDER_COMPONENTS_RT4(uint32_t val)3691*4882a593Smuzhiyun static inline uint32_t A6XX_RB_RENDER_COMPONENTS_RT4(uint32_t val)
3692*4882a593Smuzhiyun {
3693*4882a593Smuzhiyun return ((val) << A6XX_RB_RENDER_COMPONENTS_RT4__SHIFT) & A6XX_RB_RENDER_COMPONENTS_RT4__MASK;
3694*4882a593Smuzhiyun }
3695*4882a593Smuzhiyun #define A6XX_RB_RENDER_COMPONENTS_RT5__MASK 0x00f00000
3696*4882a593Smuzhiyun #define A6XX_RB_RENDER_COMPONENTS_RT5__SHIFT 20
A6XX_RB_RENDER_COMPONENTS_RT5(uint32_t val)3697*4882a593Smuzhiyun static inline uint32_t A6XX_RB_RENDER_COMPONENTS_RT5(uint32_t val)
3698*4882a593Smuzhiyun {
3699*4882a593Smuzhiyun return ((val) << A6XX_RB_RENDER_COMPONENTS_RT5__SHIFT) & A6XX_RB_RENDER_COMPONENTS_RT5__MASK;
3700*4882a593Smuzhiyun }
3701*4882a593Smuzhiyun #define A6XX_RB_RENDER_COMPONENTS_RT6__MASK 0x0f000000
3702*4882a593Smuzhiyun #define A6XX_RB_RENDER_COMPONENTS_RT6__SHIFT 24
A6XX_RB_RENDER_COMPONENTS_RT6(uint32_t val)3703*4882a593Smuzhiyun static inline uint32_t A6XX_RB_RENDER_COMPONENTS_RT6(uint32_t val)
3704*4882a593Smuzhiyun {
3705*4882a593Smuzhiyun return ((val) << A6XX_RB_RENDER_COMPONENTS_RT6__SHIFT) & A6XX_RB_RENDER_COMPONENTS_RT6__MASK;
3706*4882a593Smuzhiyun }
3707*4882a593Smuzhiyun #define A6XX_RB_RENDER_COMPONENTS_RT7__MASK 0xf0000000
3708*4882a593Smuzhiyun #define A6XX_RB_RENDER_COMPONENTS_RT7__SHIFT 28
A6XX_RB_RENDER_COMPONENTS_RT7(uint32_t val)3709*4882a593Smuzhiyun static inline uint32_t A6XX_RB_RENDER_COMPONENTS_RT7(uint32_t val)
3710*4882a593Smuzhiyun {
3711*4882a593Smuzhiyun return ((val) << A6XX_RB_RENDER_COMPONENTS_RT7__SHIFT) & A6XX_RB_RENDER_COMPONENTS_RT7__MASK;
3712*4882a593Smuzhiyun }
3713*4882a593Smuzhiyun
3714*4882a593Smuzhiyun #define REG_A6XX_RB_DITHER_CNTL 0x0000880e
3715*4882a593Smuzhiyun #define A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT0__MASK 0x00000003
3716*4882a593Smuzhiyun #define A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT0__SHIFT 0
A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT0(enum adreno_rb_dither_mode val)3717*4882a593Smuzhiyun static inline uint32_t A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT0(enum adreno_rb_dither_mode val)
3718*4882a593Smuzhiyun {
3719*4882a593Smuzhiyun return ((val) << A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT0__SHIFT) & A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT0__MASK;
3720*4882a593Smuzhiyun }
3721*4882a593Smuzhiyun #define A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT1__MASK 0x0000000c
3722*4882a593Smuzhiyun #define A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT1__SHIFT 2
A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT1(enum adreno_rb_dither_mode val)3723*4882a593Smuzhiyun static inline uint32_t A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT1(enum adreno_rb_dither_mode val)
3724*4882a593Smuzhiyun {
3725*4882a593Smuzhiyun return ((val) << A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT1__SHIFT) & A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT1__MASK;
3726*4882a593Smuzhiyun }
3727*4882a593Smuzhiyun #define A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT2__MASK 0x00000030
3728*4882a593Smuzhiyun #define A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT2__SHIFT 4
A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT2(enum adreno_rb_dither_mode val)3729*4882a593Smuzhiyun static inline uint32_t A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT2(enum adreno_rb_dither_mode val)
3730*4882a593Smuzhiyun {
3731*4882a593Smuzhiyun return ((val) << A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT2__SHIFT) & A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT2__MASK;
3732*4882a593Smuzhiyun }
3733*4882a593Smuzhiyun #define A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT3__MASK 0x000000c0
3734*4882a593Smuzhiyun #define A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT3__SHIFT 6
A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT3(enum adreno_rb_dither_mode val)3735*4882a593Smuzhiyun static inline uint32_t A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT3(enum adreno_rb_dither_mode val)
3736*4882a593Smuzhiyun {
3737*4882a593Smuzhiyun return ((val) << A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT3__SHIFT) & A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT3__MASK;
3738*4882a593Smuzhiyun }
3739*4882a593Smuzhiyun #define A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT4__MASK 0x00000300
3740*4882a593Smuzhiyun #define A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT4__SHIFT 8
A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT4(enum adreno_rb_dither_mode val)3741*4882a593Smuzhiyun static inline uint32_t A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT4(enum adreno_rb_dither_mode val)
3742*4882a593Smuzhiyun {
3743*4882a593Smuzhiyun return ((val) << A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT4__SHIFT) & A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT4__MASK;
3744*4882a593Smuzhiyun }
3745*4882a593Smuzhiyun #define A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT5__MASK 0x00000c00
3746*4882a593Smuzhiyun #define A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT5__SHIFT 10
A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT5(enum adreno_rb_dither_mode val)3747*4882a593Smuzhiyun static inline uint32_t A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT5(enum adreno_rb_dither_mode val)
3748*4882a593Smuzhiyun {
3749*4882a593Smuzhiyun return ((val) << A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT5__SHIFT) & A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT5__MASK;
3750*4882a593Smuzhiyun }
3751*4882a593Smuzhiyun #define A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT6__MASK 0x00001000
3752*4882a593Smuzhiyun #define A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT6__SHIFT 12
A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT6(enum adreno_rb_dither_mode val)3753*4882a593Smuzhiyun static inline uint32_t A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT6(enum adreno_rb_dither_mode val)
3754*4882a593Smuzhiyun {
3755*4882a593Smuzhiyun return ((val) << A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT6__SHIFT) & A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT6__MASK;
3756*4882a593Smuzhiyun }
3757*4882a593Smuzhiyun #define A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT7__MASK 0x0000c000
3758*4882a593Smuzhiyun #define A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT7__SHIFT 14
A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT7(enum adreno_rb_dither_mode val)3759*4882a593Smuzhiyun static inline uint32_t A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT7(enum adreno_rb_dither_mode val)
3760*4882a593Smuzhiyun {
3761*4882a593Smuzhiyun return ((val) << A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT7__SHIFT) & A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT7__MASK;
3762*4882a593Smuzhiyun }
3763*4882a593Smuzhiyun
3764*4882a593Smuzhiyun #define REG_A6XX_RB_SRGB_CNTL 0x0000880f
3765*4882a593Smuzhiyun #define A6XX_RB_SRGB_CNTL_SRGB_MRT0 0x00000001
3766*4882a593Smuzhiyun #define A6XX_RB_SRGB_CNTL_SRGB_MRT1 0x00000002
3767*4882a593Smuzhiyun #define A6XX_RB_SRGB_CNTL_SRGB_MRT2 0x00000004
3768*4882a593Smuzhiyun #define A6XX_RB_SRGB_CNTL_SRGB_MRT3 0x00000008
3769*4882a593Smuzhiyun #define A6XX_RB_SRGB_CNTL_SRGB_MRT4 0x00000010
3770*4882a593Smuzhiyun #define A6XX_RB_SRGB_CNTL_SRGB_MRT5 0x00000020
3771*4882a593Smuzhiyun #define A6XX_RB_SRGB_CNTL_SRGB_MRT6 0x00000040
3772*4882a593Smuzhiyun #define A6XX_RB_SRGB_CNTL_SRGB_MRT7 0x00000080
3773*4882a593Smuzhiyun
3774*4882a593Smuzhiyun #define REG_A6XX_RB_SAMPLE_CNTL 0x00008810
3775*4882a593Smuzhiyun #define A6XX_RB_SAMPLE_CNTL_PER_SAMP_MODE 0x00000001
3776*4882a593Smuzhiyun
3777*4882a593Smuzhiyun #define REG_A6XX_RB_UNKNOWN_8811 0x00008811
3778*4882a593Smuzhiyun
3779*4882a593Smuzhiyun #define REG_A6XX_RB_UNKNOWN_8818 0x00008818
3780*4882a593Smuzhiyun
3781*4882a593Smuzhiyun #define REG_A6XX_RB_UNKNOWN_8819 0x00008819
3782*4882a593Smuzhiyun
3783*4882a593Smuzhiyun #define REG_A6XX_RB_UNKNOWN_881A 0x0000881a
3784*4882a593Smuzhiyun
3785*4882a593Smuzhiyun #define REG_A6XX_RB_UNKNOWN_881B 0x0000881b
3786*4882a593Smuzhiyun
3787*4882a593Smuzhiyun #define REG_A6XX_RB_UNKNOWN_881C 0x0000881c
3788*4882a593Smuzhiyun
3789*4882a593Smuzhiyun #define REG_A6XX_RB_UNKNOWN_881D 0x0000881d
3790*4882a593Smuzhiyun
3791*4882a593Smuzhiyun #define REG_A6XX_RB_UNKNOWN_881E 0x0000881e
3792*4882a593Smuzhiyun
REG_A6XX_RB_MRT(uint32_t i0)3793*4882a593Smuzhiyun static inline uint32_t REG_A6XX_RB_MRT(uint32_t i0) { return 0x00008820 + 0x8*i0; }
3794*4882a593Smuzhiyun
REG_A6XX_RB_MRT_CONTROL(uint32_t i0)3795*4882a593Smuzhiyun static inline uint32_t REG_A6XX_RB_MRT_CONTROL(uint32_t i0) { return 0x00008820 + 0x8*i0; }
3796*4882a593Smuzhiyun #define A6XX_RB_MRT_CONTROL_BLEND 0x00000001
3797*4882a593Smuzhiyun #define A6XX_RB_MRT_CONTROL_BLEND2 0x00000002
3798*4882a593Smuzhiyun #define A6XX_RB_MRT_CONTROL_ROP_ENABLE 0x00000004
3799*4882a593Smuzhiyun #define A6XX_RB_MRT_CONTROL_ROP_CODE__MASK 0x00000078
3800*4882a593Smuzhiyun #define A6XX_RB_MRT_CONTROL_ROP_CODE__SHIFT 3
A6XX_RB_MRT_CONTROL_ROP_CODE(enum a3xx_rop_code val)3801*4882a593Smuzhiyun static inline uint32_t A6XX_RB_MRT_CONTROL_ROP_CODE(enum a3xx_rop_code val)
3802*4882a593Smuzhiyun {
3803*4882a593Smuzhiyun return ((val) << A6XX_RB_MRT_CONTROL_ROP_CODE__SHIFT) & A6XX_RB_MRT_CONTROL_ROP_CODE__MASK;
3804*4882a593Smuzhiyun }
3805*4882a593Smuzhiyun #define A6XX_RB_MRT_CONTROL_COMPONENT_ENABLE__MASK 0x00000780
3806*4882a593Smuzhiyun #define A6XX_RB_MRT_CONTROL_COMPONENT_ENABLE__SHIFT 7
A6XX_RB_MRT_CONTROL_COMPONENT_ENABLE(uint32_t val)3807*4882a593Smuzhiyun static inline uint32_t A6XX_RB_MRT_CONTROL_COMPONENT_ENABLE(uint32_t val)
3808*4882a593Smuzhiyun {
3809*4882a593Smuzhiyun return ((val) << A6XX_RB_MRT_CONTROL_COMPONENT_ENABLE__SHIFT) & A6XX_RB_MRT_CONTROL_COMPONENT_ENABLE__MASK;
3810*4882a593Smuzhiyun }
3811*4882a593Smuzhiyun
REG_A6XX_RB_MRT_BLEND_CONTROL(uint32_t i0)3812*4882a593Smuzhiyun static inline uint32_t REG_A6XX_RB_MRT_BLEND_CONTROL(uint32_t i0) { return 0x00008821 + 0x8*i0; }
3813*4882a593Smuzhiyun #define A6XX_RB_MRT_BLEND_CONTROL_RGB_SRC_FACTOR__MASK 0x0000001f
3814*4882a593Smuzhiyun #define A6XX_RB_MRT_BLEND_CONTROL_RGB_SRC_FACTOR__SHIFT 0
A6XX_RB_MRT_BLEND_CONTROL_RGB_SRC_FACTOR(enum adreno_rb_blend_factor val)3815*4882a593Smuzhiyun static inline uint32_t A6XX_RB_MRT_BLEND_CONTROL_RGB_SRC_FACTOR(enum adreno_rb_blend_factor val)
3816*4882a593Smuzhiyun {
3817*4882a593Smuzhiyun return ((val) << A6XX_RB_MRT_BLEND_CONTROL_RGB_SRC_FACTOR__SHIFT) & A6XX_RB_MRT_BLEND_CONTROL_RGB_SRC_FACTOR__MASK;
3818*4882a593Smuzhiyun }
3819*4882a593Smuzhiyun #define A6XX_RB_MRT_BLEND_CONTROL_RGB_BLEND_OPCODE__MASK 0x000000e0
3820*4882a593Smuzhiyun #define A6XX_RB_MRT_BLEND_CONTROL_RGB_BLEND_OPCODE__SHIFT 5
A6XX_RB_MRT_BLEND_CONTROL_RGB_BLEND_OPCODE(enum a3xx_rb_blend_opcode val)3821*4882a593Smuzhiyun static inline uint32_t A6XX_RB_MRT_BLEND_CONTROL_RGB_BLEND_OPCODE(enum a3xx_rb_blend_opcode val)
3822*4882a593Smuzhiyun {
3823*4882a593Smuzhiyun return ((val) << A6XX_RB_MRT_BLEND_CONTROL_RGB_BLEND_OPCODE__SHIFT) & A6XX_RB_MRT_BLEND_CONTROL_RGB_BLEND_OPCODE__MASK;
3824*4882a593Smuzhiyun }
3825*4882a593Smuzhiyun #define A6XX_RB_MRT_BLEND_CONTROL_RGB_DEST_FACTOR__MASK 0x00001f00
3826*4882a593Smuzhiyun #define A6XX_RB_MRT_BLEND_CONTROL_RGB_DEST_FACTOR__SHIFT 8
A6XX_RB_MRT_BLEND_CONTROL_RGB_DEST_FACTOR(enum adreno_rb_blend_factor val)3827*4882a593Smuzhiyun static inline uint32_t A6XX_RB_MRT_BLEND_CONTROL_RGB_DEST_FACTOR(enum adreno_rb_blend_factor val)
3828*4882a593Smuzhiyun {
3829*4882a593Smuzhiyun return ((val) << A6XX_RB_MRT_BLEND_CONTROL_RGB_DEST_FACTOR__SHIFT) & A6XX_RB_MRT_BLEND_CONTROL_RGB_DEST_FACTOR__MASK;
3830*4882a593Smuzhiyun }
3831*4882a593Smuzhiyun #define A6XX_RB_MRT_BLEND_CONTROL_ALPHA_SRC_FACTOR__MASK 0x001f0000
3832*4882a593Smuzhiyun #define A6XX_RB_MRT_BLEND_CONTROL_ALPHA_SRC_FACTOR__SHIFT 16
A6XX_RB_MRT_BLEND_CONTROL_ALPHA_SRC_FACTOR(enum adreno_rb_blend_factor val)3833*4882a593Smuzhiyun static inline uint32_t A6XX_RB_MRT_BLEND_CONTROL_ALPHA_SRC_FACTOR(enum adreno_rb_blend_factor val)
3834*4882a593Smuzhiyun {
3835*4882a593Smuzhiyun return ((val) << A6XX_RB_MRT_BLEND_CONTROL_ALPHA_SRC_FACTOR__SHIFT) & A6XX_RB_MRT_BLEND_CONTROL_ALPHA_SRC_FACTOR__MASK;
3836*4882a593Smuzhiyun }
3837*4882a593Smuzhiyun #define A6XX_RB_MRT_BLEND_CONTROL_ALPHA_BLEND_OPCODE__MASK 0x00e00000
3838*4882a593Smuzhiyun #define A6XX_RB_MRT_BLEND_CONTROL_ALPHA_BLEND_OPCODE__SHIFT 21
A6XX_RB_MRT_BLEND_CONTROL_ALPHA_BLEND_OPCODE(enum a3xx_rb_blend_opcode val)3839*4882a593Smuzhiyun static inline uint32_t A6XX_RB_MRT_BLEND_CONTROL_ALPHA_BLEND_OPCODE(enum a3xx_rb_blend_opcode val)
3840*4882a593Smuzhiyun {
3841*4882a593Smuzhiyun return ((val) << A6XX_RB_MRT_BLEND_CONTROL_ALPHA_BLEND_OPCODE__SHIFT) & A6XX_RB_MRT_BLEND_CONTROL_ALPHA_BLEND_OPCODE__MASK;
3842*4882a593Smuzhiyun }
3843*4882a593Smuzhiyun #define A6XX_RB_MRT_BLEND_CONTROL_ALPHA_DEST_FACTOR__MASK 0x1f000000
3844*4882a593Smuzhiyun #define A6XX_RB_MRT_BLEND_CONTROL_ALPHA_DEST_FACTOR__SHIFT 24
A6XX_RB_MRT_BLEND_CONTROL_ALPHA_DEST_FACTOR(enum adreno_rb_blend_factor val)3845*4882a593Smuzhiyun static inline uint32_t A6XX_RB_MRT_BLEND_CONTROL_ALPHA_DEST_FACTOR(enum adreno_rb_blend_factor val)
3846*4882a593Smuzhiyun {
3847*4882a593Smuzhiyun return ((val) << A6XX_RB_MRT_BLEND_CONTROL_ALPHA_DEST_FACTOR__SHIFT) & A6XX_RB_MRT_BLEND_CONTROL_ALPHA_DEST_FACTOR__MASK;
3848*4882a593Smuzhiyun }
3849*4882a593Smuzhiyun
REG_A6XX_RB_MRT_BUF_INFO(uint32_t i0)3850*4882a593Smuzhiyun static inline uint32_t REG_A6XX_RB_MRT_BUF_INFO(uint32_t i0) { return 0x00008822 + 0x8*i0; }
3851*4882a593Smuzhiyun #define A6XX_RB_MRT_BUF_INFO_COLOR_FORMAT__MASK 0x000000ff
3852*4882a593Smuzhiyun #define A6XX_RB_MRT_BUF_INFO_COLOR_FORMAT__SHIFT 0
A6XX_RB_MRT_BUF_INFO_COLOR_FORMAT(enum a6xx_format val)3853*4882a593Smuzhiyun static inline uint32_t A6XX_RB_MRT_BUF_INFO_COLOR_FORMAT(enum a6xx_format val)
3854*4882a593Smuzhiyun {
3855*4882a593Smuzhiyun return ((val) << A6XX_RB_MRT_BUF_INFO_COLOR_FORMAT__SHIFT) & A6XX_RB_MRT_BUF_INFO_COLOR_FORMAT__MASK;
3856*4882a593Smuzhiyun }
3857*4882a593Smuzhiyun #define A6XX_RB_MRT_BUF_INFO_COLOR_TILE_MODE__MASK 0x00000300
3858*4882a593Smuzhiyun #define A6XX_RB_MRT_BUF_INFO_COLOR_TILE_MODE__SHIFT 8
A6XX_RB_MRT_BUF_INFO_COLOR_TILE_MODE(enum a6xx_tile_mode val)3859*4882a593Smuzhiyun static inline uint32_t A6XX_RB_MRT_BUF_INFO_COLOR_TILE_MODE(enum a6xx_tile_mode val)
3860*4882a593Smuzhiyun {
3861*4882a593Smuzhiyun return ((val) << A6XX_RB_MRT_BUF_INFO_COLOR_TILE_MODE__SHIFT) & A6XX_RB_MRT_BUF_INFO_COLOR_TILE_MODE__MASK;
3862*4882a593Smuzhiyun }
3863*4882a593Smuzhiyun #define A6XX_RB_MRT_BUF_INFO_UNK10__MASK 0x00000400
3864*4882a593Smuzhiyun #define A6XX_RB_MRT_BUF_INFO_UNK10__SHIFT 10
A6XX_RB_MRT_BUF_INFO_UNK10(uint32_t val)3865*4882a593Smuzhiyun static inline uint32_t A6XX_RB_MRT_BUF_INFO_UNK10(uint32_t val)
3866*4882a593Smuzhiyun {
3867*4882a593Smuzhiyun return ((val) << A6XX_RB_MRT_BUF_INFO_UNK10__SHIFT) & A6XX_RB_MRT_BUF_INFO_UNK10__MASK;
3868*4882a593Smuzhiyun }
3869*4882a593Smuzhiyun #define A6XX_RB_MRT_BUF_INFO_COLOR_SWAP__MASK 0x00006000
3870*4882a593Smuzhiyun #define A6XX_RB_MRT_BUF_INFO_COLOR_SWAP__SHIFT 13
A6XX_RB_MRT_BUF_INFO_COLOR_SWAP(enum a3xx_color_swap val)3871*4882a593Smuzhiyun static inline uint32_t A6XX_RB_MRT_BUF_INFO_COLOR_SWAP(enum a3xx_color_swap val)
3872*4882a593Smuzhiyun {
3873*4882a593Smuzhiyun return ((val) << A6XX_RB_MRT_BUF_INFO_COLOR_SWAP__SHIFT) & A6XX_RB_MRT_BUF_INFO_COLOR_SWAP__MASK;
3874*4882a593Smuzhiyun }
3875*4882a593Smuzhiyun
REG_A6XX_RB_MRT_PITCH(uint32_t i0)3876*4882a593Smuzhiyun static inline uint32_t REG_A6XX_RB_MRT_PITCH(uint32_t i0) { return 0x00008823 + 0x8*i0; }
3877*4882a593Smuzhiyun #define A6XX_RB_MRT_PITCH__MASK 0x0000ffff
3878*4882a593Smuzhiyun #define A6XX_RB_MRT_PITCH__SHIFT 0
A6XX_RB_MRT_PITCH(uint32_t val)3879*4882a593Smuzhiyun static inline uint32_t A6XX_RB_MRT_PITCH(uint32_t val)
3880*4882a593Smuzhiyun {
3881*4882a593Smuzhiyun return ((val >> 6) << A6XX_RB_MRT_PITCH__SHIFT) & A6XX_RB_MRT_PITCH__MASK;
3882*4882a593Smuzhiyun }
3883*4882a593Smuzhiyun
REG_A6XX_RB_MRT_ARRAY_PITCH(uint32_t i0)3884*4882a593Smuzhiyun static inline uint32_t REG_A6XX_RB_MRT_ARRAY_PITCH(uint32_t i0) { return 0x00008824 + 0x8*i0; }
3885*4882a593Smuzhiyun #define A6XX_RB_MRT_ARRAY_PITCH__MASK 0x1fffffff
3886*4882a593Smuzhiyun #define A6XX_RB_MRT_ARRAY_PITCH__SHIFT 0
A6XX_RB_MRT_ARRAY_PITCH(uint32_t val)3887*4882a593Smuzhiyun static inline uint32_t A6XX_RB_MRT_ARRAY_PITCH(uint32_t val)
3888*4882a593Smuzhiyun {
3889*4882a593Smuzhiyun return ((val >> 6) << A6XX_RB_MRT_ARRAY_PITCH__SHIFT) & A6XX_RB_MRT_ARRAY_PITCH__MASK;
3890*4882a593Smuzhiyun }
3891*4882a593Smuzhiyun
REG_A6XX_RB_MRT_BASE_LO(uint32_t i0)3892*4882a593Smuzhiyun static inline uint32_t REG_A6XX_RB_MRT_BASE_LO(uint32_t i0) { return 0x00008825 + 0x8*i0; }
3893*4882a593Smuzhiyun
REG_A6XX_RB_MRT_BASE_HI(uint32_t i0)3894*4882a593Smuzhiyun static inline uint32_t REG_A6XX_RB_MRT_BASE_HI(uint32_t i0) { return 0x00008826 + 0x8*i0; }
3895*4882a593Smuzhiyun
REG_A6XX_RB_MRT_BASE(uint32_t i0)3896*4882a593Smuzhiyun static inline uint32_t REG_A6XX_RB_MRT_BASE(uint32_t i0) { return 0x00008825 + 0x8*i0; }
3897*4882a593Smuzhiyun #define A6XX_RB_MRT_BASE__MASK 0xffffffff
3898*4882a593Smuzhiyun #define A6XX_RB_MRT_BASE__SHIFT 0
A6XX_RB_MRT_BASE(uint32_t val)3899*4882a593Smuzhiyun static inline uint32_t A6XX_RB_MRT_BASE(uint32_t val)
3900*4882a593Smuzhiyun {
3901*4882a593Smuzhiyun return ((val) << A6XX_RB_MRT_BASE__SHIFT) & A6XX_RB_MRT_BASE__MASK;
3902*4882a593Smuzhiyun }
3903*4882a593Smuzhiyun
REG_A6XX_RB_MRT_BASE_GMEM(uint32_t i0)3904*4882a593Smuzhiyun static inline uint32_t REG_A6XX_RB_MRT_BASE_GMEM(uint32_t i0) { return 0x00008827 + 0x8*i0; }
3905*4882a593Smuzhiyun #define A6XX_RB_MRT_BASE_GMEM__MASK 0xfffff000
3906*4882a593Smuzhiyun #define A6XX_RB_MRT_BASE_GMEM__SHIFT 12
A6XX_RB_MRT_BASE_GMEM(uint32_t val)3907*4882a593Smuzhiyun static inline uint32_t A6XX_RB_MRT_BASE_GMEM(uint32_t val)
3908*4882a593Smuzhiyun {
3909*4882a593Smuzhiyun return ((val >> 12) << A6XX_RB_MRT_BASE_GMEM__SHIFT) & A6XX_RB_MRT_BASE_GMEM__MASK;
3910*4882a593Smuzhiyun }
3911*4882a593Smuzhiyun
3912*4882a593Smuzhiyun #define REG_A6XX_RB_BLEND_RED_F32 0x00008860
3913*4882a593Smuzhiyun #define A6XX_RB_BLEND_RED_F32__MASK 0xffffffff
3914*4882a593Smuzhiyun #define A6XX_RB_BLEND_RED_F32__SHIFT 0
A6XX_RB_BLEND_RED_F32(float val)3915*4882a593Smuzhiyun static inline uint32_t A6XX_RB_BLEND_RED_F32(float val)
3916*4882a593Smuzhiyun {
3917*4882a593Smuzhiyun return ((fui(val)) << A6XX_RB_BLEND_RED_F32__SHIFT) & A6XX_RB_BLEND_RED_F32__MASK;
3918*4882a593Smuzhiyun }
3919*4882a593Smuzhiyun
3920*4882a593Smuzhiyun #define REG_A6XX_RB_BLEND_GREEN_F32 0x00008861
3921*4882a593Smuzhiyun #define A6XX_RB_BLEND_GREEN_F32__MASK 0xffffffff
3922*4882a593Smuzhiyun #define A6XX_RB_BLEND_GREEN_F32__SHIFT 0
A6XX_RB_BLEND_GREEN_F32(float val)3923*4882a593Smuzhiyun static inline uint32_t A6XX_RB_BLEND_GREEN_F32(float val)
3924*4882a593Smuzhiyun {
3925*4882a593Smuzhiyun return ((fui(val)) << A6XX_RB_BLEND_GREEN_F32__SHIFT) & A6XX_RB_BLEND_GREEN_F32__MASK;
3926*4882a593Smuzhiyun }
3927*4882a593Smuzhiyun
3928*4882a593Smuzhiyun #define REG_A6XX_RB_BLEND_BLUE_F32 0x00008862
3929*4882a593Smuzhiyun #define A6XX_RB_BLEND_BLUE_F32__MASK 0xffffffff
3930*4882a593Smuzhiyun #define A6XX_RB_BLEND_BLUE_F32__SHIFT 0
A6XX_RB_BLEND_BLUE_F32(float val)3931*4882a593Smuzhiyun static inline uint32_t A6XX_RB_BLEND_BLUE_F32(float val)
3932*4882a593Smuzhiyun {
3933*4882a593Smuzhiyun return ((fui(val)) << A6XX_RB_BLEND_BLUE_F32__SHIFT) & A6XX_RB_BLEND_BLUE_F32__MASK;
3934*4882a593Smuzhiyun }
3935*4882a593Smuzhiyun
3936*4882a593Smuzhiyun #define REG_A6XX_RB_BLEND_ALPHA_F32 0x00008863
3937*4882a593Smuzhiyun #define A6XX_RB_BLEND_ALPHA_F32__MASK 0xffffffff
3938*4882a593Smuzhiyun #define A6XX_RB_BLEND_ALPHA_F32__SHIFT 0
A6XX_RB_BLEND_ALPHA_F32(float val)3939*4882a593Smuzhiyun static inline uint32_t A6XX_RB_BLEND_ALPHA_F32(float val)
3940*4882a593Smuzhiyun {
3941*4882a593Smuzhiyun return ((fui(val)) << A6XX_RB_BLEND_ALPHA_F32__SHIFT) & A6XX_RB_BLEND_ALPHA_F32__MASK;
3942*4882a593Smuzhiyun }
3943*4882a593Smuzhiyun
3944*4882a593Smuzhiyun #define REG_A6XX_RB_ALPHA_CONTROL 0x00008864
3945*4882a593Smuzhiyun #define A6XX_RB_ALPHA_CONTROL_ALPHA_REF__MASK 0x000000ff
3946*4882a593Smuzhiyun #define A6XX_RB_ALPHA_CONTROL_ALPHA_REF__SHIFT 0
A6XX_RB_ALPHA_CONTROL_ALPHA_REF(uint32_t val)3947*4882a593Smuzhiyun static inline uint32_t A6XX_RB_ALPHA_CONTROL_ALPHA_REF(uint32_t val)
3948*4882a593Smuzhiyun {
3949*4882a593Smuzhiyun return ((val) << A6XX_RB_ALPHA_CONTROL_ALPHA_REF__SHIFT) & A6XX_RB_ALPHA_CONTROL_ALPHA_REF__MASK;
3950*4882a593Smuzhiyun }
3951*4882a593Smuzhiyun #define A6XX_RB_ALPHA_CONTROL_ALPHA_TEST 0x00000100
3952*4882a593Smuzhiyun #define A6XX_RB_ALPHA_CONTROL_ALPHA_TEST_FUNC__MASK 0x00000e00
3953*4882a593Smuzhiyun #define A6XX_RB_ALPHA_CONTROL_ALPHA_TEST_FUNC__SHIFT 9
A6XX_RB_ALPHA_CONTROL_ALPHA_TEST_FUNC(enum adreno_compare_func val)3954*4882a593Smuzhiyun static inline uint32_t A6XX_RB_ALPHA_CONTROL_ALPHA_TEST_FUNC(enum adreno_compare_func val)
3955*4882a593Smuzhiyun {
3956*4882a593Smuzhiyun return ((val) << A6XX_RB_ALPHA_CONTROL_ALPHA_TEST_FUNC__SHIFT) & A6XX_RB_ALPHA_CONTROL_ALPHA_TEST_FUNC__MASK;
3957*4882a593Smuzhiyun }
3958*4882a593Smuzhiyun
3959*4882a593Smuzhiyun #define REG_A6XX_RB_BLEND_CNTL 0x00008865
3960*4882a593Smuzhiyun #define A6XX_RB_BLEND_CNTL_ENABLE_BLEND__MASK 0x000000ff
3961*4882a593Smuzhiyun #define A6XX_RB_BLEND_CNTL_ENABLE_BLEND__SHIFT 0
A6XX_RB_BLEND_CNTL_ENABLE_BLEND(uint32_t val)3962*4882a593Smuzhiyun static inline uint32_t A6XX_RB_BLEND_CNTL_ENABLE_BLEND(uint32_t val)
3963*4882a593Smuzhiyun {
3964*4882a593Smuzhiyun return ((val) << A6XX_RB_BLEND_CNTL_ENABLE_BLEND__SHIFT) & A6XX_RB_BLEND_CNTL_ENABLE_BLEND__MASK;
3965*4882a593Smuzhiyun }
3966*4882a593Smuzhiyun #define A6XX_RB_BLEND_CNTL_INDEPENDENT_BLEND 0x00000100
3967*4882a593Smuzhiyun #define A6XX_RB_BLEND_CNTL_DUAL_COLOR_IN_ENABLE 0x00000200
3968*4882a593Smuzhiyun #define A6XX_RB_BLEND_CNTL_ALPHA_TO_COVERAGE 0x00000400
3969*4882a593Smuzhiyun #define A6XX_RB_BLEND_CNTL_ALPHA_TO_ONE 0x00000800
3970*4882a593Smuzhiyun #define A6XX_RB_BLEND_CNTL_SAMPLE_MASK__MASK 0xffff0000
3971*4882a593Smuzhiyun #define A6XX_RB_BLEND_CNTL_SAMPLE_MASK__SHIFT 16
A6XX_RB_BLEND_CNTL_SAMPLE_MASK(uint32_t val)3972*4882a593Smuzhiyun static inline uint32_t A6XX_RB_BLEND_CNTL_SAMPLE_MASK(uint32_t val)
3973*4882a593Smuzhiyun {
3974*4882a593Smuzhiyun return ((val) << A6XX_RB_BLEND_CNTL_SAMPLE_MASK__SHIFT) & A6XX_RB_BLEND_CNTL_SAMPLE_MASK__MASK;
3975*4882a593Smuzhiyun }
3976*4882a593Smuzhiyun
3977*4882a593Smuzhiyun #define REG_A6XX_RB_DEPTH_PLANE_CNTL 0x00008870
3978*4882a593Smuzhiyun #define A6XX_RB_DEPTH_PLANE_CNTL_Z_MODE__MASK 0x00000003
3979*4882a593Smuzhiyun #define A6XX_RB_DEPTH_PLANE_CNTL_Z_MODE__SHIFT 0
A6XX_RB_DEPTH_PLANE_CNTL_Z_MODE(enum a6xx_ztest_mode val)3980*4882a593Smuzhiyun static inline uint32_t A6XX_RB_DEPTH_PLANE_CNTL_Z_MODE(enum a6xx_ztest_mode val)
3981*4882a593Smuzhiyun {
3982*4882a593Smuzhiyun return ((val) << A6XX_RB_DEPTH_PLANE_CNTL_Z_MODE__SHIFT) & A6XX_RB_DEPTH_PLANE_CNTL_Z_MODE__MASK;
3983*4882a593Smuzhiyun }
3984*4882a593Smuzhiyun
3985*4882a593Smuzhiyun #define REG_A6XX_RB_DEPTH_CNTL 0x00008871
3986*4882a593Smuzhiyun #define A6XX_RB_DEPTH_CNTL_Z_ENABLE 0x00000001
3987*4882a593Smuzhiyun #define A6XX_RB_DEPTH_CNTL_Z_WRITE_ENABLE 0x00000002
3988*4882a593Smuzhiyun #define A6XX_RB_DEPTH_CNTL_ZFUNC__MASK 0x0000001c
3989*4882a593Smuzhiyun #define A6XX_RB_DEPTH_CNTL_ZFUNC__SHIFT 2
A6XX_RB_DEPTH_CNTL_ZFUNC(enum adreno_compare_func val)3990*4882a593Smuzhiyun static inline uint32_t A6XX_RB_DEPTH_CNTL_ZFUNC(enum adreno_compare_func val)
3991*4882a593Smuzhiyun {
3992*4882a593Smuzhiyun return ((val) << A6XX_RB_DEPTH_CNTL_ZFUNC__SHIFT) & A6XX_RB_DEPTH_CNTL_ZFUNC__MASK;
3993*4882a593Smuzhiyun }
3994*4882a593Smuzhiyun #define A6XX_RB_DEPTH_CNTL_Z_CLAMP_ENABLE 0x00000020
3995*4882a593Smuzhiyun #define A6XX_RB_DEPTH_CNTL_Z_TEST_ENABLE 0x00000040
3996*4882a593Smuzhiyun #define A6XX_RB_DEPTH_CNTL_Z_BOUNDS_ENABLE 0x00000080
3997*4882a593Smuzhiyun
3998*4882a593Smuzhiyun #define REG_A6XX_RB_DEPTH_BUFFER_INFO 0x00008872
3999*4882a593Smuzhiyun #define A6XX_RB_DEPTH_BUFFER_INFO_DEPTH_FORMAT__MASK 0x00000007
4000*4882a593Smuzhiyun #define A6XX_RB_DEPTH_BUFFER_INFO_DEPTH_FORMAT__SHIFT 0
A6XX_RB_DEPTH_BUFFER_INFO_DEPTH_FORMAT(enum a6xx_depth_format val)4001*4882a593Smuzhiyun static inline uint32_t A6XX_RB_DEPTH_BUFFER_INFO_DEPTH_FORMAT(enum a6xx_depth_format val)
4002*4882a593Smuzhiyun {
4003*4882a593Smuzhiyun return ((val) << A6XX_RB_DEPTH_BUFFER_INFO_DEPTH_FORMAT__SHIFT) & A6XX_RB_DEPTH_BUFFER_INFO_DEPTH_FORMAT__MASK;
4004*4882a593Smuzhiyun }
4005*4882a593Smuzhiyun #define A6XX_RB_DEPTH_BUFFER_INFO_UNK3__MASK 0x00000018
4006*4882a593Smuzhiyun #define A6XX_RB_DEPTH_BUFFER_INFO_UNK3__SHIFT 3
A6XX_RB_DEPTH_BUFFER_INFO_UNK3(uint32_t val)4007*4882a593Smuzhiyun static inline uint32_t A6XX_RB_DEPTH_BUFFER_INFO_UNK3(uint32_t val)
4008*4882a593Smuzhiyun {
4009*4882a593Smuzhiyun return ((val) << A6XX_RB_DEPTH_BUFFER_INFO_UNK3__SHIFT) & A6XX_RB_DEPTH_BUFFER_INFO_UNK3__MASK;
4010*4882a593Smuzhiyun }
4011*4882a593Smuzhiyun
4012*4882a593Smuzhiyun #define REG_A6XX_RB_DEPTH_BUFFER_PITCH 0x00008873
4013*4882a593Smuzhiyun #define A6XX_RB_DEPTH_BUFFER_PITCH__MASK 0x00003fff
4014*4882a593Smuzhiyun #define A6XX_RB_DEPTH_BUFFER_PITCH__SHIFT 0
A6XX_RB_DEPTH_BUFFER_PITCH(uint32_t val)4015*4882a593Smuzhiyun static inline uint32_t A6XX_RB_DEPTH_BUFFER_PITCH(uint32_t val)
4016*4882a593Smuzhiyun {
4017*4882a593Smuzhiyun return ((val >> 6) << A6XX_RB_DEPTH_BUFFER_PITCH__SHIFT) & A6XX_RB_DEPTH_BUFFER_PITCH__MASK;
4018*4882a593Smuzhiyun }
4019*4882a593Smuzhiyun
4020*4882a593Smuzhiyun #define REG_A6XX_RB_DEPTH_BUFFER_ARRAY_PITCH 0x00008874
4021*4882a593Smuzhiyun #define A6XX_RB_DEPTH_BUFFER_ARRAY_PITCH__MASK 0x0fffffff
4022*4882a593Smuzhiyun #define A6XX_RB_DEPTH_BUFFER_ARRAY_PITCH__SHIFT 0
A6XX_RB_DEPTH_BUFFER_ARRAY_PITCH(uint32_t val)4023*4882a593Smuzhiyun static inline uint32_t A6XX_RB_DEPTH_BUFFER_ARRAY_PITCH(uint32_t val)
4024*4882a593Smuzhiyun {
4025*4882a593Smuzhiyun return ((val >> 6) << A6XX_RB_DEPTH_BUFFER_ARRAY_PITCH__SHIFT) & A6XX_RB_DEPTH_BUFFER_ARRAY_PITCH__MASK;
4026*4882a593Smuzhiyun }
4027*4882a593Smuzhiyun
4028*4882a593Smuzhiyun #define REG_A6XX_RB_DEPTH_BUFFER_BASE_LO 0x00008875
4029*4882a593Smuzhiyun
4030*4882a593Smuzhiyun #define REG_A6XX_RB_DEPTH_BUFFER_BASE_HI 0x00008876
4031*4882a593Smuzhiyun
4032*4882a593Smuzhiyun #define REG_A6XX_RB_DEPTH_BUFFER_BASE 0x00008875
4033*4882a593Smuzhiyun #define A6XX_RB_DEPTH_BUFFER_BASE__MASK 0xffffffff
4034*4882a593Smuzhiyun #define A6XX_RB_DEPTH_BUFFER_BASE__SHIFT 0
A6XX_RB_DEPTH_BUFFER_BASE(uint32_t val)4035*4882a593Smuzhiyun static inline uint32_t A6XX_RB_DEPTH_BUFFER_BASE(uint32_t val)
4036*4882a593Smuzhiyun {
4037*4882a593Smuzhiyun return ((val) << A6XX_RB_DEPTH_BUFFER_BASE__SHIFT) & A6XX_RB_DEPTH_BUFFER_BASE__MASK;
4038*4882a593Smuzhiyun }
4039*4882a593Smuzhiyun
4040*4882a593Smuzhiyun #define REG_A6XX_RB_DEPTH_BUFFER_BASE_GMEM 0x00008877
4041*4882a593Smuzhiyun #define A6XX_RB_DEPTH_BUFFER_BASE_GMEM__MASK 0xfffff000
4042*4882a593Smuzhiyun #define A6XX_RB_DEPTH_BUFFER_BASE_GMEM__SHIFT 12
A6XX_RB_DEPTH_BUFFER_BASE_GMEM(uint32_t val)4043*4882a593Smuzhiyun static inline uint32_t A6XX_RB_DEPTH_BUFFER_BASE_GMEM(uint32_t val)
4044*4882a593Smuzhiyun {
4045*4882a593Smuzhiyun return ((val >> 12) << A6XX_RB_DEPTH_BUFFER_BASE_GMEM__SHIFT) & A6XX_RB_DEPTH_BUFFER_BASE_GMEM__MASK;
4046*4882a593Smuzhiyun }
4047*4882a593Smuzhiyun
4048*4882a593Smuzhiyun #define REG_A6XX_RB_Z_BOUNDS_MIN 0x00008878
4049*4882a593Smuzhiyun #define A6XX_RB_Z_BOUNDS_MIN__MASK 0xffffffff
4050*4882a593Smuzhiyun #define A6XX_RB_Z_BOUNDS_MIN__SHIFT 0
A6XX_RB_Z_BOUNDS_MIN(float val)4051*4882a593Smuzhiyun static inline uint32_t A6XX_RB_Z_BOUNDS_MIN(float val)
4052*4882a593Smuzhiyun {
4053*4882a593Smuzhiyun return ((fui(val)) << A6XX_RB_Z_BOUNDS_MIN__SHIFT) & A6XX_RB_Z_BOUNDS_MIN__MASK;
4054*4882a593Smuzhiyun }
4055*4882a593Smuzhiyun
4056*4882a593Smuzhiyun #define REG_A6XX_RB_Z_BOUNDS_MAX 0x00008879
4057*4882a593Smuzhiyun #define A6XX_RB_Z_BOUNDS_MAX__MASK 0xffffffff
4058*4882a593Smuzhiyun #define A6XX_RB_Z_BOUNDS_MAX__SHIFT 0
A6XX_RB_Z_BOUNDS_MAX(float val)4059*4882a593Smuzhiyun static inline uint32_t A6XX_RB_Z_BOUNDS_MAX(float val)
4060*4882a593Smuzhiyun {
4061*4882a593Smuzhiyun return ((fui(val)) << A6XX_RB_Z_BOUNDS_MAX__SHIFT) & A6XX_RB_Z_BOUNDS_MAX__MASK;
4062*4882a593Smuzhiyun }
4063*4882a593Smuzhiyun
4064*4882a593Smuzhiyun #define REG_A6XX_RB_STENCIL_CONTROL 0x00008880
4065*4882a593Smuzhiyun #define A6XX_RB_STENCIL_CONTROL_STENCIL_ENABLE 0x00000001
4066*4882a593Smuzhiyun #define A6XX_RB_STENCIL_CONTROL_STENCIL_ENABLE_BF 0x00000002
4067*4882a593Smuzhiyun #define A6XX_RB_STENCIL_CONTROL_STENCIL_READ 0x00000004
4068*4882a593Smuzhiyun #define A6XX_RB_STENCIL_CONTROL_FUNC__MASK 0x00000700
4069*4882a593Smuzhiyun #define A6XX_RB_STENCIL_CONTROL_FUNC__SHIFT 8
A6XX_RB_STENCIL_CONTROL_FUNC(enum adreno_compare_func val)4070*4882a593Smuzhiyun static inline uint32_t A6XX_RB_STENCIL_CONTROL_FUNC(enum adreno_compare_func val)
4071*4882a593Smuzhiyun {
4072*4882a593Smuzhiyun return ((val) << A6XX_RB_STENCIL_CONTROL_FUNC__SHIFT) & A6XX_RB_STENCIL_CONTROL_FUNC__MASK;
4073*4882a593Smuzhiyun }
4074*4882a593Smuzhiyun #define A6XX_RB_STENCIL_CONTROL_FAIL__MASK 0x00003800
4075*4882a593Smuzhiyun #define A6XX_RB_STENCIL_CONTROL_FAIL__SHIFT 11
A6XX_RB_STENCIL_CONTROL_FAIL(enum adreno_stencil_op val)4076*4882a593Smuzhiyun static inline uint32_t A6XX_RB_STENCIL_CONTROL_FAIL(enum adreno_stencil_op val)
4077*4882a593Smuzhiyun {
4078*4882a593Smuzhiyun return ((val) << A6XX_RB_STENCIL_CONTROL_FAIL__SHIFT) & A6XX_RB_STENCIL_CONTROL_FAIL__MASK;
4079*4882a593Smuzhiyun }
4080*4882a593Smuzhiyun #define A6XX_RB_STENCIL_CONTROL_ZPASS__MASK 0x0001c000
4081*4882a593Smuzhiyun #define A6XX_RB_STENCIL_CONTROL_ZPASS__SHIFT 14
A6XX_RB_STENCIL_CONTROL_ZPASS(enum adreno_stencil_op val)4082*4882a593Smuzhiyun static inline uint32_t A6XX_RB_STENCIL_CONTROL_ZPASS(enum adreno_stencil_op val)
4083*4882a593Smuzhiyun {
4084*4882a593Smuzhiyun return ((val) << A6XX_RB_STENCIL_CONTROL_ZPASS__SHIFT) & A6XX_RB_STENCIL_CONTROL_ZPASS__MASK;
4085*4882a593Smuzhiyun }
4086*4882a593Smuzhiyun #define A6XX_RB_STENCIL_CONTROL_ZFAIL__MASK 0x000e0000
4087*4882a593Smuzhiyun #define A6XX_RB_STENCIL_CONTROL_ZFAIL__SHIFT 17
A6XX_RB_STENCIL_CONTROL_ZFAIL(enum adreno_stencil_op val)4088*4882a593Smuzhiyun static inline uint32_t A6XX_RB_STENCIL_CONTROL_ZFAIL(enum adreno_stencil_op val)
4089*4882a593Smuzhiyun {
4090*4882a593Smuzhiyun return ((val) << A6XX_RB_STENCIL_CONTROL_ZFAIL__SHIFT) & A6XX_RB_STENCIL_CONTROL_ZFAIL__MASK;
4091*4882a593Smuzhiyun }
4092*4882a593Smuzhiyun #define A6XX_RB_STENCIL_CONTROL_FUNC_BF__MASK 0x00700000
4093*4882a593Smuzhiyun #define A6XX_RB_STENCIL_CONTROL_FUNC_BF__SHIFT 20
A6XX_RB_STENCIL_CONTROL_FUNC_BF(enum adreno_compare_func val)4094*4882a593Smuzhiyun static inline uint32_t A6XX_RB_STENCIL_CONTROL_FUNC_BF(enum adreno_compare_func val)
4095*4882a593Smuzhiyun {
4096*4882a593Smuzhiyun return ((val) << A6XX_RB_STENCIL_CONTROL_FUNC_BF__SHIFT) & A6XX_RB_STENCIL_CONTROL_FUNC_BF__MASK;
4097*4882a593Smuzhiyun }
4098*4882a593Smuzhiyun #define A6XX_RB_STENCIL_CONTROL_FAIL_BF__MASK 0x03800000
4099*4882a593Smuzhiyun #define A6XX_RB_STENCIL_CONTROL_FAIL_BF__SHIFT 23
A6XX_RB_STENCIL_CONTROL_FAIL_BF(enum adreno_stencil_op val)4100*4882a593Smuzhiyun static inline uint32_t A6XX_RB_STENCIL_CONTROL_FAIL_BF(enum adreno_stencil_op val)
4101*4882a593Smuzhiyun {
4102*4882a593Smuzhiyun return ((val) << A6XX_RB_STENCIL_CONTROL_FAIL_BF__SHIFT) & A6XX_RB_STENCIL_CONTROL_FAIL_BF__MASK;
4103*4882a593Smuzhiyun }
4104*4882a593Smuzhiyun #define A6XX_RB_STENCIL_CONTROL_ZPASS_BF__MASK 0x1c000000
4105*4882a593Smuzhiyun #define A6XX_RB_STENCIL_CONTROL_ZPASS_BF__SHIFT 26
A6XX_RB_STENCIL_CONTROL_ZPASS_BF(enum adreno_stencil_op val)4106*4882a593Smuzhiyun static inline uint32_t A6XX_RB_STENCIL_CONTROL_ZPASS_BF(enum adreno_stencil_op val)
4107*4882a593Smuzhiyun {
4108*4882a593Smuzhiyun return ((val) << A6XX_RB_STENCIL_CONTROL_ZPASS_BF__SHIFT) & A6XX_RB_STENCIL_CONTROL_ZPASS_BF__MASK;
4109*4882a593Smuzhiyun }
4110*4882a593Smuzhiyun #define A6XX_RB_STENCIL_CONTROL_ZFAIL_BF__MASK 0xe0000000
4111*4882a593Smuzhiyun #define A6XX_RB_STENCIL_CONTROL_ZFAIL_BF__SHIFT 29
A6XX_RB_STENCIL_CONTROL_ZFAIL_BF(enum adreno_stencil_op val)4112*4882a593Smuzhiyun static inline uint32_t A6XX_RB_STENCIL_CONTROL_ZFAIL_BF(enum adreno_stencil_op val)
4113*4882a593Smuzhiyun {
4114*4882a593Smuzhiyun return ((val) << A6XX_RB_STENCIL_CONTROL_ZFAIL_BF__SHIFT) & A6XX_RB_STENCIL_CONTROL_ZFAIL_BF__MASK;
4115*4882a593Smuzhiyun }
4116*4882a593Smuzhiyun
4117*4882a593Smuzhiyun #define REG_A6XX_RB_STENCIL_INFO 0x00008881
4118*4882a593Smuzhiyun #define A6XX_RB_STENCIL_INFO_SEPARATE_STENCIL 0x00000001
4119*4882a593Smuzhiyun #define A6XX_RB_STENCIL_INFO_UNK1 0x00000002
4120*4882a593Smuzhiyun
4121*4882a593Smuzhiyun #define REG_A6XX_RB_STENCIL_BUFFER_PITCH 0x00008882
4122*4882a593Smuzhiyun #define A6XX_RB_STENCIL_BUFFER_PITCH__MASK 0x00000fff
4123*4882a593Smuzhiyun #define A6XX_RB_STENCIL_BUFFER_PITCH__SHIFT 0
A6XX_RB_STENCIL_BUFFER_PITCH(uint32_t val)4124*4882a593Smuzhiyun static inline uint32_t A6XX_RB_STENCIL_BUFFER_PITCH(uint32_t val)
4125*4882a593Smuzhiyun {
4126*4882a593Smuzhiyun return ((val >> 6) << A6XX_RB_STENCIL_BUFFER_PITCH__SHIFT) & A6XX_RB_STENCIL_BUFFER_PITCH__MASK;
4127*4882a593Smuzhiyun }
4128*4882a593Smuzhiyun
4129*4882a593Smuzhiyun #define REG_A6XX_RB_STENCIL_BUFFER_ARRAY_PITCH 0x00008883
4130*4882a593Smuzhiyun #define A6XX_RB_STENCIL_BUFFER_ARRAY_PITCH__MASK 0x00ffffff
4131*4882a593Smuzhiyun #define A6XX_RB_STENCIL_BUFFER_ARRAY_PITCH__SHIFT 0
A6XX_RB_STENCIL_BUFFER_ARRAY_PITCH(uint32_t val)4132*4882a593Smuzhiyun static inline uint32_t A6XX_RB_STENCIL_BUFFER_ARRAY_PITCH(uint32_t val)
4133*4882a593Smuzhiyun {
4134*4882a593Smuzhiyun return ((val >> 6) << A6XX_RB_STENCIL_BUFFER_ARRAY_PITCH__SHIFT) & A6XX_RB_STENCIL_BUFFER_ARRAY_PITCH__MASK;
4135*4882a593Smuzhiyun }
4136*4882a593Smuzhiyun
4137*4882a593Smuzhiyun #define REG_A6XX_RB_STENCIL_BUFFER_BASE_LO 0x00008884
4138*4882a593Smuzhiyun
4139*4882a593Smuzhiyun #define REG_A6XX_RB_STENCIL_BUFFER_BASE_HI 0x00008885
4140*4882a593Smuzhiyun
4141*4882a593Smuzhiyun #define REG_A6XX_RB_STENCIL_BUFFER_BASE 0x00008884
4142*4882a593Smuzhiyun #define A6XX_RB_STENCIL_BUFFER_BASE__MASK 0xffffffff
4143*4882a593Smuzhiyun #define A6XX_RB_STENCIL_BUFFER_BASE__SHIFT 0
A6XX_RB_STENCIL_BUFFER_BASE(uint32_t val)4144*4882a593Smuzhiyun static inline uint32_t A6XX_RB_STENCIL_BUFFER_BASE(uint32_t val)
4145*4882a593Smuzhiyun {
4146*4882a593Smuzhiyun return ((val) << A6XX_RB_STENCIL_BUFFER_BASE__SHIFT) & A6XX_RB_STENCIL_BUFFER_BASE__MASK;
4147*4882a593Smuzhiyun }
4148*4882a593Smuzhiyun
4149*4882a593Smuzhiyun #define REG_A6XX_RB_STENCIL_BUFFER_BASE_GMEM 0x00008886
4150*4882a593Smuzhiyun #define A6XX_RB_STENCIL_BUFFER_BASE_GMEM__MASK 0xfffff000
4151*4882a593Smuzhiyun #define A6XX_RB_STENCIL_BUFFER_BASE_GMEM__SHIFT 12
A6XX_RB_STENCIL_BUFFER_BASE_GMEM(uint32_t val)4152*4882a593Smuzhiyun static inline uint32_t A6XX_RB_STENCIL_BUFFER_BASE_GMEM(uint32_t val)
4153*4882a593Smuzhiyun {
4154*4882a593Smuzhiyun return ((val >> 12) << A6XX_RB_STENCIL_BUFFER_BASE_GMEM__SHIFT) & A6XX_RB_STENCIL_BUFFER_BASE_GMEM__MASK;
4155*4882a593Smuzhiyun }
4156*4882a593Smuzhiyun
4157*4882a593Smuzhiyun #define REG_A6XX_RB_STENCILREF 0x00008887
4158*4882a593Smuzhiyun #define A6XX_RB_STENCILREF_REF__MASK 0x000000ff
4159*4882a593Smuzhiyun #define A6XX_RB_STENCILREF_REF__SHIFT 0
A6XX_RB_STENCILREF_REF(uint32_t val)4160*4882a593Smuzhiyun static inline uint32_t A6XX_RB_STENCILREF_REF(uint32_t val)
4161*4882a593Smuzhiyun {
4162*4882a593Smuzhiyun return ((val) << A6XX_RB_STENCILREF_REF__SHIFT) & A6XX_RB_STENCILREF_REF__MASK;
4163*4882a593Smuzhiyun }
4164*4882a593Smuzhiyun #define A6XX_RB_STENCILREF_BFREF__MASK 0x0000ff00
4165*4882a593Smuzhiyun #define A6XX_RB_STENCILREF_BFREF__SHIFT 8
A6XX_RB_STENCILREF_BFREF(uint32_t val)4166*4882a593Smuzhiyun static inline uint32_t A6XX_RB_STENCILREF_BFREF(uint32_t val)
4167*4882a593Smuzhiyun {
4168*4882a593Smuzhiyun return ((val) << A6XX_RB_STENCILREF_BFREF__SHIFT) & A6XX_RB_STENCILREF_BFREF__MASK;
4169*4882a593Smuzhiyun }
4170*4882a593Smuzhiyun
4171*4882a593Smuzhiyun #define REG_A6XX_RB_STENCILMASK 0x00008888
4172*4882a593Smuzhiyun #define A6XX_RB_STENCILMASK_MASK__MASK 0x000000ff
4173*4882a593Smuzhiyun #define A6XX_RB_STENCILMASK_MASK__SHIFT 0
A6XX_RB_STENCILMASK_MASK(uint32_t val)4174*4882a593Smuzhiyun static inline uint32_t A6XX_RB_STENCILMASK_MASK(uint32_t val)
4175*4882a593Smuzhiyun {
4176*4882a593Smuzhiyun return ((val) << A6XX_RB_STENCILMASK_MASK__SHIFT) & A6XX_RB_STENCILMASK_MASK__MASK;
4177*4882a593Smuzhiyun }
4178*4882a593Smuzhiyun #define A6XX_RB_STENCILMASK_BFMASK__MASK 0x0000ff00
4179*4882a593Smuzhiyun #define A6XX_RB_STENCILMASK_BFMASK__SHIFT 8
A6XX_RB_STENCILMASK_BFMASK(uint32_t val)4180*4882a593Smuzhiyun static inline uint32_t A6XX_RB_STENCILMASK_BFMASK(uint32_t val)
4181*4882a593Smuzhiyun {
4182*4882a593Smuzhiyun return ((val) << A6XX_RB_STENCILMASK_BFMASK__SHIFT) & A6XX_RB_STENCILMASK_BFMASK__MASK;
4183*4882a593Smuzhiyun }
4184*4882a593Smuzhiyun
4185*4882a593Smuzhiyun #define REG_A6XX_RB_STENCILWRMASK 0x00008889
4186*4882a593Smuzhiyun #define A6XX_RB_STENCILWRMASK_WRMASK__MASK 0x000000ff
4187*4882a593Smuzhiyun #define A6XX_RB_STENCILWRMASK_WRMASK__SHIFT 0
A6XX_RB_STENCILWRMASK_WRMASK(uint32_t val)4188*4882a593Smuzhiyun static inline uint32_t A6XX_RB_STENCILWRMASK_WRMASK(uint32_t val)
4189*4882a593Smuzhiyun {
4190*4882a593Smuzhiyun return ((val) << A6XX_RB_STENCILWRMASK_WRMASK__SHIFT) & A6XX_RB_STENCILWRMASK_WRMASK__MASK;
4191*4882a593Smuzhiyun }
4192*4882a593Smuzhiyun #define A6XX_RB_STENCILWRMASK_BFWRMASK__MASK 0x0000ff00
4193*4882a593Smuzhiyun #define A6XX_RB_STENCILWRMASK_BFWRMASK__SHIFT 8
A6XX_RB_STENCILWRMASK_BFWRMASK(uint32_t val)4194*4882a593Smuzhiyun static inline uint32_t A6XX_RB_STENCILWRMASK_BFWRMASK(uint32_t val)
4195*4882a593Smuzhiyun {
4196*4882a593Smuzhiyun return ((val) << A6XX_RB_STENCILWRMASK_BFWRMASK__SHIFT) & A6XX_RB_STENCILWRMASK_BFWRMASK__MASK;
4197*4882a593Smuzhiyun }
4198*4882a593Smuzhiyun
4199*4882a593Smuzhiyun #define REG_A6XX_RB_WINDOW_OFFSET 0x00008890
4200*4882a593Smuzhiyun #define A6XX_RB_WINDOW_OFFSET_X__MASK 0x00003fff
4201*4882a593Smuzhiyun #define A6XX_RB_WINDOW_OFFSET_X__SHIFT 0
A6XX_RB_WINDOW_OFFSET_X(uint32_t val)4202*4882a593Smuzhiyun static inline uint32_t A6XX_RB_WINDOW_OFFSET_X(uint32_t val)
4203*4882a593Smuzhiyun {
4204*4882a593Smuzhiyun return ((val) << A6XX_RB_WINDOW_OFFSET_X__SHIFT) & A6XX_RB_WINDOW_OFFSET_X__MASK;
4205*4882a593Smuzhiyun }
4206*4882a593Smuzhiyun #define A6XX_RB_WINDOW_OFFSET_Y__MASK 0x3fff0000
4207*4882a593Smuzhiyun #define A6XX_RB_WINDOW_OFFSET_Y__SHIFT 16
A6XX_RB_WINDOW_OFFSET_Y(uint32_t val)4208*4882a593Smuzhiyun static inline uint32_t A6XX_RB_WINDOW_OFFSET_Y(uint32_t val)
4209*4882a593Smuzhiyun {
4210*4882a593Smuzhiyun return ((val) << A6XX_RB_WINDOW_OFFSET_Y__SHIFT) & A6XX_RB_WINDOW_OFFSET_Y__MASK;
4211*4882a593Smuzhiyun }
4212*4882a593Smuzhiyun
4213*4882a593Smuzhiyun #define REG_A6XX_RB_SAMPLE_COUNT_CONTROL 0x00008891
4214*4882a593Smuzhiyun #define A6XX_RB_SAMPLE_COUNT_CONTROL_UNK0 0x00000001
4215*4882a593Smuzhiyun #define A6XX_RB_SAMPLE_COUNT_CONTROL_COPY 0x00000002
4216*4882a593Smuzhiyun
4217*4882a593Smuzhiyun #define REG_A6XX_RB_LRZ_CNTL 0x00008898
4218*4882a593Smuzhiyun #define A6XX_RB_LRZ_CNTL_ENABLE 0x00000001
4219*4882a593Smuzhiyun
4220*4882a593Smuzhiyun #define REG_A6XX_RB_Z_CLAMP_MIN 0x000088c0
4221*4882a593Smuzhiyun #define A6XX_RB_Z_CLAMP_MIN__MASK 0xffffffff
4222*4882a593Smuzhiyun #define A6XX_RB_Z_CLAMP_MIN__SHIFT 0
A6XX_RB_Z_CLAMP_MIN(float val)4223*4882a593Smuzhiyun static inline uint32_t A6XX_RB_Z_CLAMP_MIN(float val)
4224*4882a593Smuzhiyun {
4225*4882a593Smuzhiyun return ((fui(val)) << A6XX_RB_Z_CLAMP_MIN__SHIFT) & A6XX_RB_Z_CLAMP_MIN__MASK;
4226*4882a593Smuzhiyun }
4227*4882a593Smuzhiyun
4228*4882a593Smuzhiyun #define REG_A6XX_RB_Z_CLAMP_MAX 0x000088c1
4229*4882a593Smuzhiyun #define A6XX_RB_Z_CLAMP_MAX__MASK 0xffffffff
4230*4882a593Smuzhiyun #define A6XX_RB_Z_CLAMP_MAX__SHIFT 0
A6XX_RB_Z_CLAMP_MAX(float val)4231*4882a593Smuzhiyun static inline uint32_t A6XX_RB_Z_CLAMP_MAX(float val)
4232*4882a593Smuzhiyun {
4233*4882a593Smuzhiyun return ((fui(val)) << A6XX_RB_Z_CLAMP_MAX__SHIFT) & A6XX_RB_Z_CLAMP_MAX__MASK;
4234*4882a593Smuzhiyun }
4235*4882a593Smuzhiyun
4236*4882a593Smuzhiyun #define REG_A6XX_RB_UNKNOWN_88D0 0x000088d0
4237*4882a593Smuzhiyun #define A6XX_RB_UNKNOWN_88D0_UNK0__MASK 0x00001fff
4238*4882a593Smuzhiyun #define A6XX_RB_UNKNOWN_88D0_UNK0__SHIFT 0
A6XX_RB_UNKNOWN_88D0_UNK0(uint32_t val)4239*4882a593Smuzhiyun static inline uint32_t A6XX_RB_UNKNOWN_88D0_UNK0(uint32_t val)
4240*4882a593Smuzhiyun {
4241*4882a593Smuzhiyun return ((val) << A6XX_RB_UNKNOWN_88D0_UNK0__SHIFT) & A6XX_RB_UNKNOWN_88D0_UNK0__MASK;
4242*4882a593Smuzhiyun }
4243*4882a593Smuzhiyun #define A6XX_RB_UNKNOWN_88D0_UNK16__MASK 0x07ff0000
4244*4882a593Smuzhiyun #define A6XX_RB_UNKNOWN_88D0_UNK16__SHIFT 16
A6XX_RB_UNKNOWN_88D0_UNK16(uint32_t val)4245*4882a593Smuzhiyun static inline uint32_t A6XX_RB_UNKNOWN_88D0_UNK16(uint32_t val)
4246*4882a593Smuzhiyun {
4247*4882a593Smuzhiyun return ((val) << A6XX_RB_UNKNOWN_88D0_UNK16__SHIFT) & A6XX_RB_UNKNOWN_88D0_UNK16__MASK;
4248*4882a593Smuzhiyun }
4249*4882a593Smuzhiyun
4250*4882a593Smuzhiyun #define REG_A6XX_RB_BLIT_SCISSOR_TL 0x000088d1
4251*4882a593Smuzhiyun #define A6XX_RB_BLIT_SCISSOR_TL_X__MASK 0x00003fff
4252*4882a593Smuzhiyun #define A6XX_RB_BLIT_SCISSOR_TL_X__SHIFT 0
A6XX_RB_BLIT_SCISSOR_TL_X(uint32_t val)4253*4882a593Smuzhiyun static inline uint32_t A6XX_RB_BLIT_SCISSOR_TL_X(uint32_t val)
4254*4882a593Smuzhiyun {
4255*4882a593Smuzhiyun return ((val) << A6XX_RB_BLIT_SCISSOR_TL_X__SHIFT) & A6XX_RB_BLIT_SCISSOR_TL_X__MASK;
4256*4882a593Smuzhiyun }
4257*4882a593Smuzhiyun #define A6XX_RB_BLIT_SCISSOR_TL_Y__MASK 0x3fff0000
4258*4882a593Smuzhiyun #define A6XX_RB_BLIT_SCISSOR_TL_Y__SHIFT 16
A6XX_RB_BLIT_SCISSOR_TL_Y(uint32_t val)4259*4882a593Smuzhiyun static inline uint32_t A6XX_RB_BLIT_SCISSOR_TL_Y(uint32_t val)
4260*4882a593Smuzhiyun {
4261*4882a593Smuzhiyun return ((val) << A6XX_RB_BLIT_SCISSOR_TL_Y__SHIFT) & A6XX_RB_BLIT_SCISSOR_TL_Y__MASK;
4262*4882a593Smuzhiyun }
4263*4882a593Smuzhiyun
4264*4882a593Smuzhiyun #define REG_A6XX_RB_BLIT_SCISSOR_BR 0x000088d2
4265*4882a593Smuzhiyun #define A6XX_RB_BLIT_SCISSOR_BR_X__MASK 0x00003fff
4266*4882a593Smuzhiyun #define A6XX_RB_BLIT_SCISSOR_BR_X__SHIFT 0
A6XX_RB_BLIT_SCISSOR_BR_X(uint32_t val)4267*4882a593Smuzhiyun static inline uint32_t A6XX_RB_BLIT_SCISSOR_BR_X(uint32_t val)
4268*4882a593Smuzhiyun {
4269*4882a593Smuzhiyun return ((val) << A6XX_RB_BLIT_SCISSOR_BR_X__SHIFT) & A6XX_RB_BLIT_SCISSOR_BR_X__MASK;
4270*4882a593Smuzhiyun }
4271*4882a593Smuzhiyun #define A6XX_RB_BLIT_SCISSOR_BR_Y__MASK 0x3fff0000
4272*4882a593Smuzhiyun #define A6XX_RB_BLIT_SCISSOR_BR_Y__SHIFT 16
A6XX_RB_BLIT_SCISSOR_BR_Y(uint32_t val)4273*4882a593Smuzhiyun static inline uint32_t A6XX_RB_BLIT_SCISSOR_BR_Y(uint32_t val)
4274*4882a593Smuzhiyun {
4275*4882a593Smuzhiyun return ((val) << A6XX_RB_BLIT_SCISSOR_BR_Y__SHIFT) & A6XX_RB_BLIT_SCISSOR_BR_Y__MASK;
4276*4882a593Smuzhiyun }
4277*4882a593Smuzhiyun
4278*4882a593Smuzhiyun #define REG_A6XX_RB_BIN_CONTROL2 0x000088d3
4279*4882a593Smuzhiyun #define A6XX_RB_BIN_CONTROL2_BINW__MASK 0x0000003f
4280*4882a593Smuzhiyun #define A6XX_RB_BIN_CONTROL2_BINW__SHIFT 0
A6XX_RB_BIN_CONTROL2_BINW(uint32_t val)4281*4882a593Smuzhiyun static inline uint32_t A6XX_RB_BIN_CONTROL2_BINW(uint32_t val)
4282*4882a593Smuzhiyun {
4283*4882a593Smuzhiyun return ((val >> 5) << A6XX_RB_BIN_CONTROL2_BINW__SHIFT) & A6XX_RB_BIN_CONTROL2_BINW__MASK;
4284*4882a593Smuzhiyun }
4285*4882a593Smuzhiyun #define A6XX_RB_BIN_CONTROL2_BINH__MASK 0x00007f00
4286*4882a593Smuzhiyun #define A6XX_RB_BIN_CONTROL2_BINH__SHIFT 8
A6XX_RB_BIN_CONTROL2_BINH(uint32_t val)4287*4882a593Smuzhiyun static inline uint32_t A6XX_RB_BIN_CONTROL2_BINH(uint32_t val)
4288*4882a593Smuzhiyun {
4289*4882a593Smuzhiyun return ((val >> 4) << A6XX_RB_BIN_CONTROL2_BINH__SHIFT) & A6XX_RB_BIN_CONTROL2_BINH__MASK;
4290*4882a593Smuzhiyun }
4291*4882a593Smuzhiyun
4292*4882a593Smuzhiyun #define REG_A6XX_RB_WINDOW_OFFSET2 0x000088d4
4293*4882a593Smuzhiyun #define A6XX_RB_WINDOW_OFFSET2_X__MASK 0x00003fff
4294*4882a593Smuzhiyun #define A6XX_RB_WINDOW_OFFSET2_X__SHIFT 0
A6XX_RB_WINDOW_OFFSET2_X(uint32_t val)4295*4882a593Smuzhiyun static inline uint32_t A6XX_RB_WINDOW_OFFSET2_X(uint32_t val)
4296*4882a593Smuzhiyun {
4297*4882a593Smuzhiyun return ((val) << A6XX_RB_WINDOW_OFFSET2_X__SHIFT) & A6XX_RB_WINDOW_OFFSET2_X__MASK;
4298*4882a593Smuzhiyun }
4299*4882a593Smuzhiyun #define A6XX_RB_WINDOW_OFFSET2_Y__MASK 0x3fff0000
4300*4882a593Smuzhiyun #define A6XX_RB_WINDOW_OFFSET2_Y__SHIFT 16
A6XX_RB_WINDOW_OFFSET2_Y(uint32_t val)4301*4882a593Smuzhiyun static inline uint32_t A6XX_RB_WINDOW_OFFSET2_Y(uint32_t val)
4302*4882a593Smuzhiyun {
4303*4882a593Smuzhiyun return ((val) << A6XX_RB_WINDOW_OFFSET2_Y__SHIFT) & A6XX_RB_WINDOW_OFFSET2_Y__MASK;
4304*4882a593Smuzhiyun }
4305*4882a593Smuzhiyun
4306*4882a593Smuzhiyun #define REG_A6XX_RB_MSAA_CNTL 0x000088d5
4307*4882a593Smuzhiyun #define A6XX_RB_MSAA_CNTL_SAMPLES__MASK 0x00000018
4308*4882a593Smuzhiyun #define A6XX_RB_MSAA_CNTL_SAMPLES__SHIFT 3
A6XX_RB_MSAA_CNTL_SAMPLES(enum a3xx_msaa_samples val)4309*4882a593Smuzhiyun static inline uint32_t A6XX_RB_MSAA_CNTL_SAMPLES(enum a3xx_msaa_samples val)
4310*4882a593Smuzhiyun {
4311*4882a593Smuzhiyun return ((val) << A6XX_RB_MSAA_CNTL_SAMPLES__SHIFT) & A6XX_RB_MSAA_CNTL_SAMPLES__MASK;
4312*4882a593Smuzhiyun }
4313*4882a593Smuzhiyun
4314*4882a593Smuzhiyun #define REG_A6XX_RB_BLIT_BASE_GMEM 0x000088d6
4315*4882a593Smuzhiyun #define A6XX_RB_BLIT_BASE_GMEM__MASK 0xfffff000
4316*4882a593Smuzhiyun #define A6XX_RB_BLIT_BASE_GMEM__SHIFT 12
A6XX_RB_BLIT_BASE_GMEM(uint32_t val)4317*4882a593Smuzhiyun static inline uint32_t A6XX_RB_BLIT_BASE_GMEM(uint32_t val)
4318*4882a593Smuzhiyun {
4319*4882a593Smuzhiyun return ((val >> 12) << A6XX_RB_BLIT_BASE_GMEM__SHIFT) & A6XX_RB_BLIT_BASE_GMEM__MASK;
4320*4882a593Smuzhiyun }
4321*4882a593Smuzhiyun
4322*4882a593Smuzhiyun #define REG_A6XX_RB_BLIT_DST_INFO 0x000088d7
4323*4882a593Smuzhiyun #define A6XX_RB_BLIT_DST_INFO_TILE_MODE__MASK 0x00000003
4324*4882a593Smuzhiyun #define A6XX_RB_BLIT_DST_INFO_TILE_MODE__SHIFT 0
A6XX_RB_BLIT_DST_INFO_TILE_MODE(enum a6xx_tile_mode val)4325*4882a593Smuzhiyun static inline uint32_t A6XX_RB_BLIT_DST_INFO_TILE_MODE(enum a6xx_tile_mode val)
4326*4882a593Smuzhiyun {
4327*4882a593Smuzhiyun return ((val) << A6XX_RB_BLIT_DST_INFO_TILE_MODE__SHIFT) & A6XX_RB_BLIT_DST_INFO_TILE_MODE__MASK;
4328*4882a593Smuzhiyun }
4329*4882a593Smuzhiyun #define A6XX_RB_BLIT_DST_INFO_FLAGS 0x00000004
4330*4882a593Smuzhiyun #define A6XX_RB_BLIT_DST_INFO_SAMPLES__MASK 0x00000018
4331*4882a593Smuzhiyun #define A6XX_RB_BLIT_DST_INFO_SAMPLES__SHIFT 3
A6XX_RB_BLIT_DST_INFO_SAMPLES(enum a3xx_msaa_samples val)4332*4882a593Smuzhiyun static inline uint32_t A6XX_RB_BLIT_DST_INFO_SAMPLES(enum a3xx_msaa_samples val)
4333*4882a593Smuzhiyun {
4334*4882a593Smuzhiyun return ((val) << A6XX_RB_BLIT_DST_INFO_SAMPLES__SHIFT) & A6XX_RB_BLIT_DST_INFO_SAMPLES__MASK;
4335*4882a593Smuzhiyun }
4336*4882a593Smuzhiyun #define A6XX_RB_BLIT_DST_INFO_COLOR_SWAP__MASK 0x00000060
4337*4882a593Smuzhiyun #define A6XX_RB_BLIT_DST_INFO_COLOR_SWAP__SHIFT 5
A6XX_RB_BLIT_DST_INFO_COLOR_SWAP(enum a3xx_color_swap val)4338*4882a593Smuzhiyun static inline uint32_t A6XX_RB_BLIT_DST_INFO_COLOR_SWAP(enum a3xx_color_swap val)
4339*4882a593Smuzhiyun {
4340*4882a593Smuzhiyun return ((val) << A6XX_RB_BLIT_DST_INFO_COLOR_SWAP__SHIFT) & A6XX_RB_BLIT_DST_INFO_COLOR_SWAP__MASK;
4341*4882a593Smuzhiyun }
4342*4882a593Smuzhiyun #define A6XX_RB_BLIT_DST_INFO_COLOR_FORMAT__MASK 0x00007f80
4343*4882a593Smuzhiyun #define A6XX_RB_BLIT_DST_INFO_COLOR_FORMAT__SHIFT 7
A6XX_RB_BLIT_DST_INFO_COLOR_FORMAT(enum a6xx_format val)4344*4882a593Smuzhiyun static inline uint32_t A6XX_RB_BLIT_DST_INFO_COLOR_FORMAT(enum a6xx_format val)
4345*4882a593Smuzhiyun {
4346*4882a593Smuzhiyun return ((val) << A6XX_RB_BLIT_DST_INFO_COLOR_FORMAT__SHIFT) & A6XX_RB_BLIT_DST_INFO_COLOR_FORMAT__MASK;
4347*4882a593Smuzhiyun }
4348*4882a593Smuzhiyun #define A6XX_RB_BLIT_DST_INFO_UNK15 0x00008000
4349*4882a593Smuzhiyun
4350*4882a593Smuzhiyun #define REG_A6XX_RB_BLIT_DST 0x000088d8
4351*4882a593Smuzhiyun #define A6XX_RB_BLIT_DST__MASK 0xffffffff
4352*4882a593Smuzhiyun #define A6XX_RB_BLIT_DST__SHIFT 0
A6XX_RB_BLIT_DST(uint32_t val)4353*4882a593Smuzhiyun static inline uint32_t A6XX_RB_BLIT_DST(uint32_t val)
4354*4882a593Smuzhiyun {
4355*4882a593Smuzhiyun return ((val) << A6XX_RB_BLIT_DST__SHIFT) & A6XX_RB_BLIT_DST__MASK;
4356*4882a593Smuzhiyun }
4357*4882a593Smuzhiyun
4358*4882a593Smuzhiyun #define REG_A6XX_RB_BLIT_DST_LO 0x000088d8
4359*4882a593Smuzhiyun
4360*4882a593Smuzhiyun #define REG_A6XX_RB_BLIT_DST_HI 0x000088d9
4361*4882a593Smuzhiyun
4362*4882a593Smuzhiyun #define REG_A6XX_RB_BLIT_DST_PITCH 0x000088da
4363*4882a593Smuzhiyun #define A6XX_RB_BLIT_DST_PITCH__MASK 0x0000ffff
4364*4882a593Smuzhiyun #define A6XX_RB_BLIT_DST_PITCH__SHIFT 0
A6XX_RB_BLIT_DST_PITCH(uint32_t val)4365*4882a593Smuzhiyun static inline uint32_t A6XX_RB_BLIT_DST_PITCH(uint32_t val)
4366*4882a593Smuzhiyun {
4367*4882a593Smuzhiyun return ((val >> 6) << A6XX_RB_BLIT_DST_PITCH__SHIFT) & A6XX_RB_BLIT_DST_PITCH__MASK;
4368*4882a593Smuzhiyun }
4369*4882a593Smuzhiyun
4370*4882a593Smuzhiyun #define REG_A6XX_RB_BLIT_DST_ARRAY_PITCH 0x000088db
4371*4882a593Smuzhiyun #define A6XX_RB_BLIT_DST_ARRAY_PITCH__MASK 0x1fffffff
4372*4882a593Smuzhiyun #define A6XX_RB_BLIT_DST_ARRAY_PITCH__SHIFT 0
A6XX_RB_BLIT_DST_ARRAY_PITCH(uint32_t val)4373*4882a593Smuzhiyun static inline uint32_t A6XX_RB_BLIT_DST_ARRAY_PITCH(uint32_t val)
4374*4882a593Smuzhiyun {
4375*4882a593Smuzhiyun return ((val >> 6) << A6XX_RB_BLIT_DST_ARRAY_PITCH__SHIFT) & A6XX_RB_BLIT_DST_ARRAY_PITCH__MASK;
4376*4882a593Smuzhiyun }
4377*4882a593Smuzhiyun
4378*4882a593Smuzhiyun #define REG_A6XX_RB_BLIT_FLAG_DST 0x000088dc
4379*4882a593Smuzhiyun #define A6XX_RB_BLIT_FLAG_DST__MASK 0xffffffff
4380*4882a593Smuzhiyun #define A6XX_RB_BLIT_FLAG_DST__SHIFT 0
A6XX_RB_BLIT_FLAG_DST(uint32_t val)4381*4882a593Smuzhiyun static inline uint32_t A6XX_RB_BLIT_FLAG_DST(uint32_t val)
4382*4882a593Smuzhiyun {
4383*4882a593Smuzhiyun return ((val) << A6XX_RB_BLIT_FLAG_DST__SHIFT) & A6XX_RB_BLIT_FLAG_DST__MASK;
4384*4882a593Smuzhiyun }
4385*4882a593Smuzhiyun
4386*4882a593Smuzhiyun #define REG_A6XX_RB_BLIT_FLAG_DST_LO 0x000088dc
4387*4882a593Smuzhiyun
4388*4882a593Smuzhiyun #define REG_A6XX_RB_BLIT_FLAG_DST_HI 0x000088dd
4389*4882a593Smuzhiyun
4390*4882a593Smuzhiyun #define REG_A6XX_RB_BLIT_FLAG_DST_PITCH 0x000088de
4391*4882a593Smuzhiyun #define A6XX_RB_BLIT_FLAG_DST_PITCH_PITCH__MASK 0x000007ff
4392*4882a593Smuzhiyun #define A6XX_RB_BLIT_FLAG_DST_PITCH_PITCH__SHIFT 0
A6XX_RB_BLIT_FLAG_DST_PITCH_PITCH(uint32_t val)4393*4882a593Smuzhiyun static inline uint32_t A6XX_RB_BLIT_FLAG_DST_PITCH_PITCH(uint32_t val)
4394*4882a593Smuzhiyun {
4395*4882a593Smuzhiyun return ((val >> 6) << A6XX_RB_BLIT_FLAG_DST_PITCH_PITCH__SHIFT) & A6XX_RB_BLIT_FLAG_DST_PITCH_PITCH__MASK;
4396*4882a593Smuzhiyun }
4397*4882a593Smuzhiyun #define A6XX_RB_BLIT_FLAG_DST_PITCH_ARRAY_PITCH__MASK 0x0ffff800
4398*4882a593Smuzhiyun #define A6XX_RB_BLIT_FLAG_DST_PITCH_ARRAY_PITCH__SHIFT 11
A6XX_RB_BLIT_FLAG_DST_PITCH_ARRAY_PITCH(uint32_t val)4399*4882a593Smuzhiyun static inline uint32_t A6XX_RB_BLIT_FLAG_DST_PITCH_ARRAY_PITCH(uint32_t val)
4400*4882a593Smuzhiyun {
4401*4882a593Smuzhiyun return ((val >> 7) << A6XX_RB_BLIT_FLAG_DST_PITCH_ARRAY_PITCH__SHIFT) & A6XX_RB_BLIT_FLAG_DST_PITCH_ARRAY_PITCH__MASK;
4402*4882a593Smuzhiyun }
4403*4882a593Smuzhiyun
4404*4882a593Smuzhiyun #define REG_A6XX_RB_BLIT_CLEAR_COLOR_DW0 0x000088df
4405*4882a593Smuzhiyun
4406*4882a593Smuzhiyun #define REG_A6XX_RB_BLIT_CLEAR_COLOR_DW1 0x000088e0
4407*4882a593Smuzhiyun
4408*4882a593Smuzhiyun #define REG_A6XX_RB_BLIT_CLEAR_COLOR_DW2 0x000088e1
4409*4882a593Smuzhiyun
4410*4882a593Smuzhiyun #define REG_A6XX_RB_BLIT_CLEAR_COLOR_DW3 0x000088e2
4411*4882a593Smuzhiyun
4412*4882a593Smuzhiyun #define REG_A6XX_RB_BLIT_INFO 0x000088e3
4413*4882a593Smuzhiyun #define A6XX_RB_BLIT_INFO_UNK0 0x00000001
4414*4882a593Smuzhiyun #define A6XX_RB_BLIT_INFO_GMEM 0x00000002
4415*4882a593Smuzhiyun #define A6XX_RB_BLIT_INFO_INTEGER 0x00000004
4416*4882a593Smuzhiyun #define A6XX_RB_BLIT_INFO_DEPTH 0x00000008
4417*4882a593Smuzhiyun #define A6XX_RB_BLIT_INFO_CLEAR_MASK__MASK 0x000000f0
4418*4882a593Smuzhiyun #define A6XX_RB_BLIT_INFO_CLEAR_MASK__SHIFT 4
A6XX_RB_BLIT_INFO_CLEAR_MASK(uint32_t val)4419*4882a593Smuzhiyun static inline uint32_t A6XX_RB_BLIT_INFO_CLEAR_MASK(uint32_t val)
4420*4882a593Smuzhiyun {
4421*4882a593Smuzhiyun return ((val) << A6XX_RB_BLIT_INFO_CLEAR_MASK__SHIFT) & A6XX_RB_BLIT_INFO_CLEAR_MASK__MASK;
4422*4882a593Smuzhiyun }
4423*4882a593Smuzhiyun #define A6XX_RB_BLIT_INFO_UNK8__MASK 0x00000300
4424*4882a593Smuzhiyun #define A6XX_RB_BLIT_INFO_UNK8__SHIFT 8
A6XX_RB_BLIT_INFO_UNK8(uint32_t val)4425*4882a593Smuzhiyun static inline uint32_t A6XX_RB_BLIT_INFO_UNK8(uint32_t val)
4426*4882a593Smuzhiyun {
4427*4882a593Smuzhiyun return ((val) << A6XX_RB_BLIT_INFO_UNK8__SHIFT) & A6XX_RB_BLIT_INFO_UNK8__MASK;
4428*4882a593Smuzhiyun }
4429*4882a593Smuzhiyun #define A6XX_RB_BLIT_INFO_UNK12__MASK 0x0000f000
4430*4882a593Smuzhiyun #define A6XX_RB_BLIT_INFO_UNK12__SHIFT 12
A6XX_RB_BLIT_INFO_UNK12(uint32_t val)4431*4882a593Smuzhiyun static inline uint32_t A6XX_RB_BLIT_INFO_UNK12(uint32_t val)
4432*4882a593Smuzhiyun {
4433*4882a593Smuzhiyun return ((val) << A6XX_RB_BLIT_INFO_UNK12__SHIFT) & A6XX_RB_BLIT_INFO_UNK12__MASK;
4434*4882a593Smuzhiyun }
4435*4882a593Smuzhiyun
4436*4882a593Smuzhiyun #define REG_A6XX_RB_UNKNOWN_88F0 0x000088f0
4437*4882a593Smuzhiyun
4438*4882a593Smuzhiyun #define REG_A6XX_RB_UNK_FLAG_BUFFER_BASE 0x000088f1
4439*4882a593Smuzhiyun #define A6XX_RB_UNK_FLAG_BUFFER_BASE__MASK 0xffffffff
4440*4882a593Smuzhiyun #define A6XX_RB_UNK_FLAG_BUFFER_BASE__SHIFT 0
A6XX_RB_UNK_FLAG_BUFFER_BASE(uint32_t val)4441*4882a593Smuzhiyun static inline uint32_t A6XX_RB_UNK_FLAG_BUFFER_BASE(uint32_t val)
4442*4882a593Smuzhiyun {
4443*4882a593Smuzhiyun return ((val) << A6XX_RB_UNK_FLAG_BUFFER_BASE__SHIFT) & A6XX_RB_UNK_FLAG_BUFFER_BASE__MASK;
4444*4882a593Smuzhiyun }
4445*4882a593Smuzhiyun
4446*4882a593Smuzhiyun #define REG_A6XX_RB_UNK_FLAG_BUFFER_PITCH 0x000088f3
4447*4882a593Smuzhiyun #define A6XX_RB_UNK_FLAG_BUFFER_PITCH_PITCH__MASK 0x000007ff
4448*4882a593Smuzhiyun #define A6XX_RB_UNK_FLAG_BUFFER_PITCH_PITCH__SHIFT 0
A6XX_RB_UNK_FLAG_BUFFER_PITCH_PITCH(uint32_t val)4449*4882a593Smuzhiyun static inline uint32_t A6XX_RB_UNK_FLAG_BUFFER_PITCH_PITCH(uint32_t val)
4450*4882a593Smuzhiyun {
4451*4882a593Smuzhiyun return ((val >> 6) << A6XX_RB_UNK_FLAG_BUFFER_PITCH_PITCH__SHIFT) & A6XX_RB_UNK_FLAG_BUFFER_PITCH_PITCH__MASK;
4452*4882a593Smuzhiyun }
4453*4882a593Smuzhiyun #define A6XX_RB_UNK_FLAG_BUFFER_PITCH_ARRAY_PITCH__MASK 0x00fff800
4454*4882a593Smuzhiyun #define A6XX_RB_UNK_FLAG_BUFFER_PITCH_ARRAY_PITCH__SHIFT 11
A6XX_RB_UNK_FLAG_BUFFER_PITCH_ARRAY_PITCH(uint32_t val)4455*4882a593Smuzhiyun static inline uint32_t A6XX_RB_UNK_FLAG_BUFFER_PITCH_ARRAY_PITCH(uint32_t val)
4456*4882a593Smuzhiyun {
4457*4882a593Smuzhiyun return ((val >> 7) << A6XX_RB_UNK_FLAG_BUFFER_PITCH_ARRAY_PITCH__SHIFT) & A6XX_RB_UNK_FLAG_BUFFER_PITCH_ARRAY_PITCH__MASK;
4458*4882a593Smuzhiyun }
4459*4882a593Smuzhiyun
4460*4882a593Smuzhiyun #define REG_A6XX_RB_UNKNOWN_88F4 0x000088f4
4461*4882a593Smuzhiyun
4462*4882a593Smuzhiyun #define REG_A6XX_RB_DEPTH_FLAG_BUFFER_BASE_LO 0x00008900
4463*4882a593Smuzhiyun
4464*4882a593Smuzhiyun #define REG_A6XX_RB_DEPTH_FLAG_BUFFER_BASE_HI 0x00008901
4465*4882a593Smuzhiyun
4466*4882a593Smuzhiyun #define REG_A6XX_RB_DEPTH_FLAG_BUFFER_BASE 0x00008900
4467*4882a593Smuzhiyun #define A6XX_RB_DEPTH_FLAG_BUFFER_BASE__MASK 0xffffffff
4468*4882a593Smuzhiyun #define A6XX_RB_DEPTH_FLAG_BUFFER_BASE__SHIFT 0
A6XX_RB_DEPTH_FLAG_BUFFER_BASE(uint32_t val)4469*4882a593Smuzhiyun static inline uint32_t A6XX_RB_DEPTH_FLAG_BUFFER_BASE(uint32_t val)
4470*4882a593Smuzhiyun {
4471*4882a593Smuzhiyun return ((val) << A6XX_RB_DEPTH_FLAG_BUFFER_BASE__SHIFT) & A6XX_RB_DEPTH_FLAG_BUFFER_BASE__MASK;
4472*4882a593Smuzhiyun }
4473*4882a593Smuzhiyun
4474*4882a593Smuzhiyun #define REG_A6XX_RB_DEPTH_FLAG_BUFFER_PITCH 0x00008902
4475*4882a593Smuzhiyun #define A6XX_RB_DEPTH_FLAG_BUFFER_PITCH_PITCH__MASK 0x0000007f
4476*4882a593Smuzhiyun #define A6XX_RB_DEPTH_FLAG_BUFFER_PITCH_PITCH__SHIFT 0
A6XX_RB_DEPTH_FLAG_BUFFER_PITCH_PITCH(uint32_t val)4477*4882a593Smuzhiyun static inline uint32_t A6XX_RB_DEPTH_FLAG_BUFFER_PITCH_PITCH(uint32_t val)
4478*4882a593Smuzhiyun {
4479*4882a593Smuzhiyun return ((val >> 6) << A6XX_RB_DEPTH_FLAG_BUFFER_PITCH_PITCH__SHIFT) & A6XX_RB_DEPTH_FLAG_BUFFER_PITCH_PITCH__MASK;
4480*4882a593Smuzhiyun }
4481*4882a593Smuzhiyun #define A6XX_RB_DEPTH_FLAG_BUFFER_PITCH_UNK8__MASK 0x00000700
4482*4882a593Smuzhiyun #define A6XX_RB_DEPTH_FLAG_BUFFER_PITCH_UNK8__SHIFT 8
A6XX_RB_DEPTH_FLAG_BUFFER_PITCH_UNK8(uint32_t val)4483*4882a593Smuzhiyun static inline uint32_t A6XX_RB_DEPTH_FLAG_BUFFER_PITCH_UNK8(uint32_t val)
4484*4882a593Smuzhiyun {
4485*4882a593Smuzhiyun return ((val) << A6XX_RB_DEPTH_FLAG_BUFFER_PITCH_UNK8__SHIFT) & A6XX_RB_DEPTH_FLAG_BUFFER_PITCH_UNK8__MASK;
4486*4882a593Smuzhiyun }
4487*4882a593Smuzhiyun #define A6XX_RB_DEPTH_FLAG_BUFFER_PITCH_ARRAY_PITCH__MASK 0x0ffff800
4488*4882a593Smuzhiyun #define A6XX_RB_DEPTH_FLAG_BUFFER_PITCH_ARRAY_PITCH__SHIFT 11
A6XX_RB_DEPTH_FLAG_BUFFER_PITCH_ARRAY_PITCH(uint32_t val)4489*4882a593Smuzhiyun static inline uint32_t A6XX_RB_DEPTH_FLAG_BUFFER_PITCH_ARRAY_PITCH(uint32_t val)
4490*4882a593Smuzhiyun {
4491*4882a593Smuzhiyun return ((val >> 7) << A6XX_RB_DEPTH_FLAG_BUFFER_PITCH_ARRAY_PITCH__SHIFT) & A6XX_RB_DEPTH_FLAG_BUFFER_PITCH_ARRAY_PITCH__MASK;
4492*4882a593Smuzhiyun }
4493*4882a593Smuzhiyun
REG_A6XX_RB_MRT_FLAG_BUFFER(uint32_t i0)4494*4882a593Smuzhiyun static inline uint32_t REG_A6XX_RB_MRT_FLAG_BUFFER(uint32_t i0) { return 0x00008903 + 0x3*i0; }
4495*4882a593Smuzhiyun
REG_A6XX_RB_MRT_FLAG_BUFFER_ADDR_LO(uint32_t i0)4496*4882a593Smuzhiyun static inline uint32_t REG_A6XX_RB_MRT_FLAG_BUFFER_ADDR_LO(uint32_t i0) { return 0x00008903 + 0x3*i0; }
4497*4882a593Smuzhiyun
REG_A6XX_RB_MRT_FLAG_BUFFER_ADDR_HI(uint32_t i0)4498*4882a593Smuzhiyun static inline uint32_t REG_A6XX_RB_MRT_FLAG_BUFFER_ADDR_HI(uint32_t i0) { return 0x00008904 + 0x3*i0; }
4499*4882a593Smuzhiyun
REG_A6XX_RB_MRT_FLAG_BUFFER_ADDR(uint32_t i0)4500*4882a593Smuzhiyun static inline uint32_t REG_A6XX_RB_MRT_FLAG_BUFFER_ADDR(uint32_t i0) { return 0x00008903 + 0x3*i0; }
4501*4882a593Smuzhiyun #define A6XX_RB_MRT_FLAG_BUFFER_ADDR__MASK 0xffffffff
4502*4882a593Smuzhiyun #define A6XX_RB_MRT_FLAG_BUFFER_ADDR__SHIFT 0
A6XX_RB_MRT_FLAG_BUFFER_ADDR(uint32_t val)4503*4882a593Smuzhiyun static inline uint32_t A6XX_RB_MRT_FLAG_BUFFER_ADDR(uint32_t val)
4504*4882a593Smuzhiyun {
4505*4882a593Smuzhiyun return ((val) << A6XX_RB_MRT_FLAG_BUFFER_ADDR__SHIFT) & A6XX_RB_MRT_FLAG_BUFFER_ADDR__MASK;
4506*4882a593Smuzhiyun }
4507*4882a593Smuzhiyun
REG_A6XX_RB_MRT_FLAG_BUFFER_PITCH(uint32_t i0)4508*4882a593Smuzhiyun static inline uint32_t REG_A6XX_RB_MRT_FLAG_BUFFER_PITCH(uint32_t i0) { return 0x00008905 + 0x3*i0; }
4509*4882a593Smuzhiyun #define A6XX_RB_MRT_FLAG_BUFFER_PITCH_PITCH__MASK 0x000007ff
4510*4882a593Smuzhiyun #define A6XX_RB_MRT_FLAG_BUFFER_PITCH_PITCH__SHIFT 0
A6XX_RB_MRT_FLAG_BUFFER_PITCH_PITCH(uint32_t val)4511*4882a593Smuzhiyun static inline uint32_t A6XX_RB_MRT_FLAG_BUFFER_PITCH_PITCH(uint32_t val)
4512*4882a593Smuzhiyun {
4513*4882a593Smuzhiyun return ((val >> 6) << A6XX_RB_MRT_FLAG_BUFFER_PITCH_PITCH__SHIFT) & A6XX_RB_MRT_FLAG_BUFFER_PITCH_PITCH__MASK;
4514*4882a593Smuzhiyun }
4515*4882a593Smuzhiyun #define A6XX_RB_MRT_FLAG_BUFFER_PITCH_ARRAY_PITCH__MASK 0x1ffff800
4516*4882a593Smuzhiyun #define A6XX_RB_MRT_FLAG_BUFFER_PITCH_ARRAY_PITCH__SHIFT 11
A6XX_RB_MRT_FLAG_BUFFER_PITCH_ARRAY_PITCH(uint32_t val)4517*4882a593Smuzhiyun static inline uint32_t A6XX_RB_MRT_FLAG_BUFFER_PITCH_ARRAY_PITCH(uint32_t val)
4518*4882a593Smuzhiyun {
4519*4882a593Smuzhiyun return ((val >> 7) << A6XX_RB_MRT_FLAG_BUFFER_PITCH_ARRAY_PITCH__SHIFT) & A6XX_RB_MRT_FLAG_BUFFER_PITCH_ARRAY_PITCH__MASK;
4520*4882a593Smuzhiyun }
4521*4882a593Smuzhiyun
4522*4882a593Smuzhiyun #define REG_A6XX_RB_SAMPLE_COUNT_ADDR_LO 0x00008927
4523*4882a593Smuzhiyun
4524*4882a593Smuzhiyun #define REG_A6XX_RB_SAMPLE_COUNT_ADDR_HI 0x00008928
4525*4882a593Smuzhiyun
4526*4882a593Smuzhiyun #define REG_A6XX_RB_SAMPLE_COUNT_ADDR 0x00008927
4527*4882a593Smuzhiyun #define A6XX_RB_SAMPLE_COUNT_ADDR__MASK 0xffffffff
4528*4882a593Smuzhiyun #define A6XX_RB_SAMPLE_COUNT_ADDR__SHIFT 0
A6XX_RB_SAMPLE_COUNT_ADDR(uint32_t val)4529*4882a593Smuzhiyun static inline uint32_t A6XX_RB_SAMPLE_COUNT_ADDR(uint32_t val)
4530*4882a593Smuzhiyun {
4531*4882a593Smuzhiyun return ((val) << A6XX_RB_SAMPLE_COUNT_ADDR__SHIFT) & A6XX_RB_SAMPLE_COUNT_ADDR__MASK;
4532*4882a593Smuzhiyun }
4533*4882a593Smuzhiyun
4534*4882a593Smuzhiyun #define REG_A6XX_RB_2D_BLIT_CNTL 0x00008c00
4535*4882a593Smuzhiyun #define A6XX_RB_2D_BLIT_CNTL_ROTATE__MASK 0x00000007
4536*4882a593Smuzhiyun #define A6XX_RB_2D_BLIT_CNTL_ROTATE__SHIFT 0
A6XX_RB_2D_BLIT_CNTL_ROTATE(enum a6xx_rotation val)4537*4882a593Smuzhiyun static inline uint32_t A6XX_RB_2D_BLIT_CNTL_ROTATE(enum a6xx_rotation val)
4538*4882a593Smuzhiyun {
4539*4882a593Smuzhiyun return ((val) << A6XX_RB_2D_BLIT_CNTL_ROTATE__SHIFT) & A6XX_RB_2D_BLIT_CNTL_ROTATE__MASK;
4540*4882a593Smuzhiyun }
4541*4882a593Smuzhiyun #define A6XX_RB_2D_BLIT_CNTL_UNK3__MASK 0x00000078
4542*4882a593Smuzhiyun #define A6XX_RB_2D_BLIT_CNTL_UNK3__SHIFT 3
A6XX_RB_2D_BLIT_CNTL_UNK3(uint32_t val)4543*4882a593Smuzhiyun static inline uint32_t A6XX_RB_2D_BLIT_CNTL_UNK3(uint32_t val)
4544*4882a593Smuzhiyun {
4545*4882a593Smuzhiyun return ((val) << A6XX_RB_2D_BLIT_CNTL_UNK3__SHIFT) & A6XX_RB_2D_BLIT_CNTL_UNK3__MASK;
4546*4882a593Smuzhiyun }
4547*4882a593Smuzhiyun #define A6XX_RB_2D_BLIT_CNTL_SOLID_COLOR 0x00000080
4548*4882a593Smuzhiyun #define A6XX_RB_2D_BLIT_CNTL_COLOR_FORMAT__MASK 0x0000ff00
4549*4882a593Smuzhiyun #define A6XX_RB_2D_BLIT_CNTL_COLOR_FORMAT__SHIFT 8
A6XX_RB_2D_BLIT_CNTL_COLOR_FORMAT(enum a6xx_format val)4550*4882a593Smuzhiyun static inline uint32_t A6XX_RB_2D_BLIT_CNTL_COLOR_FORMAT(enum a6xx_format val)
4551*4882a593Smuzhiyun {
4552*4882a593Smuzhiyun return ((val) << A6XX_RB_2D_BLIT_CNTL_COLOR_FORMAT__SHIFT) & A6XX_RB_2D_BLIT_CNTL_COLOR_FORMAT__MASK;
4553*4882a593Smuzhiyun }
4554*4882a593Smuzhiyun #define A6XX_RB_2D_BLIT_CNTL_SCISSOR 0x00010000
4555*4882a593Smuzhiyun #define A6XX_RB_2D_BLIT_CNTL_UNK17__MASK 0x00060000
4556*4882a593Smuzhiyun #define A6XX_RB_2D_BLIT_CNTL_UNK17__SHIFT 17
A6XX_RB_2D_BLIT_CNTL_UNK17(uint32_t val)4557*4882a593Smuzhiyun static inline uint32_t A6XX_RB_2D_BLIT_CNTL_UNK17(uint32_t val)
4558*4882a593Smuzhiyun {
4559*4882a593Smuzhiyun return ((val) << A6XX_RB_2D_BLIT_CNTL_UNK17__SHIFT) & A6XX_RB_2D_BLIT_CNTL_UNK17__MASK;
4560*4882a593Smuzhiyun }
4561*4882a593Smuzhiyun #define A6XX_RB_2D_BLIT_CNTL_D24S8 0x00080000
4562*4882a593Smuzhiyun #define A6XX_RB_2D_BLIT_CNTL_MASK__MASK 0x00f00000
4563*4882a593Smuzhiyun #define A6XX_RB_2D_BLIT_CNTL_MASK__SHIFT 20
A6XX_RB_2D_BLIT_CNTL_MASK(uint32_t val)4564*4882a593Smuzhiyun static inline uint32_t A6XX_RB_2D_BLIT_CNTL_MASK(uint32_t val)
4565*4882a593Smuzhiyun {
4566*4882a593Smuzhiyun return ((val) << A6XX_RB_2D_BLIT_CNTL_MASK__SHIFT) & A6XX_RB_2D_BLIT_CNTL_MASK__MASK;
4567*4882a593Smuzhiyun }
4568*4882a593Smuzhiyun #define A6XX_RB_2D_BLIT_CNTL_IFMT__MASK 0x1f000000
4569*4882a593Smuzhiyun #define A6XX_RB_2D_BLIT_CNTL_IFMT__SHIFT 24
A6XX_RB_2D_BLIT_CNTL_IFMT(enum a6xx_2d_ifmt val)4570*4882a593Smuzhiyun static inline uint32_t A6XX_RB_2D_BLIT_CNTL_IFMT(enum a6xx_2d_ifmt val)
4571*4882a593Smuzhiyun {
4572*4882a593Smuzhiyun return ((val) << A6XX_RB_2D_BLIT_CNTL_IFMT__SHIFT) & A6XX_RB_2D_BLIT_CNTL_IFMT__MASK;
4573*4882a593Smuzhiyun }
4574*4882a593Smuzhiyun #define A6XX_RB_2D_BLIT_CNTL_UNK29__MASK 0x20000000
4575*4882a593Smuzhiyun #define A6XX_RB_2D_BLIT_CNTL_UNK29__SHIFT 29
A6XX_RB_2D_BLIT_CNTL_UNK29(uint32_t val)4576*4882a593Smuzhiyun static inline uint32_t A6XX_RB_2D_BLIT_CNTL_UNK29(uint32_t val)
4577*4882a593Smuzhiyun {
4578*4882a593Smuzhiyun return ((val) << A6XX_RB_2D_BLIT_CNTL_UNK29__SHIFT) & A6XX_RB_2D_BLIT_CNTL_UNK29__MASK;
4579*4882a593Smuzhiyun }
4580*4882a593Smuzhiyun
4581*4882a593Smuzhiyun #define REG_A6XX_RB_2D_UNKNOWN_8C01 0x00008c01
4582*4882a593Smuzhiyun
4583*4882a593Smuzhiyun #define REG_A6XX_RB_2D_DST_INFO 0x00008c17
4584*4882a593Smuzhiyun #define A6XX_RB_2D_DST_INFO_COLOR_FORMAT__MASK 0x000000ff
4585*4882a593Smuzhiyun #define A6XX_RB_2D_DST_INFO_COLOR_FORMAT__SHIFT 0
A6XX_RB_2D_DST_INFO_COLOR_FORMAT(enum a6xx_format val)4586*4882a593Smuzhiyun static inline uint32_t A6XX_RB_2D_DST_INFO_COLOR_FORMAT(enum a6xx_format val)
4587*4882a593Smuzhiyun {
4588*4882a593Smuzhiyun return ((val) << A6XX_RB_2D_DST_INFO_COLOR_FORMAT__SHIFT) & A6XX_RB_2D_DST_INFO_COLOR_FORMAT__MASK;
4589*4882a593Smuzhiyun }
4590*4882a593Smuzhiyun #define A6XX_RB_2D_DST_INFO_TILE_MODE__MASK 0x00000300
4591*4882a593Smuzhiyun #define A6XX_RB_2D_DST_INFO_TILE_MODE__SHIFT 8
A6XX_RB_2D_DST_INFO_TILE_MODE(enum a6xx_tile_mode val)4592*4882a593Smuzhiyun static inline uint32_t A6XX_RB_2D_DST_INFO_TILE_MODE(enum a6xx_tile_mode val)
4593*4882a593Smuzhiyun {
4594*4882a593Smuzhiyun return ((val) << A6XX_RB_2D_DST_INFO_TILE_MODE__SHIFT) & A6XX_RB_2D_DST_INFO_TILE_MODE__MASK;
4595*4882a593Smuzhiyun }
4596*4882a593Smuzhiyun #define A6XX_RB_2D_DST_INFO_COLOR_SWAP__MASK 0x00000c00
4597*4882a593Smuzhiyun #define A6XX_RB_2D_DST_INFO_COLOR_SWAP__SHIFT 10
A6XX_RB_2D_DST_INFO_COLOR_SWAP(enum a3xx_color_swap val)4598*4882a593Smuzhiyun static inline uint32_t A6XX_RB_2D_DST_INFO_COLOR_SWAP(enum a3xx_color_swap val)
4599*4882a593Smuzhiyun {
4600*4882a593Smuzhiyun return ((val) << A6XX_RB_2D_DST_INFO_COLOR_SWAP__SHIFT) & A6XX_RB_2D_DST_INFO_COLOR_SWAP__MASK;
4601*4882a593Smuzhiyun }
4602*4882a593Smuzhiyun #define A6XX_RB_2D_DST_INFO_FLAGS 0x00001000
4603*4882a593Smuzhiyun #define A6XX_RB_2D_DST_INFO_SRGB 0x00002000
4604*4882a593Smuzhiyun #define A6XX_RB_2D_DST_INFO_SAMPLES__MASK 0x0000c000
4605*4882a593Smuzhiyun #define A6XX_RB_2D_DST_INFO_SAMPLES__SHIFT 14
A6XX_RB_2D_DST_INFO_SAMPLES(enum a3xx_msaa_samples val)4606*4882a593Smuzhiyun static inline uint32_t A6XX_RB_2D_DST_INFO_SAMPLES(enum a3xx_msaa_samples val)
4607*4882a593Smuzhiyun {
4608*4882a593Smuzhiyun return ((val) << A6XX_RB_2D_DST_INFO_SAMPLES__SHIFT) & A6XX_RB_2D_DST_INFO_SAMPLES__MASK;
4609*4882a593Smuzhiyun }
4610*4882a593Smuzhiyun #define A6XX_RB_2D_DST_INFO_FILTER 0x00010000
4611*4882a593Smuzhiyun #define A6XX_RB_2D_DST_INFO_SAMPLES_AVERAGE 0x00040000
4612*4882a593Smuzhiyun #define A6XX_RB_2D_DST_INFO_UNK20 0x00100000
4613*4882a593Smuzhiyun #define A6XX_RB_2D_DST_INFO_UNK22 0x00400000
4614*4882a593Smuzhiyun
4615*4882a593Smuzhiyun #define REG_A6XX_RB_2D_DST_LO 0x00008c18
4616*4882a593Smuzhiyun
4617*4882a593Smuzhiyun #define REG_A6XX_RB_2D_DST_HI 0x00008c19
4618*4882a593Smuzhiyun
4619*4882a593Smuzhiyun #define REG_A6XX_RB_2D_DST 0x00008c18
4620*4882a593Smuzhiyun #define A6XX_RB_2D_DST__MASK 0xffffffff
4621*4882a593Smuzhiyun #define A6XX_RB_2D_DST__SHIFT 0
A6XX_RB_2D_DST(uint32_t val)4622*4882a593Smuzhiyun static inline uint32_t A6XX_RB_2D_DST(uint32_t val)
4623*4882a593Smuzhiyun {
4624*4882a593Smuzhiyun return ((val) << A6XX_RB_2D_DST__SHIFT) & A6XX_RB_2D_DST__MASK;
4625*4882a593Smuzhiyun }
4626*4882a593Smuzhiyun
4627*4882a593Smuzhiyun #define REG_A6XX_RB_2D_DST_PITCH 0x00008c1a
4628*4882a593Smuzhiyun #define A6XX_RB_2D_DST_PITCH__MASK 0x0000ffff
4629*4882a593Smuzhiyun #define A6XX_RB_2D_DST_PITCH__SHIFT 0
A6XX_RB_2D_DST_PITCH(uint32_t val)4630*4882a593Smuzhiyun static inline uint32_t A6XX_RB_2D_DST_PITCH(uint32_t val)
4631*4882a593Smuzhiyun {
4632*4882a593Smuzhiyun return ((val >> 6) << A6XX_RB_2D_DST_PITCH__SHIFT) & A6XX_RB_2D_DST_PITCH__MASK;
4633*4882a593Smuzhiyun }
4634*4882a593Smuzhiyun
4635*4882a593Smuzhiyun #define REG_A6XX_RB_2D_DST_PLANE1 0x00008c1b
4636*4882a593Smuzhiyun #define A6XX_RB_2D_DST_PLANE1__MASK 0xffffffff
4637*4882a593Smuzhiyun #define A6XX_RB_2D_DST_PLANE1__SHIFT 0
A6XX_RB_2D_DST_PLANE1(uint32_t val)4638*4882a593Smuzhiyun static inline uint32_t A6XX_RB_2D_DST_PLANE1(uint32_t val)
4639*4882a593Smuzhiyun {
4640*4882a593Smuzhiyun return ((val) << A6XX_RB_2D_DST_PLANE1__SHIFT) & A6XX_RB_2D_DST_PLANE1__MASK;
4641*4882a593Smuzhiyun }
4642*4882a593Smuzhiyun
4643*4882a593Smuzhiyun #define REG_A6XX_RB_2D_DST_PLANE_PITCH 0x00008c1d
4644*4882a593Smuzhiyun #define A6XX_RB_2D_DST_PLANE_PITCH__MASK 0x0000ffff
4645*4882a593Smuzhiyun #define A6XX_RB_2D_DST_PLANE_PITCH__SHIFT 0
A6XX_RB_2D_DST_PLANE_PITCH(uint32_t val)4646*4882a593Smuzhiyun static inline uint32_t A6XX_RB_2D_DST_PLANE_PITCH(uint32_t val)
4647*4882a593Smuzhiyun {
4648*4882a593Smuzhiyun return ((val >> 6) << A6XX_RB_2D_DST_PLANE_PITCH__SHIFT) & A6XX_RB_2D_DST_PLANE_PITCH__MASK;
4649*4882a593Smuzhiyun }
4650*4882a593Smuzhiyun
4651*4882a593Smuzhiyun #define REG_A6XX_RB_2D_DST_PLANE2 0x00008c1e
4652*4882a593Smuzhiyun #define A6XX_RB_2D_DST_PLANE2__MASK 0xffffffff
4653*4882a593Smuzhiyun #define A6XX_RB_2D_DST_PLANE2__SHIFT 0
A6XX_RB_2D_DST_PLANE2(uint32_t val)4654*4882a593Smuzhiyun static inline uint32_t A6XX_RB_2D_DST_PLANE2(uint32_t val)
4655*4882a593Smuzhiyun {
4656*4882a593Smuzhiyun return ((val) << A6XX_RB_2D_DST_PLANE2__SHIFT) & A6XX_RB_2D_DST_PLANE2__MASK;
4657*4882a593Smuzhiyun }
4658*4882a593Smuzhiyun
4659*4882a593Smuzhiyun #define REG_A6XX_RB_2D_DST_FLAGS_LO 0x00008c20
4660*4882a593Smuzhiyun
4661*4882a593Smuzhiyun #define REG_A6XX_RB_2D_DST_FLAGS_HI 0x00008c21
4662*4882a593Smuzhiyun
4663*4882a593Smuzhiyun #define REG_A6XX_RB_2D_DST_FLAGS 0x00008c20
4664*4882a593Smuzhiyun #define A6XX_RB_2D_DST_FLAGS__MASK 0xffffffff
4665*4882a593Smuzhiyun #define A6XX_RB_2D_DST_FLAGS__SHIFT 0
A6XX_RB_2D_DST_FLAGS(uint32_t val)4666*4882a593Smuzhiyun static inline uint32_t A6XX_RB_2D_DST_FLAGS(uint32_t val)
4667*4882a593Smuzhiyun {
4668*4882a593Smuzhiyun return ((val) << A6XX_RB_2D_DST_FLAGS__SHIFT) & A6XX_RB_2D_DST_FLAGS__MASK;
4669*4882a593Smuzhiyun }
4670*4882a593Smuzhiyun
4671*4882a593Smuzhiyun #define REG_A6XX_RB_2D_DST_FLAGS_PITCH 0x00008c22
4672*4882a593Smuzhiyun #define A6XX_RB_2D_DST_FLAGS_PITCH__MASK 0x000000ff
4673*4882a593Smuzhiyun #define A6XX_RB_2D_DST_FLAGS_PITCH__SHIFT 0
A6XX_RB_2D_DST_FLAGS_PITCH(uint32_t val)4674*4882a593Smuzhiyun static inline uint32_t A6XX_RB_2D_DST_FLAGS_PITCH(uint32_t val)
4675*4882a593Smuzhiyun {
4676*4882a593Smuzhiyun return ((val >> 6) << A6XX_RB_2D_DST_FLAGS_PITCH__SHIFT) & A6XX_RB_2D_DST_FLAGS_PITCH__MASK;
4677*4882a593Smuzhiyun }
4678*4882a593Smuzhiyun
4679*4882a593Smuzhiyun #define REG_A6XX_RB_2D_DST_FLAGS_PLANE 0x00008c23
4680*4882a593Smuzhiyun #define A6XX_RB_2D_DST_FLAGS_PLANE__MASK 0xffffffff
4681*4882a593Smuzhiyun #define A6XX_RB_2D_DST_FLAGS_PLANE__SHIFT 0
A6XX_RB_2D_DST_FLAGS_PLANE(uint32_t val)4682*4882a593Smuzhiyun static inline uint32_t A6XX_RB_2D_DST_FLAGS_PLANE(uint32_t val)
4683*4882a593Smuzhiyun {
4684*4882a593Smuzhiyun return ((val) << A6XX_RB_2D_DST_FLAGS_PLANE__SHIFT) & A6XX_RB_2D_DST_FLAGS_PLANE__MASK;
4685*4882a593Smuzhiyun }
4686*4882a593Smuzhiyun
4687*4882a593Smuzhiyun #define REG_A6XX_RB_2D_DST_FLAGS_PLANE_PITCH 0x00008c25
4688*4882a593Smuzhiyun #define A6XX_RB_2D_DST_FLAGS_PLANE_PITCH__MASK 0x000000ff
4689*4882a593Smuzhiyun #define A6XX_RB_2D_DST_FLAGS_PLANE_PITCH__SHIFT 0
A6XX_RB_2D_DST_FLAGS_PLANE_PITCH(uint32_t val)4690*4882a593Smuzhiyun static inline uint32_t A6XX_RB_2D_DST_FLAGS_PLANE_PITCH(uint32_t val)
4691*4882a593Smuzhiyun {
4692*4882a593Smuzhiyun return ((val >> 6) << A6XX_RB_2D_DST_FLAGS_PLANE_PITCH__SHIFT) & A6XX_RB_2D_DST_FLAGS_PLANE_PITCH__MASK;
4693*4882a593Smuzhiyun }
4694*4882a593Smuzhiyun
4695*4882a593Smuzhiyun #define REG_A6XX_RB_2D_SRC_SOLID_C0 0x00008c2c
4696*4882a593Smuzhiyun
4697*4882a593Smuzhiyun #define REG_A6XX_RB_2D_SRC_SOLID_C1 0x00008c2d
4698*4882a593Smuzhiyun
4699*4882a593Smuzhiyun #define REG_A6XX_RB_2D_SRC_SOLID_C2 0x00008c2e
4700*4882a593Smuzhiyun
4701*4882a593Smuzhiyun #define REG_A6XX_RB_2D_SRC_SOLID_C3 0x00008c2f
4702*4882a593Smuzhiyun
4703*4882a593Smuzhiyun #define REG_A6XX_RB_UNKNOWN_8E01 0x00008e01
4704*4882a593Smuzhiyun
4705*4882a593Smuzhiyun #define REG_A6XX_RB_UNKNOWN_8E04 0x00008e04
4706*4882a593Smuzhiyun
4707*4882a593Smuzhiyun #define REG_A6XX_RB_ADDR_MODE_CNTL 0x00008e05
4708*4882a593Smuzhiyun
4709*4882a593Smuzhiyun #define REG_A6XX_RB_CCU_CNTL 0x00008e07
4710*4882a593Smuzhiyun #define A6XX_RB_CCU_CNTL_OFFSET__MASK 0xff800000
4711*4882a593Smuzhiyun #define A6XX_RB_CCU_CNTL_OFFSET__SHIFT 23
A6XX_RB_CCU_CNTL_OFFSET(uint32_t val)4712*4882a593Smuzhiyun static inline uint32_t A6XX_RB_CCU_CNTL_OFFSET(uint32_t val)
4713*4882a593Smuzhiyun {
4714*4882a593Smuzhiyun return ((val >> 12) << A6XX_RB_CCU_CNTL_OFFSET__SHIFT) & A6XX_RB_CCU_CNTL_OFFSET__MASK;
4715*4882a593Smuzhiyun }
4716*4882a593Smuzhiyun #define A6XX_RB_CCU_CNTL_GMEM 0x00400000
4717*4882a593Smuzhiyun #define A6XX_RB_CCU_CNTL_UNK2 0x00000004
4718*4882a593Smuzhiyun
4719*4882a593Smuzhiyun #define REG_A6XX_RB_NC_MODE_CNTL 0x00008e08
4720*4882a593Smuzhiyun #define A6XX_RB_NC_MODE_CNTL_MODE 0x00000001
4721*4882a593Smuzhiyun #define A6XX_RB_NC_MODE_CNTL_LOWER_BIT__MASK 0x00000006
4722*4882a593Smuzhiyun #define A6XX_RB_NC_MODE_CNTL_LOWER_BIT__SHIFT 1
A6XX_RB_NC_MODE_CNTL_LOWER_BIT(uint32_t val)4723*4882a593Smuzhiyun static inline uint32_t A6XX_RB_NC_MODE_CNTL_LOWER_BIT(uint32_t val)
4724*4882a593Smuzhiyun {
4725*4882a593Smuzhiyun return ((val) << A6XX_RB_NC_MODE_CNTL_LOWER_BIT__SHIFT) & A6XX_RB_NC_MODE_CNTL_LOWER_BIT__MASK;
4726*4882a593Smuzhiyun }
4727*4882a593Smuzhiyun #define A6XX_RB_NC_MODE_CNTL_MIN_ACCESS_LENGTH 0x00000008
4728*4882a593Smuzhiyun #define A6XX_RB_NC_MODE_CNTL_AMSBC 0x00000010
4729*4882a593Smuzhiyun #define A6XX_RB_NC_MODE_CNTL_UPPER_BIT__MASK 0x00000400
4730*4882a593Smuzhiyun #define A6XX_RB_NC_MODE_CNTL_UPPER_BIT__SHIFT 10
A6XX_RB_NC_MODE_CNTL_UPPER_BIT(uint32_t val)4731*4882a593Smuzhiyun static inline uint32_t A6XX_RB_NC_MODE_CNTL_UPPER_BIT(uint32_t val)
4732*4882a593Smuzhiyun {
4733*4882a593Smuzhiyun return ((val) << A6XX_RB_NC_MODE_CNTL_UPPER_BIT__SHIFT) & A6XX_RB_NC_MODE_CNTL_UPPER_BIT__MASK;
4734*4882a593Smuzhiyun }
4735*4882a593Smuzhiyun #define A6XX_RB_NC_MODE_CNTL_RGB565_PREDICATOR 0x00000800
4736*4882a593Smuzhiyun #define A6XX_RB_NC_MODE_CNTL_UNK12__MASK 0x00003000
4737*4882a593Smuzhiyun #define A6XX_RB_NC_MODE_CNTL_UNK12__SHIFT 12
A6XX_RB_NC_MODE_CNTL_UNK12(uint32_t val)4738*4882a593Smuzhiyun static inline uint32_t A6XX_RB_NC_MODE_CNTL_UNK12(uint32_t val)
4739*4882a593Smuzhiyun {
4740*4882a593Smuzhiyun return ((val) << A6XX_RB_NC_MODE_CNTL_UNK12__SHIFT) & A6XX_RB_NC_MODE_CNTL_UNK12__MASK;
4741*4882a593Smuzhiyun }
4742*4882a593Smuzhiyun
4743*4882a593Smuzhiyun #define REG_A6XX_RB_PERFCTR_RB_SEL_0 0x00008e10
4744*4882a593Smuzhiyun
4745*4882a593Smuzhiyun #define REG_A6XX_RB_PERFCTR_RB_SEL_1 0x00008e11
4746*4882a593Smuzhiyun
4747*4882a593Smuzhiyun #define REG_A6XX_RB_PERFCTR_RB_SEL_2 0x00008e12
4748*4882a593Smuzhiyun
4749*4882a593Smuzhiyun #define REG_A6XX_RB_PERFCTR_RB_SEL_3 0x00008e13
4750*4882a593Smuzhiyun
4751*4882a593Smuzhiyun #define REG_A6XX_RB_PERFCTR_RB_SEL_4 0x00008e14
4752*4882a593Smuzhiyun
4753*4882a593Smuzhiyun #define REG_A6XX_RB_PERFCTR_RB_SEL_5 0x00008e15
4754*4882a593Smuzhiyun
4755*4882a593Smuzhiyun #define REG_A6XX_RB_PERFCTR_RB_SEL_6 0x00008e16
4756*4882a593Smuzhiyun
4757*4882a593Smuzhiyun #define REG_A6XX_RB_PERFCTR_RB_SEL_7 0x00008e17
4758*4882a593Smuzhiyun
4759*4882a593Smuzhiyun #define REG_A6XX_RB_PERFCTR_CCU_SEL_0 0x00008e18
4760*4882a593Smuzhiyun
4761*4882a593Smuzhiyun #define REG_A6XX_RB_PERFCTR_CCU_SEL_1 0x00008e19
4762*4882a593Smuzhiyun
4763*4882a593Smuzhiyun #define REG_A6XX_RB_PERFCTR_CCU_SEL_2 0x00008e1a
4764*4882a593Smuzhiyun
4765*4882a593Smuzhiyun #define REG_A6XX_RB_PERFCTR_CCU_SEL_3 0x00008e1b
4766*4882a593Smuzhiyun
4767*4882a593Smuzhiyun #define REG_A6XX_RB_PERFCTR_CCU_SEL_4 0x00008e1c
4768*4882a593Smuzhiyun
4769*4882a593Smuzhiyun #define REG_A6XX_RB_UNKNOWN_8E28 0x00008e28
4770*4882a593Smuzhiyun
4771*4882a593Smuzhiyun #define REG_A6XX_RB_PERFCTR_CMP_SEL_0 0x00008e2c
4772*4882a593Smuzhiyun
4773*4882a593Smuzhiyun #define REG_A6XX_RB_PERFCTR_CMP_SEL_1 0x00008e2d
4774*4882a593Smuzhiyun
4775*4882a593Smuzhiyun #define REG_A6XX_RB_PERFCTR_CMP_SEL_2 0x00008e2e
4776*4882a593Smuzhiyun
4777*4882a593Smuzhiyun #define REG_A6XX_RB_PERFCTR_CMP_SEL_3 0x00008e2f
4778*4882a593Smuzhiyun
4779*4882a593Smuzhiyun #define REG_A6XX_RB_RB_SUB_BLOCK_SEL_CNTL_HOST 0x00008e3b
4780*4882a593Smuzhiyun
4781*4882a593Smuzhiyun #define REG_A6XX_RB_RB_SUB_BLOCK_SEL_CNTL_CD 0x00008e3d
4782*4882a593Smuzhiyun
4783*4882a593Smuzhiyun #define REG_A6XX_RB_CONTEXT_SWITCH_GMEM_SAVE_RESTORE 0x00008e50
4784*4882a593Smuzhiyun
4785*4882a593Smuzhiyun #define REG_A6XX_RB_UNKNOWN_8E51 0x00008e51
4786*4882a593Smuzhiyun #define A6XX_RB_UNKNOWN_8E51__MASK 0xffffffff
4787*4882a593Smuzhiyun #define A6XX_RB_UNKNOWN_8E51__SHIFT 0
A6XX_RB_UNKNOWN_8E51(uint32_t val)4788*4882a593Smuzhiyun static inline uint32_t A6XX_RB_UNKNOWN_8E51(uint32_t val)
4789*4882a593Smuzhiyun {
4790*4882a593Smuzhiyun return ((val) << A6XX_RB_UNKNOWN_8E51__SHIFT) & A6XX_RB_UNKNOWN_8E51__MASK;
4791*4882a593Smuzhiyun }
4792*4882a593Smuzhiyun
4793*4882a593Smuzhiyun #define REG_A6XX_VPC_UNKNOWN_9100 0x00009100
4794*4882a593Smuzhiyun
4795*4882a593Smuzhiyun #define REG_A6XX_VPC_VS_CLIP_CNTL 0x00009101
4796*4882a593Smuzhiyun #define A6XX_VPC_VS_CLIP_CNTL_CLIP_MASK__MASK 0x000000ff
4797*4882a593Smuzhiyun #define A6XX_VPC_VS_CLIP_CNTL_CLIP_MASK__SHIFT 0
A6XX_VPC_VS_CLIP_CNTL_CLIP_MASK(uint32_t val)4798*4882a593Smuzhiyun static inline uint32_t A6XX_VPC_VS_CLIP_CNTL_CLIP_MASK(uint32_t val)
4799*4882a593Smuzhiyun {
4800*4882a593Smuzhiyun return ((val) << A6XX_VPC_VS_CLIP_CNTL_CLIP_MASK__SHIFT) & A6XX_VPC_VS_CLIP_CNTL_CLIP_MASK__MASK;
4801*4882a593Smuzhiyun }
4802*4882a593Smuzhiyun #define A6XX_VPC_VS_CLIP_CNTL_CLIP_DIST_03_LOC__MASK 0x0000ff00
4803*4882a593Smuzhiyun #define A6XX_VPC_VS_CLIP_CNTL_CLIP_DIST_03_LOC__SHIFT 8
A6XX_VPC_VS_CLIP_CNTL_CLIP_DIST_03_LOC(uint32_t val)4804*4882a593Smuzhiyun static inline uint32_t A6XX_VPC_VS_CLIP_CNTL_CLIP_DIST_03_LOC(uint32_t val)
4805*4882a593Smuzhiyun {
4806*4882a593Smuzhiyun return ((val) << A6XX_VPC_VS_CLIP_CNTL_CLIP_DIST_03_LOC__SHIFT) & A6XX_VPC_VS_CLIP_CNTL_CLIP_DIST_03_LOC__MASK;
4807*4882a593Smuzhiyun }
4808*4882a593Smuzhiyun #define A6XX_VPC_VS_CLIP_CNTL_CLIP_DIST_47_LOC__MASK 0x00ff0000
4809*4882a593Smuzhiyun #define A6XX_VPC_VS_CLIP_CNTL_CLIP_DIST_47_LOC__SHIFT 16
A6XX_VPC_VS_CLIP_CNTL_CLIP_DIST_47_LOC(uint32_t val)4810*4882a593Smuzhiyun static inline uint32_t A6XX_VPC_VS_CLIP_CNTL_CLIP_DIST_47_LOC(uint32_t val)
4811*4882a593Smuzhiyun {
4812*4882a593Smuzhiyun return ((val) << A6XX_VPC_VS_CLIP_CNTL_CLIP_DIST_47_LOC__SHIFT) & A6XX_VPC_VS_CLIP_CNTL_CLIP_DIST_47_LOC__MASK;
4813*4882a593Smuzhiyun }
4814*4882a593Smuzhiyun
4815*4882a593Smuzhiyun #define REG_A6XX_VPC_GS_CLIP_CNTL 0x00009102
4816*4882a593Smuzhiyun #define A6XX_VPC_GS_CLIP_CNTL_CLIP_MASK__MASK 0x000000ff
4817*4882a593Smuzhiyun #define A6XX_VPC_GS_CLIP_CNTL_CLIP_MASK__SHIFT 0
A6XX_VPC_GS_CLIP_CNTL_CLIP_MASK(uint32_t val)4818*4882a593Smuzhiyun static inline uint32_t A6XX_VPC_GS_CLIP_CNTL_CLIP_MASK(uint32_t val)
4819*4882a593Smuzhiyun {
4820*4882a593Smuzhiyun return ((val) << A6XX_VPC_GS_CLIP_CNTL_CLIP_MASK__SHIFT) & A6XX_VPC_GS_CLIP_CNTL_CLIP_MASK__MASK;
4821*4882a593Smuzhiyun }
4822*4882a593Smuzhiyun #define A6XX_VPC_GS_CLIP_CNTL_CLIP_DIST_03_LOC__MASK 0x0000ff00
4823*4882a593Smuzhiyun #define A6XX_VPC_GS_CLIP_CNTL_CLIP_DIST_03_LOC__SHIFT 8
A6XX_VPC_GS_CLIP_CNTL_CLIP_DIST_03_LOC(uint32_t val)4824*4882a593Smuzhiyun static inline uint32_t A6XX_VPC_GS_CLIP_CNTL_CLIP_DIST_03_LOC(uint32_t val)
4825*4882a593Smuzhiyun {
4826*4882a593Smuzhiyun return ((val) << A6XX_VPC_GS_CLIP_CNTL_CLIP_DIST_03_LOC__SHIFT) & A6XX_VPC_GS_CLIP_CNTL_CLIP_DIST_03_LOC__MASK;
4827*4882a593Smuzhiyun }
4828*4882a593Smuzhiyun #define A6XX_VPC_GS_CLIP_CNTL_CLIP_DIST_47_LOC__MASK 0x00ff0000
4829*4882a593Smuzhiyun #define A6XX_VPC_GS_CLIP_CNTL_CLIP_DIST_47_LOC__SHIFT 16
A6XX_VPC_GS_CLIP_CNTL_CLIP_DIST_47_LOC(uint32_t val)4830*4882a593Smuzhiyun static inline uint32_t A6XX_VPC_GS_CLIP_CNTL_CLIP_DIST_47_LOC(uint32_t val)
4831*4882a593Smuzhiyun {
4832*4882a593Smuzhiyun return ((val) << A6XX_VPC_GS_CLIP_CNTL_CLIP_DIST_47_LOC__SHIFT) & A6XX_VPC_GS_CLIP_CNTL_CLIP_DIST_47_LOC__MASK;
4833*4882a593Smuzhiyun }
4834*4882a593Smuzhiyun
4835*4882a593Smuzhiyun #define REG_A6XX_VPC_DS_CLIP_CNTL 0x00009103
4836*4882a593Smuzhiyun #define A6XX_VPC_DS_CLIP_CNTL_CLIP_MASK__MASK 0x000000ff
4837*4882a593Smuzhiyun #define A6XX_VPC_DS_CLIP_CNTL_CLIP_MASK__SHIFT 0
A6XX_VPC_DS_CLIP_CNTL_CLIP_MASK(uint32_t val)4838*4882a593Smuzhiyun static inline uint32_t A6XX_VPC_DS_CLIP_CNTL_CLIP_MASK(uint32_t val)
4839*4882a593Smuzhiyun {
4840*4882a593Smuzhiyun return ((val) << A6XX_VPC_DS_CLIP_CNTL_CLIP_MASK__SHIFT) & A6XX_VPC_DS_CLIP_CNTL_CLIP_MASK__MASK;
4841*4882a593Smuzhiyun }
4842*4882a593Smuzhiyun #define A6XX_VPC_DS_CLIP_CNTL_CLIP_DIST_03_LOC__MASK 0x0000ff00
4843*4882a593Smuzhiyun #define A6XX_VPC_DS_CLIP_CNTL_CLIP_DIST_03_LOC__SHIFT 8
A6XX_VPC_DS_CLIP_CNTL_CLIP_DIST_03_LOC(uint32_t val)4844*4882a593Smuzhiyun static inline uint32_t A6XX_VPC_DS_CLIP_CNTL_CLIP_DIST_03_LOC(uint32_t val)
4845*4882a593Smuzhiyun {
4846*4882a593Smuzhiyun return ((val) << A6XX_VPC_DS_CLIP_CNTL_CLIP_DIST_03_LOC__SHIFT) & A6XX_VPC_DS_CLIP_CNTL_CLIP_DIST_03_LOC__MASK;
4847*4882a593Smuzhiyun }
4848*4882a593Smuzhiyun #define A6XX_VPC_DS_CLIP_CNTL_CLIP_DIST_47_LOC__MASK 0x00ff0000
4849*4882a593Smuzhiyun #define A6XX_VPC_DS_CLIP_CNTL_CLIP_DIST_47_LOC__SHIFT 16
A6XX_VPC_DS_CLIP_CNTL_CLIP_DIST_47_LOC(uint32_t val)4850*4882a593Smuzhiyun static inline uint32_t A6XX_VPC_DS_CLIP_CNTL_CLIP_DIST_47_LOC(uint32_t val)
4851*4882a593Smuzhiyun {
4852*4882a593Smuzhiyun return ((val) << A6XX_VPC_DS_CLIP_CNTL_CLIP_DIST_47_LOC__SHIFT) & A6XX_VPC_DS_CLIP_CNTL_CLIP_DIST_47_LOC__MASK;
4853*4882a593Smuzhiyun }
4854*4882a593Smuzhiyun
4855*4882a593Smuzhiyun #define REG_A6XX_VPC_VS_LAYER_CNTL 0x00009104
4856*4882a593Smuzhiyun #define A6XX_VPC_VS_LAYER_CNTL_LAYERLOC__MASK 0x000000ff
4857*4882a593Smuzhiyun #define A6XX_VPC_VS_LAYER_CNTL_LAYERLOC__SHIFT 0
A6XX_VPC_VS_LAYER_CNTL_LAYERLOC(uint32_t val)4858*4882a593Smuzhiyun static inline uint32_t A6XX_VPC_VS_LAYER_CNTL_LAYERLOC(uint32_t val)
4859*4882a593Smuzhiyun {
4860*4882a593Smuzhiyun return ((val) << A6XX_VPC_VS_LAYER_CNTL_LAYERLOC__SHIFT) & A6XX_VPC_VS_LAYER_CNTL_LAYERLOC__MASK;
4861*4882a593Smuzhiyun }
4862*4882a593Smuzhiyun #define A6XX_VPC_VS_LAYER_CNTL_VIEWLOC__MASK 0x0000ff00
4863*4882a593Smuzhiyun #define A6XX_VPC_VS_LAYER_CNTL_VIEWLOC__SHIFT 8
A6XX_VPC_VS_LAYER_CNTL_VIEWLOC(uint32_t val)4864*4882a593Smuzhiyun static inline uint32_t A6XX_VPC_VS_LAYER_CNTL_VIEWLOC(uint32_t val)
4865*4882a593Smuzhiyun {
4866*4882a593Smuzhiyun return ((val) << A6XX_VPC_VS_LAYER_CNTL_VIEWLOC__SHIFT) & A6XX_VPC_VS_LAYER_CNTL_VIEWLOC__MASK;
4867*4882a593Smuzhiyun }
4868*4882a593Smuzhiyun
4869*4882a593Smuzhiyun #define REG_A6XX_VPC_GS_LAYER_CNTL 0x00009105
4870*4882a593Smuzhiyun #define A6XX_VPC_GS_LAYER_CNTL_LAYERLOC__MASK 0x000000ff
4871*4882a593Smuzhiyun #define A6XX_VPC_GS_LAYER_CNTL_LAYERLOC__SHIFT 0
A6XX_VPC_GS_LAYER_CNTL_LAYERLOC(uint32_t val)4872*4882a593Smuzhiyun static inline uint32_t A6XX_VPC_GS_LAYER_CNTL_LAYERLOC(uint32_t val)
4873*4882a593Smuzhiyun {
4874*4882a593Smuzhiyun return ((val) << A6XX_VPC_GS_LAYER_CNTL_LAYERLOC__SHIFT) & A6XX_VPC_GS_LAYER_CNTL_LAYERLOC__MASK;
4875*4882a593Smuzhiyun }
4876*4882a593Smuzhiyun #define A6XX_VPC_GS_LAYER_CNTL_VIEWLOC__MASK 0x0000ff00
4877*4882a593Smuzhiyun #define A6XX_VPC_GS_LAYER_CNTL_VIEWLOC__SHIFT 8
A6XX_VPC_GS_LAYER_CNTL_VIEWLOC(uint32_t val)4878*4882a593Smuzhiyun static inline uint32_t A6XX_VPC_GS_LAYER_CNTL_VIEWLOC(uint32_t val)
4879*4882a593Smuzhiyun {
4880*4882a593Smuzhiyun return ((val) << A6XX_VPC_GS_LAYER_CNTL_VIEWLOC__SHIFT) & A6XX_VPC_GS_LAYER_CNTL_VIEWLOC__MASK;
4881*4882a593Smuzhiyun }
4882*4882a593Smuzhiyun
4883*4882a593Smuzhiyun #define REG_A6XX_VPC_DS_LAYER_CNTL 0x00009106
4884*4882a593Smuzhiyun #define A6XX_VPC_DS_LAYER_CNTL_LAYERLOC__MASK 0x000000ff
4885*4882a593Smuzhiyun #define A6XX_VPC_DS_LAYER_CNTL_LAYERLOC__SHIFT 0
A6XX_VPC_DS_LAYER_CNTL_LAYERLOC(uint32_t val)4886*4882a593Smuzhiyun static inline uint32_t A6XX_VPC_DS_LAYER_CNTL_LAYERLOC(uint32_t val)
4887*4882a593Smuzhiyun {
4888*4882a593Smuzhiyun return ((val) << A6XX_VPC_DS_LAYER_CNTL_LAYERLOC__SHIFT) & A6XX_VPC_DS_LAYER_CNTL_LAYERLOC__MASK;
4889*4882a593Smuzhiyun }
4890*4882a593Smuzhiyun #define A6XX_VPC_DS_LAYER_CNTL_VIEWLOC__MASK 0x0000ff00
4891*4882a593Smuzhiyun #define A6XX_VPC_DS_LAYER_CNTL_VIEWLOC__SHIFT 8
A6XX_VPC_DS_LAYER_CNTL_VIEWLOC(uint32_t val)4892*4882a593Smuzhiyun static inline uint32_t A6XX_VPC_DS_LAYER_CNTL_VIEWLOC(uint32_t val)
4893*4882a593Smuzhiyun {
4894*4882a593Smuzhiyun return ((val) << A6XX_VPC_DS_LAYER_CNTL_VIEWLOC__SHIFT) & A6XX_VPC_DS_LAYER_CNTL_VIEWLOC__MASK;
4895*4882a593Smuzhiyun }
4896*4882a593Smuzhiyun
4897*4882a593Smuzhiyun #define REG_A6XX_VPC_UNKNOWN_9107 0x00009107
4898*4882a593Smuzhiyun
4899*4882a593Smuzhiyun #define REG_A6XX_VPC_POLYGON_MODE 0x00009108
4900*4882a593Smuzhiyun #define A6XX_VPC_POLYGON_MODE_MODE__MASK 0x00000003
4901*4882a593Smuzhiyun #define A6XX_VPC_POLYGON_MODE_MODE__SHIFT 0
A6XX_VPC_POLYGON_MODE_MODE(enum a6xx_polygon_mode val)4902*4882a593Smuzhiyun static inline uint32_t A6XX_VPC_POLYGON_MODE_MODE(enum a6xx_polygon_mode val)
4903*4882a593Smuzhiyun {
4904*4882a593Smuzhiyun return ((val) << A6XX_VPC_POLYGON_MODE_MODE__SHIFT) & A6XX_VPC_POLYGON_MODE_MODE__MASK;
4905*4882a593Smuzhiyun }
4906*4882a593Smuzhiyun
REG_A6XX_VPC_VARYING_INTERP(uint32_t i0)4907*4882a593Smuzhiyun static inline uint32_t REG_A6XX_VPC_VARYING_INTERP(uint32_t i0) { return 0x00009200 + 0x1*i0; }
4908*4882a593Smuzhiyun
REG_A6XX_VPC_VARYING_INTERP_MODE(uint32_t i0)4909*4882a593Smuzhiyun static inline uint32_t REG_A6XX_VPC_VARYING_INTERP_MODE(uint32_t i0) { return 0x00009200 + 0x1*i0; }
4910*4882a593Smuzhiyun
REG_A6XX_VPC_VARYING_PS_REPL(uint32_t i0)4911*4882a593Smuzhiyun static inline uint32_t REG_A6XX_VPC_VARYING_PS_REPL(uint32_t i0) { return 0x00009208 + 0x1*i0; }
4912*4882a593Smuzhiyun
REG_A6XX_VPC_VARYING_PS_REPL_MODE(uint32_t i0)4913*4882a593Smuzhiyun static inline uint32_t REG_A6XX_VPC_VARYING_PS_REPL_MODE(uint32_t i0) { return 0x00009208 + 0x1*i0; }
4914*4882a593Smuzhiyun
4915*4882a593Smuzhiyun #define REG_A6XX_VPC_UNKNOWN_9210 0x00009210
4916*4882a593Smuzhiyun
4917*4882a593Smuzhiyun #define REG_A6XX_VPC_UNKNOWN_9211 0x00009211
4918*4882a593Smuzhiyun
REG_A6XX_VPC_VAR(uint32_t i0)4919*4882a593Smuzhiyun static inline uint32_t REG_A6XX_VPC_VAR(uint32_t i0) { return 0x00009212 + 0x1*i0; }
4920*4882a593Smuzhiyun
REG_A6XX_VPC_VAR_DISABLE(uint32_t i0)4921*4882a593Smuzhiyun static inline uint32_t REG_A6XX_VPC_VAR_DISABLE(uint32_t i0) { return 0x00009212 + 0x1*i0; }
4922*4882a593Smuzhiyun
4923*4882a593Smuzhiyun #define REG_A6XX_VPC_SO_CNTL 0x00009216
4924*4882a593Smuzhiyun #define A6XX_VPC_SO_CNTL_UNK0__MASK 0x000000ff
4925*4882a593Smuzhiyun #define A6XX_VPC_SO_CNTL_UNK0__SHIFT 0
A6XX_VPC_SO_CNTL_UNK0(uint32_t val)4926*4882a593Smuzhiyun static inline uint32_t A6XX_VPC_SO_CNTL_UNK0(uint32_t val)
4927*4882a593Smuzhiyun {
4928*4882a593Smuzhiyun return ((val) << A6XX_VPC_SO_CNTL_UNK0__SHIFT) & A6XX_VPC_SO_CNTL_UNK0__MASK;
4929*4882a593Smuzhiyun }
4930*4882a593Smuzhiyun #define A6XX_VPC_SO_CNTL_ENABLE 0x00010000
4931*4882a593Smuzhiyun
4932*4882a593Smuzhiyun #define REG_A6XX_VPC_SO_PROG 0x00009217
4933*4882a593Smuzhiyun #define A6XX_VPC_SO_PROG_A_BUF__MASK 0x00000003
4934*4882a593Smuzhiyun #define A6XX_VPC_SO_PROG_A_BUF__SHIFT 0
A6XX_VPC_SO_PROG_A_BUF(uint32_t val)4935*4882a593Smuzhiyun static inline uint32_t A6XX_VPC_SO_PROG_A_BUF(uint32_t val)
4936*4882a593Smuzhiyun {
4937*4882a593Smuzhiyun return ((val) << A6XX_VPC_SO_PROG_A_BUF__SHIFT) & A6XX_VPC_SO_PROG_A_BUF__MASK;
4938*4882a593Smuzhiyun }
4939*4882a593Smuzhiyun #define A6XX_VPC_SO_PROG_A_OFF__MASK 0x000007fc
4940*4882a593Smuzhiyun #define A6XX_VPC_SO_PROG_A_OFF__SHIFT 2
A6XX_VPC_SO_PROG_A_OFF(uint32_t val)4941*4882a593Smuzhiyun static inline uint32_t A6XX_VPC_SO_PROG_A_OFF(uint32_t val)
4942*4882a593Smuzhiyun {
4943*4882a593Smuzhiyun return ((val >> 2) << A6XX_VPC_SO_PROG_A_OFF__SHIFT) & A6XX_VPC_SO_PROG_A_OFF__MASK;
4944*4882a593Smuzhiyun }
4945*4882a593Smuzhiyun #define A6XX_VPC_SO_PROG_A_EN 0x00000800
4946*4882a593Smuzhiyun #define A6XX_VPC_SO_PROG_B_BUF__MASK 0x00003000
4947*4882a593Smuzhiyun #define A6XX_VPC_SO_PROG_B_BUF__SHIFT 12
A6XX_VPC_SO_PROG_B_BUF(uint32_t val)4948*4882a593Smuzhiyun static inline uint32_t A6XX_VPC_SO_PROG_B_BUF(uint32_t val)
4949*4882a593Smuzhiyun {
4950*4882a593Smuzhiyun return ((val) << A6XX_VPC_SO_PROG_B_BUF__SHIFT) & A6XX_VPC_SO_PROG_B_BUF__MASK;
4951*4882a593Smuzhiyun }
4952*4882a593Smuzhiyun #define A6XX_VPC_SO_PROG_B_OFF__MASK 0x007fc000
4953*4882a593Smuzhiyun #define A6XX_VPC_SO_PROG_B_OFF__SHIFT 14
A6XX_VPC_SO_PROG_B_OFF(uint32_t val)4954*4882a593Smuzhiyun static inline uint32_t A6XX_VPC_SO_PROG_B_OFF(uint32_t val)
4955*4882a593Smuzhiyun {
4956*4882a593Smuzhiyun return ((val >> 2) << A6XX_VPC_SO_PROG_B_OFF__SHIFT) & A6XX_VPC_SO_PROG_B_OFF__MASK;
4957*4882a593Smuzhiyun }
4958*4882a593Smuzhiyun #define A6XX_VPC_SO_PROG_B_EN 0x00800000
4959*4882a593Smuzhiyun
4960*4882a593Smuzhiyun #define REG_A6XX_VPC_SO_STREAM_COUNTS_LO 0x00009218
4961*4882a593Smuzhiyun
4962*4882a593Smuzhiyun #define REG_A6XX_VPC_SO_STREAM_COUNTS_HI 0x00009219
4963*4882a593Smuzhiyun
4964*4882a593Smuzhiyun #define REG_A6XX_VPC_SO_STREAM_COUNTS 0x00009218
4965*4882a593Smuzhiyun #define A6XX_VPC_SO_STREAM_COUNTS__MASK 0xffffffff
4966*4882a593Smuzhiyun #define A6XX_VPC_SO_STREAM_COUNTS__SHIFT 0
A6XX_VPC_SO_STREAM_COUNTS(uint32_t val)4967*4882a593Smuzhiyun static inline uint32_t A6XX_VPC_SO_STREAM_COUNTS(uint32_t val)
4968*4882a593Smuzhiyun {
4969*4882a593Smuzhiyun return ((val) << A6XX_VPC_SO_STREAM_COUNTS__SHIFT) & A6XX_VPC_SO_STREAM_COUNTS__MASK;
4970*4882a593Smuzhiyun }
4971*4882a593Smuzhiyun
REG_A6XX_VPC_SO(uint32_t i0)4972*4882a593Smuzhiyun static inline uint32_t REG_A6XX_VPC_SO(uint32_t i0) { return 0x0000921a + 0x7*i0; }
4973*4882a593Smuzhiyun
REG_A6XX_VPC_SO_BUFFER_BASE(uint32_t i0)4974*4882a593Smuzhiyun static inline uint32_t REG_A6XX_VPC_SO_BUFFER_BASE(uint32_t i0) { return 0x0000921a + 0x7*i0; }
4975*4882a593Smuzhiyun #define A6XX_VPC_SO_BUFFER_BASE__MASK 0xffffffff
4976*4882a593Smuzhiyun #define A6XX_VPC_SO_BUFFER_BASE__SHIFT 0
A6XX_VPC_SO_BUFFER_BASE(uint32_t val)4977*4882a593Smuzhiyun static inline uint32_t A6XX_VPC_SO_BUFFER_BASE(uint32_t val)
4978*4882a593Smuzhiyun {
4979*4882a593Smuzhiyun return ((val) << A6XX_VPC_SO_BUFFER_BASE__SHIFT) & A6XX_VPC_SO_BUFFER_BASE__MASK;
4980*4882a593Smuzhiyun }
4981*4882a593Smuzhiyun
REG_A6XX_VPC_SO_BUFFER_BASE_LO(uint32_t i0)4982*4882a593Smuzhiyun static inline uint32_t REG_A6XX_VPC_SO_BUFFER_BASE_LO(uint32_t i0) { return 0x0000921a + 0x7*i0; }
4983*4882a593Smuzhiyun
REG_A6XX_VPC_SO_BUFFER_BASE_HI(uint32_t i0)4984*4882a593Smuzhiyun static inline uint32_t REG_A6XX_VPC_SO_BUFFER_BASE_HI(uint32_t i0) { return 0x0000921b + 0x7*i0; }
4985*4882a593Smuzhiyun
REG_A6XX_VPC_SO_BUFFER_SIZE(uint32_t i0)4986*4882a593Smuzhiyun static inline uint32_t REG_A6XX_VPC_SO_BUFFER_SIZE(uint32_t i0) { return 0x0000921c + 0x7*i0; }
4987*4882a593Smuzhiyun #define A6XX_VPC_SO_BUFFER_SIZE__MASK 0xfffffffc
4988*4882a593Smuzhiyun #define A6XX_VPC_SO_BUFFER_SIZE__SHIFT 2
A6XX_VPC_SO_BUFFER_SIZE(uint32_t val)4989*4882a593Smuzhiyun static inline uint32_t A6XX_VPC_SO_BUFFER_SIZE(uint32_t val)
4990*4882a593Smuzhiyun {
4991*4882a593Smuzhiyun return ((val >> 2) << A6XX_VPC_SO_BUFFER_SIZE__SHIFT) & A6XX_VPC_SO_BUFFER_SIZE__MASK;
4992*4882a593Smuzhiyun }
4993*4882a593Smuzhiyun
REG_A6XX_VPC_SO_NCOMP(uint32_t i0)4994*4882a593Smuzhiyun static inline uint32_t REG_A6XX_VPC_SO_NCOMP(uint32_t i0) { return 0x0000921d + 0x7*i0; }
4995*4882a593Smuzhiyun
REG_A6XX_VPC_SO_BUFFER_OFFSET(uint32_t i0)4996*4882a593Smuzhiyun static inline uint32_t REG_A6XX_VPC_SO_BUFFER_OFFSET(uint32_t i0) { return 0x0000921e + 0x7*i0; }
4997*4882a593Smuzhiyun #define A6XX_VPC_SO_BUFFER_OFFSET__MASK 0xfffffffc
4998*4882a593Smuzhiyun #define A6XX_VPC_SO_BUFFER_OFFSET__SHIFT 2
A6XX_VPC_SO_BUFFER_OFFSET(uint32_t val)4999*4882a593Smuzhiyun static inline uint32_t A6XX_VPC_SO_BUFFER_OFFSET(uint32_t val)
5000*4882a593Smuzhiyun {
5001*4882a593Smuzhiyun return ((val >> 2) << A6XX_VPC_SO_BUFFER_OFFSET__SHIFT) & A6XX_VPC_SO_BUFFER_OFFSET__MASK;
5002*4882a593Smuzhiyun }
5003*4882a593Smuzhiyun
REG_A6XX_VPC_SO_FLUSH_BASE(uint32_t i0)5004*4882a593Smuzhiyun static inline uint32_t REG_A6XX_VPC_SO_FLUSH_BASE(uint32_t i0) { return 0x0000921f + 0x7*i0; }
5005*4882a593Smuzhiyun #define A6XX_VPC_SO_FLUSH_BASE__MASK 0xffffffff
5006*4882a593Smuzhiyun #define A6XX_VPC_SO_FLUSH_BASE__SHIFT 0
A6XX_VPC_SO_FLUSH_BASE(uint32_t val)5007*4882a593Smuzhiyun static inline uint32_t A6XX_VPC_SO_FLUSH_BASE(uint32_t val)
5008*4882a593Smuzhiyun {
5009*4882a593Smuzhiyun return ((val) << A6XX_VPC_SO_FLUSH_BASE__SHIFT) & A6XX_VPC_SO_FLUSH_BASE__MASK;
5010*4882a593Smuzhiyun }
5011*4882a593Smuzhiyun
REG_A6XX_VPC_SO_FLUSH_BASE_LO(uint32_t i0)5012*4882a593Smuzhiyun static inline uint32_t REG_A6XX_VPC_SO_FLUSH_BASE_LO(uint32_t i0) { return 0x0000921f + 0x7*i0; }
5013*4882a593Smuzhiyun
REG_A6XX_VPC_SO_FLUSH_BASE_HI(uint32_t i0)5014*4882a593Smuzhiyun static inline uint32_t REG_A6XX_VPC_SO_FLUSH_BASE_HI(uint32_t i0) { return 0x00009220 + 0x7*i0; }
5015*4882a593Smuzhiyun
5016*4882a593Smuzhiyun #define REG_A6XX_VPC_POINT_COORD_INVERT 0x00009236
5017*4882a593Smuzhiyun #define A6XX_VPC_POINT_COORD_INVERT_INVERT 0x00000001
5018*4882a593Smuzhiyun
5019*4882a593Smuzhiyun #define REG_A6XX_VPC_UNKNOWN_9300 0x00009300
5020*4882a593Smuzhiyun
5021*4882a593Smuzhiyun #define REG_A6XX_VPC_VS_PACK 0x00009301
5022*4882a593Smuzhiyun #define A6XX_VPC_VS_PACK_STRIDE_IN_VPC__MASK 0x000000ff
5023*4882a593Smuzhiyun #define A6XX_VPC_VS_PACK_STRIDE_IN_VPC__SHIFT 0
A6XX_VPC_VS_PACK_STRIDE_IN_VPC(uint32_t val)5024*4882a593Smuzhiyun static inline uint32_t A6XX_VPC_VS_PACK_STRIDE_IN_VPC(uint32_t val)
5025*4882a593Smuzhiyun {
5026*4882a593Smuzhiyun return ((val) << A6XX_VPC_VS_PACK_STRIDE_IN_VPC__SHIFT) & A6XX_VPC_VS_PACK_STRIDE_IN_VPC__MASK;
5027*4882a593Smuzhiyun }
5028*4882a593Smuzhiyun #define A6XX_VPC_VS_PACK_POSITIONLOC__MASK 0x0000ff00
5029*4882a593Smuzhiyun #define A6XX_VPC_VS_PACK_POSITIONLOC__SHIFT 8
A6XX_VPC_VS_PACK_POSITIONLOC(uint32_t val)5030*4882a593Smuzhiyun static inline uint32_t A6XX_VPC_VS_PACK_POSITIONLOC(uint32_t val)
5031*4882a593Smuzhiyun {
5032*4882a593Smuzhiyun return ((val) << A6XX_VPC_VS_PACK_POSITIONLOC__SHIFT) & A6XX_VPC_VS_PACK_POSITIONLOC__MASK;
5033*4882a593Smuzhiyun }
5034*4882a593Smuzhiyun #define A6XX_VPC_VS_PACK_PSIZELOC__MASK 0x00ff0000
5035*4882a593Smuzhiyun #define A6XX_VPC_VS_PACK_PSIZELOC__SHIFT 16
A6XX_VPC_VS_PACK_PSIZELOC(uint32_t val)5036*4882a593Smuzhiyun static inline uint32_t A6XX_VPC_VS_PACK_PSIZELOC(uint32_t val)
5037*4882a593Smuzhiyun {
5038*4882a593Smuzhiyun return ((val) << A6XX_VPC_VS_PACK_PSIZELOC__SHIFT) & A6XX_VPC_VS_PACK_PSIZELOC__MASK;
5039*4882a593Smuzhiyun }
5040*4882a593Smuzhiyun #define A6XX_VPC_VS_PACK_UNK24__MASK 0x0f000000
5041*4882a593Smuzhiyun #define A6XX_VPC_VS_PACK_UNK24__SHIFT 24
A6XX_VPC_VS_PACK_UNK24(uint32_t val)5042*4882a593Smuzhiyun static inline uint32_t A6XX_VPC_VS_PACK_UNK24(uint32_t val)
5043*4882a593Smuzhiyun {
5044*4882a593Smuzhiyun return ((val) << A6XX_VPC_VS_PACK_UNK24__SHIFT) & A6XX_VPC_VS_PACK_UNK24__MASK;
5045*4882a593Smuzhiyun }
5046*4882a593Smuzhiyun
5047*4882a593Smuzhiyun #define REG_A6XX_VPC_GS_PACK 0x00009302
5048*4882a593Smuzhiyun #define A6XX_VPC_GS_PACK_STRIDE_IN_VPC__MASK 0x000000ff
5049*4882a593Smuzhiyun #define A6XX_VPC_GS_PACK_STRIDE_IN_VPC__SHIFT 0
A6XX_VPC_GS_PACK_STRIDE_IN_VPC(uint32_t val)5050*4882a593Smuzhiyun static inline uint32_t A6XX_VPC_GS_PACK_STRIDE_IN_VPC(uint32_t val)
5051*4882a593Smuzhiyun {
5052*4882a593Smuzhiyun return ((val) << A6XX_VPC_GS_PACK_STRIDE_IN_VPC__SHIFT) & A6XX_VPC_GS_PACK_STRIDE_IN_VPC__MASK;
5053*4882a593Smuzhiyun }
5054*4882a593Smuzhiyun #define A6XX_VPC_GS_PACK_POSITIONLOC__MASK 0x0000ff00
5055*4882a593Smuzhiyun #define A6XX_VPC_GS_PACK_POSITIONLOC__SHIFT 8
A6XX_VPC_GS_PACK_POSITIONLOC(uint32_t val)5056*4882a593Smuzhiyun static inline uint32_t A6XX_VPC_GS_PACK_POSITIONLOC(uint32_t val)
5057*4882a593Smuzhiyun {
5058*4882a593Smuzhiyun return ((val) << A6XX_VPC_GS_PACK_POSITIONLOC__SHIFT) & A6XX_VPC_GS_PACK_POSITIONLOC__MASK;
5059*4882a593Smuzhiyun }
5060*4882a593Smuzhiyun #define A6XX_VPC_GS_PACK_PSIZELOC__MASK 0x00ff0000
5061*4882a593Smuzhiyun #define A6XX_VPC_GS_PACK_PSIZELOC__SHIFT 16
A6XX_VPC_GS_PACK_PSIZELOC(uint32_t val)5062*4882a593Smuzhiyun static inline uint32_t A6XX_VPC_GS_PACK_PSIZELOC(uint32_t val)
5063*4882a593Smuzhiyun {
5064*4882a593Smuzhiyun return ((val) << A6XX_VPC_GS_PACK_PSIZELOC__SHIFT) & A6XX_VPC_GS_PACK_PSIZELOC__MASK;
5065*4882a593Smuzhiyun }
5066*4882a593Smuzhiyun #define A6XX_VPC_GS_PACK_UNK24__MASK 0x0f000000
5067*4882a593Smuzhiyun #define A6XX_VPC_GS_PACK_UNK24__SHIFT 24
A6XX_VPC_GS_PACK_UNK24(uint32_t val)5068*4882a593Smuzhiyun static inline uint32_t A6XX_VPC_GS_PACK_UNK24(uint32_t val)
5069*4882a593Smuzhiyun {
5070*4882a593Smuzhiyun return ((val) << A6XX_VPC_GS_PACK_UNK24__SHIFT) & A6XX_VPC_GS_PACK_UNK24__MASK;
5071*4882a593Smuzhiyun }
5072*4882a593Smuzhiyun
5073*4882a593Smuzhiyun #define REG_A6XX_VPC_DS_PACK 0x00009303
5074*4882a593Smuzhiyun #define A6XX_VPC_DS_PACK_STRIDE_IN_VPC__MASK 0x000000ff
5075*4882a593Smuzhiyun #define A6XX_VPC_DS_PACK_STRIDE_IN_VPC__SHIFT 0
A6XX_VPC_DS_PACK_STRIDE_IN_VPC(uint32_t val)5076*4882a593Smuzhiyun static inline uint32_t A6XX_VPC_DS_PACK_STRIDE_IN_VPC(uint32_t val)
5077*4882a593Smuzhiyun {
5078*4882a593Smuzhiyun return ((val) << A6XX_VPC_DS_PACK_STRIDE_IN_VPC__SHIFT) & A6XX_VPC_DS_PACK_STRIDE_IN_VPC__MASK;
5079*4882a593Smuzhiyun }
5080*4882a593Smuzhiyun #define A6XX_VPC_DS_PACK_POSITIONLOC__MASK 0x0000ff00
5081*4882a593Smuzhiyun #define A6XX_VPC_DS_PACK_POSITIONLOC__SHIFT 8
A6XX_VPC_DS_PACK_POSITIONLOC(uint32_t val)5082*4882a593Smuzhiyun static inline uint32_t A6XX_VPC_DS_PACK_POSITIONLOC(uint32_t val)
5083*4882a593Smuzhiyun {
5084*4882a593Smuzhiyun return ((val) << A6XX_VPC_DS_PACK_POSITIONLOC__SHIFT) & A6XX_VPC_DS_PACK_POSITIONLOC__MASK;
5085*4882a593Smuzhiyun }
5086*4882a593Smuzhiyun #define A6XX_VPC_DS_PACK_PSIZELOC__MASK 0x00ff0000
5087*4882a593Smuzhiyun #define A6XX_VPC_DS_PACK_PSIZELOC__SHIFT 16
A6XX_VPC_DS_PACK_PSIZELOC(uint32_t val)5088*4882a593Smuzhiyun static inline uint32_t A6XX_VPC_DS_PACK_PSIZELOC(uint32_t val)
5089*4882a593Smuzhiyun {
5090*4882a593Smuzhiyun return ((val) << A6XX_VPC_DS_PACK_PSIZELOC__SHIFT) & A6XX_VPC_DS_PACK_PSIZELOC__MASK;
5091*4882a593Smuzhiyun }
5092*4882a593Smuzhiyun #define A6XX_VPC_DS_PACK_UNK24__MASK 0x0f000000
5093*4882a593Smuzhiyun #define A6XX_VPC_DS_PACK_UNK24__SHIFT 24
A6XX_VPC_DS_PACK_UNK24(uint32_t val)5094*4882a593Smuzhiyun static inline uint32_t A6XX_VPC_DS_PACK_UNK24(uint32_t val)
5095*4882a593Smuzhiyun {
5096*4882a593Smuzhiyun return ((val) << A6XX_VPC_DS_PACK_UNK24__SHIFT) & A6XX_VPC_DS_PACK_UNK24__MASK;
5097*4882a593Smuzhiyun }
5098*4882a593Smuzhiyun
5099*4882a593Smuzhiyun #define REG_A6XX_VPC_CNTL_0 0x00009304
5100*4882a593Smuzhiyun #define A6XX_VPC_CNTL_0_NUMNONPOSVAR__MASK 0x000000ff
5101*4882a593Smuzhiyun #define A6XX_VPC_CNTL_0_NUMNONPOSVAR__SHIFT 0
A6XX_VPC_CNTL_0_NUMNONPOSVAR(uint32_t val)5102*4882a593Smuzhiyun static inline uint32_t A6XX_VPC_CNTL_0_NUMNONPOSVAR(uint32_t val)
5103*4882a593Smuzhiyun {
5104*4882a593Smuzhiyun return ((val) << A6XX_VPC_CNTL_0_NUMNONPOSVAR__SHIFT) & A6XX_VPC_CNTL_0_NUMNONPOSVAR__MASK;
5105*4882a593Smuzhiyun }
5106*4882a593Smuzhiyun #define A6XX_VPC_CNTL_0_PRIMIDLOC__MASK 0x0000ff00
5107*4882a593Smuzhiyun #define A6XX_VPC_CNTL_0_PRIMIDLOC__SHIFT 8
A6XX_VPC_CNTL_0_PRIMIDLOC(uint32_t val)5108*4882a593Smuzhiyun static inline uint32_t A6XX_VPC_CNTL_0_PRIMIDLOC(uint32_t val)
5109*4882a593Smuzhiyun {
5110*4882a593Smuzhiyun return ((val) << A6XX_VPC_CNTL_0_PRIMIDLOC__SHIFT) & A6XX_VPC_CNTL_0_PRIMIDLOC__MASK;
5111*4882a593Smuzhiyun }
5112*4882a593Smuzhiyun #define A6XX_VPC_CNTL_0_VARYING 0x00010000
5113*4882a593Smuzhiyun #define A6XX_VPC_CNTL_0_UNKLOC__MASK 0xff000000
5114*4882a593Smuzhiyun #define A6XX_VPC_CNTL_0_UNKLOC__SHIFT 24
A6XX_VPC_CNTL_0_UNKLOC(uint32_t val)5115*4882a593Smuzhiyun static inline uint32_t A6XX_VPC_CNTL_0_UNKLOC(uint32_t val)
5116*4882a593Smuzhiyun {
5117*4882a593Smuzhiyun return ((val) << A6XX_VPC_CNTL_0_UNKLOC__SHIFT) & A6XX_VPC_CNTL_0_UNKLOC__MASK;
5118*4882a593Smuzhiyun }
5119*4882a593Smuzhiyun
5120*4882a593Smuzhiyun #define REG_A6XX_VPC_SO_BUF_CNTL 0x00009305
5121*4882a593Smuzhiyun #define A6XX_VPC_SO_BUF_CNTL_BUF0 0x00000001
5122*4882a593Smuzhiyun #define A6XX_VPC_SO_BUF_CNTL_BUF1 0x00000008
5123*4882a593Smuzhiyun #define A6XX_VPC_SO_BUF_CNTL_BUF2 0x00000040
5124*4882a593Smuzhiyun #define A6XX_VPC_SO_BUF_CNTL_BUF3 0x00000200
5125*4882a593Smuzhiyun #define A6XX_VPC_SO_BUF_CNTL_ENABLE 0x00008000
5126*4882a593Smuzhiyun #define A6XX_VPC_SO_BUF_CNTL_UNK16__MASK 0x000f0000
5127*4882a593Smuzhiyun #define A6XX_VPC_SO_BUF_CNTL_UNK16__SHIFT 16
A6XX_VPC_SO_BUF_CNTL_UNK16(uint32_t val)5128*4882a593Smuzhiyun static inline uint32_t A6XX_VPC_SO_BUF_CNTL_UNK16(uint32_t val)
5129*4882a593Smuzhiyun {
5130*4882a593Smuzhiyun return ((val) << A6XX_VPC_SO_BUF_CNTL_UNK16__SHIFT) & A6XX_VPC_SO_BUF_CNTL_UNK16__MASK;
5131*4882a593Smuzhiyun }
5132*4882a593Smuzhiyun
5133*4882a593Smuzhiyun #define REG_A6XX_VPC_SO_DISABLE 0x00009306
5134*4882a593Smuzhiyun #define A6XX_VPC_SO_DISABLE_DISABLE 0x00000001
5135*4882a593Smuzhiyun
5136*4882a593Smuzhiyun #define REG_A6XX_VPC_UNKNOWN_9600 0x00009600
5137*4882a593Smuzhiyun
5138*4882a593Smuzhiyun #define REG_A6XX_VPC_ADDR_MODE_CNTL 0x00009601
5139*4882a593Smuzhiyun
5140*4882a593Smuzhiyun #define REG_A6XX_VPC_UNKNOWN_9602 0x00009602
5141*4882a593Smuzhiyun
5142*4882a593Smuzhiyun #define REG_A6XX_VPC_UNKNOWN_9603 0x00009603
5143*4882a593Smuzhiyun
5144*4882a593Smuzhiyun #define REG_A6XX_VPC_PERFCTR_VPC_SEL_0 0x00009604
5145*4882a593Smuzhiyun
5146*4882a593Smuzhiyun #define REG_A6XX_VPC_PERFCTR_VPC_SEL_1 0x00009605
5147*4882a593Smuzhiyun
5148*4882a593Smuzhiyun #define REG_A6XX_VPC_PERFCTR_VPC_SEL_2 0x00009606
5149*4882a593Smuzhiyun
5150*4882a593Smuzhiyun #define REG_A6XX_VPC_PERFCTR_VPC_SEL_3 0x00009607
5151*4882a593Smuzhiyun
5152*4882a593Smuzhiyun #define REG_A6XX_VPC_PERFCTR_VPC_SEL_4 0x00009608
5153*4882a593Smuzhiyun
5154*4882a593Smuzhiyun #define REG_A6XX_VPC_PERFCTR_VPC_SEL_5 0x00009609
5155*4882a593Smuzhiyun
5156*4882a593Smuzhiyun #define REG_A6XX_PC_TESS_NUM_VERTEX 0x00009800
5157*4882a593Smuzhiyun
5158*4882a593Smuzhiyun #define REG_A6XX_PC_UNKNOWN_9801 0x00009801
5159*4882a593Smuzhiyun #define A6XX_PC_UNKNOWN_9801_UNK0__MASK 0x000007ff
5160*4882a593Smuzhiyun #define A6XX_PC_UNKNOWN_9801_UNK0__SHIFT 0
A6XX_PC_UNKNOWN_9801_UNK0(uint32_t val)5161*4882a593Smuzhiyun static inline uint32_t A6XX_PC_UNKNOWN_9801_UNK0(uint32_t val)
5162*4882a593Smuzhiyun {
5163*4882a593Smuzhiyun return ((val) << A6XX_PC_UNKNOWN_9801_UNK0__SHIFT) & A6XX_PC_UNKNOWN_9801_UNK0__MASK;
5164*4882a593Smuzhiyun }
5165*4882a593Smuzhiyun #define A6XX_PC_UNKNOWN_9801_UNK13__MASK 0x00002000
5166*4882a593Smuzhiyun #define A6XX_PC_UNKNOWN_9801_UNK13__SHIFT 13
A6XX_PC_UNKNOWN_9801_UNK13(uint32_t val)5167*4882a593Smuzhiyun static inline uint32_t A6XX_PC_UNKNOWN_9801_UNK13(uint32_t val)
5168*4882a593Smuzhiyun {
5169*4882a593Smuzhiyun return ((val) << A6XX_PC_UNKNOWN_9801_UNK13__SHIFT) & A6XX_PC_UNKNOWN_9801_UNK13__MASK;
5170*4882a593Smuzhiyun }
5171*4882a593Smuzhiyun
5172*4882a593Smuzhiyun #define REG_A6XX_PC_TESS_CNTL 0x00009802
5173*4882a593Smuzhiyun #define A6XX_PC_TESS_CNTL_SPACING__MASK 0x00000003
5174*4882a593Smuzhiyun #define A6XX_PC_TESS_CNTL_SPACING__SHIFT 0
A6XX_PC_TESS_CNTL_SPACING(enum a6xx_tess_spacing val)5175*4882a593Smuzhiyun static inline uint32_t A6XX_PC_TESS_CNTL_SPACING(enum a6xx_tess_spacing val)
5176*4882a593Smuzhiyun {
5177*4882a593Smuzhiyun return ((val) << A6XX_PC_TESS_CNTL_SPACING__SHIFT) & A6XX_PC_TESS_CNTL_SPACING__MASK;
5178*4882a593Smuzhiyun }
5179*4882a593Smuzhiyun #define A6XX_PC_TESS_CNTL_OUTPUT__MASK 0x0000000c
5180*4882a593Smuzhiyun #define A6XX_PC_TESS_CNTL_OUTPUT__SHIFT 2
A6XX_PC_TESS_CNTL_OUTPUT(enum a6xx_tess_output val)5181*4882a593Smuzhiyun static inline uint32_t A6XX_PC_TESS_CNTL_OUTPUT(enum a6xx_tess_output val)
5182*4882a593Smuzhiyun {
5183*4882a593Smuzhiyun return ((val) << A6XX_PC_TESS_CNTL_OUTPUT__SHIFT) & A6XX_PC_TESS_CNTL_OUTPUT__MASK;
5184*4882a593Smuzhiyun }
5185*4882a593Smuzhiyun
5186*4882a593Smuzhiyun #define REG_A6XX_PC_RESTART_INDEX 0x00009803
5187*4882a593Smuzhiyun
5188*4882a593Smuzhiyun #define REG_A6XX_PC_MODE_CNTL 0x00009804
5189*4882a593Smuzhiyun
5190*4882a593Smuzhiyun #define REG_A6XX_PC_UNKNOWN_9805 0x00009805
5191*4882a593Smuzhiyun
5192*4882a593Smuzhiyun #define REG_A6XX_PC_PRIMID_PASSTHRU 0x00009806
5193*4882a593Smuzhiyun
5194*4882a593Smuzhiyun #define REG_A6XX_PC_DRAW_CMD 0x00009840
5195*4882a593Smuzhiyun #define A6XX_PC_DRAW_CMD_STATE_ID__MASK 0x000000ff
5196*4882a593Smuzhiyun #define A6XX_PC_DRAW_CMD_STATE_ID__SHIFT 0
A6XX_PC_DRAW_CMD_STATE_ID(uint32_t val)5197*4882a593Smuzhiyun static inline uint32_t A6XX_PC_DRAW_CMD_STATE_ID(uint32_t val)
5198*4882a593Smuzhiyun {
5199*4882a593Smuzhiyun return ((val) << A6XX_PC_DRAW_CMD_STATE_ID__SHIFT) & A6XX_PC_DRAW_CMD_STATE_ID__MASK;
5200*4882a593Smuzhiyun }
5201*4882a593Smuzhiyun
5202*4882a593Smuzhiyun #define REG_A6XX_PC_DISPATCH_CMD 0x00009841
5203*4882a593Smuzhiyun #define A6XX_PC_DISPATCH_CMD_STATE_ID__MASK 0x000000ff
5204*4882a593Smuzhiyun #define A6XX_PC_DISPATCH_CMD_STATE_ID__SHIFT 0
A6XX_PC_DISPATCH_CMD_STATE_ID(uint32_t val)5205*4882a593Smuzhiyun static inline uint32_t A6XX_PC_DISPATCH_CMD_STATE_ID(uint32_t val)
5206*4882a593Smuzhiyun {
5207*4882a593Smuzhiyun return ((val) << A6XX_PC_DISPATCH_CMD_STATE_ID__SHIFT) & A6XX_PC_DISPATCH_CMD_STATE_ID__MASK;
5208*4882a593Smuzhiyun }
5209*4882a593Smuzhiyun
5210*4882a593Smuzhiyun #define REG_A6XX_PC_EVENT_CMD 0x00009842
5211*4882a593Smuzhiyun #define A6XX_PC_EVENT_CMD_STATE_ID__MASK 0x00ff0000
5212*4882a593Smuzhiyun #define A6XX_PC_EVENT_CMD_STATE_ID__SHIFT 16
A6XX_PC_EVENT_CMD_STATE_ID(uint32_t val)5213*4882a593Smuzhiyun static inline uint32_t A6XX_PC_EVENT_CMD_STATE_ID(uint32_t val)
5214*4882a593Smuzhiyun {
5215*4882a593Smuzhiyun return ((val) << A6XX_PC_EVENT_CMD_STATE_ID__SHIFT) & A6XX_PC_EVENT_CMD_STATE_ID__MASK;
5216*4882a593Smuzhiyun }
5217*4882a593Smuzhiyun #define A6XX_PC_EVENT_CMD_EVENT__MASK 0x0000007f
5218*4882a593Smuzhiyun #define A6XX_PC_EVENT_CMD_EVENT__SHIFT 0
A6XX_PC_EVENT_CMD_EVENT(enum vgt_event_type val)5219*4882a593Smuzhiyun static inline uint32_t A6XX_PC_EVENT_CMD_EVENT(enum vgt_event_type val)
5220*4882a593Smuzhiyun {
5221*4882a593Smuzhiyun return ((val) << A6XX_PC_EVENT_CMD_EVENT__SHIFT) & A6XX_PC_EVENT_CMD_EVENT__MASK;
5222*4882a593Smuzhiyun }
5223*4882a593Smuzhiyun
5224*4882a593Smuzhiyun #define REG_A6XX_PC_POLYGON_MODE 0x00009981
5225*4882a593Smuzhiyun #define A6XX_PC_POLYGON_MODE_MODE__MASK 0x00000003
5226*4882a593Smuzhiyun #define A6XX_PC_POLYGON_MODE_MODE__SHIFT 0
A6XX_PC_POLYGON_MODE_MODE(enum a6xx_polygon_mode val)5227*4882a593Smuzhiyun static inline uint32_t A6XX_PC_POLYGON_MODE_MODE(enum a6xx_polygon_mode val)
5228*4882a593Smuzhiyun {
5229*4882a593Smuzhiyun return ((val) << A6XX_PC_POLYGON_MODE_MODE__SHIFT) & A6XX_PC_POLYGON_MODE_MODE__MASK;
5230*4882a593Smuzhiyun }
5231*4882a593Smuzhiyun
5232*4882a593Smuzhiyun #define REG_A6XX_PC_UNKNOWN_9980 0x00009980
5233*4882a593Smuzhiyun
5234*4882a593Smuzhiyun #define REG_A6XX_PC_PRIMITIVE_CNTL_0 0x00009b00
5235*4882a593Smuzhiyun #define A6XX_PC_PRIMITIVE_CNTL_0_PRIMITIVE_RESTART 0x00000001
5236*4882a593Smuzhiyun #define A6XX_PC_PRIMITIVE_CNTL_0_PROVOKING_VTX_LAST 0x00000002
5237*4882a593Smuzhiyun #define A6XX_PC_PRIMITIVE_CNTL_0_TESS_UPPER_LEFT_DOMAIN_ORIGIN 0x00000004
5238*4882a593Smuzhiyun #define A6XX_PC_PRIMITIVE_CNTL_0_UNK3 0x00000008
5239*4882a593Smuzhiyun
5240*4882a593Smuzhiyun #define REG_A6XX_PC_VS_OUT_CNTL 0x00009b01
5241*4882a593Smuzhiyun #define A6XX_PC_VS_OUT_CNTL_STRIDE_IN_VPC__MASK 0x000000ff
5242*4882a593Smuzhiyun #define A6XX_PC_VS_OUT_CNTL_STRIDE_IN_VPC__SHIFT 0
A6XX_PC_VS_OUT_CNTL_STRIDE_IN_VPC(uint32_t val)5243*4882a593Smuzhiyun static inline uint32_t A6XX_PC_VS_OUT_CNTL_STRIDE_IN_VPC(uint32_t val)
5244*4882a593Smuzhiyun {
5245*4882a593Smuzhiyun return ((val) << A6XX_PC_VS_OUT_CNTL_STRIDE_IN_VPC__SHIFT) & A6XX_PC_VS_OUT_CNTL_STRIDE_IN_VPC__MASK;
5246*4882a593Smuzhiyun }
5247*4882a593Smuzhiyun #define A6XX_PC_VS_OUT_CNTL_PSIZE 0x00000100
5248*4882a593Smuzhiyun #define A6XX_PC_VS_OUT_CNTL_LAYER 0x00000200
5249*4882a593Smuzhiyun #define A6XX_PC_VS_OUT_CNTL_VIEW 0x00000400
5250*4882a593Smuzhiyun #define A6XX_PC_VS_OUT_CNTL_PRIMITIVE_ID 0x00000800
5251*4882a593Smuzhiyun #define A6XX_PC_VS_OUT_CNTL_CLIP_MASK__MASK 0x00ff0000
5252*4882a593Smuzhiyun #define A6XX_PC_VS_OUT_CNTL_CLIP_MASK__SHIFT 16
A6XX_PC_VS_OUT_CNTL_CLIP_MASK(uint32_t val)5253*4882a593Smuzhiyun static inline uint32_t A6XX_PC_VS_OUT_CNTL_CLIP_MASK(uint32_t val)
5254*4882a593Smuzhiyun {
5255*4882a593Smuzhiyun return ((val) << A6XX_PC_VS_OUT_CNTL_CLIP_MASK__SHIFT) & A6XX_PC_VS_OUT_CNTL_CLIP_MASK__MASK;
5256*4882a593Smuzhiyun }
5257*4882a593Smuzhiyun
5258*4882a593Smuzhiyun #define REG_A6XX_PC_GS_OUT_CNTL 0x00009b02
5259*4882a593Smuzhiyun #define A6XX_PC_GS_OUT_CNTL_STRIDE_IN_VPC__MASK 0x000000ff
5260*4882a593Smuzhiyun #define A6XX_PC_GS_OUT_CNTL_STRIDE_IN_VPC__SHIFT 0
A6XX_PC_GS_OUT_CNTL_STRIDE_IN_VPC(uint32_t val)5261*4882a593Smuzhiyun static inline uint32_t A6XX_PC_GS_OUT_CNTL_STRIDE_IN_VPC(uint32_t val)
5262*4882a593Smuzhiyun {
5263*4882a593Smuzhiyun return ((val) << A6XX_PC_GS_OUT_CNTL_STRIDE_IN_VPC__SHIFT) & A6XX_PC_GS_OUT_CNTL_STRIDE_IN_VPC__MASK;
5264*4882a593Smuzhiyun }
5265*4882a593Smuzhiyun #define A6XX_PC_GS_OUT_CNTL_PSIZE 0x00000100
5266*4882a593Smuzhiyun #define A6XX_PC_GS_OUT_CNTL_LAYER 0x00000200
5267*4882a593Smuzhiyun #define A6XX_PC_GS_OUT_CNTL_VIEW 0x00000400
5268*4882a593Smuzhiyun #define A6XX_PC_GS_OUT_CNTL_PRIMITIVE_ID 0x00000800
5269*4882a593Smuzhiyun #define A6XX_PC_GS_OUT_CNTL_CLIP_MASK__MASK 0x00ff0000
5270*4882a593Smuzhiyun #define A6XX_PC_GS_OUT_CNTL_CLIP_MASK__SHIFT 16
A6XX_PC_GS_OUT_CNTL_CLIP_MASK(uint32_t val)5271*4882a593Smuzhiyun static inline uint32_t A6XX_PC_GS_OUT_CNTL_CLIP_MASK(uint32_t val)
5272*4882a593Smuzhiyun {
5273*4882a593Smuzhiyun return ((val) << A6XX_PC_GS_OUT_CNTL_CLIP_MASK__SHIFT) & A6XX_PC_GS_OUT_CNTL_CLIP_MASK__MASK;
5274*4882a593Smuzhiyun }
5275*4882a593Smuzhiyun
5276*4882a593Smuzhiyun #define REG_A6XX_PC_PRIMITIVE_CNTL_3 0x00009b03
5277*4882a593Smuzhiyun
5278*4882a593Smuzhiyun #define REG_A6XX_PC_DS_OUT_CNTL 0x00009b04
5279*4882a593Smuzhiyun #define A6XX_PC_DS_OUT_CNTL_STRIDE_IN_VPC__MASK 0x000000ff
5280*4882a593Smuzhiyun #define A6XX_PC_DS_OUT_CNTL_STRIDE_IN_VPC__SHIFT 0
A6XX_PC_DS_OUT_CNTL_STRIDE_IN_VPC(uint32_t val)5281*4882a593Smuzhiyun static inline uint32_t A6XX_PC_DS_OUT_CNTL_STRIDE_IN_VPC(uint32_t val)
5282*4882a593Smuzhiyun {
5283*4882a593Smuzhiyun return ((val) << A6XX_PC_DS_OUT_CNTL_STRIDE_IN_VPC__SHIFT) & A6XX_PC_DS_OUT_CNTL_STRIDE_IN_VPC__MASK;
5284*4882a593Smuzhiyun }
5285*4882a593Smuzhiyun #define A6XX_PC_DS_OUT_CNTL_PSIZE 0x00000100
5286*4882a593Smuzhiyun #define A6XX_PC_DS_OUT_CNTL_LAYER 0x00000200
5287*4882a593Smuzhiyun #define A6XX_PC_DS_OUT_CNTL_VIEW 0x00000400
5288*4882a593Smuzhiyun #define A6XX_PC_DS_OUT_CNTL_PRIMITIVE_ID 0x00000800
5289*4882a593Smuzhiyun #define A6XX_PC_DS_OUT_CNTL_CLIP_MASK__MASK 0x00ff0000
5290*4882a593Smuzhiyun #define A6XX_PC_DS_OUT_CNTL_CLIP_MASK__SHIFT 16
A6XX_PC_DS_OUT_CNTL_CLIP_MASK(uint32_t val)5291*4882a593Smuzhiyun static inline uint32_t A6XX_PC_DS_OUT_CNTL_CLIP_MASK(uint32_t val)
5292*4882a593Smuzhiyun {
5293*4882a593Smuzhiyun return ((val) << A6XX_PC_DS_OUT_CNTL_CLIP_MASK__SHIFT) & A6XX_PC_DS_OUT_CNTL_CLIP_MASK__MASK;
5294*4882a593Smuzhiyun }
5295*4882a593Smuzhiyun
5296*4882a593Smuzhiyun #define REG_A6XX_PC_PRIMITIVE_CNTL_5 0x00009b05
5297*4882a593Smuzhiyun #define A6XX_PC_PRIMITIVE_CNTL_5_GS_VERTICES_OUT__MASK 0x000000ff
5298*4882a593Smuzhiyun #define A6XX_PC_PRIMITIVE_CNTL_5_GS_VERTICES_OUT__SHIFT 0
A6XX_PC_PRIMITIVE_CNTL_5_GS_VERTICES_OUT(uint32_t val)5299*4882a593Smuzhiyun static inline uint32_t A6XX_PC_PRIMITIVE_CNTL_5_GS_VERTICES_OUT(uint32_t val)
5300*4882a593Smuzhiyun {
5301*4882a593Smuzhiyun return ((val) << A6XX_PC_PRIMITIVE_CNTL_5_GS_VERTICES_OUT__SHIFT) & A6XX_PC_PRIMITIVE_CNTL_5_GS_VERTICES_OUT__MASK;
5302*4882a593Smuzhiyun }
5303*4882a593Smuzhiyun #define A6XX_PC_PRIMITIVE_CNTL_5_GS_INVOCATIONS__MASK 0x00007c00
5304*4882a593Smuzhiyun #define A6XX_PC_PRIMITIVE_CNTL_5_GS_INVOCATIONS__SHIFT 10
A6XX_PC_PRIMITIVE_CNTL_5_GS_INVOCATIONS(uint32_t val)5305*4882a593Smuzhiyun static inline uint32_t A6XX_PC_PRIMITIVE_CNTL_5_GS_INVOCATIONS(uint32_t val)
5306*4882a593Smuzhiyun {
5307*4882a593Smuzhiyun return ((val) << A6XX_PC_PRIMITIVE_CNTL_5_GS_INVOCATIONS__SHIFT) & A6XX_PC_PRIMITIVE_CNTL_5_GS_INVOCATIONS__MASK;
5308*4882a593Smuzhiyun }
5309*4882a593Smuzhiyun #define A6XX_PC_PRIMITIVE_CNTL_5_GS_OUTPUT__MASK 0x00030000
5310*4882a593Smuzhiyun #define A6XX_PC_PRIMITIVE_CNTL_5_GS_OUTPUT__SHIFT 16
A6XX_PC_PRIMITIVE_CNTL_5_GS_OUTPUT(enum a6xx_tess_output val)5311*4882a593Smuzhiyun static inline uint32_t A6XX_PC_PRIMITIVE_CNTL_5_GS_OUTPUT(enum a6xx_tess_output val)
5312*4882a593Smuzhiyun {
5313*4882a593Smuzhiyun return ((val) << A6XX_PC_PRIMITIVE_CNTL_5_GS_OUTPUT__SHIFT) & A6XX_PC_PRIMITIVE_CNTL_5_GS_OUTPUT__MASK;
5314*4882a593Smuzhiyun }
5315*4882a593Smuzhiyun #define A6XX_PC_PRIMITIVE_CNTL_5_UNK18__MASK 0x00040000
5316*4882a593Smuzhiyun #define A6XX_PC_PRIMITIVE_CNTL_5_UNK18__SHIFT 18
A6XX_PC_PRIMITIVE_CNTL_5_UNK18(uint32_t val)5317*4882a593Smuzhiyun static inline uint32_t A6XX_PC_PRIMITIVE_CNTL_5_UNK18(uint32_t val)
5318*4882a593Smuzhiyun {
5319*4882a593Smuzhiyun return ((val) << A6XX_PC_PRIMITIVE_CNTL_5_UNK18__SHIFT) & A6XX_PC_PRIMITIVE_CNTL_5_UNK18__MASK;
5320*4882a593Smuzhiyun }
5321*4882a593Smuzhiyun
5322*4882a593Smuzhiyun #define REG_A6XX_PC_PRIMITIVE_CNTL_6 0x00009b06
5323*4882a593Smuzhiyun #define A6XX_PC_PRIMITIVE_CNTL_6_STRIDE_IN_VPC__MASK 0x000007ff
5324*4882a593Smuzhiyun #define A6XX_PC_PRIMITIVE_CNTL_6_STRIDE_IN_VPC__SHIFT 0
A6XX_PC_PRIMITIVE_CNTL_6_STRIDE_IN_VPC(uint32_t val)5325*4882a593Smuzhiyun static inline uint32_t A6XX_PC_PRIMITIVE_CNTL_6_STRIDE_IN_VPC(uint32_t val)
5326*4882a593Smuzhiyun {
5327*4882a593Smuzhiyun return ((val) << A6XX_PC_PRIMITIVE_CNTL_6_STRIDE_IN_VPC__SHIFT) & A6XX_PC_PRIMITIVE_CNTL_6_STRIDE_IN_VPC__MASK;
5328*4882a593Smuzhiyun }
5329*4882a593Smuzhiyun
5330*4882a593Smuzhiyun #define REG_A6XX_PC_UNKNOWN_9B07 0x00009b07
5331*4882a593Smuzhiyun
5332*4882a593Smuzhiyun #define REG_A6XX_PC_UNKNOWN_9B08 0x00009b08
5333*4882a593Smuzhiyun
5334*4882a593Smuzhiyun #define REG_A6XX_PC_2D_EVENT_CMD 0x00009c00
5335*4882a593Smuzhiyun #define A6XX_PC_2D_EVENT_CMD_EVENT__MASK 0x0000007f
5336*4882a593Smuzhiyun #define A6XX_PC_2D_EVENT_CMD_EVENT__SHIFT 0
A6XX_PC_2D_EVENT_CMD_EVENT(enum vgt_event_type val)5337*4882a593Smuzhiyun static inline uint32_t A6XX_PC_2D_EVENT_CMD_EVENT(enum vgt_event_type val)
5338*4882a593Smuzhiyun {
5339*4882a593Smuzhiyun return ((val) << A6XX_PC_2D_EVENT_CMD_EVENT__SHIFT) & A6XX_PC_2D_EVENT_CMD_EVENT__MASK;
5340*4882a593Smuzhiyun }
5341*4882a593Smuzhiyun #define A6XX_PC_2D_EVENT_CMD_STATE_ID__MASK 0x0000ff00
5342*4882a593Smuzhiyun #define A6XX_PC_2D_EVENT_CMD_STATE_ID__SHIFT 8
A6XX_PC_2D_EVENT_CMD_STATE_ID(uint32_t val)5343*4882a593Smuzhiyun static inline uint32_t A6XX_PC_2D_EVENT_CMD_STATE_ID(uint32_t val)
5344*4882a593Smuzhiyun {
5345*4882a593Smuzhiyun return ((val) << A6XX_PC_2D_EVENT_CMD_STATE_ID__SHIFT) & A6XX_PC_2D_EVENT_CMD_STATE_ID__MASK;
5346*4882a593Smuzhiyun }
5347*4882a593Smuzhiyun
5348*4882a593Smuzhiyun #define REG_A6XX_PC_DBG_ECO_CNTL 0x00009e00
5349*4882a593Smuzhiyun
5350*4882a593Smuzhiyun #define REG_A6XX_PC_ADDR_MODE_CNTL 0x00009e01
5351*4882a593Smuzhiyun
5352*4882a593Smuzhiyun #define REG_A6XX_PC_TESSFACTOR_ADDR_LO 0x00009e08
5353*4882a593Smuzhiyun
5354*4882a593Smuzhiyun #define REG_A6XX_PC_TESSFACTOR_ADDR_HI 0x00009e09
5355*4882a593Smuzhiyun
5356*4882a593Smuzhiyun #define REG_A6XX_PC_TESSFACTOR_ADDR 0x00009e08
5357*4882a593Smuzhiyun #define A6XX_PC_TESSFACTOR_ADDR__MASK 0xffffffff
5358*4882a593Smuzhiyun #define A6XX_PC_TESSFACTOR_ADDR__SHIFT 0
A6XX_PC_TESSFACTOR_ADDR(uint32_t val)5359*4882a593Smuzhiyun static inline uint32_t A6XX_PC_TESSFACTOR_ADDR(uint32_t val)
5360*4882a593Smuzhiyun {
5361*4882a593Smuzhiyun return ((val) << A6XX_PC_TESSFACTOR_ADDR__SHIFT) & A6XX_PC_TESSFACTOR_ADDR__MASK;
5362*4882a593Smuzhiyun }
5363*4882a593Smuzhiyun
5364*4882a593Smuzhiyun #define REG_A6XX_PC_VSTREAM_CONTROL 0x00009e11
5365*4882a593Smuzhiyun #define A6XX_PC_VSTREAM_CONTROL_UNK0__MASK 0x0000ffff
5366*4882a593Smuzhiyun #define A6XX_PC_VSTREAM_CONTROL_UNK0__SHIFT 0
A6XX_PC_VSTREAM_CONTROL_UNK0(uint32_t val)5367*4882a593Smuzhiyun static inline uint32_t A6XX_PC_VSTREAM_CONTROL_UNK0(uint32_t val)
5368*4882a593Smuzhiyun {
5369*4882a593Smuzhiyun return ((val) << A6XX_PC_VSTREAM_CONTROL_UNK0__SHIFT) & A6XX_PC_VSTREAM_CONTROL_UNK0__MASK;
5370*4882a593Smuzhiyun }
5371*4882a593Smuzhiyun #define A6XX_PC_VSTREAM_CONTROL_VSC_SIZE__MASK 0x003f0000
5372*4882a593Smuzhiyun #define A6XX_PC_VSTREAM_CONTROL_VSC_SIZE__SHIFT 16
A6XX_PC_VSTREAM_CONTROL_VSC_SIZE(uint32_t val)5373*4882a593Smuzhiyun static inline uint32_t A6XX_PC_VSTREAM_CONTROL_VSC_SIZE(uint32_t val)
5374*4882a593Smuzhiyun {
5375*4882a593Smuzhiyun return ((val) << A6XX_PC_VSTREAM_CONTROL_VSC_SIZE__SHIFT) & A6XX_PC_VSTREAM_CONTROL_VSC_SIZE__MASK;
5376*4882a593Smuzhiyun }
5377*4882a593Smuzhiyun #define A6XX_PC_VSTREAM_CONTROL_VSC_N__MASK 0x07c00000
5378*4882a593Smuzhiyun #define A6XX_PC_VSTREAM_CONTROL_VSC_N__SHIFT 22
A6XX_PC_VSTREAM_CONTROL_VSC_N(uint32_t val)5379*4882a593Smuzhiyun static inline uint32_t A6XX_PC_VSTREAM_CONTROL_VSC_N(uint32_t val)
5380*4882a593Smuzhiyun {
5381*4882a593Smuzhiyun return ((val) << A6XX_PC_VSTREAM_CONTROL_VSC_N__SHIFT) & A6XX_PC_VSTREAM_CONTROL_VSC_N__MASK;
5382*4882a593Smuzhiyun }
5383*4882a593Smuzhiyun
5384*4882a593Smuzhiyun #define REG_A6XX_PC_BIN_PRIM_STRM 0x00009e12
5385*4882a593Smuzhiyun #define A6XX_PC_BIN_PRIM_STRM__MASK 0xffffffff
5386*4882a593Smuzhiyun #define A6XX_PC_BIN_PRIM_STRM__SHIFT 0
A6XX_PC_BIN_PRIM_STRM(uint32_t val)5387*4882a593Smuzhiyun static inline uint32_t A6XX_PC_BIN_PRIM_STRM(uint32_t val)
5388*4882a593Smuzhiyun {
5389*4882a593Smuzhiyun return ((val) << A6XX_PC_BIN_PRIM_STRM__SHIFT) & A6XX_PC_BIN_PRIM_STRM__MASK;
5390*4882a593Smuzhiyun }
5391*4882a593Smuzhiyun
5392*4882a593Smuzhiyun #define REG_A6XX_PC_BIN_DRAW_STRM 0x00009e14
5393*4882a593Smuzhiyun #define A6XX_PC_BIN_DRAW_STRM__MASK 0xffffffff
5394*4882a593Smuzhiyun #define A6XX_PC_BIN_DRAW_STRM__SHIFT 0
A6XX_PC_BIN_DRAW_STRM(uint32_t val)5395*4882a593Smuzhiyun static inline uint32_t A6XX_PC_BIN_DRAW_STRM(uint32_t val)
5396*4882a593Smuzhiyun {
5397*4882a593Smuzhiyun return ((val) << A6XX_PC_BIN_DRAW_STRM__SHIFT) & A6XX_PC_BIN_DRAW_STRM__MASK;
5398*4882a593Smuzhiyun }
5399*4882a593Smuzhiyun
5400*4882a593Smuzhiyun #define REG_A6XX_PC_PERFCTR_PC_SEL_0 0x00009e34
5401*4882a593Smuzhiyun
5402*4882a593Smuzhiyun #define REG_A6XX_PC_PERFCTR_PC_SEL_1 0x00009e35
5403*4882a593Smuzhiyun
5404*4882a593Smuzhiyun #define REG_A6XX_PC_PERFCTR_PC_SEL_2 0x00009e36
5405*4882a593Smuzhiyun
5406*4882a593Smuzhiyun #define REG_A6XX_PC_PERFCTR_PC_SEL_3 0x00009e37
5407*4882a593Smuzhiyun
5408*4882a593Smuzhiyun #define REG_A6XX_PC_PERFCTR_PC_SEL_4 0x00009e38
5409*4882a593Smuzhiyun
5410*4882a593Smuzhiyun #define REG_A6XX_PC_PERFCTR_PC_SEL_5 0x00009e39
5411*4882a593Smuzhiyun
5412*4882a593Smuzhiyun #define REG_A6XX_PC_PERFCTR_PC_SEL_6 0x00009e3a
5413*4882a593Smuzhiyun
5414*4882a593Smuzhiyun #define REG_A6XX_PC_PERFCTR_PC_SEL_7 0x00009e3b
5415*4882a593Smuzhiyun
5416*4882a593Smuzhiyun #define REG_A6XX_PC_UNKNOWN_9E72 0x00009e72
5417*4882a593Smuzhiyun
5418*4882a593Smuzhiyun #define REG_A6XX_VFD_CONTROL_0 0x0000a000
5419*4882a593Smuzhiyun #define A6XX_VFD_CONTROL_0_FETCH_CNT__MASK 0x0000003f
5420*4882a593Smuzhiyun #define A6XX_VFD_CONTROL_0_FETCH_CNT__SHIFT 0
A6XX_VFD_CONTROL_0_FETCH_CNT(uint32_t val)5421*4882a593Smuzhiyun static inline uint32_t A6XX_VFD_CONTROL_0_FETCH_CNT(uint32_t val)
5422*4882a593Smuzhiyun {
5423*4882a593Smuzhiyun return ((val) << A6XX_VFD_CONTROL_0_FETCH_CNT__SHIFT) & A6XX_VFD_CONTROL_0_FETCH_CNT__MASK;
5424*4882a593Smuzhiyun }
5425*4882a593Smuzhiyun #define A6XX_VFD_CONTROL_0_DECODE_CNT__MASK 0x00003f00
5426*4882a593Smuzhiyun #define A6XX_VFD_CONTROL_0_DECODE_CNT__SHIFT 8
A6XX_VFD_CONTROL_0_DECODE_CNT(uint32_t val)5427*4882a593Smuzhiyun static inline uint32_t A6XX_VFD_CONTROL_0_DECODE_CNT(uint32_t val)
5428*4882a593Smuzhiyun {
5429*4882a593Smuzhiyun return ((val) << A6XX_VFD_CONTROL_0_DECODE_CNT__SHIFT) & A6XX_VFD_CONTROL_0_DECODE_CNT__MASK;
5430*4882a593Smuzhiyun }
5431*4882a593Smuzhiyun
5432*4882a593Smuzhiyun #define REG_A6XX_VFD_CONTROL_1 0x0000a001
5433*4882a593Smuzhiyun #define A6XX_VFD_CONTROL_1_REGID4VTX__MASK 0x000000ff
5434*4882a593Smuzhiyun #define A6XX_VFD_CONTROL_1_REGID4VTX__SHIFT 0
A6XX_VFD_CONTROL_1_REGID4VTX(uint32_t val)5435*4882a593Smuzhiyun static inline uint32_t A6XX_VFD_CONTROL_1_REGID4VTX(uint32_t val)
5436*4882a593Smuzhiyun {
5437*4882a593Smuzhiyun return ((val) << A6XX_VFD_CONTROL_1_REGID4VTX__SHIFT) & A6XX_VFD_CONTROL_1_REGID4VTX__MASK;
5438*4882a593Smuzhiyun }
5439*4882a593Smuzhiyun #define A6XX_VFD_CONTROL_1_REGID4INST__MASK 0x0000ff00
5440*4882a593Smuzhiyun #define A6XX_VFD_CONTROL_1_REGID4INST__SHIFT 8
A6XX_VFD_CONTROL_1_REGID4INST(uint32_t val)5441*4882a593Smuzhiyun static inline uint32_t A6XX_VFD_CONTROL_1_REGID4INST(uint32_t val)
5442*4882a593Smuzhiyun {
5443*4882a593Smuzhiyun return ((val) << A6XX_VFD_CONTROL_1_REGID4INST__SHIFT) & A6XX_VFD_CONTROL_1_REGID4INST__MASK;
5444*4882a593Smuzhiyun }
5445*4882a593Smuzhiyun #define A6XX_VFD_CONTROL_1_REGID4PRIMID__MASK 0x00ff0000
5446*4882a593Smuzhiyun #define A6XX_VFD_CONTROL_1_REGID4PRIMID__SHIFT 16
A6XX_VFD_CONTROL_1_REGID4PRIMID(uint32_t val)5447*4882a593Smuzhiyun static inline uint32_t A6XX_VFD_CONTROL_1_REGID4PRIMID(uint32_t val)
5448*4882a593Smuzhiyun {
5449*4882a593Smuzhiyun return ((val) << A6XX_VFD_CONTROL_1_REGID4PRIMID__SHIFT) & A6XX_VFD_CONTROL_1_REGID4PRIMID__MASK;
5450*4882a593Smuzhiyun }
5451*4882a593Smuzhiyun
5452*4882a593Smuzhiyun #define REG_A6XX_VFD_CONTROL_2 0x0000a002
5453*4882a593Smuzhiyun #define A6XX_VFD_CONTROL_2_REGID_HSPATCHID__MASK 0x000000ff
5454*4882a593Smuzhiyun #define A6XX_VFD_CONTROL_2_REGID_HSPATCHID__SHIFT 0
A6XX_VFD_CONTROL_2_REGID_HSPATCHID(uint32_t val)5455*4882a593Smuzhiyun static inline uint32_t A6XX_VFD_CONTROL_2_REGID_HSPATCHID(uint32_t val)
5456*4882a593Smuzhiyun {
5457*4882a593Smuzhiyun return ((val) << A6XX_VFD_CONTROL_2_REGID_HSPATCHID__SHIFT) & A6XX_VFD_CONTROL_2_REGID_HSPATCHID__MASK;
5458*4882a593Smuzhiyun }
5459*4882a593Smuzhiyun #define A6XX_VFD_CONTROL_2_REGID_INVOCATIONID__MASK 0x0000ff00
5460*4882a593Smuzhiyun #define A6XX_VFD_CONTROL_2_REGID_INVOCATIONID__SHIFT 8
A6XX_VFD_CONTROL_2_REGID_INVOCATIONID(uint32_t val)5461*4882a593Smuzhiyun static inline uint32_t A6XX_VFD_CONTROL_2_REGID_INVOCATIONID(uint32_t val)
5462*4882a593Smuzhiyun {
5463*4882a593Smuzhiyun return ((val) << A6XX_VFD_CONTROL_2_REGID_INVOCATIONID__SHIFT) & A6XX_VFD_CONTROL_2_REGID_INVOCATIONID__MASK;
5464*4882a593Smuzhiyun }
5465*4882a593Smuzhiyun
5466*4882a593Smuzhiyun #define REG_A6XX_VFD_CONTROL_3 0x0000a003
5467*4882a593Smuzhiyun #define A6XX_VFD_CONTROL_3_REGID_DSPATCHID__MASK 0x0000ff00
5468*4882a593Smuzhiyun #define A6XX_VFD_CONTROL_3_REGID_DSPATCHID__SHIFT 8
A6XX_VFD_CONTROL_3_REGID_DSPATCHID(uint32_t val)5469*4882a593Smuzhiyun static inline uint32_t A6XX_VFD_CONTROL_3_REGID_DSPATCHID(uint32_t val)
5470*4882a593Smuzhiyun {
5471*4882a593Smuzhiyun return ((val) << A6XX_VFD_CONTROL_3_REGID_DSPATCHID__SHIFT) & A6XX_VFD_CONTROL_3_REGID_DSPATCHID__MASK;
5472*4882a593Smuzhiyun }
5473*4882a593Smuzhiyun #define A6XX_VFD_CONTROL_3_REGID_TESSX__MASK 0x00ff0000
5474*4882a593Smuzhiyun #define A6XX_VFD_CONTROL_3_REGID_TESSX__SHIFT 16
A6XX_VFD_CONTROL_3_REGID_TESSX(uint32_t val)5475*4882a593Smuzhiyun static inline uint32_t A6XX_VFD_CONTROL_3_REGID_TESSX(uint32_t val)
5476*4882a593Smuzhiyun {
5477*4882a593Smuzhiyun return ((val) << A6XX_VFD_CONTROL_3_REGID_TESSX__SHIFT) & A6XX_VFD_CONTROL_3_REGID_TESSX__MASK;
5478*4882a593Smuzhiyun }
5479*4882a593Smuzhiyun #define A6XX_VFD_CONTROL_3_REGID_TESSY__MASK 0xff000000
5480*4882a593Smuzhiyun #define A6XX_VFD_CONTROL_3_REGID_TESSY__SHIFT 24
A6XX_VFD_CONTROL_3_REGID_TESSY(uint32_t val)5481*4882a593Smuzhiyun static inline uint32_t A6XX_VFD_CONTROL_3_REGID_TESSY(uint32_t val)
5482*4882a593Smuzhiyun {
5483*4882a593Smuzhiyun return ((val) << A6XX_VFD_CONTROL_3_REGID_TESSY__SHIFT) & A6XX_VFD_CONTROL_3_REGID_TESSY__MASK;
5484*4882a593Smuzhiyun }
5485*4882a593Smuzhiyun
5486*4882a593Smuzhiyun #define REG_A6XX_VFD_CONTROL_4 0x0000a004
5487*4882a593Smuzhiyun
5488*4882a593Smuzhiyun #define REG_A6XX_VFD_CONTROL_5 0x0000a005
5489*4882a593Smuzhiyun #define A6XX_VFD_CONTROL_5_REGID_GSHEADER__MASK 0x000000ff
5490*4882a593Smuzhiyun #define A6XX_VFD_CONTROL_5_REGID_GSHEADER__SHIFT 0
A6XX_VFD_CONTROL_5_REGID_GSHEADER(uint32_t val)5491*4882a593Smuzhiyun static inline uint32_t A6XX_VFD_CONTROL_5_REGID_GSHEADER(uint32_t val)
5492*4882a593Smuzhiyun {
5493*4882a593Smuzhiyun return ((val) << A6XX_VFD_CONTROL_5_REGID_GSHEADER__SHIFT) & A6XX_VFD_CONTROL_5_REGID_GSHEADER__MASK;
5494*4882a593Smuzhiyun }
5495*4882a593Smuzhiyun
5496*4882a593Smuzhiyun #define REG_A6XX_VFD_CONTROL_6 0x0000a006
5497*4882a593Smuzhiyun #define A6XX_VFD_CONTROL_6_PRIMID_PASSTHRU 0x00000001
5498*4882a593Smuzhiyun
5499*4882a593Smuzhiyun #define REG_A6XX_VFD_MODE_CNTL 0x0000a007
5500*4882a593Smuzhiyun #define A6XX_VFD_MODE_CNTL_BINNING_PASS 0x00000001
5501*4882a593Smuzhiyun
5502*4882a593Smuzhiyun #define REG_A6XX_VFD_UNKNOWN_A008 0x0000a008
5503*4882a593Smuzhiyun
5504*4882a593Smuzhiyun #define REG_A6XX_VFD_ADD_OFFSET 0x0000a009
5505*4882a593Smuzhiyun #define A6XX_VFD_ADD_OFFSET_VERTEX 0x00000001
5506*4882a593Smuzhiyun #define A6XX_VFD_ADD_OFFSET_INSTANCE 0x00000002
5507*4882a593Smuzhiyun
5508*4882a593Smuzhiyun #define REG_A6XX_VFD_INDEX_OFFSET 0x0000a00e
5509*4882a593Smuzhiyun
5510*4882a593Smuzhiyun #define REG_A6XX_VFD_INSTANCE_START_OFFSET 0x0000a00f
5511*4882a593Smuzhiyun
REG_A6XX_VFD_FETCH(uint32_t i0)5512*4882a593Smuzhiyun static inline uint32_t REG_A6XX_VFD_FETCH(uint32_t i0) { return 0x0000a010 + 0x4*i0; }
5513*4882a593Smuzhiyun
REG_A6XX_VFD_FETCH_BASE(uint32_t i0)5514*4882a593Smuzhiyun static inline uint32_t REG_A6XX_VFD_FETCH_BASE(uint32_t i0) { return 0x0000a010 + 0x4*i0; }
5515*4882a593Smuzhiyun
REG_A6XX_VFD_FETCH_BASE_LO(uint32_t i0)5516*4882a593Smuzhiyun static inline uint32_t REG_A6XX_VFD_FETCH_BASE_LO(uint32_t i0) { return 0x0000a010 + 0x4*i0; }
5517*4882a593Smuzhiyun
REG_A6XX_VFD_FETCH_BASE_HI(uint32_t i0)5518*4882a593Smuzhiyun static inline uint32_t REG_A6XX_VFD_FETCH_BASE_HI(uint32_t i0) { return 0x0000a011 + 0x4*i0; }
5519*4882a593Smuzhiyun
REG_A6XX_VFD_FETCH_SIZE(uint32_t i0)5520*4882a593Smuzhiyun static inline uint32_t REG_A6XX_VFD_FETCH_SIZE(uint32_t i0) { return 0x0000a012 + 0x4*i0; }
5521*4882a593Smuzhiyun
REG_A6XX_VFD_FETCH_STRIDE(uint32_t i0)5522*4882a593Smuzhiyun static inline uint32_t REG_A6XX_VFD_FETCH_STRIDE(uint32_t i0) { return 0x0000a013 + 0x4*i0; }
5523*4882a593Smuzhiyun
REG_A6XX_VFD_DECODE(uint32_t i0)5524*4882a593Smuzhiyun static inline uint32_t REG_A6XX_VFD_DECODE(uint32_t i0) { return 0x0000a090 + 0x2*i0; }
5525*4882a593Smuzhiyun
REG_A6XX_VFD_DECODE_INSTR(uint32_t i0)5526*4882a593Smuzhiyun static inline uint32_t REG_A6XX_VFD_DECODE_INSTR(uint32_t i0) { return 0x0000a090 + 0x2*i0; }
5527*4882a593Smuzhiyun #define A6XX_VFD_DECODE_INSTR_IDX__MASK 0x0000001f
5528*4882a593Smuzhiyun #define A6XX_VFD_DECODE_INSTR_IDX__SHIFT 0
A6XX_VFD_DECODE_INSTR_IDX(uint32_t val)5529*4882a593Smuzhiyun static inline uint32_t A6XX_VFD_DECODE_INSTR_IDX(uint32_t val)
5530*4882a593Smuzhiyun {
5531*4882a593Smuzhiyun return ((val) << A6XX_VFD_DECODE_INSTR_IDX__SHIFT) & A6XX_VFD_DECODE_INSTR_IDX__MASK;
5532*4882a593Smuzhiyun }
5533*4882a593Smuzhiyun #define A6XX_VFD_DECODE_INSTR_OFFSET__MASK 0x0001ffe0
5534*4882a593Smuzhiyun #define A6XX_VFD_DECODE_INSTR_OFFSET__SHIFT 5
A6XX_VFD_DECODE_INSTR_OFFSET(uint32_t val)5535*4882a593Smuzhiyun static inline uint32_t A6XX_VFD_DECODE_INSTR_OFFSET(uint32_t val)
5536*4882a593Smuzhiyun {
5537*4882a593Smuzhiyun return ((val) << A6XX_VFD_DECODE_INSTR_OFFSET__SHIFT) & A6XX_VFD_DECODE_INSTR_OFFSET__MASK;
5538*4882a593Smuzhiyun }
5539*4882a593Smuzhiyun #define A6XX_VFD_DECODE_INSTR_INSTANCED 0x00020000
5540*4882a593Smuzhiyun #define A6XX_VFD_DECODE_INSTR_FORMAT__MASK 0x0ff00000
5541*4882a593Smuzhiyun #define A6XX_VFD_DECODE_INSTR_FORMAT__SHIFT 20
A6XX_VFD_DECODE_INSTR_FORMAT(enum a6xx_format val)5542*4882a593Smuzhiyun static inline uint32_t A6XX_VFD_DECODE_INSTR_FORMAT(enum a6xx_format val)
5543*4882a593Smuzhiyun {
5544*4882a593Smuzhiyun return ((val) << A6XX_VFD_DECODE_INSTR_FORMAT__SHIFT) & A6XX_VFD_DECODE_INSTR_FORMAT__MASK;
5545*4882a593Smuzhiyun }
5546*4882a593Smuzhiyun #define A6XX_VFD_DECODE_INSTR_SWAP__MASK 0x30000000
5547*4882a593Smuzhiyun #define A6XX_VFD_DECODE_INSTR_SWAP__SHIFT 28
A6XX_VFD_DECODE_INSTR_SWAP(enum a3xx_color_swap val)5548*4882a593Smuzhiyun static inline uint32_t A6XX_VFD_DECODE_INSTR_SWAP(enum a3xx_color_swap val)
5549*4882a593Smuzhiyun {
5550*4882a593Smuzhiyun return ((val) << A6XX_VFD_DECODE_INSTR_SWAP__SHIFT) & A6XX_VFD_DECODE_INSTR_SWAP__MASK;
5551*4882a593Smuzhiyun }
5552*4882a593Smuzhiyun #define A6XX_VFD_DECODE_INSTR_UNK30 0x40000000
5553*4882a593Smuzhiyun #define A6XX_VFD_DECODE_INSTR_FLOAT 0x80000000
5554*4882a593Smuzhiyun
REG_A6XX_VFD_DECODE_STEP_RATE(uint32_t i0)5555*4882a593Smuzhiyun static inline uint32_t REG_A6XX_VFD_DECODE_STEP_RATE(uint32_t i0) { return 0x0000a091 + 0x2*i0; }
5556*4882a593Smuzhiyun
REG_A6XX_VFD_DEST_CNTL(uint32_t i0)5557*4882a593Smuzhiyun static inline uint32_t REG_A6XX_VFD_DEST_CNTL(uint32_t i0) { return 0x0000a0d0 + 0x1*i0; }
5558*4882a593Smuzhiyun
REG_A6XX_VFD_DEST_CNTL_INSTR(uint32_t i0)5559*4882a593Smuzhiyun static inline uint32_t REG_A6XX_VFD_DEST_CNTL_INSTR(uint32_t i0) { return 0x0000a0d0 + 0x1*i0; }
5560*4882a593Smuzhiyun #define A6XX_VFD_DEST_CNTL_INSTR_WRITEMASK__MASK 0x0000000f
5561*4882a593Smuzhiyun #define A6XX_VFD_DEST_CNTL_INSTR_WRITEMASK__SHIFT 0
A6XX_VFD_DEST_CNTL_INSTR_WRITEMASK(uint32_t val)5562*4882a593Smuzhiyun static inline uint32_t A6XX_VFD_DEST_CNTL_INSTR_WRITEMASK(uint32_t val)
5563*4882a593Smuzhiyun {
5564*4882a593Smuzhiyun return ((val) << A6XX_VFD_DEST_CNTL_INSTR_WRITEMASK__SHIFT) & A6XX_VFD_DEST_CNTL_INSTR_WRITEMASK__MASK;
5565*4882a593Smuzhiyun }
5566*4882a593Smuzhiyun #define A6XX_VFD_DEST_CNTL_INSTR_REGID__MASK 0x00000ff0
5567*4882a593Smuzhiyun #define A6XX_VFD_DEST_CNTL_INSTR_REGID__SHIFT 4
A6XX_VFD_DEST_CNTL_INSTR_REGID(uint32_t val)5568*4882a593Smuzhiyun static inline uint32_t A6XX_VFD_DEST_CNTL_INSTR_REGID(uint32_t val)
5569*4882a593Smuzhiyun {
5570*4882a593Smuzhiyun return ((val) << A6XX_VFD_DEST_CNTL_INSTR_REGID__SHIFT) & A6XX_VFD_DEST_CNTL_INSTR_REGID__MASK;
5571*4882a593Smuzhiyun }
5572*4882a593Smuzhiyun
5573*4882a593Smuzhiyun #define REG_A6XX_SP_UNKNOWN_A0F8 0x0000a0f8
5574*4882a593Smuzhiyun
5575*4882a593Smuzhiyun #define REG_A6XX_SP_VS_CTRL_REG0 0x0000a800
5576*4882a593Smuzhiyun #define A6XX_SP_VS_CTRL_REG0_HALFREGFOOTPRINT__MASK 0x0000007e
5577*4882a593Smuzhiyun #define A6XX_SP_VS_CTRL_REG0_HALFREGFOOTPRINT__SHIFT 1
A6XX_SP_VS_CTRL_REG0_HALFREGFOOTPRINT(uint32_t val)5578*4882a593Smuzhiyun static inline uint32_t A6XX_SP_VS_CTRL_REG0_HALFREGFOOTPRINT(uint32_t val)
5579*4882a593Smuzhiyun {
5580*4882a593Smuzhiyun return ((val) << A6XX_SP_VS_CTRL_REG0_HALFREGFOOTPRINT__SHIFT) & A6XX_SP_VS_CTRL_REG0_HALFREGFOOTPRINT__MASK;
5581*4882a593Smuzhiyun }
5582*4882a593Smuzhiyun #define A6XX_SP_VS_CTRL_REG0_FULLREGFOOTPRINT__MASK 0x00001f80
5583*4882a593Smuzhiyun #define A6XX_SP_VS_CTRL_REG0_FULLREGFOOTPRINT__SHIFT 7
A6XX_SP_VS_CTRL_REG0_FULLREGFOOTPRINT(uint32_t val)5584*4882a593Smuzhiyun static inline uint32_t A6XX_SP_VS_CTRL_REG0_FULLREGFOOTPRINT(uint32_t val)
5585*4882a593Smuzhiyun {
5586*4882a593Smuzhiyun return ((val) << A6XX_SP_VS_CTRL_REG0_FULLREGFOOTPRINT__SHIFT) & A6XX_SP_VS_CTRL_REG0_FULLREGFOOTPRINT__MASK;
5587*4882a593Smuzhiyun }
5588*4882a593Smuzhiyun #define A6XX_SP_VS_CTRL_REG0_BRANCHSTACK__MASK 0x000fc000
5589*4882a593Smuzhiyun #define A6XX_SP_VS_CTRL_REG0_BRANCHSTACK__SHIFT 14
A6XX_SP_VS_CTRL_REG0_BRANCHSTACK(uint32_t val)5590*4882a593Smuzhiyun static inline uint32_t A6XX_SP_VS_CTRL_REG0_BRANCHSTACK(uint32_t val)
5591*4882a593Smuzhiyun {
5592*4882a593Smuzhiyun return ((val) << A6XX_SP_VS_CTRL_REG0_BRANCHSTACK__SHIFT) & A6XX_SP_VS_CTRL_REG0_BRANCHSTACK__MASK;
5593*4882a593Smuzhiyun }
5594*4882a593Smuzhiyun #define A6XX_SP_VS_CTRL_REG0_THREADSIZE__MASK 0x00100000
5595*4882a593Smuzhiyun #define A6XX_SP_VS_CTRL_REG0_THREADSIZE__SHIFT 20
A6XX_SP_VS_CTRL_REG0_THREADSIZE(enum a3xx_threadsize val)5596*4882a593Smuzhiyun static inline uint32_t A6XX_SP_VS_CTRL_REG0_THREADSIZE(enum a3xx_threadsize val)
5597*4882a593Smuzhiyun {
5598*4882a593Smuzhiyun return ((val) << A6XX_SP_VS_CTRL_REG0_THREADSIZE__SHIFT) & A6XX_SP_VS_CTRL_REG0_THREADSIZE__MASK;
5599*4882a593Smuzhiyun }
5600*4882a593Smuzhiyun #define A6XX_SP_VS_CTRL_REG0_VARYING 0x00400000
5601*4882a593Smuzhiyun #define A6XX_SP_VS_CTRL_REG0_DIFF_FINE 0x00800000
5602*4882a593Smuzhiyun #define A6XX_SP_VS_CTRL_REG0_PIXLODENABLE 0x04000000
5603*4882a593Smuzhiyun #define A6XX_SP_VS_CTRL_REG0_MERGEDREGS 0x80000000
5604*4882a593Smuzhiyun
5605*4882a593Smuzhiyun #define REG_A6XX_SP_VS_BRANCH_COND 0x0000a801
5606*4882a593Smuzhiyun
5607*4882a593Smuzhiyun #define REG_A6XX_SP_VS_PRIMITIVE_CNTL 0x0000a802
5608*4882a593Smuzhiyun #define A6XX_SP_VS_PRIMITIVE_CNTL_OUT__MASK 0x0000003f
5609*4882a593Smuzhiyun #define A6XX_SP_VS_PRIMITIVE_CNTL_OUT__SHIFT 0
A6XX_SP_VS_PRIMITIVE_CNTL_OUT(uint32_t val)5610*4882a593Smuzhiyun static inline uint32_t A6XX_SP_VS_PRIMITIVE_CNTL_OUT(uint32_t val)
5611*4882a593Smuzhiyun {
5612*4882a593Smuzhiyun return ((val) << A6XX_SP_VS_PRIMITIVE_CNTL_OUT__SHIFT) & A6XX_SP_VS_PRIMITIVE_CNTL_OUT__MASK;
5613*4882a593Smuzhiyun }
5614*4882a593Smuzhiyun
REG_A6XX_SP_VS_OUT(uint32_t i0)5615*4882a593Smuzhiyun static inline uint32_t REG_A6XX_SP_VS_OUT(uint32_t i0) { return 0x0000a803 + 0x1*i0; }
5616*4882a593Smuzhiyun
REG_A6XX_SP_VS_OUT_REG(uint32_t i0)5617*4882a593Smuzhiyun static inline uint32_t REG_A6XX_SP_VS_OUT_REG(uint32_t i0) { return 0x0000a803 + 0x1*i0; }
5618*4882a593Smuzhiyun #define A6XX_SP_VS_OUT_REG_A_REGID__MASK 0x000000ff
5619*4882a593Smuzhiyun #define A6XX_SP_VS_OUT_REG_A_REGID__SHIFT 0
A6XX_SP_VS_OUT_REG_A_REGID(uint32_t val)5620*4882a593Smuzhiyun static inline uint32_t A6XX_SP_VS_OUT_REG_A_REGID(uint32_t val)
5621*4882a593Smuzhiyun {
5622*4882a593Smuzhiyun return ((val) << A6XX_SP_VS_OUT_REG_A_REGID__SHIFT) & A6XX_SP_VS_OUT_REG_A_REGID__MASK;
5623*4882a593Smuzhiyun }
5624*4882a593Smuzhiyun #define A6XX_SP_VS_OUT_REG_A_COMPMASK__MASK 0x00000f00
5625*4882a593Smuzhiyun #define A6XX_SP_VS_OUT_REG_A_COMPMASK__SHIFT 8
A6XX_SP_VS_OUT_REG_A_COMPMASK(uint32_t val)5626*4882a593Smuzhiyun static inline uint32_t A6XX_SP_VS_OUT_REG_A_COMPMASK(uint32_t val)
5627*4882a593Smuzhiyun {
5628*4882a593Smuzhiyun return ((val) << A6XX_SP_VS_OUT_REG_A_COMPMASK__SHIFT) & A6XX_SP_VS_OUT_REG_A_COMPMASK__MASK;
5629*4882a593Smuzhiyun }
5630*4882a593Smuzhiyun #define A6XX_SP_VS_OUT_REG_B_REGID__MASK 0x00ff0000
5631*4882a593Smuzhiyun #define A6XX_SP_VS_OUT_REG_B_REGID__SHIFT 16
A6XX_SP_VS_OUT_REG_B_REGID(uint32_t val)5632*4882a593Smuzhiyun static inline uint32_t A6XX_SP_VS_OUT_REG_B_REGID(uint32_t val)
5633*4882a593Smuzhiyun {
5634*4882a593Smuzhiyun return ((val) << A6XX_SP_VS_OUT_REG_B_REGID__SHIFT) & A6XX_SP_VS_OUT_REG_B_REGID__MASK;
5635*4882a593Smuzhiyun }
5636*4882a593Smuzhiyun #define A6XX_SP_VS_OUT_REG_B_COMPMASK__MASK 0x0f000000
5637*4882a593Smuzhiyun #define A6XX_SP_VS_OUT_REG_B_COMPMASK__SHIFT 24
A6XX_SP_VS_OUT_REG_B_COMPMASK(uint32_t val)5638*4882a593Smuzhiyun static inline uint32_t A6XX_SP_VS_OUT_REG_B_COMPMASK(uint32_t val)
5639*4882a593Smuzhiyun {
5640*4882a593Smuzhiyun return ((val) << A6XX_SP_VS_OUT_REG_B_COMPMASK__SHIFT) & A6XX_SP_VS_OUT_REG_B_COMPMASK__MASK;
5641*4882a593Smuzhiyun }
5642*4882a593Smuzhiyun
REG_A6XX_SP_VS_VPC_DST(uint32_t i0)5643*4882a593Smuzhiyun static inline uint32_t REG_A6XX_SP_VS_VPC_DST(uint32_t i0) { return 0x0000a813 + 0x1*i0; }
5644*4882a593Smuzhiyun
REG_A6XX_SP_VS_VPC_DST_REG(uint32_t i0)5645*4882a593Smuzhiyun static inline uint32_t REG_A6XX_SP_VS_VPC_DST_REG(uint32_t i0) { return 0x0000a813 + 0x1*i0; }
5646*4882a593Smuzhiyun #define A6XX_SP_VS_VPC_DST_REG_OUTLOC0__MASK 0x000000ff
5647*4882a593Smuzhiyun #define A6XX_SP_VS_VPC_DST_REG_OUTLOC0__SHIFT 0
A6XX_SP_VS_VPC_DST_REG_OUTLOC0(uint32_t val)5648*4882a593Smuzhiyun static inline uint32_t A6XX_SP_VS_VPC_DST_REG_OUTLOC0(uint32_t val)
5649*4882a593Smuzhiyun {
5650*4882a593Smuzhiyun return ((val) << A6XX_SP_VS_VPC_DST_REG_OUTLOC0__SHIFT) & A6XX_SP_VS_VPC_DST_REG_OUTLOC0__MASK;
5651*4882a593Smuzhiyun }
5652*4882a593Smuzhiyun #define A6XX_SP_VS_VPC_DST_REG_OUTLOC1__MASK 0x0000ff00
5653*4882a593Smuzhiyun #define A6XX_SP_VS_VPC_DST_REG_OUTLOC1__SHIFT 8
A6XX_SP_VS_VPC_DST_REG_OUTLOC1(uint32_t val)5654*4882a593Smuzhiyun static inline uint32_t A6XX_SP_VS_VPC_DST_REG_OUTLOC1(uint32_t val)
5655*4882a593Smuzhiyun {
5656*4882a593Smuzhiyun return ((val) << A6XX_SP_VS_VPC_DST_REG_OUTLOC1__SHIFT) & A6XX_SP_VS_VPC_DST_REG_OUTLOC1__MASK;
5657*4882a593Smuzhiyun }
5658*4882a593Smuzhiyun #define A6XX_SP_VS_VPC_DST_REG_OUTLOC2__MASK 0x00ff0000
5659*4882a593Smuzhiyun #define A6XX_SP_VS_VPC_DST_REG_OUTLOC2__SHIFT 16
A6XX_SP_VS_VPC_DST_REG_OUTLOC2(uint32_t val)5660*4882a593Smuzhiyun static inline uint32_t A6XX_SP_VS_VPC_DST_REG_OUTLOC2(uint32_t val)
5661*4882a593Smuzhiyun {
5662*4882a593Smuzhiyun return ((val) << A6XX_SP_VS_VPC_DST_REG_OUTLOC2__SHIFT) & A6XX_SP_VS_VPC_DST_REG_OUTLOC2__MASK;
5663*4882a593Smuzhiyun }
5664*4882a593Smuzhiyun #define A6XX_SP_VS_VPC_DST_REG_OUTLOC3__MASK 0xff000000
5665*4882a593Smuzhiyun #define A6XX_SP_VS_VPC_DST_REG_OUTLOC3__SHIFT 24
A6XX_SP_VS_VPC_DST_REG_OUTLOC3(uint32_t val)5666*4882a593Smuzhiyun static inline uint32_t A6XX_SP_VS_VPC_DST_REG_OUTLOC3(uint32_t val)
5667*4882a593Smuzhiyun {
5668*4882a593Smuzhiyun return ((val) << A6XX_SP_VS_VPC_DST_REG_OUTLOC3__SHIFT) & A6XX_SP_VS_VPC_DST_REG_OUTLOC3__MASK;
5669*4882a593Smuzhiyun }
5670*4882a593Smuzhiyun
5671*4882a593Smuzhiyun #define REG_A6XX_SP_UNKNOWN_A81B 0x0000a81b
5672*4882a593Smuzhiyun
5673*4882a593Smuzhiyun #define REG_A6XX_SP_VS_OBJ_START_LO 0x0000a81c
5674*4882a593Smuzhiyun
5675*4882a593Smuzhiyun #define REG_A6XX_SP_VS_OBJ_START_HI 0x0000a81d
5676*4882a593Smuzhiyun
5677*4882a593Smuzhiyun #define REG_A6XX_SP_VS_TEX_COUNT 0x0000a822
5678*4882a593Smuzhiyun
5679*4882a593Smuzhiyun #define REG_A6XX_SP_VS_CONFIG 0x0000a823
5680*4882a593Smuzhiyun #define A6XX_SP_VS_CONFIG_BINDLESS_TEX 0x00000001
5681*4882a593Smuzhiyun #define A6XX_SP_VS_CONFIG_BINDLESS_SAMP 0x00000002
5682*4882a593Smuzhiyun #define A6XX_SP_VS_CONFIG_BINDLESS_IBO 0x00000004
5683*4882a593Smuzhiyun #define A6XX_SP_VS_CONFIG_BINDLESS_UBO 0x00000008
5684*4882a593Smuzhiyun #define A6XX_SP_VS_CONFIG_ENABLED 0x00000100
5685*4882a593Smuzhiyun #define A6XX_SP_VS_CONFIG_NTEX__MASK 0x0001fe00
5686*4882a593Smuzhiyun #define A6XX_SP_VS_CONFIG_NTEX__SHIFT 9
A6XX_SP_VS_CONFIG_NTEX(uint32_t val)5687*4882a593Smuzhiyun static inline uint32_t A6XX_SP_VS_CONFIG_NTEX(uint32_t val)
5688*4882a593Smuzhiyun {
5689*4882a593Smuzhiyun return ((val) << A6XX_SP_VS_CONFIG_NTEX__SHIFT) & A6XX_SP_VS_CONFIG_NTEX__MASK;
5690*4882a593Smuzhiyun }
5691*4882a593Smuzhiyun #define A6XX_SP_VS_CONFIG_NSAMP__MASK 0x003e0000
5692*4882a593Smuzhiyun #define A6XX_SP_VS_CONFIG_NSAMP__SHIFT 17
A6XX_SP_VS_CONFIG_NSAMP(uint32_t val)5693*4882a593Smuzhiyun static inline uint32_t A6XX_SP_VS_CONFIG_NSAMP(uint32_t val)
5694*4882a593Smuzhiyun {
5695*4882a593Smuzhiyun return ((val) << A6XX_SP_VS_CONFIG_NSAMP__SHIFT) & A6XX_SP_VS_CONFIG_NSAMP__MASK;
5696*4882a593Smuzhiyun }
5697*4882a593Smuzhiyun #define A6XX_SP_VS_CONFIG_NIBO__MASK 0x3fc00000
5698*4882a593Smuzhiyun #define A6XX_SP_VS_CONFIG_NIBO__SHIFT 22
A6XX_SP_VS_CONFIG_NIBO(uint32_t val)5699*4882a593Smuzhiyun static inline uint32_t A6XX_SP_VS_CONFIG_NIBO(uint32_t val)
5700*4882a593Smuzhiyun {
5701*4882a593Smuzhiyun return ((val) << A6XX_SP_VS_CONFIG_NIBO__SHIFT) & A6XX_SP_VS_CONFIG_NIBO__MASK;
5702*4882a593Smuzhiyun }
5703*4882a593Smuzhiyun
5704*4882a593Smuzhiyun #define REG_A6XX_SP_VS_INSTRLEN 0x0000a824
5705*4882a593Smuzhiyun
5706*4882a593Smuzhiyun #define REG_A6XX_SP_HS_CTRL_REG0 0x0000a830
5707*4882a593Smuzhiyun #define A6XX_SP_HS_CTRL_REG0_HALFREGFOOTPRINT__MASK 0x0000007e
5708*4882a593Smuzhiyun #define A6XX_SP_HS_CTRL_REG0_HALFREGFOOTPRINT__SHIFT 1
A6XX_SP_HS_CTRL_REG0_HALFREGFOOTPRINT(uint32_t val)5709*4882a593Smuzhiyun static inline uint32_t A6XX_SP_HS_CTRL_REG0_HALFREGFOOTPRINT(uint32_t val)
5710*4882a593Smuzhiyun {
5711*4882a593Smuzhiyun return ((val) << A6XX_SP_HS_CTRL_REG0_HALFREGFOOTPRINT__SHIFT) & A6XX_SP_HS_CTRL_REG0_HALFREGFOOTPRINT__MASK;
5712*4882a593Smuzhiyun }
5713*4882a593Smuzhiyun #define A6XX_SP_HS_CTRL_REG0_FULLREGFOOTPRINT__MASK 0x00001f80
5714*4882a593Smuzhiyun #define A6XX_SP_HS_CTRL_REG0_FULLREGFOOTPRINT__SHIFT 7
A6XX_SP_HS_CTRL_REG0_FULLREGFOOTPRINT(uint32_t val)5715*4882a593Smuzhiyun static inline uint32_t A6XX_SP_HS_CTRL_REG0_FULLREGFOOTPRINT(uint32_t val)
5716*4882a593Smuzhiyun {
5717*4882a593Smuzhiyun return ((val) << A6XX_SP_HS_CTRL_REG0_FULLREGFOOTPRINT__SHIFT) & A6XX_SP_HS_CTRL_REG0_FULLREGFOOTPRINT__MASK;
5718*4882a593Smuzhiyun }
5719*4882a593Smuzhiyun #define A6XX_SP_HS_CTRL_REG0_BRANCHSTACK__MASK 0x000fc000
5720*4882a593Smuzhiyun #define A6XX_SP_HS_CTRL_REG0_BRANCHSTACK__SHIFT 14
A6XX_SP_HS_CTRL_REG0_BRANCHSTACK(uint32_t val)5721*4882a593Smuzhiyun static inline uint32_t A6XX_SP_HS_CTRL_REG0_BRANCHSTACK(uint32_t val)
5722*4882a593Smuzhiyun {
5723*4882a593Smuzhiyun return ((val) << A6XX_SP_HS_CTRL_REG0_BRANCHSTACK__SHIFT) & A6XX_SP_HS_CTRL_REG0_BRANCHSTACK__MASK;
5724*4882a593Smuzhiyun }
5725*4882a593Smuzhiyun #define A6XX_SP_HS_CTRL_REG0_THREADSIZE__MASK 0x00100000
5726*4882a593Smuzhiyun #define A6XX_SP_HS_CTRL_REG0_THREADSIZE__SHIFT 20
A6XX_SP_HS_CTRL_REG0_THREADSIZE(enum a3xx_threadsize val)5727*4882a593Smuzhiyun static inline uint32_t A6XX_SP_HS_CTRL_REG0_THREADSIZE(enum a3xx_threadsize val)
5728*4882a593Smuzhiyun {
5729*4882a593Smuzhiyun return ((val) << A6XX_SP_HS_CTRL_REG0_THREADSIZE__SHIFT) & A6XX_SP_HS_CTRL_REG0_THREADSIZE__MASK;
5730*4882a593Smuzhiyun }
5731*4882a593Smuzhiyun #define A6XX_SP_HS_CTRL_REG0_VARYING 0x00400000
5732*4882a593Smuzhiyun #define A6XX_SP_HS_CTRL_REG0_DIFF_FINE 0x00800000
5733*4882a593Smuzhiyun #define A6XX_SP_HS_CTRL_REG0_PIXLODENABLE 0x04000000
5734*4882a593Smuzhiyun #define A6XX_SP_HS_CTRL_REG0_MERGEDREGS 0x80000000
5735*4882a593Smuzhiyun
5736*4882a593Smuzhiyun #define REG_A6XX_SP_HS_UNKNOWN_A831 0x0000a831
5737*4882a593Smuzhiyun
5738*4882a593Smuzhiyun #define REG_A6XX_SP_HS_UNKNOWN_A833 0x0000a833
5739*4882a593Smuzhiyun
5740*4882a593Smuzhiyun #define REG_A6XX_SP_HS_OBJ_START_LO 0x0000a834
5741*4882a593Smuzhiyun
5742*4882a593Smuzhiyun #define REG_A6XX_SP_HS_OBJ_START_HI 0x0000a835
5743*4882a593Smuzhiyun
5744*4882a593Smuzhiyun #define REG_A6XX_SP_HS_TEX_COUNT 0x0000a83a
5745*4882a593Smuzhiyun
5746*4882a593Smuzhiyun #define REG_A6XX_SP_HS_CONFIG 0x0000a83b
5747*4882a593Smuzhiyun #define A6XX_SP_HS_CONFIG_BINDLESS_TEX 0x00000001
5748*4882a593Smuzhiyun #define A6XX_SP_HS_CONFIG_BINDLESS_SAMP 0x00000002
5749*4882a593Smuzhiyun #define A6XX_SP_HS_CONFIG_BINDLESS_IBO 0x00000004
5750*4882a593Smuzhiyun #define A6XX_SP_HS_CONFIG_BINDLESS_UBO 0x00000008
5751*4882a593Smuzhiyun #define A6XX_SP_HS_CONFIG_ENABLED 0x00000100
5752*4882a593Smuzhiyun #define A6XX_SP_HS_CONFIG_NTEX__MASK 0x0001fe00
5753*4882a593Smuzhiyun #define A6XX_SP_HS_CONFIG_NTEX__SHIFT 9
A6XX_SP_HS_CONFIG_NTEX(uint32_t val)5754*4882a593Smuzhiyun static inline uint32_t A6XX_SP_HS_CONFIG_NTEX(uint32_t val)
5755*4882a593Smuzhiyun {
5756*4882a593Smuzhiyun return ((val) << A6XX_SP_HS_CONFIG_NTEX__SHIFT) & A6XX_SP_HS_CONFIG_NTEX__MASK;
5757*4882a593Smuzhiyun }
5758*4882a593Smuzhiyun #define A6XX_SP_HS_CONFIG_NSAMP__MASK 0x003e0000
5759*4882a593Smuzhiyun #define A6XX_SP_HS_CONFIG_NSAMP__SHIFT 17
A6XX_SP_HS_CONFIG_NSAMP(uint32_t val)5760*4882a593Smuzhiyun static inline uint32_t A6XX_SP_HS_CONFIG_NSAMP(uint32_t val)
5761*4882a593Smuzhiyun {
5762*4882a593Smuzhiyun return ((val) << A6XX_SP_HS_CONFIG_NSAMP__SHIFT) & A6XX_SP_HS_CONFIG_NSAMP__MASK;
5763*4882a593Smuzhiyun }
5764*4882a593Smuzhiyun #define A6XX_SP_HS_CONFIG_NIBO__MASK 0x3fc00000
5765*4882a593Smuzhiyun #define A6XX_SP_HS_CONFIG_NIBO__SHIFT 22
A6XX_SP_HS_CONFIG_NIBO(uint32_t val)5766*4882a593Smuzhiyun static inline uint32_t A6XX_SP_HS_CONFIG_NIBO(uint32_t val)
5767*4882a593Smuzhiyun {
5768*4882a593Smuzhiyun return ((val) << A6XX_SP_HS_CONFIG_NIBO__SHIFT) & A6XX_SP_HS_CONFIG_NIBO__MASK;
5769*4882a593Smuzhiyun }
5770*4882a593Smuzhiyun
5771*4882a593Smuzhiyun #define REG_A6XX_SP_HS_INSTRLEN 0x0000a83c
5772*4882a593Smuzhiyun
5773*4882a593Smuzhiyun #define REG_A6XX_SP_DS_CTRL_REG0 0x0000a840
5774*4882a593Smuzhiyun #define A6XX_SP_DS_CTRL_REG0_HALFREGFOOTPRINT__MASK 0x0000007e
5775*4882a593Smuzhiyun #define A6XX_SP_DS_CTRL_REG0_HALFREGFOOTPRINT__SHIFT 1
A6XX_SP_DS_CTRL_REG0_HALFREGFOOTPRINT(uint32_t val)5776*4882a593Smuzhiyun static inline uint32_t A6XX_SP_DS_CTRL_REG0_HALFREGFOOTPRINT(uint32_t val)
5777*4882a593Smuzhiyun {
5778*4882a593Smuzhiyun return ((val) << A6XX_SP_DS_CTRL_REG0_HALFREGFOOTPRINT__SHIFT) & A6XX_SP_DS_CTRL_REG0_HALFREGFOOTPRINT__MASK;
5779*4882a593Smuzhiyun }
5780*4882a593Smuzhiyun #define A6XX_SP_DS_CTRL_REG0_FULLREGFOOTPRINT__MASK 0x00001f80
5781*4882a593Smuzhiyun #define A6XX_SP_DS_CTRL_REG0_FULLREGFOOTPRINT__SHIFT 7
A6XX_SP_DS_CTRL_REG0_FULLREGFOOTPRINT(uint32_t val)5782*4882a593Smuzhiyun static inline uint32_t A6XX_SP_DS_CTRL_REG0_FULLREGFOOTPRINT(uint32_t val)
5783*4882a593Smuzhiyun {
5784*4882a593Smuzhiyun return ((val) << A6XX_SP_DS_CTRL_REG0_FULLREGFOOTPRINT__SHIFT) & A6XX_SP_DS_CTRL_REG0_FULLREGFOOTPRINT__MASK;
5785*4882a593Smuzhiyun }
5786*4882a593Smuzhiyun #define A6XX_SP_DS_CTRL_REG0_BRANCHSTACK__MASK 0x000fc000
5787*4882a593Smuzhiyun #define A6XX_SP_DS_CTRL_REG0_BRANCHSTACK__SHIFT 14
A6XX_SP_DS_CTRL_REG0_BRANCHSTACK(uint32_t val)5788*4882a593Smuzhiyun static inline uint32_t A6XX_SP_DS_CTRL_REG0_BRANCHSTACK(uint32_t val)
5789*4882a593Smuzhiyun {
5790*4882a593Smuzhiyun return ((val) << A6XX_SP_DS_CTRL_REG0_BRANCHSTACK__SHIFT) & A6XX_SP_DS_CTRL_REG0_BRANCHSTACK__MASK;
5791*4882a593Smuzhiyun }
5792*4882a593Smuzhiyun #define A6XX_SP_DS_CTRL_REG0_THREADSIZE__MASK 0x00100000
5793*4882a593Smuzhiyun #define A6XX_SP_DS_CTRL_REG0_THREADSIZE__SHIFT 20
A6XX_SP_DS_CTRL_REG0_THREADSIZE(enum a3xx_threadsize val)5794*4882a593Smuzhiyun static inline uint32_t A6XX_SP_DS_CTRL_REG0_THREADSIZE(enum a3xx_threadsize val)
5795*4882a593Smuzhiyun {
5796*4882a593Smuzhiyun return ((val) << A6XX_SP_DS_CTRL_REG0_THREADSIZE__SHIFT) & A6XX_SP_DS_CTRL_REG0_THREADSIZE__MASK;
5797*4882a593Smuzhiyun }
5798*4882a593Smuzhiyun #define A6XX_SP_DS_CTRL_REG0_VARYING 0x00400000
5799*4882a593Smuzhiyun #define A6XX_SP_DS_CTRL_REG0_DIFF_FINE 0x00800000
5800*4882a593Smuzhiyun #define A6XX_SP_DS_CTRL_REG0_PIXLODENABLE 0x04000000
5801*4882a593Smuzhiyun #define A6XX_SP_DS_CTRL_REG0_MERGEDREGS 0x80000000
5802*4882a593Smuzhiyun
5803*4882a593Smuzhiyun #define REG_A6XX_SP_DS_PRIMITIVE_CNTL 0x0000a842
5804*4882a593Smuzhiyun #define A6XX_SP_DS_PRIMITIVE_CNTL_OUT__MASK 0x0000003f
5805*4882a593Smuzhiyun #define A6XX_SP_DS_PRIMITIVE_CNTL_OUT__SHIFT 0
A6XX_SP_DS_PRIMITIVE_CNTL_OUT(uint32_t val)5806*4882a593Smuzhiyun static inline uint32_t A6XX_SP_DS_PRIMITIVE_CNTL_OUT(uint32_t val)
5807*4882a593Smuzhiyun {
5808*4882a593Smuzhiyun return ((val) << A6XX_SP_DS_PRIMITIVE_CNTL_OUT__SHIFT) & A6XX_SP_DS_PRIMITIVE_CNTL_OUT__MASK;
5809*4882a593Smuzhiyun }
5810*4882a593Smuzhiyun
REG_A6XX_SP_DS_OUT(uint32_t i0)5811*4882a593Smuzhiyun static inline uint32_t REG_A6XX_SP_DS_OUT(uint32_t i0) { return 0x0000a843 + 0x1*i0; }
5812*4882a593Smuzhiyun
REG_A6XX_SP_DS_OUT_REG(uint32_t i0)5813*4882a593Smuzhiyun static inline uint32_t REG_A6XX_SP_DS_OUT_REG(uint32_t i0) { return 0x0000a843 + 0x1*i0; }
5814*4882a593Smuzhiyun #define A6XX_SP_DS_OUT_REG_A_REGID__MASK 0x000000ff
5815*4882a593Smuzhiyun #define A6XX_SP_DS_OUT_REG_A_REGID__SHIFT 0
A6XX_SP_DS_OUT_REG_A_REGID(uint32_t val)5816*4882a593Smuzhiyun static inline uint32_t A6XX_SP_DS_OUT_REG_A_REGID(uint32_t val)
5817*4882a593Smuzhiyun {
5818*4882a593Smuzhiyun return ((val) << A6XX_SP_DS_OUT_REG_A_REGID__SHIFT) & A6XX_SP_DS_OUT_REG_A_REGID__MASK;
5819*4882a593Smuzhiyun }
5820*4882a593Smuzhiyun #define A6XX_SP_DS_OUT_REG_A_COMPMASK__MASK 0x00000f00
5821*4882a593Smuzhiyun #define A6XX_SP_DS_OUT_REG_A_COMPMASK__SHIFT 8
A6XX_SP_DS_OUT_REG_A_COMPMASK(uint32_t val)5822*4882a593Smuzhiyun static inline uint32_t A6XX_SP_DS_OUT_REG_A_COMPMASK(uint32_t val)
5823*4882a593Smuzhiyun {
5824*4882a593Smuzhiyun return ((val) << A6XX_SP_DS_OUT_REG_A_COMPMASK__SHIFT) & A6XX_SP_DS_OUT_REG_A_COMPMASK__MASK;
5825*4882a593Smuzhiyun }
5826*4882a593Smuzhiyun #define A6XX_SP_DS_OUT_REG_B_REGID__MASK 0x00ff0000
5827*4882a593Smuzhiyun #define A6XX_SP_DS_OUT_REG_B_REGID__SHIFT 16
A6XX_SP_DS_OUT_REG_B_REGID(uint32_t val)5828*4882a593Smuzhiyun static inline uint32_t A6XX_SP_DS_OUT_REG_B_REGID(uint32_t val)
5829*4882a593Smuzhiyun {
5830*4882a593Smuzhiyun return ((val) << A6XX_SP_DS_OUT_REG_B_REGID__SHIFT) & A6XX_SP_DS_OUT_REG_B_REGID__MASK;
5831*4882a593Smuzhiyun }
5832*4882a593Smuzhiyun #define A6XX_SP_DS_OUT_REG_B_COMPMASK__MASK 0x0f000000
5833*4882a593Smuzhiyun #define A6XX_SP_DS_OUT_REG_B_COMPMASK__SHIFT 24
A6XX_SP_DS_OUT_REG_B_COMPMASK(uint32_t val)5834*4882a593Smuzhiyun static inline uint32_t A6XX_SP_DS_OUT_REG_B_COMPMASK(uint32_t val)
5835*4882a593Smuzhiyun {
5836*4882a593Smuzhiyun return ((val) << A6XX_SP_DS_OUT_REG_B_COMPMASK__SHIFT) & A6XX_SP_DS_OUT_REG_B_COMPMASK__MASK;
5837*4882a593Smuzhiyun }
5838*4882a593Smuzhiyun
REG_A6XX_SP_DS_VPC_DST(uint32_t i0)5839*4882a593Smuzhiyun static inline uint32_t REG_A6XX_SP_DS_VPC_DST(uint32_t i0) { return 0x0000a853 + 0x1*i0; }
5840*4882a593Smuzhiyun
REG_A6XX_SP_DS_VPC_DST_REG(uint32_t i0)5841*4882a593Smuzhiyun static inline uint32_t REG_A6XX_SP_DS_VPC_DST_REG(uint32_t i0) { return 0x0000a853 + 0x1*i0; }
5842*4882a593Smuzhiyun #define A6XX_SP_DS_VPC_DST_REG_OUTLOC0__MASK 0x000000ff
5843*4882a593Smuzhiyun #define A6XX_SP_DS_VPC_DST_REG_OUTLOC0__SHIFT 0
A6XX_SP_DS_VPC_DST_REG_OUTLOC0(uint32_t val)5844*4882a593Smuzhiyun static inline uint32_t A6XX_SP_DS_VPC_DST_REG_OUTLOC0(uint32_t val)
5845*4882a593Smuzhiyun {
5846*4882a593Smuzhiyun return ((val) << A6XX_SP_DS_VPC_DST_REG_OUTLOC0__SHIFT) & A6XX_SP_DS_VPC_DST_REG_OUTLOC0__MASK;
5847*4882a593Smuzhiyun }
5848*4882a593Smuzhiyun #define A6XX_SP_DS_VPC_DST_REG_OUTLOC1__MASK 0x0000ff00
5849*4882a593Smuzhiyun #define A6XX_SP_DS_VPC_DST_REG_OUTLOC1__SHIFT 8
A6XX_SP_DS_VPC_DST_REG_OUTLOC1(uint32_t val)5850*4882a593Smuzhiyun static inline uint32_t A6XX_SP_DS_VPC_DST_REG_OUTLOC1(uint32_t val)
5851*4882a593Smuzhiyun {
5852*4882a593Smuzhiyun return ((val) << A6XX_SP_DS_VPC_DST_REG_OUTLOC1__SHIFT) & A6XX_SP_DS_VPC_DST_REG_OUTLOC1__MASK;
5853*4882a593Smuzhiyun }
5854*4882a593Smuzhiyun #define A6XX_SP_DS_VPC_DST_REG_OUTLOC2__MASK 0x00ff0000
5855*4882a593Smuzhiyun #define A6XX_SP_DS_VPC_DST_REG_OUTLOC2__SHIFT 16
A6XX_SP_DS_VPC_DST_REG_OUTLOC2(uint32_t val)5856*4882a593Smuzhiyun static inline uint32_t A6XX_SP_DS_VPC_DST_REG_OUTLOC2(uint32_t val)
5857*4882a593Smuzhiyun {
5858*4882a593Smuzhiyun return ((val) << A6XX_SP_DS_VPC_DST_REG_OUTLOC2__SHIFT) & A6XX_SP_DS_VPC_DST_REG_OUTLOC2__MASK;
5859*4882a593Smuzhiyun }
5860*4882a593Smuzhiyun #define A6XX_SP_DS_VPC_DST_REG_OUTLOC3__MASK 0xff000000
5861*4882a593Smuzhiyun #define A6XX_SP_DS_VPC_DST_REG_OUTLOC3__SHIFT 24
A6XX_SP_DS_VPC_DST_REG_OUTLOC3(uint32_t val)5862*4882a593Smuzhiyun static inline uint32_t A6XX_SP_DS_VPC_DST_REG_OUTLOC3(uint32_t val)
5863*4882a593Smuzhiyun {
5864*4882a593Smuzhiyun return ((val) << A6XX_SP_DS_VPC_DST_REG_OUTLOC3__SHIFT) & A6XX_SP_DS_VPC_DST_REG_OUTLOC3__MASK;
5865*4882a593Smuzhiyun }
5866*4882a593Smuzhiyun
5867*4882a593Smuzhiyun #define REG_A6XX_SP_DS_UNKNOWN_A85B 0x0000a85b
5868*4882a593Smuzhiyun
5869*4882a593Smuzhiyun #define REG_A6XX_SP_DS_OBJ_START_LO 0x0000a85c
5870*4882a593Smuzhiyun
5871*4882a593Smuzhiyun #define REG_A6XX_SP_DS_OBJ_START_HI 0x0000a85d
5872*4882a593Smuzhiyun
5873*4882a593Smuzhiyun #define REG_A6XX_SP_DS_TEX_COUNT 0x0000a862
5874*4882a593Smuzhiyun
5875*4882a593Smuzhiyun #define REG_A6XX_SP_DS_CONFIG 0x0000a863
5876*4882a593Smuzhiyun #define A6XX_SP_DS_CONFIG_BINDLESS_TEX 0x00000001
5877*4882a593Smuzhiyun #define A6XX_SP_DS_CONFIG_BINDLESS_SAMP 0x00000002
5878*4882a593Smuzhiyun #define A6XX_SP_DS_CONFIG_BINDLESS_IBO 0x00000004
5879*4882a593Smuzhiyun #define A6XX_SP_DS_CONFIG_BINDLESS_UBO 0x00000008
5880*4882a593Smuzhiyun #define A6XX_SP_DS_CONFIG_ENABLED 0x00000100
5881*4882a593Smuzhiyun #define A6XX_SP_DS_CONFIG_NTEX__MASK 0x0001fe00
5882*4882a593Smuzhiyun #define A6XX_SP_DS_CONFIG_NTEX__SHIFT 9
A6XX_SP_DS_CONFIG_NTEX(uint32_t val)5883*4882a593Smuzhiyun static inline uint32_t A6XX_SP_DS_CONFIG_NTEX(uint32_t val)
5884*4882a593Smuzhiyun {
5885*4882a593Smuzhiyun return ((val) << A6XX_SP_DS_CONFIG_NTEX__SHIFT) & A6XX_SP_DS_CONFIG_NTEX__MASK;
5886*4882a593Smuzhiyun }
5887*4882a593Smuzhiyun #define A6XX_SP_DS_CONFIG_NSAMP__MASK 0x003e0000
5888*4882a593Smuzhiyun #define A6XX_SP_DS_CONFIG_NSAMP__SHIFT 17
A6XX_SP_DS_CONFIG_NSAMP(uint32_t val)5889*4882a593Smuzhiyun static inline uint32_t A6XX_SP_DS_CONFIG_NSAMP(uint32_t val)
5890*4882a593Smuzhiyun {
5891*4882a593Smuzhiyun return ((val) << A6XX_SP_DS_CONFIG_NSAMP__SHIFT) & A6XX_SP_DS_CONFIG_NSAMP__MASK;
5892*4882a593Smuzhiyun }
5893*4882a593Smuzhiyun #define A6XX_SP_DS_CONFIG_NIBO__MASK 0x3fc00000
5894*4882a593Smuzhiyun #define A6XX_SP_DS_CONFIG_NIBO__SHIFT 22
A6XX_SP_DS_CONFIG_NIBO(uint32_t val)5895*4882a593Smuzhiyun static inline uint32_t A6XX_SP_DS_CONFIG_NIBO(uint32_t val)
5896*4882a593Smuzhiyun {
5897*4882a593Smuzhiyun return ((val) << A6XX_SP_DS_CONFIG_NIBO__SHIFT) & A6XX_SP_DS_CONFIG_NIBO__MASK;
5898*4882a593Smuzhiyun }
5899*4882a593Smuzhiyun
5900*4882a593Smuzhiyun #define REG_A6XX_SP_DS_INSTRLEN 0x0000a864
5901*4882a593Smuzhiyun
5902*4882a593Smuzhiyun #define REG_A6XX_SP_GS_CTRL_REG0 0x0000a870
5903*4882a593Smuzhiyun #define A6XX_SP_GS_CTRL_REG0_HALFREGFOOTPRINT__MASK 0x0000007e
5904*4882a593Smuzhiyun #define A6XX_SP_GS_CTRL_REG0_HALFREGFOOTPRINT__SHIFT 1
A6XX_SP_GS_CTRL_REG0_HALFREGFOOTPRINT(uint32_t val)5905*4882a593Smuzhiyun static inline uint32_t A6XX_SP_GS_CTRL_REG0_HALFREGFOOTPRINT(uint32_t val)
5906*4882a593Smuzhiyun {
5907*4882a593Smuzhiyun return ((val) << A6XX_SP_GS_CTRL_REG0_HALFREGFOOTPRINT__SHIFT) & A6XX_SP_GS_CTRL_REG0_HALFREGFOOTPRINT__MASK;
5908*4882a593Smuzhiyun }
5909*4882a593Smuzhiyun #define A6XX_SP_GS_CTRL_REG0_FULLREGFOOTPRINT__MASK 0x00001f80
5910*4882a593Smuzhiyun #define A6XX_SP_GS_CTRL_REG0_FULLREGFOOTPRINT__SHIFT 7
A6XX_SP_GS_CTRL_REG0_FULLREGFOOTPRINT(uint32_t val)5911*4882a593Smuzhiyun static inline uint32_t A6XX_SP_GS_CTRL_REG0_FULLREGFOOTPRINT(uint32_t val)
5912*4882a593Smuzhiyun {
5913*4882a593Smuzhiyun return ((val) << A6XX_SP_GS_CTRL_REG0_FULLREGFOOTPRINT__SHIFT) & A6XX_SP_GS_CTRL_REG0_FULLREGFOOTPRINT__MASK;
5914*4882a593Smuzhiyun }
5915*4882a593Smuzhiyun #define A6XX_SP_GS_CTRL_REG0_BRANCHSTACK__MASK 0x000fc000
5916*4882a593Smuzhiyun #define A6XX_SP_GS_CTRL_REG0_BRANCHSTACK__SHIFT 14
A6XX_SP_GS_CTRL_REG0_BRANCHSTACK(uint32_t val)5917*4882a593Smuzhiyun static inline uint32_t A6XX_SP_GS_CTRL_REG0_BRANCHSTACK(uint32_t val)
5918*4882a593Smuzhiyun {
5919*4882a593Smuzhiyun return ((val) << A6XX_SP_GS_CTRL_REG0_BRANCHSTACK__SHIFT) & A6XX_SP_GS_CTRL_REG0_BRANCHSTACK__MASK;
5920*4882a593Smuzhiyun }
5921*4882a593Smuzhiyun #define A6XX_SP_GS_CTRL_REG0_THREADSIZE__MASK 0x00100000
5922*4882a593Smuzhiyun #define A6XX_SP_GS_CTRL_REG0_THREADSIZE__SHIFT 20
A6XX_SP_GS_CTRL_REG0_THREADSIZE(enum a3xx_threadsize val)5923*4882a593Smuzhiyun static inline uint32_t A6XX_SP_GS_CTRL_REG0_THREADSIZE(enum a3xx_threadsize val)
5924*4882a593Smuzhiyun {
5925*4882a593Smuzhiyun return ((val) << A6XX_SP_GS_CTRL_REG0_THREADSIZE__SHIFT) & A6XX_SP_GS_CTRL_REG0_THREADSIZE__MASK;
5926*4882a593Smuzhiyun }
5927*4882a593Smuzhiyun #define A6XX_SP_GS_CTRL_REG0_VARYING 0x00400000
5928*4882a593Smuzhiyun #define A6XX_SP_GS_CTRL_REG0_DIFF_FINE 0x00800000
5929*4882a593Smuzhiyun #define A6XX_SP_GS_CTRL_REG0_PIXLODENABLE 0x04000000
5930*4882a593Smuzhiyun #define A6XX_SP_GS_CTRL_REG0_MERGEDREGS 0x80000000
5931*4882a593Smuzhiyun
5932*4882a593Smuzhiyun #define REG_A6XX_SP_GS_PRIM_SIZE 0x0000a871
5933*4882a593Smuzhiyun
5934*4882a593Smuzhiyun #define REG_A6XX_SP_GS_BRANCH_COND 0x0000a872
5935*4882a593Smuzhiyun
5936*4882a593Smuzhiyun #define REG_A6XX_SP_GS_PRIMITIVE_CNTL 0x0000a873
5937*4882a593Smuzhiyun #define A6XX_SP_GS_PRIMITIVE_CNTL_OUT__MASK 0x0000003f
5938*4882a593Smuzhiyun #define A6XX_SP_GS_PRIMITIVE_CNTL_OUT__SHIFT 0
A6XX_SP_GS_PRIMITIVE_CNTL_OUT(uint32_t val)5939*4882a593Smuzhiyun static inline uint32_t A6XX_SP_GS_PRIMITIVE_CNTL_OUT(uint32_t val)
5940*4882a593Smuzhiyun {
5941*4882a593Smuzhiyun return ((val) << A6XX_SP_GS_PRIMITIVE_CNTL_OUT__SHIFT) & A6XX_SP_GS_PRIMITIVE_CNTL_OUT__MASK;
5942*4882a593Smuzhiyun }
5943*4882a593Smuzhiyun #define A6XX_SP_GS_PRIMITIVE_CNTL_FLAGS_REGID__MASK 0x00003fc0
5944*4882a593Smuzhiyun #define A6XX_SP_GS_PRIMITIVE_CNTL_FLAGS_REGID__SHIFT 6
A6XX_SP_GS_PRIMITIVE_CNTL_FLAGS_REGID(uint32_t val)5945*4882a593Smuzhiyun static inline uint32_t A6XX_SP_GS_PRIMITIVE_CNTL_FLAGS_REGID(uint32_t val)
5946*4882a593Smuzhiyun {
5947*4882a593Smuzhiyun return ((val) << A6XX_SP_GS_PRIMITIVE_CNTL_FLAGS_REGID__SHIFT) & A6XX_SP_GS_PRIMITIVE_CNTL_FLAGS_REGID__MASK;
5948*4882a593Smuzhiyun }
5949*4882a593Smuzhiyun
REG_A6XX_SP_GS_OUT(uint32_t i0)5950*4882a593Smuzhiyun static inline uint32_t REG_A6XX_SP_GS_OUT(uint32_t i0) { return 0x0000a874 + 0x1*i0; }
5951*4882a593Smuzhiyun
REG_A6XX_SP_GS_OUT_REG(uint32_t i0)5952*4882a593Smuzhiyun static inline uint32_t REG_A6XX_SP_GS_OUT_REG(uint32_t i0) { return 0x0000a874 + 0x1*i0; }
5953*4882a593Smuzhiyun #define A6XX_SP_GS_OUT_REG_A_REGID__MASK 0x000000ff
5954*4882a593Smuzhiyun #define A6XX_SP_GS_OUT_REG_A_REGID__SHIFT 0
A6XX_SP_GS_OUT_REG_A_REGID(uint32_t val)5955*4882a593Smuzhiyun static inline uint32_t A6XX_SP_GS_OUT_REG_A_REGID(uint32_t val)
5956*4882a593Smuzhiyun {
5957*4882a593Smuzhiyun return ((val) << A6XX_SP_GS_OUT_REG_A_REGID__SHIFT) & A6XX_SP_GS_OUT_REG_A_REGID__MASK;
5958*4882a593Smuzhiyun }
5959*4882a593Smuzhiyun #define A6XX_SP_GS_OUT_REG_A_COMPMASK__MASK 0x00000f00
5960*4882a593Smuzhiyun #define A6XX_SP_GS_OUT_REG_A_COMPMASK__SHIFT 8
A6XX_SP_GS_OUT_REG_A_COMPMASK(uint32_t val)5961*4882a593Smuzhiyun static inline uint32_t A6XX_SP_GS_OUT_REG_A_COMPMASK(uint32_t val)
5962*4882a593Smuzhiyun {
5963*4882a593Smuzhiyun return ((val) << A6XX_SP_GS_OUT_REG_A_COMPMASK__SHIFT) & A6XX_SP_GS_OUT_REG_A_COMPMASK__MASK;
5964*4882a593Smuzhiyun }
5965*4882a593Smuzhiyun #define A6XX_SP_GS_OUT_REG_B_REGID__MASK 0x00ff0000
5966*4882a593Smuzhiyun #define A6XX_SP_GS_OUT_REG_B_REGID__SHIFT 16
A6XX_SP_GS_OUT_REG_B_REGID(uint32_t val)5967*4882a593Smuzhiyun static inline uint32_t A6XX_SP_GS_OUT_REG_B_REGID(uint32_t val)
5968*4882a593Smuzhiyun {
5969*4882a593Smuzhiyun return ((val) << A6XX_SP_GS_OUT_REG_B_REGID__SHIFT) & A6XX_SP_GS_OUT_REG_B_REGID__MASK;
5970*4882a593Smuzhiyun }
5971*4882a593Smuzhiyun #define A6XX_SP_GS_OUT_REG_B_COMPMASK__MASK 0x0f000000
5972*4882a593Smuzhiyun #define A6XX_SP_GS_OUT_REG_B_COMPMASK__SHIFT 24
A6XX_SP_GS_OUT_REG_B_COMPMASK(uint32_t val)5973*4882a593Smuzhiyun static inline uint32_t A6XX_SP_GS_OUT_REG_B_COMPMASK(uint32_t val)
5974*4882a593Smuzhiyun {
5975*4882a593Smuzhiyun return ((val) << A6XX_SP_GS_OUT_REG_B_COMPMASK__SHIFT) & A6XX_SP_GS_OUT_REG_B_COMPMASK__MASK;
5976*4882a593Smuzhiyun }
5977*4882a593Smuzhiyun
REG_A6XX_SP_GS_VPC_DST(uint32_t i0)5978*4882a593Smuzhiyun static inline uint32_t REG_A6XX_SP_GS_VPC_DST(uint32_t i0) { return 0x0000a884 + 0x1*i0; }
5979*4882a593Smuzhiyun
REG_A6XX_SP_GS_VPC_DST_REG(uint32_t i0)5980*4882a593Smuzhiyun static inline uint32_t REG_A6XX_SP_GS_VPC_DST_REG(uint32_t i0) { return 0x0000a884 + 0x1*i0; }
5981*4882a593Smuzhiyun #define A6XX_SP_GS_VPC_DST_REG_OUTLOC0__MASK 0x000000ff
5982*4882a593Smuzhiyun #define A6XX_SP_GS_VPC_DST_REG_OUTLOC0__SHIFT 0
A6XX_SP_GS_VPC_DST_REG_OUTLOC0(uint32_t val)5983*4882a593Smuzhiyun static inline uint32_t A6XX_SP_GS_VPC_DST_REG_OUTLOC0(uint32_t val)
5984*4882a593Smuzhiyun {
5985*4882a593Smuzhiyun return ((val) << A6XX_SP_GS_VPC_DST_REG_OUTLOC0__SHIFT) & A6XX_SP_GS_VPC_DST_REG_OUTLOC0__MASK;
5986*4882a593Smuzhiyun }
5987*4882a593Smuzhiyun #define A6XX_SP_GS_VPC_DST_REG_OUTLOC1__MASK 0x0000ff00
5988*4882a593Smuzhiyun #define A6XX_SP_GS_VPC_DST_REG_OUTLOC1__SHIFT 8
A6XX_SP_GS_VPC_DST_REG_OUTLOC1(uint32_t val)5989*4882a593Smuzhiyun static inline uint32_t A6XX_SP_GS_VPC_DST_REG_OUTLOC1(uint32_t val)
5990*4882a593Smuzhiyun {
5991*4882a593Smuzhiyun return ((val) << A6XX_SP_GS_VPC_DST_REG_OUTLOC1__SHIFT) & A6XX_SP_GS_VPC_DST_REG_OUTLOC1__MASK;
5992*4882a593Smuzhiyun }
5993*4882a593Smuzhiyun #define A6XX_SP_GS_VPC_DST_REG_OUTLOC2__MASK 0x00ff0000
5994*4882a593Smuzhiyun #define A6XX_SP_GS_VPC_DST_REG_OUTLOC2__SHIFT 16
A6XX_SP_GS_VPC_DST_REG_OUTLOC2(uint32_t val)5995*4882a593Smuzhiyun static inline uint32_t A6XX_SP_GS_VPC_DST_REG_OUTLOC2(uint32_t val)
5996*4882a593Smuzhiyun {
5997*4882a593Smuzhiyun return ((val) << A6XX_SP_GS_VPC_DST_REG_OUTLOC2__SHIFT) & A6XX_SP_GS_VPC_DST_REG_OUTLOC2__MASK;
5998*4882a593Smuzhiyun }
5999*4882a593Smuzhiyun #define A6XX_SP_GS_VPC_DST_REG_OUTLOC3__MASK 0xff000000
6000*4882a593Smuzhiyun #define A6XX_SP_GS_VPC_DST_REG_OUTLOC3__SHIFT 24
A6XX_SP_GS_VPC_DST_REG_OUTLOC3(uint32_t val)6001*4882a593Smuzhiyun static inline uint32_t A6XX_SP_GS_VPC_DST_REG_OUTLOC3(uint32_t val)
6002*4882a593Smuzhiyun {
6003*4882a593Smuzhiyun return ((val) << A6XX_SP_GS_VPC_DST_REG_OUTLOC3__SHIFT) & A6XX_SP_GS_VPC_DST_REG_OUTLOC3__MASK;
6004*4882a593Smuzhiyun }
6005*4882a593Smuzhiyun
6006*4882a593Smuzhiyun #define REG_A6XX_SP_GS_OBJ_START_LO 0x0000a88d
6007*4882a593Smuzhiyun
6008*4882a593Smuzhiyun #define REG_A6XX_SP_GS_OBJ_START_HI 0x0000a88e
6009*4882a593Smuzhiyun
6010*4882a593Smuzhiyun #define REG_A6XX_SP_GS_TEX_COUNT 0x0000a893
6011*4882a593Smuzhiyun
6012*4882a593Smuzhiyun #define REG_A6XX_SP_GS_CONFIG 0x0000a894
6013*4882a593Smuzhiyun #define A6XX_SP_GS_CONFIG_BINDLESS_TEX 0x00000001
6014*4882a593Smuzhiyun #define A6XX_SP_GS_CONFIG_BINDLESS_SAMP 0x00000002
6015*4882a593Smuzhiyun #define A6XX_SP_GS_CONFIG_BINDLESS_IBO 0x00000004
6016*4882a593Smuzhiyun #define A6XX_SP_GS_CONFIG_BINDLESS_UBO 0x00000008
6017*4882a593Smuzhiyun #define A6XX_SP_GS_CONFIG_ENABLED 0x00000100
6018*4882a593Smuzhiyun #define A6XX_SP_GS_CONFIG_NTEX__MASK 0x0001fe00
6019*4882a593Smuzhiyun #define A6XX_SP_GS_CONFIG_NTEX__SHIFT 9
A6XX_SP_GS_CONFIG_NTEX(uint32_t val)6020*4882a593Smuzhiyun static inline uint32_t A6XX_SP_GS_CONFIG_NTEX(uint32_t val)
6021*4882a593Smuzhiyun {
6022*4882a593Smuzhiyun return ((val) << A6XX_SP_GS_CONFIG_NTEX__SHIFT) & A6XX_SP_GS_CONFIG_NTEX__MASK;
6023*4882a593Smuzhiyun }
6024*4882a593Smuzhiyun #define A6XX_SP_GS_CONFIG_NSAMP__MASK 0x003e0000
6025*4882a593Smuzhiyun #define A6XX_SP_GS_CONFIG_NSAMP__SHIFT 17
A6XX_SP_GS_CONFIG_NSAMP(uint32_t val)6026*4882a593Smuzhiyun static inline uint32_t A6XX_SP_GS_CONFIG_NSAMP(uint32_t val)
6027*4882a593Smuzhiyun {
6028*4882a593Smuzhiyun return ((val) << A6XX_SP_GS_CONFIG_NSAMP__SHIFT) & A6XX_SP_GS_CONFIG_NSAMP__MASK;
6029*4882a593Smuzhiyun }
6030*4882a593Smuzhiyun #define A6XX_SP_GS_CONFIG_NIBO__MASK 0x3fc00000
6031*4882a593Smuzhiyun #define A6XX_SP_GS_CONFIG_NIBO__SHIFT 22
A6XX_SP_GS_CONFIG_NIBO(uint32_t val)6032*4882a593Smuzhiyun static inline uint32_t A6XX_SP_GS_CONFIG_NIBO(uint32_t val)
6033*4882a593Smuzhiyun {
6034*4882a593Smuzhiyun return ((val) << A6XX_SP_GS_CONFIG_NIBO__SHIFT) & A6XX_SP_GS_CONFIG_NIBO__MASK;
6035*4882a593Smuzhiyun }
6036*4882a593Smuzhiyun
6037*4882a593Smuzhiyun #define REG_A6XX_SP_GS_INSTRLEN 0x0000a895
6038*4882a593Smuzhiyun
6039*4882a593Smuzhiyun #define REG_A6XX_SP_VS_TEX_SAMP_LO 0x0000a8a0
6040*4882a593Smuzhiyun
6041*4882a593Smuzhiyun #define REG_A6XX_SP_VS_TEX_SAMP_HI 0x0000a8a1
6042*4882a593Smuzhiyun
6043*4882a593Smuzhiyun #define REG_A6XX_SP_HS_TEX_SAMP_LO 0x0000a8a2
6044*4882a593Smuzhiyun
6045*4882a593Smuzhiyun #define REG_A6XX_SP_HS_TEX_SAMP_HI 0x0000a8a3
6046*4882a593Smuzhiyun
6047*4882a593Smuzhiyun #define REG_A6XX_SP_DS_TEX_SAMP_LO 0x0000a8a4
6048*4882a593Smuzhiyun
6049*4882a593Smuzhiyun #define REG_A6XX_SP_DS_TEX_SAMP_HI 0x0000a8a5
6050*4882a593Smuzhiyun
6051*4882a593Smuzhiyun #define REG_A6XX_SP_GS_TEX_SAMP_LO 0x0000a8a6
6052*4882a593Smuzhiyun
6053*4882a593Smuzhiyun #define REG_A6XX_SP_GS_TEX_SAMP_HI 0x0000a8a7
6054*4882a593Smuzhiyun
6055*4882a593Smuzhiyun #define REG_A6XX_SP_VS_TEX_CONST_LO 0x0000a8a8
6056*4882a593Smuzhiyun
6057*4882a593Smuzhiyun #define REG_A6XX_SP_VS_TEX_CONST_HI 0x0000a8a9
6058*4882a593Smuzhiyun
6059*4882a593Smuzhiyun #define REG_A6XX_SP_HS_TEX_CONST_LO 0x0000a8aa
6060*4882a593Smuzhiyun
6061*4882a593Smuzhiyun #define REG_A6XX_SP_HS_TEX_CONST_HI 0x0000a8ab
6062*4882a593Smuzhiyun
6063*4882a593Smuzhiyun #define REG_A6XX_SP_DS_TEX_CONST_LO 0x0000a8ac
6064*4882a593Smuzhiyun
6065*4882a593Smuzhiyun #define REG_A6XX_SP_DS_TEX_CONST_HI 0x0000a8ad
6066*4882a593Smuzhiyun
6067*4882a593Smuzhiyun #define REG_A6XX_SP_GS_TEX_CONST_LO 0x0000a8ae
6068*4882a593Smuzhiyun
6069*4882a593Smuzhiyun #define REG_A6XX_SP_GS_TEX_CONST_HI 0x0000a8af
6070*4882a593Smuzhiyun
6071*4882a593Smuzhiyun #define REG_A6XX_SP_FS_CTRL_REG0 0x0000a980
6072*4882a593Smuzhiyun #define A6XX_SP_FS_CTRL_REG0_HALFREGFOOTPRINT__MASK 0x0000007e
6073*4882a593Smuzhiyun #define A6XX_SP_FS_CTRL_REG0_HALFREGFOOTPRINT__SHIFT 1
A6XX_SP_FS_CTRL_REG0_HALFREGFOOTPRINT(uint32_t val)6074*4882a593Smuzhiyun static inline uint32_t A6XX_SP_FS_CTRL_REG0_HALFREGFOOTPRINT(uint32_t val)
6075*4882a593Smuzhiyun {
6076*4882a593Smuzhiyun return ((val) << A6XX_SP_FS_CTRL_REG0_HALFREGFOOTPRINT__SHIFT) & A6XX_SP_FS_CTRL_REG0_HALFREGFOOTPRINT__MASK;
6077*4882a593Smuzhiyun }
6078*4882a593Smuzhiyun #define A6XX_SP_FS_CTRL_REG0_FULLREGFOOTPRINT__MASK 0x00001f80
6079*4882a593Smuzhiyun #define A6XX_SP_FS_CTRL_REG0_FULLREGFOOTPRINT__SHIFT 7
A6XX_SP_FS_CTRL_REG0_FULLREGFOOTPRINT(uint32_t val)6080*4882a593Smuzhiyun static inline uint32_t A6XX_SP_FS_CTRL_REG0_FULLREGFOOTPRINT(uint32_t val)
6081*4882a593Smuzhiyun {
6082*4882a593Smuzhiyun return ((val) << A6XX_SP_FS_CTRL_REG0_FULLREGFOOTPRINT__SHIFT) & A6XX_SP_FS_CTRL_REG0_FULLREGFOOTPRINT__MASK;
6083*4882a593Smuzhiyun }
6084*4882a593Smuzhiyun #define A6XX_SP_FS_CTRL_REG0_BRANCHSTACK__MASK 0x000fc000
6085*4882a593Smuzhiyun #define A6XX_SP_FS_CTRL_REG0_BRANCHSTACK__SHIFT 14
A6XX_SP_FS_CTRL_REG0_BRANCHSTACK(uint32_t val)6086*4882a593Smuzhiyun static inline uint32_t A6XX_SP_FS_CTRL_REG0_BRANCHSTACK(uint32_t val)
6087*4882a593Smuzhiyun {
6088*4882a593Smuzhiyun return ((val) << A6XX_SP_FS_CTRL_REG0_BRANCHSTACK__SHIFT) & A6XX_SP_FS_CTRL_REG0_BRANCHSTACK__MASK;
6089*4882a593Smuzhiyun }
6090*4882a593Smuzhiyun #define A6XX_SP_FS_CTRL_REG0_THREADSIZE__MASK 0x00100000
6091*4882a593Smuzhiyun #define A6XX_SP_FS_CTRL_REG0_THREADSIZE__SHIFT 20
A6XX_SP_FS_CTRL_REG0_THREADSIZE(enum a3xx_threadsize val)6092*4882a593Smuzhiyun static inline uint32_t A6XX_SP_FS_CTRL_REG0_THREADSIZE(enum a3xx_threadsize val)
6093*4882a593Smuzhiyun {
6094*4882a593Smuzhiyun return ((val) << A6XX_SP_FS_CTRL_REG0_THREADSIZE__SHIFT) & A6XX_SP_FS_CTRL_REG0_THREADSIZE__MASK;
6095*4882a593Smuzhiyun }
6096*4882a593Smuzhiyun #define A6XX_SP_FS_CTRL_REG0_VARYING 0x00400000
6097*4882a593Smuzhiyun #define A6XX_SP_FS_CTRL_REG0_DIFF_FINE 0x00800000
6098*4882a593Smuzhiyun #define A6XX_SP_FS_CTRL_REG0_PIXLODENABLE 0x04000000
6099*4882a593Smuzhiyun #define A6XX_SP_FS_CTRL_REG0_MERGEDREGS 0x80000000
6100*4882a593Smuzhiyun
6101*4882a593Smuzhiyun #define REG_A6XX_SP_FS_BRANCH_COND 0x0000a981
6102*4882a593Smuzhiyun
6103*4882a593Smuzhiyun #define REG_A6XX_SP_UNKNOWN_A982 0x0000a982
6104*4882a593Smuzhiyun
6105*4882a593Smuzhiyun #define REG_A6XX_SP_FS_OBJ_START_LO 0x0000a983
6106*4882a593Smuzhiyun
6107*4882a593Smuzhiyun #define REG_A6XX_SP_FS_OBJ_START_HI 0x0000a984
6108*4882a593Smuzhiyun
6109*4882a593Smuzhiyun #define REG_A6XX_SP_BLEND_CNTL 0x0000a989
6110*4882a593Smuzhiyun #define A6XX_SP_BLEND_CNTL_ENABLED 0x00000001
6111*4882a593Smuzhiyun #define A6XX_SP_BLEND_CNTL_UNK8 0x00000100
6112*4882a593Smuzhiyun #define A6XX_SP_BLEND_CNTL_DUAL_COLOR_IN_ENABLE 0x00000200
6113*4882a593Smuzhiyun #define A6XX_SP_BLEND_CNTL_ALPHA_TO_COVERAGE 0x00000400
6114*4882a593Smuzhiyun
6115*4882a593Smuzhiyun #define REG_A6XX_SP_SRGB_CNTL 0x0000a98a
6116*4882a593Smuzhiyun #define A6XX_SP_SRGB_CNTL_SRGB_MRT0 0x00000001
6117*4882a593Smuzhiyun #define A6XX_SP_SRGB_CNTL_SRGB_MRT1 0x00000002
6118*4882a593Smuzhiyun #define A6XX_SP_SRGB_CNTL_SRGB_MRT2 0x00000004
6119*4882a593Smuzhiyun #define A6XX_SP_SRGB_CNTL_SRGB_MRT3 0x00000008
6120*4882a593Smuzhiyun #define A6XX_SP_SRGB_CNTL_SRGB_MRT4 0x00000010
6121*4882a593Smuzhiyun #define A6XX_SP_SRGB_CNTL_SRGB_MRT5 0x00000020
6122*4882a593Smuzhiyun #define A6XX_SP_SRGB_CNTL_SRGB_MRT6 0x00000040
6123*4882a593Smuzhiyun #define A6XX_SP_SRGB_CNTL_SRGB_MRT7 0x00000080
6124*4882a593Smuzhiyun
6125*4882a593Smuzhiyun #define REG_A6XX_SP_FS_RENDER_COMPONENTS 0x0000a98b
6126*4882a593Smuzhiyun #define A6XX_SP_FS_RENDER_COMPONENTS_RT0__MASK 0x0000000f
6127*4882a593Smuzhiyun #define A6XX_SP_FS_RENDER_COMPONENTS_RT0__SHIFT 0
A6XX_SP_FS_RENDER_COMPONENTS_RT0(uint32_t val)6128*4882a593Smuzhiyun static inline uint32_t A6XX_SP_FS_RENDER_COMPONENTS_RT0(uint32_t val)
6129*4882a593Smuzhiyun {
6130*4882a593Smuzhiyun return ((val) << A6XX_SP_FS_RENDER_COMPONENTS_RT0__SHIFT) & A6XX_SP_FS_RENDER_COMPONENTS_RT0__MASK;
6131*4882a593Smuzhiyun }
6132*4882a593Smuzhiyun #define A6XX_SP_FS_RENDER_COMPONENTS_RT1__MASK 0x000000f0
6133*4882a593Smuzhiyun #define A6XX_SP_FS_RENDER_COMPONENTS_RT1__SHIFT 4
A6XX_SP_FS_RENDER_COMPONENTS_RT1(uint32_t val)6134*4882a593Smuzhiyun static inline uint32_t A6XX_SP_FS_RENDER_COMPONENTS_RT1(uint32_t val)
6135*4882a593Smuzhiyun {
6136*4882a593Smuzhiyun return ((val) << A6XX_SP_FS_RENDER_COMPONENTS_RT1__SHIFT) & A6XX_SP_FS_RENDER_COMPONENTS_RT1__MASK;
6137*4882a593Smuzhiyun }
6138*4882a593Smuzhiyun #define A6XX_SP_FS_RENDER_COMPONENTS_RT2__MASK 0x00000f00
6139*4882a593Smuzhiyun #define A6XX_SP_FS_RENDER_COMPONENTS_RT2__SHIFT 8
A6XX_SP_FS_RENDER_COMPONENTS_RT2(uint32_t val)6140*4882a593Smuzhiyun static inline uint32_t A6XX_SP_FS_RENDER_COMPONENTS_RT2(uint32_t val)
6141*4882a593Smuzhiyun {
6142*4882a593Smuzhiyun return ((val) << A6XX_SP_FS_RENDER_COMPONENTS_RT2__SHIFT) & A6XX_SP_FS_RENDER_COMPONENTS_RT2__MASK;
6143*4882a593Smuzhiyun }
6144*4882a593Smuzhiyun #define A6XX_SP_FS_RENDER_COMPONENTS_RT3__MASK 0x0000f000
6145*4882a593Smuzhiyun #define A6XX_SP_FS_RENDER_COMPONENTS_RT3__SHIFT 12
A6XX_SP_FS_RENDER_COMPONENTS_RT3(uint32_t val)6146*4882a593Smuzhiyun static inline uint32_t A6XX_SP_FS_RENDER_COMPONENTS_RT3(uint32_t val)
6147*4882a593Smuzhiyun {
6148*4882a593Smuzhiyun return ((val) << A6XX_SP_FS_RENDER_COMPONENTS_RT3__SHIFT) & A6XX_SP_FS_RENDER_COMPONENTS_RT3__MASK;
6149*4882a593Smuzhiyun }
6150*4882a593Smuzhiyun #define A6XX_SP_FS_RENDER_COMPONENTS_RT4__MASK 0x000f0000
6151*4882a593Smuzhiyun #define A6XX_SP_FS_RENDER_COMPONENTS_RT4__SHIFT 16
A6XX_SP_FS_RENDER_COMPONENTS_RT4(uint32_t val)6152*4882a593Smuzhiyun static inline uint32_t A6XX_SP_FS_RENDER_COMPONENTS_RT4(uint32_t val)
6153*4882a593Smuzhiyun {
6154*4882a593Smuzhiyun return ((val) << A6XX_SP_FS_RENDER_COMPONENTS_RT4__SHIFT) & A6XX_SP_FS_RENDER_COMPONENTS_RT4__MASK;
6155*4882a593Smuzhiyun }
6156*4882a593Smuzhiyun #define A6XX_SP_FS_RENDER_COMPONENTS_RT5__MASK 0x00f00000
6157*4882a593Smuzhiyun #define A6XX_SP_FS_RENDER_COMPONENTS_RT5__SHIFT 20
A6XX_SP_FS_RENDER_COMPONENTS_RT5(uint32_t val)6158*4882a593Smuzhiyun static inline uint32_t A6XX_SP_FS_RENDER_COMPONENTS_RT5(uint32_t val)
6159*4882a593Smuzhiyun {
6160*4882a593Smuzhiyun return ((val) << A6XX_SP_FS_RENDER_COMPONENTS_RT5__SHIFT) & A6XX_SP_FS_RENDER_COMPONENTS_RT5__MASK;
6161*4882a593Smuzhiyun }
6162*4882a593Smuzhiyun #define A6XX_SP_FS_RENDER_COMPONENTS_RT6__MASK 0x0f000000
6163*4882a593Smuzhiyun #define A6XX_SP_FS_RENDER_COMPONENTS_RT6__SHIFT 24
A6XX_SP_FS_RENDER_COMPONENTS_RT6(uint32_t val)6164*4882a593Smuzhiyun static inline uint32_t A6XX_SP_FS_RENDER_COMPONENTS_RT6(uint32_t val)
6165*4882a593Smuzhiyun {
6166*4882a593Smuzhiyun return ((val) << A6XX_SP_FS_RENDER_COMPONENTS_RT6__SHIFT) & A6XX_SP_FS_RENDER_COMPONENTS_RT6__MASK;
6167*4882a593Smuzhiyun }
6168*4882a593Smuzhiyun #define A6XX_SP_FS_RENDER_COMPONENTS_RT7__MASK 0xf0000000
6169*4882a593Smuzhiyun #define A6XX_SP_FS_RENDER_COMPONENTS_RT7__SHIFT 28
A6XX_SP_FS_RENDER_COMPONENTS_RT7(uint32_t val)6170*4882a593Smuzhiyun static inline uint32_t A6XX_SP_FS_RENDER_COMPONENTS_RT7(uint32_t val)
6171*4882a593Smuzhiyun {
6172*4882a593Smuzhiyun return ((val) << A6XX_SP_FS_RENDER_COMPONENTS_RT7__SHIFT) & A6XX_SP_FS_RENDER_COMPONENTS_RT7__MASK;
6173*4882a593Smuzhiyun }
6174*4882a593Smuzhiyun
6175*4882a593Smuzhiyun #define REG_A6XX_SP_FS_OUTPUT_CNTL0 0x0000a98c
6176*4882a593Smuzhiyun #define A6XX_SP_FS_OUTPUT_CNTL0_DUAL_COLOR_IN_ENABLE 0x00000001
6177*4882a593Smuzhiyun #define A6XX_SP_FS_OUTPUT_CNTL0_DEPTH_REGID__MASK 0x0000ff00
6178*4882a593Smuzhiyun #define A6XX_SP_FS_OUTPUT_CNTL0_DEPTH_REGID__SHIFT 8
A6XX_SP_FS_OUTPUT_CNTL0_DEPTH_REGID(uint32_t val)6179*4882a593Smuzhiyun static inline uint32_t A6XX_SP_FS_OUTPUT_CNTL0_DEPTH_REGID(uint32_t val)
6180*4882a593Smuzhiyun {
6181*4882a593Smuzhiyun return ((val) << A6XX_SP_FS_OUTPUT_CNTL0_DEPTH_REGID__SHIFT) & A6XX_SP_FS_OUTPUT_CNTL0_DEPTH_REGID__MASK;
6182*4882a593Smuzhiyun }
6183*4882a593Smuzhiyun #define A6XX_SP_FS_OUTPUT_CNTL0_SAMPMASK_REGID__MASK 0x00ff0000
6184*4882a593Smuzhiyun #define A6XX_SP_FS_OUTPUT_CNTL0_SAMPMASK_REGID__SHIFT 16
A6XX_SP_FS_OUTPUT_CNTL0_SAMPMASK_REGID(uint32_t val)6185*4882a593Smuzhiyun static inline uint32_t A6XX_SP_FS_OUTPUT_CNTL0_SAMPMASK_REGID(uint32_t val)
6186*4882a593Smuzhiyun {
6187*4882a593Smuzhiyun return ((val) << A6XX_SP_FS_OUTPUT_CNTL0_SAMPMASK_REGID__SHIFT) & A6XX_SP_FS_OUTPUT_CNTL0_SAMPMASK_REGID__MASK;
6188*4882a593Smuzhiyun }
6189*4882a593Smuzhiyun #define A6XX_SP_FS_OUTPUT_CNTL0_STENCILREF_REGID__MASK 0xff000000
6190*4882a593Smuzhiyun #define A6XX_SP_FS_OUTPUT_CNTL0_STENCILREF_REGID__SHIFT 24
A6XX_SP_FS_OUTPUT_CNTL0_STENCILREF_REGID(uint32_t val)6191*4882a593Smuzhiyun static inline uint32_t A6XX_SP_FS_OUTPUT_CNTL0_STENCILREF_REGID(uint32_t val)
6192*4882a593Smuzhiyun {
6193*4882a593Smuzhiyun return ((val) << A6XX_SP_FS_OUTPUT_CNTL0_STENCILREF_REGID__SHIFT) & A6XX_SP_FS_OUTPUT_CNTL0_STENCILREF_REGID__MASK;
6194*4882a593Smuzhiyun }
6195*4882a593Smuzhiyun
6196*4882a593Smuzhiyun #define REG_A6XX_SP_FS_OUTPUT_CNTL1 0x0000a98d
6197*4882a593Smuzhiyun #define A6XX_SP_FS_OUTPUT_CNTL1_MRT__MASK 0x0000000f
6198*4882a593Smuzhiyun #define A6XX_SP_FS_OUTPUT_CNTL1_MRT__SHIFT 0
A6XX_SP_FS_OUTPUT_CNTL1_MRT(uint32_t val)6199*4882a593Smuzhiyun static inline uint32_t A6XX_SP_FS_OUTPUT_CNTL1_MRT(uint32_t val)
6200*4882a593Smuzhiyun {
6201*4882a593Smuzhiyun return ((val) << A6XX_SP_FS_OUTPUT_CNTL1_MRT__SHIFT) & A6XX_SP_FS_OUTPUT_CNTL1_MRT__MASK;
6202*4882a593Smuzhiyun }
6203*4882a593Smuzhiyun
REG_A6XX_SP_FS_MRT(uint32_t i0)6204*4882a593Smuzhiyun static inline uint32_t REG_A6XX_SP_FS_MRT(uint32_t i0) { return 0x0000a996 + 0x1*i0; }
6205*4882a593Smuzhiyun
REG_A6XX_SP_FS_MRT_REG(uint32_t i0)6206*4882a593Smuzhiyun static inline uint32_t REG_A6XX_SP_FS_MRT_REG(uint32_t i0) { return 0x0000a996 + 0x1*i0; }
6207*4882a593Smuzhiyun #define A6XX_SP_FS_MRT_REG_COLOR_FORMAT__MASK 0x000000ff
6208*4882a593Smuzhiyun #define A6XX_SP_FS_MRT_REG_COLOR_FORMAT__SHIFT 0
A6XX_SP_FS_MRT_REG_COLOR_FORMAT(enum a6xx_format val)6209*4882a593Smuzhiyun static inline uint32_t A6XX_SP_FS_MRT_REG_COLOR_FORMAT(enum a6xx_format val)
6210*4882a593Smuzhiyun {
6211*4882a593Smuzhiyun return ((val) << A6XX_SP_FS_MRT_REG_COLOR_FORMAT__SHIFT) & A6XX_SP_FS_MRT_REG_COLOR_FORMAT__MASK;
6212*4882a593Smuzhiyun }
6213*4882a593Smuzhiyun #define A6XX_SP_FS_MRT_REG_COLOR_SINT 0x00000100
6214*4882a593Smuzhiyun #define A6XX_SP_FS_MRT_REG_COLOR_UINT 0x00000200
6215*4882a593Smuzhiyun
6216*4882a593Smuzhiyun #define REG_A6XX_SP_FS_PREFETCH_CNTL 0x0000a99e
6217*4882a593Smuzhiyun #define A6XX_SP_FS_PREFETCH_CNTL_COUNT__MASK 0x00000007
6218*4882a593Smuzhiyun #define A6XX_SP_FS_PREFETCH_CNTL_COUNT__SHIFT 0
A6XX_SP_FS_PREFETCH_CNTL_COUNT(uint32_t val)6219*4882a593Smuzhiyun static inline uint32_t A6XX_SP_FS_PREFETCH_CNTL_COUNT(uint32_t val)
6220*4882a593Smuzhiyun {
6221*4882a593Smuzhiyun return ((val) << A6XX_SP_FS_PREFETCH_CNTL_COUNT__SHIFT) & A6XX_SP_FS_PREFETCH_CNTL_COUNT__MASK;
6222*4882a593Smuzhiyun }
6223*4882a593Smuzhiyun #define A6XX_SP_FS_PREFETCH_CNTL_UNK3 0x00000008
6224*4882a593Smuzhiyun #define A6XX_SP_FS_PREFETCH_CNTL_UNK4__MASK 0x00000ff0
6225*4882a593Smuzhiyun #define A6XX_SP_FS_PREFETCH_CNTL_UNK4__SHIFT 4
A6XX_SP_FS_PREFETCH_CNTL_UNK4(uint32_t val)6226*4882a593Smuzhiyun static inline uint32_t A6XX_SP_FS_PREFETCH_CNTL_UNK4(uint32_t val)
6227*4882a593Smuzhiyun {
6228*4882a593Smuzhiyun return ((val) << A6XX_SP_FS_PREFETCH_CNTL_UNK4__SHIFT) & A6XX_SP_FS_PREFETCH_CNTL_UNK4__MASK;
6229*4882a593Smuzhiyun }
6230*4882a593Smuzhiyun
REG_A6XX_SP_FS_PREFETCH(uint32_t i0)6231*4882a593Smuzhiyun static inline uint32_t REG_A6XX_SP_FS_PREFETCH(uint32_t i0) { return 0x0000a99f + 0x1*i0; }
6232*4882a593Smuzhiyun
REG_A6XX_SP_FS_PREFETCH_CMD(uint32_t i0)6233*4882a593Smuzhiyun static inline uint32_t REG_A6XX_SP_FS_PREFETCH_CMD(uint32_t i0) { return 0x0000a99f + 0x1*i0; }
6234*4882a593Smuzhiyun #define A6XX_SP_FS_PREFETCH_CMD_SRC__MASK 0x0000007f
6235*4882a593Smuzhiyun #define A6XX_SP_FS_PREFETCH_CMD_SRC__SHIFT 0
A6XX_SP_FS_PREFETCH_CMD_SRC(uint32_t val)6236*4882a593Smuzhiyun static inline uint32_t A6XX_SP_FS_PREFETCH_CMD_SRC(uint32_t val)
6237*4882a593Smuzhiyun {
6238*4882a593Smuzhiyun return ((val) << A6XX_SP_FS_PREFETCH_CMD_SRC__SHIFT) & A6XX_SP_FS_PREFETCH_CMD_SRC__MASK;
6239*4882a593Smuzhiyun }
6240*4882a593Smuzhiyun #define A6XX_SP_FS_PREFETCH_CMD_SAMP_ID__MASK 0x00000780
6241*4882a593Smuzhiyun #define A6XX_SP_FS_PREFETCH_CMD_SAMP_ID__SHIFT 7
A6XX_SP_FS_PREFETCH_CMD_SAMP_ID(uint32_t val)6242*4882a593Smuzhiyun static inline uint32_t A6XX_SP_FS_PREFETCH_CMD_SAMP_ID(uint32_t val)
6243*4882a593Smuzhiyun {
6244*4882a593Smuzhiyun return ((val) << A6XX_SP_FS_PREFETCH_CMD_SAMP_ID__SHIFT) & A6XX_SP_FS_PREFETCH_CMD_SAMP_ID__MASK;
6245*4882a593Smuzhiyun }
6246*4882a593Smuzhiyun #define A6XX_SP_FS_PREFETCH_CMD_TEX_ID__MASK 0x0000f800
6247*4882a593Smuzhiyun #define A6XX_SP_FS_PREFETCH_CMD_TEX_ID__SHIFT 11
A6XX_SP_FS_PREFETCH_CMD_TEX_ID(uint32_t val)6248*4882a593Smuzhiyun static inline uint32_t A6XX_SP_FS_PREFETCH_CMD_TEX_ID(uint32_t val)
6249*4882a593Smuzhiyun {
6250*4882a593Smuzhiyun return ((val) << A6XX_SP_FS_PREFETCH_CMD_TEX_ID__SHIFT) & A6XX_SP_FS_PREFETCH_CMD_TEX_ID__MASK;
6251*4882a593Smuzhiyun }
6252*4882a593Smuzhiyun #define A6XX_SP_FS_PREFETCH_CMD_DST__MASK 0x003f0000
6253*4882a593Smuzhiyun #define A6XX_SP_FS_PREFETCH_CMD_DST__SHIFT 16
A6XX_SP_FS_PREFETCH_CMD_DST(uint32_t val)6254*4882a593Smuzhiyun static inline uint32_t A6XX_SP_FS_PREFETCH_CMD_DST(uint32_t val)
6255*4882a593Smuzhiyun {
6256*4882a593Smuzhiyun return ((val) << A6XX_SP_FS_PREFETCH_CMD_DST__SHIFT) & A6XX_SP_FS_PREFETCH_CMD_DST__MASK;
6257*4882a593Smuzhiyun }
6258*4882a593Smuzhiyun #define A6XX_SP_FS_PREFETCH_CMD_WRMASK__MASK 0x03c00000
6259*4882a593Smuzhiyun #define A6XX_SP_FS_PREFETCH_CMD_WRMASK__SHIFT 22
A6XX_SP_FS_PREFETCH_CMD_WRMASK(uint32_t val)6260*4882a593Smuzhiyun static inline uint32_t A6XX_SP_FS_PREFETCH_CMD_WRMASK(uint32_t val)
6261*4882a593Smuzhiyun {
6262*4882a593Smuzhiyun return ((val) << A6XX_SP_FS_PREFETCH_CMD_WRMASK__SHIFT) & A6XX_SP_FS_PREFETCH_CMD_WRMASK__MASK;
6263*4882a593Smuzhiyun }
6264*4882a593Smuzhiyun #define A6XX_SP_FS_PREFETCH_CMD_HALF 0x04000000
6265*4882a593Smuzhiyun #define A6XX_SP_FS_PREFETCH_CMD_CMD__MASK 0xf8000000
6266*4882a593Smuzhiyun #define A6XX_SP_FS_PREFETCH_CMD_CMD__SHIFT 27
A6XX_SP_FS_PREFETCH_CMD_CMD(uint32_t val)6267*4882a593Smuzhiyun static inline uint32_t A6XX_SP_FS_PREFETCH_CMD_CMD(uint32_t val)
6268*4882a593Smuzhiyun {
6269*4882a593Smuzhiyun return ((val) << A6XX_SP_FS_PREFETCH_CMD_CMD__SHIFT) & A6XX_SP_FS_PREFETCH_CMD_CMD__MASK;
6270*4882a593Smuzhiyun }
6271*4882a593Smuzhiyun
REG_A6XX_SP_FS_BINDLESS_PREFETCH(uint32_t i0)6272*4882a593Smuzhiyun static inline uint32_t REG_A6XX_SP_FS_BINDLESS_PREFETCH(uint32_t i0) { return 0x0000a9a3 + 0x1*i0; }
6273*4882a593Smuzhiyun
REG_A6XX_SP_FS_BINDLESS_PREFETCH_CMD(uint32_t i0)6274*4882a593Smuzhiyun static inline uint32_t REG_A6XX_SP_FS_BINDLESS_PREFETCH_CMD(uint32_t i0) { return 0x0000a9a3 + 0x1*i0; }
6275*4882a593Smuzhiyun #define A6XX_SP_FS_BINDLESS_PREFETCH_CMD_SAMP_ID__MASK 0x000000ff
6276*4882a593Smuzhiyun #define A6XX_SP_FS_BINDLESS_PREFETCH_CMD_SAMP_ID__SHIFT 0
A6XX_SP_FS_BINDLESS_PREFETCH_CMD_SAMP_ID(uint32_t val)6277*4882a593Smuzhiyun static inline uint32_t A6XX_SP_FS_BINDLESS_PREFETCH_CMD_SAMP_ID(uint32_t val)
6278*4882a593Smuzhiyun {
6279*4882a593Smuzhiyun return ((val) << A6XX_SP_FS_BINDLESS_PREFETCH_CMD_SAMP_ID__SHIFT) & A6XX_SP_FS_BINDLESS_PREFETCH_CMD_SAMP_ID__MASK;
6280*4882a593Smuzhiyun }
6281*4882a593Smuzhiyun #define A6XX_SP_FS_BINDLESS_PREFETCH_CMD_TEX_ID__MASK 0x00ff0000
6282*4882a593Smuzhiyun #define A6XX_SP_FS_BINDLESS_PREFETCH_CMD_TEX_ID__SHIFT 16
A6XX_SP_FS_BINDLESS_PREFETCH_CMD_TEX_ID(uint32_t val)6283*4882a593Smuzhiyun static inline uint32_t A6XX_SP_FS_BINDLESS_PREFETCH_CMD_TEX_ID(uint32_t val)
6284*4882a593Smuzhiyun {
6285*4882a593Smuzhiyun return ((val) << A6XX_SP_FS_BINDLESS_PREFETCH_CMD_TEX_ID__SHIFT) & A6XX_SP_FS_BINDLESS_PREFETCH_CMD_TEX_ID__MASK;
6286*4882a593Smuzhiyun }
6287*4882a593Smuzhiyun
6288*4882a593Smuzhiyun #define REG_A6XX_SP_FS_TEX_COUNT 0x0000a9a7
6289*4882a593Smuzhiyun
6290*4882a593Smuzhiyun #define REG_A6XX_SP_UNKNOWN_A9A8 0x0000a9a8
6291*4882a593Smuzhiyun
6292*4882a593Smuzhiyun #define REG_A6XX_SP_CS_UNKNOWN_A9B1 0x0000a9b1
6293*4882a593Smuzhiyun #define A6XX_SP_CS_UNKNOWN_A9B1_SHARED_SIZE_2K__MASK 0x00000001
6294*4882a593Smuzhiyun #define A6XX_SP_CS_UNKNOWN_A9B1_SHARED_SIZE_2K__SHIFT 0
A6XX_SP_CS_UNKNOWN_A9B1_SHARED_SIZE_2K(uint32_t val)6295*4882a593Smuzhiyun static inline uint32_t A6XX_SP_CS_UNKNOWN_A9B1_SHARED_SIZE_2K(uint32_t val)
6296*4882a593Smuzhiyun {
6297*4882a593Smuzhiyun return ((val) << A6XX_SP_CS_UNKNOWN_A9B1_SHARED_SIZE_2K__SHIFT) & A6XX_SP_CS_UNKNOWN_A9B1_SHARED_SIZE_2K__MASK;
6298*4882a593Smuzhiyun }
6299*4882a593Smuzhiyun
6300*4882a593Smuzhiyun #define REG_A6XX_SP_CS_UNKNOWN_A9B3 0x0000a9b3
6301*4882a593Smuzhiyun
6302*4882a593Smuzhiyun #define REG_A6XX_SP_CS_TEX_COUNT 0x0000a9ba
6303*4882a593Smuzhiyun
6304*4882a593Smuzhiyun #define REG_A6XX_SP_FS_TEX_SAMP_LO 0x0000a9e0
6305*4882a593Smuzhiyun
6306*4882a593Smuzhiyun #define REG_A6XX_SP_FS_TEX_SAMP_HI 0x0000a9e1
6307*4882a593Smuzhiyun
6308*4882a593Smuzhiyun #define REG_A6XX_SP_CS_TEX_SAMP_LO 0x0000a9e2
6309*4882a593Smuzhiyun
6310*4882a593Smuzhiyun #define REG_A6XX_SP_CS_TEX_SAMP_HI 0x0000a9e3
6311*4882a593Smuzhiyun
6312*4882a593Smuzhiyun #define REG_A6XX_SP_FS_TEX_CONST_LO 0x0000a9e4
6313*4882a593Smuzhiyun
6314*4882a593Smuzhiyun #define REG_A6XX_SP_FS_TEX_CONST_HI 0x0000a9e5
6315*4882a593Smuzhiyun
6316*4882a593Smuzhiyun #define REG_A6XX_SP_CS_TEX_CONST_LO 0x0000a9e6
6317*4882a593Smuzhiyun
6318*4882a593Smuzhiyun #define REG_A6XX_SP_CS_TEX_CONST_HI 0x0000a9e7
6319*4882a593Smuzhiyun
REG_A6XX_SP_CS_BINDLESS_BASE(uint32_t i0)6320*4882a593Smuzhiyun static inline uint32_t REG_A6XX_SP_CS_BINDLESS_BASE(uint32_t i0) { return 0x0000a9e8 + 0x2*i0; }
6321*4882a593Smuzhiyun
REG_A6XX_SP_CS_BINDLESS_BASE_ADDR(uint32_t i0)6322*4882a593Smuzhiyun static inline uint32_t REG_A6XX_SP_CS_BINDLESS_BASE_ADDR(uint32_t i0) { return 0x0000a9e8 + 0x2*i0; }
6323*4882a593Smuzhiyun
REG_A6XX_SP_FS_OUTPUT(uint32_t i0)6324*4882a593Smuzhiyun static inline uint32_t REG_A6XX_SP_FS_OUTPUT(uint32_t i0) { return 0x0000a98e + 0x1*i0; }
6325*4882a593Smuzhiyun
REG_A6XX_SP_FS_OUTPUT_REG(uint32_t i0)6326*4882a593Smuzhiyun static inline uint32_t REG_A6XX_SP_FS_OUTPUT_REG(uint32_t i0) { return 0x0000a98e + 0x1*i0; }
6327*4882a593Smuzhiyun #define A6XX_SP_FS_OUTPUT_REG_REGID__MASK 0x000000ff
6328*4882a593Smuzhiyun #define A6XX_SP_FS_OUTPUT_REG_REGID__SHIFT 0
A6XX_SP_FS_OUTPUT_REG_REGID(uint32_t val)6329*4882a593Smuzhiyun static inline uint32_t A6XX_SP_FS_OUTPUT_REG_REGID(uint32_t val)
6330*4882a593Smuzhiyun {
6331*4882a593Smuzhiyun return ((val) << A6XX_SP_FS_OUTPUT_REG_REGID__SHIFT) & A6XX_SP_FS_OUTPUT_REG_REGID__MASK;
6332*4882a593Smuzhiyun }
6333*4882a593Smuzhiyun #define A6XX_SP_FS_OUTPUT_REG_HALF_PRECISION 0x00000100
6334*4882a593Smuzhiyun
6335*4882a593Smuzhiyun #define REG_A6XX_SP_CS_CTRL_REG0 0x0000a9b0
6336*4882a593Smuzhiyun #define A6XX_SP_CS_CTRL_REG0_HALFREGFOOTPRINT__MASK 0x0000007e
6337*4882a593Smuzhiyun #define A6XX_SP_CS_CTRL_REG0_HALFREGFOOTPRINT__SHIFT 1
A6XX_SP_CS_CTRL_REG0_HALFREGFOOTPRINT(uint32_t val)6338*4882a593Smuzhiyun static inline uint32_t A6XX_SP_CS_CTRL_REG0_HALFREGFOOTPRINT(uint32_t val)
6339*4882a593Smuzhiyun {
6340*4882a593Smuzhiyun return ((val) << A6XX_SP_CS_CTRL_REG0_HALFREGFOOTPRINT__SHIFT) & A6XX_SP_CS_CTRL_REG0_HALFREGFOOTPRINT__MASK;
6341*4882a593Smuzhiyun }
6342*4882a593Smuzhiyun #define A6XX_SP_CS_CTRL_REG0_FULLREGFOOTPRINT__MASK 0x00001f80
6343*4882a593Smuzhiyun #define A6XX_SP_CS_CTRL_REG0_FULLREGFOOTPRINT__SHIFT 7
A6XX_SP_CS_CTRL_REG0_FULLREGFOOTPRINT(uint32_t val)6344*4882a593Smuzhiyun static inline uint32_t A6XX_SP_CS_CTRL_REG0_FULLREGFOOTPRINT(uint32_t val)
6345*4882a593Smuzhiyun {
6346*4882a593Smuzhiyun return ((val) << A6XX_SP_CS_CTRL_REG0_FULLREGFOOTPRINT__SHIFT) & A6XX_SP_CS_CTRL_REG0_FULLREGFOOTPRINT__MASK;
6347*4882a593Smuzhiyun }
6348*4882a593Smuzhiyun #define A6XX_SP_CS_CTRL_REG0_BRANCHSTACK__MASK 0x000fc000
6349*4882a593Smuzhiyun #define A6XX_SP_CS_CTRL_REG0_BRANCHSTACK__SHIFT 14
A6XX_SP_CS_CTRL_REG0_BRANCHSTACK(uint32_t val)6350*4882a593Smuzhiyun static inline uint32_t A6XX_SP_CS_CTRL_REG0_BRANCHSTACK(uint32_t val)
6351*4882a593Smuzhiyun {
6352*4882a593Smuzhiyun return ((val) << A6XX_SP_CS_CTRL_REG0_BRANCHSTACK__SHIFT) & A6XX_SP_CS_CTRL_REG0_BRANCHSTACK__MASK;
6353*4882a593Smuzhiyun }
6354*4882a593Smuzhiyun #define A6XX_SP_CS_CTRL_REG0_THREADSIZE__MASK 0x00100000
6355*4882a593Smuzhiyun #define A6XX_SP_CS_CTRL_REG0_THREADSIZE__SHIFT 20
A6XX_SP_CS_CTRL_REG0_THREADSIZE(enum a3xx_threadsize val)6356*4882a593Smuzhiyun static inline uint32_t A6XX_SP_CS_CTRL_REG0_THREADSIZE(enum a3xx_threadsize val)
6357*4882a593Smuzhiyun {
6358*4882a593Smuzhiyun return ((val) << A6XX_SP_CS_CTRL_REG0_THREADSIZE__SHIFT) & A6XX_SP_CS_CTRL_REG0_THREADSIZE__MASK;
6359*4882a593Smuzhiyun }
6360*4882a593Smuzhiyun #define A6XX_SP_CS_CTRL_REG0_VARYING 0x00400000
6361*4882a593Smuzhiyun #define A6XX_SP_CS_CTRL_REG0_DIFF_FINE 0x00800000
6362*4882a593Smuzhiyun #define A6XX_SP_CS_CTRL_REG0_PIXLODENABLE 0x04000000
6363*4882a593Smuzhiyun #define A6XX_SP_CS_CTRL_REG0_MERGEDREGS 0x80000000
6364*4882a593Smuzhiyun
6365*4882a593Smuzhiyun #define REG_A6XX_SP_CS_OBJ_START_LO 0x0000a9b4
6366*4882a593Smuzhiyun
6367*4882a593Smuzhiyun #define REG_A6XX_SP_CS_OBJ_START_HI 0x0000a9b5
6368*4882a593Smuzhiyun
6369*4882a593Smuzhiyun #define REG_A6XX_SP_CS_CONFIG 0x0000a9bb
6370*4882a593Smuzhiyun #define A6XX_SP_CS_CONFIG_BINDLESS_TEX 0x00000001
6371*4882a593Smuzhiyun #define A6XX_SP_CS_CONFIG_BINDLESS_SAMP 0x00000002
6372*4882a593Smuzhiyun #define A6XX_SP_CS_CONFIG_BINDLESS_IBO 0x00000004
6373*4882a593Smuzhiyun #define A6XX_SP_CS_CONFIG_BINDLESS_UBO 0x00000008
6374*4882a593Smuzhiyun #define A6XX_SP_CS_CONFIG_ENABLED 0x00000100
6375*4882a593Smuzhiyun #define A6XX_SP_CS_CONFIG_NTEX__MASK 0x0001fe00
6376*4882a593Smuzhiyun #define A6XX_SP_CS_CONFIG_NTEX__SHIFT 9
A6XX_SP_CS_CONFIG_NTEX(uint32_t val)6377*4882a593Smuzhiyun static inline uint32_t A6XX_SP_CS_CONFIG_NTEX(uint32_t val)
6378*4882a593Smuzhiyun {
6379*4882a593Smuzhiyun return ((val) << A6XX_SP_CS_CONFIG_NTEX__SHIFT) & A6XX_SP_CS_CONFIG_NTEX__MASK;
6380*4882a593Smuzhiyun }
6381*4882a593Smuzhiyun #define A6XX_SP_CS_CONFIG_NSAMP__MASK 0x003e0000
6382*4882a593Smuzhiyun #define A6XX_SP_CS_CONFIG_NSAMP__SHIFT 17
A6XX_SP_CS_CONFIG_NSAMP(uint32_t val)6383*4882a593Smuzhiyun static inline uint32_t A6XX_SP_CS_CONFIG_NSAMP(uint32_t val)
6384*4882a593Smuzhiyun {
6385*4882a593Smuzhiyun return ((val) << A6XX_SP_CS_CONFIG_NSAMP__SHIFT) & A6XX_SP_CS_CONFIG_NSAMP__MASK;
6386*4882a593Smuzhiyun }
6387*4882a593Smuzhiyun #define A6XX_SP_CS_CONFIG_NIBO__MASK 0x3fc00000
6388*4882a593Smuzhiyun #define A6XX_SP_CS_CONFIG_NIBO__SHIFT 22
A6XX_SP_CS_CONFIG_NIBO(uint32_t val)6389*4882a593Smuzhiyun static inline uint32_t A6XX_SP_CS_CONFIG_NIBO(uint32_t val)
6390*4882a593Smuzhiyun {
6391*4882a593Smuzhiyun return ((val) << A6XX_SP_CS_CONFIG_NIBO__SHIFT) & A6XX_SP_CS_CONFIG_NIBO__MASK;
6392*4882a593Smuzhiyun }
6393*4882a593Smuzhiyun
6394*4882a593Smuzhiyun #define REG_A6XX_SP_CS_INSTRLEN 0x0000a9bc
6395*4882a593Smuzhiyun
6396*4882a593Smuzhiyun #define REG_A6XX_SP_CS_IBO_LO 0x0000a9f2
6397*4882a593Smuzhiyun
6398*4882a593Smuzhiyun #define REG_A6XX_SP_CS_IBO_HI 0x0000a9f3
6399*4882a593Smuzhiyun
6400*4882a593Smuzhiyun #define REG_A6XX_SP_CS_IBO_COUNT 0x0000aa00
6401*4882a593Smuzhiyun
6402*4882a593Smuzhiyun #define REG_A6XX_SP_UNKNOWN_AB00 0x0000ab00
6403*4882a593Smuzhiyun
6404*4882a593Smuzhiyun #define REG_A6XX_SP_FS_CONFIG 0x0000ab04
6405*4882a593Smuzhiyun #define A6XX_SP_FS_CONFIG_BINDLESS_TEX 0x00000001
6406*4882a593Smuzhiyun #define A6XX_SP_FS_CONFIG_BINDLESS_SAMP 0x00000002
6407*4882a593Smuzhiyun #define A6XX_SP_FS_CONFIG_BINDLESS_IBO 0x00000004
6408*4882a593Smuzhiyun #define A6XX_SP_FS_CONFIG_BINDLESS_UBO 0x00000008
6409*4882a593Smuzhiyun #define A6XX_SP_FS_CONFIG_ENABLED 0x00000100
6410*4882a593Smuzhiyun #define A6XX_SP_FS_CONFIG_NTEX__MASK 0x0001fe00
6411*4882a593Smuzhiyun #define A6XX_SP_FS_CONFIG_NTEX__SHIFT 9
A6XX_SP_FS_CONFIG_NTEX(uint32_t val)6412*4882a593Smuzhiyun static inline uint32_t A6XX_SP_FS_CONFIG_NTEX(uint32_t val)
6413*4882a593Smuzhiyun {
6414*4882a593Smuzhiyun return ((val) << A6XX_SP_FS_CONFIG_NTEX__SHIFT) & A6XX_SP_FS_CONFIG_NTEX__MASK;
6415*4882a593Smuzhiyun }
6416*4882a593Smuzhiyun #define A6XX_SP_FS_CONFIG_NSAMP__MASK 0x003e0000
6417*4882a593Smuzhiyun #define A6XX_SP_FS_CONFIG_NSAMP__SHIFT 17
A6XX_SP_FS_CONFIG_NSAMP(uint32_t val)6418*4882a593Smuzhiyun static inline uint32_t A6XX_SP_FS_CONFIG_NSAMP(uint32_t val)
6419*4882a593Smuzhiyun {
6420*4882a593Smuzhiyun return ((val) << A6XX_SP_FS_CONFIG_NSAMP__SHIFT) & A6XX_SP_FS_CONFIG_NSAMP__MASK;
6421*4882a593Smuzhiyun }
6422*4882a593Smuzhiyun #define A6XX_SP_FS_CONFIG_NIBO__MASK 0x3fc00000
6423*4882a593Smuzhiyun #define A6XX_SP_FS_CONFIG_NIBO__SHIFT 22
A6XX_SP_FS_CONFIG_NIBO(uint32_t val)6424*4882a593Smuzhiyun static inline uint32_t A6XX_SP_FS_CONFIG_NIBO(uint32_t val)
6425*4882a593Smuzhiyun {
6426*4882a593Smuzhiyun return ((val) << A6XX_SP_FS_CONFIG_NIBO__SHIFT) & A6XX_SP_FS_CONFIG_NIBO__MASK;
6427*4882a593Smuzhiyun }
6428*4882a593Smuzhiyun
6429*4882a593Smuzhiyun #define REG_A6XX_SP_FS_INSTRLEN 0x0000ab05
6430*4882a593Smuzhiyun
REG_A6XX_SP_BINDLESS_BASE(uint32_t i0)6431*4882a593Smuzhiyun static inline uint32_t REG_A6XX_SP_BINDLESS_BASE(uint32_t i0) { return 0x0000ab10 + 0x2*i0; }
6432*4882a593Smuzhiyun
REG_A6XX_SP_BINDLESS_BASE_ADDR(uint32_t i0)6433*4882a593Smuzhiyun static inline uint32_t REG_A6XX_SP_BINDLESS_BASE_ADDR(uint32_t i0) { return 0x0000ab10 + 0x2*i0; }
6434*4882a593Smuzhiyun
6435*4882a593Smuzhiyun #define REG_A6XX_SP_IBO_LO 0x0000ab1a
6436*4882a593Smuzhiyun
6437*4882a593Smuzhiyun #define REG_A6XX_SP_IBO_HI 0x0000ab1b
6438*4882a593Smuzhiyun
6439*4882a593Smuzhiyun #define REG_A6XX_SP_IBO_COUNT 0x0000ab20
6440*4882a593Smuzhiyun
6441*4882a593Smuzhiyun #define REG_A6XX_SP_2D_DST_FORMAT 0x0000acc0
6442*4882a593Smuzhiyun #define A6XX_SP_2D_DST_FORMAT_NORM 0x00000001
6443*4882a593Smuzhiyun #define A6XX_SP_2D_DST_FORMAT_SINT 0x00000002
6444*4882a593Smuzhiyun #define A6XX_SP_2D_DST_FORMAT_UINT 0x00000004
6445*4882a593Smuzhiyun #define A6XX_SP_2D_DST_FORMAT_COLOR_FORMAT__MASK 0x000007f8
6446*4882a593Smuzhiyun #define A6XX_SP_2D_DST_FORMAT_COLOR_FORMAT__SHIFT 3
A6XX_SP_2D_DST_FORMAT_COLOR_FORMAT(enum a6xx_format val)6447*4882a593Smuzhiyun static inline uint32_t A6XX_SP_2D_DST_FORMAT_COLOR_FORMAT(enum a6xx_format val)
6448*4882a593Smuzhiyun {
6449*4882a593Smuzhiyun return ((val) << A6XX_SP_2D_DST_FORMAT_COLOR_FORMAT__SHIFT) & A6XX_SP_2D_DST_FORMAT_COLOR_FORMAT__MASK;
6450*4882a593Smuzhiyun }
6451*4882a593Smuzhiyun #define A6XX_SP_2D_DST_FORMAT_SRGB 0x00000800
6452*4882a593Smuzhiyun #define A6XX_SP_2D_DST_FORMAT_MASK__MASK 0x0000f000
6453*4882a593Smuzhiyun #define A6XX_SP_2D_DST_FORMAT_MASK__SHIFT 12
A6XX_SP_2D_DST_FORMAT_MASK(uint32_t val)6454*4882a593Smuzhiyun static inline uint32_t A6XX_SP_2D_DST_FORMAT_MASK(uint32_t val)
6455*4882a593Smuzhiyun {
6456*4882a593Smuzhiyun return ((val) << A6XX_SP_2D_DST_FORMAT_MASK__SHIFT) & A6XX_SP_2D_DST_FORMAT_MASK__MASK;
6457*4882a593Smuzhiyun }
6458*4882a593Smuzhiyun
6459*4882a593Smuzhiyun #define REG_A6XX_SP_UNKNOWN_AE00 0x0000ae00
6460*4882a593Smuzhiyun
6461*4882a593Smuzhiyun #define REG_A6XX_SP_UNKNOWN_AE03 0x0000ae03
6462*4882a593Smuzhiyun
6463*4882a593Smuzhiyun #define REG_A6XX_SP_UNKNOWN_AE04 0x0000ae04
6464*4882a593Smuzhiyun
6465*4882a593Smuzhiyun #define REG_A6XX_SP_UNKNOWN_AE0F 0x0000ae0f
6466*4882a593Smuzhiyun
6467*4882a593Smuzhiyun #define REG_A6XX_SP_PS_TP_BORDER_COLOR_BASE_ADDR 0x0000b180
6468*4882a593Smuzhiyun
6469*4882a593Smuzhiyun #define REG_A6XX_SP_UNKNOWN_B182 0x0000b182
6470*4882a593Smuzhiyun
6471*4882a593Smuzhiyun #define REG_A6XX_SP_UNKNOWN_B183 0x0000b183
6472*4882a593Smuzhiyun
6473*4882a593Smuzhiyun #define REG_A6XX_SP_TP_RAS_MSAA_CNTL 0x0000b300
6474*4882a593Smuzhiyun #define A6XX_SP_TP_RAS_MSAA_CNTL_SAMPLES__MASK 0x00000003
6475*4882a593Smuzhiyun #define A6XX_SP_TP_RAS_MSAA_CNTL_SAMPLES__SHIFT 0
A6XX_SP_TP_RAS_MSAA_CNTL_SAMPLES(enum a3xx_msaa_samples val)6476*4882a593Smuzhiyun static inline uint32_t A6XX_SP_TP_RAS_MSAA_CNTL_SAMPLES(enum a3xx_msaa_samples val)
6477*4882a593Smuzhiyun {
6478*4882a593Smuzhiyun return ((val) << A6XX_SP_TP_RAS_MSAA_CNTL_SAMPLES__SHIFT) & A6XX_SP_TP_RAS_MSAA_CNTL_SAMPLES__MASK;
6479*4882a593Smuzhiyun }
6480*4882a593Smuzhiyun
6481*4882a593Smuzhiyun #define REG_A6XX_SP_TP_DEST_MSAA_CNTL 0x0000b301
6482*4882a593Smuzhiyun #define A6XX_SP_TP_DEST_MSAA_CNTL_SAMPLES__MASK 0x00000003
6483*4882a593Smuzhiyun #define A6XX_SP_TP_DEST_MSAA_CNTL_SAMPLES__SHIFT 0
A6XX_SP_TP_DEST_MSAA_CNTL_SAMPLES(enum a3xx_msaa_samples val)6484*4882a593Smuzhiyun static inline uint32_t A6XX_SP_TP_DEST_MSAA_CNTL_SAMPLES(enum a3xx_msaa_samples val)
6485*4882a593Smuzhiyun {
6486*4882a593Smuzhiyun return ((val) << A6XX_SP_TP_DEST_MSAA_CNTL_SAMPLES__SHIFT) & A6XX_SP_TP_DEST_MSAA_CNTL_SAMPLES__MASK;
6487*4882a593Smuzhiyun }
6488*4882a593Smuzhiyun #define A6XX_SP_TP_DEST_MSAA_CNTL_MSAA_DISABLE 0x00000004
6489*4882a593Smuzhiyun
6490*4882a593Smuzhiyun #define REG_A6XX_SP_TP_BORDER_COLOR_BASE_ADDR 0x0000b302
6491*4882a593Smuzhiyun
6492*4882a593Smuzhiyun #define REG_A6XX_SP_TP_BORDER_COLOR_BASE_ADDR_LO 0x0000b302
6493*4882a593Smuzhiyun
6494*4882a593Smuzhiyun #define REG_A6XX_SP_TP_BORDER_COLOR_BASE_ADDR_HI 0x0000b303
6495*4882a593Smuzhiyun
6496*4882a593Smuzhiyun #define REG_A6XX_SP_TP_SAMPLE_CONFIG 0x0000b304
6497*4882a593Smuzhiyun #define A6XX_SP_TP_SAMPLE_CONFIG_UNK0 0x00000001
6498*4882a593Smuzhiyun #define A6XX_SP_TP_SAMPLE_CONFIG_LOCATION_ENABLE 0x00000002
6499*4882a593Smuzhiyun
6500*4882a593Smuzhiyun #define REG_A6XX_SP_TP_SAMPLE_LOCATION_0 0x0000b305
6501*4882a593Smuzhiyun #define A6XX_SP_TP_SAMPLE_LOCATION_0_SAMPLE_0_X__MASK 0x0000000f
6502*4882a593Smuzhiyun #define A6XX_SP_TP_SAMPLE_LOCATION_0_SAMPLE_0_X__SHIFT 0
A6XX_SP_TP_SAMPLE_LOCATION_0_SAMPLE_0_X(float val)6503*4882a593Smuzhiyun static inline uint32_t A6XX_SP_TP_SAMPLE_LOCATION_0_SAMPLE_0_X(float val)
6504*4882a593Smuzhiyun {
6505*4882a593Smuzhiyun return ((((int32_t)(val * 1.0))) << A6XX_SP_TP_SAMPLE_LOCATION_0_SAMPLE_0_X__SHIFT) & A6XX_SP_TP_SAMPLE_LOCATION_0_SAMPLE_0_X__MASK;
6506*4882a593Smuzhiyun }
6507*4882a593Smuzhiyun #define A6XX_SP_TP_SAMPLE_LOCATION_0_SAMPLE_0_Y__MASK 0x000000f0
6508*4882a593Smuzhiyun #define A6XX_SP_TP_SAMPLE_LOCATION_0_SAMPLE_0_Y__SHIFT 4
A6XX_SP_TP_SAMPLE_LOCATION_0_SAMPLE_0_Y(float val)6509*4882a593Smuzhiyun static inline uint32_t A6XX_SP_TP_SAMPLE_LOCATION_0_SAMPLE_0_Y(float val)
6510*4882a593Smuzhiyun {
6511*4882a593Smuzhiyun return ((((int32_t)(val * 1.0))) << A6XX_SP_TP_SAMPLE_LOCATION_0_SAMPLE_0_Y__SHIFT) & A6XX_SP_TP_SAMPLE_LOCATION_0_SAMPLE_0_Y__MASK;
6512*4882a593Smuzhiyun }
6513*4882a593Smuzhiyun #define A6XX_SP_TP_SAMPLE_LOCATION_0_SAMPLE_1_X__MASK 0x00000f00
6514*4882a593Smuzhiyun #define A6XX_SP_TP_SAMPLE_LOCATION_0_SAMPLE_1_X__SHIFT 8
A6XX_SP_TP_SAMPLE_LOCATION_0_SAMPLE_1_X(float val)6515*4882a593Smuzhiyun static inline uint32_t A6XX_SP_TP_SAMPLE_LOCATION_0_SAMPLE_1_X(float val)
6516*4882a593Smuzhiyun {
6517*4882a593Smuzhiyun return ((((int32_t)(val * 1.0))) << A6XX_SP_TP_SAMPLE_LOCATION_0_SAMPLE_1_X__SHIFT) & A6XX_SP_TP_SAMPLE_LOCATION_0_SAMPLE_1_X__MASK;
6518*4882a593Smuzhiyun }
6519*4882a593Smuzhiyun #define A6XX_SP_TP_SAMPLE_LOCATION_0_SAMPLE_1_Y__MASK 0x0000f000
6520*4882a593Smuzhiyun #define A6XX_SP_TP_SAMPLE_LOCATION_0_SAMPLE_1_Y__SHIFT 12
A6XX_SP_TP_SAMPLE_LOCATION_0_SAMPLE_1_Y(float val)6521*4882a593Smuzhiyun static inline uint32_t A6XX_SP_TP_SAMPLE_LOCATION_0_SAMPLE_1_Y(float val)
6522*4882a593Smuzhiyun {
6523*4882a593Smuzhiyun return ((((int32_t)(val * 1.0))) << A6XX_SP_TP_SAMPLE_LOCATION_0_SAMPLE_1_Y__SHIFT) & A6XX_SP_TP_SAMPLE_LOCATION_0_SAMPLE_1_Y__MASK;
6524*4882a593Smuzhiyun }
6525*4882a593Smuzhiyun #define A6XX_SP_TP_SAMPLE_LOCATION_0_SAMPLE_2_X__MASK 0x000f0000
6526*4882a593Smuzhiyun #define A6XX_SP_TP_SAMPLE_LOCATION_0_SAMPLE_2_X__SHIFT 16
A6XX_SP_TP_SAMPLE_LOCATION_0_SAMPLE_2_X(float val)6527*4882a593Smuzhiyun static inline uint32_t A6XX_SP_TP_SAMPLE_LOCATION_0_SAMPLE_2_X(float val)
6528*4882a593Smuzhiyun {
6529*4882a593Smuzhiyun return ((((int32_t)(val * 1.0))) << A6XX_SP_TP_SAMPLE_LOCATION_0_SAMPLE_2_X__SHIFT) & A6XX_SP_TP_SAMPLE_LOCATION_0_SAMPLE_2_X__MASK;
6530*4882a593Smuzhiyun }
6531*4882a593Smuzhiyun #define A6XX_SP_TP_SAMPLE_LOCATION_0_SAMPLE_2_Y__MASK 0x00f00000
6532*4882a593Smuzhiyun #define A6XX_SP_TP_SAMPLE_LOCATION_0_SAMPLE_2_Y__SHIFT 20
A6XX_SP_TP_SAMPLE_LOCATION_0_SAMPLE_2_Y(float val)6533*4882a593Smuzhiyun static inline uint32_t A6XX_SP_TP_SAMPLE_LOCATION_0_SAMPLE_2_Y(float val)
6534*4882a593Smuzhiyun {
6535*4882a593Smuzhiyun return ((((int32_t)(val * 1.0))) << A6XX_SP_TP_SAMPLE_LOCATION_0_SAMPLE_2_Y__SHIFT) & A6XX_SP_TP_SAMPLE_LOCATION_0_SAMPLE_2_Y__MASK;
6536*4882a593Smuzhiyun }
6537*4882a593Smuzhiyun #define A6XX_SP_TP_SAMPLE_LOCATION_0_SAMPLE_3_X__MASK 0x0f000000
6538*4882a593Smuzhiyun #define A6XX_SP_TP_SAMPLE_LOCATION_0_SAMPLE_3_X__SHIFT 24
A6XX_SP_TP_SAMPLE_LOCATION_0_SAMPLE_3_X(float val)6539*4882a593Smuzhiyun static inline uint32_t A6XX_SP_TP_SAMPLE_LOCATION_0_SAMPLE_3_X(float val)
6540*4882a593Smuzhiyun {
6541*4882a593Smuzhiyun return ((((int32_t)(val * 1.0))) << A6XX_SP_TP_SAMPLE_LOCATION_0_SAMPLE_3_X__SHIFT) & A6XX_SP_TP_SAMPLE_LOCATION_0_SAMPLE_3_X__MASK;
6542*4882a593Smuzhiyun }
6543*4882a593Smuzhiyun #define A6XX_SP_TP_SAMPLE_LOCATION_0_SAMPLE_3_Y__MASK 0xf0000000
6544*4882a593Smuzhiyun #define A6XX_SP_TP_SAMPLE_LOCATION_0_SAMPLE_3_Y__SHIFT 28
A6XX_SP_TP_SAMPLE_LOCATION_0_SAMPLE_3_Y(float val)6545*4882a593Smuzhiyun static inline uint32_t A6XX_SP_TP_SAMPLE_LOCATION_0_SAMPLE_3_Y(float val)
6546*4882a593Smuzhiyun {
6547*4882a593Smuzhiyun return ((((int32_t)(val * 1.0))) << A6XX_SP_TP_SAMPLE_LOCATION_0_SAMPLE_3_Y__SHIFT) & A6XX_SP_TP_SAMPLE_LOCATION_0_SAMPLE_3_Y__MASK;
6548*4882a593Smuzhiyun }
6549*4882a593Smuzhiyun
6550*4882a593Smuzhiyun #define REG_A6XX_SP_TP_SAMPLE_LOCATION_1 0x0000b306
6551*4882a593Smuzhiyun #define A6XX_SP_TP_SAMPLE_LOCATION_1_SAMPLE_0_X__MASK 0x0000000f
6552*4882a593Smuzhiyun #define A6XX_SP_TP_SAMPLE_LOCATION_1_SAMPLE_0_X__SHIFT 0
A6XX_SP_TP_SAMPLE_LOCATION_1_SAMPLE_0_X(float val)6553*4882a593Smuzhiyun static inline uint32_t A6XX_SP_TP_SAMPLE_LOCATION_1_SAMPLE_0_X(float val)
6554*4882a593Smuzhiyun {
6555*4882a593Smuzhiyun return ((((int32_t)(val * 1.0))) << A6XX_SP_TP_SAMPLE_LOCATION_1_SAMPLE_0_X__SHIFT) & A6XX_SP_TP_SAMPLE_LOCATION_1_SAMPLE_0_X__MASK;
6556*4882a593Smuzhiyun }
6557*4882a593Smuzhiyun #define A6XX_SP_TP_SAMPLE_LOCATION_1_SAMPLE_0_Y__MASK 0x000000f0
6558*4882a593Smuzhiyun #define A6XX_SP_TP_SAMPLE_LOCATION_1_SAMPLE_0_Y__SHIFT 4
A6XX_SP_TP_SAMPLE_LOCATION_1_SAMPLE_0_Y(float val)6559*4882a593Smuzhiyun static inline uint32_t A6XX_SP_TP_SAMPLE_LOCATION_1_SAMPLE_0_Y(float val)
6560*4882a593Smuzhiyun {
6561*4882a593Smuzhiyun return ((((int32_t)(val * 1.0))) << A6XX_SP_TP_SAMPLE_LOCATION_1_SAMPLE_0_Y__SHIFT) & A6XX_SP_TP_SAMPLE_LOCATION_1_SAMPLE_0_Y__MASK;
6562*4882a593Smuzhiyun }
6563*4882a593Smuzhiyun #define A6XX_SP_TP_SAMPLE_LOCATION_1_SAMPLE_1_X__MASK 0x00000f00
6564*4882a593Smuzhiyun #define A6XX_SP_TP_SAMPLE_LOCATION_1_SAMPLE_1_X__SHIFT 8
A6XX_SP_TP_SAMPLE_LOCATION_1_SAMPLE_1_X(float val)6565*4882a593Smuzhiyun static inline uint32_t A6XX_SP_TP_SAMPLE_LOCATION_1_SAMPLE_1_X(float val)
6566*4882a593Smuzhiyun {
6567*4882a593Smuzhiyun return ((((int32_t)(val * 1.0))) << A6XX_SP_TP_SAMPLE_LOCATION_1_SAMPLE_1_X__SHIFT) & A6XX_SP_TP_SAMPLE_LOCATION_1_SAMPLE_1_X__MASK;
6568*4882a593Smuzhiyun }
6569*4882a593Smuzhiyun #define A6XX_SP_TP_SAMPLE_LOCATION_1_SAMPLE_1_Y__MASK 0x0000f000
6570*4882a593Smuzhiyun #define A6XX_SP_TP_SAMPLE_LOCATION_1_SAMPLE_1_Y__SHIFT 12
A6XX_SP_TP_SAMPLE_LOCATION_1_SAMPLE_1_Y(float val)6571*4882a593Smuzhiyun static inline uint32_t A6XX_SP_TP_SAMPLE_LOCATION_1_SAMPLE_1_Y(float val)
6572*4882a593Smuzhiyun {
6573*4882a593Smuzhiyun return ((((int32_t)(val * 1.0))) << A6XX_SP_TP_SAMPLE_LOCATION_1_SAMPLE_1_Y__SHIFT) & A6XX_SP_TP_SAMPLE_LOCATION_1_SAMPLE_1_Y__MASK;
6574*4882a593Smuzhiyun }
6575*4882a593Smuzhiyun #define A6XX_SP_TP_SAMPLE_LOCATION_1_SAMPLE_2_X__MASK 0x000f0000
6576*4882a593Smuzhiyun #define A6XX_SP_TP_SAMPLE_LOCATION_1_SAMPLE_2_X__SHIFT 16
A6XX_SP_TP_SAMPLE_LOCATION_1_SAMPLE_2_X(float val)6577*4882a593Smuzhiyun static inline uint32_t A6XX_SP_TP_SAMPLE_LOCATION_1_SAMPLE_2_X(float val)
6578*4882a593Smuzhiyun {
6579*4882a593Smuzhiyun return ((((int32_t)(val * 1.0))) << A6XX_SP_TP_SAMPLE_LOCATION_1_SAMPLE_2_X__SHIFT) & A6XX_SP_TP_SAMPLE_LOCATION_1_SAMPLE_2_X__MASK;
6580*4882a593Smuzhiyun }
6581*4882a593Smuzhiyun #define A6XX_SP_TP_SAMPLE_LOCATION_1_SAMPLE_2_Y__MASK 0x00f00000
6582*4882a593Smuzhiyun #define A6XX_SP_TP_SAMPLE_LOCATION_1_SAMPLE_2_Y__SHIFT 20
A6XX_SP_TP_SAMPLE_LOCATION_1_SAMPLE_2_Y(float val)6583*4882a593Smuzhiyun static inline uint32_t A6XX_SP_TP_SAMPLE_LOCATION_1_SAMPLE_2_Y(float val)
6584*4882a593Smuzhiyun {
6585*4882a593Smuzhiyun return ((((int32_t)(val * 1.0))) << A6XX_SP_TP_SAMPLE_LOCATION_1_SAMPLE_2_Y__SHIFT) & A6XX_SP_TP_SAMPLE_LOCATION_1_SAMPLE_2_Y__MASK;
6586*4882a593Smuzhiyun }
6587*4882a593Smuzhiyun #define A6XX_SP_TP_SAMPLE_LOCATION_1_SAMPLE_3_X__MASK 0x0f000000
6588*4882a593Smuzhiyun #define A6XX_SP_TP_SAMPLE_LOCATION_1_SAMPLE_3_X__SHIFT 24
A6XX_SP_TP_SAMPLE_LOCATION_1_SAMPLE_3_X(float val)6589*4882a593Smuzhiyun static inline uint32_t A6XX_SP_TP_SAMPLE_LOCATION_1_SAMPLE_3_X(float val)
6590*4882a593Smuzhiyun {
6591*4882a593Smuzhiyun return ((((int32_t)(val * 1.0))) << A6XX_SP_TP_SAMPLE_LOCATION_1_SAMPLE_3_X__SHIFT) & A6XX_SP_TP_SAMPLE_LOCATION_1_SAMPLE_3_X__MASK;
6592*4882a593Smuzhiyun }
6593*4882a593Smuzhiyun #define A6XX_SP_TP_SAMPLE_LOCATION_1_SAMPLE_3_Y__MASK 0xf0000000
6594*4882a593Smuzhiyun #define A6XX_SP_TP_SAMPLE_LOCATION_1_SAMPLE_3_Y__SHIFT 28
A6XX_SP_TP_SAMPLE_LOCATION_1_SAMPLE_3_Y(float val)6595*4882a593Smuzhiyun static inline uint32_t A6XX_SP_TP_SAMPLE_LOCATION_1_SAMPLE_3_Y(float val)
6596*4882a593Smuzhiyun {
6597*4882a593Smuzhiyun return ((((int32_t)(val * 1.0))) << A6XX_SP_TP_SAMPLE_LOCATION_1_SAMPLE_3_Y__SHIFT) & A6XX_SP_TP_SAMPLE_LOCATION_1_SAMPLE_3_Y__MASK;
6598*4882a593Smuzhiyun }
6599*4882a593Smuzhiyun
6600*4882a593Smuzhiyun #define REG_A6XX_SP_TP_UNKNOWN_B309 0x0000b309
6601*4882a593Smuzhiyun
6602*4882a593Smuzhiyun #define REG_A6XX_SP_PS_2D_SRC_INFO 0x0000b4c0
6603*4882a593Smuzhiyun #define A6XX_SP_PS_2D_SRC_INFO_COLOR_FORMAT__MASK 0x000000ff
6604*4882a593Smuzhiyun #define A6XX_SP_PS_2D_SRC_INFO_COLOR_FORMAT__SHIFT 0
A6XX_SP_PS_2D_SRC_INFO_COLOR_FORMAT(enum a6xx_format val)6605*4882a593Smuzhiyun static inline uint32_t A6XX_SP_PS_2D_SRC_INFO_COLOR_FORMAT(enum a6xx_format val)
6606*4882a593Smuzhiyun {
6607*4882a593Smuzhiyun return ((val) << A6XX_SP_PS_2D_SRC_INFO_COLOR_FORMAT__SHIFT) & A6XX_SP_PS_2D_SRC_INFO_COLOR_FORMAT__MASK;
6608*4882a593Smuzhiyun }
6609*4882a593Smuzhiyun #define A6XX_SP_PS_2D_SRC_INFO_TILE_MODE__MASK 0x00000300
6610*4882a593Smuzhiyun #define A6XX_SP_PS_2D_SRC_INFO_TILE_MODE__SHIFT 8
A6XX_SP_PS_2D_SRC_INFO_TILE_MODE(enum a6xx_tile_mode val)6611*4882a593Smuzhiyun static inline uint32_t A6XX_SP_PS_2D_SRC_INFO_TILE_MODE(enum a6xx_tile_mode val)
6612*4882a593Smuzhiyun {
6613*4882a593Smuzhiyun return ((val) << A6XX_SP_PS_2D_SRC_INFO_TILE_MODE__SHIFT) & A6XX_SP_PS_2D_SRC_INFO_TILE_MODE__MASK;
6614*4882a593Smuzhiyun }
6615*4882a593Smuzhiyun #define A6XX_SP_PS_2D_SRC_INFO_COLOR_SWAP__MASK 0x00000c00
6616*4882a593Smuzhiyun #define A6XX_SP_PS_2D_SRC_INFO_COLOR_SWAP__SHIFT 10
A6XX_SP_PS_2D_SRC_INFO_COLOR_SWAP(enum a3xx_color_swap val)6617*4882a593Smuzhiyun static inline uint32_t A6XX_SP_PS_2D_SRC_INFO_COLOR_SWAP(enum a3xx_color_swap val)
6618*4882a593Smuzhiyun {
6619*4882a593Smuzhiyun return ((val) << A6XX_SP_PS_2D_SRC_INFO_COLOR_SWAP__SHIFT) & A6XX_SP_PS_2D_SRC_INFO_COLOR_SWAP__MASK;
6620*4882a593Smuzhiyun }
6621*4882a593Smuzhiyun #define A6XX_SP_PS_2D_SRC_INFO_FLAGS 0x00001000
6622*4882a593Smuzhiyun #define A6XX_SP_PS_2D_SRC_INFO_SRGB 0x00002000
6623*4882a593Smuzhiyun #define A6XX_SP_PS_2D_SRC_INFO_SAMPLES__MASK 0x0000c000
6624*4882a593Smuzhiyun #define A6XX_SP_PS_2D_SRC_INFO_SAMPLES__SHIFT 14
A6XX_SP_PS_2D_SRC_INFO_SAMPLES(enum a3xx_msaa_samples val)6625*4882a593Smuzhiyun static inline uint32_t A6XX_SP_PS_2D_SRC_INFO_SAMPLES(enum a3xx_msaa_samples val)
6626*4882a593Smuzhiyun {
6627*4882a593Smuzhiyun return ((val) << A6XX_SP_PS_2D_SRC_INFO_SAMPLES__SHIFT) & A6XX_SP_PS_2D_SRC_INFO_SAMPLES__MASK;
6628*4882a593Smuzhiyun }
6629*4882a593Smuzhiyun #define A6XX_SP_PS_2D_SRC_INFO_FILTER 0x00010000
6630*4882a593Smuzhiyun #define A6XX_SP_PS_2D_SRC_INFO_SAMPLES_AVERAGE 0x00040000
6631*4882a593Smuzhiyun #define A6XX_SP_PS_2D_SRC_INFO_UNK20 0x00100000
6632*4882a593Smuzhiyun #define A6XX_SP_PS_2D_SRC_INFO_UNK22 0x00400000
6633*4882a593Smuzhiyun
6634*4882a593Smuzhiyun #define REG_A6XX_SP_PS_2D_SRC_SIZE 0x0000b4c1
6635*4882a593Smuzhiyun #define A6XX_SP_PS_2D_SRC_SIZE_WIDTH__MASK 0x00007fff
6636*4882a593Smuzhiyun #define A6XX_SP_PS_2D_SRC_SIZE_WIDTH__SHIFT 0
A6XX_SP_PS_2D_SRC_SIZE_WIDTH(uint32_t val)6637*4882a593Smuzhiyun static inline uint32_t A6XX_SP_PS_2D_SRC_SIZE_WIDTH(uint32_t val)
6638*4882a593Smuzhiyun {
6639*4882a593Smuzhiyun return ((val) << A6XX_SP_PS_2D_SRC_SIZE_WIDTH__SHIFT) & A6XX_SP_PS_2D_SRC_SIZE_WIDTH__MASK;
6640*4882a593Smuzhiyun }
6641*4882a593Smuzhiyun #define A6XX_SP_PS_2D_SRC_SIZE_HEIGHT__MASK 0x3fff8000
6642*4882a593Smuzhiyun #define A6XX_SP_PS_2D_SRC_SIZE_HEIGHT__SHIFT 15
A6XX_SP_PS_2D_SRC_SIZE_HEIGHT(uint32_t val)6643*4882a593Smuzhiyun static inline uint32_t A6XX_SP_PS_2D_SRC_SIZE_HEIGHT(uint32_t val)
6644*4882a593Smuzhiyun {
6645*4882a593Smuzhiyun return ((val) << A6XX_SP_PS_2D_SRC_SIZE_HEIGHT__SHIFT) & A6XX_SP_PS_2D_SRC_SIZE_HEIGHT__MASK;
6646*4882a593Smuzhiyun }
6647*4882a593Smuzhiyun
6648*4882a593Smuzhiyun #define REG_A6XX_SP_PS_2D_SRC_LO 0x0000b4c2
6649*4882a593Smuzhiyun
6650*4882a593Smuzhiyun #define REG_A6XX_SP_PS_2D_SRC_HI 0x0000b4c3
6651*4882a593Smuzhiyun
6652*4882a593Smuzhiyun #define REG_A6XX_SP_PS_2D_SRC 0x0000b4c2
6653*4882a593Smuzhiyun
6654*4882a593Smuzhiyun #define REG_A6XX_SP_PS_2D_SRC_PITCH 0x0000b4c4
6655*4882a593Smuzhiyun #define A6XX_SP_PS_2D_SRC_PITCH_PITCH__MASK 0x01fffe00
6656*4882a593Smuzhiyun #define A6XX_SP_PS_2D_SRC_PITCH_PITCH__SHIFT 9
A6XX_SP_PS_2D_SRC_PITCH_PITCH(uint32_t val)6657*4882a593Smuzhiyun static inline uint32_t A6XX_SP_PS_2D_SRC_PITCH_PITCH(uint32_t val)
6658*4882a593Smuzhiyun {
6659*4882a593Smuzhiyun return ((val >> 6) << A6XX_SP_PS_2D_SRC_PITCH_PITCH__SHIFT) & A6XX_SP_PS_2D_SRC_PITCH_PITCH__MASK;
6660*4882a593Smuzhiyun }
6661*4882a593Smuzhiyun
6662*4882a593Smuzhiyun #define REG_A6XX_SP_PS_2D_SRC_FLAGS_LO 0x0000b4ca
6663*4882a593Smuzhiyun
6664*4882a593Smuzhiyun #define REG_A6XX_SP_PS_2D_SRC_FLAGS_HI 0x0000b4cb
6665*4882a593Smuzhiyun
6666*4882a593Smuzhiyun #define REG_A6XX_SP_PS_2D_SRC_FLAGS 0x0000b4ca
6667*4882a593Smuzhiyun
6668*4882a593Smuzhiyun #define REG_A6XX_SP_PS_2D_SRC_FLAGS_PITCH 0x0000b4cc
6669*4882a593Smuzhiyun #define A6XX_SP_PS_2D_SRC_FLAGS_PITCH_PITCH__MASK 0x000007ff
6670*4882a593Smuzhiyun #define A6XX_SP_PS_2D_SRC_FLAGS_PITCH_PITCH__SHIFT 0
A6XX_SP_PS_2D_SRC_FLAGS_PITCH_PITCH(uint32_t val)6671*4882a593Smuzhiyun static inline uint32_t A6XX_SP_PS_2D_SRC_FLAGS_PITCH_PITCH(uint32_t val)
6672*4882a593Smuzhiyun {
6673*4882a593Smuzhiyun return ((val >> 6) << A6XX_SP_PS_2D_SRC_FLAGS_PITCH_PITCH__SHIFT) & A6XX_SP_PS_2D_SRC_FLAGS_PITCH_PITCH__MASK;
6674*4882a593Smuzhiyun }
6675*4882a593Smuzhiyun #define A6XX_SP_PS_2D_SRC_FLAGS_PITCH_ARRAY_PITCH__MASK 0x003ff800
6676*4882a593Smuzhiyun #define A6XX_SP_PS_2D_SRC_FLAGS_PITCH_ARRAY_PITCH__SHIFT 11
A6XX_SP_PS_2D_SRC_FLAGS_PITCH_ARRAY_PITCH(uint32_t val)6677*4882a593Smuzhiyun static inline uint32_t A6XX_SP_PS_2D_SRC_FLAGS_PITCH_ARRAY_PITCH(uint32_t val)
6678*4882a593Smuzhiyun {
6679*4882a593Smuzhiyun return ((val >> 7) << A6XX_SP_PS_2D_SRC_FLAGS_PITCH_ARRAY_PITCH__SHIFT) & A6XX_SP_PS_2D_SRC_FLAGS_PITCH_ARRAY_PITCH__MASK;
6680*4882a593Smuzhiyun }
6681*4882a593Smuzhiyun
6682*4882a593Smuzhiyun #define REG_A6XX_SP_UNKNOWN_B600 0x0000b600
6683*4882a593Smuzhiyun
6684*4882a593Smuzhiyun #define REG_A6XX_SP_UNKNOWN_B605 0x0000b605
6685*4882a593Smuzhiyun
6686*4882a593Smuzhiyun #define REG_A6XX_HLSQ_VS_CNTL 0x0000b800
6687*4882a593Smuzhiyun #define A6XX_HLSQ_VS_CNTL_CONSTLEN__MASK 0x000000ff
6688*4882a593Smuzhiyun #define A6XX_HLSQ_VS_CNTL_CONSTLEN__SHIFT 0
A6XX_HLSQ_VS_CNTL_CONSTLEN(uint32_t val)6689*4882a593Smuzhiyun static inline uint32_t A6XX_HLSQ_VS_CNTL_CONSTLEN(uint32_t val)
6690*4882a593Smuzhiyun {
6691*4882a593Smuzhiyun return ((val >> 2) << A6XX_HLSQ_VS_CNTL_CONSTLEN__SHIFT) & A6XX_HLSQ_VS_CNTL_CONSTLEN__MASK;
6692*4882a593Smuzhiyun }
6693*4882a593Smuzhiyun #define A6XX_HLSQ_VS_CNTL_ENABLED 0x00000100
6694*4882a593Smuzhiyun
6695*4882a593Smuzhiyun #define REG_A6XX_HLSQ_HS_CNTL 0x0000b801
6696*4882a593Smuzhiyun #define A6XX_HLSQ_HS_CNTL_CONSTLEN__MASK 0x000000ff
6697*4882a593Smuzhiyun #define A6XX_HLSQ_HS_CNTL_CONSTLEN__SHIFT 0
A6XX_HLSQ_HS_CNTL_CONSTLEN(uint32_t val)6698*4882a593Smuzhiyun static inline uint32_t A6XX_HLSQ_HS_CNTL_CONSTLEN(uint32_t val)
6699*4882a593Smuzhiyun {
6700*4882a593Smuzhiyun return ((val >> 2) << A6XX_HLSQ_HS_CNTL_CONSTLEN__SHIFT) & A6XX_HLSQ_HS_CNTL_CONSTLEN__MASK;
6701*4882a593Smuzhiyun }
6702*4882a593Smuzhiyun #define A6XX_HLSQ_HS_CNTL_ENABLED 0x00000100
6703*4882a593Smuzhiyun
6704*4882a593Smuzhiyun #define REG_A6XX_HLSQ_DS_CNTL 0x0000b802
6705*4882a593Smuzhiyun #define A6XX_HLSQ_DS_CNTL_CONSTLEN__MASK 0x000000ff
6706*4882a593Smuzhiyun #define A6XX_HLSQ_DS_CNTL_CONSTLEN__SHIFT 0
A6XX_HLSQ_DS_CNTL_CONSTLEN(uint32_t val)6707*4882a593Smuzhiyun static inline uint32_t A6XX_HLSQ_DS_CNTL_CONSTLEN(uint32_t val)
6708*4882a593Smuzhiyun {
6709*4882a593Smuzhiyun return ((val >> 2) << A6XX_HLSQ_DS_CNTL_CONSTLEN__SHIFT) & A6XX_HLSQ_DS_CNTL_CONSTLEN__MASK;
6710*4882a593Smuzhiyun }
6711*4882a593Smuzhiyun #define A6XX_HLSQ_DS_CNTL_ENABLED 0x00000100
6712*4882a593Smuzhiyun
6713*4882a593Smuzhiyun #define REG_A6XX_HLSQ_GS_CNTL 0x0000b803
6714*4882a593Smuzhiyun #define A6XX_HLSQ_GS_CNTL_CONSTLEN__MASK 0x000000ff
6715*4882a593Smuzhiyun #define A6XX_HLSQ_GS_CNTL_CONSTLEN__SHIFT 0
A6XX_HLSQ_GS_CNTL_CONSTLEN(uint32_t val)6716*4882a593Smuzhiyun static inline uint32_t A6XX_HLSQ_GS_CNTL_CONSTLEN(uint32_t val)
6717*4882a593Smuzhiyun {
6718*4882a593Smuzhiyun return ((val >> 2) << A6XX_HLSQ_GS_CNTL_CONSTLEN__SHIFT) & A6XX_HLSQ_GS_CNTL_CONSTLEN__MASK;
6719*4882a593Smuzhiyun }
6720*4882a593Smuzhiyun #define A6XX_HLSQ_GS_CNTL_ENABLED 0x00000100
6721*4882a593Smuzhiyun
6722*4882a593Smuzhiyun #define REG_A6XX_HLSQ_LOAD_STATE_GEOM_CMD 0x0000b820
6723*4882a593Smuzhiyun
6724*4882a593Smuzhiyun #define REG_A6XX_HLSQ_LOAD_STATE_GEOM_EXT_SRC_ADDR 0x0000b821
6725*4882a593Smuzhiyun
6726*4882a593Smuzhiyun #define REG_A6XX_HLSQ_LOAD_STATE_GEOM_DATA 0x0000b823
6727*4882a593Smuzhiyun
6728*4882a593Smuzhiyun #define REG_A6XX_HLSQ_UNKNOWN_B980 0x0000b980
6729*4882a593Smuzhiyun
6730*4882a593Smuzhiyun #define REG_A6XX_HLSQ_CONTROL_1_REG 0x0000b982
6731*4882a593Smuzhiyun
6732*4882a593Smuzhiyun #define REG_A6XX_HLSQ_CONTROL_2_REG 0x0000b983
6733*4882a593Smuzhiyun #define A6XX_HLSQ_CONTROL_2_REG_FACEREGID__MASK 0x000000ff
6734*4882a593Smuzhiyun #define A6XX_HLSQ_CONTROL_2_REG_FACEREGID__SHIFT 0
A6XX_HLSQ_CONTROL_2_REG_FACEREGID(uint32_t val)6735*4882a593Smuzhiyun static inline uint32_t A6XX_HLSQ_CONTROL_2_REG_FACEREGID(uint32_t val)
6736*4882a593Smuzhiyun {
6737*4882a593Smuzhiyun return ((val) << A6XX_HLSQ_CONTROL_2_REG_FACEREGID__SHIFT) & A6XX_HLSQ_CONTROL_2_REG_FACEREGID__MASK;
6738*4882a593Smuzhiyun }
6739*4882a593Smuzhiyun #define A6XX_HLSQ_CONTROL_2_REG_SAMPLEID__MASK 0x0000ff00
6740*4882a593Smuzhiyun #define A6XX_HLSQ_CONTROL_2_REG_SAMPLEID__SHIFT 8
A6XX_HLSQ_CONTROL_2_REG_SAMPLEID(uint32_t val)6741*4882a593Smuzhiyun static inline uint32_t A6XX_HLSQ_CONTROL_2_REG_SAMPLEID(uint32_t val)
6742*4882a593Smuzhiyun {
6743*4882a593Smuzhiyun return ((val) << A6XX_HLSQ_CONTROL_2_REG_SAMPLEID__SHIFT) & A6XX_HLSQ_CONTROL_2_REG_SAMPLEID__MASK;
6744*4882a593Smuzhiyun }
6745*4882a593Smuzhiyun #define A6XX_HLSQ_CONTROL_2_REG_SAMPLEMASK__MASK 0x00ff0000
6746*4882a593Smuzhiyun #define A6XX_HLSQ_CONTROL_2_REG_SAMPLEMASK__SHIFT 16
A6XX_HLSQ_CONTROL_2_REG_SAMPLEMASK(uint32_t val)6747*4882a593Smuzhiyun static inline uint32_t A6XX_HLSQ_CONTROL_2_REG_SAMPLEMASK(uint32_t val)
6748*4882a593Smuzhiyun {
6749*4882a593Smuzhiyun return ((val) << A6XX_HLSQ_CONTROL_2_REG_SAMPLEMASK__SHIFT) & A6XX_HLSQ_CONTROL_2_REG_SAMPLEMASK__MASK;
6750*4882a593Smuzhiyun }
6751*4882a593Smuzhiyun #define A6XX_HLSQ_CONTROL_2_REG_SIZE__MASK 0xff000000
6752*4882a593Smuzhiyun #define A6XX_HLSQ_CONTROL_2_REG_SIZE__SHIFT 24
A6XX_HLSQ_CONTROL_2_REG_SIZE(uint32_t val)6753*4882a593Smuzhiyun static inline uint32_t A6XX_HLSQ_CONTROL_2_REG_SIZE(uint32_t val)
6754*4882a593Smuzhiyun {
6755*4882a593Smuzhiyun return ((val) << A6XX_HLSQ_CONTROL_2_REG_SIZE__SHIFT) & A6XX_HLSQ_CONTROL_2_REG_SIZE__MASK;
6756*4882a593Smuzhiyun }
6757*4882a593Smuzhiyun
6758*4882a593Smuzhiyun #define REG_A6XX_HLSQ_CONTROL_3_REG 0x0000b984
6759*4882a593Smuzhiyun #define A6XX_HLSQ_CONTROL_3_REG_IJ_PERSP_PIXEL__MASK 0x000000ff
6760*4882a593Smuzhiyun #define A6XX_HLSQ_CONTROL_3_REG_IJ_PERSP_PIXEL__SHIFT 0
A6XX_HLSQ_CONTROL_3_REG_IJ_PERSP_PIXEL(uint32_t val)6761*4882a593Smuzhiyun static inline uint32_t A6XX_HLSQ_CONTROL_3_REG_IJ_PERSP_PIXEL(uint32_t val)
6762*4882a593Smuzhiyun {
6763*4882a593Smuzhiyun return ((val) << A6XX_HLSQ_CONTROL_3_REG_IJ_PERSP_PIXEL__SHIFT) & A6XX_HLSQ_CONTROL_3_REG_IJ_PERSP_PIXEL__MASK;
6764*4882a593Smuzhiyun }
6765*4882a593Smuzhiyun #define A6XX_HLSQ_CONTROL_3_REG_IJ_LINEAR_PIXEL__MASK 0x0000ff00
6766*4882a593Smuzhiyun #define A6XX_HLSQ_CONTROL_3_REG_IJ_LINEAR_PIXEL__SHIFT 8
A6XX_HLSQ_CONTROL_3_REG_IJ_LINEAR_PIXEL(uint32_t val)6767*4882a593Smuzhiyun static inline uint32_t A6XX_HLSQ_CONTROL_3_REG_IJ_LINEAR_PIXEL(uint32_t val)
6768*4882a593Smuzhiyun {
6769*4882a593Smuzhiyun return ((val) << A6XX_HLSQ_CONTROL_3_REG_IJ_LINEAR_PIXEL__SHIFT) & A6XX_HLSQ_CONTROL_3_REG_IJ_LINEAR_PIXEL__MASK;
6770*4882a593Smuzhiyun }
6771*4882a593Smuzhiyun #define A6XX_HLSQ_CONTROL_3_REG_IJ_PERSP_CENTROID__MASK 0x00ff0000
6772*4882a593Smuzhiyun #define A6XX_HLSQ_CONTROL_3_REG_IJ_PERSP_CENTROID__SHIFT 16
A6XX_HLSQ_CONTROL_3_REG_IJ_PERSP_CENTROID(uint32_t val)6773*4882a593Smuzhiyun static inline uint32_t A6XX_HLSQ_CONTROL_3_REG_IJ_PERSP_CENTROID(uint32_t val)
6774*4882a593Smuzhiyun {
6775*4882a593Smuzhiyun return ((val) << A6XX_HLSQ_CONTROL_3_REG_IJ_PERSP_CENTROID__SHIFT) & A6XX_HLSQ_CONTROL_3_REG_IJ_PERSP_CENTROID__MASK;
6776*4882a593Smuzhiyun }
6777*4882a593Smuzhiyun #define A6XX_HLSQ_CONTROL_3_REG_IJ_LINEAR_CENTROID__MASK 0xff000000
6778*4882a593Smuzhiyun #define A6XX_HLSQ_CONTROL_3_REG_IJ_LINEAR_CENTROID__SHIFT 24
A6XX_HLSQ_CONTROL_3_REG_IJ_LINEAR_CENTROID(uint32_t val)6779*4882a593Smuzhiyun static inline uint32_t A6XX_HLSQ_CONTROL_3_REG_IJ_LINEAR_CENTROID(uint32_t val)
6780*4882a593Smuzhiyun {
6781*4882a593Smuzhiyun return ((val) << A6XX_HLSQ_CONTROL_3_REG_IJ_LINEAR_CENTROID__SHIFT) & A6XX_HLSQ_CONTROL_3_REG_IJ_LINEAR_CENTROID__MASK;
6782*4882a593Smuzhiyun }
6783*4882a593Smuzhiyun
6784*4882a593Smuzhiyun #define REG_A6XX_HLSQ_CONTROL_4_REG 0x0000b985
6785*4882a593Smuzhiyun #define A6XX_HLSQ_CONTROL_4_REG_IJ_PERSP_SAMPLE__MASK 0x000000ff
6786*4882a593Smuzhiyun #define A6XX_HLSQ_CONTROL_4_REG_IJ_PERSP_SAMPLE__SHIFT 0
A6XX_HLSQ_CONTROL_4_REG_IJ_PERSP_SAMPLE(uint32_t val)6787*4882a593Smuzhiyun static inline uint32_t A6XX_HLSQ_CONTROL_4_REG_IJ_PERSP_SAMPLE(uint32_t val)
6788*4882a593Smuzhiyun {
6789*4882a593Smuzhiyun return ((val) << A6XX_HLSQ_CONTROL_4_REG_IJ_PERSP_SAMPLE__SHIFT) & A6XX_HLSQ_CONTROL_4_REG_IJ_PERSP_SAMPLE__MASK;
6790*4882a593Smuzhiyun }
6791*4882a593Smuzhiyun #define A6XX_HLSQ_CONTROL_4_REG_IJ_LINEAR_SAMPLE__MASK 0x0000ff00
6792*4882a593Smuzhiyun #define A6XX_HLSQ_CONTROL_4_REG_IJ_LINEAR_SAMPLE__SHIFT 8
A6XX_HLSQ_CONTROL_4_REG_IJ_LINEAR_SAMPLE(uint32_t val)6793*4882a593Smuzhiyun static inline uint32_t A6XX_HLSQ_CONTROL_4_REG_IJ_LINEAR_SAMPLE(uint32_t val)
6794*4882a593Smuzhiyun {
6795*4882a593Smuzhiyun return ((val) << A6XX_HLSQ_CONTROL_4_REG_IJ_LINEAR_SAMPLE__SHIFT) & A6XX_HLSQ_CONTROL_4_REG_IJ_LINEAR_SAMPLE__MASK;
6796*4882a593Smuzhiyun }
6797*4882a593Smuzhiyun #define A6XX_HLSQ_CONTROL_4_REG_XYCOORDREGID__MASK 0x00ff0000
6798*4882a593Smuzhiyun #define A6XX_HLSQ_CONTROL_4_REG_XYCOORDREGID__SHIFT 16
A6XX_HLSQ_CONTROL_4_REG_XYCOORDREGID(uint32_t val)6799*4882a593Smuzhiyun static inline uint32_t A6XX_HLSQ_CONTROL_4_REG_XYCOORDREGID(uint32_t val)
6800*4882a593Smuzhiyun {
6801*4882a593Smuzhiyun return ((val) << A6XX_HLSQ_CONTROL_4_REG_XYCOORDREGID__SHIFT) & A6XX_HLSQ_CONTROL_4_REG_XYCOORDREGID__MASK;
6802*4882a593Smuzhiyun }
6803*4882a593Smuzhiyun #define A6XX_HLSQ_CONTROL_4_REG_ZWCOORDREGID__MASK 0xff000000
6804*4882a593Smuzhiyun #define A6XX_HLSQ_CONTROL_4_REG_ZWCOORDREGID__SHIFT 24
A6XX_HLSQ_CONTROL_4_REG_ZWCOORDREGID(uint32_t val)6805*4882a593Smuzhiyun static inline uint32_t A6XX_HLSQ_CONTROL_4_REG_ZWCOORDREGID(uint32_t val)
6806*4882a593Smuzhiyun {
6807*4882a593Smuzhiyun return ((val) << A6XX_HLSQ_CONTROL_4_REG_ZWCOORDREGID__SHIFT) & A6XX_HLSQ_CONTROL_4_REG_ZWCOORDREGID__MASK;
6808*4882a593Smuzhiyun }
6809*4882a593Smuzhiyun
6810*4882a593Smuzhiyun #define REG_A6XX_HLSQ_CONTROL_5_REG 0x0000b986
6811*4882a593Smuzhiyun
6812*4882a593Smuzhiyun #define REG_A6XX_HLSQ_CS_CNTL 0x0000b987
6813*4882a593Smuzhiyun #define A6XX_HLSQ_CS_CNTL_CONSTLEN__MASK 0x000000ff
6814*4882a593Smuzhiyun #define A6XX_HLSQ_CS_CNTL_CONSTLEN__SHIFT 0
A6XX_HLSQ_CS_CNTL_CONSTLEN(uint32_t val)6815*4882a593Smuzhiyun static inline uint32_t A6XX_HLSQ_CS_CNTL_CONSTLEN(uint32_t val)
6816*4882a593Smuzhiyun {
6817*4882a593Smuzhiyun return ((val >> 2) << A6XX_HLSQ_CS_CNTL_CONSTLEN__SHIFT) & A6XX_HLSQ_CS_CNTL_CONSTLEN__MASK;
6818*4882a593Smuzhiyun }
6819*4882a593Smuzhiyun #define A6XX_HLSQ_CS_CNTL_ENABLED 0x00000100
6820*4882a593Smuzhiyun
6821*4882a593Smuzhiyun #define REG_A6XX_HLSQ_CS_NDRANGE_0 0x0000b990
6822*4882a593Smuzhiyun #define A6XX_HLSQ_CS_NDRANGE_0_KERNELDIM__MASK 0x00000003
6823*4882a593Smuzhiyun #define A6XX_HLSQ_CS_NDRANGE_0_KERNELDIM__SHIFT 0
A6XX_HLSQ_CS_NDRANGE_0_KERNELDIM(uint32_t val)6824*4882a593Smuzhiyun static inline uint32_t A6XX_HLSQ_CS_NDRANGE_0_KERNELDIM(uint32_t val)
6825*4882a593Smuzhiyun {
6826*4882a593Smuzhiyun return ((val) << A6XX_HLSQ_CS_NDRANGE_0_KERNELDIM__SHIFT) & A6XX_HLSQ_CS_NDRANGE_0_KERNELDIM__MASK;
6827*4882a593Smuzhiyun }
6828*4882a593Smuzhiyun #define A6XX_HLSQ_CS_NDRANGE_0_LOCALSIZEX__MASK 0x00000ffc
6829*4882a593Smuzhiyun #define A6XX_HLSQ_CS_NDRANGE_0_LOCALSIZEX__SHIFT 2
A6XX_HLSQ_CS_NDRANGE_0_LOCALSIZEX(uint32_t val)6830*4882a593Smuzhiyun static inline uint32_t A6XX_HLSQ_CS_NDRANGE_0_LOCALSIZEX(uint32_t val)
6831*4882a593Smuzhiyun {
6832*4882a593Smuzhiyun return ((val) << A6XX_HLSQ_CS_NDRANGE_0_LOCALSIZEX__SHIFT) & A6XX_HLSQ_CS_NDRANGE_0_LOCALSIZEX__MASK;
6833*4882a593Smuzhiyun }
6834*4882a593Smuzhiyun #define A6XX_HLSQ_CS_NDRANGE_0_LOCALSIZEY__MASK 0x003ff000
6835*4882a593Smuzhiyun #define A6XX_HLSQ_CS_NDRANGE_0_LOCALSIZEY__SHIFT 12
A6XX_HLSQ_CS_NDRANGE_0_LOCALSIZEY(uint32_t val)6836*4882a593Smuzhiyun static inline uint32_t A6XX_HLSQ_CS_NDRANGE_0_LOCALSIZEY(uint32_t val)
6837*4882a593Smuzhiyun {
6838*4882a593Smuzhiyun return ((val) << A6XX_HLSQ_CS_NDRANGE_0_LOCALSIZEY__SHIFT) & A6XX_HLSQ_CS_NDRANGE_0_LOCALSIZEY__MASK;
6839*4882a593Smuzhiyun }
6840*4882a593Smuzhiyun #define A6XX_HLSQ_CS_NDRANGE_0_LOCALSIZEZ__MASK 0xffc00000
6841*4882a593Smuzhiyun #define A6XX_HLSQ_CS_NDRANGE_0_LOCALSIZEZ__SHIFT 22
A6XX_HLSQ_CS_NDRANGE_0_LOCALSIZEZ(uint32_t val)6842*4882a593Smuzhiyun static inline uint32_t A6XX_HLSQ_CS_NDRANGE_0_LOCALSIZEZ(uint32_t val)
6843*4882a593Smuzhiyun {
6844*4882a593Smuzhiyun return ((val) << A6XX_HLSQ_CS_NDRANGE_0_LOCALSIZEZ__SHIFT) & A6XX_HLSQ_CS_NDRANGE_0_LOCALSIZEZ__MASK;
6845*4882a593Smuzhiyun }
6846*4882a593Smuzhiyun
6847*4882a593Smuzhiyun #define REG_A6XX_HLSQ_CS_NDRANGE_1 0x0000b991
6848*4882a593Smuzhiyun #define A6XX_HLSQ_CS_NDRANGE_1_GLOBALSIZE_X__MASK 0xffffffff
6849*4882a593Smuzhiyun #define A6XX_HLSQ_CS_NDRANGE_1_GLOBALSIZE_X__SHIFT 0
A6XX_HLSQ_CS_NDRANGE_1_GLOBALSIZE_X(uint32_t val)6850*4882a593Smuzhiyun static inline uint32_t A6XX_HLSQ_CS_NDRANGE_1_GLOBALSIZE_X(uint32_t val)
6851*4882a593Smuzhiyun {
6852*4882a593Smuzhiyun return ((val) << A6XX_HLSQ_CS_NDRANGE_1_GLOBALSIZE_X__SHIFT) & A6XX_HLSQ_CS_NDRANGE_1_GLOBALSIZE_X__MASK;
6853*4882a593Smuzhiyun }
6854*4882a593Smuzhiyun
6855*4882a593Smuzhiyun #define REG_A6XX_HLSQ_CS_NDRANGE_2 0x0000b992
6856*4882a593Smuzhiyun #define A6XX_HLSQ_CS_NDRANGE_2_GLOBALOFF_X__MASK 0xffffffff
6857*4882a593Smuzhiyun #define A6XX_HLSQ_CS_NDRANGE_2_GLOBALOFF_X__SHIFT 0
A6XX_HLSQ_CS_NDRANGE_2_GLOBALOFF_X(uint32_t val)6858*4882a593Smuzhiyun static inline uint32_t A6XX_HLSQ_CS_NDRANGE_2_GLOBALOFF_X(uint32_t val)
6859*4882a593Smuzhiyun {
6860*4882a593Smuzhiyun return ((val) << A6XX_HLSQ_CS_NDRANGE_2_GLOBALOFF_X__SHIFT) & A6XX_HLSQ_CS_NDRANGE_2_GLOBALOFF_X__MASK;
6861*4882a593Smuzhiyun }
6862*4882a593Smuzhiyun
6863*4882a593Smuzhiyun #define REG_A6XX_HLSQ_CS_NDRANGE_3 0x0000b993
6864*4882a593Smuzhiyun #define A6XX_HLSQ_CS_NDRANGE_3_GLOBALSIZE_Y__MASK 0xffffffff
6865*4882a593Smuzhiyun #define A6XX_HLSQ_CS_NDRANGE_3_GLOBALSIZE_Y__SHIFT 0
A6XX_HLSQ_CS_NDRANGE_3_GLOBALSIZE_Y(uint32_t val)6866*4882a593Smuzhiyun static inline uint32_t A6XX_HLSQ_CS_NDRANGE_3_GLOBALSIZE_Y(uint32_t val)
6867*4882a593Smuzhiyun {
6868*4882a593Smuzhiyun return ((val) << A6XX_HLSQ_CS_NDRANGE_3_GLOBALSIZE_Y__SHIFT) & A6XX_HLSQ_CS_NDRANGE_3_GLOBALSIZE_Y__MASK;
6869*4882a593Smuzhiyun }
6870*4882a593Smuzhiyun
6871*4882a593Smuzhiyun #define REG_A6XX_HLSQ_CS_NDRANGE_4 0x0000b994
6872*4882a593Smuzhiyun #define A6XX_HLSQ_CS_NDRANGE_4_GLOBALOFF_Y__MASK 0xffffffff
6873*4882a593Smuzhiyun #define A6XX_HLSQ_CS_NDRANGE_4_GLOBALOFF_Y__SHIFT 0
A6XX_HLSQ_CS_NDRANGE_4_GLOBALOFF_Y(uint32_t val)6874*4882a593Smuzhiyun static inline uint32_t A6XX_HLSQ_CS_NDRANGE_4_GLOBALOFF_Y(uint32_t val)
6875*4882a593Smuzhiyun {
6876*4882a593Smuzhiyun return ((val) << A6XX_HLSQ_CS_NDRANGE_4_GLOBALOFF_Y__SHIFT) & A6XX_HLSQ_CS_NDRANGE_4_GLOBALOFF_Y__MASK;
6877*4882a593Smuzhiyun }
6878*4882a593Smuzhiyun
6879*4882a593Smuzhiyun #define REG_A6XX_HLSQ_CS_NDRANGE_5 0x0000b995
6880*4882a593Smuzhiyun #define A6XX_HLSQ_CS_NDRANGE_5_GLOBALSIZE_Z__MASK 0xffffffff
6881*4882a593Smuzhiyun #define A6XX_HLSQ_CS_NDRANGE_5_GLOBALSIZE_Z__SHIFT 0
A6XX_HLSQ_CS_NDRANGE_5_GLOBALSIZE_Z(uint32_t val)6882*4882a593Smuzhiyun static inline uint32_t A6XX_HLSQ_CS_NDRANGE_5_GLOBALSIZE_Z(uint32_t val)
6883*4882a593Smuzhiyun {
6884*4882a593Smuzhiyun return ((val) << A6XX_HLSQ_CS_NDRANGE_5_GLOBALSIZE_Z__SHIFT) & A6XX_HLSQ_CS_NDRANGE_5_GLOBALSIZE_Z__MASK;
6885*4882a593Smuzhiyun }
6886*4882a593Smuzhiyun
6887*4882a593Smuzhiyun #define REG_A6XX_HLSQ_CS_NDRANGE_6 0x0000b996
6888*4882a593Smuzhiyun #define A6XX_HLSQ_CS_NDRANGE_6_GLOBALOFF_Z__MASK 0xffffffff
6889*4882a593Smuzhiyun #define A6XX_HLSQ_CS_NDRANGE_6_GLOBALOFF_Z__SHIFT 0
A6XX_HLSQ_CS_NDRANGE_6_GLOBALOFF_Z(uint32_t val)6890*4882a593Smuzhiyun static inline uint32_t A6XX_HLSQ_CS_NDRANGE_6_GLOBALOFF_Z(uint32_t val)
6891*4882a593Smuzhiyun {
6892*4882a593Smuzhiyun return ((val) << A6XX_HLSQ_CS_NDRANGE_6_GLOBALOFF_Z__SHIFT) & A6XX_HLSQ_CS_NDRANGE_6_GLOBALOFF_Z__MASK;
6893*4882a593Smuzhiyun }
6894*4882a593Smuzhiyun
6895*4882a593Smuzhiyun #define REG_A6XX_HLSQ_CS_CNTL_0 0x0000b997
6896*4882a593Smuzhiyun #define A6XX_HLSQ_CS_CNTL_0_WGIDCONSTID__MASK 0x000000ff
6897*4882a593Smuzhiyun #define A6XX_HLSQ_CS_CNTL_0_WGIDCONSTID__SHIFT 0
A6XX_HLSQ_CS_CNTL_0_WGIDCONSTID(uint32_t val)6898*4882a593Smuzhiyun static inline uint32_t A6XX_HLSQ_CS_CNTL_0_WGIDCONSTID(uint32_t val)
6899*4882a593Smuzhiyun {
6900*4882a593Smuzhiyun return ((val) << A6XX_HLSQ_CS_CNTL_0_WGIDCONSTID__SHIFT) & A6XX_HLSQ_CS_CNTL_0_WGIDCONSTID__MASK;
6901*4882a593Smuzhiyun }
6902*4882a593Smuzhiyun #define A6XX_HLSQ_CS_CNTL_0_UNK0__MASK 0x0000ff00
6903*4882a593Smuzhiyun #define A6XX_HLSQ_CS_CNTL_0_UNK0__SHIFT 8
A6XX_HLSQ_CS_CNTL_0_UNK0(uint32_t val)6904*4882a593Smuzhiyun static inline uint32_t A6XX_HLSQ_CS_CNTL_0_UNK0(uint32_t val)
6905*4882a593Smuzhiyun {
6906*4882a593Smuzhiyun return ((val) << A6XX_HLSQ_CS_CNTL_0_UNK0__SHIFT) & A6XX_HLSQ_CS_CNTL_0_UNK0__MASK;
6907*4882a593Smuzhiyun }
6908*4882a593Smuzhiyun #define A6XX_HLSQ_CS_CNTL_0_UNK1__MASK 0x00ff0000
6909*4882a593Smuzhiyun #define A6XX_HLSQ_CS_CNTL_0_UNK1__SHIFT 16
A6XX_HLSQ_CS_CNTL_0_UNK1(uint32_t val)6910*4882a593Smuzhiyun static inline uint32_t A6XX_HLSQ_CS_CNTL_0_UNK1(uint32_t val)
6911*4882a593Smuzhiyun {
6912*4882a593Smuzhiyun return ((val) << A6XX_HLSQ_CS_CNTL_0_UNK1__SHIFT) & A6XX_HLSQ_CS_CNTL_0_UNK1__MASK;
6913*4882a593Smuzhiyun }
6914*4882a593Smuzhiyun #define A6XX_HLSQ_CS_CNTL_0_LOCALIDREGID__MASK 0xff000000
6915*4882a593Smuzhiyun #define A6XX_HLSQ_CS_CNTL_0_LOCALIDREGID__SHIFT 24
A6XX_HLSQ_CS_CNTL_0_LOCALIDREGID(uint32_t val)6916*4882a593Smuzhiyun static inline uint32_t A6XX_HLSQ_CS_CNTL_0_LOCALIDREGID(uint32_t val)
6917*4882a593Smuzhiyun {
6918*4882a593Smuzhiyun return ((val) << A6XX_HLSQ_CS_CNTL_0_LOCALIDREGID__SHIFT) & A6XX_HLSQ_CS_CNTL_0_LOCALIDREGID__MASK;
6919*4882a593Smuzhiyun }
6920*4882a593Smuzhiyun
6921*4882a593Smuzhiyun #define REG_A6XX_HLSQ_CS_UNKNOWN_B998 0x0000b998
6922*4882a593Smuzhiyun
6923*4882a593Smuzhiyun #define REG_A6XX_HLSQ_CS_KERNEL_GROUP_X 0x0000b999
6924*4882a593Smuzhiyun
6925*4882a593Smuzhiyun #define REG_A6XX_HLSQ_CS_KERNEL_GROUP_Y 0x0000b99a
6926*4882a593Smuzhiyun
6927*4882a593Smuzhiyun #define REG_A6XX_HLSQ_CS_KERNEL_GROUP_Z 0x0000b99b
6928*4882a593Smuzhiyun
6929*4882a593Smuzhiyun #define REG_A6XX_HLSQ_LOAD_STATE_FRAG_CMD 0x0000b9a0
6930*4882a593Smuzhiyun
6931*4882a593Smuzhiyun #define REG_A6XX_HLSQ_LOAD_STATE_FRAG_EXT_SRC_ADDR 0x0000b9a1
6932*4882a593Smuzhiyun
6933*4882a593Smuzhiyun #define REG_A6XX_HLSQ_LOAD_STATE_FRAG_DATA 0x0000b9a3
6934*4882a593Smuzhiyun
REG_A6XX_HLSQ_CS_BINDLESS_BASE(uint32_t i0)6935*4882a593Smuzhiyun static inline uint32_t REG_A6XX_HLSQ_CS_BINDLESS_BASE(uint32_t i0) { return 0x0000b9c0 + 0x2*i0; }
6936*4882a593Smuzhiyun
REG_A6XX_HLSQ_CS_BINDLESS_BASE_ADDR(uint32_t i0)6937*4882a593Smuzhiyun static inline uint32_t REG_A6XX_HLSQ_CS_BINDLESS_BASE_ADDR(uint32_t i0) { return 0x0000b9c0 + 0x2*i0; }
6938*4882a593Smuzhiyun
6939*4882a593Smuzhiyun #define REG_A6XX_HLSQ_DRAW_CMD 0x0000bb00
6940*4882a593Smuzhiyun #define A6XX_HLSQ_DRAW_CMD_STATE_ID__MASK 0x000000ff
6941*4882a593Smuzhiyun #define A6XX_HLSQ_DRAW_CMD_STATE_ID__SHIFT 0
A6XX_HLSQ_DRAW_CMD_STATE_ID(uint32_t val)6942*4882a593Smuzhiyun static inline uint32_t A6XX_HLSQ_DRAW_CMD_STATE_ID(uint32_t val)
6943*4882a593Smuzhiyun {
6944*4882a593Smuzhiyun return ((val) << A6XX_HLSQ_DRAW_CMD_STATE_ID__SHIFT) & A6XX_HLSQ_DRAW_CMD_STATE_ID__MASK;
6945*4882a593Smuzhiyun }
6946*4882a593Smuzhiyun
6947*4882a593Smuzhiyun #define REG_A6XX_HLSQ_DISPATCH_CMD 0x0000bb01
6948*4882a593Smuzhiyun #define A6XX_HLSQ_DISPATCH_CMD_STATE_ID__MASK 0x000000ff
6949*4882a593Smuzhiyun #define A6XX_HLSQ_DISPATCH_CMD_STATE_ID__SHIFT 0
A6XX_HLSQ_DISPATCH_CMD_STATE_ID(uint32_t val)6950*4882a593Smuzhiyun static inline uint32_t A6XX_HLSQ_DISPATCH_CMD_STATE_ID(uint32_t val)
6951*4882a593Smuzhiyun {
6952*4882a593Smuzhiyun return ((val) << A6XX_HLSQ_DISPATCH_CMD_STATE_ID__SHIFT) & A6XX_HLSQ_DISPATCH_CMD_STATE_ID__MASK;
6953*4882a593Smuzhiyun }
6954*4882a593Smuzhiyun
6955*4882a593Smuzhiyun #define REG_A6XX_HLSQ_EVENT_CMD 0x0000bb02
6956*4882a593Smuzhiyun #define A6XX_HLSQ_EVENT_CMD_STATE_ID__MASK 0x00ff0000
6957*4882a593Smuzhiyun #define A6XX_HLSQ_EVENT_CMD_STATE_ID__SHIFT 16
A6XX_HLSQ_EVENT_CMD_STATE_ID(uint32_t val)6958*4882a593Smuzhiyun static inline uint32_t A6XX_HLSQ_EVENT_CMD_STATE_ID(uint32_t val)
6959*4882a593Smuzhiyun {
6960*4882a593Smuzhiyun return ((val) << A6XX_HLSQ_EVENT_CMD_STATE_ID__SHIFT) & A6XX_HLSQ_EVENT_CMD_STATE_ID__MASK;
6961*4882a593Smuzhiyun }
6962*4882a593Smuzhiyun #define A6XX_HLSQ_EVENT_CMD_EVENT__MASK 0x0000007f
6963*4882a593Smuzhiyun #define A6XX_HLSQ_EVENT_CMD_EVENT__SHIFT 0
A6XX_HLSQ_EVENT_CMD_EVENT(enum vgt_event_type val)6964*4882a593Smuzhiyun static inline uint32_t A6XX_HLSQ_EVENT_CMD_EVENT(enum vgt_event_type val)
6965*4882a593Smuzhiyun {
6966*4882a593Smuzhiyun return ((val) << A6XX_HLSQ_EVENT_CMD_EVENT__SHIFT) & A6XX_HLSQ_EVENT_CMD_EVENT__MASK;
6967*4882a593Smuzhiyun }
6968*4882a593Smuzhiyun
6969*4882a593Smuzhiyun #define REG_A6XX_HLSQ_INVALIDATE_CMD 0x0000bb08
6970*4882a593Smuzhiyun #define A6XX_HLSQ_INVALIDATE_CMD_VS_STATE 0x00000001
6971*4882a593Smuzhiyun #define A6XX_HLSQ_INVALIDATE_CMD_HS_STATE 0x00000002
6972*4882a593Smuzhiyun #define A6XX_HLSQ_INVALIDATE_CMD_DS_STATE 0x00000004
6973*4882a593Smuzhiyun #define A6XX_HLSQ_INVALIDATE_CMD_GS_STATE 0x00000008
6974*4882a593Smuzhiyun #define A6XX_HLSQ_INVALIDATE_CMD_FS_STATE 0x00000010
6975*4882a593Smuzhiyun #define A6XX_HLSQ_INVALIDATE_CMD_CS_STATE 0x00000020
6976*4882a593Smuzhiyun #define A6XX_HLSQ_INVALIDATE_CMD_CS_IBO 0x00000040
6977*4882a593Smuzhiyun #define A6XX_HLSQ_INVALIDATE_CMD_GFX_IBO 0x00000080
6978*4882a593Smuzhiyun #define A6XX_HLSQ_INVALIDATE_CMD_CS_SHARED_CONST 0x00080000
6979*4882a593Smuzhiyun #define A6XX_HLSQ_INVALIDATE_CMD_GFX_SHARED_CONST 0x00000100
6980*4882a593Smuzhiyun #define A6XX_HLSQ_INVALIDATE_CMD_CS_BINDLESS__MASK 0x00003e00
6981*4882a593Smuzhiyun #define A6XX_HLSQ_INVALIDATE_CMD_CS_BINDLESS__SHIFT 9
A6XX_HLSQ_INVALIDATE_CMD_CS_BINDLESS(uint32_t val)6982*4882a593Smuzhiyun static inline uint32_t A6XX_HLSQ_INVALIDATE_CMD_CS_BINDLESS(uint32_t val)
6983*4882a593Smuzhiyun {
6984*4882a593Smuzhiyun return ((val) << A6XX_HLSQ_INVALIDATE_CMD_CS_BINDLESS__SHIFT) & A6XX_HLSQ_INVALIDATE_CMD_CS_BINDLESS__MASK;
6985*4882a593Smuzhiyun }
6986*4882a593Smuzhiyun #define A6XX_HLSQ_INVALIDATE_CMD_GFX_BINDLESS__MASK 0x0007c000
6987*4882a593Smuzhiyun #define A6XX_HLSQ_INVALIDATE_CMD_GFX_BINDLESS__SHIFT 14
A6XX_HLSQ_INVALIDATE_CMD_GFX_BINDLESS(uint32_t val)6988*4882a593Smuzhiyun static inline uint32_t A6XX_HLSQ_INVALIDATE_CMD_GFX_BINDLESS(uint32_t val)
6989*4882a593Smuzhiyun {
6990*4882a593Smuzhiyun return ((val) << A6XX_HLSQ_INVALIDATE_CMD_GFX_BINDLESS__SHIFT) & A6XX_HLSQ_INVALIDATE_CMD_GFX_BINDLESS__MASK;
6991*4882a593Smuzhiyun }
6992*4882a593Smuzhiyun
6993*4882a593Smuzhiyun #define REG_A6XX_HLSQ_FS_CNTL 0x0000bb10
6994*4882a593Smuzhiyun #define A6XX_HLSQ_FS_CNTL_CONSTLEN__MASK 0x000000ff
6995*4882a593Smuzhiyun #define A6XX_HLSQ_FS_CNTL_CONSTLEN__SHIFT 0
A6XX_HLSQ_FS_CNTL_CONSTLEN(uint32_t val)6996*4882a593Smuzhiyun static inline uint32_t A6XX_HLSQ_FS_CNTL_CONSTLEN(uint32_t val)
6997*4882a593Smuzhiyun {
6998*4882a593Smuzhiyun return ((val >> 2) << A6XX_HLSQ_FS_CNTL_CONSTLEN__SHIFT) & A6XX_HLSQ_FS_CNTL_CONSTLEN__MASK;
6999*4882a593Smuzhiyun }
7000*4882a593Smuzhiyun #define A6XX_HLSQ_FS_CNTL_ENABLED 0x00000100
7001*4882a593Smuzhiyun
7002*4882a593Smuzhiyun #define REG_A6XX_HLSQ_SHARED_CONSTS 0x0000bb11
7003*4882a593Smuzhiyun #define A6XX_HLSQ_SHARED_CONSTS_ENABLE 0x00000001
7004*4882a593Smuzhiyun
REG_A6XX_HLSQ_BINDLESS_BASE(uint32_t i0)7005*4882a593Smuzhiyun static inline uint32_t REG_A6XX_HLSQ_BINDLESS_BASE(uint32_t i0) { return 0x0000bb20 + 0x2*i0; }
7006*4882a593Smuzhiyun
REG_A6XX_HLSQ_BINDLESS_BASE_ADDR(uint32_t i0)7007*4882a593Smuzhiyun static inline uint32_t REG_A6XX_HLSQ_BINDLESS_BASE_ADDR(uint32_t i0) { return 0x0000bb20 + 0x2*i0; }
7008*4882a593Smuzhiyun
7009*4882a593Smuzhiyun #define REG_A6XX_HLSQ_2D_EVENT_CMD 0x0000bd80
7010*4882a593Smuzhiyun #define A6XX_HLSQ_2D_EVENT_CMD_STATE_ID__MASK 0x0000ff00
7011*4882a593Smuzhiyun #define A6XX_HLSQ_2D_EVENT_CMD_STATE_ID__SHIFT 8
A6XX_HLSQ_2D_EVENT_CMD_STATE_ID(uint32_t val)7012*4882a593Smuzhiyun static inline uint32_t A6XX_HLSQ_2D_EVENT_CMD_STATE_ID(uint32_t val)
7013*4882a593Smuzhiyun {
7014*4882a593Smuzhiyun return ((val) << A6XX_HLSQ_2D_EVENT_CMD_STATE_ID__SHIFT) & A6XX_HLSQ_2D_EVENT_CMD_STATE_ID__MASK;
7015*4882a593Smuzhiyun }
7016*4882a593Smuzhiyun #define A6XX_HLSQ_2D_EVENT_CMD_EVENT__MASK 0x0000007f
7017*4882a593Smuzhiyun #define A6XX_HLSQ_2D_EVENT_CMD_EVENT__SHIFT 0
A6XX_HLSQ_2D_EVENT_CMD_EVENT(enum vgt_event_type val)7018*4882a593Smuzhiyun static inline uint32_t A6XX_HLSQ_2D_EVENT_CMD_EVENT(enum vgt_event_type val)
7019*4882a593Smuzhiyun {
7020*4882a593Smuzhiyun return ((val) << A6XX_HLSQ_2D_EVENT_CMD_EVENT__SHIFT) & A6XX_HLSQ_2D_EVENT_CMD_EVENT__MASK;
7021*4882a593Smuzhiyun }
7022*4882a593Smuzhiyun
7023*4882a593Smuzhiyun #define REG_A6XX_HLSQ_UNKNOWN_BE00 0x0000be00
7024*4882a593Smuzhiyun
7025*4882a593Smuzhiyun #define REG_A6XX_HLSQ_UNKNOWN_BE01 0x0000be01
7026*4882a593Smuzhiyun
7027*4882a593Smuzhiyun #define REG_A6XX_HLSQ_UNKNOWN_BE04 0x0000be04
7028*4882a593Smuzhiyun
7029*4882a593Smuzhiyun #define REG_A6XX_CP_EVENT_START 0x0000d600
7030*4882a593Smuzhiyun #define A6XX_CP_EVENT_START_STATE_ID__MASK 0x000000ff
7031*4882a593Smuzhiyun #define A6XX_CP_EVENT_START_STATE_ID__SHIFT 0
A6XX_CP_EVENT_START_STATE_ID(uint32_t val)7032*4882a593Smuzhiyun static inline uint32_t A6XX_CP_EVENT_START_STATE_ID(uint32_t val)
7033*4882a593Smuzhiyun {
7034*4882a593Smuzhiyun return ((val) << A6XX_CP_EVENT_START_STATE_ID__SHIFT) & A6XX_CP_EVENT_START_STATE_ID__MASK;
7035*4882a593Smuzhiyun }
7036*4882a593Smuzhiyun
7037*4882a593Smuzhiyun #define REG_A6XX_CP_EVENT_END 0x0000d601
7038*4882a593Smuzhiyun #define A6XX_CP_EVENT_END_STATE_ID__MASK 0x000000ff
7039*4882a593Smuzhiyun #define A6XX_CP_EVENT_END_STATE_ID__SHIFT 0
A6XX_CP_EVENT_END_STATE_ID(uint32_t val)7040*4882a593Smuzhiyun static inline uint32_t A6XX_CP_EVENT_END_STATE_ID(uint32_t val)
7041*4882a593Smuzhiyun {
7042*4882a593Smuzhiyun return ((val) << A6XX_CP_EVENT_END_STATE_ID__SHIFT) & A6XX_CP_EVENT_END_STATE_ID__MASK;
7043*4882a593Smuzhiyun }
7044*4882a593Smuzhiyun
7045*4882a593Smuzhiyun #define REG_A6XX_CP_2D_EVENT_START 0x0000d700
7046*4882a593Smuzhiyun #define A6XX_CP_2D_EVENT_START_STATE_ID__MASK 0x000000ff
7047*4882a593Smuzhiyun #define A6XX_CP_2D_EVENT_START_STATE_ID__SHIFT 0
A6XX_CP_2D_EVENT_START_STATE_ID(uint32_t val)7048*4882a593Smuzhiyun static inline uint32_t A6XX_CP_2D_EVENT_START_STATE_ID(uint32_t val)
7049*4882a593Smuzhiyun {
7050*4882a593Smuzhiyun return ((val) << A6XX_CP_2D_EVENT_START_STATE_ID__SHIFT) & A6XX_CP_2D_EVENT_START_STATE_ID__MASK;
7051*4882a593Smuzhiyun }
7052*4882a593Smuzhiyun
7053*4882a593Smuzhiyun #define REG_A6XX_CP_2D_EVENT_END 0x0000d701
7054*4882a593Smuzhiyun #define A6XX_CP_2D_EVENT_END_STATE_ID__MASK 0x000000ff
7055*4882a593Smuzhiyun #define A6XX_CP_2D_EVENT_END_STATE_ID__SHIFT 0
A6XX_CP_2D_EVENT_END_STATE_ID(uint32_t val)7056*4882a593Smuzhiyun static inline uint32_t A6XX_CP_2D_EVENT_END_STATE_ID(uint32_t val)
7057*4882a593Smuzhiyun {
7058*4882a593Smuzhiyun return ((val) << A6XX_CP_2D_EVENT_END_STATE_ID__SHIFT) & A6XX_CP_2D_EVENT_END_STATE_ID__MASK;
7059*4882a593Smuzhiyun }
7060*4882a593Smuzhiyun
7061*4882a593Smuzhiyun #define REG_A6XX_TEX_SAMP_0 0x00000000
7062*4882a593Smuzhiyun #define A6XX_TEX_SAMP_0_MIPFILTER_LINEAR_NEAR 0x00000001
7063*4882a593Smuzhiyun #define A6XX_TEX_SAMP_0_XY_MAG__MASK 0x00000006
7064*4882a593Smuzhiyun #define A6XX_TEX_SAMP_0_XY_MAG__SHIFT 1
A6XX_TEX_SAMP_0_XY_MAG(enum a6xx_tex_filter val)7065*4882a593Smuzhiyun static inline uint32_t A6XX_TEX_SAMP_0_XY_MAG(enum a6xx_tex_filter val)
7066*4882a593Smuzhiyun {
7067*4882a593Smuzhiyun return ((val) << A6XX_TEX_SAMP_0_XY_MAG__SHIFT) & A6XX_TEX_SAMP_0_XY_MAG__MASK;
7068*4882a593Smuzhiyun }
7069*4882a593Smuzhiyun #define A6XX_TEX_SAMP_0_XY_MIN__MASK 0x00000018
7070*4882a593Smuzhiyun #define A6XX_TEX_SAMP_0_XY_MIN__SHIFT 3
A6XX_TEX_SAMP_0_XY_MIN(enum a6xx_tex_filter val)7071*4882a593Smuzhiyun static inline uint32_t A6XX_TEX_SAMP_0_XY_MIN(enum a6xx_tex_filter val)
7072*4882a593Smuzhiyun {
7073*4882a593Smuzhiyun return ((val) << A6XX_TEX_SAMP_0_XY_MIN__SHIFT) & A6XX_TEX_SAMP_0_XY_MIN__MASK;
7074*4882a593Smuzhiyun }
7075*4882a593Smuzhiyun #define A6XX_TEX_SAMP_0_WRAP_S__MASK 0x000000e0
7076*4882a593Smuzhiyun #define A6XX_TEX_SAMP_0_WRAP_S__SHIFT 5
A6XX_TEX_SAMP_0_WRAP_S(enum a6xx_tex_clamp val)7077*4882a593Smuzhiyun static inline uint32_t A6XX_TEX_SAMP_0_WRAP_S(enum a6xx_tex_clamp val)
7078*4882a593Smuzhiyun {
7079*4882a593Smuzhiyun return ((val) << A6XX_TEX_SAMP_0_WRAP_S__SHIFT) & A6XX_TEX_SAMP_0_WRAP_S__MASK;
7080*4882a593Smuzhiyun }
7081*4882a593Smuzhiyun #define A6XX_TEX_SAMP_0_WRAP_T__MASK 0x00000700
7082*4882a593Smuzhiyun #define A6XX_TEX_SAMP_0_WRAP_T__SHIFT 8
A6XX_TEX_SAMP_0_WRAP_T(enum a6xx_tex_clamp val)7083*4882a593Smuzhiyun static inline uint32_t A6XX_TEX_SAMP_0_WRAP_T(enum a6xx_tex_clamp val)
7084*4882a593Smuzhiyun {
7085*4882a593Smuzhiyun return ((val) << A6XX_TEX_SAMP_0_WRAP_T__SHIFT) & A6XX_TEX_SAMP_0_WRAP_T__MASK;
7086*4882a593Smuzhiyun }
7087*4882a593Smuzhiyun #define A6XX_TEX_SAMP_0_WRAP_R__MASK 0x00003800
7088*4882a593Smuzhiyun #define A6XX_TEX_SAMP_0_WRAP_R__SHIFT 11
A6XX_TEX_SAMP_0_WRAP_R(enum a6xx_tex_clamp val)7089*4882a593Smuzhiyun static inline uint32_t A6XX_TEX_SAMP_0_WRAP_R(enum a6xx_tex_clamp val)
7090*4882a593Smuzhiyun {
7091*4882a593Smuzhiyun return ((val) << A6XX_TEX_SAMP_0_WRAP_R__SHIFT) & A6XX_TEX_SAMP_0_WRAP_R__MASK;
7092*4882a593Smuzhiyun }
7093*4882a593Smuzhiyun #define A6XX_TEX_SAMP_0_ANISO__MASK 0x0001c000
7094*4882a593Smuzhiyun #define A6XX_TEX_SAMP_0_ANISO__SHIFT 14
A6XX_TEX_SAMP_0_ANISO(enum a6xx_tex_aniso val)7095*4882a593Smuzhiyun static inline uint32_t A6XX_TEX_SAMP_0_ANISO(enum a6xx_tex_aniso val)
7096*4882a593Smuzhiyun {
7097*4882a593Smuzhiyun return ((val) << A6XX_TEX_SAMP_0_ANISO__SHIFT) & A6XX_TEX_SAMP_0_ANISO__MASK;
7098*4882a593Smuzhiyun }
7099*4882a593Smuzhiyun #define A6XX_TEX_SAMP_0_LOD_BIAS__MASK 0xfff80000
7100*4882a593Smuzhiyun #define A6XX_TEX_SAMP_0_LOD_BIAS__SHIFT 19
A6XX_TEX_SAMP_0_LOD_BIAS(float val)7101*4882a593Smuzhiyun static inline uint32_t A6XX_TEX_SAMP_0_LOD_BIAS(float val)
7102*4882a593Smuzhiyun {
7103*4882a593Smuzhiyun return ((((int32_t)(val * 256.0))) << A6XX_TEX_SAMP_0_LOD_BIAS__SHIFT) & A6XX_TEX_SAMP_0_LOD_BIAS__MASK;
7104*4882a593Smuzhiyun }
7105*4882a593Smuzhiyun
7106*4882a593Smuzhiyun #define REG_A6XX_TEX_SAMP_1 0x00000001
7107*4882a593Smuzhiyun #define A6XX_TEX_SAMP_1_UNK0 0x00000001
7108*4882a593Smuzhiyun #define A6XX_TEX_SAMP_1_COMPARE_FUNC__MASK 0x0000000e
7109*4882a593Smuzhiyun #define A6XX_TEX_SAMP_1_COMPARE_FUNC__SHIFT 1
A6XX_TEX_SAMP_1_COMPARE_FUNC(enum adreno_compare_func val)7110*4882a593Smuzhiyun static inline uint32_t A6XX_TEX_SAMP_1_COMPARE_FUNC(enum adreno_compare_func val)
7111*4882a593Smuzhiyun {
7112*4882a593Smuzhiyun return ((val) << A6XX_TEX_SAMP_1_COMPARE_FUNC__SHIFT) & A6XX_TEX_SAMP_1_COMPARE_FUNC__MASK;
7113*4882a593Smuzhiyun }
7114*4882a593Smuzhiyun #define A6XX_TEX_SAMP_1_CUBEMAPSEAMLESSFILTOFF 0x00000010
7115*4882a593Smuzhiyun #define A6XX_TEX_SAMP_1_UNNORM_COORDS 0x00000020
7116*4882a593Smuzhiyun #define A6XX_TEX_SAMP_1_MIPFILTER_LINEAR_FAR 0x00000040
7117*4882a593Smuzhiyun #define A6XX_TEX_SAMP_1_MAX_LOD__MASK 0x000fff00
7118*4882a593Smuzhiyun #define A6XX_TEX_SAMP_1_MAX_LOD__SHIFT 8
A6XX_TEX_SAMP_1_MAX_LOD(float val)7119*4882a593Smuzhiyun static inline uint32_t A6XX_TEX_SAMP_1_MAX_LOD(float val)
7120*4882a593Smuzhiyun {
7121*4882a593Smuzhiyun return ((((uint32_t)(val * 256.0))) << A6XX_TEX_SAMP_1_MAX_LOD__SHIFT) & A6XX_TEX_SAMP_1_MAX_LOD__MASK;
7122*4882a593Smuzhiyun }
7123*4882a593Smuzhiyun #define A6XX_TEX_SAMP_1_MIN_LOD__MASK 0xfff00000
7124*4882a593Smuzhiyun #define A6XX_TEX_SAMP_1_MIN_LOD__SHIFT 20
A6XX_TEX_SAMP_1_MIN_LOD(float val)7125*4882a593Smuzhiyun static inline uint32_t A6XX_TEX_SAMP_1_MIN_LOD(float val)
7126*4882a593Smuzhiyun {
7127*4882a593Smuzhiyun return ((((uint32_t)(val * 256.0))) << A6XX_TEX_SAMP_1_MIN_LOD__SHIFT) & A6XX_TEX_SAMP_1_MIN_LOD__MASK;
7128*4882a593Smuzhiyun }
7129*4882a593Smuzhiyun
7130*4882a593Smuzhiyun #define REG_A6XX_TEX_SAMP_2 0x00000002
7131*4882a593Smuzhiyun #define A6XX_TEX_SAMP_2_REDUCTION_MODE__MASK 0x00000003
7132*4882a593Smuzhiyun #define A6XX_TEX_SAMP_2_REDUCTION_MODE__SHIFT 0
A6XX_TEX_SAMP_2_REDUCTION_MODE(enum a6xx_reduction_mode val)7133*4882a593Smuzhiyun static inline uint32_t A6XX_TEX_SAMP_2_REDUCTION_MODE(enum a6xx_reduction_mode val)
7134*4882a593Smuzhiyun {
7135*4882a593Smuzhiyun return ((val) << A6XX_TEX_SAMP_2_REDUCTION_MODE__SHIFT) & A6XX_TEX_SAMP_2_REDUCTION_MODE__MASK;
7136*4882a593Smuzhiyun }
7137*4882a593Smuzhiyun #define A6XX_TEX_SAMP_2_CHROMA_LINEAR 0x00000020
7138*4882a593Smuzhiyun #define A6XX_TEX_SAMP_2_BCOLOR_OFFSET__MASK 0xffffff80
7139*4882a593Smuzhiyun #define A6XX_TEX_SAMP_2_BCOLOR_OFFSET__SHIFT 7
A6XX_TEX_SAMP_2_BCOLOR_OFFSET(uint32_t val)7140*4882a593Smuzhiyun static inline uint32_t A6XX_TEX_SAMP_2_BCOLOR_OFFSET(uint32_t val)
7141*4882a593Smuzhiyun {
7142*4882a593Smuzhiyun return ((val >> 7) << A6XX_TEX_SAMP_2_BCOLOR_OFFSET__SHIFT) & A6XX_TEX_SAMP_2_BCOLOR_OFFSET__MASK;
7143*4882a593Smuzhiyun }
7144*4882a593Smuzhiyun
7145*4882a593Smuzhiyun #define REG_A6XX_TEX_SAMP_3 0x00000003
7146*4882a593Smuzhiyun
7147*4882a593Smuzhiyun #define REG_A6XX_TEX_CONST_0 0x00000000
7148*4882a593Smuzhiyun #define A6XX_TEX_CONST_0_TILE_MODE__MASK 0x00000003
7149*4882a593Smuzhiyun #define A6XX_TEX_CONST_0_TILE_MODE__SHIFT 0
A6XX_TEX_CONST_0_TILE_MODE(enum a6xx_tile_mode val)7150*4882a593Smuzhiyun static inline uint32_t A6XX_TEX_CONST_0_TILE_MODE(enum a6xx_tile_mode val)
7151*4882a593Smuzhiyun {
7152*4882a593Smuzhiyun return ((val) << A6XX_TEX_CONST_0_TILE_MODE__SHIFT) & A6XX_TEX_CONST_0_TILE_MODE__MASK;
7153*4882a593Smuzhiyun }
7154*4882a593Smuzhiyun #define A6XX_TEX_CONST_0_SRGB 0x00000004
7155*4882a593Smuzhiyun #define A6XX_TEX_CONST_0_SWIZ_X__MASK 0x00000070
7156*4882a593Smuzhiyun #define A6XX_TEX_CONST_0_SWIZ_X__SHIFT 4
A6XX_TEX_CONST_0_SWIZ_X(enum a6xx_tex_swiz val)7157*4882a593Smuzhiyun static inline uint32_t A6XX_TEX_CONST_0_SWIZ_X(enum a6xx_tex_swiz val)
7158*4882a593Smuzhiyun {
7159*4882a593Smuzhiyun return ((val) << A6XX_TEX_CONST_0_SWIZ_X__SHIFT) & A6XX_TEX_CONST_0_SWIZ_X__MASK;
7160*4882a593Smuzhiyun }
7161*4882a593Smuzhiyun #define A6XX_TEX_CONST_0_SWIZ_Y__MASK 0x00000380
7162*4882a593Smuzhiyun #define A6XX_TEX_CONST_0_SWIZ_Y__SHIFT 7
A6XX_TEX_CONST_0_SWIZ_Y(enum a6xx_tex_swiz val)7163*4882a593Smuzhiyun static inline uint32_t A6XX_TEX_CONST_0_SWIZ_Y(enum a6xx_tex_swiz val)
7164*4882a593Smuzhiyun {
7165*4882a593Smuzhiyun return ((val) << A6XX_TEX_CONST_0_SWIZ_Y__SHIFT) & A6XX_TEX_CONST_0_SWIZ_Y__MASK;
7166*4882a593Smuzhiyun }
7167*4882a593Smuzhiyun #define A6XX_TEX_CONST_0_SWIZ_Z__MASK 0x00001c00
7168*4882a593Smuzhiyun #define A6XX_TEX_CONST_0_SWIZ_Z__SHIFT 10
A6XX_TEX_CONST_0_SWIZ_Z(enum a6xx_tex_swiz val)7169*4882a593Smuzhiyun static inline uint32_t A6XX_TEX_CONST_0_SWIZ_Z(enum a6xx_tex_swiz val)
7170*4882a593Smuzhiyun {
7171*4882a593Smuzhiyun return ((val) << A6XX_TEX_CONST_0_SWIZ_Z__SHIFT) & A6XX_TEX_CONST_0_SWIZ_Z__MASK;
7172*4882a593Smuzhiyun }
7173*4882a593Smuzhiyun #define A6XX_TEX_CONST_0_SWIZ_W__MASK 0x0000e000
7174*4882a593Smuzhiyun #define A6XX_TEX_CONST_0_SWIZ_W__SHIFT 13
A6XX_TEX_CONST_0_SWIZ_W(enum a6xx_tex_swiz val)7175*4882a593Smuzhiyun static inline uint32_t A6XX_TEX_CONST_0_SWIZ_W(enum a6xx_tex_swiz val)
7176*4882a593Smuzhiyun {
7177*4882a593Smuzhiyun return ((val) << A6XX_TEX_CONST_0_SWIZ_W__SHIFT) & A6XX_TEX_CONST_0_SWIZ_W__MASK;
7178*4882a593Smuzhiyun }
7179*4882a593Smuzhiyun #define A6XX_TEX_CONST_0_MIPLVLS__MASK 0x000f0000
7180*4882a593Smuzhiyun #define A6XX_TEX_CONST_0_MIPLVLS__SHIFT 16
A6XX_TEX_CONST_0_MIPLVLS(uint32_t val)7181*4882a593Smuzhiyun static inline uint32_t A6XX_TEX_CONST_0_MIPLVLS(uint32_t val)
7182*4882a593Smuzhiyun {
7183*4882a593Smuzhiyun return ((val) << A6XX_TEX_CONST_0_MIPLVLS__SHIFT) & A6XX_TEX_CONST_0_MIPLVLS__MASK;
7184*4882a593Smuzhiyun }
7185*4882a593Smuzhiyun #define A6XX_TEX_CONST_0_CHROMA_MIDPOINT_X 0x00010000
7186*4882a593Smuzhiyun #define A6XX_TEX_CONST_0_CHROMA_MIDPOINT_Y 0x00040000
7187*4882a593Smuzhiyun #define A6XX_TEX_CONST_0_SAMPLES__MASK 0x00300000
7188*4882a593Smuzhiyun #define A6XX_TEX_CONST_0_SAMPLES__SHIFT 20
A6XX_TEX_CONST_0_SAMPLES(enum a3xx_msaa_samples val)7189*4882a593Smuzhiyun static inline uint32_t A6XX_TEX_CONST_0_SAMPLES(enum a3xx_msaa_samples val)
7190*4882a593Smuzhiyun {
7191*4882a593Smuzhiyun return ((val) << A6XX_TEX_CONST_0_SAMPLES__SHIFT) & A6XX_TEX_CONST_0_SAMPLES__MASK;
7192*4882a593Smuzhiyun }
7193*4882a593Smuzhiyun #define A6XX_TEX_CONST_0_FMT__MASK 0x3fc00000
7194*4882a593Smuzhiyun #define A6XX_TEX_CONST_0_FMT__SHIFT 22
A6XX_TEX_CONST_0_FMT(enum a6xx_format val)7195*4882a593Smuzhiyun static inline uint32_t A6XX_TEX_CONST_0_FMT(enum a6xx_format val)
7196*4882a593Smuzhiyun {
7197*4882a593Smuzhiyun return ((val) << A6XX_TEX_CONST_0_FMT__SHIFT) & A6XX_TEX_CONST_0_FMT__MASK;
7198*4882a593Smuzhiyun }
7199*4882a593Smuzhiyun #define A6XX_TEX_CONST_0_SWAP__MASK 0xc0000000
7200*4882a593Smuzhiyun #define A6XX_TEX_CONST_0_SWAP__SHIFT 30
A6XX_TEX_CONST_0_SWAP(enum a3xx_color_swap val)7201*4882a593Smuzhiyun static inline uint32_t A6XX_TEX_CONST_0_SWAP(enum a3xx_color_swap val)
7202*4882a593Smuzhiyun {
7203*4882a593Smuzhiyun return ((val) << A6XX_TEX_CONST_0_SWAP__SHIFT) & A6XX_TEX_CONST_0_SWAP__MASK;
7204*4882a593Smuzhiyun }
7205*4882a593Smuzhiyun
7206*4882a593Smuzhiyun #define REG_A6XX_TEX_CONST_1 0x00000001
7207*4882a593Smuzhiyun #define A6XX_TEX_CONST_1_WIDTH__MASK 0x00007fff
7208*4882a593Smuzhiyun #define A6XX_TEX_CONST_1_WIDTH__SHIFT 0
A6XX_TEX_CONST_1_WIDTH(uint32_t val)7209*4882a593Smuzhiyun static inline uint32_t A6XX_TEX_CONST_1_WIDTH(uint32_t val)
7210*4882a593Smuzhiyun {
7211*4882a593Smuzhiyun return ((val) << A6XX_TEX_CONST_1_WIDTH__SHIFT) & A6XX_TEX_CONST_1_WIDTH__MASK;
7212*4882a593Smuzhiyun }
7213*4882a593Smuzhiyun #define A6XX_TEX_CONST_1_HEIGHT__MASK 0x3fff8000
7214*4882a593Smuzhiyun #define A6XX_TEX_CONST_1_HEIGHT__SHIFT 15
A6XX_TEX_CONST_1_HEIGHT(uint32_t val)7215*4882a593Smuzhiyun static inline uint32_t A6XX_TEX_CONST_1_HEIGHT(uint32_t val)
7216*4882a593Smuzhiyun {
7217*4882a593Smuzhiyun return ((val) << A6XX_TEX_CONST_1_HEIGHT__SHIFT) & A6XX_TEX_CONST_1_HEIGHT__MASK;
7218*4882a593Smuzhiyun }
7219*4882a593Smuzhiyun
7220*4882a593Smuzhiyun #define REG_A6XX_TEX_CONST_2 0x00000002
7221*4882a593Smuzhiyun #define A6XX_TEX_CONST_2_UNK4 0x00000010
7222*4882a593Smuzhiyun #define A6XX_TEX_CONST_2_PITCHALIGN__MASK 0x0000000f
7223*4882a593Smuzhiyun #define A6XX_TEX_CONST_2_PITCHALIGN__SHIFT 0
A6XX_TEX_CONST_2_PITCHALIGN(uint32_t val)7224*4882a593Smuzhiyun static inline uint32_t A6XX_TEX_CONST_2_PITCHALIGN(uint32_t val)
7225*4882a593Smuzhiyun {
7226*4882a593Smuzhiyun return ((val) << A6XX_TEX_CONST_2_PITCHALIGN__SHIFT) & A6XX_TEX_CONST_2_PITCHALIGN__MASK;
7227*4882a593Smuzhiyun }
7228*4882a593Smuzhiyun #define A6XX_TEX_CONST_2_PITCH__MASK 0x1fffff80
7229*4882a593Smuzhiyun #define A6XX_TEX_CONST_2_PITCH__SHIFT 7
A6XX_TEX_CONST_2_PITCH(uint32_t val)7230*4882a593Smuzhiyun static inline uint32_t A6XX_TEX_CONST_2_PITCH(uint32_t val)
7231*4882a593Smuzhiyun {
7232*4882a593Smuzhiyun return ((val) << A6XX_TEX_CONST_2_PITCH__SHIFT) & A6XX_TEX_CONST_2_PITCH__MASK;
7233*4882a593Smuzhiyun }
7234*4882a593Smuzhiyun #define A6XX_TEX_CONST_2_TYPE__MASK 0x60000000
7235*4882a593Smuzhiyun #define A6XX_TEX_CONST_2_TYPE__SHIFT 29
A6XX_TEX_CONST_2_TYPE(enum a6xx_tex_type val)7236*4882a593Smuzhiyun static inline uint32_t A6XX_TEX_CONST_2_TYPE(enum a6xx_tex_type val)
7237*4882a593Smuzhiyun {
7238*4882a593Smuzhiyun return ((val) << A6XX_TEX_CONST_2_TYPE__SHIFT) & A6XX_TEX_CONST_2_TYPE__MASK;
7239*4882a593Smuzhiyun }
7240*4882a593Smuzhiyun #define A6XX_TEX_CONST_2_UNK31 0x80000000
7241*4882a593Smuzhiyun
7242*4882a593Smuzhiyun #define REG_A6XX_TEX_CONST_3 0x00000003
7243*4882a593Smuzhiyun #define A6XX_TEX_CONST_3_ARRAY_PITCH__MASK 0x00003fff
7244*4882a593Smuzhiyun #define A6XX_TEX_CONST_3_ARRAY_PITCH__SHIFT 0
A6XX_TEX_CONST_3_ARRAY_PITCH(uint32_t val)7245*4882a593Smuzhiyun static inline uint32_t A6XX_TEX_CONST_3_ARRAY_PITCH(uint32_t val)
7246*4882a593Smuzhiyun {
7247*4882a593Smuzhiyun return ((val >> 12) << A6XX_TEX_CONST_3_ARRAY_PITCH__SHIFT) & A6XX_TEX_CONST_3_ARRAY_PITCH__MASK;
7248*4882a593Smuzhiyun }
7249*4882a593Smuzhiyun #define A6XX_TEX_CONST_3_MIN_LAYERSZ__MASK 0x07800000
7250*4882a593Smuzhiyun #define A6XX_TEX_CONST_3_MIN_LAYERSZ__SHIFT 23
A6XX_TEX_CONST_3_MIN_LAYERSZ(uint32_t val)7251*4882a593Smuzhiyun static inline uint32_t A6XX_TEX_CONST_3_MIN_LAYERSZ(uint32_t val)
7252*4882a593Smuzhiyun {
7253*4882a593Smuzhiyun return ((val >> 12) << A6XX_TEX_CONST_3_MIN_LAYERSZ__SHIFT) & A6XX_TEX_CONST_3_MIN_LAYERSZ__MASK;
7254*4882a593Smuzhiyun }
7255*4882a593Smuzhiyun #define A6XX_TEX_CONST_3_TILE_ALL 0x08000000
7256*4882a593Smuzhiyun #define A6XX_TEX_CONST_3_FLAG 0x10000000
7257*4882a593Smuzhiyun
7258*4882a593Smuzhiyun #define REG_A6XX_TEX_CONST_4 0x00000004
7259*4882a593Smuzhiyun #define A6XX_TEX_CONST_4_BASE_LO__MASK 0xffffffe0
7260*4882a593Smuzhiyun #define A6XX_TEX_CONST_4_BASE_LO__SHIFT 5
A6XX_TEX_CONST_4_BASE_LO(uint32_t val)7261*4882a593Smuzhiyun static inline uint32_t A6XX_TEX_CONST_4_BASE_LO(uint32_t val)
7262*4882a593Smuzhiyun {
7263*4882a593Smuzhiyun return ((val >> 5) << A6XX_TEX_CONST_4_BASE_LO__SHIFT) & A6XX_TEX_CONST_4_BASE_LO__MASK;
7264*4882a593Smuzhiyun }
7265*4882a593Smuzhiyun
7266*4882a593Smuzhiyun #define REG_A6XX_TEX_CONST_5 0x00000005
7267*4882a593Smuzhiyun #define A6XX_TEX_CONST_5_BASE_HI__MASK 0x0001ffff
7268*4882a593Smuzhiyun #define A6XX_TEX_CONST_5_BASE_HI__SHIFT 0
A6XX_TEX_CONST_5_BASE_HI(uint32_t val)7269*4882a593Smuzhiyun static inline uint32_t A6XX_TEX_CONST_5_BASE_HI(uint32_t val)
7270*4882a593Smuzhiyun {
7271*4882a593Smuzhiyun return ((val) << A6XX_TEX_CONST_5_BASE_HI__SHIFT) & A6XX_TEX_CONST_5_BASE_HI__MASK;
7272*4882a593Smuzhiyun }
7273*4882a593Smuzhiyun #define A6XX_TEX_CONST_5_DEPTH__MASK 0x3ffe0000
7274*4882a593Smuzhiyun #define A6XX_TEX_CONST_5_DEPTH__SHIFT 17
A6XX_TEX_CONST_5_DEPTH(uint32_t val)7275*4882a593Smuzhiyun static inline uint32_t A6XX_TEX_CONST_5_DEPTH(uint32_t val)
7276*4882a593Smuzhiyun {
7277*4882a593Smuzhiyun return ((val) << A6XX_TEX_CONST_5_DEPTH__SHIFT) & A6XX_TEX_CONST_5_DEPTH__MASK;
7278*4882a593Smuzhiyun }
7279*4882a593Smuzhiyun
7280*4882a593Smuzhiyun #define REG_A6XX_TEX_CONST_6 0x00000006
7281*4882a593Smuzhiyun #define A6XX_TEX_CONST_6_PLANE_PITCH__MASK 0xffffff00
7282*4882a593Smuzhiyun #define A6XX_TEX_CONST_6_PLANE_PITCH__SHIFT 8
A6XX_TEX_CONST_6_PLANE_PITCH(uint32_t val)7283*4882a593Smuzhiyun static inline uint32_t A6XX_TEX_CONST_6_PLANE_PITCH(uint32_t val)
7284*4882a593Smuzhiyun {
7285*4882a593Smuzhiyun return ((val) << A6XX_TEX_CONST_6_PLANE_PITCH__SHIFT) & A6XX_TEX_CONST_6_PLANE_PITCH__MASK;
7286*4882a593Smuzhiyun }
7287*4882a593Smuzhiyun
7288*4882a593Smuzhiyun #define REG_A6XX_TEX_CONST_7 0x00000007
7289*4882a593Smuzhiyun #define A6XX_TEX_CONST_7_FLAG_LO__MASK 0xffffffe0
7290*4882a593Smuzhiyun #define A6XX_TEX_CONST_7_FLAG_LO__SHIFT 5
A6XX_TEX_CONST_7_FLAG_LO(uint32_t val)7291*4882a593Smuzhiyun static inline uint32_t A6XX_TEX_CONST_7_FLAG_LO(uint32_t val)
7292*4882a593Smuzhiyun {
7293*4882a593Smuzhiyun return ((val >> 5) << A6XX_TEX_CONST_7_FLAG_LO__SHIFT) & A6XX_TEX_CONST_7_FLAG_LO__MASK;
7294*4882a593Smuzhiyun }
7295*4882a593Smuzhiyun
7296*4882a593Smuzhiyun #define REG_A6XX_TEX_CONST_8 0x00000008
7297*4882a593Smuzhiyun #define A6XX_TEX_CONST_8_FLAG_HI__MASK 0x0001ffff
7298*4882a593Smuzhiyun #define A6XX_TEX_CONST_8_FLAG_HI__SHIFT 0
A6XX_TEX_CONST_8_FLAG_HI(uint32_t val)7299*4882a593Smuzhiyun static inline uint32_t A6XX_TEX_CONST_8_FLAG_HI(uint32_t val)
7300*4882a593Smuzhiyun {
7301*4882a593Smuzhiyun return ((val) << A6XX_TEX_CONST_8_FLAG_HI__SHIFT) & A6XX_TEX_CONST_8_FLAG_HI__MASK;
7302*4882a593Smuzhiyun }
7303*4882a593Smuzhiyun
7304*4882a593Smuzhiyun #define REG_A6XX_TEX_CONST_9 0x00000009
7305*4882a593Smuzhiyun #define A6XX_TEX_CONST_9_FLAG_BUFFER_ARRAY_PITCH__MASK 0x0001ffff
7306*4882a593Smuzhiyun #define A6XX_TEX_CONST_9_FLAG_BUFFER_ARRAY_PITCH__SHIFT 0
A6XX_TEX_CONST_9_FLAG_BUFFER_ARRAY_PITCH(uint32_t val)7307*4882a593Smuzhiyun static inline uint32_t A6XX_TEX_CONST_9_FLAG_BUFFER_ARRAY_PITCH(uint32_t val)
7308*4882a593Smuzhiyun {
7309*4882a593Smuzhiyun return ((val >> 4) << A6XX_TEX_CONST_9_FLAG_BUFFER_ARRAY_PITCH__SHIFT) & A6XX_TEX_CONST_9_FLAG_BUFFER_ARRAY_PITCH__MASK;
7310*4882a593Smuzhiyun }
7311*4882a593Smuzhiyun
7312*4882a593Smuzhiyun #define REG_A6XX_TEX_CONST_10 0x0000000a
7313*4882a593Smuzhiyun #define A6XX_TEX_CONST_10_FLAG_BUFFER_PITCH__MASK 0x0000007f
7314*4882a593Smuzhiyun #define A6XX_TEX_CONST_10_FLAG_BUFFER_PITCH__SHIFT 0
A6XX_TEX_CONST_10_FLAG_BUFFER_PITCH(uint32_t val)7315*4882a593Smuzhiyun static inline uint32_t A6XX_TEX_CONST_10_FLAG_BUFFER_PITCH(uint32_t val)
7316*4882a593Smuzhiyun {
7317*4882a593Smuzhiyun return ((val >> 6) << A6XX_TEX_CONST_10_FLAG_BUFFER_PITCH__SHIFT) & A6XX_TEX_CONST_10_FLAG_BUFFER_PITCH__MASK;
7318*4882a593Smuzhiyun }
7319*4882a593Smuzhiyun #define A6XX_TEX_CONST_10_FLAG_BUFFER_LOGW__MASK 0x00000f00
7320*4882a593Smuzhiyun #define A6XX_TEX_CONST_10_FLAG_BUFFER_LOGW__SHIFT 8
A6XX_TEX_CONST_10_FLAG_BUFFER_LOGW(uint32_t val)7321*4882a593Smuzhiyun static inline uint32_t A6XX_TEX_CONST_10_FLAG_BUFFER_LOGW(uint32_t val)
7322*4882a593Smuzhiyun {
7323*4882a593Smuzhiyun return ((val) << A6XX_TEX_CONST_10_FLAG_BUFFER_LOGW__SHIFT) & A6XX_TEX_CONST_10_FLAG_BUFFER_LOGW__MASK;
7324*4882a593Smuzhiyun }
7325*4882a593Smuzhiyun #define A6XX_TEX_CONST_10_FLAG_BUFFER_LOGH__MASK 0x0000f000
7326*4882a593Smuzhiyun #define A6XX_TEX_CONST_10_FLAG_BUFFER_LOGH__SHIFT 12
A6XX_TEX_CONST_10_FLAG_BUFFER_LOGH(uint32_t val)7327*4882a593Smuzhiyun static inline uint32_t A6XX_TEX_CONST_10_FLAG_BUFFER_LOGH(uint32_t val)
7328*4882a593Smuzhiyun {
7329*4882a593Smuzhiyun return ((val) << A6XX_TEX_CONST_10_FLAG_BUFFER_LOGH__SHIFT) & A6XX_TEX_CONST_10_FLAG_BUFFER_LOGH__MASK;
7330*4882a593Smuzhiyun }
7331*4882a593Smuzhiyun
7332*4882a593Smuzhiyun #define REG_A6XX_TEX_CONST_11 0x0000000b
7333*4882a593Smuzhiyun
7334*4882a593Smuzhiyun #define REG_A6XX_TEX_CONST_12 0x0000000c
7335*4882a593Smuzhiyun
7336*4882a593Smuzhiyun #define REG_A6XX_TEX_CONST_13 0x0000000d
7337*4882a593Smuzhiyun
7338*4882a593Smuzhiyun #define REG_A6XX_TEX_CONST_14 0x0000000e
7339*4882a593Smuzhiyun
7340*4882a593Smuzhiyun #define REG_A6XX_TEX_CONST_15 0x0000000f
7341*4882a593Smuzhiyun
7342*4882a593Smuzhiyun #define REG_A6XX_IBO_0 0x00000000
7343*4882a593Smuzhiyun #define A6XX_IBO_0_TILE_MODE__MASK 0x00000003
7344*4882a593Smuzhiyun #define A6XX_IBO_0_TILE_MODE__SHIFT 0
A6XX_IBO_0_TILE_MODE(enum a6xx_tile_mode val)7345*4882a593Smuzhiyun static inline uint32_t A6XX_IBO_0_TILE_MODE(enum a6xx_tile_mode val)
7346*4882a593Smuzhiyun {
7347*4882a593Smuzhiyun return ((val) << A6XX_IBO_0_TILE_MODE__SHIFT) & A6XX_IBO_0_TILE_MODE__MASK;
7348*4882a593Smuzhiyun }
7349*4882a593Smuzhiyun #define A6XX_IBO_0_FMT__MASK 0x3fc00000
7350*4882a593Smuzhiyun #define A6XX_IBO_0_FMT__SHIFT 22
A6XX_IBO_0_FMT(enum a6xx_format val)7351*4882a593Smuzhiyun static inline uint32_t A6XX_IBO_0_FMT(enum a6xx_format val)
7352*4882a593Smuzhiyun {
7353*4882a593Smuzhiyun return ((val) << A6XX_IBO_0_FMT__SHIFT) & A6XX_IBO_0_FMT__MASK;
7354*4882a593Smuzhiyun }
7355*4882a593Smuzhiyun
7356*4882a593Smuzhiyun #define REG_A6XX_IBO_1 0x00000001
7357*4882a593Smuzhiyun #define A6XX_IBO_1_WIDTH__MASK 0x00007fff
7358*4882a593Smuzhiyun #define A6XX_IBO_1_WIDTH__SHIFT 0
A6XX_IBO_1_WIDTH(uint32_t val)7359*4882a593Smuzhiyun static inline uint32_t A6XX_IBO_1_WIDTH(uint32_t val)
7360*4882a593Smuzhiyun {
7361*4882a593Smuzhiyun return ((val) << A6XX_IBO_1_WIDTH__SHIFT) & A6XX_IBO_1_WIDTH__MASK;
7362*4882a593Smuzhiyun }
7363*4882a593Smuzhiyun #define A6XX_IBO_1_HEIGHT__MASK 0x3fff8000
7364*4882a593Smuzhiyun #define A6XX_IBO_1_HEIGHT__SHIFT 15
A6XX_IBO_1_HEIGHT(uint32_t val)7365*4882a593Smuzhiyun static inline uint32_t A6XX_IBO_1_HEIGHT(uint32_t val)
7366*4882a593Smuzhiyun {
7367*4882a593Smuzhiyun return ((val) << A6XX_IBO_1_HEIGHT__SHIFT) & A6XX_IBO_1_HEIGHT__MASK;
7368*4882a593Smuzhiyun }
7369*4882a593Smuzhiyun
7370*4882a593Smuzhiyun #define REG_A6XX_IBO_2 0x00000002
7371*4882a593Smuzhiyun #define A6XX_IBO_2_UNK4 0x00000010
7372*4882a593Smuzhiyun #define A6XX_IBO_2_PITCH__MASK 0x1fffff80
7373*4882a593Smuzhiyun #define A6XX_IBO_2_PITCH__SHIFT 7
A6XX_IBO_2_PITCH(uint32_t val)7374*4882a593Smuzhiyun static inline uint32_t A6XX_IBO_2_PITCH(uint32_t val)
7375*4882a593Smuzhiyun {
7376*4882a593Smuzhiyun return ((val) << A6XX_IBO_2_PITCH__SHIFT) & A6XX_IBO_2_PITCH__MASK;
7377*4882a593Smuzhiyun }
7378*4882a593Smuzhiyun #define A6XX_IBO_2_TYPE__MASK 0x60000000
7379*4882a593Smuzhiyun #define A6XX_IBO_2_TYPE__SHIFT 29
A6XX_IBO_2_TYPE(enum a6xx_tex_type val)7380*4882a593Smuzhiyun static inline uint32_t A6XX_IBO_2_TYPE(enum a6xx_tex_type val)
7381*4882a593Smuzhiyun {
7382*4882a593Smuzhiyun return ((val) << A6XX_IBO_2_TYPE__SHIFT) & A6XX_IBO_2_TYPE__MASK;
7383*4882a593Smuzhiyun }
7384*4882a593Smuzhiyun #define A6XX_IBO_2_UNK31 0x80000000
7385*4882a593Smuzhiyun
7386*4882a593Smuzhiyun #define REG_A6XX_IBO_3 0x00000003
7387*4882a593Smuzhiyun #define A6XX_IBO_3_ARRAY_PITCH__MASK 0x00003fff
7388*4882a593Smuzhiyun #define A6XX_IBO_3_ARRAY_PITCH__SHIFT 0
A6XX_IBO_3_ARRAY_PITCH(uint32_t val)7389*4882a593Smuzhiyun static inline uint32_t A6XX_IBO_3_ARRAY_PITCH(uint32_t val)
7390*4882a593Smuzhiyun {
7391*4882a593Smuzhiyun return ((val >> 12) << A6XX_IBO_3_ARRAY_PITCH__SHIFT) & A6XX_IBO_3_ARRAY_PITCH__MASK;
7392*4882a593Smuzhiyun }
7393*4882a593Smuzhiyun #define A6XX_IBO_3_UNK27 0x08000000
7394*4882a593Smuzhiyun #define A6XX_IBO_3_FLAG 0x10000000
7395*4882a593Smuzhiyun
7396*4882a593Smuzhiyun #define REG_A6XX_IBO_4 0x00000004
7397*4882a593Smuzhiyun #define A6XX_IBO_4_BASE_LO__MASK 0xffffffff
7398*4882a593Smuzhiyun #define A6XX_IBO_4_BASE_LO__SHIFT 0
A6XX_IBO_4_BASE_LO(uint32_t val)7399*4882a593Smuzhiyun static inline uint32_t A6XX_IBO_4_BASE_LO(uint32_t val)
7400*4882a593Smuzhiyun {
7401*4882a593Smuzhiyun return ((val) << A6XX_IBO_4_BASE_LO__SHIFT) & A6XX_IBO_4_BASE_LO__MASK;
7402*4882a593Smuzhiyun }
7403*4882a593Smuzhiyun
7404*4882a593Smuzhiyun #define REG_A6XX_IBO_5 0x00000005
7405*4882a593Smuzhiyun #define A6XX_IBO_5_BASE_HI__MASK 0x0001ffff
7406*4882a593Smuzhiyun #define A6XX_IBO_5_BASE_HI__SHIFT 0
A6XX_IBO_5_BASE_HI(uint32_t val)7407*4882a593Smuzhiyun static inline uint32_t A6XX_IBO_5_BASE_HI(uint32_t val)
7408*4882a593Smuzhiyun {
7409*4882a593Smuzhiyun return ((val) << A6XX_IBO_5_BASE_HI__SHIFT) & A6XX_IBO_5_BASE_HI__MASK;
7410*4882a593Smuzhiyun }
7411*4882a593Smuzhiyun #define A6XX_IBO_5_DEPTH__MASK 0x3ffe0000
7412*4882a593Smuzhiyun #define A6XX_IBO_5_DEPTH__SHIFT 17
A6XX_IBO_5_DEPTH(uint32_t val)7413*4882a593Smuzhiyun static inline uint32_t A6XX_IBO_5_DEPTH(uint32_t val)
7414*4882a593Smuzhiyun {
7415*4882a593Smuzhiyun return ((val) << A6XX_IBO_5_DEPTH__SHIFT) & A6XX_IBO_5_DEPTH__MASK;
7416*4882a593Smuzhiyun }
7417*4882a593Smuzhiyun
7418*4882a593Smuzhiyun #define REG_A6XX_IBO_6 0x00000006
7419*4882a593Smuzhiyun
7420*4882a593Smuzhiyun #define REG_A6XX_IBO_7 0x00000007
7421*4882a593Smuzhiyun
7422*4882a593Smuzhiyun #define REG_A6XX_IBO_8 0x00000008
7423*4882a593Smuzhiyun
7424*4882a593Smuzhiyun #define REG_A6XX_IBO_9 0x00000009
7425*4882a593Smuzhiyun #define A6XX_IBO_9_FLAG_BUFFER_ARRAY_PITCH__MASK 0x0001ffff
7426*4882a593Smuzhiyun #define A6XX_IBO_9_FLAG_BUFFER_ARRAY_PITCH__SHIFT 0
A6XX_IBO_9_FLAG_BUFFER_ARRAY_PITCH(uint32_t val)7427*4882a593Smuzhiyun static inline uint32_t A6XX_IBO_9_FLAG_BUFFER_ARRAY_PITCH(uint32_t val)
7428*4882a593Smuzhiyun {
7429*4882a593Smuzhiyun return ((val >> 4) << A6XX_IBO_9_FLAG_BUFFER_ARRAY_PITCH__SHIFT) & A6XX_IBO_9_FLAG_BUFFER_ARRAY_PITCH__MASK;
7430*4882a593Smuzhiyun }
7431*4882a593Smuzhiyun
7432*4882a593Smuzhiyun #define REG_A6XX_IBO_10 0x0000000a
7433*4882a593Smuzhiyun #define A6XX_IBO_10_FLAG_BUFFER_PITCH__MASK 0x0000007f
7434*4882a593Smuzhiyun #define A6XX_IBO_10_FLAG_BUFFER_PITCH__SHIFT 0
A6XX_IBO_10_FLAG_BUFFER_PITCH(uint32_t val)7435*4882a593Smuzhiyun static inline uint32_t A6XX_IBO_10_FLAG_BUFFER_PITCH(uint32_t val)
7436*4882a593Smuzhiyun {
7437*4882a593Smuzhiyun return ((val >> 6) << A6XX_IBO_10_FLAG_BUFFER_PITCH__SHIFT) & A6XX_IBO_10_FLAG_BUFFER_PITCH__MASK;
7438*4882a593Smuzhiyun }
7439*4882a593Smuzhiyun
7440*4882a593Smuzhiyun #define REG_A6XX_UBO_0 0x00000000
7441*4882a593Smuzhiyun #define A6XX_UBO_0_BASE_LO__MASK 0xffffffff
7442*4882a593Smuzhiyun #define A6XX_UBO_0_BASE_LO__SHIFT 0
A6XX_UBO_0_BASE_LO(uint32_t val)7443*4882a593Smuzhiyun static inline uint32_t A6XX_UBO_0_BASE_LO(uint32_t val)
7444*4882a593Smuzhiyun {
7445*4882a593Smuzhiyun return ((val) << A6XX_UBO_0_BASE_LO__SHIFT) & A6XX_UBO_0_BASE_LO__MASK;
7446*4882a593Smuzhiyun }
7447*4882a593Smuzhiyun
7448*4882a593Smuzhiyun #define REG_A6XX_UBO_1 0x00000001
7449*4882a593Smuzhiyun #define A6XX_UBO_1_BASE_HI__MASK 0x0001ffff
7450*4882a593Smuzhiyun #define A6XX_UBO_1_BASE_HI__SHIFT 0
A6XX_UBO_1_BASE_HI(uint32_t val)7451*4882a593Smuzhiyun static inline uint32_t A6XX_UBO_1_BASE_HI(uint32_t val)
7452*4882a593Smuzhiyun {
7453*4882a593Smuzhiyun return ((val) << A6XX_UBO_1_BASE_HI__SHIFT) & A6XX_UBO_1_BASE_HI__MASK;
7454*4882a593Smuzhiyun }
7455*4882a593Smuzhiyun #define A6XX_UBO_1_SIZE__MASK 0xfffe0000
7456*4882a593Smuzhiyun #define A6XX_UBO_1_SIZE__SHIFT 17
A6XX_UBO_1_SIZE(uint32_t val)7457*4882a593Smuzhiyun static inline uint32_t A6XX_UBO_1_SIZE(uint32_t val)
7458*4882a593Smuzhiyun {
7459*4882a593Smuzhiyun return ((val) << A6XX_UBO_1_SIZE__SHIFT) & A6XX_UBO_1_SIZE__MASK;
7460*4882a593Smuzhiyun }
7461*4882a593Smuzhiyun
7462*4882a593Smuzhiyun #define REG_A6XX_PDC_GPU_ENABLE_PDC 0x00001140
7463*4882a593Smuzhiyun
7464*4882a593Smuzhiyun #define REG_A6XX_PDC_GPU_SEQ_START_ADDR 0x00001148
7465*4882a593Smuzhiyun
7466*4882a593Smuzhiyun #define REG_A6XX_PDC_GPU_TCS0_CONTROL 0x00001540
7467*4882a593Smuzhiyun
7468*4882a593Smuzhiyun #define REG_A6XX_PDC_GPU_TCS0_CMD_ENABLE_BANK 0x00001541
7469*4882a593Smuzhiyun
7470*4882a593Smuzhiyun #define REG_A6XX_PDC_GPU_TCS0_CMD_WAIT_FOR_CMPL_BANK 0x00001542
7471*4882a593Smuzhiyun
7472*4882a593Smuzhiyun #define REG_A6XX_PDC_GPU_TCS0_CMD0_MSGID 0x00001543
7473*4882a593Smuzhiyun
7474*4882a593Smuzhiyun #define REG_A6XX_PDC_GPU_TCS0_CMD0_ADDR 0x00001544
7475*4882a593Smuzhiyun
7476*4882a593Smuzhiyun #define REG_A6XX_PDC_GPU_TCS0_CMD0_DATA 0x00001545
7477*4882a593Smuzhiyun
7478*4882a593Smuzhiyun #define REG_A6XX_PDC_GPU_TCS1_CONTROL 0x00001572
7479*4882a593Smuzhiyun
7480*4882a593Smuzhiyun #define REG_A6XX_PDC_GPU_TCS1_CMD_ENABLE_BANK 0x00001573
7481*4882a593Smuzhiyun
7482*4882a593Smuzhiyun #define REG_A6XX_PDC_GPU_TCS1_CMD_WAIT_FOR_CMPL_BANK 0x00001574
7483*4882a593Smuzhiyun
7484*4882a593Smuzhiyun #define REG_A6XX_PDC_GPU_TCS1_CMD0_MSGID 0x00001575
7485*4882a593Smuzhiyun
7486*4882a593Smuzhiyun #define REG_A6XX_PDC_GPU_TCS1_CMD0_ADDR 0x00001576
7487*4882a593Smuzhiyun
7488*4882a593Smuzhiyun #define REG_A6XX_PDC_GPU_TCS1_CMD0_DATA 0x00001577
7489*4882a593Smuzhiyun
7490*4882a593Smuzhiyun #define REG_A6XX_PDC_GPU_TCS2_CONTROL 0x000015a4
7491*4882a593Smuzhiyun
7492*4882a593Smuzhiyun #define REG_A6XX_PDC_GPU_TCS2_CMD_ENABLE_BANK 0x000015a5
7493*4882a593Smuzhiyun
7494*4882a593Smuzhiyun #define REG_A6XX_PDC_GPU_TCS2_CMD_WAIT_FOR_CMPL_BANK 0x000015a6
7495*4882a593Smuzhiyun
7496*4882a593Smuzhiyun #define REG_A6XX_PDC_GPU_TCS2_CMD0_MSGID 0x000015a7
7497*4882a593Smuzhiyun
7498*4882a593Smuzhiyun #define REG_A6XX_PDC_GPU_TCS2_CMD0_ADDR 0x000015a8
7499*4882a593Smuzhiyun
7500*4882a593Smuzhiyun #define REG_A6XX_PDC_GPU_TCS2_CMD0_DATA 0x000015a9
7501*4882a593Smuzhiyun
7502*4882a593Smuzhiyun #define REG_A6XX_PDC_GPU_TCS3_CONTROL 0x000015d6
7503*4882a593Smuzhiyun
7504*4882a593Smuzhiyun #define REG_A6XX_PDC_GPU_TCS3_CMD_ENABLE_BANK 0x000015d7
7505*4882a593Smuzhiyun
7506*4882a593Smuzhiyun #define REG_A6XX_PDC_GPU_TCS3_CMD_WAIT_FOR_CMPL_BANK 0x000015d8
7507*4882a593Smuzhiyun
7508*4882a593Smuzhiyun #define REG_A6XX_PDC_GPU_TCS3_CMD0_MSGID 0x000015d9
7509*4882a593Smuzhiyun
7510*4882a593Smuzhiyun #define REG_A6XX_PDC_GPU_TCS3_CMD0_ADDR 0x000015da
7511*4882a593Smuzhiyun
7512*4882a593Smuzhiyun #define REG_A6XX_PDC_GPU_TCS3_CMD0_DATA 0x000015db
7513*4882a593Smuzhiyun
7514*4882a593Smuzhiyun #define REG_A6XX_PDC_GPU_SEQ_MEM_0 0x00000000
7515*4882a593Smuzhiyun
7516*4882a593Smuzhiyun #define REG_A6XX_CX_DBGC_CFG_DBGBUS_SEL_A 0x00000000
7517*4882a593Smuzhiyun #define A6XX_CX_DBGC_CFG_DBGBUS_SEL_A_PING_INDEX__MASK 0x000000ff
7518*4882a593Smuzhiyun #define A6XX_CX_DBGC_CFG_DBGBUS_SEL_A_PING_INDEX__SHIFT 0
A6XX_CX_DBGC_CFG_DBGBUS_SEL_A_PING_INDEX(uint32_t val)7519*4882a593Smuzhiyun static inline uint32_t A6XX_CX_DBGC_CFG_DBGBUS_SEL_A_PING_INDEX(uint32_t val)
7520*4882a593Smuzhiyun {
7521*4882a593Smuzhiyun return ((val) << A6XX_CX_DBGC_CFG_DBGBUS_SEL_A_PING_INDEX__SHIFT) & A6XX_CX_DBGC_CFG_DBGBUS_SEL_A_PING_INDEX__MASK;
7522*4882a593Smuzhiyun }
7523*4882a593Smuzhiyun #define A6XX_CX_DBGC_CFG_DBGBUS_SEL_A_PING_BLK_SEL__MASK 0x0000ff00
7524*4882a593Smuzhiyun #define A6XX_CX_DBGC_CFG_DBGBUS_SEL_A_PING_BLK_SEL__SHIFT 8
A6XX_CX_DBGC_CFG_DBGBUS_SEL_A_PING_BLK_SEL(uint32_t val)7525*4882a593Smuzhiyun static inline uint32_t A6XX_CX_DBGC_CFG_DBGBUS_SEL_A_PING_BLK_SEL(uint32_t val)
7526*4882a593Smuzhiyun {
7527*4882a593Smuzhiyun return ((val) << A6XX_CX_DBGC_CFG_DBGBUS_SEL_A_PING_BLK_SEL__SHIFT) & A6XX_CX_DBGC_CFG_DBGBUS_SEL_A_PING_BLK_SEL__MASK;
7528*4882a593Smuzhiyun }
7529*4882a593Smuzhiyun
7530*4882a593Smuzhiyun #define REG_A6XX_CX_DBGC_CFG_DBGBUS_SEL_B 0x00000001
7531*4882a593Smuzhiyun
7532*4882a593Smuzhiyun #define REG_A6XX_CX_DBGC_CFG_DBGBUS_SEL_C 0x00000002
7533*4882a593Smuzhiyun
7534*4882a593Smuzhiyun #define REG_A6XX_CX_DBGC_CFG_DBGBUS_SEL_D 0x00000003
7535*4882a593Smuzhiyun
7536*4882a593Smuzhiyun #define REG_A6XX_CX_DBGC_CFG_DBGBUS_CNTLT 0x00000004
7537*4882a593Smuzhiyun #define A6XX_CX_DBGC_CFG_DBGBUS_CNTLT_TRACEEN__MASK 0x0000003f
7538*4882a593Smuzhiyun #define A6XX_CX_DBGC_CFG_DBGBUS_CNTLT_TRACEEN__SHIFT 0
A6XX_CX_DBGC_CFG_DBGBUS_CNTLT_TRACEEN(uint32_t val)7539*4882a593Smuzhiyun static inline uint32_t A6XX_CX_DBGC_CFG_DBGBUS_CNTLT_TRACEEN(uint32_t val)
7540*4882a593Smuzhiyun {
7541*4882a593Smuzhiyun return ((val) << A6XX_CX_DBGC_CFG_DBGBUS_CNTLT_TRACEEN__SHIFT) & A6XX_CX_DBGC_CFG_DBGBUS_CNTLT_TRACEEN__MASK;
7542*4882a593Smuzhiyun }
7543*4882a593Smuzhiyun #define A6XX_CX_DBGC_CFG_DBGBUS_CNTLT_GRANU__MASK 0x00007000
7544*4882a593Smuzhiyun #define A6XX_CX_DBGC_CFG_DBGBUS_CNTLT_GRANU__SHIFT 12
A6XX_CX_DBGC_CFG_DBGBUS_CNTLT_GRANU(uint32_t val)7545*4882a593Smuzhiyun static inline uint32_t A6XX_CX_DBGC_CFG_DBGBUS_CNTLT_GRANU(uint32_t val)
7546*4882a593Smuzhiyun {
7547*4882a593Smuzhiyun return ((val) << A6XX_CX_DBGC_CFG_DBGBUS_CNTLT_GRANU__SHIFT) & A6XX_CX_DBGC_CFG_DBGBUS_CNTLT_GRANU__MASK;
7548*4882a593Smuzhiyun }
7549*4882a593Smuzhiyun #define A6XX_CX_DBGC_CFG_DBGBUS_CNTLT_SEGT__MASK 0xf0000000
7550*4882a593Smuzhiyun #define A6XX_CX_DBGC_CFG_DBGBUS_CNTLT_SEGT__SHIFT 28
A6XX_CX_DBGC_CFG_DBGBUS_CNTLT_SEGT(uint32_t val)7551*4882a593Smuzhiyun static inline uint32_t A6XX_CX_DBGC_CFG_DBGBUS_CNTLT_SEGT(uint32_t val)
7552*4882a593Smuzhiyun {
7553*4882a593Smuzhiyun return ((val) << A6XX_CX_DBGC_CFG_DBGBUS_CNTLT_SEGT__SHIFT) & A6XX_CX_DBGC_CFG_DBGBUS_CNTLT_SEGT__MASK;
7554*4882a593Smuzhiyun }
7555*4882a593Smuzhiyun
7556*4882a593Smuzhiyun #define REG_A6XX_CX_DBGC_CFG_DBGBUS_CNTLM 0x00000005
7557*4882a593Smuzhiyun #define A6XX_CX_DBGC_CFG_DBGBUS_CNTLM_ENABLE__MASK 0x0f000000
7558*4882a593Smuzhiyun #define A6XX_CX_DBGC_CFG_DBGBUS_CNTLM_ENABLE__SHIFT 24
A6XX_CX_DBGC_CFG_DBGBUS_CNTLM_ENABLE(uint32_t val)7559*4882a593Smuzhiyun static inline uint32_t A6XX_CX_DBGC_CFG_DBGBUS_CNTLM_ENABLE(uint32_t val)
7560*4882a593Smuzhiyun {
7561*4882a593Smuzhiyun return ((val) << A6XX_CX_DBGC_CFG_DBGBUS_CNTLM_ENABLE__SHIFT) & A6XX_CX_DBGC_CFG_DBGBUS_CNTLM_ENABLE__MASK;
7562*4882a593Smuzhiyun }
7563*4882a593Smuzhiyun
7564*4882a593Smuzhiyun #define REG_A6XX_CX_DBGC_CFG_DBGBUS_IVTL_0 0x00000008
7565*4882a593Smuzhiyun
7566*4882a593Smuzhiyun #define REG_A6XX_CX_DBGC_CFG_DBGBUS_IVTL_1 0x00000009
7567*4882a593Smuzhiyun
7568*4882a593Smuzhiyun #define REG_A6XX_CX_DBGC_CFG_DBGBUS_IVTL_2 0x0000000a
7569*4882a593Smuzhiyun
7570*4882a593Smuzhiyun #define REG_A6XX_CX_DBGC_CFG_DBGBUS_IVTL_3 0x0000000b
7571*4882a593Smuzhiyun
7572*4882a593Smuzhiyun #define REG_A6XX_CX_DBGC_CFG_DBGBUS_MASKL_0 0x0000000c
7573*4882a593Smuzhiyun
7574*4882a593Smuzhiyun #define REG_A6XX_CX_DBGC_CFG_DBGBUS_MASKL_1 0x0000000d
7575*4882a593Smuzhiyun
7576*4882a593Smuzhiyun #define REG_A6XX_CX_DBGC_CFG_DBGBUS_MASKL_2 0x0000000e
7577*4882a593Smuzhiyun
7578*4882a593Smuzhiyun #define REG_A6XX_CX_DBGC_CFG_DBGBUS_MASKL_3 0x0000000f
7579*4882a593Smuzhiyun
7580*4882a593Smuzhiyun #define REG_A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0 0x00000010
7581*4882a593Smuzhiyun #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL0__MASK 0x0000000f
7582*4882a593Smuzhiyun #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL0__SHIFT 0
A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL0(uint32_t val)7583*4882a593Smuzhiyun static inline uint32_t A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL0(uint32_t val)
7584*4882a593Smuzhiyun {
7585*4882a593Smuzhiyun return ((val) << A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL0__SHIFT) & A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL0__MASK;
7586*4882a593Smuzhiyun }
7587*4882a593Smuzhiyun #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL1__MASK 0x000000f0
7588*4882a593Smuzhiyun #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL1__SHIFT 4
A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL1(uint32_t val)7589*4882a593Smuzhiyun static inline uint32_t A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL1(uint32_t val)
7590*4882a593Smuzhiyun {
7591*4882a593Smuzhiyun return ((val) << A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL1__SHIFT) & A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL1__MASK;
7592*4882a593Smuzhiyun }
7593*4882a593Smuzhiyun #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL2__MASK 0x00000f00
7594*4882a593Smuzhiyun #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL2__SHIFT 8
A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL2(uint32_t val)7595*4882a593Smuzhiyun static inline uint32_t A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL2(uint32_t val)
7596*4882a593Smuzhiyun {
7597*4882a593Smuzhiyun return ((val) << A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL2__SHIFT) & A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL2__MASK;
7598*4882a593Smuzhiyun }
7599*4882a593Smuzhiyun #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL3__MASK 0x0000f000
7600*4882a593Smuzhiyun #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL3__SHIFT 12
A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL3(uint32_t val)7601*4882a593Smuzhiyun static inline uint32_t A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL3(uint32_t val)
7602*4882a593Smuzhiyun {
7603*4882a593Smuzhiyun return ((val) << A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL3__SHIFT) & A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL3__MASK;
7604*4882a593Smuzhiyun }
7605*4882a593Smuzhiyun #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL4__MASK 0x000f0000
7606*4882a593Smuzhiyun #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL4__SHIFT 16
A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL4(uint32_t val)7607*4882a593Smuzhiyun static inline uint32_t A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL4(uint32_t val)
7608*4882a593Smuzhiyun {
7609*4882a593Smuzhiyun return ((val) << A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL4__SHIFT) & A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL4__MASK;
7610*4882a593Smuzhiyun }
7611*4882a593Smuzhiyun #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL5__MASK 0x00f00000
7612*4882a593Smuzhiyun #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL5__SHIFT 20
A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL5(uint32_t val)7613*4882a593Smuzhiyun static inline uint32_t A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL5(uint32_t val)
7614*4882a593Smuzhiyun {
7615*4882a593Smuzhiyun return ((val) << A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL5__SHIFT) & A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL5__MASK;
7616*4882a593Smuzhiyun }
7617*4882a593Smuzhiyun #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL6__MASK 0x0f000000
7618*4882a593Smuzhiyun #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL6__SHIFT 24
A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL6(uint32_t val)7619*4882a593Smuzhiyun static inline uint32_t A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL6(uint32_t val)
7620*4882a593Smuzhiyun {
7621*4882a593Smuzhiyun return ((val) << A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL6__SHIFT) & A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL6__MASK;
7622*4882a593Smuzhiyun }
7623*4882a593Smuzhiyun #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL7__MASK 0xf0000000
7624*4882a593Smuzhiyun #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL7__SHIFT 28
A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL7(uint32_t val)7625*4882a593Smuzhiyun static inline uint32_t A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL7(uint32_t val)
7626*4882a593Smuzhiyun {
7627*4882a593Smuzhiyun return ((val) << A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL7__SHIFT) & A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL7__MASK;
7628*4882a593Smuzhiyun }
7629*4882a593Smuzhiyun
7630*4882a593Smuzhiyun #define REG_A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1 0x00000011
7631*4882a593Smuzhiyun #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL8__MASK 0x0000000f
7632*4882a593Smuzhiyun #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL8__SHIFT 0
A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL8(uint32_t val)7633*4882a593Smuzhiyun static inline uint32_t A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL8(uint32_t val)
7634*4882a593Smuzhiyun {
7635*4882a593Smuzhiyun return ((val) << A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL8__SHIFT) & A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL8__MASK;
7636*4882a593Smuzhiyun }
7637*4882a593Smuzhiyun #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL9__MASK 0x000000f0
7638*4882a593Smuzhiyun #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL9__SHIFT 4
A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL9(uint32_t val)7639*4882a593Smuzhiyun static inline uint32_t A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL9(uint32_t val)
7640*4882a593Smuzhiyun {
7641*4882a593Smuzhiyun return ((val) << A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL9__SHIFT) & A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL9__MASK;
7642*4882a593Smuzhiyun }
7643*4882a593Smuzhiyun #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL10__MASK 0x00000f00
7644*4882a593Smuzhiyun #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL10__SHIFT 8
A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL10(uint32_t val)7645*4882a593Smuzhiyun static inline uint32_t A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL10(uint32_t val)
7646*4882a593Smuzhiyun {
7647*4882a593Smuzhiyun return ((val) << A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL10__SHIFT) & A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL10__MASK;
7648*4882a593Smuzhiyun }
7649*4882a593Smuzhiyun #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL11__MASK 0x0000f000
7650*4882a593Smuzhiyun #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL11__SHIFT 12
A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL11(uint32_t val)7651*4882a593Smuzhiyun static inline uint32_t A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL11(uint32_t val)
7652*4882a593Smuzhiyun {
7653*4882a593Smuzhiyun return ((val) << A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL11__SHIFT) & A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL11__MASK;
7654*4882a593Smuzhiyun }
7655*4882a593Smuzhiyun #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL12__MASK 0x000f0000
7656*4882a593Smuzhiyun #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL12__SHIFT 16
A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL12(uint32_t val)7657*4882a593Smuzhiyun static inline uint32_t A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL12(uint32_t val)
7658*4882a593Smuzhiyun {
7659*4882a593Smuzhiyun return ((val) << A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL12__SHIFT) & A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL12__MASK;
7660*4882a593Smuzhiyun }
7661*4882a593Smuzhiyun #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL13__MASK 0x00f00000
7662*4882a593Smuzhiyun #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL13__SHIFT 20
A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL13(uint32_t val)7663*4882a593Smuzhiyun static inline uint32_t A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL13(uint32_t val)
7664*4882a593Smuzhiyun {
7665*4882a593Smuzhiyun return ((val) << A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL13__SHIFT) & A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL13__MASK;
7666*4882a593Smuzhiyun }
7667*4882a593Smuzhiyun #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL14__MASK 0x0f000000
7668*4882a593Smuzhiyun #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL14__SHIFT 24
A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL14(uint32_t val)7669*4882a593Smuzhiyun static inline uint32_t A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL14(uint32_t val)
7670*4882a593Smuzhiyun {
7671*4882a593Smuzhiyun return ((val) << A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL14__SHIFT) & A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL14__MASK;
7672*4882a593Smuzhiyun }
7673*4882a593Smuzhiyun #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL15__MASK 0xf0000000
7674*4882a593Smuzhiyun #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL15__SHIFT 28
A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL15(uint32_t val)7675*4882a593Smuzhiyun static inline uint32_t A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL15(uint32_t val)
7676*4882a593Smuzhiyun {
7677*4882a593Smuzhiyun return ((val) << A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL15__SHIFT) & A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL15__MASK;
7678*4882a593Smuzhiyun }
7679*4882a593Smuzhiyun
7680*4882a593Smuzhiyun #define REG_A6XX_CX_DBGC_CFG_DBGBUS_TRACE_BUF1 0x0000002f
7681*4882a593Smuzhiyun
7682*4882a593Smuzhiyun #define REG_A6XX_CX_DBGC_CFG_DBGBUS_TRACE_BUF2 0x00000030
7683*4882a593Smuzhiyun
7684*4882a593Smuzhiyun #define REG_A6XX_CX_MISC_SYSTEM_CACHE_CNTL_0 0x00000001
7685*4882a593Smuzhiyun
7686*4882a593Smuzhiyun #define REG_A6XX_CX_MISC_SYSTEM_CACHE_CNTL_1 0x00000002
7687*4882a593Smuzhiyun
7688*4882a593Smuzhiyun
7689*4882a593Smuzhiyun #endif /* A6XX_XML */
7690