[Nouveau] [PATCH] Also flush from the BlockHandler.

Maarten Maathuis madman2003 at gmail.com
Thu Feb 10 11:12:07 PST 2011


- The fact that commit 02c50db307a4e4eeb87f7db5d401bc53cce3b21f
  fixed missing text for some people proves this is needed.
  That commit should have only improved latency a bit.
- The FlushCallback is still needed for DRI2 texture_from_pixmap.
- See bugs.fd.o #33977 for discussion.

Signed-off-by: Maarten Maathuis <madman2003 at gmail.com>
---
 src/nv_driver.c |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/nv_driver.c b/src/nv_driver.c
index 3e009fc..523cab8 100644
--- a/src/nv_driver.c
+++ b/src/nv_driver.c
@@ -384,15 +384,18 @@ NVBlockHandler (
 )
 {
 	ScreenPtr pScreen = screenInfo.screens[i];
-	ScrnInfoPtr pScrnInfo = xf86Screens[i];
-	NVPtr pNv = NVPTR(pScrnInfo);
+	ScrnInfoPtr pScrn = xf86Screens[i];
+	NVPtr pNv = NVPTR(pScrn);
 
 	pScreen->BlockHandler = pNv->BlockHandler;
 	(*pScreen->BlockHandler) (i, blockData, pTimeout, pReadmask);
 	pScreen->BlockHandler = NVBlockHandler;
 
+	if (pScrn->vtSema && !pNv->NoAccel)
+		FIRE_RING (pNv->chan);
+
 	if (pNv->VideoTimerCallback) 
-		(*pNv->VideoTimerCallback)(pScrnInfo, currentTime.milliseconds);
+		(*pNv->VideoTimerCallback)(pScrn, currentTime.milliseconds);
 }
 
 static Bool
-- 
1.7.4



More information about the Nouveau mailing list