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.