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 e86c61f5499dfe6e9ab887a7fdefddf58a0bba0e
Author: Christopher Michael <devilho...@comcast.net>
AuthorDate: Thu Oct 10 16:15:51 2024 -0400
ecore_drm2: Add start of applying changes for connectors
---
src/lib/ecore_drm2/ecore_drm2_connectors.c | 54 ++++++++++++++++++++++++++++++
1 file changed, 54 insertions(+)
diff --git a/src/lib/ecore_drm2/ecore_drm2_connectors.c b/src/lib/ecore_drm2/ecore_drm2_connectors.c
index 88c846e157..836bc99d5e 100644
--- a/src/lib/ecore_drm2/ecore_drm2_connectors.c
+++ b/src/lib/ecore_drm2/ecore_drm2_connectors.c
@@ -271,3 +271,57 @@ _ecore_drm2_connectors_destroy(Ecore_Drm2_Device *dev)
thq = NULL;
}
}
+
+Eina_Bool
+_ecore_drm2_connectors_changes_apply(Ecore_Drm2_Connector *conn)
+{
+ Ecore_Drm2_Connector_State *cstate, *pstate;
+ int ret = 0;
+
+ EINA_SAFETY_ON_NULL_RETURN_VAL(conn, EINA_FALSE);
+
+ cstate = conn->state.current;
+ pstate = conn->state.pending;
+
+ if (pstate->changes & ECORE_DRM2_CONNECTOR_STATE_CRTC)
+ {
+ pstate->changes &= ~ECORE_DRM2_CONNECTOR_STATE_CRTC;
+ }
+
+ if (pstate->changes & ECORE_DRM2_CONNECTOR_STATE_DPMS)
+ {
+ if (pstate->dpms.value)
+ ret = sym_drmModeConnectorSetProperty(conn->fd, conn->id,
+ cstate->dpms.id,
+ DRM_MODE_DPMS_ON);
+ else
+ ret = sym_drmModeConnectorSetProperty(conn->fd, conn->id,
+ cstate->dpms.id,
+ DRM_MODE_DPMS_OFF);
+ if (ret < 0)
+ {
+ ERR("Failed to set connector dpms: %m");
+ return EINA_FALSE;
+ }
+
+ pstate->changes &= ~ECORE_DRM2_CONNECTOR_STATE_DPMS;
+ }
+
+ if (pstate->changes & ECORE_DRM2_CONNECTOR_STATE_ASPECT)
+ {
+ pstate->changes &= ~ECORE_DRM2_CONNECTOR_STATE_ASPECT;
+ }
+
+ if (pstate->changes & ECORE_DRM2_CONNECTOR_STATE_SCALING)
+ {
+ pstate->changes &= ~ECORE_DRM2_CONNECTOR_STATE_SCALING;
+ }
+
+ /* copy pending state to current state on success */
+ memcpy(cstate, pstate, sizeof(Ecore_Drm2_Connector_State));
+
+ /* reset pending state */
+ memset(pstate, 0, sizeof(Ecore_Drm2_Connector_State));
+
+ return EINA_TRUE;
+}
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.