hwc: On downscale check swap on 90 transform
While checking for valid dimensions, take 90 transform into
account while calculating downscales.
b/14225977
Change-Id: Ie8b527c8263a5eb366ae2a4adaa2ffbbf270ba50
diff --git a/libhwcomposer/hwc_mdpcomp.cpp b/libhwcomposer/hwc_mdpcomp.cpp
index 0331864..b80046e 100644
--- a/libhwcomposer/hwc_mdpcomp.cpp
+++ b/libhwcomposer/hwc_mdpcomp.cpp
@@ -347,8 +347,9 @@
hwc_rect_t crop = integerizeSourceCrop(layer->sourceCropf);
hwc_rect_t dst = layer->displayFrame;
- int crop_w = crop.right - crop.left;
- int crop_h = crop.bottom - crop.top;
+ bool rotated90 = (bool)layer->transform & HAL_TRANSFORM_ROT_90;
+ int crop_w = rotated90 ? crop.bottom - crop.top : crop.right - crop.left;
+ int crop_h = rotated90 ? crop.right - crop.left : crop.bottom - crop.top;
int dst_w = dst.right - dst.left;
int dst_h = dst.bottom - dst.top;
float w_scale = ((float)crop_w / (float)dst_w);