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