aco: keep loop live-through variables spilled
[mesa.git] / src / amd / registers / amdgfxregs.json
index 23643c3dc7bd98f43ec79adfa0d491e406ff6451..fb7385452869d89cbf8de6729dbb1afe8d06bb42 100644 (file)
     {"name": "EXACT", "value": 0},
     {"name": "11BIT_FORMAT", "value": 1},
     {"name": "10BIT_FORMAT", "value": 3},
-    {"name": "8BIT_FORMAT", "value": 7},
+    {"name": "8BIT_FORMAT", "value": 6},
     {"name": "6BIT_FORMAT", "value": 11},
     {"name": "5BIT_FORMAT", "value": 13},
     {"name": "4BIT_FORMAT", "value": 15}
     {"name": "RE_Z", "value": 2},
     {"name": "EARLY_Z_THEN_RE_Z", "value": 3}
    ]
+  },
+  "ExcpEn": {
+   "entries": [
+    {"name": "INVALID", "value": 1},
+    {"name": "INPUT_DENORMAL", "value": 2},
+    {"name": "DIVIDE_BY_ZERO", "value": 4},
+    {"name": "OVERFLOW", "value": 8},
+    {"name": "UNDERFLOW", "value": 16},
+    {"name": "INEXACT", "value": 32},
+    {"name": "INT_DIVIDE_BY_ZERO", "value": 64},
+    {"name": "ADDRESS_WATCH", "value": 128},
+    {"name": "MEMORY_VIOLATION", "value": 256}
+   ]
   }
  },
  "register_mappings": [
    "name": "COMPUTE_WAVE_RESTORE_CONTROL",
    "type_ref": "COMPUTE_WAVE_RESTORE_CONTROL"
   },
+  {
+   "chips": ["gfx9"],
+   "map": {"at": 47252, "to": "mm"},
+   "name": "COMPUTE_SHADER_CHKSUM"
+  },
   {
    "chips": ["gfx9"],
    "map": {"at": 213048, "to": "mm"},
    "name": "PA_SC_SCREEN_EXTENT_MAX_1",
    "type_ref": "PA_SC_SCREEN_EXTENT_MIN_0"
   },
