R300: clean up GA registers

This commit is contained in:
Alex Deucher 2008-05-13 16:12:57 -04:00
parent de3fc8b1c4
commit f86baae1a7
3 changed files with 176 additions and 176 deletions

View file

@ -363,21 +363,21 @@ void r300InitCmdBuf(r300ContextPtr r300)
ALLOC_STATE(txe, always, R300_TXE_CMDSIZE, 0);
r300->hw.txe.cmd[R300_TXE_CMD_0] = cmdpacket0(R300_TX_ENABLE, 1);
ALLOC_STATE(ga_point_s0, always, 5, 0);
r300->hw.ga_point_s0.cmd[0] = cmdpacket0(GA_POINT_S0, 4);
r300->hw.ga_point_s0.cmd[0] = cmdpacket0(R300_GA_POINT_S0, 4);
ALLOC_STATE(ga_triangle_stipple, always, 2, 0);
r300->hw.ga_triangle_stipple.cmd[0] = cmdpacket0(GA_TRIANGLE_STIPPLE, 1);
r300->hw.ga_triangle_stipple.cmd[0] = cmdpacket0(R300_GA_TRIANGLE_STIPPLE, 1);
ALLOC_STATE(ps, always, R300_PS_CMDSIZE, 0);
r300->hw.ps.cmd[0] = cmdpacket0(R300_GA_POINT_SIZE, 1);
ALLOC_STATE(ga_point_minmax, always, 4, 0);
r300->hw.ga_point_minmax.cmd[0] = cmdpacket0(R300_GA_POINT_MINMAX, 3);
ALLOC_STATE(lcntl, always, 2, 0);
r300->hw.lcntl.cmd[0] = cmdpacket0(GA_LINE_CNTL, 1);
r300->hw.lcntl.cmd[0] = cmdpacket0(R300_GA_LINE_CNTL, 1);
ALLOC_STATE(ga_line_stipple, always, 4, 0);
r300->hw.ga_line_stipple.cmd[0] = cmdpacket0(R300_GA_LINE_STIPPLE_VALUE, 3);
ALLOC_STATE(shade, always, 5, 0);
r300->hw.shade.cmd[0] = cmdpacket0(GA_ENHANCE, 4);
r300->hw.shade.cmd[0] = cmdpacket0(R300_GA_ENHANCE, 4);
ALLOC_STATE(polygon_mode, always, 4, 0);
r300->hw.polygon_mode.cmd[0] = cmdpacket0(GA_POLY_MODE, 3);
r300->hw.polygon_mode.cmd[0] = cmdpacket0(R300_GA_POLY_MODE, 3);
ALLOC_STATE(fogp, always, 3, 0);
r300->hw.fogp.cmd[0] = cmdpacket0(R300_RE_FOG_SCALE, 2);
ALLOC_STATE(zbias_cntl, always, 2, 0);

View file

