OSDN Git Service

SF needs to render even if we don't have a h/w composer
authorMathias Agopian <mathias@google.com>
Thu, 19 Apr 2012 01:33:19 +0000 (18:33 -0700)
committerMathias Agopian <mathias@google.com>
Thu, 19 Apr 2012 01:36:25 +0000 (18:36 -0700)
Bug: 63505746361055
Change-Id: Iab92cc31bab4771fca63619c8e3105c759535f72

services/surfaceflinger/SurfaceFlinger.cpp

index f220de3..0d4d2b9 100644 (file)
@@ -892,9 +892,10 @@ void SurfaceFlinger::composeSurfaces(const Region& dirty)
 {
     const DisplayHardware& hw(graphicPlane(0).displayHardware());
     HWComposer& hwc(hw.getHwComposer());
+    hwc_layer_t* const cur(hwc.getLayers());
 
     const size_t fbLayerCount = hwc.getLayerCount(HWC_FRAMEBUFFER);
-    if (fbLayerCount) {
+    if (!cur || fbLayerCount) {
         // Never touch the framebuffer if we don't have any framebuffer layers
 
         if (hwc.getLayerCount(HWC_OVERLAY)) {
@@ -917,7 +918,6 @@ void SurfaceFlinger::composeSurfaces(const Region& dirty)
          * and then, render the layers targeted at the framebuffer
          */
 
-        hwc_layer_t* const cur(hwc.getLayers());
         const Vector< sp<LayerBase> >& layers(mVisibleLayersSortedByZ);
         const size_t count = layers.size();