diff --git a/msm8226/libhwcomposer/hwc_mdpcomp.cpp b/msm8226/libhwcomposer/hwc_mdpcomp.cpp index a6609f9d5f..b08f99be1b 100644 --- a/msm8226/libhwcomposer/hwc_mdpcomp.cpp +++ b/msm8226/libhwcomposer/hwc_mdpcomp.cpp @@ -348,8 +348,9 @@ bool MDPComp::isValidDimension(hwc_context_t *ctx, hwc_layer_1_t *layer) { 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);