From b34584e8fdff88f2d4b8a67e85d3460441b06639 Mon Sep 17 00:00:00 2001 From: Chris Michael Date: Mon, 27 Mar 2017 10:50:52 -0400 Subject: 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 --- 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 03f21d8238..6d7c1ff78f 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 5e806f17f0..19c8df295d 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 -- cgit v1.2.1