History log of /frameworks/native/services/surfaceflinger/SurfaceFlinger_hwc1.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
82364e3cea0bf88fa8147766433329b3dd5148b8 15-May-2016 Robert Carr <racarr@google.com> SurfaceFlinger: Add mode to apply position with resize.

For some cases, like scaled windows with shadows,
we need to be able to apply the position concurrent with
window resize. This is because the scaling of the shadows causes
the top left coordinate of the non shadow surface content
to change before and after the resize.

Bug: 28899837
Change-Id: I522eacfbbcd79707dc1e5ab71901a263b3004ba9
/frameworks/native/services/surfaceflinger/SurfaceFlinger_hwc1.cpp
7443c1f253008acd868af1e35449dd5eb3139c8d 25-May-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "SF: Force empty sync transactions to apply anyway" into nyc-dev
2a7dbb4135976b01015d237ac95d5eeb3ed7a85c 24-May-2016 Robert Carr <racarr@google.com> SF: Force empty sync transactions to apply anyway

Following the change to not flush transactions in the screen shot
path, this enables the use of empty synchronous transactions as a
flush mechanism for previous asynchronous transactions.

Bug: 27098060
Change-Id: I282fdfffb72db148edcbf1ded65b15816fc714a2
/frameworks/native/services/surfaceflinger/SurfaceFlinger_hwc1.cpp
14e54ba747942312f5cd143a27e603eacd7573f7 16-May-2016 Dan Stoza <stoza@google.com> SF: Remove forced transaction on screenshot

Removes the forced transaction that screenshots used to perform
before capturing the screen. This was initially added to prevent
screenshot capture from sneaking in between when a transaction is
closed and when it is actually applied (at the next vsync), but in
the presence of deferred transactions today, forcing a transaction
to occur doesn't guarantee that the last transaction that
WindowManager pushed has actually been committed yet, since it may be
waiting for a buffer with which to synchronize.

If WindowManager wants to guarantee some arrangement of windows is
present for a screenshot, it needs to set the synchronous flag to
true when calling closeGlobalTransaction and wait for the call to
return.

Bug: 27098060
Change-Id: Iaa36d76df521076cc8ed16576f651543bae419a8
/frameworks/native/services/surfaceflinger/SurfaceFlinger_hwc1.cpp
22f7fc45af6ce8c1a2b9543315347bd44d1c9e08 11-May-2016 Dan Stoza <stoza@google.com> SF: Apply translations to transparent region

Correctly applies translation-only transforms to the transparent
region so that it aligns with the layer bounds in screen space.

Bug: 28220791
Change-Id: If9137b873f4b89890127671d8c45745e079f1cbc
/frameworks/native/services/surfaceflinger/SurfaceFlinger_hwc1.cpp
0a3c4d6f8c95a89875455e989278a440822968d7 19-Apr-2016 Dan Stoza <stoza@google.com> DispSync: Don't resync if HW vsync is unavailable

Don't attempt to resync to hardware vsync if it's not available (if
the display is blanked), which should prevent unusual sequences of
commands (enable vsync, then unblank) to hardware composer.

Bug: 28177844
Change-Id: I9d6046fb0a346830e98829fd250642f0809d7e31
/frameworks/native/services/surfaceflinger/SurfaceFlinger_hwc1.cpp
6328134d8f3969e5cf345bec84b2c6455afc6a34 19-Apr-2016 Tim Murray <timmurray@google.com> Merge "Revert "Revert "DispSync: Always resync after inactivity""" into nyc-dev
4a4e4a239f034cb8af2df9a438b26c3bc088889c 19-Apr-2016 Tim Murray <timmurray@google.com> Revert "Revert "DispSync: Always resync after inactivity""

This reverts commit 67264e930992e43ef3351b04692d4ca59cbb01ad.

We've fixed the kernel issues this exposed.

bug 28198793

Change-Id: Ie895cc0a815094cce4bee3b2bf45800ee1e2fdc3
/frameworks/native/services/surfaceflinger/SurfaceFlinger_hwc1.cpp
c3574f7b0141c69fdca25ccafb80ff334462f9a3 24-Mar-2016 Robert Carr <racarr@google.com> Add setOverrideScalingMode to SurfaceControl

Provide an interface for the window manager to override
the client specified scaling mode. This makes it possible
for the window manager to force windows to be scaleable
for animations, etc, even when a resize is pending.

Bug: 27891386
Change-Id: Ic4aae9917bd6869ee0dbb425979b4e21c68342a3
/frameworks/native/services/surfaceflinger/SurfaceFlinger_hwc1.cpp
ccf8058396c3ac8d1e296b9c0ba5f6317cc90661 15-Apr-2016 Tim Murray <timmurray@google.com> Merge "Revert "DispSync: Always resync after inactivity"" into nyc-dev
67264e930992e43ef3351b04692d4ca59cbb01ad 14-Apr-2016 Dan Stoza <stoza@google.com> Revert "DispSync: Always resync after inactivity"

This reverts commit f34b9be610ce286af224364cb6e69ef6f7697ee9.
Bug: 28160740

