freedreno: update generated headers
[mesa.git] / src / gallium / drivers / freedreno / a3xx / a3xx.xml.h
index 92380ebcbe3d4e87552d491adabefca1b90b1240..441bfec5756422fcbdf45f5c53b959698be4d1e4 100644 (file)
@@ -8,15 +8,15 @@ 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               (    364 bytes, from 2013-11-30 14:47:15)
-- /home/robclark/src/freedreno/envytools/rnndb/freedreno_copyright.xml  (   1453 bytes, from 2013-03-31 16:51:27)
-- /home/robclark/src/freedreno/envytools/rnndb/adreno/a2xx.xml          (  32901 bytes, from 2014-05-21 20:40:21)
-- /home/robclark/src/freedreno/envytools/rnndb/adreno/adreno_common.xml (   9859 bytes, from 2014-05-21 20:39:42)
-- /home/robclark/src/freedreno/envytools/rnndb/adreno/adreno_pm4.xml    (  14477 bytes, from 2014-05-16 11:51:57)
-- /home/robclark/src/freedreno/envytools/rnndb/adreno/a3xx.xml          (  57954 bytes, from 2014-05-26 12:57:46)
-- /home/robclark/src/freedreno/envytools/rnndb/adreno/a4xx.xml          (  26602 bytes, from 2014-05-21 20:46:17)
-
-Copyright (C) 2013-2014 by the following authors:
+- /home/robclark/src/freedreno/envytools/rnndb/adreno.xml               (    364 bytes, from 2015-05-20 20:03:07)
+- /home/robclark/src/freedreno/envytools/rnndb/freedreno_copyright.xml  (   1453 bytes, from 2015-05-20 20:03:07)
+- /home/robclark/src/freedreno/envytools/rnndb/adreno/a2xx.xml          (  32901 bytes, from 2015-05-20 20:03:14)
+- /home/robclark/src/freedreno/envytools/rnndb/adreno/adreno_common.xml (  10551 bytes, from 2015-05-20 20:03:14)
+- /home/robclark/src/freedreno/envytools/rnndb/adreno/adreno_pm4.xml    (  14968 bytes, from 2015-05-20 20:12:27)
+- /home/robclark/src/freedreno/envytools/rnndb/adreno/a3xx.xml          (  67120 bytes, from 2015-08-14 23:22:03)
+- /home/robclark/src/freedreno/envytools/rnndb/adreno/a4xx.xml          (  63915 bytes, from 2015-08-24 16:56:28)
+
+Copyright (C) 2013-2015 by the following authors:
 - Rob Clark <robdclark@gmail.com> (robclark)
 
 Permission is hereby granted, free of charge, to any person obtaining
