#define S_030960_HW_USE_ONLY(x) (((unsigned)(x) & 0x1) << 23)
#define G_030960_HW_USE_ONLY(x) (((x) >> 23) & 0x1)
#define C_030960_HW_USE_ONLY 0xFF7FFFFF
-#define R_030964_VGT_OBJECT_ID 0x030964
#define R_030968_VGT_INSTANCE_BASE_ID 0x030968
#define R_030A00_PA_SU_LINE_STIPPLE_VALUE 0x030A00
#define S_030A00_LINE_STIPPLE_VALUE(x) (((unsigned)(x) & 0xFFFFFF) << 0)
#define S_030E04_ADDRESS(x) (((unsigned)(x) & 0xFF) << 0)
#define G_030E04_ADDRESS(x) (((x) >> 0) & 0xFF)
#define C_030E04_ADDRESS 0xFFFFFF00
-#define R_030E08_TA_GRAD_ADJ_UCONFIG 0x030E08
-#define S_030E08_GRAD_ADJ_0(x) (((unsigned)(x) & 0xFF) << 0)
-#define G_030E08_GRAD_ADJ_0(x) (((x) >> 0) & 0xFF)
-#define C_030E08_GRAD_ADJ_0 0xFFFFFF00
-#define S_030E08_GRAD_ADJ_1(x) (((unsigned)(x) & 0xFF) << 8)
-#define G_030E08_GRAD_ADJ_1(x) (((x) >> 8) & 0xFF)
-#define C_030E08_GRAD_ADJ_1 0xFFFF00FF
-#define S_030E08_GRAD_ADJ_2(x) (((unsigned)(x) & 0xFF) << 16)
-#define G_030E08_GRAD_ADJ_2(x) (((x) >> 16) & 0xFF)
-#define C_030E08_GRAD_ADJ_2 0xFF00FFFF
-#define S_030E08_GRAD_ADJ_3(x) (((unsigned)(x) & 0xFF) << 24)
-#define G_030E08_GRAD_ADJ_3(x) (((x) >> 24) & 0xFF)
-#define C_030E08_GRAD_ADJ_3 0x00FFFFFF
#define R_030F00_DB_OCCLUSION_COUNT0_LOW 0x030F00
#define R_008F00_SQ_BUF_RSRC_WORD0 0x008F00
#define R_030F04_DB_OCCLUSION_COUNT0_HI 0x030F04
#define V_008F14_IMG_DATA_FORMAT_RESERVED_56 0x38
#define V_008F14_IMG_DATA_FORMAT_4_4 0x39
#define V_008F14_IMG_DATA_FORMAT_6_5_5 0x3A
-#define V_008F14_IMG_DATA_S8_16 0x3B
-#define V_008F14_IMG_DATA_S8_32 0x3C
+#define V_008F14_IMG_DATA_FORMAT_S8_16 0x3B
+#define V_008F14_IMG_DATA_FORMAT_S8_32 0x3C
#define V_008F14_IMG_DATA_FORMAT_8_AS_32 0x3D
#define V_008F14_IMG_DATA_FORMAT_8_AS_32_32 0x3E
#define V_008F14_IMG_DATA_FORMAT_32_AS_32_32_32_32 0x3F
#define S_008F20_BC_SWIZZLE(x) (((unsigned)(x) & 0x07) << 29)
#define G_008F20_BC_SWIZZLE(x) (((x) >> 29) & 0x07)
#define C_008F20_BC_SWIZZLE 0x1FFFFFFF
+#define V_008F20_BC_SWIZZLE_XYZW 0
+#define V_008F20_BC_SWIZZLE_XWYZ 1
+#define V_008F20_BC_SWIZZLE_WZYX 2
+#define V_008F20_BC_SWIZZLE_WXYZ 3
+#define V_008F20_BC_SWIZZLE_ZYXW 4
+#define V_008F20_BC_SWIZZLE_YXWZ 5
#define R_008F24_SQ_IMG_RSRC_WORD5 0x008F24
#define S_008F24_BASE_ARRAY(x) (((unsigned)(x) & 0x1FFF) << 0)
#define G_008F24_BASE_ARRAY(x) (((x) >> 0) & 0x1FFF)
#define S_028060_PUNCHOUT_MODE(x) (((unsigned)(x) & 0x03) << 0)
#define G_028060_PUNCHOUT_MODE(x) (((x) >> 0) & 0x03)
#define C_028060_PUNCHOUT_MODE 0xFFFFFFFC
+#define V_028060_AUTO 0
+#define V_028060_FORCE_ON 1
+#define V_028060_FORCE_OFF 2
+#define V_028060_RESERVED 3
#define S_028060_POPS_DRAIN_PS_ON_OVERLAP(x) (((unsigned)(x) & 0x1) << 2)
#define G_028060_POPS_DRAIN_PS_ON_OVERLAP(x) (((x) >> 2) & 0x1)
#define C_028060_POPS_DRAIN_PS_ON_OVERLAP 0xFFFFFFFB
#define S_028060_DISALLOW_OVERFLOW(x) (((unsigned)(x) & 0x1) << 3)
#define G_028060_DISALLOW_OVERFLOW(x) (((x) >> 3) & 0x1)
#define C_028060_DISALLOW_OVERFLOW 0xFFFFFFF7
-#define R_028064_DB_RENDER_FILTER 0x028064
-#define S_028064_PS_INVOKE_MASK(x) (((unsigned)(x) & 0xFFFF) << 0)
-#define G_028064_PS_INVOKE_MASK(x) (((x) >> 0) & 0xFFFF)
-#define C_028064_PS_INVOKE_MASK 0xFFFF0000
#define R_028068_DB_Z_INFO2 0x028068
#define S_028068_EPITCH(x) (((unsigned)(x) & 0xFFFF) << 0)
#define G_028068_EPITCH(x) (((x) >> 0) & 0xFFFF)
#define S_02835C_NUM_RB_PER_SE(x) (((unsigned)(x) & 0x03) << 5)
#define G_02835C_NUM_RB_PER_SE(x) (((x) >> 5) & 0x03)
#define C_02835C_NUM_RB_PER_SE 0xFFFFFF9F
-#define S_02835C_DISABLE_SRBSL_DB_OPTIMIZED_PACKING(x) (((unsigned)(x) & 0x1) << 8)
-#define G_02835C_DISABLE_SRBSL_DB_OPTIMIZED_PACKING(x) (((x) >> 8) & 0x1)
-#define C_02835C_DISABLE_SRBSL_DB_OPTIMIZED_PACKING 0xFFFFFEFF
#define R_028360_CP_PERFMON_CNTX_CNTL 0x028360
#define S_028360_PERFMON_ENABLE(x) (((unsigned)(x) & 0x1) << 31)
#define G_028360_PERFMON_ENABLE(x) (((x) >> 31) & 0x1)
#define S_0283A8_BOT_QTR(x) (((unsigned)(x) & 0xFF) << 24)
#define G_0283A8_BOT_QTR(x) (((x) >> 24) & 0xFF)
#define C_0283A8_BOT_QTR 0x00FFFFFF
-#define R_0283AC_PA_SC_FOV_WINDOW_LR 0x0283AC
-#define S_0283AC_LEFT_EYE_FOV_LEFT(x) (((unsigned)(x) & 0xFF) << 0)
-#define G_0283AC_LEFT_EYE_FOV_LEFT(x) (((x) >> 0) & 0xFF)
-#define C_0283AC_LEFT_EYE_FOV_LEFT 0xFFFFFF00
-#define S_0283AC_LEFT_EYE_FOV_RIGHT(x) (((unsigned)(x) & 0xFF) << 8)
-#define G_0283AC_LEFT_EYE_FOV_RIGHT(x) (((x) >> 8) & 0xFF)
-#define C_0283AC_LEFT_EYE_FOV_RIGHT 0xFFFF00FF
-#define S_0283AC_RIGHT_EYE_FOV_LEFT(x) (((unsigned)(x) & 0xFF) << 16)
-#define G_0283AC_RIGHT_EYE_FOV_LEFT(x) (((x) >> 16) & 0xFF)
-#define C_0283AC_RIGHT_EYE_FOV_LEFT 0xFF00FFFF
-#define S_0283AC_RIGHT_EYE_FOV_RIGHT(x) (((unsigned)(x) & 0xFF) << 24)
-#define G_0283AC_RIGHT_EYE_FOV_RIGHT(x) (((x) >> 24) & 0xFF)
-#define C_0283AC_RIGHT_EYE_FOV_RIGHT 0x00FFFFFF
-#define R_0283B0_PA_SC_FOV_WINDOW_TB 0x0283B0
-#define S_0283B0_FOV_TOP(x) (((unsigned)(x) & 0xFF) << 0)
-#define G_0283B0_FOV_TOP(x) (((x) >> 0) & 0xFF)
-#define C_0283B0_FOV_TOP 0xFFFFFF00
-#define S_0283B0_FOV_BOT(x) (((unsigned)(x) & 0xFF) << 8)
-#define G_0283B0_FOV_BOT(x) (((x) >> 8) & 0xFF)
-#define C_0283B0_FOV_BOT 0xFFFF00FF
#define R_02840C_VGT_MULTI_PRIM_IB_RESET_INDX 0x02840C
#define R_028414_CB_BLEND_RED 0x028414
#define R_028418_CB_BLEND_GREEN 0x028418
#define S_028424_OVERWRITE_COMBINER_WATERMARK(x) (((unsigned)(x) & 0x1F) << 2)
#define G_028424_OVERWRITE_COMBINER_WATERMARK(x) (((x) >> 2) & 0x1F)
#define C_028424_OVERWRITE_COMBINER_WATERMARK 0xFFFFFF83
+#define S_028424_DISABLE_CONSTANT_ENCODE_REG(x) (((unsigned)(x) & 0x1) << 10) /* Raven2+ */
+#define G_028424_DISABLE_CONSTANT_ENCODE_REG(x) (((x) >> 10) & 0x1)
+#define C_028424_DISABLE_CONSTANT_ENCODE_REG 0xFFFFFBFF
#define R_02842C_DB_STENCIL_CONTROL 0x02842C
#define S_02842C_STENCILFAIL(x) (((unsigned)(x) & 0x0F) << 0)
#define G_02842C_STENCILFAIL(x) (((x) >> 0) & 0x0F)
#define S_028830_RECTANGLE_FILTER_DISABLE(x) (((unsigned)(x) & 0x1) << 4)
#define G_028830_RECTANGLE_FILTER_DISABLE(x) (((x) >> 4) & 0x1)
#define C_028830_RECTANGLE_FILTER_DISABLE 0xFFFFFFEF
-#define S_028830_SRBSL_ENABLE(x) (((unsigned)(x) & 0x1) << 5)
-#define G_028830_SRBSL_ENABLE(x) (((x) >> 5) & 0x1)
-#define C_028830_SRBSL_ENABLE 0xFFFFFFDF
#define R_028834_PA_CL_OBJPRIM_ID_CNTL 0x028834
#define S_028834_OBJ_ID_SEL(x) (((unsigned)(x) & 0x1) << 0)
#define G_028834_OBJ_ID_SEL(x) (((x) >> 0) & 0x1)
#define S_02883C_USE_PROVOKING_ZW(x) (((unsigned)(x) & 0x1) << 4)
#define G_02883C_USE_PROVOKING_ZW(x) (((x) >> 4) & 0x1)
#define C_02883C_USE_PROVOKING_ZW 0xFFFFFFEF
+#define R_028840_PA_STEREO_CNTL 0x028840
#define R_028A00_PA_SU_POINT_SIZE 0x028A00
#define S_028A00_HEIGHT(x) (((unsigned)(x) & 0xFFFF) << 0)
#define G_028A00_HEIGHT(x) (((x) >> 0) & 0xFFFF)
#define S_028A98_OBJECT_ID_INST_EN(x) (((unsigned)(x) & 0x1) << 3)
#define G_028A98_OBJECT_ID_INST_EN(x) (((x) >> 3) & 0x1)
#define C_028A98_OBJECT_ID_INST_EN 0xFFFFFFF7
-#define R_028A9C_VGT_INDEX_PAYLOAD_CNTL 0x028A9C
-#define S_028A9C_COMPOUND_INDEX_EN(x) (((unsigned)(x) & 0x1) << 0)
-#define G_028A9C_COMPOUND_INDEX_EN(x) (((x) >> 0) & 0x1)
-#define C_028A9C_COMPOUND_INDEX_EN 0xFFFFFFFE
#define R_028AA0_VGT_INSTANCE_STEP_RATE_0 0x028AA0
#define R_028AA4_VGT_INSTANCE_STEP_RATE_1 0x028AA4
#define R_028AAC_VGT_ESGS_RING_ITEMSIZE 0x028AAC
#define S_028C44_BINNING_MODE(x) (((unsigned)(x) & 0x03) << 0)
#define G_028C44_BINNING_MODE(x) (((x) >> 0) & 0x03)
#define C_028C44_BINNING_MODE 0xFFFFFFFC
+#define V_028C44_BINNING_ALLOWED 0
+#define V_028C44_FORCE_BINNING_ON 1
+#define V_028C44_DISABLE_BINNING_USE_NEW_SC 2
+#define V_028C44_DISABLE_BINNING_USE_LEGACY_SC 3
#define S_028C44_BIN_SIZE_X(x) (((unsigned)(x) & 0x1) << 2)
#define G_028C44_BIN_SIZE_X(x) (((x) >> 2) & 0x1)
#define C_028C44_BIN_SIZE_X 0xFFFFFFFB