OSDN Git Service

fix initialization of framebuffer target crop rect on hwc 1.3
authorMathias Agopian <mathias@google.com>
Thu, 26 Sep 2013 03:44:34 +0000 (20:44 -0700)
committerMathias Agopian <mathias@google.com>
Thu, 26 Sep 2013 03:44:34 +0000 (20:44 -0700)
Bug: 10936771
Change-Id: If283e5e231ca34b93e0b1784bb4e8e4c7bfd75de

services/surfaceflinger/DisplayHardware/HWComposer.cpp

index 32c55fd..c851a2c 100644 (file)
@@ -524,7 +524,14 @@ status_t HWComposer::createWorkList(int32_t id, size_t numLayers) {
             disp.framebufferTarget->handle = disp.fbTargetHandle;
             disp.framebufferTarget->transform = 0;
             disp.framebufferTarget->blending = HWC_BLENDING_PREMULT;
-            disp.framebufferTarget->sourceCrop = r;
+            if (hwcHasApiVersion(mHwc, HWC_DEVICE_API_VERSION_1_3)) {
+                disp.framebufferTarget->sourceCropf.left = 0;
+                disp.framebufferTarget->sourceCropf.top = 0;
+                disp.framebufferTarget->sourceCropf.right = disp.width;
+                disp.framebufferTarget->sourceCropf.bottom = disp.height;
+            } else {
+                disp.framebufferTarget->sourceCrop = r;
+            }
             disp.framebufferTarget->displayFrame = r;
             disp.framebufferTarget->visibleRegionScreen.numRects = 1;
             disp.framebufferTarget->visibleRegionScreen.rects =