- insert_at_tail( &rmesa->radeon.hw.atomlist, &rmesa->hw.ucp[i] );
- insert_at_tail( &rmesa->radeon.hw.atomlist, &rmesa->hw.spr );
- insert_at_tail( &rmesa->radeon.hw.atomlist, &rmesa->hw.ptp );
- insert_at_tail( &rmesa->radeon.hw.atomlist, &rmesa->hw.prf );
- insert_at_tail( &rmesa->radeon.hw.atomlist, &rmesa->hw.pvs );
- insert_at_tail( &rmesa->radeon.hw.atomlist, &rmesa->hw.vpp[0] );
- insert_at_tail( &rmesa->radeon.hw.atomlist, &rmesa->hw.vpp[1] );
- insert_at_tail( &rmesa->radeon.hw.atomlist, &rmesa->hw.vpi[0] );
- insert_at_tail( &rmesa->radeon.hw.atomlist, &rmesa->hw.vpi[1] );
-}
-
-void r200EmitScissor(r200ContextPtr rmesa)
-{
- unsigned x1, y1, x2, y2;
- struct radeon_renderbuffer *rrb;
- BATCH_LOCALS(&rmesa->radeon);
- if (!rmesa->radeon.radeonScreen->kernel_mm) {
- return;
- }
- rrb = radeon_get_colorbuffer(&rmesa->radeon);
- if (!rrb || !rrb->bo)
- return;
-
- if (rmesa->radeon.state.scissor.enabled) {
- x1 = rmesa->radeon.state.scissor.rect.x1;
- y1 = rmesa->radeon.state.scissor.rect.y1;
- x2 = rmesa->radeon.state.scissor.rect.x2 - 1;
- y2 = rmesa->radeon.state.scissor.rect.y2 - 1;
- } else {
- x1 = 0;
- y1 = 0;
- x2 = rrb->base.Width - 1;
- y2 = rrb->base.Height - 1;
- }
- BEGIN_BATCH(8);
- OUT_BATCH(CP_PACKET0(R200_RE_CNTL, 0));
- OUT_BATCH(R200_SCISSOR_ENABLE | rmesa->hw.set.cmd[SET_RE_CNTL]);
- OUT_BATCH(CP_PACKET0(R200_RE_AUX_SCISSOR_CNTL, 0));
- OUT_BATCH(0);
- OUT_BATCH(CP_PACKET0(R200_RE_TOP_LEFT, 0));
- OUT_BATCH((y1 << 16) | x1);
- OUT_BATCH(CP_PACKET0(R200_RE_WIDTH_HEIGHT, 0));
- OUT_BATCH((y2 << 16) | x2);
- END_BATCH();
+ insert_at_tail_if( &rmesa->radeon.hw.atomlist, &rmesa->hw.ucp[i] );
+ insert_at_tail_if( &rmesa->radeon.hw.atomlist, &rmesa->hw.spr );
+ insert_at_tail_if( &rmesa->radeon.hw.atomlist, &rmesa->hw.ptp );
+ insert_at_tail_if( &rmesa->radeon.hw.atomlist, &rmesa->hw.prf );
+ insert_at_tail_if( &rmesa->radeon.hw.atomlist, &rmesa->hw.pvs );
+ insert_at_tail_if( &rmesa->radeon.hw.atomlist, &rmesa->hw.vpp[0] );
+ insert_at_tail_if( &rmesa->radeon.hw.atomlist, &rmesa->hw.vpp[1] );
+ insert_at_tail_if( &rmesa->radeon.hw.atomlist, &rmesa->hw.vpi[0] );
+ insert_at_tail_if( &rmesa->radeon.hw.atomlist, &rmesa->hw.vpi[1] );
+ insert_at_tail_if( &rmesa->radeon.hw.atomlist, &rmesa->hw.sci );