+  {
+   "chips": ["gfx9"],
+   "map": {"at": 199380, "to": "mm"},
+   "name": "PA_STATE_STEREO_X"
+  },
+  {
+   "chips": ["gfx7", "fiji", "gfx9", "stoney", "gfx8"],
+   "map": {"at": 199872, "to": "mm"},
+   "name": "SQ_THREAD_TRACE_BASE",
+   "type_ref": "SQ_THREAD_TRACE_BASE"
+  },
+  {
+   "chips": ["gfx7", "fiji", "gfx9", "stoney", "gfx8"],
+   "map": {"at": 199876, "to": "mm"},
+   "name": "SQ_THREAD_TRACE_SIZE",
+   "type_ref": "SQ_THREAD_TRACE_SIZE"
+  },
+  {
+   "chips": ["gfx7", "fiji", "gfx9", "stoney", "gfx8"],
+   "map": {"at": 199880, "to": "mm"},
+   "name": "SQ_THREAD_TRACE_MASK",
+   "type_ref": "SQ_THREAD_TRACE_MASK"
+  },
+  {
+   "chips": ["gfx7", "fiji", "gfx9", "stoney", "gfx8"],
+   "map": {"at": 199884, "to": "mm"},
+   "name": "SQ_THREAD_TRACE_TOKEN_MASK",
+   "type_ref": "SQ_THREAD_TRACE_TOKEN_MASK"
+  },
+  {
+   "chips": ["gfx7", "fiji", "gfx9", "stoney", "gfx8"],
+   "map": {"at": 199888, "to": "mm"},
+   "name": "SQ_THREAD_TRACE_PERF_MASK",
+   "type_ref": "SQ_THREAD_TRACE_PERF_MASK"
+  },
+  {
+   "chips": ["gfx7", "fiji", "gfx9", "stoney", "gfx8"],
+   "map": {"at": 199892, "to": "mm"},
+   "name": "SQ_THREAD_TRACE_CTRL",
+   "type_ref": "SQ_THREAD_TRACE_CTRL"
+  },
+  {
+   "chips": ["gfx7", "fiji", "gfx9", "stoney", "gfx8"],
+   "map": {"at": 199896, "to": "mm"},
+   "name": "SQ_THREAD_TRACE_MODE",
+   "type_ref": "SQ_THREAD_TRACE_MODE"
+  },
+  {
+   "chips": ["gfx7", "fiji", "gfx9", "stoney", "gfx8"],
+   "map": {"at": 199900, "to": "mm"},
+   "name": "SQ_THREAD_TRACE_BASE2",
+   "type_ref": "SQ_THREAD_TRACE_BASE2"
+  },
+  {
+   "chips": ["gfx7", "fiji", "gfx9", "stoney", "gfx8"],
+   "map": {"at": 199904, "to": "mm"},
+   "name": "SQ_THREAD_TRACE_TOKEN_MASK2",
+   "type_ref": "SQ_THREAD_TRACE_TOKEN_MASK2"
+  },
+  {
+   "chips": ["gfx7", "fiji", "gfx9", "stoney", "gfx8"],
+   "map": {"at": 199908, "to": "mm"},
+   "name": "SQ_THREAD_TRACE_WPTR"
+  },
+  {
+   "chips": ["gfx7", "fiji", "gfx9", "stoney", "gfx8"],
+   "map": {"at": 199912, "to": "mm"},
+   "name": "SQ_THREAD_TRACE_STATUS",
+   "type_ref": "SQ_THREAD_TRACE_STATUS"
+  },
+  {
+   "chips": ["gfx7", "fiji", "gfx9", "stoney", "gfx8"],
+   "map": {"at": 199916, "to": "mm"},
+   "name": "SQ_THREAD_TRACE_HIWATER",
+   "type_ref": "SQ_THREAD_TRACE_HIWATER"
+  },
+  {
+   "chips": ["gfx7", "fiji", "stoney", "gfx8"],
+   "map": {"at": 36416, "to": "mm"},
+   "name": "SQ_THREAD_TRACE_CNTR",
+   "type_ref": "SQ_THREAD_TRACE_CNTR"
+  },
+  {
+   "chips": ["gfx9"],
+   "map": {"at": 199920, "to": "mm"},
+   "name": "SQ_THREAD_TRACE_CNTR",
+   "type_ref": "SQ_THREAD_TRACE_CNTR"
+  },
   {
    "chips": ["gfx7", "fiji", "gfx9", "stoney", "gfx8"],
    "map": {"at": 199184, "to": "mm"},
    "map": {"at": 217608, "to": "mm"},
    "name": "RLC_PERFCOUNTER1_LO"
   },
+  {
+   "chips": ["gfx7", "fiji", "gfx6", "stoney", "gfx8", "gfx9"],
+   "map": {"at": 226044, "to": "mm"},
+   "name": "RLC_PERFMON_CLK_CNTL",
+   "type_ref": "RLC_PERFMON_CLK_CNTL"
+  },
   {
    "chips": ["gfx7", "fiji", "gfx6", "stoney", "gfx8"],
    "map": {"at": 53300, "to": "mm"},
    "name": "SPI_SHADER_PGM_HI_GS",
    "type_ref": "SPI_SHADER_TBA_HI_PS"
   },
