xref: /aosp_15_r20/external/libdrm/tests/amdgpu/shader_code_gfx11.h (revision 7688df22e49036ff52a766b7101da3a49edadb8c)
1*7688df22SAndroid Build Coastguard Worker /*
2*7688df22SAndroid Build Coastguard Worker  * Copyright 2022 Advanced Micro Devices, Inc.
3*7688df22SAndroid Build Coastguard Worker  *
4*7688df22SAndroid Build Coastguard Worker  * Permission is hereby granted, free of charge, to any person obtaining a
5*7688df22SAndroid Build Coastguard Worker  * copy of this software and associated documentation files (the "Software"),
6*7688df22SAndroid Build Coastguard Worker  * to deal in the Software without restriction, including without limitation
7*7688df22SAndroid Build Coastguard Worker  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8*7688df22SAndroid Build Coastguard Worker  * and/or sell copies of the Software, and to permit persons to whom the
9*7688df22SAndroid Build Coastguard Worker  * Software is furnished to do so, subject to the following conditions:
10*7688df22SAndroid Build Coastguard Worker  *
11*7688df22SAndroid Build Coastguard Worker  * The above copyright notice and this permission notice shall be included in
12*7688df22SAndroid Build Coastguard Worker  * all copies or substantial portions of the Software.
13*7688df22SAndroid Build Coastguard Worker  *
14*7688df22SAndroid Build Coastguard Worker  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15*7688df22SAndroid Build Coastguard Worker  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16*7688df22SAndroid Build Coastguard Worker  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
17*7688df22SAndroid Build Coastguard Worker  * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
18*7688df22SAndroid Build Coastguard Worker  * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
19*7688df22SAndroid Build Coastguard Worker  * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
20*7688df22SAndroid Build Coastguard Worker  * OTHER DEALINGS IN THE SOFTWARE.
21*7688df22SAndroid Build Coastguard Worker  *
22*7688df22SAndroid Build Coastguard Worker */
23*7688df22SAndroid Build Coastguard Worker 
24*7688df22SAndroid Build Coastguard Worker #ifndef _shader_code_gfx11_h_
25*7688df22SAndroid Build Coastguard Worker #define _shader_code_gfx11_h_
26*7688df22SAndroid Build Coastguard Worker 
27*7688df22SAndroid Build Coastguard Worker static const uint32_t bufferclear_cs_shader_gfx11[] = {
28*7688df22SAndroid Build Coastguard Worker 	0xB0802006, 0xBF840003, 0x360000FF, 0x000003FF,
29*7688df22SAndroid Build Coastguard Worker 	0x7E020205, 0x7E040206, 0x7E060207, 0xBF870004,
30*7688df22SAndroid Build Coastguard Worker 	0xD6460004, 0x04010C08, 0x7E000204, 0xE01C0000,
31*7688df22SAndroid Build Coastguard Worker 	0x80800004, 0xBFB60003, 0xBFB00000, 0xBF9F0000,
32*7688df22SAndroid Build Coastguard Worker 	0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
33*7688df22SAndroid Build Coastguard Worker 	0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
34*7688df22SAndroid Build Coastguard Worker 	0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
35*7688df22SAndroid Build Coastguard Worker 	0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
36*7688df22SAndroid Build Coastguard Worker 	0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
37*7688df22SAndroid Build Coastguard Worker 	0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
38*7688df22SAndroid Build Coastguard Worker 	0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
39*7688df22SAndroid Build Coastguard Worker 	0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
40*7688df22SAndroid Build Coastguard Worker 	0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
41*7688df22SAndroid Build Coastguard Worker 	0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
42*7688df22SAndroid Build Coastguard Worker 	0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
43*7688df22SAndroid Build Coastguard Worker 	0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
44*7688df22SAndroid Build Coastguard Worker 	0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
45*7688df22SAndroid Build Coastguard Worker 	0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
46*7688df22SAndroid Build Coastguard Worker 	0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
47*7688df22SAndroid Build Coastguard Worker 	0xBF9F0000, 0xBF9F0000, 0xBF9F0000
48*7688df22SAndroid Build Coastguard Worker };
49*7688df22SAndroid Build Coastguard Worker 
50*7688df22SAndroid Build Coastguard Worker static const struct reg_info bufferclear_cs_shader_registers_gfx11[] = {
51*7688df22SAndroid Build Coastguard Worker 	{0x2e12, 0x600C0041},	//{ mmCOMPUTE_PGM_RSRC1,	  0x600C0041 },
52*7688df22SAndroid Build Coastguard Worker 	{0x2e13, 0x00000090},	//{ mmCOMPUTE_PGM_RSRC2,	  0x00000090 },
53*7688df22SAndroid Build Coastguard Worker 	{0x2e07, 0x00000040},	//{ mmCOMPUTE_NUM_THREAD_X, 0x00000040 },
54*7688df22SAndroid Build Coastguard Worker 	{0x2e08, 0x00000001},	//{ mmCOMPUTE_NUM_THREAD_Y, 0x00000001 },
55*7688df22SAndroid Build Coastguard Worker 	{0x2e09, 0x00000001},	//{ mmCOMPUTE_NUM_THREAD_Z, 0x00000001 }
56*7688df22SAndroid Build Coastguard Worker };
57*7688df22SAndroid Build Coastguard Worker 
58*7688df22SAndroid Build Coastguard Worker static const uint32_t buffercopy_cs_shader_gfx11[] = {
59*7688df22SAndroid Build Coastguard Worker 	0xB0802006, 0xBF840003, 0x360000FF, 0x000003FF,
60*7688df22SAndroid Build Coastguard Worker 	0xBF870001, 0xD6460001, 0x04010C08, 0xE00C0000,
61*7688df22SAndroid Build Coastguard Worker 	0x80800201, 0xBF8903F7, 0xE01C0000, 0x80810201,
62*7688df22SAndroid Build Coastguard Worker 	0xBFB60003, 0xBFB00000, 0xBF9F0000, 0xBF9F0000,
63*7688df22SAndroid Build Coastguard Worker 	0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
64*7688df22SAndroid Build Coastguard Worker 	0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
65*7688df22SAndroid Build Coastguard Worker 	0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
66*7688df22SAndroid Build Coastguard Worker 	0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
67*7688df22SAndroid Build Coastguard Worker 	0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
68*7688df22SAndroid Build Coastguard Worker 	0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
69*7688df22SAndroid Build Coastguard Worker 	0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
70*7688df22SAndroid Build Coastguard Worker 	0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
71*7688df22SAndroid Build Coastguard Worker 	0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
72*7688df22SAndroid Build Coastguard Worker 	0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
73*7688df22SAndroid Build Coastguard Worker 	0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
74*7688df22SAndroid Build Coastguard Worker 	0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
75*7688df22SAndroid Build Coastguard Worker 	0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
76*7688df22SAndroid Build Coastguard Worker 	0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
77*7688df22SAndroid Build Coastguard Worker 	0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
78*7688df22SAndroid Build Coastguard Worker 	0xBF9F0000, 0xBF9F0000
79*7688df22SAndroid Build Coastguard Worker };
80*7688df22SAndroid Build Coastguard Worker 
81*7688df22SAndroid Build Coastguard Worker static const uint32_t ps_const_shader_gfx11[] = {
82*7688df22SAndroid Build Coastguard Worker     0xB0802006, 0xBF840003, 0x7E000200, 0x7E020201,
83*7688df22SAndroid Build Coastguard Worker     0x7E040202, 0x7E060203, 0x5E000300, 0x5E020702,
84*7688df22SAndroid Build Coastguard Worker     0xBF800000, 0xBF800000, 0xF8000803, 0x00000100,
85*7688df22SAndroid Build Coastguard Worker     0xBFB00000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
86*7688df22SAndroid Build Coastguard Worker     0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
87*7688df22SAndroid Build Coastguard Worker     0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
88*7688df22SAndroid Build Coastguard Worker     0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
89*7688df22SAndroid Build Coastguard Worker     0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
90*7688df22SAndroid Build Coastguard Worker     0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
91*7688df22SAndroid Build Coastguard Worker     0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
92*7688df22SAndroid Build Coastguard Worker     0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
93*7688df22SAndroid Build Coastguard Worker     0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
94*7688df22SAndroid Build Coastguard Worker     0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
95*7688df22SAndroid Build Coastguard Worker     0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
96*7688df22SAndroid Build Coastguard Worker     0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
97*7688df22SAndroid Build Coastguard Worker     0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
98*7688df22SAndroid Build Coastguard Worker     0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
99*7688df22SAndroid Build Coastguard Worker     0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
100*7688df22SAndroid Build Coastguard Worker     0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
101*7688df22SAndroid Build Coastguard Worker     0xBF9F0000
102*7688df22SAndroid Build Coastguard Worker };
103*7688df22SAndroid Build Coastguard Worker 
104*7688df22SAndroid Build Coastguard Worker #define ps_const_shader_patchinfo_code_size_gfx11 6
105*7688df22SAndroid Build Coastguard Worker 
106*7688df22SAndroid Build Coastguard Worker static const uint32_t ps_const_shader_patchinfo_code_gfx11[][10][6] = {
107*7688df22SAndroid Build Coastguard Worker 	{{ 0xBF800000, 0xBF800000, 0xBF800000, 0xBF800000, 0xF8000890, 0x00000000 },  // SI_EXPORT_FMT_ZERO
108*7688df22SAndroid Build Coastguard Worker 	{ 0xBF800000, 0xBF800000, 0xBF800000, 0xBF800000, 0xF8000801, 0x00000000 },  // SI_EXPORT_FMT_32_R
109*7688df22SAndroid Build Coastguard Worker 	{ 0xBF800000, 0xBF800000, 0xBF800000, 0xBF800000, 0xF8000803, 0x00000100 },  // SI_EXPORT_FMT_32_GR
110*7688df22SAndroid Build Coastguard Worker 	{ 0xBF800000, 0xBF800000, 0xBF800000, 0xBF800000, 0xF8000803, 0x00000300 },  // SI_EXPORT_FMT_32_AR
111*7688df22SAndroid Build Coastguard Worker 	{ 0x5E000300, 0x5E020702, 0xBF800000, 0xBF800000, 0xF8000803, 0x00000100 },  // SI_EXPORT_FMT_FP16_ABGR
112*7688df22SAndroid Build Coastguard Worker 	{ 0xD7220000, 0x00020300, 0xD7220001, 0x00020702, 0xF8000803, 0x00000100 },  // SI_EXPORT_FMT_UNORM16_ABGR
113*7688df22SAndroid Build Coastguard Worker 	{ 0xD7210000, 0x00020300, 0xD7210001, 0x00020702, 0xF8000803, 0x00000100 },  // SI_EXPORT_FMT_SNORM16_ABGR
114*7688df22SAndroid Build Coastguard Worker 	{ 0xD7230000, 0x00020300, 0xD7230001, 0x00020702, 0xF8000803, 0x00000100 },  // SI_EXPORT_FMT_uint32_t16_ABGR
115*7688df22SAndroid Build Coastguard Worker 	{ 0xD7240000, 0x00020300, 0xD7240001, 0x00020702, 0xF8000803, 0x00000100 },  // SI_EXPORT_FMT_SINT16_ABGR
116*7688df22SAndroid Build Coastguard Worker 	{ 0xBF800000, 0xBF800000, 0xBF800000, 0xBF800000, 0xF800080F, 0x03020100 }   // SI_EXPORT_FMT_32_ABGR
117*7688df22SAndroid Build Coastguard Worker 	}
118*7688df22SAndroid Build Coastguard Worker };
119*7688df22SAndroid Build Coastguard Worker 
120*7688df22SAndroid Build Coastguard Worker static const uint32_t ps_const_shader_patchinfo_offset_gfx11[] = {
121*7688df22SAndroid Build Coastguard Worker 	0x00000006
122*7688df22SAndroid Build Coastguard Worker };
123*7688df22SAndroid Build Coastguard Worker 
124*7688df22SAndroid Build Coastguard Worker #define ps_const_num_sh_registers_gfx11 2
125*7688df22SAndroid Build Coastguard Worker 
126*7688df22SAndroid Build Coastguard Worker static const struct reg_info ps_const_sh_registers_gfx11[] = {
127*7688df22SAndroid Build Coastguard Worker 	{0x2C0A, 0x020C0000}, //{ mmSPI_SHADER_PGM_RSRC1_PS, 0x020C0000 },
128*7688df22SAndroid Build Coastguard Worker 	{0x2C0B, 0x00000008}, //{ mmSPI_SHADER_PGM_RSRC2_PS, 0x00000008 }
129*7688df22SAndroid Build Coastguard Worker };
130*7688df22SAndroid Build Coastguard Worker 
131*7688df22SAndroid Build Coastguard Worker static const struct reg_info ps_const_context_registers_gfx11[] = {
132*7688df22SAndroid Build Coastguard Worker 	{0xA1B4, 0x00000002 }, //{ mmSPI_PS_INPUT_ADDR,       0x00000002 },
133*7688df22SAndroid Build Coastguard Worker 	{0xA1B6, 0x00000000 }, //{ mmSPI_PS_IN_CONTROL,       0x00000000 },
134*7688df22SAndroid Build Coastguard Worker 	{0xA08F, 0x0000000F }, //{ mmCB_SHADER_MASK,          0x0000000F },
135*7688df22SAndroid Build Coastguard Worker 	{0xA203, 0x00000010 }, //{ mmDB_SHADER_CONTROL,       0x00000010 },
136*7688df22SAndroid Build Coastguard Worker 	{0xA1C4, 0x00000000 }, //{ mmSPI_SHADER_Z_FORMAT,     0x00000000 },
137*7688df22SAndroid Build Coastguard Worker 	{0xA1B8, 0x00000000 }, //{ mmSPI_BARYC_CNTL,          0x00000000 /* Always 0 for now */},
138*7688df22SAndroid Build Coastguard Worker 	{0xA1C5, 0x00000004 }, //{ mmSPI_SHADER_COL_FORMAT,   0x00000004 /* SI_EXPORT_FMT_FP16_ABGR */ }
139*7688df22SAndroid Build Coastguard Worker };
140*7688df22SAndroid Build Coastguard Worker 
141*7688df22SAndroid Build Coastguard Worker #define ps_const_num_context_registers_gfx11 7
142*7688df22SAndroid Build Coastguard Worker 
143*7688df22SAndroid Build Coastguard Worker static const uint32_t ps_tex_shader_gfx11[] =
144*7688df22SAndroid Build Coastguard Worker {
145*7688df22SAndroid Build Coastguard Worker     0xB0802006, 0xBF840003, 0xBEFD000C, 0xBE8E017E,
146*7688df22SAndroid Build Coastguard Worker     0xBEFE1D7E, 0xCE000003, 0xCE000102, 0xCD000104,
147*7688df22SAndroid Build Coastguard Worker     0x040E0103, 0xCD000000, 0x040A0102, 0xBF870112,
148*7688df22SAndroid Build Coastguard Worker     0xCD010703, 0x04120303, 0xCD010700, 0x04020302,
149*7688df22SAndroid Build Coastguard Worker     0x8BFE0E7E, 0xF06C0F05, 0x08000003, 0x00000000,
150*7688df22SAndroid Build Coastguard Worker     0xBEFE010E, 0xBF8903F7, 0x5E000300, 0x5E020702,
151*7688df22SAndroid Build Coastguard Worker     0xBF800000, 0xBF800000, 0xF8000803, 0x00000100,
152*7688df22SAndroid Build Coastguard Worker     0xBFB00000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
153*7688df22SAndroid Build Coastguard Worker     0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
154*7688df22SAndroid Build Coastguard Worker     0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
155*7688df22SAndroid Build Coastguard Worker     0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
156*7688df22SAndroid Build Coastguard Worker     0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
157*7688df22SAndroid Build Coastguard Worker     0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
158*7688df22SAndroid Build Coastguard Worker     0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
159*7688df22SAndroid Build Coastguard Worker     0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
160*7688df22SAndroid Build Coastguard Worker     0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
161*7688df22SAndroid Build Coastguard Worker     0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
162*7688df22SAndroid Build Coastguard Worker     0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
163*7688df22SAndroid Build Coastguard Worker     0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
164*7688df22SAndroid Build Coastguard Worker     0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
165*7688df22SAndroid Build Coastguard Worker     0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
166*7688df22SAndroid Build Coastguard Worker     0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
167*7688df22SAndroid Build Coastguard Worker     0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
168*7688df22SAndroid Build Coastguard Worker     0xBF9F0000
169*7688df22SAndroid Build Coastguard Worker };
170*7688df22SAndroid Build Coastguard Worker 
171*7688df22SAndroid Build Coastguard Worker static const uint32_t ps_tex_shader_patchinfo_offset_gfx11[] =
172*7688df22SAndroid Build Coastguard Worker {
173*7688df22SAndroid Build Coastguard Worker     0x00000016
174*7688df22SAndroid Build Coastguard Worker };
175*7688df22SAndroid Build Coastguard Worker 
176*7688df22SAndroid Build Coastguard Worker // Denotes the Patch Info Code Length
177*7688df22SAndroid Build Coastguard Worker #define ps_tex_shader_patchinfo_code_size_gfx11 6
178*7688df22SAndroid Build Coastguard Worker 
179*7688df22SAndroid Build Coastguard Worker static const uint32_t ps_tex_shader_patchinfo_code_gfx11[][10][6] =
180*7688df22SAndroid Build Coastguard Worker {
181*7688df22SAndroid Build Coastguard Worker     {{ 0xBF800000, 0xBF800000, 0xBF800000, 0xBF800000, 0xF8000890, 0x00000000 },  // SI_EXPORT_FMT_ZERO
182*7688df22SAndroid Build Coastguard Worker      { 0xBF800000, 0xBF800000, 0xBF800000, 0xBF800000, 0xF8000801, 0x00000000 },  // SI_EXPORT_FMT_32_R
183*7688df22SAndroid Build Coastguard Worker      { 0xBF800000, 0xBF800000, 0xBF800000, 0xBF800000, 0xF8000803, 0x00000100 },  // SI_EXPORT_FMT_32_GR
184*7688df22SAndroid Build Coastguard Worker      { 0xBF800000, 0xBF800000, 0xBF800000, 0xBF800000, 0xF8000803, 0x00000300 },  // SI_EXPORT_FMT_32_AR
185*7688df22SAndroid Build Coastguard Worker      { 0x5E000300, 0x5E020702, 0xBF800000, 0xBF800000, 0xF8000803, 0x00000100 },  // SI_EXPORT_FMT_FP16_ABGR
186*7688df22SAndroid Build Coastguard Worker      { 0xD7220000, 0x00020300, 0xD7220001, 0x00020702, 0xF8000803, 0x00000100 },  // SI_EXPORT_FMT_UNORM16_ABGR
187*7688df22SAndroid Build Coastguard Worker      { 0xD7210000, 0x00020300, 0xD7210001, 0x00020702, 0xF8000803, 0x00000100 },  // SI_EXPORT_FMT_SNORM16_ABGR
188*7688df22SAndroid Build Coastguard Worker      { 0xD7230000, 0x00020300, 0xD7230001, 0x00020702, 0xF8000803, 0x00000100 },  // SI_EXPORT_FMT_uint32_t16_ABGR
189*7688df22SAndroid Build Coastguard Worker      { 0xD7240000, 0x00020300, 0xD7240001, 0x00020702, 0xF8000803, 0x00000100 },  // SI_EXPORT_FMT_SINT16_ABGR
190*7688df22SAndroid Build Coastguard Worker      { 0xBF800000, 0xBF800000, 0xBF800000, 0xBF800000, 0xF800080F, 0x03020100 }   // SI_EXPORT_FMT_32_ABGR
191*7688df22SAndroid Build Coastguard Worker     }
192*7688df22SAndroid Build Coastguard Worker };
193*7688df22SAndroid Build Coastguard Worker // Holds Sh Register Information
194*7688df22SAndroid Build Coastguard Worker static const struct reg_info ps_tex_sh_registers_gfx11[] =
195*7688df22SAndroid Build Coastguard Worker {
196*7688df22SAndroid Build Coastguard Worker     {0x2C0A, 0x020C0081 }, //{ mmSPI_SHADER_PGM_RSRC1_PS, 0x020C0081 },
197*7688df22SAndroid Build Coastguard Worker     {0x2C0B, 0x00000018 } //{ mmSPI_SHADER_PGM_RSRC2_PS, 0x00000018 }
198*7688df22SAndroid Build Coastguard Worker };
199*7688df22SAndroid Build Coastguard Worker 
200*7688df22SAndroid Build Coastguard Worker #define ps_tex_num_sh_registers_gfx11 2
201*7688df22SAndroid Build Coastguard Worker 
202*7688df22SAndroid Build Coastguard Worker // Holds Context Register Information
203*7688df22SAndroid Build Coastguard Worker static const struct reg_info ps_tex_context_registers_gfx11[] =
204*7688df22SAndroid Build Coastguard Worker {
205*7688df22SAndroid Build Coastguard Worker     {0xA1B4, 0x00000002 }, //{ mmSPI_PS_INPUT_ADDR,       0x00000002 },
206*7688df22SAndroid Build Coastguard Worker     {0xA1B6, 0x00000001 }, //{ mmSPI_PS_IN_CONTROL,       0x00000001 },
207*7688df22SAndroid Build Coastguard Worker     {0xA08F, 0x0000000F }, //{ mmCB_SHADER_MASK,          0x0000000F },
208*7688df22SAndroid Build Coastguard Worker     {0xA203, 0x00000010 }, //{ mmDB_SHADER_CONTROL,       0x00000010 },
209*7688df22SAndroid Build Coastguard Worker     {0xA1C4, 0x00000000 }, //{ mmSPI_SHADER_Z_FORMAT,     0x00000000 },
210*7688df22SAndroid Build Coastguard Worker     {0xA1B8, 0x00000000 }, //{ mmSPI_BARYC_CNTL,          0x00000000 /* Always 0 for now */},
211*7688df22SAndroid Build Coastguard Worker     {0xA1C5, 0x00000004 } //{ mmSPI_SHADER_COL_FORMAT,   0x00000004 /* SI_EXPORT_FMT_FP16_ABGR */ }
212*7688df22SAndroid Build Coastguard Worker };
213*7688df22SAndroid Build Coastguard Worker 
214*7688df22SAndroid Build Coastguard Worker #define ps_tex_num_context_registers_gfx11 7
215*7688df22SAndroid Build Coastguard Worker 
216*7688df22SAndroid Build Coastguard Worker static const uint32_t vs_RectPosTexFast_shader_gfx11[] =
217*7688df22SAndroid Build Coastguard Worker {
218*7688df22SAndroid Build Coastguard Worker 	0xB0802006, 0xBEFE01C1, 0xBF840003, 0xF408050A,
219*7688df22SAndroid Build Coastguard Worker 	0xF80000B0, 0xD71F0001, 0x000100C1, 0x9300FF03,
220*7688df22SAndroid Build Coastguard Worker 	0x00040018, 0x9301FF02, 0x0009000C, 0xBF870091,
221*7688df22SAndroid Build Coastguard Worker 	0xD7200001, 0x000202C1, 0xD60B0001, 0x04058000,
222*7688df22SAndroid Build Coastguard Worker 	0xBF870001, 0xD4490000, 0x00000301, 0xBE862100,
223*7688df22SAndroid Build Coastguard Worker 	0x7E040B05, 0xBFA5001C, 0x7E06020A, 0x7E08020E,
224*7688df22SAndroid Build Coastguard Worker 	0x7E0A020F, 0xBF8701B4, 0x060404F3, 0x7E140211,
225*7688df22SAndroid Build Coastguard Worker 	0x7E0E0210, 0x7C240480, 0x060404F3, 0xD5010003,
226*7688df22SAndroid Build Coastguard Worker 	0x01AA0608, 0xD5010004, 0x01AA080C, 0xBF870003,
227*7688df22SAndroid Build Coastguard Worker 	0xD4120012, 0x00010102, 0x7E04020B, 0xBEEA1F12,
228*7688df22SAndroid Build Coastguard Worker 	0xBF870483, 0xD5010008, 0x01AA080C, 0xD5010006,
229*7688df22SAndroid Build Coastguard Worker 	0x01AA0608, 0xBF870003, 0xD5010004, 0x004A0409,
230*7688df22SAndroid Build Coastguard Worker 	0xD5010009, 0x004A0A0D, 0xBEFE0106, 0x9302FF02,
231*7688df22SAndroid Build Coastguard Worker 	0x00090016, 0xBF870009, 0xD4C9007E, 0x00000501,
232*7688df22SAndroid Build Coastguard Worker 	0xBFA50002, 0xF8000941, 0x00000000, 0xBF89FFF0,
233*7688df22SAndroid Build Coastguard Worker 	0x8BFE0006, 0xD71F0000, 0x000100C1, 0xBFA50013,
234*7688df22SAndroid Build Coastguard Worker 	0x7E1602F2, 0x9300FF03, 0x00040018, 0x8B01FF05,
235*7688df22SAndroid Build Coastguard Worker 	0x00007FFF, 0xBF8704B2, 0xD7200000, 0x000200C1,
236*7688df22SAndroid Build Coastguard Worker 	0x7E0202F2, 0x84018901, 0x80018001, 0xBF870002,
237*7688df22SAndroid Build Coastguard Worker 	0xD60B0000, 0x04018000, 0xF80008CF, 0x01070406,
238*7688df22SAndroid Build Coastguard Worker 	0xBF89FC07, 0xE0744000, 0x01850800, 0xBFB00000,
239*7688df22SAndroid Build Coastguard Worker 	0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
240*7688df22SAndroid Build Coastguard Worker 	0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
241*7688df22SAndroid Build Coastguard Worker 	0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
242*7688df22SAndroid Build Coastguard Worker 	0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
243*7688df22SAndroid Build Coastguard Worker 	0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
244*7688df22SAndroid Build Coastguard Worker 	0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
245*7688df22SAndroid Build Coastguard Worker 	0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
246*7688df22SAndroid Build Coastguard Worker 	0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
247*7688df22SAndroid Build Coastguard Worker 	0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
248*7688df22SAndroid Build Coastguard Worker 	0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
249*7688df22SAndroid Build Coastguard Worker 	0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
250*7688df22SAndroid Build Coastguard Worker 	0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
251*7688df22SAndroid Build Coastguard Worker 	0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
252*7688df22SAndroid Build Coastguard Worker 	0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
253*7688df22SAndroid Build Coastguard Worker 	0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000,
254*7688df22SAndroid Build Coastguard Worker 	0xBF9F0000, 0xBF9F0000, 0xBF9F0000, 0xBF9F0000
255*7688df22SAndroid Build Coastguard Worker };
256*7688df22SAndroid Build Coastguard Worker 
257*7688df22SAndroid Build Coastguard Worker static const struct reg_info vs_RectPosTexFast_sh_registers_gfx11[] =
258*7688df22SAndroid Build Coastguard Worker {
259*7688df22SAndroid Build Coastguard Worker 	{0x2C8A, 0x020C00C2}, //{ mmSPI_SHADER_PGM_RSRC1_GS, 0x020C00C2 },
260*7688df22SAndroid Build Coastguard Worker 	{0x2C8B, 0x0008001C}, //{ mmSPI_SHADER_PGM_RSRC2_GS, 0x0008001C }
261*7688df22SAndroid Build Coastguard Worker };
262*7688df22SAndroid Build Coastguard Worker 
263*7688df22SAndroid Build Coastguard Worker #define vs_RectPosTexFast_num_sh_registers_gfx11 2
264*7688df22SAndroid Build Coastguard Worker 
265*7688df22SAndroid Build Coastguard Worker // Holds Context Register Information
266*7688df22SAndroid Build Coastguard Worker static const struct reg_info vs_RectPosTexFast_context_registers_gfx11[] =
267*7688df22SAndroid Build Coastguard Worker {
268*7688df22SAndroid Build Coastguard Worker 	{0xA1B1, 0x00000000}, //{ mmSPI_VS_OUT_CONFIG, 0x00000000 },
269*7688df22SAndroid Build Coastguard Worker 	{0xA1C2, 0x00000001}, //{ mmSPI_SHADER_IDX_FORMAT, 0x00000001 },
270*7688df22SAndroid Build Coastguard Worker 	{0xA1C3, 0x00000000}, //{ mmSPI_SHADER_POS_FORMAT, 0x00000000 /* Always 0 for now */},
271*7688df22SAndroid Build Coastguard Worker 	{0xA2E4, 0x00000000}, //{ mmVGT_GS_INSTANCE_CNT, 0x00000000 },
272*7688df22SAndroid Build Coastguard Worker 	{0xA2AB, 0x00000004}, //{ mmVGT_ESGS_RING_ITEMSIZE, 0x00000004 },
273*7688df22SAndroid Build Coastguard Worker 	{0xA2CE, 0x00000001}, //{ mmVGT_GS_MAX_VERT_OUT, 0x00000001 }
274*7688df22SAndroid Build Coastguard Worker };
275*7688df22SAndroid Build Coastguard Worker 
276*7688df22SAndroid Build Coastguard Worker #define vs_RectPosTexFast_num_context_registers_gfx11 6
277*7688df22SAndroid Build Coastguard Worker 
278*7688df22SAndroid Build Coastguard Worker static const uint32_t preamblecache_gfx11[] = {
279*7688df22SAndroid Build Coastguard Worker 	0xc0026900, 0x81, 0x80000000, 0x40004000, 0xc0026900, 0x8c, 0xaa99aaaa, 0x0,
280*7688df22SAndroid Build Coastguard Worker 	0xc0026900, 0x90, 0x80000000, 0x40004000, 0xc0026900, 0x94,  0x80000000, 0x40004000,
281*7688df22SAndroid Build Coastguard Worker 	0xc0026900, 0xb4, 0x0, 0x3f800000, 0xc0016900, 0x103, 0x0, 0xc0016900, 0x208, 0x0,
282*7688df22SAndroid Build Coastguard Worker 	0xc0016900, 0x2a1, 0x0, 0xc0016900,  0x2ad, 0x0, 0xc0016900, 0x2dc, 0x0,
283*7688df22SAndroid Build Coastguard Worker 	0xc0066900, 0x2de, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
284*7688df22SAndroid Build Coastguard Worker 	0xc0056900, 0x2f9, 0x5, 0x3f800000, 0x3f800000, 0x3f800000,  0x3f800000,
285*7688df22SAndroid Build Coastguard Worker 	0xc0046900, 0x310, 0x0, 0x3, 0x0, 0x100000, 0xc0016900, 0x349, 0x0,
286*7688df22SAndroid Build Coastguard Worker 	0xc0016900, 0x358, 0x0, 0xc0016900, 0x367, 0x0, 0xc0016900, 0x376,  0x0,
287*7688df22SAndroid Build Coastguard Worker 	0xc0016900, 0x385, 0x0, 0xc0076900, 0x1e1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
288*7688df22SAndroid Build Coastguard Worker 	0xc0026900, 0x204, 0x90000, 0x4, 0xc0016900, 0x20c, 0x0,  0xc0026900, 0x20e, 0x0, 0x0,
289*7688df22SAndroid Build Coastguard Worker 	0xc0016900, 0x2b2, 0x0, 0xc0026900, 0x30e, 0xffffffff, 0xffffffff,
290*7688df22SAndroid Build Coastguard Worker 	0xc0016900, 0x314, 0x0, 0xc0016900, 0x10a, 0x0,  0xc0016900, 0x2a6, 0x0,
291*7688df22SAndroid Build Coastguard Worker 	0xc0016900, 0x210, 0x0, 0xc0016900, 0x2db, 0x0, 0xc0016900, 0x2e4, 0x0,
292*7688df22SAndroid Build Coastguard Worker 	0xc0002f00, 0x1, 0xc0016900, 0x1, 0x0, 0xc0016900,  0x206, 0x300,
293*7688df22SAndroid Build Coastguard Worker 	0xc0016900, 0x212, 0x200, 0xc0016900, 0xf4, 0x0, 0xc0016900, 0x18, 0x0,
294*7688df22SAndroid Build Coastguard Worker 	0xc0016900, 0x1d4, 0xff, 0xc0016900, 0x2ce, 0x1, 0xc0016900, 0x2d3, 0x20001,
295*7688df22SAndroid Build Coastguard Worker 	0xc0016900, 0x1ff, 0x80,  0xc0016900, 0x2d5, 0x6012010, 0xc0017a00, 0x20000243, 0x0,
296*7688df22SAndroid Build Coastguard Worker 	0xc0017900, 0x249, 0x0, 0xc0017900, 0x24a, 0x0, 0xc0017900, 0x24b, 0x0,
297*7688df22SAndroid Build Coastguard Worker 	0xc0017900,  0x259, 0xffffffff, 0xc0017900, 0x25f, 0x0, 0xc0017900, 0x260, 0x0,
298*7688df22SAndroid Build Coastguard Worker 	0xc0017900, 0x262, 0x0, 0xc0017900, 0x444, 0x0, 0xc0017900, 0x445, 0x0,
299*7688df22SAndroid Build Coastguard Worker 	0xc0017600, 0x6, 0x0, 0xc0017600, 0x80, 0x0, 0xc0017600, 0xb0, 0x0,
300*7688df22SAndroid Build Coastguard Worker 	0xc0047600, 0xb2, 0x0, 0x0, 0x0, 0x0, 0xc0017600, 0x30, 0x0,
301*7688df22SAndroid Build Coastguard Worker 	0xc0047600, 0x32, 0x0, 0x0, 0x0, 0x0
302*7688df22SAndroid Build Coastguard Worker };
303*7688df22SAndroid Build Coastguard Worker 
304*7688df22SAndroid Build Coastguard Worker static const uint32_t cached_cmd_gfx11[] = {
305*7688df22SAndroid Build Coastguard Worker 	0xc0016900, 0x0, 0x0, 0xc0026900, 0x3, 0x2a, 0x0,
306*7688df22SAndroid Build Coastguard Worker 	0xc0046900, 0xa, 0x0, 0x0, 0x0, 0x200020,
307*7688df22SAndroid Build Coastguard Worker 	0xc0016900, 0x83, 0xffff, 0xc0026900, 0x8e, 0xf, 0xf,
308*7688df22SAndroid Build Coastguard Worker 	0xc0056900, 0x105, 0x0, 0x0, 0x0, 0x0, 0x0,
309*7688df22SAndroid Build Coastguard Worker 	0xc0026900, 0x10b, 0x0, 0x0, 0xc0016900, 0x1e0, 0x0,
310*7688df22SAndroid Build Coastguard Worker 	0xc0036900, 0x200, 0x0, 0x10000, 0xcc0011,
311*7688df22SAndroid Build Coastguard Worker 	0xc0026900, 0x292, 0x20, 0x6020000,
312*7688df22SAndroid Build Coastguard Worker 	0xc0026900, 0x2b0, 0x0, 0x0, 0xc0016900, 0x2f8, 0x0,
313*7688df22SAndroid Build Coastguard Worker 	0xc0046900, 0x1d5, 0x0, 0x0, 0x0, 0x0, 0xc0016900, 0x104, 0x4a00005,
314*7688df22SAndroid Build Coastguard Worker 	0xc0016900, 0x1f, 0xf2a0055, 0xc0017900, 0x266, 0x4
315*7688df22SAndroid Build Coastguard Worker };
316*7688df22SAndroid Build Coastguard Worker 
317*7688df22SAndroid Build Coastguard Worker #define sh_reg_base_gfx11 0x2C00
318*7688df22SAndroid Build Coastguard Worker #define context_reg_base_gfx11 0xA000
319*7688df22SAndroid Build Coastguard Worker 
320*7688df22SAndroid Build Coastguard Worker #endif
321