@ -768,25 +768,25 @@ USE OR OTHER DEALINGS IN THE SOFTWARE.
# define R500_TX_DIRECTION_VERITCAL (1<<27)
/* S Texture Coordinate of Vertex 0 for Point texture stuffing (LLC) */
#define GA_POINT_S0 0x4200
#define R300_GA_POINT_S0 0x4200
/* T Texture Coordinate of Vertex 0 for Point texture stuffing (LLC) */
#define GA_POINT_T0 0x4204
#define R300_GA_POINT_T0 0x4204
/* S Texture Coordinate of Vertex 2 for Point texture stuffing (URC) */
#define GA_POINT_S1 0x4208
#define R300_GA_POINT_S1 0x4208
/* T Texture Coordinate of Vertex 2 for Point texture stuffing (URC) */
#define GA_POINT_T1 0x420c
#define R300_GA_POINT_T1 0x420c
/* Specifies amount to shift integer position of vertex (screen space) before
* converting to float for triangle stipple.
*/
#define GA_TRIANGLE_STIPPLE 0x4214
# define GA_TRIANGLE_STIPPLE_X_SHIFT_SHIFT 0
# define GA_TRIANGLE_STIPPLE_X_SHIFT_MASK 0x0000000f
# define GA_TRIANGLE_STIPPLE_Y_SHIFT_SHIFT 16
# define GA_TRIANGLE_STIPPLE_Y_SHIFT_MASK 0x000f0000
#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.
@ -801,16 +801,16 @@ USE OR OTHER DEALINGS IN THE SOFTWARE.
# define R300_POINTSIZE_MAX (R300_POINTSIZE_Y_MASK / 6)
/* Blue fill color */
#define GA_FILL_R 0x4220
#define R500_GA_FILL_R 0x4220
/* Blue fill color */
#define GA_FILL_G 0x4224
#define R500_GA_FILL_G 0x4224
/* Blue fill color */
#define GA_FILL_B 0x4228
#define R500_GA_FILL_B 0x4228
/* Alpha fill color */
#define GA_FILL_A 0x422c
#define R500_GA_FILL_A 0x422c
/* Specifies maximum and minimum point & sprite sizes for per vertex size
@ -831,159 +831,159 @@ USE OR OTHER DEALINGS IN THE SOFTWARE.
* VE: vertical or horizontal
* HO & VE: no classification
*/
#define GA_LINE_CNTL 0x4234
# define GA_LINE_CNTL_WIDTH_SHIFT 0
# define GA_LINE_CNTL_WIDTH_MASK 0x0000ffff
# define GA_LINE_CNTL_END_TYPE_HOR (0 << 16)
# define GA_LINE_CNTL_END_TYPE_VER (1 << 16)
# define GA_LINE_CNTL_END_TYPE_SQR (2 << 16) /* horizontal or vertical depending upon slope */
# define GA_LINE_CNTL_END_TYPE_COMP (3 << 16) /* Computed (perpendicular to slope) */
# define GA_LINE_CNTL_SORT_NO (0 << 18)
# define GA_LINE_CNTL_SORT_MINX_MINY (1 << 18)
#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 (GA_LINE_CNTL_WIDTH_MASK / 6)
# define R300_LINESIZE_MAX (R300_GA_LINE_CNTL_WIDTH_MASK / 6)
/** TODO: looks wrong */
# define R300_LINE_CNT_HO (1 << 16)
/** TODO: looks wrong */
# define R300_LINE_CNT_VE (1 << 17)
/* Line Stipple configuration information. */
#define GA_LINE_STIPPLE_CONFIG 0x4238
# define GA_LINE_STIPPLE_CONFIG_LINE_RESET_NO (0 << 0)
# define GA_LINE_STIPPLE_CONFIG_LINE_RESET_LINE (1 << 0)
# define GA_LINE_STIPPLE_CONFIG_LINE_RESET_PACKET (2 << 0)
# define GA_LINE_STIPPLE_CONFIG_STIPPLE_SCALE_SHIFT 2
# define GA_LINE_STIPPLE_CONFIG_STIPPLE_SCALE_MASK 0xfffffffc
#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 GA_US_VECTOR_INDEX_SHIFT 0
# define GA_US_VECTOR_INDEX_MASK 0x000000ff
# define GA_US_VECTOR_INDEX_TYPE_INSTR (0 << 16)
# define GA_US_VECTOR_INDEX_TYPE_CONST (1 << 16)
# define GA_US_VECTOR_INDEX_CLAMP_NO (0 << 17)
# define GA_US_VECTOR_INDEX_CLAMP_CONST (1 << 17)
# 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 GA_COLOR_CONTROL_PS3 0x4258
# define TEX0_SHADING_PS3_SOLID (0 << 0)
# define TEX0_SHADING_PS3_FLAT (1 << 0)
# define TEX0_SHADING_PS3_GOURAUD (2 << 0)
# define TEX1_SHADING_PS3_SOLID (0 << 2)
# define TEX1_SHADING_PS3_FLAT (1 << 2)
# define TEX1_SHADING_PS3_GOURAUD (2 << 2)
# define TEX2_SHADING_PS3_SOLID (0 << 4)
# define TEX2_SHADING_PS3_FLAT (1 << 4)
# define TEX2_SHADING_PS3_GOURAUD (2 << 4)
# define TEX3_SHADING_PS3_SOLID (0 << 6)
# define TEX3_SHADING_PS3_FLAT (1 << 6)
# define TEX3_SHADING_PS3_GOURAUD (2 << 6)
# define TEX4_SHADING_PS3_SOLID (0 << 8)
# define TEX4_SHADING_PS3_FLAT (1 << 8)
# define TEX4_SHADING_PS3_GOURAUD (2 << 8)
# define TEX5_SHADING_PS3_SOLID (0 << 10)
# define TEX5_SHADING_PS3_FLAT (1 << 10)
# define TEX5_SHADING_PS3_GOURAUD (2 << 10)
# define TEX6_SHADING_PS3_SOLID (0 << 12)
# define TEX6_SHADING_PS3_FLAT (1 << 12)
# define TEX6_SHADING_PS3_GOURAUD (2 << 12)
# define TEX7_SHADING_PS3_SOLID (0 << 14)
# define TEX7_SHADING_PS3_FLAT (1 << 14)
# define TEX7_SHADING_PS3_GOURAUD (2 << 14)
# define TEX8_SHADING_PS3_SOLID (0 << 16)
# define TEX8_SHADING_PS3_FLAT (1 << 16)
# define TEX8_SHADING_PS3_GOURAUD (2 << 16)
# define TEX9_SHADING_PS3_SOLID (0 << 18)
# define TEX9_SHADING_PS3_FLAT (1 << 18)
# define TEX9_SHADING_PS3_GOURAUD (2 << 18)
# define TEX10_SHADING_PS3_SOLID (0 << 20)
# define TEX10_SHADING_PS3_FLAT (1 << 20)
# define TEX10_SHADING_PS3_GOURAUD (2 << 20)
# define COLOR0_TEX_OVERRIDE_NO (0 << 22)
# define COLOR0_TEX_OVERRIDE_TEX_0 (1 << 22)
# define COLOR0_TEX_OVERRIDE_TEX_1 (2 << 22)
# define COLOR0_TEX_OVERRIDE_TEX_2 (3 << 22)
# define COLOR0_TEX_OVERRIDE_TEX_3 (4 << 22)
# define COLOR0_TEX_OVERRIDE_TEX_4 (5 << 22)
# define COLOR0_TEX_OVERRIDE_TEX_5 (6 << 22)
# define COLOR0_TEX_OVERRIDE_TEX_6 (7 << 22)
# define COLOR0_TEX_OVERRIDE_TEX_7 (8 << 22)
# define COLOR0_TEX_OVERRIDE_TEX_8_C2 (9 << 22)
# define COLOR0_TEX_OVERRIDE_TEX_9_C3 (10 << 22)
# define COLOR1_TEX_OVERRIDE_NO (0 << 26)
# define COLOR1_TEX_OVERRIDE_TEX_0 (1 << 26)
# define COLOR1_TEX_OVERRIDE_TEX_1 (2 << 26)
# define COLOR1_TEX_OVERRIDE_TEX_2 (3 << 26)
# define COLOR1_TEX_OVERRIDE_TEX_3 (4 << 26)
# define COLOR1_TEX_OVERRIDE_TEX_4 (5 << 26)
# define COLOR1_TEX_OVERRIDE_TEX_5 (6 << 26)
# define COLOR1_TEX_OVERRIDE_TEX_6 (7 << 26)
# define COLOR1_TEX_OVERRIDE_TEX_7 (8 << 26)
# define COLOR1_TEX_OVERRIDE_TEX_8_C2 (9 << 26)
# define COLOR1_TEX_OVERRIDE_TEX_9_C3 (10 << 26)
#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 GA_IDLE 0x425c
# define GA_IDLE_PIPE3_Z_IDLE (0 << 0)
# define GA_IDLE_PIPE2_Z_IDLE (0 << 1)
# define GA_IDLE_PIPE3_CD_IDLE (0 << 2)
# define GA_IDLE_PIPE2_CD_IDLE (0 << 3)
# define GA_IDLE_PIPE3_FG_IDLE (0 << 4)
# define GA_IDLE_PIPE2_FG_IDLE (0 << 5)
# define GA_IDLE_PIPE3_US_IDLE (0 << 6)
# define GA_IDLE_PIPE2_US_IDLE (0 << 7)
# define GA_IDLE_PIPE3_SC_IDLE (0 << 8)
# define GA_IDLE_PIPE2_SC_IDLE (0 << 9)
# define GA_IDLE_PIPE3_RS_IDLE (0 << 10)
# define GA_IDLE_PIPE2_RS_IDLE (0 << 11)
# define GA_IDLE_PIPE1_Z_IDLE (0 << 12)
# define GA_IDLE_PIPE0_Z_IDLE (0 << 13)
# define GA_IDLE_PIPE1_CD_IDLE (0 << 14)
# define GA_IDLE_PIPE0_CD_IDLE (0 << 15)
# define GA_IDLE_PIPE1_FG_IDLE (0 << 16)
# define GA_IDLE_PIPE0_FG_IDLE (0 << 17)
# define GA_IDLE_PIPE1_US_IDLE (0 << 18)
# define GA_IDLE_PIPE0_US_IDLE (0 << 19)
# define GA_IDLE_PIPE1_SC_IDLE (0 << 20)
# define GA_IDLE_PIPE0_SC_IDLE (0 << 21)
# define GA_IDLE_PIPE1_RS_IDLE (0 << 22)
# define GA_IDLE_PIPE0_RS_IDLE (0 << 23)
# define GA_IDLE_SU_IDLE (0 << 24)
# define GA_IDLE_GA_IDLE (0 << 25)
# define GA_IDLE_GA_UNIT2_IDLE (0 << 26)
#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 GA_LINE_S0 0x4264
#define R300_GA_LINE_S0 0x4264
/* S Texture Coordinate Value for Vertex 1 of Lines (V2 of parallelogram -- stuff textures -- i.e. AA) */
#define GA_LINE_S1 0x4268
#define R300_GA_LINE_S1 0x4268
/* GA Input fifo high water marks */
#define GA_FIFO_CNTL 0x4270
# define GA_FIFO_CNTL_VERTEX_FIFO_MASK 0x00000007
# define GA_FIFO_CNTL_VERTEX_FIFO_SHIFT 0
# define GA_FIFO_CNTL_VERTEX_INDEX_MASK 0x00000038
# define GA_FIFO_CNTL_VERTEX_INDEX_SHIFT 3
# define GA_FIFO_CNTL_VERTEX_REG_MASK 0x00003fc0
# define GA_FIFO_CNTL_VERTEX_REG_SHIFT 6
#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
/* Something shade related */
#define GA_ENHANCE 0x4274
# define GA_ENHANCE_DEADLOCK_CNTL_NO_EFFECT (0 << 0)
# define GA_ENHANCE_DEADLOCK_CNTL_PREVENT_TCL (1 << 0) /* Prevents TCL interface from deadlocking on GA side. */
# define GA_ENHANCE_FASTSYNC_CNTL_NO_EFFECT (0 << 1)
# define GA_ENHANCE_FASTSYNC_CNTL_ENABLE (1 << 1) /* Enables high-performance register/primitive switching. */
# define GA_ENHANCE_REG_READWRITE_NO_EFFECT (0 << 2) /* R520+ only */
# define GA_ENHANCE_REG_READWRITE_ENABLE (1 << 2) /* R520+ only, Enables GA support of simultaneous register reads and writes. */
# define GA_ENHANCE_REG_NOSTALL_NO_EFFECT (0 << 3)
# define GA_ENHANCE_REG_NOSTALL_ENABLE (1 << 3) /* Enables GA support of no-stall reads for register read back. */
/* 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)
@ -1046,41 +1046,41 @@ USE OR OTHER DEALINGS IN THE SOFTWARE.
/* Polygon Mode
* Dangerous
*/
#define GA_POLY_MODE 0x4288
# define GA_POLY_MODE_DISABLE (0 << 0)
# define GA_POLY_MODE_DUAL (1 << 0) /* send 2 sets of 3 polys with specified poly type */
#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 GA_POLY_MODE_FRONT_PTYPE_POINT (0 << 4)
# define GA_POLY_MODE_FRONT_PTYPE_LINE (1 << 4)
# define GA_POLY_MODE_FRONT_PTYPE_TRI (2 << 4)
# 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 GA_POLY_MODE_BACK_PTYPE_POINT (0 << 7)
# define GA_POLY_MODE_BACK_PTYPE_LINE (1 << 7)
# define GA_POLY_MODE_BACK_PTYPE_TRI (2 << 7)
# 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 GA_ROUND_MODE 0x428c
# define GA_ROUND_MODE_GEOMETRY_ROUND_TRUNC (0 << 0)
# define GA_ROUND_MODE_GEOMETRY_ROUND_NEAREST (1 << 0)
# define GA_ROUND_MODE_COLOR_ROUND_TRUNC (0 << 2)
# define GA_ROUND_MODE_COLOR_ROUND_NEAREST (1 << 2)
# define GA_ROUND_MODE_RGB_CLAMP_RGB (0 << 4)
# define GA_ROUND_MODE_RGB_CLAMP_FP20 (1 << 4)
# define GA_ROUND_MODE_ALPHA_CLAMP_RGB (0 << 5)
# define GA_ROUND_MODE_ALPHA_CLAMP_FP20 (1 << 5)
# define GA_ROUND_MODE_GEOMETRY_MASK_SHIFT 6
# define GA_ROUND_MODE_GEOMETRY_MASK_MASK 0x000003c0
#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 GA_OFFSET 0x4290
# define GA_OFFSET_X_OFFSET_SHIFT 0
# define GA_OFFSET_X_OFFSET_MASK 0x0000ffff
# define GA_OFFSET_Y_OFFSET_SHIFT 16
# define GA_OFFSET_Y_OFFSET_MASK 0xffff0000
#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_RE_FOG_SCALE 0x4294

