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
