[PATCH] modesetting: flush glamor before flushinh dirty rects to kernel
Dave Airlie
airlied at gmail.com
Thu Jan 22 21:56:34 PST 2015
From: Dave Airlie <airlied at redhat.com>
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 <airlied at redhat.com>
---
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
More information about the xorg-devel
mailing list