1273138Sjkim/*
2280304Sjkim * Copyright 2012 Advanced Micro Devices, Inc.
3273138Sjkim *
4273138Sjkim * Permission is hereby granted, free of charge, to any person obtaining a
5273138Sjkim * copy of this software and associated documentation files (the "Software"),
6273138Sjkim * to deal in the Software without restriction, including without limitation
7273138Sjkim * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8273138Sjkim * and/or sell copies of the Software, and to permit persons to whom the
9273138Sjkim * Software is furnished to do so, subject to the following conditions:
10273138Sjkim *
11273138Sjkim * The above copyright notice and this permission notice (including the next
12273138Sjkim * paragraph) shall be included in all copies or substantial portions of the
13273138Sjkim * Software.
14273138Sjkim *
15273138Sjkim * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16273138Sjkim * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17273138Sjkim * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
18273138Sjkim * THE COPYRIGHT HOLDER(S) AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
19273138Sjkim * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
20273138Sjkim * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21273138Sjkim * DEALINGS IN THE SOFTWARE.
22273138Sjkim *
23273138Sjkim * Authors:
24273138Sjkim *     Alex Deucher <alexander.deucher@amd.com>
25273138Sjkim */
26273138Sjkim
27273138Sjkim#ifndef CIK_BLIT_SHADERS_H
28273138Sjkim#define CIK_BLIT_SHADERS_H
29273138Sjkim
30273138Sjkimstatic const u32 cik_default_state[] =
31273138Sjkim{
32273138Sjkim	0xc0066900,
33273138Sjkim	0x00000000,
34273138Sjkim	0x00000060, /* DB_RENDER_CONTROL */
35273138Sjkim	0x00000000, /* DB_COUNT_CONTROL */
36273138Sjkim	0x00000000, /* DB_DEPTH_VIEW */
37273138Sjkim	0x0000002a, /* DB_RENDER_OVERRIDE */
38273138Sjkim	0x00000000, /* DB_RENDER_OVERRIDE2 */
39273138Sjkim	0x00000000, /* DB_HTILE_DATA_BASE */
40273138Sjkim
41273138Sjkim	0xc0046900,
42273138Sjkim	0x00000008,
43273138Sjkim	0x00000000, /* DB_DEPTH_BOUNDS_MIN */
44273138Sjkim	0x00000000, /* DB_DEPTH_BOUNDS_MAX */
45273138Sjkim	0x00000000, /* DB_STENCIL_CLEAR */
46273138Sjkim	0x00000000, /* DB_DEPTH_CLEAR */
47273138Sjkim
48280304Sjkim	0xc0036900,
49273138Sjkim	0x0000000f,
50280304Sjkim	0x00000000, /* DB_DEPTH_INFO */
51273138Sjkim	0x00000000, /* DB_Z_INFO */
52273138Sjkim	0x00000000, /* DB_STENCIL_INFO */
53273138Sjkim
54273138Sjkim	0xc0016900,
55273138Sjkim	0x00000080,
56280304Sjkim	0x00000000, /* PA_SC_WINDOW_OFFSET */
57273138Sjkim
58273138Sjkim	0xc00d6900,
59273138Sjkim	0x00000083,
60273138Sjkim	0x0000ffff, /* PA_SC_CLIPRECT_RULE */
61273138Sjkim	0x00000000, /* PA_SC_CLIPRECT_0_TL */
62273138Sjkim	0x20002000, /* PA_SC_CLIPRECT_0_BR */
63273138Sjkim	0x00000000,
64273138Sjkim	0x20002000,
65273138Sjkim	0x00000000,
66273138Sjkim	0x20002000,
67273138Sjkim	0x00000000,
68273138Sjkim	0x20002000,
69273138Sjkim	0xaaaaaaaa, /* PA_SC_EDGERULE */
70273138Sjkim	0x00000000, /* PA_SU_HARDWARE_SCREEN_OFFSET */
71273138Sjkim	0x0000000f, /* CB_TARGET_MASK */
72273138Sjkim	0x0000000f, /* CB_SHADER_MASK */
73273138Sjkim
74273138Sjkim	0xc0226900,
75273138Sjkim	0x00000094,
76273138Sjkim	0x80000000, /* PA_SC_VPORT_SCISSOR_0_TL */
77273138Sjkim	0x20002000, /* PA_SC_VPORT_SCISSOR_0_BR */
78273138Sjkim	0x80000000,
79273138Sjkim	0x20002000,
80273138Sjkim	0x80000000,
81273138Sjkim	0x20002000,
82273138Sjkim	0x80000000,
83273138Sjkim	0x20002000,
84273138Sjkim	0x80000000,
85273138Sjkim	0x20002000,
86280304Sjkim	0x80000000,
87280304Sjkim	0x20002000,
88273138Sjkim	0x80000000,
89273138Sjkim	0x20002000,
90273138Sjkim	0x80000000,
91273138Sjkim	0x20002000,
92273138Sjkim	0x80000000,
93273138Sjkim	0x20002000,
94280304Sjkim	0x80000000,
95280304Sjkim	0x20002000,
96273138Sjkim	0x80000000,
97273138Sjkim	0x20002000,
98273138Sjkim	0x80000000,
99273138Sjkim	0x20002000,
100273138Sjkim	0x80000000,
101273138Sjkim	0x20002000,
102273138Sjkim	0x80000000,
103273138Sjkim	0x20002000,
104273138Sjkim	0x80000000,
105273138Sjkim	0x20002000,
106273138Sjkim	0x80000000,
107273138Sjkim	0x20002000,
108273138Sjkim	0x00000000, /* PA_SC_VPORT_ZMIN_0 */
109280304Sjkim	0x3f800000, /* PA_SC_VPORT_ZMAX_0 */
110280304Sjkim
111273138Sjkim	0xc0046900,
112273138Sjkim	0x00000100,
113273138Sjkim	0xffffffff, /* VGT_MAX_VTX_INDX */
114273138Sjkim	0x00000000, /* VGT_MIN_VTX_INDX */
115273138Sjkim	0x00000000, /* VGT_INDX_OFFSET */
116280304Sjkim	0x00000000, /* VGT_MULTI_PRIM_IB_RESET_INDX */
117273138Sjkim
118273138Sjkim	0xc0046900,
119273138Sjkim	0x00000105,
120273138Sjkim	0x00000000, /* CB_BLEND_RED */
121273138Sjkim	0x00000000, /* CB_BLEND_GREEN */
122273138Sjkim	0x00000000, /* CB_BLEND_BLUE */
123273138Sjkim	0x00000000, /* CB_BLEND_ALPHA */
124280304Sjkim
125280304Sjkim	0xc0016900,
126273138Sjkim	0x000001e0,
127273138Sjkim	0x00000000, /* CB_BLEND0_CONTROL */
128280304Sjkim
129280304Sjkim	0xc00c6900,
130273138Sjkim	0x00000200,
131273138Sjkim	0x00000000, /* DB_DEPTH_CONTROL */
132273138Sjkim	0x00000000, /* DB_EQAA */
133273138Sjkim	0x00cc0010, /* CB_COLOR_CONTROL */
134280304Sjkim	0x00000210, /* DB_SHADER_CONTROL */
135280304Sjkim	0x00010000, /* PA_CL_CLIP_CNTL */
136280304Sjkim	0x00000004, /* PA_SU_SC_MODE_CNTL */
137273138Sjkim	0x00000100, /* PA_CL_VTE_CNTL */
138273138Sjkim	0x00000000, /* PA_CL_VS_OUT_CNTL */
139280304Sjkim	0x00000000, /* PA_CL_NANINF_CNTL */
140280304Sjkim	0x00000000, /* PA_SU_LINE_STIPPLE_CNTL */
141280304Sjkim	0x00000000, /* PA_SU_LINE_STIPPLE_SCALE */
142273138Sjkim	0x00000000, /* PA_SU_PRIM_FILTER_CNTL */
143273138Sjkim
144280304Sjkim	0xc0116900,
145280304Sjkim	0x00000280,
146280304Sjkim	0x00000000, /* PA_SU_POINT_SIZE */
147273138Sjkim	0x00000000, /* PA_SU_POINT_MINMAX */
148273138Sjkim	0x00000008, /* PA_SU_LINE_CNTL */
149280304Sjkim	0x00000000, /* PA_SC_LINE_STIPPLE */
150280304Sjkim	0x00000000, /* VGT_OUTPUT_PATH_CNTL */
151280304Sjkim	0x00000000, /* VGT_HOS_CNTL */
152273138Sjkim	0x00000000,
153273138Sjkim	0x00000000,
154280304Sjkim	0x00000000,
155280304Sjkim	0x00000000,
156280304Sjkim	0x00000000,
157273138Sjkim	0x00000000,
158273138Sjkim	0x00000000,
159280304Sjkim	0x00000000,
160280304Sjkim	0x00000000,
161280304Sjkim	0x00000000,
162273138Sjkim	0x00000000, /* VGT_GS_MODE */
163273138Sjkim
164280304Sjkim	0xc0026900,
165280304Sjkim	0x00000292,
166280304Sjkim	0x00000000, /* PA_SC_MODE_CNTL_0 */
167273138Sjkim	0x00000000, /* PA_SC_MODE_CNTL_1 */
168273138Sjkim
169280304Sjkim	0xc0016900,
170280304Sjkim	0x000002a1,
171280304Sjkim	0x00000000, /* VGT_PRIMITIVEID_EN */
172273138Sjkim
173273138Sjkim	0xc0016900,
174280304Sjkim	0x000002a5,
175280304Sjkim	0x00000000, /* VGT_MULTI_PRIM_IB_RESET_EN */
176280304Sjkim
177273138Sjkim	0xc0026900,
178273138Sjkim	0x000002a8,
179280304Sjkim	0x00000000, /* VGT_INSTANCE_STEP_RATE_0 */
180280304Sjkim	0x00000000,
181280304Sjkim
182273138Sjkim	0xc0026900,
183273138Sjkim	0x000002ad,
184280304Sjkim	0x00000000, /* VGT_REUSE_OFF */
185280304Sjkim	0x00000000,
186280304Sjkim
187273138Sjkim	0xc0016900,
188273138Sjkim	0x000002d5,
189280304Sjkim	0x00000000, /* VGT_SHADER_STAGES_EN */
190280304Sjkim
191280304Sjkim	0xc0016900,
192280304Sjkim	0x000002dc,
193280304Sjkim	0x0000aa00, /* DB_ALPHA_TO_MASK */
194273138Sjkim
195273138Sjkim	0xc0066900,
196280304Sjkim	0x000002de,
197280304Sjkim	0x00000000, /* PA_SU_POLY_OFFSET_DB_FMT_CNTL */
198280304Sjkim	0x00000000,
199280304Sjkim	0x00000000,
200280304Sjkim	0x00000000,
201273138Sjkim	0x00000000,
202276864Sjkim	0x00000000,
203280304Sjkim
204280304Sjkim	0xc0026900,
205280304Sjkim	0x000002e5,
206273138Sjkim	0x00000000, /* VGT_STRMOUT_CONFIG */
207273138Sjkim	0x00000000,
208273138Sjkim
209273138Sjkim	0xc01b6900,
210273138Sjkim	0x000002f5,
211280304Sjkim	0x76543210, /* PA_SC_CENTROID_PRIORITY_0 */
212	0xfedcba98, /* PA_SC_CENTROID_PRIORITY_1 */
213	0x00000000, /* PA_SC_LINE_CNTL */
214	0x00000000, /* PA_SC_AA_CONFIG */
215	0x00000005, /* PA_SU_VTX_CNTL */
216	0x3f800000, /* PA_CL_GB_VERT_CLIP_ADJ */
217	0x3f800000, /* PA_CL_GB_VERT_DISC_ADJ */
218	0x3f800000, /* PA_CL_GB_HORZ_CLIP_ADJ */
219	0x3f800000, /* PA_CL_GB_HORZ_DISC_ADJ */
220	0x00000000, /* PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y0_0 */
221	0x00000000,
222	0x00000000,
223	0x00000000,
224	0x00000000,
225	0x00000000,
226	0x00000000,
227	0x00000000,
228	0x00000000,
229	0x00000000,
230	0x00000000,
231	0x00000000,
232	0x00000000,
233	0x00000000,
234	0x00000000,
235	0x00000000,
236	0xffffffff, /* PA_SC_AA_MASK_X0Y0_X1Y0 */
237	0xffffffff,
238
239	0xc0026900,
240	0x00000316,
241	0x0000000e, /* VGT_VERTEX_REUSE_BLOCK_CNTL */
242	0x00000010, /*  */
243};
244
245static const u32 cik_default_size = ARRAY_SIZE(cik_default_state);
246
247#endif
248