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 2f0d831d893c9ce5d873923710a30c936c20f191
Author: Christopher Michael <devilho...@comcast.net>
AuthorDate: Wed Nov 6 22:15:49 2024 -0500

    efl: This works....
---
 src/lib/ecore_drm2/ecore_drm2_connectors.c |  7 +++++++
 src/lib/ecore_drm2/ecore_drm2_displays.c   | 29 ++++++++++++++++++-----------
 2 files changed, 25 insertions(+), 11 deletions(-)

diff --git a/src/lib/ecore_drm2/ecore_drm2_connectors.c b/src/lib/ecore_drm2/ecore_drm2_connectors.c
index 836bc99d5e..2ba3d6b73a 100644
--- a/src/lib/ecore_drm2/ecore_drm2_connectors.c
+++ b/src/lib/ecore_drm2/ecore_drm2_connectors.c
@@ -285,6 +285,7 @@ _ecore_drm2_connectors_changes_apply(Ecore_Drm2_Connector *conn)
 
    if (pstate->changes & ECORE_DRM2_CONNECTOR_STATE_CRTC)
      {
+        /* TODO: set crtc */
 	pstate->changes &= ~ECORE_DRM2_CONNECTOR_STATE_CRTC;
      }
 
@@ -309,11 +310,17 @@ _ecore_drm2_connectors_changes_apply(Ecore_Drm2_Connector *conn)
 
    if (pstate->changes & ECORE_DRM2_CONNECTOR_STATE_ASPECT)
      {
+        /* TODO: set aspect */
+
+        /* cstate->aspect.id = prop->prop_id; */
+        /* cstate->aspect.flags = prop->flags; */
+        /* cstate->aspect.value = oprops->prop_values[i]; */
 	pstate->changes &= ~ECORE_DRM2_CONNECTOR_STATE_ASPECT;
      }
 
    if (pstate->changes & ECORE_DRM2_CONNECTOR_STATE_SCALING)
      {
+        /* TODO */
 	pstate->changes &= ~ECORE_DRM2_CONNECTOR_STATE_SCALING;
      }
 
diff --git a/src/lib/ecore_drm2/ecore_drm2_displays.c b/src/lib/ecore_drm2/ecore_drm2_displays.c
index d7b3a2f7de..3a7ef3173b 100644
--- a/src/lib/ecore_drm2/ecore_drm2_displays.c
+++ b/src/lib/ecore_drm2/ecore_drm2_displays.c
@@ -663,6 +663,7 @@ ecore_drm2_display_mode_set(Ecore_Drm2_Display *disp, Ecore_Drm2_Display_Mode *m
 {
    Ecore_Drm2_Display_State *cstate, *pstate;
    Ecore_Drm2_Crtc_State *crtc_cstate, *crtc_pstate;
+   Ecore_Drm2_Connector_State *conn_cstate, *conn_pstate;
 
    EINA_SAFETY_ON_NULL_RETURN(disp);
    EINA_SAFETY_ON_NULL_RETURN(mode);
@@ -709,6 +710,15 @@ ecore_drm2_display_mode_set(Ecore_Drm2_Display *disp, Ecore_Drm2_Display_Mode *m
         crtc_pstate->changes |= ECORE_DRM2_CRTC_STATE_MODE;
      }
 
+   conn_cstate = disp->conn->state.current;
+   conn_pstate = disp->conn->state.pending;
+
+   if (conn_cstate->aspect.value != mode->aspect_ratio)
+     {
+        conn_pstate->aspect.value = mode->aspect_ratio;
+        conn_pstate->changes |= ECORE_DRM2_CONNECTOR_STATE_ASPECT;
+     }
+
    /* FIXME: apply changes */
 }
 
@@ -1149,12 +1159,6 @@ ecore_drm2_display_changes_apply(Ecore_Drm2_Display *disp)
    EINA_SAFETY_ON_NULL_RETURN_VAL(disp->crtc, EINA_FALSE);
    EINA_SAFETY_ON_NULL_RETURN_VAL(disp->conn, EINA_FALSE);
 
-   if (!_ecore_drm2_connectors_changes_apply(disp->conn))
-     return EINA_FALSE;
-
-   if (!_ecore_drm2_crtcs_changes_apply(disp->crtc))
-     return EINA_FALSE;
-
    cstate = disp->state.current;
    pstate = disp->state.pending;
 
@@ -1176,11 +1180,13 @@ ecore_drm2_display_changes_apply(Ecore_Drm2_Display *disp)
    if (pstate->changes & ECORE_DRM2_DISPLAY_STATE_ROTATION)
      {
 	/* TODO */
+        pstate->changes &= ~ECORE_DRM2_DISPLAY_STATE_ROTATION;
      }
 
    if (pstate->changes & ECORE_DRM2_DISPLAY_STATE_BACKLIGHT)
      {
 	/* TODO */
+        pstate->changes &= ~ECORE_DRM2_DISPLAY_STATE_BACKLIGHT;
      }
 
    if (pstate->changes & ECORE_DRM2_DISPLAY_STATE_PRIMARY)
@@ -1189,11 +1195,6 @@ ecore_drm2_display_changes_apply(Ecore_Drm2_Display *disp)
 	pstate->changes &= ~ECORE_DRM2_DISPLAY_STATE_PRIMARY;
      }
 
-   if (pstate->changes & ECORE_DRM2_DISPLAY_STATE_ENABLED)
-     {
-	/* TODO: dpms on/off */
-     }
-
    if (pstate->changes & ECORE_DRM2_DISPLAY_STATE_POSITION)
      {
 	disp->x = pstate->x;
@@ -1201,6 +1202,12 @@ ecore_drm2_display_changes_apply(Ecore_Drm2_Display *disp)
 	pstate->changes &= ~ECORE_DRM2_DISPLAY_STATE_POSITION;
      }
 
+   if (!_ecore_drm2_connectors_changes_apply(disp->conn))
+     return EINA_FALSE;
+
+   if (!_ecore_drm2_crtcs_changes_apply(disp->crtc))
+     return EINA_FALSE;
+
    /* If pstate still has some changes listed, than that means something failed */
    if (pstate->changes) return EINA_FALSE;
 

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

Reply via email to