diff options
author | Christopher Michael <cp.michael@samsung.com> | 2019-03-12 09:14:58 -0400 |
---|---|---|
committer | Christopher Michael <cp.michael@samsung.com> | 2019-03-21 14:00:15 -0400 |
commit | 1b6327450eb76dd86f7a64824d9736151ca763ec (patch) | |
tree | f6a361e31c02669a750eeb1c65d0e427841da3a6 | |
parent | 0881d1524b6d3996a29b68820690f97821116585 (diff) | |
download | efl-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.c | 19 |
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 = |