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