Sync the accelerator before calling AdjustFrame to avoid lockups.

This commit is contained in:
Alan Hourihane 2005-09-06 10:23:57 +00:00
parent 5fc5f02d76
commit bf6fef4193
1 changed files with 5 additions and 1 deletions

View File

@ -4863,6 +4863,10 @@ I830BIOSAdjustFrame(int scrnIndex, int x, int y, int flags)
DPRINTF(PFX, "I830BIOSAdjustFrame: y = %d (+ %d), x = %d (+ %d)\n",
x, pI830->xoffset, y, pI830->yoffset);
/* Sync the engine before adjust frame */
if (!pI830->noAccel)
(*pI830->AccelInfoRec->Sync)(pScrn);
/* The i830M just happens to have some problems programming offsets via
* this VESA BIOS call. Especially in dual head configurations which
* have high resolutions which cause the DSP{A,B}BASE registers to be
@ -5319,7 +5323,7 @@ I830BIOSSwitchMode(int scrnIndex, DisplayModePtr mode, int flags)
DPRINTF(PFX, "I830BIOSSwitchMode: mode == %p\n", mode);
/* Stops head pointer freezes for 845G */
/* Sync the engine before mode switch */
if (!pI830->noAccel)
(*pI830->AccelInfoRec->Sync)(pScrn);