@@ -58,81 +58,137 @@ enum a3xx_cache_opcode {
 };
 
 enum a3xx_vtx_fmt {
-       VFMT_FLOAT_32 = 0,
-       VFMT_FLOAT_32_32 = 1,
-       VFMT_FLOAT_32_32_32 = 2,
-       VFMT_FLOAT_32_32_32_32 = 3,
-       VFMT_FLOAT_16 = 4,
-       VFMT_FLOAT_16_16 = 5,
-       VFMT_FLOAT_16_16_16 = 6,
-       VFMT_FLOAT_16_16_16_16 = 7,
-       VFMT_FIXED_32 = 8,
-       VFMT_FIXED_32_32 = 9,
-       VFMT_FIXED_32_32_32 = 10,
-       VFMT_FIXED_32_32_32_32 = 11,
-       VFMT_SHORT_16 = 16,
-       VFMT_SHORT_16_16 = 17,
-       VFMT_SHORT_16_16_16 = 18,
-       VFMT_SHORT_16_16_16_16 = 19,
-       VFMT_USHORT_16 = 20,
-       VFMT_USHORT_16_16 = 21,
-       VFMT_USHORT_16_16_16 = 22,
-       VFMT_USHORT_16_16_16_16 = 23,
-       VFMT_NORM_SHORT_16 = 24,
-       VFMT_NORM_SHORT_16_16 = 25,
-       VFMT_NORM_SHORT_16_16_16 = 26,
-       VFMT_NORM_SHORT_16_16_16_16 = 27,
-       VFMT_NORM_USHORT_16 = 28,
-       VFMT_NORM_USHORT_16_16 = 29,
-       VFMT_NORM_USHORT_16_16_16 = 30,
-       VFMT_NORM_USHORT_16_16_16_16 = 31,
-       VFMT_UBYTE_8 = 40,
-       VFMT_UBYTE_8_8 = 41,
-       VFMT_UBYTE_8_8_8 = 42,
-       VFMT_UBYTE_8_8_8_8 = 43,
-       VFMT_NORM_UBYTE_8 = 44,
-       VFMT_NORM_UBYTE_8_8 = 45,
-       VFMT_NORM_UBYTE_8_8_8 = 46,
-       VFMT_NORM_UBYTE_8_8_8_8 = 47,
-       VFMT_BYTE_8 = 48,
-       VFMT_BYTE_8_8 = 49,
-       VFMT_BYTE_8_8_8 = 50,
-       VFMT_BYTE_8_8_8_8 = 51,
-       VFMT_NORM_BYTE_8 = 52,
-       VFMT_NORM_BYTE_8_8 = 53,
-       VFMT_NORM_BYTE_8_8_8 = 54,
-       VFMT_NORM_BYTE_8_8_8_8 = 55,
-       VFMT_UINT_10_10_10_2 = 60,
-       VFMT_NORM_UINT_10_10_10_2 = 61,
-       VFMT_INT_10_10_10_2 = 62,
-       VFMT_NORM_INT_10_10_10_2 = 63,
+       VFMT_32_FLOAT = 0,
+       VFMT_32_32_FLOAT = 1,
+       VFMT_32_32_32_FLOAT = 2,
+       VFMT_32_32_32_32_FLOAT = 3,
+       VFMT_16_FLOAT = 4,
+       VFMT_16_16_FLOAT = 5,
+       VFMT_16_16_16_FLOAT = 6,
+       VFMT_16_16_16_16_FLOAT = 7,
+       VFMT_32_FIXED = 8,
+       VFMT_32_32_FIXED = 9,
+       VFMT_32_32_32_FIXED = 10,
+       VFMT_32_32_32_32_FIXED = 11,
+       VFMT_16_SINT = 16,
+       VFMT_16_16_SINT = 17,
+       VFMT_16_16_16_SINT = 18,
+       VFMT_16_16_16_16_SINT = 19,
+       VFMT_16_UINT = 20,
+       VFMT_16_16_UINT = 21,
+       VFMT_16_16_16_UINT = 22,
+       VFMT_16_16_16_16_UINT = 23,
+       VFMT_16_SNORM = 24,
+       VFMT_16_16_SNORM = 25,
+       VFMT_16_16_16_SNORM = 26,
+       VFMT_16_16_16_16_SNORM = 27,
+       VFMT_16_UNORM = 28,
+       VFMT_16_16_UNORM = 29,
+       VFMT_16_16_16_UNORM = 30,
+       VFMT_16_16_16_16_UNORM = 31,
+       VFMT_32_UINT = 32,
+       VFMT_32_32_UINT = 33,
+       VFMT_32_32_32_UINT = 34,
+       VFMT_32_32_32_32_UINT = 35,
+       VFMT_32_SINT = 36,
+       VFMT_32_32_SINT = 37,
+       VFMT_32_32_32_SINT = 38,
+       VFMT_32_32_32_32_SINT = 39,
+       VFMT_8_UINT = 40,
+       VFMT_8_8_UINT = 41,
+       VFMT_8_8_8_UINT = 42,
+       VFMT_8_8_8_8_UINT = 43,
+       VFMT_8_UNORM = 44,
+       VFMT_8_8_UNORM = 45,
+       VFMT_8_8_8_UNORM = 46,
+       VFMT_8_8_8_8_UNORM = 47,
+       VFMT_8_SINT = 48,
+       VFMT_8_8_SINT = 49,
+       VFMT_8_8_8_SINT = 50,
+       VFMT_8_8_8_8_SINT = 51,
+       VFMT_8_SNORM = 52,
+       VFMT_8_8_SNORM = 53,
+       VFMT_8_8_8_SNORM = 54,
+       VFMT_8_8_8_8_SNORM = 55,
+       VFMT_10_10_10_2_UINT = 60,
+       VFMT_10_10_10_2_UNORM = 61,
+       VFMT_10_10_10_2_SINT = 62,
+       VFMT_10_10_10_2_SNORM = 63,
 };
 
 enum a3xx_tex_fmt {
-       TFMT_NORM_USHORT_565 = 4,
-       TFMT_NORM_USHORT_5551 = 6,
-       TFMT_NORM_USHORT_4444 = 7,
-       TFMT_NORM_UINT_X8Z24 = 10,
-       TFMT_NORM_UINT_NV12_UV_TILED = 17,
-       TFMT_NORM_UINT_NV12_Y_TILED = 19,
-       TFMT_NORM_UINT_NV12_UV = 21,
-       TFMT_NORM_UINT_NV12_Y = 23,
-       TFMT_NORM_UINT_I420_Y = 24,
-       TFMT_NORM_UINT_I420_U = 26,
-       TFMT_NORM_UINT_I420_V = 27,
-       TFMT_NORM_UINT_2_10_10_10 = 41,
-       TFMT_NORM_UINT_A8 = 44,
-       TFMT_NORM_UINT_L8_A8 = 47,
-       TFMT_NORM_UINT_8 = 48,
-       TFMT_NORM_UINT_8_8 = 49,
-       TFMT_NORM_UINT_8_8_8 = 50,
-       TFMT_NORM_UINT_8_8_8_8 = 51,
-       TFMT_FLOAT_16 = 64,
-       TFMT_FLOAT_16_16 = 65,
-       TFMT_FLOAT_16_16_16_16 = 67,
-       TFMT_FLOAT_32 = 84,
-       TFMT_FLOAT_32_32 = 85,
-       TFMT_FLOAT_32_32_32_32 = 87,
+       TFMT_5_6_5_UNORM = 4,
+       TFMT_5_5_5_1_UNORM = 5,
+       TFMT_4_4_4_4_UNORM = 7,
+       TFMT_Z16_UNORM = 9,
+       TFMT_X8Z24_UNORM = 10,
+       TFMT_Z32_FLOAT = 11,
+       TFMT_NV12_UV_TILED = 17,
+       TFMT_NV12_Y_TILED = 19,
+       TFMT_NV12_UV = 21,
+       TFMT_NV12_Y = 23,
+       TFMT_I420_Y = 24,
+       TFMT_I420_U = 26,
+       TFMT_I420_V = 27,
+       TFMT_ATC_RGB = 32,
+       TFMT_ATC_RGBA_EXPLICIT = 33,
+       TFMT_ETC1 = 34,
+       TFMT_ATC_RGBA_INTERPOLATED = 35,
+       TFMT_DXT1 = 36,
+       TFMT_DXT3 = 37,
+       TFMT_DXT5 = 38,
+       TFMT_10_10_10_2_UNORM = 41,
+       TFMT_9_9_9_E5_FLOAT = 42,
+       TFMT_11_11_10_FLOAT = 43,
+       TFMT_A8_UNORM = 44,
+       TFMT_L8_A8_UNORM = 47,
+       TFMT_8_UNORM = 48,
+       TFMT_8_8_UNORM = 49,
+       TFMT_8_8_8_UNORM = 50,
+       TFMT_8_8_8_8_UNORM = 51,
+       TFMT_8_SNORM = 52,
+       TFMT_8_8_SNORM = 53,
+       TFMT_8_8_8_SNORM = 54,
+       TFMT_8_8_8_8_SNORM = 55,
+       TFMT_8_UINT = 56,
+       TFMT_8_8_UINT = 57,
+       TFMT_8_8_8_UINT = 58,
+       TFMT_8_8_8_8_UINT = 59,
+       TFMT_8_SINT = 60,
+       TFMT_8_8_SINT = 61,
+       TFMT_8_8_8_SINT = 62,
+       TFMT_8_8_8_8_SINT = 63,
+       TFMT_16_FLOAT = 64,
+       TFMT_16_16_FLOAT = 65,
+       TFMT_16_16_16_16_FLOAT = 67,
+       TFMT_16_UINT = 68,
+       TFMT_16_16_UINT = 69,
+       TFMT_16_16_16_16_UINT = 71,
+       TFMT_16_SINT = 72,
+       TFMT_16_16_SINT = 73,
+       TFMT_16_16_16_16_SINT = 75,
+       TFMT_16_UNORM = 76,
+       TFMT_16_16_UNORM = 77,
+       TFMT_16_16_16_16_UNORM = 79,
+       TFMT_16_SNORM = 80,
+       TFMT_16_16_SNORM = 81,
+       TFMT_16_16_16_16_SNORM = 83,
+       TFMT_32_FLOAT = 84,
+       TFMT_32_32_FLOAT = 85,
+       TFMT_32_32_32_32_FLOAT = 87,
+       TFMT_32_UINT = 88,
+       TFMT_32_32_UINT = 89,
+       TFMT_32_32_32_32_UINT = 91,
+       TFMT_32_SINT = 92,
+       TFMT_32_32_SINT = 93,
+       TFMT_32_32_32_32_SINT = 95,
+       TFMT_ETC2_RG11_SNORM = 112,
+       TFMT_ETC2_RG11_UNORM = 113,
+       TFMT_ETC2_R11_SNORM = 114,
+       TFMT_ETC2_R11_UNORM = 115,
+       TFMT_ETC2_RGBA8 = 116,
+       TFMT_ETC2_RGB8A1 = 117,
+       TFMT_ETC2_RGB8 = 118,
 };
 
 enum a3xx_tex_fetchsize {
@@ -145,19 +201,46 @@ enum a3xx_tex_fetchsize {
 };
 
 enum a3xx_color_fmt {
+       RB_R5G6B5_UNORM = 0,
+       RB_R5G5B5A1_UNORM = 1,
+       RB_R4G4B4A4_UNORM = 3,
        RB_R8G8B8_UNORM = 4,
        RB_R8G8B8A8_UNORM = 8,
-       RB_Z16_UNORM = 12,
+       RB_R8G8B8A8_SNORM = 9,
+       RB_R8G8B8A8_UINT = 10,
+       RB_R8G8B8A8_SINT = 11,
+       RB_R8G8_UNORM = 12,
+       RB_R8G8_SNORM = 13,
+       RB_R8_UINT = 14,
+       RB_R8_SINT = 15,
+       RB_R10G10B10A2_UNORM = 16,
        RB_A8_UNORM = 20,
+       RB_R8_UNORM = 21,
+       RB_R16_FLOAT = 24,
+       RB_R16G16_FLOAT = 25,
        RB_R16G16B16A16_FLOAT = 27,
+       RB_R11G11B10_FLOAT = 28,
+       RB_R16_SNORM = 32,
+       RB_R16G16_SNORM = 33,
+       RB_R16G16B16A16_SNORM = 35,
+       RB_R16_UNORM = 36,
+       RB_R16G16_UNORM = 37,
+       RB_R16G16B16A16_UNORM = 39,
+       RB_R16_SINT = 40,
+       RB_R16G16_SINT = 41,
+       RB_R16G16B16A16_SINT = 43,
+       RB_R16_UINT = 44,
+       RB_R16G16_UINT = 45,
+       RB_R16G16B16A16_UINT = 47,
+       RB_R32_FLOAT = 48,
+       RB_R32G32_FLOAT = 49,
        RB_R32G32B32A32_FLOAT = 51,
-};
-
-enum a3xx_color_swap {
-       WZYX = 0,
-       WXYZ = 1,
-       ZYXW = 2,
-       XYZW = 3,
+       RB_R32_SINT = 52,
+       RB_R32G32_SINT = 53,
+       RB_R32G32B32A32_SINT = 55,
+       RB_R32_UINT = 56,
+       RB_R32G32_UINT = 57,
+       RB_R32G32B32A32_UINT = 59,
 };
 
 enum a3xx_sp_perfcounter_select {
@@ -194,6 +277,17 @@ enum a3xx_rb_blend_opcode {
        BLEND_MAX_DST_SRC = 4,
 };
 
+enum a3xx_intp_mode {
+       SMOOTH = 0,
+       FLAT = 1,
+};
+
+enum a3xx_repl_mode {
+       S = 1,
+       T = 2,
+       ONE_T = 3,
+};
+
 enum a3xx_tex_filter {
        A3XX_TEX_NEAREST = 0,
        A3XX_TEX_LINEAR = 1,
@@ -208,6 +302,14 @@ enum a3xx_tex_clamp {
        A3XX_TEX_MIRROR_CLAMP = 4,
 };
 
+enum a3xx_tex_aniso {
+       A3XX_TEX_ANISO_1 = 0,
+       A3XX_TEX_ANISO_2 = 1,
+       A3XX_TEX_ANISO_4 = 2,
+       A3XX_TEX_ANISO_8 = 3,
+       A3XX_TEX_ANISO_16 = 4,
+};
+
 enum a3xx_tex_swiz {
        A3XX_TEX_X = 0,
        A3XX_TEX_Y = 1,
@@ -224,6 +326,13 @@ enum a3xx_tex_type {
        A3XX_TEX_3D = 3,
 };
 
+enum a3xx_tex_msaa {
+       A3XX_TPL1_MSAA1X = 0,
+       A3XX_TPL1_MSAA2X = 1,
+       A3XX_TPL1_MSAA4X = 2,
+       A3XX_TPL1_MSAA8X = 3,
+};
+
 #define A3XX_INT0_RBBM_GPU_IDLE                                        0x00000001
 #define A3XX_INT0_RBBM_AHB_ERROR                               0x00000002
 #define A3XX_INT0_RBBM_REG_TIMEOUT                             0x00000004
@@ -536,6 +645,10 @@ enum a3xx_tex_type {
 
 #define REG_A3XX_CP_MEQ_DATA                                   0x000001db
 
+#define REG_A3XX_CP_WFI_PEND_CTR                               0x000001f5
+
+#define REG_A3XX_RBBM_PM_OVERRIDE2                             0x0000039d
+
 #define REG_A3XX_CP_PERFCOUNTER_SELECT                         0x00000445
 
 #define REG_A3XX_CP_HW_FAULT                                   0x0000045c
@@ -550,6 +663,12 @@ static inline uint32_t REG_A3XX_CP_PROTECT_REG(uint32_t i0) { return 0x00000460
 
 #define REG_A3XX_CP_AHB_FAULT                                  0x0000054d
 
+#define REG_A3XX_SQ_GPR_MANAGEMENT                             0x00000d00
+
+#define REG_A3XX_SQ_INST_STORE_MANAGMENT                       0x00000d02
+
+#define REG_A3XX_TP0_CHICKEN                                   0x00000e1e
+
 #define REG_A3XX_SP_GLOBAL_MEM_SIZE                            0x00000e22
 
 #define REG_A3XX_SP_GLOBAL_MEM_ADDR                            0x00000e23
@@ -632,13 +751,13 @@ static inline uint32_t A3XX_GRAS_CL_VPORT_ZSCALE(float val)
 #define A3XX_GRAS_SU_POINT_MINMAX_MIN__SHIFT                   0
 static inline uint32_t A3XX_GRAS_SU_POINT_MINMAX_MIN(float val)
 {
-       return ((((uint32_t)(val * 8.0))) << A3XX_GRAS_SU_POINT_MINMAX_MIN__SHIFT) & A3XX_GRAS_SU_POINT_MINMAX_MIN__MASK;
+       return ((((uint32_t)(val * 16.0))) << A3XX_GRAS_SU_POINT_MINMAX_MIN__SHIFT) & A3XX_GRAS_SU_POINT_MINMAX_MIN__MASK;
 }
 #define A3XX_GRAS_SU_POINT_MINMAX_MAX__MASK                    0xffff0000
 #define A3XX_GRAS_SU_POINT_MINMAX_MAX__SHIFT                   16
 static inline uint32_t A3XX_GRAS_SU_POINT_MINMAX_MAX(float val)
 {
-       return ((((uint32_t)(val * 8.0))) << A3XX_GRAS_SU_POINT_MINMAX_MAX__SHIFT) & A3XX_GRAS_SU_POINT_MINMAX_MAX__MASK;
+       return ((((uint32_t)(val * 16.0))) << A3XX_GRAS_SU_POINT_MINMAX_MAX__SHIFT) & A3XX_GRAS_SU_POINT_MINMAX_MAX__MASK;
 }
 
 #define REG_A3XX_GRAS_SU_POINT_SIZE                            0x00002069
@@ -646,7 +765,7 @@ static inline uint32_t A3XX_GRAS_SU_POINT_MINMAX_MAX(float val)
 #define A3XX_GRAS_SU_POINT_SIZE__SHIFT                         0
 static inline uint32_t A3XX_GRAS_SU_POINT_SIZE(float val)
 {
-       return ((((uint32_t)(val * 8.0))) << A3XX_GRAS_SU_POINT_SIZE__SHIFT) & A3XX_GRAS_SU_POINT_SIZE__MASK;
+       return ((((int32_t)(val * 16.0))) << A3XX_GRAS_SU_POINT_SIZE__SHIFT) & A3XX_GRAS_SU_POINT_SIZE__MASK;
 }
 
 #define REG_A3XX_GRAS_SU_POLY_OFFSET_SCALE                     0x0000206c
@@ -654,7 +773,7 @@ static inline uint32_t A3XX_GRAS_SU_POINT_SIZE(float val)
 #define A3XX_GRAS_SU_POLY_OFFSET_SCALE_VAL__SHIFT              0
 static inline uint32_t A3XX_GRAS_SU_POLY_OFFSET_SCALE_VAL(float val)
 {
-       return ((((uint32_t)(val * 40.0))) << A3XX_GRAS_SU_POLY_OFFSET_SCALE_VAL__SHIFT) & A3XX_GRAS_SU_POLY_OFFSET_SCALE_VAL__MASK;
+       return ((((int32_t)(val * 16384.0))) << A3XX_GRAS_SU_POLY_OFFSET_SCALE_VAL__SHIFT) & A3XX_GRAS_SU_POLY_OFFSET_SCALE_VAL__MASK;
 }
 
 #define REG_A3XX_GRAS_SU_POLY_OFFSET_OFFSET                    0x0000206d
@@ -662,7 +781,7 @@ static inline uint32_t A3XX_GRAS_SU_POLY_OFFSET_SCALE_VAL(float val)
 #define A3XX_GRAS_SU_POLY_OFFSET_OFFSET__SHIFT                 0
 static inline uint32_t A3XX_GRAS_SU_POLY_OFFSET_OFFSET(float val)
 {
-       return ((((uint32_t)(val * 44.0))) << A3XX_GRAS_SU_POLY_OFFSET_OFFSET__SHIFT) & A3XX_GRAS_SU_POLY_OFFSET_OFFSET__MASK;
+       return ((((int32_t)(val * 64.0))) << A3XX_GRAS_SU_POLY_OFFSET_OFFSET__SHIFT) & A3XX_GRAS_SU_POLY_OFFSET_OFFSET__MASK;
 }
 
 #define REG_A3XX_GRAS_SU_MODE_CONTROL                          0x00002070
@@ -673,7 +792,7 @@ static inline uint32_t A3XX_GRAS_SU_POLY_OFFSET_OFFSET(float val)
 #define A3XX_GRAS_SU_MODE_CONTROL_LINEHALFWIDTH__SHIFT         3
 static inline uint32_t A3XX_GRAS_SU_MODE_CONTROL_LINEHALFWIDTH(float val)
 {
-       return ((((uint32_t)(val * 4.0))) << A3XX_GRAS_SU_MODE_CONTROL_LINEHALFWIDTH__SHIFT) & A3XX_GRAS_SU_MODE_CONTROL_LINEHALFWIDTH__MASK;
+       return ((((int32_t)(val * 4.0))) << A3XX_GRAS_SU_MODE_CONTROL_LINEHALFWIDTH__SHIFT) & A3XX_GRAS_SU_MODE_CONTROL_LINEHALFWIDTH__MASK;
 }
 #define A3XX_GRAS_SU_MODE_CONTROL_POLY_OFFSET                  0x00000800
 
@@ -765,6 +884,12 @@ static inline uint32_t A3XX_RB_MODE_CONTROL_RENDER_MODE(enum a3xx_render_mode va
 {
        return ((val) << A3XX_RB_MODE_CONTROL_RENDER_MODE__SHIFT) & A3XX_RB_MODE_CONTROL_RENDER_MODE__MASK;
 }
+#define A3XX_RB_MODE_CONTROL_MRT__MASK                         0x00003000
+#define A3XX_RB_MODE_CONTROL_MRT__SHIFT                                12
+static inline uint32_t A3XX_RB_MODE_CONTROL_MRT(uint32_t val)
+{
+       return ((val) << A3XX_RB_MODE_CONTROL_MRT__SHIFT) & A3XX_RB_MODE_CONTROL_MRT__MASK;
+}
 #define A3XX_RB_MODE_CONTROL_MARB_CACHE_SPLIT_MODE             0x00008000
 #define A3XX_RB_MODE_CONTROL_PACKER_TIMER_ENABLE               0x00010000
 
@@ -863,6 +988,7 @@ static inline uint32_t A3XX_RB_MRT_BUF_INFO_COLOR_SWAP(enum a3xx_color_swap val)
 {
        return ((val) << A3XX_RB_MRT_BUF_INFO_COLOR_SWAP__SHIFT) & A3XX_RB_MRT_BUF_INFO_COLOR_SWAP__MASK;
 }
+#define A3XX_RB_MRT_BUF_INFO_COLOR_SRGB                                0x00004000
 #define A3XX_RB_MRT_BUF_INFO_COLOR_BUF_PITCH__MASK             0xfffe0000
 #define A3XX_RB_MRT_BUF_INFO_COLOR_BUF_PITCH__SHIFT            17
 static inline uint32_t A3XX_RB_MRT_BUF_INFO_COLOR_BUF_PITCH(uint32_t val)
@@ -988,6 +1114,7 @@ static inline uint32_t A3XX_RB_COPY_CONTROL_MSAA_RESOLVE(enum a3xx_msaa_samples
 {
        return ((val) << A3XX_RB_COPY_CONTROL_MSAA_RESOLVE__SHIFT) & A3XX_RB_COPY_CONTROL_MSAA_RESOLVE__MASK;
 }
+#define A3XX_RB_COPY_CONTROL_DEPTHCLEAR                                0x00000008
 #define A3XX_RB_COPY_CONTROL_MODE__MASK                                0x00000070
 #define A3XX_RB_COPY_CONTROL_MODE__SHIFT                       4
 static inline uint32_t A3XX_RB_COPY_CONTROL_MODE(enum adreno_rb_copy_control_mode val)
@@ -1000,6 +1127,7 @@ static inline uint32_t A3XX_RB_COPY_CONTROL_FASTCLEAR(uint32_t val)
 {
        return ((val) << A3XX_RB_COPY_CONTROL_FASTCLEAR__SHIFT) & A3XX_RB_COPY_CONTROL_FASTCLEAR__MASK;
 }
+#define A3XX_RB_COPY_CONTROL_UNK12                             0x00001000
 #define A3XX_RB_COPY_CONTROL_GMEM_BASE__MASK                   0xffffc000
 #define A3XX_RB_COPY_CONTROL_GMEM_BASE__SHIFT                  14
 static inline uint32_t A3XX_RB_COPY_CONTROL_GMEM_BASE(uint32_t val)
@@ -1078,7 +1206,7 @@ static inline uint32_t A3XX_RB_DEPTH_CONTROL_ZFUNC(enum adreno_compare_func val)
 #define REG_A3XX_RB_DEPTH_CLEAR                                        0x00002101
 
 #define REG_A3XX_RB_DEPTH_INFO                                 0x00002102
-#define A3XX_RB_DEPTH_INFO_DEPTH_FORMAT__MASK                  0x00000001
+#define A3XX_RB_DEPTH_INFO_DEPTH_FORMAT__MASK                  0x00000003
 #define A3XX_RB_DEPTH_INFO_DEPTH_FORMAT__SHIFT                 0
 static inline uint32_t A3XX_RB_DEPTH_INFO_DEPTH_FORMAT(enum adreno_rb_depth_format val)
 {
@@ -1154,9 +1282,21 @@ static inline uint32_t A3XX_RB_STENCIL_CONTROL_ZFAIL_BF(enum adreno_stencil_op v
 
 #define REG_A3XX_RB_STENCIL_CLEAR                              0x00002105
 
-#define REG_A3XX_RB_STENCIL_BUF_INFO                           0x00002106
+#define REG_A3XX_RB_STENCIL_INFO                               0x00002106
+#define A3XX_RB_STENCIL_INFO_STENCIL_BASE__MASK                        0xfffff800
+#define A3XX_RB_STENCIL_INFO_STENCIL_BASE__SHIFT               11
+static inline uint32_t A3XX_RB_STENCIL_INFO_STENCIL_BASE(uint32_t val)
+{
+       return ((val >> 12) << A3XX_RB_STENCIL_INFO_STENCIL_BASE__SHIFT) & A3XX_RB_STENCIL_INFO_STENCIL_BASE__MASK;
+}
 
-#define REG_A3XX_RB_STENCIL_BUF_PITCH                          0x00002107
+#define REG_A3XX_RB_STENCIL_PITCH                              0x00002107
+#define A3XX_RB_STENCIL_PITCH__MASK                            0xffffffff
+#define A3XX_RB_STENCIL_PITCH__SHIFT                           0
+static inline uint32_t A3XX_RB_STENCIL_PITCH(uint32_t val)
+{
+       return ((val >> 3) << A3XX_RB_STENCIL_PITCH__SHIFT) & A3XX_RB_STENCIL_PITCH__MASK;
+}
 
 #define REG_A3XX_RB_STENCILREFMASK                             0x00002108
 #define A3XX_RB_STENCILREFMASK_STENCILREF__MASK                        0x000000ff
@@ -1264,6 +1404,8 @@ static inline uint32_t A3XX_PC_PRIM_VTX_CNTL_POLYMODE_BACK_PTYPE(enum adreno_pa_
 {
        return ((val) << A3XX_PC_PRIM_VTX_CNTL_POLYMODE_BACK_PTYPE__SHIFT) & A3XX_PC_PRIM_VTX_CNTL_POLYMODE_BACK_PTYPE__MASK;
 }
+#define A3XX_PC_PRIM_VTX_CNTL_POLYMODE_ENABLE                  0x00001000
+#define A3XX_PC_PRIM_VTX_CNTL_PRIMITIVE_RESTART                        0x00100000
 #define A3XX_PC_PRIM_VTX_CNTL_PROVOKING_VTX_LAST               0x02000000
 #define A3XX_PC_PRIM_VTX_CNTL_PSIZE                            0x04000000
 
@@ -1280,7 +1422,12 @@ static inline uint32_t A3XX_HLSQ_CONTROL_0_REG_FSTHREADSIZE(enum a3xx_threadsize
 #define A3XX_HLSQ_CONTROL_0_REG_SPSHADERRESTART                        0x00000200
 #define A3XX_HLSQ_CONTROL_0_REG_RESERVED2                      0x00000400
 #define A3XX_HLSQ_CONTROL_0_REG_CHUNKDISABLE                   0x04000000
-#define A3XX_HLSQ_CONTROL_0_REG_CONSTSWITCHMODE                        0x08000000
+#define A3XX_HLSQ_CONTROL_0_REG_CONSTMODE__MASK                        0x08000000
+#define A3XX_HLSQ_CONTROL_0_REG_CONSTMODE__SHIFT               27
+static inline uint32_t A3XX_HLSQ_CONTROL_0_REG_CONSTMODE(uint32_t val)
+{
+       return ((val) << A3XX_HLSQ_CONTROL_0_REG_CONSTMODE__SHIFT) & A3XX_HLSQ_CONTROL_0_REG_CONSTMODE__MASK;
+}
 #define A3XX_HLSQ_CONTROL_0_REG_LAZYUPDATEDISABLE              0x10000000
 #define A3XX_HLSQ_CONTROL_0_REG_SPCONSTFULLUPDATE              0x20000000
 #define A3XX_HLSQ_CONTROL_0_REG_TPFULLUPDATE                   0x40000000
@@ -1483,6 +1630,8 @@ static inline uint32_t A3XX_VFD_CONTROL_1_REGID4INST(uint32_t val)
 
 #define REG_A3XX_VFD_INDEX_OFFSET                              0x00002245
 
+#define REG_A3XX_VFD_INDEX_OFFSET                              0x00002245
+
 static inline uint32_t REG_A3XX_VFD_FETCH(uint32_t i0) { return 0x00002246 + 0x2*i0; }
 
 static inline uint32_t REG_A3XX_VFD_FETCH_INSTR_0(uint32_t i0) { return 0x00002246 + 0x2*i0; }
@@ -1492,12 +1641,13 @@ static inline uint32_t A3XX_VFD_FETCH_INSTR_0_FETCHSIZE(uint32_t val)
 {
        return ((val) << A3XX_VFD_FETCH_INSTR_0_FETCHSIZE__SHIFT) & A3XX_VFD_FETCH_INSTR_0_FETCHSIZE__MASK;
 }
-#define A3XX_VFD_FETCH_INSTR_0_BUFSTRIDE__MASK                 0x0001ff80
+#define A3XX_VFD_FETCH_INSTR_0_BUFSTRIDE__MASK                 0x0000ff80
 #define A3XX_VFD_FETCH_INSTR_0_BUFSTRIDE__SHIFT                        7
 static inline uint32_t A3XX_VFD_FETCH_INSTR_0_BUFSTRIDE(uint32_t val)
 {
        return ((val) << A3XX_VFD_FETCH_INSTR_0_BUFSTRIDE__SHIFT) & A3XX_VFD_FETCH_INSTR_0_BUFSTRIDE__MASK;
 }
+#define A3XX_VFD_FETCH_INSTR_0_INSTANCED                       0x00010000
 #define A3XX_VFD_FETCH_INSTR_0_SWITCHNEXT                      0x00020000
 #define A3XX_VFD_FETCH_INSTR_0_INDEXCODE__MASK                 0x00fc0000
 #define A3XX_VFD_FETCH_INSTR_0_INDEXCODE__SHIFT                        18
@@ -1536,6 +1686,13 @@ static inline uint32_t A3XX_VFD_DECODE_INSTR_REGID(uint32_t val)
 {
        return ((val) << A3XX_VFD_DECODE_INSTR_REGID__SHIFT) & A3XX_VFD_DECODE_INSTR_REGID__MASK;
 }
+#define A3XX_VFD_DECODE_INSTR_INT                              0x00100000
+#define A3XX_VFD_DECODE_INSTR_SWAP__MASK                       0x00c00000
+#define A3XX_VFD_DECODE_INSTR_SWAP__SHIFT                      22
+static inline uint32_t A3XX_VFD_DECODE_INSTR_SWAP(enum a3xx_color_swap val)
+{
+       return ((val) << A3XX_VFD_DECODE_INSTR_SWAP__SHIFT) & A3XX_VFD_DECODE_INSTR_SWAP__MASK;
+}
 #define A3XX_VFD_DECODE_INSTR_SHIFTCNT__MASK                   0x1f000000
 #define A3XX_VFD_DECODE_INSTR_SHIFTCNT__SHIFT                  24
 static inline uint32_t A3XX_VFD_DECODE_INSTR_SHIFTCNT(uint32_t val)
@@ -1597,10 +1754,202 @@ static inline uint32_t A3XX_VPC_PACK_NUMNONPOSVSVAR(uint32_t val)
 static inline uint32_t REG_A3XX_VPC_VARYING_INTERP(uint32_t i0) { return 0x00002282 + 0x1*i0; }
 
 static inline uint32_t REG_A3XX_VPC_VARYING_INTERP_MODE(uint32_t i0) { return 0x00002282 + 0x1*i0; }
+#define A3XX_VPC_VARYING_INTERP_MODE_C0__MASK                  0x00000003
+#define A3XX_VPC_VARYING_INTERP_MODE_C0__SHIFT                 0
+static inline uint32_t A3XX_VPC_VARYING_INTERP_MODE_C0(enum a3xx_intp_mode val)
+{
+       return ((val) << A3XX_VPC_VARYING_INTERP_MODE_C0__SHIFT) & A3XX_VPC_VARYING_INTERP_MODE_C0__MASK;
+}
+#define A3XX_VPC_VARYING_INTERP_MODE_C1__MASK                  0x0000000c
+#define A3XX_VPC_VARYING_INTERP_MODE_C1__SHIFT                 2
+static inline uint32_t A3XX_VPC_VARYING_INTERP_MODE_C1(enum a3xx_intp_mode val)
+{
+       return ((val) << A3XX_VPC_VARYING_INTERP_MODE_C1__SHIFT) & A3XX_VPC_VARYING_INTERP_MODE_C1__MASK;
+}
+#define A3XX_VPC_VARYING_INTERP_MODE_C2__MASK                  0x00000030
+#define A3XX_VPC_VARYING_INTERP_MODE_C2__SHIFT                 4
+static inline uint32_t A3XX_VPC_VARYING_INTERP_MODE_C2(enum a3xx_intp_mode val)
+{
+       return ((val) << A3XX_VPC_VARYING_INTERP_MODE_C2__SHIFT) & A3XX_VPC_VARYING_INTERP_MODE_C2__MASK;
+}
+#define A3XX_VPC_VARYING_INTERP_MODE_C3__MASK                  0x000000c0
+#define A3XX_VPC_VARYING_INTERP_MODE_C3__SHIFT                 6
+static inline uint32_t A3XX_VPC_VARYING_INTERP_MODE_C3(enum a3xx_intp_mode val)
+{
+       return ((val) << A3XX_VPC_VARYING_INTERP_MODE_C3__SHIFT) & A3XX_VPC_VARYING_INTERP_MODE_C3__MASK;
+}
+#define A3XX_VPC_VARYING_INTERP_MODE_C4__MASK                  0x00000300
+#define A3XX_VPC_VARYING_INTERP_MODE_C4__SHIFT                 8
+static inline uint32_t A3XX_VPC_VARYING_INTERP_MODE_C4(enum a3xx_intp_mode val)
+{
+       return ((val) << A3XX_VPC_VARYING_INTERP_MODE_C4__SHIFT) & A3XX_VPC_VARYING_INTERP_MODE_C4__MASK;
+}
+#define A3XX_VPC_VARYING_INTERP_MODE_C5__MASK                  0x00000c00
+#define A3XX_VPC_VARYING_INTERP_MODE_C5__SHIFT                 10
+static inline uint32_t A3XX_VPC_VARYING_INTERP_MODE_C5(enum a3xx_intp_mode val)
+{
+       return ((val) << A3XX_VPC_VARYING_INTERP_MODE_C5__SHIFT) & A3XX_VPC_VARYING_INTERP_MODE_C5__MASK;
+}
+#define A3XX_VPC_VARYING_INTERP_MODE_C6__MASK                  0x00003000
+#define A3XX_VPC_VARYING_INTERP_MODE_C6__SHIFT                 12
+static inline uint32_t A3XX_VPC_VARYING_INTERP_MODE_C6(enum a3xx_intp_mode val)
+{
+       return ((val) << A3XX_VPC_VARYING_INTERP_MODE_C6__SHIFT) & A3XX_VPC_VARYING_INTERP_MODE_C6__MASK;
+}
+#define A3XX_VPC_VARYING_INTERP_MODE_C7__MASK                  0x0000c000
+#define A3XX_VPC_VARYING_INTERP_MODE_C7__SHIFT                 14
+static inline uint32_t A3XX_VPC_VARYING_INTERP_MODE_C7(enum a3xx_intp_mode val)
+{
+       return ((val) << A3XX_VPC_VARYING_INTERP_MODE_C7__SHIFT) & A3XX_VPC_VARYING_INTERP_MODE_C7__MASK;
+}
+#define A3XX_VPC_VARYING_INTERP_MODE_C8__MASK                  0x00030000
+#define A3XX_VPC_VARYING_INTERP_MODE_C8__SHIFT                 16
+static inline uint32_t A3XX_VPC_VARYING_INTERP_MODE_C8(enum a3xx_intp_mode val)
+{
+       return ((val) << A3XX_VPC_VARYING_INTERP_MODE_C8__SHIFT) & A3XX_VPC_VARYING_INTERP_MODE_C8__MASK;
+}
+#define A3XX_VPC_VARYING_INTERP_MODE_C9__MASK                  0x000c0000
+#define A3XX_VPC_VARYING_INTERP_MODE_C9__SHIFT                 18
+static inline uint32_t A3XX_VPC_VARYING_INTERP_MODE_C9(enum a3xx_intp_mode val)
+{
+       return ((val) << A3XX_VPC_VARYING_INTERP_MODE_C9__SHIFT) & A3XX_VPC_VARYING_INTERP_MODE_C9__MASK;
+}
+#define A3XX_VPC_VARYING_INTERP_MODE_CA__MASK                  0x00300000
+#define A3XX_VPC_VARYING_INTERP_MODE_CA__SHIFT                 20
+static inline uint32_t A3XX_VPC_VARYING_INTERP_MODE_CA(enum a3xx_intp_mode val)
+{
+       return ((val) << A3XX_VPC_VARYING_INTERP_MODE_CA__SHIFT) & A3XX_VPC_VARYING_INTERP_MODE_CA__MASK;
+}
+#define A3XX_VPC_VARYING_INTERP_MODE_CB__MASK                  0x00c00000
+#define A3XX_VPC_VARYING_INTERP_MODE_CB__SHIFT                 22
+static inline uint32_t A3XX_VPC_VARYING_INTERP_MODE_CB(enum a3xx_intp_mode val)
+{
+       return ((val) << A3XX_VPC_VARYING_INTERP_MODE_CB__SHIFT) & A3XX_VPC_VARYING_INTERP_MODE_CB__MASK;
+}
+#define A3XX_VPC_VARYING_INTERP_MODE_CC__MASK                  0x03000000
+#define A3XX_VPC_VARYING_INTERP_MODE_CC__SHIFT                 24
+static inline uint32_t A3XX_VPC_VARYING_INTERP_MODE_CC(enum a3xx_intp_mode val)
+{
+       return ((val) << A3XX_VPC_VARYING_INTERP_MODE_CC__SHIFT) & A3XX_VPC_VARYING_INTERP_MODE_CC__MASK;
+}
+#define A3XX_VPC_VARYING_INTERP_MODE_CD__MASK                  0x0c000000
+#define A3XX_VPC_VARYING_INTERP_MODE_CD__SHIFT                 26
+static inline uint32_t A3XX_VPC_VARYING_INTERP_MODE_CD(enum a3xx_intp_mode val)
+{
+       return ((val) << A3XX_VPC_VARYING_INTERP_MODE_CD__SHIFT) & A3XX_VPC_VARYING_INTERP_MODE_CD__MASK;
+}
+#define A3XX_VPC_VARYING_INTERP_MODE_CE__MASK                  0x30000000
+#define A3XX_VPC_VARYING_INTERP_MODE_CE__SHIFT                 28
+static inline uint32_t A3XX_VPC_VARYING_INTERP_MODE_CE(enum a3xx_intp_mode val)
+{
+       return ((val) << A3XX_VPC_VARYING_INTERP_MODE_CE__SHIFT) & A3XX_VPC_VARYING_INTERP_MODE_CE__MASK;
+}
+#define A3XX_VPC_VARYING_INTERP_MODE_CF__MASK                  0xc0000000
+#define A3XX_VPC_VARYING_INTERP_MODE_CF__SHIFT                 30
+static inline uint32_t A3XX_VPC_VARYING_INTERP_MODE_CF(enum a3xx_intp_mode val)
+{
+       return ((val) << A3XX_VPC_VARYING_INTERP_MODE_CF__SHIFT) & A3XX_VPC_VARYING_INTERP_MODE_CF__MASK;
+}
 
 static inline uint32_t REG_A3XX_VPC_VARYING_PS_REPL(uint32_t i0) { return 0x00002286 + 0x1*i0; }
 
 static inline uint32_t REG_A3XX_VPC_VARYING_PS_REPL_MODE(uint32_t i0) { return 0x00002286 + 0x1*i0; }
+#define A3XX_VPC_VARYING_PS_REPL_MODE_C0__MASK                 0x00000003
+#define A3XX_VPC_VARYING_PS_REPL_MODE_C0__SHIFT                        0
+static inline uint32_t A3XX_VPC_VARYING_PS_REPL_MODE_C0(enum a3xx_repl_mode val)
+{
+       return ((val) << A3XX_VPC_VARYING_PS_REPL_MODE_C0__SHIFT) & A3XX_VPC_VARYING_PS_REPL_MODE_C0__MASK;
+}
+#define A3XX_VPC_VARYING_PS_REPL_MODE_C1__MASK                 0x0000000c
+#define A3XX_VPC_VARYING_PS_REPL_MODE_C1__SHIFT                        2
+static inline uint32_t A3XX_VPC_VARYING_PS_REPL_MODE_C1(enum a3xx_repl_mode val)
+{
+       return ((val) << A3XX_VPC_VARYING_PS_REPL_MODE_C1__SHIFT) & A3XX_VPC_VARYING_PS_REPL_MODE_C1__MASK;
+}
+#define A3XX_VPC_VARYING_PS_REPL_MODE_C2__MASK                 0x00000030
+#define A3XX_VPC_VARYING_PS_REPL_MODE_C2__SHIFT                        4
+static inline uint32_t A3XX_VPC_VARYING_PS_REPL_MODE_C2(enum a3xx_repl_mode val)
+{
+       return ((val) << A3XX_VPC_VARYING_PS_REPL_MODE_C2__SHIFT) & A3XX_VPC_VARYING_PS_REPL_MODE_C2__MASK;
+}
+#define A3XX_VPC_VARYING_PS_REPL_MODE_C3__MASK                 0x000000c0
+#define A3XX_VPC_VARYING_PS_REPL_MODE_C3__SHIFT                        6
+static inline uint32_t A3XX_VPC_VARYING_PS_REPL_MODE_C3(enum a3xx_repl_mode val)
+{
+       return ((val) << A3XX_VPC_VARYING_PS_REPL_MODE_C3__SHIFT) & A3XX_VPC_VARYING_PS_REPL_MODE_C3__MASK;
+}
+#define A3XX_VPC_VARYING_PS_REPL_MODE_C4__MASK                 0x00000300
+#define A3XX_VPC_VARYING_PS_REPL_MODE_C4__SHIFT                        8
+static inline uint32_t A3XX_VPC_VARYING_PS_REPL_MODE_C4(enum a3xx_repl_mode val)
+{
+       return ((val) << A3XX_VPC_VARYING_PS_REPL_MODE_C4__SHIFT) & A3XX_VPC_VARYING_PS_REPL_MODE_C4__MASK;
+}
+#define A3XX_VPC_VARYING_PS_REPL_MODE_C5__MASK                 0x00000c00
+#define A3XX_VPC_VARYING_PS_REPL_MODE_C5__SHIFT                        10
+static inline uint32_t A3XX_VPC_VARYING_PS_REPL_MODE_C5(enum a3xx_repl_mode val)
+{
+       return ((val) << A3XX_VPC_VARYING_PS_REPL_MODE_C5__SHIFT) & A3XX_VPC_VARYING_PS_REPL_MODE_C5__MASK;
+}
+#define A3XX_VPC_VARYING_PS_REPL_MODE_C6__MASK                 0x00003000
+#define A3XX_VPC_VARYING_PS_REPL_MODE_C6__SHIFT                        12
+static inline uint32_t A3XX_VPC_VARYING_PS_REPL_MODE_C6(enum a3xx_repl_mode val)
+{
+       return ((val) << A3XX_VPC_VARYING_PS_REPL_MODE_C6__SHIFT) & A3XX_VPC_VARYING_PS_REPL_MODE_C6__MASK;
+}
+#define A3XX_VPC_VARYING_PS_REPL_MODE_C7__MASK                 0x0000c000
+#define A3XX_VPC_VARYING_PS_REPL_MODE_C7__SHIFT                        14
+static inline uint32_t A3XX_VPC_VARYING_PS_REPL_MODE_C7(enum a3xx_repl_mode val)
+{
+       return ((val) << A3XX_VPC_VARYING_PS_REPL_MODE_C7__SHIFT) & A3XX_VPC_VARYING_PS_REPL_MODE_C7__MASK;
+}
+#define A3XX_VPC_VARYING_PS_REPL_MODE_C8__MASK                 0x00030000
+#define A3XX_VPC_VARYING_PS_REPL_MODE_C8__SHIFT                        16
+static inline uint32_t A3XX_VPC_VARYING_PS_REPL_MODE_C8(enum a3xx_repl_mode val)
+{
+       return ((val) << A3XX_VPC_VARYING_PS_REPL_MODE_C8__SHIFT) & A3XX_VPC_VARYING_PS_REPL_MODE_C8__MASK;
+}
+#define A3XX_VPC_VARYING_PS_REPL_MODE_C9__MASK                 0x000c0000
+#define A3XX_VPC_VARYING_PS_REPL_MODE_C9__SHIFT                        18
+static inline uint32_t A3XX_VPC_VARYING_PS_REPL_MODE_C9(enum a3xx_repl_mode val)
+{
+       return ((val) << A3XX_VPC_VARYING_PS_REPL_MODE_C9__SHIFT) & A3XX_VPC_VARYING_PS_REPL_MODE_C9__MASK;
+}
+#define A3XX_VPC_VARYING_PS_REPL_MODE_CA__MASK                 0x00300000
+#define A3XX_VPC_VARYING_PS_REPL_MODE_CA__SHIFT                        20
+static inline uint32_t A3XX_VPC_VARYING_PS_REPL_MODE_CA(enum a3xx_repl_mode val)
+{
+       return ((val) << A3XX_VPC_VARYING_PS_REPL_MODE_CA__SHIFT) & A3XX_VPC_VARYING_PS_REPL_MODE_CA__MASK;
+}
+#define A3XX_VPC_VARYING_PS_REPL_MODE_CB__MASK                 0x00c00000
+#define A3XX_VPC_VARYING_PS_REPL_MODE_CB__SHIFT                        22
+static inline uint32_t A3XX_VPC_VARYING_PS_REPL_MODE_CB(enum a3xx_repl_mode val)
+{
+       return ((val) << A3XX_VPC_VARYING_PS_REPL_MODE_CB__SHIFT) & A3XX_VPC_VARYING_PS_REPL_MODE_CB__MASK;
+}
+#define A3XX_VPC_VARYING_PS_REPL_MODE_CC__MASK                 0x03000000
+#define A3XX_VPC_VARYING_PS_REPL_MODE_CC__SHIFT                        24
+static inline uint32_t A3XX_VPC_VARYING_PS_REPL_MODE_CC(enum a3xx_repl_mode val)
+{
+       return ((val) << A3XX_VPC_VARYING_PS_REPL_MODE_CC__SHIFT) & A3XX_VPC_VARYING_PS_REPL_MODE_CC__MASK;
+}
+#define A3XX_VPC_VARYING_PS_REPL_MODE_CD__MASK                 0x0c000000
+#define A3XX_VPC_VARYING_PS_REPL_MODE_CD__SHIFT                        26
+static inline uint32_t A3XX_VPC_VARYING_PS_REPL_MODE_CD(enum a3xx_repl_mode val)
+{
+       return ((val) << A3XX_VPC_VARYING_PS_REPL_MODE_CD__SHIFT) & A3XX_VPC_VARYING_PS_REPL_MODE_CD__MASK;
+}
+#define A3XX_VPC_VARYING_PS_REPL_MODE_CE__MASK                 0x30000000
+#define A3XX_VPC_VARYING_PS_REPL_MODE_CE__SHIFT                        28
+static inline uint32_t A3XX_VPC_VARYING_PS_REPL_MODE_CE(enum a3xx_repl_mode val)
+{
+       return ((val) << A3XX_VPC_VARYING_PS_REPL_MODE_CE__SHIFT) & A3XX_VPC_VARYING_PS_REPL_MODE_CE__MASK;
+}
+#define A3XX_VPC_VARYING_PS_REPL_MODE_CF__MASK                 0xc0000000
+#define A3XX_VPC_VARYING_PS_REPL_MODE_CF__SHIFT                        30
+static inline uint32_t A3XX_VPC_VARYING_PS_REPL_MODE_CF(enum a3xx_repl_mode val)
+{
+       return ((val) << A3XX_VPC_VARYING_PS_REPL_MODE_CF__SHIFT) & A3XX_VPC_VARYING_PS_REPL_MODE_CF__MASK;
+}
 
 #define REG_A3XX_VPC_VARY_CYLWRAP_ENABLE_0                     0x0000228a
 
@@ -1689,7 +2038,7 @@ static inline uint32_t A3XX_SP_VS_CTRL_REG1_CONSTFOOTPRINT(uint32_t val)
 {
        return ((val) << A3XX_SP_VS_CTRL_REG1_CONSTFOOTPRINT__SHIFT) & A3XX_SP_VS_CTRL_REG1_CONSTFOOTPRINT__MASK;
 }
-#define A3XX_SP_VS_CTRL_REG1_INITIALOUTSTANDING__MASK          0x3f000000
+#define A3XX_SP_VS_CTRL_REG1_INITIALOUTSTANDING__MASK          0x7f000000
 #define A3XX_SP_VS_CTRL_REG1_INITIALOUTSTANDING__SHIFT         24
 static inline uint32_t A3XX_SP_VS_CTRL_REG1_INITIALOUTSTANDING(uint32_t val)
 {
@@ -1903,6 +2252,12 @@ static inline uint32_t A3XX_SP_FS_OBJ_OFFSET_REG_SHADEROBJOFFSET(uint32_t val)
 #define REG_A3XX_SP_FS_FLAT_SHAD_MODE_REG_1                    0x000022e9
 
 #define REG_A3XX_SP_FS_OUTPUT_REG                              0x000022ec
+#define A3XX_SP_FS_OUTPUT_REG_MRT__MASK                                0x00000003
+#define A3XX_SP_FS_OUTPUT_REG_MRT__SHIFT                       0
+static inline uint32_t A3XX_SP_FS_OUTPUT_REG_MRT(uint32_t val)
+{
+       return ((val) << A3XX_SP_FS_OUTPUT_REG_MRT__SHIFT) & A3XX_SP_FS_OUTPUT_REG_MRT__MASK;
+}
 #define A3XX_SP_FS_OUTPUT_REG_DEPTH_ENABLE                     0x00000080
 #define A3XX_SP_FS_OUTPUT_REG_DEPTH_REGID__MASK                        0x0000ff00
 #define A3XX_SP_FS_OUTPUT_REG_DEPTH_REGID__SHIFT               8
@@ -1921,6 +2276,8 @@ static inline uint32_t A3XX_SP_FS_MRT_REG_REGID(uint32_t val)
        return ((val) << A3XX_SP_FS_MRT_REG_REGID__SHIFT) & A3XX_SP_FS_MRT_REG_REGID__MASK;
 }
 #define A3XX_SP_FS_MRT_REG_HALF_PRECISION                      0x00000100
+#define A3XX_SP_FS_MRT_REG_SINT                                        0x00000400
+#define A3XX_SP_FS_MRT_REG_UINT                                        0x00000800
 
 static inline uint32_t REG_A3XX_SP_FS_IMAGE_OUTPUT(uint32_t i0) { return 0x000022f4 + 0x1*i0; }
 
@@ -1940,6 +2297,8 @@ static inline uint32_t A3XX_SP_FS_LENGTH_REG_SHADERLENGTH(uint32_t val)
        return ((val) << A3XX_SP_FS_LENGTH_REG_SHADERLENGTH__SHIFT) & A3XX_SP_FS_LENGTH_REG_SHADERLENGTH__MASK;
 }
 
+#define REG_A3XX_PA_SC_AA_CONFIG                               0x00002301
+
 #define REG_A3XX_TPL1_TP_VS_TEX_OFFSET                         0x00002340
 #define A3XX_TPL1_TP_VS_TEX_OFFSET_SAMPLEROFFSET__MASK         0x000000ff
 #define A3XX_TPL1_TP_VS_TEX_OFFSET_SAMPLEROFFSET__SHIFT                0
@@ -2290,16 +2649,17 @@ static inline uint32_t A3XX_VGT_DRAW_INITIATOR_INDEX_SIZE(enum pc_di_index_size
 #define A3XX_VGT_DRAW_INITIATOR_NOT_EOP                                0x00001000
 #define A3XX_VGT_DRAW_INITIATOR_SMALL_INDEX                    0x00002000
 #define A3XX_VGT_DRAW_INITIATOR_PRE_DRAW_INITIATOR_ENABLE      0x00004000
-#define A3XX_VGT_DRAW_INITIATOR_NUM_INDICES__MASK              0xffff0000
-#define A3XX_VGT_DRAW_INITIATOR_NUM_INDICES__SHIFT             16
-static inline uint32_t A3XX_VGT_DRAW_INITIATOR_NUM_INDICES(uint32_t val)
+#define A3XX_VGT_DRAW_INITIATOR_NUM_INSTANCES__MASK            0xff000000
+#define A3XX_VGT_DRAW_INITIATOR_NUM_INSTANCES__SHIFT           24
+static inline uint32_t A3XX_VGT_DRAW_INITIATOR_NUM_INSTANCES(uint32_t val)
 {
-       return ((val) << A3XX_VGT_DRAW_INITIATOR_NUM_INDICES__SHIFT) & A3XX_VGT_DRAW_INITIATOR_NUM_INDICES__MASK;
+       return ((val) << A3XX_VGT_DRAW_INITIATOR_NUM_INSTANCES__SHIFT) & A3XX_VGT_DRAW_INITIATOR_NUM_INSTANCES__MASK;
 }
 
 #define REG_A3XX_VGT_IMMED_DATA                                        0x000021fd
 
 #define REG_A3XX_TEX_SAMP_0                                    0x00000000
+#define A3XX_TEX_SAMP_0_CLAMPENABLE                            0x00000001
 #define A3XX_TEX_SAMP_0_MIPFILTER_LINEAR                       0x00000002
 #define A3XX_TEX_SAMP_0_XY_MAG__MASK                           0x0000000c
 #define A3XX_TEX_SAMP_0_XY_MAG__SHIFT                          2
@@ -2331,26 +2691,39 @@ static inline uint32_t A3XX_TEX_SAMP_0_WRAP_R(enum a3xx_tex_clamp val)
 {
        return ((val) << A3XX_TEX_SAMP_0_WRAP_R__SHIFT) & A3XX_TEX_SAMP_0_WRAP_R__MASK;
 }
+#define A3XX_TEX_SAMP_0_ANISO__MASK                            0x00038000
+#define A3XX_TEX_SAMP_0_ANISO__SHIFT                           15
+static inline uint32_t A3XX_TEX_SAMP_0_ANISO(enum a3xx_tex_aniso val)
+{
+       return ((val) << A3XX_TEX_SAMP_0_ANISO__SHIFT) & A3XX_TEX_SAMP_0_ANISO__MASK;
+}
 #define A3XX_TEX_SAMP_0_COMPARE_FUNC__MASK                     0x00700000
 #define A3XX_TEX_SAMP_0_COMPARE_FUNC__SHIFT                    20
 static inline uint32_t A3XX_TEX_SAMP_0_COMPARE_FUNC(enum adreno_compare_func val)
 {
        return ((val) << A3XX_TEX_SAMP_0_COMPARE_FUNC__SHIFT) & A3XX_TEX_SAMP_0_COMPARE_FUNC__MASK;
 }
+#define A3XX_TEX_SAMP_0_CUBEMAPSEAMLESSFILTOFF                 0x01000000
 #define A3XX_TEX_SAMP_0_UNNORM_COORDS                          0x80000000
 
 #define REG_A3XX_TEX_SAMP_1                                    0x00000001
+#define A3XX_TEX_SAMP_1_LOD_BIAS__MASK                         0x000007ff
+#define A3XX_TEX_SAMP_1_LOD_BIAS__SHIFT                                0
+static inline uint32_t A3XX_TEX_SAMP_1_LOD_BIAS(float val)
+{
+       return ((((int32_t)(val * 64.0))) << A3XX_TEX_SAMP_1_LOD_BIAS__SHIFT) & A3XX_TEX_SAMP_1_LOD_BIAS__MASK;
+}
 #define A3XX_TEX_SAMP_1_MAX_LOD__MASK                          0x003ff000
 #define A3XX_TEX_SAMP_1_MAX_LOD__SHIFT                         12
 static inline uint32_t A3XX_TEX_SAMP_1_MAX_LOD(float val)
 {
-       return ((((uint32_t)(val * 12.0))) << A3XX_TEX_SAMP_1_MAX_LOD__SHIFT) & A3XX_TEX_SAMP_1_MAX_LOD__MASK;
+       return ((((uint32_t)(val * 64.0))) << A3XX_TEX_SAMP_1_MAX_LOD__SHIFT) & A3XX_TEX_SAMP_1_MAX_LOD__MASK;
 }
 #define A3XX_TEX_SAMP_1_MIN_LOD__MASK                          0xffc00000
 #define A3XX_TEX_SAMP_1_MIN_LOD__SHIFT                         22
 static inline uint32_t A3XX_TEX_SAMP_1_MIN_LOD(float val)
 {
-       return ((((uint32_t)(val * 12.0))) << A3XX_TEX_SAMP_1_MIN_LOD__SHIFT) & A3XX_TEX_SAMP_1_MIN_LOD__MASK;
+       return ((((uint32_t)(val * 64.0))) << A3XX_TEX_SAMP_1_MIN_LOD__SHIFT) & A3XX_TEX_SAMP_1_MIN_LOD__MASK;
 }
 
 #define REG_A3XX_TEX_CONST_0                                   0x00000000
@@ -2386,6 +2759,12 @@ static inline uint32_t A3XX_TEX_CONST_0_MIPLVLS(uint32_t val)
 {
        return ((val) << A3XX_TEX_CONST_0_MIPLVLS__SHIFT) & A3XX_TEX_CONST_0_MIPLVLS__MASK;
 }
+#define A3XX_TEX_CONST_0_MSAATEX__MASK                         0x00300000
+#define A3XX_TEX_CONST_0_MSAATEX__SHIFT                                20
+static inline uint32_t A3XX_TEX_CONST_0_MSAATEX(enum a3xx_tex_msaa val)
+{
+       return ((val) << A3XX_TEX_CONST_0_MSAATEX__SHIFT) & A3XX_TEX_CONST_0_MSAATEX__MASK;
+}
 #define A3XX_TEX_CONST_0_FMT__MASK                             0x1fc00000
 #define A3XX_TEX_CONST_0_FMT__SHIFT                            22
 static inline uint32_t A3XX_TEX_CONST_0_FMT(enum a3xx_tex_fmt val)
@@ -2421,7 +2800,7 @@ static inline uint32_t A3XX_TEX_CONST_1_FETCHSIZE(enum a3xx_tex_fetchsize val)
 }
 
 #define REG_A3XX_TEX_CONST_2                                   0x00000002
-#define A3XX_TEX_CONST_2_INDX__MASK                            0x000000ff
+#define A3XX_TEX_CONST_2_INDX__MASK                            0x000001ff
 #define A3XX_TEX_CONST_2_INDX__SHIFT                           0
 static inline uint32_t A3XX_TEX_CONST_2_INDX(uint32_t val)
 {
@@ -2441,6 +2820,24 @@ static inline uint32_t A3XX_TEX_CONST_2_SWAP(enum a3xx_color_swap val)
 }
 
 #define REG_A3XX_TEX_CONST_3                                   0x00000003
+#define A3XX_TEX_CONST_3_LAYERSZ1__MASK                                0x0001ffff
+#define A3XX_TEX_CONST_3_LAYERSZ1__SHIFT                       0
+static inline uint32_t A3XX_TEX_CONST_3_LAYERSZ1(uint32_t val)
+{
+       return ((val >> 12) << A3XX_TEX_CONST_3_LAYERSZ1__SHIFT) & A3XX_TEX_CONST_3_LAYERSZ1__MASK;
+}
+#define A3XX_TEX_CONST_3_DEPTH__MASK                           0x0ffe0000
+#define A3XX_TEX_CONST_3_DEPTH__SHIFT                          17
+static inline uint32_t A3XX_TEX_CONST_3_DEPTH(uint32_t val)
+{
+       return ((val) << A3XX_TEX_CONST_3_DEPTH__SHIFT) & A3XX_TEX_CONST_3_DEPTH__MASK;
+}
+#define A3XX_TEX_CONST_3_LAYERSZ2__MASK                                0xf0000000
+#define A3XX_TEX_CONST_3_LAYERSZ2__SHIFT                       28
+static inline uint32_t A3XX_TEX_CONST_3_LAYERSZ2(uint32_t val)
+{
+       return ((val >> 12) << A3XX_TEX_CONST_3_LAYERSZ2__SHIFT) & A3XX_TEX_CONST_3_LAYERSZ2__MASK;
+}
 
 
 #endif /* A3XX_XML */