devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=4f8f41299fae4fdefb14b64ecbb02e371aa7c513
commit 4f8f41299fae4fdefb14b64ecbb02e371aa7c513 Author: Chris Michael <cp.mich...@samsung.com> Date: Mon Mar 27 10:50:52 2017 -0400 ecore-drm2: Add support for plane formats Small patch to store supported formats on a given plane state. This will be used for assigning dmabuf clients to a hardware plane based on size and supported format. @feature Signed-off-by: Chris Michael <cp.mich...@samsung.com> --- src/lib/ecore_drm2/ecore_drm2_device.c | 3 +++ src/lib/ecore_drm2/ecore_drm2_private.h | 3 +++ 2 files changed, 6 insertions(+) diff --git a/src/lib/ecore_drm2/ecore_drm2_device.c b/src/lib/ecore_drm2/ecore_drm2_device.c index 03f21d8..6d7c1ff 100644 --- a/src/lib/ecore_drm2/ecore_drm2_device.c +++ b/src/lib/ecore_drm2/ecore_drm2_device.c @@ -546,6 +546,9 @@ _drm2_atomic_state_fill(Ecore_Drm2_Atomic_State *state, int fd) pstate = &state->plane_states[i]; pstate->obj_id = pres->planes[i]; pstate->mask = plane->possible_crtcs; + pstate->num_formats = plane->count_formats; + memcpy(pstate->formats, plane->formats, + plane->count_formats * sizeof(plane->formats[0])); sym_drmModeFreePlane(plane); diff --git a/src/lib/ecore_drm2/ecore_drm2_private.h b/src/lib/ecore_drm2/ecore_drm2_private.h index 5e806f1..19c8df2 100644 --- a/src/lib/ecore_drm2/ecore_drm2_private.h +++ b/src/lib/ecore_drm2/ecore_drm2_private.h @@ -647,6 +647,9 @@ typedef struct _Ecore_Drm2_Plane_State * so that we do not have to refetch properties when iterating planes */ uint32_t rotation_map[6]; uint32_t supported_rotations; + + uint32_t num_formats; + uint32_t formats[]; } Ecore_Drm2_Plane_State; struct _Ecore_Drm2_Atomic_State --