+  {
+   "chips": ["gfx7", "fiji", "gfx6", "stoney", "gfx8"],
+   "map": {"at": 45060, "to": "mm"},
+   "name": "SPI_SHADER_TBA_HI_PS"
+  },
+  {
+   "chips": ["gfx7", "fiji", "gfx6", "stoney", "gfx8"],
+   "map": {"at": 45316, "to": "mm"},
+   "name": "SPI_SHADER_TBA_HI_VS"
+  },
+  {
+   "chips": ["gfx7", "fiji", "gfx6", "stoney", "gfx8"],
+   "map": {"at": 45572, "to": "mm"},
+   "name": "SPI_SHADER_TBA_HI_GS"
+  },
+  {
+   "chips": ["gfx7", "fiji", "gfx6", "stoney", "gfx8"],
+   "map": {"at": 45828, "to": "mm"},
+   "name": "SPI_SHADER_TBA_HI_ES"
+  },
+  {
+   "chips": ["gfx7", "fiji", "gfx6", "stoney", "gfx8"],
+   "map": {"at": 46084, "to": "mm"},
+   "name": "SPI_SHADER_TBA_HI_HS"
+  },
+  {
+   "chips": ["gfx7", "fiji", "gfx6", "stoney", "gfx8"],
+   "map": {"at": 46340, "to": "mm"},
+   "name": "SPI_SHADER_TBA_HI_LS"
+  },
+  {
+   "chips": ["gfx7", "fiji", "gfx6", "stoney", "gfx8"],
+   "map": {"at": 45056, "to": "mm"},
+   "name": "SPI_SHADER_TBA_LO_PS"
+  },
+  {
+   "chips": ["gfx7", "fiji", "gfx6", "stoney", "gfx8"],
+   "map": {"at": 45312, "to": "mm"},
+   "name": "SPI_SHADER_TBA_LO_VS"
+  },
+  {
+   "chips": ["gfx7", "fiji", "gfx6", "stoney", "gfx8"],
+   "map": {"at": 45568, "to": "mm"},
+   "name": "SPI_SHADER_TBA_LO_GS"
+  },
+  {
+   "chips": ["gfx7", "fiji", "gfx6", "stoney", "gfx8"],
+   "map": {"at": 45824, "to": "mm"},
+   "name": "SPI_SHADER_TBA_LO_ES"
+  },
+  {
+   "chips": ["gfx7", "fiji", "gfx6", "stoney", "gfx8"],
+   "map": {"at": 46080, "to": "mm"},
+   "name": "SPI_SHADER_TBA_LO_HS"
+  },
+  {
+   "chips": ["gfx7", "fiji", "gfx6", "stoney", "gfx8"],
+   "map": {"at": 46336, "to": "mm"},
+   "name": "SPI_SHADER_TBA_LO_LS"
+  },
   {
    "chips": ["gfx7", "fiji", "gfx9", "gfx6", "stoney", "gfx8"],
    "map": {"at": 46116, "to": "mm"},
    "map": {"at": 198988, "to": "mm"},
    "name": "WD_POS_BUF_BASE_HI",
    "type_ref": "VGT_TF_MEMORY_BASE_HI"
+  },
+  {
+   "chips": ["gfx8"],
+   "map": {"at": 2, "to": "hw"},
+   "name": "SQ_HW_REG_STATUS",
+   "type_ref": "SQ_WAVE_STATUS_vi"
+  },
+  {
+   "chips": ["gfx8"],
+   "map": {"at": 3, "to": "hw"},
+   "name": "SQ_HW_REG_TRAP_STS",
+   "type_ref": "SQ_WAVE_TRAP_STS"
+  },
+  {
+   "chips": ["gfx8"],
+   "map": {"at": 4, "to": "hw"},
+   "name": "SQ_HW_REG_HW_ID",
+   "type_ref": "SQ_WAVE_HW_ID_cik_vi"
+  },
+  {
+   "chips": ["gfx8"],
+   "map": {"at": 5, "to": "hw"},
+   "name": "SQ_HW_REG_GPR_ALLOC",
+   "type_ref": "SQ_WAVE_GPR_ALLOC"
+  },
+  {
+   "chips": ["gfx8"],
+   "map": {"at": 6, "to": "hw"},
+   "name": "SQ_HW_REG_LDS_ALLOC",
+   "type_ref": "SQ_WAVE_LDS_ALLOC"
+  },
+  {
+   "chips": ["gfx8"],
+   "map": {"at": 7, "to": "hw"},
+   "name": "SQ_HW_REG_IB_STS",
+   "type_ref": "SQ_WAVE_IB_STS_cik_vi"
   }
  ],
  "register_types": {
     {"bits": [10, 20], "name": "RNG"}
    ]
   },
