#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 */
