summaryrefslogtreecommitdiff
path: root/drmdisplaycompositor.cpp
diff options
context:
space:
mode:
authorSean Paul <seanpaul@google.com>2015-11-20 21:42:15 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2015-11-20 21:42:15 +0000
commitd4bd44dba3559738a0124a875a109ca11ec57acd (patch)
tree2978e233275983c94e990f2251496175fc233bba /drmdisplaycompositor.cpp
parentd51c7617d590c806c53ca3fdbc9428c03261dac1 (diff)
parent04b47ea435834b4373d57dae6485986b9f0918ae (diff)
Merge "drm_hwcomposer: Allow for multiple transforms at once" into mnc-dr-dev
Diffstat (limited to 'drmdisplaycompositor.cpp')
-rw-r--r--drmdisplaycompositor.cpp36
1 files changed, 12 insertions, 24 deletions
diff --git a/drmdisplaycompositor.cpp b/drmdisplaycompositor.cpp
index d492f69..07b4254 100644
--- a/drmdisplaycompositor.cpp
+++ b/drmdisplaycompositor.cpp
@@ -684,30 +684,18 @@ int DrmDisplayCompositor::CommitFrame(DrmDisplayComposition *display_comp,
source_crop = layer.source_crop;
if (layer.blending == DrmHwcBlending::kPreMult)
alpha = layer.alpha;
- switch (layer.transform) {
- case DrmHwcTransform::kFlipH:
- rotation = 1 << DRM_REFLECT_X;
- break;
- case DrmHwcTransform::kFlipV:
- rotation = 1 << DRM_REFLECT_Y;
- break;
- case DrmHwcTransform::kRotate90:
- rotation = 1 << DRM_ROTATE_90;
- break;
- case DrmHwcTransform::kRotate180:
- rotation = 1 << DRM_ROTATE_180;
- break;
- case DrmHwcTransform::kRotate270:
- rotation = 1 << DRM_ROTATE_270;
- break;
- case DrmHwcTransform::kIdentity:
- rotation = 0;
- break;
- default:
- ALOGE("Invalid transform value 0x%x given", layer.transform);
- break;
- }
- break;
+
+ rotation = 0;
+ if (layer.transform & DrmHwcTransform::kFlipH)
+ rotation |= 1 << DRM_REFLECT_X;
+ if (layer.transform & DrmHwcTransform::kFlipV)
+ rotation |= 1 << DRM_REFLECT_Y;
+ if (layer.transform & DrmHwcTransform::kRotate90)
+ rotation |= 1 << DRM_ROTATE_90;
+ else if (layer.transform & DrmHwcTransform::kRotate180)
+ rotation |= 1 << DRM_ROTATE_180;
+ else if (layer.transform & DrmHwcTransform::kRotate270)
+ rotation |= 1 << DRM_ROTATE_270;
}
}