summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Whitwell <keith@tungstengraphics.com>2005-01-21 12:14:15 +0000
committerKeith Whitwell <keith@tungstengraphics.com>2005-01-21 12:14:15 +0000
commit2f039483ef05569d2d1f1543d69fb395dc80b84a (patch)
tree93f6153e75f2fbbbe56be6c88ef8eebe26db3cf6
parentb00ab1e43165e38498a24cd373a67c77e9b30a51 (diff)
Fix pageflipping after recent changes.
-rw-r--r--src/mesa/drivers/dri/unichrome/via_ioctl.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/mesa/drivers/dri/unichrome/via_ioctl.c b/src/mesa/drivers/dri/unichrome/via_ioctl.c
index fe27da17f7..0c50434273 100644
--- a/src/mesa/drivers/dri/unichrome/via_ioctl.c
+++ b/src/mesa/drivers/dri/unichrome/via_ioctl.c
@@ -445,15 +445,14 @@ void viaPageFlip(const __DRIdrawablePrivate *dPriv)
viaContextPtr vmesa = (viaContextPtr)dPriv->driContextPriv->driverPrivate;
viaBuffer buffer_tmp;
- viaWaitIdleVBlank(dPriv, vmesa);
-
+ VIA_FLUSH_DMA(vmesa);
LOCK_HARDWARE(vmesa);
{
RING_VARS;
if (!vmesa->nDoneFirstFlip) {
- vmesa->nDoneFirstFlip = GL_FALSE; /* XXX: FIXME LATER!!! */
+ vmesa->nDoneFirstFlip = GL_TRUE; /* XXX: FIXME LATER!!! */
BEGIN_RING(4);
OUT_RING(HALCYON_HEADER2);
OUT_RING(0x00fe0000);
@@ -474,6 +473,10 @@ void viaPageFlip(const __DRIdrawablePrivate *dPriv)
viaFlushDmaLocked(vmesa, VIA_NO_CLIPRECTS);
UNLOCK_HARDWARE(vmesa);
+
+ viaWaitIdleVBlank(dPriv, vmesa);
+
+
vmesa->get_ust( &vmesa->swap_ust );
/* KW: FIXME: When buffers are freed, could free frontbuffer by