diff --git a/src/lib/ecore_drm2/ecore_drm2_connectors.c b/src/lib/ecore_drm2/ecore_drm2_connectors.c index 91b60c544a..7bfe468c19 100644 --- a/src/lib/ecore_drm2/ecore_drm2_connectors.c +++ b/src/lib/ecore_drm2/ecore_drm2_connectors.c @@ -74,11 +74,13 @@ _ecore_drm2_connector_state_fill(Ecore_Drm2_Connector *conn) if (!strcmp(prop->name, "CRTC_ID")) { cstate->crtc.id = prop->prop_id; + cstate->crtc.flags = prop->flags; cstate->crtc.value = oprops->prop_values[i]; } else if (!strcmp(prop->name, "DPMS")) { cstate->dpms.id = prop->prop_id; + cstate->dpms.flags = prop->flags; cstate->dpms.value = oprops->prop_values[i]; } else if (!strcmp(prop->name, "EDID")) @@ -112,11 +114,13 @@ _ecore_drm2_connector_state_fill(Ecore_Drm2_Connector *conn) else if (!strcmp(prop->name, "aspect ratio")) { cstate->aspect.id = prop->prop_id; + cstate->aspect.flags = prop->flags; cstate->aspect.value = oprops->prop_values[i]; } else if (!strcmp(prop->name, "scaling mode")) { cstate->scaling.id = prop->prop_id; + cstate->scaling.flags = prop->flags; cstate->scaling.value = oprops->prop_values[i]; } diff --git a/src/lib/ecore_drm2/ecore_drm2_crtcs.c b/src/lib/ecore_drm2/ecore_drm2_crtcs.c index 40a6024bad..c74813e164 100644 --- a/src/lib/ecore_drm2/ecore_drm2_crtcs.c +++ b/src/lib/ecore_drm2/ecore_drm2_crtcs.c @@ -98,12 +98,14 @@ _ecore_drm2_crtc_state_fill(Ecore_Drm2_Crtc *crtc) else if (!strcmp(prop->name, "ACTIVE")) { cstate->active.id = prop->prop_id; + cstate->active.flags = prop->flags; cstate->active.value = oprops->prop_values[i]; } /* TODO: We don't actually use this value yet */ /* else if (!strcmp(prop->name, "BACKGROUND_COLOR")) */ /* { */ /* cstate->background.id = prop->prop_id; */ + /* cstate->background.flags = prop->flags; */ /* cstate->background.value = oprops->prop_values[i]; */ /* } */ diff --git a/src/lib/ecore_drm2/ecore_drm2_planes.c b/src/lib/ecore_drm2/ecore_drm2_planes.c index 02adbdbd9c..5d4b15114b 100644 --- a/src/lib/ecore_drm2/ecore_drm2_planes.c +++ b/src/lib/ecore_drm2/ecore_drm2_planes.c @@ -85,56 +85,67 @@ _ecore_drm2_plane_state_fill(Ecore_Drm2_Plane *plane) if (!strcmp(prop->name, "CRTC_ID")) { pstate->cid.id = prop->prop_id; + pstate->cid.flags = prop->flags; pstate->cid.value = oprops->prop_values[i]; } else if (!strcmp(prop->name, "FB_ID")) { pstate->fid.id = prop->prop_id; + pstate->fid.flags = prop->flags; pstate->fid.value = oprops->prop_values[i]; } else if (!strcmp(prop->name, "CRTC_X")) { pstate->cx.id = prop->prop_id; + pstate->cx.flags = prop->flags; pstate->cx.value = oprops->prop_values[i]; } else if (!strcmp(prop->name, "CRTC_Y")) { pstate->cy.id = prop->prop_id; + pstate->cy.flags = prop->flags; pstate->cy.value = oprops->prop_values[i]; } else if (!strcmp(prop->name, "CRTC_W")) { pstate->cw.id = prop->prop_id; + pstate->cw.flags = prop->flags; pstate->cw.value = oprops->prop_values[i]; } else if (!strcmp(prop->name, "CRTC_H")) { pstate->ch.id = prop->prop_id; + pstate->ch.flags = prop->flags; pstate->ch.value = oprops->prop_values[i]; } else if (!strcmp(prop->name, "SRC_X")) { pstate->sx.id = prop->prop_id; + pstate->sx.flags = prop->flags; pstate->sx.value = oprops->prop_values[i]; } else if (!strcmp(prop->name, "SRC_Y")) { pstate->sy.id = prop->prop_id; + pstate->sy.flags = prop->flags; pstate->sy.value = oprops->prop_values[i]; } else if (!strcmp(prop->name, "SRC_W")) { pstate->sw.id = prop->prop_id; + pstate->sw.flags = prop->flags; pstate->sw.value = oprops->prop_values[i]; } else if (!strcmp(prop->name, "SRC_H")) { pstate->sh.id = prop->prop_id; + pstate->sh.flags = prop->flags; pstate->sh.value = oprops->prop_values[i]; } else if (!strcmp(prop->name, "type")) { pstate->type.id = prop->prop_id; + pstate->type.flags = prop->flags; pstate->type.value = oprops->prop_values[i]; } else if (!strcmp(prop->name, "rotation")) @@ -142,6 +153,7 @@ _ecore_drm2_plane_state_fill(Ecore_Drm2_Plane *plane) int k = 0; pstate->rotation.id = prop->prop_id; + pstate->rotation.flags = prop->flags; pstate->rotation.value = oprops->prop_values[i]; for (k = 0; k < prop->count_enums; k++) diff --git a/src/lib/ecore_drm2/ecore_drm2_private.h b/src/lib/ecore_drm2/ecore_drm2_private.h index 1a9ad3f313..22854cc5f2 100644 --- a/src/lib/ecore_drm2/ecore_drm2_private.h +++ b/src/lib/ecore_drm2/ecore_drm2_private.h @@ -84,7 +84,7 @@ typedef struct _Ecore_Drm2_Atomic_Blob typedef struct _Ecore_Drm2_Atomic_Property { - uint32_t id; + uint32_t id, flags; uint64_t value; } Ecore_Drm2_Atomic_Property;