summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Michael <cp.michael@samsung.com>2019-03-12 09:14:58 -0400
committerChristopher Michael <cp.michael@samsung.com>2019-03-21 14:00:15 -0400
commit1b6327450eb76dd86f7a64824d9736151ca763ec (patch)
treef6a361e31c02669a750eeb1c65d0e427841da3a6
parent0881d1524b6d3996a29b68820690f97821116585 (diff)
downloadefl-1b6327450eb76dd86f7a64824d9736151ca763ec.tar.gz
ecore-drm2: Don't use AtomicAddProperty for plane rotation
Apparently something has been changed recently in libdrm that causes AtomicAddProperty to fail when trying to set plane rotation. Until this can be found & fixed, let's just disable trying to rotate hardware planes with atomic commits. ref T7690 @fix Differential Revision: https://phab.enlightenment.org/D8110
-rw-r--r--src/lib/ecore_drm2/ecore_drm2_fb.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/lib/ecore_drm2/ecore_drm2_fb.c b/src/lib/ecore_drm2/ecore_drm2_fb.c
index 6888a3c2c1..017f981693 100644
--- a/src/lib/ecore_drm2/ecore_drm2_fb.c
+++ b/src/lib/ecore_drm2/ecore_drm2_fb.c
@@ -413,6 +413,25 @@ _fb_atomic_flip_test(Ecore_Drm2_Output *output)
sym_drmModeAtomicAddProperty(req, pstate->obj_id,
pstate->ch.id, pstate->ch.value);
if (ret < 0) goto err;
+
+#if 0
+ /* XXX: Disable hardware plane rotation for now as this has broken
+ * recently. The break happens because of an invalid argument,
+ * ie: the value being sent from pstate->rotation_map ends up being
+ * incorrect for some reason. I suspect the breakage to be from
+ * kernel drivers (linux 4.20.0) but have not confirmed that version */
+ if ((pstate->rotation.id) &&
+ (pstate->type.value == DRM_PLANE_TYPE_PRIMARY))
+ {
+ DBG("Plane %d Atomic Rotation: %lu",
+ pstate->obj_id, pstate->rotation.value);
+ ret =
+ sym_drmModeAtomicAddProperty(req, pstate->obj_id,
+ pstate->rotation.id,
+ pstate->rotation_map[pstate->rotation.value]);
+ if (ret < 0) goto err;
+ }
+#endif
}
ret =