glamor: glFlush from the blockhandler so rendering happens.
This commit is contained in:
parent
b530cdea4a
commit
1b151f2e6a
|
@ -74,6 +74,18 @@ glamor_destroy_pixmap(PixmapPtr pixmap)
|
|||
return fbDestroyPixmap(pixmap);
|
||||
}
|
||||
|
||||
static void
|
||||
glamor_block_handler(void *data, OSTimePtr wt, void *last_select_mask)
|
||||
{
|
||||
glFlush();
|
||||
}
|
||||
|
||||
static void
|
||||
glamor_wakeup_handler(void *data, OSTimePtr wt, void *last_select_mask)
|
||||
{
|
||||
glFlush();
|
||||
}
|
||||
|
||||
/** Set up glamor for an already-configured GL context. */
|
||||
Bool
|
||||
glamor_init(ScreenPtr screen)
|
||||
|
@ -86,6 +98,14 @@ glamor_init(ScreenPtr screen)
|
|||
|
||||
dixSetPrivate(&screen->devPrivates, glamor_screen_private_key, glamor_priv);
|
||||
|
||||
if (!RegisterBlockAndWakeupHandlers(glamor_block_handler,
|
||||
glamor_wakeup_handler,
|
||||
NULL)) {
|
||||
dixSetPrivate(&screen->devPrivates, glamor_screen_private_key, NULL);
|
||||
xfree(glamor_priv);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
glamor_priv->saved_create_gc = screen->CreateGC;
|
||||
screen->CreateGC = glamor_create_gc;
|
||||
|
||||
|
|
Loading…
Reference in New Issue