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

-- 


Reply via email to