drm/msm: update generated headers
authorRob Clark <robdclark@gmail.com>
Mon, 6 Aug 2018 18:57:14 +0000 (14:57 -0400)
committerRob Clark <robdclark@gmail.com>
Fri, 10 Aug 2018 22:49:18 +0000 (18:49 -0400)
Resync generated headers to pull in a6xx registers.

Signed-off-by: Rob Clark <robdclark@gmail.com>
17 files changed:
drivers/gpu/drm/msm/adreno/a2xx.xml.h
drivers/gpu/drm/msm/adreno/a3xx.xml.h
drivers/gpu/drm/msm/adreno/a4xx.xml.h
drivers/gpu/drm/msm/adreno/a5xx.xml.h
drivers/gpu/drm/msm/adreno/a6xx.xml.h [new file with mode: 0644]
drivers/gpu/drm/msm/adreno/a6xx_gmu.xml.h [new file with mode: 0644]
drivers/gpu/drm/msm/adreno/adreno_common.xml.h
drivers/gpu/drm/msm/adreno/adreno_pm4.xml.h
drivers/gpu/drm/msm/disp/mdp4/mdp4.xml.h
drivers/gpu/drm/msm/disp/mdp5/mdp5.xml.h
drivers/gpu/drm/msm/disp/mdp_common.xml.h
drivers/gpu/drm/msm/dsi/dsi.xml.h
drivers/gpu/drm/msm/dsi/mmss_cc.xml.h
drivers/gpu/drm/msm/dsi/sfpb.xml.h
drivers/gpu/drm/msm/edp/edp.xml.h
drivers/gpu/drm/msm/hdmi/hdmi.xml.h
drivers/gpu/drm/msm/hdmi/qfprom.xml.h

index 644374c7b3e06120278c0db9965c743c504de9c9..4bff0a740c7d41084fd07e70df3f1cdff706f0c8 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    (  31866 bytes, from 2017-06-06 18:26:14)
-- /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          ( 139480 bytes, from 2017-06-16 12:44:39)
-- /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/envytools/rnndb/adreno.xml               (    501 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/freedreno_copyright.xml  (   1572 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/adreno/a2xx.xml          (  36805 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/adreno/adreno_common.xml (  13634 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/adreno/adreno_pm4.xml    (  42393 bytes, from 2018-08-06 18:45:45)
+- /home/robclark/src/envytools/rnndb/adreno/a3xx.xml          (  83840 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/adreno/a4xx.xml          ( 112086 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/adreno/a5xx.xml          ( 147240 bytes, from 2018-08-06 18:45:45)
+- /home/robclark/src/envytools/rnndb/adreno/a6xx.xml          ( 101627 bytes, from 2018-08-06 18:45:45)
+- /home/robclark/src/envytools/rnndb/adreno/a6xx_gmu.xml      (  10431 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/adreno/ocmem.xml         (   1773 bytes, from 2018-07-03 19:37:13)
+
+Copyright (C) 2013-2018 by the following authors:
 - Rob Clark <robdclark@gmail.com> (robclark)
 - Ilia Mirkin <imirkin@alum.mit.edu> (imirkin)
 
@@ -84,13 +86,12 @@ enum a2xx_sq_surfaceformat {
        FMT_5_5_5_1 = 13,
        FMT_8_8_8_8_A = 14,
        FMT_4_4_4_4 = 15,
-       FMT_10_11_11 = 16,
-       FMT_11_11_10 = 17,
+       FMT_8_8_8 = 16,
        FMT_DXT1 = 18,
        FMT_DXT2_3 = 19,
        FMT_DXT4_5 = 20,
+       FMT_10_10_10_2 = 21,
        FMT_24_8 = 22,
-       FMT_24_8_FLOAT = 23,
        FMT_16 = 24,
        FMT_16_16 = 25,
        FMT_16_16_16_16 = 26,
@@ -106,29 +107,23 @@ enum a2xx_sq_surfaceformat {
        FMT_32_FLOAT = 36,
        FMT_32_32_FLOAT = 37,
        FMT_32_32_32_32_FLOAT = 38,
-       FMT_32_AS_8 = 39,
-       FMT_32_AS_8_8 = 40,
-       FMT_16_MPEG = 41,
-       FMT_16_16_MPEG = 42,
-       FMT_8_INTERLACED = 43,
-       FMT_32_AS_8_INTERLACED = 44,
-       FMT_32_AS_8_8_INTERLACED = 45,
-       FMT_16_INTERLACED = 46,
-       FMT_16_MPEG_INTERLACED = 47,
-       FMT_16_16_MPEG_INTERLACED = 48,
+       FMT_ATI_TC_RGB = 39,
+       FMT_ATI_TC_RGBA = 40,
+       FMT_ATI_TC_555_565_RGB = 41,
+       FMT_ATI_TC_555_565_RGBA = 42,
+       FMT_ATI_TC_RGBA_INTERP = 43,
+       FMT_ATI_TC_555_565_RGBA_INTERP = 44,
+       FMT_ETC1_RGBA_INTERP = 46,
+       FMT_ETC1_RGB = 47,
+       FMT_ETC1_RGBA = 48,
        FMT_DXN = 49,
-       FMT_8_8_8_8_AS_16_16_16_16 = 50,
-       FMT_DXT1_AS_16_16_16_16 = 51,
-       FMT_DXT2_3_AS_16_16_16_16 = 52,
-       FMT_DXT4_5_AS_16_16_16_16 = 53,
+       FMT_2_3_3 = 51,
        FMT_2_10_10_10_AS_16_16_16_16 = 54,
-       FMT_10_11_11_AS_16_16_16_16 = 55,
-       FMT_11_11_10_AS_16_16_16_16 = 56,
+       FMT_10_10_10_2_AS_16_16_16_16 = 55,
        FMT_32_32_32_FLOAT = 57,
        FMT_DXT3A = 58,
        FMT_DXT5A = 59,
        FMT_CTX1 = 60,
-       FMT_DXT3A_AS_1_1_1_1 = 61,
 };
 
 enum a2xx_sq_ps_vtx_mode {
index 663a7321692600c3255f48993f7dbe7855670ab4..645a19aef39963b652b60201405dfad338610450 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    (  31866 bytes, from 2017-06-06 18:26:14)
-- /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          ( 139480 bytes, from 2017-06-16 12:44:39)
-- /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/envytools/rnndb/adreno.xml               (    501 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/freedreno_copyright.xml  (   1572 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/adreno/a2xx.xml          (  36805 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/adreno/adreno_common.xml (  13634 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/adreno/adreno_pm4.xml    (  42393 bytes, from 2018-08-06 18:45:45)
+- /home/robclark/src/envytools/rnndb/adreno/a3xx.xml          (  83840 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/adreno/a4xx.xml          ( 112086 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/adreno/a5xx.xml          ( 147240 bytes, from 2018-08-06 18:45:45)
+- /home/robclark/src/envytools/rnndb/adreno/a6xx.xml          ( 101627 bytes, from 2018-08-06 18:45:45)
+- /home/robclark/src/envytools/rnndb/adreno/a6xx_gmu.xml      (  10431 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/adreno/ocmem.xml         (   1773 bytes, from 2018-07-03 19:37:13)
+
+Copyright (C) 2013-2018 by the following authors:
 - Rob Clark <robdclark@gmail.com> (robclark)
 - Ilia Mirkin <imirkin@alum.mit.edu> (imirkin)
 
index 1a14f4a40b9c096ede90077b9fb8eeee94f2ce99..19565e87aa7bc4f8f72c7f18571cf325da756bf7 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    (  31866 bytes, from 2017-06-06 18:26:14)
-- /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          ( 139480 bytes, from 2017-06-16 12:44:39)
-- /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/envytools/rnndb/adreno.xml               (    501 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/freedreno_copyright.xml  (   1572 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/adreno/a2xx.xml          (  36805 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/adreno/adreno_common.xml (  13634 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/adreno/adreno_pm4.xml    (  42393 bytes, from 2018-08-06 18:45:45)
+- /home/robclark/src/envytools/rnndb/adreno/a3xx.xml          (  83840 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/adreno/a4xx.xml          ( 112086 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/adreno/a5xx.xml          ( 147240 bytes, from 2018-08-06 18:45:45)
+- /home/robclark/src/envytools/rnndb/adreno/a6xx.xml          ( 101627 bytes, from 2018-08-06 18:45:45)
+- /home/robclark/src/envytools/rnndb/adreno/a6xx_gmu.xml      (  10431 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/adreno/ocmem.xml         (   1773 bytes, from 2018-07-03 19:37:13)
+
+Copyright (C) 2013-2018 by the following authors:
 - Rob Clark <robdclark@gmail.com> (robclark)
 - Ilia Mirkin <imirkin@alum.mit.edu> (imirkin)
 
@@ -263,12 +265,6 @@ enum a4xx_depth_format {
        DEPTH4_32 = 3,
 };
 
-enum a4xx_tess_spacing {
-       EQUAL_SPACING = 0,
-       ODD_SPACING = 2,
-       EVEN_SPACING = 3,
-};
-
 enum a4xx_ccu_perfcounter_select {
        CCU_BUSY_CYCLES = 0,
        CCU_RB_DEPTH_RETURN_STALL = 2,
@@ -3544,12 +3540,13 @@ static inline uint32_t A4XX_HLSQ_VS_CONTROL_REG_CONSTLENGTH(uint32_t val)
 {
        return ((val) << A4XX_HLSQ_VS_CONTROL_REG_CONSTLENGTH__SHIFT) & A4XX_HLSQ_VS_CONTROL_REG_CONSTLENGTH__MASK;
 }
-#define A4XX_HLSQ_VS_CONTROL_REG_CONSTOBJECTOFFSET__MASK       0x0000ff00
+#define A4XX_HLSQ_VS_CONTROL_REG_CONSTOBJECTOFFSET__MASK       0x00007f00
 #define A4XX_HLSQ_VS_CONTROL_REG_CONSTOBJECTOFFSET__SHIFT      8
 static inline uint32_t A4XX_HLSQ_VS_CONTROL_REG_CONSTOBJECTOFFSET(uint32_t val)
 {
        return ((val) << A4XX_HLSQ_VS_CONTROL_REG_CONSTOBJECTOFFSET__SHIFT) & A4XX_HLSQ_VS_CONTROL_REG_CONSTOBJECTOFFSET__MASK;
 }
+#define A4XX_HLSQ_VS_CONTROL_REG_SSBO_ENABLE                   0x00008000
 #define A4XX_HLSQ_VS_CONTROL_REG_ENABLED                       0x00010000
 #define A4XX_HLSQ_VS_CONTROL_REG_SHADEROBJOFFSET__MASK         0x00fe0000
 #define A4XX_HLSQ_VS_CONTROL_REG_SHADEROBJOFFSET__SHIFT                17
@@ -3571,12 +3568,13 @@ static inline uint32_t A4XX_HLSQ_FS_CONTROL_REG_CONSTLENGTH(uint32_t val)
 {
        return ((val) << A4XX_HLSQ_FS_CONTROL_REG_CONSTLENGTH__SHIFT) & A4XX_HLSQ_FS_CONTROL_REG_CONSTLENGTH__MASK;
 }
-#define A4XX_HLSQ_FS_CONTROL_REG_CONSTOBJECTOFFSET__MASK       0x0000ff00
+#define A4XX_HLSQ_FS_CONTROL_REG_CONSTOBJECTOFFSET__MASK       0x00007f00
 #define A4XX_HLSQ_FS_CONTROL_REG_CONSTOBJECTOFFSET__SHIFT      8
 static inline uint32_t A4XX_HLSQ_FS_CONTROL_REG_CONSTOBJECTOFFSET(uint32_t val)
 {
        return ((val) << A4XX_HLSQ_FS_CONTROL_REG_CONSTOBJECTOFFSET__SHIFT) & A4XX_HLSQ_FS_CONTROL_REG_CONSTOBJECTOFFSET__MASK;
 }
+#define A4XX_HLSQ_FS_CONTROL_REG_SSBO_ENABLE                   0x00008000
 #define A4XX_HLSQ_FS_CONTROL_REG_ENABLED                       0x00010000
 #define A4XX_HLSQ_FS_CONTROL_REG_SHADEROBJOFFSET__MASK         0x00fe0000
 #define A4XX_HLSQ_FS_CONTROL_REG_SHADEROBJOFFSET__SHIFT                17
@@ -3598,12 +3596,13 @@ static inline uint32_t A4XX_HLSQ_HS_CONTROL_REG_CONSTLENGTH(uint32_t val)
 {
        return ((val) << A4XX_HLSQ_HS_CONTROL_REG_CONSTLENGTH__SHIFT) & A4XX_HLSQ_HS_CONTROL_REG_CONSTLENGTH__MASK;
 }
-#define A4XX_HLSQ_HS_CONTROL_REG_CONSTOBJECTOFFSET__MASK       0x0000ff00
+#define A4XX_HLSQ_HS_CONTROL_REG_CONSTOBJECTOFFSET__MASK       0x00007f00
 #define A4XX_HLSQ_HS_CONTROL_REG_CONSTOBJECTOFFSET__SHIFT      8
 static inline uint32_t A4XX_HLSQ_HS_CONTROL_REG_CONSTOBJECTOFFSET(uint32_t val)
 {
        return ((val) << A4XX_HLSQ_HS_CONTROL_REG_CONSTOBJECTOFFSET__SHIFT) & A4XX_HLSQ_HS_CONTROL_REG_CONSTOBJECTOFFSET__MASK;
 }
+#define A4XX_HLSQ_HS_CONTROL_REG_SSBO_ENABLE                   0x00008000
 #define A4XX_HLSQ_HS_CONTROL_REG_ENABLED                       0x00010000
 #define A4XX_HLSQ_HS_CONTROL_REG_SHADEROBJOFFSET__MASK         0x00fe0000
 #define A4XX_HLSQ_HS_CONTROL_REG_SHADEROBJOFFSET__SHIFT                17
@@ -3625,12 +3624,13 @@ static inline uint32_t A4XX_HLSQ_DS_CONTROL_REG_CONSTLENGTH(uint32_t val)
 {
        return ((val) << A4XX_HLSQ_DS_CONTROL_REG_CONSTLENGTH__SHIFT) & A4XX_HLSQ_DS_CONTROL_REG_CONSTLENGTH__MASK;
 }
-#define A4XX_HLSQ_DS_CONTROL_REG_CONSTOBJECTOFFSET__MASK       0x0000ff00
+#define A4XX_HLSQ_DS_CONTROL_REG_CONSTOBJECTOFFSET__MASK       0x00007f00
 #define A4XX_HLSQ_DS_CONTROL_REG_CONSTOBJECTOFFSET__SHIFT      8
 static inline uint32_t A4XX_HLSQ_DS_CONTROL_REG_CONSTOBJECTOFFSET(uint32_t val)
 {
        return ((val) << A4XX_HLSQ_DS_CONTROL_REG_CONSTOBJECTOFFSET__SHIFT) & A4XX_HLSQ_DS_CONTROL_REG_CONSTOBJECTOFFSET__MASK;
 }
+#define A4XX_HLSQ_DS_CONTROL_REG_SSBO_ENABLE                   0x00008000
 #define A4XX_HLSQ_DS_CONTROL_REG_ENABLED                       0x00010000
 #define A4XX_HLSQ_DS_CONTROL_REG_SHADEROBJOFFSET__MASK         0x00fe0000
 #define A4XX_HLSQ_DS_CONTROL_REG_SHADEROBJOFFSET__SHIFT                17
@@ -3652,12 +3652,13 @@ static inline uint32_t A4XX_HLSQ_GS_CONTROL_REG_CONSTLENGTH(uint32_t val)
 {
        return ((val) << A4XX_HLSQ_GS_CONTROL_REG_CONSTLENGTH__SHIFT) & A4XX_HLSQ_GS_CONTROL_REG_CONSTLENGTH__MASK;
 }
-#define A4XX_HLSQ_GS_CONTROL_REG_CONSTOBJECTOFFSET__MASK       0x0000ff00
+#define A4XX_HLSQ_GS_CONTROL_REG_CONSTOBJECTOFFSET__MASK       0x00007f00
 #define A4XX_HLSQ_GS_CONTROL_REG_CONSTOBJECTOFFSET__SHIFT      8
 static inline uint32_t A4XX_HLSQ_GS_CONTROL_REG_CONSTOBJECTOFFSET(uint32_t val)
 {
        return ((val) << A4XX_HLSQ_GS_CONTROL_REG_CONSTOBJECTOFFSET__SHIFT) & A4XX_HLSQ_GS_CONTROL_REG_CONSTOBJECTOFFSET__MASK;
 }
+#define A4XX_HLSQ_GS_CONTROL_REG_SSBO_ENABLE                   0x00008000
 #define A4XX_HLSQ_GS_CONTROL_REG_ENABLED                       0x00010000
 #define A4XX_HLSQ_GS_CONTROL_REG_SHADEROBJOFFSET__MASK         0x00fe0000
 #define A4XX_HLSQ_GS_CONTROL_REG_SHADEROBJOFFSET__SHIFT                17
@@ -3672,23 +3673,103 @@ static inline uint32_t A4XX_HLSQ_GS_CONTROL_REG_INSTRLENGTH(uint32_t val)
        return ((val) << A4XX_HLSQ_GS_CONTROL_REG_INSTRLENGTH__SHIFT) & A4XX_HLSQ_GS_CONTROL_REG_INSTRLENGTH__MASK;
 }
 
-#define REG_A4XX_HLSQ_CS_CONTROL                               0x000023ca
+#define REG_A4XX_HLSQ_CS_CONTROL_REG                           0x000023ca
+#define A4XX_HLSQ_CS_CONTROL_REG_CONSTLENGTH__MASK             0x000000ff
+#define A4XX_HLSQ_CS_CONTROL_REG_CONSTLENGTH__SHIFT            0
+static inline uint32_t A4XX_HLSQ_CS_CONTROL_REG_CONSTLENGTH(uint32_t val)
+{
+       return ((val) << A4XX_HLSQ_CS_CONTROL_REG_CONSTLENGTH__SHIFT) & A4XX_HLSQ_CS_CONTROL_REG_CONSTLENGTH__MASK;
+}
+#define A4XX_HLSQ_CS_CONTROL_REG_CONSTOBJECTOFFSET__MASK       0x00007f00
+#define A4XX_HLSQ_CS_CONTROL_REG_CONSTOBJECTOFFSET__SHIFT      8
+static inline uint32_t A4XX_HLSQ_CS_CONTROL_REG_CONSTOBJECTOFFSET(uint32_t val)
+{
+       return ((val) << A4XX_HLSQ_CS_CONTROL_REG_CONSTOBJECTOFFSET__SHIFT) & A4XX_HLSQ_CS_CONTROL_REG_CONSTOBJECTOFFSET__MASK;
+}
+#define A4XX_HLSQ_CS_CONTROL_REG_SSBO_ENABLE                   0x00008000
+#define A4XX_HLSQ_CS_CONTROL_REG_ENABLED                       0x00010000
+#define A4XX_HLSQ_CS_CONTROL_REG_SHADEROBJOFFSET__MASK         0x00fe0000
+#define A4XX_HLSQ_CS_CONTROL_REG_SHADEROBJOFFSET__SHIFT                17
+static inline uint32_t A4XX_HLSQ_CS_CONTROL_REG_SHADEROBJOFFSET(uint32_t val)
+{
+       return ((val) << A4XX_HLSQ_CS_CONTROL_REG_SHADEROBJOFFSET__SHIFT) & A4XX_HLSQ_CS_CONTROL_REG_SHADEROBJOFFSET__MASK;
+}
+#define A4XX_HLSQ_CS_CONTROL_REG_INSTRLENGTH__MASK             0xff000000
+#define A4XX_HLSQ_CS_CONTROL_REG_INSTRLENGTH__SHIFT            24
+static inline uint32_t A4XX_HLSQ_CS_CONTROL_REG_INSTRLENGTH(uint32_t val)
+{
+       return ((val) << A4XX_HLSQ_CS_CONTROL_REG_INSTRLENGTH__SHIFT) & A4XX_HLSQ_CS_CONTROL_REG_INSTRLENGTH__MASK;
+}
 
 #define REG_A4XX_HLSQ_CL_NDRANGE_0                             0x000023cd
+#define A4XX_HLSQ_CL_NDRANGE_0_KERNELDIM__MASK                 0x00000003
+#define A4XX_HLSQ_CL_NDRANGE_0_KERNELDIM__SHIFT                        0
+static inline uint32_t A4XX_HLSQ_CL_NDRANGE_0_KERNELDIM(uint32_t val)
+{
+       return ((val) << A4XX_HLSQ_CL_NDRANGE_0_KERNELDIM__SHIFT) & A4XX_HLSQ_CL_NDRANGE_0_KERNELDIM__MASK;
+}
+#define A4XX_HLSQ_CL_NDRANGE_0_LOCALSIZEX__MASK                        0x00000ffc
+#define A4XX_HLSQ_CL_NDRANGE_0_LOCALSIZEX__SHIFT               2
+static inline uint32_t A4XX_HLSQ_CL_NDRANGE_0_LOCALSIZEX(uint32_t val)
+{
+       return ((val) << A4XX_HLSQ_CL_NDRANGE_0_LOCALSIZEX__SHIFT) & A4XX_HLSQ_CL_NDRANGE_0_LOCALSIZEX__MASK;
+}
+#define A4XX_HLSQ_CL_NDRANGE_0_LOCALSIZEY__MASK                        0x003ff000
+#define A4XX_HLSQ_CL_NDRANGE_0_LOCALSIZEY__SHIFT               12
+static inline uint32_t A4XX_HLSQ_CL_NDRANGE_0_LOCALSIZEY(uint32_t val)
+{
+       return ((val) << A4XX_HLSQ_CL_NDRANGE_0_LOCALSIZEY__SHIFT) & A4XX_HLSQ_CL_NDRANGE_0_LOCALSIZEY__MASK;
+}
+#define A4XX_HLSQ_CL_NDRANGE_0_LOCALSIZEZ__MASK                        0xffc00000
+#define A4XX_HLSQ_CL_NDRANGE_0_LOCALSIZEZ__SHIFT               22
+static inline uint32_t A4XX_HLSQ_CL_NDRANGE_0_LOCALSIZEZ(uint32_t val)
+{
+       return ((val) << A4XX_HLSQ_CL_NDRANGE_0_LOCALSIZEZ__SHIFT) & A4XX_HLSQ_CL_NDRANGE_0_LOCALSIZEZ__MASK;
+}
 
 #define REG_A4XX_HLSQ_CL_NDRANGE_1                             0x000023ce
+#define A4XX_HLSQ_CL_NDRANGE_1_SIZE_X__MASK                    0xffffffff
+#define A4XX_HLSQ_CL_NDRANGE_1_SIZE_X__SHIFT                   0
+static inline uint32_t A4XX_HLSQ_CL_NDRANGE_1_SIZE_X(uint32_t val)
+{
+       return ((val) << A4XX_HLSQ_CL_NDRANGE_1_SIZE_X__SHIFT) & A4XX_HLSQ_CL_NDRANGE_1_SIZE_X__MASK;
+}
 
 #define REG_A4XX_HLSQ_CL_NDRANGE_2                             0x000023cf
 
 #define REG_A4XX_HLSQ_CL_NDRANGE_3                             0x000023d0
+#define A4XX_HLSQ_CL_NDRANGE_3_SIZE_Y__MASK                    0xffffffff
+#define A4XX_HLSQ_CL_NDRANGE_3_SIZE_Y__SHIFT                   0
+static inline uint32_t A4XX_HLSQ_CL_NDRANGE_3_SIZE_Y(uint32_t val)
+{
+       return ((val) << A4XX_HLSQ_CL_NDRANGE_3_SIZE_Y__SHIFT) & A4XX_HLSQ_CL_NDRANGE_3_SIZE_Y__MASK;
+}
 
 #define REG_A4XX_HLSQ_CL_NDRANGE_4                             0x000023d1
 
 #define REG_A4XX_HLSQ_CL_NDRANGE_5                             0x000023d2
+#define A4XX_HLSQ_CL_NDRANGE_5_SIZE_Z__MASK                    0xffffffff
+#define A4XX_HLSQ_CL_NDRANGE_5_SIZE_Z__SHIFT                   0
+static inline uint32_t A4XX_HLSQ_CL_NDRANGE_5_SIZE_Z(uint32_t val)
+{
+       return ((val) << A4XX_HLSQ_CL_NDRANGE_5_SIZE_Z__SHIFT) & A4XX_HLSQ_CL_NDRANGE_5_SIZE_Z__MASK;
+}
 
 #define REG_A4XX_HLSQ_CL_NDRANGE_6                             0x000023d3
 
 #define REG_A4XX_HLSQ_CL_CONTROL_0                             0x000023d4
+#define A4XX_HLSQ_CL_CONTROL_0_WGIDCONSTID__MASK               0x000000ff
+#define A4XX_HLSQ_CL_CONTROL_0_WGIDCONSTID__SHIFT              0
+static inline uint32_t A4XX_HLSQ_CL_CONTROL_0_WGIDCONSTID(uint32_t val)
+{
+       return ((val) << A4XX_HLSQ_CL_CONTROL_0_WGIDCONSTID__SHIFT) & A4XX_HLSQ_CL_CONTROL_0_WGIDCONSTID__MASK;
+}
+#define A4XX_HLSQ_CL_CONTROL_0_LOCALIDREGID__MASK              0xff000000
+#define A4XX_HLSQ_CL_CONTROL_0_LOCALIDREGID__SHIFT             24
+static inline uint32_t A4XX_HLSQ_CL_CONTROL_0_LOCALIDREGID(uint32_t val)
+{
+       return ((val) << A4XX_HLSQ_CL_CONTROL_0_LOCALIDREGID__SHIFT) & A4XX_HLSQ_CL_CONTROL_0_LOCALIDREGID__MASK;
+}
 
 #define REG_A4XX_HLSQ_CL_CONTROL_1                             0x000023d5
 
@@ -4087,5 +4168,71 @@ static inline uint32_t A4XX_TEX_CONST_4_BASE(uint32_t val)
 
 #define REG_A4XX_TEX_CONST_7                                   0x00000007
 
+#define REG_A4XX_SSBO_0_0                                      0x00000000
+#define A4XX_SSBO_0_0_BASE__MASK                               0xffffffe0
+#define A4XX_SSBO_0_0_BASE__SHIFT                              5
+static inline uint32_t A4XX_SSBO_0_0_BASE(uint32_t val)
+{
+       return ((val >> 5) << A4XX_SSBO_0_0_BASE__SHIFT) & A4XX_SSBO_0_0_BASE__MASK;
+}
+
+#define REG_A4XX_SSBO_0_1                                      0x00000001
+#define A4XX_SSBO_0_1_PITCH__MASK                              0x003fffff
+#define A4XX_SSBO_0_1_PITCH__SHIFT                             0
+static inline uint32_t A4XX_SSBO_0_1_PITCH(uint32_t val)
+{
+       return ((val) << A4XX_SSBO_0_1_PITCH__SHIFT) & A4XX_SSBO_0_1_PITCH__MASK;
+}
+
+#define REG_A4XX_SSBO_0_2                                      0x00000002
+#define A4XX_SSBO_0_2_ARRAY_PITCH__MASK                                0x03fff000
+#define A4XX_SSBO_0_2_ARRAY_PITCH__SHIFT                       12
+static inline uint32_t A4XX_SSBO_0_2_ARRAY_PITCH(uint32_t val)
+{
+       return ((val >> 12) << A4XX_SSBO_0_2_ARRAY_PITCH__SHIFT) & A4XX_SSBO_0_2_ARRAY_PITCH__MASK;
+}
+
+#define REG_A4XX_SSBO_0_3                                      0x00000003
+#define A4XX_SSBO_0_3_CPP__MASK                                        0x0000003f
+#define A4XX_SSBO_0_3_CPP__SHIFT                               0
+static inline uint32_t A4XX_SSBO_0_3_CPP(uint32_t val)
+{
+       return ((val) << A4XX_SSBO_0_3_CPP__SHIFT) & A4XX_SSBO_0_3_CPP__MASK;
+}
+
+#define REG_A4XX_SSBO_1_0                                      0x00000000
+#define A4XX_SSBO_1_0_CPP__MASK                                        0x0000001f
+#define A4XX_SSBO_1_0_CPP__SHIFT                               0
+static inline uint32_t A4XX_SSBO_1_0_CPP(uint32_t val)
+{
+       return ((val) << A4XX_SSBO_1_0_CPP__SHIFT) & A4XX_SSBO_1_0_CPP__MASK;
+}
+#define A4XX_SSBO_1_0_FMT__MASK                                        0x0000ff00
+#define A4XX_SSBO_1_0_FMT__SHIFT                               8
+static inline uint32_t A4XX_SSBO_1_0_FMT(enum a4xx_color_fmt val)
+{
+       return ((val) << A4XX_SSBO_1_0_FMT__SHIFT) & A4XX_SSBO_1_0_FMT__MASK;
+}
+#define A4XX_SSBO_1_0_WIDTH__MASK                              0xffff0000
+#define A4XX_SSBO_1_0_WIDTH__SHIFT                             16
+static inline uint32_t A4XX_SSBO_1_0_WIDTH(uint32_t val)
+{
+       return ((val) << A4XX_SSBO_1_0_WIDTH__SHIFT) & A4XX_SSBO_1_0_WIDTH__MASK;
+}
+
+#define REG_A4XX_SSBO_1_1                                      0x00000001
+#define A4XX_SSBO_1_1_HEIGHT__MASK                             0x0000ffff
+#define A4XX_SSBO_1_1_HEIGHT__SHIFT                            0
+static inline uint32_t A4XX_SSBO_1_1_HEIGHT(uint32_t val)
+{
+       return ((val) << A4XX_SSBO_1_1_HEIGHT__SHIFT) & A4XX_SSBO_1_1_HEIGHT__MASK;
+}
+#define A4XX_SSBO_1_1_DEPTH__MASK                              0xffff0000
+#define A4XX_SSBO_1_1_DEPTH__SHIFT                             16
+static inline uint32_t A4XX_SSBO_1_1_DEPTH(uint32_t val)
+{
+       return ((val) << A4XX_SSBO_1_1_DEPTH__SHIFT) & A4XX_SSBO_1_1_DEPTH__MASK;
+}
+
 
 #endif /* A4XX_XML */
index e0e6711f4f780128cf1227694d52f382d17b06d7..182d37ff379417f996f3aa34e5d0816fe828bbca 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    (  31866 bytes, from 2017-06-06 18:26:14)
-- /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          ( 139480 bytes, from 2017-06-16 12:44:39)
-- /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/envytools/rnndb/adreno.xml               (    501 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/freedreno_copyright.xml  (   1572 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/adreno/a2xx.xml          (  36805 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/adreno/adreno_common.xml (  13634 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/adreno/adreno_pm4.xml    (  42393 bytes, from 2018-08-06 18:45:45)
+- /home/robclark/src/envytools/rnndb/adreno/a3xx.xml          (  83840 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/adreno/a4xx.xml          ( 112086 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/adreno/a5xx.xml          ( 147240 bytes, from 2018-08-06 18:45:45)
+- /home/robclark/src/envytools/rnndb/adreno/a6xx.xml          ( 101627 bytes, from 2018-08-06 18:45:45)
+- /home/robclark/src/envytools/rnndb/adreno/a6xx_gmu.xml      (  10431 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/adreno/ocmem.xml         (   1773 bytes, from 2018-07-03 19:37:13)
+
+Copyright (C) 2013-2018 by the following authors:
 - Rob Clark <robdclark@gmail.com> (robclark)
 - Ilia Mirkin <imirkin@alum.mit.edu> (imirkin)
 
@@ -119,6 +121,11 @@ enum a5xx_vtx_fmt {
        VFMT5_8_8_8_8_SNORM = 50,
        VFMT5_8_8_8_8_UINT = 51,
        VFMT5_8_8_8_8_SINT = 52,
+       VFMT5_10_10_10_2_UNORM = 54,
+       VFMT5_10_10_10_2_SNORM = 57,
+       VFMT5_10_10_10_2_UINT = 58,
+       VFMT5_10_10_10_2_SINT = 59,
+       VFMT5_11_11_10_FLOAT = 66,
        VFMT5_16_16_UNORM = 67,
        VFMT5_16_16_SNORM = 68,
        VFMT5_16_16_FLOAT = 69,
@@ -204,14 +211,45 @@ enum a5xx_tex_fmt {
        TFMT5_32_32_FLOAT = 103,
        TFMT5_32_32_UINT = 104,
        TFMT5_32_32_SINT = 105,
+       TFMT5_32_32_32_UINT = 114,
+       TFMT5_32_32_32_SINT = 115,
+       TFMT5_32_32_32_FLOAT = 116,
        TFMT5_32_32_32_32_FLOAT = 130,
        TFMT5_32_32_32_32_UINT = 131,
        TFMT5_32_32_32_32_SINT = 132,
        TFMT5_X8Z24_UNORM = 160,
+       TFMT5_ETC2_RG11_UNORM = 171,
+       TFMT5_ETC2_RG11_SNORM = 172,
+       TFMT5_ETC2_R11_UNORM = 173,
+       TFMT5_ETC2_R11_SNORM = 174,
+       TFMT5_ETC1 = 175,
+       TFMT5_ETC2_RGB8 = 176,
+       TFMT5_ETC2_RGBA8 = 177,
+       TFMT5_ETC2_RGB8A1 = 178,
+       TFMT5_DXT1 = 179,
+       TFMT5_DXT3 = 180,
+       TFMT5_DXT5 = 181,
        TFMT5_RGTC1_UNORM = 183,
        TFMT5_RGTC1_SNORM = 184,
        TFMT5_RGTC2_UNORM = 187,
        TFMT5_RGTC2_SNORM = 188,
+       TFMT5_BPTC_UFLOAT = 190,
+       TFMT5_BPTC_FLOAT = 191,
+       TFMT5_BPTC = 192,
+       TFMT5_ASTC_4x4 = 193,
+       TFMT5_ASTC_5x4 = 194,
+       TFMT5_ASTC_5x5 = 195,
+       TFMT5_ASTC_6x5 = 196,
+       TFMT5_ASTC_6x6 = 197,
+       TFMT5_ASTC_8x5 = 198,
+       TFMT5_ASTC_8x6 = 199,
+       TFMT5_ASTC_8x8 = 200,
+       TFMT5_ASTC_10x5 = 201,
+       TFMT5_ASTC_10x6 = 202,
+       TFMT5_ASTC_10x8 = 203,
+       TFMT5_ASTC_10x10 = 204,
+       TFMT5_ASTC_12x10 = 205,
+       TFMT5_ASTC_12x12 = 206,
 };
 
 enum a5xx_tex_fetchsize {
@@ -239,7 +277,7 @@ enum a5xx_blit_buf {
        BLIT_MRT6 = 6,
        BLIT_MRT7 = 7,
        BLIT_ZS = 8,
-       BLIT_Z32 = 9,
+       BLIT_S = 9,
 };
 
 enum a5xx_cp_perfcounter_select {
@@ -899,6 +937,12 @@ enum a5xx_tex_type {
 
 #define REG_A5XX_CP_DRAW_STATE_DATA                            0x0000080c
 
+#define REG_A5XX_CP_ME_NRT_ADDR_LO                             0x0000080d
+
+#define REG_A5XX_CP_ME_NRT_ADDR_HI                             0x0000080e
+
+#define REG_A5XX_CP_ME_NRT_DATA                                        0x00000810
+
 #define REG_A5XX_CP_CRASH_SCRIPT_BASE_LO                       0x00000817
 
 #define REG_A5XX_CP_CRASH_SCRIPT_BASE_HI                       0x00000818
@@ -2072,9 +2116,17 @@ static inline uint32_t A5XX_VSC_RESOLVE_CNTL_Y(uint32_t val)
 
 #define REG_A5XX_PC_MODE_CNTL                                  0x00000d02
 
-#define REG_A5XX_UNKNOWN_0D08                                  0x00000d08
+#define REG_A5XX_PC_INDEX_BUF_LO                               0x00000d04
+
+#define REG_A5XX_PC_INDEX_BUF_HI                               0x00000d05
+
+#define REG_A5XX_PC_START_INDEX                                        0x00000d06
 
-#define REG_A5XX_UNKNOWN_0D09                                  0x00000d09
+#define REG_A5XX_PC_MAX_INDEX                                  0x00000d07
+
+#define REG_A5XX_PC_TESSFACTOR_ADDR_LO                         0x00000d08
+
+#define REG_A5XX_PC_TESSFACTOR_ADDR_HI                         0x00000d09
 
 #define REG_A5XX_PC_PERFCTR_PC_SEL_0                           0x00000d10
 
@@ -2327,6 +2379,14 @@ static inline uint32_t A5XX_VSC_RESOLVE_CNTL_Y(uint32_t val)
 
 #define REG_A5XX_VBIF_PERF_CNT_EN3                             0x000030c3
 
+#define REG_A5XX_VBIF_PERF_CNT_CLR0                            0x000030c8
+
+#define REG_A5XX_VBIF_PERF_CNT_CLR1                            0x000030c9
+
+#define REG_A5XX_VBIF_PERF_CNT_CLR2                            0x000030ca
+
+#define REG_A5XX_VBIF_PERF_CNT_CLR3                            0x000030cb
+
 #define REG_A5XX_VBIF_PERF_CNT_SEL0                            0x000030d0
 
 #define REG_A5XX_VBIF_PERF_CNT_SEL1                            0x000030d1
@@ -2590,6 +2650,7 @@ static inline uint32_t A5XX_VSC_RESOLVE_CNTL_Y(uint32_t val)
 #define REG_A5XX_GPU_CS_AMP_CALIBRATION_CONTROL1               0x0000c557
 
 #define REG_A5XX_GRAS_CL_CNTL                                  0x0000e000
+#define A5XX_GRAS_CL_CNTL_ZERO_GB_SCALE_Z                      0x00000040
 
 #define REG_A5XX_UNKNOWN_E001                                  0x0000e001
 
@@ -2700,7 +2761,7 @@ static inline uint32_t A5XX_GRAS_SU_POINT_SIZE(float val)
        return ((((int32_t)(val * 16.0))) << A5XX_GRAS_SU_POINT_SIZE__SHIFT) & A5XX_GRAS_SU_POINT_SIZE__MASK;
 }
 
-#define REG_A5XX_UNKNOWN_E093                                  0x0000e093
+#define REG_A5XX_GRAS_SU_LAYERED                               0x0000e093
 
 #define REG_A5XX_GRAS_SU_DEPTH_PLANE_CNTL                      0x0000e094
 #define A5XX_GRAS_SU_DEPTH_PLANE_CNTL_FRAG_WRITES_Z            0x00000001
@@ -2936,7 +2997,9 @@ static inline uint32_t A5XX_RB_DEST_MSAA_CNTL_SAMPLES(enum a3xx_msaa_samples val
 #define A5XX_RB_RENDER_CONTROL0_WCOORD                         0x00000200
 
 #define REG_A5XX_RB_RENDER_CONTROL1                            0x0000e145
+#define A5XX_RB_RENDER_CONTROL1_SAMPLEMASK                     0x00000001
 #define A5XX_RB_RENDER_CONTROL1_FACENESS                       0x00000002
+#define A5XX_RB_RENDER_CONTROL1_SAMPLEID                       0x00000004
 
 #define REG_A5XX_RB_FS_OUTPUT_CNTL                             0x0000e146
 #define A5XX_RB_FS_OUTPUT_CNTL_MRT__MASK                       0x0000000f
@@ -3002,6 +3065,13 @@ static inline uint32_t REG_A5XX_RB_MRT(uint32_t i0) { return 0x0000e150 + 0x7*i0
 static inline uint32_t REG_A5XX_RB_MRT_CONTROL(uint32_t i0) { return 0x0000e150 + 0x7*i0; }
 #define A5XX_RB_MRT_CONTROL_BLEND                              0x00000001
 #define A5XX_RB_MRT_CONTROL_BLEND2                             0x00000002
+#define A5XX_RB_MRT_CONTROL_ROP_ENABLE                         0x00000004
+#define A5XX_RB_MRT_CONTROL_ROP_CODE__MASK                     0x00000078
+#define A5XX_RB_MRT_CONTROL_ROP_CODE__SHIFT                    3
+static inline uint32_t A5XX_RB_MRT_CONTROL_ROP_CODE(enum a3xx_rop_code val)
+{
+       return ((val) << A5XX_RB_MRT_CONTROL_ROP_CODE__SHIFT) & A5XX_RB_MRT_CONTROL_ROP_CODE__MASK;
+}
 #define A5XX_RB_MRT_CONTROL_COMPONENT_ENABLE__MASK             0x00000780
 #define A5XX_RB_MRT_CONTROL_COMPONENT_ENABLE__SHIFT            7
 static inline uint32_t A5XX_RB_MRT_CONTROL_COMPONENT_ENABLE(uint32_t val)
@@ -3060,6 +3130,12 @@ static inline uint32_t A5XX_RB_MRT_BUF_INFO_COLOR_TILE_MODE(enum a5xx_tile_mode
 {
        return ((val) << A5XX_RB_MRT_BUF_INFO_COLOR_TILE_MODE__SHIFT) & A5XX_RB_MRT_BUF_INFO_COLOR_TILE_MODE__MASK;
 }
+#define A5XX_RB_MRT_BUF_INFO_DITHER_MODE__MASK                 0x00001800
+#define A5XX_RB_MRT_BUF_INFO_DITHER_MODE__SHIFT                        11
+static inline uint32_t A5XX_RB_MRT_BUF_INFO_DITHER_MODE(enum adreno_rb_dither_mode val)
+{
+       return ((val) << A5XX_RB_MRT_BUF_INFO_DITHER_MODE__SHIFT) & A5XX_RB_MRT_BUF_INFO_DITHER_MODE__MASK;
+}
 #define A5XX_RB_MRT_BUF_INFO_COLOR_SWAP__MASK                  0x00006000
 #define A5XX_RB_MRT_BUF_INFO_COLOR_SWAP__SHIFT                 13
 static inline uint32_t A5XX_RB_MRT_BUF_INFO_COLOR_SWAP(enum a3xx_color_swap val)
@@ -3223,6 +3299,7 @@ static inline uint32_t A5XX_RB_BLEND_CNTL_ENABLE_BLEND(uint32_t val)
        return ((val) << A5XX_RB_BLEND_CNTL_ENABLE_BLEND__SHIFT) & A5XX_RB_BLEND_CNTL_ENABLE_BLEND__MASK;
 }
 #define A5XX_RB_BLEND_CNTL_INDEPENDENT_BLEND                   0x00000100
+#define A5XX_RB_BLEND_CNTL_ALPHA_TO_COVERAGE                   0x00000400
 #define A5XX_RB_BLEND_CNTL_SAMPLE_MASK__MASK                   0xffff0000
 #define A5XX_RB_BLEND_CNTL_SAMPLE_MASK__SHIFT                  16
 static inline uint32_t A5XX_RB_BLEND_CNTL_SAMPLE_MASK(uint32_t val)
@@ -3369,7 +3446,25 @@ static inline uint32_t A5XX_RB_STENCILREFMASK_STENCILWRITEMASK(uint32_t val)
        return ((val) << A5XX_RB_STENCILREFMASK_STENCILWRITEMASK__SHIFT) & A5XX_RB_STENCILREFMASK_STENCILWRITEMASK__MASK;
 }
 
-#define REG_A5XX_UNKNOWN_E1C7                                  0x0000e1c7
+#define REG_A5XX_RB_STENCILREFMASK_BF                          0x0000e1c7
+#define A5XX_RB_STENCILREFMASK_BF_STENCILREF__MASK             0x000000ff
+#define A5XX_RB_STENCILREFMASK_BF_STENCILREF__SHIFT            0
+static inline uint32_t A5XX_RB_STENCILREFMASK_BF_STENCILREF(uint32_t val)
+{
+       return ((val) << A5XX_RB_STENCILREFMASK_BF_STENCILREF__SHIFT) & A5XX_RB_STENCILREFMASK_BF_STENCILREF__MASK;
+}
+#define A5XX_RB_STENCILREFMASK_BF_STENCILMASK__MASK            0x0000ff00
+#define A5XX_RB_STENCILREFMASK_BF_STENCILMASK__SHIFT           8
+static inline uint32_t A5XX_RB_STENCILREFMASK_BF_STENCILMASK(uint32_t val)
+{
+       return ((val) << A5XX_RB_STENCILREFMASK_BF_STENCILMASK__SHIFT) & A5XX_RB_STENCILREFMASK_BF_STENCILMASK__MASK;
+}
+#define A5XX_RB_STENCILREFMASK_BF_STENCILWRITEMASK__MASK       0x00ff0000
+#define A5XX_RB_STENCILREFMASK_BF_STENCILWRITEMASK__SHIFT      16
+static inline uint32_t A5XX_RB_STENCILREFMASK_BF_STENCILWRITEMASK(uint32_t val)
+{
+       return ((val) << A5XX_RB_STENCILREFMASK_BF_STENCILWRITEMASK__SHIFT) & A5XX_RB_STENCILREFMASK_BF_STENCILWRITEMASK__MASK;
+}
 
 #define REG_A5XX_RB_WINDOW_OFFSET                              0x0000e1d0
 #define A5XX_RB_WINDOW_OFFSET_WINDOW_OFFSET_DISABLE            0x80000000
@@ -3428,6 +3523,7 @@ static inline uint32_t A5XX_RB_RESOLVE_CNTL_2_Y(uint32_t val)
 }
 
 #define REG_A5XX_RB_RESOLVE_CNTL_3                             0x0000e213
+#define A5XX_RB_RESOLVE_CNTL_3_TILED                           0x00000001
 
 #define REG_A5XX_RB_BLIT_DST_LO                                        0x0000e214
 
@@ -3459,6 +3555,7 @@ static inline uint32_t A5XX_RB_BLIT_DST_ARRAY_PITCH(uint32_t val)
 
 #define REG_A5XX_RB_CLEAR_CNTL                                 0x0000e21c
 #define A5XX_RB_CLEAR_CNTL_FAST_CLEAR                          0x00000002
+#define A5XX_RB_CLEAR_CNTL_MSAA_RESOLVE                                0x00000004
 #define A5XX_RB_CLEAR_CNTL_MASK__MASK                          0x000000f0
 #define A5XX_RB_CLEAR_CNTL_MASK__SHIFT                         4
 static inline uint32_t A5XX_RB_CLEAR_CNTL_MASK(uint32_t val)
@@ -3627,22 +3724,69 @@ static inline uint32_t A5XX_PC_PRIMITIVE_CNTL_STRIDE_IN_VPC(uint32_t val)
 {
        return ((val) << A5XX_PC_PRIMITIVE_CNTL_STRIDE_IN_VPC__SHIFT) & A5XX_PC_PRIMITIVE_CNTL_STRIDE_IN_VPC__MASK;
 }
+#define A5XX_PC_PRIMITIVE_CNTL_PRIMITIVE_RESTART               0x00000100
+#define A5XX_PC_PRIMITIVE_CNTL_COUNT_PRIMITIVES                        0x00000200
 #define A5XX_PC_PRIMITIVE_CNTL_PROVOKING_VTX_LAST              0x00000400
 
 #define REG_A5XX_PC_PRIM_VTX_CNTL                              0x0000e385
 #define A5XX_PC_PRIM_VTX_CNTL_PSIZE                            0x00000800
 
 #define REG_A5XX_PC_RASTER_CNTL                                        0x0000e388
+#define A5XX_PC_RASTER_CNTL_POLYMODE_FRONT_PTYPE__MASK         0x00000007
+#define A5XX_PC_RASTER_CNTL_POLYMODE_FRONT_PTYPE__SHIFT                0
+static inline uint32_t A5XX_PC_RASTER_CNTL_POLYMODE_FRONT_PTYPE(enum adreno_pa_su_sc_draw val)
+{
+       return ((val) << A5XX_PC_RASTER_CNTL_POLYMODE_FRONT_PTYPE__SHIFT) & A5XX_PC_RASTER_CNTL_POLYMODE_FRONT_PTYPE__MASK;
+}
+#define A5XX_PC_RASTER_CNTL_POLYMODE_BACK_PTYPE__MASK          0x00000038
+#define A5XX_PC_RASTER_CNTL_POLYMODE_BACK_PTYPE__SHIFT         3
+static inline uint32_t A5XX_PC_RASTER_CNTL_POLYMODE_BACK_PTYPE(enum adreno_pa_su_sc_draw val)
+{
+       return ((val) << A5XX_PC_RASTER_CNTL_POLYMODE_BACK_PTYPE__SHIFT) & A5XX_PC_RASTER_CNTL_POLYMODE_BACK_PTYPE__MASK;
+}
+#define A5XX_PC_RASTER_CNTL_POLYMODE_ENABLE                    0x00000040
 
 #define REG_A5XX_UNKNOWN_E389                                  0x0000e389
 
 #define REG_A5XX_PC_RESTART_INDEX                              0x0000e38c
 
-#define REG_A5XX_UNKNOWN_E38D                                  0x0000e38d
+#define REG_A5XX_PC_GS_LAYERED                                 0x0000e38d
 
 #define REG_A5XX_PC_GS_PARAM                                   0x0000e38e
+#define A5XX_PC_GS_PARAM_MAX_VERTICES__MASK                    0x000003ff
+#define A5XX_PC_GS_PARAM_MAX_VERTICES__SHIFT                   0
+static inline uint32_t A5XX_PC_GS_PARAM_MAX_VERTICES(uint32_t val)
+{
+       return ((val) << A5XX_PC_GS_PARAM_MAX_VERTICES__SHIFT) & A5XX_PC_GS_PARAM_MAX_VERTICES__MASK;
+}
+#define A5XX_PC_GS_PARAM_INVOCATIONS__MASK                     0x0000f800
+#define A5XX_PC_GS_PARAM_INVOCATIONS__SHIFT                    11
+static inline uint32_t A5XX_PC_GS_PARAM_INVOCATIONS(uint32_t val)
+{
+       return ((val) << A5XX_PC_GS_PARAM_INVOCATIONS__SHIFT) & A5XX_PC_GS_PARAM_INVOCATIONS__MASK;
+}
+#define A5XX_PC_GS_PARAM_PRIMTYPE__MASK                                0x01800000
+#define A5XX_PC_GS_PARAM_PRIMTYPE__SHIFT                       23
+static inline uint32_t A5XX_PC_GS_PARAM_PRIMTYPE(enum adreno_pa_su_sc_draw val)
+{
+       return ((val) << A5XX_PC_GS_PARAM_PRIMTYPE__SHIFT) & A5XX_PC_GS_PARAM_PRIMTYPE__MASK;
+}
 
 #define REG_A5XX_PC_HS_PARAM                                   0x0000e38f
+#define A5XX_PC_HS_PARAM_VERTICES_OUT__MASK                    0x0000003f
+#define A5XX_PC_HS_PARAM_VERTICES_OUT__SHIFT                   0
+static inline uint32_t A5XX_PC_HS_PARAM_VERTICES_OUT(uint32_t val)
+{
+       return ((val) << A5XX_PC_HS_PARAM_VERTICES_OUT__SHIFT) & A5XX_PC_HS_PARAM_VERTICES_OUT__MASK;
+}
+#define A5XX_PC_HS_PARAM_SPACING__MASK                         0x00600000
+#define A5XX_PC_HS_PARAM_SPACING__SHIFT                                21
+static inline uint32_t A5XX_PC_HS_PARAM_SPACING(enum a4xx_tess_spacing val)
+{
+       return ((val) << A5XX_PC_HS_PARAM_SPACING__SHIFT) & A5XX_PC_HS_PARAM_SPACING__MASK;
+}
+#define A5XX_PC_HS_PARAM_CW                                    0x00800000
+#define A5XX_PC_HS_PARAM_CONNECTED                             0x01000000
 
 #define REG_A5XX_PC_POWER_CNTL                                 0x0000e3b0
 
@@ -3667,10 +3811,40 @@ static inline uint32_t A5XX_VFD_CONTROL_1_REGID4INST(uint32_t val)
 {
        return ((val) << A5XX_VFD_CONTROL_1_REGID4INST__SHIFT) & A5XX_VFD_CONTROL_1_REGID4INST__MASK;
 }
+#define A5XX_VFD_CONTROL_1_REGID4PRIMID__MASK                  0x00ff0000
+#define A5XX_VFD_CONTROL_1_REGID4PRIMID__SHIFT                 16
+static inline uint32_t A5XX_VFD_CONTROL_1_REGID4PRIMID(uint32_t val)
+{
+       return ((val) << A5XX_VFD_CONTROL_1_REGID4PRIMID__SHIFT) & A5XX_VFD_CONTROL_1_REGID4PRIMID__MASK;
+}
 
 #define REG_A5XX_VFD_CONTROL_2                                 0x0000e402
+#define A5XX_VFD_CONTROL_2_REGID_PATCHID__MASK                 0x000000ff
+#define A5XX_VFD_CONTROL_2_REGID_PATCHID__SHIFT                        0
+static inline uint32_t A5XX_VFD_CONTROL_2_REGID_PATCHID(uint32_t val)
+{
+       return ((val) << A5XX_VFD_CONTROL_2_REGID_PATCHID__SHIFT) & A5XX_VFD_CONTROL_2_REGID_PATCHID__MASK;
+}
 
 #define REG_A5XX_VFD_CONTROL_3                                 0x0000e403
+#define A5XX_VFD_CONTROL_3_REGID_PATCHID__MASK                 0x0000ff00
+#define A5XX_VFD_CONTROL_3_REGID_PATCHID__SHIFT                        8
+static inline uint32_t A5XX_VFD_CONTROL_3_REGID_PATCHID(uint32_t val)
+{
+       return ((val) << A5XX_VFD_CONTROL_3_REGID_PATCHID__SHIFT) & A5XX_VFD_CONTROL_3_REGID_PATCHID__MASK;
+}
+#define A5XX_VFD_CONTROL_3_REGID_TESSX__MASK                   0x00ff0000
+#define A5XX_VFD_CONTROL_3_REGID_TESSX__SHIFT                  16
+static inline uint32_t A5XX_VFD_CONTROL_3_REGID_TESSX(uint32_t val)
+{
+       return ((val) << A5XX_VFD_CONTROL_3_REGID_TESSX__SHIFT) & A5XX_VFD_CONTROL_3_REGID_TESSX__MASK;
+}
+#define A5XX_VFD_CONTROL_3_REGID_TESSY__MASK                   0xff000000
+#define A5XX_VFD_CONTROL_3_REGID_TESSY__SHIFT                  24
+static inline uint32_t A5XX_VFD_CONTROL_3_REGID_TESSY(uint32_t val)
+{
+       return ((val) << A5XX_VFD_CONTROL_3_REGID_TESSY__SHIFT) & A5XX_VFD_CONTROL_3_REGID_TESSY__MASK;
+}
 
 #define REG_A5XX_VFD_CONTROL_4                                 0x0000e404
 
@@ -3700,12 +3874,18 @@ static inline uint32_t A5XX_VFD_DECODE_INSTR_IDX(uint32_t val)
        return ((val) << A5XX_VFD_DECODE_INSTR_IDX__SHIFT) & A5XX_VFD_DECODE_INSTR_IDX__MASK;
 }
 #define A5XX_VFD_DECODE_INSTR_INSTANCED                                0x00020000
-#define A5XX_VFD_DECODE_INSTR_FORMAT__MASK                     0x3ff00000
+#define A5XX_VFD_DECODE_INSTR_FORMAT__MASK                     0x0ff00000
 #define A5XX_VFD_DECODE_INSTR_FORMAT__SHIFT                    20
 static inline uint32_t A5XX_VFD_DECODE_INSTR_FORMAT(enum a5xx_vtx_fmt val)
 {
        return ((val) << A5XX_VFD_DECODE_INSTR_FORMAT__SHIFT) & A5XX_VFD_DECODE_INSTR_FORMAT__MASK;
 }
+#define A5XX_VFD_DECODE_INSTR_SWAP__MASK                       0x30000000
+#define A5XX_VFD_DECODE_INSTR_SWAP__SHIFT                      28
+static inline uint32_t A5XX_VFD_DECODE_INSTR_SWAP(enum a3xx_color_swap val)
+{
+       return ((val) << A5XX_VFD_DECODE_INSTR_SWAP__SHIFT) & A5XX_VFD_DECODE_INSTR_SWAP__MASK;
+}
 #define A5XX_VFD_DECODE_INSTR_UNK30                            0x40000000
 #define A5XX_VFD_DECODE_INSTR_FLOAT                            0x80000000
 
@@ -3960,6 +4140,7 @@ static inline uint32_t A5XX_SP_FS_CTRL_REG0_BRANCHSTACK(uint32_t val)
 #define REG_A5XX_SP_BLEND_CNTL                                 0x0000e5c9
 #define A5XX_SP_BLEND_CNTL_ENABLED                             0x00000001
 #define A5XX_SP_BLEND_CNTL_UNK8                                        0x00000100
+#define A5XX_SP_BLEND_CNTL_ALPHA_TO_COVERAGE                   0x00000400
 
 #define REG_A5XX_SP_FS_OUTPUT_CNTL                             0x0000e5ca
 #define A5XX_SP_FS_OUTPUT_CNTL_MRT__MASK                       0x0000000f
@@ -4001,16 +4182,12 @@ static inline uint32_t A5XX_SP_FS_MRT_REG_COLOR_FORMAT(enum a5xx_color_fmt val)
 {
        return ((val) << A5XX_SP_FS_MRT_REG_COLOR_FORMAT__SHIFT) & A5XX_SP_FS_MRT_REG_COLOR_FORMAT__MASK;
 }
+#define A5XX_SP_FS_MRT_REG_COLOR_SINT                          0x00000100
+#define A5XX_SP_FS_MRT_REG_COLOR_UINT                          0x00000200
 #define A5XX_SP_FS_MRT_REG_COLOR_SRGB                          0x00000400
 
 #define REG_A5XX_UNKNOWN_E5DB                                  0x0000e5db
 
-#define REG_A5XX_UNKNOWN_E5F2                                  0x0000e5f2
-
-#define REG_A5XX_SP_CS_OBJ_START_LO                            0x0000e5f3
-
-#define REG_A5XX_SP_CS_OBJ_START_HI                            0x0000e5f4
-
 #define REG_A5XX_SP_CS_CTRL_REG0                               0x0000e5f0
 #define A5XX_SP_CS_CTRL_REG0_THREADSIZE__MASK                  0x00000008
 #define A5XX_SP_CS_CTRL_REG0_THREADSIZE__SHIFT                 3
@@ -4039,7 +4216,39 @@ static inline uint32_t A5XX_SP_CS_CTRL_REG0_BRANCHSTACK(uint32_t val)
        return ((val) << A5XX_SP_CS_CTRL_REG0_BRANCHSTACK__SHIFT) & A5XX_SP_CS_CTRL_REG0_BRANCHSTACK__MASK;
 }
 
-#define REG_A5XX_UNKNOWN_E600                                  0x0000e600
+#define REG_A5XX_UNKNOWN_E5F2                                  0x0000e5f2
+
+#define REG_A5XX_SP_CS_OBJ_START_LO                            0x0000e5f3
+
+#define REG_A5XX_SP_CS_OBJ_START_HI                            0x0000e5f4
+
+#define REG_A5XX_SP_HS_CTRL_REG0                               0x0000e600
+#define A5XX_SP_HS_CTRL_REG0_THREADSIZE__MASK                  0x00000008
+#define A5XX_SP_HS_CTRL_REG0_THREADSIZE__SHIFT                 3
+static inline uint32_t A5XX_SP_HS_CTRL_REG0_THREADSIZE(enum a3xx_threadsize val)
+{
+       return ((val) << A5XX_SP_HS_CTRL_REG0_THREADSIZE__SHIFT) & A5XX_SP_HS_CTRL_REG0_THREADSIZE__MASK;
+}
+#define A5XX_SP_HS_CTRL_REG0_HALFREGFOOTPRINT__MASK            0x000003f0
+#define A5XX_SP_HS_CTRL_REG0_HALFREGFOOTPRINT__SHIFT           4
+static inline uint32_t A5XX_SP_HS_CTRL_REG0_HALFREGFOOTPRINT(uint32_t val)
+{
+       return ((val) << A5XX_SP_HS_CTRL_REG0_HALFREGFOOTPRINT__SHIFT) & A5XX_SP_HS_CTRL_REG0_HALFREGFOOTPRINT__MASK;
+}
+#define A5XX_SP_HS_CTRL_REG0_FULLREGFOOTPRINT__MASK            0x0000fc00
+#define A5XX_SP_HS_CTRL_REG0_FULLREGFOOTPRINT__SHIFT           10
+static inline uint32_t A5XX_SP_HS_CTRL_REG0_FULLREGFOOTPRINT(uint32_t val)
+{
+       return ((val) << A5XX_SP_HS_CTRL_REG0_FULLREGFOOTPRINT__SHIFT) & A5XX_SP_HS_CTRL_REG0_FULLREGFOOTPRINT__MASK;
+}
+#define A5XX_SP_HS_CTRL_REG0_VARYING                           0x00010000
+#define A5XX_SP_HS_CTRL_REG0_PIXLODENABLE                      0x00100000
+#define A5XX_SP_HS_CTRL_REG0_BRANCHSTACK__MASK                 0xfe000000
+#define A5XX_SP_HS_CTRL_REG0_BRANCHSTACK__SHIFT                        25
+static inline uint32_t A5XX_SP_HS_CTRL_REG0_BRANCHSTACK(uint32_t val)
+{
+       return ((val) << A5XX_SP_HS_CTRL_REG0_BRANCHSTACK__SHIFT) & A5XX_SP_HS_CTRL_REG0_BRANCHSTACK__MASK;
+}
 
 #define REG_A5XX_UNKNOWN_E602                                  0x0000e602
 
@@ -4047,13 +4256,67 @@ static inline uint32_t A5XX_SP_CS_CTRL_REG0_BRANCHSTACK(uint32_t val)
 
 #define REG_A5XX_SP_HS_OBJ_START_HI                            0x0000e604
 
+#define REG_A5XX_SP_DS_CTRL_REG0                               0x0000e610
+#define A5XX_SP_DS_CTRL_REG0_THREADSIZE__MASK                  0x00000008
+#define A5XX_SP_DS_CTRL_REG0_THREADSIZE__SHIFT                 3
+static inline uint32_t A5XX_SP_DS_CTRL_REG0_THREADSIZE(enum a3xx_threadsize val)
+{
+       return ((val) << A5XX_SP_DS_CTRL_REG0_THREADSIZE__SHIFT) & A5XX_SP_DS_CTRL_REG0_THREADSIZE__MASK;
+}
+#define A5XX_SP_DS_CTRL_REG0_HALFREGFOOTPRINT__MASK            0x000003f0
+#define A5XX_SP_DS_CTRL_REG0_HALFREGFOOTPRINT__SHIFT           4
+static inline uint32_t A5XX_SP_DS_CTRL_REG0_HALFREGFOOTPRINT(uint32_t val)
+{
+       return ((val) << A5XX_SP_DS_CTRL_REG0_HALFREGFOOTPRINT__SHIFT) & A5XX_SP_DS_CTRL_REG0_HALFREGFOOTPRINT__MASK;
+}
+#define A5XX_SP_DS_CTRL_REG0_FULLREGFOOTPRINT__MASK            0x0000fc00
+#define A5XX_SP_DS_CTRL_REG0_FULLREGFOOTPRINT__SHIFT           10
+static inline uint32_t A5XX_SP_DS_CTRL_REG0_FULLREGFOOTPRINT(uint32_t val)
+{
+       return ((val) << A5XX_SP_DS_CTRL_REG0_FULLREGFOOTPRINT__SHIFT) & A5XX_SP_DS_CTRL_REG0_FULLREGFOOTPRINT__MASK;
+}
+#define A5XX_SP_DS_CTRL_REG0_VARYING                           0x00010000
+#define A5XX_SP_DS_CTRL_REG0_PIXLODENABLE                      0x00100000
+#define A5XX_SP_DS_CTRL_REG0_BRANCHSTACK__MASK                 0xfe000000
+#define A5XX_SP_DS_CTRL_REG0_BRANCHSTACK__SHIFT                        25
+static inline uint32_t A5XX_SP_DS_CTRL_REG0_BRANCHSTACK(uint32_t val)
+{
+       return ((val) << A5XX_SP_DS_CTRL_REG0_BRANCHSTACK__SHIFT) & A5XX_SP_DS_CTRL_REG0_BRANCHSTACK__MASK;
+}
+
 #define REG_A5XX_UNKNOWN_E62B                                  0x0000e62b
 
 #define REG_A5XX_SP_DS_OBJ_START_LO                            0x0000e62c
 
 #define REG_A5XX_SP_DS_OBJ_START_HI                            0x0000e62d
 
-#define REG_A5XX_UNKNOWN_E640                                  0x0000e640
+#define REG_A5XX_SP_GS_CTRL_REG0                               0x0000e640
+#define A5XX_SP_GS_CTRL_REG0_THREADSIZE__MASK                  0x00000008
+#define A5XX_SP_GS_CTRL_REG0_THREADSIZE__SHIFT                 3
+static inline uint32_t A5XX_SP_GS_CTRL_REG0_THREADSIZE(enum a3xx_threadsize val)
+{
+       return ((val) << A5XX_SP_GS_CTRL_REG0_THREADSIZE__SHIFT) & A5XX_SP_GS_CTRL_REG0_THREADSIZE__MASK;
+}
+#define A5XX_SP_GS_CTRL_REG0_HALFREGFOOTPRINT__MASK            0x000003f0
+#define A5XX_SP_GS_CTRL_REG0_HALFREGFOOTPRINT__SHIFT           4
+static inline uint32_t A5XX_SP_GS_CTRL_REG0_HALFREGFOOTPRINT(uint32_t val)
+{
+       return ((val) << A5XX_SP_GS_CTRL_REG0_HALFREGFOOTPRINT__SHIFT) & A5XX_SP_GS_CTRL_REG0_HALFREGFOOTPRINT__MASK;
+}
+#define A5XX_SP_GS_CTRL_REG0_FULLREGFOOTPRINT__MASK            0x0000fc00
+#define A5XX_SP_GS_CTRL_REG0_FULLREGFOOTPRINT__SHIFT           10
+static inline uint32_t A5XX_SP_GS_CTRL_REG0_FULLREGFOOTPRINT(uint32_t val)
+{
+       return ((val) << A5XX_SP_GS_CTRL_REG0_FULLREGFOOTPRINT__SHIFT) & A5XX_SP_GS_CTRL_REG0_FULLREGFOOTPRINT__MASK;
+}
+#define A5XX_SP_GS_CTRL_REG0_VARYING                           0x00010000
+#define A5XX_SP_GS_CTRL_REG0_PIXLODENABLE                      0x00100000
+#define A5XX_SP_GS_CTRL_REG0_BRANCHSTACK__MASK                 0xfe000000
+#define A5XX_SP_GS_CTRL_REG0_BRANCHSTACK__SHIFT                        25
+static inline uint32_t A5XX_SP_GS_CTRL_REG0_BRANCHSTACK(uint32_t val)
+{
+       return ((val) << A5XX_SP_GS_CTRL_REG0_BRANCHSTACK__SHIFT) & A5XX_SP_GS_CTRL_REG0_BRANCHSTACK__MASK;
+}
 
 #define REG_A5XX_UNKNOWN_E65B                                  0x0000e65b
 
@@ -4173,6 +4436,18 @@ static inline uint32_t A5XX_HLSQ_CONTROL_2_REG_FACEREGID(uint32_t val)
 {
        return ((val) << A5XX_HLSQ_CONTROL_2_REG_FACEREGID__SHIFT) & A5XX_HLSQ_CONTROL_2_REG_FACEREGID__MASK;
 }
+#define A5XX_HLSQ_CONTROL_2_REG_SAMPLEID__MASK                 0x0000ff00
+#define A5XX_HLSQ_CONTROL_2_REG_SAMPLEID__SHIFT                        8
+static inline uint32_t A5XX_HLSQ_CONTROL_2_REG_SAMPLEID(uint32_t val)
+{
+       return ((val) << A5XX_HLSQ_CONTROL_2_REG_SAMPLEID__SHIFT) & A5XX_HLSQ_CONTROL_2_REG_SAMPLEID__MASK;
+}
+#define A5XX_HLSQ_CONTROL_2_REG_SAMPLEMASK__MASK               0x00ff0000
+#define A5XX_HLSQ_CONTROL_2_REG_SAMPLEMASK__SHIFT              16
+static inline uint32_t A5XX_HLSQ_CONTROL_2_REG_SAMPLEMASK(uint32_t val)
+{
+       return ((val) << A5XX_HLSQ_CONTROL_2_REG_SAMPLEMASK__SHIFT) & A5XX_HLSQ_CONTROL_2_REG_SAMPLEMASK__MASK;
+}
 
 #define REG_A5XX_HLSQ_CONTROL_3_REG                            0x0000e787
 #define A5XX_HLSQ_CONTROL_3_REG_FRAGCOORDXYREGID__MASK         0x000000ff
@@ -4375,34 +4650,52 @@ static inline uint32_t A5XX_HLSQ_CS_NDRANGE_0_LOCALSIZEZ(uint32_t val)
 }
 
 #define REG_A5XX_HLSQ_CS_NDRANGE_1                             0x0000e7b1
-#define A5XX_HLSQ_CS_NDRANGE_1_SIZE_X__MASK                    0xffffffff
-#define A5XX_HLSQ_CS_NDRANGE_1_SIZE_X__SHIFT                   0
-static inline uint32_t A5XX_HLSQ_CS_NDRANGE_1_SIZE_X(uint32_t val)
+#define A5XX_HLSQ_CS_NDRANGE_1_GLOBALSIZE_X__MASK              0xffffffff
+#define A5XX_HLSQ_CS_NDRANGE_1_GLOBALSIZE_X__SHIFT             0
+static inline uint32_t A5XX_HLSQ_CS_NDRANGE_1_GLOBALSIZE_X(uint32_t val)
 {
-       return ((val) << A5XX_HLSQ_CS_NDRANGE_1_SIZE_X__SHIFT) & A5XX_HLSQ_CS_NDRANGE_1_SIZE_X__MASK;
+       return ((val) << A5XX_HLSQ_CS_NDRANGE_1_GLOBALSIZE_X__SHIFT) & A5XX_HLSQ_CS_NDRANGE_1_GLOBALSIZE_X__MASK;
 }
 
 #define REG_A5XX_HLSQ_CS_NDRANGE_2                             0x0000e7b2
+#define A5XX_HLSQ_CS_NDRANGE_2_GLOBALOFF_X__MASK               0xffffffff
+#define A5XX_HLSQ_CS_NDRANGE_2_GLOBALOFF_X__SHIFT              0
+static inline uint32_t A5XX_HLSQ_CS_NDRANGE_2_GLOBALOFF_X(uint32_t val)
+{
+       return ((val) << A5XX_HLSQ_CS_NDRANGE_2_GLOBALOFF_X__SHIFT) & A5XX_HLSQ_CS_NDRANGE_2_GLOBALOFF_X__MASK;
+}
 
 #define REG_A5XX_HLSQ_CS_NDRANGE_3                             0x0000e7b3
-#define A5XX_HLSQ_CS_NDRANGE_3_SIZE_Y__MASK                    0xffffffff
-#define A5XX_HLSQ_CS_NDRANGE_3_SIZE_Y__SHIFT                   0
-static inline uint32_t A5XX_HLSQ_CS_NDRANGE_3_SIZE_Y(uint32_t val)
+#define A5XX_HLSQ_CS_NDRANGE_3_GLOBALSIZE_Y__MASK              0xffffffff
+#define A5XX_HLSQ_CS_NDRANGE_3_GLOBALSIZE_Y__SHIFT             0
+static inline uint32_t A5XX_HLSQ_CS_NDRANGE_3_GLOBALSIZE_Y(uint32_t val)
 {
-       return ((val) << A5XX_HLSQ_CS_NDRANGE_3_SIZE_Y__SHIFT) & A5XX_HLSQ_CS_NDRANGE_3_SIZE_Y__MASK;
+       return ((val) << A5XX_HLSQ_CS_NDRANGE_3_GLOBALSIZE_Y__SHIFT) & A5XX_HLSQ_CS_NDRANGE_3_GLOBALSIZE_Y__MASK;
 }
 
 #define REG_A5XX_HLSQ_CS_NDRANGE_4                             0x0000e7b4
+#define A5XX_HLSQ_CS_NDRANGE_4_GLOBALOFF_Y__MASK               0xffffffff
+#define A5XX_HLSQ_CS_NDRANGE_4_GLOBALOFF_Y__SHIFT              0
+static inline uint32_t A5XX_HLSQ_CS_NDRANGE_4_GLOBALOFF_Y(uint32_t val)
+{
+       return ((val) << A5XX_HLSQ_CS_NDRANGE_4_GLOBALOFF_Y__SHIFT) & A5XX_HLSQ_CS_NDRANGE_4_GLOBALOFF_Y__MASK;
+}
 
 #define REG_A5XX_HLSQ_CS_NDRANGE_5                             0x0000e7b5
-#define A5XX_HLSQ_CS_NDRANGE_5_SIZE_Z__MASK                    0xffffffff
-#define A5XX_HLSQ_CS_NDRANGE_5_SIZE_Z__SHIFT                   0
-static inline uint32_t A5XX_HLSQ_CS_NDRANGE_5_SIZE_Z(uint32_t val)
+#define A5XX_HLSQ_CS_NDRANGE_5_GLOBALSIZE_Z__MASK              0xffffffff
+#define A5XX_HLSQ_CS_NDRANGE_5_GLOBALSIZE_Z__SHIFT             0
+static inline uint32_t A5XX_HLSQ_CS_NDRANGE_5_GLOBALSIZE_Z(uint32_t val)
 {
-       return ((val) << A5XX_HLSQ_CS_NDRANGE_5_SIZE_Z__SHIFT) & A5XX_HLSQ_CS_NDRANGE_5_SIZE_Z__MASK;
+       return ((val) << A5XX_HLSQ_CS_NDRANGE_5_GLOBALSIZE_Z__SHIFT) & A5XX_HLSQ_CS_NDRANGE_5_GLOBALSIZE_Z__MASK;
 }
 
 #define REG_A5XX_HLSQ_CS_NDRANGE_6                             0x0000e7b6
+#define A5XX_HLSQ_CS_NDRANGE_6_GLOBALOFF_Z__MASK               0xffffffff
+#define A5XX_HLSQ_CS_NDRANGE_6_GLOBALOFF_Z__SHIFT              0
+static inline uint32_t A5XX_HLSQ_CS_NDRANGE_6_GLOBALOFF_Z(uint32_t val)
+{
+       return ((val) << A5XX_HLSQ_CS_NDRANGE_6_GLOBALOFF_Z__SHIFT) & A5XX_HLSQ_CS_NDRANGE_6_GLOBALOFF_Z__MASK;
+}
 
 #define REG_A5XX_HLSQ_CS_CNTL_0                                        0x0000e7b7
 #define A5XX_HLSQ_CS_CNTL_0_WGIDCONSTID__MASK                  0x000000ff
@@ -4468,6 +4761,8 @@ static inline uint32_t A5XX_HLSQ_CS_CNTL_0_LOCALIDREGID(uint32_t val)
 
 #define REG_A5XX_HLSQ_CS_INSTRLEN                              0x0000e7dd
 
+#define REG_A5XX_RB_2D_BLIT_CNTL                               0x00002100
+
 #define REG_A5XX_RB_2D_SRC_SOLID_DW0                           0x00002101
 
 #define REG_A5XX_RB_2D_SRC_SOLID_DW1                           0x00002102
@@ -4483,12 +4778,19 @@ static inline uint32_t A5XX_RB_2D_SRC_INFO_COLOR_FORMAT(enum a5xx_color_fmt val)
 {
        return ((val) << A5XX_RB_2D_SRC_INFO_COLOR_FORMAT__SHIFT) & A5XX_RB_2D_SRC_INFO_COLOR_FORMAT__MASK;
 }
+#define A5XX_RB_2D_SRC_INFO_TILE_MODE__MASK                    0x00000300
+#define A5XX_RB_2D_SRC_INFO_TILE_MODE__SHIFT                   8
+static inline uint32_t A5XX_RB_2D_SRC_INFO_TILE_MODE(enum a5xx_tile_mode val)
+{
+       return ((val) << A5XX_RB_2D_SRC_INFO_TILE_MODE__SHIFT) & A5XX_RB_2D_SRC_INFO_TILE_MODE__MASK;
+}
 #define A5XX_RB_2D_SRC_INFO_COLOR_SWAP__MASK                   0x00000c00
 #define A5XX_RB_2D_SRC_INFO_COLOR_SWAP__SHIFT                  10
 static inline uint32_t A5XX_RB_2D_SRC_INFO_COLOR_SWAP(enum a3xx_color_swap val)
 {
        return ((val) << A5XX_RB_2D_SRC_INFO_COLOR_SWAP__SHIFT) & A5XX_RB_2D_SRC_INFO_COLOR_SWAP__MASK;
 }
+#define A5XX_RB_2D_SRC_INFO_FLAGS                              0x00001000
 
 #define REG_A5XX_RB_2D_SRC_LO                                  0x00002108
 
@@ -4515,12 +4817,19 @@ static inline uint32_t A5XX_RB_2D_DST_INFO_COLOR_FORMAT(enum a5xx_color_fmt val)
 {
        return ((val) << A5XX_RB_2D_DST_INFO_COLOR_FORMAT__SHIFT) & A5XX_RB_2D_DST_INFO_COLOR_FORMAT__MASK;
 }
+#define A5XX_RB_2D_DST_INFO_TILE_MODE__MASK                    0x00000300
+#define A5XX_RB_2D_DST_INFO_TILE_MODE__SHIFT                   8
+static inline uint32_t A5XX_RB_2D_DST_INFO_TILE_MODE(enum a5xx_tile_mode val)
+{
+       return ((val) << A5XX_RB_2D_DST_INFO_TILE_MODE__SHIFT) & A5XX_RB_2D_DST_INFO_TILE_MODE__MASK;
+}
 #define A5XX_RB_2D_DST_INFO_COLOR_SWAP__MASK                   0x00000c00
 #define A5XX_RB_2D_DST_INFO_COLOR_SWAP__SHIFT                  10
 static inline uint32_t A5XX_RB_2D_DST_INFO_COLOR_SWAP(enum a3xx_color_swap val)
 {
        return ((val) << A5XX_RB_2D_DST_INFO_COLOR_SWAP__SHIFT) & A5XX_RB_2D_DST_INFO_COLOR_SWAP__MASK;
 }
+#define A5XX_RB_2D_DST_INFO_FLAGS                              0x00001000
 
 #define REG_A5XX_RB_2D_DST_LO                                  0x00002111
 
@@ -4548,6 +4857,8 @@ static inline uint32_t A5XX_RB_2D_DST_SIZE_ARRAY_PITCH(uint32_t val)
 
 #define REG_A5XX_RB_2D_DST_FLAGS_HI                            0x00002144
 
+#define REG_A5XX_GRAS_2D_BLIT_CNTL                             0x00002180
+
 #define REG_A5XX_GRAS_2D_SRC_INFO                              0x00002181
 #define A5XX_GRAS_2D_SRC_INFO_COLOR_FORMAT__MASK               0x000000ff
 #define A5XX_GRAS_2D_SRC_INFO_COLOR_FORMAT__SHIFT              0
@@ -4555,12 +4866,19 @@ static inline uint32_t A5XX_GRAS_2D_SRC_INFO_COLOR_FORMAT(enum a5xx_color_fmt va
 {
        return ((val) << A5XX_GRAS_2D_SRC_INFO_COLOR_FORMAT__SHIFT) & A5XX_GRAS_2D_SRC_INFO_COLOR_FORMAT__MASK;
 }
+#define A5XX_GRAS_2D_SRC_INFO_TILE_MODE__MASK                  0x00000300
+#define A5XX_GRAS_2D_SRC_INFO_TILE_MODE__SHIFT                 8
+static inline uint32_t A5XX_GRAS_2D_SRC_INFO_TILE_MODE(enum a5xx_tile_mode val)
+{
+       return ((val) << A5XX_GRAS_2D_SRC_INFO_TILE_MODE__SHIFT) & A5XX_GRAS_2D_SRC_INFO_TILE_MODE__MASK;
+}
 #define A5XX_GRAS_2D_SRC_INFO_COLOR_SWAP__MASK                 0x00000c00
 #define A5XX_GRAS_2D_SRC_INFO_COLOR_SWAP__SHIFT                        10
 static inline uint32_t A5XX_GRAS_2D_SRC_INFO_COLOR_SWAP(enum a3xx_color_swap val)
 {
        return ((val) << A5XX_GRAS_2D_SRC_INFO_COLOR_SWAP__SHIFT) & A5XX_GRAS_2D_SRC_INFO_COLOR_SWAP__MASK;
 }
+#define A5XX_GRAS_2D_SRC_INFO_FLAGS                            0x00001000
 
 #define REG_A5XX_GRAS_2D_DST_INFO                              0x00002182
 #define A5XX_GRAS_2D_DST_INFO_COLOR_FORMAT__MASK               0x000000ff
@@ -4569,12 +4887,19 @@ static inline uint32_t A5XX_GRAS_2D_DST_INFO_COLOR_FORMAT(enum a5xx_color_fmt va
 {
        return ((val) << A5XX_GRAS_2D_DST_INFO_COLOR_FORMAT__SHIFT) & A5XX_GRAS_2D_DST_INFO_COLOR_FORMAT__MASK;
 }
+#define A5XX_GRAS_2D_DST_INFO_TILE_MODE__MASK                  0x00000300
+#define A5XX_GRAS_2D_DST_INFO_TILE_MODE__SHIFT                 8
+static inline uint32_t A5XX_GRAS_2D_DST_INFO_TILE_MODE(enum a5xx_tile_mode val)
+{
+       return ((val) << A5XX_GRAS_2D_DST_INFO_TILE_MODE__SHIFT) & A5XX_GRAS_2D_DST_INFO_TILE_MODE__MASK;
+}
 #define A5XX_GRAS_2D_DST_INFO_COLOR_SWAP__MASK                 0x00000c00
 #define A5XX_GRAS_2D_DST_INFO_COLOR_SWAP__SHIFT                        10
 static inline uint32_t A5XX_GRAS_2D_DST_INFO_COLOR_SWAP(enum a3xx_color_swap val)
 {
        return ((val) << A5XX_GRAS_2D_DST_INFO_COLOR_SWAP__SHIFT) & A5XX_GRAS_2D_DST_INFO_COLOR_SWAP__MASK;
 }
+#define A5XX_GRAS_2D_DST_INFO_FLAGS                            0x00001000
 
 #define REG_A5XX_UNKNOWN_2100                                  0x00002100
 
@@ -4698,6 +5023,12 @@ static inline uint32_t A5XX_TEX_CONST_0_MIPLVLS(uint32_t val)
 {
        return ((val) << A5XX_TEX_CONST_0_MIPLVLS__SHIFT) & A5XX_TEX_CONST_0_MIPLVLS__MASK;
 }
+#define A5XX_TEX_CONST_0_SAMPLES__MASK                         0x00300000
+#define A5XX_TEX_CONST_0_SAMPLES__SHIFT                                20
+static inline uint32_t A5XX_TEX_CONST_0_SAMPLES(enum a3xx_msaa_samples val)
+{
+       return ((val) << A5XX_TEX_CONST_0_SAMPLES__SHIFT) & A5XX_TEX_CONST_0_SAMPLES__MASK;
+}
 #define A5XX_TEX_CONST_0_FMT__MASK                             0x3fc00000
 #define A5XX_TEX_CONST_0_FMT__SHIFT                            22
 static inline uint32_t A5XX_TEX_CONST_0_FMT(enum a5xx_tex_fmt val)
@@ -4788,5 +5119,81 @@ static inline uint32_t A5XX_TEX_CONST_5_DEPTH(uint32_t val)
 
 #define REG_A5XX_TEX_CONST_11                                  0x0000000b
 
+#define REG_A5XX_SSBO_0_0                                      0x00000000
+#define A5XX_SSBO_0_0_BASE_LO__MASK                            0xffffffe0
+#define A5XX_SSBO_0_0_BASE_LO__SHIFT                           5
+static inline uint32_t A5XX_SSBO_0_0_BASE_LO(uint32_t val)
+{
+       return ((val >> 5) << A5XX_SSBO_0_0_BASE_LO__SHIFT) & A5XX_SSBO_0_0_BASE_LO__MASK;
+}
+
+#define REG_A5XX_SSBO_0_1                                      0x00000001
+#define A5XX_SSBO_0_1_PITCH__MASK                              0x003fffff
+#define A5XX_SSBO_0_1_PITCH__SHIFT                             0
+static inline uint32_t A5XX_SSBO_0_1_PITCH(uint32_t val)
+{
+       return ((val) << A5XX_SSBO_0_1_PITCH__SHIFT) & A5XX_SSBO_0_1_PITCH__MASK;
+}
+
+#define REG_A5XX_SSBO_0_2                                      0x00000002
+#define A5XX_SSBO_0_2_ARRAY_PITCH__MASK                                0x03fff000
+#define A5XX_SSBO_0_2_ARRAY_PITCH__SHIFT                       12
+static inline uint32_t A5XX_SSBO_0_2_ARRAY_PITCH(uint32_t val)
+{
+       return ((val >> 12) << A5XX_SSBO_0_2_ARRAY_PITCH__SHIFT) & A5XX_SSBO_0_2_ARRAY_PITCH__MASK;
+}
+
+#define REG_A5XX_SSBO_0_3                                      0x00000003
+#define A5XX_SSBO_0_3_CPP__MASK                                        0x0000003f
+#define A5XX_SSBO_0_3_CPP__SHIFT                               0
+static inline uint32_t A5XX_SSBO_0_3_CPP(uint32_t val)
+{
+       return ((val) << A5XX_SSBO_0_3_CPP__SHIFT) & A5XX_SSBO_0_3_CPP__MASK;
+}
+
+#define REG_A5XX_SSBO_1_0                                      0x00000000
+#define A5XX_SSBO_1_0_FMT__MASK                                        0x0000ff00
+#define A5XX_SSBO_1_0_FMT__SHIFT                               8
+static inline uint32_t A5XX_SSBO_1_0_FMT(enum a5xx_tex_fmt val)
+{
+       return ((val) << A5XX_SSBO_1_0_FMT__SHIFT) & A5XX_SSBO_1_0_FMT__MASK;
+}
+#define A5XX_SSBO_1_0_WIDTH__MASK                              0xffff0000
+#define A5XX_SSBO_1_0_WIDTH__SHIFT                             16
+static inline uint32_t A5XX_SSBO_1_0_WIDTH(uint32_t val)
+{
+       return ((val) << A5XX_SSBO_1_0_WIDTH__SHIFT) & A5XX_SSBO_1_0_WIDTH__MASK;
+}
+
+#define REG_A5XX_SSBO_1_1                                      0x00000001
+#define A5XX_SSBO_1_1_HEIGHT__MASK                             0x0000ffff
+#define A5XX_SSBO_1_1_HEIGHT__SHIFT                            0
+static inline uint32_t A5XX_SSBO_1_1_HEIGHT(uint32_t val)
+{
+       return ((val) << A5XX_SSBO_1_1_HEIGHT__SHIFT) & A5XX_SSBO_1_1_HEIGHT__MASK;
+}
+#define A5XX_SSBO_1_1_DEPTH__MASK                              0xffff0000
+#define A5XX_SSBO_1_1_DEPTH__SHIFT                             16
+static inline uint32_t A5XX_SSBO_1_1_DEPTH(uint32_t val)
+{
+       return ((val) << A5XX_SSBO_1_1_DEPTH__SHIFT) & A5XX_SSBO_1_1_DEPTH__MASK;
+}
+
+#define REG_A5XX_SSBO_2_0                                      0x00000000
+#define A5XX_SSBO_2_0_BASE_LO__MASK                            0xffffffff
+#define A5XX_SSBO_2_0_BASE_LO__SHIFT                           0
+static inline uint32_t A5XX_SSBO_2_0_BASE_LO(uint32_t val)
+{
+       return ((val) << A5XX_SSBO_2_0_BASE_LO__SHIFT) & A5XX_SSBO_2_0_BASE_LO__MASK;
+}
+
+#define REG_A5XX_SSBO_2_1                                      0x00000001
+#define A5XX_SSBO_2_1_BASE_HI__MASK                            0xffffffff
+#define A5XX_SSBO_2_1_BASE_HI__SHIFT                           0
+static inline uint32_t A5XX_SSBO_2_1_BASE_HI(uint32_t val)
+{
+       return ((val) << A5XX_SSBO_2_1_BASE_HI__SHIFT) & A5XX_SSBO_2_1_BASE_HI__MASK;
+}
+
 
 #endif /* A5XX_XML */
diff --git a/drivers/gpu/drm/msm/adreno/a6xx.xml.h b/drivers/gpu/drm/msm/adreno/a6xx.xml.h
new file mode 100644 (file)
index 0000000..87eab51
--- /dev/null
@@ -0,0 +1,4562 @@
+#ifndef A6XX_XML
+#define A6XX_XML
+
+/* Autogenerated file, DO NOT EDIT manually!
+
+This file was generated by the rules-ng-ng headergen tool in this git repository:
+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/envytools/rnndb/adreno.xml               (    501 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/freedreno_copyright.xml  (   1572 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/adreno/a2xx.xml          (  36805 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/adreno/adreno_common.xml (  13634 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/adreno/adreno_pm4.xml    (  42393 bytes, from 2018-08-06 18:45:45)
+- /home/robclark/src/envytools/rnndb/adreno/a3xx.xml          (  83840 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/adreno/a4xx.xml          ( 112086 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/adreno/a5xx.xml          ( 147240 bytes, from 2018-08-06 18:45:45)
+- /home/robclark/src/envytools/rnndb/adreno/a6xx.xml          ( 101627 bytes, from 2018-08-06 18:45:45)
+- /home/robclark/src/envytools/rnndb/adreno/a6xx_gmu.xml      (  10431 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/adreno/ocmem.xml         (   1773 bytes, from 2018-07-03 19:37:13)
+
+Copyright (C) 2013-2018 by the following authors:
+- Rob Clark <robdclark@gmail.com> (robclark)
+- Ilia Mirkin <imirkin@alum.mit.edu> (imirkin)
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice (including the
+next paragraph) shall be included in all copies or substantial
+portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+*/
+
+
+enum a6xx_color_fmt {
+       RB6_A8_UNORM = 2,
+       RB6_R8_UNORM = 3,
+       RB6_R8_SNORM = 4,
+       RB6_R8_UINT = 5,
+       RB6_R8_SINT = 6,
+       RB6_R4G4B4A4_UNORM = 8,
+       RB6_R5G5B5A1_UNORM = 10,
+       RB6_R5G6B5_UNORM = 14,
+       RB6_R8G8_UNORM = 15,
+       RB6_R8G8_SNORM = 16,
+       RB6_R8G8_UINT = 17,
+       RB6_R8G8_SINT = 18,
+       RB6_R16_UNORM = 21,
+       RB6_R16_SNORM = 22,
+       RB6_R16_FLOAT = 23,
+       RB6_R16_UINT = 24,
+       RB6_R16_SINT = 25,
+       RB6_R8G8B8A8_UNORM = 48,
+       RB6_R8G8B8_UNORM = 49,
+       RB6_R8G8B8A8_SNORM = 50,
+       RB6_R8G8B8A8_UINT = 51,
+       RB6_R8G8B8A8_SINT = 52,
+       RB6_R10G10B10A2_UNORM = 55,
+       RB6_R10G10B10A2_UINT = 58,
+       RB6_R11G11B10_FLOAT = 66,
+       RB6_R16G16_UNORM = 67,
+       RB6_R16G16_SNORM = 68,
+       RB6_R16G16_FLOAT = 69,
+       RB6_R16G16_UINT = 70,
+       RB6_R16G16_SINT = 71,
+       RB6_R32_FLOAT = 74,
+       RB6_R32_UINT = 75,
+       RB6_R32_SINT = 76,
+       RB6_R16G16B16A16_UNORM = 96,
+       RB6_R16G16B16A16_SNORM = 97,
+       RB6_R16G16B16A16_FLOAT = 98,
+       RB6_R16G16B16A16_UINT = 99,
+       RB6_R16G16B16A16_SINT = 100,
+       RB6_R32G32_FLOAT = 103,
+       RB6_R32G32_UINT = 104,
+       RB6_R32G32_SINT = 105,
+       RB6_R32G32B32A32_FLOAT = 130,
+       RB6_R32G32B32A32_UINT = 131,
+       RB6_R32G32B32A32_SINT = 132,
+       RB6_X8Z24_UNORM = 160,
+};
+
+enum a6xx_tile_mode {
+       TILE6_LINEAR = 0,
+       TILE6_2 = 2,
+       TILE6_3 = 3,
+};
+
+enum a6xx_vtx_fmt {
+       VFMT6_8_UNORM = 3,
+       VFMT6_8_SNORM = 4,
+       VFMT6_8_UINT = 5,
+       VFMT6_8_SINT = 6,
+       VFMT6_8_8_UNORM = 15,
+       VFMT6_8_8_SNORM = 16,
+       VFMT6_8_8_UINT = 17,
+       VFMT6_8_8_SINT = 18,
+       VFMT6_16_UNORM = 21,
+       VFMT6_16_SNORM = 22,
+       VFMT6_16_FLOAT = 23,
+       VFMT6_16_UINT = 24,
+       VFMT6_16_SINT = 25,
+       VFMT6_8_8_8_UNORM = 33,
+       VFMT6_8_8_8_SNORM = 34,
+       VFMT6_8_8_8_UINT = 35,
+       VFMT6_8_8_8_SINT = 36,
+       VFMT6_8_8_8_8_UNORM = 48,
+       VFMT6_8_8_8_8_SNORM = 50,
+       VFMT6_8_8_8_8_UINT = 51,
+       VFMT6_8_8_8_8_SINT = 52,
+       VFMT6_10_10_10_2_UNORM = 54,
+       VFMT6_10_10_10_2_SNORM = 57,
+       VFMT6_10_10_10_2_UINT = 58,
+       VFMT6_10_10_10_2_SINT = 59,
+       VFMT6_11_11_10_FLOAT = 66,
+       VFMT6_16_16_UNORM = 67,
+       VFMT6_16_16_SNORM = 68,
+       VFMT6_16_16_FLOAT = 69,
+       VFMT6_16_16_UINT = 70,
+       VFMT6_16_16_SINT = 71,
+       VFMT6_32_UNORM = 72,
+       VFMT6_32_SNORM = 73,
+       VFMT6_32_FLOAT = 74,
+       VFMT6_32_UINT = 75,
+       VFMT6_32_SINT = 76,
+       VFMT6_32_FIXED = 77,
+       VFMT6_16_16_16_UNORM = 88,
+       VFMT6_16_16_16_SNORM = 89,
+       VFMT6_16_16_16_FLOAT = 90,
+       VFMT6_16_16_16_UINT = 91,
+       VFMT6_16_16_16_SINT = 92,
+       VFMT6_16_16_16_16_UNORM = 96,
+       VFMT6_16_16_16_16_SNORM = 97,
+       VFMT6_16_16_16_16_FLOAT = 98,
+       VFMT6_16_16_16_16_UINT = 99,
+       VFMT6_16_16_16_16_SINT = 100,
+       VFMT6_32_32_UNORM = 101,
+       VFMT6_32_32_SNORM = 102,
+       VFMT6_32_32_FLOAT = 103,
+       VFMT6_32_32_UINT = 104,
+       VFMT6_32_32_SINT = 105,
+       VFMT6_32_32_FIXED = 106,
+       VFMT6_32_32_32_UNORM = 112,
+       VFMT6_32_32_32_SNORM = 113,
+       VFMT6_32_32_32_UINT = 114,
+       VFMT6_32_32_32_SINT = 115,
+       VFMT6_32_32_32_FLOAT = 116,
+       VFMT6_32_32_32_FIXED = 117,
+       VFMT6_32_32_32_32_UNORM = 128,
+       VFMT6_32_32_32_32_SNORM = 129,
+       VFMT6_32_32_32_32_FLOAT = 130,
+       VFMT6_32_32_32_32_UINT = 131,
+       VFMT6_32_32_32_32_SINT = 132,
+       VFMT6_32_32_32_32_FIXED = 133,
+};
+
+enum a6xx_tex_fmt {
+       TFMT6_A8_UNORM = 2,
+       TFMT6_8_UNORM = 3,
+       TFMT6_8_SNORM = 4,
+       TFMT6_8_UINT = 5,
+       TFMT6_8_SINT = 6,
+       TFMT6_4_4_4_4_UNORM = 8,
+       TFMT6_5_5_5_1_UNORM = 10,
+       TFMT6_5_6_5_UNORM = 14,
+       TFMT6_8_8_UNORM = 15,
+       TFMT6_8_8_SNORM = 16,
+       TFMT6_8_8_UINT = 17,
+       TFMT6_8_8_SINT = 18,
+       TFMT6_L8_A8_UNORM = 19,
+       TFMT6_16_UNORM = 21,
+       TFMT6_16_SNORM = 22,
+       TFMT6_16_FLOAT = 23,
+       TFMT6_16_UINT = 24,
+       TFMT6_16_SINT = 25,
+       TFMT6_8_8_8_8_UNORM = 48,
+       TFMT6_8_8_8_UNORM = 49,
+       TFMT6_8_8_8_8_SNORM = 50,
+       TFMT6_8_8_8_8_UINT = 51,
+       TFMT6_8_8_8_8_SINT = 52,
+       TFMT6_9_9_9_E5_FLOAT = 53,
+       TFMT6_10_10_10_2_UNORM = 54,
+       TFMT6_10_10_10_2_UINT = 58,
+       TFMT6_11_11_10_FLOAT = 66,
+       TFMT6_16_16_UNORM = 67,
+       TFMT6_16_16_SNORM = 68,
+       TFMT6_16_16_FLOAT = 69,
+       TFMT6_16_16_UINT = 70,
+       TFMT6_16_16_SINT = 71,
+       TFMT6_32_FLOAT = 74,
+       TFMT6_32_UINT = 75,
+       TFMT6_32_SINT = 76,
+       TFMT6_16_16_16_16_UNORM = 96,
+       TFMT6_16_16_16_16_SNORM = 97,
+       TFMT6_16_16_16_16_FLOAT = 98,
+       TFMT6_16_16_16_16_UINT = 99,
+       TFMT6_16_16_16_16_SINT = 100,
+       TFMT6_32_32_FLOAT = 103,
+       TFMT6_32_32_UINT = 104,
+       TFMT6_32_32_SINT = 105,
+       TFMT6_32_32_32_UINT = 114,
+       TFMT6_32_32_32_SINT = 115,
+       TFMT6_32_32_32_FLOAT = 116,
+       TFMT6_32_32_32_32_FLOAT = 130,
+       TFMT6_32_32_32_32_UINT = 131,
+       TFMT6_32_32_32_32_SINT = 132,
+       TFMT6_X8Z24_UNORM = 160,
+       TFMT6_ETC2_RG11_UNORM = 171,
+       TFMT6_ETC2_RG11_SNORM = 172,
+       TFMT6_ETC2_R11_UNORM = 173,
+       TFMT6_ETC2_R11_SNORM = 174,
+       TFMT6_ETC1 = 175,
+       TFMT6_ETC2_RGB8 = 176,
+       TFMT6_ETC2_RGBA8 = 177,
+       TFMT6_ETC2_RGB8A1 = 178,
+       TFMT6_DXT1 = 179,
+       TFMT6_DXT3 = 180,
+       TFMT6_DXT5 = 181,
+       TFMT6_RGTC1_UNORM = 183,
+       TFMT6_RGTC1_SNORM = 184,
+       TFMT6_RGTC2_UNORM = 187,
+       TFMT6_RGTC2_SNORM = 188,
+       TFMT6_BPTC_UFLOAT = 190,
+       TFMT6_BPTC_FLOAT = 191,
+       TFMT6_BPTC = 192,
+       TFMT6_ASTC_4x4 = 193,
+       TFMT6_ASTC_5x4 = 194,
+       TFMT6_ASTC_5x5 = 195,
+       TFMT6_ASTC_6x5 = 196,
+       TFMT6_ASTC_6x6 = 197,
+       TFMT6_ASTC_8x5 = 198,
+       TFMT6_ASTC_8x6 = 199,
+       TFMT6_ASTC_8x8 = 200,
+       TFMT6_ASTC_10x5 = 201,
+       TFMT6_ASTC_10x6 = 202,
+       TFMT6_ASTC_10x8 = 203,
+       TFMT6_ASTC_10x10 = 204,
+       TFMT6_ASTC_12x10 = 205,
+       TFMT6_ASTC_12x12 = 206,
+};
+
+enum a6xx_tex_fetchsize {
+       TFETCH6_1_BYTE = 0,
+       TFETCH6_2_BYTE = 1,
+       TFETCH6_4_BYTE = 2,
+       TFETCH6_8_BYTE = 3,
+       TFETCH6_16_BYTE = 4,
+};
+
+enum a6xx_depth_format {
+       DEPTH6_NONE = 0,
+       DEPTH6_16 = 1,
+       DEPTH6_24_8 = 2,
+       DEPTH6_32 = 4,
+};
+
+enum a6xx_cp_perfcounter_select {
+       PERF_CP_ALWAYS_COUNT = 0,
+};
+
+enum a6xx_tex_filter {
+       A6XX_TEX_NEAREST = 0,
+       A6XX_TEX_LINEAR = 1,
+       A6XX_TEX_ANISO = 2,
+};
+
+enum a6xx_tex_clamp {
+       A6XX_TEX_REPEAT = 0,
+       A6XX_TEX_CLAMP_TO_EDGE = 1,
+       A6XX_TEX_MIRROR_REPEAT = 2,
+       A6XX_TEX_CLAMP_TO_BORDER = 3,
+       A6XX_TEX_MIRROR_CLAMP = 4,
+};
+
+enum a6xx_tex_aniso {
+       A6XX_TEX_ANISO_1 = 0,
+       A6XX_TEX_ANISO_2 = 1,
+       A6XX_TEX_ANISO_4 = 2,
+       A6XX_TEX_ANISO_8 = 3,
+       A6XX_TEX_ANISO_16 = 4,
+};
+
+enum a6xx_tex_swiz {
+       A6XX_TEX_X = 0,
+       A6XX_TEX_Y = 1,
+       A6XX_TEX_Z = 2,
+       A6XX_TEX_W = 3,
+       A6XX_TEX_ZERO = 4,
+       A6XX_TEX_ONE = 5,
+};
+
+enum a6xx_tex_type {
+       A6XX_TEX_1D = 0,
+       A6XX_TEX_2D = 1,
+       A6XX_TEX_CUBE = 2,
+       A6XX_TEX_3D = 3,
+};
+
+#define A6XX_RBBM_INT_0_MASK_RBBM_GPU_IDLE                     0x00000001
+#define A6XX_RBBM_INT_0_MASK_CP_AHB_ERROR                      0x00000002
+#define A6XX_RBBM_INT_0_MASK_RBBM_ATB_ASYNCFIFO_OVERFLOW       0x00000040
+#define A6XX_RBBM_INT_0_MASK_RBBM_GPC_ERROR                    0x00000080
+#define A6XX_RBBM_INT_0_MASK_CP_SW                             0x00000100
+#define A6XX_RBBM_INT_0_MASK_CP_HW_ERROR                       0x00000200
+#define A6XX_RBBM_INT_0_MASK_CP_CCU_FLUSH_DEPTH_TS             0x00000400
+#define A6XX_RBBM_INT_0_MASK_CP_CCU_FLUSH_COLOR_TS             0x00000800
+#define A6XX_RBBM_INT_0_MASK_CP_CCU_RESOLVE_TS                 0x00001000
+#define A6XX_RBBM_INT_0_MASK_CP_IB2                            0x00002000
+#define A6XX_RBBM_INT_0_MASK_CP_IB1                            0x00004000
+#define A6XX_RBBM_INT_0_MASK_CP_RB                             0x00008000
+#define A6XX_RBBM_INT_0_MASK_CP_RB_DONE_TS                     0x00020000
+#define A6XX_RBBM_INT_0_MASK_CP_WT_DONE_TS                     0x00040000
+#define A6XX_RBBM_INT_0_MASK_CP_CACHE_FLUSH_TS                 0x00100000
+#define A6XX_RBBM_INT_0_MASK_RBBM_ATB_BUS_OVERFLOW             0x00400000
+#define A6XX_RBBM_INT_0_MASK_RBBM_HANG_DETECT                  0x00800000
+#define A6XX_RBBM_INT_0_MASK_UCHE_OOB_ACCESS                   0x01000000
+#define A6XX_RBBM_INT_0_MASK_UCHE_TRAP_INTR                    0x02000000
+#define A6XX_RBBM_INT_0_MASK_DEBBUS_INTR_0                     0x04000000
+#define A6XX_RBBM_INT_0_MASK_DEBBUS_INTR_1                     0x08000000
+#define A6XX_RBBM_INT_0_MASK_ISDB_CPU_IRQ                      0x40000000
+#define A6XX_RBBM_INT_0_MASK_ISDB_UNDER_DEBUG                  0x80000000
+#define A6XX_CP_INT_CP_OPCODE_ERROR                            0x00000001
+#define A6XX_CP_INT_CP_UCODE_ERROR                             0x00000002
+#define A6XX_CP_INT_CP_HW_FAULT_ERROR                          0x00000004
+#define A6XX_CP_INT_CP_REGISTER_PROTECTION_ERROR               0x00000010
+#define A6XX_CP_INT_CP_AHB_ERROR                               0x00000020
+#define A6XX_CP_INT_CP_VSD_PARITY_ERROR                                0x00000040
+#define A6XX_CP_INT_CP_ILLEGAL_INSTR_ERROR                     0x00000080
+#define REG_A6XX_CP_RB_BASE                                    0x00000800
+
+#define REG_A6XX_CP_RB_BASE_HI                                 0x00000801
+
+#define REG_A6XX_CP_RB_CNTL                                    0x00000802
+
+#define REG_A6XX_CP_RB_RPTR_ADDR_LO                            0x00000804
+
+#define REG_A6XX_CP_RB_RPTR_ADDR_HI                            0x00000805
+
+#define REG_A6XX_CP_RB_RPTR                                    0x00000806
+
+#define REG_A6XX_CP_RB_WPTR                                    0x00000807
+
+#define REG_A6XX_CP_SQE_CNTL                                   0x00000808
+
+#define REG_A6XX_CP_HW_FAULT                                   0x00000821
+
+#define REG_A6XX_CP_INTERRUPT_STATUS                           0x00000823
+
+#define REG_A6XX_CP_PROTECT_STATUS                             0x00000824
+
+#define REG_A6XX_CP_SQE_INSTR_BASE_LO                          0x00000830
+
+#define REG_A6XX_CP_SQE_INSTR_BASE_HI                          0x00000831
+
+#define REG_A6XX_CP_MISC_CNTL                                  0x00000840
+
+#define REG_A6XX_CP_ROQ_THRESHOLDS_1                           0x000008c1
+
+#define REG_A6XX_CP_ROQ_THRESHOLDS_2                           0x000008c2
+
+#define REG_A6XX_CP_MEM_POOL_SIZE                              0x000008c3
+
+#define REG_A6XX_CP_CHICKEN_DBG                                        0x00000841
+
+#define REG_A6XX_CP_ADDR_MODE_CNTL                             0x00000842
+
+#define REG_A6XX_CP_DBG_ECO_CNTL                               0x00000843
+
+#define REG_A6XX_CP_PROTECT_CNTL                               0x0000084f
+
+static inline uint32_t REG_A6XX_CP_SCRATCH(uint32_t i0) { return 0x00000883 + 0x1*i0; }
+
+static inline uint32_t REG_A6XX_CP_SCRATCH_REG(uint32_t i0) { return 0x00000883 + 0x1*i0; }
+
+static inline uint32_t REG_A6XX_CP_PROTECT(uint32_t i0) { return 0x00000850 + 0x1*i0; }
+
+static inline uint32_t REG_A6XX_CP_PROTECT_REG(uint32_t i0) { return 0x00000850 + 0x1*i0; }
+#define A6XX_CP_PROTECT_REG_BASE_ADDR__MASK                    0x0003ffff
+#define A6XX_CP_PROTECT_REG_BASE_ADDR__SHIFT                   0
+static inline uint32_t A6XX_CP_PROTECT_REG_BASE_ADDR(uint32_t val)
+{
+       return ((val) << A6XX_CP_PROTECT_REG_BASE_ADDR__SHIFT) & A6XX_CP_PROTECT_REG_BASE_ADDR__MASK;
+}
+#define A6XX_CP_PROTECT_REG_MASK_LEN__MASK                     0x7ffc0000
+#define A6XX_CP_PROTECT_REG_MASK_LEN__SHIFT                    18
+static inline uint32_t A6XX_CP_PROTECT_REG_MASK_LEN(uint32_t val)
+{
+       return ((val) << A6XX_CP_PROTECT_REG_MASK_LEN__SHIFT) & A6XX_CP_PROTECT_REG_MASK_LEN__MASK;
+}
+#define A6XX_CP_PROTECT_REG_READ                               0x80000000
+
+#define REG_A6XX_CP_CONTEXT_SWITCH_CNTL                                0x000008a0
+
+#define REG_A6XX_CP_CONTEXT_SWITCH_SMMU_INFO_LO                        0x000008a1
+
+#define REG_A6XX_CP_CONTEXT_SWITCH_SMMU_INFO_HI                        0x000008a2
+
+#define REG_A6XX_CP_CONTEXT_SWITCH_PRIV_NON_SECURE_RESTORE_ADDR_LO     0x000008a3
+
+#define REG_A6XX_CP_CONTEXT_SWITCH_PRIV_NON_SECURE_RESTORE_ADDR_HI     0x000008a4
+
+#define REG_A6XX_CP_CONTEXT_SWITCH_PRIV_SECURE_RESTORE_ADDR_LO 0x000008a5
+
+#define REG_A6XX_CP_CONTEXT_SWITCH_PRIV_SECURE_RESTORE_ADDR_HI 0x000008a6
+
+#define REG_A6XX_CP_CONTEXT_SWITCH_NON_PRIV_RESTORE_ADDR_LO    0x000008a7
+
+#define REG_A6XX_CP_CONTEXT_SWITCH_NON_PRIV_RESTORE_ADDR_HI    0x000008a8
+
+#define REG_A6XX_CP_PERFCTR_CP_SEL_0                           0x000008d0
+
+#define REG_A6XX_CP_PERFCTR_CP_SEL_1                           0x000008d1
+
+#define REG_A6XX_CP_PERFCTR_CP_SEL_2                           0x000008d2
+
+#define REG_A6XX_CP_PERFCTR_CP_SEL_3                           0x000008d3
+
+#define REG_A6XX_CP_PERFCTR_CP_SEL_4                           0x000008d4
+
+#define REG_A6XX_CP_PERFCTR_CP_SEL_5                           0x000008d5
+
+#define REG_A6XX_CP_PERFCTR_CP_SEL_6                           0x000008d6
+
+#define REG_A6XX_CP_PERFCTR_CP_SEL_7                           0x000008d7
+
+#define REG_A6XX_CP_PERFCTR_CP_SEL_8                           0x000008d8
+
+#define REG_A6XX_CP_PERFCTR_CP_SEL_9                           0x000008d9
+
+#define REG_A6XX_CP_PERFCTR_CP_SEL_10                          0x000008da
+
+#define REG_A6XX_CP_PERFCTR_CP_SEL_11                          0x000008db
+
+#define REG_A6XX_CP_PERFCTR_CP_SEL_12                          0x000008dc
+
+#define REG_A6XX_CP_PERFCTR_CP_SEL_13                          0x000008dd
+
+#define REG_A6XX_CP_CRASH_SCRIPT_BASE_LO                       0x00000900
+
+#define REG_A6XX_CP_CRASH_SCRIPT_BASE_HI                       0x00000901
+
+#define REG_A6XX_CP_CRASH_DUMP_CNTL                            0x00000902
+
+#define REG_A6XX_CP_CRASH_DUMP_STATUS                          0x00000903
+
+#define REG_A6XX_CP_SQE_STAT_ADDR                              0x00000908
+
+#define REG_A6XX_CP_SQE_STAT_DATA                              0x00000909
+
+#define REG_A6XX_CP_DRAW_STATE_ADDR                            0x0000090a
+
+#define REG_A6XX_CP_DRAW_STATE_DATA                            0x0000090b
+
+#define REG_A6XX_CP_ROQ_DBG_ADDR                               0x0000090c
+
+#define REG_A6XX_CP_ROQ_DBG_DATA                               0x0000090d
+
+#define REG_A6XX_CP_MEM_POOL_DBG_ADDR                          0x0000090e
+
+#define REG_A6XX_CP_MEM_POOL_DBG_DATA                          0x0000090f
+
+#define REG_A6XX_CP_SQE_UCODE_DBG_ADDR                         0x00000910
+
+#define REG_A6XX_CP_SQE_UCODE_DBG_DATA                         0x00000911
+
+#define REG_A6XX_CP_IB1_BASE                                   0x00000928
+
+#define REG_A6XX_CP_IB1_BASE_HI                                        0x00000929
+
+#define REG_A6XX_CP_IB1_REM_SIZE                               0x0000092a
+
+#define REG_A6XX_CP_IB2_BASE                                   0x0000092b
+
+#define REG_A6XX_CP_IB2_BASE_HI                                        0x0000092c
+
+#define REG_A6XX_CP_IB2_REM_SIZE                               0x0000092d
+
+#define REG_A6XX_CP_ALWAYS_ON_COUNTER_LO                       0x00000980
+
+#define REG_A6XX_CP_ALWAYS_ON_COUNTER_HI                       0x00000981
+
+#define REG_A6XX_CP_AHB_CNTL                                   0x0000098d
+
+#define REG_A6XX_CP_APERTURE_CNTL_HOST                         0x00000a00
+
+#define REG_A6XX_CP_APERTURE_CNTL_CD                           0x00000a03
+
+#define REG_A6XX_VSC_ADDR_MODE_CNTL                            0x00000c01
+
+#define REG_A6XX_RBBM_INT_0_STATUS                             0x00000201
+
+#define REG_A6XX_RBBM_STATUS                                   0x00000210
+#define A6XX_RBBM_STATUS_GPU_BUSY_IGN_AHB                      0x00800000
+#define A6XX_RBBM_STATUS_GPU_BUSY_IGN_AHB_CP                   0x00400000
+#define A6XX_RBBM_STATUS_HLSQ_BUSY                             0x00200000
+#define A6XX_RBBM_STATUS_VSC_BUSY                              0x00100000
+#define A6XX_RBBM_STATUS_TPL1_BUSY                             0x00080000
+#define A6XX_RBBM_STATUS_SP_BUSY                               0x00040000
+#define A6XX_RBBM_STATUS_UCHE_BUSY                             0x00020000
+#define A6XX_RBBM_STATUS_VPC_BUSY                              0x00010000
+#define A6XX_RBBM_STATUS_VFD_BUSY                              0x00008000
+#define A6XX_RBBM_STATUS_TESS_BUSY                             0x00004000
+#define A6XX_RBBM_STATUS_PC_VSD_BUSY                           0x00002000
+#define A6XX_RBBM_STATUS_PC_DCALL_BUSY                         0x00001000
+#define A6XX_RBBM_STATUS_COM_DCOM_BUSY                         0x00000800
+#define A6XX_RBBM_STATUS_LRZ_BUSY                              0x00000400
+#define A6XX_RBBM_STATUS_A2D_BUSY                              0x00000200
+#define A6XX_RBBM_STATUS_CCU_BUSY                              0x00000100
+#define A6XX_RBBM_STATUS_RB_BUSY                               0x00000080
+#define A6XX_RBBM_STATUS_RAS_BUSY                              0x00000040
+#define A6XX_RBBM_STATUS_TSE_BUSY                              0x00000020
+#define A6XX_RBBM_STATUS_VBIF_BUSY                             0x00000010
+#define A6XX_RBBM_STATUS_GFX_DBGC_BUSY                         0x00000008
+#define A6XX_RBBM_STATUS_CP_BUSY                               0x00000004
+#define A6XX_RBBM_STATUS_CP_AHB_BUSY_CP_MASTER                 0x00000002
+#define A6XX_RBBM_STATUS_CP_AHB_BUSY_CX_MASTER                 0x00000001
+
+#define REG_A6XX_RBBM_STATUS3                                  0x00000213
+
+#define REG_A6XX_RBBM_VBIF_GX_RESET_STATUS                     0x00000215
+
+#define REG_A6XX_RBBM_PERFCTR_CP_0_LO                          0x00000400
+
+#define REG_A6XX_RBBM_PERFCTR_CP_0_HI                          0x00000401
+
+#define REG_A6XX_RBBM_PERFCTR_CP_1_LO                          0x00000402
+
+#define REG_A6XX_RBBM_PERFCTR_CP_1_HI                          0x00000403
+
+#define REG_A6XX_RBBM_PERFCTR_CP_2_LO                          0x00000404
+
+#define REG_A6XX_RBBM_PERFCTR_CP_2_HI                          0x00000405
+
+#define REG_A6XX_RBBM_PERFCTR_CP_3_LO                          0x00000406
+
+#define REG_A6XX_RBBM_PERFCTR_CP_3_HI                          0x00000407
+
+#define REG_A6XX_RBBM_PERFCTR_CP_4_LO                          0x00000408
+
+#define REG_A6XX_RBBM_PERFCTR_CP_4_HI                          0x00000409
+
+#define REG_A6XX_RBBM_PERFCTR_CP_5_LO                          0x0000040a
+
+#define REG_A6XX_RBBM_PERFCTR_CP_5_HI                          0x0000040b
+
+#define REG_A6XX_RBBM_PERFCTR_CP_6_LO                          0x0000040c
+
+#define REG_A6XX_RBBM_PERFCTR_CP_6_HI                          0x0000040d
+
+#define REG_A6XX_RBBM_PERFCTR_CP_7_LO                          0x0000040e
+
+#define REG_A6XX_RBBM_PERFCTR_CP_7_HI                          0x0000040f
+
+#define REG_A6XX_RBBM_PERFCTR_CP_8_LO                          0x00000410
+
+#define REG_A6XX_RBBM_PERFCTR_CP_8_HI                          0x00000411
+
+#define REG_A6XX_RBBM_PERFCTR_CP_9_LO                          0x00000412
+
+#define REG_A6XX_RBBM_PERFCTR_CP_9_HI                          0x00000413
+
+#define REG_A6XX_RBBM_PERFCTR_CP_10_LO                         0x00000414
+
+#define REG_A6XX_RBBM_PERFCTR_CP_10_HI                         0x00000415
+
+#define REG_A6XX_RBBM_PERFCTR_CP_11_LO                         0x00000416
+
+#define REG_A6XX_RBBM_PERFCTR_CP_11_HI                         0x00000417
+
+#define REG_A6XX_RBBM_PERFCTR_CP_12_LO                         0x00000418
+
+#define REG_A6XX_RBBM_PERFCTR_CP_12_HI                         0x00000419
+
+#define REG_A6XX_RBBM_PERFCTR_CP_13_LO                         0x0000041a
+
+#define REG_A6XX_RBBM_PERFCTR_CP_13_HI                         0x0000041b
+
+#define REG_A6XX_RBBM_PERFCTR_RBBM_0_LO                                0x0000041c
+
+#define REG_A6XX_RBBM_PERFCTR_RBBM_0_HI                                0x0000041d
+
+#define REG_A6XX_RBBM_PERFCTR_RBBM_1_LO                                0x0000041e
+
+#define REG_A6XX_RBBM_PERFCTR_RBBM_1_HI                                0x0000041f
+
+#define REG_A6XX_RBBM_PERFCTR_RBBM_2_LO                                0x00000420
+
+#define REG_A6XX_RBBM_PERFCTR_RBBM_2_HI                                0x00000421
+
+#define REG_A6XX_RBBM_PERFCTR_RBBM_3_LO                                0x00000422
+
+#define REG_A6XX_RBBM_PERFCTR_RBBM_3_HI                                0x00000423
+
+#define REG_A6XX_RBBM_PERFCTR_PC_0_LO                          0x00000424
+
+#define REG_A6XX_RBBM_PERFCTR_PC_0_HI                          0x00000425
+
+#define REG_A6XX_RBBM_PERFCTR_PC_1_LO                          0x00000426
+
+#define REG_A6XX_RBBM_PERFCTR_PC_1_HI                          0x00000427
+
+#define REG_A6XX_RBBM_PERFCTR_PC_2_LO                          0x00000428
+
+#define REG_A6XX_RBBM_PERFCTR_PC_2_HI                          0x00000429
+
+#define REG_A6XX_RBBM_PERFCTR_PC_3_LO                          0x0000042a
+
+#define REG_A6XX_RBBM_PERFCTR_PC_3_HI                          0x0000042b
+
+#define REG_A6XX_RBBM_PERFCTR_PC_4_LO                          0x0000042c
+
+#define REG_A6XX_RBBM_PERFCTR_PC_4_HI                          0x0000042d
+
+#define REG_A6XX_RBBM_PERFCTR_PC_5_LO                          0x0000042e
+
+#define REG_A6XX_RBBM_PERFCTR_PC_5_HI                          0x0000042f
+
+#define REG_A6XX_RBBM_PERFCTR_PC_6_LO                          0x00000430
+
+#define REG_A6XX_RBBM_PERFCTR_PC_6_HI                          0x00000431
+
+#define REG_A6XX_RBBM_PERFCTR_PC_7_LO                          0x00000432
+
+#define REG_A6XX_RBBM_PERFCTR_PC_7_HI                          0x00000433
+
+#define REG_A6XX_RBBM_PERFCTR_VFD_0_LO                         0x00000434
+
+#define REG_A6XX_RBBM_PERFCTR_VFD_0_HI                         0x00000435
+
+#define REG_A6XX_RBBM_PERFCTR_VFD_1_LO                         0x00000436
+
+#define REG_A6XX_RBBM_PERFCTR_VFD_1_HI                         0x00000437
+
+#define REG_A6XX_RBBM_PERFCTR_VFD_2_LO                         0x00000438
+
+#define REG_A6XX_RBBM_PERFCTR_VFD_2_HI                         0x00000439
+
+#define REG_A6XX_RBBM_PERFCTR_VFD_3_LO                         0x0000043a
+
+#define REG_A6XX_RBBM_PERFCTR_VFD_3_HI                         0x0000043b
+
+#define REG_A6XX_RBBM_PERFCTR_VFD_4_LO                         0x0000043c
+
+#define REG_A6XX_RBBM_PERFCTR_VFD_4_HI                         0x0000043d
+
+#define REG_A6XX_RBBM_PERFCTR_VFD_5_LO                         0x0000043e
+
+#define REG_A6XX_RBBM_PERFCTR_VFD_5_HI                         0x0000043f
+
+#define REG_A6XX_RBBM_PERFCTR_VFD_6_LO                         0x00000440
+
+#define REG_A6XX_RBBM_PERFCTR_VFD_6_HI                         0x00000441
+
+#define REG_A6XX_RBBM_PERFCTR_VFD_7_LO                         0x00000442
+
+#define REG_A6XX_RBBM_PERFCTR_VFD_7_HI                         0x00000443
+
+#define REG_A6XX_RBBM_PERFCTR_HLSQ_0_LO                                0x00000444
+
+#define REG_A6XX_RBBM_PERFCTR_HLSQ_0_HI                                0x00000445
+
+#define REG_A6XX_RBBM_PERFCTR_HLSQ_1_LO                                0x00000446
+
+#define REG_A6XX_RBBM_PERFCTR_HLSQ_1_HI                                0x00000447
+
+#define REG_A6XX_RBBM_PERFCTR_HLSQ_2_LO                                0x00000448
+
+#define REG_A6XX_RBBM_PERFCTR_HLSQ_2_HI                                0x00000449
+
+#define REG_A6XX_RBBM_PERFCTR_HLSQ_3_LO                                0x0000044a
+
+#define REG_A6XX_RBBM_PERFCTR_HLSQ_3_HI                                0x0000044b
+
+#define REG_A6XX_RBBM_PERFCTR_HLSQ_4_LO                                0x0000044c
+
+#define REG_A6XX_RBBM_PERFCTR_HLSQ_4_HI                                0x0000044d
+
+#define REG_A6XX_RBBM_PERFCTR_HLSQ_5_LO                                0x0000044e
+
+#define REG_A6XX_RBBM_PERFCTR_HLSQ_5_HI                                0x0000044f
+
+#define REG_A6XX_RBBM_PERFCTR_VPC_0_LO                         0x00000450
+
+#define REG_A6XX_RBBM_PERFCTR_VPC_0_HI                         0x00000451
+
+#define REG_A6XX_RBBM_PERFCTR_VPC_1_LO                         0x00000452
+
+#define REG_A6XX_RBBM_PERFCTR_VPC_1_HI                         0x00000453
+
+#define REG_A6XX_RBBM_PERFCTR_VPC_2_LO                         0x00000454
+
+#define REG_A6XX_RBBM_PERFCTR_VPC_2_HI                         0x00000455
+
+#define REG_A6XX_RBBM_PERFCTR_VPC_3_LO                         0x00000456
+
+#define REG_A6XX_RBBM_PERFCTR_VPC_3_HI                         0x00000457
+
+#define REG_A6XX_RBBM_PERFCTR_VPC_4_LO                         0x00000458
+
+#define REG_A6XX_RBBM_PERFCTR_VPC_4_HI                         0x00000459
+
+#define REG_A6XX_RBBM_PERFCTR_VPC_5_LO                         0x0000045a
+
+#define REG_A6XX_RBBM_PERFCTR_VPC_5_HI                         0x0000045b
+
+#define REG_A6XX_RBBM_PERFCTR_CCU_0_LO                         0x0000045c
+
+#define REG_A6XX_RBBM_PERFCTR_CCU_0_HI                         0x0000045d
+
+#define REG_A6XX_RBBM_PERFCTR_CCU_1_LO                         0x0000045e
+
+#define REG_A6XX_RBBM_PERFCTR_CCU_1_HI                         0x0000045f
+
+#define REG_A6XX_RBBM_PERFCTR_CCU_2_LO                         0x00000460
+
+#define REG_A6XX_RBBM_PERFCTR_CCU_2_HI                         0x00000461
+
+#define REG_A6XX_RBBM_PERFCTR_CCU_3_LO                         0x00000462
+
+#define REG_A6XX_RBBM_PERFCTR_CCU_3_HI                         0x00000463
+
+#define REG_A6XX_RBBM_PERFCTR_CCU_4_LO                         0x00000464
+
+#define REG_A6XX_RBBM_PERFCTR_CCU_4_HI                         0x00000465
+
+#define REG_A6XX_RBBM_PERFCTR_TSE_0_LO                         0x00000466
+
+#define REG_A6XX_RBBM_PERFCTR_TSE_0_HI                         0x00000467
+
+#define REG_A6XX_RBBM_PERFCTR_TSE_1_LO                         0x00000468
+
+#define REG_A6XX_RBBM_PERFCTR_TSE_1_HI                         0x00000469
+
+#define REG_A6XX_RBBM_PERFCTR_TSE_2_LO                         0x0000046a
+
+#define REG_A6XX_RBBM_PERFCTR_CCU_4_HI                         0x00000465
+
+#define REG_A6XX_RBBM_PERFCTR_TSE_0_LO                         0x00000466
+
+#define REG_A6XX_RBBM_PERFCTR_TSE_0_HI                         0x00000467
+
+#define REG_A6XX_RBBM_PERFCTR_TSE_1_LO                         0x00000468
+
+#define REG_A6XX_RBBM_PERFCTR_TSE_1_HI                         0x00000469
+
+#define REG_A6XX_RBBM_PERFCTR_TSE_2_LO                         0x0000046a
+
+#define REG_A6XX_RBBM_PERFCTR_TSE_2_HI                         0x0000046b
+
+#define REG_A6XX_RBBM_PERFCTR_TSE_3_LO                         0x0000046c
+
+#define REG_A6XX_RBBM_PERFCTR_TSE_3_HI                         0x0000046d
+
+#define REG_A6XX_RBBM_PERFCTR_RAS_0_LO                         0x0000046e
+
+#define REG_A6XX_RBBM_PERFCTR_RAS_0_HI                         0x0000046f
+
+#define REG_A6XX_RBBM_PERFCTR_RAS_1_LO                         0x00000470
+
+#define REG_A6XX_RBBM_PERFCTR_RAS_1_HI                         0x00000471
+
+#define REG_A6XX_RBBM_PERFCTR_RAS_2_LO                         0x00000472
+
+#define REG_A6XX_RBBM_PERFCTR_RAS_2_HI                         0x00000473
+
+#define REG_A6XX_RBBM_PERFCTR_RAS_3_LO                         0x00000474
+
+#define REG_A6XX_RBBM_PERFCTR_RAS_3_HI                         0x00000475
+
+#define REG_A6XX_RBBM_PERFCTR_UCHE_0_LO                                0x00000476
+
+#define REG_A6XX_RBBM_PERFCTR_UCHE_0_HI                                0x00000477
+
+#define REG_A6XX_RBBM_PERFCTR_UCHE_1_LO                                0x00000478
+
+#define REG_A6XX_RBBM_PERFCTR_UCHE_1_HI                                0x00000479
+
+#define REG_A6XX_RBBM_PERFCTR_UCHE_2_LO                                0x0000047a
+
+#define REG_A6XX_RBBM_PERFCTR_UCHE_2_HI                                0x0000047b
+
+#define REG_A6XX_RBBM_PERFCTR_UCHE_3_LO                                0x0000047c
+
+#define REG_A6XX_RBBM_PERFCTR_UCHE_3_HI                                0x0000047d
+
+#define REG_A6XX_RBBM_PERFCTR_UCHE_4_LO                                0x0000047e
+
+#define REG_A6XX_RBBM_PERFCTR_UCHE_4_HI                                0x0000047f
+
+#define REG_A6XX_RBBM_PERFCTR_UCHE_5_LO                                0x00000480
+
+#define REG_A6XX_RBBM_PERFCTR_UCHE_5_HI                                0x00000481
+
+#define REG_A6XX_RBBM_PERFCTR_UCHE_6_LO                                0x00000482
+
+#define REG_A6XX_RBBM_PERFCTR_UCHE_6_HI                                0x00000483
+
+#define REG_A6XX_RBBM_PERFCTR_UCHE_7_LO                                0x00000484
+
+#define REG_A6XX_RBBM_PERFCTR_UCHE_7_HI                                0x00000485
+
+#define REG_A6XX_RBBM_PERFCTR_UCHE_8_LO                                0x00000486
+
+#define REG_A6XX_RBBM_PERFCTR_UCHE_8_HI                                0x00000487
+
+#define REG_A6XX_RBBM_PERFCTR_UCHE_9_LO                                0x00000488
+
+#define REG_A6XX_RBBM_PERFCTR_UCHE_9_HI                                0x00000489
+
+#define REG_A6XX_RBBM_PERFCTR_UCHE_10_LO                       0x0000048a
+
+#define REG_A6XX_RBBM_PERFCTR_UCHE_10_HI                       0x0000048b
+
+#define REG_A6XX_RBBM_PERFCTR_UCHE_11_LO                       0x0000048c
+
+#define REG_A6XX_RBBM_PERFCTR_UCHE_11_HI                       0x0000048d
+
+#define REG_A6XX_RBBM_PERFCTR_TP_0_LO                          0x0000048e
+
+#define REG_A6XX_RBBM_PERFCTR_TP_0_HI                          0x0000048f
+
+#define REG_A6XX_RBBM_PERFCTR_TP_1_LO                          0x00000490
+
+#define REG_A6XX_RBBM_PERFCTR_TP_1_HI                          0x00000491
+
+#define REG_A6XX_RBBM_PERFCTR_TP_2_LO                          0x00000492
+
+#define REG_A6XX_RBBM_PERFCTR_TP_2_HI                          0x00000493
+
+#define REG_A6XX_RBBM_PERFCTR_TP_3_LO                          0x00000494
+
+#define REG_A6XX_RBBM_PERFCTR_TP_3_HI                          0x00000495
+
+#define REG_A6XX_RBBM_PERFCTR_TP_4_LO                          0x00000496
+
+#define REG_A6XX_RBBM_PERFCTR_TP_4_HI                          0x00000497
+
+#define REG_A6XX_RBBM_PERFCTR_TP_5_LO                          0x00000498
+
+#define REG_A6XX_RBBM_PERFCTR_TP_5_HI                          0x00000499
+
+#define REG_A6XX_RBBM_PERFCTR_TP_6_LO                          0x0000049a
+
+#define REG_A6XX_RBBM_PERFCTR_TP_6_HI                          0x0000049b
+
+#define REG_A6XX_RBBM_PERFCTR_TP_7_LO                          0x0000049c
+
+#define REG_A6XX_RBBM_PERFCTR_TP_7_HI                          0x0000049d
+
+#define REG_A6XX_RBBM_PERFCTR_TP_8_LO                          0x0000049e
+
+#define REG_A6XX_RBBM_PERFCTR_TP_8_HI                          0x0000049f
+
+#define REG_A6XX_RBBM_PERFCTR_TP_9_LO                          0x000004a0
+
+#define REG_A6XX_RBBM_PERFCTR_TP_9_HI                          0x000004a1
+
+#define REG_A6XX_RBBM_PERFCTR_TP_10_LO                         0x000004a2
+
+#define REG_A6XX_RBBM_PERFCTR_TP_10_HI                         0x000004a3
+
+#define REG_A6XX_RBBM_PERFCTR_TP_11_LO                         0x000004a4
+
+#define REG_A6XX_RBBM_PERFCTR_TP_11_HI                         0x000004a5
+
+#define REG_A6XX_RBBM_PERFCTR_SP_0_LO                          0x000004a6
+
+#define REG_A6XX_RBBM_PERFCTR_SP_0_HI                          0x000004a7
+
+#define REG_A6XX_RBBM_PERFCTR_SP_1_LO                          0x000004a8
+
+#define REG_A6XX_RBBM_PERFCTR_SP_1_HI                          0x000004a9
+
+#define REG_A6XX_RBBM_PERFCTR_SP_2_LO                          0x000004aa
+
+#define REG_A6XX_RBBM_PERFCTR_SP_2_HI                          0x000004ab
+
+#define REG_A6XX_RBBM_PERFCTR_SP_3_LO                          0x000004ac
+
+#define REG_A6XX_RBBM_PERFCTR_SP_3_HI                          0x000004ad
+
+#define REG_A6XX_RBBM_PERFCTR_SP_4_LO                          0x000004ae
+
+#define REG_A6XX_RBBM_PERFCTR_SP_4_HI                          0x000004af
+
+#define REG_A6XX_RBBM_PERFCTR_SP_5_LO                          0x000004b0
+
+#define REG_A6XX_RBBM_PERFCTR_SP_5_HI                          0x000004b1
+
+#define REG_A6XX_RBBM_PERFCTR_SP_6_LO                          0x000004b2
+
+#define REG_A6XX_RBBM_PERFCTR_SP_6_HI                          0x000004b3
+
+#define REG_A6XX_RBBM_PERFCTR_SP_7_LO                          0x000004b4
+
+#define REG_A6XX_RBBM_PERFCTR_SP_7_HI                          0x000004b5
+
+#define REG_A6XX_RBBM_PERFCTR_SP_8_LO                          0x000004b6
+
+#define REG_A6XX_RBBM_PERFCTR_SP_8_HI                          0x000004b7
+
+#define REG_A6XX_RBBM_PERFCTR_SP_9_LO                          0x000004b8
+
+#define REG_A6XX_RBBM_PERFCTR_SP_9_HI                          0x000004b9
+
+#define REG_A6XX_RBBM_PERFCTR_SP_10_LO                         0x000004ba
+
+#define REG_A6XX_RBBM_PERFCTR_SP_10_HI                         0x000004bb
+
+#define REG_A6XX_RBBM_PERFCTR_SP_11_LO                         0x000004bc
+
+#define REG_A6XX_RBBM_PERFCTR_SP_11_HI                         0x000004bd
+
+#define REG_A6XX_RBBM_PERFCTR_SP_12_LO                         0x000004be
+
+#define REG_A6XX_RBBM_PERFCTR_SP_12_HI                         0x000004bf
+
+#define REG_A6XX_RBBM_PERFCTR_SP_13_LO                         0x000004c0
+
+#define REG_A6XX_RBBM_PERFCTR_SP_13_HI                         0x000004c1
+
+#define REG_A6XX_RBBM_PERFCTR_SP_14_LO                         0x000004c2
+
+#define REG_A6XX_RBBM_PERFCTR_SP_14_HI                         0x000004c3
+
+#define REG_A6XX_RBBM_PERFCTR_SP_15_LO                         0x000004c4
+
+#define REG_A6XX_RBBM_PERFCTR_SP_15_HI                         0x000004c5
+
+#define REG_A6XX_RBBM_PERFCTR_SP_16_LO                         0x000004c6
+
+#define REG_A6XX_RBBM_PERFCTR_SP_16_HI                         0x000004c7
+
+#define REG_A6XX_RBBM_PERFCTR_SP_17_LO                         0x000004c8
+
+#define REG_A6XX_RBBM_PERFCTR_SP_17_HI                         0x000004c9
+
+#define REG_A6XX_RBBM_PERFCTR_SP_18_LO                         0x000004ca
+
+#define REG_A6XX_RBBM_PERFCTR_SP_18_HI                         0x000004cb
+
+#define REG_A6XX_RBBM_PERFCTR_SP_19_LO                         0x000004cc
+
+#define REG_A6XX_RBBM_PERFCTR_SP_19_HI                         0x000004cd
+
+#define REG_A6XX_RBBM_PERFCTR_SP_20_LO                         0x000004ce
+
+#define REG_A6XX_RBBM_PERFCTR_SP_20_HI                         0x000004cf
+
+#define REG_A6XX_RBBM_PERFCTR_SP_21_LO                         0x000004d0
+
+#define REG_A6XX_RBBM_PERFCTR_SP_21_HI                         0x000004d1
+
+#define REG_A6XX_RBBM_PERFCTR_SP_22_LO                         0x000004d2
+
+#define REG_A6XX_RBBM_PERFCTR_SP_22_HI                         0x000004d3
+
+#define REG_A6XX_RBBM_PERFCTR_SP_23_LO                         0x000004d4
+
+#define REG_A6XX_RBBM_PERFCTR_SP_23_HI                         0x000004d5
+
+#define REG_A6XX_RBBM_PERFCTR_RB_0_LO                          0x000004d6
+
+#define REG_A6XX_RBBM_PERFCTR_RB_0_HI                          0x000004d7
+
+#define REG_A6XX_RBBM_PERFCTR_RB_1_LO                          0x000004d8
+
+#define REG_A6XX_RBBM_PERFCTR_RB_1_HI                          0x000004d9
+
+#define REG_A6XX_RBBM_PERFCTR_RB_2_LO                          0x000004da
+
+#define REG_A6XX_RBBM_PERFCTR_RB_2_HI                          0x000004db
+
+#define REG_A6XX_RBBM_PERFCTR_RB_3_LO                          0x000004dc
+
+#define REG_A6XX_RBBM_PERFCTR_RB_3_HI                          0x000004dd
+
+#define REG_A6XX_RBBM_PERFCTR_RB_4_LO                          0x000004de
+
+#define REG_A6XX_RBBM_PERFCTR_RB_4_HI                          0x000004df
+
+#define REG_A6XX_RBBM_PERFCTR_RB_5_LO                          0x000004e0
+
+#define REG_A6XX_RBBM_PERFCTR_RB_5_HI                          0x000004e1
+
+#define REG_A6XX_RBBM_PERFCTR_RB_6_LO                          0x000004e2
+
+#define REG_A6XX_RBBM_PERFCTR_RB_6_HI                          0x000004e3
+
+#define REG_A6XX_RBBM_PERFCTR_RB_7_LO                          0x000004e4
+
+#define REG_A6XX_RBBM_PERFCTR_RB_7_HI                          0x000004e5
+
+#define REG_A6XX_RBBM_PERFCTR_VSC_0_LO                         0x000004e6
+
+#define REG_A6XX_RBBM_PERFCTR_VSC_0_HI                         0x000004e7
+
+#define REG_A6XX_RBBM_PERFCTR_VSC_1_LO                         0x000004e8
+
+#define REG_A6XX_RBBM_PERFCTR_VSC_1_HI                         0x000004e9
+
+#define REG_A6XX_RBBM_PERFCTR_LRZ_0_LO                         0x000004ea
+
+#define REG_A6XX_RBBM_PERFCTR_LRZ_0_HI                         0x000004eb
+
+#define REG_A6XX_RBBM_PERFCTR_LRZ_1_LO                         0x000004ec
+
+#define REG_A6XX_RBBM_PERFCTR_LRZ_1_HI                         0x000004ed
+
+#define REG_A6XX_RBBM_PERFCTR_LRZ_2_LO                         0x000004ee
+
+#define REG_A6XX_RBBM_PERFCTR_LRZ_2_HI                         0x000004ef
+
+#define REG_A6XX_RBBM_PERFCTR_LRZ_3_LO                         0x000004f0
+
+#define REG_A6XX_RBBM_PERFCTR_LRZ_3_HI                         0x000004f1
+
+#define REG_A6XX_RBBM_PERFCTR_CMP_0_LO                         0x000004f2
+
+#define REG_A6XX_RBBM_PERFCTR_CMP_0_HI                         0x000004f3
+
+#define REG_A6XX_RBBM_PERFCTR_CMP_1_LO                         0x000004f4
+
+#define REG_A6XX_RBBM_PERFCTR_CMP_1_HI                         0x000004f5
+
+#define REG_A6XX_RBBM_PERFCTR_CMP_2_LO                         0x000004f6
+
+#define REG_A6XX_RBBM_PERFCTR_CMP_2_HI                         0x000004f7
+
+#define REG_A6XX_RBBM_PERFCTR_CMP_3_LO                         0x000004f8
+
+#define REG_A6XX_RBBM_PERFCTR_CMP_3_HI                         0x000004f9
+
+#define REG_A6XX_RBBM_PERFCTR_CNTL                             0x00000500
+
+#define REG_A6XX_RBBM_PERFCTR_LOAD_CMD0                                0x00000501
+
+#define REG_A6XX_RBBM_PERFCTR_LOAD_CMD1                                0x00000502
+
+#define REG_A6XX_RBBM_PERFCTR_LOAD_CMD2                                0x00000503
+
+#define REG_A6XX_RBBM_PERFCTR_LOAD_CMD3                                0x00000504
+
+#define REG_A6XX_RBBM_PERFCTR_LOAD_VALUE_LO                    0x00000505
+
+#define REG_A6XX_RBBM_PERFCTR_LOAD_VALUE_HI                    0x00000506
+
+#define REG_A6XX_RBBM_PERFCTR_RBBM_SEL_0                       0x00000507
+
+#define REG_A6XX_RBBM_PERFCTR_RBBM_SEL_1                       0x00000508
+
+#define REG_A6XX_RBBM_PERFCTR_RBBM_SEL_2                       0x00000509
+
+#define REG_A6XX_RBBM_PERFCTR_RBBM_SEL_3                       0x0000050a
+
+#define REG_A6XX_RBBM_PERFCTR_GPU_BUSY_MASKED                  0x0000050b
+
+#define REG_A6XX_RBBM_ISDB_CNT                                 0x00000533
+
+#define REG_A6XX_RBBM_SECVID_TRUST_CNTL                                0x0000f400
+
+#define REG_A6XX_RBBM_SECVID_TSB_TRUSTED_BASE_LO               0x0000f800
+
+#define REG_A6XX_RBBM_SECVID_TSB_TRUSTED_BASE_HI               0x0000f801
+
+#define REG_A6XX_RBBM_SECVID_TSB_TRUSTED_SIZE                  0x0000f802
+
+#define REG_A6XX_RBBM_SECVID_TSB_CNTL                          0x0000f803
+
+#define REG_A6XX_RBBM_SECVID_TSB_ADDR_MODE_CNTL                        0x0000f810
+
+#define REG_A6XX_RBBM_VBIF_CLIENT_QOS_CNTL                     0x00000010
+
+#define REG_A6XX_RBBM_INTERFACE_HANG_INT_CNTL                  0x0000001f
+
+#define REG_A6XX_RBBM_INT_CLEAR_CMD                            0x00000037
+
+#define REG_A6XX_RBBM_INT_0_MASK                               0x00000038
+
+#define REG_A6XX_RBBM_SP_HYST_CNT                              0x00000042
+
+#define REG_A6XX_RBBM_SW_RESET_CMD                             0x00000043
+
+#define REG_A6XX_RBBM_RAC_THRESHOLD_CNT                                0x00000044
+
+#define REG_A6XX_RBBM_BLOCK_SW_RESET_CMD                       0x00000045
+
+#define REG_A6XX_RBBM_BLOCK_SW_RESET_CMD2                      0x00000046
+
+#define REG_A6XX_RBBM_CLOCK_CNTL                               0x000000ae
+
+#define REG_A6XX_RBBM_CLOCK_CNTL_SP0                           0x000000b0
+
+#define REG_A6XX_RBBM_CLOCK_CNTL_SP1                           0x000000b1
+
+#define REG_A6XX_RBBM_CLOCK_CNTL_SP2                           0x000000b2
+
+#define REG_A6XX_RBBM_CLOCK_CNTL_SP3                           0x000000b3
+
+#define REG_A6XX_RBBM_CLOCK_CNTL2_SP0                          0x000000b4
+
+#define REG_A6XX_RBBM_CLOCK_CNTL2_SP1                          0x000000b5
+
+#define REG_A6XX_RBBM_CLOCK_CNTL2_SP2                          0x000000b6
+
+#define REG_A6XX_RBBM_CLOCK_CNTL2_SP3                          0x000000b7
+
+#define REG_A6XX_RBBM_CLOCK_DELAY_SP0                          0x000000b8
+
+#define REG_A6XX_RBBM_CLOCK_DELAY_SP1                          0x000000b9
+
+#define REG_A6XX_RBBM_CLOCK_DELAY_SP2                          0x000000ba
+
+#define REG_A6XX_RBBM_CLOCK_DELAY_SP3                          0x000000bb
+
+#define REG_A6XX_RBBM_CLOCK_HYST_SP0                           0x000000bc
+
+#define REG_A6XX_RBBM_CLOCK_HYST_SP1                           0x000000bd
+
+#define REG_A6XX_RBBM_CLOCK_HYST_SP2                           0x000000be
+
+#define REG_A6XX_RBBM_CLOCK_HYST_SP3                           0x000000bf
+
+#define REG_A6XX_RBBM_CLOCK_CNTL_TP0                           0x000000c0
+
+#define REG_A6XX_RBBM_CLOCK_CNTL_TP1                           0x000000c1
+
+#define REG_A6XX_RBBM_CLOCK_CNTL_TP2                           0x000000c2
+
+#define REG_A6XX_RBBM_CLOCK_CNTL_TP3                           0x000000c3
+
+#define REG_A6XX_RBBM_CLOCK_CNTL2_TP0                          0x000000c4
+
+#define REG_A6XX_RBBM_CLOCK_CNTL2_TP1                          0x000000c5
+
+#define REG_A6XX_RBBM_CLOCK_CNTL2_TP2                          0x000000c6
+
+#define REG_A6XX_RBBM_CLOCK_CNTL2_TP3                          0x000000c7
+
+#define REG_A6XX_RBBM_CLOCK_CNTL3_TP0                          0x000000c8
+
+#define REG_A6XX_RBBM_CLOCK_CNTL3_TP1                          0x000000c9
+
+#define REG_A6XX_RBBM_CLOCK_CNTL3_TP2                          0x000000ca
+
+#define REG_A6XX_RBBM_CLOCK_CNTL3_TP3                          0x000000cb
+
+#define REG_A6XX_RBBM_CLOCK_CNTL4_TP0                          0x000000cc
+
+#define REG_A6XX_RBBM_CLOCK_CNTL4_TP1                          0x000000cd
+
+#define REG_A6XX_RBBM_CLOCK_CNTL4_TP2                          0x000000ce
+
+#define REG_A6XX_RBBM_CLOCK_CNTL4_TP3                          0x000000cf
+
+#define REG_A6XX_RBBM_CLOCK_DELAY_TP0                          0x000000d0
+
+#define REG_A6XX_RBBM_CLOCK_DELAY_TP1                          0x000000d1
+
+#define REG_A6XX_RBBM_CLOCK_DELAY_TP2                          0x000000d2
+
+#define REG_A6XX_RBBM_CLOCK_DELAY_TP3                          0x000000d3
+
+#define REG_A6XX_RBBM_CLOCK_DELAY2_TP0                         0x000000d4
+
+#define REG_A6XX_RBBM_CLOCK_DELAY2_TP1                         0x000000d5
+
+#define REG_A6XX_RBBM_CLOCK_DELAY2_TP2                         0x000000d6
+
+#define REG_A6XX_RBBM_CLOCK_DELAY2_TP3                         0x000000d7
+
+#define REG_A6XX_RBBM_CLOCK_DELAY3_TP0                         0x000000d8
+
+#define REG_A6XX_RBBM_CLOCK_DELAY3_TP1                         0x000000d9
+
+#define REG_A6XX_RBBM_CLOCK_DELAY3_TP2                         0x000000da
+
+#define REG_A6XX_RBBM_CLOCK_DELAY3_TP3                         0x000000db
+
+#define REG_A6XX_RBBM_CLOCK_DELAY4_TP0                         0x000000dc
+
+#define REG_A6XX_RBBM_CLOCK_DELAY4_TP1                         0x000000dd
+
+#define REG_A6XX_RBBM_CLOCK_DELAY4_TP2                         0x000000de
+
+#define REG_A6XX_RBBM_CLOCK_DELAY4_TP3                         0x000000df
+
+#define REG_A6XX_RBBM_CLOCK_HYST_TP0                           0x000000e0
+
+#define REG_A6XX_RBBM_CLOCK_HYST_TP1                           0x000000e1
+
+#define REG_A6XX_RBBM_CLOCK_HYST_TP2                           0x000000e2
+
+#define REG_A6XX_RBBM_CLOCK_HYST_TP3                           0x000000e3
+
+#define REG_A6XX_RBBM_CLOCK_HYST2_TP0                          0x000000e4
+
+#define REG_A6XX_RBBM_CLOCK_HYST2_TP1                          0x000000e5
+
+#define REG_A6XX_RBBM_CLOCK_HYST2_TP2                          0x000000e6
+
+#define REG_A6XX_RBBM_CLOCK_HYST2_TP3                          0x000000e7
+
+#define REG_A6XX_RBBM_CLOCK_HYST3_TP0                          0x000000e8
+
+#define REG_A6XX_RBBM_CLOCK_HYST3_TP1                          0x000000e9
+
+#define REG_A6XX_RBBM_CLOCK_HYST3_TP2                          0x000000ea
+
+#define REG_A6XX_RBBM_CLOCK_HYST3_TP3                          0x000000eb
+
+#define REG_A6XX_RBBM_CLOCK_HYST4_TP0                          0x000000ec
+
+#define REG_A6XX_RBBM_CLOCK_HYST4_TP1                          0x000000ed
+
+#define REG_A6XX_RBBM_CLOCK_HYST4_TP2                          0x000000ee
+
+#define REG_A6XX_RBBM_CLOCK_HYST4_TP3                          0x000000ef
+
+#define REG_A6XX_RBBM_CLOCK_CNTL_RB0                           0x000000f0
+
+#define REG_A6XX_RBBM_CLOCK_CNTL_RB1                           0x000000f1
+
+#define REG_A6XX_RBBM_CLOCK_CNTL_RB2                           0x000000f2
+
+#define REG_A6XX_RBBM_CLOCK_CNTL_RB3                           0x000000f3
+
+#define REG_A6XX_RBBM_CLOCK_CNTL2_RB0                          0x000000f4
+
+#define REG_A6XX_RBBM_CLOCK_CNTL2_RB1                          0x000000f5
+
+#define REG_A6XX_RBBM_CLOCK_CNTL2_RB2                          0x000000f6
+
+#define REG_A6XX_RBBM_CLOCK_CNTL2_RB3                          0x000000f7
+
+#define REG_A6XX_RBBM_CLOCK_CNTL_CCU0                          0x000000f8
+
+#define REG_A6XX_RBBM_CLOCK_CNTL_CCU1                          0x000000f9
+
+#define REG_A6XX_RBBM_CLOCK_CNTL_CCU2                          0x000000fa
+
+#define REG_A6XX_RBBM_CLOCK_CNTL_CCU3                          0x000000fb
+
+#define REG_A6XX_RBBM_CLOCK_HYST_RB_CCU0                       0x00000100
+
+#define REG_A6XX_RBBM_CLOCK_HYST_RB_CCU1                       0x00000101
+
+#define REG_A6XX_RBBM_CLOCK_HYST_RB_CCU2                       0x00000102
+
+#define REG_A6XX_RBBM_CLOCK_HYST_RB_CCU3                       0x00000103
+
+#define REG_A6XX_RBBM_CLOCK_CNTL_RAC                           0x00000104
+
+#define REG_A6XX_RBBM_CLOCK_CNTL2_RAC                          0x00000105
+
+#define REG_A6XX_RBBM_CLOCK_DELAY_RAC                          0x00000106
+
+#define REG_A6XX_RBBM_CLOCK_HYST_RAC                           0x00000107
+
+#define REG_A6XX_RBBM_CLOCK_CNTL_TSE_RAS_RBBM                  0x00000108
+
+#define REG_A6XX_RBBM_CLOCK_DELAY_TSE_RAS_RBBM                 0x00000109
+
+#define REG_A6XX_RBBM_CLOCK_HYST_TSE_RAS_RBBM                  0x0000010a
+
+#define REG_A6XX_RBBM_CLOCK_CNTL_UCHE                          0x0000010b
+
+#define REG_A6XX_RBBM_CLOCK_CNTL2_UCHE                         0x0000010c
+
+#define REG_A6XX_RBBM_CLOCK_CNTL3_UCHE                         0x0000010d
+
+#define REG_A6XX_RBBM_CLOCK_CNTL4_UCHE                         0x0000010e
+
+#define REG_A6XX_RBBM_CLOCK_DELAY_UCHE                         0x0000010f
+
+#define REG_A6XX_RBBM_CLOCK_HYST_UCHE                          0x00000110
+
+#define REG_A6XX_RBBM_CLOCK_MODE_VFD                           0x00000111
+
+#define REG_A6XX_RBBM_CLOCK_DELAY_VFD                          0x00000112
+
+#define REG_A6XX_RBBM_CLOCK_HYST_VFD                           0x00000113
+
+#define REG_A6XX_RBBM_CLOCK_MODE_GPC                           0x00000114
+
+#define REG_A6XX_RBBM_CLOCK_DELAY_GPC                          0x00000115
+
+#define REG_A6XX_RBBM_CLOCK_HYST_GPC                           0x00000116
+
+#define REG_A6XX_RBBM_CLOCK_DELAY_HLSQ_2                       0x00000117
+
+#define REG_A6XX_RBBM_CLOCK_CNTL_GMU_GX                                0x00000118
+
+#define REG_A6XX_RBBM_CLOCK_DELAY_GMU_GX                       0x00000119
+
+#define REG_A6XX_RBBM_CLOCK_HYST_GMU_GX                                0x0000011a
+
+#define REG_A6XX_RBBM_CLOCK_MODE_HLSQ                          0x0000011b
+
+#define REG_A6XX_RBBM_CLOCK_DELAY_HLSQ                         0x0000011c
+
+#define REG_A6XX_DBGC_CFG_DBGBUS_SEL_A                         0x00000600
+
+#define REG_A6XX_DBGC_CFG_DBGBUS_SEL_B                         0x00000601
+
+#define REG_A6XX_DBGC_CFG_DBGBUS_SEL_C                         0x00000602
+
+#define REG_A6XX_DBGC_CFG_DBGBUS_SEL_D                         0x00000603
+#define A6XX_DBGC_CFG_DBGBUS_SEL_D_PING_INDEX__MASK            0x000000ff
+#define A6XX_DBGC_CFG_DBGBUS_SEL_D_PING_INDEX__SHIFT           0
+static inline uint32_t A6XX_DBGC_CFG_DBGBUS_SEL_D_PING_INDEX(uint32_t val)
+{
+       return ((val) << A6XX_DBGC_CFG_DBGBUS_SEL_D_PING_INDEX__SHIFT) & A6XX_DBGC_CFG_DBGBUS_SEL_D_PING_INDEX__MASK;
+}
+#define A6XX_DBGC_CFG_DBGBUS_SEL_D_PING_BLK_SEL__MASK          0x0000ff00
+#define A6XX_DBGC_CFG_DBGBUS_SEL_D_PING_BLK_SEL__SHIFT         8
+static inline uint32_t A6XX_DBGC_CFG_DBGBUS_SEL_D_PING_BLK_SEL(uint32_t val)
+{
+       return ((val) << A6XX_DBGC_CFG_DBGBUS_SEL_D_PING_BLK_SEL__SHIFT) & A6XX_DBGC_CFG_DBGBUS_SEL_D_PING_BLK_SEL__MASK;
+}
+
+#define REG_A6XX_DBGC_CFG_DBGBUS_CNTLT                         0x00000604
+#define A6XX_DBGC_CFG_DBGBUS_CNTLT_TRACEEN__MASK               0x0000003f
+#define A6XX_DBGC_CFG_DBGBUS_CNTLT_TRACEEN__SHIFT              0
+static inline uint32_t A6XX_DBGC_CFG_DBGBUS_CNTLT_TRACEEN(uint32_t val)
+{
+       return ((val) << A6XX_DBGC_CFG_DBGBUS_CNTLT_TRACEEN__SHIFT) & A6XX_DBGC_CFG_DBGBUS_CNTLT_TRACEEN__MASK;
+}
+#define A6XX_DBGC_CFG_DBGBUS_CNTLT_GRANU__MASK                 0x00007000
+#define A6XX_DBGC_CFG_DBGBUS_CNTLT_GRANU__SHIFT                        12
+static inline uint32_t A6XX_DBGC_CFG_DBGBUS_CNTLT_GRANU(uint32_t val)
+{
+       return ((val) << A6XX_DBGC_CFG_DBGBUS_CNTLT_GRANU__SHIFT) & A6XX_DBGC_CFG_DBGBUS_CNTLT_GRANU__MASK;
+}
+#define A6XX_DBGC_CFG_DBGBUS_CNTLT_SEGT__MASK                  0xf0000000
+#define A6XX_DBGC_CFG_DBGBUS_CNTLT_SEGT__SHIFT                 28
+static inline uint32_t A6XX_DBGC_CFG_DBGBUS_CNTLT_SEGT(uint32_t val)
+{
+       return ((val) << A6XX_DBGC_CFG_DBGBUS_CNTLT_SEGT__SHIFT) & A6XX_DBGC_CFG_DBGBUS_CNTLT_SEGT__MASK;
+}
+
+#define REG_A6XX_DBGC_CFG_DBGBUS_CNTLM                         0x00000605
+#define A6XX_DBGC_CFG_DBGBUS_CNTLM_ENABLE__MASK                        0x0f000000
+#define A6XX_DBGC_CFG_DBGBUS_CNTLM_ENABLE__SHIFT               24
+static inline uint32_t A6XX_DBGC_CFG_DBGBUS_CNTLM_ENABLE(uint32_t val)
+{
+       return ((val) << A6XX_DBGC_CFG_DBGBUS_CNTLM_ENABLE__SHIFT) & A6XX_DBGC_CFG_DBGBUS_CNTLM_ENABLE__MASK;
+}
+
+#define REG_A6XX_DBGC_CFG_DBGBUS_IVTL_0                                0x00000608
+
+#define REG_A6XX_DBGC_CFG_DBGBUS_IVTL_1                                0x00000609
+
+#define REG_A6XX_DBGC_CFG_DBGBUS_IVTL_2                                0x0000060a
+
+#define REG_A6XX_DBGC_CFG_DBGBUS_IVTL_3                                0x0000060b
+
+#define REG_A6XX_DBGC_CFG_DBGBUS_MASKL_0                       0x0000060c
+
+#define REG_A6XX_DBGC_CFG_DBGBUS_MASKL_1                       0x0000060d
+
+#define REG_A6XX_DBGC_CFG_DBGBUS_MASKL_2                       0x0000060e
+
+#define REG_A6XX_DBGC_CFG_DBGBUS_MASKL_3                       0x0000060f
+
+#define REG_A6XX_DBGC_CFG_DBGBUS_BYTEL_0                       0x00000610
+#define A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL0__MASK              0x0000000f
+#define A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL0__SHIFT             0
+static inline uint32_t A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL0(uint32_t val)
+{
+       return ((val) << A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL0__SHIFT) & A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL0__MASK;
+}
+#define A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL1__MASK              0x000000f0
+#define A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL1__SHIFT             4
+static inline uint32_t A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL1(uint32_t val)
+{
+       return ((val) << A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL1__SHIFT) & A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL1__MASK;
+}
+#define A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL2__MASK              0x00000f00
+#define A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL2__SHIFT             8
+static inline uint32_t A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL2(uint32_t val)
+{
+       return ((val) << A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL2__SHIFT) & A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL2__MASK;
+}
+#define A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL3__MASK              0x0000f000
+#define A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL3__SHIFT             12
+static inline uint32_t A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL3(uint32_t val)
+{
+       return ((val) << A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL3__SHIFT) & A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL3__MASK;
+}
+#define A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL4__MASK              0x000f0000
+#define A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL4__SHIFT             16
+static inline uint32_t A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL4(uint32_t val)
+{
+       return ((val) << A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL4__SHIFT) & A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL4__MASK;
+}
+#define A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL5__MASK              0x00f00000
+#define A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL5__SHIFT             20
+static inline uint32_t A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL5(uint32_t val)
+{
+       return ((val) << A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL5__SHIFT) & A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL5__MASK;
+}
+#define A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL6__MASK              0x0f000000
+#define A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL6__SHIFT             24
+static inline uint32_t A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL6(uint32_t val)
+{
+       return ((val) << A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL6__SHIFT) & A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL6__MASK;
+}
+#define A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL7__MASK              0xf0000000
+#define A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL7__SHIFT             28
+static inline uint32_t A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL7(uint32_t val)
+{
+       return ((val) << A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL7__SHIFT) & A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL7__MASK;
+}
+
+#define REG_A6XX_DBGC_CFG_DBGBUS_BYTEL_1                       0x00000611
+#define A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL8__MASK              0x0000000f
+#define A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL8__SHIFT             0
+static inline uint32_t A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL8(uint32_t val)
+{
+       return ((val) << A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL8__SHIFT) & A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL8__MASK;
+}
+#define A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL9__MASK              0x000000f0
+#define A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL9__SHIFT             4
+static inline uint32_t A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL9(uint32_t val)
+{
+       return ((val) << A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL9__SHIFT) & A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL9__MASK;
+}
+#define A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL10__MASK             0x00000f00
+#define A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL10__SHIFT            8
+static inline uint32_t A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL10(uint32_t val)
+{
+       return ((val) << A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL10__SHIFT) & A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL10__MASK;
+}
+#define A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL11__MASK             0x0000f000
+#define A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL11__SHIFT            12
+static inline uint32_t A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL11(uint32_t val)
+{
+       return ((val) << A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL11__SHIFT) & A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL11__MASK;
+}
+#define A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL12__MASK             0x000f0000
+#define A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL12__SHIFT            16
+static inline uint32_t A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL12(uint32_t val)
+{
+       return ((val) << A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL12__SHIFT) & A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL12__MASK;
+}
+#define A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL13__MASK             0x00f00000
+#define A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL13__SHIFT            20
+static inline uint32_t A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL13(uint32_t val)
+{
+       return ((val) << A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL13__SHIFT) & A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL13__MASK;
+}
+#define A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL14__MASK             0x0f000000
+#define A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL14__SHIFT            24
+static inline uint32_t A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL14(uint32_t val)
+{
+       return ((val) << A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL14__SHIFT) & A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL14__MASK;
+}
+#define A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL15__MASK             0xf0000000
+#define A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL15__SHIFT            28
+static inline uint32_t A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL15(uint32_t val)
+{
+       return ((val) << A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL15__SHIFT) & A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL15__MASK;
+}
+
+#define REG_A6XX_DBGC_CFG_DBGBUS_TRACE_BUF1                    0x0000062f
+
+#define REG_A6XX_DBGC_CFG_DBGBUS_TRACE_BUF2                    0x00000630
+
+#define REG_A6XX_VSC_PERFCTR_VSC_SEL_0                         0x00000cd8
+
+#define REG_A6XX_VSC_PERFCTR_VSC_SEL_1                         0x00000cd9
+
+#define REG_A6XX_GRAS_ADDR_MODE_CNTL                           0x00008601
+
+#define REG_A6XX_GRAS_PERFCTR_TSE_SEL_0                                0x00008610
+
+#define REG_A6XX_GRAS_PERFCTR_TSE_SEL_1                                0x00008611
+
+#define REG_A6XX_GRAS_PERFCTR_TSE_SEL_2                                0x00008612
+
+#define REG_A6XX_GRAS_PERFCTR_TSE_SEL_3                                0x00008613
+
+#define REG_A6XX_GRAS_PERFCTR_RAS_SEL_0                                0x00008614
+
+#define REG_A6XX_GRAS_PERFCTR_RAS_SEL_1                                0x00008615
+
+#define REG_A6XX_GRAS_PERFCTR_RAS_SEL_2                                0x00008616
+
+#define REG_A6XX_GRAS_PERFCTR_RAS_SEL_3                                0x00008617
+
+#define REG_A6XX_GRAS_PERFCTR_LRZ_SEL_0                                0x00008618
+
+#define REG_A6XX_GRAS_PERFCTR_LRZ_SEL_1                                0x00008619
+
+#define REG_A6XX_GRAS_PERFCTR_LRZ_SEL_2                                0x0000861a
+
+#define REG_A6XX_GRAS_PERFCTR_LRZ_SEL_3                                0x0000861b
+
+#define REG_A6XX_RB_ADDR_MODE_CNTL                             0x00008e05
+
+#define REG_A6XX_RB_NC_MODE_CNTL                               0x00008e08
+
+#define REG_A6XX_RB_PERFCTR_RB_SEL_0                           0x00008e10
+
+#define REG_A6XX_RB_PERFCTR_RB_SEL_1                           0x00008e11
+
+#define REG_A6XX_RB_PERFCTR_RB_SEL_2                           0x00008e12
+
+#define REG_A6XX_RB_PERFCTR_RB_SEL_3                           0x00008e13
+
+#define REG_A6XX_RB_PERFCTR_RB_SEL_4                           0x00008e14
+
+#define REG_A6XX_RB_PERFCTR_RB_SEL_5                           0x00008e15
+
+#define REG_A6XX_RB_PERFCTR_RB_SEL_6                           0x00008e16
+
+#define REG_A6XX_RB_PERFCTR_RB_SEL_7                           0x00008e17
+
+#define REG_A6XX_RB_PERFCTR_CCU_SEL_0                          0x00008e18
+
+#define REG_A6XX_RB_PERFCTR_CCU_SEL_1                          0x00008e19
+
+#define REG_A6XX_RB_PERFCTR_CCU_SEL_2                          0x00008e1a
+
+#define REG_A6XX_RB_PERFCTR_CCU_SEL_3                          0x00008e1b
+
+#define REG_A6XX_RB_PERFCTR_CCU_SEL_4                          0x00008e1c
+
+#define REG_A6XX_RB_PERFCTR_CMP_SEL_0                          0x00008e2c
+
+#define REG_A6XX_RB_PERFCTR_CMP_SEL_1                          0x00008e2d
+
+#define REG_A6XX_RB_PERFCTR_CMP_SEL_2                          0x00008e2e
+
+#define REG_A6XX_RB_PERFCTR_CMP_SEL_3                          0x00008e2f
+
+#define REG_A6XX_RB_RB_SUB_BLOCK_SEL_CNTL_CD                   0x00008e3d
+
+#define REG_A6XX_RB_CONTEXT_SWITCH_GMEM_SAVE_RESTORE           0x00008e50
+
+#define REG_A6XX_PC_DBG_ECO_CNTL                               0x00009e00
+
+#define REG_A6XX_PC_ADDR_MODE_CNTL                             0x00009e01
+
+#define REG_A6XX_PC_PERFCTR_PC_SEL_0                           0x00009e34
+
+#define REG_A6XX_PC_PERFCTR_PC_SEL_1                           0x00009e35
+
+#define REG_A6XX_PC_PERFCTR_PC_SEL_2                           0x00009e36
+
+#define REG_A6XX_PC_PERFCTR_PC_SEL_3                           0x00009e37
+
+#define REG_A6XX_PC_PERFCTR_PC_SEL_4                           0x00009e38
+
+#define REG_A6XX_PC_PERFCTR_PC_SEL_5                           0x00009e39
+
+#define REG_A6XX_PC_PERFCTR_PC_SEL_6                           0x00009e3a
+
+#define REG_A6XX_PC_PERFCTR_PC_SEL_7                           0x00009e3b
+
+#define REG_A6XX_HLSQ_ADDR_MODE_CNTL                           0x0000be05
+
+#define REG_A6XX_HLSQ_PERFCTR_HLSQ_SEL_0                       0x0000be10
+
+#define REG_A6XX_HLSQ_PERFCTR_HLSQ_SEL_1                       0x0000be11
+
+#define REG_A6XX_HLSQ_PERFCTR_HLSQ_SEL_2                       0x0000be12
+
+#define REG_A6XX_HLSQ_PERFCTR_HLSQ_SEL_3                       0x0000be13
+
+#define REG_A6XX_HLSQ_PERFCTR_HLSQ_SEL_4                       0x0000be14
+
+#define REG_A6XX_HLSQ_PERFCTR_HLSQ_SEL_5                       0x0000be15
+
+#define REG_A6XX_HLSQ_DBG_AHB_READ_APERTURE                    0x0000c800
+
+#define REG_A6XX_HLSQ_DBG_READ_SEL                             0x0000d000
+
+#define REG_A6XX_VFD_ADDR_MODE_CNTL                            0x0000a601
+
+#define REG_A6XX_VFD_PERFCTR_VFD_SEL_0                         0x0000a610
+
+#define REG_A6XX_VFD_PERFCTR_VFD_SEL_1                         0x0000a611
+
+#define REG_A6XX_VFD_PERFCTR_VFD_SEL_2                         0x0000a612
+
+#define REG_A6XX_VFD_PERFCTR_VFD_SEL_3                         0x0000a613
+
+#define REG_A6XX_VFD_PERFCTR_VFD_SEL_4                         0x0000a614
+
+#define REG_A6XX_VFD_PERFCTR_VFD_SEL_5                         0x0000a615
+
+#define REG_A6XX_VFD_PERFCTR_VFD_SEL_6                         0x0000a616
+
+#define REG_A6XX_VFD_PERFCTR_VFD_SEL_7                         0x0000a617
+
+#define REG_A6XX_VPC_ADDR_MODE_CNTL                            0x00009601
+
+#define REG_A6XX_VPC_PERFCTR_VPC_SEL_0                         0x00009604
+
+#define REG_A6XX_VPC_PERFCTR_VPC_SEL_1                         0x00009605
+
+#define REG_A6XX_VPC_PERFCTR_VPC_SEL_2                         0x00009606
+
+#define REG_A6XX_VPC_PERFCTR_VPC_SEL_3                         0x00009607
+
+#define REG_A6XX_VPC_PERFCTR_VPC_SEL_4                         0x00009608
+
+#define REG_A6XX_VPC_PERFCTR_VPC_SEL_5                         0x00009609
+
+#define REG_A6XX_UCHE_ADDR_MODE_CNTL                           0x00000e00
+
+#define REG_A6XX_UCHE_MODE_CNTL                                        0x00000e01
+
+#define REG_A6XX_UCHE_WRITE_RANGE_MAX_LO                       0x00000e05
+
+#define REG_A6XX_UCHE_WRITE_RANGE_MAX_HI                       0x00000e06
+
+#define REG_A6XX_UCHE_WRITE_THRU_BASE_LO                       0x00000e07
+
+#define REG_A6XX_UCHE_WRITE_THRU_BASE_HI                       0x00000e08
+
+#define REG_A6XX_UCHE_TRAP_BASE_LO                             0x00000e09
+
+#define REG_A6XX_UCHE_TRAP_BASE_HI                             0x00000e0a
+
+#define REG_A6XX_UCHE_GMEM_RANGE_MIN_LO                                0x00000e0b
+
+#define REG_A6XX_UCHE_GMEM_RANGE_MIN_HI                                0x00000e0c
+
+#define REG_A6XX_UCHE_GMEM_RANGE_MAX_LO                                0x00000e0d
+
+#define REG_A6XX_UCHE_GMEM_RANGE_MAX_HI                                0x00000e0e
+
+#define REG_A6XX_UCHE_CACHE_WAYS                               0x00000e17
+
+#define REG_A6XX_UCHE_FILTER_CNTL                              0x00000e18
+
+#define REG_A6XX_UCHE_CLIENT_PF                                        0x00000e19
+#define A6XX_UCHE_CLIENT_PF_PERFSEL__MASK                      0x000000ff
+#define A6XX_UCHE_CLIENT_PF_PERFSEL__SHIFT                     0
+static inline uint32_t A6XX_UCHE_CLIENT_PF_PERFSEL(uint32_t val)
+{
+       return ((val) << A6XX_UCHE_CLIENT_PF_PERFSEL__SHIFT) & A6XX_UCHE_CLIENT_PF_PERFSEL__MASK;
+}
+
+#define REG_A6XX_UCHE_PERFCTR_UCHE_SEL_0                       0x00000e1c
+
+#define REG_A6XX_UCHE_PERFCTR_UCHE_SEL_1                       0x00000e1d
+
+#define REG_A6XX_UCHE_PERFCTR_UCHE_SEL_2                       0x00000e1e
+
+#define REG_A6XX_UCHE_PERFCTR_UCHE_SEL_3                       0x00000e1f
+
+#define REG_A6XX_UCHE_PERFCTR_UCHE_SEL_4                       0x00000e20
+
+#define REG_A6XX_UCHE_PERFCTR_UCHE_SEL_5                       0x00000e21
+
+#define REG_A6XX_UCHE_PERFCTR_UCHE_SEL_6                       0x00000e22
+
+#define REG_A6XX_UCHE_PERFCTR_UCHE_SEL_7                       0x00000e23
+
+#define REG_A6XX_UCHE_PERFCTR_UCHE_SEL_8                       0x00000e24
+
+#define REG_A6XX_UCHE_PERFCTR_UCHE_SEL_9                       0x00000e25
+
+#define REG_A6XX_UCHE_PERFCTR_UCHE_SEL_10                      0x00000e26
+
+#define REG_A6XX_UCHE_PERFCTR_UCHE_SEL_11                      0x00000e27
+
+#define REG_A6XX_SP_ADDR_MODE_CNTL                             0x0000ae01
+
+#define REG_A6XX_SP_NC_MODE_CNTL                               0x0000ae02
+
+#define REG_A6XX_SP_PERFCTR_SP_SEL_0                           0x0000ae10
+
+#define REG_A6XX_SP_PERFCTR_SP_SEL_1                           0x0000ae11
+
+#define REG_A6XX_SP_PERFCTR_SP_SEL_2                           0x0000ae12
+
+#define REG_A6XX_SP_PERFCTR_SP_SEL_3                           0x0000ae13
+
+#define REG_A6XX_SP_PERFCTR_SP_SEL_4                           0x0000ae14
+
+#define REG_A6XX_SP_PERFCTR_SP_SEL_5                           0x0000ae15
+
+#define REG_A6XX_SP_PERFCTR_SP_SEL_6                           0x0000ae16
+
+#define REG_A6XX_SP_PERFCTR_SP_SEL_7                           0x0000ae17
+
+#define REG_A6XX_SP_PERFCTR_SP_SEL_8                           0x0000ae18
+
+#define REG_A6XX_SP_PERFCTR_SP_SEL_9                           0x0000ae19
+
+#define REG_A6XX_SP_PERFCTR_SP_SEL_10                          0x0000ae1a
+
+#define REG_A6XX_SP_PERFCTR_SP_SEL_11                          0x0000ae1b
+
+#define REG_A6XX_SP_PERFCTR_SP_SEL_12                          0x0000ae1c
+
+#define REG_A6XX_SP_PERFCTR_SP_SEL_13                          0x0000ae1d
+
+#define REG_A6XX_SP_PERFCTR_SP_SEL_14                          0x0000ae1e
+
+#define REG_A6XX_SP_PERFCTR_SP_SEL_15                          0x0000ae1f
+
+#define REG_A6XX_SP_PERFCTR_SP_SEL_16                          0x0000ae20
+
+#define REG_A6XX_SP_PERFCTR_SP_SEL_17                          0x0000ae21
+
+#define REG_A6XX_SP_PERFCTR_SP_SEL_18                          0x0000ae22
+
+#define REG_A6XX_SP_PERFCTR_SP_SEL_19                          0x0000ae23
+
+#define REG_A6XX_SP_PERFCTR_SP_SEL_20                          0x0000ae24
+
+#define REG_A6XX_SP_PERFCTR_SP_SEL_21                          0x0000ae25
+
+#define REG_A6XX_SP_PERFCTR_SP_SEL_22                          0x0000ae26
+
+#define REG_A6XX_SP_PERFCTR_SP_SEL_23                          0x0000ae27
+
+#define REG_A6XX_TPL1_ADDR_MODE_CNTL                           0x0000b601
+
+#define REG_A6XX_TPL1_NC_MODE_CNTL                             0x0000b604
+
+#define REG_A6XX_TPL1_PERFCTR_TP_SEL_0                         0x0000b610
+
+#define REG_A6XX_TPL1_PERFCTR_TP_SEL_1                         0x0000b611
+
+#define REG_A6XX_TPL1_PERFCTR_TP_SEL_2                         0x0000b612
+
+#define REG_A6XX_TPL1_PERFCTR_TP_SEL_3                         0x0000b613
+
+#define REG_A6XX_TPL1_PERFCTR_TP_SEL_4                         0x0000b614
+
+#define REG_A6XX_TPL1_PERFCTR_TP_SEL_5                         0x0000b615
+
+#define REG_A6XX_TPL1_PERFCTR_TP_SEL_6                         0x0000b616
+
+#define REG_A6XX_TPL1_PERFCTR_TP_SEL_7                         0x0000b617
+
+#define REG_A6XX_TPL1_PERFCTR_TP_SEL_8                         0x0000b618
+
+#define REG_A6XX_TPL1_PERFCTR_TP_SEL_9                         0x0000b619
+
+#define REG_A6XX_TPL1_PERFCTR_TP_SEL_10                                0x0000b61a
+
+#define REG_A6XX_TPL1_PERFCTR_TP_SEL_11                                0x0000b61b
+
+#define REG_A6XX_VBIF_VERSION                                  0x00003000
+
+#define REG_A6XX_VBIF_GATE_OFF_WRREQ_EN                                0x0000302a
+
+#define REG_A6XX_VBIF_XIN_HALT_CTRL0                           0x00003080
+
+#define REG_A6XX_VBIF_XIN_HALT_CTRL1                           0x00003081
+
+#define REG_A6XX_VBIF_PERF_CNT_SEL0                            0x000030d0
+
+#define REG_A6XX_VBIF_PERF_CNT_SEL1                            0x000030d1
+
+#define REG_A6XX_VBIF_PERF_CNT_SEL2                            0x000030d2
+
+#define REG_A6XX_VBIF_PERF_CNT_SEL3                            0x000030d3
+
+#define REG_A6XX_VBIF_PERF_CNT_LOW0                            0x000030d8
+
+#define REG_A6XX_VBIF_PERF_CNT_LOW1                            0x000030d9
+
+#define REG_A6XX_VBIF_PERF_CNT_LOW2                            0x000030da
+
+#define REG_A6XX_VBIF_PERF_CNT_LOW3                            0x000030db
+
+#define REG_A6XX_VBIF_PERF_CNT_HIGH0                           0x000030e0
+
+#define REG_A6XX_VBIF_PERF_CNT_HIGH1                           0x000030e1
+
+#define REG_A6XX_VBIF_PERF_CNT_HIGH2                           0x000030e2
+
+#define REG_A6XX_VBIF_PERF_CNT_HIGH3                           0x000030e3
+
+#define REG_A6XX_VBIF_PERF_PWR_CNT_EN0                         0x00003100
+
+#define REG_A6XX_VBIF_PERF_PWR_CNT_EN1                         0x00003101
+
+#define REG_A6XX_VBIF_PERF_PWR_CNT_EN2                         0x00003102
+
+#define REG_A6XX_VBIF_PERF_PWR_CNT_LOW0                                0x00003110
+
+#define REG_A6XX_VBIF_PERF_PWR_CNT_LOW1                                0x00003111
+
+#define REG_A6XX_VBIF_PERF_PWR_CNT_LOW2                                0x00003112
+
+#define REG_A6XX_VBIF_PERF_PWR_CNT_HIGH0                       0x00003118
+
+#define REG_A6XX_VBIF_PERF_PWR_CNT_HIGH1                       0x00003119
+
+#define REG_A6XX_VBIF_PERF_PWR_CNT_HIGH2                       0x0000311a
+
+#define REG_A6XX_CX_DBGC_CFG_DBGBUS_SEL_A                      0x00018400
+
+#define REG_A6XX_CX_DBGC_CFG_DBGBUS_SEL_B                      0x00018401
+
+#define REG_A6XX_CX_DBGC_CFG_DBGBUS_SEL_C                      0x00018402
+
+#define REG_A6XX_CX_DBGC_CFG_DBGBUS_SEL_D                      0x00018403
+#define A6XX_CX_DBGC_CFG_DBGBUS_SEL_D_PING_INDEX__MASK         0x000000ff
+#define A6XX_CX_DBGC_CFG_DBGBUS_SEL_D_PING_INDEX__SHIFT                0
+static inline uint32_t A6XX_CX_DBGC_CFG_DBGBUS_SEL_D_PING_INDEX(uint32_t val)
+{
+       return ((val) << A6XX_CX_DBGC_CFG_DBGBUS_SEL_D_PING_INDEX__SHIFT) & A6XX_CX_DBGC_CFG_DBGBUS_SEL_D_PING_INDEX__MASK;
+}
+#define A6XX_CX_DBGC_CFG_DBGBUS_SEL_D_PING_BLK_SEL__MASK       0x0000ff00
+#define A6XX_CX_DBGC_CFG_DBGBUS_SEL_D_PING_BLK_SEL__SHIFT      8
+static inline uint32_t A6XX_CX_DBGC_CFG_DBGBUS_SEL_D_PING_BLK_SEL(uint32_t val)
+{
+       return ((val) << A6XX_CX_DBGC_CFG_DBGBUS_SEL_D_PING_BLK_SEL__SHIFT) & A6XX_CX_DBGC_CFG_DBGBUS_SEL_D_PING_BLK_SEL__MASK;
+}
+
+#define REG_A6XX_CX_DBGC_CFG_DBGBUS_CNTLT                      0x00018404
+#define A6XX_CX_DBGC_CFG_DBGBUS_CNTLT_TRACEEN__MASK            0x0000003f
+#define A6XX_CX_DBGC_CFG_DBGBUS_CNTLT_TRACEEN__SHIFT           0
+static inline uint32_t A6XX_CX_DBGC_CFG_DBGBUS_CNTLT_TRACEEN(uint32_t val)
+{
+       return ((val) << A6XX_CX_DBGC_CFG_DBGBUS_CNTLT_TRACEEN__SHIFT) & A6XX_CX_DBGC_CFG_DBGBUS_CNTLT_TRACEEN__MASK;
+}
+#define A6XX_CX_DBGC_CFG_DBGBUS_CNTLT_GRANU__MASK              0x00007000
+#define A6XX_CX_DBGC_CFG_DBGBUS_CNTLT_GRANU__SHIFT             12
+static inline uint32_t A6XX_CX_DBGC_CFG_DBGBUS_CNTLT_GRANU(uint32_t val)
+{
+       return ((val) << A6XX_CX_DBGC_CFG_DBGBUS_CNTLT_GRANU__SHIFT) & A6XX_CX_DBGC_CFG_DBGBUS_CNTLT_GRANU__MASK;
+}
+#define A6XX_CX_DBGC_CFG_DBGBUS_CNTLT_SEGT__MASK               0xf0000000
+#define A6XX_CX_DBGC_CFG_DBGBUS_CNTLT_SEGT__SHIFT              28
+static inline uint32_t A6XX_CX_DBGC_CFG_DBGBUS_CNTLT_SEGT(uint32_t val)
+{
+       return ((val) << A6XX_CX_DBGC_CFG_DBGBUS_CNTLT_SEGT__SHIFT) & A6XX_CX_DBGC_CFG_DBGBUS_CNTLT_SEGT__MASK;
+}
+
+#define REG_A6XX_CX_DBGC_CFG_DBGBUS_CNTLM                      0x00018405
+#define A6XX_CX_DBGC_CFG_DBGBUS_CNTLM_ENABLE__MASK             0x0f000000
+#define A6XX_CX_DBGC_CFG_DBGBUS_CNTLM_ENABLE__SHIFT            24
+static inline uint32_t A6XX_CX_DBGC_CFG_DBGBUS_CNTLM_ENABLE(uint32_t val)
+{
+       return ((val) << A6XX_CX_DBGC_CFG_DBGBUS_CNTLM_ENABLE__SHIFT) & A6XX_CX_DBGC_CFG_DBGBUS_CNTLM_ENABLE__MASK;
+}
+
+#define REG_A6XX_CX_DBGC_CFG_DBGBUS_IVTL_0                     0x00018408
+
+#define REG_A6XX_CX_DBGC_CFG_DBGBUS_IVTL_1                     0x00018409
+
+#define REG_A6XX_CX_DBGC_CFG_DBGBUS_IVTL_2                     0x0001840a
+
+#define REG_A6XX_CX_DBGC_CFG_DBGBUS_IVTL_3                     0x0001840b
+
+#define REG_A6XX_CX_DBGC_CFG_DBGBUS_MASKL_0                    0x0001840c
+
+#define REG_A6XX_CX_DBGC_CFG_DBGBUS_MASKL_1                    0x0001840d
+
+#define REG_A6XX_CX_DBGC_CFG_DBGBUS_MASKL_2                    0x0001840e
+
+#define REG_A6XX_CX_DBGC_CFG_DBGBUS_MASKL_3                    0x0001840f
+
+#define REG_A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0                    0x00018410
+#define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL0__MASK           0x0000000f
+#define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL0__SHIFT          0
+static inline uint32_t A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL0(uint32_t val)
+{
+       return ((val) << A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL0__SHIFT) & A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL0__MASK;
+}
+#define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL1__MASK           0x000000f0
+#define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL1__SHIFT          4
+static inline uint32_t A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL1(uint32_t val)
+{
+       return ((val) << A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL1__SHIFT) & A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL1__MASK;
+}
+#define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL2__MASK           0x00000f00
+#define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL2__SHIFT          8
+static inline uint32_t A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL2(uint32_t val)
+{
+       return ((val) << A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL2__SHIFT) & A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL2__MASK;
+}
+#define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL3__MASK           0x0000f000
+#define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL3__SHIFT          12
+static inline uint32_t A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL3(uint32_t val)
+{
+       return ((val) << A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL3__SHIFT) & A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL3__MASK;
+}
+#define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL4__MASK           0x000f0000
+#define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL4__SHIFT          16
+static inline uint32_t A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL4(uint32_t val)
+{
+       return ((val) << A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL4__SHIFT) & A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL4__MASK;
+}
+#define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL5__MASK           0x00f00000
+#define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL5__SHIFT          20
+static inline uint32_t A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL5(uint32_t val)
+{
+       return ((val) << A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL5__SHIFT) & A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL5__MASK;
+}
+#define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL6__MASK           0x0f000000
+#define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL6__SHIFT          24
+static inline uint32_t A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL6(uint32_t val)
+{
+       return ((val) << A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL6__SHIFT) & A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL6__MASK;
+}
+#define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL7__MASK           0xf0000000
+#define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL7__SHIFT          28
+static inline uint32_t A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL7(uint32_t val)
+{
+       return ((val) << A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL7__SHIFT) & A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL7__MASK;
+}
+
+#define REG_A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1                    0x00018411
+#define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL8__MASK           0x0000000f
+#define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL8__SHIFT          0
+static inline uint32_t A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL8(uint32_t val)
+{
+       return ((val) << A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL8__SHIFT) & A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL8__MASK;
+}
+#define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL9__MASK           0x000000f0
+#define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL9__SHIFT          4
+static inline uint32_t A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL9(uint32_t val)
+{
+       return ((val) << A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL9__SHIFT) & A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL9__MASK;
+}
+#define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL10__MASK          0x00000f00
+#define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL10__SHIFT         8
+static inline uint32_t A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL10(uint32_t val)
+{
+       return ((val) << A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL10__SHIFT) & A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL10__MASK;
+}
+#define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL11__MASK          0x0000f000
+#define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL11__SHIFT         12
+static inline uint32_t A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL11(uint32_t val)
+{
+       return ((val) << A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL11__SHIFT) & A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL11__MASK;
+}
+#define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL12__MASK          0x000f0000
+#define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL12__SHIFT         16
+static inline uint32_t A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL12(uint32_t val)
+{
+       return ((val) << A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL12__SHIFT) & A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL12__MASK;
+}
+#define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL13__MASK          0x00f00000
+#define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL13__SHIFT         20
+static inline uint32_t A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL13(uint32_t val)
+{
+       return ((val) << A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL13__SHIFT) & A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL13__MASK;
+}
+#define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL14__MASK          0x0f000000
+#define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL14__SHIFT         24
+static inline uint32_t A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL14(uint32_t val)
+{
+       return ((val) << A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL14__SHIFT) & A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL14__MASK;
+}
+#define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL15__MASK          0xf0000000
+#define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL15__SHIFT         28
+static inline uint32_t A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL15(uint32_t val)
+{
+       return ((val) << A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL15__SHIFT) & A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL15__MASK;
+}
+
+#define REG_A6XX_CX_DBGC_CFG_DBGBUS_TRACE_BUF1                 0x0001842f
+
+#define REG_A6XX_CX_DBGC_CFG_DBGBUS_TRACE_BUF2                 0x00018430
+
+#define REG_A6XX_PDC_GPU_ENABLE_PDC                            0x00021140
+
+#define REG_A6XX_PDC_GPU_SEQ_START_ADDR                                0x00021148
+
+#define REG_A6XX_PDC_GPU_TCS0_CONTROL                          0x00021540
+
+#define REG_A6XX_PDC_GPU_TCS0_CMD_ENABLE_BANK                  0x00021541
+
+#define REG_A6XX_PDC_GPU_TCS0_CMD_WAIT_FOR_CMPL_BANK           0x00021542
+
+#define REG_A6XX_PDC_GPU_TCS0_CMD0_MSGID                       0x00021543
+
+#define REG_A6XX_PDC_GPU_TCS0_CMD0_ADDR                                0x00021544
+
+#define REG_A6XX_PDC_GPU_TCS0_CMD0_DATA                                0x00021545
+
+#define REG_A6XX_PDC_GPU_TCS1_CONTROL                          0x00021572
+
+#define REG_A6XX_PDC_GPU_TCS1_CMD_ENABLE_BANK                  0x00021573
+
+#define REG_A6XX_PDC_GPU_TCS1_CMD_WAIT_FOR_CMPL_BANK           0x00021574
+
+#define REG_A6XX_PDC_GPU_TCS1_CMD0_MSGID                       0x00021575
+
+#define REG_A6XX_PDC_GPU_TCS1_CMD0_ADDR                                0x00021576
+
+#define REG_A6XX_PDC_GPU_TCS1_CMD0_DATA                                0x00021577
+
+#define REG_A6XX_PDC_GPU_TCS2_CONTROL                          0x000215a4
+
+#define REG_A6XX_PDC_GPU_TCS2_CMD_ENABLE_BANK                  0x000215a5
+
+#define REG_A6XX_PDC_GPU_TCS2_CMD_WAIT_FOR_CMPL_BANK           0x000215a6
+
+#define REG_A6XX_PDC_GPU_TCS2_CMD0_MSGID                       0x000215a7
+
+#define REG_A6XX_PDC_GPU_TCS2_CMD0_ADDR                                0x000215a8
+
+#define REG_A6XX_PDC_GPU_TCS2_CMD0_DATA                                0x000215a9
+
+#define REG_A6XX_PDC_GPU_TCS3_CONTROL                          0x000215d6
+
+#define REG_A6XX_PDC_GPU_TCS3_CMD_ENABLE_BANK                  0x000215d7
+
+#define REG_A6XX_PDC_GPU_TCS3_CMD_WAIT_FOR_CMPL_BANK           0x000215d8
+
+#define REG_A6XX_PDC_GPU_TCS3_CMD0_MSGID                       0x000215d9
+
+#define REG_A6XX_PDC_GPU_TCS3_CMD0_ADDR                                0x000215da
+
+#define REG_A6XX_PDC_GPU_TCS3_CMD0_DATA                                0x000215db
+
+#define REG_A6XX_PDC_GPU_SEQ_MEM_0                             0x000a0000
+
+#define REG_A6XX_X1_WINDOW_OFFSET                              0x000088d4
+#define A6XX_X1_WINDOW_OFFSET_WINDOW_OFFSET_DISABLE            0x80000000
+#define A6XX_X1_WINDOW_OFFSET_X__MASK                          0x00007fff
+#define A6XX_X1_WINDOW_OFFSET_X__SHIFT                         0
+static inline uint32_t A6XX_X1_WINDOW_OFFSET_X(uint32_t val)
+{
+       return ((val) << A6XX_X1_WINDOW_OFFSET_X__SHIFT) & A6XX_X1_WINDOW_OFFSET_X__MASK;
+}
+#define A6XX_X1_WINDOW_OFFSET_Y__MASK                          0x7fff0000
+#define A6XX_X1_WINDOW_OFFSET_Y__SHIFT                         16
+static inline uint32_t A6XX_X1_WINDOW_OFFSET_Y(uint32_t val)
+{
+       return ((val) << A6XX_X1_WINDOW_OFFSET_Y__SHIFT) & A6XX_X1_WINDOW_OFFSET_Y__MASK;
+}
+
+#define REG_A6XX_X2_WINDOW_OFFSET                              0x0000b4d1
+#define A6XX_X2_WINDOW_OFFSET_WINDOW_OFFSET_DISABLE            0x80000000
+#define A6XX_X2_WINDOW_OFFSET_X__MASK                          0x00007fff
+#define A6XX_X2_WINDOW_OFFSET_X__SHIFT                         0
+static inline uint32_t A6XX_X2_WINDOW_OFFSET_X(uint32_t val)
+{
+       return ((val) << A6XX_X2_WINDOW_OFFSET_X__SHIFT) & A6XX_X2_WINDOW_OFFSET_X__MASK;
+}
+#define A6XX_X2_WINDOW_OFFSET_Y__MASK                          0x7fff0000
+#define A6XX_X2_WINDOW_OFFSET_Y__SHIFT                         16
+static inline uint32_t A6XX_X2_WINDOW_OFFSET_Y(uint32_t val)
+{
+       return ((val) << A6XX_X2_WINDOW_OFFSET_Y__SHIFT) & A6XX_X2_WINDOW_OFFSET_Y__MASK;
+}
+
+#define REG_A6XX_X3_WINDOW_OFFSET                              0x0000b307
+#define A6XX_X3_WINDOW_OFFSET_WINDOW_OFFSET_DISABLE            0x80000000
+#define A6XX_X3_WINDOW_OFFSET_X__MASK                          0x00007fff
+#define A6XX_X3_WINDOW_OFFSET_X__SHIFT                         0
+static inline uint32_t A6XX_X3_WINDOW_OFFSET_X(uint32_t val)
+{
+       return ((val) << A6XX_X3_WINDOW_OFFSET_X__SHIFT) & A6XX_X3_WINDOW_OFFSET_X__MASK;
+}
+#define A6XX_X3_WINDOW_OFFSET_Y__MASK                          0x7fff0000
+#define A6XX_X3_WINDOW_OFFSET_Y__SHIFT                         16
+static inline uint32_t A6XX_X3_WINDOW_OFFSET_Y(uint32_t val)
+{
+       return ((val) << A6XX_X3_WINDOW_OFFSET_Y__SHIFT) & A6XX_X3_WINDOW_OFFSET_Y__MASK;
+}
+
+#define REG_A6XX_X1_BIN_SIZE                                   0x000080a1
+#define A6XX_X1_BIN_SIZE_WIDTH__MASK                           0x000000ff
+#define A6XX_X1_BIN_SIZE_WIDTH__SHIFT                          0
+static inline uint32_t A6XX_X1_BIN_SIZE_WIDTH(uint32_t val)
+{
+       return ((val >> 5) << A6XX_X1_BIN_SIZE_WIDTH__SHIFT) & A6XX_X1_BIN_SIZE_WIDTH__MASK;
+}
+#define A6XX_X1_BIN_SIZE_HEIGHT__MASK                          0x0001ff00
+#define A6XX_X1_BIN_SIZE_HEIGHT__SHIFT                         8
+static inline uint32_t A6XX_X1_BIN_SIZE_HEIGHT(uint32_t val)
+{
+       return ((val >> 4) << A6XX_X1_BIN_SIZE_HEIGHT__SHIFT) & A6XX_X1_BIN_SIZE_HEIGHT__MASK;
+}
+
+#define REG_A6XX_X2_BIN_SIZE                                   0x00008800
+#define A6XX_X2_BIN_SIZE_WIDTH__MASK                           0x000000ff
+#define A6XX_X2_BIN_SIZE_WIDTH__SHIFT                          0
+static inline uint32_t A6XX_X2_BIN_SIZE_WIDTH(uint32_t val)
+{
+       return ((val >> 5) << A6XX_X2_BIN_SIZE_WIDTH__SHIFT) & A6XX_X2_BIN_SIZE_WIDTH__MASK;
+}
+#define A6XX_X2_BIN_SIZE_HEIGHT__MASK                          0x0001ff00
+#define A6XX_X2_BIN_SIZE_HEIGHT__SHIFT                         8
+static inline uint32_t A6XX_X2_BIN_SIZE_HEIGHT(uint32_t val)
+{
+       return ((val >> 4) << A6XX_X2_BIN_SIZE_HEIGHT__SHIFT) & A6XX_X2_BIN_SIZE_HEIGHT__MASK;
+}
+
+#define REG_A6XX_X3_BIN_SIZE                                   0x000088d3
+#define A6XX_X3_BIN_SIZE_WIDTH__MASK                           0x000000ff
+#define A6XX_X3_BIN_SIZE_WIDTH__SHIFT                          0
+static inline uint32_t A6XX_X3_BIN_SIZE_WIDTH(uint32_t val)
+{
+       return ((val >> 5) << A6XX_X3_BIN_SIZE_WIDTH__SHIFT) & A6XX_X3_BIN_SIZE_WIDTH__MASK;
+}
+#define A6XX_X3_BIN_SIZE_HEIGHT__MASK                          0x0001ff00
+#define A6XX_X3_BIN_SIZE_HEIGHT__SHIFT                         8
+static inline uint32_t A6XX_X3_BIN_SIZE_HEIGHT(uint32_t val)
+{
+       return ((val >> 4) << A6XX_X3_BIN_SIZE_HEIGHT__SHIFT) & A6XX_X3_BIN_SIZE_HEIGHT__MASK;
+}
+
+#define REG_A6XX_VSC_BIN_SIZE                                  0x00000c02
+#define A6XX_VSC_BIN_SIZE_WIDTH__MASK                          0x000000ff
+#define A6XX_VSC_BIN_SIZE_WIDTH__SHIFT                         0
+static inline uint32_t A6XX_VSC_BIN_SIZE_WIDTH(uint32_t val)
+{
+       return ((val >> 5) << A6XX_VSC_BIN_SIZE_WIDTH__SHIFT) & A6XX_VSC_BIN_SIZE_WIDTH__MASK;
+}
+#define A6XX_VSC_BIN_SIZE_HEIGHT__MASK                         0x0001ff00
+#define A6XX_VSC_BIN_SIZE_HEIGHT__SHIFT                                8
+static inline uint32_t A6XX_VSC_BIN_SIZE_HEIGHT(uint32_t val)
+{
+       return ((val >> 4) << A6XX_VSC_BIN_SIZE_HEIGHT__SHIFT) & A6XX_VSC_BIN_SIZE_HEIGHT__MASK;
+}
+
+#define REG_A6XX_VSC_SIZE_ADDRESS_LO                           0x00000c03
+
+#define REG_A6XX_VSC_SIZE_ADDRESS_HI                           0x00000c04
+
+#define REG_A6XX_VSC_BIN_COUNT                                 0x00000c06
+#define A6XX_VSC_BIN_COUNT_NX__MASK                            0x000007fe
+#define A6XX_VSC_BIN_COUNT_NX__SHIFT                           1
+static inline uint32_t A6XX_VSC_BIN_COUNT_NX(uint32_t val)
+{
+       return ((val) << A6XX_VSC_BIN_COUNT_NX__SHIFT) & A6XX_VSC_BIN_COUNT_NX__MASK;
+}
+#define A6XX_VSC_BIN_COUNT_NY__MASK                            0x001ff800
+#define A6XX_VSC_BIN_COUNT_NY__SHIFT                           11
+static inline uint32_t A6XX_VSC_BIN_COUNT_NY(uint32_t val)
+{
+       return ((val) << A6XX_VSC_BIN_COUNT_NY__SHIFT) & A6XX_VSC_BIN_COUNT_NY__MASK;
+}
+
+static inline uint32_t REG_A6XX_VSC_PIPE_CONFIG(uint32_t i0) { return 0x00000c10 + 0x1*i0; }
+
+static inline uint32_t REG_A6XX_VSC_PIPE_CONFIG_REG(uint32_t i0) { return 0x00000c10 + 0x1*i0; }
+#define A6XX_VSC_PIPE_CONFIG_REG_X__MASK                       0x000003ff
+#define A6XX_VSC_PIPE_CONFIG_REG_X__SHIFT                      0
+static inline uint32_t A6XX_VSC_PIPE_CONFIG_REG_X(uint32_t val)
+{
+       return ((val) << A6XX_VSC_PIPE_CONFIG_REG_X__SHIFT) & A6XX_VSC_PIPE_CONFIG_REG_X__MASK;
+}
+#define A6XX_VSC_PIPE_CONFIG_REG_Y__MASK                       0x000ffc00
+#define A6XX_VSC_PIPE_CONFIG_REG_Y__SHIFT                      10
+static inline uint32_t A6XX_VSC_PIPE_CONFIG_REG_Y(uint32_t val)
+{
+       return ((val) << A6XX_VSC_PIPE_CONFIG_REG_Y__SHIFT) & A6XX_VSC_PIPE_CONFIG_REG_Y__MASK;
+}
+#define A6XX_VSC_PIPE_CONFIG_REG_W__MASK                       0x03f00000
+#define A6XX_VSC_PIPE_CONFIG_REG_W__SHIFT                      20
+static inline uint32_t A6XX_VSC_PIPE_CONFIG_REG_W(uint32_t val)
+{
+       return ((val) << A6XX_VSC_PIPE_CONFIG_REG_W__SHIFT) & A6XX_VSC_PIPE_CONFIG_REG_W__MASK;
+}
+#define A6XX_VSC_PIPE_CONFIG_REG_H__MASK                       0xfc000000
+#define A6XX_VSC_PIPE_CONFIG_REG_H__SHIFT                      26
+static inline uint32_t A6XX_VSC_PIPE_CONFIG_REG_H(uint32_t val)
+{
+       return ((val) << A6XX_VSC_PIPE_CONFIG_REG_H__SHIFT) & A6XX_VSC_PIPE_CONFIG_REG_H__MASK;
+}
+
+#define REG_A6XX_VSC_XXX_ADDRESS_LO                            0x00000c30
+
+#define REG_A6XX_VSC_XXX_ADDRESS_HI                            0x00000c31
+
+#define REG_A6XX_VSC_XXX_PITCH                                 0x00000c32
+
+#define REG_A6XX_VSC_PIPE_DATA_ADDRESS_LO                      0x00000c34
+
+#define REG_A6XX_VSC_PIPE_DATA_ADDRESS_HI                      0x00000c35
+
+#define REG_A6XX_VSC_PIPE_DATA_PITCH                           0x00000c36
+
+static inline uint32_t REG_A6XX_VSC_SIZE(uint32_t i0) { return 0x00000c78 + 0x1*i0; }
+
+static inline uint32_t REG_A6XX_VSC_SIZE_REG(uint32_t i0) { return 0x00000c78 + 0x1*i0; }
+
+#define REG_A6XX_UCHE_UNKNOWN_0E12                             0x00000e12
+
+#define REG_A6XX_GRAS_UNKNOWN_8001                             0x00008001
+
+#define REG_A6XX_GRAS_UNKNOWN_8004                             0x00008004
+
+#define REG_A6XX_GRAS_CNTL                                     0x00008005
+#define A6XX_GRAS_CNTL_VARYING                                 0x00000001
+#define A6XX_GRAS_CNTL_XCOORD                                  0x00000040
+#define A6XX_GRAS_CNTL_YCOORD                                  0x00000080
+#define A6XX_GRAS_CNTL_ZCOORD                                  0x00000100
+#define A6XX_GRAS_CNTL_WCOORD                                  0x00000200
+
+#define REG_A6XX_GRAS_CL_GUARDBAND_CLIP_ADJ                    0x00008006
+#define A6XX_GRAS_CL_GUARDBAND_CLIP_ADJ_HORZ__MASK             0x000003ff
+#define A6XX_GRAS_CL_GUARDBAND_CLIP_ADJ_HORZ__SHIFT            0
+static inline uint32_t A6XX_GRAS_CL_GUARDBAND_CLIP_ADJ_HORZ(uint32_t val)
+{
+       return ((val) << A6XX_GRAS_CL_GUARDBAND_CLIP_ADJ_HORZ__SHIFT) & A6XX_GRAS_CL_GUARDBAND_CLIP_ADJ_HORZ__MASK;
+}
+#define A6XX_GRAS_CL_GUARDBAND_CLIP_ADJ_VERT__MASK             0x000ffc00
+#define A6XX_GRAS_CL_GUARDBAND_CLIP_ADJ_VERT__SHIFT            10
+static inline uint32_t A6XX_GRAS_CL_GUARDBAND_CLIP_ADJ_VERT(uint32_t val)
+{
+       return ((val) << A6XX_GRAS_CL_GUARDBAND_CLIP_ADJ_VERT__SHIFT) & A6XX_GRAS_CL_GUARDBAND_CLIP_ADJ_VERT__MASK;
+}
+
+#define REG_A6XX_GRAS_CL_VPORT_XOFFSET_0                       0x00008010
+#define A6XX_GRAS_CL_VPORT_XOFFSET_0__MASK                     0xffffffff
+#define A6XX_GRAS_CL_VPORT_XOFFSET_0__SHIFT                    0
+static inline uint32_t A6XX_GRAS_CL_VPORT_XOFFSET_0(float val)
+{
+       return ((fui(val)) << A6XX_GRAS_CL_VPORT_XOFFSET_0__SHIFT) & A6XX_GRAS_CL_VPORT_XOFFSET_0__MASK;
+}
+
+#define REG_A6XX_GRAS_CL_VPORT_XSCALE_0                                0x00008011
+#define A6XX_GRAS_CL_VPORT_XSCALE_0__MASK                      0xffffffff
+#define A6XX_GRAS_CL_VPORT_XSCALE_0__SHIFT                     0
+static inline uint32_t A6XX_GRAS_CL_VPORT_XSCALE_0(float val)
+{
+       return ((fui(val)) << A6XX_GRAS_CL_VPORT_XSCALE_0__SHIFT) & A6XX_GRAS_CL_VPORT_XSCALE_0__MASK;
+}
+
+#define REG_A6XX_GRAS_CL_VPORT_YOFFSET_0                       0x00008012
+#define A6XX_GRAS_CL_VPORT_YOFFSET_0__MASK                     0xffffffff
+#define A6XX_GRAS_CL_VPORT_YOFFSET_0__SHIFT                    0
+static inline uint32_t A6XX_GRAS_CL_VPORT_YOFFSET_0(float val)
+{
+       return ((fui(val)) << A6XX_GRAS_CL_VPORT_YOFFSET_0__SHIFT) & A6XX_GRAS_CL_VPORT_YOFFSET_0__MASK;
+}
+
+#define REG_A6XX_GRAS_CL_VPORT_YSCALE_0                                0x00008013
+#define A6XX_GRAS_CL_VPORT_YSCALE_0__MASK                      0xffffffff
+#define A6XX_GRAS_CL_VPORT_YSCALE_0__SHIFT                     0
+static inline uint32_t A6XX_GRAS_CL_VPORT_YSCALE_0(float val)
+{
+       return ((fui(val)) << A6XX_GRAS_CL_VPORT_YSCALE_0__SHIFT) & A6XX_GRAS_CL_VPORT_YSCALE_0__MASK;
+}
+
+#define REG_A6XX_GRAS_CL_VPORT_ZOFFSET_0                       0x00008014
+#define A6XX_GRAS_CL_VPORT_ZOFFSET_0__MASK                     0xffffffff
+#define A6XX_GRAS_CL_VPORT_ZOFFSET_0__SHIFT                    0
+static inline uint32_t A6XX_GRAS_CL_VPORT_ZOFFSET_0(float val)
+{
+       return ((fui(val)) << A6XX_GRAS_CL_VPORT_ZOFFSET_0__SHIFT) & A6XX_GRAS_CL_VPORT_ZOFFSET_0__MASK;
+}
+
+#define REG_A6XX_GRAS_CL_VPORT_ZSCALE_0                                0x00008015
+#define A6XX_GRAS_CL_VPORT_ZSCALE_0__MASK                      0xffffffff
+#define A6XX_GRAS_CL_VPORT_ZSCALE_0__SHIFT                     0
+static inline uint32_t A6XX_GRAS_CL_VPORT_ZSCALE_0(float val)
+{
+       return ((fui(val)) << A6XX_GRAS_CL_VPORT_ZSCALE_0__SHIFT) & A6XX_GRAS_CL_VPORT_ZSCALE_0__MASK;
+}
+
+#define REG_A6XX_GRAS_SU_CNTL                                  0x00008090
+#define A6XX_GRAS_SU_CNTL_CULL_FRONT                           0x00000001
+#define A6XX_GRAS_SU_CNTL_CULL_BACK                            0x00000002
+#define A6XX_GRAS_SU_CNTL_FRONT_CW                             0x00000004
+#define A6XX_GRAS_SU_CNTL_LINEHALFWIDTH__MASK                  0x000007f8
+#define A6XX_GRAS_SU_CNTL_LINEHALFWIDTH__SHIFT                 3
+static inline uint32_t A6XX_GRAS_SU_CNTL_LINEHALFWIDTH(float val)
+{
+       return ((((int32_t)(val * 4.0))) << A6XX_GRAS_SU_CNTL_LINEHALFWIDTH__SHIFT) & A6XX_GRAS_SU_CNTL_LINEHALFWIDTH__MASK;
+}
+#define A6XX_GRAS_SU_CNTL_POLY_OFFSET                          0x00000800
+#define A6XX_GRAS_SU_CNTL_MSAA_ENABLE                          0x00002000
+
+#define REG_A6XX_GRAS_SU_POINT_MINMAX                          0x00008091
+#define A6XX_GRAS_SU_POINT_MINMAX_MIN__MASK                    0x0000ffff
+#define A6XX_GRAS_SU_POINT_MINMAX_MIN__SHIFT                   0
+static inline uint32_t A6XX_GRAS_SU_POINT_MINMAX_MIN(float val)
+{
+       return ((((uint32_t)(val * 16.0))) << A6XX_GRAS_SU_POINT_MINMAX_MIN__SHIFT) & A6XX_GRAS_SU_POINT_MINMAX_MIN__MASK;
+}
+#define A6XX_GRAS_SU_POINT_MINMAX_MAX__MASK                    0xffff0000
+#define A6XX_GRAS_SU_POINT_MINMAX_MAX__SHIFT                   16
+static inline uint32_t A6XX_GRAS_SU_POINT_MINMAX_MAX(float val)
+{
+       return ((((uint32_t)(val * 16.0))) << A6XX_GRAS_SU_POINT_MINMAX_MAX__SHIFT) & A6XX_GRAS_SU_POINT_MINMAX_MAX__MASK;
+}
+
+#define REG_A6XX_GRAS_SU_POINT_SIZE                            0x00008092
+#define A6XX_GRAS_SU_POINT_SIZE__MASK                          0xffffffff
+#define A6XX_GRAS_SU_POINT_SIZE__SHIFT                         0
+static inline uint32_t A6XX_GRAS_SU_POINT_SIZE(float val)
+{
+       return ((((int32_t)(val * 16.0))) << A6XX_GRAS_SU_POINT_SIZE__SHIFT) & A6XX_GRAS_SU_POINT_SIZE__MASK;
+}
+
+#define REG_A6XX_GRAS_SU_POLY_OFFSET_SCALE                     0x00008095
+#define A6XX_GRAS_SU_POLY_OFFSET_SCALE__MASK                   0xffffffff
+#define A6XX_GRAS_SU_POLY_OFFSET_SCALE__SHIFT                  0
+static inline uint32_t A6XX_GRAS_SU_POLY_OFFSET_SCALE(float val)
+{
+       return ((fui(val)) << A6XX_GRAS_SU_POLY_OFFSET_SCALE__SHIFT) & A6XX_GRAS_SU_POLY_OFFSET_SCALE__MASK;
+}
+
+#define REG_A6XX_GRAS_SU_POLY_OFFSET_OFFSET                    0x00008096
+#define A6XX_GRAS_SU_POLY_OFFSET_OFFSET__MASK                  0xffffffff
+#define A6XX_GRAS_SU_POLY_OFFSET_OFFSET__SHIFT                 0
+static inline uint32_t A6XX_GRAS_SU_POLY_OFFSET_OFFSET(float val)
+{
+       return ((fui(val)) << A6XX_GRAS_SU_POLY_OFFSET_OFFSET__SHIFT) & A6XX_GRAS_SU_POLY_OFFSET_OFFSET__MASK;
+}
+
+#define REG_A6XX_GRAS_SU_POLY_OFFSET_OFFSET_CLAMP              0x00008097
+#define A6XX_GRAS_SU_POLY_OFFSET_OFFSET_CLAMP__MASK            0xffffffff
+#define A6XX_GRAS_SU_POLY_OFFSET_OFFSET_CLAMP__SHIFT           0
+static inline uint32_t A6XX_GRAS_SU_POLY_OFFSET_OFFSET_CLAMP(float val)
+{
+       return ((fui(val)) << A6XX_GRAS_SU_POLY_OFFSET_OFFSET_CLAMP__SHIFT) & A6XX_GRAS_SU_POLY_OFFSET_OFFSET_CLAMP__MASK;
+}
+
+#define REG_A6XX_GRAS_SU_DEPTH_BUFFER_INFO                     0x00008098
+#define A6XX_GRAS_SU_DEPTH_BUFFER_INFO_DEPTH_FORMAT__MASK      0x00000007
+#define A6XX_GRAS_SU_DEPTH_BUFFER_INFO_DEPTH_FORMAT__SHIFT     0
+static inline uint32_t A6XX_GRAS_SU_DEPTH_BUFFER_INFO_DEPTH_FORMAT(enum a6xx_depth_format val)
+{
+       return ((val) << A6XX_GRAS_SU_DEPTH_BUFFER_INFO_DEPTH_FORMAT__SHIFT) & A6XX_GRAS_SU_DEPTH_BUFFER_INFO_DEPTH_FORMAT__MASK;
+}
+
+#define REG_A6XX_GRAS_UNKNOWN_8099                             0x00008099
+
+#define REG_A6XX_GRAS_UNKNOWN_809B                             0x0000809b
+
+#define REG_A6XX_GRAS_RAS_MSAA_CNTL                            0x000080a2
+#define A6XX_GRAS_RAS_MSAA_CNTL_SAMPLES__MASK                  0x00000003
+#define A6XX_GRAS_RAS_MSAA_CNTL_SAMPLES__SHIFT                 0
+static inline uint32_t A6XX_GRAS_RAS_MSAA_CNTL_SAMPLES(enum a3xx_msaa_samples val)
+{
+       return ((val) << A6XX_GRAS_RAS_MSAA_CNTL_SAMPLES__SHIFT) & A6XX_GRAS_RAS_MSAA_CNTL_SAMPLES__MASK;
+}
+
+#define REG_A6XX_GRAS_DEST_MSAA_CNTL                           0x000080a3
+#define A6XX_GRAS_DEST_MSAA_CNTL_SAMPLES__MASK                 0x00000003
+#define A6XX_GRAS_DEST_MSAA_CNTL_SAMPLES__SHIFT                        0
+static inline uint32_t A6XX_GRAS_DEST_MSAA_CNTL_SAMPLES(enum a3xx_msaa_samples val)
+{
+       return ((val) << A6XX_GRAS_DEST_MSAA_CNTL_SAMPLES__SHIFT) & A6XX_GRAS_DEST_MSAA_CNTL_SAMPLES__MASK;
+}
+#define A6XX_GRAS_DEST_MSAA_CNTL_MSAA_DISABLE                  0x00000004
+
+#define REG_A6XX_GRAS_UNKNOWN_80A4                             0x000080a4
+
+#define REG_A6XX_GRAS_UNKNOWN_80A5                             0x000080a5
+
+#define REG_A6XX_GRAS_UNKNOWN_80A6                             0x000080a6
+
+#define REG_A6XX_GRAS_UNKNOWN_80AF                             0x000080af
+
+#define REG_A6XX_GRAS_SC_SCREEN_SCISSOR_TL_0                   0x000080b0
+#define A6XX_GRAS_SC_SCREEN_SCISSOR_TL_0_WINDOW_OFFSET_DISABLE 0x80000000
+#define A6XX_GRAS_SC_SCREEN_SCISSOR_TL_0_X__MASK               0x00007fff
+#define A6XX_GRAS_SC_SCREEN_SCISSOR_TL_0_X__SHIFT              0
+static inline uint32_t A6XX_GRAS_SC_SCREEN_SCISSOR_TL_0_X(uint32_t val)
+{
+       return ((val) << A6XX_GRAS_SC_SCREEN_SCISSOR_TL_0_X__SHIFT) & A6XX_GRAS_SC_SCREEN_SCISSOR_TL_0_X__MASK;
+}
+#define A6XX_GRAS_SC_SCREEN_SCISSOR_TL_0_Y__MASK               0x7fff0000
+#define A6XX_GRAS_SC_SCREEN_SCISSOR_TL_0_Y__SHIFT              16
+static inline uint32_t A6XX_GRAS_SC_SCREEN_SCISSOR_TL_0_Y(uint32_t val)
+{
+       return ((val) << A6XX_GRAS_SC_SCREEN_SCISSOR_TL_0_Y__SHIFT) & A6XX_GRAS_SC_SCREEN_SCISSOR_TL_0_Y__MASK;
+}
+
+#define REG_A6XX_GRAS_SC_SCREEN_SCISSOR_BR_0                   0x000080b1
+#define A6XX_GRAS_SC_SCREEN_SCISSOR_BR_0_WINDOW_OFFSET_DISABLE 0x80000000
+#define A6XX_GRAS_SC_SCREEN_SCISSOR_BR_0_X__MASK               0x00007fff
+#define A6XX_GRAS_SC_SCREEN_SCISSOR_BR_0_X__SHIFT              0
+static inline uint32_t A6XX_GRAS_SC_SCREEN_SCISSOR_BR_0_X(uint32_t val)
+{
+       return ((val) << A6XX_GRAS_SC_SCREEN_SCISSOR_BR_0_X__SHIFT) & A6XX_GRAS_SC_SCREEN_SCISSOR_BR_0_X__MASK;
+}
+#define A6XX_GRAS_SC_SCREEN_SCISSOR_BR_0_Y__MASK               0x7fff0000
+#define A6XX_GRAS_SC_SCREEN_SCISSOR_BR_0_Y__SHIFT              16
+static inline uint32_t A6XX_GRAS_SC_SCREEN_SCISSOR_BR_0_Y(uint32_t val)
+{
+       return ((val) << A6XX_GRAS_SC_SCREEN_SCISSOR_BR_0_Y__SHIFT) & A6XX_GRAS_SC_SCREEN_SCISSOR_BR_0_Y__MASK;
+}
+
+#define REG_A6XX_GRAS_SC_VIEWPORT_SCISSOR_TL_0                 0x000080d0
+#define A6XX_GRAS_SC_VIEWPORT_SCISSOR_TL_0_WINDOW_OFFSET_DISABLE       0x80000000
+#define A6XX_GRAS_SC_VIEWPORT_SCISSOR_TL_0_X__MASK             0x00007fff
+#define A6XX_GRAS_SC_VIEWPORT_SCISSOR_TL_0_X__SHIFT            0
+static inline uint32_t A6XX_GRAS_SC_VIEWPORT_SCISSOR_TL_0_X(uint32_t val)
+{
+       return ((val) << A6XX_GRAS_SC_VIEWPORT_SCISSOR_TL_0_X__SHIFT) & A6XX_GRAS_SC_VIEWPORT_SCISSOR_TL_0_X__MASK;
+}
+#define A6XX_GRAS_SC_VIEWPORT_SCISSOR_TL_0_Y__MASK             0x7fff0000
+#define A6XX_GRAS_SC_VIEWPORT_SCISSOR_TL_0_Y__SHIFT            16
+static inline uint32_t A6XX_GRAS_SC_VIEWPORT_SCISSOR_TL_0_Y(uint32_t val)
+{
+       return ((val) << A6XX_GRAS_SC_VIEWPORT_SCISSOR_TL_0_Y__SHIFT) & A6XX_GRAS_SC_VIEWPORT_SCISSOR_TL_0_Y__MASK;
+}
+
+#define REG_A6XX_GRAS_SC_VIEWPORT_SCISSOR_BR_0                 0x000080d1
+#define A6XX_GRAS_SC_VIEWPORT_SCISSOR_BR_0_WINDOW_OFFSET_DISABLE       0x80000000
+#define A6XX_GRAS_SC_VIEWPORT_SCISSOR_BR_0_X__MASK             0x00007fff
+#define A6XX_GRAS_SC_VIEWPORT_SCISSOR_BR_0_X__SHIFT            0
+static inline uint32_t A6XX_GRAS_SC_VIEWPORT_SCISSOR_BR_0_X(uint32_t val)
+{
+       return ((val) << A6XX_GRAS_SC_VIEWPORT_SCISSOR_BR_0_X__SHIFT) & A6XX_GRAS_SC_VIEWPORT_SCISSOR_BR_0_X__MASK;
+}
+#define A6XX_GRAS_SC_VIEWPORT_SCISSOR_BR_0_Y__MASK             0x7fff0000
+#define A6XX_GRAS_SC_VIEWPORT_SCISSOR_BR_0_Y__SHIFT            16
+static inline uint32_t A6XX_GRAS_SC_VIEWPORT_SCISSOR_BR_0_Y(uint32_t val)
+{
+       return ((val) << A6XX_GRAS_SC_VIEWPORT_SCISSOR_BR_0_Y__SHIFT) & A6XX_GRAS_SC_VIEWPORT_SCISSOR_BR_0_Y__MASK;
+}
+
+#define REG_A6XX_GRAS_SC_WINDOW_SCISSOR_TL                     0x000080f0
+#define A6XX_GRAS_SC_WINDOW_SCISSOR_TL_WINDOW_OFFSET_DISABLE   0x80000000
+#define A6XX_GRAS_SC_WINDOW_SCISSOR_TL_X__MASK                 0x00007fff
+#define A6XX_GRAS_SC_WINDOW_SCISSOR_TL_X__SHIFT                        0
+static inline uint32_t A6XX_GRAS_SC_WINDOW_SCISSOR_TL_X(uint32_t val)
+{
+       return ((val) << A6XX_GRAS_SC_WINDOW_SCISSOR_TL_X__SHIFT) & A6XX_GRAS_SC_WINDOW_SCISSOR_TL_X__MASK;
+}
+#define A6XX_GRAS_SC_WINDOW_SCISSOR_TL_Y__MASK                 0x7fff0000
+#define A6XX_GRAS_SC_WINDOW_SCISSOR_TL_Y__SHIFT                        16
+static inline uint32_t A6XX_GRAS_SC_WINDOW_SCISSOR_TL_Y(uint32_t val)
+{
+       return ((val) << A6XX_GRAS_SC_WINDOW_SCISSOR_TL_Y__SHIFT) & A6XX_GRAS_SC_WINDOW_SCISSOR_TL_Y__MASK;
+}
+
+#define REG_A6XX_GRAS_SC_WINDOW_SCISSOR_BR                     0x000080f1
+#define A6XX_GRAS_SC_WINDOW_SCISSOR_BR_WINDOW_OFFSET_DISABLE   0x80000000
+#define A6XX_GRAS_SC_WINDOW_SCISSOR_BR_X__MASK                 0x00007fff
+#define A6XX_GRAS_SC_WINDOW_SCISSOR_BR_X__SHIFT                        0
+static inline uint32_t A6XX_GRAS_SC_WINDOW_SCISSOR_BR_X(uint32_t val)
+{
+       return ((val) << A6XX_GRAS_SC_WINDOW_SCISSOR_BR_X__SHIFT) & A6XX_GRAS_SC_WINDOW_SCISSOR_BR_X__MASK;
+}
+#define A6XX_GRAS_SC_WINDOW_SCISSOR_BR_Y__MASK                 0x7fff0000
+#define A6XX_GRAS_SC_WINDOW_SCISSOR_BR_Y__SHIFT                        16
+static inline uint32_t A6XX_GRAS_SC_WINDOW_SCISSOR_BR_Y(uint32_t val)
+{
+       return ((val) << A6XX_GRAS_SC_WINDOW_SCISSOR_BR_Y__SHIFT) & A6XX_GRAS_SC_WINDOW_SCISSOR_BR_Y__MASK;
+}
+
+#define REG_A6XX_GRAS_LRZ_CNTL                                 0x00008100
+#define A6XX_GRAS_LRZ_CNTL_ENABLE                              0x00000001
+#define A6XX_GRAS_LRZ_CNTL_LRZ_WRITE                           0x00000002
+#define A6XX_GRAS_LRZ_CNTL_GREATER                             0x00000004
+
+#define REG_A6XX_GRAS_2D_BLIT_INFO                             0x00008102
+#define A6XX_GRAS_2D_BLIT_INFO_COLOR_FORMAT__MASK              0x000000ff
+#define A6XX_GRAS_2D_BLIT_INFO_COLOR_FORMAT__SHIFT             0
+static inline uint32_t A6XX_GRAS_2D_BLIT_INFO_COLOR_FORMAT(enum a6xx_color_fmt val)
+{
+       return ((val) << A6XX_GRAS_2D_BLIT_INFO_COLOR_FORMAT__SHIFT) & A6XX_GRAS_2D_BLIT_INFO_COLOR_FORMAT__MASK;
+}
+
+#define REG_A6XX_GRAS_LRZ_BUFFER_BASE_LO                       0x00008103
+
+#define REG_A6XX_GRAS_LRZ_BUFFER_BASE_HI                       0x00008104
+
+#define REG_A6XX_GRAS_LRZ_BUFFER_PITCH                         0x00008105
+#define A6XX_GRAS_LRZ_BUFFER_PITCH_PITCH__MASK                 0x000007ff
+#define A6XX_GRAS_LRZ_BUFFER_PITCH_PITCH__SHIFT                        0
+static inline uint32_t A6XX_GRAS_LRZ_BUFFER_PITCH_PITCH(uint32_t val)
+{
+       return ((val >> 5) << A6XX_GRAS_LRZ_BUFFER_PITCH_PITCH__SHIFT) & A6XX_GRAS_LRZ_BUFFER_PITCH_PITCH__MASK;
+}
+#define A6XX_GRAS_LRZ_BUFFER_PITCH_ARRAY_PITCH__MASK           0x003ff800
+#define A6XX_GRAS_LRZ_BUFFER_PITCH_ARRAY_PITCH__SHIFT          11
+static inline uint32_t A6XX_GRAS_LRZ_BUFFER_PITCH_ARRAY_PITCH(uint32_t val)
+{
+       return ((val >> 5) << A6XX_GRAS_LRZ_BUFFER_PITCH_ARRAY_PITCH__SHIFT) & A6XX_GRAS_LRZ_BUFFER_PITCH_ARRAY_PITCH__MASK;
+}
+
+#define REG_A6XX_GRAS_LRZ_FAST_CLEAR_BUFFER_BASE_LO            0x00008106
+
+#define REG_A6XX_GRAS_LRZ_FAST_CLEAR_BUFFER_BASE_HI            0x00008107
+
+#define REG_A6XX_GRAS_2D_BLIT_CNTL                             0x00008400
+
+#define REG_A6XX_GRAS_2D_SRC_TL_X                              0x00008401
+#define A6XX_GRAS_2D_SRC_TL_X_X__MASK                          0x00ffff00
+#define A6XX_GRAS_2D_SRC_TL_X_X__SHIFT                         8
+static inline uint32_t A6XX_GRAS_2D_SRC_TL_X_X(uint32_t val)
+{
+       return ((val) << A6XX_GRAS_2D_SRC_TL_X_X__SHIFT) & A6XX_GRAS_2D_SRC_TL_X_X__MASK;
+}
+
+#define REG_A6XX_GRAS_2D_SRC_BR_X                              0x00008402
+#define A6XX_GRAS_2D_SRC_BR_X_X__MASK                          0x00ffff00
+#define A6XX_GRAS_2D_SRC_BR_X_X__SHIFT                         8
+static inline uint32_t A6XX_GRAS_2D_SRC_BR_X_X(uint32_t val)
+{
+       return ((val) << A6XX_GRAS_2D_SRC_BR_X_X__SHIFT) & A6XX_GRAS_2D_SRC_BR_X_X__MASK;
+}
+
+#define REG_A6XX_GRAS_2D_SRC_TL_Y                              0x00008403
+#define A6XX_GRAS_2D_SRC_TL_Y_Y__MASK                          0x00ffff00
+#define A6XX_GRAS_2D_SRC_TL_Y_Y__SHIFT                         8
+static inline uint32_t A6XX_GRAS_2D_SRC_TL_Y_Y(uint32_t val)
+{
+       return ((val) << A6XX_GRAS_2D_SRC_TL_Y_Y__SHIFT) & A6XX_GRAS_2D_SRC_TL_Y_Y__MASK;
+}
+
+#define REG_A6XX_GRAS_2D_SRC_BR_Y                              0x00008404
+#define A6XX_GRAS_2D_SRC_BR_Y_Y__MASK                          0x00ffff00
+#define A6XX_GRAS_2D_SRC_BR_Y_Y__SHIFT                         8
+static inline uint32_t A6XX_GRAS_2D_SRC_BR_Y_Y(uint32_t val)
+{
+       return ((val) << A6XX_GRAS_2D_SRC_BR_Y_Y__SHIFT) & A6XX_GRAS_2D_SRC_BR_Y_Y__MASK;
+}
+
+#define REG_A6XX_GRAS_2D_DST_TL                                        0x00008405
+#define A6XX_GRAS_2D_DST_TL_WINDOW_OFFSET_DISABLE              0x80000000
+#define A6XX_GRAS_2D_DST_TL_X__MASK                            0x00007fff
+#define A6XX_GRAS_2D_DST_TL_X__SHIFT                           0
+static inline uint32_t A6XX_GRAS_2D_DST_TL_X(uint32_t val)
+{
+       return ((val) << A6XX_GRAS_2D_DST_TL_X__SHIFT) & A6XX_GRAS_2D_DST_TL_X__MASK;
+}
+#define A6XX_GRAS_2D_DST_TL_Y__MASK                            0x7fff0000
+#define A6XX_GRAS_2D_DST_TL_Y__SHIFT                           16
+static inline uint32_t A6XX_GRAS_2D_DST_TL_Y(uint32_t val)
+{
+       return ((val) << A6XX_GRAS_2D_DST_TL_Y__SHIFT) & A6XX_GRAS_2D_DST_TL_Y__MASK;
+}
+
+#define REG_A6XX_GRAS_2D_DST_BR                                        0x00008406
+#define A6XX_GRAS_2D_DST_BR_WINDOW_OFFSET_DISABLE              0x80000000
+#define A6XX_GRAS_2D_DST_BR_X__MASK                            0x00007fff
+#define A6XX_GRAS_2D_DST_BR_X__SHIFT                           0
+static inline uint32_t A6XX_GRAS_2D_DST_BR_X(uint32_t val)
+{
+       return ((val) << A6XX_GRAS_2D_DST_BR_X__SHIFT) & A6XX_GRAS_2D_DST_BR_X__MASK;
+}
+#define A6XX_GRAS_2D_DST_BR_Y__MASK                            0x7fff0000
+#define A6XX_GRAS_2D_DST_BR_Y__SHIFT                           16
+static inline uint32_t A6XX_GRAS_2D_DST_BR_Y(uint32_t val)
+{
+       return ((val) << A6XX_GRAS_2D_DST_BR_Y__SHIFT) & A6XX_GRAS_2D_DST_BR_Y__MASK;
+}
+
+#define REG_A6XX_GRAS_RESOLVE_CNTL_1                           0x0000840a
+#define A6XX_GRAS_RESOLVE_CNTL_1_WINDOW_OFFSET_DISABLE         0x80000000
+#define A6XX_GRAS_RESOLVE_CNTL_1_X__MASK                       0x00007fff
+#define A6XX_GRAS_RESOLVE_CNTL_1_X__SHIFT                      0
+static inline uint32_t A6XX_GRAS_RESOLVE_CNTL_1_X(uint32_t val)
+{
+       return ((val) << A6XX_GRAS_RESOLVE_CNTL_1_X__SHIFT) & A6XX_GRAS_RESOLVE_CNTL_1_X__MASK;
+}
+#define A6XX_GRAS_RESOLVE_CNTL_1_Y__MASK                       0x7fff0000
+#define A6XX_GRAS_RESOLVE_CNTL_1_Y__SHIFT                      16
+static inline uint32_t A6XX_GRAS_RESOLVE_CNTL_1_Y(uint32_t val)
+{
+       return ((val) << A6XX_GRAS_RESOLVE_CNTL_1_Y__SHIFT) & A6XX_GRAS_RESOLVE_CNTL_1_Y__MASK;
+}
+
+#define REG_A6XX_GRAS_RESOLVE_CNTL_2                           0x0000840b
+#define A6XX_GRAS_RESOLVE_CNTL_2_WINDOW_OFFSET_DISABLE         0x80000000
+#define A6XX_GRAS_RESOLVE_CNTL_2_X__MASK                       0x00007fff
+#define A6XX_GRAS_RESOLVE_CNTL_2_X__SHIFT                      0
+static inline uint32_t A6XX_GRAS_RESOLVE_CNTL_2_X(uint32_t val)
+{
+       return ((val) << A6XX_GRAS_RESOLVE_CNTL_2_X__SHIFT) & A6XX_GRAS_RESOLVE_CNTL_2_X__MASK;
+}
+#define A6XX_GRAS_RESOLVE_CNTL_2_Y__MASK                       0x7fff0000
+#define A6XX_GRAS_RESOLVE_CNTL_2_Y__SHIFT                      16
+static inline uint32_t A6XX_GRAS_RESOLVE_CNTL_2_Y(uint32_t val)
+{
+       return ((val) << A6XX_GRAS_RESOLVE_CNTL_2_Y__SHIFT) & A6XX_GRAS_RESOLVE_CNTL_2_Y__MASK;
+}
+
+#define REG_A6XX_GRAS_UNKNOWN_8600                             0x00008600
+
+#define REG_A6XX_RB_RAS_MSAA_CNTL                              0x00008802
+#define A6XX_RB_RAS_MSAA_CNTL_SAMPLES__MASK                    0x00000003
+#define A6XX_RB_RAS_MSAA_CNTL_SAMPLES__SHIFT                   0
+static inline uint32_t A6XX_RB_RAS_MSAA_CNTL_SAMPLES(enum a3xx_msaa_samples val)
+{
+       return ((val) << A6XX_RB_RAS_MSAA_CNTL_SAMPLES__SHIFT) & A6XX_RB_RAS_MSAA_CNTL_SAMPLES__MASK;
+}
+
+#define REG_A6XX_RB_DEST_MSAA_CNTL                             0x00008803
+#define A6XX_RB_DEST_MSAA_CNTL_SAMPLES__MASK                   0x00000003
+#define A6XX_RB_DEST_MSAA_CNTL_SAMPLES__SHIFT                  0
+static inline uint32_t A6XX_RB_DEST_MSAA_CNTL_SAMPLES(enum a3xx_msaa_samples val)
+{
+       return ((val) << A6XX_RB_DEST_MSAA_CNTL_SAMPLES__SHIFT) & A6XX_RB_DEST_MSAA_CNTL_SAMPLES__MASK;
+}
+#define A6XX_RB_DEST_MSAA_CNTL_MSAA_DISABLE                    0x00000004
+
+#define REG_A6XX_RB_UNKNOWN_8804                               0x00008804
+
+#define REG_A6XX_RB_UNKNOWN_8805                               0x00008805
+
+#define REG_A6XX_RB_UNKNOWN_8806                               0x00008806
+
+#define REG_A6XX_RB_RENDER_CONTROL0                            0x00008809
+#define A6XX_RB_RENDER_CONTROL0_VARYING                                0x00000001
+#define A6XX_RB_RENDER_CONTROL0_XCOORD                         0x00000040
+#define A6XX_RB_RENDER_CONTROL0_YCOORD                         0x00000080
+#define A6XX_RB_RENDER_CONTROL0_ZCOORD                         0x00000100
+#define A6XX_RB_RENDER_CONTROL0_WCOORD                         0x00000200
+#define A6XX_RB_RENDER_CONTROL0_UNK10                          0x00000400
+
+#define REG_A6XX_RB_RENDER_CONTROL1                            0x0000880a
+#define A6XX_RB_RENDER_CONTROL1_SAMPLEMASK                     0x00000001
+#define A6XX_RB_RENDER_CONTROL1_FACENESS                       0x00000002
+#define A6XX_RB_RENDER_CONTROL1_SAMPLEID                       0x00000008
+
+#define REG_A6XX_RB_FS_OUTPUT_CNTL0                            0x0000880b
+#define A6XX_RB_FS_OUTPUT_CNTL0_FRAG_WRITES_Z                  0x00000002
+
+#define REG_A6XX_RB_FS_OUTPUT_CNTL1                            0x0000880c
+#define A6XX_RB_FS_OUTPUT_CNTL1_MRT__MASK                      0x0000000f
+#define A6XX_RB_FS_OUTPUT_CNTL1_MRT__SHIFT                     0
+static inline uint32_t A6XX_RB_FS_OUTPUT_CNTL1_MRT(uint32_t val)
+{
+       return ((val) << A6XX_RB_FS_OUTPUT_CNTL1_MRT__SHIFT) & A6XX_RB_FS_OUTPUT_CNTL1_MRT__MASK;
+}
+
+#define REG_A6XX_RB_RENDER_COMPONENTS                          0x0000880d
+#define A6XX_RB_RENDER_COMPONENTS_RT0__MASK                    0x0000000f
+#define A6XX_RB_RENDER_COMPONENTS_RT0__SHIFT                   0
+static inline uint32_t A6XX_RB_RENDER_COMPONENTS_RT0(uint32_t val)
+{
+       return ((val) << A6XX_RB_RENDER_COMPONENTS_RT0__SHIFT) & A6XX_RB_RENDER_COMPONENTS_RT0__MASK;
+}
+#define A6XX_RB_RENDER_COMPONENTS_RT1__MASK                    0x000000f0
+#define A6XX_RB_RENDER_COMPONENTS_RT1__SHIFT                   4
+static inline uint32_t A6XX_RB_RENDER_COMPONENTS_RT1(uint32_t val)
+{
+       return ((val) << A6XX_RB_RENDER_COMPONENTS_RT1__SHIFT) & A6XX_RB_RENDER_COMPONENTS_RT1__MASK;
+}
+#define A6XX_RB_RENDER_COMPONENTS_RT2__MASK                    0x00000f00
+#define A6XX_RB_RENDER_COMPONENTS_RT2__SHIFT                   8
+static inline uint32_t A6XX_RB_RENDER_COMPONENTS_RT2(uint32_t val)
+{
+       return ((val) << A6XX_RB_RENDER_COMPONENTS_RT2__SHIFT) & A6XX_RB_RENDER_COMPONENTS_RT2__MASK;
+}
+#define A6XX_RB_RENDER_COMPONENTS_RT3__MASK                    0x0000f000
+#define A6XX_RB_RENDER_COMPONENTS_RT3__SHIFT                   12
+static inline uint32_t A6XX_RB_RENDER_COMPONENTS_RT3(uint32_t val)
+{
+       return ((val) << A6XX_RB_RENDER_COMPONENTS_RT3__SHIFT) & A6XX_RB_RENDER_COMPONENTS_RT3__MASK;
+}
+#define A6XX_RB_RENDER_COMPONENTS_RT4__MASK                    0x000f0000
+#define A6XX_RB_RENDER_COMPONENTS_RT4__SHIFT                   16
+static inline uint32_t A6XX_RB_RENDER_COMPONENTS_RT4(uint32_t val)
+{
+       return ((val) << A6XX_RB_RENDER_COMPONENTS_RT4__SHIFT) & A6XX_RB_RENDER_COMPONENTS_RT4__MASK;
+}
+#define A6XX_RB_RENDER_COMPONENTS_RT5__MASK                    0x00f00000
+#define A6XX_RB_RENDER_COMPONENTS_RT5__SHIFT                   20
+static inline uint32_t A6XX_RB_RENDER_COMPONENTS_RT5(uint32_t val)
+{
+       return ((val) << A6XX_RB_RENDER_COMPONENTS_RT5__SHIFT) & A6XX_RB_RENDER_COMPONENTS_RT5__MASK;
+}
+#define A6XX_RB_RENDER_COMPONENTS_RT6__MASK                    0x0f000000
+#define A6XX_RB_RENDER_COMPONENTS_RT6__SHIFT                   24
+static inline uint32_t A6XX_RB_RENDER_COMPONENTS_RT6(uint32_t val)
+{
+       return ((val) << A6XX_RB_RENDER_COMPONENTS_RT6__SHIFT) & A6XX_RB_RENDER_COMPONENTS_RT6__MASK;
+}
+#define A6XX_RB_RENDER_COMPONENTS_RT7__MASK                    0xf0000000
+#define A6XX_RB_RENDER_COMPONENTS_RT7__SHIFT                   28
+static inline uint32_t A6XX_RB_RENDER_COMPONENTS_RT7(uint32_t val)
+{
+       return ((val) << A6XX_RB_RENDER_COMPONENTS_RT7__SHIFT) & A6XX_RB_RENDER_COMPONENTS_RT7__MASK;
+}
+
+#define REG_A6XX_RB_DITHER_CNTL                                        0x0000880e
+#define A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT0__MASK             0x00000003
+#define A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT0__SHIFT            0
+static inline uint32_t A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT0(enum adreno_rb_dither_mode val)
+{
+       return ((val) << A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT0__SHIFT) & A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT0__MASK;
+}
+#define A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT1__MASK             0x0000000c
+#define A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT1__SHIFT            2
+static inline uint32_t A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT1(enum adreno_rb_dither_mode val)
+{
+       return ((val) << A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT1__SHIFT) & A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT1__MASK;
+}
+#define A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT2__MASK             0x00000030
+#define A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT2__SHIFT            4
+static inline uint32_t A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT2(enum adreno_rb_dither_mode val)
+{
+       return ((val) << A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT2__SHIFT) & A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT2__MASK;
+}
+#define A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT3__MASK             0x000000c0
+#define A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT3__SHIFT            6
+static inline uint32_t A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT3(enum adreno_rb_dither_mode val)
+{
+       return ((val) << A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT3__SHIFT) & A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT3__MASK;
+}
+#define A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT4__MASK             0x00000300
+#define A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT4__SHIFT            8
+static inline uint32_t A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT4(enum adreno_rb_dither_mode val)
+{
+       return ((val) << A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT4__SHIFT) & A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT4__MASK;
+}
+#define A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT5__MASK             0x00000c00
+#define A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT5__SHIFT            10
+static inline uint32_t A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT5(enum adreno_rb_dither_mode val)
+{
+       return ((val) << A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT5__SHIFT) & A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT5__MASK;
+}
+#define A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT6__MASK             0x00001000
+#define A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT6__SHIFT            12
+static inline uint32_t A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT6(enum adreno_rb_dither_mode val)
+{
+       return ((val) << A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT6__SHIFT) & A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT6__MASK;
+}
+#define A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT7__MASK             0x0000c000
+#define A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT7__SHIFT            14
+static inline uint32_t A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT7(enum adreno_rb_dither_mode val)
+{
+       return ((val) << A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT7__SHIFT) & A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT7__MASK;
+}
+
+#define REG_A6XX_RB_SRGB_CNTL                                  0x0000880f
+#define A6XX_RB_SRGB_CNTL_SRGB_MRT0                            0x00000001
+#define A6XX_RB_SRGB_CNTL_SRGB_MRT1                            0x00000002
+#define A6XX_RB_SRGB_CNTL_SRGB_MRT2                            0x00000004
+#define A6XX_RB_SRGB_CNTL_SRGB_MRT3                            0x00000008
+#define A6XX_RB_SRGB_CNTL_SRGB_MRT4                            0x00000010
+#define A6XX_RB_SRGB_CNTL_SRGB_MRT5                            0x00000020
+#define A6XX_RB_SRGB_CNTL_SRGB_MRT6                            0x00000040
+#define A6XX_RB_SRGB_CNTL_SRGB_MRT7                            0x00000080
+
+#define REG_A6XX_RB_UNKNOWN_8818                               0x00008818
+
+#define REG_A6XX_RB_UNKNOWN_8819                               0x00008819
+
+#define REG_A6XX_RB_UNKNOWN_881A                               0x0000881a
+
+#define REG_A6XX_RB_UNKNOWN_881B                               0x0000881b
+
+#define REG_A6XX_RB_UNKNOWN_881C                               0x0000881c
+
+#define REG_A6XX_RB_UNKNOWN_881D                               0x0000881d
+
+#define REG_A6XX_RB_UNKNOWN_881E                               0x0000881e
+
+static inline uint32_t REG_A6XX_RB_MRT(uint32_t i0) { return 0x00008820 + 0x8*i0; }
+
+static inline uint32_t REG_A6XX_RB_MRT_CONTROL(uint32_t i0) { return 0x00008820 + 0x8*i0; }
+#define A6XX_RB_MRT_CONTROL_BLEND                              0x00000001
+#define A6XX_RB_MRT_CONTROL_BLEND2                             0x00000002
+#define A6XX_RB_MRT_CONTROL_ROP_ENABLE                         0x00000004
+#define A6XX_RB_MRT_CONTROL_ROP_CODE__MASK                     0x00000078
+#define A6XX_RB_MRT_CONTROL_ROP_CODE__SHIFT                    3
+static inline uint32_t A6XX_RB_MRT_CONTROL_ROP_CODE(enum a3xx_rop_code val)
+{
+       return ((val) << A6XX_RB_MRT_CONTROL_ROP_CODE__SHIFT) & A6XX_RB_MRT_CONTROL_ROP_CODE__MASK;
+}
+#define A6XX_RB_MRT_CONTROL_COMPONENT_ENABLE__MASK             0x00000780
+#define A6XX_RB_MRT_CONTROL_COMPONENT_ENABLE__SHIFT            7
+static inline uint32_t A6XX_RB_MRT_CONTROL_COMPONENT_ENABLE(uint32_t val)
+{
+       return ((val) << A6XX_RB_MRT_CONTROL_COMPONENT_ENABLE__SHIFT) & A6XX_RB_MRT_CONTROL_COMPONENT_ENABLE__MASK;
+}
+
+static inline uint32_t REG_A6XX_RB_MRT_BLEND_CONTROL(uint32_t i0) { return 0x00008821 + 0x8*i0; }
+#define A6XX_RB_MRT_BLEND_CONTROL_RGB_SRC_FACTOR__MASK         0x0000001f
+#define A6XX_RB_MRT_BLEND_CONTROL_RGB_SRC_FACTOR__SHIFT                0
+static inline uint32_t A6XX_RB_MRT_BLEND_CONTROL_RGB_SRC_FACTOR(enum adreno_rb_blend_factor val)
+{
+       return ((val) << A6XX_RB_MRT_BLEND_CONTROL_RGB_SRC_FACTOR__SHIFT) & A6XX_RB_MRT_BLEND_CONTROL_RGB_SRC_FACTOR__MASK;
+}
+#define A6XX_RB_MRT_BLEND_CONTROL_RGB_BLEND_OPCODE__MASK       0x000000e0
+#define A6XX_RB_MRT_BLEND_CONTROL_RGB_BLEND_OPCODE__SHIFT      5
+static inline uint32_t A6XX_RB_MRT_BLEND_CONTROL_RGB_BLEND_OPCODE(enum a3xx_rb_blend_opcode val)
+{
+       return ((val) << A6XX_RB_MRT_BLEND_CONTROL_RGB_BLEND_OPCODE__SHIFT) & A6XX_RB_MRT_BLEND_CONTROL_RGB_BLEND_OPCODE__MASK;
+}
+#define A6XX_RB_MRT_BLEND_CONTROL_RGB_DEST_FACTOR__MASK                0x00001f00
+#define A6XX_RB_MRT_BLEND_CONTROL_RGB_DEST_FACTOR__SHIFT       8
+static inline uint32_t A6XX_RB_MRT_BLEND_CONTROL_RGB_DEST_FACTOR(enum adreno_rb_blend_factor val)
+{
+       return ((val) << A6XX_RB_MRT_BLEND_CONTROL_RGB_DEST_FACTOR__SHIFT) & A6XX_RB_MRT_BLEND_CONTROL_RGB_DEST_FACTOR__MASK;
+}
+#define A6XX_RB_MRT_BLEND_CONTROL_ALPHA_SRC_FACTOR__MASK       0x001f0000
+#define A6XX_RB_MRT_BLEND_CONTROL_ALPHA_SRC_FACTOR__SHIFT      16
+static inline uint32_t A6XX_RB_MRT_BLEND_CONTROL_ALPHA_SRC_FACTOR(enum adreno_rb_blend_factor val)
+{
+       return ((val) << A6XX_RB_MRT_BLEND_CONTROL_ALPHA_SRC_FACTOR__SHIFT) & A6XX_RB_MRT_BLEND_CONTROL_ALPHA_SRC_FACTOR__MASK;
+}
+#define A6XX_RB_MRT_BLEND_CONTROL_ALPHA_BLEND_OPCODE__MASK     0x00e00000
+#define A6XX_RB_MRT_BLEND_CONTROL_ALPHA_BLEND_OPCODE__SHIFT    21
+static inline uint32_t A6XX_RB_MRT_BLEND_CONTROL_ALPHA_BLEND_OPCODE(enum a3xx_rb_blend_opcode val)
+{
+       return ((val) << A6XX_RB_MRT_BLEND_CONTROL_ALPHA_BLEND_OPCODE__SHIFT) & A6XX_RB_MRT_BLEND_CONTROL_ALPHA_BLEND_OPCODE__MASK;
+}
+#define A6XX_RB_MRT_BLEND_CONTROL_ALPHA_DEST_FACTOR__MASK      0x1f000000
+#define A6XX_RB_MRT_BLEND_CONTROL_ALPHA_DEST_FACTOR__SHIFT     24
+static inline uint32_t A6XX_RB_MRT_BLEND_CONTROL_ALPHA_DEST_FACTOR(enum adreno_rb_blend_factor val)
+{
+       return ((val) << A6XX_RB_MRT_BLEND_CONTROL_ALPHA_DEST_FACTOR__SHIFT) & A6XX_RB_MRT_BLEND_CONTROL_ALPHA_DEST_FACTOR__MASK;
+}
+
+static inline uint32_t REG_A6XX_RB_MRT_BUF_INFO(uint32_t i0) { return 0x00008822 + 0x8*i0; }
+#define A6XX_RB_MRT_BUF_INFO_COLOR_FORMAT__MASK                        0x000000ff
+#define A6XX_RB_MRT_BUF_INFO_COLOR_FORMAT__SHIFT               0
+static inline uint32_t A6XX_RB_MRT_BUF_INFO_COLOR_FORMAT(enum a6xx_color_fmt val)
+{
+       return ((val) << A6XX_RB_MRT_BUF_INFO_COLOR_FORMAT__SHIFT) & A6XX_RB_MRT_BUF_INFO_COLOR_FORMAT__MASK;
+}
+#define A6XX_RB_MRT_BUF_INFO_COLOR_TILE_MODE__MASK             0x00000300
+#define A6XX_RB_MRT_BUF_INFO_COLOR_TILE_MODE__SHIFT            8
+static inline uint32_t A6XX_RB_MRT_BUF_INFO_COLOR_TILE_MODE(enum a6xx_tile_mode val)
+{
+       return ((val) << A6XX_RB_MRT_BUF_INFO_COLOR_TILE_MODE__SHIFT) & A6XX_RB_MRT_BUF_INFO_COLOR_TILE_MODE__MASK;
+}
+#define A6XX_RB_MRT_BUF_INFO_COLOR_SWAP__MASK                  0x00006000
+#define A6XX_RB_MRT_BUF_INFO_COLOR_SWAP__SHIFT                 13
+static inline uint32_t A6XX_RB_MRT_BUF_INFO_COLOR_SWAP(enum a3xx_color_swap val)
+{
+       return ((val) << A6XX_RB_MRT_BUF_INFO_COLOR_SWAP__SHIFT) & A6XX_RB_MRT_BUF_INFO_COLOR_SWAP__MASK;
+}
+#define A6XX_RB_MRT_BUF_INFO_COLOR_SRGB                                0x00008000
+
+static inline uint32_t REG_A6XX_RB_MRT_PITCH(uint32_t i0) { return 0x00008823 + 0x8*i0; }
+#define A6XX_RB_MRT_PITCH__MASK                                        0xffffffff
+#define A6XX_RB_MRT_PITCH__SHIFT                               0
+static inline uint32_t A6XX_RB_MRT_PITCH(uint32_t val)
+{
+       return ((val >> 6) << A6XX_RB_MRT_PITCH__SHIFT) & A6XX_RB_MRT_PITCH__MASK;
+}
+
+static inline uint32_t REG_A6XX_RB_MRT_ARRAY_PITCH(uint32_t i0) { return 0x00008824 + 0x8*i0; }
+#define A6XX_RB_MRT_ARRAY_PITCH__MASK                          0xffffffff
+#define A6XX_RB_MRT_ARRAY_PITCH__SHIFT                         0
+static inline uint32_t A6XX_RB_MRT_ARRAY_PITCH(uint32_t val)
+{
+       return ((val >> 6) << A6XX_RB_MRT_ARRAY_PITCH__SHIFT) & A6XX_RB_MRT_ARRAY_PITCH__MASK;
+}
+
+static inline uint32_t REG_A6XX_RB_MRT_BASE_LO(uint32_t i0) { return 0x00008825 + 0x8*i0; }
+
+static inline uint32_t REG_A6XX_RB_MRT_BASE_HI(uint32_t i0) { return 0x00008826 + 0x8*i0; }
+
+static inline uint32_t REG_A6XX_RB_MRT_BASE_GMEM(uint32_t i0) { return 0x00008827 + 0x8*i0; }
+
+#define REG_A6XX_RB_BLEND_RED_F32                              0x00008860
+#define A6XX_RB_BLEND_RED_F32__MASK                            0xffffffff
+#define A6XX_RB_BLEND_RED_F32__SHIFT                           0
+static inline uint32_t A6XX_RB_BLEND_RED_F32(float val)
+{
+       return ((fui(val)) << A6XX_RB_BLEND_RED_F32__SHIFT) & A6XX_RB_BLEND_RED_F32__MASK;
+}
+
+#define REG_A6XX_RB_BLEND_GREEN_F32                            0x00008861
+#define A6XX_RB_BLEND_GREEN_F32__MASK                          0xffffffff
+#define A6XX_RB_BLEND_GREEN_F32__SHIFT                         0
+static inline uint32_t A6XX_RB_BLEND_GREEN_F32(float val)
+{
+       return ((fui(val)) << A6XX_RB_BLEND_GREEN_F32__SHIFT) & A6XX_RB_BLEND_GREEN_F32__MASK;
+}
+
+#define REG_A6XX_RB_BLEND_BLUE_F32                             0x00008862
+#define A6XX_RB_BLEND_BLUE_F32__MASK                           0xffffffff
+#define A6XX_RB_BLEND_BLUE_F32__SHIFT                          0
+static inline uint32_t A6XX_RB_BLEND_BLUE_F32(float val)
+{
+       return ((fui(val)) << A6XX_RB_BLEND_BLUE_F32__SHIFT) & A6XX_RB_BLEND_BLUE_F32__MASK;
+}
+
+#define REG_A6XX_RB_BLEND_ALPHA_F32                            0x00008863
+#define A6XX_RB_BLEND_ALPHA_F32__MASK                          0xffffffff
+#define A6XX_RB_BLEND_ALPHA_F32__SHIFT                         0
+static inline uint32_t A6XX_RB_BLEND_ALPHA_F32(float val)
+{
+       return ((fui(val)) << A6XX_RB_BLEND_ALPHA_F32__SHIFT) & A6XX_RB_BLEND_ALPHA_F32__MASK;
+}
+
+#define REG_A6XX_RB_ALPHA_CONTROL                              0x00008864
+#define A6XX_RB_ALPHA_CONTROL_ALPHA_REF__MASK                  0x000000ff
+#define A6XX_RB_ALPHA_CONTROL_ALPHA_REF__SHIFT                 0
+static inline uint32_t A6XX_RB_ALPHA_CONTROL_ALPHA_REF(uint32_t val)
+{
+       return ((val) << A6XX_RB_ALPHA_CONTROL_ALPHA_REF__SHIFT) & A6XX_RB_ALPHA_CONTROL_ALPHA_REF__MASK;
+}
+#define A6XX_RB_ALPHA_CONTROL_ALPHA_TEST                       0x00000100
+#define A6XX_RB_ALPHA_CONTROL_ALPHA_TEST_FUNC__MASK            0x00000e00
+#define A6XX_RB_ALPHA_CONTROL_ALPHA_TEST_FUNC__SHIFT           9
+static inline uint32_t A6XX_RB_ALPHA_CONTROL_ALPHA_TEST_FUNC(enum adreno_compare_func val)
+{
+       return ((val) << A6XX_RB_ALPHA_CONTROL_ALPHA_TEST_FUNC__SHIFT) & A6XX_RB_ALPHA_CONTROL_ALPHA_TEST_FUNC__MASK;
+}
+
+#define REG_A6XX_RB_BLEND_CNTL                                 0x00008865
+#define A6XX_RB_BLEND_CNTL_ENABLE_BLEND__MASK                  0x000000ff
+#define A6XX_RB_BLEND_CNTL_ENABLE_BLEND__SHIFT                 0
+static inline uint32_t A6XX_RB_BLEND_CNTL_ENABLE_BLEND(uint32_t val)
+{
+       return ((val) << A6XX_RB_BLEND_CNTL_ENABLE_BLEND__SHIFT) & A6XX_RB_BLEND_CNTL_ENABLE_BLEND__MASK;
+}
+#define A6XX_RB_BLEND_CNTL_INDEPENDENT_BLEND                   0x00000100
+#define A6XX_RB_BLEND_CNTL_SAMPLE_MASK__MASK                   0xffff0000
+#define A6XX_RB_BLEND_CNTL_SAMPLE_MASK__SHIFT                  16
+static inline uint32_t A6XX_RB_BLEND_CNTL_SAMPLE_MASK(uint32_t val)
+{
+       return ((val) << A6XX_RB_BLEND_CNTL_SAMPLE_MASK__SHIFT) & A6XX_RB_BLEND_CNTL_SAMPLE_MASK__MASK;
+}
+
+#define REG_A6XX_RB_DEPTH_CNTL                                 0x00008871
+#define A6XX_RB_DEPTH_CNTL_Z_ENABLE                            0x00000001
+#define A6XX_RB_DEPTH_CNTL_Z_WRITE_ENABLE                      0x00000002
+#define A6XX_RB_DEPTH_CNTL_ZFUNC__MASK                         0x0000001c
+#define A6XX_RB_DEPTH_CNTL_ZFUNC__SHIFT                                2
+static inline uint32_t A6XX_RB_DEPTH_CNTL_ZFUNC(enum adreno_compare_func val)
+{
+       return ((val) << A6XX_RB_DEPTH_CNTL_ZFUNC__SHIFT) & A6XX_RB_DEPTH_CNTL_ZFUNC__MASK;
+}
+#define A6XX_RB_DEPTH_CNTL_Z_TEST_ENABLE                       0x00000040
+
+#define REG_A6XX_RB_DEPTH_BUFFER_INFO                          0x00008872
+#define A6XX_RB_DEPTH_BUFFER_INFO_DEPTH_FORMAT__MASK           0x00000007
+#define A6XX_RB_DEPTH_BUFFER_INFO_DEPTH_FORMAT__SHIFT          0
+static inline uint32_t A6XX_RB_DEPTH_BUFFER_INFO_DEPTH_FORMAT(enum a6xx_depth_format val)
+{
+       return ((val) << A6XX_RB_DEPTH_BUFFER_INFO_DEPTH_FORMAT__SHIFT) & A6XX_RB_DEPTH_BUFFER_INFO_DEPTH_FORMAT__MASK;
+}
+
+#define REG_A6XX_RB_DEPTH_BUFFER_PITCH                         0x00008873
+#define A6XX_RB_DEPTH_BUFFER_PITCH__MASK                       0xffffffff
+#define A6XX_RB_DEPTH_BUFFER_PITCH__SHIFT                      0
+static inline uint32_t A6XX_RB_DEPTH_BUFFER_PITCH(uint32_t val)
+{
+       return ((val >> 6) << A6XX_RB_DEPTH_BUFFER_PITCH__SHIFT) & A6XX_RB_DEPTH_BUFFER_PITCH__MASK;
+}
+
+#define REG_A6XX_RB_DEPTH_BUFFER_ARRAY_PITCH                   0x00008874
+#define A6XX_RB_DEPTH_BUFFER_ARRAY_PITCH__MASK                 0xffffffff
+#define A6XX_RB_DEPTH_BUFFER_ARRAY_PITCH__SHIFT                        0
+static inline uint32_t A6XX_RB_DEPTH_BUFFER_ARRAY_PITCH(uint32_t val)
+{
+       return ((val >> 6) << A6XX_RB_DEPTH_BUFFER_ARRAY_PITCH__SHIFT) & A6XX_RB_DEPTH_BUFFER_ARRAY_PITCH__MASK;
+}
+
+#define REG_A6XX_RB_DEPTH_BUFFER_BASE_LO                       0x00008875
+
+#define REG_A6XX_RB_DEPTH_BUFFER_BASE_HI                       0x00008876
+
+#define REG_A6XX_RB_DEPTH_BUFFER_BASE_GMEM                     0x00008877
+
+#define REG_A6XX_RB_UNKNOWN_8878                               0x00008878
+
+#define REG_A6XX_RB_UNKNOWN_8879                               0x00008879
+
+#define REG_A6XX_RB_STENCIL_CONTROL                            0x00008880
+#define A6XX_RB_STENCIL_CONTROL_STENCIL_ENABLE                 0x00000001
+#define A6XX_RB_STENCIL_CONTROL_STENCIL_ENABLE_BF              0x00000002
+#define A6XX_RB_STENCIL_CONTROL_STENCIL_READ                   0x00000004
+#define A6XX_RB_STENCIL_CONTROL_FUNC__MASK                     0x00000700
+#define A6XX_RB_STENCIL_CONTROL_FUNC__SHIFT                    8
+static inline uint32_t A6XX_RB_STENCIL_CONTROL_FUNC(enum adreno_compare_func val)
+{
+       return ((val) << A6XX_RB_STENCIL_CONTROL_FUNC__SHIFT) & A6XX_RB_STENCIL_CONTROL_FUNC__MASK;
+}
+#define A6XX_RB_STENCIL_CONTROL_FAIL__MASK                     0x00003800
+#define A6XX_RB_STENCIL_CONTROL_FAIL__SHIFT                    11
+static inline uint32_t A6XX_RB_STENCIL_CONTROL_FAIL(enum adreno_stencil_op val)
+{
+       return ((val) << A6XX_RB_STENCIL_CONTROL_FAIL__SHIFT) & A6XX_RB_STENCIL_CONTROL_FAIL__MASK;
+}
+#define A6XX_RB_STENCIL_CONTROL_ZPASS__MASK                    0x0001c000
+#define A6XX_RB_STENCIL_CONTROL_ZPASS__SHIFT                   14
+static inline uint32_t A6XX_RB_STENCIL_CONTROL_ZPASS(enum adreno_stencil_op val)
+{
+       return ((val) << A6XX_RB_STENCIL_CONTROL_ZPASS__SHIFT) & A6XX_RB_STENCIL_CONTROL_ZPASS__MASK;
+}
+#define A6XX_RB_STENCIL_CONTROL_ZFAIL__MASK                    0x000e0000
+#define A6XX_RB_STENCIL_CONTROL_ZFAIL__SHIFT                   17
+static inline uint32_t A6XX_RB_STENCIL_CONTROL_ZFAIL(enum adreno_stencil_op val)
+{
+       return ((val) << A6XX_RB_STENCIL_CONTROL_ZFAIL__SHIFT) & A6XX_RB_STENCIL_CONTROL_ZFAIL__MASK;
+}
+#define A6XX_RB_STENCIL_CONTROL_FUNC_BF__MASK                  0x00700000
+#define A6XX_RB_STENCIL_CONTROL_FUNC_BF__SHIFT                 20
+static inline uint32_t A6XX_RB_STENCIL_CONTROL_FUNC_BF(enum adreno_compare_func val)
+{
+       return ((val) << A6XX_RB_STENCIL_CONTROL_FUNC_BF__SHIFT) & A6XX_RB_STENCIL_CONTROL_FUNC_BF__MASK;
+}
+#define A6XX_RB_STENCIL_CONTROL_FAIL_BF__MASK                  0x03800000
+#define A6XX_RB_STENCIL_CONTROL_FAIL_BF__SHIFT                 23
+static inline uint32_t A6XX_RB_STENCIL_CONTROL_FAIL_BF(enum adreno_stencil_op val)
+{
+       return ((val) << A6XX_RB_STENCIL_CONTROL_FAIL_BF__SHIFT) & A6XX_RB_STENCIL_CONTROL_FAIL_BF__MASK;
+}
+#define A6XX_RB_STENCIL_CONTROL_ZPASS_BF__MASK                 0x1c000000
+#define A6XX_RB_STENCIL_CONTROL_ZPASS_BF__SHIFT                        26
+static inline uint32_t A6XX_RB_STENCIL_CONTROL_ZPASS_BF(enum adreno_stencil_op val)
+{
+       return ((val) << A6XX_RB_STENCIL_CONTROL_ZPASS_BF__SHIFT) & A6XX_RB_STENCIL_CONTROL_ZPASS_BF__MASK;
+}
+#define A6XX_RB_STENCIL_CONTROL_ZFAIL_BF__MASK                 0xe0000000
+#define A6XX_RB_STENCIL_CONTROL_ZFAIL_BF__SHIFT                        29
+static inline uint32_t A6XX_RB_STENCIL_CONTROL_ZFAIL_BF(enum adreno_stencil_op val)
+{
+       return ((val) << A6XX_RB_STENCIL_CONTROL_ZFAIL_BF__SHIFT) & A6XX_RB_STENCIL_CONTROL_ZFAIL_BF__MASK;
+}
+
+#define REG_A6XX_RB_STENCIL_INFO                               0x00008881
+#define A6XX_RB_STENCIL_INFO_SEPARATE_STENCIL                  0x00000001
+
+#define REG_A6XX_RB_STENCIL_BUFFER_PITCH                       0x00008882
+#define A6XX_RB_STENCIL_BUFFER_PITCH__MASK                     0xffffffff
+#define A6XX_RB_STENCIL_BUFFER_PITCH__SHIFT                    0
+static inline uint32_t A6XX_RB_STENCIL_BUFFER_PITCH(uint32_t val)
+{
+       return ((val >> 6) << A6XX_RB_STENCIL_BUFFER_PITCH__SHIFT) & A6XX_RB_STENCIL_BUFFER_PITCH__MASK;
+}
+
+#define REG_A6XX_RB_STENCIL_BUFFER_ARRAY_PITCH                 0x00008883
+#define A6XX_RB_STENCIL_BUFFER_ARRAY_PITCH__MASK               0xffffffff
+#define A6XX_RB_STENCIL_BUFFER_ARRAY_PITCH__SHIFT              0
+static inline uint32_t A6XX_RB_STENCIL_BUFFER_ARRAY_PITCH(uint32_t val)
+{
+       return ((val >> 6) << A6XX_RB_STENCIL_BUFFER_ARRAY_PITCH__SHIFT) & A6XX_RB_STENCIL_BUFFER_ARRAY_PITCH__MASK;
+}
+
+#define REG_A6XX_RB_STENCIL_BUFFER_BASE_LO                     0x00008884
+
+#define REG_A6XX_RB_STENCIL_BUFFER_BASE_HI                     0x00008885
+
+#define REG_A6XX_RB_STENCIL_BUFFER_BASE_GMEM                   0x00008886
+
+#define REG_A6XX_RB_STENCILREF                                 0x00008887
+#define A6XX_RB_STENCILREF_REF__MASK                           0x000000ff
+#define A6XX_RB_STENCILREF_REF__SHIFT                          0
+static inline uint32_t A6XX_RB_STENCILREF_REF(uint32_t val)
+{
+       return ((val) << A6XX_RB_STENCILREF_REF__SHIFT) & A6XX_RB_STENCILREF_REF__MASK;
+}
+
+#define REG_A6XX_RB_STENCILMASK                                        0x00008888
+#define A6XX_RB_STENCILMASK_MASK__MASK                         0x000000ff
+#define A6XX_RB_STENCILMASK_MASK__SHIFT                                0
+static inline uint32_t A6XX_RB_STENCILMASK_MASK(uint32_t val)
+{
+       return ((val) << A6XX_RB_STENCILMASK_MASK__SHIFT) & A6XX_RB_STENCILMASK_MASK__MASK;
+}
+
+#define REG_A6XX_RB_STENCILWRMASK                              0x00008889
+#define A6XX_RB_STENCILWRMASK_WRMASK__MASK                     0x000000ff
+#define A6XX_RB_STENCILWRMASK_WRMASK__SHIFT                    0
+static inline uint32_t A6XX_RB_STENCILWRMASK_WRMASK(uint32_t val)
+{
+       return ((val) << A6XX_RB_STENCILWRMASK_WRMASK__SHIFT) & A6XX_RB_STENCILWRMASK_WRMASK__MASK;
+}
+
+#define REG_A6XX_RB_WINDOW_OFFSET                              0x00008890
+#define A6XX_RB_WINDOW_OFFSET_WINDOW_OFFSET_DISABLE            0x80000000
+#define A6XX_RB_WINDOW_OFFSET_X__MASK                          0x00007fff
+#define A6XX_RB_WINDOW_OFFSET_X__SHIFT                         0
+static inline uint32_t A6XX_RB_WINDOW_OFFSET_X(uint32_t val)
+{
+       return ((val) << A6XX_RB_WINDOW_OFFSET_X__SHIFT) & A6XX_RB_WINDOW_OFFSET_X__MASK;
+}
+#define A6XX_RB_WINDOW_OFFSET_Y__MASK                          0x7fff0000
+#define A6XX_RB_WINDOW_OFFSET_Y__SHIFT                         16
+static inline uint32_t A6XX_RB_WINDOW_OFFSET_Y(uint32_t val)
+{
+       return ((val) << A6XX_RB_WINDOW_OFFSET_Y__SHIFT) & A6XX_RB_WINDOW_OFFSET_Y__MASK;
+}
+
+#define REG_A6XX_RB_SAMPLE_COUNT_CONTROL                       0x00008891
+#define A6XX_RB_SAMPLE_COUNT_CONTROL_COPY                      0x00000002
+
+#define REG_A6XX_RB_UNKNOWN_88D0                               0x000088d0
+
+#define REG_A6XX_RB_BLIT_SCISSOR_TL                            0x000088d1
+#define A6XX_RB_BLIT_SCISSOR_TL_WINDOW_OFFSET_DISABLE          0x80000000
+#define A6XX_RB_BLIT_SCISSOR_TL_X__MASK                                0x00007fff
+#define A6XX_RB_BLIT_SCISSOR_TL_X__SHIFT                       0
+static inline uint32_t A6XX_RB_BLIT_SCISSOR_TL_X(uint32_t val)
+{
+       return ((val) << A6XX_RB_BLIT_SCISSOR_TL_X__SHIFT) & A6XX_RB_BLIT_SCISSOR_TL_X__MASK;
+}
+#define A6XX_RB_BLIT_SCISSOR_TL_Y__MASK                                0x7fff0000
+#define A6XX_RB_BLIT_SCISSOR_TL_Y__SHIFT                       16
+static inline uint32_t A6XX_RB_BLIT_SCISSOR_TL_Y(uint32_t val)
+{
+       return ((val) << A6XX_RB_BLIT_SCISSOR_TL_Y__SHIFT) & A6XX_RB_BLIT_SCISSOR_TL_Y__MASK;
+}
+
+#define REG_A6XX_RB_BLIT_SCISSOR_BR                            0x000088d2
+#define A6XX_RB_BLIT_SCISSOR_BR_WINDOW_OFFSET_DISABLE          0x80000000
+#define A6XX_RB_BLIT_SCISSOR_BR_X__MASK                                0x00007fff
+#define A6XX_RB_BLIT_SCISSOR_BR_X__SHIFT                       0
+static inline uint32_t A6XX_RB_BLIT_SCISSOR_BR_X(uint32_t val)
+{
+       return ((val) << A6XX_RB_BLIT_SCISSOR_BR_X__SHIFT) & A6XX_RB_BLIT_SCISSOR_BR_X__MASK;
+}
+#define A6XX_RB_BLIT_SCISSOR_BR_Y__MASK                                0x7fff0000
+#define A6XX_RB_BLIT_SCISSOR_BR_Y__SHIFT                       16
+static inline uint32_t A6XX_RB_BLIT_SCISSOR_BR_Y(uint32_t val)
+{
+       return ((val) << A6XX_RB_BLIT_SCISSOR_BR_Y__SHIFT) & A6XX_RB_BLIT_SCISSOR_BR_Y__MASK;
+}
+
+#define REG_A6XX_RB_BLIT_BASE_GMEM                             0x000088d6
+
+#define REG_A6XX_RB_BLIT_DST_INFO                              0x000088d7
+#define A6XX_RB_BLIT_DST_INFO_TILE_MODE__MASK                  0x00000003
+#define A6XX_RB_BLIT_DST_INFO_TILE_MODE__SHIFT                 0
+static inline uint32_t A6XX_RB_BLIT_DST_INFO_TILE_MODE(enum a6xx_tile_mode val)
+{
+       return ((val) << A6XX_RB_BLIT_DST_INFO_TILE_MODE__SHIFT) & A6XX_RB_BLIT_DST_INFO_TILE_MODE__MASK;
+}
+#define A6XX_RB_BLIT_DST_INFO_FLAGS                            0x00000004
+#define A6XX_RB_BLIT_DST_INFO_COLOR_FORMAT__MASK               0x00007f80
+#define A6XX_RB_BLIT_DST_INFO_COLOR_FORMAT__SHIFT              7
+static inline uint32_t A6XX_RB_BLIT_DST_INFO_COLOR_FORMAT(enum a6xx_color_fmt val)
+{
+       return ((val) << A6XX_RB_BLIT_DST_INFO_COLOR_FORMAT__SHIFT) & A6XX_RB_BLIT_DST_INFO_COLOR_FORMAT__MASK;
+}
+#define A6XX_RB_BLIT_DST_INFO_COLOR_SWAP__MASK                 0x00000060
+#define A6XX_RB_BLIT_DST_INFO_COLOR_SWAP__SHIFT                        5
+static inline uint32_t A6XX_RB_BLIT_DST_INFO_COLOR_SWAP(enum a3xx_color_swap val)
+{
+       return ((val) << A6XX_RB_BLIT_DST_INFO_COLOR_SWAP__SHIFT) & A6XX_RB_BLIT_DST_INFO_COLOR_SWAP__MASK;
+}
+
+#define REG_A6XX_RB_BLIT_DST_LO                                        0x000088d8
+
+#define REG_A6XX_RB_BLIT_DST_HI                                        0x000088d9
+
+#define REG_A6XX_RB_BLIT_DST_PITCH                             0x000088da
+#define A6XX_RB_BLIT_DST_PITCH__MASK                           0xffffffff
+#define A6XX_RB_BLIT_DST_PITCH__SHIFT                          0
+static inline uint32_t A6XX_RB_BLIT_DST_PITCH(uint32_t val)
+{
+       return ((val >> 6) << A6XX_RB_BLIT_DST_PITCH__SHIFT) & A6XX_RB_BLIT_DST_PITCH__MASK;
+}
+
+#define REG_A6XX_RB_BLIT_DST_ARRAY_PITCH                       0x000088db
+#define A6XX_RB_BLIT_DST_ARRAY_PITCH__MASK                     0xffffffff
+#define A6XX_RB_BLIT_DST_ARRAY_PITCH__SHIFT                    0
+static inline uint32_t A6XX_RB_BLIT_DST_ARRAY_PITCH(uint32_t val)
+{
+       return ((val >> 6) << A6XX_RB_BLIT_DST_ARRAY_PITCH__SHIFT) & A6XX_RB_BLIT_DST_ARRAY_PITCH__MASK;
+}
+
+#define REG_A6XX_RB_BLIT_FLAG_DST_LO                           0x000088dc
+
+#define REG_A6XX_RB_BLIT_FLAG_DST_HI                           0x000088dd
+
+#define REG_A6XX_RB_BLIT_CLEAR_COLOR_DW0                       0x000088df
+
+#define REG_A6XX_RB_BLIT_CLEAR_COLOR_DW1                       0x000088e0
+
+#define REG_A6XX_RB_BLIT_CLEAR_COLOR_DW2                       0x000088e1
+
+#define REG_A6XX_RB_BLIT_CLEAR_COLOR_DW3                       0x000088e2
+
+#define REG_A6XX_RB_BLIT_INFO                                  0x000088e3
+#define A6XX_RB_BLIT_INFO_UNK0                                 0x00000001
+#define A6XX_RB_BLIT_INFO_FAST_CLEAR                           0x00000002
+#define A6XX_RB_BLIT_INFO_INTEGER                              0x00000004
+#define A6XX_RB_BLIT_INFO_UNK3                                 0x00000008
+#define A6XX_RB_BLIT_INFO_MASK__MASK                           0x000000f0
+#define A6XX_RB_BLIT_INFO_MASK__SHIFT                          4
+static inline uint32_t A6XX_RB_BLIT_INFO_MASK(uint32_t val)
+{
+       return ((val) << A6XX_RB_BLIT_INFO_MASK__SHIFT) & A6XX_RB_BLIT_INFO_MASK__MASK;
+}
+
+#define REG_A6XX_RB_UNKNOWN_88F0                               0x000088f0
+
+#define REG_A6XX_RB_DEPTH_FLAG_BUFFER_BASE_LO                  0x00008900
+
+#define REG_A6XX_RB_DEPTH_FLAG_BUFFER_BASE_HI                  0x00008901
+
+#define REG_A6XX_RB_DEPTH_FLAG_BUFFER_PITCH                    0x00008902
+
+static inline uint32_t REG_A6XX_RB_MRT_FLAG_BUFFER(uint32_t i0) { return 0x00008903 + 0x3*i0; }
+
+static inline uint32_t REG_A6XX_RB_MRT_FLAG_BUFFER_ADDR_LO(uint32_t i0) { return 0x00008903 + 0x3*i0; }
+
+static inline uint32_t REG_A6XX_RB_MRT_FLAG_BUFFER_ADDR_HI(uint32_t i0) { return 0x00008904 + 0x3*i0; }
+
+static inline uint32_t REG_A6XX_RB_MRT_FLAG_BUFFER_PITCH(uint32_t i0) { return 0x00008905 + 0x3*i0; }
+#define A6XX_RB_MRT_FLAG_BUFFER_PITCH_PITCH__MASK              0x000007ff
+#define A6XX_RB_MRT_FLAG_BUFFER_PITCH_PITCH__SHIFT             0
+static inline uint32_t A6XX_RB_MRT_FLAG_BUFFER_PITCH_PITCH(uint32_t val)
+{
+       return ((val >> 5) << A6XX_RB_MRT_FLAG_BUFFER_PITCH_PITCH__SHIFT) & A6XX_RB_MRT_FLAG_BUFFER_PITCH_PITCH__MASK;
+}
+#define A6XX_RB_MRT_FLAG_BUFFER_PITCH_ARRAY_PITCH__MASK                0x003ff800
+#define A6XX_RB_MRT_FLAG_BUFFER_PITCH_ARRAY_PITCH__SHIFT       11
+static inline uint32_t A6XX_RB_MRT_FLAG_BUFFER_PITCH_ARRAY_PITCH(uint32_t val)
+{
+       return ((val >> 5) << A6XX_RB_MRT_FLAG_BUFFER_PITCH_ARRAY_PITCH__SHIFT) & A6XX_RB_MRT_FLAG_BUFFER_PITCH_ARRAY_PITCH__MASK;
+}
+
+#define REG_A6XX_RB_SAMPLE_COUNT_ADDR_LO                       0x00008927
+
+#define REG_A6XX_RB_SAMPLE_COUNT_ADDR_HI                       0x00008928
+
+#define REG_A6XX_RB_2D_BLIT_CNTL                               0x00008c00
+#define A6XX_RB_2D_BLIT_CNTL_COLOR_FORMAT__MASK                        0x0000ff00
+#define A6XX_RB_2D_BLIT_CNTL_COLOR_FORMAT__SHIFT               8
+static inline uint32_t A6XX_RB_2D_BLIT_CNTL_COLOR_FORMAT(enum a6xx_color_fmt val)
+{
+       return ((val) << A6XX_RB_2D_BLIT_CNTL_COLOR_FORMAT__SHIFT) & A6XX_RB_2D_BLIT_CNTL_COLOR_FORMAT__MASK;
+}
+
+#define REG_A6XX_RB_2D_DST_INFO                                        0x00008c17
+#define A6XX_RB_2D_DST_INFO_COLOR_FORMAT__MASK                 0x000000ff
+#define A6XX_RB_2D_DST_INFO_COLOR_FORMAT__SHIFT                        0
+static inline uint32_t A6XX_RB_2D_DST_INFO_COLOR_FORMAT(enum a6xx_color_fmt val)
+{
+       return ((val) << A6XX_RB_2D_DST_INFO_COLOR_FORMAT__SHIFT) & A6XX_RB_2D_DST_INFO_COLOR_FORMAT__MASK;
+}
+#define A6XX_RB_2D_DST_INFO_TILE_MODE__MASK                    0x00000300
+#define A6XX_RB_2D_DST_INFO_TILE_MODE__SHIFT                   8
+static inline uint32_t A6XX_RB_2D_DST_INFO_TILE_MODE(enum a6xx_tile_mode val)
+{
+       return ((val) << A6XX_RB_2D_DST_INFO_TILE_MODE__SHIFT) & A6XX_RB_2D_DST_INFO_TILE_MODE__MASK;
+}
+#define A6XX_RB_2D_DST_INFO_COLOR_SWAP__MASK                   0x00000c00
+#define A6XX_RB_2D_DST_INFO_COLOR_SWAP__SHIFT                  10
+static inline uint32_t A6XX_RB_2D_DST_INFO_COLOR_SWAP(enum a3xx_color_swap val)
+{
+       return ((val) << A6XX_RB_2D_DST_INFO_COLOR_SWAP__SHIFT) & A6XX_RB_2D_DST_INFO_COLOR_SWAP__MASK;
+}
+#define A6XX_RB_2D_DST_INFO_FLAGS                              0x00001000
+
+#define REG_A6XX_RB_2D_DST_LO                                  0x00008c18
+
+#define REG_A6XX_RB_2D_DST_HI                                  0x00008c19
+
+#define REG_A6XX_RB_2D_DST_SIZE                                        0x00008c1a
+#define A6XX_RB_2D_DST_SIZE_PITCH__MASK                                0x0000ffff
+#define A6XX_RB_2D_DST_SIZE_PITCH__SHIFT                       0
+static inline uint32_t A6XX_RB_2D_DST_SIZE_PITCH(uint32_t val)
+{
+       return ((val >> 6) << A6XX_RB_2D_DST_SIZE_PITCH__SHIFT) & A6XX_RB_2D_DST_SIZE_PITCH__MASK;
+}
+
+#define REG_A6XX_RB_2D_DST_FLAGS_LO                            0x00008c20
+
+#define REG_A6XX_RB_2D_DST_FLAGS_HI                            0x00008c21
+
+#define REG_A6XX_RB_2D_SRC_SOLID_C0                            0x00008c2c
+
+#define REG_A6XX_RB_2D_SRC_SOLID_C1                            0x00008c2d
+
+#define REG_A6XX_RB_2D_SRC_SOLID_C2                            0x00008c2e
+
+#define REG_A6XX_RB_2D_SRC_SOLID_C3                            0x00008c2f
+
+#define REG_A6XX_RB_UNKNOWN_8E01                               0x00008e01
+
+#define REG_A6XX_RB_CCU_CNTL                                   0x00008e07
+
+#define REG_A6XX_VPC_UNKNOWN_9101                              0x00009101
+
+#define REG_A6XX_VPC_GS_SIV_CNTL                               0x00009104
+
+#define REG_A6XX_VPC_UNKNOWN_9108                              0x00009108
+
+static inline uint32_t REG_A6XX_VPC_VARYING_INTERP(uint32_t i0) { return 0x00009200 + 0x1*i0; }
+
+static inline uint32_t REG_A6XX_VPC_VARYING_INTERP_MODE(uint32_t i0) { return 0x00009200 + 0x1*i0; }
+
+static inline uint32_t REG_A6XX_VPC_VARYING_PS_REPL(uint32_t i0) { return 0x00009208 + 0x1*i0; }
+
+static inline uint32_t REG_A6XX_VPC_VARYING_PS_REPL_MODE(uint32_t i0) { return 0x00009208 + 0x1*i0; }
+
+#define REG_A6XX_VPC_UNKNOWN_9210                              0x00009210
+
+#define REG_A6XX_VPC_UNKNOWN_9211                              0x00009211
+
+static inline uint32_t REG_A6XX_VPC_VAR(uint32_t i0) { return 0x00009212 + 0x1*i0; }
+
+static inline uint32_t REG_A6XX_VPC_VAR_DISABLE(uint32_t i0) { return 0x00009212 + 0x1*i0; }
+
+#define REG_A6XX_VPC_SO_CNTL                                   0x00009216
+#define A6XX_VPC_SO_CNTL_ENABLE                                        0x00010000
+
+#define REG_A6XX_VPC_SO_PROG                                   0x00009217
+#define A6XX_VPC_SO_PROG_A_BUF__MASK                           0x00000003
+#define A6XX_VPC_SO_PROG_A_BUF__SHIFT                          0
+static inline uint32_t A6XX_VPC_SO_PROG_A_BUF(uint32_t val)
+{
+       return ((val) << A6XX_VPC_SO_PROG_A_BUF__SHIFT) & A6XX_VPC_SO_PROG_A_BUF__MASK;
+}
+#define A6XX_VPC_SO_PROG_A_OFF__MASK                           0x000007fc
+#define A6XX_VPC_SO_PROG_A_OFF__SHIFT                          2
+static inline uint32_t A6XX_VPC_SO_PROG_A_OFF(uint32_t val)
+{
+       return ((val >> 2) << A6XX_VPC_SO_PROG_A_OFF__SHIFT) & A6XX_VPC_SO_PROG_A_OFF__MASK;
+}
+#define A6XX_VPC_SO_PROG_A_EN                                  0x00000800
+#define A6XX_VPC_SO_PROG_B_BUF__MASK                           0x00003000
+#define A6XX_VPC_SO_PROG_B_BUF__SHIFT                          12
+static inline uint32_t A6XX_VPC_SO_PROG_B_BUF(uint32_t val)
+{
+       return ((val) << A6XX_VPC_SO_PROG_B_BUF__SHIFT) & A6XX_VPC_SO_PROG_B_BUF__MASK;
+}
+#define A6XX_VPC_SO_PROG_B_OFF__MASK                           0x007fc000
+#define A6XX_VPC_SO_PROG_B_OFF__SHIFT                          14
+static inline uint32_t A6XX_VPC_SO_PROG_B_OFF(uint32_t val)
+{
+       return ((val >> 2) << A6XX_VPC_SO_PROG_B_OFF__SHIFT) & A6XX_VPC_SO_PROG_B_OFF__MASK;
+}
+#define A6XX_VPC_SO_PROG_B_EN                                  0x00800000
+
+static inline uint32_t REG_A6XX_VPC_SO(uint32_t i0) { return 0x0000921a + 0x7*i0; }
+
+static inline uint32_t REG_A6XX_VPC_SO_BUFFER_BASE_LO(uint32_t i0) { return 0x0000921a + 0x7*i0; }
+
+static inline uint32_t REG_A6XX_VPC_SO_BUFFER_BASE_HI(uint32_t i0) { return 0x0000921b + 0x7*i0; }
+
+static inline uint32_t REG_A6XX_VPC_SO_BUFFER_SIZE(uint32_t i0) { return 0x0000921c + 0x7*i0; }
+
+static inline uint32_t REG_A6XX_VPC_SO_NCOMP(uint32_t i0) { return 0x0000921d + 0x7*i0; }
+
+static inline uint32_t REG_A6XX_VPC_SO_BUFFER_OFFSET(uint32_t i0) { return 0x0000921e + 0x7*i0; }
+
+static inline uint32_t REG_A6XX_VPC_SO_FLUSH_BASE_LO(uint32_t i0) { return 0x0000921f + 0x7*i0; }
+
+static inline uint32_t REG_A6XX_VPC_SO_FLUSH_BASE_HI(uint32_t i0) { return 0x00009220 + 0x7*i0; }
+
+#define REG_A6XX_VPC_UNKNOWN_9236                              0x00009236
+
+#define REG_A6XX_VPC_UNKNOWN_9300                              0x00009300
+
+#define REG_A6XX_VPC_PACK                                      0x00009301
+#define A6XX_VPC_PACK_STRIDE_IN_VPC__MASK                      0x000000ff
+#define A6XX_VPC_PACK_STRIDE_IN_VPC__SHIFT                     0
+static inline uint32_t A6XX_VPC_PACK_STRIDE_IN_VPC(uint32_t val)
+{
+       return ((val) << A6XX_VPC_PACK_STRIDE_IN_VPC__SHIFT) & A6XX_VPC_PACK_STRIDE_IN_VPC__MASK;
+}
+#define A6XX_VPC_PACK_NUMNONPOSVAR__MASK                       0x0000ff00
+#define A6XX_VPC_PACK_NUMNONPOSVAR__SHIFT                      8
+static inline uint32_t A6XX_VPC_PACK_NUMNONPOSVAR(uint32_t val)
+{
+       return ((val) << A6XX_VPC_PACK_NUMNONPOSVAR__SHIFT) & A6XX_VPC_PACK_NUMNONPOSVAR__MASK;
+}
+#define A6XX_VPC_PACK_PSIZELOC__MASK                           0x00ff0000
+#define A6XX_VPC_PACK_PSIZELOC__SHIFT                          16
+static inline uint32_t A6XX_VPC_PACK_PSIZELOC(uint32_t val)
+{
+       return ((val) << A6XX_VPC_PACK_PSIZELOC__SHIFT) & A6XX_VPC_PACK_PSIZELOC__MASK;
+}
+
+#define REG_A6XX_VPC_CNTL_0                                    0x00009304
+#define A6XX_VPC_CNTL_0_NUMNONPOSVAR__MASK                     0x000000ff
+#define A6XX_VPC_CNTL_0_NUMNONPOSVAR__SHIFT                    0
+static inline uint32_t A6XX_VPC_CNTL_0_NUMNONPOSVAR(uint32_t val)
+{
+       return ((val) << A6XX_VPC_CNTL_0_NUMNONPOSVAR__SHIFT) & A6XX_VPC_CNTL_0_NUMNONPOSVAR__MASK;
+}
+#define A6XX_VPC_CNTL_0_VARYING                                        0x00010000
+
+#define REG_A6XX_VPC_SO_BUF_CNTL                               0x00009305
+#define A6XX_VPC_SO_BUF_CNTL_BUF0                              0x00000001
+#define A6XX_VPC_SO_BUF_CNTL_BUF1                              0x00000008
+#define A6XX_VPC_SO_BUF_CNTL_BUF2                              0x00000040
+#define A6XX_VPC_SO_BUF_CNTL_BUF3                              0x00000200
+#define A6XX_VPC_SO_BUF_CNTL_ENABLE                            0x00008000
+
+#define REG_A6XX_VPC_UNKNOWN_9600                              0x00009600
+
+#define REG_A6XX_VPC_UNKNOWN_9602                              0x00009602
+
+#define REG_A6XX_PC_UNKNOWN_9801                               0x00009801
+
+#define REG_A6XX_PC_RESTART_INDEX                              0x00009803
+
+#define REG_A6XX_PC_MODE_CNTL                                  0x00009804
+
+#define REG_A6XX_PC_UNKNOWN_9805                               0x00009805
+
+#define REG_A6XX_PC_UNKNOWN_9981                               0x00009981
+
+#define REG_A6XX_PC_PRIMITIVE_CNTL_0                           0x00009b00
+#define A6XX_PC_PRIMITIVE_CNTL_0_PRIMITIVE_RESTART             0x00000001
+#define A6XX_PC_PRIMITIVE_CNTL_0_PROVOKING_VTX_LAST            0x00000002
+
+#define REG_A6XX_PC_PRIMITIVE_CNTL_1                           0x00009b01
+#define A6XX_PC_PRIMITIVE_CNTL_1_STRIDE_IN_VPC__MASK           0x0000007f
+#define A6XX_PC_PRIMITIVE_CNTL_1_STRIDE_IN_VPC__SHIFT          0
+static inline uint32_t A6XX_PC_PRIMITIVE_CNTL_1_STRIDE_IN_VPC(uint32_t val)
+{
+       return ((val) << A6XX_PC_PRIMITIVE_CNTL_1_STRIDE_IN_VPC__SHIFT) & A6XX_PC_PRIMITIVE_CNTL_1_STRIDE_IN_VPC__MASK;
+}
+
+#define REG_A6XX_PC_UNKNOWN_9B06                               0x00009b06
+
+#define REG_A6XX_PC_UNKNOWN_9B07                               0x00009b07
+
+#define REG_A6XX_PC_TESSFACTOR_ADDR_LO                         0x00009e08
+
+#define REG_A6XX_PC_TESSFACTOR_ADDR_HI                         0x00009e09
+
+#define REG_A6XX_PC_UNKNOWN_9E72                               0x00009e72
+
+#define REG_A6XX_VFD_CONTROL_0                                 0x0000a000
+#define A6XX_VFD_CONTROL_0_VTXCNT__MASK                                0x0000003f
+#define A6XX_VFD_CONTROL_0_VTXCNT__SHIFT                       0
+static inline uint32_t A6XX_VFD_CONTROL_0_VTXCNT(uint32_t val)
+{
+       return ((val) << A6XX_VFD_CONTROL_0_VTXCNT__SHIFT) & A6XX_VFD_CONTROL_0_VTXCNT__MASK;
+}
+
+#define REG_A6XX_VFD_CONTROL_1                                 0x0000a001
+#define A6XX_VFD_CONTROL_1_REGID4VTX__MASK                     0x000000ff
+#define A6XX_VFD_CONTROL_1_REGID4VTX__SHIFT                    0
+static inline uint32_t A6XX_VFD_CONTROL_1_REGID4VTX(uint32_t val)
+{
+       return ((val) << A6XX_VFD_CONTROL_1_REGID4VTX__SHIFT) & A6XX_VFD_CONTROL_1_REGID4VTX__MASK;
+}
+#define A6XX_VFD_CONTROL_1_REGID4INST__MASK                    0x0000ff00
+#define A6XX_VFD_CONTROL_1_REGID4INST__SHIFT                   8
+static inline uint32_t A6XX_VFD_CONTROL_1_REGID4INST(uint32_t val)
+{
+       return ((val) << A6XX_VFD_CONTROL_1_REGID4INST__SHIFT) & A6XX_VFD_CONTROL_1_REGID4INST__MASK;
+}
+#define A6XX_VFD_CONTROL_1_REGID4PRIMID__MASK                  0x00ff0000
+#define A6XX_VFD_CONTROL_1_REGID4PRIMID__SHIFT                 16
+static inline uint32_t A6XX_VFD_CONTROL_1_REGID4PRIMID(uint32_t val)
+{
+       return ((val) << A6XX_VFD_CONTROL_1_REGID4PRIMID__SHIFT) & A6XX_VFD_CONTROL_1_REGID4PRIMID__MASK;
+}
+
+#define REG_A6XX_VFD_CONTROL_2                                 0x0000a002
+#define A6XX_VFD_CONTROL_2_REGID_PATCHID__MASK                 0x000000ff
+#define A6XX_VFD_CONTROL_2_REGID_PATCHID__SHIFT                        0
+static inline uint32_t A6XX_VFD_CONTROL_2_REGID_PATCHID(uint32_t val)
+{
+       return ((val) << A6XX_VFD_CONTROL_2_REGID_PATCHID__SHIFT) & A6XX_VFD_CONTROL_2_REGID_PATCHID__MASK;
+}
+
+#define REG_A6XX_VFD_CONTROL_3                                 0x0000a003
+#define A6XX_VFD_CONTROL_3_REGID_PATCHID__MASK                 0x0000ff00
+#define A6XX_VFD_CONTROL_3_REGID_PATCHID__SHIFT                        8
+static inline uint32_t A6XX_VFD_CONTROL_3_REGID_PATCHID(uint32_t val)
+{
+       return ((val) << A6XX_VFD_CONTROL_3_REGID_PATCHID__SHIFT) & A6XX_VFD_CONTROL_3_REGID_PATCHID__MASK;
+}
+#define A6XX_VFD_CONTROL_3_REGID_TESSX__MASK                   0x00ff0000
+#define A6XX_VFD_CONTROL_3_REGID_TESSX__SHIFT                  16
+static inline uint32_t A6XX_VFD_CONTROL_3_REGID_TESSX(uint32_t val)
+{
+       return ((val) << A6XX_VFD_CONTROL_3_REGID_TESSX__SHIFT) & A6XX_VFD_CONTROL_3_REGID_TESSX__MASK;
+}
+#define A6XX_VFD_CONTROL_3_REGID_TESSY__MASK                   0xff000000
+#define A6XX_VFD_CONTROL_3_REGID_TESSY__SHIFT                  24
+static inline uint32_t A6XX_VFD_CONTROL_3_REGID_TESSY(uint32_t val)
+{
+       return ((val) << A6XX_VFD_CONTROL_3_REGID_TESSY__SHIFT) & A6XX_VFD_CONTROL_3_REGID_TESSY__MASK;
+}
+
+#define REG_A6XX_VFD_CONTROL_4                                 0x0000a004
+
+#define REG_A6XX_VFD_CONTROL_5                                 0x0000a005
+
+#define REG_A6XX_VFD_CONTROL_6                                 0x0000a006
+
+#define REG_A6XX_VFD_MODE_CNTL                                 0x0000a007
+#define A6XX_VFD_MODE_CNTL_BINNING_PASS                                0x00000001
+
+#define REG_A6XX_VFD_UNKNOWN_A008                              0x0000a008
+
+#define REG_A6XX_VFD_INDEX_OFFSET                              0x0000a00e
+
+#define REG_A6XX_VFD_INSTANCE_START_OFFSET                     0x0000a00f
+
+static inline uint32_t REG_A6XX_VFD_FETCH(uint32_t i0) { return 0x0000a010 + 0x4*i0; }
+
+static inline uint32_t REG_A6XX_VFD_FETCH_BASE_LO(uint32_t i0) { return 0x0000a010 + 0x4*i0; }
+
+static inline uint32_t REG_A6XX_VFD_FETCH_BASE_HI(uint32_t i0) { return 0x0000a011 + 0x4*i0; }
+
+static inline uint32_t REG_A6XX_VFD_FETCH_SIZE(uint32_t i0) { return 0x0000a012 + 0x4*i0; }
+
+static inline uint32_t REG_A6XX_VFD_FETCH_STRIDE(uint32_t i0) { return 0x0000a013 + 0x4*i0; }
+
+static inline uint32_t REG_A6XX_VFD_DECODE(uint32_t i0) { return 0x0000a090 + 0x2*i0; }
+
+static inline uint32_t REG_A6XX_VFD_DECODE_INSTR(uint32_t i0) { return 0x0000a090 + 0x2*i0; }
+#define A6XX_VFD_DECODE_INSTR_IDX__MASK                                0x0000001f
+#define A6XX_VFD_DECODE_INSTR_IDX__SHIFT                       0
+static inline uint32_t A6XX_VFD_DECODE_INSTR_IDX(uint32_t val)
+{
+       return ((val) << A6XX_VFD_DECODE_INSTR_IDX__SHIFT) & A6XX_VFD_DECODE_INSTR_IDX__MASK;
+}
+#define A6XX_VFD_DECODE_INSTR_INSTANCED                                0x00020000
+#define A6XX_VFD_DECODE_INSTR_FORMAT__MASK                     0x0ff00000
+#define A6XX_VFD_DECODE_INSTR_FORMAT__SHIFT                    20
+static inline uint32_t A6XX_VFD_DECODE_INSTR_FORMAT(enum a6xx_vtx_fmt val)
+{
+       return ((val) << A6XX_VFD_DECODE_INSTR_FORMAT__SHIFT) & A6XX_VFD_DECODE_INSTR_FORMAT__MASK;
+}
+#define A6XX_VFD_DECODE_INSTR_SWAP__MASK                       0x30000000
+#define A6XX_VFD_DECODE_INSTR_SWAP__SHIFT                      28
+static inline uint32_t A6XX_VFD_DECODE_INSTR_SWAP(enum a3xx_color_swap val)
+{
+       return ((val) << A6XX_VFD_DECODE_INSTR_SWAP__SHIFT) & A6XX_VFD_DECODE_INSTR_SWAP__MASK;
+}
+#define A6XX_VFD_DECODE_INSTR_UNK30                            0x40000000
+#define A6XX_VFD_DECODE_INSTR_FLOAT                            0x80000000
+
+static inline uint32_t REG_A6XX_VFD_DECODE_STEP_RATE(uint32_t i0) { return 0x0000a091 + 0x2*i0; }
+
+static inline uint32_t REG_A6XX_VFD_DEST_CNTL(uint32_t i0) { return 0x0000a0d0 + 0x1*i0; }
+
+static inline uint32_t REG_A6XX_VFD_DEST_CNTL_INSTR(uint32_t i0) { return 0x0000a0d0 + 0x1*i0; }
+#define A6XX_VFD_DEST_CNTL_INSTR_WRITEMASK__MASK               0x0000000f
+#define A6XX_VFD_DEST_CNTL_INSTR_WRITEMASK__SHIFT              0
+static inline uint32_t A6XX_VFD_DEST_CNTL_INSTR_WRITEMASK(uint32_t val)
+{
+       return ((val) << A6XX_VFD_DEST_CNTL_INSTR_WRITEMASK__SHIFT) & A6XX_VFD_DEST_CNTL_INSTR_WRITEMASK__MASK;
+}
+#define A6XX_VFD_DEST_CNTL_INSTR_REGID__MASK                   0x00000ff0
+#define A6XX_VFD_DEST_CNTL_INSTR_REGID__SHIFT                  4
+static inline uint32_t A6XX_VFD_DEST_CNTL_INSTR_REGID(uint32_t val)
+{
+       return ((val) << A6XX_VFD_DEST_CNTL_INSTR_REGID__SHIFT) & A6XX_VFD_DEST_CNTL_INSTR_REGID__MASK;
+}
+
+#define REG_A6XX_SP_UNKNOWN_A0F8                               0x0000a0f8
+
+#define REG_A6XX_SP_PRIMITIVE_CNTL                             0x0000a802
+#define A6XX_SP_PRIMITIVE_CNTL_VSOUT__MASK                     0x0000001f
+#define A6XX_SP_PRIMITIVE_CNTL_VSOUT__SHIFT                    0
+static inline uint32_t A6XX_SP_PRIMITIVE_CNTL_VSOUT(uint32_t val)
+{
+       return ((val) << A6XX_SP_PRIMITIVE_CNTL_VSOUT__SHIFT) & A6XX_SP_PRIMITIVE_CNTL_VSOUT__MASK;
+}
+
+static inline uint32_t REG_A6XX_SP_VS_OUT(uint32_t i0) { return 0x0000a803 + 0x1*i0; }
+
+static inline uint32_t REG_A6XX_SP_VS_OUT_REG(uint32_t i0) { return 0x0000a803 + 0x1*i0; }
+#define A6XX_SP_VS_OUT_REG_A_REGID__MASK                       0x000000ff
+#define A6XX_SP_VS_OUT_REG_A_REGID__SHIFT                      0
+static inline uint32_t A6XX_SP_VS_OUT_REG_A_REGID(uint32_t val)
+{
+       return ((val) << A6XX_SP_VS_OUT_REG_A_REGID__SHIFT) & A6XX_SP_VS_OUT_REG_A_REGID__MASK;
+}
+#define A6XX_SP_VS_OUT_REG_A_COMPMASK__MASK                    0x00000f00
+#define A6XX_SP_VS_OUT_REG_A_COMPMASK__SHIFT                   8
+static inline uint32_t A6XX_SP_VS_OUT_REG_A_COMPMASK(uint32_t val)
+{
+       return ((val) << A6XX_SP_VS_OUT_REG_A_COMPMASK__SHIFT) & A6XX_SP_VS_OUT_REG_A_COMPMASK__MASK;
+}
+#define A6XX_SP_VS_OUT_REG_B_REGID__MASK                       0x00ff0000
+#define A6XX_SP_VS_OUT_REG_B_REGID__SHIFT                      16
+static inline uint32_t A6XX_SP_VS_OUT_REG_B_REGID(uint32_t val)
+{
+       return ((val) << A6XX_SP_VS_OUT_REG_B_REGID__SHIFT) & A6XX_SP_VS_OUT_REG_B_REGID__MASK;
+}
+#define A6XX_SP_VS_OUT_REG_B_COMPMASK__MASK                    0x0f000000
+#define A6XX_SP_VS_OUT_REG_B_COMPMASK__SHIFT                   24
+static inline uint32_t A6XX_SP_VS_OUT_REG_B_COMPMASK(uint32_t val)
+{
+       return ((val) << A6XX_SP_VS_OUT_REG_B_COMPMASK__SHIFT) & A6XX_SP_VS_OUT_REG_B_COMPMASK__MASK;
+}
+
+static inline uint32_t REG_A6XX_SP_VS_VPC_DST(uint32_t i0) { return 0x0000a813 + 0x1*i0; }
+
+static inline uint32_t REG_A6XX_SP_VS_VPC_DST_REG(uint32_t i0) { return 0x0000a813 + 0x1*i0; }
+#define A6XX_SP_VS_VPC_DST_REG_OUTLOC0__MASK                   0x000000ff
+#define A6XX_SP_VS_VPC_DST_REG_OUTLOC0__SHIFT                  0
+static inline uint32_t A6XX_SP_VS_VPC_DST_REG_OUTLOC0(uint32_t val)
+{
+       return ((val) << A6XX_SP_VS_VPC_DST_REG_OUTLOC0__SHIFT) & A6XX_SP_VS_VPC_DST_REG_OUTLOC0__MASK;
+}
+#define A6XX_SP_VS_VPC_DST_REG_OUTLOC1__MASK                   0x0000ff00
+#define A6XX_SP_VS_VPC_DST_REG_OUTLOC1__SHIFT                  8
+static inline uint32_t A6XX_SP_VS_VPC_DST_REG_OUTLOC1(uint32_t val)
+{
+       return ((val) << A6XX_SP_VS_VPC_DST_REG_OUTLOC1__SHIFT) & A6XX_SP_VS_VPC_DST_REG_OUTLOC1__MASK;
+}
+#define A6XX_SP_VS_VPC_DST_REG_OUTLOC2__MASK                   0x00ff0000
+#define A6XX_SP_VS_VPC_DST_REG_OUTLOC2__SHIFT                  16
+static inline uint32_t A6XX_SP_VS_VPC_DST_REG_OUTLOC2(uint32_t val)
+{
+       return ((val) << A6XX_SP_VS_VPC_DST_REG_OUTLOC2__SHIFT) & A6XX_SP_VS_VPC_DST_REG_OUTLOC2__MASK;
+}
+#define A6XX_SP_VS_VPC_DST_REG_OUTLOC3__MASK                   0xff000000
+#define A6XX_SP_VS_VPC_DST_REG_OUTLOC3__SHIFT                  24
+static inline uint32_t A6XX_SP_VS_VPC_DST_REG_OUTLOC3(uint32_t val)
+{
+       return ((val) << A6XX_SP_VS_VPC_DST_REG_OUTLOC3__SHIFT) & A6XX_SP_VS_VPC_DST_REG_OUTLOC3__MASK;
+}
+
+#define REG_A6XX_SP_VS_CTRL_REG0                               0x0000a800
+#define A6XX_SP_VS_CTRL_REG0_HALFREGFOOTPRINT__MASK            0x0000007e
+#define A6XX_SP_VS_CTRL_REG0_HALFREGFOOTPRINT__SHIFT           1
+static inline uint32_t A6XX_SP_VS_CTRL_REG0_HALFREGFOOTPRINT(uint32_t val)
+{
+       return ((val) << A6XX_SP_VS_CTRL_REG0_HALFREGFOOTPRINT__SHIFT) & A6XX_SP_VS_CTRL_REG0_HALFREGFOOTPRINT__MASK;
+}
+#define A6XX_SP_VS_CTRL_REG0_FULLREGFOOTPRINT__MASK            0x00001f80
+#define A6XX_SP_VS_CTRL_REG0_FULLREGFOOTPRINT__SHIFT           7
+static inline uint32_t A6XX_SP_VS_CTRL_REG0_FULLREGFOOTPRINT(uint32_t val)
+{
+       return ((val) << A6XX_SP_VS_CTRL_REG0_FULLREGFOOTPRINT__SHIFT) & A6XX_SP_VS_CTRL_REG0_FULLREGFOOTPRINT__MASK;
+}
+#define A6XX_SP_VS_CTRL_REG0_BRANCHSTACK__MASK                 0x000fc000
+#define A6XX_SP_VS_CTRL_REG0_BRANCHSTACK__SHIFT                        14
+static inline uint32_t A6XX_SP_VS_CTRL_REG0_BRANCHSTACK(uint32_t val)
+{
+       return ((val) << A6XX_SP_VS_CTRL_REG0_BRANCHSTACK__SHIFT) & A6XX_SP_VS_CTRL_REG0_BRANCHSTACK__MASK;
+}
+#define A6XX_SP_VS_CTRL_REG0_THREADSIZE__MASK                  0x00100000
+#define A6XX_SP_VS_CTRL_REG0_THREADSIZE__SHIFT                 20
+static inline uint32_t A6XX_SP_VS_CTRL_REG0_THREADSIZE(enum a3xx_threadsize val)
+{
+       return ((val) << A6XX_SP_VS_CTRL_REG0_THREADSIZE__SHIFT) & A6XX_SP_VS_CTRL_REG0_THREADSIZE__MASK;
+}
+#define A6XX_SP_VS_CTRL_REG0_VARYING                           0x00400000
+#define A6XX_SP_VS_CTRL_REG0_PIXLODENABLE                      0x04000000
+#define A6XX_SP_VS_CTRL_REG0_MERGEDREGS                                0x80000000
+
+#define REG_A6XX_SP_VS_OBJ_START_LO                            0x0000a81c
+
+#define REG_A6XX_SP_VS_OBJ_START_HI                            0x0000a81d
+
+#define REG_A6XX_SP_VS_TEX_COUNT                               0x0000a822
+
+#define REG_A6XX_SP_VS_CONFIG                                  0x0000a823
+#define A6XX_SP_VS_CONFIG_ENABLED                              0x00000100
+#define A6XX_SP_VS_CONFIG_NTEX__MASK                           0x0001fe00
+#define A6XX_SP_VS_CONFIG_NTEX__SHIFT                          9
+static inline uint32_t A6XX_SP_VS_CONFIG_NTEX(uint32_t val)
+{
+       return ((val) << A6XX_SP_VS_CONFIG_NTEX__SHIFT) & A6XX_SP_VS_CONFIG_NTEX__MASK;
+}
+#define A6XX_SP_VS_CONFIG_NSAMP__MASK                          0x01fe0000
+#define A6XX_SP_VS_CONFIG_NSAMP__SHIFT                         17
+static inline uint32_t A6XX_SP_VS_CONFIG_NSAMP(uint32_t val)
+{
+       return ((val) << A6XX_SP_VS_CONFIG_NSAMP__SHIFT) & A6XX_SP_VS_CONFIG_NSAMP__MASK;
+}
+
+#define REG_A6XX_SP_VS_INSTRLEN                                        0x0000a824
+
+#define REG_A6XX_SP_HS_CTRL_REG0                               0x0000a830
+#define A6XX_SP_HS_CTRL_REG0_HALFREGFOOTPRINT__MASK            0x0000007e
+#define A6XX_SP_HS_CTRL_REG0_HALFREGFOOTPRINT__SHIFT           1
+static inline uint32_t A6XX_SP_HS_CTRL_REG0_HALFREGFOOTPRINT(uint32_t val)
+{
+       return ((val) << A6XX_SP_HS_CTRL_REG0_HALFREGFOOTPRINT__SHIFT) & A6XX_SP_HS_CTRL_REG0_HALFREGFOOTPRINT__MASK;
+}
+#define A6XX_SP_HS_CTRL_REG0_FULLREGFOOTPRINT__MASK            0x00001f80
+#define A6XX_SP_HS_CTRL_REG0_FULLREGFOOTPRINT__SHIFT           7
+static inline uint32_t A6XX_SP_HS_CTRL_REG0_FULLREGFOOTPRINT(uint32_t val)
+{
+       return ((val) << A6XX_SP_HS_CTRL_REG0_FULLREGFOOTPRINT__SHIFT) & A6XX_SP_HS_CTRL_REG0_FULLREGFOOTPRINT__MASK;
+}
+#define A6XX_SP_HS_CTRL_REG0_BRANCHSTACK__MASK                 0x000fc000
+#define A6XX_SP_HS_CTRL_REG0_BRANCHSTACK__SHIFT                        14
+static inline uint32_t A6XX_SP_HS_CTRL_REG0_BRANCHSTACK(uint32_t val)
+{
+       return ((val) << A6XX_SP_HS_CTRL_REG0_BRANCHSTACK__SHIFT) & A6XX_SP_HS_CTRL_REG0_BRANCHSTACK__MASK;
+}
+#define A6XX_SP_HS_CTRL_REG0_THREADSIZE__MASK                  0x00100000
+#define A6XX_SP_HS_CTRL_REG0_THREADSIZE__SHIFT                 20
+static inline uint32_t A6XX_SP_HS_CTRL_REG0_THREADSIZE(enum a3xx_threadsize val)
+{
+       return ((val) << A6XX_SP_HS_CTRL_REG0_THREADSIZE__SHIFT) & A6XX_SP_HS_CTRL_REG0_THREADSIZE__MASK;
+}
+#define A6XX_SP_HS_CTRL_REG0_VARYING                           0x00400000
+#define A6XX_SP_HS_CTRL_REG0_PIXLODENABLE                      0x04000000
+#define A6XX_SP_HS_CTRL_REG0_MERGEDREGS                                0x80000000
+
+#define REG_A6XX_SP_HS_UNKNOWN_A831                            0x0000a831
+
+#define REG_A6XX_SP_HS_OBJ_START_LO                            0x0000a834
+
+#define REG_A6XX_SP_HS_OBJ_START_HI                            0x0000a835
+
+#define REG_A6XX_SP_HS_TEX_COUNT                               0x0000a83a
+
+#define REG_A6XX_SP_HS_CONFIG                                  0x0000a83b
+#define A6XX_SP_HS_CONFIG_ENABLED                              0x00000100
+#define A6XX_SP_HS_CONFIG_NTEX__MASK                           0x0001fe00
+#define A6XX_SP_HS_CONFIG_NTEX__SHIFT                          9
+static inline uint32_t A6XX_SP_HS_CONFIG_NTEX(uint32_t val)
+{
+       return ((val) << A6XX_SP_HS_CONFIG_NTEX__SHIFT) & A6XX_SP_HS_CONFIG_NTEX__MASK;
+}
+#define A6XX_SP_HS_CONFIG_NSAMP__MASK                          0x01fe0000
+#define A6XX_SP_HS_CONFIG_NSAMP__SHIFT                         17
+static inline uint32_t A6XX_SP_HS_CONFIG_NSAMP(uint32_t val)
+{
+       return ((val) << A6XX_SP_HS_CONFIG_NSAMP__SHIFT) & A6XX_SP_HS_CONFIG_NSAMP__MASK;
+}
+
+#define REG_A6XX_SP_HS_INSTRLEN                                        0x0000a83c
+
+#define REG_A6XX_SP_DS_CTRL_REG0                               0x0000a840
+#define A6XX_SP_DS_CTRL_REG0_HALFREGFOOTPRINT__MASK            0x0000007e
+#define A6XX_SP_DS_CTRL_REG0_HALFREGFOOTPRINT__SHIFT           1
+static inline uint32_t A6XX_SP_DS_CTRL_REG0_HALFREGFOOTPRINT(uint32_t val)
+{
+       return ((val) << A6XX_SP_DS_CTRL_REG0_HALFREGFOOTPRINT__SHIFT) & A6XX_SP_DS_CTRL_REG0_HALFREGFOOTPRINT__MASK;
+}
+#define A6XX_SP_DS_CTRL_REG0_FULLREGFOOTPRINT__MASK            0x00001f80
+#define A6XX_SP_DS_CTRL_REG0_FULLREGFOOTPRINT__SHIFT           7
+static inline uint32_t A6XX_SP_DS_CTRL_REG0_FULLREGFOOTPRINT(uint32_t val)
+{
+       return ((val) << A6XX_SP_DS_CTRL_REG0_FULLREGFOOTPRINT__SHIFT) & A6XX_SP_DS_CTRL_REG0_FULLREGFOOTPRINT__MASK;
+}
+#define A6XX_SP_DS_CTRL_REG0_BRANCHSTACK__MASK                 0x000fc000
+#define A6XX_SP_DS_CTRL_REG0_BRANCHSTACK__SHIFT                        14
+static inline uint32_t A6XX_SP_DS_CTRL_REG0_BRANCHSTACK(uint32_t val)
+{
+       return ((val) << A6XX_SP_DS_CTRL_REG0_BRANCHSTACK__SHIFT) & A6XX_SP_DS_CTRL_REG0_BRANCHSTACK__MASK;
+}
+#define A6XX_SP_DS_CTRL_REG0_THREADSIZE__MASK                  0x00100000
+#define A6XX_SP_DS_CTRL_REG0_THREADSIZE__SHIFT                 20
+static inline uint32_t A6XX_SP_DS_CTRL_REG0_THREADSIZE(enum a3xx_threadsize val)
+{
+       return ((val) << A6XX_SP_DS_CTRL_REG0_THREADSIZE__SHIFT) & A6XX_SP_DS_CTRL_REG0_THREADSIZE__MASK;
+}
+#define A6XX_SP_DS_CTRL_REG0_VARYING                           0x00400000
+#define A6XX_SP_DS_CTRL_REG0_PIXLODENABLE                      0x04000000
+#define A6XX_SP_DS_CTRL_REG0_MERGEDREGS                                0x80000000
+
+#define REG_A6XX_SP_DS_OBJ_START_LO                            0x0000a85c
+
+#define REG_A6XX_SP_DS_OBJ_START_HI                            0x0000a85d
+
+#define REG_A6XX_SP_DS_TEX_COUNT                               0x0000a862
+
+#define REG_A6XX_SP_DS_CONFIG                                  0x0000a863
+#define A6XX_SP_DS_CONFIG_ENABLED                              0x00000100
+#define A6XX_SP_DS_CONFIG_NTEX__MASK                           0x0001fe00
+#define A6XX_SP_DS_CONFIG_NTEX__SHIFT                          9
+static inline uint32_t A6XX_SP_DS_CONFIG_NTEX(uint32_t val)
+{
+       return ((val) << A6XX_SP_DS_CONFIG_NTEX__SHIFT) & A6XX_SP_DS_CONFIG_NTEX__MASK;
+}
+#define A6XX_SP_DS_CONFIG_NSAMP__MASK                          0x01fe0000
+#define A6XX_SP_DS_CONFIG_NSAMP__SHIFT                         17
+static inline uint32_t A6XX_SP_DS_CONFIG_NSAMP(uint32_t val)
+{
+       return ((val) << A6XX_SP_DS_CONFIG_NSAMP__SHIFT) & A6XX_SP_DS_CONFIG_NSAMP__MASK;
+}
+
+#define REG_A6XX_SP_DS_INSTRLEN                                        0x0000a864
+
+#define REG_A6XX_SP_GS_CTRL_REG0                               0x0000a870
+#define A6XX_SP_GS_CTRL_REG0_HALFREGFOOTPRINT__MASK            0x0000007e
+#define A6XX_SP_GS_CTRL_REG0_HALFREGFOOTPRINT__SHIFT           1
+static inline uint32_t A6XX_SP_GS_CTRL_REG0_HALFREGFOOTPRINT(uint32_t val)
+{
+       return ((val) << A6XX_SP_GS_CTRL_REG0_HALFREGFOOTPRINT__SHIFT) & A6XX_SP_GS_CTRL_REG0_HALFREGFOOTPRINT__MASK;
+}
+#define A6XX_SP_GS_CTRL_REG0_FULLREGFOOTPRINT__MASK            0x00001f80
+#define A6XX_SP_GS_CTRL_REG0_FULLREGFOOTPRINT__SHIFT           7
+static inline uint32_t A6XX_SP_GS_CTRL_REG0_FULLREGFOOTPRINT(uint32_t val)
+{
+       return ((val) << A6XX_SP_GS_CTRL_REG0_FULLREGFOOTPRINT__SHIFT) & A6XX_SP_GS_CTRL_REG0_FULLREGFOOTPRINT__MASK;
+}
+#define A6XX_SP_GS_CTRL_REG0_BRANCHSTACK__MASK                 0x000fc000
+#define A6XX_SP_GS_CTRL_REG0_BRANCHSTACK__SHIFT                        14
+static inline uint32_t A6XX_SP_GS_CTRL_REG0_BRANCHSTACK(uint32_t val)
+{
+       return ((val) << A6XX_SP_GS_CTRL_REG0_BRANCHSTACK__SHIFT) & A6XX_SP_GS_CTRL_REG0_BRANCHSTACK__MASK;
+}
+#define A6XX_SP_GS_CTRL_REG0_THREADSIZE__MASK                  0x00100000
+#define A6XX_SP_GS_CTRL_REG0_THREADSIZE__SHIFT                 20
+static inline uint32_t A6XX_SP_GS_CTRL_REG0_THREADSIZE(enum a3xx_threadsize val)
+{
+       return ((val) << A6XX_SP_GS_CTRL_REG0_THREADSIZE__SHIFT) & A6XX_SP_GS_CTRL_REG0_THREADSIZE__MASK;
+}
+#define A6XX_SP_GS_CTRL_REG0_VARYING                           0x00400000
+#define A6XX_SP_GS_CTRL_REG0_PIXLODENABLE                      0x04000000
+#define A6XX_SP_GS_CTRL_REG0_MERGEDREGS                                0x80000000
+
+#define REG_A6XX_SP_GS_UNKNOWN_A871                            0x0000a871
+
+#define REG_A6XX_SP_GS_OBJ_START_LO                            0x0000a88d
+
+#define REG_A6XX_SP_GS_OBJ_START_HI                            0x0000a88e
+
+#define REG_A6XX_SP_GS_TEX_COUNT                               0x0000a893
+
+#define REG_A6XX_SP_GS_CONFIG                                  0x0000a894
+#define A6XX_SP_GS_CONFIG_ENABLED                              0x00000100
+#define A6XX_SP_GS_CONFIG_NTEX__MASK                           0x0001fe00
+#define A6XX_SP_GS_CONFIG_NTEX__SHIFT                          9
+static inline uint32_t A6XX_SP_GS_CONFIG_NTEX(uint32_t val)
+{
+       return ((val) << A6XX_SP_GS_CONFIG_NTEX__SHIFT) & A6XX_SP_GS_CONFIG_NTEX__MASK;
+}
+#define A6XX_SP_GS_CONFIG_NSAMP__MASK                          0x01fe0000
+#define A6XX_SP_GS_CONFIG_NSAMP__SHIFT                         17
+static inline uint32_t A6XX_SP_GS_CONFIG_NSAMP(uint32_t val)
+{
+       return ((val) << A6XX_SP_GS_CONFIG_NSAMP__SHIFT) & A6XX_SP_GS_CONFIG_NSAMP__MASK;
+}
+
+#define REG_A6XX_SP_GS_INSTRLEN                                        0x0000a895
+
+#define REG_A6XX_SP_VS_TEX_SAMP_LO                             0x0000a8a0
+
+#define REG_A6XX_SP_VS_TEX_SAMP_HI                             0x0000a8a1
+
+#define REG_A6XX_SP_HS_TEX_SAMP_LO                             0x0000a8a2
+
+#define REG_A6XX_SP_HS_TEX_SAMP_HI                             0x0000a8a3
+
+#define REG_A6XX_SP_DS_TEX_SAMP_LO                             0x0000a8a4
+
+#define REG_A6XX_SP_DS_TEX_SAMP_HI                             0x0000a8a5
+
+#define REG_A6XX_SP_GS_TEX_SAMP_LO                             0x0000a8a6
+
+#define REG_A6XX_SP_GS_TEX_SAMP_HI                             0x0000a8a7
+
+#define REG_A6XX_SP_VS_TEX_CONST_LO                            0x0000a8a8
+
+#define REG_A6XX_SP_VS_TEX_CONST_HI                            0x0000a8a9
+
+#define REG_A6XX_SP_HS_TEX_CONST_LO                            0x0000a8aa
+
+#define REG_A6XX_SP_HS_TEX_CONST_HI                            0x0000a8ab
+
+#define REG_A6XX_SP_DS_TEX_CONST_LO                            0x0000a8ac
+
+#define REG_A6XX_SP_DS_TEX_CONST_HI                            0x0000a8ad
+
+#define REG_A6XX_SP_GS_TEX_CONST_LO                            0x0000a8ae
+
+#define REG_A6XX_SP_GS_TEX_CONST_HI                            0x0000a8af
+
+#define REG_A6XX_SP_FS_CTRL_REG0                               0x0000a980
+#define A6XX_SP_FS_CTRL_REG0_HALFREGFOOTPRINT__MASK            0x0000007e
+#define A6XX_SP_FS_CTRL_REG0_HALFREGFOOTPRINT__SHIFT           1
+static inline uint32_t A6XX_SP_FS_CTRL_REG0_HALFREGFOOTPRINT(uint32_t val)
+{
+       return ((val) << A6XX_SP_FS_CTRL_REG0_HALFREGFOOTPRINT__SHIFT) & A6XX_SP_FS_CTRL_REG0_HALFREGFOOTPRINT__MASK;
+}
+#define A6XX_SP_FS_CTRL_REG0_FULLREGFOOTPRINT__MASK            0x00001f80
+#define A6XX_SP_FS_CTRL_REG0_FULLREGFOOTPRINT__SHIFT           7
+static inline uint32_t A6XX_SP_FS_CTRL_REG0_FULLREGFOOTPRINT(uint32_t val)
+{
+       return ((val) << A6XX_SP_FS_CTRL_REG0_FULLREGFOOTPRINT__SHIFT) & A6XX_SP_FS_CTRL_REG0_FULLREGFOOTPRINT__MASK;
+}
+#define A6XX_SP_FS_CTRL_REG0_BRANCHSTACK__MASK                 0x000fc000
+#define A6XX_SP_FS_CTRL_REG0_BRANCHSTACK__SHIFT                        14
+static inline uint32_t A6XX_SP_FS_CTRL_REG0_BRANCHSTACK(uint32_t val)
+{
+       return ((val) << A6XX_SP_FS_CTRL_REG0_BRANCHSTACK__SHIFT) & A6XX_SP_FS_CTRL_REG0_BRANCHSTACK__MASK;
+}
+#define A6XX_SP_FS_CTRL_REG0_THREADSIZE__MASK                  0x00100000
+#define A6XX_SP_FS_CTRL_REG0_THREADSIZE__SHIFT                 20
+static inline uint32_t A6XX_SP_FS_CTRL_REG0_THREADSIZE(enum a3xx_threadsize val)
+{
+       return ((val) << A6XX_SP_FS_CTRL_REG0_THREADSIZE__SHIFT) & A6XX_SP_FS_CTRL_REG0_THREADSIZE__MASK;
+}
+#define A6XX_SP_FS_CTRL_REG0_VARYING                           0x00400000
+#define A6XX_SP_FS_CTRL_REG0_PIXLODENABLE                      0x04000000
+#define A6XX_SP_FS_CTRL_REG0_MERGEDREGS                                0x80000000
+
+#define REG_A6XX_SP_FS_OBJ_START_LO                            0x0000a983
+
+#define REG_A6XX_SP_FS_OBJ_START_HI                            0x0000a984
+
+#define REG_A6XX_SP_BLEND_CNTL                                 0x0000a989
+#define A6XX_SP_BLEND_CNTL_ENABLED                             0x00000001
+#define A6XX_SP_BLEND_CNTL_UNK8                                        0x00000100
+
+#define REG_A6XX_SP_SRGB_CNTL                                  0x0000a98a
+#define A6XX_SP_SRGB_CNTL_SRGB_MRT0                            0x00000001
+#define A6XX_SP_SRGB_CNTL_SRGB_MRT1                            0x00000002
+#define A6XX_SP_SRGB_CNTL_SRGB_MRT2                            0x00000004
+#define A6XX_SP_SRGB_CNTL_SRGB_MRT3                            0x00000008
+#define A6XX_SP_SRGB_CNTL_SRGB_MRT4                            0x00000010
+#define A6XX_SP_SRGB_CNTL_SRGB_MRT5                            0x00000020
+#define A6XX_SP_SRGB_CNTL_SRGB_MRT6                            0x00000040
+#define A6XX_SP_SRGB_CNTL_SRGB_MRT7                            0x00000080
+
+#define REG_A6XX_SP_FS_RENDER_COMPONENTS                       0x0000a98b
+#define A6XX_SP_FS_RENDER_COMPONENTS_RT0__MASK                 0x0000000f
+#define A6XX_SP_FS_RENDER_COMPONENTS_RT0__SHIFT                        0
+static inline uint32_t A6XX_SP_FS_RENDER_COMPONENTS_RT0(uint32_t val)
+{
+       return ((val) << A6XX_SP_FS_RENDER_COMPONENTS_RT0__SHIFT) & A6XX_SP_FS_RENDER_COMPONENTS_RT0__MASK;
+}
+#define A6XX_SP_FS_RENDER_COMPONENTS_RT1__MASK                 0x000000f0
+#define A6XX_SP_FS_RENDER_COMPONENTS_RT1__SHIFT                        4
+static inline uint32_t A6XX_SP_FS_RENDER_COMPONENTS_RT1(uint32_t val)
+{
+       return ((val) << A6XX_SP_FS_RENDER_COMPONENTS_RT1__SHIFT) & A6XX_SP_FS_RENDER_COMPONENTS_RT1__MASK;
+}
+#define A6XX_SP_FS_RENDER_COMPONENTS_RT2__MASK                 0x00000f00
+#define A6XX_SP_FS_RENDER_COMPONENTS_RT2__SHIFT                        8
+static inline uint32_t A6XX_SP_FS_RENDER_COMPONENTS_RT2(uint32_t val)
+{
+       return ((val) << A6XX_SP_FS_RENDER_COMPONENTS_RT2__SHIFT) & A6XX_SP_FS_RENDER_COMPONENTS_RT2__MASK;
+}
+#define A6XX_SP_FS_RENDER_COMPONENTS_RT3__MASK                 0x0000f000
+#define A6XX_SP_FS_RENDER_COMPONENTS_RT3__SHIFT                        12
+static inline uint32_t A6XX_SP_FS_RENDER_COMPONENTS_RT3(uint32_t val)
+{
+       return ((val) << A6XX_SP_FS_RENDER_COMPONENTS_RT3__SHIFT) & A6XX_SP_FS_RENDER_COMPONENTS_RT3__MASK;
+}
+#define A6XX_SP_FS_RENDER_COMPONENTS_RT4__MASK                 0x000f0000
+#define A6XX_SP_FS_RENDER_COMPONENTS_RT4__SHIFT                        16
+static inline uint32_t A6XX_SP_FS_RENDER_COMPONENTS_RT4(uint32_t val)
+{
+       return ((val) << A6XX_SP_FS_RENDER_COMPONENTS_RT4__SHIFT) & A6XX_SP_FS_RENDER_COMPONENTS_RT4__MASK;
+}
+#define A6XX_SP_FS_RENDER_COMPONENTS_RT5__MASK                 0x00f00000
+#define A6XX_SP_FS_RENDER_COMPONENTS_RT5__SHIFT                        20
+static inline uint32_t A6XX_SP_FS_RENDER_COMPONENTS_RT5(uint32_t val)
+{
+       return ((val) << A6XX_SP_FS_RENDER_COMPONENTS_RT5__SHIFT) & A6XX_SP_FS_RENDER_COMPONENTS_RT5__MASK;
+}
+#define A6XX_SP_FS_RENDER_COMPONENTS_RT6__MASK                 0x0f000000
+#define A6XX_SP_FS_RENDER_COMPONENTS_RT6__SHIFT                        24
+static inline uint32_t A6XX_SP_FS_RENDER_COMPONENTS_RT6(uint32_t val)
+{
+       return ((val) << A6XX_SP_FS_RENDER_COMPONENTS_RT6__SHIFT) & A6XX_SP_FS_RENDER_COMPONENTS_RT6__MASK;
+}
+#define A6XX_SP_FS_RENDER_COMPONENTS_RT7__MASK                 0xf0000000
+#define A6XX_SP_FS_RENDER_COMPONENTS_RT7__SHIFT                        28
+static inline uint32_t A6XX_SP_FS_RENDER_COMPONENTS_RT7(uint32_t val)
+{
+       return ((val) << A6XX_SP_FS_RENDER_COMPONENTS_RT7__SHIFT) & A6XX_SP_FS_RENDER_COMPONENTS_RT7__MASK;
+}
+
+#define REG_A6XX_SP_FS_OUTPUT_CNTL0                            0x0000a98c
+#define A6XX_SP_FS_OUTPUT_CNTL0_DEPTH_REGID__MASK              0x0000ff00
+#define A6XX_SP_FS_OUTPUT_CNTL0_DEPTH_REGID__SHIFT             8
+static inline uint32_t A6XX_SP_FS_OUTPUT_CNTL0_DEPTH_REGID(uint32_t val)
+{
+       return ((val) << A6XX_SP_FS_OUTPUT_CNTL0_DEPTH_REGID__SHIFT) & A6XX_SP_FS_OUTPUT_CNTL0_DEPTH_REGID__MASK;
+}
+
+#define REG_A6XX_SP_FS_OUTPUT_CNTL1                            0x0000a98d
+#define A6XX_SP_FS_OUTPUT_CNTL1_MRT__MASK                      0x0000000f
+#define A6XX_SP_FS_OUTPUT_CNTL1_MRT__SHIFT                     0
+static inline uint32_t A6XX_SP_FS_OUTPUT_CNTL1_MRT(uint32_t val)
+{
+       return ((val) << A6XX_SP_FS_OUTPUT_CNTL1_MRT__SHIFT) & A6XX_SP_FS_OUTPUT_CNTL1_MRT__MASK;
+}
+
+static inline uint32_t REG_A6XX_SP_FS_MRT(uint32_t i0) { return 0x0000a996 + 0x1*i0; }
+
+static inline uint32_t REG_A6XX_SP_FS_MRT_REG(uint32_t i0) { return 0x0000a996 + 0x1*i0; }
+#define A6XX_SP_FS_MRT_REG_COLOR_FORMAT__MASK                  0x000000ff
+#define A6XX_SP_FS_MRT_REG_COLOR_FORMAT__SHIFT                 0
+static inline uint32_t A6XX_SP_FS_MRT_REG_COLOR_FORMAT(enum a6xx_color_fmt val)
+{
+       return ((val) << A6XX_SP_FS_MRT_REG_COLOR_FORMAT__SHIFT) & A6XX_SP_FS_MRT_REG_COLOR_FORMAT__MASK;
+}
+#define A6XX_SP_FS_MRT_REG_COLOR_SINT                          0x00000100
+#define A6XX_SP_FS_MRT_REG_COLOR_UINT                          0x00000200
+#define A6XX_SP_FS_MRT_REG_COLOR_SRGB                          0x00000400
+
+#define REG_A6XX_SP_FS_TEX_COUNT                               0x0000a9a7
+
+#define REG_A6XX_SP_UNKNOWN_A9A8                               0x0000a9a8
+
+#define REG_A6XX_SP_FS_TEX_SAMP_LO                             0x0000a9e0
+
+#define REG_A6XX_SP_FS_TEX_SAMP_HI                             0x0000a9e1
+
+#define REG_A6XX_SP_CS_TEX_SAMP_LO                             0x0000a9e2
+
+#define REG_A6XX_SP_CS_TEX_SAMP_HI                             0x0000a9e3
+
+#define REG_A6XX_SP_FS_TEX_CONST_LO                            0x0000a9e4
+
+#define REG_A6XX_SP_FS_TEX_CONST_HI                            0x0000a9e5
+
+#define REG_A6XX_SP_CS_TEX_CONST_LO                            0x0000a9e6
+
+#define REG_A6XX_SP_CS_TEX_CONST_HI                            0x0000a9e7
+
+static inline uint32_t REG_A6XX_SP_FS_OUTPUT(uint32_t i0) { return 0x0000a98e + 0x1*i0; }
+
+static inline uint32_t REG_A6XX_SP_FS_OUTPUT_REG(uint32_t i0) { return 0x0000a98e + 0x1*i0; }
+#define A6XX_SP_FS_OUTPUT_REG_REGID__MASK                      0x000000ff
+#define A6XX_SP_FS_OUTPUT_REG_REGID__SHIFT                     0
+static inline uint32_t A6XX_SP_FS_OUTPUT_REG_REGID(uint32_t val)
+{
+       return ((val) << A6XX_SP_FS_OUTPUT_REG_REGID__SHIFT) & A6XX_SP_FS_OUTPUT_REG_REGID__MASK;
+}
+#define A6XX_SP_FS_OUTPUT_REG_HALF_PRECISION                   0x00000100
+
+#define REG_A6XX_SP_CS_CTRL_REG0                               0x0000a9b0
+#define A6XX_SP_CS_CTRL_REG0_HALFREGFOOTPRINT__MASK            0x0000007e
+#define A6XX_SP_CS_CTRL_REG0_HALFREGFOOTPRINT__SHIFT           1
+static inline uint32_t A6XX_SP_CS_CTRL_REG0_HALFREGFOOTPRINT(uint32_t val)
+{
+       return ((val) << A6XX_SP_CS_CTRL_REG0_HALFREGFOOTPRINT__SHIFT) & A6XX_SP_CS_CTRL_REG0_HALFREGFOOTPRINT__MASK;
+}
+#define A6XX_SP_CS_CTRL_REG0_FULLREGFOOTPRINT__MASK            0x00001f80
+#define A6XX_SP_CS_CTRL_REG0_FULLREGFOOTPRINT__SHIFT           7
+static inline uint32_t A6XX_SP_CS_CTRL_REG0_FULLREGFOOTPRINT(uint32_t val)
+{
+       return ((val) << A6XX_SP_CS_CTRL_REG0_FULLREGFOOTPRINT__SHIFT) & A6XX_SP_CS_CTRL_REG0_FULLREGFOOTPRINT__MASK;
+}
+#define A6XX_SP_CS_CTRL_REG0_BRANCHSTACK__MASK                 0x000fc000
+#define A6XX_SP_CS_CTRL_REG0_BRANCHSTACK__SHIFT                        14
+static inline uint32_t A6XX_SP_CS_CTRL_REG0_BRANCHSTACK(uint32_t val)
+{
+       return ((val) << A6XX_SP_CS_CTRL_REG0_BRANCHSTACK__SHIFT) & A6XX_SP_CS_CTRL_REG0_BRANCHSTACK__MASK;
+}
+#define A6XX_SP_CS_CTRL_REG0_THREADSIZE__MASK                  0x00100000
+#define A6XX_SP_CS_CTRL_REG0_THREADSIZE__SHIFT                 20
+static inline uint32_t A6XX_SP_CS_CTRL_REG0_THREADSIZE(enum a3xx_threadsize val)
+{
+       return ((val) << A6XX_SP_CS_CTRL_REG0_THREADSIZE__SHIFT) & A6XX_SP_CS_CTRL_REG0_THREADSIZE__MASK;
+}
+#define A6XX_SP_CS_CTRL_REG0_VARYING                           0x00400000
+#define A6XX_SP_CS_CTRL_REG0_PIXLODENABLE                      0x04000000
+#define A6XX_SP_CS_CTRL_REG0_MERGEDREGS                                0x80000000
+
+#define REG_A6XX_SP_CS_OBJ_START_LO                            0x0000a9b4
+
+#define REG_A6XX_SP_CS_OBJ_START_HI                            0x0000a9b5
+
+#define REG_A6XX_SP_CS_INSTRLEN                                        0x0000a9bc
+
+#define REG_A6XX_SP_UNKNOWN_AB00                               0x0000ab00
+
+#define REG_A6XX_SP_FS_CONFIG                                  0x0000ab04
+#define A6XX_SP_FS_CONFIG_ENABLED                              0x00000100
+#define A6XX_SP_FS_CONFIG_NTEX__MASK                           0x0001fe00
+#define A6XX_SP_FS_CONFIG_NTEX__SHIFT                          9
+static inline uint32_t A6XX_SP_FS_CONFIG_NTEX(uint32_t val)
+{
+       return ((val) << A6XX_SP_FS_CONFIG_NTEX__SHIFT) & A6XX_SP_FS_CONFIG_NTEX__MASK;
+}
+#define A6XX_SP_FS_CONFIG_NSAMP__MASK                          0x01fe0000
+#define A6XX_SP_FS_CONFIG_NSAMP__SHIFT                         17
+static inline uint32_t A6XX_SP_FS_CONFIG_NSAMP(uint32_t val)
+{
+       return ((val) << A6XX_SP_FS_CONFIG_NSAMP__SHIFT) & A6XX_SP_FS_CONFIG_NSAMP__MASK;
+}
+
+#define REG_A6XX_SP_FS_INSTRLEN                                        0x0000ab05
+
+#define REG_A6XX_SP_UNKNOWN_AE00                               0x0000ae00
+
+#define REG_A6XX_SP_UNKNOWN_AE04                               0x0000ae04
+
+#define REG_A6XX_SP_UNKNOWN_AE0F                               0x0000ae0f
+
+#define REG_A6XX_SP_UNKNOWN_B182                               0x0000b182
+
+#define REG_A6XX_SP_TP_RAS_MSAA_CNTL                           0x0000b300
+#define A6XX_SP_TP_RAS_MSAA_CNTL_SAMPLES__MASK                 0x00000003
+#define A6XX_SP_TP_RAS_MSAA_CNTL_SAMPLES__SHIFT                        0
+static inline uint32_t A6XX_SP_TP_RAS_MSAA_CNTL_SAMPLES(enum a3xx_msaa_samples val)
+{
+       return ((val) << A6XX_SP_TP_RAS_MSAA_CNTL_SAMPLES__SHIFT) & A6XX_SP_TP_RAS_MSAA_CNTL_SAMPLES__MASK;
+}
+
+#define REG_A6XX_SP_TP_DEST_MSAA_CNTL                          0x0000b301
+#define A6XX_SP_TP_DEST_MSAA_CNTL_SAMPLES__MASK                        0x00000003
+#define A6XX_SP_TP_DEST_MSAA_CNTL_SAMPLES__SHIFT               0
+static inline uint32_t A6XX_SP_TP_DEST_MSAA_CNTL_SAMPLES(enum a3xx_msaa_samples val)
+{
+       return ((val) << A6XX_SP_TP_DEST_MSAA_CNTL_SAMPLES__SHIFT) & A6XX_SP_TP_DEST_MSAA_CNTL_SAMPLES__MASK;
+}
+#define A6XX_SP_TP_DEST_MSAA_CNTL_MSAA_DISABLE                 0x00000004
+
+#define REG_A6XX_SP_TP_BORDER_COLOR_BASE_ADDR_LO               0x0000b302
+
+#define REG_A6XX_SP_TP_BORDER_COLOR_BASE_ADDR_HI               0x0000b303
+
+#define REG_A6XX_SP_TP_UNKNOWN_B304                            0x0000b304
+
+#define REG_A6XX_SP_PS_2D_SRC_INFO                             0x0000b4c0
+#define A6XX_SP_PS_2D_SRC_INFO_COLOR_FORMAT__MASK              0x000000ff
+#define A6XX_SP_PS_2D_SRC_INFO_COLOR_FORMAT__SHIFT             0
+static inline uint32_t A6XX_SP_PS_2D_SRC_INFO_COLOR_FORMAT(enum a6xx_color_fmt val)
+{
+       return ((val) << A6XX_SP_PS_2D_SRC_INFO_COLOR_FORMAT__SHIFT) & A6XX_SP_PS_2D_SRC_INFO_COLOR_FORMAT__MASK;
+}
+#define A6XX_SP_PS_2D_SRC_INFO_TILE_MODE__MASK                 0x00000300
+#define A6XX_SP_PS_2D_SRC_INFO_TILE_MODE__SHIFT                        8
+static inline uint32_t A6XX_SP_PS_2D_SRC_INFO_TILE_MODE(enum a6xx_tile_mode val)
+{
+       return ((val) << A6XX_SP_PS_2D_SRC_INFO_TILE_MODE__SHIFT) & A6XX_SP_PS_2D_SRC_INFO_TILE_MODE__MASK;
+}
+#define A6XX_SP_PS_2D_SRC_INFO_COLOR_SWAP__MASK                        0x00000c00
+#define A6XX_SP_PS_2D_SRC_INFO_COLOR_SWAP__SHIFT               10
+static inline uint32_t A6XX_SP_PS_2D_SRC_INFO_COLOR_SWAP(enum a3xx_color_swap val)
+{
+       return ((val) << A6XX_SP_PS_2D_SRC_INFO_COLOR_SWAP__SHIFT) & A6XX_SP_PS_2D_SRC_INFO_COLOR_SWAP__MASK;
+}
+#define A6XX_SP_PS_2D_SRC_INFO_FLAGS                           0x00001000
+
+#define REG_A6XX_SP_PS_2D_SRC_LO                               0x0000b4c2
+
+#define REG_A6XX_SP_PS_2D_SRC_HI                               0x0000b4c3
+
+#define REG_A6XX_SP_PS_2D_SRC_FLAGS_LO                         0x0000b4ca
+
+#define REG_A6XX_SP_PS_2D_SRC_FLAGS_HI                         0x0000b4cb
+
+#define REG_A6XX_SP_UNKNOWN_B600                               0x0000b600
+
+#define REG_A6XX_SP_UNKNOWN_B605                               0x0000b605
+
+#define REG_A6XX_HLSQ_VS_CNTL                                  0x0000b800
+#define A6XX_HLSQ_VS_CNTL_CONSTLEN__MASK                       0x000000ff
+#define A6XX_HLSQ_VS_CNTL_CONSTLEN__SHIFT                      0
+static inline uint32_t A6XX_HLSQ_VS_CNTL_CONSTLEN(uint32_t val)
+{
+       return ((val >> 2) << A6XX_HLSQ_VS_CNTL_CONSTLEN__SHIFT) & A6XX_HLSQ_VS_CNTL_CONSTLEN__MASK;
+}
+
+#define REG_A6XX_HLSQ_HS_CNTL                                  0x0000b801
+#define A6XX_HLSQ_HS_CNTL_CONSTLEN__MASK                       0x000000ff
+#define A6XX_HLSQ_HS_CNTL_CONSTLEN__SHIFT                      0
+static inline uint32_t A6XX_HLSQ_HS_CNTL_CONSTLEN(uint32_t val)
+{
+       return ((val >> 2) << A6XX_HLSQ_HS_CNTL_CONSTLEN__SHIFT) & A6XX_HLSQ_HS_CNTL_CONSTLEN__MASK;
+}
+
+#define REG_A6XX_HLSQ_DS_CNTL                                  0x0000b802
+#define A6XX_HLSQ_DS_CNTL_CONSTLEN__MASK                       0x000000ff
+#define A6XX_HLSQ_DS_CNTL_CONSTLEN__SHIFT                      0
+static inline uint32_t A6XX_HLSQ_DS_CNTL_CONSTLEN(uint32_t val)
+{
+       return ((val >> 2) << A6XX_HLSQ_DS_CNTL_CONSTLEN__SHIFT) & A6XX_HLSQ_DS_CNTL_CONSTLEN__MASK;
+}
+
+#define REG_A6XX_HLSQ_GS_CNTL                                  0x0000b803
+#define A6XX_HLSQ_GS_CNTL_CONSTLEN__MASK                       0x000000ff
+#define A6XX_HLSQ_GS_CNTL_CONSTLEN__SHIFT                      0
+static inline uint32_t A6XX_HLSQ_GS_CNTL_CONSTLEN(uint32_t val)
+{
+       return ((val >> 2) << A6XX_HLSQ_GS_CNTL_CONSTLEN__SHIFT) & A6XX_HLSQ_GS_CNTL_CONSTLEN__MASK;
+}
+
+#define REG_A6XX_HLSQ_CONTROL_1_REG                            0x0000b982
+
+#define REG_A6XX_HLSQ_CONTROL_2_REG                            0x0000b983
+#define A6XX_HLSQ_CONTROL_2_REG_FACEREGID__MASK                        0x000000ff
+#define A6XX_HLSQ_CONTROL_2_REG_FACEREGID__SHIFT               0
+static inline uint32_t A6XX_HLSQ_CONTROL_2_REG_FACEREGID(uint32_t val)
+{
+       return ((val) << A6XX_HLSQ_CONTROL_2_REG_FACEREGID__SHIFT) & A6XX_HLSQ_CONTROL_2_REG_FACEREGID__MASK;
+}
+#define A6XX_HLSQ_CONTROL_2_REG_SAMPLEID__MASK                 0x0000ff00
+#define A6XX_HLSQ_CONTROL_2_REG_SAMPLEID__SHIFT                        8
+static inline uint32_t A6XX_HLSQ_CONTROL_2_REG_SAMPLEID(uint32_t val)
+{
+       return ((val) << A6XX_HLSQ_CONTROL_2_REG_SAMPLEID__SHIFT) & A6XX_HLSQ_CONTROL_2_REG_SAMPLEID__MASK;
+}
+#define A6XX_HLSQ_CONTROL_2_REG_SAMPLEMASK__MASK               0x00ff0000
+#define A6XX_HLSQ_CONTROL_2_REG_SAMPLEMASK__SHIFT              16
+static inline uint32_t A6XX_HLSQ_CONTROL_2_REG_SAMPLEMASK(uint32_t val)
+{
+       return ((val) << A6XX_HLSQ_CONTROL_2_REG_SAMPLEMASK__SHIFT) & A6XX_HLSQ_CONTROL_2_REG_SAMPLEMASK__MASK;
+}
+
+#define REG_A6XX_HLSQ_CONTROL_3_REG                            0x0000b984
+#define A6XX_HLSQ_CONTROL_3_REG_FRAGCOORDXYREGID__MASK         0x000000ff
+#define A6XX_HLSQ_CONTROL_3_REG_FRAGCOORDXYREGID__SHIFT                0
+static inline uint32_t A6XX_HLSQ_CONTROL_3_REG_FRAGCOORDXYREGID(uint32_t val)
+{
+       return ((val) << A6XX_HLSQ_CONTROL_3_REG_FRAGCOORDXYREGID__SHIFT) & A6XX_HLSQ_CONTROL_3_REG_FRAGCOORDXYREGID__MASK;
+}
+
+#define REG_A6XX_HLSQ_CONTROL_4_REG                            0x0000b985
+#define A6XX_HLSQ_CONTROL_4_REG_XYCOORDREGID__MASK             0x00ff0000
+#define A6XX_HLSQ_CONTROL_4_REG_XYCOORDREGID__SHIFT            16
+static inline uint32_t A6XX_HLSQ_CONTROL_4_REG_XYCOORDREGID(uint32_t val)
+{
+       return ((val) << A6XX_HLSQ_CONTROL_4_REG_XYCOORDREGID__SHIFT) & A6XX_HLSQ_CONTROL_4_REG_XYCOORDREGID__MASK;
+}
+#define A6XX_HLSQ_CONTROL_4_REG_ZWCOORDREGID__MASK             0xff000000
+#define A6XX_HLSQ_CONTROL_4_REG_ZWCOORDREGID__SHIFT            24
+static inline uint32_t A6XX_HLSQ_CONTROL_4_REG_ZWCOORDREGID(uint32_t val)
+{
+       return ((val) << A6XX_HLSQ_CONTROL_4_REG_ZWCOORDREGID__SHIFT) & A6XX_HLSQ_CONTROL_4_REG_ZWCOORDREGID__MASK;
+}
+
+#define REG_A6XX_HLSQ_CONTROL_5_REG                            0x0000b986
+
+#define REG_A6XX_HLSQ_CS_NDRANGE_0                             0x0000b990
+#define A6XX_HLSQ_CS_NDRANGE_0_KERNELDIM__MASK                 0x00000003
+#define A6XX_HLSQ_CS_NDRANGE_0_KERNELDIM__SHIFT                        0
+static inline uint32_t A6XX_HLSQ_CS_NDRANGE_0_KERNELDIM(uint32_t val)
+{
+       return ((val) << A6XX_HLSQ_CS_NDRANGE_0_KERNELDIM__SHIFT) & A6XX_HLSQ_CS_NDRANGE_0_KERNELDIM__MASK;
+}
+#define A6XX_HLSQ_CS_NDRANGE_0_LOCALSIZEX__MASK                        0x00000ffc
+#define A6XX_HLSQ_CS_NDRANGE_0_LOCALSIZEX__SHIFT               2
+static inline uint32_t A6XX_HLSQ_CS_NDRANGE_0_LOCALSIZEX(uint32_t val)
+{
+       return ((val) << A6XX_HLSQ_CS_NDRANGE_0_LOCALSIZEX__SHIFT) & A6XX_HLSQ_CS_NDRANGE_0_LOCALSIZEX__MASK;
+}
+#define A6XX_HLSQ_CS_NDRANGE_0_LOCALSIZEY__MASK                        0x003ff000
+#define A6XX_HLSQ_CS_NDRANGE_0_LOCALSIZEY__SHIFT               12
+static inline uint32_t A6XX_HLSQ_CS_NDRANGE_0_LOCALSIZEY(uint32_t val)
+{
+       return ((val) << A6XX_HLSQ_CS_NDRANGE_0_LOCALSIZEY__SHIFT) & A6XX_HLSQ_CS_NDRANGE_0_LOCALSIZEY__MASK;
+}
+#define A6XX_HLSQ_CS_NDRANGE_0_LOCALSIZEZ__MASK                        0xffc00000
+#define A6XX_HLSQ_CS_NDRANGE_0_LOCALSIZEZ__SHIFT               22
+static inline uint32_t A6XX_HLSQ_CS_NDRANGE_0_LOCALSIZEZ(uint32_t val)
+{
+       return ((val) << A6XX_HLSQ_CS_NDRANGE_0_LOCALSIZEZ__SHIFT) & A6XX_HLSQ_CS_NDRANGE_0_LOCALSIZEZ__MASK;
+}
+
+#define REG_A6XX_HLSQ_CS_NDRANGE_1                             0x0000b991
+#define A6XX_HLSQ_CS_NDRANGE_1_GLOBALSIZE_X__MASK              0xffffffff
+#define A6XX_HLSQ_CS_NDRANGE_1_GLOBALSIZE_X__SHIFT             0
+static inline uint32_t A6XX_HLSQ_CS_NDRANGE_1_GLOBALSIZE_X(uint32_t val)
+{
+       return ((val) << A6XX_HLSQ_CS_NDRANGE_1_GLOBALSIZE_X__SHIFT) & A6XX_HLSQ_CS_NDRANGE_1_GLOBALSIZE_X__MASK;
+}
+
+#define REG_A6XX_HLSQ_CS_NDRANGE_2                             0x0000b992
+#define A6XX_HLSQ_CS_NDRANGE_2_GLOBALOFF_X__MASK               0xffffffff
+#define A6XX_HLSQ_CS_NDRANGE_2_GLOBALOFF_X__SHIFT              0
+static inline uint32_t A6XX_HLSQ_CS_NDRANGE_2_GLOBALOFF_X(uint32_t val)
+{
+       return ((val) << A6XX_HLSQ_CS_NDRANGE_2_GLOBALOFF_X__SHIFT) & A6XX_HLSQ_CS_NDRANGE_2_GLOBALOFF_X__MASK;
+}
+
+#define REG_A6XX_HLSQ_CS_NDRANGE_3                             0x0000b993
+#define A6XX_HLSQ_CS_NDRANGE_3_GLOBALSIZE_Y__MASK              0xffffffff
+#define A6XX_HLSQ_CS_NDRANGE_3_GLOBALSIZE_Y__SHIFT             0
+static inline uint32_t A6XX_HLSQ_CS_NDRANGE_3_GLOBALSIZE_Y(uint32_t val)
+{
+       return ((val) << A6XX_HLSQ_CS_NDRANGE_3_GLOBALSIZE_Y__SHIFT) & A6XX_HLSQ_CS_NDRANGE_3_GLOBALSIZE_Y__MASK;
+}
+
+#define REG_A6XX_HLSQ_CS_NDRANGE_4                             0x0000b994
+#define A6XX_HLSQ_CS_NDRANGE_4_GLOBALOFF_Y__MASK               0xffffffff
+#define A6XX_HLSQ_CS_NDRANGE_4_GLOBALOFF_Y__SHIFT              0
+static inline uint32_t A6XX_HLSQ_CS_NDRANGE_4_GLOBALOFF_Y(uint32_t val)
+{
+       return ((val) << A6XX_HLSQ_CS_NDRANGE_4_GLOBALOFF_Y__SHIFT) & A6XX_HLSQ_CS_NDRANGE_4_GLOBALOFF_Y__MASK;
+}
+
+#define REG_A6XX_HLSQ_CS_NDRANGE_5                             0x0000b995
+#define A6XX_HLSQ_CS_NDRANGE_5_GLOBALSIZE_Z__MASK              0xffffffff
+#define A6XX_HLSQ_CS_NDRANGE_5_GLOBALSIZE_Z__SHIFT             0
+static inline uint32_t A6XX_HLSQ_CS_NDRANGE_5_GLOBALSIZE_Z(uint32_t val)
+{
+       return ((val) << A6XX_HLSQ_CS_NDRANGE_5_GLOBALSIZE_Z__SHIFT) & A6XX_HLSQ_CS_NDRANGE_5_GLOBALSIZE_Z__MASK;
+}
+
+#define REG_A6XX_HLSQ_CS_NDRANGE_6                             0x0000b996
+#define A6XX_HLSQ_CS_NDRANGE_6_GLOBALOFF_Z__MASK               0xffffffff
+#define A6XX_HLSQ_CS_NDRANGE_6_GLOBALOFF_Z__SHIFT              0
+static inline uint32_t A6XX_HLSQ_CS_NDRANGE_6_GLOBALOFF_Z(uint32_t val)
+{
+       return ((val) << A6XX_HLSQ_CS_NDRANGE_6_GLOBALOFF_Z__SHIFT) & A6XX_HLSQ_CS_NDRANGE_6_GLOBALOFF_Z__MASK;
+}
+
+#define REG_A6XX_HLSQ_CS_CNTL_0                                        0x0000b997
+#define A6XX_HLSQ_CS_CNTL_0_WGIDCONSTID__MASK                  0x000000ff
+#define A6XX_HLSQ_CS_CNTL_0_WGIDCONSTID__SHIFT                 0
+static inline uint32_t A6XX_HLSQ_CS_CNTL_0_WGIDCONSTID(uint32_t val)
+{
+       return ((val) << A6XX_HLSQ_CS_CNTL_0_WGIDCONSTID__SHIFT) & A6XX_HLSQ_CS_CNTL_0_WGIDCONSTID__MASK;
+}
+#define A6XX_HLSQ_CS_CNTL_0_UNK0__MASK                         0x0000ff00
+#define A6XX_HLSQ_CS_CNTL_0_UNK0__SHIFT                                8
+static inline uint32_t A6XX_HLSQ_CS_CNTL_0_UNK0(uint32_t val)
+{
+       return ((val) << A6XX_HLSQ_CS_CNTL_0_UNK0__SHIFT) & A6XX_HLSQ_CS_CNTL_0_UNK0__MASK;
+}
+#define A6XX_HLSQ_CS_CNTL_0_UNK1__MASK                         0x00ff0000
+#define A6XX_HLSQ_CS_CNTL_0_UNK1__SHIFT                                16
+static inline uint32_t A6XX_HLSQ_CS_CNTL_0_UNK1(uint32_t val)
+{
+       return ((val) << A6XX_HLSQ_CS_CNTL_0_UNK1__SHIFT) & A6XX_HLSQ_CS_CNTL_0_UNK1__MASK;
+}
+#define A6XX_HLSQ_CS_CNTL_0_LOCALIDREGID__MASK                 0xff000000
+#define A6XX_HLSQ_CS_CNTL_0_LOCALIDREGID__SHIFT                        24
+static inline uint32_t A6XX_HLSQ_CS_CNTL_0_LOCALIDREGID(uint32_t val)
+{
+       return ((val) << A6XX_HLSQ_CS_CNTL_0_LOCALIDREGID__SHIFT) & A6XX_HLSQ_CS_CNTL_0_LOCALIDREGID__MASK;
+}
+
+#define REG_A6XX_HLSQ_CS_KERNEL_GROUP_X                                0x0000b999
+
+#define REG_A6XX_HLSQ_CS_KERNEL_GROUP_Y                                0x0000b99a
+
+#define REG_A6XX_HLSQ_CS_KERNEL_GROUP_Z                                0x0000b99b
+
+#define REG_A6XX_HLSQ_UPDATE_CNTL                              0x0000bb08
+
+#define REG_A6XX_HLSQ_FS_CNTL                                  0x0000bb10
+#define A6XX_HLSQ_FS_CNTL_CONSTLEN__MASK                       0x000000ff
+#define A6XX_HLSQ_FS_CNTL_CONSTLEN__SHIFT                      0
+static inline uint32_t A6XX_HLSQ_FS_CNTL_CONSTLEN(uint32_t val)
+{
+       return ((val >> 2) << A6XX_HLSQ_FS_CNTL_CONSTLEN__SHIFT) & A6XX_HLSQ_FS_CNTL_CONSTLEN__MASK;
+}
+
+#define REG_A6XX_HLSQ_UNKNOWN_BB11                             0x0000bb11
+
+#define REG_A6XX_HLSQ_UNKNOWN_BE00                             0x0000be00
+
+#define REG_A6XX_HLSQ_UNKNOWN_BE01                             0x0000be01
+
+#define REG_A6XX_HLSQ_UNKNOWN_BE04                             0x0000be04
+
+#define REG_A6XX_TEX_SAMP_0                                    0x00000000
+#define A6XX_TEX_SAMP_0_MIPFILTER_LINEAR_NEAR                  0x00000001
+#define A6XX_TEX_SAMP_0_XY_MAG__MASK                           0x00000006
+#define A6XX_TEX_SAMP_0_XY_MAG__SHIFT                          1
+static inline uint32_t A6XX_TEX_SAMP_0_XY_MAG(enum a6xx_tex_filter val)
+{
+       return ((val) << A6XX_TEX_SAMP_0_XY_MAG__SHIFT) & A6XX_TEX_SAMP_0_XY_MAG__MASK;
+}
+#define A6XX_TEX_SAMP_0_XY_MIN__MASK                           0x00000018
+#define A6XX_TEX_SAMP_0_XY_MIN__SHIFT                          3
+static inline uint32_t A6XX_TEX_SAMP_0_XY_MIN(enum a6xx_tex_filter val)
+{
+       return ((val) << A6XX_TEX_SAMP_0_XY_MIN__SHIFT) & A6XX_TEX_SAMP_0_XY_MIN__MASK;
+}
+#define A6XX_TEX_SAMP_0_WRAP_S__MASK                           0x000000e0
+#define A6XX_TEX_SAMP_0_WRAP_S__SHIFT                          5
+static inline uint32_t A6XX_TEX_SAMP_0_WRAP_S(enum a6xx_tex_clamp val)
+{
+       return ((val) << A6XX_TEX_SAMP_0_WRAP_S__SHIFT) & A6XX_TEX_SAMP_0_WRAP_S__MASK;
+}
+#define A6XX_TEX_SAMP_0_WRAP_T__MASK                           0x00000700
+#define A6XX_TEX_SAMP_0_WRAP_T__SHIFT                          8
+static inline uint32_t A6XX_TEX_SAMP_0_WRAP_T(enum a6xx_tex_clamp val)
+{
+       return ((val) << A6XX_TEX_SAMP_0_WRAP_T__SHIFT) & A6XX_TEX_SAMP_0_WRAP_T__MASK;
+}
+#define A6XX_TEX_SAMP_0_WRAP_R__MASK                           0x00003800
+#define A6XX_TEX_SAMP_0_WRAP_R__SHIFT                          11
+static inline uint32_t A6XX_TEX_SAMP_0_WRAP_R(enum a6xx_tex_clamp val)
+{
+       return ((val) << A6XX_TEX_SAMP_0_WRAP_R__SHIFT) & A6XX_TEX_SAMP_0_WRAP_R__MASK;
+}
+#define A6XX_TEX_SAMP_0_ANISO__MASK                            0x0001c000
+#define A6XX_TEX_SAMP_0_ANISO__SHIFT                           14
+static inline uint32_t A6XX_TEX_SAMP_0_ANISO(enum a6xx_tex_aniso val)
+{
+       return ((val) << A6XX_TEX_SAMP_0_ANISO__SHIFT) & A6XX_TEX_SAMP_0_ANISO__MASK;
+}
+#define A6XX_TEX_SAMP_0_LOD_BIAS__MASK                         0xfff80000
+#define A6XX_TEX_SAMP_0_LOD_BIAS__SHIFT                                19
+static inline uint32_t A6XX_TEX_SAMP_0_LOD_BIAS(float val)
+{
+       return ((((int32_t)(val * 256.0))) << A6XX_TEX_SAMP_0_LOD_BIAS__SHIFT) & A6XX_TEX_SAMP_0_LOD_BIAS__MASK;
+}
+
+#define REG_A6XX_TEX_SAMP_1                                    0x00000001
+#define A6XX_TEX_SAMP_1_COMPARE_FUNC__MASK                     0x0000000e
+#define A6XX_TEX_SAMP_1_COMPARE_FUNC__SHIFT                    1
+static inline uint32_t A6XX_TEX_SAMP_1_COMPARE_FUNC(enum adreno_compare_func val)
+{
+       return ((val) << A6XX_TEX_SAMP_1_COMPARE_FUNC__SHIFT) & A6XX_TEX_SAMP_1_COMPARE_FUNC__MASK;
+}
+#define A6XX_TEX_SAMP_1_CUBEMAPSEAMLESSFILTOFF                 0x00000010
+#define A6XX_TEX_SAMP_1_UNNORM_COORDS                          0x00000020
+#define A6XX_TEX_SAMP_1_MIPFILTER_LINEAR_FAR                   0x00000040
+#define A6XX_TEX_SAMP_1_MAX_LOD__MASK                          0x000fff00
+#define A6XX_TEX_SAMP_1_MAX_LOD__SHIFT                         8
+static inline uint32_t A6XX_TEX_SAMP_1_MAX_LOD(float val)
+{
+       return ((((uint32_t)(val * 256.0))) << A6XX_TEX_SAMP_1_MAX_LOD__SHIFT) & A6XX_TEX_SAMP_1_MAX_LOD__MASK;
+}
+#define A6XX_TEX_SAMP_1_MIN_LOD__MASK                          0xfff00000
+#define A6XX_TEX_SAMP_1_MIN_LOD__SHIFT                         20
+static inline uint32_t A6XX_TEX_SAMP_1_MIN_LOD(float val)
+{
+       return ((((uint32_t)(val * 256.0))) << A6XX_TEX_SAMP_1_MIN_LOD__SHIFT) & A6XX_TEX_SAMP_1_MIN_LOD__MASK;
+}
+
+#define REG_A6XX_TEX_SAMP_2                                    0x00000002
+#define A6XX_TEX_SAMP_2_BCOLOR_OFFSET__MASK                    0xfffffff0
+#define A6XX_TEX_SAMP_2_BCOLOR_OFFSET__SHIFT                   4
+static inline uint32_t A6XX_TEX_SAMP_2_BCOLOR_OFFSET(uint32_t val)
+{
+       return ((val) << A6XX_TEX_SAMP_2_BCOLOR_OFFSET__SHIFT) & A6XX_TEX_SAMP_2_BCOLOR_OFFSET__MASK;
+}
+
+#define REG_A6XX_TEX_SAMP_3                                    0x00000003
+
+#define REG_A6XX_TEX_CONST_0                                   0x00000000
+#define A6XX_TEX_CONST_0_TILE_MODE__MASK                       0x00000003
+#define A6XX_TEX_CONST_0_TILE_MODE__SHIFT                      0
+static inline uint32_t A6XX_TEX_CONST_0_TILE_MODE(enum a6xx_tile_mode val)
+{
+       return ((val) << A6XX_TEX_CONST_0_TILE_MODE__SHIFT) & A6XX_TEX_CONST_0_TILE_MODE__MASK;
+}
+#define A6XX_TEX_CONST_0_SRGB                                  0x00000004
+#define A6XX_TEX_CONST_0_SWIZ_X__MASK                          0x00000070
+#define A6XX_TEX_CONST_0_SWIZ_X__SHIFT                         4
+static inline uint32_t A6XX_TEX_CONST_0_SWIZ_X(enum a6xx_tex_swiz val)
+{
+       return ((val) << A6XX_TEX_CONST_0_SWIZ_X__SHIFT) & A6XX_TEX_CONST_0_SWIZ_X__MASK;
+}
+#define A6XX_TEX_CONST_0_SWIZ_Y__MASK                          0x00000380
+#define A6XX_TEX_CONST_0_SWIZ_Y__SHIFT                         7
+static inline uint32_t A6XX_TEX_CONST_0_SWIZ_Y(enum a6xx_tex_swiz val)
+{
+       return ((val) << A6XX_TEX_CONST_0_SWIZ_Y__SHIFT) & A6XX_TEX_CONST_0_SWIZ_Y__MASK;
+}
+#define A6XX_TEX_CONST_0_SWIZ_Z__MASK                          0x00001c00
+#define A6XX_TEX_CONST_0_SWIZ_Z__SHIFT                         10
+static inline uint32_t A6XX_TEX_CONST_0_SWIZ_Z(enum a6xx_tex_swiz val)
+{
+       return ((val) << A6XX_TEX_CONST_0_SWIZ_Z__SHIFT) & A6XX_TEX_CONST_0_SWIZ_Z__MASK;
+}
+#define A6XX_TEX_CONST_0_SWIZ_W__MASK                          0x0000e000
+#define A6XX_TEX_CONST_0_SWIZ_W__SHIFT                         13
+static inline uint32_t A6XX_TEX_CONST_0_SWIZ_W(enum a6xx_tex_swiz val)
+{
+       return ((val) << A6XX_TEX_CONST_0_SWIZ_W__SHIFT) & A6XX_TEX_CONST_0_SWIZ_W__MASK;
+}
+#define A6XX_TEX_CONST_0_MIPLVLS__MASK                         0x000f0000
+#define A6XX_TEX_CONST_0_MIPLVLS__SHIFT                                16
+static inline uint32_t A6XX_TEX_CONST_0_MIPLVLS(uint32_t val)
+{
+       return ((val) << A6XX_TEX_CONST_0_MIPLVLS__SHIFT) & A6XX_TEX_CONST_0_MIPLVLS__MASK;
+}
+#define A6XX_TEX_CONST_0_FMT__MASK                             0x3fc00000
+#define A6XX_TEX_CONST_0_FMT__SHIFT                            22
+static inline uint32_t A6XX_TEX_CONST_0_FMT(enum a6xx_tex_fmt val)
+{
+       return ((val) << A6XX_TEX_CONST_0_FMT__SHIFT) & A6XX_TEX_CONST_0_FMT__MASK;
+}
+#define A6XX_TEX_CONST_0_SWAP__MASK                            0xc0000000
+#define A6XX_TEX_CONST_0_SWAP__SHIFT                           30
+static inline uint32_t A6XX_TEX_CONST_0_SWAP(enum a3xx_color_swap val)
+{
+       return ((val) << A6XX_TEX_CONST_0_SWAP__SHIFT) & A6XX_TEX_CONST_0_SWAP__MASK;
+}
+
+#define REG_A6XX_TEX_CONST_1                                   0x00000001
+#define A6XX_TEX_CONST_1_WIDTH__MASK                           0x00007fff
+#define A6XX_TEX_CONST_1_WIDTH__SHIFT                          0
+static inline uint32_t A6XX_TEX_CONST_1_WIDTH(uint32_t val)
+{
+       return ((val) << A6XX_TEX_CONST_1_WIDTH__SHIFT) & A6XX_TEX_CONST_1_WIDTH__MASK;
+}
+#define A6XX_TEX_CONST_1_HEIGHT__MASK                          0x3fff8000
+#define A6XX_TEX_CONST_1_HEIGHT__SHIFT                         15
+static inline uint32_t A6XX_TEX_CONST_1_HEIGHT(uint32_t val)
+{
+       return ((val) << A6XX_TEX_CONST_1_HEIGHT__SHIFT) & A6XX_TEX_CONST_1_HEIGHT__MASK;
+}
+
+#define REG_A6XX_TEX_CONST_2                                   0x00000002
+#define A6XX_TEX_CONST_2_FETCHSIZE__MASK                       0x0000000f
+#define A6XX_TEX_CONST_2_FETCHSIZE__SHIFT                      0
+static inline uint32_t A6XX_TEX_CONST_2_FETCHSIZE(enum a6xx_tex_fetchsize val)
+{
+       return ((val) << A6XX_TEX_CONST_2_FETCHSIZE__SHIFT) & A6XX_TEX_CONST_2_FETCHSIZE__MASK;
+}
+#define A6XX_TEX_CONST_2_PITCH__MASK                           0x1fffff80
+#define A6XX_TEX_CONST_2_PITCH__SHIFT                          7
+static inline uint32_t A6XX_TEX_CONST_2_PITCH(uint32_t val)
+{
+       return ((val) << A6XX_TEX_CONST_2_PITCH__SHIFT) & A6XX_TEX_CONST_2_PITCH__MASK;
+}
+#define A6XX_TEX_CONST_2_TYPE__MASK                            0x60000000
+#define A6XX_TEX_CONST_2_TYPE__SHIFT                           29
+static inline uint32_t A6XX_TEX_CONST_2_TYPE(enum a6xx_tex_type val)
+{
+       return ((val) << A6XX_TEX_CONST_2_TYPE__SHIFT) & A6XX_TEX_CONST_2_TYPE__MASK;
+}
+
+#define REG_A6XX_TEX_CONST_3                                   0x00000003
+#define A6XX_TEX_CONST_3_ARRAY_PITCH__MASK                     0x00003fff
+#define A6XX_TEX_CONST_3_ARRAY_PITCH__SHIFT                    0
+static inline uint32_t A6XX_TEX_CONST_3_ARRAY_PITCH(uint32_t val)
+{
+       return ((val >> 12) << A6XX_TEX_CONST_3_ARRAY_PITCH__SHIFT) & A6XX_TEX_CONST_3_ARRAY_PITCH__MASK;
+}
+#define A6XX_TEX_CONST_3_FLAG                                  0x10000000
+
+#define REG_A6XX_TEX_CONST_4                                   0x00000004
+#define A6XX_TEX_CONST_4_BASE_LO__MASK                         0xffffffe0
+#define A6XX_TEX_CONST_4_BASE_LO__SHIFT                                5
+static inline uint32_t A6XX_TEX_CONST_4_BASE_LO(uint32_t val)
+{
+       return ((val >> 5) << A6XX_TEX_CONST_4_BASE_LO__SHIFT) & A6XX_TEX_CONST_4_BASE_LO__MASK;
+}
+
+#define REG_A6XX_TEX_CONST_5                                   0x00000005
+#define A6XX_TEX_CONST_5_BASE_HI__MASK                         0x0001ffff
+#define A6XX_TEX_CONST_5_BASE_HI__SHIFT                                0
+static inline uint32_t A6XX_TEX_CONST_5_BASE_HI(uint32_t val)
+{
+       return ((val) << A6XX_TEX_CONST_5_BASE_HI__SHIFT) & A6XX_TEX_CONST_5_BASE_HI__MASK;
+}
+#define A6XX_TEX_CONST_5_DEPTH__MASK                           0x3ffe0000
+#define A6XX_TEX_CONST_5_DEPTH__SHIFT                          17
+static inline uint32_t A6XX_TEX_CONST_5_DEPTH(uint32_t val)
+{
+       return ((val) << A6XX_TEX_CONST_5_DEPTH__SHIFT) & A6XX_TEX_CONST_5_DEPTH__MASK;
+}
+
+#define REG_A6XX_TEX_CONST_6                                   0x00000006
+
+#define REG_A6XX_TEX_CONST_7                                   0x00000007
+#define A6XX_TEX_CONST_7_FLAG_LO__MASK                         0xffffffe0
+#define A6XX_TEX_CONST_7_FLAG_LO__SHIFT                                5
+static inline uint32_t A6XX_TEX_CONST_7_FLAG_LO(uint32_t val)
+{
+       return ((val >> 5) << A6XX_TEX_CONST_7_FLAG_LO__SHIFT) & A6XX_TEX_CONST_7_FLAG_LO__MASK;
+}
+
+#define REG_A6XX_TEX_CONST_8                                   0x00000008
+#define A6XX_TEX_CONST_8_BASE_HI__MASK                         0x0001ffff
+#define A6XX_TEX_CONST_8_BASE_HI__SHIFT                                0
+static inline uint32_t A6XX_TEX_CONST_8_BASE_HI(uint32_t val)
+{
+       return ((val) << A6XX_TEX_CONST_8_BASE_HI__SHIFT) & A6XX_TEX_CONST_8_BASE_HI__MASK;
+}
+
+#define REG_A6XX_TEX_CONST_9                                   0x00000009
+
+#define REG_A6XX_TEX_CONST_10                                  0x0000000a
+
+#define REG_A6XX_TEX_CONST_11                                  0x0000000b
+
+#define REG_A6XX_TEX_CONST_12                                  0x0000000c
+
+#define REG_A6XX_TEX_CONST_13                                  0x0000000d
+
+#define REG_A6XX_TEX_CONST_14                                  0x0000000e
+
+#define REG_A6XX_TEX_CONST_15                                  0x0000000f
+
+
+#endif /* A6XX_XML */
diff --git a/drivers/gpu/drm/msm/adreno/a6xx_gmu.xml.h b/drivers/gpu/drm/msm/adreno/a6xx_gmu.xml.h
new file mode 100644 (file)
index 0000000..ef68098
--- /dev/null
@@ -0,0 +1,382 @@
+#ifndef A6XX_GMU_XML
+#define A6XX_GMU_XML
+
+/* Autogenerated file, DO NOT EDIT manually!
+
+This file was generated by the rules-ng-ng headergen tool in this git repository:
+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/envytools/rnndb/adreno.xml               (    501 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/freedreno_copyright.xml  (   1572 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/adreno/a2xx.xml          (  36805 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/adreno/adreno_common.xml (  13634 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/adreno/adreno_pm4.xml    (  42393 bytes, from 2018-08-06 18:45:45)
+- /home/robclark/src/envytools/rnndb/adreno/a3xx.xml          (  83840 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/adreno/a4xx.xml          ( 112086 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/adreno/a5xx.xml          ( 147240 bytes, from 2018-08-06 18:45:45)
+- /home/robclark/src/envytools/rnndb/adreno/a6xx.xml          ( 101627 bytes, from 2018-08-06 18:45:45)
+- /home/robclark/src/envytools/rnndb/adreno/a6xx_gmu.xml      (  10431 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/adreno/ocmem.xml         (   1773 bytes, from 2018-07-03 19:37:13)
+
+Copyright (C) 2013-2018 by the following authors:
+- Rob Clark <robdclark@gmail.com> (robclark)
+- Ilia Mirkin <imirkin@alum.mit.edu> (imirkin)
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice (including the
+next paragraph) shall be included in all copies or substantial
+portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+*/
+
+
+#define A6XX_GMU_GPU_IDLE_STATUS_BUSY_IGN_AHB                  0x00800000
+#define A6XX_GMU_GPU_IDLE_STATUS_CX_GX_CPU_BUSY_IGN_AHB                0x40000000
+#define A6XX_GMU_OOB_BOOT_SLUMBER_SET_MASK                     0x00400000
+#define A6XX_GMU_OOB_BOOT_SLUMBER_CHECK_MASK                   0x40000000
+#define A6XX_GMU_OOB_BOOT_SLUMBER_CLEAR_MASK                   0x40000000
+#define A6XX_GMU_OOB_DCVS_SET_MASK                             0x00800000
+#define A6XX_GMU_OOB_DCVS_CHECK_MASK                           0x80000000
+#define A6XX_GMU_OOB_DCVS_CLEAR_MASK                           0x80000000
+#define A6XX_GMU_OOB_GPU_SET_MASK                              0x00040000
+#define A6XX_GMU_OOB_GPU_CHECK_MASK                            0x04000000
+#define A6XX_GMU_OOB_GPU_CLEAR_MASK                            0x04000000
+#define A6XX_GMU_OOB_PERFCNTR_SET_MASK                         0x00020000
+#define A6XX_GMU_OOB_PERFCNTR_CHECK_MASK                       0x02000000
+#define A6XX_GMU_OOB_PERFCNTR_CLEAR_MASK                       0x02000000
+#define A6XX_HFI_IRQ_MSGQ_MASK                                 0x00000001
+#define A6XX_HFI_IRQ_DSGQ_MASK                                 0x00000002
+#define A6XX_HFI_IRQ_BLOCKED_MSG_MASK                          0x00000004
+#define A6XX_HFI_IRQ_CM3_FAULT_MASK                            0x00800000
+#define A6XX_HFI_IRQ_GMU_ERR_MASK__MASK                                0x007f0000
+#define A6XX_HFI_IRQ_GMU_ERR_MASK__SHIFT                       16
+static inline uint32_t A6XX_HFI_IRQ_GMU_ERR_MASK(uint32_t val)
+{
+       return ((val) << A6XX_HFI_IRQ_GMU_ERR_MASK__SHIFT) & A6XX_HFI_IRQ_GMU_ERR_MASK__MASK;
+}
+#define A6XX_HFI_IRQ_OOB_MASK__MASK                            0xff000000
+#define A6XX_HFI_IRQ_OOB_MASK__SHIFT                           24
+static inline uint32_t A6XX_HFI_IRQ_OOB_MASK(uint32_t val)
+{
+       return ((val) << A6XX_HFI_IRQ_OOB_MASK__SHIFT) & A6XX_HFI_IRQ_OOB_MASK__MASK;
+}
+#define A6XX_HFI_H2F_IRQ_MASK_BIT                              0x00000001
+#define REG_A6XX_GPU_GMU_GX_SPTPRAC_CLOCK_CONTROL              0x00000080
+
+#define REG_A6XX_GMU_GX_SPTPRAC_POWER_CONTROL                  0x00000081
+
+#define REG_A6XX_GMU_CM3_ITCM_START                            0x00000c00
+
+#define REG_A6XX_GMU_CM3_DTCM_START                            0x00001c00
+
+#define REG_A6XX_GMU_NMI_CONTROL_STATUS                                0x000023f0
+
+#define REG_A6XX_GMU_BOOT_SLUMBER_OPTION                       0x000023f8
+
+#define REG_A6XX_GMU_GX_VOTE_IDX                               0x000023f9
+
+#define REG_A6XX_GMU_MX_VOTE_IDX                               0x000023fa
+
+#define REG_A6XX_GMU_DCVS_ACK_OPTION                           0x000023fc
+
+#define REG_A6XX_GMU_DCVS_PERF_SETTING                         0x000023fd
+
+#define REG_A6XX_GMU_DCVS_BW_SETTING                           0x000023fe
+
+#define REG_A6XX_GMU_DCVS_RETURN                               0x000023ff
+
+#define REG_A6XX_GMU_SYS_BUS_CONFIG                            0x00004c0f
+
+#define REG_A6XX_GMU_CM3_SYSRESET                              0x00005000
+
+#define REG_A6XX_GMU_CM3_BOOT_CONFIG                           0x00005001
+
+#define REG_A6XX_GMU_CM3_FW_BUSY                               0x0000501a
+
+#define REG_A6XX_GMU_CM3_FW_INIT_RESULT                                0x0000501c
+
+#define REG_A6XX_GMU_CM3_CFG                                   0x0000502d
+
+#define REG_A6XX_GMU_CX_GMU_POWER_COUNTER_ENABLE               0x00005040
+
+#define REG_A6XX_GMU_CX_GMU_POWER_COUNTER_SELECT_0             0x00005041
+
+#define REG_A6XX_GMU_CX_GMU_POWER_COUNTER_SELECT_1             0x00005042
+
+#define REG_A6XX_GMU_CX_GMU_POWER_COUNTER_XOCLK_0_L            0x00005044
+
+#define REG_A6XX_GMU_CX_GMU_POWER_COUNTER_XOCLK_0_H            0x00005045
+
+#define REG_A6XX_GMU_CX_GMU_POWER_COUNTER_XOCLK_1_L            0x00005046
+
+#define REG_A6XX_GMU_CX_GMU_POWER_COUNTER_XOCLK_1_H            0x00005047
+
+#define REG_A6XX_GMU_CX_GMU_POWER_COUNTER_XOCLK_2_L            0x00005048
+
+#define REG_A6XX_GMU_CX_GMU_POWER_COUNTER_XOCLK_2_H            0x00005049
+
+#define REG_A6XX_GMU_CX_GMU_POWER_COUNTER_XOCLK_3_L            0x0000504a
+
+#define REG_A6XX_GMU_CX_GMU_POWER_COUNTER_XOCLK_3_H            0x0000504b
+
+#define REG_A6XX_GMU_CX_GMU_POWER_COUNTER_XOCLK_4_L            0x0000504c
+
+#define REG_A6XX_GMU_CX_GMU_POWER_COUNTER_XOCLK_4_H            0x0000504d
+
+#define REG_A6XX_GMU_CX_GMU_POWER_COUNTER_XOCLK_5_L            0x0000504e
+
+#define REG_A6XX_GMU_CX_GMU_POWER_COUNTER_XOCLK_5_H            0x0000504f
+
+#define REG_A6XX_GMU_PWR_COL_INTER_FRAME_CTRL                  0x000050c0
+#define A6XX_GMU_PWR_COL_INTER_FRAME_CTRL_IFPC_ENABLE          0x00000001
+#define A6XX_GMU_PWR_COL_INTER_FRAME_CTRL_HM_POWER_COLLAPSE_ENABLE     0x00000002
+#define A6XX_GMU_PWR_COL_INTER_FRAME_CTRL_SPTPRAC_POWER_CONTROL_ENABLE 0x00000004
+#define A6XX_GMU_PWR_COL_INTER_FRAME_CTRL_NUM_PASS_SKIPS__MASK 0x00003c00
+#define A6XX_GMU_PWR_COL_INTER_FRAME_CTRL_NUM_PASS_SKIPS__SHIFT        10
+static inline uint32_t A6XX_GMU_PWR_COL_INTER_FRAME_CTRL_NUM_PASS_SKIPS(uint32_t val)
+{
+       return ((val) << A6XX_GMU_PWR_COL_INTER_FRAME_CTRL_NUM_PASS_SKIPS__SHIFT) & A6XX_GMU_PWR_COL_INTER_FRAME_CTRL_NUM_PASS_SKIPS__MASK;
+}
+#define A6XX_GMU_PWR_COL_INTER_FRAME_CTRL_MIN_PASS_LENGTH__MASK        0xffffc000
+#define A6XX_GMU_PWR_COL_INTER_FRAME_CTRL_MIN_PASS_LENGTH__SHIFT       14
+static inline uint32_t A6XX_GMU_PWR_COL_INTER_FRAME_CTRL_MIN_PASS_LENGTH(uint32_t val)
+{
+       return ((val) << A6XX_GMU_PWR_COL_INTER_FRAME_CTRL_MIN_PASS_LENGTH__SHIFT) & A6XX_GMU_PWR_COL_INTER_FRAME_CTRL_MIN_PASS_LENGTH__MASK;
+}
+
+#define REG_A6XX_GMU_PWR_COL_INTER_FRAME_HYST                  0x000050c1
+
+#define REG_A6XX_GMU_PWR_COL_SPTPRAC_HYST                      0x000050c2
+
+#define REG_A6XX_GMU_SPTPRAC_PWR_CLK_STATUS                    0x000050d0
+#define A6XX_GMU_SPTPRAC_PWR_CLK_STATUS_SPTPRAC_GDSC_POWERING_OFF      0x00000001
+#define A6XX_GMU_SPTPRAC_PWR_CLK_STATUS_SPTPRAC_GDSC_POWERING_ON       0x00000002
+#define A6XX_GMU_SPTPRAC_PWR_CLK_STATUS_SPTPRAC_GDSC_POWER_ON  0x00000004
+#define A6XX_GMU_SPTPRAC_PWR_CLK_STATUS_SPTPRAC_GDSC_POWER_OFF 0x00000008
+#define A6XX_GMU_SPTPRAC_PWR_CLK_STATUS_SP_CLOCK_OFF           0x00000010
+#define A6XX_GMU_SPTPRAC_PWR_CLK_STATUS_GMU_UP_POWER_STATE     0x00000020
+#define A6XX_GMU_SPTPRAC_PWR_CLK_STATUS_GX_HM_GDSC_POWER_OFF   0x00000040
+#define A6XX_GMU_SPTPRAC_PWR_CLK_STATUS_GX_HM_CLK_OFF          0x00000080
+
+#define REG_A6XX_GMU_GPU_NAP_CTRL                              0x000050e4
+#define A6XX_GMU_GPU_NAP_CTRL_HW_NAP_ENABLE                    0x00000001
+#define A6XX_GMU_GPU_NAP_CTRL_SID__MASK                                0x000001f0
+#define A6XX_GMU_GPU_NAP_CTRL_SID__SHIFT                       4
+static inline uint32_t A6XX_GMU_GPU_NAP_CTRL_SID(uint32_t val)
+{
+       return ((val) << A6XX_GMU_GPU_NAP_CTRL_SID__SHIFT) & A6XX_GMU_GPU_NAP_CTRL_SID__MASK;
+}
+
+#define REG_A6XX_GMU_RPMH_CTRL                                 0x000050e8
+#define A6XX_GMU_RPMH_CTRL_RPMH_INTERFACE_ENABLE               0x00000001
+#define A6XX_GMU_RPMH_CTRL_LLC_VOTE_ENABLE                     0x00000010
+#define A6XX_GMU_RPMH_CTRL_DDR_VOTE_ENABLE                     0x00000100
+#define A6XX_GMU_RPMH_CTRL_MX_VOTE_ENABLE                      0x00000200
+#define A6XX_GMU_RPMH_CTRL_CX_VOTE_ENABLE                      0x00000400
+#define A6XX_GMU_RPMH_CTRL_GFX_VOTE_ENABLE                     0x00000800
+#define A6XX_GMU_RPMH_CTRL_DDR_MIN_VOTE_ENABLE                 0x00001000
+#define A6XX_GMU_RPMH_CTRL_MX_MIN_VOTE_ENABLE                  0x00002000
+#define A6XX_GMU_RPMH_CTRL_CX_MIN_VOTE_ENABLE                  0x00004000
+#define A6XX_GMU_RPMH_CTRL_GFX_MIN_VOTE_ENABLE                 0x00008000
+
+#define REG_A6XX_GMU_RPMH_HYST_CTRL                            0x000050e9
+
+#define REG_A6XX_GPU_GMU_CX_GMU_RPMH_POWER_STATE               0x000050ec
+
+#define REG_A6XX_GMU_BOOT_KMD_LM_HANDSHAKE                     0x000051f0
+
+#define REG_A6XX_GMU_LLM_GLM_SLEEP_CTRL                                0x00005157
+
+#define REG_A6XX_GMU_LLM_GLM_SLEEP_STATUS                      0x00005158
+
+#define REG_A6XX_GMU_ALWAYS_ON_COUNTER_L                       0x00005088
+
+#define REG_A6XX_GMU_ALWAYS_ON_COUNTER_H                       0x00005089
+
+#define REG_A6XX_GMU_GMU_PWR_COL_KEEPALIVE                     0x000050c3
+
+#define REG_A6XX_GMU_HFI_CTRL_STATUS                           0x00005180
+
+#define REG_A6XX_GMU_HFI_VERSION_INFO                          0x00005181
+
+#define REG_A6XX_GMU_HFI_SFR_ADDR                              0x00005182
+
+#define REG_A6XX_GMU_HFI_MMAP_ADDR                             0x00005183
+
+#define REG_A6XX_GMU_HFI_QTBL_INFO                             0x00005184
+
+#define REG_A6XX_GMU_HFI_QTBL_ADDR                             0x00005185
+
+#define REG_A6XX_GMU_HFI_CTRL_INIT                             0x00005186
+
+#define REG_A6XX_GMU_GMU2HOST_INTR_SET                         0x00005190
+
+#define REG_A6XX_GMU_GMU2HOST_INTR_CLR                         0x00005191
+
+#define REG_A6XX_GMU_GMU2HOST_INTR_INFO                                0x00005192
+#define A6XX_GMU_GMU2HOST_INTR_INFO_MSGQ                       0x00000001
+#define A6XX_GMU_GMU2HOST_INTR_INFO_CM3_FAULT                  0x00800000
+
+#define REG_A6XX_GMU_GMU2HOST_INTR_MASK                                0x00005193
+
+#define REG_A6XX_GMU_HOST2GMU_INTR_SET                         0x00005194
+
+#define REG_A6XX_GMU_HOST2GMU_INTR_CLR                         0x00005195
+
+#define REG_A6XX_GMU_HOST2GMU_INTR_RAW_INFO                    0x00005196
+
+#define REG_A6XX_GMU_HOST2GMU_INTR_EN_0                                0x00005197
+
+#define REG_A6XX_GMU_HOST2GMU_INTR_EN_1                                0x00005198
+
+#define REG_A6XX_GMU_HOST2GMU_INTR_EN_2                                0x00005199
+
+#define REG_A6XX_GMU_HOST2GMU_INTR_EN_3                                0x0000519a
+
+#define REG_A6XX_GMU_HOST2GMU_INTR_INFO_0                      0x0000519b
+
+#define REG_A6XX_GMU_HOST2GMU_INTR_INFO_1                      0x0000519c
+
+#define REG_A6XX_GMU_HOST2GMU_INTR_INFO_2                      0x0000519d
+
+#define REG_A6XX_GMU_HOST2GMU_INTR_INFO_3                      0x0000519e
+
+#define REG_A6XX_GMU_GENERAL_1                                 0x000051c6
+
+#define REG_A6XX_GMU_GENERAL_7                                 0x000051cc
+
+#define REG_A6XX_GMU_ISENSE_CTRL                               0x0000515d
+
+#define REG_A6XX_GPU_CS_ENABLE_REG                             0x00008920
+
+#define REG_A6XX_GPU_GMU_CX_GMU_ISENSE_CTRL                    0x0000515d
+
+#define REG_A6XX_GPU_CS_AMP_CALIBRATION_CONTROL3               0x00008578
+
+#define REG_A6XX_GPU_CS_AMP_CALIBRATION_CONTROL2               0x00008558
+
+#define REG_A6XX_GPU_CS_A_SENSOR_CTRL_0                                0x00008580
+
+#define REG_A6XX_GPU_CS_A_SENSOR_CTRL_2                                0x00027ada
+
+#define REG_A6XX_GPU_CS_SENSOR_GENERAL_STATUS                  0x0000881a
+
+#define REG_A6XX_GPU_CS_AMP_CALIBRATION_CONTROL1               0x00008957
+
+#define REG_A6XX_GPU_CS_SENSOR_GENERAL_STATUS                  0x0000881a
+
+#define REG_A6XX_GPU_CS_AMP_CALIBRATION_STATUS1_0              0x0000881d
+
+#define REG_A6XX_GPU_CS_AMP_CALIBRATION_STATUS1_2              0x0000881f
+
+#define REG_A6XX_GPU_CS_AMP_CALIBRATION_STATUS1_4              0x00008821
+
+#define REG_A6XX_GPU_CS_AMP_CALIBRATION_DONE                   0x00008965
+
+#define REG_A6XX_GPU_CS_AMP_PERIOD_CTRL                                0x0000896d
+
+#define REG_A6XX_GPU_CS_AMP_CALIBRATION_DONE                   0x00008965
+
+#define REG_A6XX_GPU_GMU_CX_GMU_PWR_THRESHOLD                  0x0000514d
+
+#define REG_A6XX_GMU_AO_INTERRUPT_EN                           0x00009303
+
+#define REG_A6XX_GMU_AO_HOST_INTERRUPT_CLR                     0x00009304
+
+#define REG_A6XX_GMU_AO_HOST_INTERRUPT_STATUS                  0x00009305
+#define A6XX_GMU_AO_HOST_INTERRUPT_STATUS_WDOG_BITE            0x00000001
+#define A6XX_GMU_AO_HOST_INTERRUPT_STATUS_RSCC_COMP            0x00000002
+#define A6XX_GMU_AO_HOST_INTERRUPT_STATUS_VDROOP               0x00000004
+#define A6XX_GMU_AO_HOST_INTERRUPT_STATUS_FENCE_ERR            0x00000008
+#define A6XX_GMU_AO_HOST_INTERRUPT_STATUS_DBD_WAKEUP           0x00000010
+#define A6XX_GMU_AO_HOST_INTERRUPT_STATUS_HOST_AHB_BUS_ERROR   0x00000020
+
+#define REG_A6XX_GMU_AO_HOST_INTERRUPT_MASK                    0x00009306
+
+#define REG_A6XX_GPU_GMU_AO_GMU_CGC_MODE_CNTL                  0x00009309
+
+#define REG_A6XX_GPU_GMU_AO_GMU_CGC_DELAY_CNTL                 0x0000930a
+
+#define REG_A6XX_GPU_GMU_AO_GMU_CGC_HYST_CNTL                  0x0000930b
+
+#define REG_A6XX_GPU_GMU_AO_GPU_CX_BUSY_STATUS                 0x0000930c
+#define A6XX_GPU_GMU_AO_GPU_CX_BUSY_STATUS_GPUBUSYIGNAHB       0x00800000
+
+#define REG_A6XX_GPU_GMU_AO_GPU_CX_BUSY_STATUS2                        0x0000930d
+
+#define REG_A6XX_GPU_GMU_AO_GPU_CX_BUSY_MASK                   0x0000930e
+
+#define REG_A6XX_GMU_AO_AHB_FENCE_CTRL                         0x00009310
+
+#define REG_A6XX_GMU_AHB_FENCE_STATUS                          0x00009313
+
+#define REG_A6XX_GMU_RBBM_INT_UNMASKED_STATUS                  0x00009315
+
+#define REG_A6XX_GMU_AO_SPARE_CNTL                             0x00009316
+
+#define REG_A6XX_GPU_RSCC_RSC_STATUS0_DRV0                     0x00008c04
+
+#define REG_A6XX_GMU_RSCC_CONTROL_REQ                          0x00009307
+
+#define REG_A6XX_GMU_RSCC_CONTROL_ACK                          0x00009308
+
+#define REG_A6XX_GMU_AHB_FENCE_RANGE_0                         0x00009311
+
+#define REG_A6XX_GMU_AHB_FENCE_RANGE_1                         0x00009312
+
+#define REG_A6XX_GPU_CC_GX_GDSCR                               0x00009c03
+
+#define REG_A6XX_GPU_CC_GX_DOMAIN_MISC                         0x00009d42
+
+#define REG_A6XX_RSCC_PDC_SEQ_START_ADDR                       0x00008c08
+
+#define REG_A6XX_RSCC_PDC_MATCH_VALUE_LO                       0x00008c09
+
+#define REG_A6XX_RSCC_PDC_MATCH_VALUE_HI                       0x00008c0a
+
+#define REG_A6XX_RSCC_PDC_SLAVE_ID_DRV0                                0x00008c0b
+
+#define REG_A6XX_RSCC_HIDDEN_TCS_CMD0_ADDR                     0x00008c0d
+
+#define REG_A6XX_RSCC_HIDDEN_TCS_CMD0_DATA                     0x00008c0e
+
+#define REG_A6XX_RSCC_TIMESTAMP_UNIT0_TIMESTAMP_L_DRV0         0x00008c82
+
+#define REG_A6XX_RSCC_TIMESTAMP_UNIT0_TIMESTAMP_H_DRV0         0x00008c83
+
+#define REG_A6XX_RSCC_TIMESTAMP_UNIT1_EN_DRV0                  0x00008c89
+
+#define REG_A6XX_RSCC_TIMESTAMP_UNIT1_OUTPUT_DRV0              0x00008c8c
+
+#define REG_A6XX_RSCC_OVERRIDE_START_ADDR                      0x00008d00
+
+#define REG_A6XX_RSCC_SEQ_BUSY_DRV0                            0x00008d01
+
+#define REG_A6XX_RSCC_SEQ_MEM_0_DRV0                           0x00008d80
+
+#define REG_A6XX_RSCC_TCS0_DRV0_STATUS                         0x00008f46
+
+#define REG_A6XX_RSCC_TCS1_DRV0_STATUS                         0x000090ae
+
+#define REG_A6XX_RSCC_TCS2_DRV0_STATUS                         0x00009216
+
+#define REG_A6XX_RSCC_TCS3_DRV0_STATUS                         0x0000937e
+
+
+#endif /* A6XX_GMU_XML */
index b634cf71352ba0cbc08a2fe855555863f3a35c39..5dace1350810212b6739d603895535afdd9c9f2b 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    (  31866 bytes, from 2017-06-06 18:26:14)
-- /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          ( 139480 bytes, from 2017-06-16 12:44:39)
-- /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/envytools/rnndb/adreno.xml               (    501 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/freedreno_copyright.xml  (   1572 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/adreno/a2xx.xml          (  36805 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/adreno/adreno_common.xml (  13634 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/adreno/adreno_pm4.xml    (  42393 bytes, from 2018-08-06 18:45:45)
+- /home/robclark/src/envytools/rnndb/adreno/a3xx.xml          (  83840 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/adreno/a4xx.xml          ( 112086 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/adreno/a5xx.xml          ( 147240 bytes, from 2018-08-06 18:45:45)
+- /home/robclark/src/envytools/rnndb/adreno/a6xx.xml          ( 101627 bytes, from 2018-08-06 18:45:45)
+- /home/robclark/src/envytools/rnndb/adreno/a6xx_gmu.xml      (  10431 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/adreno/ocmem.xml         (   1773 bytes, from 2018-07-03 19:37:13)
+
+Copyright (C) 2013-2018 by the following authors:
 - Rob Clark <robdclark@gmail.com> (robclark)
 - Ilia Mirkin <imirkin@alum.mit.edu> (imirkin)
 
@@ -44,6 +46,14 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 */
 
 
+enum chip {
+       A2XX = 0,
+       A3XX = 0,
+       A4XX = 0,
+       A5XX = 0,
+       A6XX = 0,
+};
+
 enum adreno_pa_su_sc_draw {
        PC_DRAW_POINTS = 0,
        PC_DRAW_LINES = 1,
@@ -181,6 +191,12 @@ enum a3xx_rb_blend_opcode {
        BLEND_MAX_DST_SRC = 4,
 };
 
+enum a4xx_tess_spacing {
+       EQUAL_SPACING = 0,
+       ODD_SPACING = 2,
+       EVEN_SPACING = 3,
+};
+
 #define REG_AXXX_CP_RB_BASE                                    0x000001c0
 
 #define REG_AXXX_CP_RB_CNTL                                    0x000001c1
index fb605a3534cf15a4da96e1ede0e4a96be4b0a337..03a91e10b310b228a56e7df44b7914c5c851c229 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    (  31866 bytes, from 2017-06-06 18:26:14)
-- /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          ( 139480 bytes, from 2017-06-16 12:44:39)
-- /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/envytools/rnndb/adreno.xml               (    501 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/freedreno_copyright.xml  (   1572 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/adreno/a2xx.xml          (  36805 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/adreno/adreno_common.xml (  13634 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/adreno/adreno_pm4.xml    (  42393 bytes, from 2018-08-06 18:45:45)
+- /home/robclark/src/envytools/rnndb/adreno/a3xx.xml          (  83840 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/adreno/a4xx.xml          ( 112086 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/adreno/a5xx.xml          ( 147240 bytes, from 2018-08-06 18:45:45)
+- /home/robclark/src/envytools/rnndb/adreno/a6xx.xml          ( 101627 bytes, from 2018-08-06 18:45:45)
+- /home/robclark/src/envytools/rnndb/adreno/a6xx_gmu.xml      (  10431 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/adreno/ocmem.xml         (   1773 bytes, from 2018-07-03 19:37:13)
+
+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,
@@ -199,9 +202,12 @@ enum adreno_pm4_type3_packets {
        CP_WAIT_MEM_WRITES = 18,
        CP_COND_REG_EXEC = 71,
        CP_MEM_TO_REG = 66,
+       CP_EXEC_CS_INDIRECT = 65,
        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,
@@ -215,7 +221,10 @@ 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,
+       CP_SET_MODE = 99,
+       CP_LOAD_STATE6_GEOM = 50,
+       CP_LOAD_STATE6_FRAG = 52,
        IN_IB_PREFETCH_END = 23,
        IN_SUBBLK_PREFETCH = 31,
        IN_INSTR_PREFETCH = 32,
@@ -224,6 +233,11 @@ enum adreno_pm4_type3_packets {
        IN_INCR_UPDT_STATE = 85,
        IN_INCR_UPDT_CONST = 86,
        IN_INCR_UPDT_INSTR = 87,
+       PKT4 = 4,
+       CP_UNK_A6XX_14 = 20,
+       CP_UNK_A6XX_36 = 54,
+       CP_UNK_A6XX_55 = 85,
+       UNK_A6XX_6D = 109,
 };
 
 enum adreno_state_block {
@@ -278,6 +292,33 @@ enum a4xx_state_src {
        SS4_INDIRECT = 2,
 };
 
+enum a6xx_state_block {
+       SB6_VS_TEX = 0,
+       SB6_HS_TEX = 1,
+       SB6_DS_TEX = 2,
+       SB6_GS_TEX = 3,
+       SB6_FS_TEX = 4,
+       SB6_CS_TEX = 5,
+       SB6_VS_SHADER = 8,
+       SB6_HS_SHADER = 9,
+       SB6_DS_SHADER = 10,
+       SB6_GS_SHADER = 11,
+       SB6_FS_SHADER = 12,
+       SB6_CS_SHADER = 13,
+       SB6_SSBO = 14,
+       SB6_CS_SSBO = 15,
+};
+
+enum a6xx_state_type {
+       ST6_SHADER = 0,
+       ST6_CONSTANTS = 1,
+};
+
+enum a6xx_state_src {
+       SS6_DIRECT = 0,
+       SS6_INDIRECT = 2,
+};
+
 enum a4xx_index_size {
        INDEX4_SIZE_8_BIT = 0,
        INDEX4_SIZE_16_BIT = 1,
@@ -300,6 +341,7 @@ enum render_mode_cmd {
        GMEM = 3,
        BLIT2D = 5,
        BLIT2DSCALE = 7,
+       END2D = 8,
 };
 
 enum cp_blit_cmd {
@@ -308,6 +350,22 @@ enum cp_blit_cmd {
        BLIT_OP_SCALE = 3,
 };
 
+enum a6xx_render_mode {
+       RM6_BYPASS = 1,
+       RM6_BINNING = 2,
+       RM6_GMEM = 4,
+       RM6_BLIT2D = 5,
+       RM6_RESOLVE = 6,
+};
+
+enum pseudo_reg {
+       SMMU_INFO = 0,
+       NON_SECURE_SAVE_ADDR = 1,
+       SECURE_SAVE_ADDR = 2,
+       NON_PRIV_SAVE_ADDR = 3,
+       COUNTER = 4,
+};
+
 #define REG_CP_LOAD_STATE_0                                    0x00000000
 #define CP_LOAD_STATE_0_DST_OFF__MASK                          0x0000ffff
 #define CP_LOAD_STATE_0_DST_OFF__SHIFT                         0
@@ -349,7 +407,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)
 {
@@ -396,6 +454,54 @@ static inline uint32_t CP_LOAD_STATE4_2_EXT_SRC_ADDR_HI(uint32_t val)
        return ((val) << CP_LOAD_STATE4_2_EXT_SRC_ADDR_HI__SHIFT) & CP_LOAD_STATE4_2_EXT_SRC_ADDR_HI__MASK;
 }
 
+#define REG_CP_LOAD_STATE6_0                                   0x00000000
+#define CP_LOAD_STATE6_0_DST_OFF__MASK                         0x00003fff
+#define CP_LOAD_STATE6_0_DST_OFF__SHIFT                                0
+static inline uint32_t CP_LOAD_STATE6_0_DST_OFF(uint32_t val)
+{
+       return ((val) << CP_LOAD_STATE6_0_DST_OFF__SHIFT) & CP_LOAD_STATE6_0_DST_OFF__MASK;
+}
+#define CP_LOAD_STATE6_0_STATE_TYPE__MASK                      0x00004000
+#define CP_LOAD_STATE6_0_STATE_TYPE__SHIFT                     14
+static inline uint32_t CP_LOAD_STATE6_0_STATE_TYPE(enum a6xx_state_type val)
+{
+       return ((val) << CP_LOAD_STATE6_0_STATE_TYPE__SHIFT) & CP_LOAD_STATE6_0_STATE_TYPE__MASK;
+}
+#define CP_LOAD_STATE6_0_STATE_SRC__MASK                       0x00030000
+#define CP_LOAD_STATE6_0_STATE_SRC__SHIFT                      16
+static inline uint32_t CP_LOAD_STATE6_0_STATE_SRC(enum a6xx_state_src val)
+{
+       return ((val) << CP_LOAD_STATE6_0_STATE_SRC__SHIFT) & CP_LOAD_STATE6_0_STATE_SRC__MASK;
+}
+#define CP_LOAD_STATE6_0_STATE_BLOCK__MASK                     0x003c0000
+#define CP_LOAD_STATE6_0_STATE_BLOCK__SHIFT                    18
+static inline uint32_t CP_LOAD_STATE6_0_STATE_BLOCK(enum a6xx_state_block val)
+{
+       return ((val) << CP_LOAD_STATE6_0_STATE_BLOCK__SHIFT) & CP_LOAD_STATE6_0_STATE_BLOCK__MASK;
+}
+#define CP_LOAD_STATE6_0_NUM_UNIT__MASK                                0xffc00000
+#define CP_LOAD_STATE6_0_NUM_UNIT__SHIFT                       22
+static inline uint32_t CP_LOAD_STATE6_0_NUM_UNIT(uint32_t val)
+{
+       return ((val) << CP_LOAD_STATE6_0_NUM_UNIT__SHIFT) & CP_LOAD_STATE6_0_NUM_UNIT__MASK;
+}
+
+#define REG_CP_LOAD_STATE6_1                                   0x00000001
+#define CP_LOAD_STATE6_1_EXT_SRC_ADDR__MASK                    0xfffffffc
+#define CP_LOAD_STATE6_1_EXT_SRC_ADDR__SHIFT                   2
+static inline uint32_t CP_LOAD_STATE6_1_EXT_SRC_ADDR(uint32_t val)
+{
+       return ((val >> 2) << CP_LOAD_STATE6_1_EXT_SRC_ADDR__SHIFT) & CP_LOAD_STATE6_1_EXT_SRC_ADDR__MASK;
+}
+
+#define REG_CP_LOAD_STATE6_2                                   0x00000002
+#define CP_LOAD_STATE6_2_EXT_SRC_ADDR_HI__MASK                 0xffffffff
+#define CP_LOAD_STATE6_2_EXT_SRC_ADDR_HI__SHIFT                        0
+static inline uint32_t CP_LOAD_STATE6_2_EXT_SRC_ADDR_HI(uint32_t val)
+{
+       return ((val) << CP_LOAD_STATE6_2_EXT_SRC_ADDR_HI__SHIFT) & CP_LOAD_STATE6_2_EXT_SRC_ADDR_HI__MASK;
+}
+
 #define REG_CP_DRAW_INDX_0                                     0x00000000
 #define CP_DRAW_INDX_0_VIZ_QUERY__MASK                         0xffffffff
 #define CP_DRAW_INDX_0_VIZ_QUERY__SHIFT                                0
@@ -580,6 +686,153 @@ 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_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) << A4XX_CP_DRAW_INDIRECT_0_PRIM_TYPE__SHIFT) & A4XX_CP_DRAW_INDIRECT_0_PRIM_TYPE__MASK;
+}
+#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) << A4XX_CP_DRAW_INDIRECT_0_SOURCE_SELECT__SHIFT) & A4XX_CP_DRAW_INDIRECT_0_SOURCE_SELECT__MASK;
+}
+#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) << A4XX_CP_DRAW_INDIRECT_0_VIS_CULL__SHIFT) & A4XX_CP_DRAW_INDIRECT_0_VIS_CULL__MASK;
+}
+#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) << A4XX_CP_DRAW_INDIRECT_0_INDEX_SIZE__SHIFT) & A4XX_CP_DRAW_INDIRECT_0_INDEX_SIZE__MASK;
+}
+#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) << A4XX_CP_DRAW_INDIRECT_0_TESS_MODE__SHIFT) & A4XX_CP_DRAW_INDIRECT_0_TESS_MODE__MASK;
+}
+
+#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) << A4XX_CP_DRAW_INDIRECT_1_INDIRECT__SHIFT) & A4XX_CP_DRAW_INDIRECT_1_INDIRECT__MASK;
+}
+
+
+#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) << A5XX_CP_DRAW_INDIRECT_2_INDIRECT_HI__SHIFT) & A5XX_CP_DRAW_INDIRECT_2_INDIRECT_HI__MASK;
+}
+
+#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) << A4XX_CP_DRAW_INDX_INDIRECT_0_SOURCE_SELECT__SHIFT) & A4XX_CP_DRAW_INDX_INDIRECT_0_SOURCE_SELECT__MASK;
+}
+#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) << A4XX_CP_DRAW_INDX_INDIRECT_0_VIS_CULL__SHIFT) & A4XX_CP_DRAW_INDX_INDIRECT_0_VIS_CULL__MASK;
+}
+#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) << A4XX_CP_DRAW_INDX_INDIRECT_0_INDEX_SIZE__SHIFT) & A4XX_CP_DRAW_INDX_INDIRECT_0_INDEX_SIZE__MASK;
+}
+#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) << A4XX_CP_DRAW_INDX_INDIRECT_0_TESS_MODE__SHIFT) & A4XX_CP_DRAW_INDX_INDIRECT_0_TESS_MODE__MASK;
+}
+
+
+#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) << A4XX_CP_DRAW_INDX_INDIRECT_1_INDX_BASE__SHIFT) & A4XX_CP_DRAW_INDX_INDIRECT_1_INDX_BASE__MASK;
+}
+
+#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) << A4XX_CP_DRAW_INDX_INDIRECT_2_INDX_SIZE__SHIFT) & A4XX_CP_DRAW_INDX_INDIRECT_2_INDX_SIZE__MASK;
+}
+
+#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) << A4XX_CP_DRAW_INDX_INDIRECT_3_INDIRECT__SHIFT) & A4XX_CP_DRAW_INDX_INDIRECT_3_INDIRECT__MASK;
+}
+
+
+#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) << A5XX_CP_DRAW_INDX_INDIRECT_1_INDX_BASE_LO__SHIFT) & A5XX_CP_DRAW_INDX_INDIRECT_1_INDX_BASE_LO__MASK;
+}
+
+#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) << A5XX_CP_DRAW_INDX_INDIRECT_2_INDX_BASE_HI__SHIFT) & A5XX_CP_DRAW_INDX_INDIRECT_2_INDX_BASE_HI__MASK;
+}
+
+#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) << 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; }
 
 static inline uint32_t REG_CP_SET_DRAW_STATE__0(uint32_t i0) { return 0x00000000 + 0x3*i0; }
@@ -593,6 +846,12 @@ static inline uint32_t CP_SET_DRAW_STATE__0_COUNT(uint32_t val)
 #define CP_SET_DRAW_STATE__0_DISABLE                           0x00020000
 #define CP_SET_DRAW_STATE__0_DISABLE_ALL_GROUPS                        0x00040000
 #define CP_SET_DRAW_STATE__0_LOAD_IMMED                                0x00080000
+#define CP_SET_DRAW_STATE__0_ENABLE_MASK__MASK                 0x00f00000
+#define CP_SET_DRAW_STATE__0_ENABLE_MASK__SHIFT                        20
+static inline uint32_t CP_SET_DRAW_STATE__0_ENABLE_MASK(uint32_t val)
+{
+       return ((val) << CP_SET_DRAW_STATE__0_ENABLE_MASK__SHIFT) & CP_SET_DRAW_STATE__0_ENABLE_MASK__MASK;
+}
 #define CP_SET_DRAW_STATE__0_GROUP_ID__MASK                    0x1f000000
 #define CP_SET_DRAW_STATE__0_GROUP_ID__SHIFT                   24
 static inline uint32_t CP_SET_DRAW_STATE__0_GROUP_ID(uint32_t val)
@@ -708,6 +967,22 @@ static inline uint32_t CP_SET_BIN_DATA5_4_BIN_SIZE_ADDRESS_HI(uint32_t val)
        return ((val) << CP_SET_BIN_DATA5_4_BIN_SIZE_ADDRESS_HI__SHIFT) & CP_SET_BIN_DATA5_4_BIN_SIZE_ADDRESS_HI__MASK;
 }
 
+#define REG_CP_SET_BIN_DATA5_5                                 0x00000005
+#define CP_SET_BIN_DATA5_5_XXX_ADDRESS_LO__MASK                        0xffffffff
+#define CP_SET_BIN_DATA5_5_XXX_ADDRESS_LO__SHIFT               0
+static inline uint32_t CP_SET_BIN_DATA5_5_XXX_ADDRESS_LO(uint32_t val)
+{
+       return ((val) << CP_SET_BIN_DATA5_5_XXX_ADDRESS_LO__SHIFT) & CP_SET_BIN_DATA5_5_XXX_ADDRESS_LO__MASK;
+}
+
+#define REG_CP_SET_BIN_DATA5_6                                 0x00000006
+#define CP_SET_BIN_DATA5_6_XXX_ADDRESS_HI__MASK                        0xffffffff
+#define CP_SET_BIN_DATA5_6_XXX_ADDRESS_HI__SHIFT               0
+static inline uint32_t CP_SET_BIN_DATA5_6_XXX_ADDRESS_HI(uint32_t val)
+{
+       return ((val) << CP_SET_BIN_DATA5_6_XXX_ADDRESS_HI__SHIFT) & CP_SET_BIN_DATA5_6_XXX_ADDRESS_HI__MASK;
+}
+
 #define REG_CP_REG_TO_MEM_0                                    0x00000000
 #define CP_REG_TO_MEM_0_REG__MASK                              0x0000ffff
 #define CP_REG_TO_MEM_0_REG__SHIFT                             0
@@ -732,6 +1007,46 @@ static inline uint32_t CP_REG_TO_MEM_1_DEST(uint32_t val)
        return ((val) << CP_REG_TO_MEM_1_DEST__SHIFT) & CP_REG_TO_MEM_1_DEST__MASK;
 }
 
+#define REG_CP_REG_TO_MEM_2                                    0x00000002
+#define CP_REG_TO_MEM_2_DEST_HI__MASK                          0xffffffff
+#define CP_REG_TO_MEM_2_DEST_HI__SHIFT                         0
+static inline uint32_t CP_REG_TO_MEM_2_DEST_HI(uint32_t val)
+{
+       return ((val) << CP_REG_TO_MEM_2_DEST_HI__SHIFT) & CP_REG_TO_MEM_2_DEST_HI__MASK;
+}
+
+#define REG_CP_MEM_TO_REG_0                                    0x00000000
+#define CP_MEM_TO_REG_0_REG__MASK                              0x0000ffff
+#define CP_MEM_TO_REG_0_REG__SHIFT                             0
+static inline uint32_t CP_MEM_TO_REG_0_REG(uint32_t val)
+{
+       return ((val) << CP_MEM_TO_REG_0_REG__SHIFT) & CP_MEM_TO_REG_0_REG__MASK;
+}
+#define CP_MEM_TO_REG_0_CNT__MASK                              0x3ff80000
+#define CP_MEM_TO_REG_0_CNT__SHIFT                             19
+static inline uint32_t CP_MEM_TO_REG_0_CNT(uint32_t val)
+{
+       return ((val) << CP_MEM_TO_REG_0_CNT__SHIFT) & CP_MEM_TO_REG_0_CNT__MASK;
+}
+#define CP_MEM_TO_REG_0_64B                                    0x40000000
+#define CP_MEM_TO_REG_0_ACCUMULATE                             0x80000000
+
+#define REG_CP_MEM_TO_REG_1                                    0x00000001
+#define CP_MEM_TO_REG_1_SRC__MASK                              0xffffffff
+#define CP_MEM_TO_REG_1_SRC__SHIFT                             0
+static inline uint32_t CP_MEM_TO_REG_1_SRC(uint32_t val)
+{
+       return ((val) << CP_MEM_TO_REG_1_SRC__SHIFT) & CP_MEM_TO_REG_1_SRC__MASK;
+}
+
+#define REG_CP_MEM_TO_REG_2                                    0x00000002
+#define CP_MEM_TO_REG_2_SRC_HI__MASK                           0xffffffff
+#define CP_MEM_TO_REG_2_SRC_HI__SHIFT                          0
+static inline uint32_t CP_MEM_TO_REG_2_SRC_HI(uint32_t val)
+{
+       return ((val) << CP_MEM_TO_REG_2_SRC_HI__SHIFT) & CP_MEM_TO_REG_2_SRC_HI__MASK;
+}
+
 #define REG_CP_MEM_TO_MEM_0                                    0x00000000
 #define CP_MEM_TO_MEM_0_NEG_A                                  0x00000001
 #define CP_MEM_TO_MEM_0_NEG_B                                  0x00000002
@@ -953,15 +1268,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
@@ -978,6 +1293,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
@@ -1032,13 +1349,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)
 {
@@ -1046,13 +1363,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)
 {
@@ -1060,13 +1377,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)
 {
@@ -1074,13 +1391,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)
 {
@@ -1113,5 +1430,129 @@ 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_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_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) << A5XX_CP_EXEC_CS_INDIRECT_1_ADDR_LO__SHIFT) & A5XX_CP_EXEC_CS_INDIRECT_1_ADDR_LO__MASK;
+}
+
+#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) << A5XX_CP_EXEC_CS_INDIRECT_2_ADDR_HI__SHIFT) & A5XX_CP_EXEC_CS_INDIRECT_2_ADDR_HI__MASK;
+}
+
+#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) << A5XX_CP_EXEC_CS_INDIRECT_3_LOCALSIZEX__SHIFT) & A5XX_CP_EXEC_CS_INDIRECT_3_LOCALSIZEX__MASK;
+}
+#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) << A5XX_CP_EXEC_CS_INDIRECT_3_LOCALSIZEY__SHIFT) & A5XX_CP_EXEC_CS_INDIRECT_3_LOCALSIZEY__MASK;
+}
+#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) << A5XX_CP_EXEC_CS_INDIRECT_3_LOCALSIZEZ__SHIFT) & A5XX_CP_EXEC_CS_INDIRECT_3_LOCALSIZEZ__MASK;
+}
+
+#define REG_A2XX_CP_SET_MARKER_0                               0x00000000
+#define A2XX_CP_SET_MARKER_0_MARKER__MASK                      0x0000000f
+#define A2XX_CP_SET_MARKER_0_MARKER__SHIFT                     0
+static inline uint32_t A2XX_CP_SET_MARKER_0_MARKER(uint32_t val)
+{
+       return ((val) << A2XX_CP_SET_MARKER_0_MARKER__SHIFT) & A2XX_CP_SET_MARKER_0_MARKER__MASK;
+}
+#define A2XX_CP_SET_MARKER_0_MODE__MASK                                0x0000000f
+#define A2XX_CP_SET_MARKER_0_MODE__SHIFT                       0
+static inline uint32_t A2XX_CP_SET_MARKER_0_MODE(enum a6xx_render_mode val)
+{
+       return ((val) << A2XX_CP_SET_MARKER_0_MODE__SHIFT) & A2XX_CP_SET_MARKER_0_MODE__MASK;
+}
+#define A2XX_CP_SET_MARKER_0_IFPC                              0x00000100
+
+static inline uint32_t REG_A2XX_CP_SET_PSEUDO_REG_(uint32_t i0) { return 0x00000000 + 0x3*i0; }
+
+static inline uint32_t REG_A2XX_CP_SET_PSEUDO_REG__0(uint32_t i0) { return 0x00000000 + 0x3*i0; }
+#define A2XX_CP_SET_PSEUDO_REG__0_PSEUDO_REG__MASK             0x00000007
+#define A2XX_CP_SET_PSEUDO_REG__0_PSEUDO_REG__SHIFT            0
+static inline uint32_t A2XX_CP_SET_PSEUDO_REG__0_PSEUDO_REG(enum pseudo_reg val)
+{
+       return ((val) << A2XX_CP_SET_PSEUDO_REG__0_PSEUDO_REG__SHIFT) & A2XX_CP_SET_PSEUDO_REG__0_PSEUDO_REG__MASK;
+}
+
+static inline uint32_t REG_A2XX_CP_SET_PSEUDO_REG__1(uint32_t i0) { return 0x00000001 + 0x3*i0; }
+#define A2XX_CP_SET_PSEUDO_REG__1_LO__MASK                     0xffffffff
+#define A2XX_CP_SET_PSEUDO_REG__1_LO__SHIFT                    0
+static inline uint32_t A2XX_CP_SET_PSEUDO_REG__1_LO(uint32_t val)
+{
+       return ((val) << A2XX_CP_SET_PSEUDO_REG__1_LO__SHIFT) & A2XX_CP_SET_PSEUDO_REG__1_LO__MASK;
+}
+
+static inline uint32_t REG_A2XX_CP_SET_PSEUDO_REG__2(uint32_t i0) { return 0x00000002 + 0x3*i0; }
+#define A2XX_CP_SET_PSEUDO_REG__2_HI__MASK                     0xffffffff
+#define A2XX_CP_SET_PSEUDO_REG__2_HI__SHIFT                    0
+static inline uint32_t A2XX_CP_SET_PSEUDO_REG__2_HI(uint32_t val)
+{
+       return ((val) << A2XX_CP_SET_PSEUDO_REG__2_HI__SHIFT) & A2XX_CP_SET_PSEUDO_REG__2_HI__MASK;
+}
+
+#define REG_A2XX_CP_REG_TEST_0                                 0x00000000
+#define A2XX_CP_REG_TEST_0_REG__MASK                           0x00000fff
+#define A2XX_CP_REG_TEST_0_REG__SHIFT                          0
+static inline uint32_t A2XX_CP_REG_TEST_0_REG(uint32_t val)
+{
+       return ((val) << A2XX_CP_REG_TEST_0_REG__SHIFT) & A2XX_CP_REG_TEST_0_REG__MASK;
+}
+#define A2XX_CP_REG_TEST_0_BIT__MASK                           0x01f00000
+#define A2XX_CP_REG_TEST_0_BIT__SHIFT                          20
+static inline uint32_t A2XX_CP_REG_TEST_0_BIT(uint32_t val)
+{
+       return ((val) << A2XX_CP_REG_TEST_0_BIT__SHIFT) & A2XX_CP_REG_TEST_0_BIT__MASK;
+}
+#define A2XX_CP_REG_TEST_0_UNK25                               0x02000000
+
 
 #endif /* ADRENO_PM4_XML */
index 576cea30d39129fb72e314ac7e9560fde7e457d1..4b36b8954baed45f0c1b7ab4c340ed41d2868b47 100644 (file)
@@ -8,19 +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/msm.xml                 (    676 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/mdp/mdp4.xml            (  20915 bytes, from 2017-05-17 13:21:27)
-- /home/robclark/src/freedreno/envytools/rnndb/mdp/mdp_common.xml      (   2849 bytes, from 2017-05-17 13:21:27)
-- /home/robclark/src/freedreno/envytools/rnndb/mdp/mdp5.xml            (  37411 bytes, from 2017-05-17 13:21:27)
-- /home/robclark/src/freedreno/envytools/rnndb/dsi/dsi.xml             (  33004 bytes, from 2017-05-17 13:21:27)
-- /home/robclark/src/freedreno/envytools/rnndb/dsi/sfpb.xml            (    602 bytes, from 2017-05-17 13:21:27)
-- /home/robclark/src/freedreno/envytools/rnndb/dsi/mmss_cc.xml         (   1686 bytes, from 2017-05-17 13:21:27)
-- /home/robclark/src/freedreno/envytools/rnndb/hdmi/qfprom.xml         (    600 bytes, from 2017-05-17 13:21:27)
-- /home/robclark/src/freedreno/envytools/rnndb/hdmi/hdmi.xml           (  41799 bytes, from 2017-06-16 12:32:42)
-- /home/robclark/src/freedreno/envytools/rnndb/edp/edp.xml             (  10416 bytes, from 2017-05-17 13:21:27)
-
-Copyright (C) 2013-2017 by the following authors:
+- /home/robclark/src/envytools/rnndb/msm.xml                 (    676 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/freedreno_copyright.xml (   1572 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/mdp/mdp4.xml            (  20915 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/mdp/mdp_common.xml      (   2849 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/mdp/mdp5.xml            (  37411 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/dsi/dsi.xml             (  37239 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/dsi/sfpb.xml            (    602 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/dsi/mmss_cc.xml         (   1686 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/hdmi/qfprom.xml         (    600 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/hdmi/hdmi.xml           (  41799 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/edp/edp.xml             (  10416 bytes, from 2018-07-03 19:37:13)
+
+Copyright (C) 2013-2018 by the following authors:
 - Rob Clark <robdclark@gmail.com> (robclark)
 - Ilia Mirkin <imirkin@alum.mit.edu> (imirkin)
 
index d9c10e02ee41e1b6b12372af51ed1fc2196f8c6e..784d98989e3a9a7ec596ed366b04becdd23ee3c5 100644 (file)
@@ -8,19 +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/msm.xml                 (    676 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/mdp/mdp4.xml            (  20915 bytes, from 2017-05-17 13:21:27)
-- /home/robclark/src/freedreno/envytools/rnndb/mdp/mdp_common.xml      (   2849 bytes, from 2017-05-17 13:21:27)
-- /home/robclark/src/freedreno/envytools/rnndb/mdp/mdp5.xml            (  37411 bytes, from 2017-05-17 13:21:27)
-- /home/robclark/src/freedreno/envytools/rnndb/dsi/dsi.xml             (  33004 bytes, from 2017-05-17 13:21:27)
-- /home/robclark/src/freedreno/envytools/rnndb/dsi/sfpb.xml            (    602 bytes, from 2017-05-17 13:21:27)
-- /home/robclark/src/freedreno/envytools/rnndb/dsi/mmss_cc.xml         (   1686 bytes, from 2017-05-17 13:21:27)
-- /home/robclark/src/freedreno/envytools/rnndb/hdmi/qfprom.xml         (    600 bytes, from 2017-05-17 13:21:27)
-- /home/robclark/src/freedreno/envytools/rnndb/hdmi/hdmi.xml           (  41799 bytes, from 2017-06-16 12:32:42)
-- /home/robclark/src/freedreno/envytools/rnndb/edp/edp.xml             (  10416 bytes, from 2017-05-17 13:21:27)
-
-Copyright (C) 2013-2017 by the following authors:
+- /home/robclark/src/envytools/rnndb/msm.xml                 (    676 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/freedreno_copyright.xml (   1572 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/mdp/mdp4.xml            (  20915 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/mdp/mdp_common.xml      (   2849 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/mdp/mdp5.xml            (  37411 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/dsi/dsi.xml             (  37239 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/dsi/sfpb.xml            (    602 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/dsi/mmss_cc.xml         (   1686 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/hdmi/qfprom.xml         (    600 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/hdmi/hdmi.xml           (  41799 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/edp/edp.xml             (  10416 bytes, from 2018-07-03 19:37:13)
+
+Copyright (C) 2013-2018 by the following authors:
 - Rob Clark <robdclark@gmail.com> (robclark)
 - Ilia Mirkin <imirkin@alum.mit.edu> (imirkin)
 
index 1494c407be440195a4b8b24816991449dbb08ed7..d420c8044e23d79fa98452f1ae8ba82855f898c3 100644 (file)
@@ -8,19 +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/msm.xml                 (    676 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/mdp/mdp4.xml            (  20915 bytes, from 2017-05-17 13:21:27)
-- /home/robclark/src/freedreno/envytools/rnndb/mdp/mdp_common.xml      (   2849 bytes, from 2017-05-17 13:21:27)
-- /home/robclark/src/freedreno/envytools/rnndb/mdp/mdp5.xml            (  37411 bytes, from 2017-05-17 13:21:27)
-- /home/robclark/src/freedreno/envytools/rnndb/dsi/dsi.xml             (  33004 bytes, from 2017-05-17 13:21:27)
-- /home/robclark/src/freedreno/envytools/rnndb/dsi/sfpb.xml            (    602 bytes, from 2017-05-17 13:21:27)
-- /home/robclark/src/freedreno/envytools/rnndb/dsi/mmss_cc.xml         (   1686 bytes, from 2017-05-17 13:21:27)
-- /home/robclark/src/freedreno/envytools/rnndb/hdmi/qfprom.xml         (    600 bytes, from 2017-05-17 13:21:27)
-- /home/robclark/src/freedreno/envytools/rnndb/hdmi/hdmi.xml           (  41799 bytes, from 2017-06-16 12:32:42)
-- /home/robclark/src/freedreno/envytools/rnndb/edp/edp.xml             (  10416 bytes, from 2017-05-17 13:21:27)
-
-Copyright (C) 2013-2017 by the following authors:
+- /home/robclark/src/envytools/rnndb/msm.xml                 (    676 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/freedreno_copyright.xml (   1572 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/mdp/mdp4.xml            (  20915 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/mdp/mdp_common.xml      (   2849 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/mdp/mdp5.xml            (  37411 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/dsi/dsi.xml             (  37239 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/dsi/sfpb.xml            (    602 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/dsi/mmss_cc.xml         (   1686 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/hdmi/qfprom.xml         (    600 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/hdmi/hdmi.xml           (  41799 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/edp/edp.xml             (  10416 bytes, from 2018-07-03 19:37:13)
+
+Copyright (C) 2013-2018 by the following authors:
 - Rob Clark <robdclark@gmail.com> (robclark)
 - Ilia Mirkin <imirkin@alum.mit.edu> (imirkin)
 
index f6a9471b70c8ddafaa5383f6a7237cba25a02c93..21f489a737d7ac60259bc10ed60f55dfe4bc9071 100644 (file)
@@ -8,8 +8,17 @@ 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:
-- /local/mnt/workspace/source_trees/envytools/rnndb/../rnndb/dsi/dsi.xml    (  37239 bytes, from 2018-01-12 09:09:22)
-- /local/mnt/workspace/source_trees/envytools/rnndb/freedreno_copyright.xml (   1572 bytes, from 2016-05-09 06:32:54)
+- /home/robclark/src/envytools/rnndb/msm.xml                 (    676 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/freedreno_copyright.xml (   1572 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/mdp/mdp4.xml            (  20915 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/mdp/mdp_common.xml      (   2849 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/mdp/mdp5.xml            (  37411 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/dsi/dsi.xml             (  37239 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/dsi/sfpb.xml            (    602 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/dsi/mmss_cc.xml         (   1686 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/hdmi/qfprom.xml         (    600 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/hdmi/hdmi.xml           (  41799 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/edp/edp.xml             (  10416 bytes, from 2018-07-03 19:37:13)
 
 Copyright (C) 2013-2018 by the following authors:
 - Rob Clark <robdclark@gmail.com> (robclark)
index 57cf7fa7f1c42c821b670e43c56dae19b8d91777..874265314413980851205b39ae1fddd51cfed28a 100644 (file)
@@ -8,19 +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/msm.xml                 (    676 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/mdp/mdp4.xml            (  20915 bytes, from 2017-05-17 13:21:27)
-- /home/robclark/src/freedreno/envytools/rnndb/mdp/mdp_common.xml      (   2849 bytes, from 2017-05-17 13:21:27)
-- /home/robclark/src/freedreno/envytools/rnndb/mdp/mdp5.xml            (  37411 bytes, from 2017-05-17 13:21:27)
-- /home/robclark/src/freedreno/envytools/rnndb/dsi/dsi.xml             (  33004 bytes, from 2017-05-17 13:21:27)
-- /home/robclark/src/freedreno/envytools/rnndb/dsi/sfpb.xml            (    602 bytes, from 2017-05-17 13:21:27)
-- /home/robclark/src/freedreno/envytools/rnndb/dsi/mmss_cc.xml         (   1686 bytes, from 2017-05-17 13:21:27)
-- /home/robclark/src/freedreno/envytools/rnndb/hdmi/qfprom.xml         (    600 bytes, from 2017-05-17 13:21:27)
-- /home/robclark/src/freedreno/envytools/rnndb/hdmi/hdmi.xml           (  41799 bytes, from 2017-06-16 12:32:42)
-- /home/robclark/src/freedreno/envytools/rnndb/edp/edp.xml             (  10416 bytes, from 2017-05-17 13:21:27)
-
-Copyright (C) 2013-2017 by the following authors:
+- /home/robclark/src/envytools/rnndb/msm.xml                 (    676 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/freedreno_copyright.xml (   1572 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/mdp/mdp4.xml            (  20915 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/mdp/mdp_common.xml      (   2849 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/mdp/mdp5.xml            (  37411 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/dsi/dsi.xml             (  37239 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/dsi/sfpb.xml            (    602 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/dsi/mmss_cc.xml         (   1686 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/hdmi/qfprom.xml         (    600 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/hdmi/hdmi.xml           (  41799 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/edp/edp.xml             (  10416 bytes, from 2018-07-03 19:37:13)
+
+Copyright (C) 2013-2018 by the following authors:
 - Rob Clark <robdclark@gmail.com> (robclark)
 - Ilia Mirkin <imirkin@alum.mit.edu> (imirkin)
 
index 9d4d1feaefd7ae3ab237e940cd85d690c2145fa3..07c48ddb5301c03b49b07b9971b54cef0ff22d3b 100644 (file)
@@ -8,19 +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/msm.xml                 (    676 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/mdp/mdp4.xml            (  20915 bytes, from 2017-05-17 13:21:27)
-- /home/robclark/src/freedreno/envytools/rnndb/mdp/mdp_common.xml      (   2849 bytes, from 2017-05-17 13:21:27)
-- /home/robclark/src/freedreno/envytools/rnndb/mdp/mdp5.xml            (  37411 bytes, from 2017-05-17 13:21:27)
-- /home/robclark/src/freedreno/envytools/rnndb/dsi/dsi.xml             (  33004 bytes, from 2017-05-17 13:21:27)
-- /home/robclark/src/freedreno/envytools/rnndb/dsi/sfpb.xml            (    602 bytes, from 2017-05-17 13:21:27)
-- /home/robclark/src/freedreno/envytools/rnndb/dsi/mmss_cc.xml         (   1686 bytes, from 2017-05-17 13:21:27)
-- /home/robclark/src/freedreno/envytools/rnndb/hdmi/qfprom.xml         (    600 bytes, from 2017-05-17 13:21:27)
-- /home/robclark/src/freedreno/envytools/rnndb/hdmi/hdmi.xml           (  41799 bytes, from 2017-06-16 12:32:42)
-- /home/robclark/src/freedreno/envytools/rnndb/edp/edp.xml             (  10416 bytes, from 2017-05-17 13:21:27)
-
-Copyright (C) 2013-2017 by the following authors:
+- /home/robclark/src/envytools/rnndb/msm.xml                 (    676 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/freedreno_copyright.xml (   1572 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/mdp/mdp4.xml            (  20915 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/mdp/mdp_common.xml      (   2849 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/mdp/mdp5.xml            (  37411 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/dsi/dsi.xml             (  37239 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/dsi/sfpb.xml            (    602 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/dsi/mmss_cc.xml         (   1686 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/hdmi/qfprom.xml         (    600 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/hdmi/hdmi.xml           (  41799 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/edp/edp.xml             (  10416 bytes, from 2018-07-03 19:37:13)
+
+Copyright (C) 2013-2018 by the following authors:
 - Rob Clark <robdclark@gmail.com> (robclark)
 - Ilia Mirkin <imirkin@alum.mit.edu> (imirkin)
 
index f150d4a477075642f78a3238abbadaabbbedb3b7..9cb6e6fe981071276e37f06e46759f2f01f9c7fa 100644 (file)
@@ -8,19 +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/msm.xml                 (    676 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/mdp/mdp4.xml            (  20915 bytes, from 2017-05-17 13:21:27)
-- /home/robclark/src/freedreno/envytools/rnndb/mdp/mdp_common.xml      (   2849 bytes, from 2017-05-17 13:21:27)
-- /home/robclark/src/freedreno/envytools/rnndb/mdp/mdp5.xml            (  37411 bytes, from 2017-05-17 13:21:27)
-- /home/robclark/src/freedreno/envytools/rnndb/dsi/dsi.xml             (  33004 bytes, from 2017-05-17 13:21:27)
-- /home/robclark/src/freedreno/envytools/rnndb/dsi/sfpb.xml            (    602 bytes, from 2017-05-17 13:21:27)
-- /home/robclark/src/freedreno/envytools/rnndb/dsi/mmss_cc.xml         (   1686 bytes, from 2017-05-17 13:21:27)
-- /home/robclark/src/freedreno/envytools/rnndb/hdmi/qfprom.xml         (    600 bytes, from 2017-05-17 13:21:27)
-- /home/robclark/src/freedreno/envytools/rnndb/hdmi/hdmi.xml           (  41799 bytes, from 2017-06-16 12:32:42)
-- /home/robclark/src/freedreno/envytools/rnndb/edp/edp.xml             (  10416 bytes, from 2017-05-17 13:21:27)
-
-Copyright (C) 2013-2017 by the following authors:
+- /home/robclark/src/envytools/rnndb/msm.xml                 (    676 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/freedreno_copyright.xml (   1572 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/mdp/mdp4.xml            (  20915 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/mdp/mdp_common.xml      (   2849 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/mdp/mdp5.xml            (  37411 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/dsi/dsi.xml             (  37239 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/dsi/sfpb.xml            (    602 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/dsi/mmss_cc.xml         (   1686 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/hdmi/qfprom.xml         (    600 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/hdmi/hdmi.xml           (  41799 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/edp/edp.xml             (  10416 bytes, from 2018-07-03 19:37:13)
+
+Copyright (C) 2013-2018 by the following authors:
 - Rob Clark <robdclark@gmail.com> (robclark)
 - Ilia Mirkin <imirkin@alum.mit.edu> (imirkin)
 
index ecebf8b623ab9f6b834aa6f1822dd6a9f8df40b8..3eff3ea3b2714aacd22d2f06fb0eb9742f748375 100644 (file)
@@ -8,19 +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/msm.xml                 (    676 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/mdp/mdp4.xml            (  20915 bytes, from 2017-05-17 13:21:27)
-- /home/robclark/src/freedreno/envytools/rnndb/mdp/mdp_common.xml      (   2849 bytes, from 2017-05-17 13:21:27)
-- /home/robclark/src/freedreno/envytools/rnndb/mdp/mdp5.xml            (  37411 bytes, from 2017-05-17 13:21:27)
-- /home/robclark/src/freedreno/envytools/rnndb/dsi/dsi.xml             (  33004 bytes, from 2017-05-17 13:21:27)
-- /home/robclark/src/freedreno/envytools/rnndb/dsi/sfpb.xml            (    602 bytes, from 2017-05-17 13:21:27)
-- /home/robclark/src/freedreno/envytools/rnndb/dsi/mmss_cc.xml         (   1686 bytes, from 2017-05-17 13:21:27)
-- /home/robclark/src/freedreno/envytools/rnndb/hdmi/qfprom.xml         (    600 bytes, from 2017-05-17 13:21:27)
-- /home/robclark/src/freedreno/envytools/rnndb/hdmi/hdmi.xml           (  41799 bytes, from 2017-06-16 12:32:42)
-- /home/robclark/src/freedreno/envytools/rnndb/edp/edp.xml             (  10416 bytes, from 2017-05-17 13:21:27)
-
-Copyright (C) 2013-2017 by the following authors:
+- /home/robclark/src/envytools/rnndb/msm.xml                 (    676 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/freedreno_copyright.xml (   1572 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/mdp/mdp4.xml            (  20915 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/mdp/mdp_common.xml      (   2849 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/mdp/mdp5.xml            (  37411 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/dsi/dsi.xml             (  37239 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/dsi/sfpb.xml            (    602 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/dsi/mmss_cc.xml         (   1686 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/hdmi/qfprom.xml         (    600 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/hdmi/hdmi.xml           (  41799 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/edp/edp.xml             (  10416 bytes, from 2018-07-03 19:37:13)
+
+Copyright (C) 2013-2018 by the following authors:
 - Rob Clark <robdclark@gmail.com> (robclark)
 - Ilia Mirkin <imirkin@alum.mit.edu> (imirkin)
 
index da646deedf4baaa109758f31408ff268f6b84f47..7717d4269662963ea75c9da924831d1877f30d74 100644 (file)
@@ -8,19 +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/msm.xml                 (    676 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/mdp/mdp4.xml            (  20915 bytes, from 2017-05-17 13:21:27)
-- /home/robclark/src/freedreno/envytools/rnndb/mdp/mdp_common.xml      (   2849 bytes, from 2017-05-17 13:21:27)
-- /home/robclark/src/freedreno/envytools/rnndb/mdp/mdp5.xml            (  37411 bytes, from 2017-05-17 13:21:27)
-- /home/robclark/src/freedreno/envytools/rnndb/dsi/dsi.xml             (  33004 bytes, from 2017-05-17 13:21:27)
-- /home/robclark/src/freedreno/envytools/rnndb/dsi/sfpb.xml            (    602 bytes, from 2017-05-17 13:21:27)
-- /home/robclark/src/freedreno/envytools/rnndb/dsi/mmss_cc.xml         (   1686 bytes, from 2017-05-17 13:21:27)
-- /home/robclark/src/freedreno/envytools/rnndb/hdmi/qfprom.xml         (    600 bytes, from 2017-05-17 13:21:27)
-- /home/robclark/src/freedreno/envytools/rnndb/hdmi/hdmi.xml           (  41799 bytes, from 2017-06-16 12:32:42)
-- /home/robclark/src/freedreno/envytools/rnndb/edp/edp.xml             (  10416 bytes, from 2017-05-17 13:21:27)
-
-Copyright (C) 2013-2017 by the following authors:
+- /home/robclark/src/envytools/rnndb/msm.xml                 (    676 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/freedreno_copyright.xml (   1572 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/mdp/mdp4.xml            (  20915 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/mdp/mdp_common.xml      (   2849 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/mdp/mdp5.xml            (  37411 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/dsi/dsi.xml             (  37239 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/dsi/sfpb.xml            (    602 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/dsi/mmss_cc.xml         (   1686 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/hdmi/qfprom.xml         (    600 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/hdmi/hdmi.xml           (  41799 bytes, from 2018-07-03 19:37:13)
+- /home/robclark/src/envytools/rnndb/edp/edp.xml             (  10416 bytes, from 2018-07-03 19:37:13)
+
+Copyright (C) 2013-2018 by the following authors:
 - Rob Clark <robdclark@gmail.com> (robclark)
 - Ilia Mirkin <imirkin@alum.mit.edu> (imirkin)