If the rotation property is supported for a plane, then the rotation value must be non-zero. For the case of 0 degree rotation, DRM_MODE_ROTATE_0 needs to be set.
Signed-off-by: Rob Herring robh@kernel.org --- drmdisplaycompositor.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drmdisplaycompositor.cpp b/drmdisplaycompositor.cpp index 8225726df5cd..dceb78d452c4 100644 --- a/drmdisplaycompositor.cpp +++ b/drmdisplaycompositor.cpp @@ -581,6 +581,8 @@ int DrmDisplayCompositor::CommitFrame(DrmDisplayComposition *display_comp, rotation |= DRM_MODE_ROTATE_180; else if (layer.transform & DrmHwcTransform::kRotate270) rotation |= DRM_MODE_ROTATE_270; + else + rotation |= DRM_MODE_ROTATE_0;
if (fence_fd < 0) { int prop_id = plane->in_fence_fd_property().id(); @@ -610,7 +612,7 @@ int DrmDisplayCompositor::CommitFrame(DrmDisplayComposition *display_comp, }
// TODO: Once we have atomic test, this should fall back to GL - if (rotation && plane->rotation_property().id() == 0) { + if (rotation != DRM_MODE_ROTATE_0 && plane->rotation_property().id() == 0) { ALOGE("Rotation is not supported on plane %d", plane->id()); ret = -EINVAL; break;
On Wed, Nov 1, 2017 at 11:37 AM, Rob Herring robh@kernel.org wrote:
If the rotation property is supported for a plane, then the rotation value must be non-zero. For the case of 0 degree rotation, DRM_MODE_ROTATE_0 needs to be set.
Signed-off-by: Rob Herring robh@kernel.org
drmdisplaycompositor.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
Pushed to master.
Hi Rob,
On Wed, 2017-11-01 at 12:50 -0500, Rob Herring wrote:
On Wed, Nov 1, 2017 at 11:37 AM, Rob Herring robh@kernel.org wrote:
If the rotation property is supported for a plane, then the rotation value must be non-zero. For the case of 0 degree rotation, DRM_MODE_ROTATE_0 needs to be set.
Signed-off-by: Rob Herring robh@kernel.org
drmdisplaycompositor.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
Pushed to master.
Thanks :)
dri-devel@lists.freedesktop.org