Browse Source

r300g: cleanup clip state emission

tags/mesa-7.9-rc1
Marek Olšák 15 years ago
parent
commit
5725738ef6
1 changed files with 10 additions and 6 deletions
  1. 10
    6
      src/gallium/drivers/r300/r300_state.c

+ 10
- 6
src/gallium/drivers/r300/r300_state.c View File

clip->clip = *state; clip->clip = *state;


if (r300->screen->caps.has_tcl) { if (r300->screen->caps.has_tcl) {
BEGIN_CB(clip->cb, 29);
OUT_CB_REG(R300_VAP_PVS_VECTOR_INDX_REG,
(r300->screen->caps.is_r500 ?
R500_PVS_UCP_START : R300_PVS_UCP_START));
OUT_CB_ONE_REG(R300_VAP_PVS_UPLOAD_DATA, 6 * 4);
OUT_CB_TABLE(state->ucp, 6 * 4);
r300->clip_state.size = 2 + !!state->nr * 3 + state->nr * 4;

BEGIN_CB(clip->cb, r300->clip_state.size);
if (state->nr) {
OUT_CB_REG(R300_VAP_PVS_VECTOR_INDX_REG,
(r300->screen->caps.is_r500 ?
R500_PVS_UCP_START : R300_PVS_UCP_START));
OUT_CB_ONE_REG(R300_VAP_PVS_UPLOAD_DATA, state->nr * 4);
OUT_CB_TABLE(state->ucp, state->nr * 4);
}
OUT_CB_REG(R300_VAP_CLIP_CNTL, ((1 << state->nr) - 1) | OUT_CB_REG(R300_VAP_CLIP_CNTL, ((1 << state->nr) - 1) |
R300_PS_UCP_MODE_CLIP_AS_TRIFAN); R300_PS_UCP_MODE_CLIP_AS_TRIFAN);
END_CB; END_CB;

Loading…
Cancel
Save