diff options
author | Michel Dänzer <michel@tungstengraphics.com> | 2007-08-23 11:38:17 +0200 |
---|---|---|
committer | Michel Dänzer <michel@tungstengraphics.com> | 2007-08-23 11:38:17 +0200 |
commit | 8c7c22e22b6076abc80e4e1aaa8d1f4cf2f3ed14 (patch) | |
tree | a85e8625ba44d6a390da2e7067686b4981d08dd1 /src/radeon_video.c | |
parent | 92fa7cc00688d7bfc1fb72e645ac30c6d92669c6 (diff) |
radeon: Wait for pending overlay flip to finish before emitting new one.
Diffstat (limited to 'src/radeon_video.c')
-rw-r--r-- | src/radeon_video.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/radeon_video.c b/src/radeon_video.c index 7b851089..73c9efc4 100644 --- a/src/radeon_video.c +++ b/src/radeon_video.c @@ -2966,8 +2966,14 @@ RADEONPutImage( offset = (pPriv->video_offset) + (top * dstPitch); - if(pPriv->doubleBuffer) + if(pPriv->doubleBuffer) { + unsigned char *RADEONMMIO = info->MMIO; + + /* Wait for last flip to take effect */ + while(!(INREG(RADEON_OV0_REG_LOAD_CNTL) & RADEON_REG_LD_CTL_FLIP_READBACK)); + offset += pPriv->currentBuffer * new_size; + } dst_start = info->FB + offset; |