blob: 3a775c198af7516ad287a37b5076e1bbccd9b90b [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
Alex Deuchereb544432010-07-27 18:57:06 -040099 0xc0026900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000100 0x0000010c,
Alex Deucher8c119e92010-07-26 12:39:00 -0400101 0x00000000, /* DB_STENCILREFMASK */
Alex Deucher8c119e92010-07-26 12:39:00 -0400102 0x00000000, /* DB_STENCILREFMASK_BF */
103
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000104 0xc0016900,
105 0x00000200,
Alex Deucher8c119e92010-07-26 12:39:00 -0400106 0x00000000, /* DB_DEPTH_CONTROL */
107
Alex Deuchereb544432010-07-27 18:57:06 -0400108 0xc0026900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000109 0x00000343,
Alex Deucher8c119e92010-07-26 12:39:00 -0400110 0x00000060, /* DB_RENDER_CONTROL */
Alex Deucher8c119e92010-07-26 12:39:00 -0400111 0x00000040, /* DB_RENDER_OVERRIDE */
112
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000113 0xc0016900,
114 0x00000351,
Alex Deucher8c119e92010-07-26 12:39:00 -0400115 0x0000aa00, /* DB_ALPHA_TO_MASK */
116
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000117 0xc0016900,
118 0x00000104,
Alex Deucher8c119e92010-07-26 12:39:00 -0400119 0x00000000, /* SX_ALPHA_TEST_CONTROL */
120
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000121 0xc0016900,
122 0x0000010e,
Alex Deucher8c119e92010-07-26 12:39:00 -0400123 0x00000000, /* SX_ALPHA_REF */
124
Alex Deuchereb544432010-07-27 18:57:06 -0400125 0xc0076900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000126 0x00000105,
Alex Deucher8c119e92010-07-26 12:39:00 -0400127 0x00000000, /* CB_BLEND_RED */
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000128 0x00000000,
129 0x00000000,
130 0x00000000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400131 0x00000000, /* CB_FOG_RED */
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000132 0x00000000,
133 0x00000000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400134
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000135 0xc0046900,
136 0x0000030c,
Alex Deucher8c119e92010-07-26 12:39:00 -0400137 0x01000000, /* CB_CLRCMP_CNTL */
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000138 0x00000000,
139 0x00000000,
140 0x00000000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400141
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000142 0xc0046900,
143 0x00000048,
Alex Deucher8c119e92010-07-26 12:39:00 -0400144 0x3f800000, /* CB_CLEAR_RED */
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000145 0x00000000,
146 0x3f800000,
147 0x3f800000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400148
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000149 0xc0016900,
150 0x0000008e,
Alex Deucher8c119e92010-07-26 12:39:00 -0400151 0x0000000f, /* CB_TARGET_MASK */
152
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000153 0xc0016900,
154 0x00000080,
Alex Deucher8c119e92010-07-26 12:39:00 -0400155 0x00000000, /* PA_SC_WINDOW_OFFSET */
156
Alex Deuchereb544432010-07-27 18:57:06 -0400157 0xc00a6900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000158 0x00000083,
Alex Deucher8c119e92010-07-26 12:39:00 -0400159 0x0000ffff, /* PA_SC_CLIP_RECT_RULE */
Alex Deuchereb544432010-07-27 18:57:06 -0400160 0x00000000, /* PA_SC_CLIPRECT_0_TL */
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000161 0x20002000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000162 0x00000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000163 0x20002000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000164 0x00000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000165 0x20002000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000166 0x00000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000167 0x20002000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400168 0x00000000, /* PA_SC_EDGERULE */
169
Alex Deuchereb544432010-07-27 18:57:06 -0400170 0xc0026900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000171 0x00000094,
Alex Deucher8c119e92010-07-26 12:39:00 -0400172 0x80000000, /* PA_SC_VPORT_SCISSOR_0_TL */
Alex Deucher8c119e92010-07-26 12:39:00 -0400173 0x20002000, /* PA_SC_VPORT_SCISSOR_0_BR */
174
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000175 0xc0026900,
176 0x000000b4,
Alex Deucher8c119e92010-07-26 12:39:00 -0400177 0x00000000, /* PA_SC_VPORT_ZMIN_0 */
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000178 0x3f800000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400179
Alex Deuchereb544432010-07-27 18:57:06 -0400180 0xc0026900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000181 0x00000096,
Alex Deucher8c119e92010-07-26 12:39:00 -0400182 0x80000000, /* PA_SC_VPORT_SCISSOR_1_TL */
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000183 0x20002000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400184
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000185 0xc0026900,
186 0x000000b6,
187 0x00000000,
188 0x3f800000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400189
Alex Deuchereb544432010-07-27 18:57:06 -0400190 0xc0026900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000191 0x00000098,
192 0x80000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000193 0x20002000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400194
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000195 0xc0026900,
196 0x000000b8,
197 0x00000000,
198 0x3f800000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400199
Alex Deuchereb544432010-07-27 18:57:06 -0400200 0xc0026900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000201 0x0000009a,
202 0x80000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000203 0x20002000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400204
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000205 0xc0026900,
206 0x000000ba,
207 0x00000000,
208 0x3f800000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400209
Alex Deuchereb544432010-07-27 18:57:06 -0400210 0xc0026900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000211 0x0000009c,
212 0x80000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000213 0x20002000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400214
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000215 0xc0026900,
216 0x000000bc,
217 0x00000000,
218 0x3f800000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400219
Alex Deuchereb544432010-07-27 18:57:06 -0400220 0xc0026900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000221 0x0000009e,
222 0x80000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000223 0x20002000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400224
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000225 0xc0026900,
226 0x000000be,
227 0x00000000,
228 0x3f800000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400229
Alex Deuchereb544432010-07-27 18:57:06 -0400230 0xc0026900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000231 0x000000a0,
232 0x80000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000233 0x20002000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400234
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000235 0xc0026900,
236 0x000000c0,
237 0x00000000,
238 0x3f800000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400239
Alex Deuchereb544432010-07-27 18:57:06 -0400240 0xc0026900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000241 0x000000a2,
242 0x80000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000243 0x20002000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400244
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000245 0xc0026900,
246 0x000000c2,
247 0x00000000,
248 0x3f800000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400249
Alex Deuchereb544432010-07-27 18:57:06 -0400250 0xc0026900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000251 0x000000a4,
252 0x80000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000253 0x20002000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400254
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000255 0xc0026900,
256 0x000000c4,
257 0x00000000,
258 0x3f800000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400259
Alex Deuchereb544432010-07-27 18:57:06 -0400260 0xc0026900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000261 0x000000a6,
262 0x80000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000263 0x20002000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400264
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000265 0xc0026900,
266 0x000000c6,
267 0x00000000,
268 0x3f800000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400269
Alex Deuchereb544432010-07-27 18:57:06 -0400270 0xc0026900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000271 0x000000a8,
272 0x80000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000273 0x20002000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400274
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000275 0xc0026900,
276 0x000000c8,
277 0x00000000,
278 0x3f800000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400279
Alex Deuchereb544432010-07-27 18:57:06 -0400280 0xc0026900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000281 0x000000aa,
282 0x80000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000283 0x20002000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400284
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000285 0xc0026900,
286 0x000000ca,
287 0x00000000,
288 0x3f800000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400289
Alex Deuchereb544432010-07-27 18:57:06 -0400290 0xc0026900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000291 0x000000ac,
292 0x80000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000293 0x20002000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400294
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000295 0xc0026900,
296 0x000000cc,
297 0x00000000,
298 0x3f800000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400299
Alex Deuchereb544432010-07-27 18:57:06 -0400300 0xc0026900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000301 0x000000ae,
302 0x80000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000303 0x20002000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400304
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000305 0xc0026900,
306 0x000000ce,
307 0x00000000,
308 0x3f800000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400309
Alex Deuchereb544432010-07-27 18:57:06 -0400310 0xc0026900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000311 0x000000b0,
312 0x80000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000313 0x20002000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400314
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000315 0xc0026900,
316 0x000000d0,
317 0x00000000,
318 0x3f800000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400319
Alex Deuchereb544432010-07-27 18:57:06 -0400320 0xc0026900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000321 0x000000b2,
322 0x80000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000323 0x20002000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400324
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000325 0xc0026900,
326 0x000000d2,
327 0x00000000,
328 0x3f800000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400329
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000330 0xc0016900,
331 0x00000293,
Alex Deucher8c119e92010-07-26 12:39:00 -0400332 0x00004010, /* PA_SC_MODE_CNTL */
333
Alex Deuchereb544432010-07-27 18:57:06 -0400334 0xc0026900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000335 0x00000300,
Alex Deucher8c119e92010-07-26 12:39:00 -0400336 0x00000000, /* PA_SC_LINE_CNTL */
Alex Deucher8c119e92010-07-26 12:39:00 -0400337 0x00000000, /* PA_SC_AA_CONFIG */
338
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000339 0xc0016900,
340 0x00000312,
Alex Deucher8c119e92010-07-26 12:39:00 -0400341 0xffffffff, /* PA_SC_AA_MASK */
342
Alex Deuchereb544432010-07-27 18:57:06 -0400343 0xc0026900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000344 0x00000307,
Alex Deucher8c119e92010-07-26 12:39:00 -0400345 0x00000000, /* PA_SC_SAMPLE_LOCS_MCTX */
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000346 0x00000000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400347
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000348 0xc0016900,
349 0x00000283,
Alex Deucher8c119e92010-07-26 12:39:00 -0400350 0x00000000, /* PA_SC_LINE_STIPPLE */
351
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000352 0xc0016900,
353 0x00000292,
Alex Deucher8c119e92010-07-26 12:39:00 -0400354 0x00000000, /* PA_SC_MPASS_PS_CNTL */
355
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000356 0xc0066900,
357 0x0000010f,
Alex Deucher8c119e92010-07-26 12:39:00 -0400358 0x00000000, /* PA_CL_VPORT_0_XSCALE */
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000359 0x00000000,
360 0x00000000,
361 0x00000000,
362 0x00000000,
363 0x00000000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400364
Alex Deuchereb544432010-07-27 18:57:06 -0400365 0xc0026900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000366 0x00000207,
Alex Deucher8c119e92010-07-26 12:39:00 -0400367 0x00000000, /* PA_CL_VS_OUT_CNTL */
Alex Deucher8c119e92010-07-26 12:39:00 -0400368 0x00000000, /* PA_CL_NANINF_CNTL */
369
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000370 0xc0046900,
371 0x00000303,
Alex Deucher8c119e92010-07-26 12:39:00 -0400372 0x3f800000, /* PA_CL_GB_VERT_CLIP_ADJ */
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000373 0x3f800000,
374 0x3f800000,
375 0x3f800000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400376
Alex Deuchereb544432010-07-27 18:57:06 -0400377 0xc0026900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000378 0x00000280,
Alex Deucher8c119e92010-07-26 12:39:00 -0400379 0x00000000, /* PA_SU_POINT_SIZE */
Alex Deucher8c119e92010-07-26 12:39:00 -0400380 0x00000000, /* PA_SU_POINT_MINMAX */
381
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000382 0xc0016900,
383 0x0000037e,
Alex Deucher8c119e92010-07-26 12:39:00 -0400384 0x00000000, /* PA_SU_POLY_OFFSET_DB_FMT_CNTL */
385
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000386 0xc0016900,
387 0x00000382,
Alex Deucher8c119e92010-07-26 12:39:00 -0400388 0x00000000, /* PA_SU_POLY_OFFSET_BACK_SCALE */
389
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000390 0xc0016900,
391 0x00000380,
Alex Deucher8c119e92010-07-26 12:39:00 -0400392 0x00000000, /* PA_SU_POLY_OFFSET_FRONT_SCALE */
393
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000394 0xc0016900,
395 0x00000383,
Alex Deucher8c119e92010-07-26 12:39:00 -0400396 0x00000000, /* PA_SU_POLY_OFFSET_BACK_OFFSET */
397
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000398 0xc0016900,
399 0x00000381,
Alex Deucher8c119e92010-07-26 12:39:00 -0400400 0x00000000, /* PA_SU_POLY_OFFSET_FRONT_OFFSET */
401
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000402 0xc0016900,
403 0x00000282,
Alex Deucher8c119e92010-07-26 12:39:00 -0400404 0x00000008, /* PA_SU_LINE_CNTL */
405
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000406 0xc0016900,
407 0x00000302,
Alex Deucher8c119e92010-07-26 12:39:00 -0400408 0x0000002d, /* PA_SU_VTX_CNTL */
409
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000410 0xc0016900,
411 0x0000037f,
Alex Deucher8c119e92010-07-26 12:39:00 -0400412 0x00000000, /* PA_SU_POLY_OFFSET_CLAMP */
413
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000414 0xc0016900,
415 0x000001b2,
Alex Deucher8c119e92010-07-26 12:39:00 -0400416 0x00000000, /* SPI_THREAD_GROUPING */
417
Alex Deuchereb544432010-07-27 18:57:06 -0400418 0xc0046900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000419 0x000001b6,
Alex Deucher8c119e92010-07-26 12:39:00 -0400420 0x00000000, /* SPI_INPUT_Z */
Alex Deucher8c119e92010-07-26 12:39:00 -0400421 0x00000000, /* SPI_FOG_CNTL */
Alex Deucher8c119e92010-07-26 12:39:00 -0400422 0x00000000, /* SPI_FOG_FUNC_SCALE */
Alex Deucher8c119e92010-07-26 12:39:00 -0400423 0x00000000, /* SPI_FOG_FUNC_BIAS */
424
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000425 0xc0016900,
426 0x00000225,
Alex Deucher8c119e92010-07-26 12:39:00 -0400427 0x00000000, /* SQ_PGM_START_FS */
428
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000429 0xc0016900,
430 0x00000229,
Alex Deucher8c119e92010-07-26 12:39:00 -0400431 0x00000000, /* SQ_PGM_RESOURCES_FS */
432
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000433 0xc0016900,
434 0x00000237,
Alex Deucher8c119e92010-07-26 12:39:00 -0400435 0x00000000, /* SQ_PGM_CF_OFFSET_FS */
436
Alex Deuchereb544432010-07-27 18:57:06 -0400437 0xc0036900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000438 0x00000100,
Alex Deucher8c119e92010-07-26 12:39:00 -0400439 0x00000800, /* VGT_MAX_VTX_INDX */
Alex Deucher8c119e92010-07-26 12:39:00 -0400440 0x00000000, /* VGT_MIN_VTX_INDX */
Alex Deucher8c119e92010-07-26 12:39:00 -0400441 0x00000000, /* VGT_INDX_OFFSET */
442
Alex Deuchereb544432010-07-27 18:57:06 -0400443 0xc0026900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000444 0x000002a8,
Alex Deucher8c119e92010-07-26 12:39:00 -0400445 0x00000000, /* VGT_INSTANCE_STEP_RATE_0 */
Alex Deucher8c119e92010-07-26 12:39:00 -0400446 0x00000000, /* VGT_INSTANCE_STEP_RATE_1 */
447
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000448 0xc0016900,
449 0x00000103,
Alex Deucher8c119e92010-07-26 12:39:00 -0400450 0x00000000, /* VGT_MULTI_PRIM_IB_RESET_INDX */
451
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000452 0xc0016900,
453 0x00000284,
Alex Deucher8c119e92010-07-26 12:39:00 -0400454 0x00000000, /* VGT_OUTPUT_PATH_CNTL */
455
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000456 0xc0016900,
457 0x00000290,
Alex Deucher8c119e92010-07-26 12:39:00 -0400458 0x00000000, /* VGT_GS_MODE */
459
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000460 0xc0016900,
461 0x00000285,
Alex Deucher8c119e92010-07-26 12:39:00 -0400462 0x00000000, /* VGT_HOS_CNTL */
463
Alex Deuchereb544432010-07-27 18:57:06 -0400464 0xc00a6900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000465 0x00000286,
Alex Deucher8c119e92010-07-26 12:39:00 -0400466 0x00000000, /* VGT_HOS_MAX_TESS_LEVEL */
Alex Deucher8c119e92010-07-26 12:39:00 -0400467 0x00000000, /* VGT_HOS_MIN_TESS_LEVEL */
Alex Deucher8c119e92010-07-26 12:39:00 -0400468 0x00000000, /* VGT_HOS_REUSE_DEPTH */
Alex Deucher8c119e92010-07-26 12:39:00 -0400469 0x00000000, /* VGT_GROUP_PRIM_TYPE */
Alex Deucher8c119e92010-07-26 12:39:00 -0400470 0x00000000, /* VGT_GROUP_FIRST_DECR */
Alex Deucher8c119e92010-07-26 12:39:00 -0400471 0x00000000, /* VGT_GROUP_DECR */
Alex Deucher8c119e92010-07-26 12:39:00 -0400472 0x00000000, /* VGT_GROUP_VECT_0_CNTL */
Alex Deucher8c119e92010-07-26 12:39:00 -0400473 0x00000000, /* VGT_GROUP_VECT_1_CNTL */
Alex Deucher8c119e92010-07-26 12:39:00 -0400474 0x00000000, /* VGT_GROUP_VECT_0_FMT_CNTL */
Alex Deucher8c119e92010-07-26 12:39:00 -0400475 0x00000000, /* VGT_GROUP_VECT_1_FMT_CNTL */
476
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000477 0xc0016900,
478 0x000002a1,
Alex Deucher8c119e92010-07-26 12:39:00 -0400479 0x00000000, /* VGT_PRIMITIVEID_EN */
480
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000481 0xc0016900,
482 0x000002a5,
Alex Deucher8c119e92010-07-26 12:39:00 -0400483 0x00000000, /* VGT_MULTI_PRIM_ID_RESET_EN */
484
Alex Deuchereb544432010-07-27 18:57:06 -0400485 0xc0036900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000486 0x000002ac,
Alex Deucher8c119e92010-07-26 12:39:00 -0400487 0x00000000, /* VGT_STRMOUT_EN */
Alex Deucher8c119e92010-07-26 12:39:00 -0400488 0x00000000, /* VGT_REUSE_OFF */
Alex Deucher8c119e92010-07-26 12:39:00 -0400489 0x00000000, /* VGT_VTX_CNT_EN */
490
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000491 0xc0016900,
492 0x000002c8,
Alex Deucher8c119e92010-07-26 12:39:00 -0400493 0x00000000, /* VGT_STRMOUT_BUFFER_EN */
494
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000495 0xc0016900,
496 0x00000206,
Alex Deucher8c119e92010-07-26 12:39:00 -0400497 0x00000100, /* PA_CL_VTE_CNTL */
498
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000499 0xc0016900,
500 0x00000204,
Alex Deucher8c119e92010-07-26 12:39:00 -0400501 0x00010000, /* PA_CL_CLIP_CNTL */
502
503 0xc0036e00, /* SET_SAMPLER */
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000504 0x00000000,
505 0x00000012,
506 0x00000000,
507 0x00000000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400508
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000509 0xc0016900,
510 0x0000008f,
Alex Deucher8c119e92010-07-26 12:39:00 -0400511 0x0000000f, /* CB_SHADER_MASK */
512
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000513 0xc0016900,
514 0x000001e8,
Alex Deucher8c119e92010-07-26 12:39:00 -0400515 0x00000001, /* CB_SHADER_CONTROL */
516
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000517 0xc0016900,
518 0x00000202,
Alex Deucher8c119e92010-07-26 12:39:00 -0400519 0x00cc0000, /* CB_COLOR_CONTROL */
520
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000521 0xc0016900,
522 0x00000205,
Alex Deucher8c119e92010-07-26 12:39:00 -0400523 0x00000244, /* PA_SU_SC_MODE_CNTL */
524
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000525 0xc0016900,
526 0x00000203,
Alex Deucher8c119e92010-07-26 12:39:00 -0400527 0x00000210, /* DB_SHADER_CNTL */
528
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000529 0xc0016900,
530 0x000001b1,
Alex Deucher8c119e92010-07-26 12:39:00 -0400531 0x00000000, /* SPI_VS_OUT_CONFIG */
532
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000533 0xc0016900,
534 0x00000185,
Alex Deucher8c119e92010-07-26 12:39:00 -0400535 0x00000000, /* SPI_VS_OUT_ID_0 */
536
Alex Deuchereb544432010-07-27 18:57:06 -0400537 0xc0026900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000538 0x000001b3,
Alex Deucher8c119e92010-07-26 12:39:00 -0400539 0x00000001, /* SPI_PS_IN_CONTROL_0 */
Alex Deucher8c119e92010-07-26 12:39:00 -0400540 0x00000000, /* SPI_PS_IN_CONTROL_1 */
541
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000542 0xc0016900,
543 0x00000191,
Alex Deucher8c119e92010-07-26 12:39:00 -0400544 0x00000b00, /* SPI_PS_INPUT_CNTL_0 */
545
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000546 0xc0016900,
547 0x000001b5,
Alex Deucher8c119e92010-07-26 12:39:00 -0400548 0x00000000, /* SPI_INTERP_CONTROL_0 */
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000549};
550
551const u32 r7xx_default_state[] =
552{
Alex Deucher8c119e92010-07-26 12:39:00 -0400553 0xc0012800, /* CONTEXT_CONTROL */
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000554 0x80000000,
555 0x80000000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400556
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000557 0xc0016800,
558 0x00000010,
Alex Deucher8c119e92010-07-26 12:39:00 -0400559 0x00008000, /* WAIT_UNTIL */
560
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000561 0xc0016800,
562 0x00000542,
Alex Deucher8c119e92010-07-26 12:39:00 -0400563 0x07000002, /* TA_CNTL_AUX */
564
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000565 0xc0016800,
566 0x000005c5,
Alex Deucher8c119e92010-07-26 12:39:00 -0400567 0x00000000, /* VC_ENHANCE */
568
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000569 0xc0016800,
570 0x00000363,
Alex Deucher8c119e92010-07-26 12:39:00 -0400571 0x00004000, /* SQ_DYN_GPR_CNTL_PS_FLUSH_REQ */
572
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000573 0xc0016800,
574 0x0000060c,
Alex Deucher8c119e92010-07-26 12:39:00 -0400575 0x00000000, /* DB_DEBUG */
576
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000577 0xc0016800,
578 0x0000060e,
Alex Deucher8c119e92010-07-26 12:39:00 -0400579 0x00420204, /* DB_WATERMARKS */
580
Alex Deuchereb544432010-07-27 18:57:06 -0400581 0xc0026f00,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000582 0x00000000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400583 0x00000000, /* SQ_VTX_BASE_VTX_LOC */
Alex Deucher8c119e92010-07-26 12:39:00 -0400584 0x00000000, /* SQ_VTX_START_INST_LOC */
585
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000586 0xc0096900,
587 0x0000022a,
Alex Deucher8c119e92010-07-26 12:39:00 -0400588 0x00000000, /* SQ_ESGS_RING_ITEMSIZE */
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000589 0x00000000,
590 0x00000000,
591 0x00000000,
592 0x00000000,
593 0x00000000,
594 0x00000000,
595 0x00000000,
596 0x00000000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400597
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000598 0xc0016900,
599 0x00000004,
Alex Deucher8c119e92010-07-26 12:39:00 -0400600 0x00000000, /* DB_DEPTH_INFO */
601
Alex Deuchereb544432010-07-27 18:57:06 -0400602 0xc0026900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000603 0x0000000a,
Alex Deucher8c119e92010-07-26 12:39:00 -0400604 0x00000000, /* DB_STENCIL_CLEAR */
Alex Deucher8c119e92010-07-26 12:39:00 -0400605 0x00000000, /* DB_DEPTH_CLEAR */
606
Alex Deuchereb544432010-07-27 18:57:06 -0400607 0xc0026900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000608 0x0000010c,
Alex Deucher8c119e92010-07-26 12:39:00 -0400609 0x00000000, /* DB_STENCILREFMASK */
Alex Deucher8c119e92010-07-26 12:39:00 -0400610 0x00000000, /* DB_STENCILREFMASK_BF */
611
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000612 0xc0016900,
613 0x00000200,
Alex Deucher8c119e92010-07-26 12:39:00 -0400614 0x00000000, /* DB_DEPTH_CONTROL */
615
Alex Deuchereb544432010-07-27 18:57:06 -0400616 0xc0026900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000617 0x00000343,
Alex Deucher8c119e92010-07-26 12:39:00 -0400618 0x00000060, /* DB_RENDER_CONTROL */
Alex Deucher8c119e92010-07-26 12:39:00 -0400619 0x00000000, /* DB_RENDER_OVERRIDE */
620
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000621 0xc0016900,
622 0x00000351,
Alex Deucher8c119e92010-07-26 12:39:00 -0400623 0x0000aa00, /* DB_ALPHA_TO_MASK */
624
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000625 0xc0016900,
626 0x00000104,
Alex Deucher8c119e92010-07-26 12:39:00 -0400627 0x00000000, /* SX_ALPHA_TEST_CONTROL */
628
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000629 0xc0016900,
630 0x0000010e,
Alex Deucher8c119e92010-07-26 12:39:00 -0400631 0x00000000, /* SX_ALPHA_REF */
632
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000633 0xc0046900,
634 0x00000105,
Alex Deucher8c119e92010-07-26 12:39:00 -0400635 0x00000000, /* CB_BLEND_RED */
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000636 0x00000000,
637 0x00000000,
638 0x00000000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400639
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000640 0xc0046900,
Alex Deucher8c119e92010-07-26 12:39:00 -0400641 0x0000030c, /* CB_CLRCMP_CNTL */
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000642 0x01000000,
643 0x00000000,
644 0x00000000,
645 0x00000000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400646
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000647 0xc0016900,
648 0x0000008e,
Alex Deucher8c119e92010-07-26 12:39:00 -0400649 0x0000000f, /* CB_TARGET_MASK */
650
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000651 0xc0016900,
652 0x00000080,
Alex Deucher8c119e92010-07-26 12:39:00 -0400653 0x00000000, /* PA_SC_WINDOW_OFFSET */
654
Alex Deuchereb544432010-07-27 18:57:06 -0400655 0xc00a6900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000656 0x00000083,
Alex Deucher8c119e92010-07-26 12:39:00 -0400657 0x0000ffff, /* PA_SC_CLIP_RECT_RULE */
Alex Deuchereb544432010-07-27 18:57:06 -0400658 0x00000000, /* PA_SC_CLIPRECT_0_TL */
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000659 0x20002000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000660 0x00000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000661 0x20002000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000662 0x00000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000663 0x20002000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000664 0x00000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000665 0x20002000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400666 0xaaaaaaaa, /* PA_SC_EDGERULE */
667
Alex Deuchereb544432010-07-27 18:57:06 -0400668 0xc0026900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000669 0x00000094,
Alex Deucher8c119e92010-07-26 12:39:00 -0400670 0x80000000, /* PA_SC_VPORT_SCISSOR_0_TL */
Alex Deucher8c119e92010-07-26 12:39:00 -0400671 0x20002000, /* PA_SC_VPORT_SCISSOR_0_BR */
672
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000673 0xc0026900,
674 0x000000b4,
Alex Deucher8c119e92010-07-26 12:39:00 -0400675 0x00000000, /* PA_SC_VPORT_ZMIN_0 */
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000676 0x3f800000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400677
Alex Deuchereb544432010-07-27 18:57:06 -0400678 0xc0026900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000679 0x00000096,
680 0x80000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000681 0x20002000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400682
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000683 0xc0026900,
684 0x000000b6,
685 0x00000000,
686 0x3f800000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400687
Alex Deuchereb544432010-07-27 18:57:06 -0400688 0xc0026900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000689 0x00000098,
690 0x80000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000691 0x20002000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400692
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000693 0xc0026900,
694 0x000000b8,
695 0x00000000,
696 0x3f800000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400697
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000698 0xc0016900,
699 0x0000009a,
700 0x80000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000701 0x20002000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400702
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000703 0xc0026900,
704 0x000000ba,
705 0x00000000,
706 0x3f800000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400707
Alex Deuchereb544432010-07-27 18:57:06 -0400708 0xc0026900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000709 0x0000009c,
710 0x80000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000711 0x20002000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400712
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000713 0xc0026900,
714 0x000000bc,
715 0x00000000,
716 0x3f800000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400717
Alex Deuchereb544432010-07-27 18:57:06 -0400718 0xc0026900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000719 0x0000009e,
720 0x80000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000721 0x20002000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400722
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000723 0xc0026900,
724 0x000000be,
725 0x00000000,
726 0x3f800000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400727
Alex Deuchereb544432010-07-27 18:57:06 -0400728 0xc0026900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000729 0x000000a0,
730 0x80000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000731 0x20002000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400732
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000733 0xc0026900,
734 0x000000c0,
735 0x00000000,
736 0x3f800000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400737
Alex Deuchereb544432010-07-27 18:57:06 -0400738 0xc0026900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000739 0x000000a2,
740 0x80000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000741 0x20002000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400742
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000743 0xc0026900,
744 0x000000c2,
745 0x00000000,
746 0x3f800000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400747
Alex Deuchereb544432010-07-27 18:57:06 -0400748 0xc0026900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000749 0x000000a4,
750 0x80000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000751 0x20002000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400752
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000753 0xc0026900,
754 0x000000c4,
755 0x00000000,
756 0x3f800000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400757
Alex Deuchereb544432010-07-27 18:57:06 -0400758 0xc0026900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000759 0x000000a6,
760 0x80000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000761 0x20002000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400762
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000763 0xc0026900,
764 0x000000c6,
765 0x00000000,
766 0x3f800000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400767
Alex Deuchereb544432010-07-27 18:57:06 -0400768 0xc0026900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000769 0x000000a8,
770 0x80000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000771 0x20002000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400772
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000773 0xc0026900,
774 0x000000c8,
775 0x00000000,
776 0x3f800000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400777
Alex Deuchereb544432010-07-27 18:57:06 -0400778 0xc0026900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000779 0x000000aa,
780 0x80000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000781 0x20002000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400782
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000783 0xc0026900,
784 0x000000ca,
785 0x00000000,
786 0x3f800000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400787
Alex Deuchereb544432010-07-27 18:57:06 -0400788 0xc0026900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000789 0x000000ac,
790 0x80000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000791 0x20002000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400792
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000793 0xc0026900,
794 0x000000cc,
795 0x00000000,
796 0x3f800000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400797
Alex Deuchereb544432010-07-27 18:57:06 -0400798 0xc0026900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000799 0x000000ae,
800 0x80000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000801 0x20002000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400802
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000803 0xc0026900,
804 0x000000ce,
805 0x00000000,
806 0x3f800000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400807
Alex Deuchereb544432010-07-27 18:57:06 -0400808 0xc0026900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000809 0x000000b0,
810 0x80000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000811 0x20002000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400812
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000813 0xc0026900,
814 0x000000d0,
815 0x00000000,
816 0x3f800000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400817
Alex Deuchereb544432010-07-27 18:57:06 -0400818 0xc0026900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000819 0x000000b2,
820 0x80000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000821 0x20002000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400822
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000823 0xc0026900,
824 0x000000d2,
825 0x00000000,
826 0x3f800000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400827
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000828 0xc0016900,
829 0x00000293,
Alex Deucher8c119e92010-07-26 12:39:00 -0400830 0x00514000, /* PA_SC_MODE_CNTL */
831
Alex Deuchereb544432010-07-27 18:57:06 -0400832 0xc0026900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000833 0x00000300,
Alex Deucher8c119e92010-07-26 12:39:00 -0400834 0x00000000, /* PA_SC_LINE_CNTL */
Alex Deucher8c119e92010-07-26 12:39:00 -0400835 0x00000000, /* PA_SC_AA_CONFIG */
836
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000837 0xc0016900,
838 0x00000312,
Alex Deucher8c119e92010-07-26 12:39:00 -0400839 0xffffffff, /* PA_SC_AA_MASK */
840
Alex Deuchereb544432010-07-27 18:57:06 -0400841 0xc0026900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000842 0x00000307,
Alex Deucher8c119e92010-07-26 12:39:00 -0400843 0x00000000, /* PA_SC_SAMPLE_LOCS_MCTX */
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000844 0x00000000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400845
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000846 0xc0016900,
847 0x00000283,
Alex Deucher8c119e92010-07-26 12:39:00 -0400848 0x00000000, /* PA_SC_LINE_STIPPLE */
849
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000850 0xc0016900,
851 0x00000292,
Alex Deucher8c119e92010-07-26 12:39:00 -0400852 0x00000000, /* PA_SC_MPASS_PS_CNTL */
853
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000854 0xc0066900,
855 0x0000010f,
Alex Deucher8c119e92010-07-26 12:39:00 -0400856 0x00000000, /* PA_CL_VPORT_0_XSCALE */
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000857 0x00000000,
858 0x00000000,
859 0x00000000,
860 0x00000000,
861 0x00000000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400862
Alex Deuchereb544432010-07-27 18:57:06 -0400863 0xc0026900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000864 0x00000207,
Alex Deucher8c119e92010-07-26 12:39:00 -0400865 0x00000000, /* PA_CL_VS_OUT_CNTL */
Alex Deucher8c119e92010-07-26 12:39:00 -0400866 0x00000000, /* PA_CL_NANINF_CNTL */
867
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000868 0xc0046900,
869 0x00000303,
Alex Deucher8c119e92010-07-26 12:39:00 -0400870 0x3f800000, /* PA_CL_GB_VERT_CLIP_ADJ */
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000871 0x3f800000,
872 0x3f800000,
873 0x3f800000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400874
Alex Deuchereb544432010-07-27 18:57:06 -0400875 0xc0026900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000876 0x00000280,
Alex Deucher8c119e92010-07-26 12:39:00 -0400877 0x00000000, /* PA_SU_POINT_SIZE */
Alex Deucher8c119e92010-07-26 12:39:00 -0400878 0x00000000, /* PA_SU_POINT_MINMAX */
879
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000880 0xc0016900,
881 0x0000037e,
Alex Deucher8c119e92010-07-26 12:39:00 -0400882 0x00000000, /* PA_SU_POLY_OFFSET_DB_FMT_CNTL */
883
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000884 0xc0016900,
885 0x00000382,
Alex Deucher8c119e92010-07-26 12:39:00 -0400886 0x00000000, /* PA_SU_POLY_OFFSET_BACK_SCALE */
887
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000888 0xc0016900,
889 0x00000380,
Alex Deucher8c119e92010-07-26 12:39:00 -0400890 0x00000000, /* PA_SU_POLY_OFFSET_FRONT_SCALE */
891
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000892 0xc0016900,
893 0x00000383,
Alex Deucher8c119e92010-07-26 12:39:00 -0400894 0x00000000, /* PA_SU_POLY_OFFSET_BACK_OFFSET */
895
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000896 0xc0016900,
897 0x00000381,
Alex Deucher8c119e92010-07-26 12:39:00 -0400898 0x00000000, /* PA_SU_POLY_OFFSET_FRONT_OFFSET */
899
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000900 0xc0016900,
901 0x00000282,
Alex Deucher8c119e92010-07-26 12:39:00 -0400902 0x00000008, /* PA_SU_LINE_CNTL */
903
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000904 0xc0016900,
905 0x00000302,
Alex Deucher8c119e92010-07-26 12:39:00 -0400906 0x0000002d, /* PA_SU_VTX_CNTL */
907
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000908 0xc0016900,
909 0x0000037f,
Alex Deucher8c119e92010-07-26 12:39:00 -0400910 0x00000000, /* PA_SU_POLY_OFFSET_CLAMP */
911
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000912 0xc0016900,
913 0x000001b2,
Alex Deucher8c119e92010-07-26 12:39:00 -0400914 0x00000001, /* SPI_THREAD_GROUPING */
915
Alex Deuchereb544432010-07-27 18:57:06 -0400916 0xc0046900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000917 0x000001b6,
Alex Deucher8c119e92010-07-26 12:39:00 -0400918 0x00000000, /* SPI_INPUT_Z */
Alex Deucher8c119e92010-07-26 12:39:00 -0400919 0x00000000, /* SPI_FOG_CNTL */
Alex Deucher8c119e92010-07-26 12:39:00 -0400920 0x00000000, /* SPI_FOG_FUNC_SCALE */
Alex Deucher8c119e92010-07-26 12:39:00 -0400921 0x00000000, /* SPI_FOG_FUNC_BIAS */
922
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000923 0xc0016900,
924 0x00000225,
Alex Deucher8c119e92010-07-26 12:39:00 -0400925 0x00000000, /* SQ_PGM_START_FS */
926
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000927 0xc0016900,
928 0x00000229,
Alex Deucher8c119e92010-07-26 12:39:00 -0400929 0x00000000, /* SQ_PGM_RESOURCES_FS */
930
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000931 0xc0016900,
932 0x00000237,
Alex Deucher8c119e92010-07-26 12:39:00 -0400933 0x00000000, /* SQ_PGM_CF_OFFSET_FS */
934
Alex Deuchereb544432010-07-27 18:57:06 -0400935 0xc0036900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000936 0x00000100,
Alex Deucher8c119e92010-07-26 12:39:00 -0400937 0x00000800, /* VGT_MAX_VTX_INDX */
Alex Deucher8c119e92010-07-26 12:39:00 -0400938 0x00000000, /* VGT_MIN_VTX_INDX */
Alex Deucher8c119e92010-07-26 12:39:00 -0400939 0x00000000, /* VGT_INDX_OFFSET */
940
Alex Deuchereb544432010-07-27 18:57:06 -0400941 0xc0026900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000942 0x000002a8,
Alex Deucher8c119e92010-07-26 12:39:00 -0400943 0x00000000, /* VGT_INSTANCE_STEP_RATE_0 */
Alex Deucher8c119e92010-07-26 12:39:00 -0400944 0x00000000, /* VGT_INSTANCE_STEP_RATE_1 */
945
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000946 0xc0016900,
947 0x00000103,
Alex Deucher8c119e92010-07-26 12:39:00 -0400948 0x00000000, /* VGT_MULTI_PRIM_IB_RESET_INDX */
949
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000950 0xc0016900,
951 0x00000284,
Alex Deucher8c119e92010-07-26 12:39:00 -0400952 0x00000000, /* VGT_OUTPUT_PATH_CNTL */
953
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000954 0xc0016900,
955 0x00000290,
Alex Deucher8c119e92010-07-26 12:39:00 -0400956 0x00000000, /* VGT_GS_MODE */
957
Alex Deuchereb544432010-07-27 18:57:06 -0400958 0xc00b6900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000959 0x00000285,
Alex Deucher8c119e92010-07-26 12:39:00 -0400960 0x00000000, /* VGT_HOS_CNTL */
Alex Deucher8c119e92010-07-26 12:39:00 -0400961 0x00000000, /* VGT_HOS_MAX_TESS_LEVEL */
Alex Deucher8c119e92010-07-26 12:39:00 -0400962 0x00000000, /* VGT_HOS_MIN_TESS_LEVEL */
Alex Deucher8c119e92010-07-26 12:39:00 -0400963 0x00000000, /* VGT_HOS_REUSE_DEPTH */
Alex Deucher8c119e92010-07-26 12:39:00 -0400964 0x00000000, /* VGT_GROUP_PRIM_TYPE */
Alex Deucher8c119e92010-07-26 12:39:00 -0400965 0x00000000, /* VGT_GROUP_FIRST_DECR */
Alex Deucher8c119e92010-07-26 12:39:00 -0400966 0x00000000, /* VGT_GROUP_DECR */
Alex Deucher8c119e92010-07-26 12:39:00 -0400967 0x00000000, /* VGT_GROUP_VECT_0_CNTL */
Alex Deucher8c119e92010-07-26 12:39:00 -0400968 0x00000000, /* VGT_GROUP_VECT_1_CNTL */
Alex Deucher8c119e92010-07-26 12:39:00 -0400969 0x00000000, /* VGT_GROUP_VECT_0_FMT_CNTL */
Alex Deucher8c119e92010-07-26 12:39:00 -0400970 0x00000000, /* VGT_GROUP_VECT_1_FMT_CNTL */
971
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000972 0xc0016900,
973 0x000002a1,
Alex Deucher8c119e92010-07-26 12:39:00 -0400974 0x00000000, /* VGT_PRIMITIVEID_EN */
975
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000976 0xc0016900,
977 0x000002a5,
Alex Deucher8c119e92010-07-26 12:39:00 -0400978 0x00000000, /* VGT_MULTI_PRIM_ID_RESET_EN */
979
Alex Deuchereb544432010-07-27 18:57:06 -0400980 0xc0036900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000981 0x000002ac,
Alex Deucher8c119e92010-07-26 12:39:00 -0400982 0x00000000, /* VGT_STRMOUT_EN */
Alex Deucher8c119e92010-07-26 12:39:00 -0400983 0x00000000, /* VGT_REUSE_OFF */
Alex Deucher8c119e92010-07-26 12:39:00 -0400984 0x00000000, /* VGT_VTX_CNT_EN */
985
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000986 0xc0016900,
987 0x000002c8,
Alex Deucher8c119e92010-07-26 12:39:00 -0400988 0x00000000, /* VGT_STRMOUT_BUFFER_EN */
989
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000990 0xc0016900,
991 0x00000206,
Alex Deucher8c119e92010-07-26 12:39:00 -0400992 0x00000100, /* PA_CL_VTE_CNTL */
993
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000994 0xc0016900,
995 0x00000204,
Alex Deucher8c119e92010-07-26 12:39:00 -0400996 0x00010000, /* PA_CL_CLIP_CNTL */
997
998 0xc0036e00, /* SET_SAMPLER */
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000999 0x00000000,
1000 0x00000012,
1001 0x00000000,
1002 0x00000000,
Alex Deucher8c119e92010-07-26 12:39:00 -04001003
Jerome Glisse3ce0a232009-09-08 10:10:24 +10001004 0xc0016900,
1005 0x0000008f,
Alex Deucher8c119e92010-07-26 12:39:00 -04001006 0x0000000f, /* CB_SHADER_MASK */
1007
Jerome Glisse3ce0a232009-09-08 10:10:24 +10001008 0xc0016900,
1009 0x000001e8,
Alex Deucher8c119e92010-07-26 12:39:00 -04001010 0x00000001, /* CB_SHADER_CONTROL */
1011
Jerome Glisse3ce0a232009-09-08 10:10:24 +10001012 0xc0016900,
1013 0x00000202,
Alex Deucher8c119e92010-07-26 12:39:00 -04001014 0x00cc0000, /* CB_COLOR_CONTROL */
1015
Jerome Glisse3ce0a232009-09-08 10:10:24 +10001016 0xc0016900,
1017 0x00000205,
Alex Deucher8c119e92010-07-26 12:39:00 -04001018 0x00000244, /* PA_SU_SC_MODE_CNTL */
1019
Jerome Glisse3ce0a232009-09-08 10:10:24 +10001020 0xc0016900,
1021 0x00000203,
Alex Deucher8c119e92010-07-26 12:39:00 -04001022 0x00000210, /* DB_SHADER_CNTL */
1023
Jerome Glisse3ce0a232009-09-08 10:10:24 +10001024 0xc0016900,
1025 0x000001b1,
Alex Deucher8c119e92010-07-26 12:39:00 -04001026 0x00000000, /* SPI_VS_OUT_CONFIG */
1027
Jerome Glisse3ce0a232009-09-08 10:10:24 +10001028 0xc0016900,
1029 0x00000185,
Alex Deucher8c119e92010-07-26 12:39:00 -04001030 0x00000000, /* SPI_VS_OUT_ID_0 */
1031
Alex Deuchereb544432010-07-27 18:57:06 -04001032 0xc0026900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +10001033 0x000001b3,
Alex Deucher8c119e92010-07-26 12:39:00 -04001034 0x00000001, /* SPI_PS_IN_CONTROL_0 */
Alex Deucher8c119e92010-07-26 12:39:00 -04001035 0x00000000, /* SPI_PS_IN_CONTROL_1 */
1036
Jerome Glisse3ce0a232009-09-08 10:10:24 +10001037 0xc0016900,
1038 0x00000191,
Alex Deucher8c119e92010-07-26 12:39:00 -04001039 0x00000b00, /* SPI_PS_INPUT_CNTL_0 */
1040
Jerome Glisse3ce0a232009-09-08 10:10:24 +10001041 0xc0016900,
1042 0x000001b5,
Alex Deucher8c119e92010-07-26 12:39:00 -04001043 0x00000000, /* SPI_INTERP_CONTROL_0 */
Jerome Glisse3ce0a232009-09-08 10:10:24 +10001044};
1045
1046/* same for r6xx/r7xx */
1047const u32 r6xx_vs[] =
1048{
1049 0x00000004,
1050 0x81000000,
1051 0x0000203c,
1052 0x94000b08,
1053 0x00004000,
1054 0x14200b1a,
1055 0x00000000,
1056 0x00000000,
1057 0x3c000000,
1058 0x68cd1000,
1059 0x00080000,
1060 0x00000000,
1061};
1062
1063const u32 r6xx_ps[] =
1064{
1065 0x00000002,
1066 0x80800000,
1067 0x00000000,
1068 0x94200688,
1069 0x00000010,
1070 0x000d1000,
1071 0xb0800000,
1072 0x00000000,
1073};
1074
1075const u32 r6xx_ps_size = ARRAY_SIZE(r6xx_ps);
1076const u32 r6xx_vs_size = ARRAY_SIZE(r6xx_vs);
1077const u32 r6xx_default_size = ARRAY_SIZE(r6xx_default_state);
1078const u32 r7xx_default_size = ARRAY_SIZE(r7xx_default_state);