Merge pull request #4418 from vanfanel/master

DISPMANX: Put guard back in to avoid potential lockups!
This commit is contained in:
Twinaphex 2017-01-15 13:55:58 +01:00 committed by GitHub
commit 105fa863ec

View File

@ -319,6 +319,13 @@ static void dispmanx_surface_update(void *data, const void *frame,
settings_t *settings = config_get_ptr(); settings_t *settings = config_get_ptr();
/* Dispmanx doesn't support more than one pending pageflip.
* It causes lockups. */
slock_lock(_dispvars->pending_mutex);
if (_dispvars->pageflip_pending > 0)
scond_wait(_dispvars->vsync_condition, _dispvars->pending_mutex);
slock_unlock(_dispvars->pending_mutex);
page = dispmanx_get_free_page(_dispvars, surface); page = dispmanx_get_free_page(_dispvars, surface);
/* Frame blitting */ /* Frame blitting */