📄 r300_reg.h
字号:
# define R300_GB_MSPOS0__MS_X1_SHIFT 8# define R300_GB_MSPOS0__MS_Y1_SHIFT 12# define R300_GB_MSPOS0__MS_X2_SHIFT 16# define R300_GB_MSPOS0__MS_Y2_SHIFT 20# define R300_GB_MSPOS0__MSBD0_Y 24# define R300_GB_MSPOS0__MSBD0_X 28#define R300_GB_MSPOS1 0x4014# define R300_GB_MSPOS1__MS_X3_SHIFT 0# define R300_GB_MSPOS1__MS_Y3_SHIFT 4# define R300_GB_MSPOS1__MS_X4_SHIFT 8# define R300_GB_MSPOS1__MS_Y4_SHIFT 12# define R300_GB_MSPOS1__MS_X5_SHIFT 16# define R300_GB_MSPOS1__MS_Y5_SHIFT 20# define R300_GB_MSPOS1__MSBD1 24/* Specifies the graphics pipeline configuration for rasterization. */#define R300_GB_TILE_CONFIG 0x4018# define R300_GB_TILE_DISABLE (0 << 0)# define R300_GB_TILE_ENABLE (1 << 0)# define R300_GB_TILE_PIPE_COUNT_RV300 (0 << 1) /* RV350 (1 pipe, 1 ctx) */# define R300_GB_TILE_PIPE_COUNT_R300 (3 << 1) /* R300 (2 pipes, 1 ctx) */# define R300_GB_TILE_PIPE_COUNT_R420_3P (6 << 1) /* R420-3P (3 pipes, 1 ctx) */# define R300_GB_TILE_PIPE_COUNT_R420 (7 << 1) /* R420 (4 pipes, 1 ctx) */# define R300_GB_TILE_SIZE_8 (0 << 4)# define R300_GB_TILE_SIZE_16 (1 << 4)# define R300_GB_TILE_SIZE_32 (2 << 4)# define R300_GB_SUPER_SIZE_1 (0 << 6)# define R300_GB_SUPER_SIZE_2 (1 << 6)# define R300_GB_SUPER_SIZE_4 (2 << 6)# define R300_GB_SUPER_SIZE_8 (3 << 6)# define R300_GB_SUPER_SIZE_16 (4 << 6)# define R300_GB_SUPER_SIZE_32 (5 << 6)# define R300_GB_SUPER_SIZE_64 (6 << 6)# define R300_GB_SUPER_SIZE_128 (7 << 6)# define R300_GB_SUPER_X_SHIFT 9 /* 3 bits wide */# define R300_GB_SUPER_Y_SHIFT 12 /* 3 bits wide */# define R300_GB_SUPER_TILE_A (0 << 15)# define R300_GB_SUPER_TILE_B (1 << 15)# define R300_GB_SUBPIXEL_1_12 (0 << 16)# define R300_GB_SUBPIXEL_1_16 (1 << 16)# define GB_TILE_CONFIG_QUADS_PER_RAS_4 (0 << 17)# define GB_TILE_CONFIG_QUADS_PER_RAS_8 (1 << 17)# define GB_TILE_CONFIG_QUADS_PER_RAS_16 (2 << 17)# define GB_TILE_CONFIG_QUADS_PER_RAS_32 (3 << 17)# define GB_TILE_CONFIG_BB_SCAN_INTERCEPT (0 << 19)# define GB_TILE_CONFIG_BB_SCAN_BOUND_BOX (1 << 19)# define GB_TILE_CONFIG_ALT_SCAN_EN_LR (0 << 20)# define GB_TILE_CONFIG_ALT_SCAN_EN_LRL (1 << 20)# define GB_TILE_CONFIG_ALT_OFFSET (0 << 21)# define GB_TILE_CONFIG_SUBPRECISION (0 << 22)# define GB_TILE_CONFIG_ALT_TILING_DEF (0 << 23)# define GB_TILE_CONFIG_ALT_TILING_3_2 (1 << 23)# define GB_TILE_CONFIG_Z_EXTENDED_24_1 (0 << 24)# define GB_TILE_CONFIG_Z_EXTENDED_S25_1 (1 << 24)/* Specifies the sizes of the various FIFO`s in the sc/rs/us. This register must be the first one written */#define R300_GB_FIFO_SIZE 0x4024 /* each of the following is 2 bits wide */#define R300_GB_FIFO_SIZE_32 0#define R300_GB_FIFO_SIZE_64 1#define R300_GB_FIFO_SIZE_128 2#define R300_GB_FIFO_SIZE_256 3# define R300_SC_IFIFO_SIZE_SHIFT 0# define R300_SC_TZFIFO_SIZE_SHIFT 2# define R300_SC_BFIFO_SIZE_SHIFT 4# define R300_US_OFIFO_SIZE_SHIFT 12# define R300_US_WFIFO_SIZE_SHIFT 14 /* the following use the same constants as above, but meaning is is times 2 (i.e. instead of 32 words it means 64 */# define R300_RS_TFIFO_SIZE_SHIFT 6# define R300_RS_CFIFO_SIZE_SHIFT 8# define R300_US_RAM_SIZE_SHIFT 10 /* watermarks, 3 bits wide */# define R300_RS_HIGHWATER_COL_SHIFT 16# define R300_RS_HIGHWATER_TEX_SHIFT 19# define R300_OFIFO_HIGHWATER_SHIFT 22 /* two bits only */# define R300_CUBE_FIFO_HIGHWATER_COL_SHIFT 24#define GB_Z_PEQ_CONFIG 0x4028# define GB_Z_PEQ_CONFIG_Z_PEQ_SIZE_4_4 (0 << 0)# define GB_Z_PEQ_CONFIG_Z_PEQ_SIZE_8_8 (1 << 0)/* Specifies various polygon specific selects (fog, depth, perspective). */#define R300_GB_SELECT 0x401c# define R300_GB_FOG_SELECT_C0A (0 << 0)# define R300_GB_FOG_SELECT_C1A (1 << 0)# define R300_GB_FOG_SELECT_C2A (2 << 0)# define R300_GB_FOG_SELECT_C3A (3 << 0)# define R300_GB_FOG_SELECT_1_1_W (4 << 0)# define R300_GB_FOG_SELECT_Z (5 << 0)# define R300_GB_DEPTH_SELECT_Z (0 << 3# define R300_GB_DEPTH_SELECT_1_1_W (1 << 3)# define R300_GB_W_SELECT_1_W (0 << 4)# define R300_GB_W_SELECT_1 (1 << 4)# define R300_GB_FOG_STUFF_DISABLE (0 << 5)# define R300_GB_FOG_STUFF_ENABLE (1 << 5)# define R300_GB_FOG_STUFF_TEX_SHIFT 6# define R300_GB_FOG_STUFF_TEX_MASK 0x000003c0# define R300_GB_FOG_STUFF_COMP_SHIFT 10# define R300_GB_FOG_STUFF_COMP_MASK 0x00000c00/* Specifies the graphics pipeline configuration for antialiasing. */#define GB_AA_CONFIG 0x4020# define GB_AA_CONFIG_AA_DISABLE (0 << 0)# define GB_AA_CONFIG_AA_ENABLE (1 << 0)# define GB_AA_CONFIG_NUM_AA_SUBSAMPLES_2 (0 << 1)# define GB_AA_CONFIG_NUM_AA_SUBSAMPLES_3 (1 << 1)# define GB_AA_CONFIG_NUM_AA_SUBSAMPLES_4 (2 << 1)# define GB_AA_CONFIG_NUM_AA_SUBSAMPLES_6 (3 << 1)/* Selects which of 4 pipes are active. */#define GB_PIPE_SELECT 0x402c# define GB_PIPE_SELECT_PIPE0_ID_SHIFT 0# define GB_PIPE_SELECT_PIPE1_ID_SHIFT 2# define GB_PIPE_SELECT_PIPE2_ID_SHIFT 4# define GB_PIPE_SELECT_PIPE3_ID_SHIFT 6# define GB_PIPE_SELECT_PIPE_MASK_SHIFT 8# define GB_PIPE_SELECT_MAX_PIPE 12# define GB_PIPE_SELECT_BAD_PIPES 14# define GB_PIPE_SELECT_CONFIG_PIPES 18/* Specifies the sizes of the various FIFO`s in the sc/rs. */#define GB_FIFO_SIZE1 0x4070/* High water mark for SC input fifo */# define GB_FIFO_SIZE1_SC_HIGHWATER_IFIFO_SHIFT 0# define GB_FIFO_SIZE1_SC_HIGHWATER_IFIFO_MASK 0x0000003f/* High water mark for SC input fifo (B) */# define GB_FIFO_SIZE1_SC_HIGHWATER_BFIFO_SHIFT 6# define GB_FIFO_SIZE1_SC_HIGHWATER_BFIFO_MASK 0x00000fc0/* High water mark for RS colors' fifo */# define GB_FIFO_SIZE1_SC_HIGHWATER_COL_SHIFT 12# define GB_FIFO_SIZE1_SC_HIGHWATER_COL_MASK 0x0003f000/* High water mark for RS textures' fifo */# define GB_FIFO_SIZE1_SC_HIGHWATER_TEX_SHIFT 18# define GB_FIFO_SIZE1_SC_HIGHWATER_TEX_MASK 0x00fc0000/* This table specifies the source location and format for up to 16 texture * addresses (i[0]:i[15]) and four colors (c[0]:c[3]) */#define R500_RS_IP_0 0x4074#define R500_RS_IP_1 0x4078#define R500_RS_IP_2 0x407C#define R500_RS_IP_3 0x4080#define R500_RS_IP_4 0x4084#define R500_RS_IP_5 0x4088#define R500_RS_IP_6 0x408C#define R500_RS_IP_7 0x4090#define R500_RS_IP_8 0x4094#define R500_RS_IP_9 0x4098#define R500_RS_IP_10 0x409C#define R500_RS_IP_11 0x40A0#define R500_RS_IP_12 0x40A4#define R500_RS_IP_13 0x40A8#define R500_RS_IP_14 0x40AC#define R500_RS_IP_15 0x40B0#define R500_RS_IP_PTR_K0 62#define R500_RS_IP_PTR_K1 63#define R500_RS_IP_TEX_PTR_S_SHIFT 0#define R500_RS_IP_TEX_PTR_T_SHIFT 6#define R500_RS_IP_TEX_PTR_R_SHIFT 12#define R500_RS_IP_TEX_PTR_Q_SHIFT 18#define R500_RS_IP_COL_PTR_SHIFT 24#define R500_RS_IP_COL_FMT_SHIFT 27# define R500_RS_COL_PTR(x) (x << 24)# define R500_RS_COL_FMT(x) (x << 27)/* gap */#define R500_RS_IP_OFFSET_DIS (0 << 31)#define R500_RS_IP_OFFSET_EN (1 << 31)/* gap *//* Zero to flush caches. */#define R300_TX_INVALTAGS 0x4100#define R300_TX_FLUSH 0x0/* The upper enable bits are guessed, based on fglrx reported limits. */#define R300_TX_ENABLE 0x4104# define R300_TX_ENABLE_0 (1 << 0)# define R300_TX_ENABLE_1 (1 << 1)# define R300_TX_ENABLE_2 (1 << 2)# define R300_TX_ENABLE_3 (1 << 3)# define R300_TX_ENABLE_4 (1 << 4)# define R300_TX_ENABLE_5 (1 << 5)# define R300_TX_ENABLE_6 (1 << 6)# define R300_TX_ENABLE_7 (1 << 7)# define R300_TX_ENABLE_8 (1 << 8)# define R300_TX_ENABLE_9 (1 << 9)# define R300_TX_ENABLE_10 (1 << 10)# define R300_TX_ENABLE_11 (1 << 11)# define R300_TX_ENABLE_12 (1 << 12)# define R300_TX_ENABLE_13 (1 << 13)# define R300_TX_ENABLE_14 (1 << 14)# define R300_TX_ENABLE_15 (1 << 15)#define R500_TX_FILTER_4 0x4110# define R500_TX_WEIGHT_1_SHIFT (0)# define R500_TX_WEIGHT_0_SHIFT (11)# define R500_TX_WEIGHT_PAIR (1<<22)# define R500_TX_PHASE_SHIFT (23)# define R500_TX_DIRECTION_HORIZONTAL (0<<27)# define R500_TX_DIRECTION_VERITCAL (1<<27)/* S Texture Coordinate of Vertex 0 for Point texture stuffing (LLC) */#define R300_GA_POINT_S0 0x4200/* T Texture Coordinate of Vertex 0 for Point texture stuffing (LLC) */#define R300_GA_POINT_T0 0x4204/* S Texture Coordinate of Vertex 2 for Point texture stuffing (URC) */#define R300_GA_POINT_S1 0x4208/* T Texture Coordinate of Vertex 2 for Point texture stuffing (URC) */#define R300_GA_POINT_T1 0x420c/* Specifies amount to shift integer position of vertex (screen space) before * converting to float for triangle stipple. */#define R300_GA_TRIANGLE_STIPPLE 0x4214# define R300_GA_TRIANGLE_STIPPLE_X_SHIFT_SHIFT 0# define R300_GA_TRIANGLE_STIPPLE_X_SHIFT_MASK 0x0000000f# define R300_GA_TRIANGLE_STIPPLE_Y_SHIFT_SHIFT 16# define R300_GA_TRIANGLE_STIPPLE_Y_SHIFT_MASK 0x000f0000/* The pointsize is given in multiples of 6. The pointsize can be enormous: * Clear() renders a single point that fills the entire framebuffer. * 1/2 Height of point; fixed (16.0), subpixel format (1/12 or 1/16, even if in * 8b precision). */#define R300_GA_POINT_SIZE 0x421C# define R300_POINTSIZE_Y_SHIFT 0# define R300_POINTSIZE_Y_MASK 0x0000ffff# define R300_POINTSIZE_X_SHIFT 16# define R300_POINTSIZE_X_MASK 0xffff0000# define R300_POINTSIZE_MAX (R300_POINTSIZE_Y_MASK / 6)/* Blue fill color */#define R500_GA_FILL_R 0x4220/* Blue fill color */#define R500_GA_FILL_G 0x4224/* Blue fill color */#define R500_GA_FILL_B 0x4228/* Alpha fill color */#define R500_GA_FILL_A 0x422c/* Specifies maximum and minimum point & sprite sizes for per vertex size * specification. The lower part (15:0) is MIN and (31:16) is max. */#define R300_GA_POINT_MINMAX 0x4230# define R300_GA_POINT_MINMAX_MIN_SHIFT 0# define R300_GA_POINT_MINMAX_MIN_MASK (0xFFFF << 0)# define R300_GA_POINT_MINMAX_MAX_SHIFT 16# define R300_GA_POINT_MINMAX_MAX_MASK (0xFFFF << 16)/* 1/2 width of line, in subpixels (1/12 or 1/16 only, even in 8b * subprecision); (16.0) fixed format. * * The line width is given in multiples of 6. * In default mode lines are classified as vertical lines. * HO: horizontal * VE: vertical or horizontal * HO & VE: no classification */#define R300_GA_LINE_CNTL 0x4234# define R300_GA_LINE_CNTL_WIDTH_SHIFT 0# define R300_GA_LINE_CNTL_WIDTH_MASK 0x0000ffff# define R300_GA_LINE_CNTL_END_TYPE_HOR (0 << 16)# define R300_GA_LINE_CNTL_END_TYPE_VER (1 << 16)# define R300_GA_LINE_CNTL_END_TYPE_SQR (2 << 16) /* horizontal or vertical depending upon slope */# define R300_GA_LINE_CNTL_END_TYPE_COMP (3 << 16) /* Computed (perpendicular to slope) */# define R500_GA_LINE_CNTL_SORT_NO (0 << 18)# define R500_GA_LINE_CNTL_SORT_MINX_MINY (1 << 18)/** TODO: looks wrong */# define R300_LINESIZE_MAX (R300_GA_LINE_CNTL_WIDTH_MASK / 6)/** TODO: looks wrong */# define R300_LINE_CNT_HO (1 << 16)/** TODO: looks wrong */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -