summaryrefslogtreecommitdiff
path: root/sdm/libs/hwc2/hwc_layers.cpp
diff options
context:
space:
mode:
authorPullakavi Srinivas <spullaka@codeaurora.org>2017-12-28 12:46:02 +0530
committerPullakavi Srinivas <spullaka@codeaurora.org>2018-09-03 18:40:02 +0530
commite08594d3cc643d3d6f7ac8da1ee0824b8a7fc923 (patch)
tree5bdd371a42f2ca04b34659ee9257ec6b65fb2a35 /sdm/libs/hwc2/hwc_layers.cpp
parenta04af60405eade85816060538dbb277412342252 (diff)
HWC: Set skip to layers with Non Integral Source Crop.
HWC modifies Source Crop to floor and ceil based to LT and RB respectively. This can result in flicker if there is switch in Composition between MDP and GPU. Instead mark the layer as skip. Change-Id: I35d9461d2db44c9d9b4402b17c44a569e1f705c9 Source: I2f7a62fbf5ae2a0c0d13f15118b053afbabf99c8 CRs-Fixed: 2143554
Diffstat (limited to 'sdm/libs/hwc2/hwc_layers.cpp')
-rw-r--r--sdm/libs/hwc2/hwc_layers.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/sdm/libs/hwc2/hwc_layers.cpp b/sdm/libs/hwc2/hwc_layers.cpp
index 97466a5e..eb650157 100644
--- a/sdm/libs/hwc2/hwc_layers.cpp
+++ b/sdm/libs/hwc2/hwc_layers.cpp
@@ -455,6 +455,10 @@ HWC2::Error HWCLayer::SetLayerPlaneAlpha(float alpha) {
HWC2::Error HWCLayer::SetLayerSourceCrop(hwc_frect_t crop) {
LayerRect src_rect = {};
SetRect(crop, &src_rect);
+ non_integral_source_crop_ = ((crop.left != roundf(crop.left)) ||
+ (crop.top != roundf(crop.top)) ||
+ (crop.right != roundf(crop.right)) ||
+ (crop.bottom != roundf(crop.bottom)));
if (layer_->src_rect != src_rect) {
geometry_changes_ |= kSourceCrop;
layer_->src_rect = src_rect;