ecore_drm2: Add callbacks for plane assign/release
E will need these to gate wayland buffer releases.
This commit is contained in:
parent
c67da0c869
commit
5f2d4e75ab
|
@ -43,6 +43,8 @@ typedef enum _Ecore_Drm2_Fb_Status
|
||||||
ECORE_DRM2_FB_STATUS_SCANOUT_OFF = 2,
|
ECORE_DRM2_FB_STATUS_SCANOUT_OFF = 2,
|
||||||
ECORE_DRM2_FB_STATUS_RELEASE = 4,
|
ECORE_DRM2_FB_STATUS_RELEASE = 4,
|
||||||
ECORE_DRM2_FB_STATUS_DELETED = 8,
|
ECORE_DRM2_FB_STATUS_DELETED = 8,
|
||||||
|
ECORE_DRM2_FB_STATUS_PLANE_ASSIGN = 16,
|
||||||
|
ECORE_DRM2_FB_STATUS_PLANE_RELEASE = 32,
|
||||||
} Ecore_Drm2_Fb_Status;
|
} Ecore_Drm2_Fb_Status;
|
||||||
|
|
||||||
/* opaque structure to represent a drm device */
|
/* opaque structure to represent a drm device */
|
||||||
|
|
|
@ -124,6 +124,10 @@ out:
|
||||||
DBG("FB %d assigned to Plane %d", fb->id, pstate->obj_id);
|
DBG("FB %d assigned to Plane %d", fb->id, pstate->obj_id);
|
||||||
output->planes = eina_list_append(output->planes, plane);
|
output->planes = eina_list_append(output->planes, plane);
|
||||||
|
|
||||||
|
if (fb->status_handler)
|
||||||
|
fb->status_handler(fb,
|
||||||
|
ECORE_DRM2_FB_STATUS_PLANE_ASSIGN,
|
||||||
|
fb->status_data);
|
||||||
return plane;
|
return plane;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -143,6 +147,11 @@ ecore_drm2_plane_release(Ecore_Drm2_Plane *plane)
|
||||||
plane->dead = EINA_TRUE;
|
plane->dead = EINA_TRUE;
|
||||||
plane->state->in_use = EINA_FALSE;
|
plane->state->in_use = EINA_FALSE;
|
||||||
_fb_atomic_flip_test(plane->output);
|
_fb_atomic_flip_test(plane->output);
|
||||||
|
|
||||||
|
if (fb->status_handler)
|
||||||
|
fb->status_handler(fb,
|
||||||
|
ECORE_DRM2_FB_STATUS_PLANE_RELEASE,
|
||||||
|
fb->status_data);
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
|
|
Loading…
Reference in New Issue