hwc: Do not use visible regions when scaling is involved

In some corner cases for some visible regions mapping of Display frame
to source crop trying to scale more that MDP3 capability. Avoid usage
of visible regions and blit complete layer for such use-cases to avoid
flickers on display.

Change-Id: I847e180f535a224016aff65ff412a171ed6f99f9
diff --git a/libhwcomposer/hwc_copybit.cpp b/libhwcomposer/hwc_copybit.cpp
index 744195f..9c6e716 100644
--- a/libhwcomposer/hwc_copybit.cpp
+++ b/libhwcomposer/hwc_copybit.cpp
@@ -1030,6 +1030,14 @@
     }
     // Copybit region
     hwc_region_t region = layer->visibleRegionScreen;
+    //Do not use visible regions in case of scaling
+    if (region.numRects > 1) {
+        if (needsScaling(layer)) {
+            region.numRects = 1;
+            region.rects = &layer->displayFrame;
+        }
+    }
+
     region_iterator copybitRegion(region);
 
     copybit->set_parameter(copybit, COPYBIT_FRAMEBUFFER_WIDTH,