⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 r300_reg.h

📁 Mesa is an open-source implementation of the OpenGL specification - a system for rendering interacti
💻 H
📖 第 1 页 / 共 5 页
字号:
/* * TC_CNT is the number of incoming texture coordinate sets (i.e. it depends * on the vertex program, *not* the fragment program) */#define R300_RS_COUNT                      0x4300#       define R300_IT_COUNT_SHIFT               0#       define R300_IT_COUNT_MASK                0x0000007f#       define R300_IC_COUNT_SHIFT               7#       define R300_IC_COUNT_MASK                0x00000780#       define R300_W_ADDR_SHIFT                 12#       define R300_W_ADDR_MASK                  0x0003f000#       define R300_HIRES_DIS                    (0 << 18)#       define R300_HIRES_EN                     (1 << 18)#define R300_RS_INST_COUNT                       0x4304#       define R300_RS_INST_COUNT_SHIFT          0#       define R300_RS_INST_COUNT_MASK           0x0000000f#       define R300_RS_TX_OFFSET_SHIFT           5#	define R300_RS_TX_OFFSET_MASK            0x000000e0/* gap *//* Only used for texture coordinates. * Use the source field to route texture coordinate input from the * vertex program to the desired interpolator. Note that the source * field is relative to the outputs the vertex program *actually* * writes. If a vertex program only writes texcoord[1], this will * be source index 0. * Set INTERP_USED on all interpolators that produce data used by * the fragment program. INTERP_USED looks like a swizzling mask, * but I haven't seen it used that way. * * Note: The _UNKNOWN constants are always set in their respective * register. I don't know if this is necessary. */#define R300_RS_IP_0				        0x4310#define R300_RS_IP_1				        0x4314#define R300_RS_IP_2				        0x4318#define R300_RS_IP_3				        0x431C#       define R300_RS_INTERP_SRC_SHIFT          2 /* TODO: check for removal */#       define R300_RS_INTERP_SRC_MASK           (7 << 2) /* TODO: check for removal */#	define R300_RS_TEX_PTR(x)		        (x << 0)#	define R300_RS_COL_PTR(x)		        (x << 6)#	define R300_RS_COL_FMT(x)		        (x << 9)#	define R300_RS_COL_FMT_RGBA		        0#	define R300_RS_COL_FMT_RGB0		        1#	define R300_RS_COL_FMT_RGB1		        2#	define R300_RS_COL_FMT_000A		        4#	define R300_RS_COL_FMT_0000		        5#	define R300_RS_COL_FMT_0001		        6#	define R300_RS_COL_FMT_111A		        8#	define R300_RS_COL_FMT_1110		        9#	define R300_RS_COL_FMT_1111		        10#	define R300_RS_SEL_S(x)		                (x << 13)#	define R300_RS_SEL_T(x)		                (x << 16)#	define R300_RS_SEL_R(x)		                (x << 19)#	define R300_RS_SEL_Q(x)		                (x << 22)#	define R300_RS_SEL_C0		                0#	define R300_RS_SEL_C1		                1#	define R300_RS_SEL_C2		                2#	define R300_RS_SEL_C3		                3#	define R300_RS_SEL_K0		                4#	define R300_RS_SEL_K1		                5/*  */#define R500_RS_INST_0					0x4320#define R500_RS_INST_1					0x4324#define R500_RS_INST_2					0x4328#define R500_RS_INST_3					0x432c#define R500_RS_INST_4					0x4330#define R500_RS_INST_5					0x4334#define R500_RS_INST_6					0x4338#define R500_RS_INST_7					0x433c#define R500_RS_INST_8					0x4340#define R500_RS_INST_9					0x4344#define R500_RS_INST_10					0x4348#define R500_RS_INST_11					0x434c#define R500_RS_INST_12					0x4350#define R500_RS_INST_13					0x4354#define R500_RS_INST_14					0x4358#define R500_RS_INST_15					0x435c#define R500_RS_INST_TEX_ID_SHIFT			0#define R500_RS_INST_TEX_CN_WRITE			(1 << 4)#define R500_RS_INST_TEX_ADDR_SHIFT			5#define R500_RS_INST_COL_ID_SHIFT			12#define R500_RS_INST_COL_CN_NO_WRITE			(0 << 16)#define R500_RS_INST_COL_CN_WRITE			(1 << 16)#define R500_RS_INST_COL_CN_WRITE_FBUFFER		(2 << 16)#define R500_RS_INST_COL_CN_WRITE_BACKFACE		(3 << 16)#define R500_RS_INST_COL_ADDR_SHIFT			18#define R500_RS_INST_TEX_ADJ				(1 << 25)#define R500_RS_INST_W_CN				(1 << 26)/* These DWORDs control how vertex data is routed into fragment program * registers, after interpolators. */#define R300_RS_INST_0                     0x4330#define R300_RS_INST_1                     0x4334#define R300_RS_INST_2                     0x4338#define R300_RS_INST_3                     0x433C /* GUESS */#define R300_RS_INST_4                     0x4340 /* GUESS */#define R300_RS_INST_5                     0x4344 /* GUESS */#define R300_RS_INST_6                     0x4348 /* GUESS */#define R300_RS_INST_7                     0x434C /* GUESS */#	define R300_RS_INST_TEX_ID(x)  		((x) << 0)#	define R300_RS_INST_TEX_CN_WRITE 	(1 << 3)#	define R300_RS_INST_TEX_ADDR_SHIFT 	6#	define R300_RS_INST_COL_ID(x)		((x) << 11)#	define R300_RS_INST_COL_CN_WRITE	(1 << 14)#	define R300_RS_INST_COL_ADDR_SHIFT	17#	define R300_RS_INST_TEX_ADJ		(1 << 22)#	define R300_RS_COL_BIAS_UNUSED_SHIFT    23/* END: Rasterization / Interpolators - many guesses *//* Hierarchical Z Enable */#define R300_SC_HYPERZ                   0x43a4#	define R300_SC_HYPERZ_DISABLE     (0 << 0)#	define R300_SC_HYPERZ_ENABLE      (1 << 0)#	define R300_SC_HYPERZ_MIN         (0 << 1)#	define R300_SC_HYPERZ_MAX         (1 << 1)#	define R300_SC_HYPERZ_ADJ_256     (0 << 2)#	define R300_SC_HYPERZ_ADJ_128     (1 << 2)#	define R300_SC_HYPERZ_ADJ_64      (2 << 2)#	define R300_SC_HYPERZ_ADJ_32      (3 << 2)#	define R300_SC_HYPERZ_ADJ_16      (4 << 2)#	define R300_SC_HYPERZ_ADJ_8       (5 << 2)#	define R300_SC_HYPERZ_ADJ_4       (6 << 2)#	define R300_SC_HYPERZ_ADJ_2       (7 << 2)#	define R300_SC_HYPERZ_HZ_Z0MIN_NO (0 << 5)#	define R300_SC_HYPERZ_HZ_Z0MIN    (1 << 5)#	define R300_SC_HYPERZ_HZ_Z0MAX_NO (0 << 6)#	define R300_SC_HYPERZ_HZ_Z0MAX    (1 << 6)#define R300_SC_EDGERULE                 0x43a8/* BEGIN: Scissors and cliprects *//* There are four clipping rectangles. Their corner coordinates are inclusive. * Every pixel is assigned a number from 0 and 15 by setting bits 0-3 depending * on whether the pixel is inside cliprects 0-3, respectively. For example, * if a pixel is inside cliprects 0 and 1, but outside 2 and 3, it is assigned * the number 3 (binary 0011). * Iff the bit corresponding to the pixel's number in RE_CLIPRECT_CNTL is set, * the pixel is rasterized. * * In addition to this, there is a scissors rectangle. Only pixels inside the * scissors rectangle are drawn. (coordinates are inclusive) * * For some reason, the top-left corner of the framebuffer is at (1440, 1440) * for the purpose of clipping and scissors. */#define R300_SC_CLIPRECT_TL_0               0x43B0#define R300_SC_CLIPRECT_BR_0               0x43B4#define R300_SC_CLIPRECT_TL_1               0x43B8#define R300_SC_CLIPRECT_BR_1               0x43BC#define R300_SC_CLIPRECT_TL_2               0x43C0#define R300_SC_CLIPRECT_BR_2               0x43C4#define R300_SC_CLIPRECT_TL_3               0x43C8#define R300_SC_CLIPRECT_BR_3               0x43CC#       define R300_CLIPRECT_OFFSET              1440#       define R300_CLIPRECT_MASK                0x1FFF#       define R300_CLIPRECT_X_SHIFT             0#       define R300_CLIPRECT_X_MASK              (0x1FFF << 0)#       define R300_CLIPRECT_Y_SHIFT             13#       define R300_CLIPRECT_Y_MASK              (0x1FFF << 13)#define R300_SC_CLIP_RULE                   0x43D0#       define R300_CLIP_OUT                     (1 << 0)#       define R300_CLIP_0                       (1 << 1)#       define R300_CLIP_1                       (1 << 2)#       define R300_CLIP_10                      (1 << 3)#       define R300_CLIP_2                       (1 << 4)#       define R300_CLIP_20                      (1 << 5)#       define R300_CLIP_21                      (1 << 6)#       define R300_CLIP_210                     (1 << 7)#       define R300_CLIP_3                       (1 << 8)#       define R300_CLIP_30                      (1 << 9)#       define R300_CLIP_31                      (1 << 10)#       define R300_CLIP_310                     (1 << 11)#       define R300_CLIP_32                      (1 << 12)#       define R300_CLIP_320                     (1 << 13)#       define R300_CLIP_321                     (1 << 14)#       define R300_CLIP_3210                    (1 << 15)/* gap */#define R300_SC_SCISSORS_TL                 0x43E0#define R300_SC_SCISSORS_BR                 0x43E4#       define R300_SCISSORS_OFFSET              1440#       define R300_SCISSORS_X_SHIFT             0#       define R300_SCISSORS_X_MASK              (0x1FFF << 0)#       define R300_SCISSORS_Y_SHIFT             13#       define R300_SCISSORS_Y_MASK              (0x1FFF << 13)/* Screen door sample mask */#define R300_SC_SCREENDOOR                 0x43e8/* END: Scissors and cliprects *//* BEGIN: Texture specification *//* * The texture specification dwords are grouped by meaning and not by texture * unit. This means that e.g. the offset for texture image unit N is found in * register TX_OFFSET_0 + (4*N) */#define R300_TX_FILTER0_0                        0x4400#define R300_TX_FILTER0_1                        0x4404#define R300_TX_FILTER0_2                        0x4408#define R300_TX_FILTER0_3                        0x440c#define R300_TX_FILTER0_4                        0x4410#define R300_TX_FILTER0_5                        0x4414#define R300_TX_FILTER0_6                        0x4418#define R300_TX_FILTER0_7                        0x441c#define R300_TX_FILTER0_8                        0x4420#define R300_TX_FILTER0_9                        0x4424#define R300_TX_FILTER0_10                       0x4428#define R300_TX_FILTER0_11                       0x442c#define R300_TX_FILTER0_12                       0x4430#define R300_TX_FILTER0_13                       0x4434#define R300_TX_FILTER0_14                       0x4438#define R300_TX_FILTER0_15                       0x443c#       define R300_TX_REPEAT                    0#       define R300_TX_MIRRORED                  1#       define R300_TX_CLAMP_TO_EDGE             2#	define R300_TX_MIRROR_ONCE_TO_EDGE       3#       define R300_TX_CLAMP                     4#	define R300_TX_MIRROR_ONCE               5#       define R300_TX_CLAMP_TO_BORDER           6#	define R300_TX_MIRROR_ONCE_TO_BORDER     7#       define R300_TX_WRAP_S_SHIFT              0#       define R300_TX_WRAP_S_MASK               (7 << 0)#       define R300_TX_WRAP_T_SHIFT              3#       define R300_TX_WRAP_T_MASK               (7 << 3)#       define R300_TX_WRAP_R_SHIFT              6#       define R300_TX_WRAP_R_MASK               (7 << 6)#	define R300_TX_MAG_FILTER_4              (0 << 9)#       define R300_TX_MAG_FILTER_NEAREST        (1 << 9)#       define R300_TX_MAG_FILTER_LINEAR         (2 << 9)#       define R300_TX_MAG_FILTER_ANISO          (3 << 9)#       define R300_TX_MAG_FILTER_MASK           (3 << 9)#       define R300_TX_MIN_FILTER_NEAREST        (1 << 11)#       define R300_TX_MIN_FILTER_LINEAR         (2 << 11)#	define R300_TX_MIN_FILTER_ANISO          (3 << 11)#	define R300_TX_MIN_FILTER_MASK           (3 << 11)#	define R300_TX_MIN_FILTER_MIP_NONE       (0 << 13)#	define R300_TX_MIN_FILTER_MIP_NEAREST    (1 << 13)#	define R300_TX_MIN_FILTER_MIP_LINEAR     (2 << 13)#	define R300_TX_MIN_FILTER_MIP_MASK       (3 << 13)#	define R300_TX_MAX_ANISO_1_TO_1          (0 << 21)#	define R300_TX_MAX_ANISO_2_TO_1          (1 << 21)#	define R300_TX_MAX_ANISO_4_TO_1          (2 << 21)#	define R300_TX_MAX_ANISO_8_TO_1          (3 << 21)#	define R300_TX_MAX_ANISO_16_TO_1         (4 << 21)#	define R300_TX_MAX_ANISO_MASK            (7 << 21)#define R300_TX_FILTER1_0                      0x4440#	define R300_CHROMA_KEY_MODE_DISABLE    0#	define R300_CHROMA_KEY_FORCE	       1#	define R300_CHROMA_KEY_BLEND           2#	define R300_MC_ROUND_NORMAL            (0<<2)#	define R300_MC_ROUND_MPEG4             (1<<2)#	define R300_LOD_BIAS_SHIFT             3#	define R300_LOD_BIAS_MASK	       0x1ff8#	define R300_EDGE_ANISO_EDGE_DIAG       (0<<13)#	define R300_EDGE_ANISO_EDGE_ONLY       (1<<13)#	define R300_MC_COORD_TRUNCATE_DISABLE  (0<<14)#	define R300_MC_COORD_TRUNCATE_MPEG     (1<<14)#	define R300_TX_TRI_PERF_0_8            (0<<15)#	define R300_TX_TRI_PERF_1_8            (1<<15)#	define R300_TX_TRI_PERF_1_4            (2<<15)#	define R300_TX_TRI_PERF_3_8            (3<<15)#	define R300_ANISO_THRESHOLD_MASK       (7<<17)#	define R500_MACRO_SWITCH               (1<<22)#	define R500_BORDER_FIX                 (1<<31)#define R300_TX_SIZE_0                      0x4480#       define R300_TX_WIDTHMASK_SHIFT           0#       define R300_TX_WIDTHMASK_MASK            (2047 << 0)#       define R300

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -