This is an automated email from the git hooks/post-receive script.

git pushed a commit to branch devs/devilhorns/apos
in repository efl.

View the commit online.

commit f9863e013aa85c2345592e311c00de5737e64bcd
Author: Christopher Michael <devilho...@comcast.net>
AuthorDate: Sat Dec 3 10:12:25 2022 -0500

    ecore_drm2: Add support for plane zpos property
---
 src/lib/ecore_drm2/ecore_drm2_planes.c  | 15 +++++++++++++++
 src/lib/ecore_drm2/ecore_drm2_private.h |  8 +++++++-
 2 files changed, 22 insertions(+), 1 deletion(-)

diff --git a/src/lib/ecore_drm2/ecore_drm2_planes.c b/src/lib/ecore_drm2/ecore_drm2_planes.c
index 650bc7a51d..2dbb03be60 100644
--- a/src/lib/ecore_drm2/ecore_drm2_planes.c
+++ b/src/lib/ecore_drm2/ecore_drm2_planes.c
@@ -40,6 +40,9 @@ _ecore_drm2_plane_state_debug(Ecore_Drm2_Plane *plane)
       default:
         break;
      }
+   DBG("\t\tZPos: %lu", (long)plane->state->zpos.value);
+   DBG("\t\t\tMin: %lu", (long)plane->state->zpos.min);
+   DBG("\t\t\tMax: %lu", (long)plane->state->zpos.max);
 }
 
 static void
@@ -182,6 +185,18 @@ _ecore_drm2_plane_state_fill(Ecore_Drm2_Plane *plane)
                     }
                }
           }
+        else if (!strcmp(prop->name, "zpos"))
+          {
+             pstate->zpos.id = prop->prop_id;
+             pstate->zpos.flags = prop->flags;
+             pstate->zpos.value = oprops->prop_values[i];
+             if ((prop->flags & DRM_MODE_PROP_RANGE) ||
+                 (prop->flags & DRM_MODE_PROP_SIGNED_RANGE))
+               {
+                  pstate->zpos.min = prop->values[0];
+                  pstate->zpos.max = prop->values[1];
+               }
+          }
 
         sym_drmModeFreeProperty(prop);
      }
diff --git a/src/lib/ecore_drm2/ecore_drm2_private.h b/src/lib/ecore_drm2/ecore_drm2_private.h
index 22854cc5f2..3934d093ed 100644
--- a/src/lib/ecore_drm2/ecore_drm2_private.h
+++ b/src/lib/ecore_drm2/ecore_drm2_private.h
@@ -88,6 +88,12 @@ typedef struct _Ecore_Drm2_Atomic_Property
    uint64_t value;
 } Ecore_Drm2_Atomic_Property;
 
+typedef struct _Ecore_Drm2_Atomic_Range
+{
+   uint32_t id, flags;
+   uint64_t min, max, value;
+} Ecore_Drm2_Atomic_Range;
+
 typedef struct _Ecore_Drm2_Connector_State
 {
    uint32_t obj_id;
@@ -142,6 +148,7 @@ typedef struct _Ecore_Drm2_Plane_State
    Ecore_Drm2_Atomic_Property sx, sy, sw, sh;
    Ecore_Drm2_Atomic_Property cx, cy, cw, ch;
    Ecore_Drm2_Atomic_Property rotation;
+   Ecore_Drm2_Atomic_Range zpos;
 
    /* TODO ?? */
    /* Ecore_Drm2_Atomic_Property IN_FENCE_FD; */
@@ -149,7 +156,6 @@ typedef struct _Ecore_Drm2_Plane_State
    /* Ecore_Drm2_Atomic_Property COLOR_ENCODING; */
    /* Ecore_Drm2_Atomic_Property COLOR_RANGE; */
    /* Ecore_Drm2_Atomic_Blob FB_DAMAGE_CLIPS; */
-   /* Ecore_Drm2_Atomic_Property zpos; */
 
    /* NB: these are not part of an atomic state, but we store these here
     * so that we do not have to refetch properties when iterating planes */

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.

Reply via email to