1bf215546Sopenharmony_ci<?xml version="1.0" encoding="UTF-8"?> 2bf215546Sopenharmony_ci<database xmlns="http://nouveau.freedesktop.org/" 3bf215546Sopenharmony_cixmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4bf215546Sopenharmony_cixsi:schemaLocation="http://nouveau.freedesktop.org/ rules-ng.xsd"> 5bf215546Sopenharmony_ci<import file="freedreno_copyright.xml"/> 6bf215546Sopenharmony_ci<import file="adreno/adreno_common.xml"/> 7bf215546Sopenharmony_ci<import file="adreno/adreno_pm4.xml"/> 8bf215546Sopenharmony_ci 9bf215546Sopenharmony_ci<enum name="a4xx_color_fmt"> 10bf215546Sopenharmony_ci <value name="RB4_A8_UNORM" value="0x01"/> 11bf215546Sopenharmony_ci <value name="RB4_R8_UNORM" value="0x02"/> 12bf215546Sopenharmony_ci <value name="RB4_R8_SNORM" value="0x03"/> 13bf215546Sopenharmony_ci <value name="RB4_R8_UINT" value="0x04"/> 14bf215546Sopenharmony_ci <value name="RB4_R8_SINT" value="0x05"/> 15bf215546Sopenharmony_ci 16bf215546Sopenharmony_ci <value name="RB4_R4G4B4A4_UNORM" value="0x08"/> 17bf215546Sopenharmony_ci <value name="RB4_R5G5B5A1_UNORM" value="0x0a"/> 18bf215546Sopenharmony_ci <value name="RB4_R5G6B5_UNORM" value="0x0e"/> 19bf215546Sopenharmony_ci <value name="RB4_R8G8_UNORM" value="0x0f"/> 20bf215546Sopenharmony_ci <value name="RB4_R8G8_SNORM" value="0x10"/> 21bf215546Sopenharmony_ci <value name="RB4_R8G8_UINT" value="0x11"/> 22bf215546Sopenharmony_ci <value name="RB4_R8G8_SINT" value="0x12"/> 23bf215546Sopenharmony_ci <value name="RB4_R16_UNORM" value="0x13"/> 24bf215546Sopenharmony_ci <value name="RB4_R16_SNORM" value="0x14"/> 25bf215546Sopenharmony_ci <value name="RB4_R16_FLOAT" value="0x15"/> 26bf215546Sopenharmony_ci <value name="RB4_R16_UINT" value="0x16"/> 27bf215546Sopenharmony_ci <value name="RB4_R16_SINT" value="0x17"/> 28bf215546Sopenharmony_ci 29bf215546Sopenharmony_ci <value name="RB4_R8G8B8_UNORM" value="0x19"/> 30bf215546Sopenharmony_ci 31bf215546Sopenharmony_ci <value name="RB4_R8G8B8A8_UNORM" value="0x1a"/> 32bf215546Sopenharmony_ci <value name="RB4_R8G8B8A8_SNORM" value="0x1c"/> 33bf215546Sopenharmony_ci <value name="RB4_R8G8B8A8_UINT" value="0x1d"/> 34bf215546Sopenharmony_ci <value name="RB4_R8G8B8A8_SINT" value="0x1e"/> 35bf215546Sopenharmony_ci <value name="RB4_R10G10B10A2_UNORM" value="0x1f"/> 36bf215546Sopenharmony_ci <value name="RB4_R10G10B10A2_UINT" value="0x22"/> 37bf215546Sopenharmony_ci <value name="RB4_R11G11B10_FLOAT" value="0x27"/> 38bf215546Sopenharmony_ci <value name="RB4_R16G16_UNORM" value="0x28"/> 39bf215546Sopenharmony_ci <value name="RB4_R16G16_SNORM" value="0x29"/> 40bf215546Sopenharmony_ci <value name="RB4_R16G16_FLOAT" value="0x2a"/> 41bf215546Sopenharmony_ci <value name="RB4_R16G16_UINT" value="0x2b"/> 42bf215546Sopenharmony_ci <value name="RB4_R16G16_SINT" value="0x2c"/> 43bf215546Sopenharmony_ci <value name="RB4_R32_FLOAT" value="0x2d"/> 44bf215546Sopenharmony_ci <value name="RB4_R32_UINT" value="0x2e"/> 45bf215546Sopenharmony_ci <value name="RB4_R32_SINT" value="0x2f"/> 46bf215546Sopenharmony_ci 47bf215546Sopenharmony_ci <value name="RB4_R16G16B16A16_UNORM" value="0x34"/> 48bf215546Sopenharmony_ci <value name="RB4_R16G16B16A16_SNORM" value="0x35"/> 49bf215546Sopenharmony_ci <value name="RB4_R16G16B16A16_FLOAT" value="0x36"/> 50bf215546Sopenharmony_ci <value name="RB4_R16G16B16A16_UINT" value="0x37"/> 51bf215546Sopenharmony_ci <value name="RB4_R16G16B16A16_SINT" value="0x38"/> 52bf215546Sopenharmony_ci <value name="RB4_R32G32_FLOAT" value="0x39"/> 53bf215546Sopenharmony_ci <value name="RB4_R32G32_UINT" value="0x3a"/> 54bf215546Sopenharmony_ci <value name="RB4_R32G32_SINT" value="0x3b"/> 55bf215546Sopenharmony_ci 56bf215546Sopenharmony_ci <value name="RB4_R32G32B32A32_FLOAT" value="0x3c"/> 57bf215546Sopenharmony_ci <value name="RB4_R32G32B32A32_UINT" value="0x3d"/> 58bf215546Sopenharmony_ci <value name="RB4_R32G32B32A32_SINT" value="0x3e"/> 59bf215546Sopenharmony_ci 60bf215546Sopenharmony_ci <value name="RB4_NONE" value="0xff"/> 61bf215546Sopenharmony_ci</enum> 62bf215546Sopenharmony_ci 63bf215546Sopenharmony_ci<enum name="a4xx_tile_mode"> 64bf215546Sopenharmony_ci <value name="TILE4_LINEAR" value="0"/> 65bf215546Sopenharmony_ci <value name="TILE4_2" value="2"/> 66bf215546Sopenharmony_ci <value name="TILE4_3" value="3"/> 67bf215546Sopenharmony_ci</enum> 68bf215546Sopenharmony_ci 69bf215546Sopenharmony_ci<enum name="a4xx_vtx_fmt" prefix="chipset"> 70bf215546Sopenharmony_ci <!-- hmm, shifted one compared to a3xx?!? --> 71bf215546Sopenharmony_ci <value name="VFMT4_32_FLOAT" value="0x1"/> 72bf215546Sopenharmony_ci <value name="VFMT4_32_32_FLOAT" value="0x2"/> 73bf215546Sopenharmony_ci <value name="VFMT4_32_32_32_FLOAT" value="0x3"/> 74bf215546Sopenharmony_ci <value name="VFMT4_32_32_32_32_FLOAT" value="0x4"/> 75bf215546Sopenharmony_ci 76bf215546Sopenharmony_ci <value name="VFMT4_16_FLOAT" value="0x5"/> 77bf215546Sopenharmony_ci <value name="VFMT4_16_16_FLOAT" value="0x6"/> 78bf215546Sopenharmony_ci <value name="VFMT4_16_16_16_FLOAT" value="0x7"/> 79bf215546Sopenharmony_ci <value name="VFMT4_16_16_16_16_FLOAT" value="0x8"/> 80bf215546Sopenharmony_ci 81bf215546Sopenharmony_ci <value name="VFMT4_32_FIXED" value="0x9"/> 82bf215546Sopenharmony_ci <value name="VFMT4_32_32_FIXED" value="0xa"/> 83bf215546Sopenharmony_ci <value name="VFMT4_32_32_32_FIXED" value="0xb"/> 84bf215546Sopenharmony_ci <value name="VFMT4_32_32_32_32_FIXED" value="0xc"/> 85bf215546Sopenharmony_ci 86bf215546Sopenharmony_ci <value name="VFMT4_11_11_10_FLOAT" value="0xd"/> 87bf215546Sopenharmony_ci 88bf215546Sopenharmony_ci <!-- beyond here it does not appear to be shifted --> 89bf215546Sopenharmony_ci <value name="VFMT4_16_SINT" value="0x10"/> 90bf215546Sopenharmony_ci <value name="VFMT4_16_16_SINT" value="0x11"/> 91bf215546Sopenharmony_ci <value name="VFMT4_16_16_16_SINT" value="0x12"/> 92bf215546Sopenharmony_ci <value name="VFMT4_16_16_16_16_SINT" value="0x13"/> 93bf215546Sopenharmony_ci <value name="VFMT4_16_UINT" value="0x14"/> 94bf215546Sopenharmony_ci <value name="VFMT4_16_16_UINT" value="0x15"/> 95bf215546Sopenharmony_ci <value name="VFMT4_16_16_16_UINT" value="0x16"/> 96bf215546Sopenharmony_ci <value name="VFMT4_16_16_16_16_UINT" value="0x17"/> 97bf215546Sopenharmony_ci <value name="VFMT4_16_SNORM" value="0x18"/> 98bf215546Sopenharmony_ci <value name="VFMT4_16_16_SNORM" value="0x19"/> 99bf215546Sopenharmony_ci <value name="VFMT4_16_16_16_SNORM" value="0x1a"/> 100bf215546Sopenharmony_ci <value name="VFMT4_16_16_16_16_SNORM" value="0x1b"/> 101bf215546Sopenharmony_ci <value name="VFMT4_16_UNORM" value="0x1c"/> 102bf215546Sopenharmony_ci <value name="VFMT4_16_16_UNORM" value="0x1d"/> 103bf215546Sopenharmony_ci <value name="VFMT4_16_16_16_UNORM" value="0x1e"/> 104bf215546Sopenharmony_ci <value name="VFMT4_16_16_16_16_UNORM" value="0x1f"/> 105bf215546Sopenharmony_ci 106bf215546Sopenharmony_ci <value name="VFMT4_32_UINT" value="0x20"/> 107bf215546Sopenharmony_ci <value name="VFMT4_32_32_UINT" value="0x21"/> 108bf215546Sopenharmony_ci <value name="VFMT4_32_32_32_UINT" value="0x22"/> 109bf215546Sopenharmony_ci <value name="VFMT4_32_32_32_32_UINT" value="0x23"/> 110bf215546Sopenharmony_ci <value name="VFMT4_32_SINT" value="0x24"/> 111bf215546Sopenharmony_ci <value name="VFMT4_32_32_SINT" value="0x25"/> 112bf215546Sopenharmony_ci <value name="VFMT4_32_32_32_SINT" value="0x26"/> 113bf215546Sopenharmony_ci <value name="VFMT4_32_32_32_32_SINT" value="0x27"/> 114bf215546Sopenharmony_ci 115bf215546Sopenharmony_ci <value name="VFMT4_8_UINT" value="0x28"/> 116bf215546Sopenharmony_ci <value name="VFMT4_8_8_UINT" value="0x29"/> 117bf215546Sopenharmony_ci <value name="VFMT4_8_8_8_UINT" value="0x2a"/> 118bf215546Sopenharmony_ci <value name="VFMT4_8_8_8_8_UINT" value="0x2b"/> 119bf215546Sopenharmony_ci <value name="VFMT4_8_UNORM" value="0x2c"/> 120bf215546Sopenharmony_ci <value name="VFMT4_8_8_UNORM" value="0x2d"/> 121bf215546Sopenharmony_ci <value name="VFMT4_8_8_8_UNORM" value="0x2e"/> 122bf215546Sopenharmony_ci <value name="VFMT4_8_8_8_8_UNORM" value="0x2f"/> 123bf215546Sopenharmony_ci <value name="VFMT4_8_SINT" value="0x30"/> 124bf215546Sopenharmony_ci <value name="VFMT4_8_8_SINT" value="0x31"/> 125bf215546Sopenharmony_ci <value name="VFMT4_8_8_8_SINT" value="0x32"/> 126bf215546Sopenharmony_ci <value name="VFMT4_8_8_8_8_SINT" value="0x33"/> 127bf215546Sopenharmony_ci <value name="VFMT4_8_SNORM" value="0x34"/> 128bf215546Sopenharmony_ci <value name="VFMT4_8_8_SNORM" value="0x35"/> 129bf215546Sopenharmony_ci <value name="VFMT4_8_8_8_SNORM" value="0x36"/> 130bf215546Sopenharmony_ci <value name="VFMT4_8_8_8_8_SNORM" value="0x37"/> 131bf215546Sopenharmony_ci 132bf215546Sopenharmony_ci <value name="VFMT4_10_10_10_2_UINT" value="0x38"/> 133bf215546Sopenharmony_ci <value name="VFMT4_10_10_10_2_UNORM" value="0x39"/> 134bf215546Sopenharmony_ci <value name="VFMT4_10_10_10_2_SINT" value="0x3a"/> 135bf215546Sopenharmony_ci <value name="VFMT4_10_10_10_2_SNORM" value="0x3b"/> 136bf215546Sopenharmony_ci <value name="VFMT4_2_10_10_10_UINT" value="0x3c"/> 137bf215546Sopenharmony_ci <value name="VFMT4_2_10_10_10_UNORM" value="0x3d"/> 138bf215546Sopenharmony_ci <value name="VFMT4_2_10_10_10_SINT" value="0x3e"/> 139bf215546Sopenharmony_ci <value name="VFMT4_2_10_10_10_SNORM" value="0x3f"/> 140bf215546Sopenharmony_ci 141bf215546Sopenharmony_ci <value name="VFMT4_NONE" value="0xff"/> 142bf215546Sopenharmony_ci</enum> 143bf215546Sopenharmony_ci 144bf215546Sopenharmony_ci<enum name="a4xx_tex_fmt"> 145bf215546Sopenharmony_ci <!-- 0x00 .. 0x02 --> 146bf215546Sopenharmony_ci 147bf215546Sopenharmony_ci <!-- 8-bit formats --> 148bf215546Sopenharmony_ci <value name="TFMT4_A8_UNORM" value="0x03"/> 149bf215546Sopenharmony_ci <value name="TFMT4_8_UNORM" value="0x04"/> 150bf215546Sopenharmony_ci <value name="TFMT4_8_SNORM" value="0x05"/> 151bf215546Sopenharmony_ci <value name="TFMT4_8_UINT" value="0x06"/> 152bf215546Sopenharmony_ci <value name="TFMT4_8_SINT" value="0x07"/> 153bf215546Sopenharmony_ci 154bf215546Sopenharmony_ci <!-- 16-bit formats --> 155bf215546Sopenharmony_ci <value name="TFMT4_4_4_4_4_UNORM" value="0x08"/> 156bf215546Sopenharmony_ci <value name="TFMT4_5_5_5_1_UNORM" value="0x09"/> 157bf215546Sopenharmony_ci <!-- 0x0a --> 158bf215546Sopenharmony_ci <value name="TFMT4_5_6_5_UNORM" value="0x0b"/> 159bf215546Sopenharmony_ci 160bf215546Sopenharmony_ci <!-- 0x0c --> 161bf215546Sopenharmony_ci 162bf215546Sopenharmony_ci <value name="TFMT4_L8_A8_UNORM" value="0x0d"/> 163bf215546Sopenharmony_ci <value name="TFMT4_8_8_UNORM" value="0x0e"/> 164bf215546Sopenharmony_ci <value name="TFMT4_8_8_SNORM" value="0x0f"/> 165bf215546Sopenharmony_ci <value name="TFMT4_8_8_UINT" value="0x10"/> 166bf215546Sopenharmony_ci <value name="TFMT4_8_8_SINT" value="0x11"/> 167bf215546Sopenharmony_ci 168bf215546Sopenharmony_ci <value name="TFMT4_16_UNORM" value="0x12"/> 169bf215546Sopenharmony_ci <value name="TFMT4_16_SNORM" value="0x13"/> 170bf215546Sopenharmony_ci <value name="TFMT4_16_FLOAT" value="0x14"/> 171bf215546Sopenharmony_ci <value name="TFMT4_16_UINT" value="0x15"/> 172bf215546Sopenharmony_ci <value name="TFMT4_16_SINT" value="0x16"/> 173bf215546Sopenharmony_ci 174bf215546Sopenharmony_ci <!-- 0x17 .. 0x1b --> 175bf215546Sopenharmony_ci 176bf215546Sopenharmony_ci <!-- 32-bit formats --> 177bf215546Sopenharmony_ci <value name="TFMT4_8_8_8_8_UNORM" value="0x1c"/> 178bf215546Sopenharmony_ci <value name="TFMT4_8_8_8_8_SNORM" value="0x1d"/> 179bf215546Sopenharmony_ci <value name="TFMT4_8_8_8_8_UINT" value="0x1e"/> 180bf215546Sopenharmony_ci <value name="TFMT4_8_8_8_8_SINT" value="0x1f"/> 181bf215546Sopenharmony_ci 182bf215546Sopenharmony_ci <value name="TFMT4_9_9_9_E5_FLOAT" value="0x20"/> 183bf215546Sopenharmony_ci <value name="TFMT4_10_10_10_2_UNORM" value="0x21"/> 184bf215546Sopenharmony_ci <value name="TFMT4_10_10_10_2_UINT" value="0x22"/> 185bf215546Sopenharmony_ci <!-- 0x23 .. 0x24 --> 186bf215546Sopenharmony_ci <value name="TFMT4_11_11_10_FLOAT" value="0x25"/> 187bf215546Sopenharmony_ci 188bf215546Sopenharmony_ci <value name="TFMT4_16_16_UNORM" value="0x26"/> 189bf215546Sopenharmony_ci <value name="TFMT4_16_16_SNORM" value="0x27"/> 190bf215546Sopenharmony_ci <value name="TFMT4_16_16_FLOAT" value="0x28"/> 191bf215546Sopenharmony_ci <value name="TFMT4_16_16_UINT" value="0x29"/> 192bf215546Sopenharmony_ci <value name="TFMT4_16_16_SINT" value="0x2a"/> 193bf215546Sopenharmony_ci 194bf215546Sopenharmony_ci <value name="TFMT4_32_FLOAT" value="0x2b"/> 195bf215546Sopenharmony_ci <value name="TFMT4_32_UINT" value="0x2c"/> 196bf215546Sopenharmony_ci <value name="TFMT4_32_SINT" value="0x2d"/> 197bf215546Sopenharmony_ci 198bf215546Sopenharmony_ci <!-- 0x2e .. 0x32 --> 199bf215546Sopenharmony_ci 200bf215546Sopenharmony_ci <!-- 64-bit formats --> 201bf215546Sopenharmony_ci <value name="TFMT4_16_16_16_16_UNORM" value="0x33"/> 202bf215546Sopenharmony_ci <value name="TFMT4_16_16_16_16_SNORM" value="0x34"/> 203bf215546Sopenharmony_ci <value name="TFMT4_16_16_16_16_FLOAT" value="0x35"/> 204bf215546Sopenharmony_ci <value name="TFMT4_16_16_16_16_UINT" value="0x36"/> 205bf215546Sopenharmony_ci <value name="TFMT4_16_16_16_16_SINT" value="0x37"/> 206bf215546Sopenharmony_ci 207bf215546Sopenharmony_ci <value name="TFMT4_32_32_FLOAT" value="0x38"/> 208bf215546Sopenharmony_ci <value name="TFMT4_32_32_UINT" value="0x39"/> 209bf215546Sopenharmony_ci <value name="TFMT4_32_32_SINT" value="0x3a"/> 210bf215546Sopenharmony_ci 211bf215546Sopenharmony_ci <!-- 96-bit formats --> 212bf215546Sopenharmony_ci <value name="TFMT4_32_32_32_FLOAT" value="0x3b"/> 213bf215546Sopenharmony_ci <value name="TFMT4_32_32_32_UINT" value="0x3c"/> 214bf215546Sopenharmony_ci <value name="TFMT4_32_32_32_SINT" value="0x3d"/> 215bf215546Sopenharmony_ci 216bf215546Sopenharmony_ci <!-- 0x3e --> 217bf215546Sopenharmony_ci 218bf215546Sopenharmony_ci <!-- 128-bit formats --> 219bf215546Sopenharmony_ci <value name="TFMT4_32_32_32_32_FLOAT" value="0x3f"/> 220bf215546Sopenharmony_ci <value name="TFMT4_32_32_32_32_UINT" value="0x40"/> 221bf215546Sopenharmony_ci <value name="TFMT4_32_32_32_32_SINT" value="0x41"/> 222bf215546Sopenharmony_ci 223bf215546Sopenharmony_ci <!-- 0x42 .. 0x46 --> 224bf215546Sopenharmony_ci <value name="TFMT4_X8Z24_UNORM" value="0x47"/> 225bf215546Sopenharmony_ci <!-- 0x48 .. 0x55 --> 226bf215546Sopenharmony_ci 227bf215546Sopenharmony_ci <!-- compressed formats --> 228bf215546Sopenharmony_ci <value name="TFMT4_DXT1" value="0x56"/> 229bf215546Sopenharmony_ci <value name="TFMT4_DXT3" value="0x57"/> 230bf215546Sopenharmony_ci <value name="TFMT4_DXT5" value="0x58"/> 231bf215546Sopenharmony_ci <!-- 0x59 --> 232bf215546Sopenharmony_ci <value name="TFMT4_RGTC1_UNORM" value="0x5a"/> 233bf215546Sopenharmony_ci <value name="TFMT4_RGTC1_SNORM" value="0x5b"/> 234bf215546Sopenharmony_ci <!-- 0x5c .. 0x5d --> 235bf215546Sopenharmony_ci <value name="TFMT4_RGTC2_UNORM" value="0x5e"/> 236bf215546Sopenharmony_ci <value name="TFMT4_RGTC2_SNORM" value="0x5f"/> 237bf215546Sopenharmony_ci <!-- 0x60 --> 238bf215546Sopenharmony_ci <value name="TFMT4_BPTC_UFLOAT" value="0x61"/> 239bf215546Sopenharmony_ci <value name="TFMT4_BPTC_FLOAT" value="0x62"/> 240bf215546Sopenharmony_ci <value name="TFMT4_BPTC" value="0x63"/> 241bf215546Sopenharmony_ci <value name="TFMT4_ATC_RGB" value="0x64"/> 242bf215546Sopenharmony_ci <value name="TFMT4_ATC_RGBA_EXPLICIT" value="0x65"/> 243bf215546Sopenharmony_ci <value name="TFMT4_ATC_RGBA_INTERPOLATED" value="0x66"/> 244bf215546Sopenharmony_ci <value name="TFMT4_ETC2_RG11_UNORM" value="0x67"/> 245bf215546Sopenharmony_ci <value name="TFMT4_ETC2_RG11_SNORM" value="0x68"/> 246bf215546Sopenharmony_ci <value name="TFMT4_ETC2_R11_UNORM" value="0x69"/> 247bf215546Sopenharmony_ci <value name="TFMT4_ETC2_R11_SNORM" value="0x6a"/> 248bf215546Sopenharmony_ci <value name="TFMT4_ETC1" value="0x6b"/> 249bf215546Sopenharmony_ci <value name="TFMT4_ETC2_RGB8" value="0x6c"/> 250bf215546Sopenharmony_ci <value name="TFMT4_ETC2_RGBA8" value="0x6d"/> 251bf215546Sopenharmony_ci <value name="TFMT4_ETC2_RGB8A1" value="0x6e"/> 252bf215546Sopenharmony_ci <value name="TFMT4_ASTC_4x4" value="0x6f"/> 253bf215546Sopenharmony_ci <value name="TFMT4_ASTC_5x4" value="0x70"/> 254bf215546Sopenharmony_ci <value name="TFMT4_ASTC_5x5" value="0x71"/> 255bf215546Sopenharmony_ci <value name="TFMT4_ASTC_6x5" value="0x72"/> 256bf215546Sopenharmony_ci <value name="TFMT4_ASTC_6x6" value="0x73"/> 257bf215546Sopenharmony_ci <value name="TFMT4_ASTC_8x5" value="0x74"/> 258bf215546Sopenharmony_ci <value name="TFMT4_ASTC_8x6" value="0x75"/> 259bf215546Sopenharmony_ci <value name="TFMT4_ASTC_8x8" value="0x76"/> 260bf215546Sopenharmony_ci <value name="TFMT4_ASTC_10x5" value="0x77"/> 261bf215546Sopenharmony_ci <value name="TFMT4_ASTC_10x6" value="0x78"/> 262bf215546Sopenharmony_ci <value name="TFMT4_ASTC_10x8" value="0x79"/> 263bf215546Sopenharmony_ci <value name="TFMT4_ASTC_10x10" value="0x7a"/> 264bf215546Sopenharmony_ci <value name="TFMT4_ASTC_12x10" value="0x7b"/> 265bf215546Sopenharmony_ci <value name="TFMT4_ASTC_12x12" value="0x7c"/> 266bf215546Sopenharmony_ci <!-- 0x7d .. 0x7f --> 267bf215546Sopenharmony_ci 268bf215546Sopenharmony_ci <value name="TFMT4_NONE" value="0xff"/> 269bf215546Sopenharmony_ci</enum> 270bf215546Sopenharmony_ci 271bf215546Sopenharmony_ci<enum name="a4xx_depth_format"> 272bf215546Sopenharmony_ci <value name="DEPTH4_NONE" value="0"/> 273bf215546Sopenharmony_ci <value name="DEPTH4_16" value="1"/> 274bf215546Sopenharmony_ci <value name="DEPTH4_24_8" value="2"/> 275bf215546Sopenharmony_ci <value name="DEPTH4_32" value="3"/> 276bf215546Sopenharmony_ci</enum> 277bf215546Sopenharmony_ci 278bf215546Sopenharmony_ci<!-- 279bf215546Sopenharmony_ciNOTE counters extracted from test-perf log with the following awful 280bf215546Sopenharmony_ciscript: 281bf215546Sopenharmony_ci################## 282bf215546Sopenharmony_ci#!/bin/bash 283bf215546Sopenharmony_ci 284bf215546Sopenharmony_cilog=$1 285bf215546Sopenharmony_ci 286bf215546Sopenharmony_cigrep -F "counter 287bf215546Sopenharmony_cicountable 288bf215546Sopenharmony_cigroup" $log | grep -v gl > shortlist.txt 289bf215546Sopenharmony_ci 290bf215546Sopenharmony_cicountable="" 291bf215546Sopenharmony_ciIFS=$'\n'; for line in $(cat shortlist.txt); do 292bf215546Sopenharmony_ci # parse ######### group[$n]: $name 293bf215546Sopenharmony_ci l=${line########### group} 294bf215546Sopenharmony_ci if [ $l != $line ]; then 295bf215546Sopenharmony_ci group=`echo $line | awk '{print $3}'` 296bf215546Sopenharmony_ci echo "Group: $group" 297bf215546Sopenharmony_ci continue 298bf215546Sopenharmony_ci fi 299bf215546Sopenharmony_ci # parse ######### counter[$n]: $name 300bf215546Sopenharmony_ci l=${line########### counter} 301bf215546Sopenharmony_ci if [ $l != $line ]; then 302bf215546Sopenharmony_ci countable=`echo $line | awk '{print $3}'` 303bf215546Sopenharmony_ci #echo " Countable: $countable" 304bf215546Sopenharmony_ci continue 305bf215546Sopenharmony_ci fi 306bf215546Sopenharmony_ci # parse countable: 307bf215546Sopenharmony_ci l=${line## countable:} 308bf215546Sopenharmony_ci if [ $l != $line ]; then 309bf215546Sopenharmony_ci val=`echo $line | awk '{print $2}'` 310bf215546Sopenharmony_ci echo "<value value=\"$val\" name=\"$countable\"/>" 311bf215546Sopenharmony_ci fi 312bf215546Sopenharmony_ci 313bf215546Sopenharmony_cidone 314bf215546Sopenharmony_ci################## 315bf215546Sopenharmony_ci --> 316bf215546Sopenharmony_ci<enum name="a4xx_ccu_perfcounter_select"> 317bf215546Sopenharmony_ci <value value="0" name="CCU_BUSY_CYCLES"/> 318bf215546Sopenharmony_ci <value value="2" name="CCU_RB_DEPTH_RETURN_STALL"/> 319bf215546Sopenharmony_ci <value value="3" name="CCU_RB_COLOR_RETURN_STALL"/> 320bf215546Sopenharmony_ci <value value="6" name="CCU_DEPTH_BLOCKS"/> 321bf215546Sopenharmony_ci <value value="7" name="CCU_COLOR_BLOCKS"/> 322bf215546Sopenharmony_ci <value value="8" name="CCU_DEPTH_BLOCK_HIT"/> 323bf215546Sopenharmony_ci <value value="9" name="CCU_COLOR_BLOCK_HIT"/> 324bf215546Sopenharmony_ci <value value="10" name="CCU_DEPTH_FLAG1_COUNT"/> 325bf215546Sopenharmony_ci <value value="11" name="CCU_DEPTH_FLAG2_COUNT"/> 326bf215546Sopenharmony_ci <value value="12" name="CCU_DEPTH_FLAG3_COUNT"/> 327bf215546Sopenharmony_ci <value value="13" name="CCU_DEPTH_FLAG4_COUNT"/> 328bf215546Sopenharmony_ci <value value="14" name="CCU_COLOR_FLAG1_COUNT"/> 329bf215546Sopenharmony_ci <value value="15" name="CCU_COLOR_FLAG2_COUNT"/> 330bf215546Sopenharmony_ci <value value="16" name="CCU_COLOR_FLAG3_COUNT"/> 331bf215546Sopenharmony_ci <value value="17" name="CCU_COLOR_FLAG4_COUNT"/> 332bf215546Sopenharmony_ci <value value="18" name="CCU_PARTIAL_BLOCK_READ"/> 333bf215546Sopenharmony_ci</enum> 334bf215546Sopenharmony_ci 335bf215546Sopenharmony_ci<!-- 336bf215546Sopenharmony_ciNOTE other than CP_ALWAYS_COUNT (which is the only one we use so far), 337bf215546Sopenharmony_cion a3xx the countable #'s from AMD_performance_monitor disagreed with 338bf215546Sopenharmony_ciTRM. All these #'s for a4xx come from AMD_performance_monitor, so 339bf215546Sopenharmony_ciperhaps they should be taken with a grain of salt 340bf215546Sopenharmony_ci--> 341bf215546Sopenharmony_ci<enum name="a4xx_cp_perfcounter_select"> 342bf215546Sopenharmony_ci <!-- first ctr at least seems same as a3xx, so we can measure freq --> 343bf215546Sopenharmony_ci <value value="0" name="CP_ALWAYS_COUNT"/> 344bf215546Sopenharmony_ci <value value="1" name="CP_BUSY"/> 345bf215546Sopenharmony_ci <value value="2" name="CP_PFP_IDLE"/> 346bf215546Sopenharmony_ci <value value="3" name="CP_PFP_BUSY_WORKING"/> 347bf215546Sopenharmony_ci <value value="4" name="CP_PFP_STALL_CYCLES_ANY"/> 348bf215546Sopenharmony_ci <value value="5" name="CP_PFP_STARVE_CYCLES_ANY"/> 349bf215546Sopenharmony_ci <value value="6" name="CP_PFP_STARVED_PER_LOAD_ADDR"/> 350bf215546Sopenharmony_ci <value value="7" name="CP_PFP_STALLED_PER_STORE_ADDR"/> 351bf215546Sopenharmony_ci <value value="8" name="CP_PFP_PC_PROFILE"/> 352bf215546Sopenharmony_ci <value value="9" name="CP_PFP_MATCH_PM4_PKT_PROFILE"/> 353bf215546Sopenharmony_ci <value value="10" name="CP_PFP_COND_INDIRECT_DISCARDED"/> 354bf215546Sopenharmony_ci <value value="11" name="CP_LONG_RESUMPTIONS"/> 355bf215546Sopenharmony_ci <value value="12" name="CP_RESUME_CYCLES"/> 356bf215546Sopenharmony_ci <value value="13" name="CP_RESUME_TO_BOUNDARY_CYCLES"/> 357bf215546Sopenharmony_ci <value value="14" name="CP_LONG_PREEMPTIONS"/> 358bf215546Sopenharmony_ci <value value="15" name="CP_PREEMPT_CYCLES"/> 359bf215546Sopenharmony_ci <value value="16" name="CP_PREEMPT_TO_BOUNDARY_CYCLES"/> 360bf215546Sopenharmony_ci <value value="17" name="CP_ME_FIFO_EMPTY_PFP_IDLE"/> 361bf215546Sopenharmony_ci <value value="18" name="CP_ME_FIFO_EMPTY_PFP_BUSY"/> 362bf215546Sopenharmony_ci <value value="19" name="CP_ME_FIFO_NOT_EMPTY_NOT_FULL"/> 363bf215546Sopenharmony_ci <value value="20" name="CP_ME_FIFO_FULL_ME_BUSY"/> 364bf215546Sopenharmony_ci <value value="21" name="CP_ME_FIFO_FULL_ME_NON_WORKING"/> 365bf215546Sopenharmony_ci <value value="22" name="CP_ME_WAITING_FOR_PACKETS"/> 366bf215546Sopenharmony_ci <value value="23" name="CP_ME_BUSY_WORKING"/> 367bf215546Sopenharmony_ci <value value="24" name="CP_ME_STARVE_CYCLES_ANY"/> 368bf215546Sopenharmony_ci <value value="25" name="CP_ME_STARVE_CYCLES_PER_PROFILE"/> 369bf215546Sopenharmony_ci <value value="26" name="CP_ME_STALL_CYCLES_PER_PROFILE"/> 370bf215546Sopenharmony_ci <value value="27" name="CP_ME_PC_PROFILE"/> 371bf215546Sopenharmony_ci <value value="28" name="CP_RCIU_FIFO_EMPTY"/> 372bf215546Sopenharmony_ci <value value="29" name="CP_RCIU_FIFO_NOT_EMPTY_NOT_FULL"/> 373bf215546Sopenharmony_ci <value value="30" name="CP_RCIU_FIFO_FULL"/> 374bf215546Sopenharmony_ci <value value="31" name="CP_RCIU_FIFO_FULL_NO_CONTEXT"/> 375bf215546Sopenharmony_ci <value value="32" name="CP_RCIU_FIFO_FULL_AHB_MASTER"/> 376bf215546Sopenharmony_ci <value value="33" name="CP_RCIU_FIFO_FULL_OTHER"/> 377bf215546Sopenharmony_ci <value value="34" name="CP_AHB_IDLE"/> 378bf215546Sopenharmony_ci <value value="35" name="CP_AHB_STALL_ON_GRANT_NO_SPLIT"/> 379bf215546Sopenharmony_ci <value value="36" name="CP_AHB_STALL_ON_GRANT_SPLIT"/> 380bf215546Sopenharmony_ci <value value="37" name="CP_AHB_STALL_ON_GRANT_SPLIT_PROFILE"/> 381bf215546Sopenharmony_ci <value value="38" name="CP_AHB_BUSY_WORKING"/> 382bf215546Sopenharmony_ci <value value="39" name="CP_AHB_BUSY_STALL_ON_HRDY"/> 383bf215546Sopenharmony_ci <value value="40" name="CP_AHB_BUSY_STALL_ON_HRDY_PROFILE"/> 384bf215546Sopenharmony_ci</enum> 385bf215546Sopenharmony_ci 386bf215546Sopenharmony_ci<enum name="a4xx_gras_ras_perfcounter_select"> 387bf215546Sopenharmony_ci <value value="0" name="RAS_SUPER_TILES"/> 388bf215546Sopenharmony_ci <value value="1" name="RAS_8X8_TILES"/> 389bf215546Sopenharmony_ci <value value="2" name="RAS_4X4_TILES"/> 390bf215546Sopenharmony_ci <value value="3" name="RAS_BUSY_CYCLES"/> 391bf215546Sopenharmony_ci <value value="4" name="RAS_STALL_CYCLES_BY_RB"/> 392bf215546Sopenharmony_ci <value value="5" name="RAS_STALL_CYCLES_BY_VSC"/> 393bf215546Sopenharmony_ci <value value="6" name="RAS_STARVE_CYCLES_BY_TSE"/> 394bf215546Sopenharmony_ci <value value="7" name="RAS_SUPERTILE_CYCLES"/> 395bf215546Sopenharmony_ci <value value="8" name="RAS_TILE_CYCLES"/> 396bf215546Sopenharmony_ci <value value="9" name="RAS_FULLY_COVERED_SUPER_TILES"/> 397bf215546Sopenharmony_ci <value value="10" name="RAS_FULLY_COVERED_8X8_TILES"/> 398bf215546Sopenharmony_ci <value value="11" name="RAS_4X4_PRIM"/> 399bf215546Sopenharmony_ci <value value="12" name="RAS_8X4_4X8_PRIM"/> 400bf215546Sopenharmony_ci <value value="13" name="RAS_8X8_PRIM"/> 401bf215546Sopenharmony_ci</enum> 402bf215546Sopenharmony_ci 403bf215546Sopenharmony_ci<enum name="a4xx_gras_tse_perfcounter_select"> 404bf215546Sopenharmony_ci <value value="0" name="TSE_INPUT_PRIM"/> 405bf215546Sopenharmony_ci <value value="1" name="TSE_INPUT_NULL_PRIM"/> 406bf215546Sopenharmony_ci <value value="2" name="TSE_TRIVAL_REJ_PRIM"/> 407bf215546Sopenharmony_ci <value value="3" name="TSE_CLIPPED_PRIM"/> 408bf215546Sopenharmony_ci <value value="4" name="TSE_NEW_PRIM"/> 409bf215546Sopenharmony_ci <value value="5" name="TSE_ZERO_AREA_PRIM"/> 410bf215546Sopenharmony_ci <value value="6" name="TSE_FACENESS_CULLED_PRIM"/> 411bf215546Sopenharmony_ci <value value="7" name="TSE_ZERO_PIXEL_PRIM"/> 412bf215546Sopenharmony_ci <value value="8" name="TSE_OUTPUT_NULL_PRIM"/> 413bf215546Sopenharmony_ci <value value="9" name="TSE_OUTPUT_VISIBLE_PRIM"/> 414bf215546Sopenharmony_ci <value value="10" name="TSE_PRE_CLIP_PRIM"/> 415bf215546Sopenharmony_ci <value value="11" name="TSE_POST_CLIP_PRIM"/> 416bf215546Sopenharmony_ci <value value="12" name="TSE_BUSY_CYCLES"/> 417bf215546Sopenharmony_ci <value value="13" name="TSE_PC_STARVE"/> 418bf215546Sopenharmony_ci <value value="14" name="TSE_RAS_STALL"/> 419bf215546Sopenharmony_ci <value value="15" name="TSE_STALL_BARYPLANE_FIFO_FULL"/> 420bf215546Sopenharmony_ci <value value="16" name="TSE_STALL_ZPLANE_FIFO_FULL"/> 421bf215546Sopenharmony_ci</enum> 422bf215546Sopenharmony_ci 423bf215546Sopenharmony_ci<enum name="a4xx_hlsq_perfcounter_select"> 424bf215546Sopenharmony_ci <value value="0" name="HLSQ_SP_VS_STAGE_CONSTANT"/> 425bf215546Sopenharmony_ci <value value="1" name="HLSQ_SP_VS_STAGE_INSTRUCTIONS"/> 426bf215546Sopenharmony_ci <value value="2" name="HLSQ_SP_FS_STAGE_CONSTANT"/> 427bf215546Sopenharmony_ci <value value="3" name="HLSQ_SP_FS_STAGE_INSTRUCTIONS"/> 428bf215546Sopenharmony_ci <value value="4" name="HLSQ_TP_STATE"/> 429bf215546Sopenharmony_ci <value value="5" name="HLSQ_QUADS"/> 430bf215546Sopenharmony_ci <value value="6" name="HLSQ_PIXELS"/> 431bf215546Sopenharmony_ci <value value="7" name="HLSQ_VERTICES"/> 432bf215546Sopenharmony_ci <value value="13" name="HLSQ_SP_VS_STAGE_DATA_BYTES"/> 433bf215546Sopenharmony_ci <value value="14" name="HLSQ_SP_FS_STAGE_DATA_BYTES"/> 434bf215546Sopenharmony_ci <value value="15" name="HLSQ_BUSY_CYCLES"/> 435bf215546Sopenharmony_ci <value value="16" name="HLSQ_STALL_CYCLES_SP_STATE"/> 436bf215546Sopenharmony_ci <value value="17" name="HLSQ_STALL_CYCLES_SP_VS_STAGE"/> 437bf215546Sopenharmony_ci <value value="18" name="HLSQ_STALL_CYCLES_SP_FS_STAGE"/> 438bf215546Sopenharmony_ci <value value="19" name="HLSQ_STALL_CYCLES_UCHE"/> 439bf215546Sopenharmony_ci <value value="20" name="HLSQ_RBBM_LOAD_CYCLES"/> 440bf215546Sopenharmony_ci <value value="21" name="HLSQ_DI_TO_VS_START_SP"/> 441bf215546Sopenharmony_ci <value value="22" name="HLSQ_DI_TO_FS_START_SP"/> 442bf215546Sopenharmony_ci <value value="23" name="HLSQ_VS_STAGE_START_TO_DONE_SP"/> 443bf215546Sopenharmony_ci <value value="24" name="HLSQ_FS_STAGE_START_TO_DONE_SP"/> 444bf215546Sopenharmony_ci <value value="25" name="HLSQ_SP_STATE_COPY_CYCLES_VS_STAGE"/> 445bf215546Sopenharmony_ci <value value="26" name="HLSQ_SP_STATE_COPY_CYCLES_FS_STAGE"/> 446bf215546Sopenharmony_ci <value value="27" name="HLSQ_UCHE_LATENCY_CYCLES"/> 447bf215546Sopenharmony_ci <value value="28" name="HLSQ_UCHE_LATENCY_COUNT"/> 448bf215546Sopenharmony_ci <value value="29" name="HLSQ_STARVE_CYCLES_VFD"/> 449bf215546Sopenharmony_ci</enum> 450bf215546Sopenharmony_ci 451bf215546Sopenharmony_ci<enum name="a4xx_pc_perfcounter_select"> 452bf215546Sopenharmony_ci <value value="0" name="PC_VIS_STREAMS_LOADED"/> 453bf215546Sopenharmony_ci <value value="2" name="PC_VPC_PRIMITIVES"/> 454bf215546Sopenharmony_ci <value value="3" name="PC_DEAD_PRIM"/> 455bf215546Sopenharmony_ci <value value="4" name="PC_LIVE_PRIM"/> 456bf215546Sopenharmony_ci <value value="5" name="PC_DEAD_DRAWCALLS"/> 457bf215546Sopenharmony_ci <value value="6" name="PC_LIVE_DRAWCALLS"/> 458bf215546Sopenharmony_ci <value value="7" name="PC_VERTEX_MISSES"/> 459bf215546Sopenharmony_ci <value value="9" name="PC_STALL_CYCLES_VFD"/> 460bf215546Sopenharmony_ci <value value="10" name="PC_STALL_CYCLES_TSE"/> 461bf215546Sopenharmony_ci <value value="11" name="PC_STALL_CYCLES_UCHE"/> 462bf215546Sopenharmony_ci <value value="12" name="PC_WORKING_CYCLES"/> 463bf215546Sopenharmony_ci <value value="13" name="PC_IA_VERTICES"/> 464bf215546Sopenharmony_ci <value value="14" name="PC_GS_PRIMITIVES"/> 465bf215546Sopenharmony_ci <value value="15" name="PC_HS_INVOCATIONS"/> 466bf215546Sopenharmony_ci <value value="16" name="PC_DS_INVOCATIONS"/> 467bf215546Sopenharmony_ci <value value="17" name="PC_DS_PRIMITIVES"/> 468bf215546Sopenharmony_ci <value value="20" name="PC_STARVE_CYCLES_FOR_INDEX"/> 469bf215546Sopenharmony_ci <value value="21" name="PC_STARVE_CYCLES_FOR_TESS_FACTOR"/> 470bf215546Sopenharmony_ci <value value="22" name="PC_STARVE_CYCLES_FOR_VIZ_STREAM"/> 471bf215546Sopenharmony_ci <value value="23" name="PC_STALL_CYCLES_TESS"/> 472bf215546Sopenharmony_ci <value value="24" name="PC_STARVE_CYCLES_FOR_POSITION"/> 473bf215546Sopenharmony_ci <value value="25" name="PC_MODE0_DRAWCALL"/> 474bf215546Sopenharmony_ci <value value="26" name="PC_MODE1_DRAWCALL"/> 475bf215546Sopenharmony_ci <value value="27" name="PC_MODE2_DRAWCALL"/> 476bf215546Sopenharmony_ci <value value="28" name="PC_MODE3_DRAWCALL"/> 477bf215546Sopenharmony_ci <value value="29" name="PC_MODE4_DRAWCALL"/> 478bf215546Sopenharmony_ci <value value="30" name="PC_PREDICATED_DEAD_DRAWCALL"/> 479bf215546Sopenharmony_ci <value value="31" name="PC_STALL_CYCLES_BY_TSE_ONLY"/> 480bf215546Sopenharmony_ci <value value="32" name="PC_STALL_CYCLES_BY_VPC_ONLY"/> 481bf215546Sopenharmony_ci <value value="33" name="PC_VPC_POS_DATA_TRANSACTION"/> 482bf215546Sopenharmony_ci <value value="34" name="PC_BUSY_CYCLES"/> 483bf215546Sopenharmony_ci <value value="35" name="PC_STARVE_CYCLES_DI"/> 484bf215546Sopenharmony_ci <value value="36" name="PC_STALL_CYCLES_VPC"/> 485bf215546Sopenharmony_ci <value value="37" name="TESS_WORKING_CYCLES"/> 486bf215546Sopenharmony_ci <value value="38" name="TESS_NUM_CYCLES_SETUP_WORKING"/> 487bf215546Sopenharmony_ci <value value="39" name="TESS_NUM_CYCLES_PTGEN_WORKING"/> 488bf215546Sopenharmony_ci <value value="40" name="TESS_NUM_CYCLES_CONNGEN_WORKING"/> 489bf215546Sopenharmony_ci <value value="41" name="TESS_BUSY_CYCLES"/> 490bf215546Sopenharmony_ci <value value="42" name="TESS_STARVE_CYCLES_PC"/> 491bf215546Sopenharmony_ci <value value="43" name="TESS_STALL_CYCLES_PC"/> 492bf215546Sopenharmony_ci</enum> 493bf215546Sopenharmony_ci 494bf215546Sopenharmony_ci<enum name="a4xx_pwr_perfcounter_select"> 495bf215546Sopenharmony_ci <!-- NOTE not actually used.. see RBBM_RBBM_CTL.RESET_PWR_CTR0/1 --> 496bf215546Sopenharmony_ci <value value="0" name="PWR_CORE_CLOCK_CYCLES"/> 497bf215546Sopenharmony_ci <value value="1" name="PWR_BUSY_CLOCK_CYCLES"/> 498bf215546Sopenharmony_ci</enum> 499bf215546Sopenharmony_ci 500bf215546Sopenharmony_ci<enum name="a4xx_rb_perfcounter_select"> 501bf215546Sopenharmony_ci <value value="0" name="RB_BUSY_CYCLES"/> 502bf215546Sopenharmony_ci <value value="1" name="RB_BUSY_CYCLES_BINNING"/> 503bf215546Sopenharmony_ci <value value="2" name="RB_BUSY_CYCLES_RENDERING"/> 504bf215546Sopenharmony_ci <value value="3" name="RB_BUSY_CYCLES_RESOLVE"/> 505bf215546Sopenharmony_ci <value value="4" name="RB_STARVE_CYCLES_BY_SP"/> 506bf215546Sopenharmony_ci <value value="5" name="RB_STARVE_CYCLES_BY_RAS"/> 507bf215546Sopenharmony_ci <value value="6" name="RB_STARVE_CYCLES_BY_MARB"/> 508bf215546Sopenharmony_ci <value value="7" name="RB_STALL_CYCLES_BY_MARB"/> 509bf215546Sopenharmony_ci <value value="8" name="RB_STALL_CYCLES_BY_HLSQ"/> 510bf215546Sopenharmony_ci <value value="9" name="RB_RB_RB_MARB_DATA"/> 511bf215546Sopenharmony_ci <value value="10" name="RB_SP_RB_QUAD"/> 512bf215546Sopenharmony_ci <value value="11" name="RB_RAS_RB_Z_QUADS"/> 513bf215546Sopenharmony_ci <value value="12" name="RB_GMEM_CH0_READ"/> 514bf215546Sopenharmony_ci <value value="13" name="RB_GMEM_CH1_READ"/> 515bf215546Sopenharmony_ci <value value="14" name="RB_GMEM_CH0_WRITE"/> 516bf215546Sopenharmony_ci <value value="15" name="RB_GMEM_CH1_WRITE"/> 517bf215546Sopenharmony_ci <value value="16" name="RB_CP_CONTEXT_DONE"/> 518bf215546Sopenharmony_ci <value value="17" name="RB_CP_CACHE_FLUSH"/> 519bf215546Sopenharmony_ci <value value="18" name="RB_CP_ZPASS_DONE"/> 520bf215546Sopenharmony_ci <value value="19" name="RB_STALL_FIFO0_FULL"/> 521bf215546Sopenharmony_ci <value value="20" name="RB_STALL_FIFO1_FULL"/> 522bf215546Sopenharmony_ci <value value="21" name="RB_STALL_FIFO2_FULL"/> 523bf215546Sopenharmony_ci <value value="22" name="RB_STALL_FIFO3_FULL"/> 524bf215546Sopenharmony_ci <value value="23" name="RB_RB_HLSQ_TRANSACTIONS"/> 525bf215546Sopenharmony_ci <value value="24" name="RB_Z_READ"/> 526bf215546Sopenharmony_ci <value value="25" name="RB_Z_WRITE"/> 527bf215546Sopenharmony_ci <value value="26" name="RB_C_READ"/> 528bf215546Sopenharmony_ci <value value="27" name="RB_C_WRITE"/> 529bf215546Sopenharmony_ci <value value="28" name="RB_C_READ_LATENCY"/> 530bf215546Sopenharmony_ci <value value="29" name="RB_Z_READ_LATENCY"/> 531bf215546Sopenharmony_ci <value value="30" name="RB_STALL_BY_UCHE"/> 532bf215546Sopenharmony_ci <value value="31" name="RB_MARB_UCHE_TRANSACTIONS"/> 533bf215546Sopenharmony_ci <value value="32" name="RB_CACHE_STALL_MISS"/> 534bf215546Sopenharmony_ci <value value="33" name="RB_CACHE_STALL_FIFO_FULL"/> 535bf215546Sopenharmony_ci <value value="34" name="RB_8BIT_BLENDER_UNITS_ACTIVE"/> 536bf215546Sopenharmony_ci <value value="35" name="RB_16BIT_BLENDER_UNITS_ACTIVE"/> 537bf215546Sopenharmony_ci <value value="36" name="RB_SAMPLER_UNITS_ACTIVE"/> 538bf215546Sopenharmony_ci <value value="38" name="RB_TOTAL_PASS"/> 539bf215546Sopenharmony_ci <value value="39" name="RB_Z_PASS"/> 540bf215546Sopenharmony_ci <value value="40" name="RB_Z_FAIL"/> 541bf215546Sopenharmony_ci <value value="41" name="RB_S_FAIL"/> 542bf215546Sopenharmony_ci <value value="42" name="RB_POWER0"/> 543bf215546Sopenharmony_ci <value value="43" name="RB_POWER1"/> 544bf215546Sopenharmony_ci <value value="44" name="RB_POWER2"/> 545bf215546Sopenharmony_ci <value value="45" name="RB_POWER3"/> 546bf215546Sopenharmony_ci <value value="46" name="RB_POWER4"/> 547bf215546Sopenharmony_ci <value value="47" name="RB_POWER5"/> 548bf215546Sopenharmony_ci <value value="48" name="RB_POWER6"/> 549bf215546Sopenharmony_ci <value value="49" name="RB_POWER7"/> 550bf215546Sopenharmony_ci</enum> 551bf215546Sopenharmony_ci 552bf215546Sopenharmony_ci<enum name="a4xx_rbbm_perfcounter_select"> 553bf215546Sopenharmony_ci <value value="0" name="RBBM_ALWAYS_ON"/> 554bf215546Sopenharmony_ci <value value="1" name="RBBM_VBIF_BUSY"/> 555bf215546Sopenharmony_ci <value value="2" name="RBBM_TSE_BUSY"/> 556bf215546Sopenharmony_ci <value value="3" name="RBBM_RAS_BUSY"/> 557bf215546Sopenharmony_ci <value value="4" name="RBBM_PC_DCALL_BUSY"/> 558bf215546Sopenharmony_ci <value value="5" name="RBBM_PC_VSD_BUSY"/> 559bf215546Sopenharmony_ci <value value="6" name="RBBM_VFD_BUSY"/> 560bf215546Sopenharmony_ci <value value="7" name="RBBM_VPC_BUSY"/> 561bf215546Sopenharmony_ci <value value="8" name="RBBM_UCHE_BUSY"/> 562bf215546Sopenharmony_ci <value value="9" name="RBBM_VSC_BUSY"/> 563bf215546Sopenharmony_ci <value value="10" name="RBBM_HLSQ_BUSY"/> 564bf215546Sopenharmony_ci <value value="11" name="RBBM_ANY_RB_BUSY"/> 565bf215546Sopenharmony_ci <value value="12" name="RBBM_ANY_TPL1_BUSY"/> 566bf215546Sopenharmony_ci <value value="13" name="RBBM_ANY_SP_BUSY"/> 567bf215546Sopenharmony_ci <value value="14" name="RBBM_ANY_MARB_BUSY"/> 568bf215546Sopenharmony_ci <value value="15" name="RBBM_ANY_ARB_BUSY"/> 569bf215546Sopenharmony_ci <value value="16" name="RBBM_AHB_STATUS_BUSY"/> 570bf215546Sopenharmony_ci <value value="17" name="RBBM_AHB_STATUS_STALLED"/> 571bf215546Sopenharmony_ci <value value="18" name="RBBM_AHB_STATUS_TXFR"/> 572bf215546Sopenharmony_ci <value value="19" name="RBBM_AHB_STATUS_TXFR_SPLIT"/> 573bf215546Sopenharmony_ci <value value="20" name="RBBM_AHB_STATUS_TXFR_ERROR"/> 574bf215546Sopenharmony_ci <value value="21" name="RBBM_AHB_STATUS_LONG_STALL"/> 575bf215546Sopenharmony_ci <value value="22" name="RBBM_STATUS_MASKED"/> 576bf215546Sopenharmony_ci <value value="23" name="RBBM_CP_BUSY_GFX_CORE_IDLE"/> 577bf215546Sopenharmony_ci <value value="24" name="RBBM_TESS_BUSY"/> 578bf215546Sopenharmony_ci <value value="25" name="RBBM_COM_BUSY"/> 579bf215546Sopenharmony_ci <value value="32" name="RBBM_DCOM_BUSY"/> 580bf215546Sopenharmony_ci <value value="33" name="RBBM_ANY_CCU_BUSY"/> 581bf215546Sopenharmony_ci <value value="34" name="RBBM_DPM_BUSY"/> 582bf215546Sopenharmony_ci</enum> 583bf215546Sopenharmony_ci 584bf215546Sopenharmony_ci<enum name="a4xx_sp_perfcounter_select"> 585bf215546Sopenharmony_ci <value value="0" name="SP_LM_LOAD_INSTRUCTIONS"/> 586bf215546Sopenharmony_ci <value value="1" name="SP_LM_STORE_INSTRUCTIONS"/> 587bf215546Sopenharmony_ci <value value="2" name="SP_LM_ATOMICS"/> 588bf215546Sopenharmony_ci <value value="3" name="SP_GM_LOAD_INSTRUCTIONS"/> 589bf215546Sopenharmony_ci <value value="4" name="SP_GM_STORE_INSTRUCTIONS"/> 590bf215546Sopenharmony_ci <value value="5" name="SP_GM_ATOMICS"/> 591bf215546Sopenharmony_ci <value value="6" name="SP_VS_STAGE_TEX_INSTRUCTIONS"/> 592bf215546Sopenharmony_ci <value value="7" name="SP_VS_STAGE_CFLOW_INSTRUCTIONS"/> 593bf215546Sopenharmony_ci <value value="8" name="SP_VS_STAGE_EFU_INSTRUCTIONS"/> 594bf215546Sopenharmony_ci <value value="9" name="SP_VS_STAGE_FULL_ALU_INSTRUCTIONS"/> 595bf215546Sopenharmony_ci <value value="10" name="SP_VS_STAGE_HALF_ALU_INSTRUCTIONS"/> 596bf215546Sopenharmony_ci <value value="11" name="SP_FS_STAGE_TEX_INSTRUCTIONS"/> 597bf215546Sopenharmony_ci <value value="12" name="SP_FS_STAGE_CFLOW_INSTRUCTIONS"/> 598bf215546Sopenharmony_ci <value value="13" name="SP_FS_STAGE_EFU_INSTRUCTIONS"/> 599bf215546Sopenharmony_ci <value value="14" name="SP_FS_STAGE_FULL_ALU_INSTRUCTIONS"/> 600bf215546Sopenharmony_ci <value value="15" name="SP_FS_STAGE_HALF_ALU_INSTRUCTIONS"/> 601bf215546Sopenharmony_ci <value value="17" name="SP_VS_INSTRUCTIONS"/> 602bf215546Sopenharmony_ci <value value="18" name="SP_FS_INSTRUCTIONS"/> 603bf215546Sopenharmony_ci <value value="19" name="SP_ADDR_LOCK_COUNT"/> 604bf215546Sopenharmony_ci <value value="20" name="SP_UCHE_READ_TRANS"/> 605bf215546Sopenharmony_ci <value value="21" name="SP_UCHE_WRITE_TRANS"/> 606bf215546Sopenharmony_ci <value value="22" name="SP_EXPORT_VPC_TRANS"/> 607bf215546Sopenharmony_ci <value value="23" name="SP_EXPORT_RB_TRANS"/> 608bf215546Sopenharmony_ci <value value="24" name="SP_PIXELS_KILLED"/> 609bf215546Sopenharmony_ci <value value="25" name="SP_ICL1_REQUESTS"/> 610bf215546Sopenharmony_ci <value value="26" name="SP_ICL1_MISSES"/> 611bf215546Sopenharmony_ci <value value="27" name="SP_ICL0_REQUESTS"/> 612bf215546Sopenharmony_ci <value value="28" name="SP_ICL0_MISSES"/> 613bf215546Sopenharmony_ci <value value="29" name="SP_ALU_WORKING_CYCLES"/> 614bf215546Sopenharmony_ci <value value="30" name="SP_EFU_WORKING_CYCLES"/> 615bf215546Sopenharmony_ci <value value="31" name="SP_STALL_CYCLES_BY_VPC"/> 616bf215546Sopenharmony_ci <value value="32" name="SP_STALL_CYCLES_BY_TP"/> 617bf215546Sopenharmony_ci <value value="33" name="SP_STALL_CYCLES_BY_UCHE"/> 618bf215546Sopenharmony_ci <value value="34" name="SP_STALL_CYCLES_BY_RB"/> 619bf215546Sopenharmony_ci <value value="35" name="SP_BUSY_CYCLES"/> 620bf215546Sopenharmony_ci <value value="36" name="SP_HS_INSTRUCTIONS"/> 621bf215546Sopenharmony_ci <value value="37" name="SP_DS_INSTRUCTIONS"/> 622bf215546Sopenharmony_ci <value value="38" name="SP_GS_INSTRUCTIONS"/> 623bf215546Sopenharmony_ci <value value="39" name="SP_CS_INSTRUCTIONS"/> 624bf215546Sopenharmony_ci <value value="40" name="SP_SCHEDULER_NON_WORKING"/> 625bf215546Sopenharmony_ci <value value="41" name="SP_WAVE_CONTEXTS"/> 626bf215546Sopenharmony_ci <value value="42" name="SP_WAVE_CONTEXT_CYCLES"/> 627bf215546Sopenharmony_ci <value value="43" name="SP_POWER0"/> 628bf215546Sopenharmony_ci <value value="44" name="SP_POWER1"/> 629bf215546Sopenharmony_ci <value value="45" name="SP_POWER2"/> 630bf215546Sopenharmony_ci <value value="46" name="SP_POWER3"/> 631bf215546Sopenharmony_ci <value value="47" name="SP_POWER4"/> 632bf215546Sopenharmony_ci <value value="48" name="SP_POWER5"/> 633bf215546Sopenharmony_ci <value value="49" name="SP_POWER6"/> 634bf215546Sopenharmony_ci <value value="50" name="SP_POWER7"/> 635bf215546Sopenharmony_ci <value value="51" name="SP_POWER8"/> 636bf215546Sopenharmony_ci <value value="52" name="SP_POWER9"/> 637bf215546Sopenharmony_ci <value value="53" name="SP_POWER10"/> 638bf215546Sopenharmony_ci <value value="54" name="SP_POWER11"/> 639bf215546Sopenharmony_ci <value value="55" name="SP_POWER12"/> 640bf215546Sopenharmony_ci <value value="56" name="SP_POWER13"/> 641bf215546Sopenharmony_ci <value value="57" name="SP_POWER14"/> 642bf215546Sopenharmony_ci <value value="58" name="SP_POWER15"/> 643bf215546Sopenharmony_ci</enum> 644bf215546Sopenharmony_ci 645bf215546Sopenharmony_ci<enum name="a4xx_tp_perfcounter_select"> 646bf215546Sopenharmony_ci <value value="0" name="TP_L1_REQUESTS"/> 647bf215546Sopenharmony_ci <value value="1" name="TP_L1_MISSES"/> 648bf215546Sopenharmony_ci <value value="8" name="TP_QUADS_OFFSET"/> 649bf215546Sopenharmony_ci <value value="9" name="TP_QUAD_SHADOW"/> 650bf215546Sopenharmony_ci <value value="10" name="TP_QUADS_ARRAY"/> 651bf215546Sopenharmony_ci <value value="11" name="TP_QUADS_GRADIENT"/> 652bf215546Sopenharmony_ci <value value="12" name="TP_QUADS_1D2D"/> 653bf215546Sopenharmony_ci <value value="13" name="TP_QUADS_3DCUBE"/> 654bf215546Sopenharmony_ci <value value="16" name="TP_BUSY_CYCLES"/> 655bf215546Sopenharmony_ci <value value="17" name="TP_STALL_CYCLES_BY_ARB"/> 656bf215546Sopenharmony_ci <value value="20" name="TP_STATE_CACHE_REQUESTS"/> 657bf215546Sopenharmony_ci <value value="21" name="TP_STATE_CACHE_MISSES"/> 658bf215546Sopenharmony_ci <value value="22" name="TP_POWER0"/> 659bf215546Sopenharmony_ci <value value="23" name="TP_POWER1"/> 660bf215546Sopenharmony_ci <value value="24" name="TP_POWER2"/> 661bf215546Sopenharmony_ci <value value="25" name="TP_POWER3"/> 662bf215546Sopenharmony_ci <value value="26" name="TP_POWER4"/> 663bf215546Sopenharmony_ci <value value="27" name="TP_POWER5"/> 664bf215546Sopenharmony_ci <value value="28" name="TP_POWER6"/> 665bf215546Sopenharmony_ci <value value="29" name="TP_POWER7"/> 666bf215546Sopenharmony_ci</enum> 667bf215546Sopenharmony_ci 668bf215546Sopenharmony_ci<enum name="a4xx_uche_perfcounter_select"> 669bf215546Sopenharmony_ci <value value="0" name="UCHE_VBIF_READ_BEATS_TP"/> 670bf215546Sopenharmony_ci <value value="1" name="UCHE_VBIF_READ_BEATS_VFD"/> 671bf215546Sopenharmony_ci <value value="2" name="UCHE_VBIF_READ_BEATS_HLSQ"/> 672bf215546Sopenharmony_ci <value value="3" name="UCHE_VBIF_READ_BEATS_MARB"/> 673bf215546Sopenharmony_ci <value value="4" name="UCHE_VBIF_READ_BEATS_SP"/> 674bf215546Sopenharmony_ci <value value="5" name="UCHE_READ_REQUESTS_TP"/> 675bf215546Sopenharmony_ci <value value="6" name="UCHE_READ_REQUESTS_VFD"/> 676bf215546Sopenharmony_ci <value value="7" name="UCHE_READ_REQUESTS_HLSQ"/> 677bf215546Sopenharmony_ci <value value="8" name="UCHE_READ_REQUESTS_MARB"/> 678bf215546Sopenharmony_ci <value value="9" name="UCHE_READ_REQUESTS_SP"/> 679bf215546Sopenharmony_ci <value value="10" name="UCHE_WRITE_REQUESTS_MARB"/> 680bf215546Sopenharmony_ci <value value="11" name="UCHE_WRITE_REQUESTS_SP"/> 681bf215546Sopenharmony_ci <value value="12" name="UCHE_TAG_CHECK_FAILS"/> 682bf215546Sopenharmony_ci <value value="13" name="UCHE_EVICTS"/> 683bf215546Sopenharmony_ci <value value="14" name="UCHE_FLUSHES"/> 684bf215546Sopenharmony_ci <value value="15" name="UCHE_VBIF_LATENCY_CYCLES"/> 685bf215546Sopenharmony_ci <value value="16" name="UCHE_VBIF_LATENCY_SAMPLES"/> 686bf215546Sopenharmony_ci <value value="17" name="UCHE_BUSY_CYCLES"/> 687bf215546Sopenharmony_ci <value value="18" name="UCHE_VBIF_READ_BEATS_PC"/> 688bf215546Sopenharmony_ci <value value="19" name="UCHE_READ_REQUESTS_PC"/> 689bf215546Sopenharmony_ci <value value="20" name="UCHE_WRITE_REQUESTS_VPC"/> 690bf215546Sopenharmony_ci <value value="21" name="UCHE_STALL_BY_VBIF"/> 691bf215546Sopenharmony_ci <value value="22" name="UCHE_WRITE_REQUESTS_VSC"/> 692bf215546Sopenharmony_ci <value value="23" name="UCHE_POWER0"/> 693bf215546Sopenharmony_ci <value value="24" name="UCHE_POWER1"/> 694bf215546Sopenharmony_ci <value value="25" name="UCHE_POWER2"/> 695bf215546Sopenharmony_ci <value value="26" name="UCHE_POWER3"/> 696bf215546Sopenharmony_ci <value value="27" name="UCHE_POWER4"/> 697bf215546Sopenharmony_ci <value value="28" name="UCHE_POWER5"/> 698bf215546Sopenharmony_ci <value value="29" name="UCHE_POWER6"/> 699bf215546Sopenharmony_ci <value value="30" name="UCHE_POWER7"/> 700bf215546Sopenharmony_ci</enum> 701bf215546Sopenharmony_ci 702bf215546Sopenharmony_ci<enum name="a4xx_vbif_perfcounter_select"> 703bf215546Sopenharmony_ci <value value="0" name="AXI_READ_REQUESTS_ID_0"/> 704bf215546Sopenharmony_ci <value value="1" name="AXI_READ_REQUESTS_ID_1"/> 705bf215546Sopenharmony_ci <value value="2" name="AXI_READ_REQUESTS_ID_2"/> 706bf215546Sopenharmony_ci <value value="3" name="AXI_READ_REQUESTS_ID_3"/> 707bf215546Sopenharmony_ci <value value="4" name="AXI_READ_REQUESTS_ID_4"/> 708bf215546Sopenharmony_ci <value value="5" name="AXI_READ_REQUESTS_ID_5"/> 709bf215546Sopenharmony_ci <value value="6" name="AXI_READ_REQUESTS_ID_6"/> 710bf215546Sopenharmony_ci <value value="7" name="AXI_READ_REQUESTS_ID_7"/> 711bf215546Sopenharmony_ci <value value="8" name="AXI_READ_REQUESTS_ID_8"/> 712bf215546Sopenharmony_ci <value value="9" name="AXI_READ_REQUESTS_ID_9"/> 713bf215546Sopenharmony_ci <value value="10" name="AXI_READ_REQUESTS_ID_10"/> 714bf215546Sopenharmony_ci <value value="11" name="AXI_READ_REQUESTS_ID_11"/> 715bf215546Sopenharmony_ci <value value="12" name="AXI_READ_REQUESTS_ID_12"/> 716bf215546Sopenharmony_ci <value value="13" name="AXI_READ_REQUESTS_ID_13"/> 717bf215546Sopenharmony_ci <value value="14" name="AXI_READ_REQUESTS_ID_14"/> 718bf215546Sopenharmony_ci <value value="15" name="AXI_READ_REQUESTS_ID_15"/> 719bf215546Sopenharmony_ci <value value="16" name="AXI0_READ_REQUESTS_TOTAL"/> 720bf215546Sopenharmony_ci <value value="17" name="AXI1_READ_REQUESTS_TOTAL"/> 721bf215546Sopenharmony_ci <value value="18" name="AXI2_READ_REQUESTS_TOTAL"/> 722bf215546Sopenharmony_ci <value value="19" name="AXI3_READ_REQUESTS_TOTAL"/> 723bf215546Sopenharmony_ci <value value="20" name="AXI_READ_REQUESTS_TOTAL"/> 724bf215546Sopenharmony_ci <value value="21" name="AXI_WRITE_REQUESTS_ID_0"/> 725bf215546Sopenharmony_ci <value value="22" name="AXI_WRITE_REQUESTS_ID_1"/> 726bf215546Sopenharmony_ci <value value="23" name="AXI_WRITE_REQUESTS_ID_2"/> 727bf215546Sopenharmony_ci <value value="24" name="AXI_WRITE_REQUESTS_ID_3"/> 728bf215546Sopenharmony_ci <value value="25" name="AXI_WRITE_REQUESTS_ID_4"/> 729bf215546Sopenharmony_ci <value value="26" name="AXI_WRITE_REQUESTS_ID_5"/> 730bf215546Sopenharmony_ci <value value="27" name="AXI_WRITE_REQUESTS_ID_6"/> 731bf215546Sopenharmony_ci <value value="28" name="AXI_WRITE_REQUESTS_ID_7"/> 732bf215546Sopenharmony_ci <value value="29" name="AXI_WRITE_REQUESTS_ID_8"/> 733bf215546Sopenharmony_ci <value value="30" name="AXI_WRITE_REQUESTS_ID_9"/> 734bf215546Sopenharmony_ci <value value="31" name="AXI_WRITE_REQUESTS_ID_10"/> 735bf215546Sopenharmony_ci <value value="32" name="AXI_WRITE_REQUESTS_ID_11"/> 736bf215546Sopenharmony_ci <value value="33" name="AXI_WRITE_REQUESTS_ID_12"/> 737bf215546Sopenharmony_ci <value value="34" name="AXI_WRITE_REQUESTS_ID_13"/> 738bf215546Sopenharmony_ci <value value="35" name="AXI_WRITE_REQUESTS_ID_14"/> 739bf215546Sopenharmony_ci <value value="36" name="AXI_WRITE_REQUESTS_ID_15"/> 740bf215546Sopenharmony_ci <value value="37" name="AXI0_WRITE_REQUESTS_TOTAL"/> 741bf215546Sopenharmony_ci <value value="38" name="AXI1_WRITE_REQUESTS_TOTAL"/> 742bf215546Sopenharmony_ci <value value="39" name="AXI2_WRITE_REQUESTS_TOTAL"/> 743bf215546Sopenharmony_ci <value value="40" name="AXI3_WRITE_REQUESTS_TOTAL"/> 744bf215546Sopenharmony_ci <value value="41" name="AXI_WRITE_REQUESTS_TOTAL"/> 745bf215546Sopenharmony_ci <value value="42" name="AXI_TOTAL_REQUESTS"/> 746bf215546Sopenharmony_ci <value value="43" name="AXI_READ_DATA_BEATS_ID_0"/> 747bf215546Sopenharmony_ci <value value="44" name="AXI_READ_DATA_BEATS_ID_1"/> 748bf215546Sopenharmony_ci <value value="45" name="AXI_READ_DATA_BEATS_ID_2"/> 749bf215546Sopenharmony_ci <value value="46" name="AXI_READ_DATA_BEATS_ID_3"/> 750bf215546Sopenharmony_ci <value value="47" name="AXI_READ_DATA_BEATS_ID_4"/> 751bf215546Sopenharmony_ci <value value="48" name="AXI_READ_DATA_BEATS_ID_5"/> 752bf215546Sopenharmony_ci <value value="49" name="AXI_READ_DATA_BEATS_ID_6"/> 753bf215546Sopenharmony_ci <value value="50" name="AXI_READ_DATA_BEATS_ID_7"/> 754bf215546Sopenharmony_ci <value value="51" name="AXI_READ_DATA_BEATS_ID_8"/> 755bf215546Sopenharmony_ci <value value="52" name="AXI_READ_DATA_BEATS_ID_9"/> 756bf215546Sopenharmony_ci <value value="53" name="AXI_READ_DATA_BEATS_ID_10"/> 757bf215546Sopenharmony_ci <value value="54" name="AXI_READ_DATA_BEATS_ID_11"/> 758bf215546Sopenharmony_ci <value value="55" name="AXI_READ_DATA_BEATS_ID_12"/> 759bf215546Sopenharmony_ci <value value="56" name="AXI_READ_DATA_BEATS_ID_13"/> 760bf215546Sopenharmony_ci <value value="57" name="AXI_READ_DATA_BEATS_ID_14"/> 761bf215546Sopenharmony_ci <value value="58" name="AXI_READ_DATA_BEATS_ID_15"/> 762bf215546Sopenharmony_ci <value value="59" name="AXI0_READ_DATA_BEATS_TOTAL"/> 763bf215546Sopenharmony_ci <value value="60" name="AXI1_READ_DATA_BEATS_TOTAL"/> 764bf215546Sopenharmony_ci <value value="61" name="AXI2_READ_DATA_BEATS_TOTAL"/> 765bf215546Sopenharmony_ci <value value="62" name="AXI3_READ_DATA_BEATS_TOTAL"/> 766bf215546Sopenharmony_ci <value value="63" name="AXI_READ_DATA_BEATS_TOTAL"/> 767bf215546Sopenharmony_ci <value value="64" name="AXI_WRITE_DATA_BEATS_ID_0"/> 768bf215546Sopenharmony_ci <value value="65" name="AXI_WRITE_DATA_BEATS_ID_1"/> 769bf215546Sopenharmony_ci <value value="66" name="AXI_WRITE_DATA_BEATS_ID_2"/> 770bf215546Sopenharmony_ci <value value="67" name="AXI_WRITE_DATA_BEATS_ID_3"/> 771bf215546Sopenharmony_ci <value value="68" name="AXI_WRITE_DATA_BEATS_ID_4"/> 772bf215546Sopenharmony_ci <value value="69" name="AXI_WRITE_DATA_BEATS_ID_5"/> 773bf215546Sopenharmony_ci <value value="70" name="AXI_WRITE_DATA_BEATS_ID_6"/> 774bf215546Sopenharmony_ci <value value="71" name="AXI_WRITE_DATA_BEATS_ID_7"/> 775bf215546Sopenharmony_ci <value value="72" name="AXI_WRITE_DATA_BEATS_ID_8"/> 776bf215546Sopenharmony_ci <value value="73" name="AXI_WRITE_DATA_BEATS_ID_9"/> 777bf215546Sopenharmony_ci <value value="74" name="AXI_WRITE_DATA_BEATS_ID_10"/> 778bf215546Sopenharmony_ci <value value="75" name="AXI_WRITE_DATA_BEATS_ID_11"/> 779bf215546Sopenharmony_ci <value value="76" name="AXI_WRITE_DATA_BEATS_ID_12"/> 780bf215546Sopenharmony_ci <value value="77" name="AXI_WRITE_DATA_BEATS_ID_13"/> 781bf215546Sopenharmony_ci <value value="78" name="AXI_WRITE_DATA_BEATS_ID_14"/> 782bf215546Sopenharmony_ci <value value="79" name="AXI_WRITE_DATA_BEATS_ID_15"/> 783bf215546Sopenharmony_ci <value value="80" name="AXI0_WRITE_DATA_BEATS_TOTAL"/> 784bf215546Sopenharmony_ci <value value="81" name="AXI1_WRITE_DATA_BEATS_TOTAL"/> 785bf215546Sopenharmony_ci <value value="82" name="AXI2_WRITE_DATA_BEATS_TOTAL"/> 786bf215546Sopenharmony_ci <value value="83" name="AXI3_WRITE_DATA_BEATS_TOTAL"/> 787bf215546Sopenharmony_ci <value value="84" name="AXI_WRITE_DATA_BEATS_TOTAL"/> 788bf215546Sopenharmony_ci <value value="85" name="AXI_DATA_BEATS_TOTAL"/> 789bf215546Sopenharmony_ci <value value="86" name="CYCLES_HELD_OFF_ID_0"/> 790bf215546Sopenharmony_ci <value value="87" name="CYCLES_HELD_OFF_ID_1"/> 791bf215546Sopenharmony_ci <value value="88" name="CYCLES_HELD_OFF_ID_2"/> 792bf215546Sopenharmony_ci <value value="89" name="CYCLES_HELD_OFF_ID_3"/> 793bf215546Sopenharmony_ci <value value="90" name="CYCLES_HELD_OFF_ID_4"/> 794bf215546Sopenharmony_ci <value value="91" name="CYCLES_HELD_OFF_ID_5"/> 795bf215546Sopenharmony_ci <value value="92" name="CYCLES_HELD_OFF_ID_6"/> 796bf215546Sopenharmony_ci <value value="93" name="CYCLES_HELD_OFF_ID_7"/> 797bf215546Sopenharmony_ci <value value="94" name="CYCLES_HELD_OFF_ID_8"/> 798bf215546Sopenharmony_ci <value value="95" name="CYCLES_HELD_OFF_ID_9"/> 799bf215546Sopenharmony_ci <value value="96" name="CYCLES_HELD_OFF_ID_10"/> 800bf215546Sopenharmony_ci <value value="97" name="CYCLES_HELD_OFF_ID_11"/> 801bf215546Sopenharmony_ci <value value="98" name="CYCLES_HELD_OFF_ID_12"/> 802bf215546Sopenharmony_ci <value value="99" name="CYCLES_HELD_OFF_ID_13"/> 803bf215546Sopenharmony_ci <value value="100" name="CYCLES_HELD_OFF_ID_14"/> 804bf215546Sopenharmony_ci <value value="101" name="CYCLES_HELD_OFF_ID_15"/> 805bf215546Sopenharmony_ci <value value="102" name="AXI_READ_REQUEST_HELD_OFF"/> 806bf215546Sopenharmony_ci <value value="103" name="AXI_WRITE_REQUEST_HELD_OFF"/> 807bf215546Sopenharmony_ci <value value="104" name="AXI_REQUEST_HELD_OFF"/> 808bf215546Sopenharmony_ci <value value="105" name="AXI_WRITE_DATA_HELD_OFF"/> 809bf215546Sopenharmony_ci <value value="106" name="OCMEM_AXI_READ_REQUEST_HELD_OFF"/> 810bf215546Sopenharmony_ci <value value="107" name="OCMEM_AXI_WRITE_REQUEST_HELD_OFF"/> 811bf215546Sopenharmony_ci <value value="108" name="OCMEM_AXI_REQUEST_HELD_OFF"/> 812bf215546Sopenharmony_ci <value value="109" name="OCMEM_AXI_WRITE_DATA_HELD_OFF"/> 813bf215546Sopenharmony_ci <value value="110" name="ELAPSED_CYCLES_DDR"/> 814bf215546Sopenharmony_ci <value value="111" name="ELAPSED_CYCLES_OCMEM"/> 815bf215546Sopenharmony_ci</enum> 816bf215546Sopenharmony_ci 817bf215546Sopenharmony_ci<enum name="a4xx_vfd_perfcounter_select"> 818bf215546Sopenharmony_ci <value value="0" name="VFD_UCHE_BYTE_FETCHED"/> 819bf215546Sopenharmony_ci <value value="1" name="VFD_UCHE_TRANS"/> 820bf215546Sopenharmony_ci <value value="3" name="VFD_FETCH_INSTRUCTIONS"/> 821bf215546Sopenharmony_ci <value value="5" name="VFD_BUSY_CYCLES"/> 822bf215546Sopenharmony_ci <value value="6" name="VFD_STALL_CYCLES_UCHE"/> 823bf215546Sopenharmony_ci <value value="7" name="VFD_STALL_CYCLES_HLSQ"/> 824bf215546Sopenharmony_ci <value value="8" name="VFD_STALL_CYCLES_VPC_BYPASS"/> 825bf215546Sopenharmony_ci <value value="9" name="VFD_STALL_CYCLES_VPC_ALLOC"/> 826bf215546Sopenharmony_ci <value value="13" name="VFD_MODE_0_FIBERS"/> 827bf215546Sopenharmony_ci <value value="14" name="VFD_MODE_1_FIBERS"/> 828bf215546Sopenharmony_ci <value value="15" name="VFD_MODE_2_FIBERS"/> 829bf215546Sopenharmony_ci <value value="16" name="VFD_MODE_3_FIBERS"/> 830bf215546Sopenharmony_ci <value value="17" name="VFD_MODE_4_FIBERS"/> 831bf215546Sopenharmony_ci <value value="18" name="VFD_BFIFO_STALL"/> 832bf215546Sopenharmony_ci <value value="19" name="VFD_NUM_VERTICES_TOTAL"/> 833bf215546Sopenharmony_ci <value value="20" name="VFD_PACKER_FULL"/> 834bf215546Sopenharmony_ci <value value="21" name="VFD_UCHE_REQUEST_FIFO_FULL"/> 835bf215546Sopenharmony_ci <value value="22" name="VFD_STARVE_CYCLES_PC"/> 836bf215546Sopenharmony_ci <value value="23" name="VFD_STARVE_CYCLES_UCHE"/> 837bf215546Sopenharmony_ci</enum> 838bf215546Sopenharmony_ci 839bf215546Sopenharmony_ci<enum name="a4xx_vpc_perfcounter_select"> 840bf215546Sopenharmony_ci <value value="2" name="VPC_SP_LM_COMPONENTS"/> 841bf215546Sopenharmony_ci <value value="3" name="VPC_SP0_LM_BYTES"/> 842bf215546Sopenharmony_ci <value value="4" name="VPC_SP1_LM_BYTES"/> 843bf215546Sopenharmony_ci <value value="5" name="VPC_SP2_LM_BYTES"/> 844bf215546Sopenharmony_ci <value value="6" name="VPC_SP3_LM_BYTES"/> 845bf215546Sopenharmony_ci <value value="7" name="VPC_WORKING_CYCLES"/> 846bf215546Sopenharmony_ci <value value="8" name="VPC_STALL_CYCLES_LM"/> 847bf215546Sopenharmony_ci <value value="9" name="VPC_STARVE_CYCLES_RAS"/> 848bf215546Sopenharmony_ci <value value="10" name="VPC_STREAMOUT_CYCLES"/> 849bf215546Sopenharmony_ci <value value="12" name="VPC_UCHE_TRANSACTIONS"/> 850bf215546Sopenharmony_ci <value value="13" name="VPC_STALL_CYCLES_UCHE"/> 851bf215546Sopenharmony_ci <value value="14" name="VPC_BUSY_CYCLES"/> 852bf215546Sopenharmony_ci <value value="15" name="VPC_STARVE_CYCLES_SP"/> 853bf215546Sopenharmony_ci</enum> 854bf215546Sopenharmony_ci 855bf215546Sopenharmony_ci<enum name="a4xx_vsc_perfcounter_select"> 856bf215546Sopenharmony_ci <value value="0" name="VSC_BUSY_CYCLES"/> 857bf215546Sopenharmony_ci <value value="1" name="VSC_WORKING_CYCLES"/> 858bf215546Sopenharmony_ci <value value="2" name="VSC_STALL_CYCLES_UCHE"/> 859bf215546Sopenharmony_ci <value value="3" name="VSC_STARVE_CYCLES_RAS"/> 860bf215546Sopenharmony_ci <value value="4" name="VSC_EOT_NUM"/> 861bf215546Sopenharmony_ci</enum> 862bf215546Sopenharmony_ci 863bf215546Sopenharmony_ci<domain name="A4XX" width="32"> 864bf215546Sopenharmony_ci <!-- RB registers --> 865bf215546Sopenharmony_ci <reg32 offset="0x0cc0" name="RB_GMEM_BASE_ADDR"/> 866bf215546Sopenharmony_ci <reg32 offset="0x0cc7" name="RB_PERFCTR_RB_SEL_0" type="a4xx_rb_perfcounter_select"/> 867bf215546Sopenharmony_ci <reg32 offset="0x0cc8" name="RB_PERFCTR_RB_SEL_1" type="a4xx_rb_perfcounter_select"/> 868bf215546Sopenharmony_ci <reg32 offset="0x0cc9" name="RB_PERFCTR_RB_SEL_2" type="a4xx_rb_perfcounter_select"/> 869bf215546Sopenharmony_ci <reg32 offset="0x0cca" name="RB_PERFCTR_RB_SEL_3" type="a4xx_rb_perfcounter_select"/> 870bf215546Sopenharmony_ci <reg32 offset="0x0ccb" name="RB_PERFCTR_RB_SEL_4" type="a4xx_rb_perfcounter_select"/> 871bf215546Sopenharmony_ci <reg32 offset="0x0ccc" name="RB_PERFCTR_RB_SEL_5" type="a4xx_rb_perfcounter_select"/> 872bf215546Sopenharmony_ci <reg32 offset="0x0ccd" name="RB_PERFCTR_RB_SEL_6" type="a4xx_rb_perfcounter_select"/> 873bf215546Sopenharmony_ci <reg32 offset="0x0cce" name="RB_PERFCTR_RB_SEL_7" type="a4xx_rb_perfcounter_select"/> 874bf215546Sopenharmony_ci <reg32 offset="0x0ccf" name="RB_PERFCTR_CCU_SEL_0" type="a4xx_ccu_perfcounter_select"/> 875bf215546Sopenharmony_ci <reg32 offset="0x0cd0" name="RB_PERFCTR_CCU_SEL_1" type="a4xx_ccu_perfcounter_select"/> 876bf215546Sopenharmony_ci <reg32 offset="0x0cd1" name="RB_PERFCTR_CCU_SEL_2" type="a4xx_ccu_perfcounter_select"/> 877bf215546Sopenharmony_ci <reg32 offset="0x0cd2" name="RB_PERFCTR_CCU_SEL_3" type="a4xx_ccu_perfcounter_select"/> 878bf215546Sopenharmony_ci <reg32 offset="0x0ce0" name="RB_FRAME_BUFFER_DIMENSION"> 879bf215546Sopenharmony_ci <bitfield name="WIDTH" low="0" high="13" type="uint"/> 880bf215546Sopenharmony_ci <bitfield name="HEIGHT" low="16" high="29" type="uint"/> 881bf215546Sopenharmony_ci </reg32> 882bf215546Sopenharmony_ci <reg32 offset="0x20cc" name="RB_CLEAR_COLOR_DW0"/> 883bf215546Sopenharmony_ci <reg32 offset="0x20cd" name="RB_CLEAR_COLOR_DW1"/> 884bf215546Sopenharmony_ci <reg32 offset="0x20ce" name="RB_CLEAR_COLOR_DW2"/> 885bf215546Sopenharmony_ci <reg32 offset="0x20cf" name="RB_CLEAR_COLOR_DW3"/> 886bf215546Sopenharmony_ci <reg32 offset="0x20a0" name="RB_MODE_CONTROL"> 887bf215546Sopenharmony_ci <!-- 888bf215546Sopenharmony_ci for non-bypass mode, these are bin width/height.. although 889bf215546Sopenharmony_ci possibly bigger bitfields to hold entire width/height for 890bf215546Sopenharmony_ci gmem-bypass?? Either way, it appears to need to be multiple 891bf215546Sopenharmony_ci of 32.. 892bf215546Sopenharmony_ci --> 893bf215546Sopenharmony_ci <bitfield name="WIDTH" low="0" high="5" shr="5" type="uint"/> 894bf215546Sopenharmony_ci <bitfield name="HEIGHT" low="8" high="13" shr="5" type="uint"/> 895bf215546Sopenharmony_ci <bitfield name="ENABLE_GMEM" pos="16" type="boolean"/> 896bf215546Sopenharmony_ci </reg32> 897bf215546Sopenharmony_ci <reg32 offset="0x20a1" name="RB_RENDER_CONTROL"> 898bf215546Sopenharmony_ci <bitfield name="BINNING_PASS" pos="0" type="boolean"/> 899bf215546Sopenharmony_ci <!-- nearly everything has bit3 set.. --> 900bf215546Sopenharmony_ci <!-- bit5 set on resolve and tiling pass --> 901bf215546Sopenharmony_ci <bitfield name="DISABLE_COLOR_PIPE" pos="5" type="boolean"/> 902bf215546Sopenharmony_ci </reg32> 903bf215546Sopenharmony_ci <reg32 offset="0x20a2" name="RB_MSAA_CONTROL"> 904bf215546Sopenharmony_ci <bitfield name="DISABLE" pos="12" type="boolean"/> 905bf215546Sopenharmony_ci <bitfield name="SAMPLES" low="13" high="15" type="uint"/> 906bf215546Sopenharmony_ci </reg32> 907bf215546Sopenharmony_ci <reg32 offset="0x20a3" name="RB_RENDER_CONTROL2"> 908bf215546Sopenharmony_ci <bitfield name="COORD_MASK" low="0" high="3" type="hex"/> 909bf215546Sopenharmony_ci <bitfield name="SAMPLEMASK" pos="4" type="boolean"/> 910bf215546Sopenharmony_ci <bitfield name="FACENESS" pos="5" type="boolean"/> 911bf215546Sopenharmony_ci <bitfield name="SAMPLEID" pos="6" type="boolean"/> 912bf215546Sopenharmony_ci <bitfield name="MSAA_SAMPLES" low="7" high="9" type="uint"/> 913bf215546Sopenharmony_ci <bitfield name="SAMPLEID_HR" pos="11" type="boolean"/> 914bf215546Sopenharmony_ci <bitfield name="IJ_PERSP_PIXEL" pos="12" type="boolean"/> 915bf215546Sopenharmony_ci <!-- the 2 below are just educated guesses --> 916bf215546Sopenharmony_ci <bitfield name="IJ_PERSP_CENTROID" pos="13" type="boolean"/> 917bf215546Sopenharmony_ci <bitfield name="IJ_PERSP_SAMPLE" pos="14" type="boolean"/> 918bf215546Sopenharmony_ci <!-- needs to be enabled to get nopersp values, 919bf215546Sopenharmony_ci perhaps other cases too? --> 920bf215546Sopenharmony_ci <bitfield name="SIZE" pos="15" type="boolean"/> 921bf215546Sopenharmony_ci </reg32> 922bf215546Sopenharmony_ci <array offset="0x20a4" name="RB_MRT" stride="5" length="8"> 923bf215546Sopenharmony_ci <reg32 offset="0x0" name="CONTROL"> 924bf215546Sopenharmony_ci <bitfield name="READ_DEST_ENABLE" pos="3" type="boolean"/> 925bf215546Sopenharmony_ci <!-- both these bits seem to get set when enabling GL_BLEND.. --> 926bf215546Sopenharmony_ci <bitfield name="BLEND" pos="4" type="boolean"/> 927bf215546Sopenharmony_ci <bitfield name="BLEND2" pos="5" type="boolean"/> 928bf215546Sopenharmony_ci <bitfield name="ROP_ENABLE" pos="6" type="boolean"/> 929bf215546Sopenharmony_ci <bitfield name="ROP_CODE" low="8" high="11" type="a3xx_rop_code"/> 930bf215546Sopenharmony_ci <bitfield name="COMPONENT_ENABLE" low="24" high="27" type="hex"/> 931bf215546Sopenharmony_ci </reg32> 932bf215546Sopenharmony_ci <reg32 offset="0x1" name="BUF_INFO"> 933bf215546Sopenharmony_ci <bitfield name="COLOR_FORMAT" low="0" high="5" type="a4xx_color_fmt"/> 934bf215546Sopenharmony_ci <!-- 935bf215546Sopenharmony_ci guestimate position of COLOR_TILE_MODE.. this works out if 936bf215546Sopenharmony_ci common value is 2, like on a3xx.. 937bf215546Sopenharmony_ci --> 938bf215546Sopenharmony_ci <bitfield name="COLOR_TILE_MODE" low="6" high="7" type="a4xx_tile_mode"/> 939bf215546Sopenharmony_ci <bitfield name="DITHER_MODE" low="9" high="10" type="adreno_rb_dither_mode"/> 940bf215546Sopenharmony_ci <bitfield name="COLOR_SWAP" low="11" high="12" type="a3xx_color_swap"/> 941bf215546Sopenharmony_ci <bitfield name="COLOR_SRGB" pos="13" type="boolean"/> 942bf215546Sopenharmony_ci <!-- note: possibly some # of lsb's aren't there: --> 943bf215546Sopenharmony_ci <doc> 944bf215546Sopenharmony_ci Pitch (actually, appears to be pitch in bytes, so really is a stride) 945bf215546Sopenharmony_ci in GMEM, so pitch of the current tile. 946bf215546Sopenharmony_ci </doc> 947bf215546Sopenharmony_ci <bitfield name="COLOR_BUF_PITCH" low="14" high="31" shr="4" type="uint"/> 948bf215546Sopenharmony_ci </reg32> 949bf215546Sopenharmony_ci <reg32 offset="0x2" name="BASE"/> 950bf215546Sopenharmony_ci <reg32 offset="0x3" name="CONTROL3"> 951bf215546Sopenharmony_ci <!-- probably missing some lsb's.. and guessing upper size --> 952bf215546Sopenharmony_ci <!-- pitch * cpp * msaa: --> 953bf215546Sopenharmony_ci <bitfield name="STRIDE" low="3" high="25" type="uint"/> 954bf215546Sopenharmony_ci </reg32> 955bf215546Sopenharmony_ci <reg32 offset="0x4" name="BLEND_CONTROL"> 956bf215546Sopenharmony_ci <bitfield name="RGB_SRC_FACTOR" low="0" high="4" type="adreno_rb_blend_factor"/> 957bf215546Sopenharmony_ci <bitfield name="RGB_BLEND_OPCODE" low="5" high="7" type="a3xx_rb_blend_opcode"/> 958bf215546Sopenharmony_ci <bitfield name="RGB_DEST_FACTOR" low="8" high="12" type="adreno_rb_blend_factor"/> 959bf215546Sopenharmony_ci <bitfield name="ALPHA_SRC_FACTOR" low="16" high="20" type="adreno_rb_blend_factor"/> 960bf215546Sopenharmony_ci <bitfield name="ALPHA_BLEND_OPCODE" low="21" high="23" type="a3xx_rb_blend_opcode"/> 961bf215546Sopenharmony_ci <bitfield name="ALPHA_DEST_FACTOR" low="24" high="28" type="adreno_rb_blend_factor"/> 962bf215546Sopenharmony_ci </reg32> 963bf215546Sopenharmony_ci </array> 964bf215546Sopenharmony_ci 965bf215546Sopenharmony_ci <reg32 offset="0x20f0" name="RB_BLEND_RED"> 966bf215546Sopenharmony_ci <bitfield name="UINT" low="0" high="7" type="hex"/> 967bf215546Sopenharmony_ci <bitfield name="SINT" low="8" high="15" type="hex"/> 968bf215546Sopenharmony_ci <bitfield name="FLOAT" low="16" high="31" type="float"/> 969bf215546Sopenharmony_ci </reg32> 970bf215546Sopenharmony_ci <reg32 offset="0x20f1" name="RB_BLEND_RED_F32" type="float"/> 971bf215546Sopenharmony_ci 972bf215546Sopenharmony_ci <reg32 offset="0x20f2" name="RB_BLEND_GREEN"> 973bf215546Sopenharmony_ci <bitfield name="UINT" low="0" high="7" type="hex"/> 974bf215546Sopenharmony_ci <bitfield name="SINT" low="8" high="15" type="hex"/> 975bf215546Sopenharmony_ci <bitfield name="FLOAT" low="16" high="31" type="float"/> 976bf215546Sopenharmony_ci </reg32> 977bf215546Sopenharmony_ci <reg32 offset="0x20f3" name="RB_BLEND_GREEN_F32" type="float"/> 978bf215546Sopenharmony_ci 979bf215546Sopenharmony_ci <reg32 offset="0x20f4" name="RB_BLEND_BLUE"> 980bf215546Sopenharmony_ci <bitfield name="UINT" low="0" high="7" type="hex"/> 981bf215546Sopenharmony_ci <bitfield name="SINT" low="8" high="15" type="hex"/> 982bf215546Sopenharmony_ci <bitfield name="FLOAT" low="16" high="31" type="float"/> 983bf215546Sopenharmony_ci </reg32> 984bf215546Sopenharmony_ci <reg32 offset="0x20f5" name="RB_BLEND_BLUE_F32" type="float"/> 985bf215546Sopenharmony_ci 986bf215546Sopenharmony_ci <reg32 offset="0x20f6" name="RB_BLEND_ALPHA"> 987bf215546Sopenharmony_ci <bitfield name="UINT" low="0" high="7" type="hex"/> 988bf215546Sopenharmony_ci <bitfield name="SINT" low="8" high="15" type="hex"/> 989bf215546Sopenharmony_ci <bitfield name="FLOAT" low="16" high="31" type="float"/> 990bf215546Sopenharmony_ci </reg32> 991bf215546Sopenharmony_ci <reg32 offset="0x20f7" name="RB_BLEND_ALPHA_F32" type="float"/> 992bf215546Sopenharmony_ci 993bf215546Sopenharmony_ci <reg32 offset="0x20f8" name="RB_ALPHA_CONTROL"> 994bf215546Sopenharmony_ci <bitfield name="ALPHA_REF" low="0" high="7" type="hex"/> 995bf215546Sopenharmony_ci <bitfield name="ALPHA_TEST" pos="8" type="boolean"/> 996bf215546Sopenharmony_ci <bitfield name="ALPHA_TEST_FUNC" low="9" high="11" type="adreno_compare_func"/> 997bf215546Sopenharmony_ci </reg32> 998bf215546Sopenharmony_ci <reg32 offset="0x20f9" name="RB_FS_OUTPUT"> 999bf215546Sopenharmony_ci <!-- per-mrt enable bit --> 1000bf215546Sopenharmony_ci <bitfield name="ENABLE_BLEND" low="0" high="7"/> 1001bf215546Sopenharmony_ci <bitfield name="INDEPENDENT_BLEND" pos="8" type="boolean"/> 1002bf215546Sopenharmony_ci <!-- a guess? --> 1003bf215546Sopenharmony_ci <bitfield name="SAMPLE_MASK" low="16" high="31"/> 1004bf215546Sopenharmony_ci </reg32> 1005bf215546Sopenharmony_ci <reg32 offset="0x20fa" name="RB_SAMPLE_COUNT_CONTROL"> 1006bf215546Sopenharmony_ci <bitfield name="COPY" pos="1" type="boolean"/> 1007bf215546Sopenharmony_ci <bitfield name="ADDR" low="2" high="31" shr="2"/> 1008bf215546Sopenharmony_ci </reg32> 1009bf215546Sopenharmony_ci <!-- always 00000000 for binning pass, else 0000000f: --> 1010bf215546Sopenharmony_ci <reg32 offset="0x20fb" name="RB_RENDER_COMPONENTS"> 1011bf215546Sopenharmony_ci <bitfield name="RT0" low="0" high="3"/> 1012bf215546Sopenharmony_ci <bitfield name="RT1" low="4" high="7"/> 1013bf215546Sopenharmony_ci <bitfield name="RT2" low="8" high="11"/> 1014bf215546Sopenharmony_ci <bitfield name="RT3" low="12" high="15"/> 1015bf215546Sopenharmony_ci <bitfield name="RT4" low="16" high="19"/> 1016bf215546Sopenharmony_ci <bitfield name="RT5" low="20" high="23"/> 1017bf215546Sopenharmony_ci <bitfield name="RT6" low="24" high="27"/> 1018bf215546Sopenharmony_ci <bitfield name="RT7" low="28" high="31"/> 1019bf215546Sopenharmony_ci </reg32> 1020bf215546Sopenharmony_ci 1021bf215546Sopenharmony_ci <reg32 offset="0x20fc" name="RB_COPY_CONTROL"> 1022bf215546Sopenharmony_ci <!-- not sure # of bits --> 1023bf215546Sopenharmony_ci <bitfield name="MSAA_RESOLVE" low="0" high="1" type="a3xx_msaa_samples"/> 1024bf215546Sopenharmony_ci <bitfield name="MODE" low="4" high="6" type="adreno_rb_copy_control_mode"/> 1025bf215546Sopenharmony_ci <bitfield name="FASTCLEAR" low="8" high="11" type="hex"/> 1026bf215546Sopenharmony_ci <bitfield name="GMEM_BASE" low="14" high="31" shr="14" type="hex"/> 1027bf215546Sopenharmony_ci </reg32> 1028bf215546Sopenharmony_ci <reg32 offset="0x20fd" name="RB_COPY_DEST_BASE"> 1029bf215546Sopenharmony_ci <bitfield name="BASE" low="5" high="31" shr="5" type="hex"/> 1030bf215546Sopenharmony_ci </reg32> 1031bf215546Sopenharmony_ci <reg32 offset="0x20fe" name="RB_COPY_DEST_PITCH"> 1032bf215546Sopenharmony_ci <doc>actually, appears to be pitch in bytes, so really is a stride</doc> 1033bf215546Sopenharmony_ci <!-- not actually sure about max pitch... --> 1034bf215546Sopenharmony_ci <bitfield name="PITCH" low="0" high="31" shr="5" type="uint"/> 1035bf215546Sopenharmony_ci </reg32> 1036bf215546Sopenharmony_ci <reg32 offset="0x20ff" name="RB_COPY_DEST_INFO"> 1037bf215546Sopenharmony_ci <bitfield name="FORMAT" low="2" high="7" type="a4xx_color_fmt"/> 1038bf215546Sopenharmony_ci <bitfield name="SWAP" low="8" high="9" type="a3xx_color_swap"/> 1039bf215546Sopenharmony_ci <bitfield name="DITHER_MODE" low="10" high="11" type="adreno_rb_dither_mode"/> 1040bf215546Sopenharmony_ci <bitfield name="COMPONENT_ENABLE" low="14" high="17" type="hex"/> 1041bf215546Sopenharmony_ci <bitfield name="ENDIAN" low="18" high="20" type="adreno_rb_surface_endian"/> 1042bf215546Sopenharmony_ci <bitfield name="TILE" low="24" high="25" type="a4xx_tile_mode"/> 1043bf215546Sopenharmony_ci </reg32> 1044bf215546Sopenharmony_ci <reg32 offset="0x2100" name="RB_FS_OUTPUT_REG"> 1045bf215546Sopenharmony_ci <!-- bit0 set except for binning pass.. --> 1046bf215546Sopenharmony_ci <bitfield name="MRT" low="0" high="3" type="uint"/> 1047bf215546Sopenharmony_ci <bitfield name="FRAG_WRITES_Z" pos="5" type="boolean"/> 1048bf215546Sopenharmony_ci </reg32> 1049bf215546Sopenharmony_ci <reg32 offset="0x2101" name="RB_DEPTH_CONTROL"> 1050bf215546Sopenharmony_ci <!-- 1051bf215546Sopenharmony_ci guessing that this matches a2xx with the stencil fields 1052bf215546Sopenharmony_ci moved out into RB_STENCIL_CONTROL? 1053bf215546Sopenharmony_ci --> 1054bf215546Sopenharmony_ci <bitfield name="FRAG_WRITES_Z" pos="0" type="boolean"/> 1055bf215546Sopenharmony_ci <bitfield name="Z_TEST_ENABLE" pos="1" type="boolean"/> 1056bf215546Sopenharmony_ci <bitfield name="Z_WRITE_ENABLE" pos="2" type="boolean"/> 1057bf215546Sopenharmony_ci <bitfield name="ZFUNC" low="4" high="6" type="adreno_compare_func"/> 1058bf215546Sopenharmony_ci <bitfield name="Z_CLAMP_ENABLE" pos="7" type="boolean"/> 1059bf215546Sopenharmony_ci <bitfield name="EARLY_Z_DISABLE" pos="16" type="boolean"/> 1060bf215546Sopenharmony_ci <bitfield name="FORCE_FRAGZ_TO_FS" pos="17" type="boolean"/> 1061bf215546Sopenharmony_ci <doc>Z_READ_ENABLE bit is set for zfunc other than GL_ALWAYS or GL_NEVER</doc> 1062bf215546Sopenharmony_ci <bitfield name="Z_READ_ENABLE" pos="31" type="boolean"/> 1063bf215546Sopenharmony_ci </reg32> 1064bf215546Sopenharmony_ci <reg32 offset="0x2102" name="RB_DEPTH_CLEAR"/> 1065bf215546Sopenharmony_ci <reg32 offset="0x2103" name="RB_DEPTH_INFO"> 1066bf215546Sopenharmony_ci <bitfield name="DEPTH_FORMAT" low="0" high="1" type="a4xx_depth_format"/> 1067bf215546Sopenharmony_ci <doc> 1068bf215546Sopenharmony_ci DEPTH_BASE is offset in GMEM to depth/stencil buffer, ie 1069bf215546Sopenharmony_ci bin_w * bin_h / 1024 (possible rounded up to multiple of 1070bf215546Sopenharmony_ci something?? ie. 39 becomes 40, 78 becomes 80.. 75 becomes 1071bf215546Sopenharmony_ci 80.. so maybe it needs to be multiple of 8?? 1072bf215546Sopenharmony_ci </doc> 1073bf215546Sopenharmony_ci <bitfield name="DEPTH_BASE" low="12" high="31" shr="12" type="hex"/> 1074bf215546Sopenharmony_ci </reg32> 1075bf215546Sopenharmony_ci <reg32 offset="0x2104" name="RB_DEPTH_PITCH" shr="5" type="uint"> 1076bf215546Sopenharmony_ci <doc>stride of depth/stencil buffer</doc> 1077bf215546Sopenharmony_ci </reg32> 1078bf215546Sopenharmony_ci <reg32 offset="0x2105" name="RB_DEPTH_PITCH2" shr="5" type="uint"> 1079bf215546Sopenharmony_ci <doc>???</doc> 1080bf215546Sopenharmony_ci </reg32> 1081bf215546Sopenharmony_ci <reg32 offset="0x2106" name="RB_STENCIL_CONTROL"> 1082bf215546Sopenharmony_ci <bitfield name="STENCIL_ENABLE" pos="0" type="boolean"/> 1083bf215546Sopenharmony_ci <bitfield name="STENCIL_ENABLE_BF" pos="1" type="boolean"/> 1084bf215546Sopenharmony_ci <!-- 1085bf215546Sopenharmony_ci set for stencil operations that require read from stencil 1086bf215546Sopenharmony_ci buffer, but not for example for stencil clear (which does 1087bf215546Sopenharmony_ci not require read).. so guessing this is analogous to 1088bf215546Sopenharmony_ci READ_DEST_ENABLE for color buffer.. 1089bf215546Sopenharmony_ci --> 1090bf215546Sopenharmony_ci <bitfield name="STENCIL_READ" pos="2" type="boolean"/> 1091bf215546Sopenharmony_ci <bitfield name="FUNC" low="8" high="10" type="adreno_compare_func"/> 1092bf215546Sopenharmony_ci <bitfield name="FAIL" low="11" high="13" type="adreno_stencil_op"/> 1093bf215546Sopenharmony_ci <bitfield name="ZPASS" low="14" high="16" type="adreno_stencil_op"/> 1094bf215546Sopenharmony_ci <bitfield name="ZFAIL" low="17" high="19" type="adreno_stencil_op"/> 1095bf215546Sopenharmony_ci <bitfield name="FUNC_BF" low="20" high="22" type="adreno_compare_func"/> 1096bf215546Sopenharmony_ci <bitfield name="FAIL_BF" low="23" high="25" type="adreno_stencil_op"/> 1097bf215546Sopenharmony_ci <bitfield name="ZPASS_BF" low="26" high="28" type="adreno_stencil_op"/> 1098bf215546Sopenharmony_ci <bitfield name="ZFAIL_BF" low="29" high="31" type="adreno_stencil_op"/> 1099bf215546Sopenharmony_ci </reg32> 1100bf215546Sopenharmony_ci <reg32 offset="0x2107" name="RB_STENCIL_CONTROL2"> 1101bf215546Sopenharmony_ci <!-- 1102bf215546Sopenharmony_ci This seems to be set by blob if there is a stencil buffer 1103bf215546Sopenharmony_ci at all in GMEM, regardless of whether it is enabled for 1104bf215546Sopenharmony_ci a particular draw (ie. RB_STENCIL_CONTROL). Not really 1105bf215546Sopenharmony_ci sure if that is required or just a quirk of the blob 1106bf215546Sopenharmony_ci --> 1107bf215546Sopenharmony_ci <bitfield name="STENCIL_BUFFER" pos="0" type="boolean"/> 1108bf215546Sopenharmony_ci </reg32> 1109bf215546Sopenharmony_ci <reg32 offset="0x2108" name="RB_STENCIL_INFO"> 1110bf215546Sopenharmony_ci <bitfield name="SEPARATE_STENCIL" pos="0" type="boolean"/> 1111bf215546Sopenharmony_ci <doc>Base address for stencil when not using interleaved depth/stencil</doc> 1112bf215546Sopenharmony_ci <bitfield name="STENCIL_BASE" low="12" high="31" shr="12" type="hex"/> 1113bf215546Sopenharmony_ci </reg32> 1114bf215546Sopenharmony_ci <reg32 offset="0x2109" name="RB_STENCIL_PITCH" shr="5" type="uint"> 1115bf215546Sopenharmony_ci <doc>pitch of stencil buffer when not using interleaved depth/stencil</doc> 1116bf215546Sopenharmony_ci </reg32> 1117bf215546Sopenharmony_ci 1118bf215546Sopenharmony_ci <reg32 offset="0x210b" name="RB_STENCILREFMASK" type="adreno_rb_stencilrefmask"/> 1119bf215546Sopenharmony_ci <reg32 offset="0x210c" name="RB_STENCILREFMASK_BF" type="adreno_rb_stencilrefmask"/> 1120bf215546Sopenharmony_ci <reg32 offset="0x210d" name="RB_BIN_OFFSET" type="adreno_reg_xy"/> 1121bf215546Sopenharmony_ci <array offset="0x2120" name="RB_VPORT_Z_CLAMP" stride="2" length="16"> 1122bf215546Sopenharmony_ci <reg32 offset="0x0" name="MIN"/> 1123bf215546Sopenharmony_ci <reg32 offset="0x1" name="MAX"/> 1124bf215546Sopenharmony_ci </array> 1125bf215546Sopenharmony_ci 1126bf215546Sopenharmony_ci <!-- RBBM registers --> 1127bf215546Sopenharmony_ci <reg32 offset="0x0000" name="RBBM_HW_VERSION"/> 1128bf215546Sopenharmony_ci <reg32 offset="0x0002" name="RBBM_HW_CONFIGURATION"/> 1129bf215546Sopenharmony_ci <array offset="0x4" name="RBBM_CLOCK_CTL_TP" stride="1" length="4"> 1130bf215546Sopenharmony_ci <reg32 offset="0x0" name="REG"/> 1131bf215546Sopenharmony_ci </array> 1132bf215546Sopenharmony_ci <array offset="0x8" name="RBBM_CLOCK_CTL2_TP" stride="1" length="4"> 1133bf215546Sopenharmony_ci <reg32 offset="0x0" name="REG"/> 1134bf215546Sopenharmony_ci </array> 1135bf215546Sopenharmony_ci <array offset="0xc" name="RBBM_CLOCK_HYST_TP" stride="1" length="4"> 1136bf215546Sopenharmony_ci <reg32 offset="0x0" name="REG"/> 1137bf215546Sopenharmony_ci </array> 1138bf215546Sopenharmony_ci <array offset="0x10" name="RBBM_CLOCK_DELAY_TP" stride="1" length="4"> 1139bf215546Sopenharmony_ci <reg32 offset="0x0" name="REG"/> 1140bf215546Sopenharmony_ci </array> 1141bf215546Sopenharmony_ci <reg32 offset="0x0014" name="RBBM_CLOCK_CTL_UCHE "/> 1142bf215546Sopenharmony_ci <reg32 offset="0x0015" name="RBBM_CLOCK_CTL2_UCHE"/> 1143bf215546Sopenharmony_ci <reg32 offset="0x0016" name="RBBM_CLOCK_CTL3_UCHE"/> 1144bf215546Sopenharmony_ci <reg32 offset="0x0017" name="RBBM_CLOCK_CTL4_UCHE"/> 1145bf215546Sopenharmony_ci <reg32 offset="0x0018" name="RBBM_CLOCK_HYST_UCHE"/> 1146bf215546Sopenharmony_ci <reg32 offset="0x0019" name="RBBM_CLOCK_DELAY_UCHE"/> 1147bf215546Sopenharmony_ci <reg32 offset="0x001a" name="RBBM_CLOCK_MODE_GPC"/> 1148bf215546Sopenharmony_ci <reg32 offset="0x001b" name="RBBM_CLOCK_DELAY_GPC"/> 1149bf215546Sopenharmony_ci <reg32 offset="0x001c" name="RBBM_CLOCK_HYST_GPC"/> 1150bf215546Sopenharmony_ci <reg32 offset="0x001d" name="RBBM_CLOCK_CTL_TSE_RAS_RBBM"/> 1151bf215546Sopenharmony_ci <reg32 offset="0x001e" name="RBBM_CLOCK_HYST_TSE_RAS_RBBM"/> 1152bf215546Sopenharmony_ci <reg32 offset="0x001f" name="RBBM_CLOCK_DELAY_TSE_RAS_RBBM"/> 1153bf215546Sopenharmony_ci <reg32 offset="0x0020" name="RBBM_CLOCK_CTL"/> 1154bf215546Sopenharmony_ci <reg32 offset="0x0021" name="RBBM_SP_HYST_CNT"/> 1155bf215546Sopenharmony_ci <reg32 offset="0x0022" name="RBBM_SW_RESET_CMD"/> 1156bf215546Sopenharmony_ci <reg32 offset="0x0023" name="RBBM_AHB_CTL0"/> 1157bf215546Sopenharmony_ci <reg32 offset="0x0024" name="RBBM_AHB_CTL1"/> 1158bf215546Sopenharmony_ci <reg32 offset="0x0025" name="RBBM_AHB_CMD"/> 1159bf215546Sopenharmony_ci <reg32 offset="0x0026" name="RBBM_RB_SUB_BLOCK_SEL_CTL"/> 1160bf215546Sopenharmony_ci <reg32 offset="0x0028" name="RBBM_RAM_ACC_63_32"/> 1161bf215546Sopenharmony_ci <reg32 offset="0x002b" name="RBBM_WAIT_IDLE_CLOCKS_CTL"/> 1162bf215546Sopenharmony_ci <reg32 offset="0x002f" name="RBBM_INTERFACE_HANG_INT_CTL"/> 1163bf215546Sopenharmony_ci <reg32 offset="0x0034" name="RBBM_INTERFACE_HANG_MASK_CTL4"/> 1164bf215546Sopenharmony_ci <reg32 offset="0x0036" name="RBBM_INT_CLEAR_CMD"/> 1165bf215546Sopenharmony_ci <reg32 offset="0x0037" name="RBBM_INT_0_MASK"/> 1166bf215546Sopenharmony_ci <reg32 offset="0x003e" name="RBBM_RBBM_CTL"/> 1167bf215546Sopenharmony_ci <reg32 offset="0x003f" name="RBBM_AHB_DEBUG_CTL"/> 1168bf215546Sopenharmony_ci <reg32 offset="0x0041" name="RBBM_VBIF_DEBUG_CTL"/> 1169bf215546Sopenharmony_ci <reg32 offset="0x0042" name="RBBM_CLOCK_CTL2"/> 1170bf215546Sopenharmony_ci <reg32 offset="0x0045" name="RBBM_BLOCK_SW_RESET_CMD"/> 1171bf215546Sopenharmony_ci <reg32 offset="0x0047" name="RBBM_RESET_CYCLES"/> 1172bf215546Sopenharmony_ci <reg32 offset="0x0049" name="RBBM_EXT_TRACE_BUS_CTL"/> 1173bf215546Sopenharmony_ci <reg32 offset="0x004a" name="RBBM_CFG_DEBBUS_SEL_A"/> 1174bf215546Sopenharmony_ci <reg32 offset="0x004b" name="RBBM_CFG_DEBBUS_SEL_B"/> 1175bf215546Sopenharmony_ci <reg32 offset="0x004c" name="RBBM_CFG_DEBBUS_SEL_C"/> 1176bf215546Sopenharmony_ci <reg32 offset="0x004d" name="RBBM_CFG_DEBBUS_SEL_D"/> 1177bf215546Sopenharmony_ci <reg32 offset="0x0098" name="RBBM_POWER_CNTL_IP"> 1178bf215546Sopenharmony_ci <bitfield name="SW_COLLAPSE" pos="0" type="boolean"/> 1179bf215546Sopenharmony_ci <bitfield name="SP_TP_PWR_ON" pos="20" type="boolean"/> 1180bf215546Sopenharmony_ci </reg32> 1181bf215546Sopenharmony_ci <reg32 offset="0x009c" name="RBBM_PERFCTR_CP_0_LO"/> 1182bf215546Sopenharmony_ci <reg32 offset="0x009d" name="RBBM_PERFCTR_CP_0_HI"/> 1183bf215546Sopenharmony_ci <reg32 offset="0x009e" name="RBBM_PERFCTR_CP_1_LO"/> 1184bf215546Sopenharmony_ci <reg32 offset="0x009f" name="RBBM_PERFCTR_CP_1_HI"/> 1185bf215546Sopenharmony_ci <reg32 offset="0x00a0" name="RBBM_PERFCTR_CP_2_LO"/> 1186bf215546Sopenharmony_ci <reg32 offset="0x00a1" name="RBBM_PERFCTR_CP_2_HI"/> 1187bf215546Sopenharmony_ci <reg32 offset="0x00a2" name="RBBM_PERFCTR_CP_3_LO"/> 1188bf215546Sopenharmony_ci <reg32 offset="0x00a3" name="RBBM_PERFCTR_CP_3_HI"/> 1189bf215546Sopenharmony_ci <reg32 offset="0x00a4" name="RBBM_PERFCTR_CP_4_LO"/> 1190bf215546Sopenharmony_ci <reg32 offset="0x00a5" name="RBBM_PERFCTR_CP_4_HI"/> 1191bf215546Sopenharmony_ci <reg32 offset="0x00a6" name="RBBM_PERFCTR_CP_5_LO"/> 1192bf215546Sopenharmony_ci <reg32 offset="0x00a7" name="RBBM_PERFCTR_CP_5_HI"/> 1193bf215546Sopenharmony_ci <reg32 offset="0x00a8" name="RBBM_PERFCTR_CP_6_LO"/> 1194bf215546Sopenharmony_ci <reg32 offset="0x00a9" name="RBBM_PERFCTR_CP_6_HI"/> 1195bf215546Sopenharmony_ci <reg32 offset="0x00aa" name="RBBM_PERFCTR_CP_7_LO"/> 1196bf215546Sopenharmony_ci <reg32 offset="0x00ab" name="RBBM_PERFCTR_CP_7_HI"/> 1197bf215546Sopenharmony_ci <reg32 offset="0x00ac" name="RBBM_PERFCTR_RBBM_0_LO"/> 1198bf215546Sopenharmony_ci <reg32 offset="0x00ad" name="RBBM_PERFCTR_RBBM_0_HI"/> 1199bf215546Sopenharmony_ci <reg32 offset="0x00ae" name="RBBM_PERFCTR_RBBM_1_LO"/> 1200bf215546Sopenharmony_ci <reg32 offset="0x00af" name="RBBM_PERFCTR_RBBM_1_HI"/> 1201bf215546Sopenharmony_ci <reg32 offset="0x00b0" name="RBBM_PERFCTR_RBBM_2_LO"/> 1202bf215546Sopenharmony_ci <reg32 offset="0x00b1" name="RBBM_PERFCTR_RBBM_2_HI"/> 1203bf215546Sopenharmony_ci <reg32 offset="0x00b2" name="RBBM_PERFCTR_RBBM_3_LO"/> 1204bf215546Sopenharmony_ci <reg32 offset="0x00b3" name="RBBM_PERFCTR_RBBM_3_HI"/> 1205bf215546Sopenharmony_ci <reg32 offset="0x00b4" name="RBBM_PERFCTR_PC_0_LO"/> 1206bf215546Sopenharmony_ci <reg32 offset="0x00b5" name="RBBM_PERFCTR_PC_0_HI"/> 1207bf215546Sopenharmony_ci <reg32 offset="0x00b6" name="RBBM_PERFCTR_PC_1_LO"/> 1208bf215546Sopenharmony_ci <reg32 offset="0x00b7" name="RBBM_PERFCTR_PC_1_HI"/> 1209bf215546Sopenharmony_ci <reg32 offset="0x00b8" name="RBBM_PERFCTR_PC_2_LO"/> 1210bf215546Sopenharmony_ci <reg32 offset="0x00b9" name="RBBM_PERFCTR_PC_2_HI"/> 1211bf215546Sopenharmony_ci <reg32 offset="0x00ba" name="RBBM_PERFCTR_PC_3_LO"/> 1212bf215546Sopenharmony_ci <reg32 offset="0x00bb" name="RBBM_PERFCTR_PC_3_HI"/> 1213bf215546Sopenharmony_ci <reg32 offset="0x00bc" name="RBBM_PERFCTR_PC_4_LO"/> 1214bf215546Sopenharmony_ci <reg32 offset="0x00bd" name="RBBM_PERFCTR_PC_4_HI"/> 1215bf215546Sopenharmony_ci <reg32 offset="0x00be" name="RBBM_PERFCTR_PC_5_LO"/> 1216bf215546Sopenharmony_ci <reg32 offset="0x00bf" name="RBBM_PERFCTR_PC_5_HI"/> 1217bf215546Sopenharmony_ci <reg32 offset="0x00c0" name="RBBM_PERFCTR_PC_6_LO"/> 1218bf215546Sopenharmony_ci <reg32 offset="0x00c1" name="RBBM_PERFCTR_PC_6_HI"/> 1219bf215546Sopenharmony_ci <reg32 offset="0x00c2" name="RBBM_PERFCTR_PC_7_LO"/> 1220bf215546Sopenharmony_ci <reg32 offset="0x00c3" name="RBBM_PERFCTR_PC_7_HI"/> 1221bf215546Sopenharmony_ci <reg32 offset="0x00c4" name="RBBM_PERFCTR_VFD_0_LO"/> 1222bf215546Sopenharmony_ci <reg32 offset="0x00c5" name="RBBM_PERFCTR_VFD_0_HI"/> 1223bf215546Sopenharmony_ci <reg32 offset="0x00c6" name="RBBM_PERFCTR_VFD_1_LO"/> 1224bf215546Sopenharmony_ci <reg32 offset="0x00c7" name="RBBM_PERFCTR_VFD_1_HI"/> 1225bf215546Sopenharmony_ci <reg32 offset="0x00c8" name="RBBM_PERFCTR_VFD_2_LO"/> 1226bf215546Sopenharmony_ci <reg32 offset="0x00c9" name="RBBM_PERFCTR_VFD_2_HI"/> 1227bf215546Sopenharmony_ci <reg32 offset="0x00ca" name="RBBM_PERFCTR_VFD_3_LO"/> 1228bf215546Sopenharmony_ci <reg32 offset="0x00cb" name="RBBM_PERFCTR_VFD_3_HI"/> 1229bf215546Sopenharmony_ci <reg32 offset="0x00cc" name="RBBM_PERFCTR_VFD_4_LO"/> 1230bf215546Sopenharmony_ci <reg32 offset="0x00cd" name="RBBM_PERFCTR_VFD_4_HI"/> 1231bf215546Sopenharmony_ci <reg32 offset="0x00ce" name="RBBM_PERFCTR_VFD_5_LO"/> 1232bf215546Sopenharmony_ci <reg32 offset="0x00cf" name="RBBM_PERFCTR_VFD_5_HI"/> 1233bf215546Sopenharmony_ci <reg32 offset="0x00d0" name="RBBM_PERFCTR_VFD_6_LO"/> 1234bf215546Sopenharmony_ci <reg32 offset="0x00d1" name="RBBM_PERFCTR_VFD_6_HI"/> 1235bf215546Sopenharmony_ci <reg32 offset="0x00d2" name="RBBM_PERFCTR_VFD_7_LO"/> 1236bf215546Sopenharmony_ci <reg32 offset="0x00d3" name="RBBM_PERFCTR_VFD_7_HI"/> 1237bf215546Sopenharmony_ci <reg32 offset="0x00d4" name="RBBM_PERFCTR_HLSQ_0_LO"/> 1238bf215546Sopenharmony_ci <reg32 offset="0x00d5" name="RBBM_PERFCTR_HLSQ_0_HI"/> 1239bf215546Sopenharmony_ci <reg32 offset="0x00d6" name="RBBM_PERFCTR_HLSQ_1_LO"/> 1240bf215546Sopenharmony_ci <reg32 offset="0x00d7" name="RBBM_PERFCTR_HLSQ_1_HI"/> 1241bf215546Sopenharmony_ci <reg32 offset="0x00d8" name="RBBM_PERFCTR_HLSQ_2_LO"/> 1242bf215546Sopenharmony_ci <reg32 offset="0x00d9" name="RBBM_PERFCTR_HLSQ_2_HI"/> 1243bf215546Sopenharmony_ci <reg32 offset="0x00da" name="RBBM_PERFCTR_HLSQ_3_LO"/> 1244bf215546Sopenharmony_ci <reg32 offset="0x00db" name="RBBM_PERFCTR_HLSQ_3_HI"/> 1245bf215546Sopenharmony_ci <reg32 offset="0x00dc" name="RBBM_PERFCTR_HLSQ_4_LO"/> 1246bf215546Sopenharmony_ci <reg32 offset="0x00dd" name="RBBM_PERFCTR_HLSQ_4_HI"/> 1247bf215546Sopenharmony_ci <reg32 offset="0x00de" name="RBBM_PERFCTR_HLSQ_5_LO"/> 1248bf215546Sopenharmony_ci <reg32 offset="0x00df" name="RBBM_PERFCTR_HLSQ_5_HI"/> 1249bf215546Sopenharmony_ci <reg32 offset="0x00e0" name="RBBM_PERFCTR_HLSQ_6_LO"/> 1250bf215546Sopenharmony_ci <reg32 offset="0x00e1" name="RBBM_PERFCTR_HLSQ_6_HI"/> 1251bf215546Sopenharmony_ci <reg32 offset="0x00e2" name="RBBM_PERFCTR_HLSQ_7_LO"/> 1252bf215546Sopenharmony_ci <reg32 offset="0x00e3" name="RBBM_PERFCTR_HLSQ_7_HI"/> 1253bf215546Sopenharmony_ci <reg32 offset="0x00e4" name="RBBM_PERFCTR_VPC_0_LO"/> 1254bf215546Sopenharmony_ci <reg32 offset="0x00e5" name="RBBM_PERFCTR_VPC_0_HI"/> 1255bf215546Sopenharmony_ci <reg32 offset="0x00e6" name="RBBM_PERFCTR_VPC_1_LO"/> 1256bf215546Sopenharmony_ci <reg32 offset="0x00e7" name="RBBM_PERFCTR_VPC_1_HI"/> 1257bf215546Sopenharmony_ci <reg32 offset="0x00e8" name="RBBM_PERFCTR_VPC_2_LO"/> 1258bf215546Sopenharmony_ci <reg32 offset="0x00e9" name="RBBM_PERFCTR_VPC_2_HI"/> 1259bf215546Sopenharmony_ci <reg32 offset="0x00ea" name="RBBM_PERFCTR_VPC_3_LO"/> 1260bf215546Sopenharmony_ci <reg32 offset="0x00eb" name="RBBM_PERFCTR_VPC_3_HI"/> 1261bf215546Sopenharmony_ci <reg32 offset="0x00ec" name="RBBM_PERFCTR_CCU_0_LO"/> 1262bf215546Sopenharmony_ci <reg32 offset="0x00ed" name="RBBM_PERFCTR_CCU_0_HI"/> 1263bf215546Sopenharmony_ci <reg32 offset="0x00ee" name="RBBM_PERFCTR_CCU_1_LO"/> 1264bf215546Sopenharmony_ci <reg32 offset="0x00ef" name="RBBM_PERFCTR_CCU_1_HI"/> 1265bf215546Sopenharmony_ci <reg32 offset="0x00f0" name="RBBM_PERFCTR_CCU_2_LO"/> 1266bf215546Sopenharmony_ci <reg32 offset="0x00f1" name="RBBM_PERFCTR_CCU_2_HI"/> 1267bf215546Sopenharmony_ci <reg32 offset="0x00f2" name="RBBM_PERFCTR_CCU_3_LO"/> 1268bf215546Sopenharmony_ci <reg32 offset="0x00f3" name="RBBM_PERFCTR_CCU_3_HI"/> 1269bf215546Sopenharmony_ci <reg32 offset="0x00f4" name="RBBM_PERFCTR_TSE_0_LO"/> 1270bf215546Sopenharmony_ci <reg32 offset="0x00f5" name="RBBM_PERFCTR_TSE_0_HI"/> 1271bf215546Sopenharmony_ci <reg32 offset="0x00f6" name="RBBM_PERFCTR_TSE_1_LO"/> 1272bf215546Sopenharmony_ci <reg32 offset="0x00f7" name="RBBM_PERFCTR_TSE_1_HI"/> 1273bf215546Sopenharmony_ci <reg32 offset="0x00f8" name="RBBM_PERFCTR_TSE_2_LO"/> 1274bf215546Sopenharmony_ci <reg32 offset="0x00f9" name="RBBM_PERFCTR_TSE_2_HI"/> 1275bf215546Sopenharmony_ci <reg32 offset="0x00fa" name="RBBM_PERFCTR_TSE_3_LO"/> 1276bf215546Sopenharmony_ci <reg32 offset="0x00fb" name="RBBM_PERFCTR_TSE_3_HI"/> 1277bf215546Sopenharmony_ci <reg32 offset="0x00fc" name="RBBM_PERFCTR_RAS_0_LO"/> 1278bf215546Sopenharmony_ci <reg32 offset="0x00fd" name="RBBM_PERFCTR_RAS_0_HI"/> 1279bf215546Sopenharmony_ci <reg32 offset="0x00fe" name="RBBM_PERFCTR_RAS_1_LO"/> 1280bf215546Sopenharmony_ci <reg32 offset="0x00ff" name="RBBM_PERFCTR_RAS_1_HI"/> 1281bf215546Sopenharmony_ci <reg32 offset="0x0100" name="RBBM_PERFCTR_RAS_2_LO"/> 1282bf215546Sopenharmony_ci <reg32 offset="0x0101" name="RBBM_PERFCTR_RAS_2_HI"/> 1283bf215546Sopenharmony_ci <reg32 offset="0x0102" name="RBBM_PERFCTR_RAS_3_LO"/> 1284bf215546Sopenharmony_ci <reg32 offset="0x0103" name="RBBM_PERFCTR_RAS_3_HI"/> 1285bf215546Sopenharmony_ci <reg32 offset="0x0104" name="RBBM_PERFCTR_UCHE_0_LO"/> 1286bf215546Sopenharmony_ci <reg32 offset="0x0105" name="RBBM_PERFCTR_UCHE_0_HI"/> 1287bf215546Sopenharmony_ci <reg32 offset="0x0106" name="RBBM_PERFCTR_UCHE_1_LO"/> 1288bf215546Sopenharmony_ci <reg32 offset="0x0107" name="RBBM_PERFCTR_UCHE_1_HI"/> 1289bf215546Sopenharmony_ci <reg32 offset="0x0108" name="RBBM_PERFCTR_UCHE_2_LO"/> 1290bf215546Sopenharmony_ci <reg32 offset="0x0109" name="RBBM_PERFCTR_UCHE_2_HI"/> 1291bf215546Sopenharmony_ci <reg32 offset="0x010a" name="RBBM_PERFCTR_UCHE_3_LO"/> 1292bf215546Sopenharmony_ci <reg32 offset="0x010b" name="RBBM_PERFCTR_UCHE_3_HI"/> 1293bf215546Sopenharmony_ci <reg32 offset="0x010c" name="RBBM_PERFCTR_UCHE_4_LO"/> 1294bf215546Sopenharmony_ci <reg32 offset="0x010d" name="RBBM_PERFCTR_UCHE_4_HI"/> 1295bf215546Sopenharmony_ci <reg32 offset="0x010e" name="RBBM_PERFCTR_UCHE_5_LO"/> 1296bf215546Sopenharmony_ci <reg32 offset="0x010f" name="RBBM_PERFCTR_UCHE_5_HI"/> 1297bf215546Sopenharmony_ci <reg32 offset="0x0110" name="RBBM_PERFCTR_UCHE_6_LO"/> 1298bf215546Sopenharmony_ci <reg32 offset="0x0111" name="RBBM_PERFCTR_UCHE_6_HI"/> 1299bf215546Sopenharmony_ci <reg32 offset="0x0112" name="RBBM_PERFCTR_UCHE_7_LO"/> 1300bf215546Sopenharmony_ci <reg32 offset="0x0113" name="RBBM_PERFCTR_UCHE_7_HI"/> 1301bf215546Sopenharmony_ci <reg32 offset="0x0114" name="RBBM_PERFCTR_TP_0_LO"/> 1302bf215546Sopenharmony_ci <reg32 offset="0x0115" name="RBBM_PERFCTR_TP_0_HI"/> 1303bf215546Sopenharmony_ci <reg32 offset="0x0116" name="RBBM_PERFCTR_TP_1_LO"/> 1304bf215546Sopenharmony_ci <reg32 offset="0x0117" name="RBBM_PERFCTR_TP_1_HI"/> 1305bf215546Sopenharmony_ci <reg32 offset="0x0118" name="RBBM_PERFCTR_TP_2_LO"/> 1306bf215546Sopenharmony_ci <reg32 offset="0x0119" name="RBBM_PERFCTR_TP_2_HI"/> 1307bf215546Sopenharmony_ci <reg32 offset="0x011a" name="RBBM_PERFCTR_TP_3_LO"/> 1308bf215546Sopenharmony_ci <reg32 offset="0x011b" name="RBBM_PERFCTR_TP_3_HI"/> 1309bf215546Sopenharmony_ci <reg32 offset="0x011c" name="RBBM_PERFCTR_TP_4_LO"/> 1310bf215546Sopenharmony_ci <reg32 offset="0x011d" name="RBBM_PERFCTR_TP_4_HI"/> 1311bf215546Sopenharmony_ci <reg32 offset="0x011e" name="RBBM_PERFCTR_TP_5_LO"/> 1312bf215546Sopenharmony_ci <reg32 offset="0x011f" name="RBBM_PERFCTR_TP_5_HI"/> 1313bf215546Sopenharmony_ci <reg32 offset="0x0120" name="RBBM_PERFCTR_TP_6_LO"/> 1314bf215546Sopenharmony_ci <reg32 offset="0x0121" name="RBBM_PERFCTR_TP_6_HI"/> 1315bf215546Sopenharmony_ci <reg32 offset="0x0122" name="RBBM_PERFCTR_TP_7_LO"/> 1316bf215546Sopenharmony_ci <reg32 offset="0x0123" name="RBBM_PERFCTR_TP_7_HI"/> 1317bf215546Sopenharmony_ci <reg32 offset="0x0124" name="RBBM_PERFCTR_SP_0_LO"/> 1318bf215546Sopenharmony_ci <reg32 offset="0x0125" name="RBBM_PERFCTR_SP_0_HI"/> 1319bf215546Sopenharmony_ci <reg32 offset="0x0126" name="RBBM_PERFCTR_SP_1_LO"/> 1320bf215546Sopenharmony_ci <reg32 offset="0x0127" name="RBBM_PERFCTR_SP_1_HI"/> 1321bf215546Sopenharmony_ci <reg32 offset="0x0128" name="RBBM_PERFCTR_SP_2_LO"/> 1322bf215546Sopenharmony_ci <reg32 offset="0x0129" name="RBBM_PERFCTR_SP_2_HI"/> 1323bf215546Sopenharmony_ci <reg32 offset="0x012a" name="RBBM_PERFCTR_SP_3_LO"/> 1324bf215546Sopenharmony_ci <reg32 offset="0x012b" name="RBBM_PERFCTR_SP_3_HI"/> 1325bf215546Sopenharmony_ci <reg32 offset="0x012c" name="RBBM_PERFCTR_SP_4_LO"/> 1326bf215546Sopenharmony_ci <reg32 offset="0x012d" name="RBBM_PERFCTR_SP_4_HI"/> 1327bf215546Sopenharmony_ci <reg32 offset="0x012e" name="RBBM_PERFCTR_SP_5_LO"/> 1328bf215546Sopenharmony_ci <reg32 offset="0x012f" name="RBBM_PERFCTR_SP_5_HI"/> 1329bf215546Sopenharmony_ci <reg32 offset="0x0130" name="RBBM_PERFCTR_SP_6_LO"/> 1330bf215546Sopenharmony_ci <reg32 offset="0x0131" name="RBBM_PERFCTR_SP_6_HI"/> 1331bf215546Sopenharmony_ci <reg32 offset="0x0132" name="RBBM_PERFCTR_SP_7_LO"/> 1332bf215546Sopenharmony_ci <reg32 offset="0x0133" name="RBBM_PERFCTR_SP_7_HI"/> 1333bf215546Sopenharmony_ci <reg32 offset="0x0134" name="RBBM_PERFCTR_SP_8_LO"/> 1334bf215546Sopenharmony_ci <reg32 offset="0x0135" name="RBBM_PERFCTR_SP_8_HI"/> 1335bf215546Sopenharmony_ci <reg32 offset="0x0136" name="RBBM_PERFCTR_SP_9_LO"/> 1336bf215546Sopenharmony_ci <reg32 offset="0x0137" name="RBBM_PERFCTR_SP_9_HI"/> 1337bf215546Sopenharmony_ci <reg32 offset="0x0138" name="RBBM_PERFCTR_SP_10_LO"/> 1338bf215546Sopenharmony_ci <reg32 offset="0x0139" name="RBBM_PERFCTR_SP_10_HI"/> 1339bf215546Sopenharmony_ci <reg32 offset="0x013a" name="RBBM_PERFCTR_SP_11_LO"/> 1340bf215546Sopenharmony_ci <reg32 offset="0x013b" name="RBBM_PERFCTR_SP_11_HI"/> 1341bf215546Sopenharmony_ci <reg32 offset="0x013c" name="RBBM_PERFCTR_RB_0_LO"/> 1342bf215546Sopenharmony_ci <reg32 offset="0x013d" name="RBBM_PERFCTR_RB_0_HI"/> 1343bf215546Sopenharmony_ci <reg32 offset="0x013e" name="RBBM_PERFCTR_RB_1_LO"/> 1344bf215546Sopenharmony_ci <reg32 offset="0x013f" name="RBBM_PERFCTR_RB_1_HI"/> 1345bf215546Sopenharmony_ci <reg32 offset="0x0140" name="RBBM_PERFCTR_RB_2_LO"/> 1346bf215546Sopenharmony_ci <reg32 offset="0x0141" name="RBBM_PERFCTR_RB_2_HI"/> 1347bf215546Sopenharmony_ci <reg32 offset="0x0142" name="RBBM_PERFCTR_RB_3_LO"/> 1348bf215546Sopenharmony_ci <reg32 offset="0x0143" name="RBBM_PERFCTR_RB_3_HI"/> 1349bf215546Sopenharmony_ci <reg32 offset="0x0144" name="RBBM_PERFCTR_RB_4_LO"/> 1350bf215546Sopenharmony_ci <reg32 offset="0x0145" name="RBBM_PERFCTR_RB_4_HI"/> 1351bf215546Sopenharmony_ci <reg32 offset="0x0146" name="RBBM_PERFCTR_RB_5_LO"/> 1352bf215546Sopenharmony_ci <reg32 offset="0x0147" name="RBBM_PERFCTR_RB_5_HI"/> 1353bf215546Sopenharmony_ci <reg32 offset="0x0148" name="RBBM_PERFCTR_RB_6_LO"/> 1354bf215546Sopenharmony_ci <reg32 offset="0x0149" name="RBBM_PERFCTR_RB_6_HI"/> 1355bf215546Sopenharmony_ci <reg32 offset="0x014a" name="RBBM_PERFCTR_RB_7_LO"/> 1356bf215546Sopenharmony_ci <reg32 offset="0x014b" name="RBBM_PERFCTR_RB_7_HI"/> 1357bf215546Sopenharmony_ci <reg32 offset="0x014c" name="RBBM_PERFCTR_VSC_0_LO"/> 1358bf215546Sopenharmony_ci <reg32 offset="0x014d" name="RBBM_PERFCTR_VSC_0_HI"/> 1359bf215546Sopenharmony_ci <reg32 offset="0x014e" name="RBBM_PERFCTR_VSC_1_LO"/> 1360bf215546Sopenharmony_ci <reg32 offset="0x014f" name="RBBM_PERFCTR_VSC_1_HI"/> 1361bf215546Sopenharmony_ci <reg32 offset="0x0166" name="RBBM_PERFCTR_PWR_0_LO"/> 1362bf215546Sopenharmony_ci <reg32 offset="0x0167" name="RBBM_PERFCTR_PWR_0_HI"/> 1363bf215546Sopenharmony_ci <reg32 offset="0x0168" name="RBBM_PERFCTR_PWR_1_LO"/> 1364bf215546Sopenharmony_ci <reg32 offset="0x0169" name="RBBM_PERFCTR_PWR_1_HI"/> 1365bf215546Sopenharmony_ci <reg32 offset="0x016e" name="RBBM_ALWAYSON_COUNTER_LO"/> 1366bf215546Sopenharmony_ci <reg32 offset="0x016f" name="RBBM_ALWAYSON_COUNTER_HI"/> 1367bf215546Sopenharmony_ci <array offset="0x0068" name="RBBM_CLOCK_CTL_SP" stride="1" length="4"> 1368bf215546Sopenharmony_ci <reg32 offset="0x0" name="REG"/> 1369bf215546Sopenharmony_ci </array> 1370bf215546Sopenharmony_ci <array offset="0x006c" name="RBBM_CLOCK_CTL2_SP" stride="1" length="4"> 1371bf215546Sopenharmony_ci <reg32 offset="0x0" name="REG"/> 1372bf215546Sopenharmony_ci </array> 1373bf215546Sopenharmony_ci <array offset="0x0070" name="RBBM_CLOCK_HYST_SP" stride="1" length="4"> 1374bf215546Sopenharmony_ci <reg32 offset="0x0" name="REG"/> 1375bf215546Sopenharmony_ci </array> 1376bf215546Sopenharmony_ci <array offset="0x0074" name="RBBM_CLOCK_DELAY_SP" stride="1" length="4"> 1377bf215546Sopenharmony_ci <reg32 offset="0x0" name="REG"/> 1378bf215546Sopenharmony_ci </array> 1379bf215546Sopenharmony_ci <array offset="0x0078" name="RBBM_CLOCK_CTL_RB" stride="1" length="4"> 1380bf215546Sopenharmony_ci <reg32 offset="0x0" name="REG"/> 1381bf215546Sopenharmony_ci </array> 1382bf215546Sopenharmony_ci <array offset="0x007c" name="RBBM_CLOCK_CTL2_RB" stride="1" length="4"> 1383bf215546Sopenharmony_ci <reg32 offset="0x0" name="REG"/> 1384bf215546Sopenharmony_ci </array> 1385bf215546Sopenharmony_ci <array offset="0x0082" name="RBBM_CLOCK_CTL_MARB_CCU" stride="1" length="4"> 1386bf215546Sopenharmony_ci <reg32 offset="0x0" name="REG"/> 1387bf215546Sopenharmony_ci </array> 1388bf215546Sopenharmony_ci <array offset="0x0086" name="RBBM_CLOCK_HYST_RB_MARB_CCU" stride="1" length="4"> 1389bf215546Sopenharmony_ci <reg32 offset="0x0" name="REG"/> 1390bf215546Sopenharmony_ci </array> 1391bf215546Sopenharmony_ci <reg32 offset="0x0080" name="RBBM_CLOCK_HYST_COM_DCOM"/> 1392bf215546Sopenharmony_ci <reg32 offset="0x0081" name="RBBM_CLOCK_CTL_COM_DCOM"/> 1393bf215546Sopenharmony_ci <reg32 offset="0x008a" name="RBBM_CLOCK_CTL_HLSQ"/> 1394bf215546Sopenharmony_ci <reg32 offset="0x008b" name="RBBM_CLOCK_HYST_HLSQ"/> 1395bf215546Sopenharmony_ci <reg32 offset="0x008c" name="RBBM_CLOCK_DELAY_HLSQ"/> 1396bf215546Sopenharmony_ci <bitset name="A4XX_CGC_HLSQ"> 1397bf215546Sopenharmony_ci <bitfield name="EARLY_CYC" low="20" high="22" type="uint"/> 1398bf215546Sopenharmony_ci </bitset> 1399bf215546Sopenharmony_ci <reg32 offset="0x008d" name="RBBM_CLOCK_DELAY_COM_DCOM"/> 1400bf215546Sopenharmony_ci <array offset="0x008e" name="RBBM_CLOCK_DELAY_RB_MARB_CCU_L1" stride="1" length="4"> 1401bf215546Sopenharmony_ci <reg32 offset="0x0" name="REG"/> 1402bf215546Sopenharmony_ci </array> 1403bf215546Sopenharmony_ci <bitset name="A4XX_INT0"> 1404bf215546Sopenharmony_ci <bitfield name="RBBM_GPU_IDLE" pos="0" type="boolean"/> 1405bf215546Sopenharmony_ci <bitfield name="RBBM_AHB_ERROR" pos="1" type="boolean"/> 1406bf215546Sopenharmony_ci <bitfield name="RBBM_REG_TIMEOUT" pos="2" type="boolean"/> 1407bf215546Sopenharmony_ci <bitfield name="RBBM_ME_MS_TIMEOUT" pos="3" type="boolean"/> 1408bf215546Sopenharmony_ci <bitfield name="RBBM_PFP_MS_TIMEOUT" pos="4" type="boolean"/> 1409bf215546Sopenharmony_ci <bitfield name="RBBM_ATB_BUS_OVERFLOW" pos="5" type="boolean"/> 1410bf215546Sopenharmony_ci <bitfield name="VFD_ERROR" pos="6" type="boolean"/> 1411bf215546Sopenharmony_ci <bitfield name="CP_SW_INT" pos="7" type="boolean"/> 1412bf215546Sopenharmony_ci <bitfield name="CP_T0_PACKET_IN_IB" pos="8" type="boolean"/> 1413bf215546Sopenharmony_ci <bitfield name="CP_OPCODE_ERROR" pos="9" type="boolean"/> 1414bf215546Sopenharmony_ci <bitfield name="CP_RESERVED_BIT_ERROR" pos="10" type="boolean"/> 1415bf215546Sopenharmony_ci <bitfield name="CP_HW_FAULT" pos="11" type="boolean"/> 1416bf215546Sopenharmony_ci <bitfield name="CP_DMA" pos="12" type="boolean"/> 1417bf215546Sopenharmony_ci <bitfield name="CP_IB2_INT" pos="13" type="boolean"/> 1418bf215546Sopenharmony_ci <bitfield name="CP_IB1_INT" pos="14" type="boolean"/> 1419bf215546Sopenharmony_ci <bitfield name="CP_RB_INT" pos="15" type="boolean"/> 1420bf215546Sopenharmony_ci <bitfield name="CP_REG_PROTECT_FAULT" pos="16" type="boolean"/> 1421bf215546Sopenharmony_ci <bitfield name="CP_RB_DONE_TS" pos="17" type="boolean"/> 1422bf215546Sopenharmony_ci <bitfield name="CP_VS_DONE_TS" pos="18" type="boolean"/> 1423bf215546Sopenharmony_ci <bitfield name="CP_PS_DONE_TS" pos="19" type="boolean"/> 1424bf215546Sopenharmony_ci <bitfield name="CACHE_FLUSH_TS" pos="20" type="boolean"/> 1425bf215546Sopenharmony_ci <bitfield name="CP_AHB_ERROR_HALT" pos="21" type="boolean"/> 1426bf215546Sopenharmony_ci <bitfield name="MISC_HANG_DETECT" pos="24" type="boolean"/> 1427bf215546Sopenharmony_ci <bitfield name="UCHE_OOB_ACCESS" pos="25" type="boolean"/> 1428bf215546Sopenharmony_ci </bitset> 1429bf215546Sopenharmony_ci 1430bf215546Sopenharmony_ci <reg32 offset="0x0099" name="RBBM_SP_REGFILE_SLEEP_CNTL_0"/> 1431bf215546Sopenharmony_ci <reg32 offset="0x009a" name="RBBM_SP_REGFILE_SLEEP_CNTL_1"/> 1432bf215546Sopenharmony_ci <reg32 offset="0x0170" name="RBBM_PERFCTR_CTL"/> 1433bf215546Sopenharmony_ci <reg32 offset="0x0171" name="RBBM_PERFCTR_LOAD_CMD0"/> 1434bf215546Sopenharmony_ci <reg32 offset="0x0172" name="RBBM_PERFCTR_LOAD_CMD1"/> 1435bf215546Sopenharmony_ci <reg32 offset="0x0173" name="RBBM_PERFCTR_LOAD_CMD2"/> 1436bf215546Sopenharmony_ci <reg32 offset="0x0174" name="RBBM_PERFCTR_LOAD_VALUE_LO"/> 1437bf215546Sopenharmony_ci <reg32 offset="0x0175" name="RBBM_PERFCTR_LOAD_VALUE_HI"/> 1438bf215546Sopenharmony_ci <reg32 offset="0x0176" name="RBBM_PERFCTR_RBBM_SEL_0" type="a4xx_rbbm_perfcounter_select"/> 1439bf215546Sopenharmony_ci <reg32 offset="0x0177" name="RBBM_PERFCTR_RBBM_SEL_1" type="a4xx_rbbm_perfcounter_select"/> 1440bf215546Sopenharmony_ci <reg32 offset="0x0178" name="RBBM_PERFCTR_RBBM_SEL_2" type="a4xx_rbbm_perfcounter_select"/> 1441bf215546Sopenharmony_ci <reg32 offset="0x0179" name="RBBM_PERFCTR_RBBM_SEL_3" type="a4xx_rbbm_perfcounter_select"/> 1442bf215546Sopenharmony_ci <reg32 offset="0x017a" name="RBBM_GPU_BUSY_MASKED"/> 1443bf215546Sopenharmony_ci <reg32 offset="0x017d" name="RBBM_INT_0_STATUS"/> 1444bf215546Sopenharmony_ci <reg32 offset="0x0182" name="RBBM_CLOCK_STATUS"/> 1445bf215546Sopenharmony_ci <reg32 offset="0x0189" name="RBBM_AHB_STATUS"/> 1446bf215546Sopenharmony_ci <reg32 offset="0x018c" name="RBBM_AHB_ME_SPLIT_STATUS"/> 1447bf215546Sopenharmony_ci <reg32 offset="0x018d" name="RBBM_AHB_PFP_SPLIT_STATUS"/> 1448bf215546Sopenharmony_ci <reg32 offset="0x018f" name="RBBM_AHB_ERROR_STATUS"/> 1449bf215546Sopenharmony_ci <reg32 offset="0x0191" name="RBBM_STATUS"> 1450bf215546Sopenharmony_ci <bitfield name="HI_BUSY" pos="0" type="boolean"/> 1451bf215546Sopenharmony_ci <bitfield name="CP_ME_BUSY" pos="1" type="boolean"/> 1452bf215546Sopenharmony_ci <bitfield name="CP_PFP_BUSY" pos="2" type="boolean"/> 1453bf215546Sopenharmony_ci <bitfield name="CP_NRT_BUSY" pos="14" type="boolean"/> 1454bf215546Sopenharmony_ci <bitfield name="VBIF_BUSY" pos="15" type="boolean"/> 1455bf215546Sopenharmony_ci <bitfield name="TSE_BUSY" pos="16" type="boolean"/> 1456bf215546Sopenharmony_ci <bitfield name="RAS_BUSY" pos="17" type="boolean"/> 1457bf215546Sopenharmony_ci <bitfield name="RB_BUSY" pos="18" type="boolean"/> 1458bf215546Sopenharmony_ci <bitfield name="PC_DCALL_BUSY" pos="19" type="boolean"/> 1459bf215546Sopenharmony_ci <bitfield name="PC_VSD_BUSY" pos="20" type="boolean"/> 1460bf215546Sopenharmony_ci <bitfield name="VFD_BUSY" pos="21" type="boolean"/> 1461bf215546Sopenharmony_ci <bitfield name="VPC_BUSY" pos="22" type="boolean"/> 1462bf215546Sopenharmony_ci <bitfield name="UCHE_BUSY" pos="23" type="boolean"/> 1463bf215546Sopenharmony_ci <bitfield name="SP_BUSY" pos="24" type="boolean"/> 1464bf215546Sopenharmony_ci <bitfield name="TPL1_BUSY" pos="25" type="boolean"/> 1465bf215546Sopenharmony_ci <bitfield name="MARB_BUSY" pos="26" type="boolean"/> 1466bf215546Sopenharmony_ci <bitfield name="VSC_BUSY" pos="27" type="boolean"/> 1467bf215546Sopenharmony_ci <bitfield name="ARB_BUSY" pos="28" type="boolean"/> 1468bf215546Sopenharmony_ci <bitfield name="HLSQ_BUSY" pos="29" type="boolean"/> 1469bf215546Sopenharmony_ci <bitfield name="GPU_BUSY_NOHC" pos="30" type="boolean"/> 1470bf215546Sopenharmony_ci <bitfield name="GPU_BUSY" pos="31" type="boolean"/> 1471bf215546Sopenharmony_ci </reg32> 1472bf215546Sopenharmony_ci <reg32 offset="0x019f" name="RBBM_INTERFACE_RRDY_STATUS5"/> 1473bf215546Sopenharmony_ci <reg32 offset="0x01b0" name="RBBM_POWER_STATUS"> 1474bf215546Sopenharmony_ci <bitfield name="SP_TP_PWR_ON" pos="20" type="boolean"/> 1475bf215546Sopenharmony_ci </reg32> 1476bf215546Sopenharmony_ci <reg32 offset="0x01b8" name="RBBM_WAIT_IDLE_CLOCKS_CTL2"/> 1477bf215546Sopenharmony_ci 1478bf215546Sopenharmony_ci <!-- CP registers --> 1479bf215546Sopenharmony_ci <reg32 offset="0x0228" name="CP_SCRATCH_UMASK"/> 1480bf215546Sopenharmony_ci <reg32 offset="0x0229" name="CP_SCRATCH_ADDR"/> 1481bf215546Sopenharmony_ci <reg32 offset="0x0200" name="CP_RB_BASE"/> 1482bf215546Sopenharmony_ci <reg32 offset="0x0201" name="CP_RB_CNTL"/> 1483bf215546Sopenharmony_ci <reg32 offset="0x0205" name="CP_RB_WPTR"/> 1484bf215546Sopenharmony_ci <reg32 offset="0x0203" name="CP_RB_RPTR_ADDR"/> 1485bf215546Sopenharmony_ci <reg32 offset="0x0204" name="CP_RB_RPTR"/> 1486bf215546Sopenharmony_ci <reg32 offset="0x0206" name="CP_IB1_BASE"/> 1487bf215546Sopenharmony_ci <reg32 offset="0x0207" name="CP_IB1_BUFSZ"/> 1488bf215546Sopenharmony_ci <reg32 offset="0x0208" name="CP_IB2_BASE"/> 1489bf215546Sopenharmony_ci <reg32 offset="0x0209" name="CP_IB2_BUFSZ"/> 1490bf215546Sopenharmony_ci <reg32 offset="0x020c" name="CP_ME_NRT_ADDR"/> 1491bf215546Sopenharmony_ci <reg32 offset="0x020d" name="CP_ME_NRT_DATA"/> 1492bf215546Sopenharmony_ci <reg32 offset="0x0217" name="CP_ME_RB_DONE_DATA"/> 1493bf215546Sopenharmony_ci <reg32 offset="0x0219" name="CP_QUEUE_THRESH2"/> 1494bf215546Sopenharmony_ci <reg32 offset="0x021b" name="CP_MERCIU_SIZE"/> 1495bf215546Sopenharmony_ci <reg32 offset="0x021c" name="CP_ROQ_ADDR"/> 1496bf215546Sopenharmony_ci <reg32 offset="0x021d" name="CP_ROQ_DATA"/> 1497bf215546Sopenharmony_ci <reg32 offset="0x021e" name="CP_MEQ_ADDR"/> 1498bf215546Sopenharmony_ci <reg32 offset="0x021f" name="CP_MEQ_DATA"/> 1499bf215546Sopenharmony_ci <reg32 offset="0x0220" name="CP_MERCIU_ADDR"/> 1500bf215546Sopenharmony_ci <reg32 offset="0x0221" name="CP_MERCIU_DATA"/> 1501bf215546Sopenharmony_ci <reg32 offset="0x0222" name="CP_MERCIU_DATA2"/> 1502bf215546Sopenharmony_ci <reg32 offset="0x0223" name="CP_PFP_UCODE_ADDR"/> 1503bf215546Sopenharmony_ci <reg32 offset="0x0224" name="CP_PFP_UCODE_DATA"/> 1504bf215546Sopenharmony_ci <reg32 offset="0x0225" name="CP_ME_RAM_WADDR"/> 1505bf215546Sopenharmony_ci <reg32 offset="0x0226" name="CP_ME_RAM_RADDR"/> 1506bf215546Sopenharmony_ci <reg32 offset="0x0227" name="CP_ME_RAM_DATA"/> 1507bf215546Sopenharmony_ci <reg32 offset="0x022a" name="CP_PREEMPT"/> 1508bf215546Sopenharmony_ci <reg32 offset="0x022c" name="CP_CNTL"/> 1509bf215546Sopenharmony_ci <reg32 offset="0x022d" name="CP_ME_CNTL"/> 1510bf215546Sopenharmony_ci <reg32 offset="0x022e" name="CP_DEBUG"/> 1511bf215546Sopenharmony_ci <reg32 offset="0x0231" name="CP_DEBUG_ECO_CONTROL"/> 1512bf215546Sopenharmony_ci <reg32 offset="0x0232" name="CP_DRAW_STATE_ADDR"/> 1513bf215546Sopenharmony_ci <array offset="0x0240" name="CP_PROTECT" stride="1" length="16"> 1514bf215546Sopenharmony_ci <reg32 offset="0x0" name="REG" type="adreno_cp_protect"/> 1515bf215546Sopenharmony_ci </array> 1516bf215546Sopenharmony_ci <reg32 offset="0x0250" name="CP_PROTECT_CTRL"/> 1517bf215546Sopenharmony_ci <reg32 offset="0x04c0" name="CP_ST_BASE"/> 1518bf215546Sopenharmony_ci <reg32 offset="0x04ce" name="CP_STQ_AVAIL"/> 1519bf215546Sopenharmony_ci <reg32 offset="0x04d0" name="CP_MERCIU_STAT"/> 1520bf215546Sopenharmony_ci <reg32 offset="0x04d2" name="CP_WFI_PEND_CTR"/> 1521bf215546Sopenharmony_ci <reg32 offset="0x04d8" name="CP_HW_FAULT"/> 1522bf215546Sopenharmony_ci <reg32 offset="0x04da" name="CP_PROTECT_STATUS"/> 1523bf215546Sopenharmony_ci <reg32 offset="0x04dd" name="CP_EVENTS_IN_FLIGHT"/> 1524bf215546Sopenharmony_ci <reg32 offset="0x0500" name="CP_PERFCTR_CP_SEL_0" type="a4xx_cp_perfcounter_select"/> 1525bf215546Sopenharmony_ci <reg32 offset="0x0501" name="CP_PERFCTR_CP_SEL_1" type="a4xx_cp_perfcounter_select"/> 1526bf215546Sopenharmony_ci <reg32 offset="0x0502" name="CP_PERFCTR_CP_SEL_2" type="a4xx_cp_perfcounter_select"/> 1527bf215546Sopenharmony_ci <reg32 offset="0x0503" name="CP_PERFCTR_CP_SEL_3" type="a4xx_cp_perfcounter_select"/> 1528bf215546Sopenharmony_ci <reg32 offset="0x0504" name="CP_PERFCTR_CP_SEL_4" type="a4xx_cp_perfcounter_select"/> 1529bf215546Sopenharmony_ci <reg32 offset="0x0505" name="CP_PERFCTR_CP_SEL_5" type="a4xx_cp_perfcounter_select"/> 1530bf215546Sopenharmony_ci <reg32 offset="0x0506" name="CP_PERFCTR_CP_SEL_6" type="a4xx_cp_perfcounter_select"/> 1531bf215546Sopenharmony_ci <reg32 offset="0x0507" name="CP_PERFCTR_CP_SEL_7" type="a4xx_cp_perfcounter_select"/> 1532bf215546Sopenharmony_ci <reg32 offset="0x050b" name="CP_PERFCOMBINER_SELECT"/> 1533bf215546Sopenharmony_ci <array offset="0x0578" name="CP_SCRATCH" stride="1" length="23"> 1534bf215546Sopenharmony_ci <reg32 offset="0x0" name="REG"/> 1535bf215546Sopenharmony_ci </array> 1536bf215546Sopenharmony_ci 1537bf215546Sopenharmony_ci 1538bf215546Sopenharmony_ci <!-- SP registers --> 1539bf215546Sopenharmony_ci <reg32 offset="0x0ec0" name="SP_VS_STATUS"/> 1540bf215546Sopenharmony_ci <reg32 offset="0x0ec3" name="SP_MODE_CONTROL"/> 1541bf215546Sopenharmony_ci 1542bf215546Sopenharmony_ci <reg32 offset="0x0ec4" name="SP_PERFCTR_SP_SEL_0" type="a4xx_sp_perfcounter_select"/> 1543bf215546Sopenharmony_ci <reg32 offset="0x0ec5" name="SP_PERFCTR_SP_SEL_1" type="a4xx_sp_perfcounter_select"/> 1544bf215546Sopenharmony_ci <reg32 offset="0x0ec6" name="SP_PERFCTR_SP_SEL_2" type="a4xx_sp_perfcounter_select"/> 1545bf215546Sopenharmony_ci <reg32 offset="0x0ec7" name="SP_PERFCTR_SP_SEL_3" type="a4xx_sp_perfcounter_select"/> 1546bf215546Sopenharmony_ci <reg32 offset="0x0ec8" name="SP_PERFCTR_SP_SEL_4" type="a4xx_sp_perfcounter_select"/> 1547bf215546Sopenharmony_ci <reg32 offset="0x0ec9" name="SP_PERFCTR_SP_SEL_5" type="a4xx_sp_perfcounter_select"/> 1548bf215546Sopenharmony_ci <reg32 offset="0x0eca" name="SP_PERFCTR_SP_SEL_6" type="a4xx_sp_perfcounter_select"/> 1549bf215546Sopenharmony_ci <reg32 offset="0x0ecb" name="SP_PERFCTR_SP_SEL_7" type="a4xx_sp_perfcounter_select"/> 1550bf215546Sopenharmony_ci <reg32 offset="0x0ecc" name="SP_PERFCTR_SP_SEL_8" type="a4xx_sp_perfcounter_select"/> 1551bf215546Sopenharmony_ci <reg32 offset="0x0ecd" name="SP_PERFCTR_SP_SEL_9" type="a4xx_sp_perfcounter_select"/> 1552bf215546Sopenharmony_ci <reg32 offset="0x0ece" name="SP_PERFCTR_SP_SEL_10" type="a4xx_sp_perfcounter_select"/> 1553bf215546Sopenharmony_ci <reg32 offset="0x0ecf" name="SP_PERFCTR_SP_SEL_11" type="a4xx_sp_perfcounter_select"/> 1554bf215546Sopenharmony_ci 1555bf215546Sopenharmony_ci <reg32 offset="0x22c0" name="SP_SP_CTRL_REG"> 1556bf215546Sopenharmony_ci <bitfield name="BINNING_PASS" pos="19" type="boolean"/> 1557bf215546Sopenharmony_ci </reg32> 1558bf215546Sopenharmony_ci <reg32 offset="0x22c1" name="SP_INSTR_CACHE_CTRL"> 1559bf215546Sopenharmony_ci <!-- set when VS in buffer mode: --> 1560bf215546Sopenharmony_ci <bitfield name="VS_BUFFER" pos="7" type="boolean"/> 1561bf215546Sopenharmony_ci <!-- set when FS in buffer mode: --> 1562bf215546Sopenharmony_ci <bitfield name="FS_BUFFER" pos="8" type="boolean"/> 1563bf215546Sopenharmony_ci <!-- set when both VS or FS in buffer mode: --> 1564bf215546Sopenharmony_ci <bitfield name="INSTR_BUFFER" pos="10" type="boolean"/> 1565bf215546Sopenharmony_ci <!-- TODO other bits probably matter when other stages active? --> 1566bf215546Sopenharmony_ci </reg32> 1567bf215546Sopenharmony_ci 1568bf215546Sopenharmony_ci <bitset name="a4xx_sp_vs_fs_ctrl_reg0" inline="yes"> 1569bf215546Sopenharmony_ci <!-- 1570bf215546Sopenharmony_ci NOTE that SP_{VS,FS}_CTRL_REG1 are different, but so far REG0 1571bf215546Sopenharmony_ci appears to be the same.. 1572bf215546Sopenharmony_ci --> 1573bf215546Sopenharmony_ci <bitfield name="THREADMODE" pos="0" type="a3xx_threadmode"/> 1574bf215546Sopenharmony_ci <!-- VARYING bit only for FS.. think it controls emitting (ei) flag? --> 1575bf215546Sopenharmony_ci <bitfield name="VARYING" pos="1" type="boolean"/> 1576bf215546Sopenharmony_ci <!-- maybe CACHEINVALID is two bits?? --> 1577bf215546Sopenharmony_ci <bitfield name="CACHEINVALID" pos="2" type="boolean"/> 1578bf215546Sopenharmony_ci <doc> 1579bf215546Sopenharmony_ci The full/half register footprint is in units of four components, 1580bf215546Sopenharmony_ci so if r0.x is used, that counts as all of r0.[xyzw] as used. 1581bf215546Sopenharmony_ci There are separate full/half register footprint values as the 1582bf215546Sopenharmony_ci full and half registers are independent (not overlapping). 1583bf215546Sopenharmony_ci Presumably the thread scheduler hardware allocates the full/half 1584bf215546Sopenharmony_ci register names from the actual physical register file and 1585bf215546Sopenharmony_ci handles the register renaming. 1586bf215546Sopenharmony_ci </doc> 1587bf215546Sopenharmony_ci <bitfield name="HALFREGFOOTPRINT" low="4" high="9" type="uint"/> 1588bf215546Sopenharmony_ci <bitfield name="FULLREGFOOTPRINT" low="10" high="15" type="uint"/> 1589bf215546Sopenharmony_ci <!-- maybe INOUTREGOVERLAP is a bitflag? --> 1590bf215546Sopenharmony_ci <bitfield name="INOUTREGOVERLAP" low="18" high="19" type="uint"/> 1591bf215546Sopenharmony_ci <bitfield name="THREADSIZE" pos="20" type="a3xx_threadsize"/> 1592bf215546Sopenharmony_ci <bitfield name="SUPERTHREADMODE" pos="21" type="boolean"/> 1593bf215546Sopenharmony_ci <bitfield name="PIXLODENABLE" pos="22" type="boolean"/> 1594bf215546Sopenharmony_ci </bitset> 1595bf215546Sopenharmony_ci 1596bf215546Sopenharmony_ci <reg32 offset="0x22c4" name="SP_VS_CTRL_REG0" type="a4xx_sp_vs_fs_ctrl_reg0"/> 1597bf215546Sopenharmony_ci <reg32 offset="0x22c5" name="SP_VS_CTRL_REG1"> 1598bf215546Sopenharmony_ci <bitfield name="CONSTLENGTH" low="0" high="7" type="uint"/> 1599bf215546Sopenharmony_ci <bitfield name="INITIALOUTSTANDING" low="24" high="30" type="uint"/> 1600bf215546Sopenharmony_ci </reg32> 1601bf215546Sopenharmony_ci <reg32 offset="0x22c6" name="SP_VS_PARAM_REG"> 1602bf215546Sopenharmony_ci <bitfield name="POSREGID" low="0" high="7" type="a3xx_regid"/> 1603bf215546Sopenharmony_ci <bitfield name="PSIZEREGID" low="8" high="15" type="a3xx_regid"/> 1604bf215546Sopenharmony_ci <bitfield name="TOTALVSOUTVAR" low="20" high="31" type="uint"/> 1605bf215546Sopenharmony_ci </reg32> 1606bf215546Sopenharmony_ci <array offset="0x22c7" name="SP_VS_OUT" stride="1" length="16"> 1607bf215546Sopenharmony_ci <reg32 offset="0x0" name="REG"> 1608bf215546Sopenharmony_ci <bitfield name="A_REGID" low="0" high="8" type="a3xx_regid"/> 1609bf215546Sopenharmony_ci <bitfield name="A_COMPMASK" low="9" high="12" type="hex"/> 1610bf215546Sopenharmony_ci <bitfield name="B_REGID" low="16" high="24" type="a3xx_regid"/> 1611bf215546Sopenharmony_ci <bitfield name="B_COMPMASK" low="25" high="28" type="hex"/> 1612bf215546Sopenharmony_ci </reg32> 1613bf215546Sopenharmony_ci </array> 1614bf215546Sopenharmony_ci <array offset="0x22d8" name="SP_VS_VPC_DST" stride="1" length="8"> 1615bf215546Sopenharmony_ci <reg32 offset="0x0" name="REG"> 1616bf215546Sopenharmony_ci <doc> 1617bf215546Sopenharmony_ci These seem to be offsets for storage of the varyings. 1618bf215546Sopenharmony_ci Always seems to start from 8, possibly loc 0 and 4 1619bf215546Sopenharmony_ci are for gl_Position and gl_PointSize? 1620bf215546Sopenharmony_ci </doc> 1621bf215546Sopenharmony_ci <bitfield name="OUTLOC0" low="0" high="7" type="uint"/> 1622bf215546Sopenharmony_ci <bitfield name="OUTLOC1" low="8" high="15" type="uint"/> 1623bf215546Sopenharmony_ci <bitfield name="OUTLOC2" low="16" high="23" type="uint"/> 1624bf215546Sopenharmony_ci <bitfield name="OUTLOC3" low="24" high="31" type="uint"/> 1625bf215546Sopenharmony_ci </reg32> 1626bf215546Sopenharmony_ci </array> 1627bf215546Sopenharmony_ci 1628bf215546Sopenharmony_ci <reg32 offset="0x22e0" name="SP_VS_OBJ_OFFSET_REG"> 1629bf215546Sopenharmony_ci <!-- always 00000000: --> 1630bf215546Sopenharmony_ci <doc> 1631bf215546Sopenharmony_ci From register spec: 1632bf215546Sopenharmony_ci SP_FS_OBJ_OFFSET_REG.CONSTOBJECTSTARTOFFSET [16:24]: Constant object 1633bf215546Sopenharmony_ci start offset in on chip RAM, 1634bf215546Sopenharmony_ci 128bit aligned 1635bf215546Sopenharmony_ci </doc> 1636bf215546Sopenharmony_ci <bitfield name="CONSTOBJECTOFFSET" low="16" high="24" type="uint"/> 1637bf215546Sopenharmony_ci <bitfield name="SHADEROBJOFFSET" low="25" high="31" type="uint"/> 1638bf215546Sopenharmony_ci </reg32> 1639bf215546Sopenharmony_ci <reg32 offset="0x22e1" name="SP_VS_OBJ_START"/> 1640bf215546Sopenharmony_ci <reg32 offset="0x22e2" name="SP_VS_PVT_MEM_PARAM"/> 1641bf215546Sopenharmony_ci <reg32 offset="0x22e3" name="SP_VS_PVT_MEM_ADDR"/> 1642bf215546Sopenharmony_ci <reg32 offset="0x22e5" name="SP_VS_LENGTH_REG" type="uint"/> 1643bf215546Sopenharmony_ci <reg32 offset="0x22e8" name="SP_FS_CTRL_REG0" type="a4xx_sp_vs_fs_ctrl_reg0"/> 1644bf215546Sopenharmony_ci <reg32 offset="0x22e9" name="SP_FS_CTRL_REG1"> 1645bf215546Sopenharmony_ci <bitfield name="CONSTLENGTH" low="0" high="7" type="uint"/> 1646bf215546Sopenharmony_ci <bitfield name="FACENESS" pos="19" type="boolean"/> 1647bf215546Sopenharmony_ci <bitfield name="VARYING" pos="20" type="boolean"/> 1648bf215546Sopenharmony_ci <bitfield name="FRAGCOORD" pos="21" type="boolean"/> 1649bf215546Sopenharmony_ci </reg32> 1650bf215546Sopenharmony_ci <reg32 offset="0x22ea" name="SP_FS_OBJ_OFFSET_REG"> 1651bf215546Sopenharmony_ci <bitfield name="CONSTOBJECTOFFSET" low="16" high="24" type="uint"/> 1652bf215546Sopenharmony_ci <bitfield name="SHADEROBJOFFSET" low="25" high="31" type="uint"/> 1653bf215546Sopenharmony_ci </reg32> 1654bf215546Sopenharmony_ci <reg32 offset="0x22eb" name="SP_FS_OBJ_START"/> 1655bf215546Sopenharmony_ci <reg32 offset="0x22ec" name="SP_FS_PVT_MEM_PARAM"/> 1656bf215546Sopenharmony_ci <reg32 offset="0x22ed" name="SP_FS_PVT_MEM_ADDR"/> 1657bf215546Sopenharmony_ci <reg32 offset="0x22ef" name="SP_FS_LENGTH_REG" type="uint"/> 1658bf215546Sopenharmony_ci <reg32 offset="0x22f0" name="SP_FS_OUTPUT_REG"> 1659bf215546Sopenharmony_ci <bitfield name="MRT" low="0" high="3" type="uint"/> 1660bf215546Sopenharmony_ci <bitfield name="DEPTH_ENABLE" pos="7" type="boolean"/> 1661bf215546Sopenharmony_ci <!-- TODO double check.. for now assume same as a3xx --> 1662bf215546Sopenharmony_ci <bitfield name="DEPTH_REGID" low="8" high="15" type="a3xx_regid"/> 1663bf215546Sopenharmony_ci <bitfield name="SAMPLEMASK_REGID" low="24" high="31" type="a3xx_regid"/> 1664bf215546Sopenharmony_ci </reg32> 1665bf215546Sopenharmony_ci <array offset="0x22f1" name="SP_FS_MRT" stride="1" length="8"> 1666bf215546Sopenharmony_ci <reg32 offset="0x0" name="REG"> 1667bf215546Sopenharmony_ci <bitfield name="REGID" low="0" high="7" type="a3xx_regid"/> 1668bf215546Sopenharmony_ci <bitfield name="HALF_PRECISION" pos="8" type="boolean"/> 1669bf215546Sopenharmony_ci <bitfield name="COLOR_SINT" pos="10" type="boolean"/> 1670bf215546Sopenharmony_ci <bitfield name="COLOR_UINT" pos="11" type="boolean"/> 1671bf215546Sopenharmony_ci <bitfield name="MRTFORMAT" low="12" high="17" type="a4xx_color_fmt"/> 1672bf215546Sopenharmony_ci <bitfield name="COLOR_SRGB" pos="18" type="boolean"/> 1673bf215546Sopenharmony_ci </reg32> 1674bf215546Sopenharmony_ci </array> 1675bf215546Sopenharmony_ci <reg32 offset="0x2300" name="SP_CS_CTRL_REG0" type="a4xx_sp_vs_fs_ctrl_reg0"/> 1676bf215546Sopenharmony_ci <reg32 offset="0x2301" name="SP_CS_OBJ_OFFSET_REG"/> 1677bf215546Sopenharmony_ci <reg32 offset="0x2302" name="SP_CS_OBJ_START"/> 1678bf215546Sopenharmony_ci <reg32 offset="0x2303" name="SP_CS_PVT_MEM_PARAM"/> 1679bf215546Sopenharmony_ci <reg32 offset="0x2304" name="SP_CS_PVT_MEM_ADDR"/> 1680bf215546Sopenharmony_ci <reg32 offset="0x2305" name="SP_CS_PVT_MEM_SIZE"/> 1681bf215546Sopenharmony_ci <reg32 offset="0x2306" name="SP_CS_LENGTH_REG" type="uint"/> 1682bf215546Sopenharmony_ci <reg32 offset="0x230d" name="SP_HS_OBJ_OFFSET_REG"> 1683bf215546Sopenharmony_ci <bitfield name="CONSTOBJECTOFFSET" low="16" high="24" type="uint"/> 1684bf215546Sopenharmony_ci <bitfield name="SHADEROBJOFFSET" low="25" high="31" type="uint"/> 1685bf215546Sopenharmony_ci </reg32> 1686bf215546Sopenharmony_ci <reg32 offset="0x230e" name="SP_HS_OBJ_START"/> 1687bf215546Sopenharmony_ci <reg32 offset="0x230f" name="SP_HS_PVT_MEM_PARAM"/> 1688bf215546Sopenharmony_ci <reg32 offset="0x2310" name="SP_HS_PVT_MEM_ADDR"/> 1689bf215546Sopenharmony_ci <reg32 offset="0x2312" name="SP_HS_LENGTH_REG" type="uint"/> 1690bf215546Sopenharmony_ci 1691bf215546Sopenharmony_ci <reg32 offset="0x231a" name="SP_DS_PARAM_REG"> 1692bf215546Sopenharmony_ci <bitfield name="POSREGID" low="0" high="7" type="a3xx_regid"/> 1693bf215546Sopenharmony_ci <bitfield name="TOTALGSOUTVAR" low="20" high="31" type="uint"/> 1694bf215546Sopenharmony_ci </reg32> 1695bf215546Sopenharmony_ci <array offset="0x231b" name="SP_DS_OUT" stride="1" length="16"> 1696bf215546Sopenharmony_ci <reg32 offset="0x0" name="REG"> 1697bf215546Sopenharmony_ci <bitfield name="A_REGID" low="0" high="8" type="a3xx_regid"/> 1698bf215546Sopenharmony_ci <bitfield name="A_COMPMASK" low="9" high="12" type="hex"/> 1699bf215546Sopenharmony_ci <bitfield name="B_REGID" low="16" high="24" type="a3xx_regid"/> 1700bf215546Sopenharmony_ci <bitfield name="B_COMPMASK" low="25" high="28" type="hex"/> 1701bf215546Sopenharmony_ci </reg32> 1702bf215546Sopenharmony_ci </array> 1703bf215546Sopenharmony_ci <array offset="0x232c" name="SP_DS_VPC_DST" stride="1" length="8"> 1704bf215546Sopenharmony_ci <reg32 offset="0x0" name="REG"> 1705bf215546Sopenharmony_ci <doc> 1706bf215546Sopenharmony_ci These seem to be offsets for storage of the varyings. 1707bf215546Sopenharmony_ci Always seems to start from 8, possibly loc 0 and 4 1708bf215546Sopenharmony_ci are for gl_Position and gl_PointSize? 1709bf215546Sopenharmony_ci </doc> 1710bf215546Sopenharmony_ci <bitfield name="OUTLOC0" low="0" high="7" type="uint"/> 1711bf215546Sopenharmony_ci <bitfield name="OUTLOC1" low="8" high="15" type="uint"/> 1712bf215546Sopenharmony_ci <bitfield name="OUTLOC2" low="16" high="23" type="uint"/> 1713bf215546Sopenharmony_ci <bitfield name="OUTLOC3" low="24" high="31" type="uint"/> 1714bf215546Sopenharmony_ci </reg32> 1715bf215546Sopenharmony_ci </array> 1716bf215546Sopenharmony_ci <reg32 offset="0x2334" name="SP_DS_OBJ_OFFSET_REG"> 1717bf215546Sopenharmony_ci <bitfield name="CONSTOBJECTOFFSET" low="16" high="24" type="uint"/> 1718bf215546Sopenharmony_ci <bitfield name="SHADEROBJOFFSET" low="25" high="31" type="uint"/> 1719bf215546Sopenharmony_ci </reg32> 1720bf215546Sopenharmony_ci <reg32 offset="0x2335" name="SP_DS_OBJ_START"/> 1721bf215546Sopenharmony_ci <reg32 offset="0x2336" name="SP_DS_PVT_MEM_PARAM"/> 1722bf215546Sopenharmony_ci <reg32 offset="0x2337" name="SP_DS_PVT_MEM_ADDR"/> 1723bf215546Sopenharmony_ci <reg32 offset="0x2339" name="SP_DS_LENGTH_REG" type="uint"/> 1724bf215546Sopenharmony_ci 1725bf215546Sopenharmony_ci <reg32 offset="0x2341" name="SP_GS_PARAM_REG"> 1726bf215546Sopenharmony_ci <bitfield name="POSREGID" low="0" high="7" type="a3xx_regid"/> 1727bf215546Sopenharmony_ci <bitfield name="PRIMREGID" low="8" high="15" type="a3xx_regid"/> 1728bf215546Sopenharmony_ci <bitfield name="TOTALGSOUTVAR" low="20" high="31" type="uint"/> 1729bf215546Sopenharmony_ci </reg32> 1730bf215546Sopenharmony_ci <array offset="0x2342" name="SP_GS_OUT" stride="1" length="16"> 1731bf215546Sopenharmony_ci <reg32 offset="0x0" name="REG"> 1732bf215546Sopenharmony_ci <bitfield name="A_REGID" low="0" high="8" type="a3xx_regid"/> 1733bf215546Sopenharmony_ci <bitfield name="A_COMPMASK" low="9" high="12" type="hex"/> 1734bf215546Sopenharmony_ci <bitfield name="B_REGID" low="16" high="24" type="a3xx_regid"/> 1735bf215546Sopenharmony_ci <bitfield name="B_COMPMASK" low="25" high="28" type="hex"/> 1736bf215546Sopenharmony_ci </reg32> 1737bf215546Sopenharmony_ci </array> 1738bf215546Sopenharmony_ci <array offset="0x2353" name="SP_GS_VPC_DST" stride="1" length="8"> 1739bf215546Sopenharmony_ci <reg32 offset="0x0" name="REG"> 1740bf215546Sopenharmony_ci <doc> 1741bf215546Sopenharmony_ci These seem to be offsets for storage of the varyings. 1742bf215546Sopenharmony_ci Always seems to start from 8, possibly loc 0 and 4 1743bf215546Sopenharmony_ci are for gl_Position and gl_PointSize? 1744bf215546Sopenharmony_ci </doc> 1745bf215546Sopenharmony_ci <bitfield name="OUTLOC0" low="0" high="7" type="uint"/> 1746bf215546Sopenharmony_ci <bitfield name="OUTLOC1" low="8" high="15" type="uint"/> 1747bf215546Sopenharmony_ci <bitfield name="OUTLOC2" low="16" high="23" type="uint"/> 1748bf215546Sopenharmony_ci <bitfield name="OUTLOC3" low="24" high="31" type="uint"/> 1749bf215546Sopenharmony_ci </reg32> 1750bf215546Sopenharmony_ci </array> 1751bf215546Sopenharmony_ci <reg32 offset="0x235b" name="SP_GS_OBJ_OFFSET_REG"> 1752bf215546Sopenharmony_ci <bitfield name="CONSTOBJECTOFFSET" low="16" high="24" type="uint"/> 1753bf215546Sopenharmony_ci <bitfield name="SHADEROBJOFFSET" low="25" high="31" type="uint"/> 1754bf215546Sopenharmony_ci </reg32> 1755bf215546Sopenharmony_ci <reg32 offset="0x235c" name="SP_GS_OBJ_START"/> 1756bf215546Sopenharmony_ci <reg32 offset="0x235d" name="SP_GS_PVT_MEM_PARAM"/> 1757bf215546Sopenharmony_ci <reg32 offset="0x235e" name="SP_GS_PVT_MEM_ADDR"/> 1758bf215546Sopenharmony_ci <reg32 offset="0x2360" name="SP_GS_LENGTH_REG" type="uint"/> 1759bf215546Sopenharmony_ci 1760bf215546Sopenharmony_ci <!-- VPC registers --> 1761bf215546Sopenharmony_ci <reg32 offset="0x0e60" name="VPC_DEBUG_RAM_SEL"/> 1762bf215546Sopenharmony_ci <reg32 offset="0x0e61" name="VPC_DEBUG_RAM_READ"/> 1763bf215546Sopenharmony_ci <reg32 offset="0x0e64" name="VPC_DEBUG_ECO_CONTROL"/> 1764bf215546Sopenharmony_ci <reg32 offset="0x0e65" name="VPC_PERFCTR_VPC_SEL_0" type="a4xx_vpc_perfcounter_select"/> 1765bf215546Sopenharmony_ci <reg32 offset="0x0e66" name="VPC_PERFCTR_VPC_SEL_1" type="a4xx_vpc_perfcounter_select"/> 1766bf215546Sopenharmony_ci <reg32 offset="0x0e67" name="VPC_PERFCTR_VPC_SEL_2" type="a4xx_vpc_perfcounter_select"/> 1767bf215546Sopenharmony_ci <reg32 offset="0x0e68" name="VPC_PERFCTR_VPC_SEL_3" type="a4xx_vpc_perfcounter_select"/> 1768bf215546Sopenharmony_ci <reg32 offset="0x2140" name="VPC_ATTR"> 1769bf215546Sopenharmony_ci <bitfield name="TOTALATTR" low="0" high="8" type="uint"/> 1770bf215546Sopenharmony_ci <!-- PSIZE bit set if gl_PointSize written: --> 1771bf215546Sopenharmony_ci <bitfield name="PSIZE" pos="9" type="boolean"/> 1772bf215546Sopenharmony_ci <bitfield name="THRDASSIGN" low="12" high="13" type="uint"/> 1773bf215546Sopenharmony_ci <bitfield name="ENABLE" pos="25" type="boolean"/> 1774bf215546Sopenharmony_ci </reg32> 1775bf215546Sopenharmony_ci <reg32 offset="0x2141" name="VPC_PACK"> 1776bf215546Sopenharmony_ci <bitfield name="NUMBYPASSVAR" low="0" high="7" type="uint"/> 1777bf215546Sopenharmony_ci <bitfield name="NUMFPNONPOSVAR" low="8" high="15" type="uint"/> 1778bf215546Sopenharmony_ci <bitfield name="NUMNONPOSVSVAR" low="16" high="23" type="uint"/> 1779bf215546Sopenharmony_ci </reg32> 1780bf215546Sopenharmony_ci <array offset="0x2142" name="VPC_VARYING_INTERP" stride="1" length="8"> 1781bf215546Sopenharmony_ci <reg32 offset="0x0" name="MODE"/> 1782bf215546Sopenharmony_ci </array> 1783bf215546Sopenharmony_ci <array offset="0x214a" name="VPC_VARYING_PS_REPL" stride="1" length="8"> 1784bf215546Sopenharmony_ci <reg32 offset="0x0" name="MODE"/> 1785bf215546Sopenharmony_ci </array> 1786bf215546Sopenharmony_ci 1787bf215546Sopenharmony_ci <reg32 offset="0x216e" name="VPC_SO_FLUSH_WADDR_3"/> 1788bf215546Sopenharmony_ci 1789bf215546Sopenharmony_ci <!-- VSC registers --> 1790bf215546Sopenharmony_ci <reg32 offset="0x0c00" name="VSC_BIN_SIZE"> 1791bf215546Sopenharmony_ci <bitfield name="WIDTH" low="0" high="4" shr="5" type="uint"/> 1792bf215546Sopenharmony_ci <bitfield name="HEIGHT" low="5" high="9" shr="5" type="uint"/> 1793bf215546Sopenharmony_ci </reg32> 1794bf215546Sopenharmony_ci <reg32 offset="0x0c01" name="VSC_SIZE_ADDRESS"/> 1795bf215546Sopenharmony_ci <reg32 offset="0x0c02" name="VSC_SIZE_ADDRESS2"/> 1796bf215546Sopenharmony_ci <reg32 offset="0x0c03" name="VSC_DEBUG_ECO_CONTROL"/> 1797bf215546Sopenharmony_ci <array offset="0x0c08" name="VSC_PIPE_CONFIG" stride="1" length="8"> 1798bf215546Sopenharmony_ci <reg32 offset="0x0" name="REG"> 1799bf215546Sopenharmony_ci <doc> 1800bf215546Sopenharmony_ci Configures the mapping between VSC_PIPE buffer and 1801bf215546Sopenharmony_ci bin, X/Y specify the bin index in the horiz/vert 1802bf215546Sopenharmony_ci direction (0,0 is upper left, 0,1 is leftmost bin 1803bf215546Sopenharmony_ci on second row, and so on). W/H specify the number 1804bf215546Sopenharmony_ci of bins assigned to this VSC_PIPE in the horiz/vert 1805bf215546Sopenharmony_ci dimension. 1806bf215546Sopenharmony_ci </doc> 1807bf215546Sopenharmony_ci <bitfield name="X" low="0" high="9" type="uint"/> 1808bf215546Sopenharmony_ci <bitfield name="Y" low="10" high="19" type="uint"/> 1809bf215546Sopenharmony_ci <bitfield name="W" low="20" high="23" type="uint"/> 1810bf215546Sopenharmony_ci <bitfield name="H" low="24" high="27" type="uint"/> 1811bf215546Sopenharmony_ci </reg32> 1812bf215546Sopenharmony_ci </array> 1813bf215546Sopenharmony_ci <array offset="0x0c10" name="VSC_PIPE_DATA_ADDRESS" stride="1" length="8"> 1814bf215546Sopenharmony_ci <reg32 offset="0x0" name="REG"/> 1815bf215546Sopenharmony_ci </array> 1816bf215546Sopenharmony_ci <array offset="0x0c18" name="VSC_PIPE_DATA_LENGTH" stride="1" length="8"> 1817bf215546Sopenharmony_ci <reg32 offset="0x0" name="REG"/> 1818bf215546Sopenharmony_ci </array> 1819bf215546Sopenharmony_ci <reg32 offset="0x0c41" name="VSC_PIPE_PARTIAL_POSN_1"/> 1820bf215546Sopenharmony_ci <reg32 offset="0x0c50" name="VSC_PERFCTR_VSC_SEL_0" type="a4xx_vsc_perfcounter_select"/> 1821bf215546Sopenharmony_ci <reg32 offset="0x0c51" name="VSC_PERFCTR_VSC_SEL_1" type="a4xx_vsc_perfcounter_select"/> 1822bf215546Sopenharmony_ci 1823bf215546Sopenharmony_ci <!-- VFD registers --> 1824bf215546Sopenharmony_ci <reg32 offset="0x0e40" name="VFD_DEBUG_CONTROL"/> 1825bf215546Sopenharmony_ci <reg32 offset="0x0e43" name="VFD_PERFCTR_VFD_SEL_0" type="a4xx_vfd_perfcounter_select"/> 1826bf215546Sopenharmony_ci <reg32 offset="0x0e44" name="VFD_PERFCTR_VFD_SEL_1" type="a4xx_vfd_perfcounter_select"/> 1827bf215546Sopenharmony_ci <reg32 offset="0x0e45" name="VFD_PERFCTR_VFD_SEL_2" type="a4xx_vfd_perfcounter_select"/> 1828bf215546Sopenharmony_ci <reg32 offset="0x0e46" name="VFD_PERFCTR_VFD_SEL_3" type="a4xx_vfd_perfcounter_select"/> 1829bf215546Sopenharmony_ci <reg32 offset="0x0e47" name="VFD_PERFCTR_VFD_SEL_4" type="a4xx_vfd_perfcounter_select"/> 1830bf215546Sopenharmony_ci <reg32 offset="0x0e48" name="VFD_PERFCTR_VFD_SEL_5" type="a4xx_vfd_perfcounter_select"/> 1831bf215546Sopenharmony_ci <reg32 offset="0x0e49" name="VFD_PERFCTR_VFD_SEL_6" type="a4xx_vfd_perfcounter_select"/> 1832bf215546Sopenharmony_ci <reg32 offset="0x0e4a" name="VFD_PERFCTR_VFD_SEL_7" type="a4xx_vfd_perfcounter_select"/> 1833bf215546Sopenharmony_ci <reg32 offset="0x21d0" name="VGT_CL_INITIATOR"/> 1834bf215546Sopenharmony_ci <reg32 offset="0x21d9" name="VGT_EVENT_INITIATOR"/> 1835bf215546Sopenharmony_ci <reg32 offset="0x2200" name="VFD_CONTROL_0"> 1836bf215546Sopenharmony_ci <doc> 1837bf215546Sopenharmony_ci TOTALATTRTOVS is # of attributes to vertex shader, in register 1838bf215546Sopenharmony_ci slots (ie. vec4+vec3 -> 7) 1839bf215546Sopenharmony_ci </doc> 1840bf215546Sopenharmony_ci <bitfield name="TOTALATTRTOVS" low="0" high="7" type="uint"/> 1841bf215546Sopenharmony_ci <doc> 1842bf215546Sopenharmony_ci BYPASSATTROVS seems to count varyings that are just directly 1843bf215546Sopenharmony_ci assigned from attributes (ie, "vFoo = aFoo;") 1844bf215546Sopenharmony_ci </doc> 1845bf215546Sopenharmony_ci <bitfield name="BYPASSATTROVS" low="9" high="16" type="uint"/> 1846bf215546Sopenharmony_ci <doc>STRMDECINSTRCNT is # of VFD_DECODE_INSTR registers valid</doc> 1847bf215546Sopenharmony_ci <bitfield name="STRMDECINSTRCNT" low="20" high="25" type="uint"/> 1848bf215546Sopenharmony_ci <doc>STRMFETCHINSTRCNT is # of VFD_FETCH_INSTR registers valid</doc> 1849bf215546Sopenharmony_ci <bitfield name="STRMFETCHINSTRCNT" low="26" high="31" type="uint"/> 1850bf215546Sopenharmony_ci </reg32> 1851bf215546Sopenharmony_ci <reg32 offset="0x2201" name="VFD_CONTROL_1"> 1852bf215546Sopenharmony_ci <doc>MAXSTORAGE could be # of attributes/vbo's</doc> 1853bf215546Sopenharmony_ci <bitfield name="MAXSTORAGE" low="0" high="15" type="uint"/> 1854bf215546Sopenharmony_ci <bitfield name="REGID4VTX" low="16" high="23" type="a3xx_regid"/> 1855bf215546Sopenharmony_ci <bitfield name="REGID4INST" low="24" high="31" type="a3xx_regid"/> 1856bf215546Sopenharmony_ci </reg32> 1857bf215546Sopenharmony_ci <reg32 offset="0x2202" name="VFD_CONTROL_2"/> 1858bf215546Sopenharmony_ci <reg32 offset="0x2203" name="VFD_CONTROL_3"> 1859bf215546Sopenharmony_ci <bitfield name="REGID_VTXCNT" low="8" high="15" type="a3xx_regid"/> 1860bf215546Sopenharmony_ci <bitfield name="REGID_TESSX" low="16" high="23" type="a3xx_regid"/> 1861bf215546Sopenharmony_ci <bitfield name="REGID_TESSY" low="24" high="31" type="a3xx_regid"/> 1862bf215546Sopenharmony_ci </reg32> 1863bf215546Sopenharmony_ci <reg32 offset="0x2204" name="VFD_CONTROL_4"/> 1864bf215546Sopenharmony_ci <reg32 offset="0x2208" name="VFD_INDEX_OFFSET"/> 1865bf215546Sopenharmony_ci <array offset="0x220a" name="VFD_FETCH" stride="4" length="32"> 1866bf215546Sopenharmony_ci <reg32 offset="0x0" name="INSTR_0"> 1867bf215546Sopenharmony_ci <bitfield name="FETCHSIZE" low="0" high="6" type="uint"/> 1868bf215546Sopenharmony_ci <bitfield name="BUFSTRIDE" low="7" high="16" type="uint"/> 1869bf215546Sopenharmony_ci <bitfield name="SWITCHNEXT" pos="19" type="boolean"/> 1870bf215546Sopenharmony_ci <bitfield name="INSTANCED" pos="20" type="boolean"/> 1871bf215546Sopenharmony_ci </reg32> 1872bf215546Sopenharmony_ci <reg32 offset="0x1" name="INSTR_1"/> 1873bf215546Sopenharmony_ci <reg32 offset="0x2" name="INSTR_2"> 1874bf215546Sopenharmony_ci <bitfield name="SIZE" low="0" high="31"/> 1875bf215546Sopenharmony_ci </reg32> 1876bf215546Sopenharmony_ci <reg32 offset="0x3" name="INSTR_3"> 1877bf215546Sopenharmony_ci <!-- might well be bigger.. --> 1878bf215546Sopenharmony_ci <bitfield name="STEPRATE" low="0" high="8" type="uint"/> 1879bf215546Sopenharmony_ci </reg32> 1880bf215546Sopenharmony_ci </array> 1881bf215546Sopenharmony_ci <array offset="0x228a" name="VFD_DECODE" stride="1" length="32"> 1882bf215546Sopenharmony_ci <reg32 offset="0x0" name="INSTR"> 1883bf215546Sopenharmony_ci <bitfield name="WRITEMASK" low="0" high="3" type="hex"/> 1884bf215546Sopenharmony_ci <!-- not sure if this is a bit flag and another flag above it, or?? --> 1885bf215546Sopenharmony_ci <bitfield name="CONSTFILL" pos="4" type="boolean"/> 1886bf215546Sopenharmony_ci <bitfield name="FORMAT" low="6" high="11" type="a4xx_vtx_fmt"/> 1887bf215546Sopenharmony_ci <bitfield name="REGID" low="12" high="19" type="a3xx_regid"/> 1888bf215546Sopenharmony_ci <bitfield name="INT" pos="20" type="boolean"/> 1889bf215546Sopenharmony_ci <doc>SHIFTCNT appears to be size, ie. FLOAT_32_32_32 is 12, and BYTE_8 is 1</doc> 1890bf215546Sopenharmony_ci <bitfield name="SWAP" low="22" high="23" type="a3xx_color_swap"/> 1891bf215546Sopenharmony_ci <bitfield name="SHIFTCNT" low="24" high="28" type="uint"/> 1892bf215546Sopenharmony_ci <bitfield name="LASTCOMPVALID" pos="29" type="boolean"/> 1893bf215546Sopenharmony_ci <bitfield name="SWITCHNEXT" pos="30" type="boolean"/> 1894bf215546Sopenharmony_ci </reg32> 1895bf215546Sopenharmony_ci </array> 1896bf215546Sopenharmony_ci 1897bf215546Sopenharmony_ci <!-- TPL1 registers --> 1898bf215546Sopenharmony_ci <reg32 offset="0x0f00" name="TPL1_DEBUG_ECO_CONTROL"/> 1899bf215546Sopenharmony_ci <!-- always 0000003a: --> 1900bf215546Sopenharmony_ci <reg32 offset="0x0f03" name="TPL1_TP_MODE_CONTROL"/> 1901bf215546Sopenharmony_ci <reg32 offset="0x0f04" name="TPL1_PERFCTR_TP_SEL_0" type="a4xx_tp_perfcounter_select"/> 1902bf215546Sopenharmony_ci <reg32 offset="0x0f05" name="TPL1_PERFCTR_TP_SEL_1" type="a4xx_tp_perfcounter_select"/> 1903bf215546Sopenharmony_ci <reg32 offset="0x0f06" name="TPL1_PERFCTR_TP_SEL_2" type="a4xx_tp_perfcounter_select"/> 1904bf215546Sopenharmony_ci <reg32 offset="0x0f07" name="TPL1_PERFCTR_TP_SEL_3" type="a4xx_tp_perfcounter_select"/> 1905bf215546Sopenharmony_ci <reg32 offset="0x0f08" name="TPL1_PERFCTR_TP_SEL_4" type="a4xx_tp_perfcounter_select"/> 1906bf215546Sopenharmony_ci <reg32 offset="0x0f09" name="TPL1_PERFCTR_TP_SEL_5" type="a4xx_tp_perfcounter_select"/> 1907bf215546Sopenharmony_ci <reg32 offset="0x0f0a" name="TPL1_PERFCTR_TP_SEL_6" type="a4xx_tp_perfcounter_select"/> 1908bf215546Sopenharmony_ci <reg32 offset="0x0f0b" name="TPL1_PERFCTR_TP_SEL_7" type="a4xx_tp_perfcounter_select"/> 1909bf215546Sopenharmony_ci <reg32 offset="0x2380" name="TPL1_TP_TEX_OFFSET"/> 1910bf215546Sopenharmony_ci <reg32 offset="0x2381" name="TPL1_TP_TEX_COUNT"> 1911bf215546Sopenharmony_ci <bitfield name="VS" low="0" high="7" type="uint"/> 1912bf215546Sopenharmony_ci <bitfield name="HS" low="8" high="15" type="uint"/> 1913bf215546Sopenharmony_ci <bitfield name="DS" low="16" high="23" type="uint"/> 1914bf215546Sopenharmony_ci <bitfield name="GS" low="24" high="31" type="uint"/> 1915bf215546Sopenharmony_ci </reg32> 1916bf215546Sopenharmony_ci <reg32 offset="0x2384" name="TPL1_TP_VS_BORDER_COLOR_BASE_ADDR"/> 1917bf215546Sopenharmony_ci <reg32 offset="0x2387" name="TPL1_TP_HS_BORDER_COLOR_BASE_ADDR"/> 1918bf215546Sopenharmony_ci <reg32 offset="0x238a" name="TPL1_TP_DS_BORDER_COLOR_BASE_ADDR"/> 1919bf215546Sopenharmony_ci <reg32 offset="0x238d" name="TPL1_TP_GS_BORDER_COLOR_BASE_ADDR"/> 1920bf215546Sopenharmony_ci <reg32 offset="0x23a0" name="TPL1_TP_FS_TEX_COUNT"> 1921bf215546Sopenharmony_ci <bitfield name="FS" low="0" high="7" type="uint"/> 1922bf215546Sopenharmony_ci <bitfield name="CS" low="8" high="15" type="uint"/> 1923bf215546Sopenharmony_ci </reg32> 1924bf215546Sopenharmony_ci <reg32 offset="0x23a1" name="TPL1_TP_FS_BORDER_COLOR_BASE_ADDR"/> 1925bf215546Sopenharmony_ci <reg32 offset="0x23a4" name="TPL1_TP_CS_BORDER_COLOR_BASE_ADDR"/> 1926bf215546Sopenharmony_ci <reg32 offset="0x23a5" name="TPL1_TP_CS_SAMPLER_BASE_ADDR"/> 1927bf215546Sopenharmony_ci <reg32 offset="0x23a6" name="TPL1_TP_CS_TEXMEMOBJ_BASE_ADDR"/> 1928bf215546Sopenharmony_ci 1929bf215546Sopenharmony_ci <!-- GRAS registers --> 1930bf215546Sopenharmony_ci <reg32 offset="0x0c80" name="GRAS_TSE_STATUS"/> 1931bf215546Sopenharmony_ci <reg32 offset="0x0c81" name="GRAS_DEBUG_ECO_CONTROL"/> 1932bf215546Sopenharmony_ci <reg32 offset="0x0c88" name="GRAS_PERFCTR_TSE_SEL_0" type="a4xx_gras_tse_perfcounter_select"/> 1933bf215546Sopenharmony_ci <reg32 offset="0x0c89" name="GRAS_PERFCTR_TSE_SEL_1" type="a4xx_gras_tse_perfcounter_select"/> 1934bf215546Sopenharmony_ci <reg32 offset="0x0c8a" name="GRAS_PERFCTR_TSE_SEL_2" type="a4xx_gras_tse_perfcounter_select"/> 1935bf215546Sopenharmony_ci <reg32 offset="0x0c8b" name="GRAS_PERFCTR_TSE_SEL_3" type="a4xx_gras_tse_perfcounter_select"/> 1936bf215546Sopenharmony_ci <reg32 offset="0x0c8c" name="GRAS_PERFCTR_RAS_SEL_0" type="a4xx_gras_ras_perfcounter_select"/> 1937bf215546Sopenharmony_ci <reg32 offset="0x0c8d" name="GRAS_PERFCTR_RAS_SEL_1" type="a4xx_gras_ras_perfcounter_select"/> 1938bf215546Sopenharmony_ci <reg32 offset="0x0c8e" name="GRAS_PERFCTR_RAS_SEL_2" type="a4xx_gras_ras_perfcounter_select"/> 1939bf215546Sopenharmony_ci <reg32 offset="0x0c8f" name="GRAS_PERFCTR_RAS_SEL_3" type="a4xx_gras_ras_perfcounter_select"/> 1940bf215546Sopenharmony_ci <reg32 offset="0x2000" name="GRAS_CL_CLIP_CNTL"> 1941bf215546Sopenharmony_ci <bitfield name="CLIP_DISABLE" pos="15" type="boolean"/> 1942bf215546Sopenharmony_ci <bitfield name="ZNEAR_CLIP_DISABLE" pos="16" type="boolean"/> 1943bf215546Sopenharmony_ci <bitfield name="ZFAR_CLIP_DISABLE" pos="17" type="boolean"/> 1944bf215546Sopenharmony_ci <bitfield name="ZERO_GB_SCALE_Z" pos="22" type="boolean"/> 1945bf215546Sopenharmony_ci </reg32> 1946bf215546Sopenharmony_ci <reg32 offset="0x2003" name="GRAS_CNTL"> 1947bf215546Sopenharmony_ci <bitfield name="IJ_PERSP" pos="0" type="boolean"/> 1948bf215546Sopenharmony_ci <bitfield name="IJ_LINEAR" pos="1" type="boolean"/> 1949bf215546Sopenharmony_ci </reg32> 1950bf215546Sopenharmony_ci <reg32 offset="0x2004" name="GRAS_CL_GB_CLIP_ADJ"> 1951bf215546Sopenharmony_ci <bitfield name="HORZ" low="0" high="9" type="uint"/> 1952bf215546Sopenharmony_ci <bitfield name="VERT" low="10" high="19" type="uint"/> 1953bf215546Sopenharmony_ci </reg32> 1954bf215546Sopenharmony_ci <reg32 offset="0x2008" name="GRAS_CL_VPORT_XOFFSET_0" type="float"/> 1955bf215546Sopenharmony_ci <reg32 offset="0x2009" name="GRAS_CL_VPORT_XSCALE_0" type="float"/> 1956bf215546Sopenharmony_ci <reg32 offset="0x200a" name="GRAS_CL_VPORT_YOFFSET_0" type="float"/> 1957bf215546Sopenharmony_ci <reg32 offset="0x200b" name="GRAS_CL_VPORT_YSCALE_0" type="float"/> 1958bf215546Sopenharmony_ci <reg32 offset="0x200c" name="GRAS_CL_VPORT_ZOFFSET_0" type="float"/> 1959bf215546Sopenharmony_ci <reg32 offset="0x200d" name="GRAS_CL_VPORT_ZSCALE_0" type="float"/> 1960bf215546Sopenharmony_ci <reg32 offset="0x2070" name="GRAS_SU_POINT_MINMAX"> 1961bf215546Sopenharmony_ci <bitfield name="MIN" low="0" high="15" type="ufixed" radix="4"/> 1962bf215546Sopenharmony_ci <bitfield name="MAX" low="16" high="31" type="ufixed" radix="4"/> 1963bf215546Sopenharmony_ci </reg32> 1964bf215546Sopenharmony_ci <reg32 offset="0x2071" name="GRAS_SU_POINT_SIZE" type="fixed" radix="4"/> 1965bf215546Sopenharmony_ci <reg32 offset="0x2073" name="GRAS_ALPHA_CONTROL"> 1966bf215546Sopenharmony_ci <bitfield name="ALPHA_TEST_ENABLE" pos="2" type="boolean"/> 1967bf215546Sopenharmony_ci <bitfield name="FORCE_FRAGZ_TO_FS" pos="3" type="boolean"/> 1968bf215546Sopenharmony_ci </reg32> 1969bf215546Sopenharmony_ci <reg32 offset="0x2074" name="GRAS_SU_POLY_OFFSET_SCALE" type="float"/> 1970bf215546Sopenharmony_ci <reg32 offset="0x2075" name="GRAS_SU_POLY_OFFSET_OFFSET" type="float"/> 1971bf215546Sopenharmony_ci <reg32 offset="0x2076" name="GRAS_SU_POLY_OFFSET_CLAMP" type="float"/> 1972bf215546Sopenharmony_ci <reg32 offset="0x2077" name="GRAS_DEPTH_CONTROL"> 1973bf215546Sopenharmony_ci <!-- guestimating that this is GRAS based on addr --> 1974bf215546Sopenharmony_ci <bitfield name="FORMAT" low="0" high="1" type="a4xx_depth_format"/> 1975bf215546Sopenharmony_ci </reg32> 1976bf215546Sopenharmony_ci <reg32 offset="0x2078" name="GRAS_SU_MODE_CONTROL"> 1977bf215546Sopenharmony_ci <bitfield name="CULL_FRONT" pos="0" type="boolean"/> 1978bf215546Sopenharmony_ci <bitfield name="CULL_BACK" pos="1" type="boolean"/> 1979bf215546Sopenharmony_ci <bitfield name="FRONT_CW" pos="2" type="boolean"/> 1980bf215546Sopenharmony_ci <bitfield name="LINEHALFWIDTH" low="3" high="10" radix="2" type="fixed"/> 1981bf215546Sopenharmony_ci <bitfield name="POLY_OFFSET" pos="11" type="boolean"/> 1982bf215546Sopenharmony_ci <bitfield name="MSAA_ENABLE" pos="13" type="boolean"/> 1983bf215546Sopenharmony_ci <!-- bit20 set whenever RENDER_MODE = RB_RENDERING_PASS --> 1984bf215546Sopenharmony_ci <bitfield name="RENDERING_PASS" pos="20" type="boolean"/> 1985bf215546Sopenharmony_ci </reg32> 1986bf215546Sopenharmony_ci <reg32 offset="0x207b" name="GRAS_SC_CONTROL"> 1987bf215546Sopenharmony_ci <!-- complete wild-ass-guess for sizes of these bitfields.. --> 1988bf215546Sopenharmony_ci <bitfield name="RENDER_MODE" low="2" high="3" type="a3xx_render_mode"/> 1989bf215546Sopenharmony_ci <bitfield name="MSAA_SAMPLES" low="7" high="9" type="uint"/> 1990bf215546Sopenharmony_ci <bitfield name="MSAA_DISABLE" pos="11" type="boolean"/> 1991bf215546Sopenharmony_ci <bitfield name="RASTER_MODE" low="12" high="15"/> 1992bf215546Sopenharmony_ci </reg32> 1993bf215546Sopenharmony_ci <reg32 offset="0x207c" name="GRAS_SC_SCREEN_SCISSOR_TL" type="adreno_reg_xy"/> 1994bf215546Sopenharmony_ci <reg32 offset="0x207d" name="GRAS_SC_SCREEN_SCISSOR_BR" type="adreno_reg_xy"/> 1995bf215546Sopenharmony_ci <reg32 offset="0x209c" name="GRAS_SC_WINDOW_SCISSOR_BR" type="adreno_reg_xy"/> 1996bf215546Sopenharmony_ci <reg32 offset="0x209d" name="GRAS_SC_WINDOW_SCISSOR_TL" type="adreno_reg_xy"/> 1997bf215546Sopenharmony_ci <reg32 offset="0x209e" name="GRAS_SC_EXTENT_WINDOW_BR" type="adreno_reg_xy"/> 1998bf215546Sopenharmony_ci <reg32 offset="0x209f" name="GRAS_SC_EXTENT_WINDOW_TL" type="adreno_reg_xy"/> 1999bf215546Sopenharmony_ci 2000bf215546Sopenharmony_ci <!-- UCHE registers --> 2001bf215546Sopenharmony_ci <reg32 offset="0x0e80" name="UCHE_CACHE_MODE_CONTROL"/> 2002bf215546Sopenharmony_ci <reg32 offset="0x0e83" name="UCHE_TRAP_BASE_LO"/> 2003bf215546Sopenharmony_ci <reg32 offset="0x0e84" name="UCHE_TRAP_BASE_HI"/> 2004bf215546Sopenharmony_ci <reg32 offset="0x0e88" name="UCHE_CACHE_STATUS"/> 2005bf215546Sopenharmony_ci <reg32 offset="0x0e8a" name="UCHE_INVALIDATE0"/> 2006bf215546Sopenharmony_ci <reg32 offset="0x0e8b" name="UCHE_INVALIDATE1"/> 2007bf215546Sopenharmony_ci <reg32 offset="0x0e8c" name="UCHE_CACHE_WAYS_VFD"/> 2008bf215546Sopenharmony_ci <reg32 offset="0x0e8e" name="UCHE_PERFCTR_UCHE_SEL_0" type="a4xx_uche_perfcounter_select"/> 2009bf215546Sopenharmony_ci <reg32 offset="0x0e8f" name="UCHE_PERFCTR_UCHE_SEL_1" type="a4xx_uche_perfcounter_select"/> 2010bf215546Sopenharmony_ci <reg32 offset="0x0e90" name="UCHE_PERFCTR_UCHE_SEL_2" type="a4xx_uche_perfcounter_select"/> 2011bf215546Sopenharmony_ci <reg32 offset="0x0e91" name="UCHE_PERFCTR_UCHE_SEL_3" type="a4xx_uche_perfcounter_select"/> 2012bf215546Sopenharmony_ci <reg32 offset="0x0e92" name="UCHE_PERFCTR_UCHE_SEL_4" type="a4xx_uche_perfcounter_select"/> 2013bf215546Sopenharmony_ci <reg32 offset="0x0e93" name="UCHE_PERFCTR_UCHE_SEL_5" type="a4xx_uche_perfcounter_select"/> 2014bf215546Sopenharmony_ci <reg32 offset="0x0e94" name="UCHE_PERFCTR_UCHE_SEL_6" type="a4xx_uche_perfcounter_select"/> 2015bf215546Sopenharmony_ci <reg32 offset="0x0e95" name="UCHE_PERFCTR_UCHE_SEL_7" type="a4xx_uche_perfcounter_select"/> 2016bf215546Sopenharmony_ci 2017bf215546Sopenharmony_ci <!-- HLSQ registers --> 2018bf215546Sopenharmony_ci <reg32 offset="0x0e00" name="HLSQ_TIMEOUT_THRESHOLD"/> 2019bf215546Sopenharmony_ci <reg32 offset="0x0e04" name="HLSQ_DEBUG_ECO_CONTROL"/> 2020bf215546Sopenharmony_ci <!-- always 00000000: --> 2021bf215546Sopenharmony_ci <reg32 offset="0x0e05" name="HLSQ_MODE_CONTROL"/> 2022bf215546Sopenharmony_ci <reg32 offset="0x0e0e" name="HLSQ_PERF_PIPE_MASK"/> 2023bf215546Sopenharmony_ci <reg32 offset="0x0e06" name="HLSQ_PERFCTR_HLSQ_SEL_0" type="a4xx_hlsq_perfcounter_select"/> 2024bf215546Sopenharmony_ci <reg32 offset="0x0e07" name="HLSQ_PERFCTR_HLSQ_SEL_1" type="a4xx_hlsq_perfcounter_select"/> 2025bf215546Sopenharmony_ci <reg32 offset="0x0e08" name="HLSQ_PERFCTR_HLSQ_SEL_2" type="a4xx_hlsq_perfcounter_select"/> 2026bf215546Sopenharmony_ci <reg32 offset="0x0e09" name="HLSQ_PERFCTR_HLSQ_SEL_3" type="a4xx_hlsq_perfcounter_select"/> 2027bf215546Sopenharmony_ci <reg32 offset="0x0e0a" name="HLSQ_PERFCTR_HLSQ_SEL_4" type="a4xx_hlsq_perfcounter_select"/> 2028bf215546Sopenharmony_ci <reg32 offset="0x0e0b" name="HLSQ_PERFCTR_HLSQ_SEL_5" type="a4xx_hlsq_perfcounter_select"/> 2029bf215546Sopenharmony_ci <reg32 offset="0x0e0c" name="HLSQ_PERFCTR_HLSQ_SEL_6" type="a4xx_hlsq_perfcounter_select"/> 2030bf215546Sopenharmony_ci <reg32 offset="0x0e0d" name="HLSQ_PERFCTR_HLSQ_SEL_7" type="a4xx_hlsq_perfcounter_select"/> 2031bf215546Sopenharmony_ci <reg32 offset="0x23c0" name="HLSQ_CONTROL_0_REG"> 2032bf215546Sopenharmony_ci <!-- I guess same as a3xx, but so far only seen 08000050 --> 2033bf215546Sopenharmony_ci <bitfield name="FSTHREADSIZE" pos="4" type="a3xx_threadsize"/> 2034bf215546Sopenharmony_ci <bitfield name="FSSUPERTHREADENABLE" pos="6" type="boolean"/> 2035bf215546Sopenharmony_ci <bitfield name="SPSHADERRESTART" pos="9" type="boolean"/> 2036bf215546Sopenharmony_ci <bitfield name="RESERVED2" pos="10" type="boolean"/> 2037bf215546Sopenharmony_ci <bitfield name="CHUNKDISABLE" pos="26" type="boolean"/> 2038bf215546Sopenharmony_ci <bitfield name="CONSTMODE" pos="27" type="uint"/> 2039bf215546Sopenharmony_ci <bitfield name="LAZYUPDATEDISABLE" pos="28" type="boolean"/> 2040bf215546Sopenharmony_ci <bitfield name="SPCONSTFULLUPDATE" pos="29" type="boolean"/> 2041bf215546Sopenharmony_ci <bitfield name="TPFULLUPDATE" pos="30" type="boolean"/> 2042bf215546Sopenharmony_ci <bitfield name="SINGLECONTEXT" pos="31" type="boolean"/> 2043bf215546Sopenharmony_ci </reg32> 2044bf215546Sopenharmony_ci <reg32 offset="0x23c1" name="HLSQ_CONTROL_1_REG"> 2045bf215546Sopenharmony_ci <bitfield name="VSTHREADSIZE" pos="6" type="a3xx_threadsize"/> 2046bf215546Sopenharmony_ci <bitfield name="VSSUPERTHREADENABLE" pos="8" type="boolean"/> 2047bf215546Sopenharmony_ci <bitfield name="RESERVED1" pos="9" type="boolean"/> 2048bf215546Sopenharmony_ci <bitfield name="COORDREGID" low="16" high="23" type="a3xx_regid"/> 2049bf215546Sopenharmony_ci <!-- set if gl_FragCoord.[zw] used in frag shader: --> 2050bf215546Sopenharmony_ci <bitfield name="ZWCOORDREGID" low="24" high="31" type="a3xx_regid"/> 2051bf215546Sopenharmony_ci </reg32> 2052bf215546Sopenharmony_ci <reg32 offset="0x23c2" name="HLSQ_CONTROL_2_REG"> 2053bf215546Sopenharmony_ci <bitfield name="PRIMALLOCTHRESHOLD" low="26" high="31" type="uint"/> 2054bf215546Sopenharmony_ci <bitfield name="FACEREGID" low="2" high="9" type="a3xx_regid"/> 2055bf215546Sopenharmony_ci <bitfield name="SAMPLEID_REGID" low="10" high="17" type="a3xx_regid"/> 2056bf215546Sopenharmony_ci <bitfield name="SAMPLEMASK_REGID" low="18" high="25" type="a3xx_regid"/> 2057bf215546Sopenharmony_ci </reg32> 2058bf215546Sopenharmony_ci <reg32 offset="0x23c3" name="HLSQ_CONTROL_3_REG"> 2059bf215546Sopenharmony_ci <!-- register loaded with position (bary.f) --> 2060bf215546Sopenharmony_ci <bitfield name="IJ_PERSP_PIXEL" low="0" high="7" type="a3xx_regid"/> 2061bf215546Sopenharmony_ci <bitfield name="IJ_LINEAR_PIXEL" low="8" high="15" type="a3xx_regid"/> 2062bf215546Sopenharmony_ci <bitfield name="IJ_PERSP_CENTROID" low="16" high="23" type="a3xx_regid"/> 2063bf215546Sopenharmony_ci <bitfield name="IJ_LINEAR_CENTROID" low="24" high="31" type="a3xx_regid"/> 2064bf215546Sopenharmony_ci </reg32> 2065bf215546Sopenharmony_ci <!-- 0x23c4 3 regids, lowest one goes to 0 when *not* per-sample shading --> 2066bf215546Sopenharmony_ci <reg32 offset="0x23c4" name="HLSQ_CONTROL_4_REG"> 2067bf215546Sopenharmony_ci <bitfield name="IJ_PERSP_SAMPLE" low="0" high="7" type="a3xx_regid"/> 2068bf215546Sopenharmony_ci <bitfield name="IJ_LINEAR_SAMPLE" low="8" high="15" type="a3xx_regid"/> 2069bf215546Sopenharmony_ci </reg32> 2070bf215546Sopenharmony_ci 2071bf215546Sopenharmony_ci <bitset name="a4xx_xs_control_reg" inline="yes"> 2072bf215546Sopenharmony_ci <bitfield name="CONSTLENGTH" low="0" high="7" type="uint"/> 2073bf215546Sopenharmony_ci <bitfield name="CONSTOBJECTOFFSET" low="8" high="14" type="uint"/> 2074bf215546Sopenharmony_ci <bitfield name="SSBO_ENABLE" pos="15" type="boolean"/> 2075bf215546Sopenharmony_ci <bitfield name="ENABLED" pos="16" type="boolean"/> 2076bf215546Sopenharmony_ci <bitfield name="SHADEROBJOFFSET" low="17" high="23" type="uint"/> 2077bf215546Sopenharmony_ci <bitfield name="INSTRLENGTH" low="24" high="31" type="uint"/> 2078bf215546Sopenharmony_ci </bitset> 2079bf215546Sopenharmony_ci <reg32 offset="0x23c5" name="HLSQ_VS_CONTROL_REG" type="a4xx_xs_control_reg"/> 2080bf215546Sopenharmony_ci <reg32 offset="0x23c6" name="HLSQ_FS_CONTROL_REG" type="a4xx_xs_control_reg"/> 2081bf215546Sopenharmony_ci <reg32 offset="0x23c7" name="HLSQ_HS_CONTROL_REG" type="a4xx_xs_control_reg"/> 2082bf215546Sopenharmony_ci <reg32 offset="0x23c8" name="HLSQ_DS_CONTROL_REG" type="a4xx_xs_control_reg"/> 2083bf215546Sopenharmony_ci <reg32 offset="0x23c9" name="HLSQ_GS_CONTROL_REG" type="a4xx_xs_control_reg"/> 2084bf215546Sopenharmony_ci <reg32 offset="0x23ca" name="HLSQ_CS_CONTROL_REG" type="a4xx_xs_control_reg"/> 2085bf215546Sopenharmony_ci <reg32 offset="0x23cd" name="HLSQ_CL_NDRANGE_0"> 2086bf215546Sopenharmony_ci <bitfield name="KERNELDIM" low="0" high="1" type="uint"/> 2087bf215546Sopenharmony_ci <!-- localsize is value minus one: --> 2088bf215546Sopenharmony_ci <bitfield name="LOCALSIZEX" low="2" high="11" type="uint"/> 2089bf215546Sopenharmony_ci <bitfield name="LOCALSIZEY" low="12" high="21" type="uint"/> 2090bf215546Sopenharmony_ci <bitfield name="LOCALSIZEZ" low="22" high="31" type="uint"/> 2091bf215546Sopenharmony_ci </reg32> 2092bf215546Sopenharmony_ci <reg32 offset="0x23ce" name="HLSQ_CL_NDRANGE_1"> 2093bf215546Sopenharmony_ci <bitfield name="SIZE_X" low="0" high="31" type="uint"/> 2094bf215546Sopenharmony_ci </reg32> 2095bf215546Sopenharmony_ci <reg32 offset="0x23cf" name="HLSQ_CL_NDRANGE_2"/> 2096bf215546Sopenharmony_ci <reg32 offset="0x23d0" name="HLSQ_CL_NDRANGE_3"> 2097bf215546Sopenharmony_ci <bitfield name="SIZE_Y" low="0" high="31" type="uint"/> 2098bf215546Sopenharmony_ci </reg32> 2099bf215546Sopenharmony_ci <reg32 offset="0x23d1" name="HLSQ_CL_NDRANGE_4"/> 2100bf215546Sopenharmony_ci <reg32 offset="0x23d2" name="HLSQ_CL_NDRANGE_5"> 2101bf215546Sopenharmony_ci <bitfield name="SIZE_Z" low="0" high="31" type="uint"/> 2102bf215546Sopenharmony_ci </reg32> 2103bf215546Sopenharmony_ci <reg32 offset="0x23d3" name="HLSQ_CL_NDRANGE_6"/> 2104bf215546Sopenharmony_ci <reg32 offset="0x23d4" name="HLSQ_CL_CONTROL_0"> 2105bf215546Sopenharmony_ci <bitfield name="WGIDCONSTID" low="0" high="11" type="a3xx_regid"/> 2106bf215546Sopenharmony_ci <bitfield name="KERNELDIMCONSTID" low="12" high="23" type="a3xx_regid"/> 2107bf215546Sopenharmony_ci <bitfield name="LOCALIDREGID" low="24" high="31" type="a3xx_regid"/> 2108bf215546Sopenharmony_ci </reg32> 2109bf215546Sopenharmony_ci <reg32 offset="0x23d5" name="HLSQ_CL_CONTROL_1"> 2110bf215546Sopenharmony_ci <!-- GLOBALSIZECONSTID? "kernel size" --> 2111bf215546Sopenharmony_ci <bitfield name="UNK0CONSTID" low="0" high="11" type="a3xx_regid"/> 2112bf215546Sopenharmony_ci <bitfield name="WORKGROUPSIZECONSTID" low="12" high="23" type="a3xx_regid"/> 2113bf215546Sopenharmony_ci </reg32> 2114bf215546Sopenharmony_ci <reg32 offset="0x23d6" name="HLSQ_CL_KERNEL_CONST"> 2115bf215546Sopenharmony_ci <!-- GLOBALOFFSETCONSTID --> 2116bf215546Sopenharmony_ci <bitfield name="UNK0CONSTID" low="0" high="11" type="a3xx_regid"/> 2117bf215546Sopenharmony_ci <bitfield name="NUMWGCONSTID" low="12" high="23" type="a3xx_regid"/> 2118bf215546Sopenharmony_ci </reg32> 2119bf215546Sopenharmony_ci <reg32 offset="0x23d7" name="HLSQ_CL_KERNEL_GROUP_X"/> 2120bf215546Sopenharmony_ci <reg32 offset="0x23d8" name="HLSQ_CL_KERNEL_GROUP_Y"/> 2121bf215546Sopenharmony_ci <reg32 offset="0x23d9" name="HLSQ_CL_KERNEL_GROUP_Z"/> 2122bf215546Sopenharmony_ci <reg32 offset="0x23da" name="HLSQ_CL_WG_OFFSET"> 2123bf215546Sopenharmony_ci <!-- WGOFFSETCONSTID --> 2124bf215546Sopenharmony_ci <bitfield name="UNK0CONSTID" low="0" high="11" type="a3xx_regid"/> 2125bf215546Sopenharmony_ci </reg32> 2126bf215546Sopenharmony_ci <reg32 offset="0x23db" name="HLSQ_UPDATE_CONTROL"/> 2127bf215546Sopenharmony_ci 2128bf215546Sopenharmony_ci <!-- PC registers --> 2129bf215546Sopenharmony_ci <reg32 offset="0x0d00" name="PC_BINNING_COMMAND"> 2130bf215546Sopenharmony_ci <bitfield name="BINNING_ENABLE" pos="0" type="boolean"/> 2131bf215546Sopenharmony_ci </reg32> 2132bf215546Sopenharmony_ci <reg32 offset="0x0d08" name="PC_TESSFACTOR_ADDR"/> 2133bf215546Sopenharmony_ci <reg32 offset="0x0d0c" name="PC_DRAWCALL_SETUP_OVERRIDE"/> 2134bf215546Sopenharmony_ci <reg32 offset="0x0d10" name="PC_PERFCTR_PC_SEL_0" type="a4xx_pc_perfcounter_select"/> 2135bf215546Sopenharmony_ci <reg32 offset="0x0d11" name="PC_PERFCTR_PC_SEL_1" type="a4xx_pc_perfcounter_select"/> 2136bf215546Sopenharmony_ci <reg32 offset="0x0d12" name="PC_PERFCTR_PC_SEL_2" type="a4xx_pc_perfcounter_select"/> 2137bf215546Sopenharmony_ci <reg32 offset="0x0d13" name="PC_PERFCTR_PC_SEL_3" type="a4xx_pc_perfcounter_select"/> 2138bf215546Sopenharmony_ci <reg32 offset="0x0d14" name="PC_PERFCTR_PC_SEL_4" type="a4xx_pc_perfcounter_select"/> 2139bf215546Sopenharmony_ci <reg32 offset="0x0d15" name="PC_PERFCTR_PC_SEL_5" type="a4xx_pc_perfcounter_select"/> 2140bf215546Sopenharmony_ci <reg32 offset="0x0d16" name="PC_PERFCTR_PC_SEL_6" type="a4xx_pc_perfcounter_select"/> 2141bf215546Sopenharmony_ci <reg32 offset="0x0d17" name="PC_PERFCTR_PC_SEL_7" type="a4xx_pc_perfcounter_select"/> 2142bf215546Sopenharmony_ci <reg32 offset="0x21c0" name="PC_BIN_BASE"/> 2143bf215546Sopenharmony_ci <reg32 offset="0x21c2" name="PC_VSTREAM_CONTROL"> 2144bf215546Sopenharmony_ci <doc>SIZE is current pipe width * height (in tiles)</doc> 2145bf215546Sopenharmony_ci <bitfield name="SIZE" low="16" high="21" type="uint"/> 2146bf215546Sopenharmony_ci <doc> 2147bf215546Sopenharmony_ci N is some sort of slot # between 0..(SIZE-1). In case 2148bf215546Sopenharmony_ci multiple tiles use same pipe, each tile gets unique slot # 2149bf215546Sopenharmony_ci </doc> 2150bf215546Sopenharmony_ci <bitfield name="N" low="22" high="26" type="uint"/> 2151bf215546Sopenharmony_ci </reg32> 2152bf215546Sopenharmony_ci <reg32 offset="0x21c4" name="PC_PRIM_VTX_CNTL"> 2153bf215546Sopenharmony_ci <!-- bit0 set if there is >= 1 varying (actually used by FS) --> 2154bf215546Sopenharmony_ci <bitfield name="VAROUT" low="0" high="3" type="uint"> 2155bf215546Sopenharmony_ci <doc>in groups of 4x vec4, blob only uses values 2156bf215546Sopenharmony_ci 0, 1, 2, 4, 6, 8</doc> 2157bf215546Sopenharmony_ci </bitfield> 2158bf215546Sopenharmony_ci <bitfield name="PRIMITIVE_RESTART" pos="20" type="boolean"/> 2159bf215546Sopenharmony_ci <bitfield name="PROVOKING_VTX_LAST" pos="25" type="boolean"/> 2160bf215546Sopenharmony_ci <!-- PSIZE bit set if gl_PointSize written: --> 2161bf215546Sopenharmony_ci <bitfield name="PSIZE" pos="26" type="boolean"/> 2162bf215546Sopenharmony_ci </reg32> 2163bf215546Sopenharmony_ci <reg32 offset="0x21c5" name="PC_PRIM_VTX_CNTL2"> 2164bf215546Sopenharmony_ci <bitfield name="POLYMODE_FRONT_PTYPE" low="0" high="2" type="adreno_pa_su_sc_draw"/> 2165bf215546Sopenharmony_ci <bitfield name="POLYMODE_BACK_PTYPE" low="3" high="5" type="adreno_pa_su_sc_draw"/> 2166bf215546Sopenharmony_ci <bitfield name="POLYMODE_ENABLE" pos="6" type="boolean"/> 2167bf215546Sopenharmony_ci </reg32> 2168bf215546Sopenharmony_ci <reg32 offset="0x21c6" name="PC_RESTART_INDEX"/> 2169bf215546Sopenharmony_ci <reg32 offset="0x21e5" name="PC_GS_PARAM"> 2170bf215546Sopenharmony_ci <bitfield name="MAX_VERTICES" low="0" high="9" type="uint"/><!-- +1, i.e. max is 1024 --> 2171bf215546Sopenharmony_ci <bitfield name="INVOCATIONS" low="11" high="15" type="uint"/><!-- +1, i.e. max is 32 --> 2172bf215546Sopenharmony_ci <bitfield name="PRIMTYPE" low="23" high="24" type="adreno_pa_su_sc_draw"/> 2173bf215546Sopenharmony_ci <bitfield name="LAYER" pos="31" type="boolean"/> 2174bf215546Sopenharmony_ci </reg32> 2175bf215546Sopenharmony_ci <reg32 offset="0x21e7" name="PC_HS_PARAM"> 2176bf215546Sopenharmony_ci <bitfield name="VERTICES_OUT" low="0" high="5" type="uint"/> 2177bf215546Sopenharmony_ci <bitfield name="SPACING" low="21" high="22" type="a4xx_tess_spacing"/> 2178bf215546Sopenharmony_ci <bitfield name="CW" pos="23" type="boolean"/> 2179bf215546Sopenharmony_ci <bitfield name="CONNECTED" pos="24" type="boolean"/> 2180bf215546Sopenharmony_ci </reg32> 2181bf215546Sopenharmony_ci 2182bf215546Sopenharmony_ci <!-- VBIF registers --> 2183bf215546Sopenharmony_ci <reg32 offset="0x3000" name="VBIF_VERSION"/> 2184bf215546Sopenharmony_ci <reg32 offset="0x3001" name="VBIF_CLKON"> 2185bf215546Sopenharmony_ci <bitfield name="FORCE_ON_TESTBUS" pos="0" type="boolean"/> 2186bf215546Sopenharmony_ci </reg32> 2187bf215546Sopenharmony_ci <reg32 offset="0x301c" name="VBIF_ABIT_SORT"/> 2188bf215546Sopenharmony_ci <reg32 offset="0x301d" name="VBIF_ABIT_SORT_CONF"/> 2189bf215546Sopenharmony_ci <reg32 offset="0x302a" name="VBIF_GATE_OFF_WRREQ_EN"/> 2190bf215546Sopenharmony_ci <reg32 offset="0x302c" name="VBIF_IN_RD_LIM_CONF0"/> 2191bf215546Sopenharmony_ci <reg32 offset="0x302d" name="VBIF_IN_RD_LIM_CONF1"/> 2192bf215546Sopenharmony_ci <reg32 offset="0x3030" name="VBIF_IN_WR_LIM_CONF0"/> 2193bf215546Sopenharmony_ci <reg32 offset="0x3031" name="VBIF_IN_WR_LIM_CONF1"/> 2194bf215546Sopenharmony_ci <reg32 offset="0x3049" name="VBIF_ROUND_ROBIN_QOS_ARB"/> 2195bf215546Sopenharmony_ci <reg32 offset="0x30c0" name="VBIF_PERF_CNT_EN0"/> 2196bf215546Sopenharmony_ci <reg32 offset="0x30c1" name="VBIF_PERF_CNT_EN1"/> 2197bf215546Sopenharmony_ci <reg32 offset="0x30c2" name="VBIF_PERF_CNT_EN2"/> 2198bf215546Sopenharmony_ci <reg32 offset="0x30c3" name="VBIF_PERF_CNT_EN3"/> 2199bf215546Sopenharmony_ci <reg32 offset="0x30d0" name="VBIF_PERF_CNT_SEL0" type="a4xx_vbif_perfcounter_select"/> 2200bf215546Sopenharmony_ci <reg32 offset="0x30d1" name="VBIF_PERF_CNT_SEL1" type="a4xx_vbif_perfcounter_select"/> 2201bf215546Sopenharmony_ci <reg32 offset="0x30d2" name="VBIF_PERF_CNT_SEL2" type="a4xx_vbif_perfcounter_select"/> 2202bf215546Sopenharmony_ci <reg32 offset="0x30d3" name="VBIF_PERF_CNT_SEL3" type="a4xx_vbif_perfcounter_select"/> 2203bf215546Sopenharmony_ci <reg32 offset="0x30d8" name="VBIF_PERF_CNT_LOW0"/> 2204bf215546Sopenharmony_ci <reg32 offset="0x30d9" name="VBIF_PERF_CNT_LOW1"/> 2205bf215546Sopenharmony_ci <reg32 offset="0x30da" name="VBIF_PERF_CNT_LOW2"/> 2206bf215546Sopenharmony_ci <reg32 offset="0x30db" name="VBIF_PERF_CNT_LOW3"/> 2207bf215546Sopenharmony_ci <reg32 offset="0x30e0" name="VBIF_PERF_CNT_HIGH0"/> 2208bf215546Sopenharmony_ci <reg32 offset="0x30e1" name="VBIF_PERF_CNT_HIGH1"/> 2209bf215546Sopenharmony_ci <reg32 offset="0x30e2" name="VBIF_PERF_CNT_HIGH2"/> 2210bf215546Sopenharmony_ci <reg32 offset="0x30e3" name="VBIF_PERF_CNT_HIGH3"/> 2211bf215546Sopenharmony_ci <reg32 offset="0x3100" name="VBIF_PERF_PWR_CNT_EN0"/> 2212bf215546Sopenharmony_ci <reg32 offset="0x3101" name="VBIF_PERF_PWR_CNT_EN1"/> 2213bf215546Sopenharmony_ci <reg32 offset="0x3102" name="VBIF_PERF_PWR_CNT_EN2"/> 2214bf215546Sopenharmony_ci 2215bf215546Sopenharmony_ci <!-- 2216bf215546Sopenharmony_ci Unknown registers: 2217bf215546Sopenharmony_ci (mostly related to DX11 features not used yet, I guess?) 2218bf215546Sopenharmony_ci --> 2219bf215546Sopenharmony_ci 2220bf215546Sopenharmony_ci <!-- always 00000006: --> 2221bf215546Sopenharmony_ci <reg32 offset="0x0cc5" name="UNKNOWN_0CC5"/> 2222bf215546Sopenharmony_ci 2223bf215546Sopenharmony_ci <!-- always 00000000: --> 2224bf215546Sopenharmony_ci <reg32 offset="0x0cc6" name="UNKNOWN_0CC6"/> 2225bf215546Sopenharmony_ci 2226bf215546Sopenharmony_ci <!-- always 00000001: --> 2227bf215546Sopenharmony_ci <reg32 offset="0x0d01" name="UNKNOWN_0D01"/> 2228bf215546Sopenharmony_ci 2229bf215546Sopenharmony_ci <!-- always 00000000: --> 2230bf215546Sopenharmony_ci <reg32 offset="0x0e42" name="UNKNOWN_0E42"/> 2231bf215546Sopenharmony_ci 2232bf215546Sopenharmony_ci <!-- always 00040000: --> 2233bf215546Sopenharmony_ci <reg32 offset="0x0ec2" name="UNKNOWN_0EC2"/> 2234bf215546Sopenharmony_ci 2235bf215546Sopenharmony_ci <!-- always 00000000: --> 2236bf215546Sopenharmony_ci <reg32 offset="0x2001" name="UNKNOWN_2001"/> 2237bf215546Sopenharmony_ci 2238bf215546Sopenharmony_ci <!-- always 00000000: --> 2239bf215546Sopenharmony_ci <reg32 offset="0x209b" name="UNKNOWN_209B"/> 2240bf215546Sopenharmony_ci 2241bf215546Sopenharmony_ci <!-- always 00000000: --> 2242bf215546Sopenharmony_ci <reg32 offset="0x20ef" name="UNKNOWN_20EF"/> 2243bf215546Sopenharmony_ci 2244bf215546Sopenharmony_ci <!-- always 00000000: --> 2245bf215546Sopenharmony_ci <reg32 offset="0x2152" name="UNKNOWN_2152"/> 2246bf215546Sopenharmony_ci 2247bf215546Sopenharmony_ci <!-- always 00000000: --> 2248bf215546Sopenharmony_ci <reg32 offset="0x2153" name="UNKNOWN_2153"/> 2249bf215546Sopenharmony_ci 2250bf215546Sopenharmony_ci <!-- always 00000000: --> 2251bf215546Sopenharmony_ci <reg32 offset="0x2154" name="UNKNOWN_2154"/> 2252bf215546Sopenharmony_ci 2253bf215546Sopenharmony_ci <!-- always 00000000: --> 2254bf215546Sopenharmony_ci <reg32 offset="0x2155" name="UNKNOWN_2155"/> 2255bf215546Sopenharmony_ci 2256bf215546Sopenharmony_ci <!-- always 00000000: --> 2257bf215546Sopenharmony_ci <reg32 offset="0x2156" name="UNKNOWN_2156"/> 2258bf215546Sopenharmony_ci 2259bf215546Sopenharmony_ci <!-- always 00000000: --> 2260bf215546Sopenharmony_ci <reg32 offset="0x2157" name="UNKNOWN_2157"/> 2261bf215546Sopenharmony_ci 2262bf215546Sopenharmony_ci <!-- always 0000000b: --> 2263bf215546Sopenharmony_ci <reg32 offset="0x21c3" name="UNKNOWN_21C3"/> 2264bf215546Sopenharmony_ci 2265bf215546Sopenharmony_ci <!-- always 00000001: --> 2266bf215546Sopenharmony_ci <reg32 offset="0x21e6" name="UNKNOWN_21E6"/> 2267bf215546Sopenharmony_ci 2268bf215546Sopenharmony_ci <!-- always 00000000: --> 2269bf215546Sopenharmony_ci <reg32 offset="0x2209" name="UNKNOWN_2209"/> 2270bf215546Sopenharmony_ci 2271bf215546Sopenharmony_ci <!-- always 00000000: --> 2272bf215546Sopenharmony_ci <reg32 offset="0x22d7" name="UNKNOWN_22D7"/> 2273bf215546Sopenharmony_ci 2274bf215546Sopenharmony_ci <!-- always 00fcfc00: --> 2275bf215546Sopenharmony_ci <reg32 offset="0x2352" name="UNKNOWN_2352"/> 2276bf215546Sopenharmony_ci 2277bf215546Sopenharmony_ci</domain> 2278bf215546Sopenharmony_ci 2279bf215546Sopenharmony_ci 2280bf215546Sopenharmony_ci<domain name="A4XX_TEX_SAMP" width="32"> 2281bf215546Sopenharmony_ci <doc>Texture sampler dwords</doc> 2282bf215546Sopenharmony_ci <enum name="a4xx_tex_filter"> 2283bf215546Sopenharmony_ci <value name="A4XX_TEX_NEAREST" value="0"/> 2284bf215546Sopenharmony_ci <value name="A4XX_TEX_LINEAR" value="1"/> 2285bf215546Sopenharmony_ci <value name="A4XX_TEX_ANISO" value="2"/> 2286bf215546Sopenharmony_ci </enum> 2287bf215546Sopenharmony_ci <enum name="a4xx_tex_clamp"> 2288bf215546Sopenharmony_ci <value name="A4XX_TEX_REPEAT" value="0"/> 2289bf215546Sopenharmony_ci <value name="A4XX_TEX_CLAMP_TO_EDGE" value="1"/> 2290bf215546Sopenharmony_ci <value name="A4XX_TEX_MIRROR_REPEAT" value="2"/> 2291bf215546Sopenharmony_ci <value name="A4XX_TEX_CLAMP_TO_BORDER" value="3"/> 2292bf215546Sopenharmony_ci <value name="A4XX_TEX_MIRROR_CLAMP" value="4"/> 2293bf215546Sopenharmony_ci </enum> 2294bf215546Sopenharmony_ci <enum name="a4xx_tex_aniso"> 2295bf215546Sopenharmony_ci <value name="A4XX_TEX_ANISO_1" value="0"/> 2296bf215546Sopenharmony_ci <value name="A4XX_TEX_ANISO_2" value="1"/> 2297bf215546Sopenharmony_ci <value name="A4XX_TEX_ANISO_4" value="2"/> 2298bf215546Sopenharmony_ci <value name="A4XX_TEX_ANISO_8" value="3"/> 2299bf215546Sopenharmony_ci <value name="A4XX_TEX_ANISO_16" value="4"/> 2300bf215546Sopenharmony_ci </enum> 2301bf215546Sopenharmony_ci <reg32 offset="0" name="0"> 2302bf215546Sopenharmony_ci <bitfield name="MIPFILTER_LINEAR_NEAR" pos="0" type="boolean"/> 2303bf215546Sopenharmony_ci <bitfield name="XY_MAG" low="1" high="2" type="a4xx_tex_filter"/> 2304bf215546Sopenharmony_ci <bitfield name="XY_MIN" low="3" high="4" type="a4xx_tex_filter"/> 2305bf215546Sopenharmony_ci <bitfield name="WRAP_S" low="5" high="7" type="a4xx_tex_clamp"/> 2306bf215546Sopenharmony_ci <bitfield name="WRAP_T" low="8" high="10" type="a4xx_tex_clamp"/> 2307bf215546Sopenharmony_ci <bitfield name="WRAP_R" low="11" high="13" type="a4xx_tex_clamp"/> 2308bf215546Sopenharmony_ci <bitfield name="ANISO" low="14" high="16" type="a4xx_tex_aniso"/> 2309bf215546Sopenharmony_ci <bitfield name="LOD_BIAS" low="19" high="31" type="fixed" radix="8"/><!-- no idea how many bits for real --> 2310bf215546Sopenharmony_ci </reg32> 2311bf215546Sopenharmony_ci <reg32 offset="1" name="1"> 2312bf215546Sopenharmony_ci <bitfield name="COMPARE_FUNC" low="1" high="3" type="adreno_compare_func"/> 2313bf215546Sopenharmony_ci <bitfield name="CUBEMAPSEAMLESSFILTOFF" pos="4" type="boolean"/> 2314bf215546Sopenharmony_ci <bitfield name="UNNORM_COORDS" pos="5" type="boolean"/> 2315bf215546Sopenharmony_ci <bitfield name="MIPFILTER_LINEAR_FAR" pos="6" type="boolean"/> 2316bf215546Sopenharmony_ci <bitfield name="MAX_LOD" low="8" high="19" type="ufixed" radix="8"/> 2317bf215546Sopenharmony_ci <bitfield name="MIN_LOD" low="20" high="31" type="ufixed" radix="8"/> 2318bf215546Sopenharmony_ci </reg32> 2319bf215546Sopenharmony_ci</domain> 2320bf215546Sopenharmony_ci 2321bf215546Sopenharmony_ci<domain name="A4XX_TEX_CONST" width="32"> 2322bf215546Sopenharmony_ci <doc>Texture constant dwords</doc> 2323bf215546Sopenharmony_ci <enum name="a4xx_tex_swiz"> 2324bf215546Sopenharmony_ci <!-- same as a2xx? --> 2325bf215546Sopenharmony_ci <value name="A4XX_TEX_X" value="0"/> 2326bf215546Sopenharmony_ci <value name="A4XX_TEX_Y" value="1"/> 2327bf215546Sopenharmony_ci <value name="A4XX_TEX_Z" value="2"/> 2328bf215546Sopenharmony_ci <value name="A4XX_TEX_W" value="3"/> 2329bf215546Sopenharmony_ci <value name="A4XX_TEX_ZERO" value="4"/> 2330bf215546Sopenharmony_ci <value name="A4XX_TEX_ONE" value="5"/> 2331bf215546Sopenharmony_ci </enum> 2332bf215546Sopenharmony_ci <enum name="a4xx_tex_type"> 2333bf215546Sopenharmony_ci <value name="A4XX_TEX_1D" value="0"/> 2334bf215546Sopenharmony_ci <value name="A4XX_TEX_2D" value="1"/> 2335bf215546Sopenharmony_ci <value name="A4XX_TEX_CUBE" value="2"/> 2336bf215546Sopenharmony_ci <value name="A4XX_TEX_3D" value="3"/> 2337bf215546Sopenharmony_ci <value name="A4XX_TEX_BUFFER" value="4"/> 2338bf215546Sopenharmony_ci </enum> 2339bf215546Sopenharmony_ci <reg32 offset="0" name="0"> 2340bf215546Sopenharmony_ci <bitfield name="TILED" pos="0" type="boolean"/> 2341bf215546Sopenharmony_ci <bitfield name="SRGB" pos="2" type="boolean"/> 2342bf215546Sopenharmony_ci <bitfield name="SWIZ_X" low="4" high="6" type="a4xx_tex_swiz"/> 2343bf215546Sopenharmony_ci <bitfield name="SWIZ_Y" low="7" high="9" type="a4xx_tex_swiz"/> 2344bf215546Sopenharmony_ci <bitfield name="SWIZ_Z" low="10" high="12" type="a4xx_tex_swiz"/> 2345bf215546Sopenharmony_ci <bitfield name="SWIZ_W" low="13" high="15" type="a4xx_tex_swiz"/> 2346bf215546Sopenharmony_ci <bitfield name="MIPLVLS" low="16" high="19" type="uint"/> 2347bf215546Sopenharmony_ci <bitfield name="FMT" low="22" high="28" type="a4xx_tex_fmt"/> 2348bf215546Sopenharmony_ci <bitfield name="TYPE" low="29" high="31" type="a4xx_tex_type"/> 2349bf215546Sopenharmony_ci </reg32> 2350bf215546Sopenharmony_ci <reg32 offset="1" name="1"> 2351bf215546Sopenharmony_ci <bitfield name="HEIGHT" low="0" high="14" type="uint"/> 2352bf215546Sopenharmony_ci <bitfield name="WIDTH" low="15" high="29" type="uint"/> 2353bf215546Sopenharmony_ci </reg32> 2354bf215546Sopenharmony_ci <reg32 offset="2" name="2"> 2355bf215546Sopenharmony_ci <!-- minimum pitch (for mipmap levels): log2(pitchalign / 32) --> 2356bf215546Sopenharmony_ci <bitfield name="PITCHALIGN" low="0" high="3" type="uint"/> 2357bf215546Sopenharmony_ci <bitfield name="BUFFER" pos="6" type="boolean"/> 2358bf215546Sopenharmony_ci <doc>Pitch in bytes (so actually stride)</doc> 2359bf215546Sopenharmony_ci <bitfield name="PITCH" low="9" high="29" type="uint"/> 2360bf215546Sopenharmony_ci <bitfield name="SWAP" low="30" high="31" type="a3xx_color_swap"/> 2361bf215546Sopenharmony_ci </reg32> 2362bf215546Sopenharmony_ci <reg32 offset="3" name="3"> 2363bf215546Sopenharmony_ci <bitfield name="LAYERSZ" low="0" high="13" shr="12" type="uint"/> 2364bf215546Sopenharmony_ci <bitfield name="DEPTH" low="18" high="30" type="uint"/> 2365bf215546Sopenharmony_ci </reg32> 2366bf215546Sopenharmony_ci <reg32 offset="4" name="4"> 2367bf215546Sopenharmony_ci <!-- 2368bf215546Sopenharmony_ci like a3xx we seem to have two LAYERSZ's.. although this one 2369bf215546Sopenharmony_ci seems too small to be useful, and when it overflows blob just 2370bf215546Sopenharmony_ci sets it to zero.. 2371bf215546Sopenharmony_ci --> 2372bf215546Sopenharmony_ci <bitfield name="LAYERSZ" low="0" high="3" shr="12" type="uint"/> 2373bf215546Sopenharmony_ci <bitfield name="BASE" low="5" high="31" shr="5"/> 2374bf215546Sopenharmony_ci </reg32> 2375bf215546Sopenharmony_ci <reg32 offset="5" name="5"/> 2376bf215546Sopenharmony_ci <reg32 offset="6" name="6"/> 2377bf215546Sopenharmony_ci <reg32 offset="7" name="7"/> 2378bf215546Sopenharmony_ci</domain> 2379bf215546Sopenharmony_ci 2380bf215546Sopenharmony_ci<domain name="A4XX_SSBO_0" width="32"> 2381bf215546Sopenharmony_ci <reg32 offset="0" name="0"> 2382bf215546Sopenharmony_ci <bitfield name="BASE" low="5" high="31" shr="5"/> 2383bf215546Sopenharmony_ci </reg32> 2384bf215546Sopenharmony_ci <reg32 offset="1" name="1"> 2385bf215546Sopenharmony_ci <doc>Pitch in bytes (so actually stride)</doc> 2386bf215546Sopenharmony_ci <bitfield name="PITCH" low="0" high="21" type="uint"/> 2387bf215546Sopenharmony_ci </reg32> 2388bf215546Sopenharmony_ci <reg32 offset="2" name="2"> 2389bf215546Sopenharmony_ci <bitfield name="ARRAY_PITCH" low="12" high="25" shr="12" type="uint"/> 2390bf215546Sopenharmony_ci </reg32> 2391bf215546Sopenharmony_ci <reg32 offset="3" name="3"> 2392bf215546Sopenharmony_ci <!-- bytes per pixel: --> 2393bf215546Sopenharmony_ci <bitfield name="CPP" low="0" high="5" type="uint"/> 2394bf215546Sopenharmony_ci </reg32> 2395bf215546Sopenharmony_ci</domain> 2396bf215546Sopenharmony_ci 2397bf215546Sopenharmony_ci<domain name="A4XX_SSBO_1" width="32"> 2398bf215546Sopenharmony_ci <reg32 offset="0" name="0"> 2399bf215546Sopenharmony_ci <bitfield name="CPP" low="0" high="4" type="uint"/> 2400bf215546Sopenharmony_ci <bitfield name="FMT" low="8" high="15" type="a4xx_color_fmt"/> 2401bf215546Sopenharmony_ci <bitfield name="WIDTH" low="16" high="31" type="uint"/> 2402bf215546Sopenharmony_ci </reg32> 2403bf215546Sopenharmony_ci <reg32 offset="1" name="1"> 2404bf215546Sopenharmony_ci <bitfield name="HEIGHT" low="0" high="15" type="uint"/> 2405bf215546Sopenharmony_ci <bitfield name="DEPTH" low="16" high="31" type="uint"/> 2406bf215546Sopenharmony_ci </reg32> 2407bf215546Sopenharmony_ci</domain> 2408bf215546Sopenharmony_ci 2409bf215546Sopenharmony_ci</database> 2410