37,6 → 37,15 |
#define EVERGREEN_MAX_PIPES_MASK 0xFF |
#define EVERGREEN_MAX_LDS_NUM 0xFFFF |
|
#define CYPRESS_GB_ADDR_CONFIG_GOLDEN 0x02011003 |
#define BARTS_GB_ADDR_CONFIG_GOLDEN 0x02011003 |
#define CAYMAN_GB_ADDR_CONFIG_GOLDEN 0x02011003 |
#define JUNIPER_GB_ADDR_CONFIG_GOLDEN 0x02010002 |
#define REDWOOD_GB_ADDR_CONFIG_GOLDEN 0x02010002 |
#define TURKS_GB_ADDR_CONFIG_GOLDEN 0x02010002 |
#define CEDAR_GB_ADDR_CONFIG_GOLDEN 0x02010001 |
#define CAICOS_GB_ADDR_CONFIG_GOLDEN 0x02010001 |
|
/* Registers */ |
|
#define RCU_IND_INDEX 0x100 |
54,6 → 63,7 |
#define BACKEND_DISABLE(x) ((x) << 16) |
#define GB_ADDR_CONFIG 0x98F8 |
#define NUM_PIPES(x) ((x) << 0) |
#define NUM_PIPES_MASK 0x0000000f |
#define PIPE_INTERLEAVE_SIZE(x) ((x) << 4) |
#define BANK_INTERLEAVE_SIZE(x) ((x) << 8) |
#define NUM_SHADER_ENGINES(x) ((x) << 12) |
77,6 → 87,15 |
|
#define CONFIG_MEMSIZE 0x5428 |
|
#define BIF_FB_EN 0x5490 |
#define FB_READ_EN (1 << 0) |
#define FB_WRITE_EN (1 << 1) |
|
#define CP_COHER_BASE 0x85F8 |
#define CP_STALLED_STAT1 0x8674 |
#define CP_STALLED_STAT2 0x8678 |
#define CP_BUSY_STAT 0x867C |
#define CP_STAT 0x8680 |
#define CP_ME_CNTL 0x86D8 |
#define CP_ME_HALT (1 << 28) |
#define CP_PFP_HALT (1 << 26) |
108,9 → 127,230 |
#define CP_RB_WPTR_ADDR_HI 0xC11C |
#define CP_RB_WPTR_DELAY 0x8704 |
#define CP_SEM_WAIT_TIMER 0x85BC |
#define CP_SEM_INCOMPLETE_TIMER_CNTL 0x85C8 |
#define CP_DEBUG 0xC1FC |
|
/* Audio clocks */ |
#define DCCG_AUDIO_DTO_SOURCE 0x05ac |
# define DCCG_AUDIO_DTO0_SOURCE_SEL(x) ((x) << 0) /* crtc0 - crtc5 */ |
# define DCCG_AUDIO_DTO_SEL (1 << 4) /* 0=dto0 1=dto1 */ |
|
#define DCCG_AUDIO_DTO0_PHASE 0x05b0 |
#define DCCG_AUDIO_DTO0_MODULE 0x05b4 |
#define DCCG_AUDIO_DTO0_LOAD 0x05b8 |
#define DCCG_AUDIO_DTO0_CNTL 0x05bc |
|
#define DCCG_AUDIO_DTO1_PHASE 0x05c0 |
#define DCCG_AUDIO_DTO1_MODULE 0x05c4 |
#define DCCG_AUDIO_DTO1_LOAD 0x05c8 |
#define DCCG_AUDIO_DTO1_CNTL 0x05cc |
|
/* DCE 4.0 AFMT */ |
#define HDMI_CONTROL 0x7030 |
# define HDMI_KEEPOUT_MODE (1 << 0) |
# define HDMI_PACKET_GEN_VERSION (1 << 4) /* 0 = r6xx compat */ |
# define HDMI_ERROR_ACK (1 << 8) |
# define HDMI_ERROR_MASK (1 << 9) |
# define HDMI_DEEP_COLOR_ENABLE (1 << 24) |
# define HDMI_DEEP_COLOR_DEPTH (((x) & 3) << 28) |
# define HDMI_24BIT_DEEP_COLOR 0 |
# define HDMI_30BIT_DEEP_COLOR 1 |
# define HDMI_36BIT_DEEP_COLOR 2 |
#define HDMI_STATUS 0x7034 |
# define HDMI_ACTIVE_AVMUTE (1 << 0) |
# define HDMI_AUDIO_PACKET_ERROR (1 << 16) |
# define HDMI_VBI_PACKET_ERROR (1 << 20) |
#define HDMI_AUDIO_PACKET_CONTROL 0x7038 |
# define HDMI_AUDIO_DELAY_EN(x) (((x) & 3) << 4) |
# define HDMI_AUDIO_PACKETS_PER_LINE(x) (((x) & 0x1f) << 16) |
#define HDMI_ACR_PACKET_CONTROL 0x703c |
# define HDMI_ACR_SEND (1 << 0) |
# define HDMI_ACR_CONT (1 << 1) |
# define HDMI_ACR_SELECT(x) (((x) & 3) << 4) |
# define HDMI_ACR_HW 0 |
# define HDMI_ACR_32 1 |
# define HDMI_ACR_44 2 |
# define HDMI_ACR_48 3 |
# define HDMI_ACR_SOURCE (1 << 8) /* 0 - hw; 1 - cts value */ |
# define HDMI_ACR_AUTO_SEND (1 << 12) |
# define HDMI_ACR_N_MULTIPLE(x) (((x) & 7) << 16) |
# define HDMI_ACR_X1 1 |
# define HDMI_ACR_X2 2 |
# define HDMI_ACR_X4 4 |
# define HDMI_ACR_AUDIO_PRIORITY (1 << 31) |
#define HDMI_VBI_PACKET_CONTROL 0x7040 |
# define HDMI_NULL_SEND (1 << 0) |
# define HDMI_GC_SEND (1 << 4) |
# define HDMI_GC_CONT (1 << 5) /* 0 - once; 1 - every frame */ |
#define HDMI_INFOFRAME_CONTROL0 0x7044 |
# define HDMI_AVI_INFO_SEND (1 << 0) |
# define HDMI_AVI_INFO_CONT (1 << 1) |
# define HDMI_AUDIO_INFO_SEND (1 << 4) |
# define HDMI_AUDIO_INFO_CONT (1 << 5) |
# define HDMI_MPEG_INFO_SEND (1 << 8) |
# define HDMI_MPEG_INFO_CONT (1 << 9) |
#define HDMI_INFOFRAME_CONTROL1 0x7048 |
# define HDMI_AVI_INFO_LINE(x) (((x) & 0x3f) << 0) |
# define HDMI_AUDIO_INFO_LINE(x) (((x) & 0x3f) << 8) |
# define HDMI_MPEG_INFO_LINE(x) (((x) & 0x3f) << 16) |
#define HDMI_GENERIC_PACKET_CONTROL 0x704c |
# define HDMI_GENERIC0_SEND (1 << 0) |
# define HDMI_GENERIC0_CONT (1 << 1) |
# define HDMI_GENERIC1_SEND (1 << 4) |
# define HDMI_GENERIC1_CONT (1 << 5) |
# define HDMI_GENERIC0_LINE(x) (((x) & 0x3f) << 16) |
# define HDMI_GENERIC1_LINE(x) (((x) & 0x3f) << 24) |
#define HDMI_GC 0x7058 |
# define HDMI_GC_AVMUTE (1 << 0) |
# define HDMI_GC_AVMUTE_CONT (1 << 2) |
#define AFMT_AUDIO_PACKET_CONTROL2 0x705c |
# define AFMT_AUDIO_LAYOUT_OVRD (1 << 0) |
# define AFMT_AUDIO_LAYOUT_SELECT (1 << 1) |
# define AFMT_60958_CS_SOURCE (1 << 4) |
# define AFMT_AUDIO_CHANNEL_ENABLE(x) (((x) & 0xff) << 8) |
# define AFMT_DP_AUDIO_STREAM_ID(x) (((x) & 0xff) << 16) |
#define AFMT_AVI_INFO0 0x7084 |
# define AFMT_AVI_INFO_CHECKSUM(x) (((x) & 0xff) << 0) |
# define AFMT_AVI_INFO_S(x) (((x) & 3) << 8) |
# define AFMT_AVI_INFO_B(x) (((x) & 3) << 10) |
# define AFMT_AVI_INFO_A(x) (((x) & 1) << 12) |
# define AFMT_AVI_INFO_Y(x) (((x) & 3) << 13) |
# define AFMT_AVI_INFO_Y_RGB 0 |
# define AFMT_AVI_INFO_Y_YCBCR422 1 |
# define AFMT_AVI_INFO_Y_YCBCR444 2 |
# define AFMT_AVI_INFO_Y_A_B_S(x) (((x) & 0xff) << 8) |
# define AFMT_AVI_INFO_R(x) (((x) & 0xf) << 16) |
# define AFMT_AVI_INFO_M(x) (((x) & 0x3) << 20) |
# define AFMT_AVI_INFO_C(x) (((x) & 0x3) << 22) |
# define AFMT_AVI_INFO_C_M_R(x) (((x) & 0xff) << 16) |
# define AFMT_AVI_INFO_SC(x) (((x) & 0x3) << 24) |
# define AFMT_AVI_INFO_Q(x) (((x) & 0x3) << 26) |
# define AFMT_AVI_INFO_EC(x) (((x) & 0x3) << 28) |
# define AFMT_AVI_INFO_ITC(x) (((x) & 0x1) << 31) |
# define AFMT_AVI_INFO_ITC_EC_Q_SC(x) (((x) & 0xff) << 24) |
#define AFMT_AVI_INFO1 0x7088 |
# define AFMT_AVI_INFO_VIC(x) (((x) & 0x7f) << 0) /* don't use avi infoframe v1 */ |
# define AFMT_AVI_INFO_PR(x) (((x) & 0xf) << 8) /* don't use avi infoframe v1 */ |
# define AFMT_AVI_INFO_CN(x) (((x) & 0x3) << 12) |
# define AFMT_AVI_INFO_YQ(x) (((x) & 0x3) << 14) |
# define AFMT_AVI_INFO_TOP(x) (((x) & 0xffff) << 16) |
#define AFMT_AVI_INFO2 0x708c |
# define AFMT_AVI_INFO_BOTTOM(x) (((x) & 0xffff) << 0) |
# define AFMT_AVI_INFO_LEFT(x) (((x) & 0xffff) << 16) |
#define AFMT_AVI_INFO3 0x7090 |
# define AFMT_AVI_INFO_RIGHT(x) (((x) & 0xffff) << 0) |
# define AFMT_AVI_INFO_VERSION(x) (((x) & 3) << 24) |
#define AFMT_MPEG_INFO0 0x7094 |
# define AFMT_MPEG_INFO_CHECKSUM(x) (((x) & 0xff) << 0) |
# define AFMT_MPEG_INFO_MB0(x) (((x) & 0xff) << 8) |
# define AFMT_MPEG_INFO_MB1(x) (((x) & 0xff) << 16) |
# define AFMT_MPEG_INFO_MB2(x) (((x) & 0xff) << 24) |
#define AFMT_MPEG_INFO1 0x7098 |
# define AFMT_MPEG_INFO_MB3(x) (((x) & 0xff) << 0) |
# define AFMT_MPEG_INFO_MF(x) (((x) & 3) << 8) |
# define AFMT_MPEG_INFO_FR(x) (((x) & 1) << 12) |
#define AFMT_GENERIC0_HDR 0x709c |
#define AFMT_GENERIC0_0 0x70a0 |
#define AFMT_GENERIC0_1 0x70a4 |
#define AFMT_GENERIC0_2 0x70a8 |
#define AFMT_GENERIC0_3 0x70ac |
#define AFMT_GENERIC0_4 0x70b0 |
#define AFMT_GENERIC0_5 0x70b4 |
#define AFMT_GENERIC0_6 0x70b8 |
#define AFMT_GENERIC1_HDR 0x70bc |
#define AFMT_GENERIC1_0 0x70c0 |
#define AFMT_GENERIC1_1 0x70c4 |
#define AFMT_GENERIC1_2 0x70c8 |
#define AFMT_GENERIC1_3 0x70cc |
#define AFMT_GENERIC1_4 0x70d0 |
#define AFMT_GENERIC1_5 0x70d4 |
#define AFMT_GENERIC1_6 0x70d8 |
#define HDMI_ACR_32_0 0x70dc |
# define HDMI_ACR_CTS_32(x) (((x) & 0xfffff) << 12) |
#define HDMI_ACR_32_1 0x70e0 |
# define HDMI_ACR_N_32(x) (((x) & 0xfffff) << 0) |
#define HDMI_ACR_44_0 0x70e4 |
# define HDMI_ACR_CTS_44(x) (((x) & 0xfffff) << 12) |
#define HDMI_ACR_44_1 0x70e8 |
# define HDMI_ACR_N_44(x) (((x) & 0xfffff) << 0) |
#define HDMI_ACR_48_0 0x70ec |
# define HDMI_ACR_CTS_48(x) (((x) & 0xfffff) << 12) |
#define HDMI_ACR_48_1 0x70f0 |
# define HDMI_ACR_N_48(x) (((x) & 0xfffff) << 0) |
#define HDMI_ACR_STATUS_0 0x70f4 |
#define HDMI_ACR_STATUS_1 0x70f8 |
#define AFMT_AUDIO_INFO0 0x70fc |
# define AFMT_AUDIO_INFO_CHECKSUM(x) (((x) & 0xff) << 0) |
# define AFMT_AUDIO_INFO_CC(x) (((x) & 7) << 8) |
# define AFMT_AUDIO_INFO_CT(x) (((x) & 0xf) << 11) |
# define AFMT_AUDIO_INFO_CHECKSUM_OFFSET(x) (((x) & 0xff) << 16) |
# define AFMT_AUDIO_INFO_CXT(x) (((x) & 0x1f) << 24) |
#define AFMT_AUDIO_INFO1 0x7100 |
# define AFMT_AUDIO_INFO_CA(x) (((x) & 0xff) << 0) |
# define AFMT_AUDIO_INFO_LSV(x) (((x) & 0xf) << 11) |
# define AFMT_AUDIO_INFO_DM_INH(x) (((x) & 1) << 15) |
# define AFMT_AUDIO_INFO_DM_INH_LSV(x) (((x) & 0xff) << 8) |
# define AFMT_AUDIO_INFO_LFEBPL(x) (((x) & 3) << 16) |
#define AFMT_60958_0 0x7104 |
# define AFMT_60958_CS_A(x) (((x) & 1) << 0) |
# define AFMT_60958_CS_B(x) (((x) & 1) << 1) |
# define AFMT_60958_CS_C(x) (((x) & 1) << 2) |
# define AFMT_60958_CS_D(x) (((x) & 3) << 3) |
# define AFMT_60958_CS_MODE(x) (((x) & 3) << 6) |
# define AFMT_60958_CS_CATEGORY_CODE(x) (((x) & 0xff) << 8) |
# define AFMT_60958_CS_SOURCE_NUMBER(x) (((x) & 0xf) << 16) |
# define AFMT_60958_CS_CHANNEL_NUMBER_L(x) (((x) & 0xf) << 20) |
# define AFMT_60958_CS_SAMPLING_FREQUENCY(x) (((x) & 0xf) << 24) |
# define AFMT_60958_CS_CLOCK_ACCURACY(x) (((x) & 3) << 28) |
#define AFMT_60958_1 0x7108 |
# define AFMT_60958_CS_WORD_LENGTH(x) (((x) & 0xf) << 0) |
# define AFMT_60958_CS_ORIGINAL_SAMPLING_FREQUENCY(x) (((x) & 0xf) << 4) |
# define AFMT_60958_CS_VALID_L(x) (((x) & 1) << 16) |
# define AFMT_60958_CS_VALID_R(x) (((x) & 1) << 18) |
# define AFMT_60958_CS_CHANNEL_NUMBER_R(x) (((x) & 0xf) << 20) |
#define AFMT_AUDIO_CRC_CONTROL 0x710c |
# define AFMT_AUDIO_CRC_EN (1 << 0) |
#define AFMT_RAMP_CONTROL0 0x7110 |
# define AFMT_RAMP_MAX_COUNT(x) (((x) & 0xffffff) << 0) |
# define AFMT_RAMP_DATA_SIGN (1 << 31) |
#define AFMT_RAMP_CONTROL1 0x7114 |
# define AFMT_RAMP_MIN_COUNT(x) (((x) & 0xffffff) << 0) |
# define AFMT_AUDIO_TEST_CH_DISABLE(x) (((x) & 0xff) << 24) |
#define AFMT_RAMP_CONTROL2 0x7118 |
# define AFMT_RAMP_INC_COUNT(x) (((x) & 0xffffff) << 0) |
#define AFMT_RAMP_CONTROL3 0x711c |
# define AFMT_RAMP_DEC_COUNT(x) (((x) & 0xffffff) << 0) |
#define AFMT_60958_2 0x7120 |
# define AFMT_60958_CS_CHANNEL_NUMBER_2(x) (((x) & 0xf) << 0) |
# define AFMT_60958_CS_CHANNEL_NUMBER_3(x) (((x) & 0xf) << 4) |
# define AFMT_60958_CS_CHANNEL_NUMBER_4(x) (((x) & 0xf) << 8) |
# define AFMT_60958_CS_CHANNEL_NUMBER_5(x) (((x) & 0xf) << 12) |
# define AFMT_60958_CS_CHANNEL_NUMBER_6(x) (((x) & 0xf) << 16) |
# define AFMT_60958_CS_CHANNEL_NUMBER_7(x) (((x) & 0xf) << 20) |
#define AFMT_STATUS 0x7128 |
# define AFMT_AUDIO_ENABLE (1 << 4) |
# define AFMT_AUDIO_HBR_ENABLE (1 << 8) |
# define AFMT_AZ_FORMAT_WTRIG (1 << 28) |
# define AFMT_AZ_FORMAT_WTRIG_INT (1 << 29) |
# define AFMT_AZ_AUDIO_ENABLE_CHG (1 << 30) |
#define AFMT_AUDIO_PACKET_CONTROL 0x712c |
# define AFMT_AUDIO_SAMPLE_SEND (1 << 0) |
# define AFMT_RESET_FIFO_WHEN_AUDIO_DIS (1 << 11) /* set to 1 */ |
# define AFMT_AUDIO_TEST_EN (1 << 12) |
# define AFMT_AUDIO_CHANNEL_SWAP (1 << 24) |
# define AFMT_60958_CS_UPDATE (1 << 26) |
# define AFMT_AZ_AUDIO_ENABLE_CHG_MASK (1 << 27) |
# define AFMT_AZ_FORMAT_WTRIG_MASK (1 << 28) |
# define AFMT_AZ_FORMAT_WTRIG_ACK (1 << 29) |
# define AFMT_AZ_AUDIO_ENABLE_CHG_ACK (1 << 30) |
#define AFMT_VBI_PACKET_CONTROL 0x7130 |
# define AFMT_GENERIC0_UPDATE (1 << 2) |
#define AFMT_INFOFRAME_CONTROL0 0x7134 |
# define AFMT_AUDIO_INFO_SOURCE (1 << 6) /* 0 - sound block; 1 - afmt regs */ |
# define AFMT_AUDIO_INFO_UPDATE (1 << 7) |
# define AFMT_MPEG_INFO_UPDATE (1 << 10) |
#define AFMT_GENERIC0_7 0x7138 |
|
#define GC_USER_SHADER_PIPE_CONFIG 0x8954 |
#define INACTIVE_QD_PIPES(x) ((x) << 8) |
#define INACTIVE_QD_PIPES_MASK 0x0000FF00 |
194,6 → 434,9 |
#define NOOFCHAN_MASK 0x00003000 |
#define MC_SHARED_CHREMAP 0x2008 |
|
#define MC_SHARED_BLACKOUT_CNTL 0x20ac |
#define BLACKOUT_MODE_MASK 0x00000007 |
|
#define MC_ARB_RAMCFG 0x2760 |
#define NOOFBANK_SHIFT 0 |
#define NOOFBANK_MASK 0x00000003 |
230,6 → 473,7 |
#define MC_VM_MD_L1_TLB0_CNTL 0x2654 |
#define MC_VM_MD_L1_TLB1_CNTL 0x2658 |
#define MC_VM_MD_L1_TLB2_CNTL 0x265C |
#define MC_VM_MD_L1_TLB3_CNTL 0x2698 |
|
#define FUS_MC_VM_MD_L1_TLB0_CNTL 0x265C |
#define FUS_MC_VM_MD_L1_TLB1_CNTL 0x2660 |
242,6 → 486,7 |
#define PA_CL_ENHANCE 0x8A14 |
#define CLIP_VTX_REORDER_ENA (1 << 0) |
#define NUM_CLIP_SEQ(x) ((x) << 1) |
#define PA_SC_ENHANCE 0x8BF0 |
#define PA_SC_AA_CONFIG 0x28C04 |
#define MSAA_NUM_SAMPLES_SHIFT 0 |
#define MSAA_NUM_SAMPLES_MASK 0x3 |
269,6 → 514,7 |
#define SCRATCH_UMSK 0x8540 |
#define SCRATCH_ADDR 0x8544 |
|
#define SMX_SAR_CTL0 0xA008 |
#define SMX_DC_CTL0 0xA020 |
#define USE_HASH_FUNCTION (1 << 0) |
#define NUMBER_OF_SETS(x) ((x) << 1) |
319,6 → 565,8 |
#define SQ_GPR_RESOURCE_MGMT_3 0x8C0C |
#define NUM_HS_GPRS(x) ((x) << 0) |
#define NUM_LS_GPRS(x) ((x) << 16) |
#define SQ_GLOBAL_GPR_RESOURCE_MGMT_1 0x8C10 |
#define SQ_GLOBAL_GPR_RESOURCE_MGMT_2 0x8C14 |
#define SQ_THREAD_RESOURCE_MGMT 0x8C18 |
#define NUM_PS_THREADS(x) ((x) << 0) |
#define NUM_VS_THREADS(x) ((x) << 8) |
337,6 → 585,10 |
#define NUM_HS_STACK_ENTRIES(x) ((x) << 0) |
#define NUM_LS_STACK_ENTRIES(x) ((x) << 16) |
#define SQ_DYN_GPR_CNTL_PS_FLUSH_REQ 0x8D8C |
#define SQ_DYN_GPR_SIMD_LOCK_EN 0x8D94 |
#define SQ_STATIC_THREAD_MGMT_1 0x8E20 |
#define SQ_STATIC_THREAD_MGMT_2 0x8E24 |
#define SQ_STATIC_THREAD_MGMT_3 0x8E28 |
#define SQ_LDS_RESOURCE_MGMT 0x8E2C |
|
#define SQ_MS_FIFO_SIZES 0x8CF0 |
691,6 → 943,7 |
#define PACKET3_DRAW_INDEX_MULTI_ELEMENT 0x36 |
#define PACKET3_MEM_SEMAPHORE 0x39 |
#define PACKET3_MPEG_INDEX 0x3A |
#define PACKET3_COPY_DW 0x3B |
#define PACKET3_WAIT_REG_MEM 0x3C |
#define PACKET3_MEM_WRITE 0x3D |
#define PACKET3_INDIRECT_BUFFER 0x32 |
768,6 → 1021,8 |
#define SQ_TEX_VTX_VALID_TEXTURE 0x2 |
#define SQ_TEX_VTX_VALID_BUFFER 0x3 |
|
#define VGT_VTX_VECT_EJECT_REG 0x88b0 |
|
#define SQ_CONST_MEM_BASE 0x8df8 |
|
#define SQ_ESGS_RING_BASE 0x8c40 |
892,19 → 1147,162 |
#define PA_SC_SCREEN_SCISSOR_TL 0x28030 |
#define PA_SC_GENERIC_SCISSOR_TL 0x28240 |
#define PA_SC_WINDOW_SCISSOR_TL 0x28204 |
|
#define VGT_PRIMITIVE_TYPE 0x8958 |
#define VGT_INDEX_TYPE 0x895C |
|
#define VGT_NUM_INDICES 0x8970 |
|
#define VGT_COMPUTE_DIM_X 0x8990 |
#define VGT_COMPUTE_DIM_Y 0x8994 |
#define VGT_COMPUTE_DIM_Z 0x8998 |
#define VGT_COMPUTE_START_X 0x899C |
#define VGT_COMPUTE_START_Y 0x89A0 |
#define VGT_COMPUTE_START_Z 0x89A4 |
#define VGT_COMPUTE_INDEX 0x89A8 |
#define VGT_COMPUTE_THREAD_GROUP_SIZE 0x89AC |
#define VGT_HS_OFFCHIP_PARAM 0x89B0 |
|
#define DB_DEBUG 0x9830 |
#define DB_DEBUG2 0x9834 |
#define DB_DEBUG3 0x9838 |
#define DB_DEBUG4 0x983C |
#define DB_WATERMARKS 0x9854 |
#define DB_DEPTH_CONTROL 0x28800 |
#define R_028800_DB_DEPTH_CONTROL 0x028800 |
#define S_028800_STENCIL_ENABLE(x) (((x) & 0x1) << 0) |
#define G_028800_STENCIL_ENABLE(x) (((x) >> 0) & 0x1) |
#define C_028800_STENCIL_ENABLE 0xFFFFFFFE |
#define S_028800_Z_ENABLE(x) (((x) & 0x1) << 1) |
#define G_028800_Z_ENABLE(x) (((x) >> 1) & 0x1) |
#define C_028800_Z_ENABLE 0xFFFFFFFD |
#define S_028800_Z_WRITE_ENABLE(x) (((x) & 0x1) << 2) |
#define G_028800_Z_WRITE_ENABLE(x) (((x) >> 2) & 0x1) |
#define C_028800_Z_WRITE_ENABLE 0xFFFFFFFB |
#define S_028800_ZFUNC(x) (((x) & 0x7) << 4) |
#define G_028800_ZFUNC(x) (((x) >> 4) & 0x7) |
#define C_028800_ZFUNC 0xFFFFFF8F |
#define S_028800_BACKFACE_ENABLE(x) (((x) & 0x1) << 7) |
#define G_028800_BACKFACE_ENABLE(x) (((x) >> 7) & 0x1) |
#define C_028800_BACKFACE_ENABLE 0xFFFFFF7F |
#define S_028800_STENCILFUNC(x) (((x) & 0x7) << 8) |
#define G_028800_STENCILFUNC(x) (((x) >> 8) & 0x7) |
#define C_028800_STENCILFUNC 0xFFFFF8FF |
#define V_028800_STENCILFUNC_NEVER 0x00000000 |
#define V_028800_STENCILFUNC_LESS 0x00000001 |
#define V_028800_STENCILFUNC_EQUAL 0x00000002 |
#define V_028800_STENCILFUNC_LEQUAL 0x00000003 |
#define V_028800_STENCILFUNC_GREATER 0x00000004 |
#define V_028800_STENCILFUNC_NOTEQUAL 0x00000005 |
#define V_028800_STENCILFUNC_GEQUAL 0x00000006 |
#define V_028800_STENCILFUNC_ALWAYS 0x00000007 |
#define S_028800_STENCILFAIL(x) (((x) & 0x7) << 11) |
#define G_028800_STENCILFAIL(x) (((x) >> 11) & 0x7) |
#define C_028800_STENCILFAIL 0xFFFFC7FF |
#define V_028800_STENCIL_KEEP 0x00000000 |
#define V_028800_STENCIL_ZERO 0x00000001 |
#define V_028800_STENCIL_REPLACE 0x00000002 |
#define V_028800_STENCIL_INCR 0x00000003 |
#define V_028800_STENCIL_DECR 0x00000004 |
#define V_028800_STENCIL_INVERT 0x00000005 |
#define V_028800_STENCIL_INCR_WRAP 0x00000006 |
#define V_028800_STENCIL_DECR_WRAP 0x00000007 |
#define S_028800_STENCILZPASS(x) (((x) & 0x7) << 14) |
#define G_028800_STENCILZPASS(x) (((x) >> 14) & 0x7) |
#define C_028800_STENCILZPASS 0xFFFE3FFF |
#define S_028800_STENCILZFAIL(x) (((x) & 0x7) << 17) |
#define G_028800_STENCILZFAIL(x) (((x) >> 17) & 0x7) |
#define C_028800_STENCILZFAIL 0xFFF1FFFF |
#define S_028800_STENCILFUNC_BF(x) (((x) & 0x7) << 20) |
#define G_028800_STENCILFUNC_BF(x) (((x) >> 20) & 0x7) |
#define C_028800_STENCILFUNC_BF 0xFF8FFFFF |
#define S_028800_STENCILFAIL_BF(x) (((x) & 0x7) << 23) |
#define G_028800_STENCILFAIL_BF(x) (((x) >> 23) & 0x7) |
#define C_028800_STENCILFAIL_BF 0xFC7FFFFF |
#define S_028800_STENCILZPASS_BF(x) (((x) & 0x7) << 26) |
#define G_028800_STENCILZPASS_BF(x) (((x) >> 26) & 0x7) |
#define C_028800_STENCILZPASS_BF 0xE3FFFFFF |
#define S_028800_STENCILZFAIL_BF(x) (((x) & 0x7) << 29) |
#define G_028800_STENCILZFAIL_BF(x) (((x) >> 29) & 0x7) |
#define C_028800_STENCILZFAIL_BF 0x1FFFFFFF |
#define DB_DEPTH_VIEW 0x28008 |
#define R_028008_DB_DEPTH_VIEW 0x00028008 |
#define S_028008_SLICE_START(x) (((x) & 0x7FF) << 0) |
#define G_028008_SLICE_START(x) (((x) >> 0) & 0x7FF) |
#define C_028008_SLICE_START 0xFFFFF800 |
#define S_028008_SLICE_MAX(x) (((x) & 0x7FF) << 13) |
#define G_028008_SLICE_MAX(x) (((x) >> 13) & 0x7FF) |
#define C_028008_SLICE_MAX 0xFF001FFF |
#define DB_HTILE_DATA_BASE 0x28014 |
#define DB_HTILE_SURFACE 0x28abc |
#define S_028ABC_HTILE_WIDTH(x) (((x) & 0x1) << 0) |
#define G_028ABC_HTILE_WIDTH(x) (((x) >> 0) & 0x1) |
#define C_028ABC_HTILE_WIDTH 0xFFFFFFFE |
#define S_028ABC_HTILE_HEIGHT(x) (((x) & 0x1) << 1) |
#define G_028ABC_HTILE_HEIGHT(x) (((x) >> 1) & 0x1) |
#define C_028ABC_HTILE_HEIGHT 0xFFFFFFFD |
#define G_028ABC_LINEAR(x) (((x) >> 2) & 0x1) |
#define DB_Z_INFO 0x28040 |
# define Z_ARRAY_MODE(x) ((x) << 4) |
# define DB_TILE_SPLIT(x) (((x) & 0x7) << 8) |
# define DB_NUM_BANKS(x) (((x) & 0x3) << 12) |
# define DB_BANK_WIDTH(x) (((x) & 0x3) << 16) |
# define DB_BANK_HEIGHT(x) (((x) & 0x3) << 20) |
# define DB_MACRO_TILE_ASPECT(x) (((x) & 0x3) << 24) |
#define R_028040_DB_Z_INFO 0x028040 |
#define S_028040_FORMAT(x) (((x) & 0x3) << 0) |
#define G_028040_FORMAT(x) (((x) >> 0) & 0x3) |
#define C_028040_FORMAT 0xFFFFFFFC |
#define V_028040_Z_INVALID 0x00000000 |
#define V_028040_Z_16 0x00000001 |
#define V_028040_Z_24 0x00000002 |
#define V_028040_Z_32_FLOAT 0x00000003 |
#define S_028040_ARRAY_MODE(x) (((x) & 0xF) << 4) |
#define G_028040_ARRAY_MODE(x) (((x) >> 4) & 0xF) |
#define C_028040_ARRAY_MODE 0xFFFFFF0F |
#define S_028040_READ_SIZE(x) (((x) & 0x1) << 28) |
#define G_028040_READ_SIZE(x) (((x) >> 28) & 0x1) |
#define C_028040_READ_SIZE 0xEFFFFFFF |
#define S_028040_TILE_SURFACE_ENABLE(x) (((x) & 0x1) << 29) |
#define G_028040_TILE_SURFACE_ENABLE(x) (((x) >> 29) & 0x1) |
#define C_028040_TILE_SURFACE_ENABLE 0xDFFFFFFF |
#define S_028040_ZRANGE_PRECISION(x) (((x) & 0x1) << 31) |
#define G_028040_ZRANGE_PRECISION(x) (((x) >> 31) & 0x1) |
#define C_028040_ZRANGE_PRECISION 0x7FFFFFFF |
#define S_028040_TILE_SPLIT(x) (((x) & 0x7) << 8) |
#define G_028040_TILE_SPLIT(x) (((x) >> 8) & 0x7) |
#define S_028040_NUM_BANKS(x) (((x) & 0x3) << 12) |
#define G_028040_NUM_BANKS(x) (((x) >> 12) & 0x3) |
#define S_028040_BANK_WIDTH(x) (((x) & 0x3) << 16) |
#define G_028040_BANK_WIDTH(x) (((x) >> 16) & 0x3) |
#define S_028040_BANK_HEIGHT(x) (((x) & 0x3) << 20) |
#define G_028040_BANK_HEIGHT(x) (((x) >> 20) & 0x3) |
#define S_028040_MACRO_TILE_ASPECT(x) (((x) & 0x3) << 24) |
#define G_028040_MACRO_TILE_ASPECT(x) (((x) >> 24) & 0x3) |
#define DB_STENCIL_INFO 0x28044 |
#define R_028044_DB_STENCIL_INFO 0x028044 |
#define S_028044_FORMAT(x) (((x) & 0x1) << 0) |
#define G_028044_FORMAT(x) (((x) >> 0) & 0x1) |
#define C_028044_FORMAT 0xFFFFFFFE |
#define V_028044_STENCIL_INVALID 0 |
#define V_028044_STENCIL_8 1 |
#define G_028044_TILE_SPLIT(x) (((x) >> 8) & 0x7) |
#define DB_Z_READ_BASE 0x28048 |
#define DB_STENCIL_READ_BASE 0x2804c |
#define DB_Z_WRITE_BASE 0x28050 |
#define DB_STENCIL_WRITE_BASE 0x28054 |
#define DB_DEPTH_SIZE 0x28058 |
#define R_028058_DB_DEPTH_SIZE 0x028058 |
#define S_028058_PITCH_TILE_MAX(x) (((x) & 0x7FF) << 0) |
#define G_028058_PITCH_TILE_MAX(x) (((x) >> 0) & 0x7FF) |
#define C_028058_PITCH_TILE_MAX 0xFFFFF800 |
#define S_028058_HEIGHT_TILE_MAX(x) (((x) & 0x7FF) << 11) |
#define G_028058_HEIGHT_TILE_MAX(x) (((x) >> 11) & 0x7FF) |
#define C_028058_HEIGHT_TILE_MAX 0xFFC007FF |
#define R_02805C_DB_DEPTH_SLICE 0x02805C |
#define S_02805C_SLICE_TILE_MAX(x) (((x) & 0x3FFFFF) << 0) |
#define G_02805C_SLICE_TILE_MAX(x) (((x) >> 0) & 0x3FFFFF) |
#define C_02805C_SLICE_TILE_MAX 0xFFC00000 |
|
#define SQ_PGM_START_PS 0x28840 |
#define SQ_PGM_START_VS 0x2885c |
914,6 → 1312,14 |
#define SQ_PGM_START_HS 0x288b8 |
#define SQ_PGM_START_LS 0x288d0 |
|
#define VGT_STRMOUT_BUFFER_BASE_0 0x28AD8 |
#define VGT_STRMOUT_BUFFER_BASE_1 0x28AE8 |
#define VGT_STRMOUT_BUFFER_BASE_2 0x28AF8 |
#define VGT_STRMOUT_BUFFER_BASE_3 0x28B08 |
#define VGT_STRMOUT_BUFFER_SIZE_0 0x28AD0 |
#define VGT_STRMOUT_BUFFER_SIZE_1 0x28AE0 |
#define VGT_STRMOUT_BUFFER_SIZE_2 0x28AF0 |
#define VGT_STRMOUT_BUFFER_SIZE_3 0x28B00 |
#define VGT_STRMOUT_CONFIG 0x28b94 |
#define VGT_STRMOUT_BUFFER_CONFIG 0x28b98 |
|
940,13 → 1346,163 |
#define CB_COLOR0_PITCH 0x28c64 |
#define CB_COLOR0_SLICE 0x28c68 |
#define CB_COLOR0_VIEW 0x28c6c |
#define R_028C6C_CB_COLOR0_VIEW 0x00028C6C |
#define S_028C6C_SLICE_START(x) (((x) & 0x7FF) << 0) |
#define G_028C6C_SLICE_START(x) (((x) >> 0) & 0x7FF) |
#define C_028C6C_SLICE_START 0xFFFFF800 |
#define S_028C6C_SLICE_MAX(x) (((x) & 0x7FF) << 13) |
#define G_028C6C_SLICE_MAX(x) (((x) >> 13) & 0x7FF) |
#define C_028C6C_SLICE_MAX 0xFF001FFF |
#define R_028C70_CB_COLOR0_INFO 0x028C70 |
#define S_028C70_ENDIAN(x) (((x) & 0x3) << 0) |
#define G_028C70_ENDIAN(x) (((x) >> 0) & 0x3) |
#define C_028C70_ENDIAN 0xFFFFFFFC |
#define S_028C70_FORMAT(x) (((x) & 0x3F) << 2) |
#define G_028C70_FORMAT(x) (((x) >> 2) & 0x3F) |
#define C_028C70_FORMAT 0xFFFFFF03 |
#define V_028C70_COLOR_INVALID 0x00000000 |
#define V_028C70_COLOR_8 0x00000001 |
#define V_028C70_COLOR_4_4 0x00000002 |
#define V_028C70_COLOR_3_3_2 0x00000003 |
#define V_028C70_COLOR_16 0x00000005 |
#define V_028C70_COLOR_16_FLOAT 0x00000006 |
#define V_028C70_COLOR_8_8 0x00000007 |
#define V_028C70_COLOR_5_6_5 0x00000008 |
#define V_028C70_COLOR_6_5_5 0x00000009 |
#define V_028C70_COLOR_1_5_5_5 0x0000000A |
#define V_028C70_COLOR_4_4_4_4 0x0000000B |
#define V_028C70_COLOR_5_5_5_1 0x0000000C |
#define V_028C70_COLOR_32 0x0000000D |
#define V_028C70_COLOR_32_FLOAT 0x0000000E |
#define V_028C70_COLOR_16_16 0x0000000F |
#define V_028C70_COLOR_16_16_FLOAT 0x00000010 |
#define V_028C70_COLOR_8_24 0x00000011 |
#define V_028C70_COLOR_8_24_FLOAT 0x00000012 |
#define V_028C70_COLOR_24_8 0x00000013 |
#define V_028C70_COLOR_24_8_FLOAT 0x00000014 |
#define V_028C70_COLOR_10_11_11 0x00000015 |
#define V_028C70_COLOR_10_11_11_FLOAT 0x00000016 |
#define V_028C70_COLOR_11_11_10 0x00000017 |
#define V_028C70_COLOR_11_11_10_FLOAT 0x00000018 |
#define V_028C70_COLOR_2_10_10_10 0x00000019 |
#define V_028C70_COLOR_8_8_8_8 0x0000001A |
#define V_028C70_COLOR_10_10_10_2 0x0000001B |
#define V_028C70_COLOR_X24_8_32_FLOAT 0x0000001C |
#define V_028C70_COLOR_32_32 0x0000001D |
#define V_028C70_COLOR_32_32_FLOAT 0x0000001E |
#define V_028C70_COLOR_16_16_16_16 0x0000001F |
#define V_028C70_COLOR_16_16_16_16_FLOAT 0x00000020 |
#define V_028C70_COLOR_32_32_32_32 0x00000022 |
#define V_028C70_COLOR_32_32_32_32_FLOAT 0x00000023 |
#define V_028C70_COLOR_32_32_32_FLOAT 0x00000030 |
#define S_028C70_ARRAY_MODE(x) (((x) & 0xF) << 8) |
#define G_028C70_ARRAY_MODE(x) (((x) >> 8) & 0xF) |
#define C_028C70_ARRAY_MODE 0xFFFFF0FF |
#define V_028C70_ARRAY_LINEAR_GENERAL 0x00000000 |
#define V_028C70_ARRAY_LINEAR_ALIGNED 0x00000001 |
#define V_028C70_ARRAY_1D_TILED_THIN1 0x00000002 |
#define V_028C70_ARRAY_2D_TILED_THIN1 0x00000004 |
#define S_028C70_NUMBER_TYPE(x) (((x) & 0x7) << 12) |
#define G_028C70_NUMBER_TYPE(x) (((x) >> 12) & 0x7) |
#define C_028C70_NUMBER_TYPE 0xFFFF8FFF |
#define V_028C70_NUMBER_UNORM 0x00000000 |
#define V_028C70_NUMBER_SNORM 0x00000001 |
#define V_028C70_NUMBER_USCALED 0x00000002 |
#define V_028C70_NUMBER_SSCALED 0x00000003 |
#define V_028C70_NUMBER_UINT 0x00000004 |
#define V_028C70_NUMBER_SINT 0x00000005 |
#define V_028C70_NUMBER_SRGB 0x00000006 |
#define V_028C70_NUMBER_FLOAT 0x00000007 |
#define S_028C70_COMP_SWAP(x) (((x) & 0x3) << 15) |
#define G_028C70_COMP_SWAP(x) (((x) >> 15) & 0x3) |
#define C_028C70_COMP_SWAP 0xFFFE7FFF |
#define V_028C70_SWAP_STD 0x00000000 |
#define V_028C70_SWAP_ALT 0x00000001 |
#define V_028C70_SWAP_STD_REV 0x00000002 |
#define V_028C70_SWAP_ALT_REV 0x00000003 |
#define S_028C70_FAST_CLEAR(x) (((x) & 0x1) << 17) |
#define G_028C70_FAST_CLEAR(x) (((x) >> 17) & 0x1) |
#define C_028C70_FAST_CLEAR 0xFFFDFFFF |
#define S_028C70_COMPRESSION(x) (((x) & 0x3) << 18) |
#define G_028C70_COMPRESSION(x) (((x) >> 18) & 0x3) |
#define C_028C70_COMPRESSION 0xFFF3FFFF |
#define S_028C70_BLEND_CLAMP(x) (((x) & 0x1) << 19) |
#define G_028C70_BLEND_CLAMP(x) (((x) >> 19) & 0x1) |
#define C_028C70_BLEND_CLAMP 0xFFF7FFFF |
#define S_028C70_BLEND_BYPASS(x) (((x) & 0x1) << 20) |
#define G_028C70_BLEND_BYPASS(x) (((x) >> 20) & 0x1) |
#define C_028C70_BLEND_BYPASS 0xFFEFFFFF |
#define S_028C70_SIMPLE_FLOAT(x) (((x) & 0x1) << 21) |
#define G_028C70_SIMPLE_FLOAT(x) (((x) >> 21) & 0x1) |
#define C_028C70_SIMPLE_FLOAT 0xFFDFFFFF |
#define S_028C70_ROUND_MODE(x) (((x) & 0x1) << 22) |
#define G_028C70_ROUND_MODE(x) (((x) >> 22) & 0x1) |
#define C_028C70_ROUND_MODE 0xFFBFFFFF |
#define S_028C70_TILE_COMPACT(x) (((x) & 0x1) << 23) |
#define G_028C70_TILE_COMPACT(x) (((x) >> 23) & 0x1) |
#define C_028C70_TILE_COMPACT 0xFF7FFFFF |
#define S_028C70_SOURCE_FORMAT(x) (((x) & 0x3) << 24) |
#define G_028C70_SOURCE_FORMAT(x) (((x) >> 24) & 0x3) |
#define C_028C70_SOURCE_FORMAT 0xFCFFFFFF |
#define V_028C70_EXPORT_4C_32BPC 0x0 |
#define V_028C70_EXPORT_4C_16BPC 0x1 |
#define V_028C70_EXPORT_2C_32BPC 0x2 /* Do not use */ |
#define S_028C70_RAT(x) (((x) & 0x1) << 26) |
#define G_028C70_RAT(x) (((x) >> 26) & 0x1) |
#define C_028C70_RAT 0xFBFFFFFF |
#define S_028C70_RESOURCE_TYPE(x) (((x) & 0x7) << 27) |
#define G_028C70_RESOURCE_TYPE(x) (((x) >> 27) & 0x7) |
#define C_028C70_RESOURCE_TYPE 0xC7FFFFFF |
|
#define CB_COLOR0_INFO 0x28c70 |
# define CB_FORMAT(x) ((x) << 2) |
# define CB_ARRAY_MODE(x) ((x) << 8) |
# define ARRAY_LINEAR_GENERAL 0 |
# define ARRAY_LINEAR_ALIGNED 1 |
# define ARRAY_1D_TILED_THIN1 2 |
# define ARRAY_2D_TILED_THIN1 4 |
# define CB_SOURCE_FORMAT(x) ((x) << 24) |
# define CB_SF_EXPORT_FULL 0 |
# define CB_SF_EXPORT_NORM 1 |
#define R_028C74_CB_COLOR0_ATTRIB 0x028C74 |
#define S_028C74_NON_DISP_TILING_ORDER(x) (((x) & 0x1) << 4) |
#define G_028C74_NON_DISP_TILING_ORDER(x) (((x) >> 4) & 0x1) |
#define C_028C74_NON_DISP_TILING_ORDER 0xFFFFFFEF |
#define S_028C74_TILE_SPLIT(x) (((x) & 0xf) << 5) |
#define G_028C74_TILE_SPLIT(x) (((x) >> 5) & 0xf) |
#define S_028C74_NUM_BANKS(x) (((x) & 0x3) << 10) |
#define G_028C74_NUM_BANKS(x) (((x) >> 10) & 0x3) |
#define S_028C74_BANK_WIDTH(x) (((x) & 0x3) << 13) |
#define G_028C74_BANK_WIDTH(x) (((x) >> 13) & 0x3) |
#define S_028C74_BANK_HEIGHT(x) (((x) & 0x3) << 16) |
#define G_028C74_BANK_HEIGHT(x) (((x) >> 16) & 0x3) |
#define S_028C74_MACRO_TILE_ASPECT(x) (((x) & 0x3) << 19) |
#define G_028C74_MACRO_TILE_ASPECT(x) (((x) >> 19) & 0x3) |
#define CB_COLOR0_ATTRIB 0x28c74 |
# define CB_TILE_SPLIT(x) (((x) & 0x7) << 5) |
# define ADDR_SURF_TILE_SPLIT_64B 0 |
# define ADDR_SURF_TILE_SPLIT_128B 1 |
# define ADDR_SURF_TILE_SPLIT_256B 2 |
# define ADDR_SURF_TILE_SPLIT_512B 3 |
# define ADDR_SURF_TILE_SPLIT_1KB 4 |
# define ADDR_SURF_TILE_SPLIT_2KB 5 |
# define ADDR_SURF_TILE_SPLIT_4KB 6 |
# define CB_NUM_BANKS(x) (((x) & 0x3) << 10) |
# define ADDR_SURF_2_BANK 0 |
# define ADDR_SURF_4_BANK 1 |
# define ADDR_SURF_8_BANK 2 |
# define ADDR_SURF_16_BANK 3 |
# define CB_BANK_WIDTH(x) (((x) & 0x3) << 13) |
# define ADDR_SURF_BANK_WIDTH_1 0 |
# define ADDR_SURF_BANK_WIDTH_2 1 |
# define ADDR_SURF_BANK_WIDTH_4 2 |
# define ADDR_SURF_BANK_WIDTH_8 3 |
# define CB_BANK_HEIGHT(x) (((x) & 0x3) << 16) |
# define ADDR_SURF_BANK_HEIGHT_1 0 |
# define ADDR_SURF_BANK_HEIGHT_2 1 |
# define ADDR_SURF_BANK_HEIGHT_4 2 |
# define ADDR_SURF_BANK_HEIGHT_8 3 |
# define CB_MACRO_TILE_ASPECT(x) (((x) & 0x3) << 19) |
#define CB_COLOR0_DIM 0x28c78 |
/* only CB0-7 blocks have these regs */ |
#define CB_COLOR0_CMASK 0x28c7c |
1107,17 → 1663,226 |
#define CB_COLOR7_CLEAR_WORD3 0x28e3c |
|
#define SQ_TEX_RESOURCE_WORD0_0 0x30000 |
# define TEX_DIM(x) ((x) << 0) |
# define SQ_TEX_DIM_1D 0 |
# define SQ_TEX_DIM_2D 1 |
# define SQ_TEX_DIM_3D 2 |
# define SQ_TEX_DIM_CUBEMAP 3 |
# define SQ_TEX_DIM_1D_ARRAY 4 |
# define SQ_TEX_DIM_2D_ARRAY 5 |
# define SQ_TEX_DIM_2D_MSAA 6 |
# define SQ_TEX_DIM_2D_ARRAY_MSAA 7 |
#define SQ_TEX_RESOURCE_WORD1_0 0x30004 |
# define TEX_ARRAY_MODE(x) ((x) << 28) |
#define SQ_TEX_RESOURCE_WORD2_0 0x30008 |
#define SQ_TEX_RESOURCE_WORD3_0 0x3000C |
#define SQ_TEX_RESOURCE_WORD4_0 0x30010 |
# define TEX_DST_SEL_X(x) ((x) << 16) |
# define TEX_DST_SEL_Y(x) ((x) << 19) |
# define TEX_DST_SEL_Z(x) ((x) << 22) |
# define TEX_DST_SEL_W(x) ((x) << 25) |
# define SQ_SEL_X 0 |
# define SQ_SEL_Y 1 |
# define SQ_SEL_Z 2 |
# define SQ_SEL_W 3 |
# define SQ_SEL_0 4 |
# define SQ_SEL_1 5 |
#define SQ_TEX_RESOURCE_WORD5_0 0x30014 |
#define SQ_TEX_RESOURCE_WORD6_0 0x30018 |
# define TEX_TILE_SPLIT(x) (((x) & 0x7) << 29) |
#define SQ_TEX_RESOURCE_WORD7_0 0x3001c |
# define MACRO_TILE_ASPECT(x) (((x) & 0x3) << 6) |
# define TEX_BANK_WIDTH(x) (((x) & 0x3) << 8) |
# define TEX_BANK_HEIGHT(x) (((x) & 0x3) << 10) |
# define TEX_NUM_BANKS(x) (((x) & 0x3) << 16) |
#define R_030000_SQ_TEX_RESOURCE_WORD0_0 0x030000 |
#define S_030000_DIM(x) (((x) & 0x7) << 0) |
#define G_030000_DIM(x) (((x) >> 0) & 0x7) |
#define C_030000_DIM 0xFFFFFFF8 |
#define V_030000_SQ_TEX_DIM_1D 0x00000000 |
#define V_030000_SQ_TEX_DIM_2D 0x00000001 |
#define V_030000_SQ_TEX_DIM_3D 0x00000002 |
#define V_030000_SQ_TEX_DIM_CUBEMAP 0x00000003 |
#define V_030000_SQ_TEX_DIM_1D_ARRAY 0x00000004 |
#define V_030000_SQ_TEX_DIM_2D_ARRAY 0x00000005 |
#define V_030000_SQ_TEX_DIM_2D_MSAA 0x00000006 |
#define V_030000_SQ_TEX_DIM_2D_ARRAY_MSAA 0x00000007 |
#define S_030000_NON_DISP_TILING_ORDER(x) (((x) & 0x1) << 5) |
#define G_030000_NON_DISP_TILING_ORDER(x) (((x) >> 5) & 0x1) |
#define C_030000_NON_DISP_TILING_ORDER 0xFFFFFFDF |
#define S_030000_PITCH(x) (((x) & 0xFFF) << 6) |
#define G_030000_PITCH(x) (((x) >> 6) & 0xFFF) |
#define C_030000_PITCH 0xFFFC003F |
#define S_030000_TEX_WIDTH(x) (((x) & 0x3FFF) << 18) |
#define G_030000_TEX_WIDTH(x) (((x) >> 18) & 0x3FFF) |
#define C_030000_TEX_WIDTH 0x0003FFFF |
#define R_030004_SQ_TEX_RESOURCE_WORD1_0 0x030004 |
#define S_030004_TEX_HEIGHT(x) (((x) & 0x3FFF) << 0) |
#define G_030004_TEX_HEIGHT(x) (((x) >> 0) & 0x3FFF) |
#define C_030004_TEX_HEIGHT 0xFFFFC000 |
#define S_030004_TEX_DEPTH(x) (((x) & 0x1FFF) << 14) |
#define G_030004_TEX_DEPTH(x) (((x) >> 14) & 0x1FFF) |
#define C_030004_TEX_DEPTH 0xF8003FFF |
#define S_030004_ARRAY_MODE(x) (((x) & 0xF) << 28) |
#define G_030004_ARRAY_MODE(x) (((x) >> 28) & 0xF) |
#define C_030004_ARRAY_MODE 0x0FFFFFFF |
#define R_030008_SQ_TEX_RESOURCE_WORD2_0 0x030008 |
#define S_030008_BASE_ADDRESS(x) (((x) & 0xFFFFFFFF) << 0) |
#define G_030008_BASE_ADDRESS(x) (((x) >> 0) & 0xFFFFFFFF) |
#define C_030008_BASE_ADDRESS 0x00000000 |
#define R_03000C_SQ_TEX_RESOURCE_WORD3_0 0x03000C |
#define S_03000C_MIP_ADDRESS(x) (((x) & 0xFFFFFFFF) << 0) |
#define G_03000C_MIP_ADDRESS(x) (((x) >> 0) & 0xFFFFFFFF) |
#define C_03000C_MIP_ADDRESS 0x00000000 |
#define R_030010_SQ_TEX_RESOURCE_WORD4_0 0x030010 |
#define S_030010_FORMAT_COMP_X(x) (((x) & 0x3) << 0) |
#define G_030010_FORMAT_COMP_X(x) (((x) >> 0) & 0x3) |
#define C_030010_FORMAT_COMP_X 0xFFFFFFFC |
#define V_030010_SQ_FORMAT_COMP_UNSIGNED 0x00000000 |
#define V_030010_SQ_FORMAT_COMP_SIGNED 0x00000001 |
#define V_030010_SQ_FORMAT_COMP_UNSIGNED_BIASED 0x00000002 |
#define S_030010_FORMAT_COMP_Y(x) (((x) & 0x3) << 2) |
#define G_030010_FORMAT_COMP_Y(x) (((x) >> 2) & 0x3) |
#define C_030010_FORMAT_COMP_Y 0xFFFFFFF3 |
#define S_030010_FORMAT_COMP_Z(x) (((x) & 0x3) << 4) |
#define G_030010_FORMAT_COMP_Z(x) (((x) >> 4) & 0x3) |
#define C_030010_FORMAT_COMP_Z 0xFFFFFFCF |
#define S_030010_FORMAT_COMP_W(x) (((x) & 0x3) << 6) |
#define G_030010_FORMAT_COMP_W(x) (((x) >> 6) & 0x3) |
#define C_030010_FORMAT_COMP_W 0xFFFFFF3F |
#define S_030010_NUM_FORMAT_ALL(x) (((x) & 0x3) << 8) |
#define G_030010_NUM_FORMAT_ALL(x) (((x) >> 8) & 0x3) |
#define C_030010_NUM_FORMAT_ALL 0xFFFFFCFF |
#define V_030010_SQ_NUM_FORMAT_NORM 0x00000000 |
#define V_030010_SQ_NUM_FORMAT_INT 0x00000001 |
#define V_030010_SQ_NUM_FORMAT_SCALED 0x00000002 |
#define S_030010_SRF_MODE_ALL(x) (((x) & 0x1) << 10) |
#define G_030010_SRF_MODE_ALL(x) (((x) >> 10) & 0x1) |
#define C_030010_SRF_MODE_ALL 0xFFFFFBFF |
#define V_030010_SRF_MODE_ZERO_CLAMP_MINUS_ONE 0x00000000 |
#define V_030010_SRF_MODE_NO_ZERO 0x00000001 |
#define S_030010_FORCE_DEGAMMA(x) (((x) & 0x1) << 11) |
#define G_030010_FORCE_DEGAMMA(x) (((x) >> 11) & 0x1) |
#define C_030010_FORCE_DEGAMMA 0xFFFFF7FF |
#define S_030010_ENDIAN_SWAP(x) (((x) & 0x3) << 12) |
#define G_030010_ENDIAN_SWAP(x) (((x) >> 12) & 0x3) |
#define C_030010_ENDIAN_SWAP 0xFFFFCFFF |
#define S_030010_DST_SEL_X(x) (((x) & 0x7) << 16) |
#define G_030010_DST_SEL_X(x) (((x) >> 16) & 0x7) |
#define C_030010_DST_SEL_X 0xFFF8FFFF |
#define V_030010_SQ_SEL_X 0x00000000 |
#define V_030010_SQ_SEL_Y 0x00000001 |
#define V_030010_SQ_SEL_Z 0x00000002 |
#define V_030010_SQ_SEL_W 0x00000003 |
#define V_030010_SQ_SEL_0 0x00000004 |
#define V_030010_SQ_SEL_1 0x00000005 |
#define S_030010_DST_SEL_Y(x) (((x) & 0x7) << 19) |
#define G_030010_DST_SEL_Y(x) (((x) >> 19) & 0x7) |
#define C_030010_DST_SEL_Y 0xFFC7FFFF |
#define S_030010_DST_SEL_Z(x) (((x) & 0x7) << 22) |
#define G_030010_DST_SEL_Z(x) (((x) >> 22) & 0x7) |
#define C_030010_DST_SEL_Z 0xFE3FFFFF |
#define S_030010_DST_SEL_W(x) (((x) & 0x7) << 25) |
#define G_030010_DST_SEL_W(x) (((x) >> 25) & 0x7) |
#define C_030010_DST_SEL_W 0xF1FFFFFF |
#define S_030010_BASE_LEVEL(x) (((x) & 0xF) << 28) |
#define G_030010_BASE_LEVEL(x) (((x) >> 28) & 0xF) |
#define C_030010_BASE_LEVEL 0x0FFFFFFF |
#define R_030014_SQ_TEX_RESOURCE_WORD5_0 0x030014 |
#define S_030014_LAST_LEVEL(x) (((x) & 0xF) << 0) |
#define G_030014_LAST_LEVEL(x) (((x) >> 0) & 0xF) |
#define C_030014_LAST_LEVEL 0xFFFFFFF0 |
#define S_030014_BASE_ARRAY(x) (((x) & 0x1FFF) << 4) |
#define G_030014_BASE_ARRAY(x) (((x) >> 4) & 0x1FFF) |
#define C_030014_BASE_ARRAY 0xFFFE000F |
#define S_030014_LAST_ARRAY(x) (((x) & 0x1FFF) << 17) |
#define G_030014_LAST_ARRAY(x) (((x) >> 17) & 0x1FFF) |
#define C_030014_LAST_ARRAY 0xC001FFFF |
#define R_030018_SQ_TEX_RESOURCE_WORD6_0 0x030018 |
#define S_030018_MAX_ANISO(x) (((x) & 0x7) << 0) |
#define G_030018_MAX_ANISO(x) (((x) >> 0) & 0x7) |
#define C_030018_MAX_ANISO 0xFFFFFFF8 |
#define S_030018_PERF_MODULATION(x) (((x) & 0x7) << 3) |
#define G_030018_PERF_MODULATION(x) (((x) >> 3) & 0x7) |
#define C_030018_PERF_MODULATION 0xFFFFFFC7 |
#define S_030018_INTERLACED(x) (((x) & 0x1) << 6) |
#define G_030018_INTERLACED(x) (((x) >> 6) & 0x1) |
#define C_030018_INTERLACED 0xFFFFFFBF |
#define S_030018_TILE_SPLIT(x) (((x) & 0x7) << 29) |
#define G_030018_TILE_SPLIT(x) (((x) >> 29) & 0x7) |
#define R_03001C_SQ_TEX_RESOURCE_WORD7_0 0x03001C |
#define S_03001C_MACRO_TILE_ASPECT(x) (((x) & 0x3) << 6) |
#define G_03001C_MACRO_TILE_ASPECT(x) (((x) >> 6) & 0x3) |
#define S_03001C_BANK_WIDTH(x) (((x) & 0x3) << 8) |
#define G_03001C_BANK_WIDTH(x) (((x) >> 8) & 0x3) |
#define S_03001C_BANK_HEIGHT(x) (((x) & 0x3) << 10) |
#define G_03001C_BANK_HEIGHT(x) (((x) >> 10) & 0x3) |
#define S_03001C_NUM_BANKS(x) (((x) & 0x3) << 16) |
#define G_03001C_NUM_BANKS(x) (((x) >> 16) & 0x3) |
#define S_03001C_TYPE(x) (((x) & 0x3) << 30) |
#define G_03001C_TYPE(x) (((x) >> 30) & 0x3) |
#define C_03001C_TYPE 0x3FFFFFFF |
#define V_03001C_SQ_TEX_VTX_INVALID_TEXTURE 0x00000000 |
#define V_03001C_SQ_TEX_VTX_INVALID_BUFFER 0x00000001 |
#define V_03001C_SQ_TEX_VTX_VALID_TEXTURE 0x00000002 |
#define V_03001C_SQ_TEX_VTX_VALID_BUFFER 0x00000003 |
#define S_03001C_DATA_FORMAT(x) (((x) & 0x3F) << 0) |
#define G_03001C_DATA_FORMAT(x) (((x) >> 0) & 0x3F) |
#define C_03001C_DATA_FORMAT 0xFFFFFFC0 |
|
#define SQ_VTX_CONSTANT_WORD0_0 0x30000 |
#define SQ_VTX_CONSTANT_WORD1_0 0x30004 |
#define SQ_VTX_CONSTANT_WORD2_0 0x30008 |
# define SQ_VTXC_BASE_ADDR_HI(x) ((x) << 0) |
# define SQ_VTXC_STRIDE(x) ((x) << 8) |
# define SQ_VTXC_ENDIAN_SWAP(x) ((x) << 30) |
# define SQ_ENDIAN_NONE 0 |
# define SQ_ENDIAN_8IN16 1 |
# define SQ_ENDIAN_8IN32 2 |
#define SQ_VTX_CONSTANT_WORD3_0 0x3000C |
# define SQ_VTCX_SEL_X(x) ((x) << 3) |
# define SQ_VTCX_SEL_Y(x) ((x) << 6) |
# define SQ_VTCX_SEL_Z(x) ((x) << 9) |
# define SQ_VTCX_SEL_W(x) ((x) << 12) |
#define SQ_VTX_CONSTANT_WORD4_0 0x30010 |
#define SQ_VTX_CONSTANT_WORD5_0 0x30014 |
#define SQ_VTX_CONSTANT_WORD6_0 0x30018 |
#define SQ_VTX_CONSTANT_WORD7_0 0x3001c |
|
#define TD_PS_BORDER_COLOR_INDEX 0xA400 |
#define TD_PS_BORDER_COLOR_RED 0xA404 |
#define TD_PS_BORDER_COLOR_GREEN 0xA408 |
#define TD_PS_BORDER_COLOR_BLUE 0xA40C |
#define TD_PS_BORDER_COLOR_ALPHA 0xA410 |
#define TD_VS_BORDER_COLOR_INDEX 0xA414 |
#define TD_VS_BORDER_COLOR_RED 0xA418 |
#define TD_VS_BORDER_COLOR_GREEN 0xA41C |
#define TD_VS_BORDER_COLOR_BLUE 0xA420 |
#define TD_VS_BORDER_COLOR_ALPHA 0xA424 |
#define TD_GS_BORDER_COLOR_INDEX 0xA428 |
#define TD_GS_BORDER_COLOR_RED 0xA42C |
#define TD_GS_BORDER_COLOR_GREEN 0xA430 |
#define TD_GS_BORDER_COLOR_BLUE 0xA434 |
#define TD_GS_BORDER_COLOR_ALPHA 0xA438 |
#define TD_HS_BORDER_COLOR_INDEX 0xA43C |
#define TD_HS_BORDER_COLOR_RED 0xA440 |
#define TD_HS_BORDER_COLOR_GREEN 0xA444 |
#define TD_HS_BORDER_COLOR_BLUE 0xA448 |
#define TD_HS_BORDER_COLOR_ALPHA 0xA44C |
#define TD_LS_BORDER_COLOR_INDEX 0xA450 |
#define TD_LS_BORDER_COLOR_RED 0xA454 |
#define TD_LS_BORDER_COLOR_GREEN 0xA458 |
#define TD_LS_BORDER_COLOR_BLUE 0xA45C |
#define TD_LS_BORDER_COLOR_ALPHA 0xA460 |
#define TD_CS_BORDER_COLOR_INDEX 0xA464 |
#define TD_CS_BORDER_COLOR_RED 0xA468 |
#define TD_CS_BORDER_COLOR_GREEN 0xA46C |
#define TD_CS_BORDER_COLOR_BLUE 0xA470 |
#define TD_CS_BORDER_COLOR_ALPHA 0xA474 |
|
/* cayman 3D regs */ |
#define CAYMAN_VGT_OFFCHIP_LDS_BASE 0x89B0 |
#define CAYMAN_VGT_OFFCHIP_LDS_BASE 0x89B4 |
#define CAYMAN_SQ_EX_ALLOC_TABLE_SLOTS 0x8E48 |
#define CAYMAN_DB_EQAA 0x28804 |
#define CAYMAN_DB_DEPTH_INFO 0x2803C |
#define CAYMAN_PA_SC_AA_CONFIG 0x28BE0 |