diff options
author | Tim Smith <electronghost@users.sourceforge.net> | 2002-07-02 21:34:25 +0000 |
---|---|---|
committer | Tim Smith <electronghost@users.sourceforge.net> | 2002-07-02 21:34:25 +0000 |
commit | cc45cc060963356edd832d1bbdf21da46e01c8fb (patch) | |
tree | dec27ec2878debd4d7b5b9f5c17fba78099b3051 /linux/radeon_state.c | |
parent | bb91bc0879ccc1981c49fa761e9bd58bceb1e5cd (diff) |
Fix lockup on faster machines when drawing in multiple clip rectangles
(e.g. when part of a 3D window is obscured by another window)
Diffstat (limited to 'linux/radeon_state.c')
-rw-r--r-- | linux/radeon_state.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/linux/radeon_state.c b/linux/radeon_state.c index ff2fd66d..a5fb0c3f 100644 --- a/linux/radeon_state.c +++ b/linux/radeon_state.c @@ -48,10 +48,9 @@ static inline void radeon_emit_clip_rect( drm_radeon_private_t *dev_priv, DRM_DEBUG( " box: x1=%d y1=%d x2=%d y2=%d\n", box->x1, box->y1, box->x2, box->y2 ); - BEGIN_RING( 4 ); - OUT_RING( CP_PACKET0( RADEON_RE_TOP_LEFT, 0 ) ); + BEGIN_RING( 3 ); + OUT_RING( CP_PACKET3( RADEON_CNTL_SET_SCISSORS, 1 )); OUT_RING( (box->y1 << 16) | box->x1 ); - OUT_RING( CP_PACKET0( RADEON_RE_WIDTH_HEIGHT, 0 ) ); /* OUT_RING( ((box->y2 - 1) << 16) | (box->x2 - 1) );*/ OUT_RING( (box->y2 << 16) | box->x2 ); ADVANCE_RING(); |