1/*
2 * Copyright 2017 Advanced Micro Devices, Inc.
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a
5 * copy of this software and associated documentation files (the "Software"),
6 * to deal in the Software without restriction, including without limitation
7 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8 * and/or sell copies of the Software, and to permit persons to whom the
9 * Software is furnished to do so, subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice shall be included in
12 * all copies or substantial portions of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
17 * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
18 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
19 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
20 * OTHER DEALINGS IN THE SOFTWARE.
21 *
22 */
23
24static const unsigned int gfx9_SECT_CONTEXT_def_1[] = {
25    0x00000000, // DB_RENDER_CONTROL
26    0x00000000, // DB_COUNT_CONTROL
27    0x00000000, // DB_DEPTH_VIEW
28    0x00000000, // DB_RENDER_OVERRIDE
29    0x00000000, // DB_RENDER_OVERRIDE2
30    0x00000000, // DB_HTILE_DATA_BASE
31    0x00000000, // DB_HTILE_DATA_BASE_HI
32    0x00000000, // DB_DEPTH_SIZE
33    0x00000000, // DB_DEPTH_BOUNDS_MIN
34    0x00000000, // DB_DEPTH_BOUNDS_MAX
35    0x00000000, // DB_STENCIL_CLEAR
36    0x00000000, // DB_DEPTH_CLEAR
37    0x00000000, // PA_SC_SCREEN_SCISSOR_TL
38    0x40004000, // PA_SC_SCREEN_SCISSOR_BR
39    0x00000000, // DB_Z_INFO
40    0x00000000, // DB_STENCIL_INFO
41    0x00000000, // DB_Z_READ_BASE
42    0x00000000, // DB_Z_READ_BASE_HI
43    0x00000000, // DB_STENCIL_READ_BASE
44    0x00000000, // DB_STENCIL_READ_BASE_HI
45    0x00000000, // DB_Z_WRITE_BASE
46    0x00000000, // DB_Z_WRITE_BASE_HI
47    0x00000000, // DB_STENCIL_WRITE_BASE
48    0x00000000, // DB_STENCIL_WRITE_BASE_HI
49    0x00000000, // DB_DFSM_CONTROL
50    0, // HOLE
51    0x00000000, // DB_Z_INFO2
52    0x00000000, // DB_STENCIL_INFO2
53    0, // HOLE
54    0, // HOLE
55    0, // HOLE
56    0, // HOLE
57    0x00000000, // TA_BC_BASE_ADDR
58    0x00000000, // TA_BC_BASE_ADDR_HI
59    0, // HOLE
60    0, // HOLE
61    0, // HOLE
62    0, // HOLE
63    0, // HOLE
64    0, // HOLE
65    0, // HOLE
66    0, // HOLE
67    0, // HOLE
68    0, // HOLE
69    0, // HOLE
70    0, // HOLE
71    0, // HOLE
72    0, // HOLE
73    0, // HOLE
74    0, // HOLE
75    0, // HOLE
76    0, // HOLE
77    0, // HOLE
78    0, // HOLE
79    0, // HOLE
80    0, // HOLE
81    0, // HOLE
82    0, // HOLE
83    0, // HOLE
84    0, // HOLE
85    0, // HOLE
86    0, // HOLE
87    0, // HOLE
88    0, // HOLE
89    0, // HOLE
90    0, // HOLE
91    0, // HOLE
92    0, // HOLE
93    0, // HOLE
94    0, // HOLE
95    0, // HOLE
96    0, // HOLE
97    0, // HOLE
98    0, // HOLE
99    0, // HOLE
100    0, // HOLE
101    0, // HOLE
102    0, // HOLE
103    0, // HOLE
104    0, // HOLE
105    0, // HOLE
106    0, // HOLE
107    0, // HOLE
108    0, // HOLE
109    0, // HOLE
110    0, // HOLE
111    0, // HOLE
112    0, // HOLE
113    0, // HOLE
114    0, // HOLE
115    0, // HOLE
116    0, // HOLE
117    0, // HOLE
118    0, // HOLE
119    0, // HOLE
120    0, // HOLE
121    0, // HOLE
122    0, // HOLE
123    0, // HOLE
124    0, // HOLE
125    0, // HOLE
126    0, // HOLE
127    0, // HOLE
128    0, // HOLE
129    0, // HOLE
130    0, // HOLE
131    0, // HOLE
132    0, // HOLE
133    0, // HOLE
134    0, // HOLE
135    0, // HOLE
136    0, // HOLE
137    0, // HOLE
138    0, // HOLE
139    0, // HOLE
140    0, // HOLE
141    0, // HOLE
142    0, // HOLE
143    0, // HOLE
144    0, // HOLE
145    0, // HOLE
146    0, // HOLE
147    0x00000000, // COHER_DEST_BASE_HI_0
148    0x00000000, // COHER_DEST_BASE_HI_1
149    0x00000000, // COHER_DEST_BASE_HI_2
150    0x00000000, // COHER_DEST_BASE_HI_3
151    0x00000000, // COHER_DEST_BASE_2
152    0x00000000, // COHER_DEST_BASE_3
153    0x00000000, // PA_SC_WINDOW_OFFSET
154    0x80000000, // PA_SC_WINDOW_SCISSOR_TL
155    0x40004000, // PA_SC_WINDOW_SCISSOR_BR
156    0x0000ffff, // PA_SC_CLIPRECT_RULE
157    0x00000000, // PA_SC_CLIPRECT_0_TL
158    0x40004000, // PA_SC_CLIPRECT_0_BR
159    0x00000000, // PA_SC_CLIPRECT_1_TL
160    0x40004000, // PA_SC_CLIPRECT_1_BR
161    0x00000000, // PA_SC_CLIPRECT_2_TL
162    0x40004000, // PA_SC_CLIPRECT_2_BR
163    0x00000000, // PA_SC_CLIPRECT_3_TL
164    0x40004000, // PA_SC_CLIPRECT_3_BR
165    0xaa99aaaa, // PA_SC_EDGERULE
166    0x00000000, // PA_SU_HARDWARE_SCREEN_OFFSET
167    0xffffffff, // CB_TARGET_MASK
168    0xffffffff, // CB_SHADER_MASK
169    0x80000000, // PA_SC_GENERIC_SCISSOR_TL
170    0x40004000, // PA_SC_GENERIC_SCISSOR_BR
171    0x00000000, // COHER_DEST_BASE_0
172    0x00000000, // COHER_DEST_BASE_1
173    0x80000000, // PA_SC_VPORT_SCISSOR_0_TL
174    0x40004000, // PA_SC_VPORT_SCISSOR_0_BR
175    0x80000000, // PA_SC_VPORT_SCISSOR_1_TL
176    0x40004000, // PA_SC_VPORT_SCISSOR_1_BR
177    0x80000000, // PA_SC_VPORT_SCISSOR_2_TL
178    0x40004000, // PA_SC_VPORT_SCISSOR_2_BR
179    0x80000000, // PA_SC_VPORT_SCISSOR_3_TL
180    0x40004000, // PA_SC_VPORT_SCISSOR_3_BR
181    0x80000000, // PA_SC_VPORT_SCISSOR_4_TL
182    0x40004000, // PA_SC_VPORT_SCISSOR_4_BR
183    0x80000000, // PA_SC_VPORT_SCISSOR_5_TL
184    0x40004000, // PA_SC_VPORT_SCISSOR_5_BR
185    0x80000000, // PA_SC_VPORT_SCISSOR_6_TL
186    0x40004000, // PA_SC_VPORT_SCISSOR_6_BR
187    0x80000000, // PA_SC_VPORT_SCISSOR_7_TL
188    0x40004000, // PA_SC_VPORT_SCISSOR_7_BR
189    0x80000000, // PA_SC_VPORT_SCISSOR_8_TL
190    0x40004000, // PA_SC_VPORT_SCISSOR_8_BR
191    0x80000000, // PA_SC_VPORT_SCISSOR_9_TL
192    0x40004000, // PA_SC_VPORT_SCISSOR_9_BR
193    0x80000000, // PA_SC_VPORT_SCISSOR_10_TL
194    0x40004000, // PA_SC_VPORT_SCISSOR_10_BR
195    0x80000000, // PA_SC_VPORT_SCISSOR_11_TL
196    0x40004000, // PA_SC_VPORT_SCISSOR_11_BR
197    0x80000000, // PA_SC_VPORT_SCISSOR_12_TL
198    0x40004000, // PA_SC_VPORT_SCISSOR_12_BR
199    0x80000000, // PA_SC_VPORT_SCISSOR_13_TL
200    0x40004000, // PA_SC_VPORT_SCISSOR_13_BR
201    0x80000000, // PA_SC_VPORT_SCISSOR_14_TL
202    0x40004000, // PA_SC_VPORT_SCISSOR_14_BR
203    0x80000000, // PA_SC_VPORT_SCISSOR_15_TL
204    0x40004000, // PA_SC_VPORT_SCISSOR_15_BR
205    0x00000000, // PA_SC_VPORT_ZMIN_0
206    0x3f800000, // PA_SC_VPORT_ZMAX_0
207    0x00000000, // PA_SC_VPORT_ZMIN_1
208    0x3f800000, // PA_SC_VPORT_ZMAX_1
209    0x00000000, // PA_SC_VPORT_ZMIN_2
210    0x3f800000, // PA_SC_VPORT_ZMAX_2
211    0x00000000, // PA_SC_VPORT_ZMIN_3
212    0x3f800000, // PA_SC_VPORT_ZMAX_3
213    0x00000000, // PA_SC_VPORT_ZMIN_4
214    0x3f800000, // PA_SC_VPORT_ZMAX_4
215    0x00000000, // PA_SC_VPORT_ZMIN_5
216    0x3f800000, // PA_SC_VPORT_ZMAX_5
217    0x00000000, // PA_SC_VPORT_ZMIN_6
218    0x3f800000, // PA_SC_VPORT_ZMAX_6
219    0x00000000, // PA_SC_VPORT_ZMIN_7
220    0x3f800000, // PA_SC_VPORT_ZMAX_7
221    0x00000000, // PA_SC_VPORT_ZMIN_8
222    0x3f800000, // PA_SC_VPORT_ZMAX_8
223    0x00000000, // PA_SC_VPORT_ZMIN_9
224    0x3f800000, // PA_SC_VPORT_ZMAX_9
225    0x00000000, // PA_SC_VPORT_ZMIN_10
226    0x3f800000, // PA_SC_VPORT_ZMAX_10
227    0x00000000, // PA_SC_VPORT_ZMIN_11
228    0x3f800000, // PA_SC_VPORT_ZMAX_11
229    0x00000000, // PA_SC_VPORT_ZMIN_12
230    0x3f800000, // PA_SC_VPORT_ZMAX_12
231    0x00000000, // PA_SC_VPORT_ZMIN_13
232    0x3f800000, // PA_SC_VPORT_ZMAX_13
233    0x00000000, // PA_SC_VPORT_ZMIN_14
234    0x3f800000, // PA_SC_VPORT_ZMAX_14
235    0x00000000, // PA_SC_VPORT_ZMIN_15
236    0x3f800000, // PA_SC_VPORT_ZMAX_15
237};
238static const unsigned int gfx9_SECT_CONTEXT_def_2[] = {
239    0x00000000, // PA_SC_SCREEN_EXTENT_CONTROL
240    0x00000000, // PA_SC_TILE_STEERING_OVERRIDE
241    0x00000000, // CP_PERFMON_CNTX_CNTL
242    0x00000000, // CP_RINGID
243    0x00000000, // CP_VMID
244    0, // HOLE
245    0, // HOLE
246    0, // HOLE
247    0, // HOLE
248    0, // HOLE
249    0, // HOLE
250    0, // HOLE
251    0, // HOLE
252    0, // HOLE
253    0, // HOLE
254    0, // HOLE
255    0, // HOLE
256    0, // HOLE
257    0x00000000, // PA_SC_RIGHT_VERT_GRID
258    0x00000000, // PA_SC_LEFT_VERT_GRID
259    0x00000000, // PA_SC_HORIZ_GRID
260    0, // HOLE
261    0, // HOLE
262    0, // HOLE
263    0, // HOLE
264    0, // HOLE
265    0, // HOLE
266    0, // HOLE
267    0, // HOLE
268    0, // HOLE
269    0, // HOLE
270    0, // HOLE
271    0, // HOLE
272    0, // HOLE
273    0, // HOLE
274    0, // HOLE
275    0, // HOLE
276    0, // HOLE
277    0, // HOLE
278    0, // HOLE
279    0, // HOLE
280    0, // HOLE
281    0, // HOLE
282    0, // HOLE
283    0, // HOLE
284    0x00000000, // VGT_MULTI_PRIM_IB_RESET_INDX
285    0, // HOLE
286    0x00000000, // CB_BLEND_RED
287    0x00000000, // CB_BLEND_GREEN
288    0x00000000, // CB_BLEND_BLUE
289    0x00000000, // CB_BLEND_ALPHA
290    0x00000000, // CB_DCC_CONTROL
291    0, // HOLE
292    0x00000000, // DB_STENCIL_CONTROL
293    0x01000000, // DB_STENCILREFMASK
294    0x01000000, // DB_STENCILREFMASK_BF
295    0, // HOLE
296    0x00000000, // PA_CL_VPORT_XSCALE
297    0x00000000, // PA_CL_VPORT_XOFFSET
298    0x00000000, // PA_CL_VPORT_YSCALE
299    0x00000000, // PA_CL_VPORT_YOFFSET
300    0x00000000, // PA_CL_VPORT_ZSCALE
301    0x00000000, // PA_CL_VPORT_ZOFFSET
302    0x00000000, // PA_CL_VPORT_XSCALE_1
303    0x00000000, // PA_CL_VPORT_XOFFSET_1
304    0x00000000, // PA_CL_VPORT_YSCALE_1
305    0x00000000, // PA_CL_VPORT_YOFFSET_1
306    0x00000000, // PA_CL_VPORT_ZSCALE_1
307    0x00000000, // PA_CL_VPORT_ZOFFSET_1
308    0x00000000, // PA_CL_VPORT_XSCALE_2
309    0x00000000, // PA_CL_VPORT_XOFFSET_2
310    0x00000000, // PA_CL_VPORT_YSCALE_2
311    0x00000000, // PA_CL_VPORT_YOFFSET_2
312    0x00000000, // PA_CL_VPORT_ZSCALE_2
313    0x00000000, // PA_CL_VPORT_ZOFFSET_2
314    0x00000000, // PA_CL_VPORT_XSCALE_3
315    0x00000000, // PA_CL_VPORT_XOFFSET_3
316    0x00000000, // PA_CL_VPORT_YSCALE_3
317    0x00000000, // PA_CL_VPORT_YOFFSET_3
318    0x00000000, // PA_CL_VPORT_ZSCALE_3
319    0x00000000, // PA_CL_VPORT_ZOFFSET_3
320    0x00000000, // PA_CL_VPORT_XSCALE_4
321    0x00000000, // PA_CL_VPORT_XOFFSET_4
322    0x00000000, // PA_CL_VPORT_YSCALE_4
323    0x00000000, // PA_CL_VPORT_YOFFSET_4
324    0x00000000, // PA_CL_VPORT_ZSCALE_4
325    0x00000000, // PA_CL_VPORT_ZOFFSET_4
326    0x00000000, // PA_CL_VPORT_XSCALE_5
327    0x00000000, // PA_CL_VPORT_XOFFSET_5
328    0x00000000, // PA_CL_VPORT_YSCALE_5
329    0x00000000, // PA_CL_VPORT_YOFFSET_5
330    0x00000000, // PA_CL_VPORT_ZSCALE_5
331    0x00000000, // PA_CL_VPORT_ZOFFSET_5
332    0x00000000, // PA_CL_VPORT_XSCALE_6
333    0x00000000, // PA_CL_VPORT_XOFFSET_6
334    0x00000000, // PA_CL_VPORT_YSCALE_6
335    0x00000000, // PA_CL_VPORT_YOFFSET_6
336    0x00000000, // PA_CL_VPORT_ZSCALE_6
337    0x00000000, // PA_CL_VPORT_ZOFFSET_6
338    0x00000000, // PA_CL_VPORT_XSCALE_7
339    0x00000000, // PA_CL_VPORT_XOFFSET_7
340    0x00000000, // PA_CL_VPORT_YSCALE_7
341    0x00000000, // PA_CL_VPORT_YOFFSET_7
342    0x00000000, // PA_CL_VPORT_ZSCALE_7
343    0x00000000, // PA_CL_VPORT_ZOFFSET_7
344    0x00000000, // PA_CL_VPORT_XSCALE_8
345    0x00000000, // PA_CL_VPORT_XOFFSET_8
346    0x00000000, // PA_CL_VPORT_YSCALE_8
347    0x00000000, // PA_CL_VPORT_YOFFSET_8
348    0x00000000, // PA_CL_VPORT_ZSCALE_8
349    0x00000000, // PA_CL_VPORT_ZOFFSET_8
350    0x00000000, // PA_CL_VPORT_XSCALE_9
351    0x00000000, // PA_CL_VPORT_XOFFSET_9
352    0x00000000, // PA_CL_VPORT_YSCALE_9
353    0x00000000, // PA_CL_VPORT_YOFFSET_9
354    0x00000000, // PA_CL_VPORT_ZSCALE_9
355    0x00000000, // PA_CL_VPORT_ZOFFSET_9
356    0x00000000, // PA_CL_VPORT_XSCALE_10
357    0x00000000, // PA_CL_VPORT_XOFFSET_10
358    0x00000000, // PA_CL_VPORT_YSCALE_10
359    0x00000000, // PA_CL_VPORT_YOFFSET_10
360    0x00000000, // PA_CL_VPORT_ZSCALE_10
361    0x00000000, // PA_CL_VPORT_ZOFFSET_10
362    0x00000000, // PA_CL_VPORT_XSCALE_11
363    0x00000000, // PA_CL_VPORT_XOFFSET_11
364    0x00000000, // PA_CL_VPORT_YSCALE_11
365    0x00000000, // PA_CL_VPORT_YOFFSET_11
366    0x00000000, // PA_CL_VPORT_ZSCALE_11
367    0x00000000, // PA_CL_VPORT_ZOFFSET_11
368    0x00000000, // PA_CL_VPORT_XSCALE_12
369    0x00000000, // PA_CL_VPORT_XOFFSET_12
370    0x00000000, // PA_CL_VPORT_YSCALE_12
371    0x00000000, // PA_CL_VPORT_YOFFSET_12
372    0x00000000, // PA_CL_VPORT_ZSCALE_12
373    0x00000000, // PA_CL_VPORT_ZOFFSET_12
374    0x00000000, // PA_CL_VPORT_XSCALE_13
375    0x00000000, // PA_CL_VPORT_XOFFSET_13
376    0x00000000, // PA_CL_VPORT_YSCALE_13
377    0x00000000, // PA_CL_VPORT_YOFFSET_13
378    0x00000000, // PA_CL_VPORT_ZSCALE_13
379    0x00000000, // PA_CL_VPORT_ZOFFSET_13
380    0x00000000, // PA_CL_VPORT_XSCALE_14
381    0x00000000, // PA_CL_VPORT_XOFFSET_14
382    0x00000000, // PA_CL_VPORT_YSCALE_14
383    0x00000000, // PA_CL_VPORT_YOFFSET_14
384    0x00000000, // PA_CL_VPORT_ZSCALE_14
385    0x00000000, // PA_CL_VPORT_ZOFFSET_14
386    0x00000000, // PA_CL_VPORT_XSCALE_15
387    0x00000000, // PA_CL_VPORT_XOFFSET_15
388    0x00000000, // PA_CL_VPORT_YSCALE_15
389    0x00000000, // PA_CL_VPORT_YOFFSET_15
390    0x00000000, // PA_CL_VPORT_ZSCALE_15
391    0x00000000, // PA_CL_VPORT_ZOFFSET_15
392    0x00000000, // PA_CL_UCP_0_X
393    0x00000000, // PA_CL_UCP_0_Y
394    0x00000000, // PA_CL_UCP_0_Z
395    0x00000000, // PA_CL_UCP_0_W
396    0x00000000, // PA_CL_UCP_1_X
397    0x00000000, // PA_CL_UCP_1_Y
398    0x00000000, // PA_CL_UCP_1_Z
399    0x00000000, // PA_CL_UCP_1_W
400    0x00000000, // PA_CL_UCP_2_X
401    0x00000000, // PA_CL_UCP_2_Y
402    0x00000000, // PA_CL_UCP_2_Z
403    0x00000000, // PA_CL_UCP_2_W
404    0x00000000, // PA_CL_UCP_3_X
405    0x00000000, // PA_CL_UCP_3_Y
406    0x00000000, // PA_CL_UCP_3_Z
407    0x00000000, // PA_CL_UCP_3_W
408    0x00000000, // PA_CL_UCP_4_X
409    0x00000000, // PA_CL_UCP_4_Y
410    0x00000000, // PA_CL_UCP_4_Z
411    0x00000000, // PA_CL_UCP_4_W
412    0x00000000, // PA_CL_UCP_5_X
413    0x00000000, // PA_CL_UCP_5_Y
414    0x00000000, // PA_CL_UCP_5_Z
415    0x00000000, // PA_CL_UCP_5_W
416    0, // HOLE
417    0, // HOLE
418    0, // HOLE
419    0, // HOLE
420    0, // HOLE
421    0, // HOLE
422    0, // HOLE
423    0, // HOLE
424    0, // HOLE
425    0, // HOLE
426    0x00000000, // SPI_PS_INPUT_CNTL_0
427    0x00000000, // SPI_PS_INPUT_CNTL_1
428    0x00000000, // SPI_PS_INPUT_CNTL_2
429    0x00000000, // SPI_PS_INPUT_CNTL_3
430    0x00000000, // SPI_PS_INPUT_CNTL_4
431    0x00000000, // SPI_PS_INPUT_CNTL_5
432    0x00000000, // SPI_PS_INPUT_CNTL_6
433    0x00000000, // SPI_PS_INPUT_CNTL_7
434    0x00000000, // SPI_PS_INPUT_CNTL_8
435    0x00000000, // SPI_PS_INPUT_CNTL_9
436    0x00000000, // SPI_PS_INPUT_CNTL_10
437    0x00000000, // SPI_PS_INPUT_CNTL_11
438    0x00000000, // SPI_PS_INPUT_CNTL_12
439    0x00000000, // SPI_PS_INPUT_CNTL_13
440    0x00000000, // SPI_PS_INPUT_CNTL_14
441    0x00000000, // SPI_PS_INPUT_CNTL_15
442    0x00000000, // SPI_PS_INPUT_CNTL_16
443    0x00000000, // SPI_PS_INPUT_CNTL_17
444    0x00000000, // SPI_PS_INPUT_CNTL_18
445    0x00000000, // SPI_PS_INPUT_CNTL_19
446    0x00000000, // SPI_PS_INPUT_CNTL_20
447    0x00000000, // SPI_PS_INPUT_CNTL_21
448    0x00000000, // SPI_PS_INPUT_CNTL_22
449    0x00000000, // SPI_PS_INPUT_CNTL_23
450    0x00000000, // SPI_PS_INPUT_CNTL_24
451    0x00000000, // SPI_PS_INPUT_CNTL_25
452    0x00000000, // SPI_PS_INPUT_CNTL_26
453    0x00000000, // SPI_PS_INPUT_CNTL_27
454    0x00000000, // SPI_PS_INPUT_CNTL_28
455    0x00000000, // SPI_PS_INPUT_CNTL_29
456    0x00000000, // SPI_PS_INPUT_CNTL_30
457    0x00000000, // SPI_PS_INPUT_CNTL_31
458    0x00000000, // SPI_VS_OUT_CONFIG
459    0, // HOLE
460    0x00000000, // SPI_PS_INPUT_ENA
461    0x00000000, // SPI_PS_INPUT_ADDR
462    0x00000000, // SPI_INTERP_CONTROL_0
463    0x00000002, // SPI_PS_IN_CONTROL
464    0, // HOLE
465    0x00000000, // SPI_BARYC_CNTL
466    0, // HOLE
467    0x00000000, // SPI_TMPRING_SIZE
468    0, // HOLE
469    0, // HOLE
470    0, // HOLE
471    0, // HOLE
472    0, // HOLE
473    0, // HOLE
474    0, // HOLE
475    0, // HOLE
476    0x00000000, // SPI_SHADER_POS_FORMAT
477    0x00000000, // SPI_SHADER_Z_FORMAT
478    0x00000000, // SPI_SHADER_COL_FORMAT
479    0, // HOLE
480    0, // HOLE
481    0, // HOLE
482    0, // HOLE
483    0, // HOLE
484    0, // HOLE
485    0, // HOLE
486    0, // HOLE
487    0, // HOLE
488    0, // HOLE
489    0, // HOLE
490    0, // HOLE
491    0, // HOLE
492    0, // HOLE
493    0, // HOLE
494    0x00000000, // SX_PS_DOWNCONVERT
495    0x00000000, // SX_BLEND_OPT_EPSILON
496    0x00000000, // SX_BLEND_OPT_CONTROL
497    0x00000000, // SX_MRT0_BLEND_OPT
498    0x00000000, // SX_MRT1_BLEND_OPT
499    0x00000000, // SX_MRT2_BLEND_OPT
500    0x00000000, // SX_MRT3_BLEND_OPT
501    0x00000000, // SX_MRT4_BLEND_OPT
502    0x00000000, // SX_MRT5_BLEND_OPT
503    0x00000000, // SX_MRT6_BLEND_OPT
504    0x00000000, // SX_MRT7_BLEND_OPT
505    0x00000000, // CB_BLEND0_CONTROL
506    0x00000000, // CB_BLEND1_CONTROL
507    0x00000000, // CB_BLEND2_CONTROL
508    0x00000000, // CB_BLEND3_CONTROL
509    0x00000000, // CB_BLEND4_CONTROL
510    0x00000000, // CB_BLEND5_CONTROL
511    0x00000000, // CB_BLEND6_CONTROL
512    0x00000000, // CB_BLEND7_CONTROL
513    0x00000000, // CB_MRT0_EPITCH
514    0x00000000, // CB_MRT1_EPITCH
515    0x00000000, // CB_MRT2_EPITCH
516    0x00000000, // CB_MRT3_EPITCH
517    0x00000000, // CB_MRT4_EPITCH
518    0x00000000, // CB_MRT5_EPITCH
519    0x00000000, // CB_MRT6_EPITCH
520    0x00000000, // CB_MRT7_EPITCH
521};
522static const unsigned int gfx9_SECT_CONTEXT_def_3[] = {
523    0x00000000, // PA_CL_POINT_X_RAD
524    0x00000000, // PA_CL_POINT_Y_RAD
525    0x00000000, // PA_CL_POINT_SIZE
526    0x00000000, // PA_CL_POINT_CULL_RAD
527};
528static const unsigned int gfx9_SECT_CONTEXT_def_4[] = {
529    0x00000000, // DB_DEPTH_CONTROL
530    0x00000000, // DB_EQAA
531    0x00000000, // CB_COLOR_CONTROL
532    0x00000000, // DB_SHADER_CONTROL
533    0x00090000, // PA_CL_CLIP_CNTL
534    0x00000004, // PA_SU_SC_MODE_CNTL
535    0x00000000, // PA_CL_VTE_CNTL
536    0x00000000, // PA_CL_VS_OUT_CNTL
537    0x00000000, // PA_CL_NANINF_CNTL
538    0x00000000, // PA_SU_LINE_STIPPLE_CNTL
539    0x00000000, // PA_SU_LINE_STIPPLE_SCALE
540    0x00000000, // PA_SU_PRIM_FILTER_CNTL
541    0x00000000, // PA_SU_SMALL_PRIM_FILTER_CNTL
542    0x00000000, // PA_CL_OBJPRIM_ID_CNTL
543    0x00000000, // PA_CL_NGG_CNTL
544    0x00000000, // PA_SU_OVER_RASTERIZATION_CNTL
545    0, // HOLE
546    0, // HOLE
547    0, // HOLE
548    0, // HOLE
549    0, // HOLE
550    0, // HOLE
551    0, // HOLE
552    0, // HOLE
553    0, // HOLE
554    0, // HOLE
555    0, // HOLE
556    0, // HOLE
557    0, // HOLE
558    0, // HOLE
559    0, // HOLE
560    0, // HOLE
561    0, // HOLE
562    0, // HOLE
563    0, // HOLE
564    0, // HOLE
565    0, // HOLE
566    0, // HOLE
567    0, // HOLE
568    0, // HOLE
569    0, // HOLE
570    0, // HOLE
571    0, // HOLE
572    0, // HOLE
573    0, // HOLE
574    0, // HOLE
575    0, // HOLE
576    0, // HOLE
577    0, // HOLE
578    0, // HOLE
579    0, // HOLE
580    0, // HOLE
581    0, // HOLE
582    0, // HOLE
583    0, // HOLE
584    0, // HOLE
585    0, // HOLE
586    0, // HOLE
587    0, // HOLE
588    0, // HOLE
589    0, // HOLE
590    0, // HOLE
591    0, // HOLE
592    0, // HOLE
593    0, // HOLE
594    0, // HOLE
595    0, // HOLE
596    0, // HOLE
597    0, // HOLE
598    0, // HOLE
599    0, // HOLE
600    0, // HOLE
601    0, // HOLE
602    0, // HOLE
603    0, // HOLE
604    0, // HOLE
605    0, // HOLE
606    0, // HOLE
607    0, // HOLE
608    0, // HOLE
609    0, // HOLE
610    0, // HOLE
611    0, // HOLE
612    0, // HOLE
613    0, // HOLE
614    0, // HOLE
615    0, // HOLE
616    0, // HOLE
617    0, // HOLE
618    0, // HOLE
619    0, // HOLE
620    0, // HOLE
621    0, // HOLE
622    0, // HOLE
623    0, // HOLE
624    0, // HOLE
625    0, // HOLE
626    0, // HOLE
627    0, // HOLE
628    0, // HOLE
629    0, // HOLE
630    0, // HOLE
631    0, // HOLE
632    0, // HOLE
633    0, // HOLE
634    0, // HOLE
635    0, // HOLE
636    0, // HOLE
637    0, // HOLE
638    0, // HOLE
639    0, // HOLE
640    0, // HOLE
641    0, // HOLE
642    0, // HOLE
643    0, // HOLE
644    0, // HOLE
645    0, // HOLE
646    0, // HOLE
647    0, // HOLE
648    0, // HOLE
649    0, // HOLE
650    0, // HOLE
651    0, // HOLE
652    0, // HOLE
653    0, // HOLE
654    0, // HOLE
655    0, // HOLE
656    0, // HOLE
657    0x00000000, // PA_SU_POINT_SIZE
658    0x00000000, // PA_SU_POINT_MINMAX
659    0x00000000, // PA_SU_LINE_CNTL
660    0x00000000, // PA_SC_LINE_STIPPLE
661    0x00000000, // VGT_OUTPUT_PATH_CNTL
662    0x00000000, // VGT_HOS_CNTL
663    0x00000000, // VGT_HOS_MAX_TESS_LEVEL
664    0x00000000, // VGT_HOS_MIN_TESS_LEVEL
665    0x00000000, // VGT_HOS_REUSE_DEPTH
666    0x00000000, // VGT_GROUP_PRIM_TYPE
667    0x00000000, // VGT_GROUP_FIRST_DECR
668    0x00000000, // VGT_GROUP_DECR
669    0x00000000, // VGT_GROUP_VECT_0_CNTL
670    0x00000000, // VGT_GROUP_VECT_1_CNTL
671    0x00000000, // VGT_GROUP_VECT_0_FMT_CNTL
672    0x00000000, // VGT_GROUP_VECT_1_FMT_CNTL
673    0x00000000, // VGT_GS_MODE
674    0x00000000, // VGT_GS_ONCHIP_CNTL
675    0x00000000, // PA_SC_MODE_CNTL_0
676    0x00000000, // PA_SC_MODE_CNTL_1
677    0x00000000, // VGT_ENHANCE
678    0x00000100, // VGT_GS_PER_ES
679    0x00000080, // VGT_ES_PER_GS
680    0x00000002, // VGT_GS_PER_VS
681    0x00000000, // VGT_GSVS_RING_OFFSET_1
682    0x00000000, // VGT_GSVS_RING_OFFSET_2
683    0x00000000, // VGT_GSVS_RING_OFFSET_3
684    0x00000000, // VGT_GS_OUT_PRIM_TYPE
685    0x00000000, // IA_ENHANCE
686};
687static const unsigned int gfx9_SECT_CONTEXT_def_5[] = {
688    0x00000000, // WD_ENHANCE
689    0x00000000, // VGT_PRIMITIVEID_EN
690};
691static const unsigned int gfx9_SECT_CONTEXT_def_6[] = {
692    0x00000000, // VGT_PRIMITIVEID_RESET
693};
694static const unsigned int gfx9_SECT_CONTEXT_def_7[] = {
695    0x00000000, // VGT_GS_MAX_PRIMS_PER_SUBGROUP
696    0x00000000, // VGT_DRAW_PAYLOAD_CNTL
697    0, // HOLE
698    0x00000000, // VGT_INSTANCE_STEP_RATE_0
699    0x00000000, // VGT_INSTANCE_STEP_RATE_1
700    0, // HOLE
701    0x00000000, // VGT_ESGS_RING_ITEMSIZE
702    0x00000000, // VGT_GSVS_RING_ITEMSIZE
703    0x00000000, // VGT_REUSE_OFF
704    0x00000000, // VGT_VTX_CNT_EN
705    0x00000000, // DB_HTILE_SURFACE
706    0x00000000, // DB_SRESULTS_COMPARE_STATE0
707    0x00000000, // DB_SRESULTS_COMPARE_STATE1
708    0x00000000, // DB_PRELOAD_CONTROL
709    0, // HOLE
710    0x00000000, // VGT_STRMOUT_BUFFER_SIZE_0
711    0x00000000, // VGT_STRMOUT_VTX_STRIDE_0
712    0, // HOLE
713    0x00000000, // VGT_STRMOUT_BUFFER_OFFSET_0
714    0x00000000, // VGT_STRMOUT_BUFFER_SIZE_1
715    0x00000000, // VGT_STRMOUT_VTX_STRIDE_1
716    0, // HOLE
717    0x00000000, // VGT_STRMOUT_BUFFER_OFFSET_1
718    0x00000000, // VGT_STRMOUT_BUFFER_SIZE_2
719    0x00000000, // VGT_STRMOUT_VTX_STRIDE_2
720    0, // HOLE
721    0x00000000, // VGT_STRMOUT_BUFFER_OFFSET_2
722    0x00000000, // VGT_STRMOUT_BUFFER_SIZE_3
723    0x00000000, // VGT_STRMOUT_VTX_STRIDE_3
724    0, // HOLE
725    0x00000000, // VGT_STRMOUT_BUFFER_OFFSET_3
726    0, // HOLE
727    0, // HOLE
728    0, // HOLE
729    0, // HOLE
730    0, // HOLE
731    0, // HOLE
732    0x00000000, // VGT_STRMOUT_DRAW_OPAQUE_OFFSET
733    0x00000000, // VGT_STRMOUT_DRAW_OPAQUE_BUFFER_FILLED_SIZE
734    0x00000000, // VGT_STRMOUT_DRAW_OPAQUE_VERTEX_STRIDE
735    0, // HOLE
736    0x00000000, // VGT_GS_MAX_VERT_OUT
737    0, // HOLE
738    0, // HOLE
739    0, // HOLE
740    0, // HOLE
741    0, // HOLE
742    0x00000000, // VGT_TESS_DISTRIBUTION
743    0x00000000, // VGT_SHADER_STAGES_EN
744    0x00000000, // VGT_LS_HS_CONFIG
745    0x00000000, // VGT_GS_VERT_ITEMSIZE
746    0x00000000, // VGT_GS_VERT_ITEMSIZE_1
747    0x00000000, // VGT_GS_VERT_ITEMSIZE_2
748    0x00000000, // VGT_GS_VERT_ITEMSIZE_3
749    0x00000000, // VGT_TF_PARAM
750    0x00000000, // DB_ALPHA_TO_MASK
751    0x00000000, // VGT_DISPATCH_DRAW_INDEX
752    0x00000000, // PA_SU_POLY_OFFSET_DB_FMT_CNTL
753    0x00000000, // PA_SU_POLY_OFFSET_CLAMP
754    0x00000000, // PA_SU_POLY_OFFSET_FRONT_SCALE
755    0x00000000, // PA_SU_POLY_OFFSET_FRONT_OFFSET
756    0x00000000, // PA_SU_POLY_OFFSET_BACK_SCALE
757    0x00000000, // PA_SU_POLY_OFFSET_BACK_OFFSET
758    0x00000000, // VGT_GS_INSTANCE_CNT
759    0x00000000, // VGT_STRMOUT_CONFIG
760    0x00000000, // VGT_STRMOUT_BUFFER_CONFIG
761};
762static const unsigned int gfx9_SECT_CONTEXT_def_8[] = {
763    0x00000000, // PA_SC_CENTROID_PRIORITY_0
764    0x00000000, // PA_SC_CENTROID_PRIORITY_1
765    0x00001000, // PA_SC_LINE_CNTL
766    0x00000000, // PA_SC_AA_CONFIG
767    0x00000005, // PA_SU_VTX_CNTL
768    0x3f800000, // PA_CL_GB_VERT_CLIP_ADJ
769    0x3f800000, // PA_CL_GB_VERT_DISC_ADJ
770    0x3f800000, // PA_CL_GB_HORZ_CLIP_ADJ
771    0x3f800000, // PA_CL_GB_HORZ_DISC_ADJ
772    0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y0_0
773    0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y0_1
774    0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y0_2
775    0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y0_3
776    0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y0_0
777    0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y0_1
778    0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y0_2
779    0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y0_3
780    0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y1_0
781    0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y1_1
782    0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y1_2
783    0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y1_3
784    0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y1_0
785    0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y1_1
786    0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y1_2
787    0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y1_3
788    0xffffffff, // PA_SC_AA_MASK_X0Y0_X1Y0
789    0xffffffff, // PA_SC_AA_MASK_X0Y1_X1Y1
790    0x00000000, // PA_SC_SHADER_CONTROL
791    0x00000003, // PA_SC_BINNER_CNTL_0
792    0x00000000, // PA_SC_BINNER_CNTL_1
793    0x00000000, // PA_SC_CONSERVATIVE_RASTERIZATION_CNTL
794    0x00000000, // PA_SC_NGG_MODE_CNTL
795    0, // HOLE
796    0x0000001e, // VGT_VERTEX_REUSE_BLOCK_CNTL
797    0x00000020, // VGT_OUT_DEALLOC_CNTL
798    0x00000000, // CB_COLOR0_BASE
799    0x00000000, // CB_COLOR0_BASE_EXT
800    0x00000000, // CB_COLOR0_ATTRIB2
801    0x00000000, // CB_COLOR0_VIEW
802    0x00000000, // CB_COLOR0_INFO
803    0x00000000, // CB_COLOR0_ATTRIB
804    0x00000000, // CB_COLOR0_DCC_CONTROL
805    0x00000000, // CB_COLOR0_CMASK
806    0x00000000, // CB_COLOR0_CMASK_BASE_EXT
807    0x00000000, // CB_COLOR0_FMASK
808    0x00000000, // CB_COLOR0_FMASK_BASE_EXT
809    0x00000000, // CB_COLOR0_CLEAR_WORD0
810    0x00000000, // CB_COLOR0_CLEAR_WORD1
811    0x00000000, // CB_COLOR0_DCC_BASE
812    0x00000000, // CB_COLOR0_DCC_BASE_EXT
813    0x00000000, // CB_COLOR1_BASE
814    0x00000000, // CB_COLOR1_BASE_EXT
815    0x00000000, // CB_COLOR1_ATTRIB2
816    0x00000000, // CB_COLOR1_VIEW
817    0x00000000, // CB_COLOR1_INFO
818    0x00000000, // CB_COLOR1_ATTRIB
819    0x00000000, // CB_COLOR1_DCC_CONTROL
820    0x00000000, // CB_COLOR1_CMASK
821    0x00000000, // CB_COLOR1_CMASK_BASE_EXT
822    0x00000000, // CB_COLOR1_FMASK
823    0x00000000, // CB_COLOR1_FMASK_BASE_EXT
824    0x00000000, // CB_COLOR1_CLEAR_WORD0
825    0x00000000, // CB_COLOR1_CLEAR_WORD1
826    0x00000000, // CB_COLOR1_DCC_BASE
827    0x00000000, // CB_COLOR1_DCC_BASE_EXT
828    0x00000000, // CB_COLOR2_BASE
829    0x00000000, // CB_COLOR2_BASE_EXT
830    0x00000000, // CB_COLOR2_ATTRIB2
831    0x00000000, // CB_COLOR2_VIEW
832    0x00000000, // CB_COLOR2_INFO
833    0x00000000, // CB_COLOR2_ATTRIB
834    0x00000000, // CB_COLOR2_DCC_CONTROL
835    0x00000000, // CB_COLOR2_CMASK
836    0x00000000, // CB_COLOR2_CMASK_BASE_EXT
837    0x00000000, // CB_COLOR2_FMASK
838    0x00000000, // CB_COLOR2_FMASK_BASE_EXT
839    0x00000000, // CB_COLOR2_CLEAR_WORD0
840    0x00000000, // CB_COLOR2_CLEAR_WORD1
841    0x00000000, // CB_COLOR2_DCC_BASE
842    0x00000000, // CB_COLOR2_DCC_BASE_EXT
843    0x00000000, // CB_COLOR3_BASE
844    0x00000000, // CB_COLOR3_BASE_EXT
845    0x00000000, // CB_COLOR3_ATTRIB2
846    0x00000000, // CB_COLOR3_VIEW
847    0x00000000, // CB_COLOR3_INFO
848    0x00000000, // CB_COLOR3_ATTRIB
849    0x00000000, // CB_COLOR3_DCC_CONTROL
850    0x00000000, // CB_COLOR3_CMASK
851    0x00000000, // CB_COLOR3_CMASK_BASE_EXT
852    0x00000000, // CB_COLOR3_FMASK
853    0x00000000, // CB_COLOR3_FMASK_BASE_EXT
854    0x00000000, // CB_COLOR3_CLEAR_WORD0
855    0x00000000, // CB_COLOR3_CLEAR_WORD1
856    0x00000000, // CB_COLOR3_DCC_BASE
857    0x00000000, // CB_COLOR3_DCC_BASE_EXT
858    0x00000000, // CB_COLOR4_BASE
859    0x00000000, // CB_COLOR4_BASE_EXT
860    0x00000000, // CB_COLOR4_ATTRIB2
861    0x00000000, // CB_COLOR4_VIEW
862    0x00000000, // CB_COLOR4_INFO
863    0x00000000, // CB_COLOR4_ATTRIB
864    0x00000000, // CB_COLOR4_DCC_CONTROL
865    0x00000000, // CB_COLOR4_CMASK
866    0x00000000, // CB_COLOR4_CMASK_BASE_EXT
867    0x00000000, // CB_COLOR4_FMASK
868    0x00000000, // CB_COLOR4_FMASK_BASE_EXT
869    0x00000000, // CB_COLOR4_CLEAR_WORD0
870    0x00000000, // CB_COLOR4_CLEAR_WORD1
871    0x00000000, // CB_COLOR4_DCC_BASE
872    0x00000000, // CB_COLOR4_DCC_BASE_EXT
873    0x00000000, // CB_COLOR5_BASE
874    0x00000000, // CB_COLOR5_BASE_EXT
875    0x00000000, // CB_COLOR5_ATTRIB2
876    0x00000000, // CB_COLOR5_VIEW
877    0x00000000, // CB_COLOR5_INFO
878    0x00000000, // CB_COLOR5_ATTRIB
879    0x00000000, // CB_COLOR5_DCC_CONTROL
880    0x00000000, // CB_COLOR5_CMASK
881    0x00000000, // CB_COLOR5_CMASK_BASE_EXT
882    0x00000000, // CB_COLOR5_FMASK
883    0x00000000, // CB_COLOR5_FMASK_BASE_EXT
884    0x00000000, // CB_COLOR5_CLEAR_WORD0
885    0x00000000, // CB_COLOR5_CLEAR_WORD1
886    0x00000000, // CB_COLOR5_DCC_BASE
887    0x00000000, // CB_COLOR5_DCC_BASE_EXT
888    0x00000000, // CB_COLOR6_BASE
889    0x00000000, // CB_COLOR6_BASE_EXT
890    0x00000000, // CB_COLOR6_ATTRIB2
891    0x00000000, // CB_COLOR6_VIEW
892    0x00000000, // CB_COLOR6_INFO
893    0x00000000, // CB_COLOR6_ATTRIB
894    0x00000000, // CB_COLOR6_DCC_CONTROL
895    0x00000000, // CB_COLOR6_CMASK
896    0x00000000, // CB_COLOR6_CMASK_BASE_EXT
897    0x00000000, // CB_COLOR6_FMASK
898    0x00000000, // CB_COLOR6_FMASK_BASE_EXT
899    0x00000000, // CB_COLOR6_CLEAR_WORD0
900    0x00000000, // CB_COLOR6_CLEAR_WORD1
901    0x00000000, // CB_COLOR6_DCC_BASE
902    0x00000000, // CB_COLOR6_DCC_BASE_EXT
903    0x00000000, // CB_COLOR7_BASE
904    0x00000000, // CB_COLOR7_BASE_EXT
905    0x00000000, // CB_COLOR7_ATTRIB2
906    0x00000000, // CB_COLOR7_VIEW
907    0x00000000, // CB_COLOR7_INFO
908    0x00000000, // CB_COLOR7_ATTRIB
909    0x00000000, // CB_COLOR7_DCC_CONTROL
910    0x00000000, // CB_COLOR7_CMASK
911    0x00000000, // CB_COLOR7_CMASK_BASE_EXT
912    0x00000000, // CB_COLOR7_FMASK
913    0x00000000, // CB_COLOR7_FMASK_BASE_EXT
914    0x00000000, // CB_COLOR7_CLEAR_WORD0
915    0x00000000, // CB_COLOR7_CLEAR_WORD1
916    0x00000000, // CB_COLOR7_DCC_BASE
917    0x00000000, // CB_COLOR7_DCC_BASE_EXT
918};
919static const struct cs_extent_def gfx9_SECT_CONTEXT_defs[] = {
920    {gfx9_SECT_CONTEXT_def_1, 0x0000a000, 212 },
921    {gfx9_SECT_CONTEXT_def_2, 0x0000a0d6, 282 },
922    {gfx9_SECT_CONTEXT_def_3, 0x0000a1f5, 4 },
923    {gfx9_SECT_CONTEXT_def_4, 0x0000a200, 157 },
924    {gfx9_SECT_CONTEXT_def_5, 0x0000a2a0, 2 },
925    {gfx9_SECT_CONTEXT_def_6, 0x0000a2a3, 1 },
926    {gfx9_SECT_CONTEXT_def_7, 0x0000a2a5, 66 },
927    {gfx9_SECT_CONTEXT_def_8, 0x0000a2f5, 155 },
928    { 0, 0, 0 }
929};
930static const struct cs_section_def gfx9_cs_data[] = {
931    { gfx9_SECT_CONTEXT_defs, SECT_CONTEXT },
932    { 0, SECT_NONE }
933};
934