blob: 9a0c947b342c8dbff81e4f7b6128b844797ad2a7 [file] [log] [blame]
Alex Deucher65388342010-03-05 19:22:24 -05001/*
2 * Copyright 2009 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 (including the next
12 * paragraph) shall be included in all copies or substantial portions of the
13 * Software.
14 *
15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18 * THE COPYRIGHT HOLDER(S) AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
19 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
20 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21 * DEALINGS IN THE SOFTWARE.
22 *
23 * Authors:
24 * Alex Deucher <alexander.deucher@amd.com>
25 */
Jerome Glisse3ce0a232009-09-08 10:10:24 +100026
27#include <linux/types.h>
28#include <linux/kernel.h>
29
Alex Deucher65388342010-03-05 19:22:24 -050030/*
31 * R6xx+ cards need to use the 3D engine to blit data which requires
32 * quite a bit of hw state setup. Rather than pull the whole 3D driver
33 * (which normally generates the 3D state) into the DRM, we opt to use
34 * statically generated state tables. The regsiter state and shaders
35 * were hand generated to support blitting functionality. See the 3D
36 * driver or documentation for descriptions of the registers and
37 * shader instructions.
38 */
39
Jerome Glisse3ce0a232009-09-08 10:10:24 +100040const u32 r6xx_default_state[] =
41{
Alex Deucher8c119e92010-07-26 12:39:00 -040042 0xc0002400, /* START_3D_CMDBUF */
Jerome Glisse3ce0a232009-09-08 10:10:24 +100043 0x00000000,
Alex Deucher8c119e92010-07-26 12:39:00 -040044
45 0xc0012800, /* CONTEXT_CONTROL */
Jerome Glisse3ce0a232009-09-08 10:10:24 +100046 0x80000000,
47 0x80000000,
Alex Deucher8c119e92010-07-26 12:39:00 -040048
Jerome Glisse3ce0a232009-09-08 10:10:24 +100049 0xc0016800,
50 0x00000010,
Alex Deucher8c119e92010-07-26 12:39:00 -040051 0x00008000, /* WAIT_UNTIL */
52
Jerome Glisse3ce0a232009-09-08 10:10:24 +100053 0xc0016800,
54 0x00000542,
Alex Deucher8c119e92010-07-26 12:39:00 -040055 0x07000003, /* TA_CNTL_AUX */
56
Jerome Glisse3ce0a232009-09-08 10:10:24 +100057 0xc0016800,
58 0x000005c5,
Alex Deucher8c119e92010-07-26 12:39:00 -040059 0x00000000, /* VC_ENHANCE */
60
Jerome Glisse3ce0a232009-09-08 10:10:24 +100061 0xc0016800,
62 0x00000363,
Alex Deucher8c119e92010-07-26 12:39:00 -040063 0x00000000, /* SQ_DYN_GPR_CNTL_PS_FLUSH_REQ */
64
Jerome Glisse3ce0a232009-09-08 10:10:24 +100065 0xc0016800,
66 0x0000060c,
Alex Deucher8c119e92010-07-26 12:39:00 -040067 0x82000000, /* DB_DEBUG */
68
Jerome Glisse3ce0a232009-09-08 10:10:24 +100069 0xc0016800,
70 0x0000060e,
Alex Deucher8c119e92010-07-26 12:39:00 -040071 0x01020204, /* DB_WATERMARKS */
72
Alex Deuchereb544432010-07-27 18:57:06 -040073 0xc0026f00,
Jerome Glisse3ce0a232009-09-08 10:10:24 +100074 0x00000000,
Alex Deucher8c119e92010-07-26 12:39:00 -040075 0x00000000, /* SQ_VTX_BASE_VTX_LOC */
Alex Deucher8c119e92010-07-26 12:39:00 -040076 0x00000000, /* SQ_VTX_START_INST_LOC */
77
Jerome Glisse3ce0a232009-09-08 10:10:24 +100078 0xc0096900,
79 0x0000022a,
Alex Deucher8c119e92010-07-26 12:39:00 -040080 0x00000000, /* SQ_ESGS_RING_ITEMSIZE */
Jerome Glisse3ce0a232009-09-08 10:10:24 +100081 0x00000000,
82 0x00000000,
83 0x00000000,
84 0x00000000,
85 0x00000000,
86 0x00000000,
87 0x00000000,
88 0x00000000,
Alex Deucher8c119e92010-07-26 12:39:00 -040089
Jerome Glisse3ce0a232009-09-08 10:10:24 +100090 0xc0016900,
91 0x00000004,
Alex Deucher8c119e92010-07-26 12:39:00 -040092 0x00000000, /* DB_DEPTH_INFO */
93
Alex Deuchereb544432010-07-27 18:57:06 -040094 0xc0026900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +100095 0x0000000a,
Alex Deucher8c119e92010-07-26 12:39:00 -040096 0x00000000, /* DB_STENCIL_CLEAR */
Alex Deucher8c119e92010-07-26 12:39:00 -040097 0x00000000, /* DB_DEPTH_CLEAR */
98
Jerome Glisse3ce0a232009-09-08 10:10:24 +100099 0xc0016900,
100 0x00000200,
Alex Deucher8c119e92010-07-26 12:39:00 -0400101 0x00000000, /* DB_DEPTH_CONTROL */
102
Alex Deuchereb544432010-07-27 18:57:06 -0400103 0xc0026900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000104 0x00000343,
Alex Deucher8c119e92010-07-26 12:39:00 -0400105 0x00000060, /* DB_RENDER_CONTROL */
Alex Deucher8c119e92010-07-26 12:39:00 -0400106 0x00000040, /* DB_RENDER_OVERRIDE */
107
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000108 0xc0016900,
109 0x00000351,
Alex Deucher8c119e92010-07-26 12:39:00 -0400110 0x0000aa00, /* DB_ALPHA_TO_MASK */
111
Alex Deucherd0623a32010-07-27 11:17:44 -0400112 0xc0036900,
113 0x00000100,
114 0x00000800, /* VGT_MAX_VTX_INDX */
115 0x00000000, /* VGT_MIN_VTX_INDX */
116 0x00000000, /* VGT_INDX_OFFSET */
117
118 0xc0016900,
119 0x00000103,
120 0x00000000, /* VGT_MULTI_PRIM_IB_RESET_INDX */
121
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000122 0xc0016900,
123 0x00000104,
Alex Deucher8c119e92010-07-26 12:39:00 -0400124 0x00000000, /* SX_ALPHA_TEST_CONTROL */
125
Alex Deuchereb544432010-07-27 18:57:06 -0400126 0xc0076900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000127 0x00000105,
Alex Deucher8c119e92010-07-26 12:39:00 -0400128 0x00000000, /* CB_BLEND_RED */
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000129 0x00000000,
130 0x00000000,
131 0x00000000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400132 0x00000000, /* CB_FOG_RED */
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000133 0x00000000,
134 0x00000000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400135
Alex Deucherd0623a32010-07-27 11:17:44 -0400136 0xc0026900,
137 0x0000010c,
138 0x00000000, /* DB_STENCILREFMASK */
139 0x00000000, /* DB_STENCILREFMASK_BF */
140
141 0xc0016900,
142 0x0000010e,
143 0x00000000, /* SX_ALPHA_REF */
144
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000145 0xc0046900,
146 0x0000030c,
Alex Deucher8c119e92010-07-26 12:39:00 -0400147 0x01000000, /* CB_CLRCMP_CNTL */
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000148 0x00000000,
149 0x00000000,
150 0x00000000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400151
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000152 0xc0046900,
153 0x00000048,
Alex Deucher8c119e92010-07-26 12:39:00 -0400154 0x3f800000, /* CB_CLEAR_RED */
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000155 0x00000000,
156 0x3f800000,
157 0x3f800000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400158
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000159 0xc0016900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000160 0x00000080,
Alex Deucher8c119e92010-07-26 12:39:00 -0400161 0x00000000, /* PA_SC_WINDOW_OFFSET */
162
Alex Deuchereb544432010-07-27 18:57:06 -0400163 0xc00a6900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000164 0x00000083,
Alex Deucher8c119e92010-07-26 12:39:00 -0400165 0x0000ffff, /* PA_SC_CLIP_RECT_RULE */
Alex Deuchereb544432010-07-27 18:57:06 -0400166 0x00000000, /* PA_SC_CLIPRECT_0_TL */
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000167 0x20002000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000168 0x00000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000169 0x20002000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000170 0x00000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000171 0x20002000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000172 0x00000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000173 0x20002000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400174 0x00000000, /* PA_SC_EDGERULE */
175
Alex Deucher363c6a12010-07-26 13:47:54 -0400176 0xc0406900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000177 0x00000094,
Alex Deucher8c119e92010-07-26 12:39:00 -0400178 0x80000000, /* PA_SC_VPORT_SCISSOR_0_TL */
Alex Deucher8c119e92010-07-26 12:39:00 -0400179 0x20002000, /* PA_SC_VPORT_SCISSOR_0_BR */
Alex Deucher8c119e92010-07-26 12:39:00 -0400180 0x80000000, /* PA_SC_VPORT_SCISSOR_1_TL */
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000181 0x20002000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000182 0x80000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000183 0x20002000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000184 0x80000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000185 0x20002000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000186 0x80000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000187 0x20002000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000188 0x80000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000189 0x20002000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000190 0x80000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000191 0x20002000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000192 0x80000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000193 0x20002000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000194 0x80000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000195 0x20002000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000196 0x80000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000197 0x20002000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000198 0x80000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000199 0x20002000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000200 0x80000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000201 0x20002000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000202 0x80000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000203 0x20002000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000204 0x80000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000205 0x20002000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000206 0x80000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000207 0x20002000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000208 0x80000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000209 0x20002000,
Alex Deucher363c6a12010-07-26 13:47:54 -0400210 0x00000000, /* PA_SC_VPORT_ZMIN_0 */
211 0x3f800000,
212 0x00000000,
213 0x3f800000,
214 0x00000000,
215 0x3f800000,
216 0x00000000,
217 0x3f800000,
218 0x00000000,
219 0x3f800000,
220 0x00000000,
221 0x3f800000,
222 0x00000000,
223 0x3f800000,
224 0x00000000,
225 0x3f800000,
226 0x00000000,
227 0x3f800000,
228 0x00000000,
229 0x3f800000,
230 0x00000000,
231 0x3f800000,
232 0x00000000,
233 0x3f800000,
234 0x00000000,
235 0x3f800000,
236 0x00000000,
237 0x3f800000,
238 0x00000000,
239 0x3f800000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000240 0x00000000,
241 0x3f800000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400242
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000243 0xc0016900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000244 0x00000292,
Alex Deucher8c119e92010-07-26 12:39:00 -0400245 0x00000000, /* PA_SC_MPASS_PS_CNTL */
246
Alex Deucherd0623a32010-07-27 11:17:44 -0400247 0xc0016900,
248 0x00000293,
249 0x00004010, /* PA_SC_MODE_CNTL */
250
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000251 0xc0066900,
252 0x0000010f,
Alex Deucher8c119e92010-07-26 12:39:00 -0400253 0x00000000, /* PA_CL_VPORT_0_XSCALE */
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000254 0x00000000,
255 0x00000000,
256 0x00000000,
257 0x00000000,
258 0x00000000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400259
Alex Deuchereb544432010-07-27 18:57:06 -0400260 0xc0026900,
Alex Deucherd0623a32010-07-27 11:17:44 -0400261 0x00000300,
262 0x00000000, /* PA_SC_LINE_CNTL */
263 0x00000000, /* PA_SC_AA_CONFIG */
264
265 0xc0016900,
266 0x00000302,
267 0x0000002d, /* PA_SU_VTX_CNTL */
Alex Deucher8c119e92010-07-26 12:39:00 -0400268
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000269 0xc0046900,
270 0x00000303,
Alex Deucher8c119e92010-07-26 12:39:00 -0400271 0x3f800000, /* PA_CL_GB_VERT_CLIP_ADJ */
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000272 0x3f800000,
273 0x3f800000,
274 0x3f800000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400275
Alex Deuchereb544432010-07-27 18:57:06 -0400276 0xc0026900,
Alex Deucherd0623a32010-07-27 11:17:44 -0400277 0x00000307,
278 0x00000000, /* PA_SC_SAMPLE_LOCS_MCTX */
279 0x00000000,
280
281 0xc0016900,
282 0x00000312,
283 0xffffffff, /* PA_SC_AA_MASK */
Alex Deucher8c119e92010-07-26 12:39:00 -0400284
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000285 0xc0016900,
286 0x0000037e,
Alex Deucher8c119e92010-07-26 12:39:00 -0400287 0x00000000, /* PA_SU_POLY_OFFSET_DB_FMT_CNTL */
288
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000289 0xc0016900,
Alex Deucherd0623a32010-07-27 11:17:44 -0400290 0x0000037f,
291 0x00000000, /* PA_SU_POLY_OFFSET_CLAMP */
Alex Deucher8c119e92010-07-26 12:39:00 -0400292
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000293 0xc0016900,
294 0x00000380,
Alex Deucher8c119e92010-07-26 12:39:00 -0400295 0x00000000, /* PA_SU_POLY_OFFSET_FRONT_SCALE */
296
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000297 0xc0016900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000298 0x00000381,
Alex Deucher8c119e92010-07-26 12:39:00 -0400299 0x00000000, /* PA_SU_POLY_OFFSET_FRONT_OFFSET */
300
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000301 0xc0016900,
Alex Deucherd0623a32010-07-27 11:17:44 -0400302 0x00000382,
303 0x00000000, /* PA_SU_POLY_OFFSET_BACK_SCALE */
Alex Deucher8c119e92010-07-26 12:39:00 -0400304
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000305 0xc0016900,
Alex Deucherd0623a32010-07-27 11:17:44 -0400306 0x00000383,
307 0x00000000, /* PA_SU_POLY_OFFSET_BACK_OFFSET */
Alex Deucher8c119e92010-07-26 12:39:00 -0400308
Alex Deuchereb544432010-07-27 18:57:06 -0400309 0xc0046900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000310 0x000001b6,
Alex Deucher8c119e92010-07-26 12:39:00 -0400311 0x00000000, /* SPI_INPUT_Z */
Alex Deucher8c119e92010-07-26 12:39:00 -0400312 0x00000000, /* SPI_FOG_CNTL */
Alex Deucher8c119e92010-07-26 12:39:00 -0400313 0x00000000, /* SPI_FOG_FUNC_SCALE */
Alex Deucher8c119e92010-07-26 12:39:00 -0400314 0x00000000, /* SPI_FOG_FUNC_BIAS */
315
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000316 0xc0016900,
317 0x00000225,
Alex Deucher8c119e92010-07-26 12:39:00 -0400318 0x00000000, /* SQ_PGM_START_FS */
319
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000320 0xc0016900,
321 0x00000229,
Alex Deucher8c119e92010-07-26 12:39:00 -0400322 0x00000000, /* SQ_PGM_RESOURCES_FS */
323
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000324 0xc0016900,
325 0x00000237,
Alex Deucher8c119e92010-07-26 12:39:00 -0400326 0x00000000, /* SQ_PGM_CF_OFFSET_FS */
327
Alex Deuchereb544432010-07-27 18:57:06 -0400328 0xc0026900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000329 0x000002a8,
Alex Deucher8c119e92010-07-26 12:39:00 -0400330 0x00000000, /* VGT_INSTANCE_STEP_RATE_0 */
Alex Deucher8c119e92010-07-26 12:39:00 -0400331 0x00000000, /* VGT_INSTANCE_STEP_RATE_1 */
332
Alex Deucherd0623a32010-07-27 11:17:44 -0400333 0xc0026900,
334 0x00000280,
335 0x00000000, /* PA_SU_POINT_SIZE */
336 0x00000000, /* PA_SU_POINT_MINMAX */
337
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000338 0xc0016900,
Alex Deucherd0623a32010-07-27 11:17:44 -0400339 0x00000282,
340 0x00000008, /* PA_SU_LINE_CNTL */
341
342 0xc0016900,
343 0x00000283,
344 0x00000000, /* PA_SC_LINE_STIPPLE */
Alex Deucher8c119e92010-07-26 12:39:00 -0400345
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000346 0xc0016900,
347 0x00000284,
Alex Deucher8c119e92010-07-26 12:39:00 -0400348 0x00000000, /* VGT_OUTPUT_PATH_CNTL */
349
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000350 0xc0016900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000351 0x00000285,
Alex Deucher8c119e92010-07-26 12:39:00 -0400352 0x00000000, /* VGT_HOS_CNTL */
353
Alex Deuchereb544432010-07-27 18:57:06 -0400354 0xc00a6900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000355 0x00000286,
Alex Deucher8c119e92010-07-26 12:39:00 -0400356 0x00000000, /* VGT_HOS_MAX_TESS_LEVEL */
Alex Deucher8c119e92010-07-26 12:39:00 -0400357 0x00000000, /* VGT_HOS_MIN_TESS_LEVEL */
Alex Deucher8c119e92010-07-26 12:39:00 -0400358 0x00000000, /* VGT_HOS_REUSE_DEPTH */
Alex Deucher8c119e92010-07-26 12:39:00 -0400359 0x00000000, /* VGT_GROUP_PRIM_TYPE */
Alex Deucher8c119e92010-07-26 12:39:00 -0400360 0x00000000, /* VGT_GROUP_FIRST_DECR */
Alex Deucher8c119e92010-07-26 12:39:00 -0400361 0x00000000, /* VGT_GROUP_DECR */
Alex Deucher8c119e92010-07-26 12:39:00 -0400362 0x00000000, /* VGT_GROUP_VECT_0_CNTL */
Alex Deucher8c119e92010-07-26 12:39:00 -0400363 0x00000000, /* VGT_GROUP_VECT_1_CNTL */
Alex Deucher8c119e92010-07-26 12:39:00 -0400364 0x00000000, /* VGT_GROUP_VECT_0_FMT_CNTL */
Alex Deucher8c119e92010-07-26 12:39:00 -0400365 0x00000000, /* VGT_GROUP_VECT_1_FMT_CNTL */
366
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000367 0xc0016900,
Alex Deucherd0623a32010-07-27 11:17:44 -0400368 0x00000290,
369 0x00000000, /* VGT_GS_MODE */
370
371 0xc0016900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000372 0x000002a1,
Alex Deucher8c119e92010-07-26 12:39:00 -0400373 0x00000000, /* VGT_PRIMITIVEID_EN */
374
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000375 0xc0016900,
376 0x000002a5,
Alex Deucher8c119e92010-07-26 12:39:00 -0400377 0x00000000, /* VGT_MULTI_PRIM_ID_RESET_EN */
378
Alex Deuchereb544432010-07-27 18:57:06 -0400379 0xc0036900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000380 0x000002ac,
Alex Deucher8c119e92010-07-26 12:39:00 -0400381 0x00000000, /* VGT_STRMOUT_EN */
Alex Deucher8c119e92010-07-26 12:39:00 -0400382 0x00000000, /* VGT_REUSE_OFF */
Alex Deucher8c119e92010-07-26 12:39:00 -0400383 0x00000000, /* VGT_VTX_CNT_EN */
384
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000385 0xc0016900,
386 0x000002c8,
Alex Deucher8c119e92010-07-26 12:39:00 -0400387 0x00000000, /* VGT_STRMOUT_BUFFER_EN */
388
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000389 0xc0016900,
Alex Deucherd0623a32010-07-27 11:17:44 -0400390 0x00000202,
391 0x00cc0000, /* CB_COLOR_CONTROL */
392
393 0xc0016900,
394 0x00000203,
395 0x00000210, /* DB_SHADER_CNTL */
Alex Deucher8c119e92010-07-26 12:39:00 -0400396
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000397 0xc0016900,
398 0x00000204,
Alex Deucher8c119e92010-07-26 12:39:00 -0400399 0x00010000, /* PA_CL_CLIP_CNTL */
400
Alex Deucherd0623a32010-07-27 11:17:44 -0400401 0xc0016900,
402 0x00000205,
403 0x00000244, /* PA_SU_SC_MODE_CNTL */
404
405 0xc0016900,
406 0x00000206,
407 0x00000100, /* PA_CL_VTE_CNTL */
408
409 0xc0026900,
410 0x00000207,
411 0x00000000, /* PA_CL_VS_OUT_CNTL */
412 0x00000000, /* PA_CL_NANINF_CNTL */
413
414 0xc0016900,
415 0x0000008e,
416 0x0000000f, /* CB_TARGET_MASK */
Alex Deucher8c119e92010-07-26 12:39:00 -0400417
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000418 0xc0016900,
419 0x0000008f,
Alex Deucher8c119e92010-07-26 12:39:00 -0400420 0x0000000f, /* CB_SHADER_MASK */
421
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000422 0xc0016900,
423 0x000001e8,
Alex Deucher8c119e92010-07-26 12:39:00 -0400424 0x00000001, /* CB_SHADER_CONTROL */
425
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000426 0xc0016900,
Alex Deucherd0623a32010-07-27 11:17:44 -0400427 0x00000185,
428 0x00000000, /* SPI_VS_OUT_ID_0 */
Alex Deucher8c119e92010-07-26 12:39:00 -0400429
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000430 0xc0016900,
Alex Deucherd0623a32010-07-27 11:17:44 -0400431 0x00000191,
432 0x00000b00, /* SPI_PS_INPUT_CNTL_0 */
Alex Deucher8c119e92010-07-26 12:39:00 -0400433
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000434 0xc0016900,
435 0x000001b1,
Alex Deucher8c119e92010-07-26 12:39:00 -0400436 0x00000000, /* SPI_VS_OUT_CONFIG */
437
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000438 0xc0016900,
Alex Deucherd0623a32010-07-27 11:17:44 -0400439 0x000001b2,
440 0x00000000, /* SPI_THREAD_GROUPING */
Alex Deucher8c119e92010-07-26 12:39:00 -0400441
Alex Deuchereb544432010-07-27 18:57:06 -0400442 0xc0026900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000443 0x000001b3,
Alex Deucher8c119e92010-07-26 12:39:00 -0400444 0x00000001, /* SPI_PS_IN_CONTROL_0 */
Alex Deucher8c119e92010-07-26 12:39:00 -0400445 0x00000000, /* SPI_PS_IN_CONTROL_1 */
446
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000447 0xc0016900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000448 0x000001b5,
Alex Deucher8c119e92010-07-26 12:39:00 -0400449 0x00000000, /* SPI_INTERP_CONTROL_0 */
Alex Deucherd0623a32010-07-27 11:17:44 -0400450
451 0xc0036e00, /* SET_SAMPLER */
452 0x00000000,
453 0x00000012,
454 0x00000000,
455 0x00000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000456};
457
458const u32 r7xx_default_state[] =
459{
Alex Deucher8c119e92010-07-26 12:39:00 -0400460 0xc0012800, /* CONTEXT_CONTROL */
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000461 0x80000000,
462 0x80000000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400463
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000464 0xc0016800,
465 0x00000010,
Alex Deucher8c119e92010-07-26 12:39:00 -0400466 0x00008000, /* WAIT_UNTIL */
467
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000468 0xc0016800,
469 0x00000542,
Alex Deucher8c119e92010-07-26 12:39:00 -0400470 0x07000002, /* TA_CNTL_AUX */
471
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000472 0xc0016800,
473 0x000005c5,
Alex Deucher8c119e92010-07-26 12:39:00 -0400474 0x00000000, /* VC_ENHANCE */
475
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000476 0xc0016800,
477 0x00000363,
Alex Deucher8c119e92010-07-26 12:39:00 -0400478 0x00004000, /* SQ_DYN_GPR_CNTL_PS_FLUSH_REQ */
479
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000480 0xc0016800,
481 0x0000060c,
Alex Deucher8c119e92010-07-26 12:39:00 -0400482 0x00000000, /* DB_DEBUG */
483
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000484 0xc0016800,
485 0x0000060e,
Alex Deucher8c119e92010-07-26 12:39:00 -0400486 0x00420204, /* DB_WATERMARKS */
487
Alex Deuchereb544432010-07-27 18:57:06 -0400488 0xc0026f00,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000489 0x00000000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400490 0x00000000, /* SQ_VTX_BASE_VTX_LOC */
Alex Deucher8c119e92010-07-26 12:39:00 -0400491 0x00000000, /* SQ_VTX_START_INST_LOC */
492
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000493 0xc0096900,
494 0x0000022a,
Alex Deucher8c119e92010-07-26 12:39:00 -0400495 0x00000000, /* SQ_ESGS_RING_ITEMSIZE */
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000496 0x00000000,
497 0x00000000,
498 0x00000000,
499 0x00000000,
500 0x00000000,
501 0x00000000,
502 0x00000000,
503 0x00000000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400504
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000505 0xc0016900,
506 0x00000004,
Alex Deucher8c119e92010-07-26 12:39:00 -0400507 0x00000000, /* DB_DEPTH_INFO */
508
Alex Deuchereb544432010-07-27 18:57:06 -0400509 0xc0026900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000510 0x0000000a,
Alex Deucher8c119e92010-07-26 12:39:00 -0400511 0x00000000, /* DB_STENCIL_CLEAR */
Alex Deucher8c119e92010-07-26 12:39:00 -0400512 0x00000000, /* DB_DEPTH_CLEAR */
513
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000514 0xc0016900,
515 0x00000200,
Alex Deucher8c119e92010-07-26 12:39:00 -0400516 0x00000000, /* DB_DEPTH_CONTROL */
517
Alex Deuchereb544432010-07-27 18:57:06 -0400518 0xc0026900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000519 0x00000343,
Alex Deucher8c119e92010-07-26 12:39:00 -0400520 0x00000060, /* DB_RENDER_CONTROL */
Alex Deucher8c119e92010-07-26 12:39:00 -0400521 0x00000000, /* DB_RENDER_OVERRIDE */
522
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000523 0xc0016900,
524 0x00000351,
Alex Deucher8c119e92010-07-26 12:39:00 -0400525 0x0000aa00, /* DB_ALPHA_TO_MASK */
526
Alex Deucherd0623a32010-07-27 11:17:44 -0400527 0xc0036900,
528 0x00000100,
529 0x00000800, /* VGT_MAX_VTX_INDX */
530 0x00000000, /* VGT_MIN_VTX_INDX */
531 0x00000000, /* VGT_INDX_OFFSET */
532
533 0xc0016900,
534 0x00000103,
535 0x00000000, /* VGT_MULTI_PRIM_IB_RESET_INDX */
536
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000537 0xc0016900,
538 0x00000104,
Alex Deucher8c119e92010-07-26 12:39:00 -0400539 0x00000000, /* SX_ALPHA_TEST_CONTROL */
540
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000541 0xc0046900,
542 0x00000105,
Alex Deucher8c119e92010-07-26 12:39:00 -0400543 0x00000000, /* CB_BLEND_RED */
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000544 0x00000000,
545 0x00000000,
546 0x00000000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400547
Alex Deucherd0623a32010-07-27 11:17:44 -0400548 0xc0026900,
549 0x0000010c,
550 0x00000000, /* DB_STENCILREFMASK */
551 0x00000000, /* DB_STENCILREFMASK_BF */
552
553 0xc0016900,
554 0x0000010e,
555 0x00000000, /* SX_ALPHA_REF */
556
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000557 0xc0046900,
Alex Deucher8c119e92010-07-26 12:39:00 -0400558 0x0000030c, /* CB_CLRCMP_CNTL */
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000559 0x01000000,
560 0x00000000,
561 0x00000000,
562 0x00000000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400563
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000564 0xc0016900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000565 0x00000080,
Alex Deucher8c119e92010-07-26 12:39:00 -0400566 0x00000000, /* PA_SC_WINDOW_OFFSET */
567
Alex Deuchereb544432010-07-27 18:57:06 -0400568 0xc00a6900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000569 0x00000083,
Alex Deucher8c119e92010-07-26 12:39:00 -0400570 0x0000ffff, /* PA_SC_CLIP_RECT_RULE */
Alex Deuchereb544432010-07-27 18:57:06 -0400571 0x00000000, /* PA_SC_CLIPRECT_0_TL */
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000572 0x20002000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000573 0x00000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000574 0x20002000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000575 0x00000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000576 0x20002000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000577 0x00000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000578 0x20002000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400579 0xaaaaaaaa, /* PA_SC_EDGERULE */
580
Alex Deucher363c6a12010-07-26 13:47:54 -0400581 0xc0406900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000582 0x00000094,
Alex Deucher8c119e92010-07-26 12:39:00 -0400583 0x80000000, /* PA_SC_VPORT_SCISSOR_0_TL */
Alex Deucher8c119e92010-07-26 12:39:00 -0400584 0x20002000, /* PA_SC_VPORT_SCISSOR_0_BR */
Alex Deucher363c6a12010-07-26 13:47:54 -0400585 0x80000000, /* PA_SC_VPORT_SCISSOR_1_TL */
586 0x20002000,
587 0x80000000,
588 0x20002000,
589 0x80000000,
590 0x20002000,
591 0x80000000,
592 0x20002000,
593 0x80000000,
594 0x20002000,
595 0x80000000,
596 0x20002000,
597 0x80000000,
598 0x20002000,
599 0x80000000,
600 0x20002000,
601 0x80000000,
602 0x20002000,
603 0x80000000,
604 0x20002000,
605 0x80000000,
606 0x20002000,
607 0x80000000,
608 0x20002000,
609 0x80000000,
610 0x20002000,
611 0x80000000,
612 0x20002000,
613 0x80000000,
614 0x20002000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400615 0x00000000, /* PA_SC_VPORT_ZMIN_0 */
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000616 0x3f800000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000617 0x00000000,
618 0x3f800000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000619 0x00000000,
620 0x3f800000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000621 0x00000000,
622 0x3f800000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000623 0x00000000,
624 0x3f800000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000625 0x00000000,
626 0x3f800000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000627 0x00000000,
628 0x3f800000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000629 0x00000000,
630 0x3f800000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000631 0x00000000,
632 0x3f800000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000633 0x00000000,
634 0x3f800000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000635 0x00000000,
636 0x3f800000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000637 0x00000000,
638 0x3f800000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000639 0x00000000,
640 0x3f800000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000641 0x00000000,
642 0x3f800000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000643 0x00000000,
644 0x3f800000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000645 0x00000000,
646 0x3f800000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400647
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000648 0xc0016900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000649 0x00000292,
Alex Deucher8c119e92010-07-26 12:39:00 -0400650 0x00000000, /* PA_SC_MPASS_PS_CNTL */
651
Alex Deucherd0623a32010-07-27 11:17:44 -0400652 0xc0016900,
653 0x00000293,
654 0x00514000, /* PA_SC_MODE_CNTL */
655
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000656 0xc0066900,
657 0x0000010f,
Alex Deucher8c119e92010-07-26 12:39:00 -0400658 0x00000000, /* PA_CL_VPORT_0_XSCALE */
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000659 0x00000000,
660 0x00000000,
661 0x00000000,
662 0x00000000,
663 0x00000000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400664
Alex Deuchereb544432010-07-27 18:57:06 -0400665 0xc0026900,
Alex Deucherd0623a32010-07-27 11:17:44 -0400666 0x00000300,
667 0x00000000, /* PA_SC_LINE_CNTL */
668 0x00000000, /* PA_SC_AA_CONFIG */
669
670 0xc0016900,
671 0x00000302,
672 0x0000002d, /* PA_SU_VTX_CNTL */
Alex Deucher8c119e92010-07-26 12:39:00 -0400673
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000674 0xc0046900,
675 0x00000303,
Alex Deucher8c119e92010-07-26 12:39:00 -0400676 0x3f800000, /* PA_CL_GB_VERT_CLIP_ADJ */
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000677 0x3f800000,
678 0x3f800000,
679 0x3f800000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400680
Alex Deuchereb544432010-07-27 18:57:06 -0400681 0xc0026900,
Alex Deucherd0623a32010-07-27 11:17:44 -0400682 0x00000307,
683 0x00000000, /* PA_SC_SAMPLE_LOCS_MCTX */
684 0x00000000,
685
686 0xc0016900,
687 0x00000312,
688 0xffffffff, /* PA_SC_AA_MASK */
Alex Deucher8c119e92010-07-26 12:39:00 -0400689
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000690 0xc0016900,
691 0x0000037e,
Alex Deucher8c119e92010-07-26 12:39:00 -0400692 0x00000000, /* PA_SU_POLY_OFFSET_DB_FMT_CNTL */
693
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000694 0xc0016900,
Alex Deucherd0623a32010-07-27 11:17:44 -0400695 0x0000037f,
696 0x00000000, /* PA_SU_POLY_OFFSET_CLAMP */
Alex Deucher8c119e92010-07-26 12:39:00 -0400697
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000698 0xc0016900,
699 0x00000380,
Alex Deucher8c119e92010-07-26 12:39:00 -0400700 0x00000000, /* PA_SU_POLY_OFFSET_FRONT_SCALE */
701
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000702 0xc0016900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000703 0x00000381,
Alex Deucher8c119e92010-07-26 12:39:00 -0400704 0x00000000, /* PA_SU_POLY_OFFSET_FRONT_OFFSET */
705
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000706 0xc0016900,
Alex Deucherd0623a32010-07-27 11:17:44 -0400707 0x00000382,
708 0x00000000, /* PA_SU_POLY_OFFSET_BACK_SCALE */
Alex Deucher8c119e92010-07-26 12:39:00 -0400709
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000710 0xc0016900,
Alex Deucherd0623a32010-07-27 11:17:44 -0400711 0x00000383,
712 0x00000000, /* PA_SU_POLY_OFFSET_BACK_OFFSET */
Alex Deucher8c119e92010-07-26 12:39:00 -0400713
Alex Deuchereb544432010-07-27 18:57:06 -0400714 0xc0046900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000715 0x000001b6,
Alex Deucher8c119e92010-07-26 12:39:00 -0400716 0x00000000, /* SPI_INPUT_Z */
Alex Deucher8c119e92010-07-26 12:39:00 -0400717 0x00000000, /* SPI_FOG_CNTL */
Alex Deucher8c119e92010-07-26 12:39:00 -0400718 0x00000000, /* SPI_FOG_FUNC_SCALE */
Alex Deucher8c119e92010-07-26 12:39:00 -0400719 0x00000000, /* SPI_FOG_FUNC_BIAS */
720
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000721 0xc0016900,
722 0x00000225,
Alex Deucher8c119e92010-07-26 12:39:00 -0400723 0x00000000, /* SQ_PGM_START_FS */
724
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000725 0xc0016900,
726 0x00000229,
Alex Deucher8c119e92010-07-26 12:39:00 -0400727 0x00000000, /* SQ_PGM_RESOURCES_FS */
728
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000729 0xc0016900,
730 0x00000237,
Alex Deucher8c119e92010-07-26 12:39:00 -0400731 0x00000000, /* SQ_PGM_CF_OFFSET_FS */
732
Alex Deuchereb544432010-07-27 18:57:06 -0400733 0xc0026900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000734 0x000002a8,
Alex Deucher8c119e92010-07-26 12:39:00 -0400735 0x00000000, /* VGT_INSTANCE_STEP_RATE_0 */
Alex Deucher8c119e92010-07-26 12:39:00 -0400736 0x00000000, /* VGT_INSTANCE_STEP_RATE_1 */
737
Alex Deucherd0623a32010-07-27 11:17:44 -0400738 0xc0026900,
739 0x00000280,
740 0x00000000, /* PA_SU_POINT_SIZE */
741 0x00000000, /* PA_SU_POINT_MINMAX */
742
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000743 0xc0016900,
Alex Deucherd0623a32010-07-27 11:17:44 -0400744 0x00000282,
745 0x00000008, /* PA_SU_LINE_CNTL */
746
747 0xc0016900,
748 0x00000283,
749 0x00000000, /* PA_SC_LINE_STIPPLE */
Alex Deucher8c119e92010-07-26 12:39:00 -0400750
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000751 0xc0016900,
752 0x00000284,
Alex Deucher8c119e92010-07-26 12:39:00 -0400753 0x00000000, /* VGT_OUTPUT_PATH_CNTL */
754
Alex Deuchereb544432010-07-27 18:57:06 -0400755 0xc00b6900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000756 0x00000285,
Alex Deucher8c119e92010-07-26 12:39:00 -0400757 0x00000000, /* VGT_HOS_CNTL */
Alex Deucher8c119e92010-07-26 12:39:00 -0400758 0x00000000, /* VGT_HOS_MAX_TESS_LEVEL */
Alex Deucher8c119e92010-07-26 12:39:00 -0400759 0x00000000, /* VGT_HOS_MIN_TESS_LEVEL */
Alex Deucher8c119e92010-07-26 12:39:00 -0400760 0x00000000, /* VGT_HOS_REUSE_DEPTH */
Alex Deucher8c119e92010-07-26 12:39:00 -0400761 0x00000000, /* VGT_GROUP_PRIM_TYPE */
Alex Deucher8c119e92010-07-26 12:39:00 -0400762 0x00000000, /* VGT_GROUP_FIRST_DECR */
Alex Deucher8c119e92010-07-26 12:39:00 -0400763 0x00000000, /* VGT_GROUP_DECR */
Alex Deucher8c119e92010-07-26 12:39:00 -0400764 0x00000000, /* VGT_GROUP_VECT_0_CNTL */
Alex Deucher8c119e92010-07-26 12:39:00 -0400765 0x00000000, /* VGT_GROUP_VECT_1_CNTL */
Alex Deucher8c119e92010-07-26 12:39:00 -0400766 0x00000000, /* VGT_GROUP_VECT_0_FMT_CNTL */
Alex Deucher8c119e92010-07-26 12:39:00 -0400767 0x00000000, /* VGT_GROUP_VECT_1_FMT_CNTL */
768
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000769 0xc0016900,
Alex Deucherd0623a32010-07-27 11:17:44 -0400770 0x00000290,
771 0x00000000, /* VGT_GS_MODE */
772
773 0xc0016900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000774 0x000002a1,
Alex Deucher8c119e92010-07-26 12:39:00 -0400775 0x00000000, /* VGT_PRIMITIVEID_EN */
776
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000777 0xc0016900,
778 0x000002a5,
Alex Deucher8c119e92010-07-26 12:39:00 -0400779 0x00000000, /* VGT_MULTI_PRIM_ID_RESET_EN */
780
Alex Deuchereb544432010-07-27 18:57:06 -0400781 0xc0036900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000782 0x000002ac,
Alex Deucher8c119e92010-07-26 12:39:00 -0400783 0x00000000, /* VGT_STRMOUT_EN */
Alex Deucher8c119e92010-07-26 12:39:00 -0400784 0x00000000, /* VGT_REUSE_OFF */
Alex Deucher8c119e92010-07-26 12:39:00 -0400785 0x00000000, /* VGT_VTX_CNT_EN */
786
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000787 0xc0016900,
788 0x000002c8,
Alex Deucher8c119e92010-07-26 12:39:00 -0400789 0x00000000, /* VGT_STRMOUT_BUFFER_EN */
790
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000791 0xc0016900,
Alex Deucherd0623a32010-07-27 11:17:44 -0400792 0x00000202,
793 0x00cc0000, /* CB_COLOR_CONTROL */
794
795 0xc0016900,
796 0x00000203,
797 0x00000210, /* DB_SHADER_CNTL */
Alex Deucher8c119e92010-07-26 12:39:00 -0400798
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000799 0xc0016900,
800 0x00000204,
Alex Deucher8c119e92010-07-26 12:39:00 -0400801 0x00010000, /* PA_CL_CLIP_CNTL */
802
Alex Deucherd0623a32010-07-27 11:17:44 -0400803 0xc0016900,
804 0x00000205,
805 0x00000244, /* PA_SU_SC_MODE_CNTL */
806
807 0xc0016900,
808 0x00000206,
809 0x00000100, /* PA_CL_VTE_CNTL */
810
811 0xc0026900,
812 0x00000207,
813 0x00000000, /* PA_CL_VS_OUT_CNTL */
814 0x00000000, /* PA_CL_NANINF_CNTL */
815
816 0xc0016900,
817 0x0000008e,
818 0x0000000f, /* CB_TARGET_MASK */
Alex Deucher8c119e92010-07-26 12:39:00 -0400819
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000820 0xc0016900,
821 0x0000008f,
Alex Deucher8c119e92010-07-26 12:39:00 -0400822 0x0000000f, /* CB_SHADER_MASK */
823
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000824 0xc0016900,
825 0x000001e8,
Alex Deucher8c119e92010-07-26 12:39:00 -0400826 0x00000001, /* CB_SHADER_CONTROL */
827
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000828 0xc0016900,
Alex Deucherd0623a32010-07-27 11:17:44 -0400829 0x00000185,
830 0x00000000, /* SPI_VS_OUT_ID_0 */
Alex Deucher8c119e92010-07-26 12:39:00 -0400831
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000832 0xc0016900,
Alex Deucherd0623a32010-07-27 11:17:44 -0400833 0x00000191,
834 0x00000b00, /* SPI_PS_INPUT_CNTL_0 */
Alex Deucher8c119e92010-07-26 12:39:00 -0400835
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000836 0xc0016900,
837 0x000001b1,
Alex Deucher8c119e92010-07-26 12:39:00 -0400838 0x00000000, /* SPI_VS_OUT_CONFIG */
839
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000840 0xc0016900,
Alex Deucherd0623a32010-07-27 11:17:44 -0400841 0x000001b2,
842 0x00000001, /* SPI_THREAD_GROUPING */
Alex Deucher8c119e92010-07-26 12:39:00 -0400843
Alex Deuchereb544432010-07-27 18:57:06 -0400844 0xc0026900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000845 0x000001b3,
Alex Deucher8c119e92010-07-26 12:39:00 -0400846 0x00000001, /* SPI_PS_IN_CONTROL_0 */
Alex Deucher8c119e92010-07-26 12:39:00 -0400847 0x00000000, /* SPI_PS_IN_CONTROL_1 */
848
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000849 0xc0016900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000850 0x000001b5,
Alex Deucher8c119e92010-07-26 12:39:00 -0400851 0x00000000, /* SPI_INTERP_CONTROL_0 */
Alex Deucherd0623a32010-07-27 11:17:44 -0400852
853 0xc0036e00, /* SET_SAMPLER */
854 0x00000000,
855 0x00000012,
856 0x00000000,
857 0x00000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000858};
859
860/* same for r6xx/r7xx */
861const u32 r6xx_vs[] =
862{
863 0x00000004,
864 0x81000000,
865 0x0000203c,
866 0x94000b08,
867 0x00004000,
868 0x14200b1a,
869 0x00000000,
870 0x00000000,
871 0x3c000000,
872 0x68cd1000,
873 0x00080000,
874 0x00000000,
875};
876
877const u32 r6xx_ps[] =
878{
879 0x00000002,
880 0x80800000,
881 0x00000000,
882 0x94200688,
883 0x00000010,
884 0x000d1000,
885 0xb0800000,
886 0x00000000,
887};
888
889const u32 r6xx_ps_size = ARRAY_SIZE(r6xx_ps);
890const u32 r6xx_vs_size = ARRAY_SIZE(r6xx_vs);
891const u32 r6xx_default_size = ARRAY_SIZE(r6xx_default_state);
892const u32 r7xx_default_size = ARRAY_SIZE(r7xx_default_state);