From: Dave Airlie <[email protected]>

Some kernel drivers require notification that the frontbuffer
has changed, so we add a damage collector and send the dirty
rects in the block handler. It appears the glamor block
handler was getting called after this one, leading to things
getting out of sync.

I found this while trying to bring up glamor on virgl.

Signed-off-by: Dave Airlie <[email protected]>
---
 hw/xfree86/drivers/modesetting/driver.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/hw/xfree86/drivers/modesetting/driver.c 
b/hw/xfree86/drivers/modesetting/driver.c
index 1cb0c7c..caf8f26 100644
--- a/hw/xfree86/drivers/modesetting/driver.c
+++ b/hw/xfree86/drivers/modesetting/driver.c
@@ -539,6 +539,8 @@ msBlockHandler(ScreenPtr pScreen, void *pTimeout, void 
*pReadmask)
     pScreen->BlockHandler = ms->BlockHandler;
     pScreen->BlockHandler(pScreen, pTimeout, pReadmask);
     pScreen->BlockHandler = msBlockHandler;
+    if (ms->drmmode.glamor == TRUE)
+        glamor_block_handler(pScreen);
     if (pScreen->isGPU)
         dispatch_slave_dirty(pScreen);
     else if (ms->dirty_enabled)
-- 
1.9.3

_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to