freedreno: a2xx: fix crash when freeing context
[mesa.git] / src / gallium / drivers / freedreno / adreno_pm4.xml.h
index 99404e8c0c94f9bf1ce8460c94ac800c90006a55..08f8ff2682893fa9e2af314fd30784b673d72dcc 100644 (file)
@@ -8,17 +8,19 @@ http://github.com/freedreno/envytools/
 git clone https://github.com/freedreno/envytools.git
 
 The rules-ng-ng source files this header was generated from are:
-- /home/robclark/src/freedreno/envytools/rnndb/adreno.xml               (    431 bytes, from 2017-05-17 13:21:27)
-- /home/robclark/src/freedreno/envytools/rnndb/freedreno_copyright.xml  (   1572 bytes, from 2017-05-17 13:21:27)
-- /home/robclark/src/freedreno/envytools/rnndb/adreno/a2xx.xml          (  37162 bytes, from 2017-05-17 13:21:27)
-- /home/robclark/src/freedreno/envytools/rnndb/adreno/adreno_common.xml (  13324 bytes, from 2017-05-17 13:21:27)
-- /home/robclark/src/freedreno/envytools/rnndb/adreno/adreno_pm4.xml    (  33379 bytes, from 2017-11-14 21:00:47)
-- /home/robclark/src/freedreno/envytools/rnndb/adreno/a3xx.xml          (  83840 bytes, from 2017-05-17 13:21:27)
-- /home/robclark/src/freedreno/envytools/rnndb/adreno/a4xx.xml          ( 111898 bytes, from 2017-06-06 18:23:59)
-- /home/robclark/src/freedreno/envytools/rnndb/adreno/a5xx.xml          ( 143420 bytes, from 2017-11-16 20:29:34)
-- /home/robclark/src/freedreno/envytools/rnndb/adreno/ocmem.xml         (   1773 bytes, from 2017-05-17 13:21:27)
-
-Copyright (C) 2013-2017 by the following authors:
+- /home/robclark/src/freedreno/envytools/rnndb/adreno.xml               (    501 bytes, from 2018-01-31 18:26:32)
+- /home/robclark/src/freedreno/envytools/rnndb/freedreno_copyright.xml  (   1572 bytes, from 2018-01-08 14:56:24)
+- /home/robclark/src/freedreno/envytools/rnndb/adreno/a2xx.xml          (  36805 bytes, from 2018-05-20 19:03:35)
+- /home/robclark/src/freedreno/envytools/rnndb/adreno/adreno_common.xml (  13634 bytes, from 2018-06-10 17:35:36)
+- /home/robclark/src/freedreno/envytools/rnndb/adreno/adreno_pm4.xml    (  41584 bytes, from 2018-06-18 14:25:44)
+- /home/robclark/src/freedreno/envytools/rnndb/adreno/a3xx.xml          (  83840 bytes, from 2018-01-10 16:21:40)
+- /home/robclark/src/freedreno/envytools/rnndb/adreno/a4xx.xml          ( 112086 bytes, from 2018-01-08 14:56:24)
+- /home/robclark/src/freedreno/envytools/rnndb/adreno/a5xx.xml          ( 147158 bytes, from 2018-06-18 14:25:44)
+- /home/robclark/src/freedreno/envytools/rnndb/adreno/a6xx.xml          (  88437 bytes, from 2018-06-18 14:25:44)
+- /home/robclark/src/freedreno/envytools/rnndb/adreno/a6xx_gmu.xml      (  10431 bytes, from 2018-06-10 17:37:04)
+- /home/robclark/src/freedreno/envytools/rnndb/adreno/ocmem.xml         (   1773 bytes, from 2018-01-08 14:56:24)
+
+Copyright (C) 2013-2018 by the following authors:
 - Rob Clark <robdclark@gmail.com> (robclark)
 - Ilia Mirkin <imirkin@alum.mit.edu> (imirkin)
 
