Fix R100 text by forcing the 3d engine to idle before executing more 3d
commands. Add docs for the ISYNC_CNTL register, which doesn't quite do what we want.
This commit is contained in:
parent
33155b4fd3
commit
8813898ef6
@ -214,8 +214,9 @@ RadeonSwitchTo3D(ATIScreenInfo *atis)
|
||||
ENTER_DRAW(0);
|
||||
BEGIN_DMA(4);
|
||||
OUT_REG(RADEON_REG_RB3D_DSTCACHE_CTLSTAT, RADEON_RB3D_DC_FLUSH);
|
||||
/* We must wait for 3d to idle, in case source was just written as a dest. */
|
||||
OUT_REG(ATI_REG_WAIT_UNTIL,
|
||||
RADEON_WAIT_HOST_IDLECLEAN | RADEON_WAIT_2D_IDLECLEAN);
|
||||
RADEON_WAIT_HOST_IDLECLEAN | RADEON_WAIT_2D_IDLECLEAN | RADEON_WAIT_3D_IDLECLEAN);
|
||||
END_DMA();
|
||||
LEAVE_DRAW(0);
|
||||
}
|
||||
|
@ -416,6 +416,10 @@
|
||||
# define RADEON_WAIT_BOTH_CRTC_PFLIP (1 << 30)
|
||||
# define RADEON_ENG_DISPLAY_SELECT (1 << 31)
|
||||
|
||||
#define RADEON_REG_ISYNC_CNTL 0x1724
|
||||
#define ISYNC_ANY2D_IDLE3D 0x1
|
||||
#define ISYNC_ANY3D_IDLE2D 0x2
|
||||
|
||||
#define R128_REG_GUI_STAT 0x1740
|
||||
# define R128_GUI_ACTIVE (1 << 31)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user