forked from enlightenment/efl
evas-drm: Remove all async_page_flip options/references
Async page flip can cause tearing, is not supported on all cards, and apparently requires a specific libdrm patchlevel...in general, more trouble than it's worth, so let's just remove it. @bugfix Signed-off-by: Chris Michael <cp.michael@samsung.com>
This commit is contained in:
parent
c208f43814
commit
1005cd8f89
|
@ -479,11 +479,6 @@ evas_drm_outbuf_setup(Outbuf *ob)
|
|||
ob->priv.ctx.page_flip_handler = _evas_drm_outbuf_page_flip;
|
||||
/* ob->priv.ctx.vblank_handler = _evas_drm_outbuf_vblank; */
|
||||
|
||||
/* check if this card supports async page flipping */
|
||||
ob->priv.use_async_page_flip = EINA_FALSE;
|
||||
if ((drmGetCap(ob->priv.fd, DRM_CAP_ASYNC_PAGE_FLIP, &dumb)) || (dumb))
|
||||
ob->priv.use_async_page_flip = EINA_TRUE;
|
||||
|
||||
/* try to get drm resources */
|
||||
if (!(res = drmModeGetResources(ob->priv.fd)))
|
||||
{
|
||||
|
@ -731,14 +726,8 @@ evas_drm_framebuffer_send(Outbuf *ob, Buffer *buffer)
|
|||
|
||||
if (ob->vsync)
|
||||
{
|
||||
unsigned int flags = 0;
|
||||
|
||||
flags = DRM_MODE_PAGE_FLIP_EVENT;
|
||||
if (ob->priv.use_async_page_flip) flags |= DRM_MODE_PAGE_FLIP_ASYNC;
|
||||
|
||||
ret = drmModePageFlip(ob->priv.fd, ob->priv.crtc,
|
||||
buffer->fb, flags, ob);
|
||||
if (ret)
|
||||
if (drmModePageFlip(ob->priv.fd, ob->priv.crtc,
|
||||
buffer->fb, DRM_MODE_PAGE_FLIP_EVENT, ob) < 0)
|
||||
{
|
||||
ERR("Cannot flip crtc for connector %u: %m", ob->priv.conn);
|
||||
return EINA_FALSE;
|
||||
|
|
|
@ -117,8 +117,6 @@ struct _Outbuf
|
|||
drmEventContext ctx;
|
||||
Eina_Bool pending_flip : 1;
|
||||
|
||||
Eina_Bool use_async_page_flip : 1;
|
||||
|
||||
Eina_List *pending_writes;
|
||||
|
||||
Eina_List *planes;
|
||||
|
|
Loading…
Reference in New Issue