+  "SQ_THREAD_TRACE_BASE": {
+   "fields": [
+    {"bits": [0, 31], "name": "ADDR"}
+   ]
+  },
+  "SQ_THREAD_TRACE_SIZE": {
+   "fields": [
+    {"bits": [0, 21], "name": "SIZE"}
+   ]
+  },
+  "SQ_THREAD_TRACE_MASK": {
+   "fields": [
+    {"bits": [0, 4], "name": "CU_SEL"},
+    {"bits": [5, 5], "name": "SH_SEL"},
+    {"bits": [7, 7], "name": "REG_STALL_EN"},
+    {"bits": [8, 11], "name": "SIMD_EN"},
+    {"bits": [12, 13], "name": "VM_ID_MASK"},
+    {"bits": [14, 14], "name": "SPI_STALL_EN"},
+    {"bits": [15, 15], "name": "SQ_STALL_EN"},
+    {"bits": [16, 31], "comment": "not on GFX9", "name": "RANDOM_SEED"}
+   ]
+  },
+  "SQ_THREAD_TRACE_TOKEN_MASK": {
+   "fields": [
+    {"bits": [0, 15], "name": "TOKEN_MASK"},
+    {"bits": [16, 23], "name": "REG_MASK"},
+    {"bits": [24, 24], "name": "REG_DROP_ON_STALL"}
+   ]
+  },
+  "SQ_THREAD_TRACE_PERF_MASK": {
+   "fields": [
+    {"bits": [0, 15], "name": "SH0_MASK"},
+    {"bits": [16, 31], "name": "SH1_MASK"}
+   ]
+  },
+  "SQ_THREAD_TRACE_CTRL": {
+   "fields": [
+    {"bits": [31, 31], "name": "RESET_BUFFER"}
+   ]
+  },
+  "SQ_THREAD_TRACE_MODE": {
+   "fields": [
+    {"bits": [0, 2], "name": "MASK_PS"},
+    {"bits": [3, 5], "name": "MASK_VS"},
+    {"bits": [6, 8], "name": "MASK_GS"},
+    {"bits": [9, 11], "name": "MASK_ES"},
+    {"bits": [12, 14], "name": "MASK_HS"},
+    {"bits": [15, 17], "name": "MASK_LS"},
+    {"bits": [18, 20], "name": "MASK_CS"},
+    {"bits": [21, 22], "name": "MODE"},
+    {"bits": [23, 24], "name": "CAPTURE_MODE"},
+    {"bits": [25, 25], "name": "AUTOFLUSH_EN"},
+    {"bits": [26, 26], "name": "TC_PERF_EN"},
+    {"bits": [27, 28], "name": "ISSUE_MASK"},
+    {"bits": [29, 29], "name": "TEST_MODE"},
+    {"bits": [30, 30], "name": "INTERRUPT_EN"},
+    {"bits": [31, 31], "name": "WRAP"}
+   ]
+  },
+  "SQ_THREAD_TRACE_BASE2": {
+   "fields": [
+    {"bits": [0, 3], "name": "ADDR_HI"}
+   ]
+  },
+  "SQ_THREAD_TRACE_TOKEN_MASK2": {
+   "fields": [
+    {"bits": [0, 31], "name": "INST_MASK"}
+   ]
+  },
+  "SQ_THREAD_TRACE_STATUS": {
+   "fields": [
+    {"bits": [0, 9], "name": "FINISH_PENDING"},
+    {"bits": [16, 25], "name": "FINISH_DONE"},
+    {"bits": [28, 28], "comment": "only on GFX9", "name": "UTC_ERROR"},
+    {"bits": [29, 29], "name": "NEW_BUF"},
+    {"bits": [30, 30], "name": "BUSY"},
+    {"bits": [31, 31], "name": "FULL"}
+   ]
+  },
+ "SQ_THREAD_TRACE_HIWATER": {
+   "fields": [
+    {"bits": [0, 2], "name": "HIWATER"}
+   ]
+  },
+  "SQ_THREAD_TRACE_CNTR": {
+   "fields": [
+    {"bits": [0, 31], "name": "CNTR"}
+   ]
+  },
   "SRBM_STATUS": {
    "fields": [
     {"bits": [1, 1], "name": "UVD_RQ_PENDING"},
     {"bits": [0, 7], "name": "PERF_SEL"},
     {"bits": [28, 31], "name": "PERF_MODE"}
    ]
+  },
+  "SQ_WAVE_GPR_ALLOC": {
+   "fields": [
+    {"bits": [0, 5], "name": "VGPR_BASE"},
+    {"bits": [8, 13], "name": "VGPR_SIZE"},
+    {"bits": [16, 21], "name": "SGPR_BASE"},
+    {"bits": [24, 27], "name": "SGPR_SIZE"}
+   ]
+  },
+  "SQ_WAVE_LDS_ALLOC": {
+   "fields": [
+    {"bits": [0, 7], "name": "LDS_BASE"},
+    {"bits": [12, 20], "name": "LDS_SIZE"}
+   ]
+  },
+  "SQ_WAVE_TRAP_STS": {
+   "fields": [
+    {"bits": [0, 8], "enum_ref": "ExcpEn", "name": "EXCP"},
+    {"bits": [10, 10], "name": "SAVE_CTX_vi"},
+    {"bits": [16, 21], "name": "EXCP_CYCLE"},
+    {"bits": [29, 31], "name": "DP_RATE"}
+   ]
+  },
+  "SQ_WAVE_STATUS_vi": {
+   "fields": [
+    {"bits": [0, 0], "name": "SCC"},
+    {"bits": [1, 2], "name": "SPI_PRIO"},
+    {"bits": [3, 4], "name": "USER_PRIO"},
+    {"bits": [5, 5], "name": "PRIV"},
+    {"bits": [6, 6], "name": "TRAP_EN"},
+    {"bits": [7, 7], "name": "TTRACE_EN"},
+    {"bits": [8, 8], "name": "EXPORT_RDY"},
+    {"bits": [9, 9], "name": "EXECZ"},
+    {"bits": [10, 10], "name": "VCCZ"},
+    {"bits": [11, 11], "name": "IN_TG"},
+    {"bits": [12, 12], "name": "IN_BARRIER"},
+    {"bits": [13, 13], "name": "HALT"},
+    {"bits": [14, 14], "name": "TRAP"},
+    {"bits": [15, 15], "name": "TTRACE_CU_EN"},
+    {"bits": [16, 16], "name": "VALID"},
+    {"bits": [17, 17], "name": "ECC_ERR"},
+    {"bits": [18, 18], "name": "SKIP_EXPORT"},
+    {"bits": [19, 19], "name": "PERF_EN"},
+    {"bits": [20, 20], "name": "COND_DBG_USER"},
+    {"bits": [21, 21], "name": "COND_DBG_SYS"},
+    {"bits": [22, 22], "name": "ALLOW_REPLAY"},
+    {"bits": [23, 23], "name": "INST_ATC"},
+    {"bits": [27, 27], "name": "MUST_EXPORT"}
+   ]
+  },
+  "SQ_WAVE_IB_STS_cik_vi": {
+   "fields": [
+    {"bits": [0, 3], "name": "VM_CNT"},
+    {"bits": [4, 6], "name": "EXP_CNT"},
+    {"bits": [8, 11], "name": "LGKM_CNT"},
+    {"bits": [12, 14], "name": "VALU_CNT"},
+    {"bits": [15, 15], "name": "FIRST_REPLAY_vi"},
+    {"bits": [16, 19], "name": "RCNT_vi"}
+   ]
+  },
+  "SQ_WAVE_HW_ID_cik_vi": {
+   "fields": [
+    {"bits": [0, 3], "name": "WAVE_ID"},
+    {"bits": [4, 5], "name": "SIMD_ID"},
+    {"bits": [6, 7], "name": "PIPE_ID"},
+    {"bits": [8, 11], "name": "CU_ID"},
+    {"bits": [12, 12], "name": "SH_ID"},
+    {"bits": [13, 14], "name": "SE_ID"},
+    {"bits": [16, 19], "name": "TG_ID"},
+    {"bits": [20, 23], "name": "VM_ID"},
+    {"bits": [24, 26], "name": "QUEUE_ID"},
+    {"bits": [27, 29], "name": "STATE_ID"},
+    {"bits": [30, 31], "name": "ME_ID"}
+   ]
   }
  }
 }