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

📄 r300_reg.h

📁 Mesa is an open-source implementation of the OpenGL specification - a system for rendering interacti
💻 H
📖 第 1 页 / 共 5 页
字号:
#       define R300_LINE_CNT_VE               (1 << 17)/* Line Stipple configuration information. */#define R300_GA_LINE_STIPPLE_CONFIG                   0x4238#	define R300_GA_LINE_STIPPLE_CONFIG_LINE_RESET_NO     (0 << 0)#	define R300_GA_LINE_STIPPLE_CONFIG_LINE_RESET_LINE   (1 << 0)#	define R300_GA_LINE_STIPPLE_CONFIG_LINE_RESET_PACKET (2 << 0)#	define R300_GA_LINE_STIPPLE_CONFIG_STIPPLE_SCALE_SHIFT 2#	define R300_GA_LINE_STIPPLE_CONFIG_STIPPLE_SCALE_MASK  0xfffffffc/* Used to load US instructions and constants */#define R500_GA_US_VECTOR_INDEX               0x4250#	define R500_GA_US_VECTOR_INDEX_SHIFT       0#	define R500_GA_US_VECTOR_INDEX_MASK        0x000000ff#	define R500_GA_US_VECTOR_INDEX_TYPE_INSTR  (0 << 16)#	define R500_GA_US_VECTOR_INDEX_TYPE_CONST  (1 << 16)#	define R500_GA_US_VECTOR_INDEX_CLAMP_NO    (0 << 17)#	define R500_GA_US_VECTOR_INDEX_CLAMP_CONST (1 << 17)/* Data register for loading US instructions and constants */#define R500_GA_US_VECTOR_DATA                0x4254/* Specifies color properties and mappings of textures. */#define R500_GA_COLOR_CONTROL_PS3                     0x4258#	define R500_TEX0_SHADING_PS3_SOLID       (0 << 0)#	define R500_TEX0_SHADING_PS3_FLAT        (1 << 0)#	define R500_TEX0_SHADING_PS3_GOURAUD     (2 << 0)#	define R500_TEX1_SHADING_PS3_SOLID       (0 << 2)#	define R500_TEX1_SHADING_PS3_FLAT        (1 << 2)#	define R500_TEX1_SHADING_PS3_GOURAUD     (2 << 2)#	define R500_TEX2_SHADING_PS3_SOLID       (0 << 4)#	define R500_TEX2_SHADING_PS3_FLAT        (1 << 4)#	define R500_TEX2_SHADING_PS3_GOURAUD     (2 << 4)#	define R500_TEX3_SHADING_PS3_SOLID       (0 << 6)#	define R500_TEX3_SHADING_PS3_FLAT        (1 << 6)#	define R500_TEX3_SHADING_PS3_GOURAUD     (2 << 6)#	define R500_TEX4_SHADING_PS3_SOLID       (0 << 8)#	define R500_TEX4_SHADING_PS3_FLAT        (1 << 8)#	define R500_TEX4_SHADING_PS3_GOURAUD     (2 << 8)#	define R500_TEX5_SHADING_PS3_SOLID       (0 << 10)#	define R500_TEX5_SHADING_PS3_FLAT        (1 << 10)#	define R500_TEX5_SHADING_PS3_GOURAUD     (2 << 10)#	define R500_TEX6_SHADING_PS3_SOLID       (0 << 12)#	define R500_TEX6_SHADING_PS3_FLAT        (1 << 12)#	define R500_TEX6_SHADING_PS3_GOURAUD     (2 << 12)#	define R500_TEX7_SHADING_PS3_SOLID       (0 << 14)#	define R500_TEX7_SHADING_PS3_FLAT        (1 << 14)#	define R500_TEX7_SHADING_PS3_GOURAUD     (2 << 14)#	define R500_TEX8_SHADING_PS3_SOLID       (0 << 16)#	define R500_TEX8_SHADING_PS3_FLAT        (1 << 16)#	define R500_TEX8_SHADING_PS3_GOURAUD     (2 << 16)#	define R500_TEX9_SHADING_PS3_SOLID       (0 << 18)#	define R500_TEX9_SHADING_PS3_FLAT        (1 << 18)#	define R500_TEX9_SHADING_PS3_GOURAUD     (2 << 18)#	define R500_TEX10_SHADING_PS3_SOLID      (0 << 20)#	define R500_TEX10_SHADING_PS3_FLAT       (1 << 20)#	define R500_TEX10_SHADING_PS3_GOURAUD    (2 << 20)#	define R500_COLOR0_TEX_OVERRIDE_NO       (0 << 22)#	define R500_COLOR0_TEX_OVERRIDE_TEX_0    (1 << 22)#	define R500_COLOR0_TEX_OVERRIDE_TEX_1    (2 << 22)#	define R500_COLOR0_TEX_OVERRIDE_TEX_2    (3 << 22)#	define R500_COLOR0_TEX_OVERRIDE_TEX_3    (4 << 22)#	define R500_COLOR0_TEX_OVERRIDE_TEX_4    (5 << 22)#	define R500_COLOR0_TEX_OVERRIDE_TEX_5    (6 << 22)#	define R500_COLOR0_TEX_OVERRIDE_TEX_6    (7 << 22)#	define R500_COLOR0_TEX_OVERRIDE_TEX_7    (8 << 22)#	define R500_COLOR0_TEX_OVERRIDE_TEX_8_C2 (9 << 22)#	define R500_COLOR0_TEX_OVERRIDE_TEX_9_C3 (10 << 22)#	define R500_COLOR1_TEX_OVERRIDE_NO       (0 << 26)#	define R500_COLOR1_TEX_OVERRIDE_TEX_0    (1 << 26)#	define R500_COLOR1_TEX_OVERRIDE_TEX_1    (2 << 26)#	define R500_COLOR1_TEX_OVERRIDE_TEX_2    (3 << 26)#	define R500_COLOR1_TEX_OVERRIDE_TEX_3    (4 << 26)#	define R500_COLOR1_TEX_OVERRIDE_TEX_4    (5 << 26)#	define R500_COLOR1_TEX_OVERRIDE_TEX_5    (6 << 26)#	define R500_COLOR1_TEX_OVERRIDE_TEX_6    (7 << 26)#	define R500_COLOR1_TEX_OVERRIDE_TEX_7    (8 << 26)#	define R500_COLOR1_TEX_OVERRIDE_TEX_8_C2 (9 << 26)#	define R500_COLOR1_TEX_OVERRIDE_TEX_9_C3 (10 << 26)/* Returns idle status of various G3D block, captured when GA_IDLE written or * when hard or soft reset asserted. */#define R500_GA_IDLE                                  0x425c#	define R500_GA_IDLE_PIPE3_Z_IDLE  (0 << 0)#	define R500_GA_IDLE_PIPE2_Z_IDLE  (0 << 1)#	define R500_GA_IDLE_PIPE3_CD_IDLE (0 << 2)#	define R500_GA_IDLE_PIPE2_CD_IDLE (0 << 3)#	define R500_GA_IDLE_PIPE3_FG_IDLE (0 << 4)#	define R500_GA_IDLE_PIPE2_FG_IDLE (0 << 5)#	define R500_GA_IDLE_PIPE3_US_IDLE (0 << 6)#	define R500_GA_IDLE_PIPE2_US_IDLE (0 << 7)#	define R500_GA_IDLE_PIPE3_SC_IDLE (0 << 8)#	define R500_GA_IDLE_PIPE2_SC_IDLE (0 << 9)#	define R500_GA_IDLE_PIPE3_RS_IDLE (0 << 10)#	define R500_GA_IDLE_PIPE2_RS_IDLE (0 << 11)#	define R500_GA_IDLE_PIPE1_Z_IDLE  (0 << 12)#	define R500_GA_IDLE_PIPE0_Z_IDLE  (0 << 13)#	define R500_GA_IDLE_PIPE1_CD_IDLE (0 << 14)#	define R500_GA_IDLE_PIPE0_CD_IDLE (0 << 15)#	define R500_GA_IDLE_PIPE1_FG_IDLE (0 << 16)#	define R500_GA_IDLE_PIPE0_FG_IDLE (0 << 17)#	define R500_GA_IDLE_PIPE1_US_IDLE (0 << 18)#	define R500_GA_IDLE_PIPE0_US_IDLE (0 << 19)#	define R500_GA_IDLE_PIPE1_SC_IDLE (0 << 20)#	define R500_GA_IDLE_PIPE0_SC_IDLE (0 << 21)#	define R500_GA_IDLE_PIPE1_RS_IDLE (0 << 22)#	define R500_GA_IDLE_PIPE0_RS_IDLE (0 << 23)#	define R500_GA_IDLE_SU_IDLE       (0 << 24)#	define R500_GA_IDLE_GA_IDLE       (0 << 25)#	define R500_GA_IDLE_GA_UNIT2_IDLE (0 << 26)/* Current value of stipple accumulator. */#define R300_GA_LINE_STIPPLE_VALUE            0x4260/* S Texture Coordinate Value for Vertex 0 of Line (stuff textures -- i.e. AA) */#define R300_GA_LINE_S0                               0x4264/* S Texture Coordinate Value for Vertex 1 of Lines (V2 of parallelogram -- stuff textures -- i.e. AA) */#define R300_GA_LINE_S1                               0x4268/* GA Input fifo high water marks */#define R500_GA_FIFO_CNTL                             0x4270#	define R500_GA_FIFO_CNTL_VERTEX_FIFO_MASK   0x00000007#	define R500_GA_FIFO_CNTL_VERTEX_FIFO_SHIFT  0#	define R500_GA_FIFO_CNTL_VERTEX_INDEX_MASK  0x00000038#	define R500_GA_FIFO_CNTL_VERTEX_INDEX_SHIFT 3#	define R500_GA_FIFO_CNTL_VERTEX_REG_MASK    0x00003fc0#	define R500_GA_FIFO_CNTL_VERTEX_REG_SHIFT   6/* GA enhance/tweaks */#define R300_GA_ENHANCE                               0x4274#	define R300_GA_ENHANCE_DEADLOCK_CNTL_NO_EFFECT   (0 << 0)#	define R300_GA_ENHANCE_DEADLOCK_CNTL_PREVENT_TCL (1 << 0) /* Prevents TCL interface from deadlocking on GA side. */#	define R300_GA_ENHANCE_FASTSYNC_CNTL_NO_EFFECT   (0 << 1)#	define R300_GA_ENHANCE_FASTSYNC_CNTL_ENABLE      (1 << 1) /* Enables high-performance register/primitive switching. */#	define R500_GA_ENHANCE_REG_READWRITE_NO_EFFECT   (0 << 2) /* R520+ only */#	define R500_GA_ENHANCE_REG_READWRITE_ENABLE      (1 << 2) /* R520+ only, Enables GA support of simultaneous register reads and writes. */#	define R500_GA_ENHANCE_REG_NOSTALL_NO_EFFECT     (0 << 3)#	define R500_GA_ENHANCE_REG_NOSTALL_ENABLE        (1 << 3) /* Enables GA support of no-stall reads for register read back. */#define R300_GA_COLOR_CONTROL                   0x4278#	define R300_GA_COLOR_CONTROL_RGB0_SHADING_SOLID      (0 << 0)#	define R300_GA_COLOR_CONTROL_RGB0_SHADING_FLAT       (1 << 0)#	define R300_GA_COLOR_CONTROL_RGB0_SHADING_GOURAUD    (2 << 0)#	define R300_GA_COLOR_CONTROL_ALPHA0_SHADING_SOLID    (0 << 2)#	define R300_GA_COLOR_CONTROL_ALPHA0_SHADING_FLAT     (1 << 2)#	define R300_GA_COLOR_CONTROL_ALPHA0_SHADING_GOURAUD  (2 << 2)#	define R300_GA_COLOR_CONTROL_RGB1_SHADING_SOLID      (0 << 4)#	define R300_GA_COLOR_CONTROL_RGB1_SHADING_FLAT       (1 << 4)#	define R300_GA_COLOR_CONTROL_RGB1_SHADING_GOURAUD    (2 << 4)#	define R300_GA_COLOR_CONTROL_ALPHA1_SHADING_SOLID    (0 << 6)#	define R300_GA_COLOR_CONTROL_ALPHA1_SHADING_FLAT     (1 << 6)#	define R300_GA_COLOR_CONTROL_ALPHA1_SHADING_GOURAUD  (2 << 6)#	define R300_GA_COLOR_CONTROL_RGB2_SHADING_SOLID      (0 << 8)#	define R300_GA_COLOR_CONTROL_RGB2_SHADING_FLAT       (1 << 8)#	define R300_GA_COLOR_CONTROL_RGB2_SHADING_GOURAUD    (2 << 8)#	define R300_GA_COLOR_CONTROL_ALPHA2_SHADING_SOLID    (0 << 10)#	define R300_GA_COLOR_CONTROL_ALPHA2_SHADING_FLAT     (1 << 10)#	define R300_GA_COLOR_CONTROL_ALPHA2_SHADING_GOURAUD  (2 << 10)#	define R300_GA_COLOR_CONTROL_RGB3_SHADING_SOLID      (0 << 12)#	define R300_GA_COLOR_CONTROL_RGB3_SHADING_FLAT       (1 << 12)#	define R300_GA_COLOR_CONTROL_RGB3_SHADING_GOURAUD    (2 << 12)#	define R300_GA_COLOR_CONTROL_ALPHA3_SHADING_SOLID    (0 << 14)#	define R300_GA_COLOR_CONTROL_ALPHA3_SHADING_FLAT     (1 << 14)#	define R300_GA_COLOR_CONTROL_ALPHA3_SHADING_GOURAUD  (2 << 14)#	define R300_GA_COLOR_CONTROL_PROVOKING_VERTEX_FIRST  (0 << 16)#	define R300_GA_COLOR_CONTROL_PROVOKING_VERTEX_SECOND (1 << 16)#	define R300_GA_COLOR_CONTROL_PROVOKING_VERTEX_THIRD  (2 << 16)#	define R300_GA_COLOR_CONTROL_PROVOKING_VERTEX_LAST   (3 << 16)/** TODO: might be candidate for removal */#	define R300_RE_SHADE_MODEL_SMOOTH     ( \	R300_GA_COLOR_CONTROL_RGB0_SHADING_GOURAUD | R300_GA_COLOR_CONTROL_ALPHA0_SHADING_GOURAUD | \	R300_GA_COLOR_CONTROL_RGB1_SHADING_GOURAUD | R300_GA_COLOR_CONTROL_ALPHA1_SHADING_GOURAUD | \	R300_GA_COLOR_CONTROL_RGB2_SHADING_GOURAUD | R300_GA_COLOR_CONTROL_ALPHA2_SHADING_GOURAUD | \	R300_GA_COLOR_CONTROL_RGB3_SHADING_GOURAUD | R300_GA_COLOR_CONTROL_ALPHA3_SHADING_GOURAUD | \	R300_GA_COLOR_CONTROL_PROVOKING_VERTEX_LAST )/** TODO: might be candidate for removal, the GOURAUD stuff also looks buggy to me */#	define R300_RE_SHADE_MODEL_FLAT     ( \	R300_GA_COLOR_CONTROL_RGB0_SHADING_FLAT | R300_GA_COLOR_CONTROL_ALPHA0_SHADING_FLAT | \	R300_GA_COLOR_CONTROL_RGB1_SHADING_FLAT | R300_GA_COLOR_CONTROL_ALPHA1_SHADING_GOURAUD | \	R300_GA_COLOR_CONTROL_RGB2_SHADING_FLAT | R300_GA_COLOR_CONTROL_ALPHA2_SHADING_FLAT | \	R300_GA_COLOR_CONTROL_RGB3_SHADING_FLAT | R300_GA_COLOR_CONTROL_ALPHA3_SHADING_GOURAUD | \	R300_GA_COLOR_CONTROL_PROVOKING_VERTEX_LAST )/* Specifies red & green components of fill color -- S312 format -- Backwards comp. */#define R300_GA_SOLID_RG                         0x427c#	define GA_SOLID_RG_COLOR_GREEN_SHIFT 0#	define GA_SOLID_RG_COLOR_GREEN_MASK  0x0000ffff#	define GA_SOLID_RG_COLOR_RED_SHIFT   16#	define GA_SOLID_RG_COLOR_RED_MASK    0xffff0000/* Specifies blue & alpha components of fill color -- S312 format -- Backwards comp. */#define R300_GA_SOLID_BA                         0x4280#	define GA_SOLID_BA_COLOR_ALPHA_SHIFT 0#	define GA_SOLID_BA_COLOR_ALPHA_MASK  0x0000ffff#	define GA_SOLID_BA_COLOR_BLUE_SHIFT  16#	define GA_SOLID_BA_COLOR_BLUE_MASK   0xffff0000/* Polygon Mode * Dangerous */#define R300_GA_POLY_MODE                             0x4288#	define R300_GA_POLY_MODE_DISABLE           (0 << 0)#	define R300_GA_POLY_MODE_DUAL              (1 << 0) /* send 2 sets of 3 polys with specified poly type *//* reserved */#	define R300_GA_POLY_MODE_FRONT_PTYPE_POINT (0 << 4)#	define R300_GA_POLY_MODE_FRONT_PTYPE_LINE  (1 << 4)#	define R300_GA_POLY_MODE_FRONT_PTYPE_TRI   (2 << 4)/* reserved */#	define R300_GA_POLY_MODE_BACK_PTYPE_POINT  (0 << 7)#	define R300_GA_POLY_MODE_BACK_PTYPE_LINE   (1 << 7)#	define R300_GA_POLY_MODE_BACK_PTYPE_TRI    (2 << 7)/* reserved *//* Specifies the rouding mode for geometry & color SPFP to FP conversions. */#define R300_GA_ROUND_MODE                            0x428c#	define R300_GA_ROUND_MODE_GEOMETRY_ROUND_TRUNC   (0 << 0)#	define R300_GA_ROUND_MODE_GEOMETRY_ROUND_NEAREST (1 << 0)#	define R300_GA_ROUND_MODE_COLOR_ROUND_TRUNC      (0 << 2)#	define R300_GA_ROUND_MODE_COLOR_ROUND_NEAREST    (1 << 2)#	define R300_GA_ROUND_MODE_RGB_CLAMP_RGB          (0 << 4)#	define R300_GA_ROUND_MODE_RGB_CLAMP_FP20         (1 << 4)#	define R300_GA_ROUND_MODE_ALPHA_CLAMP_RGB        (0 << 5)#	define R300_GA_ROUND_MODE_ALPHA_CLAMP_FP20       (1 << 5)#	define R500_GA_ROUND_MODE_GEOMETRY_MASK_SHIFT    6#	define R500_GA_ROUND_MODE_GEOMETRY_MASK_MASK     0x000003c0/* Specifies x & y offsets for vertex data after conversion to FP. * Offsets are in S15 format (subpixels -- 1/12 or 1/16, even in 8b * subprecision). */#define R300_GA_OFFSET                                0x4290#	define R300_GA_OFFSET_X_OFFSET_SHIFT 0#	define R300_GA_OFFSET_X_OFFSET_MASK  0x0000ffff#	define R300_GA_OFFSET_Y_OFFSET_SHIFT 16#	define R300_GA_OFFSET_Y_OFFSET_MASK  0xffff0000/* Specifies the scale to apply to fog. */#define R300_GA_FOG_SCALE                     0x4294/* Specifies the offset to apply to fog. */#define R300_GA_FOG_OFFSET                    0x4298/* Specifies number of cycles to assert reset, and also causes RB3D soft reset to assert. */#define R300_GA_SOFT_RESET                    0x429c/* Not sure why there are duplicate of factor and constant values. * My best guess so far is that there are seperate zbiases for test and write. * Ordering might be wrong. * Some of the tests indicate that fgl has a fallback implementation of zbias * via pixel shaders. */#define R300_SU_TEX_WRAP                      0x42A0#define R300_SU_POLY_OFFSET_FRONT_SCALE       0x42A4#define R300_SU_POLY_OFFSET_FRONT_OFFSET      0x42A8#define R300_SU_POLY_OFFSET_BACK_SCALE        0x42AC#define R300_SU_POLY_OFFSET_BACK_OFFSET       0x42B0/* This register needs to be set to (1<<1) for RV350 to correctly * perform depth test (see --vb-triangles in r300_demo) * Don't know about other chips. - Vladimir * This is set to 3 when GL_POLYGON_OFFSET_FILL is on. * My guess is that there are two bits for each zbias primitive * (FILL, LINE, POINT). *  One to enable depth test and one for depth write. * Yet this doesnt explain why depth writes work ... */#define R300_SU_POLY_OFFSET_ENABLE	       0x42B4#	define R300_FRONT_ENABLE	       (1 << 0)#	define R300_BACK_ENABLE 	       (1 << 1)#	define R300_PARA_ENABLE 	       (1 << 2)#define R300_SU_CULL_MODE                      0x42B8#       define R300_CULL_FRONT                   (1 << 0)#       define R300_CULL_BACK                    (1 << 1)#       define R300_FRONT_FACE_CCW               (0 << 2)#       define R300_FRONT_FACE_CW                (1 << 2)/* SU Depth Scale value */#define R300_SU_DEPTH_SCALE                 0x42c0/* SU Depth Offset value */#define R300_SU_DEPTH_OFFSET                0x42c4/* BEGIN: Rasterization / Interpolators - many guesses */

⌨️ 快捷键说明

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