diff options
author | Christopher Michael <cp.michael@samsung.com> | 2019-03-22 12:41:03 -0400 |
---|---|---|
committer | Christopher Michael <cp.michael@samsung.com> | 2019-03-22 12:41:03 -0400 |
commit | 9d301e4e033e4406ae3f50dbd9eb2789d11cefcf (patch) | |
tree | 86c80269eb8a6669055b02064af69e343a466af2 /src/lib/ecore_drm2/ecore_drm2_fb.c | |
parent | 205193f1ab3bc6984e94a264d345c13c18e17b92 (diff) |
ecore-drm2: Don't use AtomicAddProperty for plane rotation
Summary:
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
Reviewers: raster, cedric, zmike
Subscribers: zmike, cedric
Tags: #efl, #do_not_merge
Maniphest Tasks: T7690
Differential Revision: https://phab.enlightenment.org/D8110
Diffstat (limited to '')
-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) | |||
413 | sym_drmModeAtomicAddProperty(req, pstate->obj_id, | 413 | sym_drmModeAtomicAddProperty(req, pstate->obj_id, |
414 | pstate->ch.id, pstate->ch.value); | 414 | pstate->ch.id, pstate->ch.value); |
415 | if (ret < 0) goto err; | 415 | if (ret < 0) goto err; |
416 | |||
417 | #if 0 | ||
418 | /* XXX: Disable hardware plane rotation for now as this has broken | ||
419 | * recently. The break happens because of an invalid argument, | ||
420 | * ie: the value being sent from pstate->rotation_map ends up being | ||
421 | * incorrect for some reason. I suspect the breakage to be from | ||
422 | * kernel drivers (linux 4.20.0) but have not confirmed that version */ | ||
423 | if ((pstate->rotation.id) && | ||
424 | (pstate->type.value == DRM_PLANE_TYPE_PRIMARY)) | ||
425 | { | ||
426 | DBG("Plane %d Atomic Rotation: %lu", | ||
427 | pstate->obj_id, pstate->rotation.value); | ||
428 | ret = | ||
429 | sym_drmModeAtomicAddProperty(req, pstate->obj_id, | ||
430 | pstate->rotation.id, | ||
431 | pstate->rotation_map[pstate->rotation.value]); | ||
432 | if (ret < 0) goto err; | ||
433 | } | ||
434 | #endif | ||
416 | } | 435 | } |
417 | 436 | ||
418 | ret = | 437 | ret = |