Change-Id: I48a5bd66712651b42fdc0aaf1492899d7b032977
/frameworks/native/services/surfaceflinger/SurfaceFlinger_hwc1.cpp
7e5e1287276efba71cceec75c495c21ecec4f147 11-Apr-2016 Dan Stoza <stoza@google.com> Merge "DispSync: Always resync after inactivity" into nyc-dev
c4f471e75a8ec64ec34e3f2944a5a756215d0bec 24-Mar-2016 Dan Stoza <stoza@google.com> Plumb HDR capabilities up to SurfaceComposerClient

Plumbs HDR capabilities up from HWC2 through SurfaceFlinger and
ISurfaceComposer to SurfaceComposerClient.

Bug: 25684127
Change-Id: I0f07043ff42bfc7a159f785fee3e84936dc3c280
/frameworks/native/services/surfaceflinger/SurfaceFlinger_hwc1.cpp
f34b9be610ce286af224364cb6e69ef6f7697ee9 06-Apr-2016 Dan Stoza <stoza@google.com> DispSync: Always resync after inactivity

Changes DispSync to enable hardware vsync immediately when new frames
arrive after a period of inactivity.

No matter how hard we try, we can't avoid drifting over time without
being able to detect error based on display retire fences. By enabling
hardware vsync immediately, we avoid having a weird period or phase
offset relative to hardware while we retrain the model. Once the model
has locked, we turn hardware vsync back off to save power (until we
detect drift again).

Bug: 26255070
Change-Id: If4dd17c2d541015c730f47d824359d7cb4b52c3c
/frameworks/native/services/surfaceflinger/SurfaceFlinger_hwc1.cpp
69a1a389321447301a8eaba235190dc1229aefbd 31-Mar-2016 Pablo Ceballos <pceballos@google.com> SF: Disable FenceTracker from makefile

- Add tracing to the FenceTracker.
- Disable it by default with #ifdefs, it can be enabled in the
makefile.

Bug 27882222

Change-Id: I640e028c4dc97b46e800a7f21cdb2cb6a4b4ff18
/frameworks/native/services/surfaceflinger/SurfaceFlinger_hwc1.cpp
830f5004da53a83e23b4102ba9b72e4cb366cb34 25-Mar-2016 Pablo Ceballos <pceballos@google.com> Merge "SF: Add FenceTracker" into nyc-dev
acbe67888f0bd65d5400400f0115bae6bd6199dc 04-Mar-2016 Pablo Ceballos <pceballos@google.com> Add final crop implementation

Bug 26559810

Change-Id: Idaccd13cd625c92d18665ddecebdbb266ea365f3
/frameworks/native/services/surfaceflinger/SurfaceFlinger_hwc1.cpp
40845df1285b387bcbf8f43ac72228eee2606d80 26-Jan-2016 Pablo Ceballos <pceballos@google.com> SF: Add FenceTracker

FenceTracker tracks all fences in SurfaceFlinger. These timestamps
could be used for debugging, profiling, or be exposed to the
application.

Change-Id: I4297a661c0a7530e744168ac7a2a66c4bca92fd5
/frameworks/native/services/surfaceflinger/SurfaceFlinger_hwc1.cpp
f3209b03b3adbf6868c2dcadb07adc5f865f5688 10-Mar-2016 Prathmesh Prabhu <pprabhu@google.com> Do not queue trivial buffer for unsupported screenshot request.

When screenshot is not supported, we queue an empty buffer to the
requesting producer. Besides returning a useless screenshot, this
overwrites the valuable error code, returning ERROR_OK whenever we
successfully return the trivial buffer.

Instead, refuse to queue the trivial buffer, and return the original
error code.

This replaces the workaround proposed in
I6da5d2fdecdef6c87d4dd7b353e2464678800110

BUG:27505438
Change-Id: I597a9be25071d2a6ddafb7d39cc1b09fb48d5fd0
/frameworks/native/services/surfaceflinger/SurfaceFlinger_hwc1.cpp
3dcabfab7ef80df5884b269fec17350a26da6f51 02-Mar-2016 Robert Carr <racarr@google.com> Latch transform with geometry state.

WindowManager would like this feature for animating
windows between sizes. For example, if we are animating
from a smaller to larger window, we need to complete the resize
at the beginning of the animation to avoid up-scaling. However
to avoid artifacts we need the window to appear at its old size
following this resize, so we use the transform to scale down. However
as the transform is latched immediately, we result in a frame where
the window is too small, until the resize is complete. This is
a change in behavior but it's hard to understand how it could
cause errors. Previously if someone wished to set the transform
and resize a window in the same transaction, then the results
would be undefined (depending on the state of the window buffer),
and there would be no avenue for synchronization.

Bug: 26454664
Change-Id: I4e8475967e0a19aa5879af965a5716eb173f9700
/frameworks/native/services/surfaceflinger/SurfaceFlinger_hwc1.cpp
9e56aa0fdb5f7121b9b975c6c16db103ea4d2fe9 02-Nov-2015 Dan Stoza <stoza@google.com> Switch SurfaceFlinger to HWC 2.0

Enables SurfaceFlinger to speak to version 2.0 of the Hardware Composer
HAL instead of version 1.x (also removing support for the framebuffer
HAL). By default, however, this functionality is disabled. In order to
enable it, USE_HWC2 must be set to true in Android.mk.

Change-Id: I4589e02ac2165236b10ff2f7cb772f87e0d3daab
/frameworks/native/services/surfaceflinger/SurfaceFlinger_hwc1.cpp