View file

@ -573,7 +573,7 @@ static void r300SetStencilState(GLcontext * ctx, GLboolean state)
static void r300UpdatePolygonMode(GLcontext * ctx)
{
r300ContextPtr r300 = R300_CONTEXT(ctx);
uint32_t hw_mode = GA_POLY_MODE_DISABLE;
uint32_t hw_mode = R300_GA_POLY_MODE_DISABLE;
/* Only do something if a polygon mode is wanted, default is GL_FILL */
if (ctx->Polygon.FrontMode != GL_FILL ||
@ -592,29 +592,29 @@ static void r300UpdatePolygonMode(GLcontext * ctx)
}
/* Enable polygon mode */
hw_mode |= GA_POLY_MODE_DUAL;
hw_mode |= R300_GA_POLY_MODE_DUAL;
switch (f) {
case GL_LINE:
hw_mode |= GA_POLY_MODE_FRONT_PTYPE_LINE;
hw_mode |= R300_GA_POLY_MODE_FRONT_PTYPE_LINE;
break;
case GL_POINT:
hw_mode |= GA_POLY_MODE_FRONT_PTYPE_POINT;
hw_mode |= R300_GA_POLY_MODE_FRONT_PTYPE_POINT;
break;
case GL_FILL:
hw_mode |= GA_POLY_MODE_FRONT_PTYPE_TRI;
hw_mode |= R300_GA_POLY_MODE_FRONT_PTYPE_TRI;
break;
}
switch (b) {
case GL_LINE:
hw_mode |= GA_POLY_MODE_BACK_PTYPE_LINE;
hw_mode |= R300_GA_POLY_MODE_BACK_PTYPE_LINE;
break;
case GL_POINT:
hw_mode |= GA_POLY_MODE_BACK_PTYPE_POINT;
hw_mode |= R300_GA_POLY_MODE_BACK_PTYPE_POINT;
break;
case GL_FILL:
hw_mode |= GA_POLY_MODE_BACK_PTYPE_TRI;
hw_mode |= R300_GA_POLY_MODE_BACK_PTYPE_TRI;
break;
}
}