r500/mesa/glDrawArrays.txt
2025-10-23 13:27:37 -05:00

198 lines
6.2 KiB
Plaintext

// _mesa_draw_arrays
// r300_draw_vbo
// r300_draw_arrays_immediate
vertex_size = 3
dwords = 13
// r300_prepare_for_rendering
// r300_emit_states
// r300_reserve_cs_dwords
389
// r300_emit_dirty_state
// r300_emit_gpu_flush
SC_SCISSOR0 = 0
SC_SCISSOR1 = (width - 1), (height - 1) // 600, 600
// cb_flush_clean
RB3D_DSTCACHE_CTLSTAT = 0xa
ZB_ZCACHE_CTLSTAT = 0x3
WAIT_UNTIL [0x1720] = RADEON_WAIT_3D_IDLECLEAN
// r300_emit_aa_state
GB_AA_CONFIG = 0
RB3D_AARESOLVE_CTL = 0
// r300_emit_fb_state
RB3D_CCTL = 16384
RB3D_COLOROFFSET0 = 0
//OUT_CS_RELOC
OUT_CS(0xc0001000); /* PKT3_NOP */ \
OUT_CS(0);
RB3D_COLORPITCH0 = 0xc10640
//OUT_CS_RELOC
OUT_CS(0xc0001000); /* PKT3_NOP */ \
OUT_CS(0);
ZB_FORMAT = 2
ZB_DEPTHOFFSET = 0
//OUT_CS_RELOC
OUT_CS(0xc0001000); /* PKT3_NOP */ \
OUT_CS(4);
ZB_DEPTHPITCH = 0x30640
//OUT_CS_RELOC
OUT_CS(0xc0001000); /* PKT3_NOP */ \
OUT_CS(4);
// r300_emit_hyperz_state
ZB_BW_CNTL = 0
ZB_DEPTHCLEARVALUE = 0
SC_HYPERZ_EN = 0x1c
GB_Z_PEQ_CONFIG = 0
// r300_emit_ztop_state
ZB_ZTOP = 1
// r300_emit_dsa_state
FG_ALPHA_FUNC = 0
ZB_CNTL = 0
ZB_ZSTENCILCNTL = 0
ZB_STENCILREFMASK = 0
ZB_STENCILREFMASK_BF = 0
FG_ALPHA_VALUE = 0
// r300_emit_blend_state
RB3D_ROPCNTL = 0
RB3D_BLENDCNTL = 0
RB3D_ABLENDCNTL = 0
RB3D_COLOR_CHANNEL_MASK = 15
RB3D_DITHER_CTL = 0
// r300_emit_blend_color_state
RB3D_CONSTANT_COLOR_AR = 0
RB3D_CONSTANT_COLOR_GB = 0
// r300_emit_scissor_state
SC_CLIP_0_A = 0, 0
SC_CLIP_0_B = 0 - 1, 0 - 1
// r300_emit_sample_mask
SC_SCREENDOOR = 63 | (63 << 6) | (63 << 12) | (63 << 18)
// r300_emit_invariant_state
GB_SELECT = 0
FG_FOG_BLEND = 0
GA_OFFSET = 0
SU_TEX_WRAP = 0
SU_DEPTH_SCALE = 16777215.0f (0x4b7fffff)
SU_DEPTH_OFFSET = 0
SC_EDGERULE = 0x2da49525
RB3D_DISCARD_SRC_PIXEL_LTE_THRESHOLD = 0x1010101
RB3D_DISCARD_SRC_PIXEL_GTE_THRESHOLD = 0xfefefefe
GA_COLOR_CONTROL_PS3 = 0
SU_TEX_WRAP_PS3 = 0
// r300_emit_viewport_state
VAP_VPORT_XSCALE = 300
VAP_VPORT_XOFFSET = 300
VAP_VPORT_YSCALE = -300
VAP_VPORT_YOFFSET = 300
VAP_VPORT_ZSCALE = 0.5
VAP_VPORT_ZOFFSET = 0.5
VAP_VTE_CNTL = 0x43f
// r300_emit_pvs_flush
VAP_PVS_STATE_FLUSH_REG = 0
// r300_emit_vap_invariant_state
VAP_PVS_VTX_TIMEOUT_REG = 0xffff
VAP_GB_VERT_CLIP_ADJ = 1.0f (0x3f800000)
VAP_GB_VERT_DISC_ADJ = 1.0f (0x3f800000)
VAP_GB_HORZ_CLIP_ADJ = 1.0f (0x3f800000)
VAP_GB_HORZ_DISC_ADJ = 1.0f (0x3f800000)
VAP_PSC_SGN_NORM_CNTL = 0xaaaaaaaa
VAP_TEX_TO_COLOR_CNTL = 0
// r300_emit_vertex_stream_state
VAP_PROG_STREAM_CNTL_0 = 0x2002
VAP_PROG_STREAM_CNTL_EXT_0 = 0xfa88
// r300_emit_vs_state
VAP_PVS_CODE_CNTL_0 = 0
VAP_PVS_CODE_CNTL_1 = 0
VAP_PVS_VECTOR_INDX_REG = 0
VAP_PVS_VECTOR_DATA_REG_128 = (ONE_REG_WR:)
{0xf00203, 0xd10001, 0x1248001, 0x1248001}
VAP_CNTL = 0xb0055a
VAP_PVS_FLOW_CNTL_OPC = 0
VAP_PVS_FLOW_CNTL_ADDRS_LW_[0-15] = 0
VAP_PVS_FLOW_CNTL_ADDRS_UW_[0-15] = 0
VAP_PVS_FLOW_CNTL_LOOP_INDEX_[0-15] = 0
// r300_emit_clip_state
VAP_PVS_VECTOR_INDX_REG = 0x600
VAP_PVS_VECTOR_DATA_REG_128 =
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} (24)
// r300_emit_rs_block_state
VAP_VTX_STATE_CNTL = 0x5555
VAP_VSM_VTX_ASSM [0x2184] = 0x1
VAP_OUTPUT_VTX_FMT_0 = 1
VAP_OUTPUT_VTX_FMT_1 = 4
GB_ENABLE = 0
RS_IP_0 = 0x30000000
RS_COUNT = 0x40080
RS_INST_COUNT = 0
RS_INST_0 = 0
// r300_emit_rs_state
VAP_CNTL_STATUS = 0
VAP_CLIP_CNTL = 0xc000
GA_POINT_SIZE = 0x60006
GA_POINT_MINMAX = 0x60006
GA_LINE_CNTL = 0x20006
SU_POLY_OFFSET_ENABLE = 0
SU_CULL_MODE = 0
GA_LINE_STIPPLE_CONFIG = 0
GA_LINE_STIPPLE_VALUE = 0
GA_POLY_MODE = 0
GA_ROUND_MODE = 0x31
SC_CLIP_RULE = 0xffff
GA_POINT_S0 = 0
GA_POINT_T0 = 1.0f (0x3f800000)
GA_POINT_S1 = 1.0f (0x3f800000)
GA_POINT_T1 = 0
// r300_emit_fb_state_pipelined
US_OUT_FMT_0 = 0x1b00
US_OUT_FMT_1 = 0xf
US_OUT_FMT_2 = 0xf
US_OUT_FMT_3 = 0xf
GB_MSPOS0 = 0x66666666
GB_MSPOS1 = 0x6666666
// r500_emit_fs
US_CONFIG = 2
US_PIXSIZE = 1
US_FC_CTRL = 0
US_CODE_RANGE = 0
US_CODE_OFFSET = 0
US_CODE_ADDR = 0
GA_US_VECTOR_INDEX = 0
GA_US_VECTOR_DATA = (ONE_REG_WR:)
{0x78005, 0x8020080, 0x8020080, 0x1c9b04d8, 0x1c810003, 0x5}
FG_DEPTH_SRC = 0
US_W_FMT = 0
// r500_emit_fs_rc_constant_state
[nothing]
// r500_emit_fs_constants
[nothing]
// r300_emit_vs_constants
VAP_PVS_CONST_CNTL = 0
// r300_emit_texture_cache_inval
TX_INVALTAGS = 0
// r300_emit_textures_state
TX_ENABLE = 0
// r300_emit_query_start
[nothing]
// r500_emit_index_bias
VAP_INDEX_OFFSET = 0
// r300_emit_draw_init
GA_COLOR_CONTROL = 0x3aaaa
VAP_VF_MAX_VTX_INDX = 2
VAP_VF_MIN_VTX_INDX = 0
// r300_draw_arrays_immediate
VAP_VTX_SIZE = 3
[
PACKET3_3D_DRAW_IMMD_2 (3 * 3)
0x30034 // VAP_VF_CNTL
{0.5, -0.5, 0}
{-0.5, -0.5, 0}
{0, 0.5, 0}
]