@@ -71,7 +73,8 @@ enum vgt_event_type {
        FLUSH_SO_1 = 18,
        FLUSH_SO_2 = 19,
        FLUSH_SO_3 = 20,
-       UNK_19 = 25,
+       PC_CCU_INVALIDATE_DEPTH = 24,
+       PC_CCU_INVALIDATE_COLOR = 25,
        UNK_1C = 28,
        UNK_1D = 29,
        BLIT = 30,
@@ -203,6 +206,8 @@ enum adreno_pm4_type3_packets {
        CP_EXEC_CS = 51,
        CP_PERFCOUNTER_ACTION = 80,
        CP_SMMU_TABLE_UPDATE = 83,
+       CP_SET_MARKER = 101,
+       CP_SET_PSEUDO_REG = 86,
        CP_CONTEXT_REG_BUNCH = 92,
        CP_YIELD_ENABLE = 28,
        CP_SKIP_IB2_ENABLE_GLOBAL = 29,
@@ -216,7 +221,7 @@ enum adreno_pm4_type3_packets {
        CP_COMPUTE_CHECKPOINT = 110,
        CP_MEM_TO_MEM = 115,
        CP_BLIT = 44,
-       CP_UNK_39 = 57,
+       CP_REG_TEST = 57,
        IN_IB_PREFETCH_END = 23,
        IN_SUBBLK_PREFETCH = 31,
        IN_INSTR_PREFETCH = 32,
@@ -225,6 +230,7 @@ enum adreno_pm4_type3_packets {
        IN_INCR_UPDT_STATE = 85,
        IN_INCR_UPDT_CONST = 86,
        IN_INCR_UPDT_INSTR = 87,
+       PKT4 = 4,
 };
 
 enum adreno_state_block {
@@ -301,6 +307,7 @@ enum render_mode_cmd {
        GMEM = 3,
        BLIT2D = 5,
        BLIT2DSCALE = 7,
+       END2D = 8,
 };
 
 enum cp_blit_cmd {
@@ -351,7 +358,7 @@ static inline uint32_t CP_LOAD_STATE_1_EXT_SRC_ADDR(uint32_t val)
 }
 
 #define REG_CP_LOAD_STATE4_0                                   0x00000000
-#define CP_LOAD_STATE4_0_DST_OFF__MASK                         0x0000ffff
+#define CP_LOAD_STATE4_0_DST_OFF__MASK                         0x00003fff
 #define CP_LOAD_STATE4_0_DST_OFF__SHIFT                                0
 static inline uint32_t CP_LOAD_STATE4_0_DST_OFF(uint32_t val)
 {
@@ -583,124 +590,151 @@ static inline uint32_t CP_DRAW_INDX_OFFSET_5_INDX_SIZE(uint32_t val)
        return ((val) << CP_DRAW_INDX_OFFSET_5_INDX_SIZE__SHIFT) & CP_DRAW_INDX_OFFSET_5_INDX_SIZE__MASK;
 }
 
-#define REG_CP_DRAW_INDIRECT_0                                 0x00000000
-#define CP_DRAW_INDIRECT_0_PRIM_TYPE__MASK                     0x0000003f
-#define CP_DRAW_INDIRECT_0_PRIM_TYPE__SHIFT                    0
-static inline uint32_t CP_DRAW_INDIRECT_0_PRIM_TYPE(enum pc_di_primtype val)
+#define REG_A4XX_CP_DRAW_INDIRECT_0                            0x00000000
+#define A4XX_CP_DRAW_INDIRECT_0_PRIM_TYPE__MASK                        0x0000003f
+#define A4XX_CP_DRAW_INDIRECT_0_PRIM_TYPE__SHIFT               0
+static inline uint32_t A4XX_CP_DRAW_INDIRECT_0_PRIM_TYPE(enum pc_di_primtype val)
 {
-       return ((val) << CP_DRAW_INDIRECT_0_PRIM_TYPE__SHIFT) & CP_DRAW_INDIRECT_0_PRIM_TYPE__MASK;
+       return ((val) << A4XX_CP_DRAW_INDIRECT_0_PRIM_TYPE__SHIFT) & A4XX_CP_DRAW_INDIRECT_0_PRIM_TYPE__MASK;
 }
-#define CP_DRAW_INDIRECT_0_SOURCE_SELECT__MASK                 0x000000c0
-#define CP_DRAW_INDIRECT_0_SOURCE_SELECT__SHIFT                        6
-static inline uint32_t CP_DRAW_INDIRECT_0_SOURCE_SELECT(enum pc_di_src_sel val)
+#define A4XX_CP_DRAW_INDIRECT_0_SOURCE_SELECT__MASK            0x000000c0
+#define A4XX_CP_DRAW_INDIRECT_0_SOURCE_SELECT__SHIFT           6
+static inline uint32_t A4XX_CP_DRAW_INDIRECT_0_SOURCE_SELECT(enum pc_di_src_sel val)
 {
-       return ((val) << CP_DRAW_INDIRECT_0_SOURCE_SELECT__SHIFT) & CP_DRAW_INDIRECT_0_SOURCE_SELECT__MASK;
+       return ((val) << A4XX_CP_DRAW_INDIRECT_0_SOURCE_SELECT__SHIFT) & A4XX_CP_DRAW_INDIRECT_0_SOURCE_SELECT__MASK;
 }
-#define CP_DRAW_INDIRECT_0_VIS_CULL__MASK                      0x00000300
-#define CP_DRAW_INDIRECT_0_VIS_CULL__SHIFT                     8
-static inline uint32_t CP_DRAW_INDIRECT_0_VIS_CULL(enum pc_di_vis_cull_mode val)
+#define A4XX_CP_DRAW_INDIRECT_0_VIS_CULL__MASK                 0x00000300
+#define A4XX_CP_DRAW_INDIRECT_0_VIS_CULL__SHIFT                        8
+static inline uint32_t A4XX_CP_DRAW_INDIRECT_0_VIS_CULL(enum pc_di_vis_cull_mode val)
 {
-       return ((val) << CP_DRAW_INDIRECT_0_VIS_CULL__SHIFT) & CP_DRAW_INDIRECT_0_VIS_CULL__MASK;
+       return ((val) << A4XX_CP_DRAW_INDIRECT_0_VIS_CULL__SHIFT) & A4XX_CP_DRAW_INDIRECT_0_VIS_CULL__MASK;
 }
-#define CP_DRAW_INDIRECT_0_INDEX_SIZE__MASK                    0x00000c00
-#define CP_DRAW_INDIRECT_0_INDEX_SIZE__SHIFT                   10
-static inline uint32_t CP_DRAW_INDIRECT_0_INDEX_SIZE(enum a4xx_index_size val)
+#define A4XX_CP_DRAW_INDIRECT_0_INDEX_SIZE__MASK               0x00000c00
+#define A4XX_CP_DRAW_INDIRECT_0_INDEX_SIZE__SHIFT              10
+static inline uint32_t A4XX_CP_DRAW_INDIRECT_0_INDEX_SIZE(enum a4xx_index_size val)
 {
-       return ((val) << CP_DRAW_INDIRECT_0_INDEX_SIZE__SHIFT) & CP_DRAW_INDIRECT_0_INDEX_SIZE__MASK;
+       return ((val) << A4XX_CP_DRAW_INDIRECT_0_INDEX_SIZE__SHIFT) & A4XX_CP_DRAW_INDIRECT_0_INDEX_SIZE__MASK;
 }
-#define CP_DRAW_INDIRECT_0_TESS_MODE__MASK                     0x01f00000
-#define CP_DRAW_INDIRECT_0_TESS_MODE__SHIFT                    20
-static inline uint32_t CP_DRAW_INDIRECT_0_TESS_MODE(uint32_t val)
+#define A4XX_CP_DRAW_INDIRECT_0_TESS_MODE__MASK                        0x01f00000
+#define A4XX_CP_DRAW_INDIRECT_0_TESS_MODE__SHIFT               20
+static inline uint32_t A4XX_CP_DRAW_INDIRECT_0_TESS_MODE(uint32_t val)
 {
-       return ((val) << CP_DRAW_INDIRECT_0_TESS_MODE__SHIFT) & CP_DRAW_INDIRECT_0_TESS_MODE__MASK;
+       return ((val) << A4XX_CP_DRAW_INDIRECT_0_TESS_MODE__SHIFT) & A4XX_CP_DRAW_INDIRECT_0_TESS_MODE__MASK;
 }
 
-#define REG_CP_DRAW_INDIRECT_1                                 0x00000001
-#define CP_DRAW_INDIRECT_1_INDIRECT_LO__MASK                   0xffffffff
-#define CP_DRAW_INDIRECT_1_INDIRECT_LO__SHIFT                  0
-static inline uint32_t CP_DRAW_INDIRECT_1_INDIRECT_LO(uint32_t val)
+#define REG_A4XX_CP_DRAW_INDIRECT_1                            0x00000001
+#define A4XX_CP_DRAW_INDIRECT_1_INDIRECT__MASK                 0xffffffff
+#define A4XX_CP_DRAW_INDIRECT_1_INDIRECT__SHIFT                        0
+static inline uint32_t A4XX_CP_DRAW_INDIRECT_1_INDIRECT(uint32_t val)
 {
-       return ((val) << CP_DRAW_INDIRECT_1_INDIRECT_LO__SHIFT) & CP_DRAW_INDIRECT_1_INDIRECT_LO__MASK;
+       return ((val) << A4XX_CP_DRAW_INDIRECT_1_INDIRECT__SHIFT) & A4XX_CP_DRAW_INDIRECT_1_INDIRECT__MASK;
 }
 
-#define REG_CP_DRAW_INDIRECT_2                                 0x00000002
-#define CP_DRAW_INDIRECT_2_INDIRECT_HI__MASK                   0xffffffff
-#define CP_DRAW_INDIRECT_2_INDIRECT_HI__SHIFT                  0
-static inline uint32_t CP_DRAW_INDIRECT_2_INDIRECT_HI(uint32_t val)
+
+#define REG_A5XX_CP_DRAW_INDIRECT_2                            0x00000002
+#define A5XX_CP_DRAW_INDIRECT_2_INDIRECT_HI__MASK              0xffffffff
+#define A5XX_CP_DRAW_INDIRECT_2_INDIRECT_HI__SHIFT             0
+static inline uint32_t A5XX_CP_DRAW_INDIRECT_2_INDIRECT_HI(uint32_t val)
 {
-       return ((val) << CP_DRAW_INDIRECT_2_INDIRECT_HI__SHIFT) & CP_DRAW_INDIRECT_2_INDIRECT_HI__MASK;
+       return ((val) << A5XX_CP_DRAW_INDIRECT_2_INDIRECT_HI__SHIFT) & A5XX_CP_DRAW_INDIRECT_2_INDIRECT_HI__MASK;
 }
 
-#define REG_CP_DRAW_INDX_INDIRECT_0                            0x00000000
-#define CP_DRAW_INDX_INDIRECT_0_PRIM_TYPE__MASK                        0x0000003f
-#define CP_DRAW_INDX_INDIRECT_0_PRIM_TYPE__SHIFT               0
-static inline uint32_t CP_DRAW_INDX_INDIRECT_0_PRIM_TYPE(enum pc_di_primtype val)
+#define REG_A4XX_CP_DRAW_INDX_INDIRECT_0                       0x00000000
+#define A4XX_CP_DRAW_INDX_INDIRECT_0_PRIM_TYPE__MASK           0x0000003f
+#define A4XX_CP_DRAW_INDX_INDIRECT_0_PRIM_TYPE__SHIFT          0
+static inline uint32_t A4XX_CP_DRAW_INDX_INDIRECT_0_PRIM_TYPE(enum pc_di_primtype val)
+{
+       return ((val) << A4XX_CP_DRAW_INDX_INDIRECT_0_PRIM_TYPE__SHIFT) & A4XX_CP_DRAW_INDX_INDIRECT_0_PRIM_TYPE__MASK;
+}
+#define A4XX_CP_DRAW_INDX_INDIRECT_0_SOURCE_SELECT__MASK       0x000000c0
+#define A4XX_CP_DRAW_INDX_INDIRECT_0_SOURCE_SELECT__SHIFT      6
+static inline uint32_t A4XX_CP_DRAW_INDX_INDIRECT_0_SOURCE_SELECT(enum pc_di_src_sel val)
 {
-       return ((val) << CP_DRAW_INDX_INDIRECT_0_PRIM_TYPE__SHIFT) & CP_DRAW_INDX_INDIRECT_0_PRIM_TYPE__MASK;
+       return ((val) << A4XX_CP_DRAW_INDX_INDIRECT_0_SOURCE_SELECT__SHIFT) & A4XX_CP_DRAW_INDX_INDIRECT_0_SOURCE_SELECT__MASK;
 }
-#define CP_DRAW_INDX_INDIRECT_0_SOURCE_SELECT__MASK            0x000000c0
-#define CP_DRAW_INDX_INDIRECT_0_SOURCE_SELECT__SHIFT           6
-static inline uint32_t CP_DRAW_INDX_INDIRECT_0_SOURCE_SELECT(enum pc_di_src_sel val)
+#define A4XX_CP_DRAW_INDX_INDIRECT_0_VIS_CULL__MASK            0x00000300
+#define A4XX_CP_DRAW_INDX_INDIRECT_0_VIS_CULL__SHIFT           8
+static inline uint32_t A4XX_CP_DRAW_INDX_INDIRECT_0_VIS_CULL(enum pc_di_vis_cull_mode val)
 {
-       return ((val) << CP_DRAW_INDX_INDIRECT_0_SOURCE_SELECT__SHIFT) & CP_DRAW_INDX_INDIRECT_0_SOURCE_SELECT__MASK;
+       return ((val) << A4XX_CP_DRAW_INDX_INDIRECT_0_VIS_CULL__SHIFT) & A4XX_CP_DRAW_INDX_INDIRECT_0_VIS_CULL__MASK;
 }
-#define CP_DRAW_INDX_INDIRECT_0_VIS_CULL__MASK                 0x00000300
-#define CP_DRAW_INDX_INDIRECT_0_VIS_CULL__SHIFT                        8
-static inline uint32_t CP_DRAW_INDX_INDIRECT_0_VIS_CULL(enum pc_di_vis_cull_mode val)
+#define A4XX_CP_DRAW_INDX_INDIRECT_0_INDEX_SIZE__MASK          0x00000c00
+#define A4XX_CP_DRAW_INDX_INDIRECT_0_INDEX_SIZE__SHIFT         10
+static inline uint32_t A4XX_CP_DRAW_INDX_INDIRECT_0_INDEX_SIZE(enum a4xx_index_size val)
 {
-       return ((val) << CP_DRAW_INDX_INDIRECT_0_VIS_CULL__SHIFT) & CP_DRAW_INDX_INDIRECT_0_VIS_CULL__MASK;
+       return ((val) << A4XX_CP_DRAW_INDX_INDIRECT_0_INDEX_SIZE__SHIFT) & A4XX_CP_DRAW_INDX_INDIRECT_0_INDEX_SIZE__MASK;
 }
-#define CP_DRAW_INDX_INDIRECT_0_INDEX_SIZE__MASK               0x00000c00
-#define CP_DRAW_INDX_INDIRECT_0_INDEX_SIZE__SHIFT              10
-static inline uint32_t CP_DRAW_INDX_INDIRECT_0_INDEX_SIZE(enum a4xx_index_size val)
+#define A4XX_CP_DRAW_INDX_INDIRECT_0_TESS_MODE__MASK           0x01f00000
+#define A4XX_CP_DRAW_INDX_INDIRECT_0_TESS_MODE__SHIFT          20
+static inline uint32_t A4XX_CP_DRAW_INDX_INDIRECT_0_TESS_MODE(uint32_t val)
 {
-       return ((val) << CP_DRAW_INDX_INDIRECT_0_INDEX_SIZE__SHIFT) & CP_DRAW_INDX_INDIRECT_0_INDEX_SIZE__MASK;
+       return ((val) << A4XX_CP_DRAW_INDX_INDIRECT_0_TESS_MODE__SHIFT) & A4XX_CP_DRAW_INDX_INDIRECT_0_TESS_MODE__MASK;
 }
-#define CP_DRAW_INDX_INDIRECT_0_TESS_MODE__MASK                        0x01f00000
-#define CP_DRAW_INDX_INDIRECT_0_TESS_MODE__SHIFT               20
-static inline uint32_t CP_DRAW_INDX_INDIRECT_0_TESS_MODE(uint32_t val)
+
+
+#define REG_A4XX_CP_DRAW_INDX_INDIRECT_1                       0x00000001
+#define A4XX_CP_DRAW_INDX_INDIRECT_1_INDX_BASE__MASK           0xffffffff
+#define A4XX_CP_DRAW_INDX_INDIRECT_1_INDX_BASE__SHIFT          0
+static inline uint32_t A4XX_CP_DRAW_INDX_INDIRECT_1_INDX_BASE(uint32_t val)
 {
-       return ((val) << CP_DRAW_INDX_INDIRECT_0_TESS_MODE__SHIFT) & CP_DRAW_INDX_INDIRECT_0_TESS_MODE__MASK;
+       return ((val) << A4XX_CP_DRAW_INDX_INDIRECT_1_INDX_BASE__SHIFT) & A4XX_CP_DRAW_INDX_INDIRECT_1_INDX_BASE__MASK;
 }
 
-#define REG_CP_DRAW_INDX_INDIRECT_1                            0x00000001
-#define CP_DRAW_INDX_INDIRECT_1_INDX_BASE_LO__MASK             0xffffffff
-#define CP_DRAW_INDX_INDIRECT_1_INDX_BASE_LO__SHIFT            0
-static inline uint32_t CP_DRAW_INDX_INDIRECT_1_INDX_BASE_LO(uint32_t val)
+#define REG_A4XX_CP_DRAW_INDX_INDIRECT_2                       0x00000002
+#define A4XX_CP_DRAW_INDX_INDIRECT_2_INDX_SIZE__MASK           0xffffffff
+#define A4XX_CP_DRAW_INDX_INDIRECT_2_INDX_SIZE__SHIFT          0
+static inline uint32_t A4XX_CP_DRAW_INDX_INDIRECT_2_INDX_SIZE(uint32_t val)
 {
-       return ((val) << CP_DRAW_INDX_INDIRECT_1_INDX_BASE_LO__SHIFT) & CP_DRAW_INDX_INDIRECT_1_INDX_BASE_LO__MASK;
+       return ((val) << A4XX_CP_DRAW_INDX_INDIRECT_2_INDX_SIZE__SHIFT) & A4XX_CP_DRAW_INDX_INDIRECT_2_INDX_SIZE__MASK;
 }
 
-#define REG_CP_DRAW_INDX_INDIRECT_2                            0x00000002
-#define CP_DRAW_INDX_INDIRECT_2_INDX_BASE_HI__MASK             0xffffffff
-#define CP_DRAW_INDX_INDIRECT_2_INDX_BASE_HI__SHIFT            0
-static inline uint32_t CP_DRAW_INDX_INDIRECT_2_INDX_BASE_HI(uint32_t val)
+#define REG_A4XX_CP_DRAW_INDX_INDIRECT_3                       0x00000003
+#define A4XX_CP_DRAW_INDX_INDIRECT_3_INDIRECT__MASK            0xffffffff
+#define A4XX_CP_DRAW_INDX_INDIRECT_3_INDIRECT__SHIFT           0
+static inline uint32_t A4XX_CP_DRAW_INDX_INDIRECT_3_INDIRECT(uint32_t val)
 {
-       return ((val) << CP_DRAW_INDX_INDIRECT_2_INDX_BASE_HI__SHIFT) & CP_DRAW_INDX_INDIRECT_2_INDX_BASE_HI__MASK;
+       return ((val) << A4XX_CP_DRAW_INDX_INDIRECT_3_INDIRECT__SHIFT) & A4XX_CP_DRAW_INDX_INDIRECT_3_INDIRECT__MASK;
 }
 
-#define REG_CP_DRAW_INDX_INDIRECT_3                            0x00000003
-#define CP_DRAW_INDX_INDIRECT_3_MAX_INDICES__MASK              0xffffffff
-#define CP_DRAW_INDX_INDIRECT_3_MAX_INDICES__SHIFT             0
-static inline uint32_t CP_DRAW_INDX_INDIRECT_3_MAX_INDICES(uint32_t val)
+
+#define REG_A5XX_CP_DRAW_INDX_INDIRECT_1                       0x00000001
+#define A5XX_CP_DRAW_INDX_INDIRECT_1_INDX_BASE_LO__MASK                0xffffffff
+#define A5XX_CP_DRAW_INDX_INDIRECT_1_INDX_BASE_LO__SHIFT       0
+static inline uint32_t A5XX_CP_DRAW_INDX_INDIRECT_1_INDX_BASE_LO(uint32_t val)
 {
-       return ((val) << CP_DRAW_INDX_INDIRECT_3_MAX_INDICES__SHIFT) & CP_DRAW_INDX_INDIRECT_3_MAX_INDICES__MASK;
+       return ((val) << A5XX_CP_DRAW_INDX_INDIRECT_1_INDX_BASE_LO__SHIFT) & A5XX_CP_DRAW_INDX_INDIRECT_1_INDX_BASE_LO__MASK;
 }
 
-#define REG_CP_DRAW_INDX_INDIRECT_4                            0x00000004
-#define CP_DRAW_INDX_INDIRECT_4_INDIRECT_LO__MASK              0xffffffff
-#define CP_DRAW_INDX_INDIRECT_4_INDIRECT_LO__SHIFT             0
-static inline uint32_t CP_DRAW_INDX_INDIRECT_4_INDIRECT_LO(uint32_t val)
+#define REG_A5XX_CP_DRAW_INDX_INDIRECT_2                       0x00000002
+#define A5XX_CP_DRAW_INDX_INDIRECT_2_INDX_BASE_HI__MASK                0xffffffff
+#define A5XX_CP_DRAW_INDX_INDIRECT_2_INDX_BASE_HI__SHIFT       0
+static inline uint32_t A5XX_CP_DRAW_INDX_INDIRECT_2_INDX_BASE_HI(uint32_t val)
 {
-       return ((val) << CP_DRAW_INDX_INDIRECT_4_INDIRECT_LO__SHIFT) & CP_DRAW_INDX_INDIRECT_4_INDIRECT_LO__MASK;
+       return ((val) << A5XX_CP_DRAW_INDX_INDIRECT_2_INDX_BASE_HI__SHIFT) & A5XX_CP_DRAW_INDX_INDIRECT_2_INDX_BASE_HI__MASK;
 }
 
-#define REG_CP_DRAW_INDX_INDIRECT_5                            0x00000005
-#define CP_DRAW_INDX_INDIRECT_5_INDIRECT_HI__MASK              0xffffffff
-#define CP_DRAW_INDX_INDIRECT_5_INDIRECT_HI__SHIFT             0
-static inline uint32_t CP_DRAW_INDX_INDIRECT_5_INDIRECT_HI(uint32_t val)
+#define REG_A5XX_CP_DRAW_INDX_INDIRECT_3                       0x00000003
+#define A5XX_CP_DRAW_INDX_INDIRECT_3_MAX_INDICES__MASK         0xffffffff
+#define A5XX_CP_DRAW_INDX_INDIRECT_3_MAX_INDICES__SHIFT                0
+static inline uint32_t A5XX_CP_DRAW_INDX_INDIRECT_3_MAX_INDICES(uint32_t val)
 {
-       return ((val) << CP_DRAW_INDX_INDIRECT_5_INDIRECT_HI__SHIFT) & CP_DRAW_INDX_INDIRECT_5_INDIRECT_HI__MASK;
+       return ((val) << A5XX_CP_DRAW_INDX_INDIRECT_3_MAX_INDICES__SHIFT) & A5XX_CP_DRAW_INDX_INDIRECT_3_MAX_INDICES__MASK;
+}
+
+#define REG_A5XX_CP_DRAW_INDX_INDIRECT_4                       0x00000004
+#define A5XX_CP_DRAW_INDX_INDIRECT_4_INDIRECT_LO__MASK         0xffffffff
+#define A5XX_CP_DRAW_INDX_INDIRECT_4_INDIRECT_LO__SHIFT                0
+static inline uint32_t A5XX_CP_DRAW_INDX_INDIRECT_4_INDIRECT_LO(uint32_t val)
+{
+       return ((val) << A5XX_CP_DRAW_INDX_INDIRECT_4_INDIRECT_LO__SHIFT) & A5XX_CP_DRAW_INDX_INDIRECT_4_INDIRECT_LO__MASK;
+}
+
+#define REG_A5XX_CP_DRAW_INDX_INDIRECT_5                       0x00000005
+#define A5XX_CP_DRAW_INDX_INDIRECT_5_INDIRECT_HI__MASK         0xffffffff
+#define A5XX_CP_DRAW_INDX_INDIRECT_5_INDIRECT_HI__SHIFT                0
+static inline uint32_t A5XX_CP_DRAW_INDX_INDIRECT_5_INDIRECT_HI(uint32_t val)
+{
+       return ((val) << A5XX_CP_DRAW_INDX_INDIRECT_5_INDIRECT_HI__SHIFT) & A5XX_CP_DRAW_INDX_INDIRECT_5_INDIRECT_HI__MASK;
 }
 
 static inline uint32_t REG_CP_SET_DRAW_STATE_(uint32_t i0) { return 0x00000000 + 0x3*i0; }
@@ -1076,15 +1110,15 @@ static inline uint32_t CP_COMPUTE_CHECKPOINT_1_ADDR_0_HI(uint32_t val)
 #define REG_CP_COMPUTE_CHECKPOINT_2                            0x00000002
 
 #define REG_CP_COMPUTE_CHECKPOINT_3                            0x00000003
-
-#define REG_CP_COMPUTE_CHECKPOINT_4                            0x00000004
-#define CP_COMPUTE_CHECKPOINT_4_ADDR_1_LEN__MASK               0xffffffff
-#define CP_COMPUTE_CHECKPOINT_4_ADDR_1_LEN__SHIFT              0
-static inline uint32_t CP_COMPUTE_CHECKPOINT_4_ADDR_1_LEN(uint32_t val)
+#define CP_COMPUTE_CHECKPOINT_3_ADDR_1_LEN__MASK               0xffffffff
+#define CP_COMPUTE_CHECKPOINT_3_ADDR_1_LEN__SHIFT              0
+static inline uint32_t CP_COMPUTE_CHECKPOINT_3_ADDR_1_LEN(uint32_t val)
 {
-       return ((val) << CP_COMPUTE_CHECKPOINT_4_ADDR_1_LEN__SHIFT) & CP_COMPUTE_CHECKPOINT_4_ADDR_1_LEN__MASK;
+       return ((val) << CP_COMPUTE_CHECKPOINT_3_ADDR_1_LEN__SHIFT) & CP_COMPUTE_CHECKPOINT_3_ADDR_1_LEN__MASK;
 }
 
+#define REG_CP_COMPUTE_CHECKPOINT_4                            0x00000004
+
 #define REG_CP_COMPUTE_CHECKPOINT_5                            0x00000005
 #define CP_COMPUTE_CHECKPOINT_5_ADDR_1_LO__MASK                        0xffffffff
 #define CP_COMPUTE_CHECKPOINT_5_ADDR_1_LO__SHIFT               0
@@ -1101,6 +1135,8 @@ static inline uint32_t CP_COMPUTE_CHECKPOINT_6_ADDR_1_HI(uint32_t val)
        return ((val) << CP_COMPUTE_CHECKPOINT_6_ADDR_1_HI__SHIFT) & CP_COMPUTE_CHECKPOINT_6_ADDR_1_HI__MASK;
 }
 
+#define REG_CP_COMPUTE_CHECKPOINT_7                            0x00000007
+
 #define REG_CP_PERFCOUNTER_ACTION_0                            0x00000000
 
 #define REG_CP_PERFCOUNTER_ACTION_1                            0x00000001
@@ -1155,13 +1191,13 @@ static inline uint32_t CP_BLIT_0_OP(enum cp_blit_cmd val)
 }
 
 #define REG_CP_BLIT_1                                          0x00000001
-#define CP_BLIT_1_SRC_X1__MASK                                 0x0000ffff
+#define CP_BLIT_1_SRC_X1__MASK                                 0x00003fff
 #define CP_BLIT_1_SRC_X1__SHIFT                                        0
 static inline uint32_t CP_BLIT_1_SRC_X1(uint32_t val)
 {
        return ((val) << CP_BLIT_1_SRC_X1__SHIFT) & CP_BLIT_1_SRC_X1__MASK;
 }
-#define CP_BLIT_1_SRC_Y1__MASK                                 0xffff0000
+#define CP_BLIT_1_SRC_Y1__MASK                                 0x3fff0000
 #define CP_BLIT_1_SRC_Y1__SHIFT                                        16
 static inline uint32_t CP_BLIT_1_SRC_Y1(uint32_t val)
 {
@@ -1169,13 +1205,13 @@ static inline uint32_t CP_BLIT_1_SRC_Y1(uint32_t val)
 }
 
 #define REG_CP_BLIT_2                                          0x00000002
-#define CP_BLIT_2_SRC_X2__MASK                                 0x0000ffff
+#define CP_BLIT_2_SRC_X2__MASK                                 0x00003fff
 #define CP_BLIT_2_SRC_X2__SHIFT                                        0
 static inline uint32_t CP_BLIT_2_SRC_X2(uint32_t val)
 {
        return ((val) << CP_BLIT_2_SRC_X2__SHIFT) & CP_BLIT_2_SRC_X2__MASK;
 }
-#define CP_BLIT_2_SRC_Y2__MASK                                 0xffff0000
+#define CP_BLIT_2_SRC_Y2__MASK                                 0x3fff0000
 #define CP_BLIT_2_SRC_Y2__SHIFT                                        16
 static inline uint32_t CP_BLIT_2_SRC_Y2(uint32_t val)
 {
@@ -1183,13 +1219,13 @@ static inline uint32_t CP_BLIT_2_SRC_Y2(uint32_t val)
 }
 
 #define REG_CP_BLIT_3                                          0x00000003
-#define CP_BLIT_3_DST_X1__MASK                                 0x0000ffff
+#define CP_BLIT_3_DST_X1__MASK                                 0x00003fff
 #define CP_BLIT_3_DST_X1__SHIFT                                        0
 static inline uint32_t CP_BLIT_3_DST_X1(uint32_t val)
 {
        return ((val) << CP_BLIT_3_DST_X1__SHIFT) & CP_BLIT_3_DST_X1__MASK;
 }
-#define CP_BLIT_3_DST_Y1__MASK                                 0xffff0000
+#define CP_BLIT_3_DST_Y1__MASK                                 0x3fff0000
 #define CP_BLIT_3_DST_Y1__SHIFT                                        16
 static inline uint32_t CP_BLIT_3_DST_Y1(uint32_t val)
 {
@@ -1197,13 +1233,13 @@ static inline uint32_t CP_BLIT_3_DST_Y1(uint32_t val)
 }
 
 #define REG_CP_BLIT_4                                          0x00000004
-#define CP_BLIT_4_DST_X2__MASK                                 0x0000ffff
+#define CP_BLIT_4_DST_X2__MASK                                 0x00003fff
 #define CP_BLIT_4_DST_X2__SHIFT                                        0
 static inline uint32_t CP_BLIT_4_DST_X2(uint32_t val)
 {
        return ((val) << CP_BLIT_4_DST_X2__SHIFT) & CP_BLIT_4_DST_X2__MASK;
 }
-#define CP_BLIT_4_DST_Y2__MASK                                 0xffff0000
+#define CP_BLIT_4_DST_Y2__MASK                                 0x3fff0000
 #define CP_BLIT_4_DST_Y2__SHIFT                                        16
 static inline uint32_t CP_BLIT_4_DST_Y2(uint32_t val)
 {
@@ -1236,42 +1272,72 @@ static inline uint32_t CP_EXEC_CS_3_NGROUPS_Z(uint32_t val)
        return ((val) << CP_EXEC_CS_3_NGROUPS_Z__SHIFT) & CP_EXEC_CS_3_NGROUPS_Z__MASK;
 }
 
-#define REG_CP_EXEC_CS_INDIRECT_0                              0x00000000
+#define REG_A4XX_CP_EXEC_CS_INDIRECT_0                         0x00000000
+
+
+#define REG_A4XX_CP_EXEC_CS_INDIRECT_1                         0x00000001
+#define A4XX_CP_EXEC_CS_INDIRECT_1_ADDR__MASK                  0xffffffff
+#define A4XX_CP_EXEC_CS_INDIRECT_1_ADDR__SHIFT                 0
+static inline uint32_t A4XX_CP_EXEC_CS_INDIRECT_1_ADDR(uint32_t val)
+{
+       return ((val) << A4XX_CP_EXEC_CS_INDIRECT_1_ADDR__SHIFT) & A4XX_CP_EXEC_CS_INDIRECT_1_ADDR__MASK;
+}
+
+#define REG_A4XX_CP_EXEC_CS_INDIRECT_2                         0x00000002
+#define A4XX_CP_EXEC_CS_INDIRECT_2_LOCALSIZEX__MASK            0x00000ffc
+#define A4XX_CP_EXEC_CS_INDIRECT_2_LOCALSIZEX__SHIFT           2
+static inline uint32_t A4XX_CP_EXEC_CS_INDIRECT_2_LOCALSIZEX(uint32_t val)
+{
+       return ((val) << A4XX_CP_EXEC_CS_INDIRECT_2_LOCALSIZEX__SHIFT) & A4XX_CP_EXEC_CS_INDIRECT_2_LOCALSIZEX__MASK;
+}
+#define A4XX_CP_EXEC_CS_INDIRECT_2_LOCALSIZEY__MASK            0x003ff000
+#define A4XX_CP_EXEC_CS_INDIRECT_2_LOCALSIZEY__SHIFT           12
+static inline uint32_t A4XX_CP_EXEC_CS_INDIRECT_2_LOCALSIZEY(uint32_t val)
+{
+       return ((val) << A4XX_CP_EXEC_CS_INDIRECT_2_LOCALSIZEY__SHIFT) & A4XX_CP_EXEC_CS_INDIRECT_2_LOCALSIZEY__MASK;
+}
+#define A4XX_CP_EXEC_CS_INDIRECT_2_LOCALSIZEZ__MASK            0xffc00000
+#define A4XX_CP_EXEC_CS_INDIRECT_2_LOCALSIZEZ__SHIFT           22
+static inline uint32_t A4XX_CP_EXEC_CS_INDIRECT_2_LOCALSIZEZ(uint32_t val)
+{
+       return ((val) << A4XX_CP_EXEC_CS_INDIRECT_2_LOCALSIZEZ__SHIFT) & A4XX_CP_EXEC_CS_INDIRECT_2_LOCALSIZEZ__MASK;
+}
+
 
-#define REG_CP_EXEC_CS_INDIRECT_1                              0x00000001
-#define CP_EXEC_CS_INDIRECT_1_ADDR_LO__MASK                    0xffffffff
-#define CP_EXEC_CS_INDIRECT_1_ADDR_LO__SHIFT                   0
-static inline uint32_t CP_EXEC_CS_INDIRECT_1_ADDR_LO(uint32_t val)
+#define REG_A5XX_CP_EXEC_CS_INDIRECT_1                         0x00000001
+#define A5XX_CP_EXEC_CS_INDIRECT_1_ADDR_LO__MASK               0xffffffff
+#define A5XX_CP_EXEC_CS_INDIRECT_1_ADDR_LO__SHIFT              0
+static inline uint32_t A5XX_CP_EXEC_CS_INDIRECT_1_ADDR_LO(uint32_t val)
 {
-       return ((val) << CP_EXEC_CS_INDIRECT_1_ADDR_LO__SHIFT) & CP_EXEC_CS_INDIRECT_1_ADDR_LO__MASK;
+       return ((val) << A5XX_CP_EXEC_CS_INDIRECT_1_ADDR_LO__SHIFT) & A5XX_CP_EXEC_CS_INDIRECT_1_ADDR_LO__MASK;
 }
 
-#define REG_CP_EXEC_CS_INDIRECT_2                              0x00000002
-#define CP_EXEC_CS_INDIRECT_2_ADDR_HI__MASK                    0xffffffff
-#define CP_EXEC_CS_INDIRECT_2_ADDR_HI__SHIFT                   0
-static inline uint32_t CP_EXEC_CS_INDIRECT_2_ADDR_HI(uint32_t val)
+#define REG_A5XX_CP_EXEC_CS_INDIRECT_2                         0x00000002
+#define A5XX_CP_EXEC_CS_INDIRECT_2_ADDR_HI__MASK               0xffffffff
+#define A5XX_CP_EXEC_CS_INDIRECT_2_ADDR_HI__SHIFT              0
+static inline uint32_t A5XX_CP_EXEC_CS_INDIRECT_2_ADDR_HI(uint32_t val)
 {
-       return ((val) << CP_EXEC_CS_INDIRECT_2_ADDR_HI__SHIFT) & CP_EXEC_CS_INDIRECT_2_ADDR_HI__MASK;
+       return ((val) << A5XX_CP_EXEC_CS_INDIRECT_2_ADDR_HI__SHIFT) & A5XX_CP_EXEC_CS_INDIRECT_2_ADDR_HI__MASK;
 }
 
-#define REG_CP_EXEC_CS_INDIRECT_3                              0x00000003
-#define CP_EXEC_CS_INDIRECT_3_LOCALSIZEX__MASK                 0x00000ffc
-#define CP_EXEC_CS_INDIRECT_3_LOCALSIZEX__SHIFT                        2
-static inline uint32_t CP_EXEC_CS_INDIRECT_3_LOCALSIZEX(uint32_t val)
+#define REG_A5XX_CP_EXEC_CS_INDIRECT_3                         0x00000003
+#define A5XX_CP_EXEC_CS_INDIRECT_3_LOCALSIZEX__MASK            0x00000ffc
+#define A5XX_CP_EXEC_CS_INDIRECT_3_LOCALSIZEX__SHIFT           2
+static inline uint32_t A5XX_CP_EXEC_CS_INDIRECT_3_LOCALSIZEX(uint32_t val)
 {
-       return ((val) << CP_EXEC_CS_INDIRECT_3_LOCALSIZEX__SHIFT) & CP_EXEC_CS_INDIRECT_3_LOCALSIZEX__MASK;
+       return ((val) << A5XX_CP_EXEC_CS_INDIRECT_3_LOCALSIZEX__SHIFT) & A5XX_CP_EXEC_CS_INDIRECT_3_LOCALSIZEX__MASK;
 }
-#define CP_EXEC_CS_INDIRECT_3_LOCALSIZEY__MASK                 0x003ff000
-#define CP_EXEC_CS_INDIRECT_3_LOCALSIZEY__SHIFT                        12
-static inline uint32_t CP_EXEC_CS_INDIRECT_3_LOCALSIZEY(uint32_t val)
+#define A5XX_CP_EXEC_CS_INDIRECT_3_LOCALSIZEY__MASK            0x003ff000
+#define A5XX_CP_EXEC_CS_INDIRECT_3_LOCALSIZEY__SHIFT           12
+static inline uint32_t A5XX_CP_EXEC_CS_INDIRECT_3_LOCALSIZEY(uint32_t val)
 {
-       return ((val) << CP_EXEC_CS_INDIRECT_3_LOCALSIZEY__SHIFT) & CP_EXEC_CS_INDIRECT_3_LOCALSIZEY__MASK;
+       return ((val) << A5XX_CP_EXEC_CS_INDIRECT_3_LOCALSIZEY__SHIFT) & A5XX_CP_EXEC_CS_INDIRECT_3_LOCALSIZEY__MASK;
 }
-#define CP_EXEC_CS_INDIRECT_3_LOCALSIZEZ__MASK                 0xffc00000
-#define CP_EXEC_CS_INDIRECT_3_LOCALSIZEZ__SHIFT                        22
-static inline uint32_t CP_EXEC_CS_INDIRECT_3_LOCALSIZEZ(uint32_t val)
+#define A5XX_CP_EXEC_CS_INDIRECT_3_LOCALSIZEZ__MASK            0xffc00000
+#define A5XX_CP_EXEC_CS_INDIRECT_3_LOCALSIZEZ__SHIFT           22
+static inline uint32_t A5XX_CP_EXEC_CS_INDIRECT_3_LOCALSIZEZ(uint32_t val)
 {
-       return ((val) << CP_EXEC_CS_INDIRECT_3_LOCALSIZEZ__SHIFT) & CP_EXEC_CS_INDIRECT_3_LOCALSIZEZ__MASK;
+       return ((val) << A5XX_CP_EXEC_CS_INDIRECT_3_LOCALSIZEZ__SHIFT) & A5XX_CP_EXEC_CS_INDIRECT_3_LOCALSIZEZ__MASK;
 }