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