17ec681f3Smrg<?xml version="1.0" encoding="UTF-8"?> 27ec681f3Smrg<database xmlns="http://nouveau.freedesktop.org/" 37ec681f3Smrgxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 47ec681f3Smrgxsi:schemaLocation="http://nouveau.freedesktop.org/ rules-ng.xsd"> 57ec681f3Smrg<import file="freedreno_copyright.xml"/> 67ec681f3Smrg<import file="adreno/adreno_common.xml"/> 77ec681f3Smrg<import file="adreno/adreno_pm4.xml"/> 87ec681f3Smrg 97ec681f3Smrg<enum name="a4xx_color_fmt"> 107ec681f3Smrg <value name="RB4_A8_UNORM" value="0x01"/> 117ec681f3Smrg <value name="RB4_R8_UNORM" value="0x02"/> 127ec681f3Smrg <value name="RB4_R8_SNORM" value="0x03"/> 137ec681f3Smrg <value name="RB4_R8_UINT" value="0x04"/> 147ec681f3Smrg <value name="RB4_R8_SINT" value="0x05"/> 157ec681f3Smrg 167ec681f3Smrg <value name="RB4_R4G4B4A4_UNORM" value="0x08"/> 177ec681f3Smrg <value name="RB4_R5G5B5A1_UNORM" value="0x0a"/> 187ec681f3Smrg <value name="RB4_R5G6B5_UNORM" value="0x0e"/> 197ec681f3Smrg <value name="RB4_R8G8_UNORM" value="0x0f"/> 207ec681f3Smrg <value name="RB4_R8G8_SNORM" value="0x10"/> 217ec681f3Smrg <value name="RB4_R8G8_UINT" value="0x11"/> 227ec681f3Smrg <value name="RB4_R8G8_SINT" value="0x12"/> 237ec681f3Smrg <value name="RB4_R16_UNORM" value="0x13"/> 247ec681f3Smrg <value name="RB4_R16_SNORM" value="0x14"/> 257ec681f3Smrg <value name="RB4_R16_FLOAT" value="0x15"/> 267ec681f3Smrg <value name="RB4_R16_UINT" value="0x16"/> 277ec681f3Smrg <value name="RB4_R16_SINT" value="0x17"/> 287ec681f3Smrg 297ec681f3Smrg <value name="RB4_R8G8B8_UNORM" value="0x19"/> 307ec681f3Smrg 317ec681f3Smrg <value name="RB4_R8G8B8A8_UNORM" value="0x1a"/> 327ec681f3Smrg <value name="RB4_R8G8B8A8_SNORM" value="0x1c"/> 337ec681f3Smrg <value name="RB4_R8G8B8A8_UINT" value="0x1d"/> 347ec681f3Smrg <value name="RB4_R8G8B8A8_SINT" value="0x1e"/> 357ec681f3Smrg <value name="RB4_R10G10B10A2_UNORM" value="0x1f"/> 367ec681f3Smrg <value name="RB4_R10G10B10A2_UINT" value="0x22"/> 377ec681f3Smrg <value name="RB4_R11G11B10_FLOAT" value="0x27"/> 387ec681f3Smrg <value name="RB4_R16G16_UNORM" value="0x28"/> 397ec681f3Smrg <value name="RB4_R16G16_SNORM" value="0x29"/> 407ec681f3Smrg <value name="RB4_R16G16_FLOAT" value="0x2a"/> 417ec681f3Smrg <value name="RB4_R16G16_UINT" value="0x2b"/> 427ec681f3Smrg <value name="RB4_R16G16_SINT" value="0x2c"/> 437ec681f3Smrg <value name="RB4_R32_FLOAT" value="0x2d"/> 447ec681f3Smrg <value name="RB4_R32_UINT" value="0x2e"/> 457ec681f3Smrg <value name="RB4_R32_SINT" value="0x2f"/> 467ec681f3Smrg 477ec681f3Smrg <value name="RB4_R16G16B16A16_UNORM" value="0x34"/> 487ec681f3Smrg <value name="RB4_R16G16B16A16_SNORM" value="0x35"/> 497ec681f3Smrg <value name="RB4_R16G16B16A16_FLOAT" value="0x36"/> 507ec681f3Smrg <value name="RB4_R16G16B16A16_UINT" value="0x37"/> 517ec681f3Smrg <value name="RB4_R16G16B16A16_SINT" value="0x38"/> 527ec681f3Smrg <value name="RB4_R32G32_FLOAT" value="0x39"/> 537ec681f3Smrg <value name="RB4_R32G32_UINT" value="0x3a"/> 547ec681f3Smrg <value name="RB4_R32G32_SINT" value="0x3b"/> 557ec681f3Smrg 567ec681f3Smrg <value name="RB4_R32G32B32A32_FLOAT" value="0x3c"/> 577ec681f3Smrg <value name="RB4_R32G32B32A32_UINT" value="0x3d"/> 587ec681f3Smrg <value name="RB4_R32G32B32A32_SINT" value="0x3e"/> 597ec681f3Smrg 607ec681f3Smrg <value name="RB4_NONE" value="0xff"/> 617ec681f3Smrg</enum> 627ec681f3Smrg 637ec681f3Smrg<enum name="a4xx_tile_mode"> 647ec681f3Smrg <value name="TILE4_LINEAR" value="0"/> 657ec681f3Smrg <value name="TILE4_2" value="2"/> 667ec681f3Smrg <value name="TILE4_3" value="3"/> 677ec681f3Smrg</enum> 687ec681f3Smrg 697ec681f3Smrg<enum name="a4xx_vtx_fmt" prefix="chipset"> 707ec681f3Smrg <!-- hmm, shifted one compared to a3xx?!? --> 717ec681f3Smrg <value name="VFMT4_32_FLOAT" value="0x1"/> 727ec681f3Smrg <value name="VFMT4_32_32_FLOAT" value="0x2"/> 737ec681f3Smrg <value name="VFMT4_32_32_32_FLOAT" value="0x3"/> 747ec681f3Smrg <value name="VFMT4_32_32_32_32_FLOAT" value="0x4"/> 757ec681f3Smrg 767ec681f3Smrg <value name="VFMT4_16_FLOAT" value="0x5"/> 777ec681f3Smrg <value name="VFMT4_16_16_FLOAT" value="0x6"/> 787ec681f3Smrg <value name="VFMT4_16_16_16_FLOAT" value="0x7"/> 797ec681f3Smrg <value name="VFMT4_16_16_16_16_FLOAT" value="0x8"/> 807ec681f3Smrg 817ec681f3Smrg <value name="VFMT4_32_FIXED" value="0x9"/> 827ec681f3Smrg <value name="VFMT4_32_32_FIXED" value="0xa"/> 837ec681f3Smrg <value name="VFMT4_32_32_32_FIXED" value="0xb"/> 847ec681f3Smrg <value name="VFMT4_32_32_32_32_FIXED" value="0xc"/> 857ec681f3Smrg 867ec681f3Smrg <value name="VFMT4_11_11_10_FLOAT" value="0xd"/> 877ec681f3Smrg 887ec681f3Smrg <!-- beyond here it does not appear to be shifted --> 897ec681f3Smrg <value name="VFMT4_16_SINT" value="0x10"/> 907ec681f3Smrg <value name="VFMT4_16_16_SINT" value="0x11"/> 917ec681f3Smrg <value name="VFMT4_16_16_16_SINT" value="0x12"/> 927ec681f3Smrg <value name="VFMT4_16_16_16_16_SINT" value="0x13"/> 937ec681f3Smrg <value name="VFMT4_16_UINT" value="0x14"/> 947ec681f3Smrg <value name="VFMT4_16_16_UINT" value="0x15"/> 957ec681f3Smrg <value name="VFMT4_16_16_16_UINT" value="0x16"/> 967ec681f3Smrg <value name="VFMT4_16_16_16_16_UINT" value="0x17"/> 977ec681f3Smrg <value name="VFMT4_16_SNORM" value="0x18"/> 987ec681f3Smrg <value name="VFMT4_16_16_SNORM" value="0x19"/> 997ec681f3Smrg <value name="VFMT4_16_16_16_SNORM" value="0x1a"/> 1007ec681f3Smrg <value name="VFMT4_16_16_16_16_SNORM" value="0x1b"/> 1017ec681f3Smrg <value name="VFMT4_16_UNORM" value="0x1c"/> 1027ec681f3Smrg <value name="VFMT4_16_16_UNORM" value="0x1d"/> 1037ec681f3Smrg <value name="VFMT4_16_16_16_UNORM" value="0x1e"/> 1047ec681f3Smrg <value name="VFMT4_16_16_16_16_UNORM" value="0x1f"/> 1057ec681f3Smrg 1067ec681f3Smrg <value name="VFMT4_32_UINT" value="0x20"/> 1077ec681f3Smrg <value name="VFMT4_32_32_UINT" value="0x21"/> 1087ec681f3Smrg <value name="VFMT4_32_32_32_UINT" value="0x22"/> 1097ec681f3Smrg <value name="VFMT4_32_32_32_32_UINT" value="0x23"/> 1107ec681f3Smrg <value name="VFMT4_32_SINT" value="0x24"/> 1117ec681f3Smrg <value name="VFMT4_32_32_SINT" value="0x25"/> 1127ec681f3Smrg <value name="VFMT4_32_32_32_SINT" value="0x26"/> 1137ec681f3Smrg <value name="VFMT4_32_32_32_32_SINT" value="0x27"/> 1147ec681f3Smrg 1157ec681f3Smrg <value name="VFMT4_8_UINT" value="0x28"/> 1167ec681f3Smrg <value name="VFMT4_8_8_UINT" value="0x29"/> 1177ec681f3Smrg <value name="VFMT4_8_8_8_UINT" value="0x2a"/> 1187ec681f3Smrg <value name="VFMT4_8_8_8_8_UINT" value="0x2b"/> 1197ec681f3Smrg <value name="VFMT4_8_UNORM" value="0x2c"/> 1207ec681f3Smrg <value name="VFMT4_8_8_UNORM" value="0x2d"/> 1217ec681f3Smrg <value name="VFMT4_8_8_8_UNORM" value="0x2e"/> 1227ec681f3Smrg <value name="VFMT4_8_8_8_8_UNORM" value="0x2f"/> 1237ec681f3Smrg <value name="VFMT4_8_SINT" value="0x30"/> 1247ec681f3Smrg <value name="VFMT4_8_8_SINT" value="0x31"/> 1257ec681f3Smrg <value name="VFMT4_8_8_8_SINT" value="0x32"/> 1267ec681f3Smrg <value name="VFMT4_8_8_8_8_SINT" value="0x33"/> 1277ec681f3Smrg <value name="VFMT4_8_SNORM" value="0x34"/> 1287ec681f3Smrg <value name="VFMT4_8_8_SNORM" value="0x35"/> 1297ec681f3Smrg <value name="VFMT4_8_8_8_SNORM" value="0x36"/> 1307ec681f3Smrg <value name="VFMT4_8_8_8_8_SNORM" value="0x37"/> 1317ec681f3Smrg 1327ec681f3Smrg <value name="VFMT4_10_10_10_2_UINT" value="0x38"/> 1337ec681f3Smrg <value name="VFMT4_10_10_10_2_UNORM" value="0x39"/> 1347ec681f3Smrg <value name="VFMT4_10_10_10_2_SINT" value="0x3a"/> 1357ec681f3Smrg <value name="VFMT4_10_10_10_2_SNORM" value="0x3b"/> 1367ec681f3Smrg <value name="VFMT4_2_10_10_10_UINT" value="0x3c"/> 1377ec681f3Smrg <value name="VFMT4_2_10_10_10_UNORM" value="0x3d"/> 1387ec681f3Smrg <value name="VFMT4_2_10_10_10_SINT" value="0x3e"/> 1397ec681f3Smrg <value name="VFMT4_2_10_10_10_SNORM" value="0x3f"/> 1407ec681f3Smrg 1417ec681f3Smrg <value name="VFMT4_NONE" value="0xff"/> 1427ec681f3Smrg</enum> 1437ec681f3Smrg 1447ec681f3Smrg<enum name="a4xx_tex_fmt"> 1457ec681f3Smrg <!-- 0x00 .. 0x02 --> 1467ec681f3Smrg 1477ec681f3Smrg <!-- 8-bit formats --> 1487ec681f3Smrg <value name="TFMT4_A8_UNORM" value="0x03"/> 1497ec681f3Smrg <value name="TFMT4_8_UNORM" value="0x04"/> 1507ec681f3Smrg <value name="TFMT4_8_SNORM" value="0x05"/> 1517ec681f3Smrg <value name="TFMT4_8_UINT" value="0x06"/> 1527ec681f3Smrg <value name="TFMT4_8_SINT" value="0x07"/> 1537ec681f3Smrg 1547ec681f3Smrg <!-- 16-bit formats --> 1557ec681f3Smrg <value name="TFMT4_4_4_4_4_UNORM" value="0x08"/> 1567ec681f3Smrg <value name="TFMT4_5_5_5_1_UNORM" value="0x09"/> 1577ec681f3Smrg <!-- 0x0a --> 1587ec681f3Smrg <value name="TFMT4_5_6_5_UNORM" value="0x0b"/> 1597ec681f3Smrg 1607ec681f3Smrg <!-- 0x0c --> 1617ec681f3Smrg 1627ec681f3Smrg <value name="TFMT4_L8_A8_UNORM" value="0x0d"/> 1637ec681f3Smrg <value name="TFMT4_8_8_UNORM" value="0x0e"/> 1647ec681f3Smrg <value name="TFMT4_8_8_SNORM" value="0x0f"/> 1657ec681f3Smrg <value name="TFMT4_8_8_UINT" value="0x10"/> 1667ec681f3Smrg <value name="TFMT4_8_8_SINT" value="0x11"/> 1677ec681f3Smrg 1687ec681f3Smrg <value name="TFMT4_16_UNORM" value="0x12"/> 1697ec681f3Smrg <value name="TFMT4_16_SNORM" value="0x13"/> 1707ec681f3Smrg <value name="TFMT4_16_FLOAT" value="0x14"/> 1717ec681f3Smrg <value name="TFMT4_16_UINT" value="0x15"/> 1727ec681f3Smrg <value name="TFMT4_16_SINT" value="0x16"/> 1737ec681f3Smrg 1747ec681f3Smrg <!-- 0x17 .. 0x1b --> 1757ec681f3Smrg 1767ec681f3Smrg <!-- 32-bit formats --> 1777ec681f3Smrg <value name="TFMT4_8_8_8_8_UNORM" value="0x1c"/> 1787ec681f3Smrg <value name="TFMT4_8_8_8_8_SNORM" value="0x1d"/> 1797ec681f3Smrg <value name="TFMT4_8_8_8_8_UINT" value="0x1e"/> 1807ec681f3Smrg <value name="TFMT4_8_8_8_8_SINT" value="0x1f"/> 1817ec681f3Smrg 1827ec681f3Smrg <value name="TFMT4_9_9_9_E5_FLOAT" value="0x20"/> 1837ec681f3Smrg <value name="TFMT4_10_10_10_2_UNORM" value="0x21"/> 1847ec681f3Smrg <value name="TFMT4_10_10_10_2_UINT" value="0x22"/> 1857ec681f3Smrg <!-- 0x23 .. 0x24 --> 1867ec681f3Smrg <value name="TFMT4_11_11_10_FLOAT" value="0x25"/> 1877ec681f3Smrg 1887ec681f3Smrg <value name="TFMT4_16_16_UNORM" value="0x26"/> 1897ec681f3Smrg <value name="TFMT4_16_16_SNORM" value="0x27"/> 1907ec681f3Smrg <value name="TFMT4_16_16_FLOAT" value="0x28"/> 1917ec681f3Smrg <value name="TFMT4_16_16_UINT" value="0x29"/> 1927ec681f3Smrg <value name="TFMT4_16_16_SINT" value="0x2a"/> 1937ec681f3Smrg 1947ec681f3Smrg <value name="TFMT4_32_FLOAT" value="0x2b"/> 1957ec681f3Smrg <value name="TFMT4_32_UINT" value="0x2c"/> 1967ec681f3Smrg <value name="TFMT4_32_SINT" value="0x2d"/> 1977ec681f3Smrg 1987ec681f3Smrg <!-- 0x2e .. 0x32 --> 1997ec681f3Smrg 2007ec681f3Smrg <!-- 64-bit formats --> 2017ec681f3Smrg <value name="TFMT4_16_16_16_16_UNORM" value="0x33"/> 2027ec681f3Smrg <value name="TFMT4_16_16_16_16_SNORM" value="0x34"/> 2037ec681f3Smrg <value name="TFMT4_16_16_16_16_FLOAT" value="0x35"/> 2047ec681f3Smrg <value name="TFMT4_16_16_16_16_UINT" value="0x36"/> 2057ec681f3Smrg <value name="TFMT4_16_16_16_16_SINT" value="0x37"/> 2067ec681f3Smrg 2077ec681f3Smrg <value name="TFMT4_32_32_FLOAT" value="0x38"/> 2087ec681f3Smrg <value name="TFMT4_32_32_UINT" value="0x39"/> 2097ec681f3Smrg <value name="TFMT4_32_32_SINT" value="0x3a"/> 2107ec681f3Smrg 2117ec681f3Smrg <!-- 96-bit formats --> 2127ec681f3Smrg <value name="TFMT4_32_32_32_FLOAT" value="0x3b"/> 2137ec681f3Smrg <value name="TFMT4_32_32_32_UINT" value="0x3c"/> 2147ec681f3Smrg <value name="TFMT4_32_32_32_SINT" value="0x3d"/> 2157ec681f3Smrg 2167ec681f3Smrg <!-- 0x3e --> 2177ec681f3Smrg 2187ec681f3Smrg <!-- 128-bit formats --> 2197ec681f3Smrg <value name="TFMT4_32_32_32_32_FLOAT" value="0x3f"/> 2207ec681f3Smrg <value name="TFMT4_32_32_32_32_UINT" value="0x40"/> 2217ec681f3Smrg <value name="TFMT4_32_32_32_32_SINT" value="0x41"/> 2227ec681f3Smrg 2237ec681f3Smrg <!-- 0x42 .. 0x46 --> 2247ec681f3Smrg <value name="TFMT4_X8Z24_UNORM" value="0x47"/> 2257ec681f3Smrg <!-- 0x48 .. 0x55 --> 2267ec681f3Smrg 2277ec681f3Smrg <!-- compressed formats --> 2287ec681f3Smrg <value name="TFMT4_DXT1" value="0x56"/> 2297ec681f3Smrg <value name="TFMT4_DXT3" value="0x57"/> 2307ec681f3Smrg <value name="TFMT4_DXT5" value="0x58"/> 2317ec681f3Smrg <!-- 0x59 --> 2327ec681f3Smrg <value name="TFMT4_RGTC1_UNORM" value="0x5a"/> 2337ec681f3Smrg <value name="TFMT4_RGTC1_SNORM" value="0x5b"/> 2347ec681f3Smrg <!-- 0x5c .. 0x5d --> 2357ec681f3Smrg <value name="TFMT4_RGTC2_UNORM" value="0x5e"/> 2367ec681f3Smrg <value name="TFMT4_RGTC2_SNORM" value="0x5f"/> 2377ec681f3Smrg <!-- 0x60 --> 2387ec681f3Smrg <value name="TFMT4_BPTC_UFLOAT" value="0x61"/> 2397ec681f3Smrg <value name="TFMT4_BPTC_FLOAT" value="0x62"/> 2407ec681f3Smrg <value name="TFMT4_BPTC" value="0x63"/> 2417ec681f3Smrg <value name="TFMT4_ATC_RGB" value="0x64"/> 2427ec681f3Smrg <value name="TFMT4_ATC_RGBA_EXPLICIT" value="0x65"/> 2437ec681f3Smrg <value name="TFMT4_ATC_RGBA_INTERPOLATED" value="0x66"/> 2447ec681f3Smrg <value name="TFMT4_ETC2_RG11_UNORM" value="0x67"/> 2457ec681f3Smrg <value name="TFMT4_ETC2_RG11_SNORM" value="0x68"/> 2467ec681f3Smrg <value name="TFMT4_ETC2_R11_UNORM" value="0x69"/> 2477ec681f3Smrg <value name="TFMT4_ETC2_R11_SNORM" value="0x6a"/> 2487ec681f3Smrg <value name="TFMT4_ETC1" value="0x6b"/> 2497ec681f3Smrg <value name="TFMT4_ETC2_RGB8" value="0x6c"/> 2507ec681f3Smrg <value name="TFMT4_ETC2_RGBA8" value="0x6d"/> 2517ec681f3Smrg <value name="TFMT4_ETC2_RGB8A1" value="0x6e"/> 2527ec681f3Smrg <value name="TFMT4_ASTC_4x4" value="0x6f"/> 2537ec681f3Smrg <value name="TFMT4_ASTC_5x4" value="0x70"/> 2547ec681f3Smrg <value name="TFMT4_ASTC_5x5" value="0x71"/> 2557ec681f3Smrg <value name="TFMT4_ASTC_6x5" value="0x72"/> 2567ec681f3Smrg <value name="TFMT4_ASTC_6x6" value="0x73"/> 2577ec681f3Smrg <value name="TFMT4_ASTC_8x5" value="0x74"/> 2587ec681f3Smrg <value name="TFMT4_ASTC_8x6" value="0x75"/> 2597ec681f3Smrg <value name="TFMT4_ASTC_8x8" value="0x76"/> 2607ec681f3Smrg <value name="TFMT4_ASTC_10x5" value="0x77"/> 2617ec681f3Smrg <value name="TFMT4_ASTC_10x6" value="0x78"/> 2627ec681f3Smrg <value name="TFMT4_ASTC_10x8" value="0x79"/> 2637ec681f3Smrg <value name="TFMT4_ASTC_10x10" value="0x7a"/> 2647ec681f3Smrg <value name="TFMT4_ASTC_12x10" value="0x7b"/> 2657ec681f3Smrg <value name="TFMT4_ASTC_12x12" value="0x7c"/> 2667ec681f3Smrg <!-- 0x7d .. 0x7f --> 2677ec681f3Smrg 2687ec681f3Smrg <value name="TFMT4_NONE" value="0xff"/> 2697ec681f3Smrg</enum> 2707ec681f3Smrg 2717ec681f3Smrg<enum name="a4xx_depth_format"> 2727ec681f3Smrg <value name="DEPTH4_NONE" value="0"/> 2737ec681f3Smrg <value name="DEPTH4_16" value="1"/> 2747ec681f3Smrg <value name="DEPTH4_24_8" value="2"/> 2757ec681f3Smrg <value name="DEPTH4_32" value="3"/> 2767ec681f3Smrg</enum> 2777ec681f3Smrg 2787ec681f3Smrg<!-- 2797ec681f3SmrgNOTE counters extracted from test-perf log with the following awful 2807ec681f3Smrgscript: 2817ec681f3Smrg################## 2827ec681f3Smrg#!/bin/bash 2837ec681f3Smrg 2847ec681f3Smrglog=$1 2857ec681f3Smrg 2867ec681f3Smrggrep -F "counter 2877ec681f3Smrgcountable 2887ec681f3Smrggroup" $log | grep -v gl > shortlist.txt 2897ec681f3Smrg 2907ec681f3Smrgcountable="" 2917ec681f3SmrgIFS=$'\n'; for line in $(cat shortlist.txt); do 2927ec681f3Smrg # parse ######### group[$n]: $name 2937ec681f3Smrg l=${line########### group} 2947ec681f3Smrg if [ $l != $line ]; then 2957ec681f3Smrg group=`echo $line | awk '{print $3}'` 2967ec681f3Smrg echo "Group: $group" 2977ec681f3Smrg continue 2987ec681f3Smrg fi 2997ec681f3Smrg # parse ######### counter[$n]: $name 3007ec681f3Smrg l=${line########### counter} 3017ec681f3Smrg if [ $l != $line ]; then 3027ec681f3Smrg countable=`echo $line | awk '{print $3}'` 3037ec681f3Smrg #echo " Countable: $countable" 3047ec681f3Smrg continue 3057ec681f3Smrg fi 3067ec681f3Smrg # parse countable: 3077ec681f3Smrg l=${line## countable:} 3087ec681f3Smrg if [ $l != $line ]; then 3097ec681f3Smrg val=`echo $line | awk '{print $2}'` 3107ec681f3Smrg echo "<value value=\"$val\" name=\"$countable\"/>" 3117ec681f3Smrg fi 3127ec681f3Smrg 3137ec681f3Smrgdone 3147ec681f3Smrg################## 3157ec681f3Smrg --> 3167ec681f3Smrg<enum name="a4xx_ccu_perfcounter_select"> 3177ec681f3Smrg <value value="0" name="CCU_BUSY_CYCLES"/> 3187ec681f3Smrg <value value="2" name="CCU_RB_DEPTH_RETURN_STALL"/> 3197ec681f3Smrg <value value="3" name="CCU_RB_COLOR_RETURN_STALL"/> 3207ec681f3Smrg <value value="6" name="CCU_DEPTH_BLOCKS"/> 3217ec681f3Smrg <value value="7" name="CCU_COLOR_BLOCKS"/> 3227ec681f3Smrg <value value="8" name="CCU_DEPTH_BLOCK_HIT"/> 3237ec681f3Smrg <value value="9" name="CCU_COLOR_BLOCK_HIT"/> 3247ec681f3Smrg <value value="10" name="CCU_DEPTH_FLAG1_COUNT"/> 3257ec681f3Smrg <value value="11" name="CCU_DEPTH_FLAG2_COUNT"/> 3267ec681f3Smrg <value value="12" name="CCU_DEPTH_FLAG3_COUNT"/> 3277ec681f3Smrg <value value="13" name="CCU_DEPTH_FLAG4_COUNT"/> 3287ec681f3Smrg <value value="14" name="CCU_COLOR_FLAG1_COUNT"/> 3297ec681f3Smrg <value value="15" name="CCU_COLOR_FLAG2_COUNT"/> 3307ec681f3Smrg <value value="16" name="CCU_COLOR_FLAG3_COUNT"/> 3317ec681f3Smrg <value value="17" name="CCU_COLOR_FLAG4_COUNT"/> 3327ec681f3Smrg <value value="18" name="CCU_PARTIAL_BLOCK_READ"/> 3337ec681f3Smrg</enum> 3347ec681f3Smrg 3357ec681f3Smrg<!-- 3367ec681f3SmrgNOTE other than CP_ALWAYS_COUNT (which is the only one we use so far), 3377ec681f3Smrgon a3xx the countable #'s from AMD_performance_monitor disagreed with 3387ec681f3SmrgTRM. All these #'s for a4xx come from AMD_performance_monitor, so 3397ec681f3Smrgperhaps they should be taken with a grain of salt 3407ec681f3Smrg--> 3417ec681f3Smrg<enum name="a4xx_cp_perfcounter_select"> 3427ec681f3Smrg <!-- first ctr at least seems same as a3xx, so we can measure freq --> 3437ec681f3Smrg <value value="0" name="CP_ALWAYS_COUNT"/> 3447ec681f3Smrg <value value="1" name="CP_BUSY"/> 3457ec681f3Smrg <value value="2" name="CP_PFP_IDLE"/> 3467ec681f3Smrg <value value="3" name="CP_PFP_BUSY_WORKING"/> 3477ec681f3Smrg <value value="4" name="CP_PFP_STALL_CYCLES_ANY"/> 3487ec681f3Smrg <value value="5" name="CP_PFP_STARVE_CYCLES_ANY"/> 3497ec681f3Smrg <value value="6" name="CP_PFP_STARVED_PER_LOAD_ADDR"/> 3507ec681f3Smrg <value value="7" name="CP_PFP_STALLED_PER_STORE_ADDR"/> 3517ec681f3Smrg <value value="8" name="CP_PFP_PC_PROFILE"/> 3527ec681f3Smrg <value value="9" name="CP_PFP_MATCH_PM4_PKT_PROFILE"/> 3537ec681f3Smrg <value value="10" name="CP_PFP_COND_INDIRECT_DISCARDED"/> 3547ec681f3Smrg <value value="11" name="CP_LONG_RESUMPTIONS"/> 3557ec681f3Smrg <value value="12" name="CP_RESUME_CYCLES"/> 3567ec681f3Smrg <value value="13" name="CP_RESUME_TO_BOUNDARY_CYCLES"/> 3577ec681f3Smrg <value value="14" name="CP_LONG_PREEMPTIONS"/> 3587ec681f3Smrg <value value="15" name="CP_PREEMPT_CYCLES"/> 3597ec681f3Smrg <value value="16" name="CP_PREEMPT_TO_BOUNDARY_CYCLES"/> 3607ec681f3Smrg <value value="17" name="CP_ME_FIFO_EMPTY_PFP_IDLE"/> 3617ec681f3Smrg <value value="18" name="CP_ME_FIFO_EMPTY_PFP_BUSY"/> 3627ec681f3Smrg <value value="19" name="CP_ME_FIFO_NOT_EMPTY_NOT_FULL"/> 3637ec681f3Smrg <value value="20" name="CP_ME_FIFO_FULL_ME_BUSY"/> 3647ec681f3Smrg <value value="21" name="CP_ME_FIFO_FULL_ME_NON_WORKING"/> 3657ec681f3Smrg <value value="22" name="CP_ME_WAITING_FOR_PACKETS"/> 3667ec681f3Smrg <value value="23" name="CP_ME_BUSY_WORKING"/> 3677ec681f3Smrg <value value="24" name="CP_ME_STARVE_CYCLES_ANY"/> 3687ec681f3Smrg <value value="25" name="CP_ME_STARVE_CYCLES_PER_PROFILE"/> 3697ec681f3Smrg <value value="26" name="CP_ME_STALL_CYCLES_PER_PROFILE"/> 3707ec681f3Smrg <value value="27" name="CP_ME_PC_PROFILE"/> 3717ec681f3Smrg <value value="28" name="CP_RCIU_FIFO_EMPTY"/> 3727ec681f3Smrg <value value="29" name="CP_RCIU_FIFO_NOT_EMPTY_NOT_FULL"/> 3737ec681f3Smrg <value value="30" name="CP_RCIU_FIFO_FULL"/> 3747ec681f3Smrg <value value="31" name="CP_RCIU_FIFO_FULL_NO_CONTEXT"/> 3757ec681f3Smrg <value value="32" name="CP_RCIU_FIFO_FULL_AHB_MASTER"/> 3767ec681f3Smrg <value value="33" name="CP_RCIU_FIFO_FULL_OTHER"/> 3777ec681f3Smrg <value value="34" name="CP_AHB_IDLE"/> 3787ec681f3Smrg <value value="35" name="CP_AHB_STALL_ON_GRANT_NO_SPLIT"/> 3797ec681f3Smrg <value value="36" name="CP_AHB_STALL_ON_GRANT_SPLIT"/> 3807ec681f3Smrg <value value="37" name="CP_AHB_STALL_ON_GRANT_SPLIT_PROFILE"/> 3817ec681f3Smrg <value value="38" name="CP_AHB_BUSY_WORKING"/> 3827ec681f3Smrg <value value="39" name="CP_AHB_BUSY_STALL_ON_HRDY"/> 3837ec681f3Smrg <value value="40" name="CP_AHB_BUSY_STALL_ON_HRDY_PROFILE"/> 3847ec681f3Smrg</enum> 3857ec681f3Smrg 3867ec681f3Smrg<enum name="a4xx_gras_ras_perfcounter_select"> 3877ec681f3Smrg <value value="0" name="RAS_SUPER_TILES"/> 3887ec681f3Smrg <value value="1" name="RAS_8X8_TILES"/> 3897ec681f3Smrg <value value="2" name="RAS_4X4_TILES"/> 3907ec681f3Smrg <value value="3" name="RAS_BUSY_CYCLES"/> 3917ec681f3Smrg <value value="4" name="RAS_STALL_CYCLES_BY_RB"/> 3927ec681f3Smrg <value value="5" name="RAS_STALL_CYCLES_BY_VSC"/> 3937ec681f3Smrg <value value="6" name="RAS_STARVE_CYCLES_BY_TSE"/> 3947ec681f3Smrg <value value="7" name="RAS_SUPERTILE_CYCLES"/> 3957ec681f3Smrg <value value="8" name="RAS_TILE_CYCLES"/> 3967ec681f3Smrg <value value="9" name="RAS_FULLY_COVERED_SUPER_TILES"/> 3977ec681f3Smrg <value value="10" name="RAS_FULLY_COVERED_8X8_TILES"/> 3987ec681f3Smrg <value value="11" name="RAS_4X4_PRIM"/> 3997ec681f3Smrg <value value="12" name="RAS_8X4_4X8_PRIM"/> 4007ec681f3Smrg <value value="13" name="RAS_8X8_PRIM"/> 4017ec681f3Smrg</enum> 4027ec681f3Smrg 4037ec681f3Smrg<enum name="a4xx_gras_tse_perfcounter_select"> 4047ec681f3Smrg <value value="0" name="TSE_INPUT_PRIM"/> 4057ec681f3Smrg <value value="1" name="TSE_INPUT_NULL_PRIM"/> 4067ec681f3Smrg <value value="2" name="TSE_TRIVAL_REJ_PRIM"/> 4077ec681f3Smrg <value value="3" name="TSE_CLIPPED_PRIM"/> 4087ec681f3Smrg <value value="4" name="TSE_NEW_PRIM"/> 4097ec681f3Smrg <value value="5" name="TSE_ZERO_AREA_PRIM"/> 4107ec681f3Smrg <value value="6" name="TSE_FACENESS_CULLED_PRIM"/> 4117ec681f3Smrg <value value="7" name="TSE_ZERO_PIXEL_PRIM"/> 4127ec681f3Smrg <value value="8" name="TSE_OUTPUT_NULL_PRIM"/> 4137ec681f3Smrg <value value="9" name="TSE_OUTPUT_VISIBLE_PRIM"/> 4147ec681f3Smrg <value value="10" name="TSE_PRE_CLIP_PRIM"/> 4157ec681f3Smrg <value value="11" name="TSE_POST_CLIP_PRIM"/> 4167ec681f3Smrg <value value="12" name="TSE_BUSY_CYCLES"/> 4177ec681f3Smrg <value value="13" name="TSE_PC_STARVE"/> 4187ec681f3Smrg <value value="14" name="TSE_RAS_STALL"/> 4197ec681f3Smrg <value value="15" name="TSE_STALL_BARYPLANE_FIFO_FULL"/> 4207ec681f3Smrg <value value="16" name="TSE_STALL_ZPLANE_FIFO_FULL"/> 4217ec681f3Smrg</enum> 4227ec681f3Smrg 4237ec681f3Smrg<enum name="a4xx_hlsq_perfcounter_select"> 4247ec681f3Smrg <value value="0" name="HLSQ_SP_VS_STAGE_CONSTANT"/> 4257ec681f3Smrg <value value="1" name="HLSQ_SP_VS_STAGE_INSTRUCTIONS"/> 4267ec681f3Smrg <value value="2" name="HLSQ_SP_FS_STAGE_CONSTANT"/> 4277ec681f3Smrg <value value="3" name="HLSQ_SP_FS_STAGE_INSTRUCTIONS"/> 4287ec681f3Smrg <value value="4" name="HLSQ_TP_STATE"/> 4297ec681f3Smrg <value value="5" name="HLSQ_QUADS"/> 4307ec681f3Smrg <value value="6" name="HLSQ_PIXELS"/> 4317ec681f3Smrg <value value="7" name="HLSQ_VERTICES"/> 4327ec681f3Smrg <value value="13" name="HLSQ_SP_VS_STAGE_DATA_BYTES"/> 4337ec681f3Smrg <value value="14" name="HLSQ_SP_FS_STAGE_DATA_BYTES"/> 4347ec681f3Smrg <value value="15" name="HLSQ_BUSY_CYCLES"/> 4357ec681f3Smrg <value value="16" name="HLSQ_STALL_CYCLES_SP_STATE"/> 4367ec681f3Smrg <value value="17" name="HLSQ_STALL_CYCLES_SP_VS_STAGE"/> 4377ec681f3Smrg <value value="18" name="HLSQ_STALL_CYCLES_SP_FS_STAGE"/> 4387ec681f3Smrg <value value="19" name="HLSQ_STALL_CYCLES_UCHE"/> 4397ec681f3Smrg <value value="20" name="HLSQ_RBBM_LOAD_CYCLES"/> 4407ec681f3Smrg <value value="21" name="HLSQ_DI_TO_VS_START_SP"/> 4417ec681f3Smrg <value value="22" name="HLSQ_DI_TO_FS_START_SP"/> 4427ec681f3Smrg <value value="23" name="HLSQ_VS_STAGE_START_TO_DONE_SP"/> 4437ec681f3Smrg <value value="24" name="HLSQ_FS_STAGE_START_TO_DONE_SP"/> 4447ec681f3Smrg <value value="25" name="HLSQ_SP_STATE_COPY_CYCLES_VS_STAGE"/> 4457ec681f3Smrg <value value="26" name="HLSQ_SP_STATE_COPY_CYCLES_FS_STAGE"/> 4467ec681f3Smrg <value value="27" name="HLSQ_UCHE_LATENCY_CYCLES"/> 4477ec681f3Smrg <value value="28" name="HLSQ_UCHE_LATENCY_COUNT"/> 4487ec681f3Smrg <value value="29" name="HLSQ_STARVE_CYCLES_VFD"/> 4497ec681f3Smrg</enum> 4507ec681f3Smrg 4517ec681f3Smrg<enum name="a4xx_pc_perfcounter_select"> 4527ec681f3Smrg <value value="0" name="PC_VIS_STREAMS_LOADED"/> 4537ec681f3Smrg <value value="2" name="PC_VPC_PRIMITIVES"/> 4547ec681f3Smrg <value value="3" name="PC_DEAD_PRIM"/> 4557ec681f3Smrg <value value="4" name="PC_LIVE_PRIM"/> 4567ec681f3Smrg <value value="5" name="PC_DEAD_DRAWCALLS"/> 4577ec681f3Smrg <value value="6" name="PC_LIVE_DRAWCALLS"/> 4587ec681f3Smrg <value value="7" name="PC_VERTEX_MISSES"/> 4597ec681f3Smrg <value value="9" name="PC_STALL_CYCLES_VFD"/> 4607ec681f3Smrg <value value="10" name="PC_STALL_CYCLES_TSE"/> 4617ec681f3Smrg <value value="11" name="PC_STALL_CYCLES_UCHE"/> 4627ec681f3Smrg <value value="12" name="PC_WORKING_CYCLES"/> 4637ec681f3Smrg <value value="13" name="PC_IA_VERTICES"/> 4647ec681f3Smrg <value value="14" name="PC_GS_PRIMITIVES"/> 4657ec681f3Smrg <value value="15" name="PC_HS_INVOCATIONS"/> 4667ec681f3Smrg <value value="16" name="PC_DS_INVOCATIONS"/> 4677ec681f3Smrg <value value="17" name="PC_DS_PRIMITIVES"/> 4687ec681f3Smrg <value value="20" name="PC_STARVE_CYCLES_FOR_INDEX"/> 4697ec681f3Smrg <value value="21" name="PC_STARVE_CYCLES_FOR_TESS_FACTOR"/> 4707ec681f3Smrg <value value="22" name="PC_STARVE_CYCLES_FOR_VIZ_STREAM"/> 4717ec681f3Smrg <value value="23" name="PC_STALL_CYCLES_TESS"/> 4727ec681f3Smrg <value value="24" name="PC_STARVE_CYCLES_FOR_POSITION"/> 4737ec681f3Smrg <value value="25" name="PC_MODE0_DRAWCALL"/> 4747ec681f3Smrg <value value="26" name="PC_MODE1_DRAWCALL"/> 4757ec681f3Smrg <value value="27" name="PC_MODE2_DRAWCALL"/> 4767ec681f3Smrg <value value="28" name="PC_MODE3_DRAWCALL"/> 4777ec681f3Smrg <value value="29" name="PC_MODE4_DRAWCALL"/> 4787ec681f3Smrg <value value="30" name="PC_PREDICATED_DEAD_DRAWCALL"/> 4797ec681f3Smrg <value value="31" name="PC_STALL_CYCLES_BY_TSE_ONLY"/> 4807ec681f3Smrg <value value="32" name="PC_STALL_CYCLES_BY_VPC_ONLY"/> 4817ec681f3Smrg <value value="33" name="PC_VPC_POS_DATA_TRANSACTION"/> 4827ec681f3Smrg <value value="34" name="PC_BUSY_CYCLES"/> 4837ec681f3Smrg <value value="35" name="PC_STARVE_CYCLES_DI"/> 4847ec681f3Smrg <value value="36" name="PC_STALL_CYCLES_VPC"/> 4857ec681f3Smrg <value value="37" name="TESS_WORKING_CYCLES"/> 4867ec681f3Smrg <value value="38" name="TESS_NUM_CYCLES_SETUP_WORKING"/> 4877ec681f3Smrg <value value="39" name="TESS_NUM_CYCLES_PTGEN_WORKING"/> 4887ec681f3Smrg <value value="40" name="TESS_NUM_CYCLES_CONNGEN_WORKING"/> 4897ec681f3Smrg <value value="41" name="TESS_BUSY_CYCLES"/> 4907ec681f3Smrg <value value="42" name="TESS_STARVE_CYCLES_PC"/> 4917ec681f3Smrg <value value="43" name="TESS_STALL_CYCLES_PC"/> 4927ec681f3Smrg</enum> 4937ec681f3Smrg 4947ec681f3Smrg<enum name="a4xx_pwr_perfcounter_select"> 4957ec681f3Smrg <!-- NOTE not actually used.. see RBBM_RBBM_CTL.RESET_PWR_CTR0/1 --> 4967ec681f3Smrg <value value="0" name="PWR_CORE_CLOCK_CYCLES"/> 4977ec681f3Smrg <value value="1" name="PWR_BUSY_CLOCK_CYCLES"/> 4987ec681f3Smrg</enum> 4997ec681f3Smrg 5007ec681f3Smrg<enum name="a4xx_rb_perfcounter_select"> 5017ec681f3Smrg <value value="0" name="RB_BUSY_CYCLES"/> 5027ec681f3Smrg <value value="1" name="RB_BUSY_CYCLES_BINNING"/> 5037ec681f3Smrg <value value="2" name="RB_BUSY_CYCLES_RENDERING"/> 5047ec681f3Smrg <value value="3" name="RB_BUSY_CYCLES_RESOLVE"/> 5057ec681f3Smrg <value value="4" name="RB_STARVE_CYCLES_BY_SP"/> 5067ec681f3Smrg <value value="5" name="RB_STARVE_CYCLES_BY_RAS"/> 5077ec681f3Smrg <value value="6" name="RB_STARVE_CYCLES_BY_MARB"/> 5087ec681f3Smrg <value value="7" name="RB_STALL_CYCLES_BY_MARB"/> 5097ec681f3Smrg <value value="8" name="RB_STALL_CYCLES_BY_HLSQ"/> 5107ec681f3Smrg <value value="9" name="RB_RB_RB_MARB_DATA"/> 5117ec681f3Smrg <value value="10" name="RB_SP_RB_QUAD"/> 5127ec681f3Smrg <value value="11" name="RB_RAS_RB_Z_QUADS"/> 5137ec681f3Smrg <value value="12" name="RB_GMEM_CH0_READ"/> 5147ec681f3Smrg <value value="13" name="RB_GMEM_CH1_READ"/> 5157ec681f3Smrg <value value="14" name="RB_GMEM_CH0_WRITE"/> 5167ec681f3Smrg <value value="15" name="RB_GMEM_CH1_WRITE"/> 5177ec681f3Smrg <value value="16" name="RB_CP_CONTEXT_DONE"/> 5187ec681f3Smrg <value value="17" name="RB_CP_CACHE_FLUSH"/> 5197ec681f3Smrg <value value="18" name="RB_CP_ZPASS_DONE"/> 5207ec681f3Smrg <value value="19" name="RB_STALL_FIFO0_FULL"/> 5217ec681f3Smrg <value value="20" name="RB_STALL_FIFO1_FULL"/> 5227ec681f3Smrg <value value="21" name="RB_STALL_FIFO2_FULL"/> 5237ec681f3Smrg <value value="22" name="RB_STALL_FIFO3_FULL"/> 5247ec681f3Smrg <value value="23" name="RB_RB_HLSQ_TRANSACTIONS"/> 5257ec681f3Smrg <value value="24" name="RB_Z_READ"/> 5267ec681f3Smrg <value value="25" name="RB_Z_WRITE"/> 5277ec681f3Smrg <value value="26" name="RB_C_READ"/> 5287ec681f3Smrg <value value="27" name="RB_C_WRITE"/> 5297ec681f3Smrg <value value="28" name="RB_C_READ_LATENCY"/> 5307ec681f3Smrg <value value="29" name="RB_Z_READ_LATENCY"/> 5317ec681f3Smrg <value value="30" name="RB_STALL_BY_UCHE"/> 5327ec681f3Smrg <value value="31" name="RB_MARB_UCHE_TRANSACTIONS"/> 5337ec681f3Smrg <value value="32" name="RB_CACHE_STALL_MISS"/> 5347ec681f3Smrg <value value="33" name="RB_CACHE_STALL_FIFO_FULL"/> 5357ec681f3Smrg <value value="34" name="RB_8BIT_BLENDER_UNITS_ACTIVE"/> 5367ec681f3Smrg <value value="35" name="RB_16BIT_BLENDER_UNITS_ACTIVE"/> 5377ec681f3Smrg <value value="36" name="RB_SAMPLER_UNITS_ACTIVE"/> 5387ec681f3Smrg <value value="38" name="RB_TOTAL_PASS"/> 5397ec681f3Smrg <value value="39" name="RB_Z_PASS"/> 5407ec681f3Smrg <value value="40" name="RB_Z_FAIL"/> 5417ec681f3Smrg <value value="41" name="RB_S_FAIL"/> 5427ec681f3Smrg <value value="42" name="RB_POWER0"/> 5437ec681f3Smrg <value value="43" name="RB_POWER1"/> 5447ec681f3Smrg <value value="44" name="RB_POWER2"/> 5457ec681f3Smrg <value value="45" name="RB_POWER3"/> 5467ec681f3Smrg <value value="46" name="RB_POWER4"/> 5477ec681f3Smrg <value value="47" name="RB_POWER5"/> 5487ec681f3Smrg <value value="48" name="RB_POWER6"/> 5497ec681f3Smrg <value value="49" name="RB_POWER7"/> 5507ec681f3Smrg</enum> 5517ec681f3Smrg 5527ec681f3Smrg<enum name="a4xx_rbbm_perfcounter_select"> 5537ec681f3Smrg <value value="0" name="RBBM_ALWAYS_ON"/> 5547ec681f3Smrg <value value="1" name="RBBM_VBIF_BUSY"/> 5557ec681f3Smrg <value value="2" name="RBBM_TSE_BUSY"/> 5567ec681f3Smrg <value value="3" name="RBBM_RAS_BUSY"/> 5577ec681f3Smrg <value value="4" name="RBBM_PC_DCALL_BUSY"/> 5587ec681f3Smrg <value value="5" name="RBBM_PC_VSD_BUSY"/> 5597ec681f3Smrg <value value="6" name="RBBM_VFD_BUSY"/> 5607ec681f3Smrg <value value="7" name="RBBM_VPC_BUSY"/> 5617ec681f3Smrg <value value="8" name="RBBM_UCHE_BUSY"/> 5627ec681f3Smrg <value value="9" name="RBBM_VSC_BUSY"/> 5637ec681f3Smrg <value value="10" name="RBBM_HLSQ_BUSY"/> 5647ec681f3Smrg <value value="11" name="RBBM_ANY_RB_BUSY"/> 5657ec681f3Smrg <value value="12" name="RBBM_ANY_TPL1_BUSY"/> 5667ec681f3Smrg <value value="13" name="RBBM_ANY_SP_BUSY"/> 5677ec681f3Smrg <value value="14" name="RBBM_ANY_MARB_BUSY"/> 5687ec681f3Smrg <value value="15" name="RBBM_ANY_ARB_BUSY"/> 5697ec681f3Smrg <value value="16" name="RBBM_AHB_STATUS_BUSY"/> 5707ec681f3Smrg <value value="17" name="RBBM_AHB_STATUS_STALLED"/> 5717ec681f3Smrg <value value="18" name="RBBM_AHB_STATUS_TXFR"/> 5727ec681f3Smrg <value value="19" name="RBBM_AHB_STATUS_TXFR_SPLIT"/> 5737ec681f3Smrg <value value="20" name="RBBM_AHB_STATUS_TXFR_ERROR"/> 5747ec681f3Smrg <value value="21" name="RBBM_AHB_STATUS_LONG_STALL"/> 5757ec681f3Smrg <value value="22" name="RBBM_STATUS_MASKED"/> 5767ec681f3Smrg <value value="23" name="RBBM_CP_BUSY_GFX_CORE_IDLE"/> 5777ec681f3Smrg <value value="24" name="RBBM_TESS_BUSY"/> 5787ec681f3Smrg <value value="25" name="RBBM_COM_BUSY"/> 5797ec681f3Smrg <value value="32" name="RBBM_DCOM_BUSY"/> 5807ec681f3Smrg <value value="33" name="RBBM_ANY_CCU_BUSY"/> 5817ec681f3Smrg <value value="34" name="RBBM_DPM_BUSY"/> 5827ec681f3Smrg</enum> 5837ec681f3Smrg 5847ec681f3Smrg<enum name="a4xx_sp_perfcounter_select"> 5857ec681f3Smrg <value value="0" name="SP_LM_LOAD_INSTRUCTIONS"/> 5867ec681f3Smrg <value value="1" name="SP_LM_STORE_INSTRUCTIONS"/> 5877ec681f3Smrg <value value="2" name="SP_LM_ATOMICS"/> 5887ec681f3Smrg <value value="3" name="SP_GM_LOAD_INSTRUCTIONS"/> 5897ec681f3Smrg <value value="4" name="SP_GM_STORE_INSTRUCTIONS"/> 5907ec681f3Smrg <value value="5" name="SP_GM_ATOMICS"/> 5917ec681f3Smrg <value value="6" name="SP_VS_STAGE_TEX_INSTRUCTIONS"/> 5927ec681f3Smrg <value value="7" name="SP_VS_STAGE_CFLOW_INSTRUCTIONS"/> 5937ec681f3Smrg <value value="8" name="SP_VS_STAGE_EFU_INSTRUCTIONS"/> 5947ec681f3Smrg <value value="9" name="SP_VS_STAGE_FULL_ALU_INSTRUCTIONS"/> 5957ec681f3Smrg <value value="10" name="SP_VS_STAGE_HALF_ALU_INSTRUCTIONS"/> 5967ec681f3Smrg <value value="11" name="SP_FS_STAGE_TEX_INSTRUCTIONS"/> 5977ec681f3Smrg <value value="12" name="SP_FS_STAGE_CFLOW_INSTRUCTIONS"/> 5987ec681f3Smrg <value value="13" name="SP_FS_STAGE_EFU_INSTRUCTIONS"/> 5997ec681f3Smrg <value value="14" name="SP_FS_STAGE_FULL_ALU_INSTRUCTIONS"/> 6007ec681f3Smrg <value value="15" name="SP_FS_STAGE_HALF_ALU_INSTRUCTIONS"/> 6017ec681f3Smrg <value value="17" name="SP_VS_INSTRUCTIONS"/> 6027ec681f3Smrg <value value="18" name="SP_FS_INSTRUCTIONS"/> 6037ec681f3Smrg <value value="19" name="SP_ADDR_LOCK_COUNT"/> 6047ec681f3Smrg <value value="20" name="SP_UCHE_READ_TRANS"/> 6057ec681f3Smrg <value value="21" name="SP_UCHE_WRITE_TRANS"/> 6067ec681f3Smrg <value value="22" name="SP_EXPORT_VPC_TRANS"/> 6077ec681f3Smrg <value value="23" name="SP_EXPORT_RB_TRANS"/> 6087ec681f3Smrg <value value="24" name="SP_PIXELS_KILLED"/> 6097ec681f3Smrg <value value="25" name="SP_ICL1_REQUESTS"/> 6107ec681f3Smrg <value value="26" name="SP_ICL1_MISSES"/> 6117ec681f3Smrg <value value="27" name="SP_ICL0_REQUESTS"/> 6127ec681f3Smrg <value value="28" name="SP_ICL0_MISSES"/> 6137ec681f3Smrg <value value="29" name="SP_ALU_WORKING_CYCLES"/> 6147ec681f3Smrg <value value="30" name="SP_EFU_WORKING_CYCLES"/> 6157ec681f3Smrg <value value="31" name="SP_STALL_CYCLES_BY_VPC"/> 6167ec681f3Smrg <value value="32" name="SP_STALL_CYCLES_BY_TP"/> 6177ec681f3Smrg <value value="33" name="SP_STALL_CYCLES_BY_UCHE"/> 6187ec681f3Smrg <value value="34" name="SP_STALL_CYCLES_BY_RB"/> 6197ec681f3Smrg <value value="35" name="SP_BUSY_CYCLES"/> 6207ec681f3Smrg <value value="36" name="SP_HS_INSTRUCTIONS"/> 6217ec681f3Smrg <value value="37" name="SP_DS_INSTRUCTIONS"/> 6227ec681f3Smrg <value value="38" name="SP_GS_INSTRUCTIONS"/> 6237ec681f3Smrg <value value="39" name="SP_CS_INSTRUCTIONS"/> 6247ec681f3Smrg <value value="40" name="SP_SCHEDULER_NON_WORKING"/> 6257ec681f3Smrg <value value="41" name="SP_WAVE_CONTEXTS"/> 6267ec681f3Smrg <value value="42" name="SP_WAVE_CONTEXT_CYCLES"/> 6277ec681f3Smrg <value value="43" name="SP_POWER0"/> 6287ec681f3Smrg <value value="44" name="SP_POWER1"/> 6297ec681f3Smrg <value value="45" name="SP_POWER2"/> 6307ec681f3Smrg <value value="46" name="SP_POWER3"/> 6317ec681f3Smrg <value value="47" name="SP_POWER4"/> 6327ec681f3Smrg <value value="48" name="SP_POWER5"/> 6337ec681f3Smrg <value value="49" name="SP_POWER6"/> 6347ec681f3Smrg <value value="50" name="SP_POWER7"/> 6357ec681f3Smrg <value value="51" name="SP_POWER8"/> 6367ec681f3Smrg <value value="52" name="SP_POWER9"/> 6377ec681f3Smrg <value value="53" name="SP_POWER10"/> 6387ec681f3Smrg <value value="54" name="SP_POWER11"/> 6397ec681f3Smrg <value value="55" name="SP_POWER12"/> 6407ec681f3Smrg <value value="56" name="SP_POWER13"/> 6417ec681f3Smrg <value value="57" name="SP_POWER14"/> 6427ec681f3Smrg <value value="58" name="SP_POWER15"/> 6437ec681f3Smrg</enum> 6447ec681f3Smrg 6457ec681f3Smrg<enum name="a4xx_tp_perfcounter_select"> 6467ec681f3Smrg <value value="0" name="TP_L1_REQUESTS"/> 6477ec681f3Smrg <value value="1" name="TP_L1_MISSES"/> 6487ec681f3Smrg <value value="8" name="TP_QUADS_OFFSET"/> 6497ec681f3Smrg <value value="9" name="TP_QUAD_SHADOW"/> 6507ec681f3Smrg <value value="10" name="TP_QUADS_ARRAY"/> 6517ec681f3Smrg <value value="11" name="TP_QUADS_GRADIENT"/> 6527ec681f3Smrg <value value="12" name="TP_QUADS_1D2D"/> 6537ec681f3Smrg <value value="13" name="TP_QUADS_3DCUBE"/> 6547ec681f3Smrg <value value="16" name="TP_BUSY_CYCLES"/> 6557ec681f3Smrg <value value="17" name="TP_STALL_CYCLES_BY_ARB"/> 6567ec681f3Smrg <value value="20" name="TP_STATE_CACHE_REQUESTS"/> 6577ec681f3Smrg <value value="21" name="TP_STATE_CACHE_MISSES"/> 6587ec681f3Smrg <value value="22" name="TP_POWER0"/> 6597ec681f3Smrg <value value="23" name="TP_POWER1"/> 6607ec681f3Smrg <value value="24" name="TP_POWER2"/> 6617ec681f3Smrg <value value="25" name="TP_POWER3"/> 6627ec681f3Smrg <value value="26" name="TP_POWER4"/> 6637ec681f3Smrg <value value="27" name="TP_POWER5"/> 6647ec681f3Smrg <value value="28" name="TP_POWER6"/> 6657ec681f3Smrg <value value="29" name="TP_POWER7"/> 6667ec681f3Smrg</enum> 6677ec681f3Smrg 6687ec681f3Smrg<enum name="a4xx_uche_perfcounter_select"> 6697ec681f3Smrg <value value="0" name="UCHE_VBIF_READ_BEATS_TP"/> 6707ec681f3Smrg <value value="1" name="UCHE_VBIF_READ_BEATS_VFD"/> 6717ec681f3Smrg <value value="2" name="UCHE_VBIF_READ_BEATS_HLSQ"/> 6727ec681f3Smrg <value value="3" name="UCHE_VBIF_READ_BEATS_MARB"/> 6737ec681f3Smrg <value value="4" name="UCHE_VBIF_READ_BEATS_SP"/> 6747ec681f3Smrg <value value="5" name="UCHE_READ_REQUESTS_TP"/> 6757ec681f3Smrg <value value="6" name="UCHE_READ_REQUESTS_VFD"/> 6767ec681f3Smrg <value value="7" name="UCHE_READ_REQUESTS_HLSQ"/> 6777ec681f3Smrg <value value="8" name="UCHE_READ_REQUESTS_MARB"/> 6787ec681f3Smrg <value value="9" name="UCHE_READ_REQUESTS_SP"/> 6797ec681f3Smrg <value value="10" name="UCHE_WRITE_REQUESTS_MARB"/> 6807ec681f3Smrg <value value="11" name="UCHE_WRITE_REQUESTS_SP"/> 6817ec681f3Smrg <value value="12" name="UCHE_TAG_CHECK_FAILS"/> 6827ec681f3Smrg <value value="13" name="UCHE_EVICTS"/> 6837ec681f3Smrg <value value="14" name="UCHE_FLUSHES"/> 6847ec681f3Smrg <value value="15" name="UCHE_VBIF_LATENCY_CYCLES"/> 6857ec681f3Smrg <value value="16" name="UCHE_VBIF_LATENCY_SAMPLES"/> 6867ec681f3Smrg <value value="17" name="UCHE_BUSY_CYCLES"/> 6877ec681f3Smrg <value value="18" name="UCHE_VBIF_READ_BEATS_PC"/> 6887ec681f3Smrg <value value="19" name="UCHE_READ_REQUESTS_PC"/> 6897ec681f3Smrg <value value="20" name="UCHE_WRITE_REQUESTS_VPC"/> 6907ec681f3Smrg <value value="21" name="UCHE_STALL_BY_VBIF"/> 6917ec681f3Smrg <value value="22" name="UCHE_WRITE_REQUESTS_VSC"/> 6927ec681f3Smrg <value value="23" name="UCHE_POWER0"/> 6937ec681f3Smrg <value value="24" name="UCHE_POWER1"/> 6947ec681f3Smrg <value value="25" name="UCHE_POWER2"/> 6957ec681f3Smrg <value value="26" name="UCHE_POWER3"/> 6967ec681f3Smrg <value value="27" name="UCHE_POWER4"/> 6977ec681f3Smrg <value value="28" name="UCHE_POWER5"/> 6987ec681f3Smrg <value value="29" name="UCHE_POWER6"/> 6997ec681f3Smrg <value value="30" name="UCHE_POWER7"/> 7007ec681f3Smrg</enum> 7017ec681f3Smrg 7027ec681f3Smrg<enum name="a4xx_vbif_perfcounter_select"> 7037ec681f3Smrg <value value="0" name="AXI_READ_REQUESTS_ID_0"/> 7047ec681f3Smrg <value value="1" name="AXI_READ_REQUESTS_ID_1"/> 7057ec681f3Smrg <value value="2" name="AXI_READ_REQUESTS_ID_2"/> 7067ec681f3Smrg <value value="3" name="AXI_READ_REQUESTS_ID_3"/> 7077ec681f3Smrg <value value="4" name="AXI_READ_REQUESTS_ID_4"/> 7087ec681f3Smrg <value value="5" name="AXI_READ_REQUESTS_ID_5"/> 7097ec681f3Smrg <value value="6" name="AXI_READ_REQUESTS_ID_6"/> 7107ec681f3Smrg <value value="7" name="AXI_READ_REQUESTS_ID_7"/> 7117ec681f3Smrg <value value="8" name="AXI_READ_REQUESTS_ID_8"/> 7127ec681f3Smrg <value value="9" name="AXI_READ_REQUESTS_ID_9"/> 7137ec681f3Smrg <value value="10" name="AXI_READ_REQUESTS_ID_10"/> 7147ec681f3Smrg <value value="11" name="AXI_READ_REQUESTS_ID_11"/> 7157ec681f3Smrg <value value="12" name="AXI_READ_REQUESTS_ID_12"/> 7167ec681f3Smrg <value value="13" name="AXI_READ_REQUESTS_ID_13"/> 7177ec681f3Smrg <value value="14" name="AXI_READ_REQUESTS_ID_14"/> 7187ec681f3Smrg <value value="15" name="AXI_READ_REQUESTS_ID_15"/> 7197ec681f3Smrg <value value="16" name="AXI0_READ_REQUESTS_TOTAL"/> 7207ec681f3Smrg <value value="17" name="AXI1_READ_REQUESTS_TOTAL"/> 7217ec681f3Smrg <value value="18" name="AXI2_READ_REQUESTS_TOTAL"/> 7227ec681f3Smrg <value value="19" name="AXI3_READ_REQUESTS_TOTAL"/> 7237ec681f3Smrg <value value="20" name="AXI_READ_REQUESTS_TOTAL"/> 7247ec681f3Smrg <value value="21" name="AXI_WRITE_REQUESTS_ID_0"/> 7257ec681f3Smrg <value value="22" name="AXI_WRITE_REQUESTS_ID_1"/> 7267ec681f3Smrg <value value="23" name="AXI_WRITE_REQUESTS_ID_2"/> 7277ec681f3Smrg <value value="24" name="AXI_WRITE_REQUESTS_ID_3"/> 7287ec681f3Smrg <value value="25" name="AXI_WRITE_REQUESTS_ID_4"/> 7297ec681f3Smrg <value value="26" name="AXI_WRITE_REQUESTS_ID_5"/> 7307ec681f3Smrg <value value="27" name="AXI_WRITE_REQUESTS_ID_6"/> 7317ec681f3Smrg <value value="28" name="AXI_WRITE_REQUESTS_ID_7"/> 7327ec681f3Smrg <value value="29" name="AXI_WRITE_REQUESTS_ID_8"/> 7337ec681f3Smrg <value value="30" name="AXI_WRITE_REQUESTS_ID_9"/> 7347ec681f3Smrg <value value="31" name="AXI_WRITE_REQUESTS_ID_10"/> 7357ec681f3Smrg <value value="32" name="AXI_WRITE_REQUESTS_ID_11"/> 7367ec681f3Smrg <value value="33" name="AXI_WRITE_REQUESTS_ID_12"/> 7377ec681f3Smrg <value value="34" name="AXI_WRITE_REQUESTS_ID_13"/> 7387ec681f3Smrg <value value="35" name="AXI_WRITE_REQUESTS_ID_14"/> 7397ec681f3Smrg <value value="36" name="AXI_WRITE_REQUESTS_ID_15"/> 7407ec681f3Smrg <value value="37" name="AXI0_WRITE_REQUESTS_TOTAL"/> 7417ec681f3Smrg <value value="38" name="AXI1_WRITE_REQUESTS_TOTAL"/> 7427ec681f3Smrg <value value="39" name="AXI2_WRITE_REQUESTS_TOTAL"/> 7437ec681f3Smrg <value value="40" name="AXI3_WRITE_REQUESTS_TOTAL"/> 7447ec681f3Smrg <value value="41" name="AXI_WRITE_REQUESTS_TOTAL"/> 7457ec681f3Smrg <value value="42" name="AXI_TOTAL_REQUESTS"/> 7467ec681f3Smrg <value value="43" name="AXI_READ_DATA_BEATS_ID_0"/> 7477ec681f3Smrg <value value="44" name="AXI_READ_DATA_BEATS_ID_1"/> 7487ec681f3Smrg <value value="45" name="AXI_READ_DATA_BEATS_ID_2"/> 7497ec681f3Smrg <value value="46" name="AXI_READ_DATA_BEATS_ID_3"/> 7507ec681f3Smrg <value value="47" name="AXI_READ_DATA_BEATS_ID_4"/> 7517ec681f3Smrg <value value="48" name="AXI_READ_DATA_BEATS_ID_5"/> 7527ec681f3Smrg <value value="49" name="AXI_READ_DATA_BEATS_ID_6"/> 7537ec681f3Smrg <value value="50" name="AXI_READ_DATA_BEATS_ID_7"/> 7547ec681f3Smrg <value value="51" name="AXI_READ_DATA_BEATS_ID_8"/> 7557ec681f3Smrg <value value="52" name="AXI_READ_DATA_BEATS_ID_9"/> 7567ec681f3Smrg <value value="53" name="AXI_READ_DATA_BEATS_ID_10"/> 7577ec681f3Smrg <value value="54" name="AXI_READ_DATA_BEATS_ID_11"/> 7587ec681f3Smrg <value value="55" name="AXI_READ_DATA_BEATS_ID_12"/> 7597ec681f3Smrg <value value="56" name="AXI_READ_DATA_BEATS_ID_13"/> 7607ec681f3Smrg <value value="57" name="AXI_READ_DATA_BEATS_ID_14"/> 7617ec681f3Smrg <value value="58" name="AXI_READ_DATA_BEATS_ID_15"/> 7627ec681f3Smrg <value value="59" name="AXI0_READ_DATA_BEATS_TOTAL"/> 7637ec681f3Smrg <value value="60" name="AXI1_READ_DATA_BEATS_TOTAL"/> 7647ec681f3Smrg <value value="61" name="AXI2_READ_DATA_BEATS_TOTAL"/> 7657ec681f3Smrg <value value="62" name="AXI3_READ_DATA_BEATS_TOTAL"/> 7667ec681f3Smrg <value value="63" name="AXI_READ_DATA_BEATS_TOTAL"/> 7677ec681f3Smrg <value value="64" name="AXI_WRITE_DATA_BEATS_ID_0"/> 7687ec681f3Smrg <value value="65" name="AXI_WRITE_DATA_BEATS_ID_1"/> 7697ec681f3Smrg <value value="66" name="AXI_WRITE_DATA_BEATS_ID_2"/> 7707ec681f3Smrg <value value="67" name="AXI_WRITE_DATA_BEATS_ID_3"/> 7717ec681f3Smrg <value value="68" name="AXI_WRITE_DATA_BEATS_ID_4"/> 7727ec681f3Smrg <value value="69" name="AXI_WRITE_DATA_BEATS_ID_5"/> 7737ec681f3Smrg <value value="70" name="AXI_WRITE_DATA_BEATS_ID_6"/> 7747ec681f3Smrg <value value="71" name="AXI_WRITE_DATA_BEATS_ID_7"/> 7757ec681f3Smrg <value value="72" name="AXI_WRITE_DATA_BEATS_ID_8"/> 7767ec681f3Smrg <value value="73" name="AXI_WRITE_DATA_BEATS_ID_9"/> 7777ec681f3Smrg <value value="74" name="AXI_WRITE_DATA_BEATS_ID_10"/> 7787ec681f3Smrg <value value="75" name="AXI_WRITE_DATA_BEATS_ID_11"/> 7797ec681f3Smrg <value value="76" name="AXI_WRITE_DATA_BEATS_ID_12"/> 7807ec681f3Smrg <value value="77" name="AXI_WRITE_DATA_BEATS_ID_13"/> 7817ec681f3Smrg <value value="78" name="AXI_WRITE_DATA_BEATS_ID_14"/> 7827ec681f3Smrg <value value="79" name="AXI_WRITE_DATA_BEATS_ID_15"/> 7837ec681f3Smrg <value value="80" name="AXI0_WRITE_DATA_BEATS_TOTAL"/> 7847ec681f3Smrg <value value="81" name="AXI1_WRITE_DATA_BEATS_TOTAL"/> 7857ec681f3Smrg <value value="82" name="AXI2_WRITE_DATA_BEATS_TOTAL"/> 7867ec681f3Smrg <value value="83" name="AXI3_WRITE_DATA_BEATS_TOTAL"/> 7877ec681f3Smrg <value value="84" name="AXI_WRITE_DATA_BEATS_TOTAL"/> 7887ec681f3Smrg <value value="85" name="AXI_DATA_BEATS_TOTAL"/> 7897ec681f3Smrg <value value="86" name="CYCLES_HELD_OFF_ID_0"/> 7907ec681f3Smrg <value value="87" name="CYCLES_HELD_OFF_ID_1"/> 7917ec681f3Smrg <value value="88" name="CYCLES_HELD_OFF_ID_2"/> 7927ec681f3Smrg <value value="89" name="CYCLES_HELD_OFF_ID_3"/> 7937ec681f3Smrg <value value="90" name="CYCLES_HELD_OFF_ID_4"/> 7947ec681f3Smrg <value value="91" name="CYCLES_HELD_OFF_ID_5"/> 7957ec681f3Smrg <value value="92" name="CYCLES_HELD_OFF_ID_6"/> 7967ec681f3Smrg <value value="93" name="CYCLES_HELD_OFF_ID_7"/> 7977ec681f3Smrg <value value="94" name="CYCLES_HELD_OFF_ID_8"/> 7987ec681f3Smrg <value value="95" name="CYCLES_HELD_OFF_ID_9"/> 7997ec681f3Smrg <value value="96" name="CYCLES_HELD_OFF_ID_10"/> 8007ec681f3Smrg <value value="97" name="CYCLES_HELD_OFF_ID_11"/> 8017ec681f3Smrg <value value="98" name="CYCLES_HELD_OFF_ID_12"/> 8027ec681f3Smrg <value value="99" name="CYCLES_HELD_OFF_ID_13"/> 8037ec681f3Smrg <value value="100" name="CYCLES_HELD_OFF_ID_14"/> 8047ec681f3Smrg <value value="101" name="CYCLES_HELD_OFF_ID_15"/> 8057ec681f3Smrg <value value="102" name="AXI_READ_REQUEST_HELD_OFF"/> 8067ec681f3Smrg <value value="103" name="AXI_WRITE_REQUEST_HELD_OFF"/> 8077ec681f3Smrg <value value="104" name="AXI_REQUEST_HELD_OFF"/> 8087ec681f3Smrg <value value="105" name="AXI_WRITE_DATA_HELD_OFF"/> 8097ec681f3Smrg <value value="106" name="OCMEM_AXI_READ_REQUEST_HELD_OFF"/> 8107ec681f3Smrg <value value="107" name="OCMEM_AXI_WRITE_REQUEST_HELD_OFF"/> 8117ec681f3Smrg <value value="108" name="OCMEM_AXI_REQUEST_HELD_OFF"/> 8127ec681f3Smrg <value value="109" name="OCMEM_AXI_WRITE_DATA_HELD_OFF"/> 8137ec681f3Smrg <value value="110" name="ELAPSED_CYCLES_DDR"/> 8147ec681f3Smrg <value value="111" name="ELAPSED_CYCLES_OCMEM"/> 8157ec681f3Smrg</enum> 8167ec681f3Smrg 8177ec681f3Smrg<enum name="a4xx_vfd_perfcounter_select"> 8187ec681f3Smrg <value value="0" name="VFD_UCHE_BYTE_FETCHED"/> 8197ec681f3Smrg <value value="1" name="VFD_UCHE_TRANS"/> 8207ec681f3Smrg <value value="3" name="VFD_FETCH_INSTRUCTIONS"/> 8217ec681f3Smrg <value value="5" name="VFD_BUSY_CYCLES"/> 8227ec681f3Smrg <value value="6" name="VFD_STALL_CYCLES_UCHE"/> 8237ec681f3Smrg <value value="7" name="VFD_STALL_CYCLES_HLSQ"/> 8247ec681f3Smrg <value value="8" name="VFD_STALL_CYCLES_VPC_BYPASS"/> 8257ec681f3Smrg <value value="9" name="VFD_STALL_CYCLES_VPC_ALLOC"/> 8267ec681f3Smrg <value value="13" name="VFD_MODE_0_FIBERS"/> 8277ec681f3Smrg <value value="14" name="VFD_MODE_1_FIBERS"/> 8287ec681f3Smrg <value value="15" name="VFD_MODE_2_FIBERS"/> 8297ec681f3Smrg <value value="16" name="VFD_MODE_3_FIBERS"/> 8307ec681f3Smrg <value value="17" name="VFD_MODE_4_FIBERS"/> 8317ec681f3Smrg <value value="18" name="VFD_BFIFO_STALL"/> 8327ec681f3Smrg <value value="19" name="VFD_NUM_VERTICES_TOTAL"/> 8337ec681f3Smrg <value value="20" name="VFD_PACKER_FULL"/> 8347ec681f3Smrg <value value="21" name="VFD_UCHE_REQUEST_FIFO_FULL"/> 8357ec681f3Smrg <value value="22" name="VFD_STARVE_CYCLES_PC"/> 8367ec681f3Smrg <value value="23" name="VFD_STARVE_CYCLES_UCHE"/> 8377ec681f3Smrg</enum> 8387ec681f3Smrg 8397ec681f3Smrg<enum name="a4xx_vpc_perfcounter_select"> 8407ec681f3Smrg <value value="2" name="VPC_SP_LM_COMPONENTS"/> 8417ec681f3Smrg <value value="3" name="VPC_SP0_LM_BYTES"/> 8427ec681f3Smrg <value value="4" name="VPC_SP1_LM_BYTES"/> 8437ec681f3Smrg <value value="5" name="VPC_SP2_LM_BYTES"/> 8447ec681f3Smrg <value value="6" name="VPC_SP3_LM_BYTES"/> 8457ec681f3Smrg <value value="7" name="VPC_WORKING_CYCLES"/> 8467ec681f3Smrg <value value="8" name="VPC_STALL_CYCLES_LM"/> 8477ec681f3Smrg <value value="9" name="VPC_STARVE_CYCLES_RAS"/> 8487ec681f3Smrg <value value="10" name="VPC_STREAMOUT_CYCLES"/> 8497ec681f3Smrg <value value="12" name="VPC_UCHE_TRANSACTIONS"/> 8507ec681f3Smrg <value value="13" name="VPC_STALL_CYCLES_UCHE"/> 8517ec681f3Smrg <value value="14" name="VPC_BUSY_CYCLES"/> 8527ec681f3Smrg <value value="15" name="VPC_STARVE_CYCLES_SP"/> 8537ec681f3Smrg</enum> 8547ec681f3Smrg 8557ec681f3Smrg<enum name="a4xx_vsc_perfcounter_select"> 8567ec681f3Smrg <value value="0" name="VSC_BUSY_CYCLES"/> 8577ec681f3Smrg <value value="1" name="VSC_WORKING_CYCLES"/> 8587ec681f3Smrg <value value="2" name="VSC_STALL_CYCLES_UCHE"/> 8597ec681f3Smrg <value value="3" name="VSC_STARVE_CYCLES_RAS"/> 8607ec681f3Smrg <value value="4" name="VSC_EOT_NUM"/> 8617ec681f3Smrg</enum> 8627ec681f3Smrg 8637ec681f3Smrg<domain name="A4XX" width="32"> 8647ec681f3Smrg <!-- RB registers --> 8657ec681f3Smrg <reg32 offset="0x0cc0" name="RB_GMEM_BASE_ADDR"/> 8667ec681f3Smrg <reg32 offset="0x0cc7" name="RB_PERFCTR_RB_SEL_0" type="a4xx_rb_perfcounter_select"/> 8677ec681f3Smrg <reg32 offset="0x0cc8" name="RB_PERFCTR_RB_SEL_1" type="a4xx_rb_perfcounter_select"/> 8687ec681f3Smrg <reg32 offset="0x0cc9" name="RB_PERFCTR_RB_SEL_2" type="a4xx_rb_perfcounter_select"/> 8697ec681f3Smrg <reg32 offset="0x0cca" name="RB_PERFCTR_RB_SEL_3" type="a4xx_rb_perfcounter_select"/> 8707ec681f3Smrg <reg32 offset="0x0ccb" name="RB_PERFCTR_RB_SEL_4" type="a4xx_rb_perfcounter_select"/> 8717ec681f3Smrg <reg32 offset="0x0ccc" name="RB_PERFCTR_RB_SEL_5" type="a4xx_rb_perfcounter_select"/> 8727ec681f3Smrg <reg32 offset="0x0ccd" name="RB_PERFCTR_RB_SEL_6" type="a4xx_rb_perfcounter_select"/> 8737ec681f3Smrg <reg32 offset="0x0cce" name="RB_PERFCTR_RB_SEL_7" type="a4xx_rb_perfcounter_select"/> 8747ec681f3Smrg <reg32 offset="0x0ccf" name="RB_PERFCTR_CCU_SEL_0" type="a4xx_ccu_perfcounter_select"/> 8757ec681f3Smrg <reg32 offset="0x0cd0" name="RB_PERFCTR_CCU_SEL_1" type="a4xx_ccu_perfcounter_select"/> 8767ec681f3Smrg <reg32 offset="0x0cd1" name="RB_PERFCTR_CCU_SEL_2" type="a4xx_ccu_perfcounter_select"/> 8777ec681f3Smrg <reg32 offset="0x0cd2" name="RB_PERFCTR_CCU_SEL_3" type="a4xx_ccu_perfcounter_select"/> 8787ec681f3Smrg <reg32 offset="0x0ce0" name="RB_FRAME_BUFFER_DIMENSION"> 8797ec681f3Smrg <bitfield name="WIDTH" low="0" high="13" type="uint"/> 8807ec681f3Smrg <bitfield name="HEIGHT" low="16" high="29" type="uint"/> 8817ec681f3Smrg </reg32> 8827ec681f3Smrg <reg32 offset="0x20cc" name="RB_CLEAR_COLOR_DW0"/> 8837ec681f3Smrg <reg32 offset="0x20cd" name="RB_CLEAR_COLOR_DW1"/> 8847ec681f3Smrg <reg32 offset="0x20ce" name="RB_CLEAR_COLOR_DW2"/> 8857ec681f3Smrg <reg32 offset="0x20cf" name="RB_CLEAR_COLOR_DW3"/> 8867ec681f3Smrg <reg32 offset="0x20a0" name="RB_MODE_CONTROL"> 8877ec681f3Smrg <!-- 8887ec681f3Smrg for non-bypass mode, these are bin width/height.. although 8897ec681f3Smrg possibly bigger bitfields to hold entire width/height for 8907ec681f3Smrg gmem-bypass?? Either way, it appears to need to be multiple 8917ec681f3Smrg of 32.. 8927ec681f3Smrg --> 8937ec681f3Smrg <bitfield name="WIDTH" low="0" high="5" shr="5" type="uint"/> 8947ec681f3Smrg <bitfield name="HEIGHT" low="8" high="13" shr="5" type="uint"/> 8957ec681f3Smrg <bitfield name="ENABLE_GMEM" pos="16" type="boolean"/> 8967ec681f3Smrg </reg32> 8977ec681f3Smrg <reg32 offset="0x20a1" name="RB_RENDER_CONTROL"> 8987ec681f3Smrg <bitfield name="BINNING_PASS" pos="0" type="boolean"/> 8997ec681f3Smrg <!-- nearly everything has bit3 set.. --> 9007ec681f3Smrg <!-- bit5 set on resolve and tiling pass --> 9017ec681f3Smrg <bitfield name="DISABLE_COLOR_PIPE" pos="5" type="boolean"/> 9027ec681f3Smrg </reg32> 9037ec681f3Smrg <reg32 offset="0x20a2" name="RB_MSAA_CONTROL"> 9047ec681f3Smrg <bitfield name="DISABLE" pos="12" type="boolean"/> 9057ec681f3Smrg <bitfield name="SAMPLES" low="13" high="15" type="uint"/> 9067ec681f3Smrg </reg32> 9077ec681f3Smrg <reg32 offset="0x20a3" name="RB_RENDER_CONTROL2"> 9087ec681f3Smrg <bitfield name="COORD_MASK" low="0" high="3" type="hex"/> 9097ec681f3Smrg <bitfield name="SAMPLEMASK" pos="4" type="boolean"/> 9107ec681f3Smrg <bitfield name="FACENESS" pos="5" type="boolean"/> 9117ec681f3Smrg <bitfield name="SAMPLEID" pos="6" type="boolean"/> 9127ec681f3Smrg <bitfield name="MSAA_SAMPLES" low="7" high="9" type="uint"/> 9137ec681f3Smrg <bitfield name="SAMPLEID_HR" pos="11" type="boolean"/> 9147ec681f3Smrg <bitfield name="IJ_PERSP_PIXEL" pos="12" type="boolean"/> 9157ec681f3Smrg <!-- the 2 below are just educated guesses --> 9167ec681f3Smrg <bitfield name="IJ_PERSP_CENTROID" pos="13" type="boolean"/> 9177ec681f3Smrg <bitfield name="IJ_PERSP_SAMPLE" pos="14" type="boolean"/> 9187ec681f3Smrg <!-- needs to be enabled to get nopersp values, 9197ec681f3Smrg perhaps other cases too? --> 9207ec681f3Smrg <bitfield name="SIZE" pos="15" type="boolean"/> 9217ec681f3Smrg </reg32> 9227ec681f3Smrg <array offset="0x20a4" name="RB_MRT" stride="5" length="8"> 9237ec681f3Smrg <reg32 offset="0x0" name="CONTROL"> 9247ec681f3Smrg <bitfield name="READ_DEST_ENABLE" pos="3" type="boolean"/> 9257ec681f3Smrg <!-- both these bits seem to get set when enabling GL_BLEND.. --> 9267ec681f3Smrg <bitfield name="BLEND" pos="4" type="boolean"/> 9277ec681f3Smrg <bitfield name="BLEND2" pos="5" type="boolean"/> 9287ec681f3Smrg <bitfield name="ROP_ENABLE" pos="6" type="boolean"/> 9297ec681f3Smrg <bitfield name="ROP_CODE" low="8" high="11" type="a3xx_rop_code"/> 9307ec681f3Smrg <bitfield name="COMPONENT_ENABLE" low="24" high="27" type="hex"/> 9317ec681f3Smrg </reg32> 9327ec681f3Smrg <reg32 offset="0x1" name="BUF_INFO"> 9337ec681f3Smrg <bitfield name="COLOR_FORMAT" low="0" high="5" type="a4xx_color_fmt"/> 9347ec681f3Smrg <!-- 9357ec681f3Smrg guestimate position of COLOR_TILE_MODE.. this works out if 9367ec681f3Smrg common value is 2, like on a3xx.. 9377ec681f3Smrg --> 9387ec681f3Smrg <bitfield name="COLOR_TILE_MODE" low="6" high="7" type="a4xx_tile_mode"/> 9397ec681f3Smrg <bitfield name="DITHER_MODE" low="9" high="10" type="adreno_rb_dither_mode"/> 9407ec681f3Smrg <bitfield name="COLOR_SWAP" low="11" high="12" type="a3xx_color_swap"/> 9417ec681f3Smrg <bitfield name="COLOR_SRGB" pos="13" type="boolean"/> 9427ec681f3Smrg <!-- note: possibly some # of lsb's aren't there: --> 9437ec681f3Smrg <doc> 9447ec681f3Smrg Pitch (actually, appears to be pitch in bytes, so really is a stride) 9457ec681f3Smrg in GMEM, so pitch of the current tile. 9467ec681f3Smrg </doc> 9477ec681f3Smrg <bitfield name="COLOR_BUF_PITCH" low="14" high="31" shr="4" type="uint"/> 9487ec681f3Smrg </reg32> 9497ec681f3Smrg <reg32 offset="0x2" name="BASE"/> 9507ec681f3Smrg <reg32 offset="0x3" name="CONTROL3"> 9517ec681f3Smrg <!-- probably missing some lsb's.. and guessing upper size --> 9527ec681f3Smrg <!-- pitch * cpp * msaa: --> 9537ec681f3Smrg <bitfield name="STRIDE" low="3" high="25" type="uint"/> 9547ec681f3Smrg </reg32> 9557ec681f3Smrg <reg32 offset="0x4" name="BLEND_CONTROL"> 9567ec681f3Smrg <bitfield name="RGB_SRC_FACTOR" low="0" high="4" type="adreno_rb_blend_factor"/> 9577ec681f3Smrg <bitfield name="RGB_BLEND_OPCODE" low="5" high="7" type="a3xx_rb_blend_opcode"/> 9587ec681f3Smrg <bitfield name="RGB_DEST_FACTOR" low="8" high="12" type="adreno_rb_blend_factor"/> 9597ec681f3Smrg <bitfield name="ALPHA_SRC_FACTOR" low="16" high="20" type="adreno_rb_blend_factor"/> 9607ec681f3Smrg <bitfield name="ALPHA_BLEND_OPCODE" low="21" high="23" type="a3xx_rb_blend_opcode"/> 9617ec681f3Smrg <bitfield name="ALPHA_DEST_FACTOR" low="24" high="28" type="adreno_rb_blend_factor"/> 9627ec681f3Smrg </reg32> 9637ec681f3Smrg </array> 9647ec681f3Smrg 9657ec681f3Smrg <reg32 offset="0x20f0" name="RB_BLEND_RED"> 9667ec681f3Smrg <bitfield name="UINT" low="0" high="7" type="hex"/> 9677ec681f3Smrg <bitfield name="SINT" low="8" high="15" type="hex"/> 9687ec681f3Smrg <bitfield name="FLOAT" low="16" high="31" type="float"/> 9697ec681f3Smrg </reg32> 9707ec681f3Smrg <reg32 offset="0x20f1" name="RB_BLEND_RED_F32" type="float"/> 9717ec681f3Smrg 9727ec681f3Smrg <reg32 offset="0x20f2" name="RB_BLEND_GREEN"> 9737ec681f3Smrg <bitfield name="UINT" low="0" high="7" type="hex"/> 9747ec681f3Smrg <bitfield name="SINT" low="8" high="15" type="hex"/> 9757ec681f3Smrg <bitfield name="FLOAT" low="16" high="31" type="float"/> 9767ec681f3Smrg </reg32> 9777ec681f3Smrg <reg32 offset="0x20f3" name="RB_BLEND_GREEN_F32" type="float"/> 9787ec681f3Smrg 9797ec681f3Smrg <reg32 offset="0x20f4" name="RB_BLEND_BLUE"> 9807ec681f3Smrg <bitfield name="UINT" low="0" high="7" type="hex"/> 9817ec681f3Smrg <bitfield name="SINT" low="8" high="15" type="hex"/> 9827ec681f3Smrg <bitfield name="FLOAT" low="16" high="31" type="float"/> 9837ec681f3Smrg </reg32> 9847ec681f3Smrg <reg32 offset="0x20f5" name="RB_BLEND_BLUE_F32" type="float"/> 9857ec681f3Smrg 9867ec681f3Smrg <reg32 offset="0x20f6" name="RB_BLEND_ALPHA"> 9877ec681f3Smrg <bitfield name="UINT" low="0" high="7" type="hex"/> 9887ec681f3Smrg <bitfield name="SINT" low="8" high="15" type="hex"/> 9897ec681f3Smrg <bitfield name="FLOAT" low="16" high="31" type="float"/> 9907ec681f3Smrg </reg32> 9917ec681f3Smrg <reg32 offset="0x20f7" name="RB_BLEND_ALPHA_F32" type="float"/> 9927ec681f3Smrg 9937ec681f3Smrg <reg32 offset="0x20f8" name="RB_ALPHA_CONTROL"> 9947ec681f3Smrg <bitfield name="ALPHA_REF" low="0" high="7" type="hex"/> 9957ec681f3Smrg <bitfield name="ALPHA_TEST" pos="8" type="boolean"/> 9967ec681f3Smrg <bitfield name="ALPHA_TEST_FUNC" low="9" high="11" type="adreno_compare_func"/> 9977ec681f3Smrg </reg32> 9987ec681f3Smrg <reg32 offset="0x20f9" name="RB_FS_OUTPUT"> 9997ec681f3Smrg <!-- per-mrt enable bit --> 10007ec681f3Smrg <bitfield name="ENABLE_BLEND" low="0" high="7"/> 10017ec681f3Smrg <bitfield name="INDEPENDENT_BLEND" pos="8" type="boolean"/> 10027ec681f3Smrg <!-- a guess? --> 10037ec681f3Smrg <bitfield name="SAMPLE_MASK" low="16" high="31"/> 10047ec681f3Smrg </reg32> 10057ec681f3Smrg <reg32 offset="0x20fa" name="RB_SAMPLE_COUNT_CONTROL"> 10067ec681f3Smrg <bitfield name="COPY" pos="1" type="boolean"/> 10077ec681f3Smrg <bitfield name="ADDR" low="2" high="31" shr="2"/> 10087ec681f3Smrg </reg32> 10097ec681f3Smrg <!-- always 00000000 for binning pass, else 0000000f: --> 10107ec681f3Smrg <reg32 offset="0x20fb" name="RB_RENDER_COMPONENTS"> 10117ec681f3Smrg <bitfield name="RT0" low="0" high="3"/> 10127ec681f3Smrg <bitfield name="RT1" low="4" high="7"/> 10137ec681f3Smrg <bitfield name="RT2" low="8" high="11"/> 10147ec681f3Smrg <bitfield name="RT3" low="12" high="15"/> 10157ec681f3Smrg <bitfield name="RT4" low="16" high="19"/> 10167ec681f3Smrg <bitfield name="RT5" low="20" high="23"/> 10177ec681f3Smrg <bitfield name="RT6" low="24" high="27"/> 10187ec681f3Smrg <bitfield name="RT7" low="28" high="31"/> 10197ec681f3Smrg </reg32> 10207ec681f3Smrg 10217ec681f3Smrg <reg32 offset="0x20fc" name="RB_COPY_CONTROL"> 10227ec681f3Smrg <!-- not sure # of bits --> 10237ec681f3Smrg <bitfield name="MSAA_RESOLVE" low="0" high="1" type="a3xx_msaa_samples"/> 10247ec681f3Smrg <bitfield name="MODE" low="4" high="6" type="adreno_rb_copy_control_mode"/> 10257ec681f3Smrg <bitfield name="FASTCLEAR" low="8" high="11" type="hex"/> 10267ec681f3Smrg <bitfield name="GMEM_BASE" low="14" high="31" shr="14" type="hex"/> 10277ec681f3Smrg </reg32> 10287ec681f3Smrg <reg32 offset="0x20fd" name="RB_COPY_DEST_BASE"> 10297ec681f3Smrg <bitfield name="BASE" low="5" high="31" shr="5" type="hex"/> 10307ec681f3Smrg </reg32> 10317ec681f3Smrg <reg32 offset="0x20fe" name="RB_COPY_DEST_PITCH"> 10327ec681f3Smrg <doc>actually, appears to be pitch in bytes, so really is a stride</doc> 10337ec681f3Smrg <!-- not actually sure about max pitch... --> 10347ec681f3Smrg <bitfield name="PITCH" low="0" high="31" shr="5" type="uint"/> 10357ec681f3Smrg </reg32> 10367ec681f3Smrg <reg32 offset="0x20ff" name="RB_COPY_DEST_INFO"> 10377ec681f3Smrg <bitfield name="FORMAT" low="2" high="7" type="a4xx_color_fmt"/> 10387ec681f3Smrg <bitfield name="SWAP" low="8" high="9" type="a3xx_color_swap"/> 10397ec681f3Smrg <bitfield name="DITHER_MODE" low="10" high="11" type="adreno_rb_dither_mode"/> 10407ec681f3Smrg <bitfield name="COMPONENT_ENABLE" low="14" high="17" type="hex"/> 10417ec681f3Smrg <bitfield name="ENDIAN" low="18" high="20" type="adreno_rb_surface_endian"/> 10427ec681f3Smrg <bitfield name="TILE" low="24" high="25" type="a4xx_tile_mode"/> 10437ec681f3Smrg </reg32> 10447ec681f3Smrg <reg32 offset="0x2100" name="RB_FS_OUTPUT_REG"> 10457ec681f3Smrg <!-- bit0 set except for binning pass.. --> 10467ec681f3Smrg <bitfield name="MRT" low="0" high="3" type="uint"/> 10477ec681f3Smrg <bitfield name="FRAG_WRITES_Z" pos="5" type="boolean"/> 10487ec681f3Smrg </reg32> 10497ec681f3Smrg <reg32 offset="0x2101" name="RB_DEPTH_CONTROL"> 10507ec681f3Smrg <!-- 10517ec681f3Smrg guessing that this matches a2xx with the stencil fields 10527ec681f3Smrg moved out into RB_STENCIL_CONTROL? 10537ec681f3Smrg --> 10547ec681f3Smrg <bitfield name="FRAG_WRITES_Z" pos="0" type="boolean"/> 10557ec681f3Smrg <bitfield name="Z_TEST_ENABLE" pos="1" type="boolean"/> 10567ec681f3Smrg <bitfield name="Z_WRITE_ENABLE" pos="2" type="boolean"/> 10577ec681f3Smrg <bitfield name="ZFUNC" low="4" high="6" type="adreno_compare_func"/> 10587ec681f3Smrg <bitfield name="Z_CLAMP_ENABLE" pos="7" type="boolean"/> 10597ec681f3Smrg <bitfield name="EARLY_Z_DISABLE" pos="16" type="boolean"/> 10607ec681f3Smrg <bitfield name="FORCE_FRAGZ_TO_FS" pos="17" type="boolean"/> 10617ec681f3Smrg <doc>Z_READ_ENABLE bit is set for zfunc other than GL_ALWAYS or GL_NEVER</doc> 10627ec681f3Smrg <bitfield name="Z_READ_ENABLE" pos="31" type="boolean"/> 10637ec681f3Smrg </reg32> 10647ec681f3Smrg <reg32 offset="0x2102" name="RB_DEPTH_CLEAR"/> 10657ec681f3Smrg <reg32 offset="0x2103" name="RB_DEPTH_INFO"> 10667ec681f3Smrg <bitfield name="DEPTH_FORMAT" low="0" high="1" type="a4xx_depth_format"/> 10677ec681f3Smrg <doc> 10687ec681f3Smrg DEPTH_BASE is offset in GMEM to depth/stencil buffer, ie 10697ec681f3Smrg bin_w * bin_h / 1024 (possible rounded up to multiple of 10707ec681f3Smrg something?? ie. 39 becomes 40, 78 becomes 80.. 75 becomes 10717ec681f3Smrg 80.. so maybe it needs to be multiple of 8?? 10727ec681f3Smrg </doc> 10737ec681f3Smrg <bitfield name="DEPTH_BASE" low="12" high="31" shr="12" type="hex"/> 10747ec681f3Smrg </reg32> 10757ec681f3Smrg <reg32 offset="0x2104" name="RB_DEPTH_PITCH" shr="5" type="uint"> 10767ec681f3Smrg <doc>stride of depth/stencil buffer</doc> 10777ec681f3Smrg </reg32> 10787ec681f3Smrg <reg32 offset="0x2105" name="RB_DEPTH_PITCH2" shr="5" type="uint"> 10797ec681f3Smrg <doc>???</doc> 10807ec681f3Smrg </reg32> 10817ec681f3Smrg <reg32 offset="0x2106" name="RB_STENCIL_CONTROL"> 10827ec681f3Smrg <bitfield name="STENCIL_ENABLE" pos="0" type="boolean"/> 10837ec681f3Smrg <bitfield name="STENCIL_ENABLE_BF" pos="1" type="boolean"/> 10847ec681f3Smrg <!-- 10857ec681f3Smrg set for stencil operations that require read from stencil 10867ec681f3Smrg buffer, but not for example for stencil clear (which does 10877ec681f3Smrg not require read).. so guessing this is analogous to 10887ec681f3Smrg READ_DEST_ENABLE for color buffer.. 10897ec681f3Smrg --> 10907ec681f3Smrg <bitfield name="STENCIL_READ" pos="2" type="boolean"/> 10917ec681f3Smrg <bitfield name="FUNC" low="8" high="10" type="adreno_compare_func"/> 10927ec681f3Smrg <bitfield name="FAIL" low="11" high="13" type="adreno_stencil_op"/> 10937ec681f3Smrg <bitfield name="ZPASS" low="14" high="16" type="adreno_stencil_op"/> 10947ec681f3Smrg <bitfield name="ZFAIL" low="17" high="19" type="adreno_stencil_op"/> 10957ec681f3Smrg <bitfield name="FUNC_BF" low="20" high="22" type="adreno_compare_func"/> 10967ec681f3Smrg <bitfield name="FAIL_BF" low="23" high="25" type="adreno_stencil_op"/> 10977ec681f3Smrg <bitfield name="ZPASS_BF" low="26" high="28" type="adreno_stencil_op"/> 10987ec681f3Smrg <bitfield name="ZFAIL_BF" low="29" high="31" type="adreno_stencil_op"/> 10997ec681f3Smrg </reg32> 11007ec681f3Smrg <reg32 offset="0x2107" name="RB_STENCIL_CONTROL2"> 11017ec681f3Smrg <!-- 11027ec681f3Smrg This seems to be set by blob if there is a stencil buffer 11037ec681f3Smrg at all in GMEM, regardless of whether it is enabled for 11047ec681f3Smrg a particular draw (ie. RB_STENCIL_CONTROL). Not really 11057ec681f3Smrg sure if that is required or just a quirk of the blob 11067ec681f3Smrg --> 11077ec681f3Smrg <bitfield name="STENCIL_BUFFER" pos="0" type="boolean"/> 11087ec681f3Smrg </reg32> 11097ec681f3Smrg <reg32 offset="0x2108" name="RB_STENCIL_INFO"> 11107ec681f3Smrg <bitfield name="SEPARATE_STENCIL" pos="0" type="boolean"/> 11117ec681f3Smrg <doc>Base address for stencil when not using interleaved depth/stencil</doc> 11127ec681f3Smrg <bitfield name="STENCIL_BASE" low="12" high="31" shr="12" type="hex"/> 11137ec681f3Smrg </reg32> 11147ec681f3Smrg <reg32 offset="0x2109" name="RB_STENCIL_PITCH" shr="5" type="uint"> 11157ec681f3Smrg <doc>pitch of stencil buffer when not using interleaved depth/stencil</doc> 11167ec681f3Smrg </reg32> 11177ec681f3Smrg 11187ec681f3Smrg <reg32 offset="0x210b" name="RB_STENCILREFMASK" type="adreno_rb_stencilrefmask"/> 11197ec681f3Smrg <reg32 offset="0x210c" name="RB_STENCILREFMASK_BF" type="adreno_rb_stencilrefmask"/> 11207ec681f3Smrg <reg32 offset="0x210d" name="RB_BIN_OFFSET" type="adreno_reg_xy"/> 11217ec681f3Smrg <array offset="0x2120" name="RB_VPORT_Z_CLAMP" stride="2" length="16"> 11227ec681f3Smrg <reg32 offset="0x0" name="MIN"/> 11237ec681f3Smrg <reg32 offset="0x1" name="MAX"/> 11247ec681f3Smrg </array> 11257ec681f3Smrg 11267ec681f3Smrg <!-- RBBM registers --> 11277ec681f3Smrg <reg32 offset="0x0000" name="RBBM_HW_VERSION"/> 11287ec681f3Smrg <reg32 offset="0x0002" name="RBBM_HW_CONFIGURATION"/> 11297ec681f3Smrg <array offset="0x4" name="RBBM_CLOCK_CTL_TP" stride="1" length="4"> 11307ec681f3Smrg <reg32 offset="0x0" name="REG"/> 11317ec681f3Smrg </array> 11327ec681f3Smrg <array offset="0x8" name="RBBM_CLOCK_CTL2_TP" stride="1" length="4"> 11337ec681f3Smrg <reg32 offset="0x0" name="REG"/> 11347ec681f3Smrg </array> 11357ec681f3Smrg <array offset="0xc" name="RBBM_CLOCK_HYST_TP" stride="1" length="4"> 11367ec681f3Smrg <reg32 offset="0x0" name="REG"/> 11377ec681f3Smrg </array> 11387ec681f3Smrg <array offset="0x10" name="RBBM_CLOCK_DELAY_TP" stride="1" length="4"> 11397ec681f3Smrg <reg32 offset="0x0" name="REG"/> 11407ec681f3Smrg </array> 11417ec681f3Smrg <reg32 offset="0x0014" name="RBBM_CLOCK_CTL_UCHE "/> 11427ec681f3Smrg <reg32 offset="0x0015" name="RBBM_CLOCK_CTL2_UCHE"/> 11437ec681f3Smrg <reg32 offset="0x0016" name="RBBM_CLOCK_CTL3_UCHE"/> 11447ec681f3Smrg <reg32 offset="0x0017" name="RBBM_CLOCK_CTL4_UCHE"/> 11457ec681f3Smrg <reg32 offset="0x0018" name="RBBM_CLOCK_HYST_UCHE"/> 11467ec681f3Smrg <reg32 offset="0x0019" name="RBBM_CLOCK_DELAY_UCHE"/> 11477ec681f3Smrg <reg32 offset="0x001a" name="RBBM_CLOCK_MODE_GPC"/> 11487ec681f3Smrg <reg32 offset="0x001b" name="RBBM_CLOCK_DELAY_GPC"/> 11497ec681f3Smrg <reg32 offset="0x001c" name="RBBM_CLOCK_HYST_GPC"/> 11507ec681f3Smrg <reg32 offset="0x001d" name="RBBM_CLOCK_CTL_TSE_RAS_RBBM"/> 11517ec681f3Smrg <reg32 offset="0x001e" name="RBBM_CLOCK_HYST_TSE_RAS_RBBM"/> 11527ec681f3Smrg <reg32 offset="0x001f" name="RBBM_CLOCK_DELAY_TSE_RAS_RBBM"/> 11537ec681f3Smrg <reg32 offset="0x0020" name="RBBM_CLOCK_CTL"/> 11547ec681f3Smrg <reg32 offset="0x0021" name="RBBM_SP_HYST_CNT"/> 11557ec681f3Smrg <reg32 offset="0x0022" name="RBBM_SW_RESET_CMD"/> 11567ec681f3Smrg <reg32 offset="0x0023" name="RBBM_AHB_CTL0"/> 11577ec681f3Smrg <reg32 offset="0x0024" name="RBBM_AHB_CTL1"/> 11587ec681f3Smrg <reg32 offset="0x0025" name="RBBM_AHB_CMD"/> 11597ec681f3Smrg <reg32 offset="0x0026" name="RBBM_RB_SUB_BLOCK_SEL_CTL"/> 11607ec681f3Smrg <reg32 offset="0x0028" name="RBBM_RAM_ACC_63_32"/> 11617ec681f3Smrg <reg32 offset="0x002b" name="RBBM_WAIT_IDLE_CLOCKS_CTL"/> 11627ec681f3Smrg <reg32 offset="0x002f" name="RBBM_INTERFACE_HANG_INT_CTL"/> 11637ec681f3Smrg <reg32 offset="0x0034" name="RBBM_INTERFACE_HANG_MASK_CTL4"/> 11647ec681f3Smrg <reg32 offset="0x0036" name="RBBM_INT_CLEAR_CMD"/> 11657ec681f3Smrg <reg32 offset="0x0037" name="RBBM_INT_0_MASK"/> 11667ec681f3Smrg <reg32 offset="0x003e" name="RBBM_RBBM_CTL"/> 11677ec681f3Smrg <reg32 offset="0x003f" name="RBBM_AHB_DEBUG_CTL"/> 11687ec681f3Smrg <reg32 offset="0x0041" name="RBBM_VBIF_DEBUG_CTL"/> 11697ec681f3Smrg <reg32 offset="0x0042" name="RBBM_CLOCK_CTL2"/> 11707ec681f3Smrg <reg32 offset="0x0045" name="RBBM_BLOCK_SW_RESET_CMD"/> 11717ec681f3Smrg <reg32 offset="0x0047" name="RBBM_RESET_CYCLES"/> 11727ec681f3Smrg <reg32 offset="0x0049" name="RBBM_EXT_TRACE_BUS_CTL"/> 11737ec681f3Smrg <reg32 offset="0x004a" name="RBBM_CFG_DEBBUS_SEL_A"/> 11747ec681f3Smrg <reg32 offset="0x004b" name="RBBM_CFG_DEBBUS_SEL_B"/> 11757ec681f3Smrg <reg32 offset="0x004c" name="RBBM_CFG_DEBBUS_SEL_C"/> 11767ec681f3Smrg <reg32 offset="0x004d" name="RBBM_CFG_DEBBUS_SEL_D"/> 11777ec681f3Smrg <reg32 offset="0x0098" name="RBBM_POWER_CNTL_IP"> 11787ec681f3Smrg <bitfield name="SW_COLLAPSE" pos="0" type="boolean"/> 11797ec681f3Smrg <bitfield name="SP_TP_PWR_ON" pos="20" type="boolean"/> 11807ec681f3Smrg </reg32> 11817ec681f3Smrg <reg32 offset="0x009c" name="RBBM_PERFCTR_CP_0_LO"/> 11827ec681f3Smrg <reg32 offset="0x009d" name="RBBM_PERFCTR_CP_0_HI"/> 11837ec681f3Smrg <reg32 offset="0x009e" name="RBBM_PERFCTR_CP_1_LO"/> 11847ec681f3Smrg <reg32 offset="0x009f" name="RBBM_PERFCTR_CP_1_HI"/> 11857ec681f3Smrg <reg32 offset="0x00a0" name="RBBM_PERFCTR_CP_2_LO"/> 11867ec681f3Smrg <reg32 offset="0x00a1" name="RBBM_PERFCTR_CP_2_HI"/> 11877ec681f3Smrg <reg32 offset="0x00a2" name="RBBM_PERFCTR_CP_3_LO"/> 11887ec681f3Smrg <reg32 offset="0x00a3" name="RBBM_PERFCTR_CP_3_HI"/> 11897ec681f3Smrg <reg32 offset="0x00a4" name="RBBM_PERFCTR_CP_4_LO"/> 11907ec681f3Smrg <reg32 offset="0x00a5" name="RBBM_PERFCTR_CP_4_HI"/> 11917ec681f3Smrg <reg32 offset="0x00a6" name="RBBM_PERFCTR_CP_5_LO"/> 11927ec681f3Smrg <reg32 offset="0x00a7" name="RBBM_PERFCTR_CP_5_HI"/> 11937ec681f3Smrg <reg32 offset="0x00a8" name="RBBM_PERFCTR_CP_6_LO"/> 11947ec681f3Smrg <reg32 offset="0x00a9" name="RBBM_PERFCTR_CP_6_HI"/> 11957ec681f3Smrg <reg32 offset="0x00aa" name="RBBM_PERFCTR_CP_7_LO"/> 11967ec681f3Smrg <reg32 offset="0x00ab" name="RBBM_PERFCTR_CP_7_HI"/> 11977ec681f3Smrg <reg32 offset="0x00ac" name="RBBM_PERFCTR_RBBM_0_LO"/> 11987ec681f3Smrg <reg32 offset="0x00ad" name="RBBM_PERFCTR_RBBM_0_HI"/> 11997ec681f3Smrg <reg32 offset="0x00ae" name="RBBM_PERFCTR_RBBM_1_LO"/> 12007ec681f3Smrg <reg32 offset="0x00af" name="RBBM_PERFCTR_RBBM_1_HI"/> 12017ec681f3Smrg <reg32 offset="0x00b0" name="RBBM_PERFCTR_RBBM_2_LO"/> 12027ec681f3Smrg <reg32 offset="0x00b1" name="RBBM_PERFCTR_RBBM_2_HI"/> 12037ec681f3Smrg <reg32 offset="0x00b2" name="RBBM_PERFCTR_RBBM_3_LO"/> 12047ec681f3Smrg <reg32 offset="0x00b3" name="RBBM_PERFCTR_RBBM_3_HI"/> 12057ec681f3Smrg <reg32 offset="0x00b4" name="RBBM_PERFCTR_PC_0_LO"/> 12067ec681f3Smrg <reg32 offset="0x00b5" name="RBBM_PERFCTR_PC_0_HI"/> 12077ec681f3Smrg <reg32 offset="0x00b6" name="RBBM_PERFCTR_PC_1_LO"/> 12087ec681f3Smrg <reg32 offset="0x00b7" name="RBBM_PERFCTR_PC_1_HI"/> 12097ec681f3Smrg <reg32 offset="0x00b8" name="RBBM_PERFCTR_PC_2_LO"/> 12107ec681f3Smrg <reg32 offset="0x00b9" name="RBBM_PERFCTR_PC_2_HI"/> 12117ec681f3Smrg <reg32 offset="0x00ba" name="RBBM_PERFCTR_PC_3_LO"/> 12127ec681f3Smrg <reg32 offset="0x00bb" name="RBBM_PERFCTR_PC_3_HI"/> 12137ec681f3Smrg <reg32 offset="0x00bc" name="RBBM_PERFCTR_PC_4_LO"/> 12147ec681f3Smrg <reg32 offset="0x00bd" name="RBBM_PERFCTR_PC_4_HI"/> 12157ec681f3Smrg <reg32 offset="0x00be" name="RBBM_PERFCTR_PC_5_LO"/> 12167ec681f3Smrg <reg32 offset="0x00bf" name="RBBM_PERFCTR_PC_5_HI"/> 12177ec681f3Smrg <reg32 offset="0x00c0" name="RBBM_PERFCTR_PC_6_LO"/> 12187ec681f3Smrg <reg32 offset="0x00c1" name="RBBM_PERFCTR_PC_6_HI"/> 12197ec681f3Smrg <reg32 offset="0x00c2" name="RBBM_PERFCTR_PC_7_LO"/> 12207ec681f3Smrg <reg32 offset="0x00c3" name="RBBM_PERFCTR_PC_7_HI"/> 12217ec681f3Smrg <reg32 offset="0x00c4" name="RBBM_PERFCTR_VFD_0_LO"/> 12227ec681f3Smrg <reg32 offset="0x00c5" name="RBBM_PERFCTR_VFD_0_HI"/> 12237ec681f3Smrg <reg32 offset="0x00c6" name="RBBM_PERFCTR_VFD_1_LO"/> 12247ec681f3Smrg <reg32 offset="0x00c7" name="RBBM_PERFCTR_VFD_1_HI"/> 12257ec681f3Smrg <reg32 offset="0x00c8" name="RBBM_PERFCTR_VFD_2_LO"/> 12267ec681f3Smrg <reg32 offset="0x00c9" name="RBBM_PERFCTR_VFD_2_HI"/> 12277ec681f3Smrg <reg32 offset="0x00ca" name="RBBM_PERFCTR_VFD_3_LO"/> 12287ec681f3Smrg <reg32 offset="0x00cb" name="RBBM_PERFCTR_VFD_3_HI"/> 12297ec681f3Smrg <reg32 offset="0x00cc" name="RBBM_PERFCTR_VFD_4_LO"/> 12307ec681f3Smrg <reg32 offset="0x00cd" name="RBBM_PERFCTR_VFD_4_HI"/> 12317ec681f3Smrg <reg32 offset="0x00ce" name="RBBM_PERFCTR_VFD_5_LO"/> 12327ec681f3Smrg <reg32 offset="0x00cf" name="RBBM_PERFCTR_VFD_5_HI"/> 12337ec681f3Smrg <reg32 offset="0x00d0" name="RBBM_PERFCTR_VFD_6_LO"/> 12347ec681f3Smrg <reg32 offset="0x00d1" name="RBBM_PERFCTR_VFD_6_HI"/> 12357ec681f3Smrg <reg32 offset="0x00d2" name="RBBM_PERFCTR_VFD_7_LO"/> 12367ec681f3Smrg <reg32 offset="0x00d3" name="RBBM_PERFCTR_VFD_7_HI"/> 12377ec681f3Smrg <reg32 offset="0x00d4" name="RBBM_PERFCTR_HLSQ_0_LO"/> 12387ec681f3Smrg <reg32 offset="0x00d5" name="RBBM_PERFCTR_HLSQ_0_HI"/> 12397ec681f3Smrg <reg32 offset="0x00d6" name="RBBM_PERFCTR_HLSQ_1_LO"/> 12407ec681f3Smrg <reg32 offset="0x00d7" name="RBBM_PERFCTR_HLSQ_1_HI"/> 12417ec681f3Smrg <reg32 offset="0x00d8" name="RBBM_PERFCTR_HLSQ_2_LO"/> 12427ec681f3Smrg <reg32 offset="0x00d9" name="RBBM_PERFCTR_HLSQ_2_HI"/> 12437ec681f3Smrg <reg32 offset="0x00da" name="RBBM_PERFCTR_HLSQ_3_LO"/> 12447ec681f3Smrg <reg32 offset="0x00db" name="RBBM_PERFCTR_HLSQ_3_HI"/> 12457ec681f3Smrg <reg32 offset="0x00dc" name="RBBM_PERFCTR_HLSQ_4_LO"/> 12467ec681f3Smrg <reg32 offset="0x00dd" name="RBBM_PERFCTR_HLSQ_4_HI"/> 12477ec681f3Smrg <reg32 offset="0x00de" name="RBBM_PERFCTR_HLSQ_5_LO"/> 12487ec681f3Smrg <reg32 offset="0x00df" name="RBBM_PERFCTR_HLSQ_5_HI"/> 12497ec681f3Smrg <reg32 offset="0x00e0" name="RBBM_PERFCTR_HLSQ_6_LO"/> 12507ec681f3Smrg <reg32 offset="0x00e1" name="RBBM_PERFCTR_HLSQ_6_HI"/> 12517ec681f3Smrg <reg32 offset="0x00e2" name="RBBM_PERFCTR_HLSQ_7_LO"/> 12527ec681f3Smrg <reg32 offset="0x00e3" name="RBBM_PERFCTR_HLSQ_7_HI"/> 12537ec681f3Smrg <reg32 offset="0x00e4" name="RBBM_PERFCTR_VPC_0_LO"/> 12547ec681f3Smrg <reg32 offset="0x00e5" name="RBBM_PERFCTR_VPC_0_HI"/> 12557ec681f3Smrg <reg32 offset="0x00e6" name="RBBM_PERFCTR_VPC_1_LO"/> 12567ec681f3Smrg <reg32 offset="0x00e7" name="RBBM_PERFCTR_VPC_1_HI"/> 12577ec681f3Smrg <reg32 offset="0x00e8" name="RBBM_PERFCTR_VPC_2_LO"/> 12587ec681f3Smrg <reg32 offset="0x00e9" name="RBBM_PERFCTR_VPC_2_HI"/> 12597ec681f3Smrg <reg32 offset="0x00ea" name="RBBM_PERFCTR_VPC_3_LO"/> 12607ec681f3Smrg <reg32 offset="0x00eb" name="RBBM_PERFCTR_VPC_3_HI"/> 12617ec681f3Smrg <reg32 offset="0x00ec" name="RBBM_PERFCTR_CCU_0_LO"/> 12627ec681f3Smrg <reg32 offset="0x00ed" name="RBBM_PERFCTR_CCU_0_HI"/> 12637ec681f3Smrg <reg32 offset="0x00ee" name="RBBM_PERFCTR_CCU_1_LO"/> 12647ec681f3Smrg <reg32 offset="0x00ef" name="RBBM_PERFCTR_CCU_1_HI"/> 12657ec681f3Smrg <reg32 offset="0x00f0" name="RBBM_PERFCTR_CCU_2_LO"/> 12667ec681f3Smrg <reg32 offset="0x00f1" name="RBBM_PERFCTR_CCU_2_HI"/> 12677ec681f3Smrg <reg32 offset="0x00f2" name="RBBM_PERFCTR_CCU_3_LO"/> 12687ec681f3Smrg <reg32 offset="0x00f3" name="RBBM_PERFCTR_CCU_3_HI"/> 12697ec681f3Smrg <reg32 offset="0x00f4" name="RBBM_PERFCTR_TSE_0_LO"/> 12707ec681f3Smrg <reg32 offset="0x00f5" name="RBBM_PERFCTR_TSE_0_HI"/> 12717ec681f3Smrg <reg32 offset="0x00f6" name="RBBM_PERFCTR_TSE_1_LO"/> 12727ec681f3Smrg <reg32 offset="0x00f7" name="RBBM_PERFCTR_TSE_1_HI"/> 12737ec681f3Smrg <reg32 offset="0x00f8" name="RBBM_PERFCTR_TSE_2_LO"/> 12747ec681f3Smrg <reg32 offset="0x00f9" name="RBBM_PERFCTR_TSE_2_HI"/> 12757ec681f3Smrg <reg32 offset="0x00fa" name="RBBM_PERFCTR_TSE_3_LO"/> 12767ec681f3Smrg <reg32 offset="0x00fb" name="RBBM_PERFCTR_TSE_3_HI"/> 12777ec681f3Smrg <reg32 offset="0x00fc" name="RBBM_PERFCTR_RAS_0_LO"/> 12787ec681f3Smrg <reg32 offset="0x00fd" name="RBBM_PERFCTR_RAS_0_HI"/> 12797ec681f3Smrg <reg32 offset="0x00fe" name="RBBM_PERFCTR_RAS_1_LO"/> 12807ec681f3Smrg <reg32 offset="0x00ff" name="RBBM_PERFCTR_RAS_1_HI"/> 12817ec681f3Smrg <reg32 offset="0x0100" name="RBBM_PERFCTR_RAS_2_LO"/> 12827ec681f3Smrg <reg32 offset="0x0101" name="RBBM_PERFCTR_RAS_2_HI"/> 12837ec681f3Smrg <reg32 offset="0x0102" name="RBBM_PERFCTR_RAS_3_LO"/> 12847ec681f3Smrg <reg32 offset="0x0103" name="RBBM_PERFCTR_RAS_3_HI"/> 12857ec681f3Smrg <reg32 offset="0x0104" name="RBBM_PERFCTR_UCHE_0_LO"/> 12867ec681f3Smrg <reg32 offset="0x0105" name="RBBM_PERFCTR_UCHE_0_HI"/> 12877ec681f3Smrg <reg32 offset="0x0106" name="RBBM_PERFCTR_UCHE_1_LO"/> 12887ec681f3Smrg <reg32 offset="0x0107" name="RBBM_PERFCTR_UCHE_1_HI"/> 12897ec681f3Smrg <reg32 offset="0x0108" name="RBBM_PERFCTR_UCHE_2_LO"/> 12907ec681f3Smrg <reg32 offset="0x0109" name="RBBM_PERFCTR_UCHE_2_HI"/> 12917ec681f3Smrg <reg32 offset="0x010a" name="RBBM_PERFCTR_UCHE_3_LO"/> 12927ec681f3Smrg <reg32 offset="0x010b" name="RBBM_PERFCTR_UCHE_3_HI"/> 12937ec681f3Smrg <reg32 offset="0x010c" name="RBBM_PERFCTR_UCHE_4_LO"/> 12947ec681f3Smrg <reg32 offset="0x010d" name="RBBM_PERFCTR_UCHE_4_HI"/> 12957ec681f3Smrg <reg32 offset="0x010e" name="RBBM_PERFCTR_UCHE_5_LO"/> 12967ec681f3Smrg <reg32 offset="0x010f" name="RBBM_PERFCTR_UCHE_5_HI"/> 12977ec681f3Smrg <reg32 offset="0x0110" name="RBBM_PERFCTR_UCHE_6_LO"/> 12987ec681f3Smrg <reg32 offset="0x0111" name="RBBM_PERFCTR_UCHE_6_HI"/> 12997ec681f3Smrg <reg32 offset="0x0112" name="RBBM_PERFCTR_UCHE_7_LO"/> 13007ec681f3Smrg <reg32 offset="0x0113" name="RBBM_PERFCTR_UCHE_7_HI"/> 13017ec681f3Smrg <reg32 offset="0x0114" name="RBBM_PERFCTR_TP_0_LO"/> 13027ec681f3Smrg <reg32 offset="0x0115" name="RBBM_PERFCTR_TP_0_HI"/> 13037ec681f3Smrg <reg32 offset="0x0116" name="RBBM_PERFCTR_TP_1_LO"/> 13047ec681f3Smrg <reg32 offset="0x0117" name="RBBM_PERFCTR_TP_1_HI"/> 13057ec681f3Smrg <reg32 offset="0x0118" name="RBBM_PERFCTR_TP_2_LO"/> 13067ec681f3Smrg <reg32 offset="0x0119" name="RBBM_PERFCTR_TP_2_HI"/> 13077ec681f3Smrg <reg32 offset="0x011a" name="RBBM_PERFCTR_TP_3_LO"/> 13087ec681f3Smrg <reg32 offset="0x011b" name="RBBM_PERFCTR_TP_3_HI"/> 13097ec681f3Smrg <reg32 offset="0x011c" name="RBBM_PERFCTR_TP_4_LO"/> 13107ec681f3Smrg <reg32 offset="0x011d" name="RBBM_PERFCTR_TP_4_HI"/> 13117ec681f3Smrg <reg32 offset="0x011e" name="RBBM_PERFCTR_TP_5_LO"/> 13127ec681f3Smrg <reg32 offset="0x011f" name="RBBM_PERFCTR_TP_5_HI"/> 13137ec681f3Smrg <reg32 offset="0x0120" name="RBBM_PERFCTR_TP_6_LO"/> 13147ec681f3Smrg <reg32 offset="0x0121" name="RBBM_PERFCTR_TP_6_HI"/> 13157ec681f3Smrg <reg32 offset="0x0122" name="RBBM_PERFCTR_TP_7_LO"/> 13167ec681f3Smrg <reg32 offset="0x0123" name="RBBM_PERFCTR_TP_7_HI"/> 13177ec681f3Smrg <reg32 offset="0x0124" name="RBBM_PERFCTR_SP_0_LO"/> 13187ec681f3Smrg <reg32 offset="0x0125" name="RBBM_PERFCTR_SP_0_HI"/> 13197ec681f3Smrg <reg32 offset="0x0126" name="RBBM_PERFCTR_SP_1_LO"/> 13207ec681f3Smrg <reg32 offset="0x0127" name="RBBM_PERFCTR_SP_1_HI"/> 13217ec681f3Smrg <reg32 offset="0x0128" name="RBBM_PERFCTR_SP_2_LO"/> 13227ec681f3Smrg <reg32 offset="0x0129" name="RBBM_PERFCTR_SP_2_HI"/> 13237ec681f3Smrg <reg32 offset="0x012a" name="RBBM_PERFCTR_SP_3_LO"/> 13247ec681f3Smrg <reg32 offset="0x012b" name="RBBM_PERFCTR_SP_3_HI"/> 13257ec681f3Smrg <reg32 offset="0x012c" name="RBBM_PERFCTR_SP_4_LO"/> 13267ec681f3Smrg <reg32 offset="0x012d" name="RBBM_PERFCTR_SP_4_HI"/> 13277ec681f3Smrg <reg32 offset="0x012e" name="RBBM_PERFCTR_SP_5_LO"/> 13287ec681f3Smrg <reg32 offset="0x012f" name="RBBM_PERFCTR_SP_5_HI"/> 13297ec681f3Smrg <reg32 offset="0x0130" name="RBBM_PERFCTR_SP_6_LO"/> 13307ec681f3Smrg <reg32 offset="0x0131" name="RBBM_PERFCTR_SP_6_HI"/> 13317ec681f3Smrg <reg32 offset="0x0132" name="RBBM_PERFCTR_SP_7_LO"/> 13327ec681f3Smrg <reg32 offset="0x0133" name="RBBM_PERFCTR_SP_7_HI"/> 13337ec681f3Smrg <reg32 offset="0x0134" name="RBBM_PERFCTR_SP_8_LO"/> 13347ec681f3Smrg <reg32 offset="0x0135" name="RBBM_PERFCTR_SP_8_HI"/> 13357ec681f3Smrg <reg32 offset="0x0136" name="RBBM_PERFCTR_SP_9_LO"/> 13367ec681f3Smrg <reg32 offset="0x0137" name="RBBM_PERFCTR_SP_9_HI"/> 13377ec681f3Smrg <reg32 offset="0x0138" name="RBBM_PERFCTR_SP_10_LO"/> 13387ec681f3Smrg <reg32 offset="0x0139" name="RBBM_PERFCTR_SP_10_HI"/> 13397ec681f3Smrg <reg32 offset="0x013a" name="RBBM_PERFCTR_SP_11_LO"/> 13407ec681f3Smrg <reg32 offset="0x013b" name="RBBM_PERFCTR_SP_11_HI"/> 13417ec681f3Smrg <reg32 offset="0x013c" name="RBBM_PERFCTR_RB_0_LO"/> 13427ec681f3Smrg <reg32 offset="0x013d" name="RBBM_PERFCTR_RB_0_HI"/> 13437ec681f3Smrg <reg32 offset="0x013e" name="RBBM_PERFCTR_RB_1_LO"/> 13447ec681f3Smrg <reg32 offset="0x013f" name="RBBM_PERFCTR_RB_1_HI"/> 13457ec681f3Smrg <reg32 offset="0x0140" name="RBBM_PERFCTR_RB_2_LO"/> 13467ec681f3Smrg <reg32 offset="0x0141" name="RBBM_PERFCTR_RB_2_HI"/> 13477ec681f3Smrg <reg32 offset="0x0142" name="RBBM_PERFCTR_RB_3_LO"/> 13487ec681f3Smrg <reg32 offset="0x0143" name="RBBM_PERFCTR_RB_3_HI"/> 13497ec681f3Smrg <reg32 offset="0x0144" name="RBBM_PERFCTR_RB_4_LO"/> 13507ec681f3Smrg <reg32 offset="0x0145" name="RBBM_PERFCTR_RB_4_HI"/> 13517ec681f3Smrg <reg32 offset="0x0146" name="RBBM_PERFCTR_RB_5_LO"/> 13527ec681f3Smrg <reg32 offset="0x0147" name="RBBM_PERFCTR_RB_5_HI"/> 13537ec681f3Smrg <reg32 offset="0x0148" name="RBBM_PERFCTR_RB_6_LO"/> 13547ec681f3Smrg <reg32 offset="0x0149" name="RBBM_PERFCTR_RB_6_HI"/> 13557ec681f3Smrg <reg32 offset="0x014a" name="RBBM_PERFCTR_RB_7_LO"/> 13567ec681f3Smrg <reg32 offset="0x014b" name="RBBM_PERFCTR_RB_7_HI"/> 13577ec681f3Smrg <reg32 offset="0x014c" name="RBBM_PERFCTR_VSC_0_LO"/> 13587ec681f3Smrg <reg32 offset="0x014d" name="RBBM_PERFCTR_VSC_0_HI"/> 13597ec681f3Smrg <reg32 offset="0x014e" name="RBBM_PERFCTR_VSC_1_LO"/> 13607ec681f3Smrg <reg32 offset="0x014f" name="RBBM_PERFCTR_VSC_1_HI"/> 13617ec681f3Smrg <reg32 offset="0x0166" name="RBBM_PERFCTR_PWR_0_LO"/> 13627ec681f3Smrg <reg32 offset="0x0167" name="RBBM_PERFCTR_PWR_0_HI"/> 13637ec681f3Smrg <reg32 offset="0x0168" name="RBBM_PERFCTR_PWR_1_LO"/> 13647ec681f3Smrg <reg32 offset="0x0169" name="RBBM_PERFCTR_PWR_1_HI"/> 13657ec681f3Smrg <reg32 offset="0x016e" name="RBBM_ALWAYSON_COUNTER_LO"/> 13667ec681f3Smrg <reg32 offset="0x016f" name="RBBM_ALWAYSON_COUNTER_HI"/> 13677ec681f3Smrg <array offset="0x0068" name="RBBM_CLOCK_CTL_SP" stride="1" length="4"> 13687ec681f3Smrg <reg32 offset="0x0" name="REG"/> 13697ec681f3Smrg </array> 13707ec681f3Smrg <array offset="0x006c" name="RBBM_CLOCK_CTL2_SP" stride="1" length="4"> 13717ec681f3Smrg <reg32 offset="0x0" name="REG"/> 13727ec681f3Smrg </array> 13737ec681f3Smrg <array offset="0x0070" name="RBBM_CLOCK_HYST_SP" stride="1" length="4"> 13747ec681f3Smrg <reg32 offset="0x0" name="REG"/> 13757ec681f3Smrg </array> 13767ec681f3Smrg <array offset="0x0074" name="RBBM_CLOCK_DELAY_SP" stride="1" length="4"> 13777ec681f3Smrg <reg32 offset="0x0" name="REG"/> 13787ec681f3Smrg </array> 13797ec681f3Smrg <array offset="0x0078" name="RBBM_CLOCK_CTL_RB" stride="1" length="4"> 13807ec681f3Smrg <reg32 offset="0x0" name="REG"/> 13817ec681f3Smrg </array> 13827ec681f3Smrg <array offset="0x007c" name="RBBM_CLOCK_CTL2_RB" stride="1" length="4"> 13837ec681f3Smrg <reg32 offset="0x0" name="REG"/> 13847ec681f3Smrg </array> 13857ec681f3Smrg <array offset="0x0082" name="RBBM_CLOCK_CTL_MARB_CCU" stride="1" length="4"> 13867ec681f3Smrg <reg32 offset="0x0" name="REG"/> 13877ec681f3Smrg </array> 13887ec681f3Smrg <array offset="0x0086" name="RBBM_CLOCK_HYST_RB_MARB_CCU" stride="1" length="4"> 13897ec681f3Smrg <reg32 offset="0x0" name="REG"/> 13907ec681f3Smrg </array> 13917ec681f3Smrg <reg32 offset="0x0080" name="RBBM_CLOCK_HYST_COM_DCOM"/> 13927ec681f3Smrg <reg32 offset="0x0081" name="RBBM_CLOCK_CTL_COM_DCOM"/> 13937ec681f3Smrg <reg32 offset="0x008a" name="RBBM_CLOCK_CTL_HLSQ"/> 13947ec681f3Smrg <reg32 offset="0x008b" name="RBBM_CLOCK_HYST_HLSQ"/> 13957ec681f3Smrg <reg32 offset="0x008c" name="RBBM_CLOCK_DELAY_HLSQ"/> 13967ec681f3Smrg <bitset name="A4XX_CGC_HLSQ"> 13977ec681f3Smrg <bitfield name="EARLY_CYC" low="20" high="22" type="uint"/> 13987ec681f3Smrg </bitset> 13997ec681f3Smrg <reg32 offset="0x008d" name="RBBM_CLOCK_DELAY_COM_DCOM"/> 14007ec681f3Smrg <array offset="0x008e" name="RBBM_CLOCK_DELAY_RB_MARB_CCU_L1" stride="1" length="4"> 14017ec681f3Smrg <reg32 offset="0x0" name="REG"/> 14027ec681f3Smrg </array> 14037ec681f3Smrg <bitset name="A4XX_INT0"> 14047ec681f3Smrg <bitfield name="RBBM_GPU_IDLE" pos="0" type="boolean"/> 14057ec681f3Smrg <bitfield name="RBBM_AHB_ERROR" pos="1" type="boolean"/> 14067ec681f3Smrg <bitfield name="RBBM_REG_TIMEOUT" pos="2" type="boolean"/> 14077ec681f3Smrg <bitfield name="RBBM_ME_MS_TIMEOUT" pos="3" type="boolean"/> 14087ec681f3Smrg <bitfield name="RBBM_PFP_MS_TIMEOUT" pos="4" type="boolean"/> 14097ec681f3Smrg <bitfield name="RBBM_ATB_BUS_OVERFLOW" pos="5" type="boolean"/> 14107ec681f3Smrg <bitfield name="VFD_ERROR" pos="6" type="boolean"/> 14117ec681f3Smrg <bitfield name="CP_SW_INT" pos="7" type="boolean"/> 14127ec681f3Smrg <bitfield name="CP_T0_PACKET_IN_IB" pos="8" type="boolean"/> 14137ec681f3Smrg <bitfield name="CP_OPCODE_ERROR" pos="9" type="boolean"/> 14147ec681f3Smrg <bitfield name="CP_RESERVED_BIT_ERROR" pos="10" type="boolean"/> 14157ec681f3Smrg <bitfield name="CP_HW_FAULT" pos="11" type="boolean"/> 14167ec681f3Smrg <bitfield name="CP_DMA" pos="12" type="boolean"/> 14177ec681f3Smrg <bitfield name="CP_IB2_INT" pos="13" type="boolean"/> 14187ec681f3Smrg <bitfield name="CP_IB1_INT" pos="14" type="boolean"/> 14197ec681f3Smrg <bitfield name="CP_RB_INT" pos="15" type="boolean"/> 14207ec681f3Smrg <bitfield name="CP_REG_PROTECT_FAULT" pos="16" type="boolean"/> 14217ec681f3Smrg <bitfield name="CP_RB_DONE_TS" pos="17" type="boolean"/> 14227ec681f3Smrg <bitfield name="CP_VS_DONE_TS" pos="18" type="boolean"/> 14237ec681f3Smrg <bitfield name="CP_PS_DONE_TS" pos="19" type="boolean"/> 14247ec681f3Smrg <bitfield name="CACHE_FLUSH_TS" pos="20" type="boolean"/> 14257ec681f3Smrg <bitfield name="CP_AHB_ERROR_HALT" pos="21" type="boolean"/> 14267ec681f3Smrg <bitfield name="MISC_HANG_DETECT" pos="24" type="boolean"/> 14277ec681f3Smrg <bitfield name="UCHE_OOB_ACCESS" pos="25" type="boolean"/> 14287ec681f3Smrg </bitset> 14297ec681f3Smrg 14307ec681f3Smrg <reg32 offset="0x0099" name="RBBM_SP_REGFILE_SLEEP_CNTL_0"/> 14317ec681f3Smrg <reg32 offset="0x009a" name="RBBM_SP_REGFILE_SLEEP_CNTL_1"/> 14327ec681f3Smrg <reg32 offset="0x0170" name="RBBM_PERFCTR_CTL"/> 14337ec681f3Smrg <reg32 offset="0x0171" name="RBBM_PERFCTR_LOAD_CMD0"/> 14347ec681f3Smrg <reg32 offset="0x0172" name="RBBM_PERFCTR_LOAD_CMD1"/> 14357ec681f3Smrg <reg32 offset="0x0173" name="RBBM_PERFCTR_LOAD_CMD2"/> 14367ec681f3Smrg <reg32 offset="0x0174" name="RBBM_PERFCTR_LOAD_VALUE_LO"/> 14377ec681f3Smrg <reg32 offset="0x0175" name="RBBM_PERFCTR_LOAD_VALUE_HI"/> 14387ec681f3Smrg <reg32 offset="0x0176" name="RBBM_PERFCTR_RBBM_SEL_0" type="a4xx_rbbm_perfcounter_select"/> 14397ec681f3Smrg <reg32 offset="0x0177" name="RBBM_PERFCTR_RBBM_SEL_1" type="a4xx_rbbm_perfcounter_select"/> 14407ec681f3Smrg <reg32 offset="0x0178" name="RBBM_PERFCTR_RBBM_SEL_2" type="a4xx_rbbm_perfcounter_select"/> 14417ec681f3Smrg <reg32 offset="0x0179" name="RBBM_PERFCTR_RBBM_SEL_3" type="a4xx_rbbm_perfcounter_select"/> 14427ec681f3Smrg <reg32 offset="0x017a" name="RBBM_GPU_BUSY_MASKED"/> 14437ec681f3Smrg <reg32 offset="0x017d" name="RBBM_INT_0_STATUS"/> 14447ec681f3Smrg <reg32 offset="0x0182" name="RBBM_CLOCK_STATUS"/> 14457ec681f3Smrg <reg32 offset="0x0189" name="RBBM_AHB_STATUS"/> 14467ec681f3Smrg <reg32 offset="0x018c" name="RBBM_AHB_ME_SPLIT_STATUS"/> 14477ec681f3Smrg <reg32 offset="0x018d" name="RBBM_AHB_PFP_SPLIT_STATUS"/> 14487ec681f3Smrg <reg32 offset="0x018f" name="RBBM_AHB_ERROR_STATUS"/> 14497ec681f3Smrg <reg32 offset="0x0191" name="RBBM_STATUS"> 14507ec681f3Smrg <bitfield name="HI_BUSY" pos="0" type="boolean"/> 14517ec681f3Smrg <bitfield name="CP_ME_BUSY" pos="1" type="boolean"/> 14527ec681f3Smrg <bitfield name="CP_PFP_BUSY" pos="2" type="boolean"/> 14537ec681f3Smrg <bitfield name="CP_NRT_BUSY" pos="14" type="boolean"/> 14547ec681f3Smrg <bitfield name="VBIF_BUSY" pos="15" type="boolean"/> 14557ec681f3Smrg <bitfield name="TSE_BUSY" pos="16" type="boolean"/> 14567ec681f3Smrg <bitfield name="RAS_BUSY" pos="17" type="boolean"/> 14577ec681f3Smrg <bitfield name="RB_BUSY" pos="18" type="boolean"/> 14587ec681f3Smrg <bitfield name="PC_DCALL_BUSY" pos="19" type="boolean"/> 14597ec681f3Smrg <bitfield name="PC_VSD_BUSY" pos="20" type="boolean"/> 14607ec681f3Smrg <bitfield name="VFD_BUSY" pos="21" type="boolean"/> 14617ec681f3Smrg <bitfield name="VPC_BUSY" pos="22" type="boolean"/> 14627ec681f3Smrg <bitfield name="UCHE_BUSY" pos="23" type="boolean"/> 14637ec681f3Smrg <bitfield name="SP_BUSY" pos="24" type="boolean"/> 14647ec681f3Smrg <bitfield name="TPL1_BUSY" pos="25" type="boolean"/> 14657ec681f3Smrg <bitfield name="MARB_BUSY" pos="26" type="boolean"/> 14667ec681f3Smrg <bitfield name="VSC_BUSY" pos="27" type="boolean"/> 14677ec681f3Smrg <bitfield name="ARB_BUSY" pos="28" type="boolean"/> 14687ec681f3Smrg <bitfield name="HLSQ_BUSY" pos="29" type="boolean"/> 14697ec681f3Smrg <bitfield name="GPU_BUSY_NOHC" pos="30" type="boolean"/> 14707ec681f3Smrg <bitfield name="GPU_BUSY" pos="31" type="boolean"/> 14717ec681f3Smrg </reg32> 14727ec681f3Smrg <reg32 offset="0x019f" name="RBBM_INTERFACE_RRDY_STATUS5"/> 14737ec681f3Smrg <reg32 offset="0x01b0" name="RBBM_POWER_STATUS"> 14747ec681f3Smrg <bitfield name="SP_TP_PWR_ON" pos="20" type="boolean"/> 14757ec681f3Smrg </reg32> 14767ec681f3Smrg <reg32 offset="0x01b8" name="RBBM_WAIT_IDLE_CLOCKS_CTL2"/> 14777ec681f3Smrg 14787ec681f3Smrg <!-- CP registers --> 14797ec681f3Smrg <reg32 offset="0x0228" name="CP_SCRATCH_UMASK"/> 14807ec681f3Smrg <reg32 offset="0x0229" name="CP_SCRATCH_ADDR"/> 14817ec681f3Smrg <reg32 offset="0x0200" name="CP_RB_BASE"/> 14827ec681f3Smrg <reg32 offset="0x0201" name="CP_RB_CNTL"/> 14837ec681f3Smrg <reg32 offset="0x0205" name="CP_RB_WPTR"/> 14847ec681f3Smrg <reg32 offset="0x0203" name="CP_RB_RPTR_ADDR"/> 14857ec681f3Smrg <reg32 offset="0x0204" name="CP_RB_RPTR"/> 14867ec681f3Smrg <reg32 offset="0x0206" name="CP_IB1_BASE"/> 14877ec681f3Smrg <reg32 offset="0x0207" name="CP_IB1_BUFSZ"/> 14887ec681f3Smrg <reg32 offset="0x0208" name="CP_IB2_BASE"/> 14897ec681f3Smrg <reg32 offset="0x0209" name="CP_IB2_BUFSZ"/> 14907ec681f3Smrg <reg32 offset="0x020c" name="CP_ME_NRT_ADDR"/> 14917ec681f3Smrg <reg32 offset="0x020d" name="CP_ME_NRT_DATA"/> 14927ec681f3Smrg <reg32 offset="0x0217" name="CP_ME_RB_DONE_DATA"/> 14937ec681f3Smrg <reg32 offset="0x0219" name="CP_QUEUE_THRESH2"/> 14947ec681f3Smrg <reg32 offset="0x021b" name="CP_MERCIU_SIZE"/> 14957ec681f3Smrg <reg32 offset="0x021c" name="CP_ROQ_ADDR"/> 14967ec681f3Smrg <reg32 offset="0x021d" name="CP_ROQ_DATA"/> 14977ec681f3Smrg <reg32 offset="0x021e" name="CP_MEQ_ADDR"/> 14987ec681f3Smrg <reg32 offset="0x021f" name="CP_MEQ_DATA"/> 14997ec681f3Smrg <reg32 offset="0x0220" name="CP_MERCIU_ADDR"/> 15007ec681f3Smrg <reg32 offset="0x0221" name="CP_MERCIU_DATA"/> 15017ec681f3Smrg <reg32 offset="0x0222" name="CP_MERCIU_DATA2"/> 15027ec681f3Smrg <reg32 offset="0x0223" name="CP_PFP_UCODE_ADDR"/> 15037ec681f3Smrg <reg32 offset="0x0224" name="CP_PFP_UCODE_DATA"/> 15047ec681f3Smrg <reg32 offset="0x0225" name="CP_ME_RAM_WADDR"/> 15057ec681f3Smrg <reg32 offset="0x0226" name="CP_ME_RAM_RADDR"/> 15067ec681f3Smrg <reg32 offset="0x0227" name="CP_ME_RAM_DATA"/> 15077ec681f3Smrg <reg32 offset="0x022a" name="CP_PREEMPT"/> 15087ec681f3Smrg <reg32 offset="0x022c" name="CP_CNTL"/> 15097ec681f3Smrg <reg32 offset="0x022d" name="CP_ME_CNTL"/> 15107ec681f3Smrg <reg32 offset="0x022e" name="CP_DEBUG"/> 15117ec681f3Smrg <reg32 offset="0x0231" name="CP_DEBUG_ECO_CONTROL"/> 15127ec681f3Smrg <reg32 offset="0x0232" name="CP_DRAW_STATE_ADDR"/> 15137ec681f3Smrg <array offset="0x0240" name="CP_PROTECT" stride="1" length="16"> 15147ec681f3Smrg <reg32 offset="0x0" name="REG" type="adreno_cp_protect"/> 15157ec681f3Smrg </array> 15167ec681f3Smrg <reg32 offset="0x0250" name="CP_PROTECT_CTRL"/> 15177ec681f3Smrg <reg32 offset="0x04c0" name="CP_ST_BASE"/> 15187ec681f3Smrg <reg32 offset="0x04ce" name="CP_STQ_AVAIL"/> 15197ec681f3Smrg <reg32 offset="0x04d0" name="CP_MERCIU_STAT"/> 15207ec681f3Smrg <reg32 offset="0x04d2" name="CP_WFI_PEND_CTR"/> 15217ec681f3Smrg <reg32 offset="0x04d8" name="CP_HW_FAULT"/> 15227ec681f3Smrg <reg32 offset="0x04da" name="CP_PROTECT_STATUS"/> 15237ec681f3Smrg <reg32 offset="0x04dd" name="CP_EVENTS_IN_FLIGHT"/> 15247ec681f3Smrg <reg32 offset="0x0500" name="CP_PERFCTR_CP_SEL_0" type="a4xx_cp_perfcounter_select"/> 15257ec681f3Smrg <reg32 offset="0x0501" name="CP_PERFCTR_CP_SEL_1" type="a4xx_cp_perfcounter_select"/> 15267ec681f3Smrg <reg32 offset="0x0502" name="CP_PERFCTR_CP_SEL_2" type="a4xx_cp_perfcounter_select"/> 15277ec681f3Smrg <reg32 offset="0x0503" name="CP_PERFCTR_CP_SEL_3" type="a4xx_cp_perfcounter_select"/> 15287ec681f3Smrg <reg32 offset="0x0504" name="CP_PERFCTR_CP_SEL_4" type="a4xx_cp_perfcounter_select"/> 15297ec681f3Smrg <reg32 offset="0x0505" name="CP_PERFCTR_CP_SEL_5" type="a4xx_cp_perfcounter_select"/> 15307ec681f3Smrg <reg32 offset="0x0506" name="CP_PERFCTR_CP_SEL_6" type="a4xx_cp_perfcounter_select"/> 15317ec681f3Smrg <reg32 offset="0x0507" name="CP_PERFCTR_CP_SEL_7" type="a4xx_cp_perfcounter_select"/> 15327ec681f3Smrg <reg32 offset="0x050b" name="CP_PERFCOMBINER_SELECT"/> 15337ec681f3Smrg <array offset="0x0578" name="CP_SCRATCH" stride="1" length="23"> 15347ec681f3Smrg <reg32 offset="0x0" name="REG"/> 15357ec681f3Smrg </array> 15367ec681f3Smrg 15377ec681f3Smrg 15387ec681f3Smrg <!-- SP registers --> 15397ec681f3Smrg <reg32 offset="0x0ec0" name="SP_VS_STATUS"/> 15407ec681f3Smrg <reg32 offset="0x0ec3" name="SP_MODE_CONTROL"/> 15417ec681f3Smrg 15427ec681f3Smrg <reg32 offset="0x0ec4" name="SP_PERFCTR_SP_SEL_0" type="a4xx_sp_perfcounter_select"/> 15437ec681f3Smrg <reg32 offset="0x0ec5" name="SP_PERFCTR_SP_SEL_1" type="a4xx_sp_perfcounter_select"/> 15447ec681f3Smrg <reg32 offset="0x0ec6" name="SP_PERFCTR_SP_SEL_2" type="a4xx_sp_perfcounter_select"/> 15457ec681f3Smrg <reg32 offset="0x0ec7" name="SP_PERFCTR_SP_SEL_3" type="a4xx_sp_perfcounter_select"/> 15467ec681f3Smrg <reg32 offset="0x0ec8" name="SP_PERFCTR_SP_SEL_4" type="a4xx_sp_perfcounter_select"/> 15477ec681f3Smrg <reg32 offset="0x0ec9" name="SP_PERFCTR_SP_SEL_5" type="a4xx_sp_perfcounter_select"/> 15487ec681f3Smrg <reg32 offset="0x0eca" name="SP_PERFCTR_SP_SEL_6" type="a4xx_sp_perfcounter_select"/> 15497ec681f3Smrg <reg32 offset="0x0ecb" name="SP_PERFCTR_SP_SEL_7" type="a4xx_sp_perfcounter_select"/> 15507ec681f3Smrg <reg32 offset="0x0ecc" name="SP_PERFCTR_SP_SEL_8" type="a4xx_sp_perfcounter_select"/> 15517ec681f3Smrg <reg32 offset="0x0ecd" name="SP_PERFCTR_SP_SEL_9" type="a4xx_sp_perfcounter_select"/> 15527ec681f3Smrg <reg32 offset="0x0ece" name="SP_PERFCTR_SP_SEL_10" type="a4xx_sp_perfcounter_select"/> 15537ec681f3Smrg <reg32 offset="0x0ecf" name="SP_PERFCTR_SP_SEL_11" type="a4xx_sp_perfcounter_select"/> 15547ec681f3Smrg 15557ec681f3Smrg <reg32 offset="0x22c0" name="SP_SP_CTRL_REG"> 15567ec681f3Smrg <bitfield name="BINNING_PASS" pos="19" type="boolean"/> 15577ec681f3Smrg </reg32> 15587ec681f3Smrg <reg32 offset="0x22c1" name="SP_INSTR_CACHE_CTRL"> 15597ec681f3Smrg <!-- set when VS in buffer mode: --> 15607ec681f3Smrg <bitfield name="VS_BUFFER" pos="7" type="boolean"/> 15617ec681f3Smrg <!-- set when FS in buffer mode: --> 15627ec681f3Smrg <bitfield name="FS_BUFFER" pos="8" type="boolean"/> 15637ec681f3Smrg <!-- set when both VS or FS in buffer mode: --> 15647ec681f3Smrg <bitfield name="INSTR_BUFFER" pos="10" type="boolean"/> 15657ec681f3Smrg <!-- TODO other bits probably matter when other stages active? --> 15667ec681f3Smrg </reg32> 15677ec681f3Smrg 15687ec681f3Smrg <bitset name="a4xx_sp_vs_fs_ctrl_reg0" inline="yes"> 15697ec681f3Smrg <!-- 15707ec681f3Smrg NOTE that SP_{VS,FS}_CTRL_REG1 are different, but so far REG0 15717ec681f3Smrg appears to be the same.. 15727ec681f3Smrg --> 15737ec681f3Smrg <bitfield name="THREADMODE" pos="0" type="a3xx_threadmode"/> 15747ec681f3Smrg <!-- VARYING bit only for FS.. think it controls emitting (ei) flag? --> 15757ec681f3Smrg <bitfield name="VARYING" pos="1" type="boolean"/> 15767ec681f3Smrg <!-- maybe CACHEINVALID is two bits?? --> 15777ec681f3Smrg <bitfield name="CACHEINVALID" pos="2" type="boolean"/> 15787ec681f3Smrg <doc> 15797ec681f3Smrg The full/half register footprint is in units of four components, 15807ec681f3Smrg so if r0.x is used, that counts as all of r0.[xyzw] as used. 15817ec681f3Smrg There are separate full/half register footprint values as the 15827ec681f3Smrg full and half registers are independent (not overlapping). 15837ec681f3Smrg Presumably the thread scheduler hardware allocates the full/half 15847ec681f3Smrg register names from the actual physical register file and 15857ec681f3Smrg handles the register renaming. 15867ec681f3Smrg </doc> 15877ec681f3Smrg <bitfield name="HALFREGFOOTPRINT" low="4" high="9" type="uint"/> 15887ec681f3Smrg <bitfield name="FULLREGFOOTPRINT" low="10" high="15" type="uint"/> 15897ec681f3Smrg <!-- maybe INOUTREGOVERLAP is a bitflag? --> 15907ec681f3Smrg <bitfield name="INOUTREGOVERLAP" low="18" high="19" type="uint"/> 15917ec681f3Smrg <bitfield name="THREADSIZE" pos="20" type="a3xx_threadsize"/> 15927ec681f3Smrg <bitfield name="SUPERTHREADMODE" pos="21" type="boolean"/> 15937ec681f3Smrg <bitfield name="PIXLODENABLE" pos="22" type="boolean"/> 15947ec681f3Smrg </bitset> 15957ec681f3Smrg 15967ec681f3Smrg <reg32 offset="0x22c4" name="SP_VS_CTRL_REG0" type="a4xx_sp_vs_fs_ctrl_reg0"/> 15977ec681f3Smrg <reg32 offset="0x22c5" name="SP_VS_CTRL_REG1"> 15987ec681f3Smrg <bitfield name="CONSTLENGTH" low="0" high="7" type="uint"/> 15997ec681f3Smrg <bitfield name="INITIALOUTSTANDING" low="24" high="30" type="uint"/> 16007ec681f3Smrg </reg32> 16017ec681f3Smrg <reg32 offset="0x22c6" name="SP_VS_PARAM_REG"> 16027ec681f3Smrg <bitfield name="POSREGID" low="0" high="7" type="a3xx_regid"/> 16037ec681f3Smrg <bitfield name="PSIZEREGID" low="8" high="15" type="a3xx_regid"/> 16047ec681f3Smrg <bitfield name="TOTALVSOUTVAR" low="20" high="31" type="uint"/> 16057ec681f3Smrg </reg32> 16067ec681f3Smrg <array offset="0x22c7" name="SP_VS_OUT" stride="1" length="16"> 16077ec681f3Smrg <reg32 offset="0x0" name="REG"> 16087ec681f3Smrg <bitfield name="A_REGID" low="0" high="8" type="a3xx_regid"/> 16097ec681f3Smrg <bitfield name="A_COMPMASK" low="9" high="12" type="hex"/> 16107ec681f3Smrg <bitfield name="B_REGID" low="16" high="24" type="a3xx_regid"/> 16117ec681f3Smrg <bitfield name="B_COMPMASK" low="25" high="28" type="hex"/> 16127ec681f3Smrg </reg32> 16137ec681f3Smrg </array> 16147ec681f3Smrg <array offset="0x22d8" name="SP_VS_VPC_DST" stride="1" length="8"> 16157ec681f3Smrg <reg32 offset="0x0" name="REG"> 16167ec681f3Smrg <doc> 16177ec681f3Smrg These seem to be offsets for storage of the varyings. 16187ec681f3Smrg Always seems to start from 8, possibly loc 0 and 4 16197ec681f3Smrg are for gl_Position and gl_PointSize? 16207ec681f3Smrg </doc> 16217ec681f3Smrg <bitfield name="OUTLOC0" low="0" high="7" type="uint"/> 16227ec681f3Smrg <bitfield name="OUTLOC1" low="8" high="15" type="uint"/> 16237ec681f3Smrg <bitfield name="OUTLOC2" low="16" high="23" type="uint"/> 16247ec681f3Smrg <bitfield name="OUTLOC3" low="24" high="31" type="uint"/> 16257ec681f3Smrg </reg32> 16267ec681f3Smrg </array> 16277ec681f3Smrg 16287ec681f3Smrg <reg32 offset="0x22e0" name="SP_VS_OBJ_OFFSET_REG"> 16297ec681f3Smrg <!-- always 00000000: --> 16307ec681f3Smrg <doc> 16317ec681f3Smrg From register spec: 16327ec681f3Smrg SP_FS_OBJ_OFFSET_REG.CONSTOBJECTSTARTOFFSET [16:24]: Constant object 16337ec681f3Smrg start offset in on chip RAM, 16347ec681f3Smrg 128bit aligned 16357ec681f3Smrg </doc> 16367ec681f3Smrg <bitfield name="CONSTOBJECTOFFSET" low="16" high="24" type="uint"/> 16377ec681f3Smrg <bitfield name="SHADEROBJOFFSET" low="25" high="31" type="uint"/> 16387ec681f3Smrg </reg32> 16397ec681f3Smrg <reg32 offset="0x22e1" name="SP_VS_OBJ_START"/> 16407ec681f3Smrg <reg32 offset="0x22e2" name="SP_VS_PVT_MEM_PARAM"/> 16417ec681f3Smrg <reg32 offset="0x22e3" name="SP_VS_PVT_MEM_ADDR"/> 16427ec681f3Smrg <reg32 offset="0x22e5" name="SP_VS_LENGTH_REG" type="uint"/> 16437ec681f3Smrg <reg32 offset="0x22e8" name="SP_FS_CTRL_REG0" type="a4xx_sp_vs_fs_ctrl_reg0"/> 16447ec681f3Smrg <reg32 offset="0x22e9" name="SP_FS_CTRL_REG1"> 16457ec681f3Smrg <bitfield name="CONSTLENGTH" low="0" high="7" type="uint"/> 16467ec681f3Smrg <bitfield name="FACENESS" pos="19" type="boolean"/> 16477ec681f3Smrg <bitfield name="VARYING" pos="20" type="boolean"/> 16487ec681f3Smrg <bitfield name="FRAGCOORD" pos="21" type="boolean"/> 16497ec681f3Smrg </reg32> 16507ec681f3Smrg <reg32 offset="0x22ea" name="SP_FS_OBJ_OFFSET_REG"> 16517ec681f3Smrg <bitfield name="CONSTOBJECTOFFSET" low="16" high="24" type="uint"/> 16527ec681f3Smrg <bitfield name="SHADEROBJOFFSET" low="25" high="31" type="uint"/> 16537ec681f3Smrg </reg32> 16547ec681f3Smrg <reg32 offset="0x22eb" name="SP_FS_OBJ_START"/> 16557ec681f3Smrg <reg32 offset="0x22ec" name="SP_FS_PVT_MEM_PARAM"/> 16567ec681f3Smrg <reg32 offset="0x22ed" name="SP_FS_PVT_MEM_ADDR"/> 16577ec681f3Smrg <reg32 offset="0x22ef" name="SP_FS_LENGTH_REG" type="uint"/> 16587ec681f3Smrg <reg32 offset="0x22f0" name="SP_FS_OUTPUT_REG"> 16597ec681f3Smrg <bitfield name="MRT" low="0" high="3" type="uint"/> 16607ec681f3Smrg <bitfield name="DEPTH_ENABLE" pos="7" type="boolean"/> 16617ec681f3Smrg <!-- TODO double check.. for now assume same as a3xx --> 16627ec681f3Smrg <bitfield name="DEPTH_REGID" low="8" high="15" type="a3xx_regid"/> 16637ec681f3Smrg <bitfield name="SAMPLEMASK_REGID" low="24" high="31" type="a3xx_regid"/> 16647ec681f3Smrg </reg32> 16657ec681f3Smrg <array offset="0x22f1" name="SP_FS_MRT" stride="1" length="8"> 16667ec681f3Smrg <reg32 offset="0x0" name="REG"> 16677ec681f3Smrg <bitfield name="REGID" low="0" high="7" type="a3xx_regid"/> 16687ec681f3Smrg <bitfield name="HALF_PRECISION" pos="8" type="boolean"/> 16697ec681f3Smrg <bitfield name="MRTFORMAT" low="12" high="17" type="a4xx_color_fmt"/> 16707ec681f3Smrg <bitfield name="COLOR_SRGB" pos="18" type="boolean"/> 16717ec681f3Smrg </reg32> 16727ec681f3Smrg </array> 16737ec681f3Smrg <reg32 offset="0x2300" name="SP_CS_CTRL_REG0" type="a4xx_sp_vs_fs_ctrl_reg0"/> 16747ec681f3Smrg <reg32 offset="0x2301" name="SP_CS_OBJ_OFFSET_REG"/> 16757ec681f3Smrg <reg32 offset="0x2302" name="SP_CS_OBJ_START"/> 16767ec681f3Smrg <reg32 offset="0x2303" name="SP_CS_PVT_MEM_PARAM"/> 16777ec681f3Smrg <reg32 offset="0x2304" name="SP_CS_PVT_MEM_ADDR"/> 16787ec681f3Smrg <reg32 offset="0x2305" name="SP_CS_PVT_MEM_SIZE"/> 16797ec681f3Smrg <reg32 offset="0x2306" name="SP_CS_LENGTH_REG" type="uint"/> 16807ec681f3Smrg <reg32 offset="0x230d" name="SP_HS_OBJ_OFFSET_REG"> 16817ec681f3Smrg <bitfield name="CONSTOBJECTOFFSET" low="16" high="24" type="uint"/> 16827ec681f3Smrg <bitfield name="SHADEROBJOFFSET" low="25" high="31" type="uint"/> 16837ec681f3Smrg </reg32> 16847ec681f3Smrg <reg32 offset="0x230e" name="SP_HS_OBJ_START"/> 16857ec681f3Smrg <reg32 offset="0x230f" name="SP_HS_PVT_MEM_PARAM"/> 16867ec681f3Smrg <reg32 offset="0x2310" name="SP_HS_PVT_MEM_ADDR"/> 16877ec681f3Smrg <reg32 offset="0x2312" name="SP_HS_LENGTH_REG" type="uint"/> 16887ec681f3Smrg 16897ec681f3Smrg <reg32 offset="0x231a" name="SP_DS_PARAM_REG"> 16907ec681f3Smrg <bitfield name="POSREGID" low="0" high="7" type="a3xx_regid"/> 16917ec681f3Smrg <bitfield name="TOTALGSOUTVAR" low="20" high="31" type="uint"/> 16927ec681f3Smrg </reg32> 16937ec681f3Smrg <array offset="0x231b" name="SP_DS_OUT" stride="1" length="16"> 16947ec681f3Smrg <reg32 offset="0x0" name="REG"> 16957ec681f3Smrg <bitfield name="A_REGID" low="0" high="8" type="a3xx_regid"/> 16967ec681f3Smrg <bitfield name="A_COMPMASK" low="9" high="12" type="hex"/> 16977ec681f3Smrg <bitfield name="B_REGID" low="16" high="24" type="a3xx_regid"/> 16987ec681f3Smrg <bitfield name="B_COMPMASK" low="25" high="28" type="hex"/> 16997ec681f3Smrg </reg32> 17007ec681f3Smrg </array> 17017ec681f3Smrg <array offset="0x232c" name="SP_DS_VPC_DST" stride="1" length="8"> 17027ec681f3Smrg <reg32 offset="0x0" name="REG"> 17037ec681f3Smrg <doc> 17047ec681f3Smrg These seem to be offsets for storage of the varyings. 17057ec681f3Smrg Always seems to start from 8, possibly loc 0 and 4 17067ec681f3Smrg are for gl_Position and gl_PointSize? 17077ec681f3Smrg </doc> 17087ec681f3Smrg <bitfield name="OUTLOC0" low="0" high="7" type="uint"/> 17097ec681f3Smrg <bitfield name="OUTLOC1" low="8" high="15" type="uint"/> 17107ec681f3Smrg <bitfield name="OUTLOC2" low="16" high="23" type="uint"/> 17117ec681f3Smrg <bitfield name="OUTLOC3" low="24" high="31" type="uint"/> 17127ec681f3Smrg </reg32> 17137ec681f3Smrg </array> 17147ec681f3Smrg <reg32 offset="0x2334" name="SP_DS_OBJ_OFFSET_REG"> 17157ec681f3Smrg <bitfield name="CONSTOBJECTOFFSET" low="16" high="24" type="uint"/> 17167ec681f3Smrg <bitfield name="SHADEROBJOFFSET" low="25" high="31" type="uint"/> 17177ec681f3Smrg </reg32> 17187ec681f3Smrg <reg32 offset="0x2335" name="SP_DS_OBJ_START"/> 17197ec681f3Smrg <reg32 offset="0x2336" name="SP_DS_PVT_MEM_PARAM"/> 17207ec681f3Smrg <reg32 offset="0x2337" name="SP_DS_PVT_MEM_ADDR"/> 17217ec681f3Smrg <reg32 offset="0x2339" name="SP_DS_LENGTH_REG" type="uint"/> 17227ec681f3Smrg 17237ec681f3Smrg <reg32 offset="0x2341" name="SP_GS_PARAM_REG"> 17247ec681f3Smrg <bitfield name="POSREGID" low="0" high="7" type="a3xx_regid"/> 17257ec681f3Smrg <bitfield name="PRIMREGID" low="8" high="15" type="a3xx_regid"/> 17267ec681f3Smrg <bitfield name="TOTALGSOUTVAR" low="20" high="31" type="uint"/> 17277ec681f3Smrg </reg32> 17287ec681f3Smrg <array offset="0x2342" name="SP_GS_OUT" stride="1" length="16"> 17297ec681f3Smrg <reg32 offset="0x0" name="REG"> 17307ec681f3Smrg <bitfield name="A_REGID" low="0" high="8" type="a3xx_regid"/> 17317ec681f3Smrg <bitfield name="A_COMPMASK" low="9" high="12" type="hex"/> 17327ec681f3Smrg <bitfield name="B_REGID" low="16" high="24" type="a3xx_regid"/> 17337ec681f3Smrg <bitfield name="B_COMPMASK" low="25" high="28" type="hex"/> 17347ec681f3Smrg </reg32> 17357ec681f3Smrg </array> 17367ec681f3Smrg <array offset="0x2353" name="SP_GS_VPC_DST" stride="1" length="8"> 17377ec681f3Smrg <reg32 offset="0x0" name="REG"> 17387ec681f3Smrg <doc> 17397ec681f3Smrg These seem to be offsets for storage of the varyings. 17407ec681f3Smrg Always seems to start from 8, possibly loc 0 and 4 17417ec681f3Smrg are for gl_Position and gl_PointSize? 17427ec681f3Smrg </doc> 17437ec681f3Smrg <bitfield name="OUTLOC0" low="0" high="7" type="uint"/> 17447ec681f3Smrg <bitfield name="OUTLOC1" low="8" high="15" type="uint"/> 17457ec681f3Smrg <bitfield name="OUTLOC2" low="16" high="23" type="uint"/> 17467ec681f3Smrg <bitfield name="OUTLOC3" low="24" high="31" type="uint"/> 17477ec681f3Smrg </reg32> 17487ec681f3Smrg </array> 17497ec681f3Smrg <reg32 offset="0x235b" name="SP_GS_OBJ_OFFSET_REG"> 17507ec681f3Smrg <bitfield name="CONSTOBJECTOFFSET" low="16" high="24" type="uint"/> 17517ec681f3Smrg <bitfield name="SHADEROBJOFFSET" low="25" high="31" type="uint"/> 17527ec681f3Smrg </reg32> 17537ec681f3Smrg <reg32 offset="0x235c" name="SP_GS_OBJ_START"/> 17547ec681f3Smrg <reg32 offset="0x235d" name="SP_GS_PVT_MEM_PARAM"/> 17557ec681f3Smrg <reg32 offset="0x235e" name="SP_GS_PVT_MEM_ADDR"/> 17567ec681f3Smrg <reg32 offset="0x2360" name="SP_GS_LENGTH_REG" type="uint"/> 17577ec681f3Smrg 17587ec681f3Smrg <!-- VPC registers --> 17597ec681f3Smrg <reg32 offset="0x0e60" name="VPC_DEBUG_RAM_SEL"/> 17607ec681f3Smrg <reg32 offset="0x0e61" name="VPC_DEBUG_RAM_READ"/> 17617ec681f3Smrg <reg32 offset="0x0e64" name="VPC_DEBUG_ECO_CONTROL"/> 17627ec681f3Smrg <reg32 offset="0x0e65" name="VPC_PERFCTR_VPC_SEL_0" type="a4xx_vpc_perfcounter_select"/> 17637ec681f3Smrg <reg32 offset="0x0e66" name="VPC_PERFCTR_VPC_SEL_1" type="a4xx_vpc_perfcounter_select"/> 17647ec681f3Smrg <reg32 offset="0x0e67" name="VPC_PERFCTR_VPC_SEL_2" type="a4xx_vpc_perfcounter_select"/> 17657ec681f3Smrg <reg32 offset="0x0e68" name="VPC_PERFCTR_VPC_SEL_3" type="a4xx_vpc_perfcounter_select"/> 17667ec681f3Smrg <reg32 offset="0x2140" name="VPC_ATTR"> 17677ec681f3Smrg <bitfield name="TOTALATTR" low="0" high="8" type="uint"/> 17687ec681f3Smrg <!-- PSIZE bit set if gl_PointSize written: --> 17697ec681f3Smrg <bitfield name="PSIZE" pos="9" type="boolean"/> 17707ec681f3Smrg <bitfield name="THRDASSIGN" low="12" high="13" type="uint"/> 17717ec681f3Smrg <bitfield name="ENABLE" pos="25" type="boolean"/> 17727ec681f3Smrg </reg32> 17737ec681f3Smrg <reg32 offset="0x2141" name="VPC_PACK"> 17747ec681f3Smrg <bitfield name="NUMBYPASSVAR" low="0" high="7" type="uint"/> 17757ec681f3Smrg <bitfield name="NUMFPNONPOSVAR" low="8" high="15" type="uint"/> 17767ec681f3Smrg <bitfield name="NUMNONPOSVSVAR" low="16" high="23" type="uint"/> 17777ec681f3Smrg </reg32> 17787ec681f3Smrg <array offset="0x2142" name="VPC_VARYING_INTERP" stride="1" length="8"> 17797ec681f3Smrg <reg32 offset="0x0" name="MODE"/> 17807ec681f3Smrg </array> 17817ec681f3Smrg <array offset="0x214a" name="VPC_VARYING_PS_REPL" stride="1" length="8"> 17827ec681f3Smrg <reg32 offset="0x0" name="MODE"/> 17837ec681f3Smrg </array> 17847ec681f3Smrg 17857ec681f3Smrg <reg32 offset="0x216e" name="VPC_SO_FLUSH_WADDR_3"/> 17867ec681f3Smrg 17877ec681f3Smrg <!-- VSC registers --> 17887ec681f3Smrg <reg32 offset="0x0c00" name="VSC_BIN_SIZE"> 17897ec681f3Smrg <bitfield name="WIDTH" low="0" high="4" shr="5" type="uint"/> 17907ec681f3Smrg <bitfield name="HEIGHT" low="5" high="9" shr="5" type="uint"/> 17917ec681f3Smrg </reg32> 17927ec681f3Smrg <reg32 offset="0x0c01" name="VSC_SIZE_ADDRESS"/> 17937ec681f3Smrg <reg32 offset="0x0c02" name="VSC_SIZE_ADDRESS2"/> 17947ec681f3Smrg <reg32 offset="0x0c03" name="VSC_DEBUG_ECO_CONTROL"/> 17957ec681f3Smrg <array offset="0x0c08" name="VSC_PIPE_CONFIG" stride="1" length="8"> 17967ec681f3Smrg <reg32 offset="0x0" name="REG"> 17977ec681f3Smrg <doc> 17987ec681f3Smrg Configures the mapping between VSC_PIPE buffer and 17997ec681f3Smrg bin, X/Y specify the bin index in the horiz/vert 18007ec681f3Smrg direction (0,0 is upper left, 0,1 is leftmost bin 18017ec681f3Smrg on second row, and so on). W/H specify the number 18027ec681f3Smrg of bins assigned to this VSC_PIPE in the horiz/vert 18037ec681f3Smrg dimension. 18047ec681f3Smrg </doc> 18057ec681f3Smrg <bitfield name="X" low="0" high="9" type="uint"/> 18067ec681f3Smrg <bitfield name="Y" low="10" high="19" type="uint"/> 18077ec681f3Smrg <bitfield name="W" low="20" high="23" type="uint"/> 18087ec681f3Smrg <bitfield name="H" low="24" high="27" type="uint"/> 18097ec681f3Smrg </reg32> 18107ec681f3Smrg </array> 18117ec681f3Smrg <array offset="0x0c10" name="VSC_PIPE_DATA_ADDRESS" stride="1" length="8"> 18127ec681f3Smrg <reg32 offset="0x0" name="REG"/> 18137ec681f3Smrg </array> 18147ec681f3Smrg <array offset="0x0c18" name="VSC_PIPE_DATA_LENGTH" stride="1" length="8"> 18157ec681f3Smrg <reg32 offset="0x0" name="REG"/> 18167ec681f3Smrg </array> 18177ec681f3Smrg <reg32 offset="0x0c41" name="VSC_PIPE_PARTIAL_POSN_1"/> 18187ec681f3Smrg <reg32 offset="0x0c50" name="VSC_PERFCTR_VSC_SEL_0" type="a4xx_vsc_perfcounter_select"/> 18197ec681f3Smrg <reg32 offset="0x0c51" name="VSC_PERFCTR_VSC_SEL_1" type="a4xx_vsc_perfcounter_select"/> 18207ec681f3Smrg 18217ec681f3Smrg <!-- VFD registers --> 18227ec681f3Smrg <reg32 offset="0x0e40" name="VFD_DEBUG_CONTROL"/> 18237ec681f3Smrg <reg32 offset="0x0e43" name="VFD_PERFCTR_VFD_SEL_0" type="a4xx_vfd_perfcounter_select"/> 18247ec681f3Smrg <reg32 offset="0x0e44" name="VFD_PERFCTR_VFD_SEL_1" type="a4xx_vfd_perfcounter_select"/> 18257ec681f3Smrg <reg32 offset="0x0e45" name="VFD_PERFCTR_VFD_SEL_2" type="a4xx_vfd_perfcounter_select"/> 18267ec681f3Smrg <reg32 offset="0x0e46" name="VFD_PERFCTR_VFD_SEL_3" type="a4xx_vfd_perfcounter_select"/> 18277ec681f3Smrg <reg32 offset="0x0e47" name="VFD_PERFCTR_VFD_SEL_4" type="a4xx_vfd_perfcounter_select"/> 18287ec681f3Smrg <reg32 offset="0x0e48" name="VFD_PERFCTR_VFD_SEL_5" type="a4xx_vfd_perfcounter_select"/> 18297ec681f3Smrg <reg32 offset="0x0e49" name="VFD_PERFCTR_VFD_SEL_6" type="a4xx_vfd_perfcounter_select"/> 18307ec681f3Smrg <reg32 offset="0x0e4a" name="VFD_PERFCTR_VFD_SEL_7" type="a4xx_vfd_perfcounter_select"/> 18317ec681f3Smrg <reg32 offset="0x21d0" name="VGT_CL_INITIATOR"/> 18327ec681f3Smrg <reg32 offset="0x21d9" name="VGT_EVENT_INITIATOR"/> 18337ec681f3Smrg <reg32 offset="0x2200" name="VFD_CONTROL_0"> 18347ec681f3Smrg <doc> 18357ec681f3Smrg TOTALATTRTOVS is # of attributes to vertex shader, in register 18367ec681f3Smrg slots (ie. vec4+vec3 -> 7) 18377ec681f3Smrg </doc> 18387ec681f3Smrg <bitfield name="TOTALATTRTOVS" low="0" high="7" type="uint"/> 18397ec681f3Smrg <doc> 18407ec681f3Smrg BYPASSATTROVS seems to count varyings that are just directly 18417ec681f3Smrg assigned from attributes (ie, "vFoo = aFoo;") 18427ec681f3Smrg </doc> 18437ec681f3Smrg <bitfield name="BYPASSATTROVS" low="9" high="16" type="uint"/> 18447ec681f3Smrg <doc>STRMDECINSTRCNT is # of VFD_DECODE_INSTR registers valid</doc> 18457ec681f3Smrg <bitfield name="STRMDECINSTRCNT" low="20" high="25" type="uint"/> 18467ec681f3Smrg <doc>STRMFETCHINSTRCNT is # of VFD_FETCH_INSTR registers valid</doc> 18477ec681f3Smrg <bitfield name="STRMFETCHINSTRCNT" low="26" high="31" type="uint"/> 18487ec681f3Smrg </reg32> 18497ec681f3Smrg <reg32 offset="0x2201" name="VFD_CONTROL_1"> 18507ec681f3Smrg <doc>MAXSTORAGE could be # of attributes/vbo's</doc> 18517ec681f3Smrg <bitfield name="MAXSTORAGE" low="0" high="15" type="uint"/> 18527ec681f3Smrg <bitfield name="REGID4VTX" low="16" high="23" type="a3xx_regid"/> 18537ec681f3Smrg <bitfield name="REGID4INST" low="24" high="31" type="a3xx_regid"/> 18547ec681f3Smrg </reg32> 18557ec681f3Smrg <reg32 offset="0x2202" name="VFD_CONTROL_2"/> 18567ec681f3Smrg <reg32 offset="0x2203" name="VFD_CONTROL_3"> 18577ec681f3Smrg <bitfield name="REGID_VTXCNT" low="8" high="15" type="a3xx_regid"/> 18587ec681f3Smrg <bitfield name="REGID_TESSX" low="16" high="23" type="a3xx_regid"/> 18597ec681f3Smrg <bitfield name="REGID_TESSY" low="24" high="31" type="a3xx_regid"/> 18607ec681f3Smrg </reg32> 18617ec681f3Smrg <reg32 offset="0x2204" name="VFD_CONTROL_4"/> 18627ec681f3Smrg <reg32 offset="0x2208" name="VFD_INDEX_OFFSET"/> 18637ec681f3Smrg <array offset="0x220a" name="VFD_FETCH" stride="4" length="32"> 18647ec681f3Smrg <reg32 offset="0x0" name="INSTR_0"> 18657ec681f3Smrg <bitfield name="FETCHSIZE" low="0" high="6" type="uint"/> 18667ec681f3Smrg <bitfield name="BUFSTRIDE" low="7" high="16" type="uint"/> 18677ec681f3Smrg <bitfield name="SWITCHNEXT" pos="19" type="boolean"/> 18687ec681f3Smrg <bitfield name="INSTANCED" pos="20" type="boolean"/> 18697ec681f3Smrg </reg32> 18707ec681f3Smrg <reg32 offset="0x1" name="INSTR_1"/> 18717ec681f3Smrg <reg32 offset="0x2" name="INSTR_2"> 18727ec681f3Smrg <bitfield name="SIZE" low="0" high="31"/> 18737ec681f3Smrg </reg32> 18747ec681f3Smrg <reg32 offset="0x3" name="INSTR_3"> 18757ec681f3Smrg <!-- might well be bigger.. --> 18767ec681f3Smrg <bitfield name="STEPRATE" low="0" high="8" type="uint"/> 18777ec681f3Smrg </reg32> 18787ec681f3Smrg </array> 18797ec681f3Smrg <array offset="0x228a" name="VFD_DECODE" stride="1" length="32"> 18807ec681f3Smrg <reg32 offset="0x0" name="INSTR"> 18817ec681f3Smrg <bitfield name="WRITEMASK" low="0" high="3" type="hex"/> 18827ec681f3Smrg <!-- not sure if this is a bit flag and another flag above it, or?? --> 18837ec681f3Smrg <bitfield name="CONSTFILL" pos="4" type="boolean"/> 18847ec681f3Smrg <bitfield name="FORMAT" low="6" high="11" type="a4xx_vtx_fmt"/> 18857ec681f3Smrg <bitfield name="REGID" low="12" high="19" type="a3xx_regid"/> 18867ec681f3Smrg <bitfield name="INT" pos="20" type="boolean"/> 18877ec681f3Smrg <doc>SHIFTCNT appears to be size, ie. FLOAT_32_32_32 is 12, and BYTE_8 is 1</doc> 18887ec681f3Smrg <bitfield name="SWAP" low="22" high="23" type="a3xx_color_swap"/> 18897ec681f3Smrg <bitfield name="SHIFTCNT" low="24" high="28" type="uint"/> 18907ec681f3Smrg <bitfield name="LASTCOMPVALID" pos="29" type="boolean"/> 18917ec681f3Smrg <bitfield name="SWITCHNEXT" pos="30" type="boolean"/> 18927ec681f3Smrg </reg32> 18937ec681f3Smrg </array> 18947ec681f3Smrg 18957ec681f3Smrg <!-- TPL1 registers --> 18967ec681f3Smrg <reg32 offset="0x0f00" name="TPL1_DEBUG_ECO_CONTROL"/> 18977ec681f3Smrg <!-- always 0000003a: --> 18987ec681f3Smrg <reg32 offset="0x0f03" name="TPL1_TP_MODE_CONTROL"/> 18997ec681f3Smrg <reg32 offset="0x0f04" name="TPL1_PERFCTR_TP_SEL_0" type="a4xx_tp_perfcounter_select"/> 19007ec681f3Smrg <reg32 offset="0x0f05" name="TPL1_PERFCTR_TP_SEL_1" type="a4xx_tp_perfcounter_select"/> 19017ec681f3Smrg <reg32 offset="0x0f06" name="TPL1_PERFCTR_TP_SEL_2" type="a4xx_tp_perfcounter_select"/> 19027ec681f3Smrg <reg32 offset="0x0f07" name="TPL1_PERFCTR_TP_SEL_3" type="a4xx_tp_perfcounter_select"/> 19037ec681f3Smrg <reg32 offset="0x0f08" name="TPL1_PERFCTR_TP_SEL_4" type="a4xx_tp_perfcounter_select"/> 19047ec681f3Smrg <reg32 offset="0x0f09" name="TPL1_PERFCTR_TP_SEL_5" type="a4xx_tp_perfcounter_select"/> 19057ec681f3Smrg <reg32 offset="0x0f0a" name="TPL1_PERFCTR_TP_SEL_6" type="a4xx_tp_perfcounter_select"/> 19067ec681f3Smrg <reg32 offset="0x0f0b" name="TPL1_PERFCTR_TP_SEL_7" type="a4xx_tp_perfcounter_select"/> 19077ec681f3Smrg <reg32 offset="0x2380" name="TPL1_TP_TEX_OFFSET"/> 19087ec681f3Smrg <reg32 offset="0x2381" name="TPL1_TP_TEX_COUNT"> 19097ec681f3Smrg <bitfield name="VS" low="0" high="7" type="uint"/> 19107ec681f3Smrg <bitfield name="HS" low="8" high="15" type="uint"/> 19117ec681f3Smrg <bitfield name="DS" low="16" high="23" type="uint"/> 19127ec681f3Smrg <bitfield name="GS" low="24" high="31" type="uint"/> 19137ec681f3Smrg </reg32> 19147ec681f3Smrg <reg32 offset="0x2384" name="TPL1_TP_VS_BORDER_COLOR_BASE_ADDR"/> 19157ec681f3Smrg <reg32 offset="0x2387" name="TPL1_TP_HS_BORDER_COLOR_BASE_ADDR"/> 19167ec681f3Smrg <reg32 offset="0x238a" name="TPL1_TP_DS_BORDER_COLOR_BASE_ADDR"/> 19177ec681f3Smrg <reg32 offset="0x238d" name="TPL1_TP_GS_BORDER_COLOR_BASE_ADDR"/> 19187ec681f3Smrg <reg32 offset="0x23a0" name="TPL1_TP_FS_TEX_COUNT"/> 19197ec681f3Smrg <reg32 offset="0x23a1" name="TPL1_TP_FS_BORDER_COLOR_BASE_ADDR"/> 19207ec681f3Smrg <reg32 offset="0x23a4" name="TPL1_TP_CS_BORDER_COLOR_BASE_ADDR"/> 19217ec681f3Smrg <reg32 offset="0x23a5" name="TPL1_TP_CS_SAMPLER_BASE_ADDR"/> 19227ec681f3Smrg <reg32 offset="0x23a6" name="TPL1_TP_CS_TEXMEMOBJ_BASE_ADDR"/> 19237ec681f3Smrg 19247ec681f3Smrg <!-- GRAS registers --> 19257ec681f3Smrg <reg32 offset="0x0c80" name="GRAS_TSE_STATUS"/> 19267ec681f3Smrg <reg32 offset="0x0c81" name="GRAS_DEBUG_ECO_CONTROL"/> 19277ec681f3Smrg <reg32 offset="0x0c88" name="GRAS_PERFCTR_TSE_SEL_0" type="a4xx_gras_tse_perfcounter_select"/> 19287ec681f3Smrg <reg32 offset="0x0c89" name="GRAS_PERFCTR_TSE_SEL_1" type="a4xx_gras_tse_perfcounter_select"/> 19297ec681f3Smrg <reg32 offset="0x0c8a" name="GRAS_PERFCTR_TSE_SEL_2" type="a4xx_gras_tse_perfcounter_select"/> 19307ec681f3Smrg <reg32 offset="0x0c8b" name="GRAS_PERFCTR_TSE_SEL_3" type="a4xx_gras_tse_perfcounter_select"/> 19317ec681f3Smrg <reg32 offset="0x0c8c" name="GRAS_PERFCTR_RAS_SEL_0" type="a4xx_gras_ras_perfcounter_select"/> 19327ec681f3Smrg <reg32 offset="0x0c8d" name="GRAS_PERFCTR_RAS_SEL_1" type="a4xx_gras_ras_perfcounter_select"/> 19337ec681f3Smrg <reg32 offset="0x0c8e" name="GRAS_PERFCTR_RAS_SEL_2" type="a4xx_gras_ras_perfcounter_select"/> 19347ec681f3Smrg <reg32 offset="0x0c8f" name="GRAS_PERFCTR_RAS_SEL_3" type="a4xx_gras_ras_perfcounter_select"/> 19357ec681f3Smrg <reg32 offset="0x2000" name="GRAS_CL_CLIP_CNTL"> 19367ec681f3Smrg <bitfield name="CLIP_DISABLE" pos="15" type="boolean"/> 19377ec681f3Smrg <bitfield name="ZNEAR_CLIP_DISABLE" pos="16" type="boolean"/> 19387ec681f3Smrg <bitfield name="ZFAR_CLIP_DISABLE" pos="17" type="boolean"/> 19397ec681f3Smrg <bitfield name="ZERO_GB_SCALE_Z" pos="22" type="boolean"/> 19407ec681f3Smrg </reg32> 19417ec681f3Smrg <reg32 offset="0x2003" name="GRAS_CNTL"> 19427ec681f3Smrg <bitfield name="IJ_PERSP" pos="0" type="boolean"/> 19437ec681f3Smrg <bitfield name="IJ_LINEAR" pos="1" type="boolean"/> 19447ec681f3Smrg </reg32> 19457ec681f3Smrg <reg32 offset="0x2004" name="GRAS_CL_GB_CLIP_ADJ"> 19467ec681f3Smrg <bitfield name="HORZ" low="0" high="9" type="uint"/> 19477ec681f3Smrg <bitfield name="VERT" low="10" high="19" type="uint"/> 19487ec681f3Smrg </reg32> 19497ec681f3Smrg <reg32 offset="0x2008" name="GRAS_CL_VPORT_XOFFSET_0" type="float"/> 19507ec681f3Smrg <reg32 offset="0x2009" name="GRAS_CL_VPORT_XSCALE_0" type="float"/> 19517ec681f3Smrg <reg32 offset="0x200a" name="GRAS_CL_VPORT_YOFFSET_0" type="float"/> 19527ec681f3Smrg <reg32 offset="0x200b" name="GRAS_CL_VPORT_YSCALE_0" type="float"/> 19537ec681f3Smrg <reg32 offset="0x200c" name="GRAS_CL_VPORT_ZOFFSET_0" type="float"/> 19547ec681f3Smrg <reg32 offset="0x200d" name="GRAS_CL_VPORT_ZSCALE_0" type="float"/> 19557ec681f3Smrg <reg32 offset="0x2070" name="GRAS_SU_POINT_MINMAX"> 19567ec681f3Smrg <bitfield name="MIN" low="0" high="15" type="ufixed" radix="4"/> 19577ec681f3Smrg <bitfield name="MAX" low="16" high="31" type="ufixed" radix="4"/> 19587ec681f3Smrg </reg32> 19597ec681f3Smrg <reg32 offset="0x2071" name="GRAS_SU_POINT_SIZE" type="fixed" radix="4"/> 19607ec681f3Smrg <reg32 offset="0x2073" name="GRAS_ALPHA_CONTROL"> 19617ec681f3Smrg <bitfield name="ALPHA_TEST_ENABLE" pos="2" type="boolean"/> 19627ec681f3Smrg <bitfield name="FORCE_FRAGZ_TO_FS" pos="3" type="boolean"/> 19637ec681f3Smrg </reg32> 19647ec681f3Smrg <reg32 offset="0x2074" name="GRAS_SU_POLY_OFFSET_SCALE" type="float"/> 19657ec681f3Smrg <reg32 offset="0x2075" name="GRAS_SU_POLY_OFFSET_OFFSET" type="float"/> 19667ec681f3Smrg <reg32 offset="0x2076" name="GRAS_SU_POLY_OFFSET_CLAMP" type="float"/> 19677ec681f3Smrg <reg32 offset="0x2077" name="GRAS_DEPTH_CONTROL"> 19687ec681f3Smrg <!-- guestimating that this is GRAS based on addr --> 19697ec681f3Smrg <bitfield name="FORMAT" low="0" high="1" type="a4xx_depth_format"/> 19707ec681f3Smrg </reg32> 19717ec681f3Smrg <reg32 offset="0x2078" name="GRAS_SU_MODE_CONTROL"> 19727ec681f3Smrg <bitfield name="CULL_FRONT" pos="0" type="boolean"/> 19737ec681f3Smrg <bitfield name="CULL_BACK" pos="1" type="boolean"/> 19747ec681f3Smrg <bitfield name="FRONT_CW" pos="2" type="boolean"/> 19757ec681f3Smrg <bitfield name="LINEHALFWIDTH" low="3" high="10" radix="2" type="fixed"/> 19767ec681f3Smrg <bitfield name="POLY_OFFSET" pos="11" type="boolean"/> 19777ec681f3Smrg <bitfield name="MSAA_ENABLE" pos="13" type="boolean"/> 19787ec681f3Smrg <!-- bit20 set whenever RENDER_MODE = RB_RENDERING_PASS --> 19797ec681f3Smrg <bitfield name="RENDERING_PASS" pos="20" type="boolean"/> 19807ec681f3Smrg </reg32> 19817ec681f3Smrg <reg32 offset="0x207b" name="GRAS_SC_CONTROL"> 19827ec681f3Smrg <!-- complete wild-ass-guess for sizes of these bitfields.. --> 19837ec681f3Smrg <bitfield name="RENDER_MODE" low="2" high="3" type="a3xx_render_mode"/> 19847ec681f3Smrg <bitfield name="MSAA_SAMPLES" low="7" high="9" type="uint"/> 19857ec681f3Smrg <bitfield name="MSAA_DISABLE" pos="11" type="boolean"/> 19867ec681f3Smrg <bitfield name="RASTER_MODE" low="12" high="15"/> 19877ec681f3Smrg </reg32> 19887ec681f3Smrg <reg32 offset="0x207c" name="GRAS_SC_SCREEN_SCISSOR_TL" type="adreno_reg_xy"/> 19897ec681f3Smrg <reg32 offset="0x207d" name="GRAS_SC_SCREEN_SCISSOR_BR" type="adreno_reg_xy"/> 19907ec681f3Smrg <reg32 offset="0x209c" name="GRAS_SC_WINDOW_SCISSOR_BR" type="adreno_reg_xy"/> 19917ec681f3Smrg <reg32 offset="0x209d" name="GRAS_SC_WINDOW_SCISSOR_TL" type="adreno_reg_xy"/> 19927ec681f3Smrg <reg32 offset="0x209e" name="GRAS_SC_EXTENT_WINDOW_BR" type="adreno_reg_xy"/> 19937ec681f3Smrg <reg32 offset="0x209f" name="GRAS_SC_EXTENT_WINDOW_TL" type="adreno_reg_xy"/> 19947ec681f3Smrg 19957ec681f3Smrg <!-- UCHE registers --> 19967ec681f3Smrg <reg32 offset="0x0e80" name="UCHE_CACHE_MODE_CONTROL"/> 19977ec681f3Smrg <reg32 offset="0x0e83" name="UCHE_TRAP_BASE_LO"/> 19987ec681f3Smrg <reg32 offset="0x0e84" name="UCHE_TRAP_BASE_HI"/> 19997ec681f3Smrg <reg32 offset="0x0e88" name="UCHE_CACHE_STATUS"/> 20007ec681f3Smrg <reg32 offset="0x0e8a" name="UCHE_INVALIDATE0"/> 20017ec681f3Smrg <reg32 offset="0x0e8b" name="UCHE_INVALIDATE1"/> 20027ec681f3Smrg <reg32 offset="0x0e8c" name="UCHE_CACHE_WAYS_VFD"/> 20037ec681f3Smrg <reg32 offset="0x0e8e" name="UCHE_PERFCTR_UCHE_SEL_0" type="a4xx_uche_perfcounter_select"/> 20047ec681f3Smrg <reg32 offset="0x0e8f" name="UCHE_PERFCTR_UCHE_SEL_1" type="a4xx_uche_perfcounter_select"/> 20057ec681f3Smrg <reg32 offset="0x0e90" name="UCHE_PERFCTR_UCHE_SEL_2" type="a4xx_uche_perfcounter_select"/> 20067ec681f3Smrg <reg32 offset="0x0e91" name="UCHE_PERFCTR_UCHE_SEL_3" type="a4xx_uche_perfcounter_select"/> 20077ec681f3Smrg <reg32 offset="0x0e92" name="UCHE_PERFCTR_UCHE_SEL_4" type="a4xx_uche_perfcounter_select"/> 20087ec681f3Smrg <reg32 offset="0x0e93" name="UCHE_PERFCTR_UCHE_SEL_5" type="a4xx_uche_perfcounter_select"/> 20097ec681f3Smrg <reg32 offset="0x0e94" name="UCHE_PERFCTR_UCHE_SEL_6" type="a4xx_uche_perfcounter_select"/> 20107ec681f3Smrg <reg32 offset="0x0e95" name="UCHE_PERFCTR_UCHE_SEL_7" type="a4xx_uche_perfcounter_select"/> 20117ec681f3Smrg 20127ec681f3Smrg <!-- HLSQ registers --> 20137ec681f3Smrg <reg32 offset="0x0e00" name="HLSQ_TIMEOUT_THRESHOLD"/> 20147ec681f3Smrg <reg32 offset="0x0e04" name="HLSQ_DEBUG_ECO_CONTROL"/> 20157ec681f3Smrg <!-- always 00000000: --> 20167ec681f3Smrg <reg32 offset="0x0e05" name="HLSQ_MODE_CONTROL"/> 20177ec681f3Smrg <reg32 offset="0x0e0e" name="HLSQ_PERF_PIPE_MASK"/> 20187ec681f3Smrg <reg32 offset="0x0e06" name="HLSQ_PERFCTR_HLSQ_SEL_0" type="a4xx_hlsq_perfcounter_select"/> 20197ec681f3Smrg <reg32 offset="0x0e07" name="HLSQ_PERFCTR_HLSQ_SEL_1" type="a4xx_hlsq_perfcounter_select"/> 20207ec681f3Smrg <reg32 offset="0x0e08" name="HLSQ_PERFCTR_HLSQ_SEL_2" type="a4xx_hlsq_perfcounter_select"/> 20217ec681f3Smrg <reg32 offset="0x0e09" name="HLSQ_PERFCTR_HLSQ_SEL_3" type="a4xx_hlsq_perfcounter_select"/> 20227ec681f3Smrg <reg32 offset="0x0e0a" name="HLSQ_PERFCTR_HLSQ_SEL_4" type="a4xx_hlsq_perfcounter_select"/> 20237ec681f3Smrg <reg32 offset="0x0e0b" name="HLSQ_PERFCTR_HLSQ_SEL_5" type="a4xx_hlsq_perfcounter_select"/> 20247ec681f3Smrg <reg32 offset="0x0e0c" name="HLSQ_PERFCTR_HLSQ_SEL_6" type="a4xx_hlsq_perfcounter_select"/> 20257ec681f3Smrg <reg32 offset="0x0e0d" name="HLSQ_PERFCTR_HLSQ_SEL_7" type="a4xx_hlsq_perfcounter_select"/> 20267ec681f3Smrg <reg32 offset="0x23c0" name="HLSQ_CONTROL_0_REG"> 20277ec681f3Smrg <!-- I guess same as a3xx, but so far only seen 08000050 --> 20287ec681f3Smrg <bitfield name="FSTHREADSIZE" pos="4" type="a3xx_threadsize"/> 20297ec681f3Smrg <bitfield name="FSSUPERTHREADENABLE" pos="6" type="boolean"/> 20307ec681f3Smrg <bitfield name="SPSHADERRESTART" pos="9" type="boolean"/> 20317ec681f3Smrg <bitfield name="RESERVED2" pos="10" type="boolean"/> 20327ec681f3Smrg <bitfield name="CHUNKDISABLE" pos="26" type="boolean"/> 20337ec681f3Smrg <bitfield name="CONSTMODE" pos="27" type="uint"/> 20347ec681f3Smrg <bitfield name="LAZYUPDATEDISABLE" pos="28" type="boolean"/> 20357ec681f3Smrg <bitfield name="SPCONSTFULLUPDATE" pos="29" type="boolean"/> 20367ec681f3Smrg <bitfield name="TPFULLUPDATE" pos="30" type="boolean"/> 20377ec681f3Smrg <bitfield name="SINGLECONTEXT" pos="31" type="boolean"/> 20387ec681f3Smrg </reg32> 20397ec681f3Smrg <reg32 offset="0x23c1" name="HLSQ_CONTROL_1_REG"> 20407ec681f3Smrg <bitfield name="VSTHREADSIZE" pos="6" type="a3xx_threadsize"/> 20417ec681f3Smrg <bitfield name="VSSUPERTHREADENABLE" pos="8" type="boolean"/> 20427ec681f3Smrg <bitfield name="RESERVED1" pos="9" type="boolean"/> 20437ec681f3Smrg <bitfield name="COORDREGID" low="16" high="23" type="a3xx_regid"/> 20447ec681f3Smrg <!-- set if gl_FragCoord.[zw] used in frag shader: --> 20457ec681f3Smrg <bitfield name="ZWCOORDREGID" low="24" high="31" type="a3xx_regid"/> 20467ec681f3Smrg </reg32> 20477ec681f3Smrg <reg32 offset="0x23c2" name="HLSQ_CONTROL_2_REG"> 20487ec681f3Smrg <bitfield name="PRIMALLOCTHRESHOLD" low="26" high="31" type="uint"/> 20497ec681f3Smrg <bitfield name="FACEREGID" low="2" high="9" type="a3xx_regid"/> 20507ec681f3Smrg <bitfield name="SAMPLEID_REGID" low="10" high="17" type="a3xx_regid"/> 20517ec681f3Smrg <bitfield name="SAMPLEMASK_REGID" low="18" high="25" type="a3xx_regid"/> 20527ec681f3Smrg </reg32> 20537ec681f3Smrg <reg32 offset="0x23c3" name="HLSQ_CONTROL_3_REG"> 20547ec681f3Smrg <!-- register loaded with position (bary.f) --> 20557ec681f3Smrg <bitfield name="IJ_PERSP_PIXEL" low="0" high="7" type="a3xx_regid"/> 20567ec681f3Smrg <bitfield name="IJ_LINEAR_PIXEL" low="8" high="15" type="a3xx_regid"/> 20577ec681f3Smrg <bitfield name="IJ_PERSP_CENTROID" low="16" high="23" type="a3xx_regid"/> 20587ec681f3Smrg <bitfield name="IJ_LINEAR_CENTROID" low="24" high="31" type="a3xx_regid"/> 20597ec681f3Smrg </reg32> 20607ec681f3Smrg <!-- 0x23c4 3 regids, lowest one goes to 0 when *not* per-sample shading --> 20617ec681f3Smrg <reg32 offset="0x23c4" name="HLSQ_CONTROL_4_REG"> 20627ec681f3Smrg <bitfield name="IJ_PERSP_SAMPLE" low="0" high="7" type="a3xx_regid"/> 20637ec681f3Smrg <bitfield name="IJ_LINEAR_SAMPLE" low="8" high="15" type="a3xx_regid"/> 20647ec681f3Smrg </reg32> 20657ec681f3Smrg 20667ec681f3Smrg <bitset name="a4xx_xs_control_reg" inline="yes"> 20677ec681f3Smrg <bitfield name="CONSTLENGTH" low="0" high="7" type="uint"/> 20687ec681f3Smrg <bitfield name="CONSTOBJECTOFFSET" low="8" high="14" type="uint"/> 20697ec681f3Smrg <bitfield name="SSBO_ENABLE" pos="15" type="boolean"/> 20707ec681f3Smrg <bitfield name="ENABLED" pos="16" type="boolean"/> 20717ec681f3Smrg <bitfield name="SHADEROBJOFFSET" low="17" high="23" type="uint"/> 20727ec681f3Smrg <bitfield name="INSTRLENGTH" low="24" high="31" type="uint"/> 20737ec681f3Smrg </bitset> 20747ec681f3Smrg <reg32 offset="0x23c5" name="HLSQ_VS_CONTROL_REG" type="a4xx_xs_control_reg"/> 20757ec681f3Smrg <reg32 offset="0x23c6" name="HLSQ_FS_CONTROL_REG" type="a4xx_xs_control_reg"/> 20767ec681f3Smrg <reg32 offset="0x23c7" name="HLSQ_HS_CONTROL_REG" type="a4xx_xs_control_reg"/> 20777ec681f3Smrg <reg32 offset="0x23c8" name="HLSQ_DS_CONTROL_REG" type="a4xx_xs_control_reg"/> 20787ec681f3Smrg <reg32 offset="0x23c9" name="HLSQ_GS_CONTROL_REG" type="a4xx_xs_control_reg"/> 20797ec681f3Smrg <reg32 offset="0x23ca" name="HLSQ_CS_CONTROL_REG" type="a4xx_xs_control_reg"/> 20807ec681f3Smrg <reg32 offset="0x23cd" name="HLSQ_CL_NDRANGE_0"> 20817ec681f3Smrg <bitfield name="KERNELDIM" low="0" high="1" type="uint"/> 20827ec681f3Smrg <!-- localsize is value minus one: --> 20837ec681f3Smrg <bitfield name="LOCALSIZEX" low="2" high="11" type="uint"/> 20847ec681f3Smrg <bitfield name="LOCALSIZEY" low="12" high="21" type="uint"/> 20857ec681f3Smrg <bitfield name="LOCALSIZEZ" low="22" high="31" type="uint"/> 20867ec681f3Smrg </reg32> 20877ec681f3Smrg <reg32 offset="0x23ce" name="HLSQ_CL_NDRANGE_1"> 20887ec681f3Smrg <bitfield name="SIZE_X" low="0" high="31" type="uint"/> 20897ec681f3Smrg </reg32> 20907ec681f3Smrg <reg32 offset="0x23cf" name="HLSQ_CL_NDRANGE_2"/> 20917ec681f3Smrg <reg32 offset="0x23d0" name="HLSQ_CL_NDRANGE_3"> 20927ec681f3Smrg <bitfield name="SIZE_Y" low="0" high="31" type="uint"/> 20937ec681f3Smrg </reg32> 20947ec681f3Smrg <reg32 offset="0x23d1" name="HLSQ_CL_NDRANGE_4"/> 20957ec681f3Smrg <reg32 offset="0x23d2" name="HLSQ_CL_NDRANGE_5"> 20967ec681f3Smrg <bitfield name="SIZE_Z" low="0" high="31" type="uint"/> 20977ec681f3Smrg </reg32> 20987ec681f3Smrg <reg32 offset="0x23d3" name="HLSQ_CL_NDRANGE_6"/> 20997ec681f3Smrg <reg32 offset="0x23d4" name="HLSQ_CL_CONTROL_0"> 21007ec681f3Smrg <bitfield name="WGIDCONSTID" low="0" high="11" type="a3xx_regid"/> 21017ec681f3Smrg <bitfield name="UNK12CONSTID" low="12" high="23" type="a3xx_regid"/> 21027ec681f3Smrg <bitfield name="LOCALIDREGID" low="24" high="31" type="a3xx_regid"/> 21037ec681f3Smrg </reg32> 21047ec681f3Smrg <reg32 offset="0x23d5" name="HLSQ_CL_CONTROL_1"> 21057ec681f3Smrg <bitfield name="UNK0CONSTID" low="0" high="11" type="a3xx_regid"/> 21067ec681f3Smrg <bitfield name="UNK12CONSTID" low="12" high="23" type="a3xx_regid"/> 21077ec681f3Smrg </reg32> 21087ec681f3Smrg <reg32 offset="0x23d6" name="HLSQ_CL_KERNEL_CONST"> 21097ec681f3Smrg <bitfield name="UNK0CONSTID" low="0" high="11" type="a3xx_regid"/> 21107ec681f3Smrg <bitfield name="NUMWGCONSTID" low="12" high="23" type="a3xx_regid"/> 21117ec681f3Smrg </reg32> 21127ec681f3Smrg <reg32 offset="0x23d7" name="HLSQ_CL_KERNEL_GROUP_X"/> 21137ec681f3Smrg <reg32 offset="0x23d8" name="HLSQ_CL_KERNEL_GROUP_Y"/> 21147ec681f3Smrg <reg32 offset="0x23d9" name="HLSQ_CL_KERNEL_GROUP_Z"/> 21157ec681f3Smrg <reg32 offset="0x23da" name="HLSQ_CL_WG_OFFSET"> 21167ec681f3Smrg <bitfield name="UNK0CONSTID" low="0" high="11" type="a3xx_regid"/> 21177ec681f3Smrg </reg32> 21187ec681f3Smrg <reg32 offset="0x23db" name="HLSQ_UPDATE_CONTROL"/> 21197ec681f3Smrg 21207ec681f3Smrg <!-- PC registers --> 21217ec681f3Smrg <reg32 offset="0x0d00" name="PC_BINNING_COMMAND"> 21227ec681f3Smrg <bitfield name="BINNING_ENABLE" pos="0" type="boolean"/> 21237ec681f3Smrg </reg32> 21247ec681f3Smrg <reg32 offset="0x0d08" name="PC_TESSFACTOR_ADDR"/> 21257ec681f3Smrg <reg32 offset="0x0d0c" name="PC_DRAWCALL_SETUP_OVERRIDE"/> 21267ec681f3Smrg <reg32 offset="0x0d10" name="PC_PERFCTR_PC_SEL_0" type="a4xx_pc_perfcounter_select"/> 21277ec681f3Smrg <reg32 offset="0x0d11" name="PC_PERFCTR_PC_SEL_1" type="a4xx_pc_perfcounter_select"/> 21287ec681f3Smrg <reg32 offset="0x0d12" name="PC_PERFCTR_PC_SEL_2" type="a4xx_pc_perfcounter_select"/> 21297ec681f3Smrg <reg32 offset="0x0d13" name="PC_PERFCTR_PC_SEL_3" type="a4xx_pc_perfcounter_select"/> 21307ec681f3Smrg <reg32 offset="0x0d14" name="PC_PERFCTR_PC_SEL_4" type="a4xx_pc_perfcounter_select"/> 21317ec681f3Smrg <reg32 offset="0x0d15" name="PC_PERFCTR_PC_SEL_5" type="a4xx_pc_perfcounter_select"/> 21327ec681f3Smrg <reg32 offset="0x0d16" name="PC_PERFCTR_PC_SEL_6" type="a4xx_pc_perfcounter_select"/> 21337ec681f3Smrg <reg32 offset="0x0d17" name="PC_PERFCTR_PC_SEL_7" type="a4xx_pc_perfcounter_select"/> 21347ec681f3Smrg <reg32 offset="0x21c0" name="PC_BIN_BASE"/> 21357ec681f3Smrg <reg32 offset="0x21c2" name="PC_VSTREAM_CONTROL"> 21367ec681f3Smrg <doc>SIZE is current pipe width * height (in tiles)</doc> 21377ec681f3Smrg <bitfield name="SIZE" low="16" high="21" type="uint"/> 21387ec681f3Smrg <doc> 21397ec681f3Smrg N is some sort of slot # between 0..(SIZE-1). In case 21407ec681f3Smrg multiple tiles use same pipe, each tile gets unique slot # 21417ec681f3Smrg </doc> 21427ec681f3Smrg <bitfield name="N" low="22" high="26" type="uint"/> 21437ec681f3Smrg </reg32> 21447ec681f3Smrg <reg32 offset="0x21c4" name="PC_PRIM_VTX_CNTL"> 21457ec681f3Smrg <!-- bit0 set if there is >= 1 varying (actually used by FS) --> 21467ec681f3Smrg <bitfield name="VAROUT" low="0" high="3" type="uint"> 21477ec681f3Smrg <doc>in groups of 4x vec4, blob only uses values 21487ec681f3Smrg 0, 1, 2, 4, 6, 8</doc> 21497ec681f3Smrg </bitfield> 21507ec681f3Smrg <bitfield name="PRIMITIVE_RESTART" pos="20" type="boolean"/> 21517ec681f3Smrg <bitfield name="PROVOKING_VTX_LAST" pos="25" type="boolean"/> 21527ec681f3Smrg <!-- PSIZE bit set if gl_PointSize written: --> 21537ec681f3Smrg <bitfield name="PSIZE" pos="26" type="boolean"/> 21547ec681f3Smrg </reg32> 21557ec681f3Smrg <reg32 offset="0x21c5" name="PC_PRIM_VTX_CNTL2"> 21567ec681f3Smrg <bitfield name="POLYMODE_FRONT_PTYPE" low="0" high="2" type="adreno_pa_su_sc_draw"/> 21577ec681f3Smrg <bitfield name="POLYMODE_BACK_PTYPE" low="3" high="5" type="adreno_pa_su_sc_draw"/> 21587ec681f3Smrg <bitfield name="POLYMODE_ENABLE" pos="6" type="boolean"/> 21597ec681f3Smrg </reg32> 21607ec681f3Smrg <reg32 offset="0x21c6" name="PC_RESTART_INDEX"/> 21617ec681f3Smrg <reg32 offset="0x21e5" name="PC_GS_PARAM"> 21627ec681f3Smrg <bitfield name="MAX_VERTICES" low="0" high="9" type="uint"/><!-- +1, i.e. max is 1024 --> 21637ec681f3Smrg <bitfield name="INVOCATIONS" low="11" high="15" type="uint"/><!-- +1, i.e. max is 32 --> 21647ec681f3Smrg <bitfield name="PRIMTYPE" low="23" high="24" type="adreno_pa_su_sc_draw"/> 21657ec681f3Smrg <bitfield name="LAYER" pos="31" type="boolean"/> 21667ec681f3Smrg </reg32> 21677ec681f3Smrg <reg32 offset="0x21e7" name="PC_HS_PARAM"> 21687ec681f3Smrg <bitfield name="VERTICES_OUT" low="0" high="5" type="uint"/> 21697ec681f3Smrg <bitfield name="SPACING" low="21" high="22" type="a4xx_tess_spacing"/> 21707ec681f3Smrg <bitfield name="CW" pos="23" type="boolean"/> 21717ec681f3Smrg <bitfield name="CONNECTED" pos="24" type="boolean"/> 21727ec681f3Smrg </reg32> 21737ec681f3Smrg 21747ec681f3Smrg <!-- VBIF registers --> 21757ec681f3Smrg <reg32 offset="0x3000" name="VBIF_VERSION"/> 21767ec681f3Smrg <reg32 offset="0x3001" name="VBIF_CLKON"> 21777ec681f3Smrg <bitfield name="FORCE_ON_TESTBUS" pos="0" type="boolean"/> 21787ec681f3Smrg </reg32> 21797ec681f3Smrg <reg32 offset="0x301c" name="VBIF_ABIT_SORT"/> 21807ec681f3Smrg <reg32 offset="0x301d" name="VBIF_ABIT_SORT_CONF"/> 21817ec681f3Smrg <reg32 offset="0x302a" name="VBIF_GATE_OFF_WRREQ_EN"/> 21827ec681f3Smrg <reg32 offset="0x302c" name="VBIF_IN_RD_LIM_CONF0"/> 21837ec681f3Smrg <reg32 offset="0x302d" name="VBIF_IN_RD_LIM_CONF1"/> 21847ec681f3Smrg <reg32 offset="0x3030" name="VBIF_IN_WR_LIM_CONF0"/> 21857ec681f3Smrg <reg32 offset="0x3031" name="VBIF_IN_WR_LIM_CONF1"/> 21867ec681f3Smrg <reg32 offset="0x3049" name="VBIF_ROUND_ROBIN_QOS_ARB"/> 21877ec681f3Smrg <reg32 offset="0x30c0" name="VBIF_PERF_CNT_EN0"/> 21887ec681f3Smrg <reg32 offset="0x30c1" name="VBIF_PERF_CNT_EN1"/> 21897ec681f3Smrg <reg32 offset="0x30c2" name="VBIF_PERF_CNT_EN2"/> 21907ec681f3Smrg <reg32 offset="0x30c3" name="VBIF_PERF_CNT_EN3"/> 21917ec681f3Smrg <reg32 offset="0x30d0" name="VBIF_PERF_CNT_SEL0" type="a4xx_vbif_perfcounter_select"/> 21927ec681f3Smrg <reg32 offset="0x30d1" name="VBIF_PERF_CNT_SEL1" type="a4xx_vbif_perfcounter_select"/> 21937ec681f3Smrg <reg32 offset="0x30d2" name="VBIF_PERF_CNT_SEL2" type="a4xx_vbif_perfcounter_select"/> 21947ec681f3Smrg <reg32 offset="0x30d3" name="VBIF_PERF_CNT_SEL3" type="a4xx_vbif_perfcounter_select"/> 21957ec681f3Smrg <reg32 offset="0x30d8" name="VBIF_PERF_CNT_LOW0"/> 21967ec681f3Smrg <reg32 offset="0x30d9" name="VBIF_PERF_CNT_LOW1"/> 21977ec681f3Smrg <reg32 offset="0x30da" name="VBIF_PERF_CNT_LOW2"/> 21987ec681f3Smrg <reg32 offset="0x30db" name="VBIF_PERF_CNT_LOW3"/> 21997ec681f3Smrg <reg32 offset="0x30e0" name="VBIF_PERF_CNT_HIGH0"/> 22007ec681f3Smrg <reg32 offset="0x30e1" name="VBIF_PERF_CNT_HIGH1"/> 22017ec681f3Smrg <reg32 offset="0x30e2" name="VBIF_PERF_CNT_HIGH2"/> 22027ec681f3Smrg <reg32 offset="0x30e3" name="VBIF_PERF_CNT_HIGH3"/> 22037ec681f3Smrg <reg32 offset="0x3100" name="VBIF_PERF_PWR_CNT_EN0"/> 22047ec681f3Smrg <reg32 offset="0x3101" name="VBIF_PERF_PWR_CNT_EN1"/> 22057ec681f3Smrg <reg32 offset="0x3102" name="VBIF_PERF_PWR_CNT_EN2"/> 22067ec681f3Smrg 22077ec681f3Smrg <!-- 22087ec681f3Smrg Unknown registers: 22097ec681f3Smrg (mostly related to DX11 features not used yet, I guess?) 22107ec681f3Smrg --> 22117ec681f3Smrg 22127ec681f3Smrg <!-- always 00000006: --> 22137ec681f3Smrg <reg32 offset="0x0cc5" name="UNKNOWN_0CC5"/> 22147ec681f3Smrg 22157ec681f3Smrg <!-- always 00000000: --> 22167ec681f3Smrg <reg32 offset="0x0cc6" name="UNKNOWN_0CC6"/> 22177ec681f3Smrg 22187ec681f3Smrg <!-- always 00000001: --> 22197ec681f3Smrg <reg32 offset="0x0d01" name="UNKNOWN_0D01"/> 22207ec681f3Smrg 22217ec681f3Smrg <!-- always 00000000: --> 22227ec681f3Smrg <reg32 offset="0x0e42" name="UNKNOWN_0E42"/> 22237ec681f3Smrg 22247ec681f3Smrg <!-- always 00040000: --> 22257ec681f3Smrg <reg32 offset="0x0ec2" name="UNKNOWN_0EC2"/> 22267ec681f3Smrg 22277ec681f3Smrg <!-- always 00000000: --> 22287ec681f3Smrg <reg32 offset="0x2001" name="UNKNOWN_2001"/> 22297ec681f3Smrg 22307ec681f3Smrg <!-- always 00000000: --> 22317ec681f3Smrg <reg32 offset="0x209b" name="UNKNOWN_209B"/> 22327ec681f3Smrg 22337ec681f3Smrg <!-- always 00000000: --> 22347ec681f3Smrg <reg32 offset="0x20ef" name="UNKNOWN_20EF"/> 22357ec681f3Smrg 22367ec681f3Smrg <!-- always 00000000: --> 22377ec681f3Smrg <reg32 offset="0x2152" name="UNKNOWN_2152"/> 22387ec681f3Smrg 22397ec681f3Smrg <!-- always 00000000: --> 22407ec681f3Smrg <reg32 offset="0x2153" name="UNKNOWN_2153"/> 22417ec681f3Smrg 22427ec681f3Smrg <!-- always 00000000: --> 22437ec681f3Smrg <reg32 offset="0x2154" name="UNKNOWN_2154"/> 22447ec681f3Smrg 22457ec681f3Smrg <!-- always 00000000: --> 22467ec681f3Smrg <reg32 offset="0x2155" name="UNKNOWN_2155"/> 22477ec681f3Smrg 22487ec681f3Smrg <!-- always 00000000: --> 22497ec681f3Smrg <reg32 offset="0x2156" name="UNKNOWN_2156"/> 22507ec681f3Smrg 22517ec681f3Smrg <!-- always 00000000: --> 22527ec681f3Smrg <reg32 offset="0x2157" name="UNKNOWN_2157"/> 22537ec681f3Smrg 22547ec681f3Smrg <!-- always 0000000b: --> 22557ec681f3Smrg <reg32 offset="0x21c3" name="UNKNOWN_21C3"/> 22567ec681f3Smrg 22577ec681f3Smrg <!-- always 00000001: --> 22587ec681f3Smrg <reg32 offset="0x21e6" name="UNKNOWN_21E6"/> 22597ec681f3Smrg 22607ec681f3Smrg <!-- always 00000000: --> 22617ec681f3Smrg <reg32 offset="0x2209" name="UNKNOWN_2209"/> 22627ec681f3Smrg 22637ec681f3Smrg <!-- always 00000000: --> 22647ec681f3Smrg <reg32 offset="0x22d7" name="UNKNOWN_22D7"/> 22657ec681f3Smrg 22667ec681f3Smrg <!-- always 00fcfc00: --> 22677ec681f3Smrg <reg32 offset="0x2352" name="UNKNOWN_2352"/> 22687ec681f3Smrg 22697ec681f3Smrg</domain> 22707ec681f3Smrg 22717ec681f3Smrg 22727ec681f3Smrg<domain name="A4XX_TEX_SAMP" width="32"> 22737ec681f3Smrg <doc>Texture sampler dwords</doc> 22747ec681f3Smrg <enum name="a4xx_tex_filter"> 22757ec681f3Smrg <value name="A4XX_TEX_NEAREST" value="0"/> 22767ec681f3Smrg <value name="A4XX_TEX_LINEAR" value="1"/> 22777ec681f3Smrg <value name="A4XX_TEX_ANISO" value="2"/> 22787ec681f3Smrg </enum> 22797ec681f3Smrg <enum name="a4xx_tex_clamp"> 22807ec681f3Smrg <value name="A4XX_TEX_REPEAT" value="0"/> 22817ec681f3Smrg <value name="A4XX_TEX_CLAMP_TO_EDGE" value="1"/> 22827ec681f3Smrg <value name="A4XX_TEX_MIRROR_REPEAT" value="2"/> 22837ec681f3Smrg <value name="A4XX_TEX_CLAMP_TO_BORDER" value="3"/> 22847ec681f3Smrg <value name="A4XX_TEX_MIRROR_CLAMP" value="4"/> 22857ec681f3Smrg </enum> 22867ec681f3Smrg <enum name="a4xx_tex_aniso"> 22877ec681f3Smrg <value name="A4XX_TEX_ANISO_1" value="0"/> 22887ec681f3Smrg <value name="A4XX_TEX_ANISO_2" value="1"/> 22897ec681f3Smrg <value name="A4XX_TEX_ANISO_4" value="2"/> 22907ec681f3Smrg <value name="A4XX_TEX_ANISO_8" value="3"/> 22917ec681f3Smrg <value name="A4XX_TEX_ANISO_16" value="4"/> 22927ec681f3Smrg </enum> 22937ec681f3Smrg <reg32 offset="0" name="0"> 22947ec681f3Smrg <bitfield name="MIPFILTER_LINEAR_NEAR" pos="0" type="boolean"/> 22957ec681f3Smrg <bitfield name="XY_MAG" low="1" high="2" type="a4xx_tex_filter"/> 22967ec681f3Smrg <bitfield name="XY_MIN" low="3" high="4" type="a4xx_tex_filter"/> 22977ec681f3Smrg <bitfield name="WRAP_S" low="5" high="7" type="a4xx_tex_clamp"/> 22987ec681f3Smrg <bitfield name="WRAP_T" low="8" high="10" type="a4xx_tex_clamp"/> 22997ec681f3Smrg <bitfield name="WRAP_R" low="11" high="13" type="a4xx_tex_clamp"/> 23007ec681f3Smrg <bitfield name="ANISO" low="14" high="16" type="a4xx_tex_aniso"/> 23017ec681f3Smrg <bitfield name="LOD_BIAS" low="19" high="31" type="fixed" radix="8"/><!-- no idea how many bits for real --> 23027ec681f3Smrg </reg32> 23037ec681f3Smrg <reg32 offset="1" name="1"> 23047ec681f3Smrg <bitfield name="COMPARE_FUNC" low="1" high="3" type="adreno_compare_func"/> 23057ec681f3Smrg <bitfield name="CUBEMAPSEAMLESSFILTOFF" pos="4" type="boolean"/> 23067ec681f3Smrg <bitfield name="UNNORM_COORDS" pos="5" type="boolean"/> 23077ec681f3Smrg <bitfield name="MIPFILTER_LINEAR_FAR" pos="6" type="boolean"/> 23087ec681f3Smrg <bitfield name="MAX_LOD" low="8" high="19" type="ufixed" radix="8"/> 23097ec681f3Smrg <bitfield name="MIN_LOD" low="20" high="31" type="ufixed" radix="8"/> 23107ec681f3Smrg </reg32> 23117ec681f3Smrg</domain> 23127ec681f3Smrg 23137ec681f3Smrg<domain name="A4XX_TEX_CONST" width="32"> 23147ec681f3Smrg <doc>Texture constant dwords</doc> 23157ec681f3Smrg <enum name="a4xx_tex_swiz"> 23167ec681f3Smrg <!-- same as a2xx? --> 23177ec681f3Smrg <value name="A4XX_TEX_X" value="0"/> 23187ec681f3Smrg <value name="A4XX_TEX_Y" value="1"/> 23197ec681f3Smrg <value name="A4XX_TEX_Z" value="2"/> 23207ec681f3Smrg <value name="A4XX_TEX_W" value="3"/> 23217ec681f3Smrg <value name="A4XX_TEX_ZERO" value="4"/> 23227ec681f3Smrg <value name="A4XX_TEX_ONE" value="5"/> 23237ec681f3Smrg </enum> 23247ec681f3Smrg <enum name="a4xx_tex_type"> 23257ec681f3Smrg <value name="A4XX_TEX_1D" value="0"/> 23267ec681f3Smrg <value name="A4XX_TEX_2D" value="1"/> 23277ec681f3Smrg <value name="A4XX_TEX_CUBE" value="2"/> 23287ec681f3Smrg <value name="A4XX_TEX_3D" value="3"/> 23297ec681f3Smrg </enum> 23307ec681f3Smrg <reg32 offset="0" name="0"> 23317ec681f3Smrg <bitfield name="TILED" pos="0" type="boolean"/> 23327ec681f3Smrg <bitfield name="SRGB" pos="2" type="boolean"/> 23337ec681f3Smrg <bitfield name="SWIZ_X" low="4" high="6" type="a4xx_tex_swiz"/> 23347ec681f3Smrg <bitfield name="SWIZ_Y" low="7" high="9" type="a4xx_tex_swiz"/> 23357ec681f3Smrg <bitfield name="SWIZ_Z" low="10" high="12" type="a4xx_tex_swiz"/> 23367ec681f3Smrg <bitfield name="SWIZ_W" low="13" high="15" type="a4xx_tex_swiz"/> 23377ec681f3Smrg <bitfield name="MIPLVLS" low="16" high="19" type="uint"/> 23387ec681f3Smrg <bitfield name="FMT" low="22" high="28" type="a4xx_tex_fmt"/> 23397ec681f3Smrg <bitfield name="TYPE" low="29" high="30" type="a4xx_tex_type"/> 23407ec681f3Smrg </reg32> 23417ec681f3Smrg <reg32 offset="1" name="1"> 23427ec681f3Smrg <bitfield name="HEIGHT" low="0" high="14" type="uint"/> 23437ec681f3Smrg <bitfield name="WIDTH" low="15" high="29" type="uint"/> 23447ec681f3Smrg </reg32> 23457ec681f3Smrg <reg32 offset="2" name="2"> 23467ec681f3Smrg <!-- minimum pitch (for mipmap levels): log2(pitchalign / 32) --> 23477ec681f3Smrg <bitfield name="PITCHALIGN" low="0" high="3" type="uint"/> 23487ec681f3Smrg <doc>Pitch in bytes (so actually stride)</doc> 23497ec681f3Smrg <bitfield name="PITCH" low="9" high="29" type="uint"/> 23507ec681f3Smrg <bitfield name="SWAP" low="30" high="31" type="a3xx_color_swap"/> 23517ec681f3Smrg </reg32> 23527ec681f3Smrg <reg32 offset="3" name="3"> 23537ec681f3Smrg <bitfield name="LAYERSZ" low="0" high="13" shr="12" type="uint"/> 23547ec681f3Smrg <bitfield name="DEPTH" low="18" high="30" type="uint"/> 23557ec681f3Smrg </reg32> 23567ec681f3Smrg <reg32 offset="4" name="4"> 23577ec681f3Smrg <!-- 23587ec681f3Smrg like a3xx we seem to have two LAYERSZ's.. although this one 23597ec681f3Smrg seems too small to be useful, and when it overflows blob just 23607ec681f3Smrg sets it to zero.. 23617ec681f3Smrg --> 23627ec681f3Smrg <bitfield name="LAYERSZ" low="0" high="3" shr="12" type="uint"/> 23637ec681f3Smrg <bitfield name="BASE" low="5" high="31" shr="5"/> 23647ec681f3Smrg </reg32> 23657ec681f3Smrg <reg32 offset="5" name="5"/> 23667ec681f3Smrg <reg32 offset="6" name="6"/> 23677ec681f3Smrg <reg32 offset="7" name="7"/> 23687ec681f3Smrg</domain> 23697ec681f3Smrg 23707ec681f3Smrg<domain name="A4XX_SSBO_0" width="32"> 23717ec681f3Smrg <reg32 offset="0" name="0"> 23727ec681f3Smrg <bitfield name="BASE" low="5" high="31" shr="5"/> 23737ec681f3Smrg </reg32> 23747ec681f3Smrg <reg32 offset="1" name="1"> 23757ec681f3Smrg <doc>Pitch in bytes (so actually stride)</doc> 23767ec681f3Smrg <bitfield name="PITCH" low="0" high="21" type="uint"/> 23777ec681f3Smrg </reg32> 23787ec681f3Smrg <reg32 offset="2" name="2"> 23797ec681f3Smrg <bitfield name="ARRAY_PITCH" low="12" high="25" shr="12" type="uint"/> 23807ec681f3Smrg </reg32> 23817ec681f3Smrg <reg32 offset="3" name="3"> 23827ec681f3Smrg <!-- bytes per pixel: --> 23837ec681f3Smrg <bitfield name="CPP" low="0" high="5" type="uint"/> 23847ec681f3Smrg </reg32> 23857ec681f3Smrg</domain> 23867ec681f3Smrg 23877ec681f3Smrg<domain name="A4XX_SSBO_1" width="32"> 23887ec681f3Smrg <reg32 offset="0" name="0"> 23897ec681f3Smrg <bitfield name="CPP" low="0" high="4" type="uint"/> 23907ec681f3Smrg <bitfield name="FMT" low="8" high="15" type="a4xx_color_fmt"/> 23917ec681f3Smrg <bitfield name="WIDTH" low="16" high="31" type="uint"/> 23927ec681f3Smrg </reg32> 23937ec681f3Smrg <reg32 offset="1" name="1"> 23947ec681f3Smrg <bitfield name="HEIGHT" low="0" high="15" type="uint"/> 23957ec681f3Smrg <bitfield name="DEPTH" low="16" high="31" type="uint"/> 23967ec681f3Smrg </reg32> 23977ec681f3Smrg</domain> 23987ec681f3Smrg 23997ec681f3Smrg</database> 2400