ecore-drm2: Merge initial modesetting with atomic flip code

This commit is contained in:
Derek Foreman 2016-09-22 13:20:13 -05:00 committed by Chris Michael
parent 84cb88fe8c
commit de5305e224
1 changed files with 2 additions and 21 deletions

View File

@ -357,7 +357,8 @@ ecore_drm2_fb_flip(Ecore_Drm2_Fb *fb, Ecore_Drm2_Output *output)
{
Ecore_Drm2_Plane_State *pstate;
uint32_t flags =
DRM_MODE_ATOMIC_NONBLOCK | DRM_MODE_PAGE_FLIP_EVENT;
DRM_MODE_ATOMIC_NONBLOCK | DRM_MODE_PAGE_FLIP_EVENT |
DRM_MODE_ATOMIC_ALLOW_MODSET;
pstate = output->plane_state;
@ -373,26 +374,6 @@ ecore_drm2_fb_flip(Ecore_Drm2_Fb *fb, Ecore_Drm2_Output *output)
pstate->cw.value = output->current_mode->width;
pstate->ch.value = output->current_mode->height;
if ((!output->current) ||
(output->current->stride != fb->stride))
{
flags = DRM_MODE_ATOMIC_ALLOW_MODESET;
ret = _fb_atomic_flip(output, pstate, flags);
if (ret < 0)
{
ERR("\tCrtc: %d FB: %d", output->crtc_id, fb->id);
return ret;
}
if (output->current) _release_buffer(output, output->current);
output->current = fb;
output->current->busy = EINA_TRUE;
output->next = NULL;
return 0;
}
ret = _fb_atomic_flip(output, pstate, flags);
if ((ret < 0) && (errno != EBUSY))
{