History log of /frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
3e095b251503d71bea04d6b707e8188cd30034e2 20-Nov-2012 Mathias Agopian <mathias@google.com> workaround: don't reset compositionType to HWC_FRAMEBUFFER [DO NOT MERGE]

This workaround a HWC HAL issue in Nexus 7, which causes videos and live
wallpapers to animate slowly.

Bug: 7563862
Change-Id: I16ad85317e3e7f47f005e7397357c14186b0a13d
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
ee932d0ad1a16cc93b4bd9eaf9cb3cc756fb2dfc 14-Nov-2012 Mathias Agopian <mathias@google.com> Reset compositionType to HWC_FRAMEBUFFER before calling prepare()

Honor the documentation. this broke in JB-MR1.

Change-Id: I841a93b409fc940374bc748c4e143d82a192669c
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
620685c2e684082c82657732d1e35cefd0c79006 19-Oct-2012 Andy McFadden <fadden@android.com> Fix emulator vsync

The code that reserves display IDs was only run when a hardware
composer was present. The eventControl() function, which handles
enabling of vsync, was ignoring the request because the primary
display didn't appear in its set of allocated IDs. This moves
reservation of IDs for built-in displays outside the HWC-only block.

Also, added a couple of warnings in eventControl().

Bug 7376568

Change-Id: I185ccdf817a25499b5c2668f8f6d594afb8c1568
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
9e9689c11148521d2c16a121a0b87b062be0714c 11-Oct-2012 Andy McFadden <fadden@android.com> Fix HDMI unblank behavior

Two issues:

(1) We were announcing the hotplug event before we were ready to
handle blank/unblank events, so we were losing the initial unblank
that power manager sends us when HDMI is first plugged in. This
left the display blank until you toggled the device power off/on.

(2) We were retaining fbTargetHandle for HDMI after the display was
disconnected. The value didn't get updated when HDMI was reconnected
because the display was blank, so we didn't go through that code
path. So, when HDMI was re-connected, we passed stale data into
the HWC.

Bug 7323938

Change-Id: I2335d24fd7b0f00bb23fc63aa7bcf44cb8857c73
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
cb55857bbde34a06c19dde3db5064d1717a0173e 05-Oct-2012 Mathias Agopian <mathias@google.com> fix dumpsys Layer name when using multiple displays

Bug: 7288401
Change-Id: I14beeef58fac5270cef3b611e18c163060efe6c3
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
5a8f9012ee8bb9dc1ad14432b96a821f08802ee3 05-Oct-2012 Andy McFadden <fadden@android.com> Tone down a fatal assert

The new disconnectDisplay function doesn't handle virtual displays,
but it may be called for them. Return without doing anything.

Bug 7281786

Change-Id: I62607f2ae6073fa66b393f55932604aeb8e03566
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
81cd5d3b94d21253a0be925f4ae58cc7f4afeef7 04-Oct-2012 Mathias Agopian <mathias@google.com> make sure we don't call into the HWC HAL when not needed

when enabling/disabling vsync we now make sure to
not call into the HAL if the state wouldn't change.

Bug: 7274951

Change-Id: Ie24a6d68888a51b577acf9c2a973d85437cbacaf
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
27ec5739bc05330e08b02f25b62a8f597bad897a 03-Oct-2012 Andy McFadden <fadden@android.com> Fix crashes after HDMI disconnect

The display was being removed from SurfaceFlinger's list before we
had a chance to reset HWComposer's layer list, so we were passing
stale data into the hardware composer (which has its own per-display
data). This resulted in "invalid gralloc handle" complaints.
We now clear the layer list immediately after removing the display.

The display was being removed while its EGLSurface was still
"current", resulting in "cancelBuffer: BufferQueue has been
abandoned" complaints. We now call makeCurrent on the primary
display before removing the external display.

Bug 7274254

Change-Id: Ia59e3a61d7ec46488b96bf93ec5e4ed3488b70e4
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
ba607d53c6a94ea8c4c12571980c4ad159af308b 01-Oct-2012 Jesse Hall <jessehall@google.com> Add Fence::waitForever which logs a warning timeout, and use it

Bug: 7217641
Change-Id: If0c1a613ead307c4045a47824174bf40c72bc7d7
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
d30b36d1fd0c7ab80553e784a155266be9703e47 01-Oct-2012 Jamie Gennis <jgennis@google.com> SurfaceFlinger: reset the FB_TGT acquire fence

This change makes SurfaceFlinger reset the acquire fence fd to -1 after each
call to HWComposer::commit. The HWComposer implementation is resonsible for
closing the fd, so SurfaceFlinger should make sure not to pass it to HWC
multiple times.

Change-Id: I79554d9f6d6ef2b77d632d40251516c1f5b16ddb
Bug: 7258954
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
c01a79d77b829e7de86ef137694e8ad708470ca1 28-Sep-2012 Andy McFadden <fadden@android.com> Pass display arg to blank/unblank

This allows us to blank and unblank displays other than the built-in
display (e.g. HDMI).

Bug: 7240511
Change-Id: I89ea13f9e497be74c3e1231d0c62fb558e93e0f8
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
9e2463e71796964cfaa06bf09a880875ac3537bc 22-Sep-2012 Mathias Agopian <mathias@google.com> add/remove displays properly on hotplug events

Bug: 7191563
Change-Id: I8f0fbf3b29658c9479443141798e6f288a1f2d52
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
b4d18ed34e3513f3a14ea0876c7e330bee72a529 21-Sep-2012 Mathias Agopian <mathias@google.com> fix an issue where hotplug events were not dispatched

Change-Id: I527eec77f338cd6f1a9021aa4c9d384dbddd6d2a
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
38e623bc5c2d7224ebd5b82efaea401bc8e5367a 21-Sep-2012 Mathias Agopian <mathias@google.com> fix a typo preventing pre hwc-1.1 devices from booting

Change-Id: Icf01254689633d04967872749ac947a671e47ed8
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
f5a33928349bebc8eebc9f466618997e98c24e68 20-Sep-2012 Mathias Agopian <mathias@google.com> we now correctly set-up connected screens during boot

Change-Id: Ie8b1a3b97ad1821cc970e43abe96c8cec7135b66
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
148994e5f33ce240ff24ceb5bc0500b7f2001959 20-Sep-2012 Mathias Agopian <mathias@google.com> We now report hotplug events to the framework

Change-Id: I2d6b7787d39e5929485a551e4982498c5053c211
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
1604f777d11c40daae8ec91d8ea75625996bfbac 19-Sep-2012 Mathias Agopian <mathias@google.com> one more step toward HDMI support

getDisplayInfo() now returns proper information for
HWC managed displays.

hotplug is sitll not supported; so this is not fully correct
as the information returned will be bogus if the HDMI screen
is not plugged in.

Bug: 7191563
Change-Id: If55d8e829fae0443571548155007f486cdf9bc9f
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
6ab93290aeed63f139b0e77819ea889bbce9ec8b 18-Sep-2012 Mathias Agopian <mathias@google.com> suppress superfluous log

Change-Id: I838f2de4cf99e885833c4f42e2a69d6e3bb8eea5
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
d3d35f18345c3ef93217313a583ace473b5a47ad 18-Sep-2012 Jesse Hall <jessehall@google.com> Check that HWC exists before trying to use it

Bug: 7185810
Change-Id: I1271d6ba397f3abf0ef166b8d03b9b26b72e28d7
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
da27af9832a0170f1fc40ef3f21371c4d30d21b3 14-Sep-2012 Mathias Agopian <mathias@google.com> add support hwc 1.1

Bug: 7124069

Change-Id: I53d705105c4ad8954d3f50ee4f4c8b7ec936b871
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
cde87a3b9d3f8dc15232d927b56ee9e5e520f58d 13-Sep-2012 Mathias Agopian <mathias@google.com> refactor things a bit

- decouple GL and main display initialization
- ensure that each "supported" display has its own FramebufferSurface
- onScreenAcquired/Released now takes a display

Change-Id: If34a05f3dea40f6c79db77f4dde283a2580daac4
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
ae2cfb5746e87f1bf17c446e20274c41ce0a57ce 13-Sep-2012 Andy McFadden <fadden@android.com> Minor tweaks

A couple of minor cleanups I stumbled over while looking at other
things.

Change-Id: I385ecfe1afefd577afbc59d7ef1d98d868073651
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
db27621e22559a1b16414f890677ef04242fbc3b 07-Sep-2012 Jesse Hall <jessehall@google.com> Initialize new HWC 1.2 fields

Also rename resolution* to width/height.

Change-Id: Ia5f0c50d3f0a349160f314a3257c3b985e13ef1d
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
babba1868773eba5edf8a8e335b8e109a32292e0 12-Sep-2012 Andy McFadden <fadden@android.com> Fix emulator

Emulator has no HWC.

Change-Id: I7810b27034f6772823142e5bf877681db1c8ee49
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
43601a2dc320a271ff8c3765ff61414a07221635 12-Sep-2012 Andy McFadden <fadden@android.com> Reduce failure uncertainty

This adds a trivial workaround for a one-shot boot time crash, plus
an explicit check and abort for a failure condition that currently
presents as a less obvious failure.

Bug: 7145521, 7147557
Change-Id: I548f6a9caa9f0bd5710aaecea0e1c6c7c8f2f281
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
b0d1dd36f104c0b581674adc7f830cbf44b7db06 10-Sep-2012 Andy McFadden <fadden@android.com> Reshuffle FramebufferSurface

FramebufferSurface no longer speaks directly to the FB HAL. Now
everything goes through HWComposer (which may or may not be
connected to a hardware composer).

Added display index arg to some query methods.

Change-Id: Id3e157d2d4e3555d33afbb703e518b6e92e2d6d5
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
55882dea1b1b305f15192b96ff7814f18babb212 06-Sep-2012 Mathias Agopian <mathias@google.com> fix a problem where all hwc layers would have the SKIP flags set

the problem was that LayerBase::setPerFrameData() was always setting
this flag. in fact there was no reason to do this at that point since
the layer is initialized to a default state in setGeometry().

Bug: 7111259
Change-Id: Ib37b0dd7391a6163070e9aca025512159c1705f9
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
e25d005d91344c500450f01d4a258ca9c3676627 05-Sep-2012 Jesse Hall <jessehall@google.com> Always reset layer acquireFenceFd after commit

If SurfaceFlinger needs to refresh the screen but the dirty region is
empty, it won't set the layer acquire fences, and stale file
descriptors will be passed to HWC commit(). Now we make sure to clear
the stale file descriptors for each layer right after commit().

Bug: 7078301
Change-Id: I6953ff91fc5488f105b30b07306f9c45a4c3f780
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
c39736088398a9b4367b30fc307ed7de96ac342e 01-Sep-2012 Mathias Agopian <mathias@google.com> the visible region sent to HWC was garbage

we used to have a visibleRegion object per layer, but now
it's per screen; so at somepoint the code got changed to
calculate the per-screen visible region on the stack and that's
what got passed to HWC.

we're now setting the visibleRegionScreen at each frame and
freeing at after the HWC set() call. We use the underlaying
SharedBuffer so that in most cases we don't have to allocate,
free or copy memory around.

Bug: 7089478
Change-Id: I24fa556c76613a225d9fe7a6c6b727bb476144d8
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
1bd20e0f9ecd27cc5ad2bdf08b01837ecc10c357 29-Aug-2012 Jesse Hall <jessehall@google.com> HWC 1.1: hook up hotplug event, use new display config queries

Change-Id: I2fd359e5fc7e1948072c6bc6b6fe47ea5e8025c1
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
9eb1eb5bb55740982ceae9966fc536824edc302a 29-Aug-2012 Jesse Hall <jessehall@google.com> Handle new device api version encoding

Change-Id: I3d36058bd5d31c23b3cc4a7eb5aa033b6f3c1955
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
13a082e160c2d1d8006b93a555a57035213d568b 24-Aug-2012 Andy McFadden <fadden@android.com> Added display initialization method

The primary display device was being configured to "blank" by
default, which prevented the boot animation from appearing
(unless you got lucky with the hardware composer state).

Bug 6975688

Change-Id: I0fa52e9e719c6e997c5725a7baf15d9718461b78
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
f435863467ab407f2a482604beed5fa6f0144c62 23-Aug-2012 Mathias Agopian <mathias@google.com> teach HWC about multiple displays

Change-Id: I5e72a83d419a729835cb0e1ec45557b4d3fb56b1
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
30bcc61431d8e3bef779472dd52a7b156dcaba09 23-Aug-2012 Mathias Agopian <mathias@google.com> remove support for HWC < 1.0

Change-Id: If7e676a6e3524afeb9af3875125d2131d95db38b
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
e60b0687c8d49871d0c8786cabe6851f7a7783b5 22-Aug-2012 Mathias Agopian <mathias@google.com> HWComposer now has its own concept of display IDs

HWComposer can now create IDs representing a display
it can deal with. IDs MAIN and HDMI are reserved.
SurfaceFlinger associate HWComposer IDs with a
DisplayDevice and uses that when it talks to HWComposer.

A DisplayDevice doesn't have to have a HWComposer ID,
in that case it just can't use h/w composer composition.

Change-Id: Iec3d7ac92e0c22bf975052ae2847402f58bade71
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
bbd164a3c790a0649dffd2f015e6f47692c72e1c 21-Aug-2012 Jesse Hall <jessehall@google.com> Update for cleanups in hwc interface

Change-Id: I363fd8b085167a1af6c14b68012bda5c62bfe59f
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
8f971ff6661c875e7adb3f14731e1579c3c80c62 22-Aug-2012 Jesse Hall <jessehall@google.com> Pass the correct number of displays based on HWC version

Change-Id: I27372f5d3102ad56f6d67722d631ae18d37f8330
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
5f20e2d4462da3471f59152b32cd8640fa4a21da 11-Aug-2012 Mathias Agopian <mathias@google.com> reimplement wifi display hack with new external display SF framework

fix a few bugs with external displays

- HWComposer doesn't really handle multiple displays yet
so there is a lot of ugliness there

- We also need to make sure that external displays are not
blanked by default

- due to some EGL limitations surfaces being swapped need
to be current

Change-Id: I82bff05b43bcebd8da863c7c76b4edbc3bc223a9
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
8b736f138cfd9b239a2c7073347a13c489534ae1 14-Aug-2012 Mathias Agopian <mathias@google.com> xdpi / ydpi were reported as 0

Bug: 6975723
Change-Id: Ia7fa37ec11e2308804f5034959a37e508d292d31
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
748f3df66f6695681cde44461e2548e6e1dbc1bb 10-Aug-2012 Mathias Agopian <mathias@google.com> avoid crashing when we don't have an h/w composer

should fix the emulator

Bug: 6956162
Change-Id: I38247b59d276b8db078c4dc2caba7d3fb545912c
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
1e26087493ac0e7d7dc6dea8ad85cfef08b3271f 09-Aug-2012 Mathias Agopian <mathias@google.com> Add a display parameter to HWComposer where needed

- also replace C casts with C++ casts
- only the interface is changed, HWComposer still doesn't
fully handle multiple displays

Change-Id: I48eb89bff2edb76bf1d4d41f46802b9b2a7166a8
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
b685c542836b93c99cd85053e07696406ea37adb 31-Jul-2012 Jesse Hall <jessehall@google.com> Changes to support multi-display HWC

Change-Id: I07efff54f2980dcb013935747b03e099b8f1181b
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
888c822c4cb6976aab9256c58bae9e17e3e55c5c 05-Aug-2012 Mathias Agopian <mathias@google.com> remove a dependency of DisplayDevice on the refresh rate

this remove a dependency (not all) on FramebufferSurface

Change-Id: Ie07ce70760cdcedfb41b5b41bea8da45637bf474
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
d3ee231eddce0b69ec5e35188dbd0f4a2c3b9ac3 02-Aug-2012 Mathias Agopian <mathias@google.com> cleanups in preparation of bigger changes

- fix typo drawForSreenshot misspelled
- get rid of DisplayDeviceBase
- removed unused or unneeded code
- always pass a DisplayDevice to Layer methods that are called
on a per-display basis (to make it clear that this could be
called more than once per composition).

Change-Id: Id948b7e09fe5c06db0e42d40d6ed75dd095c7f44
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
34a09ba1efd706323a15633da5044b352988eb5f 30-Jul-2012 Jesse Hall <jessehall@google.com> Move eglSwapBuffers out of HWComposer

Commit 8630320 moved the eglSwapBuffers fallback (for devices with no
HWC implementation) from DisplayHardware to HWComposer. But HWComposer
only knows about the framebuffer EGL display and surface handles if
there is a HWC, so it was always passing bogus handles.

This change moves the eglSwapBuffers fallback up to SurfaceFlinger,
which has access to the framebuffer EGL handles.

Bug: 6886613
Change-Id: Iad3f5ff7c90ee48d7053999e6a4548d6794b6ebd
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
028508cad5ef63ef9fbd42c14e76658e4fd9ebf2 26-Jul-2012 Mathias Agopian <mathias@google.com> hopefully fixe a race condition in sf initialization

if we received a vsync event during SF init, we could crash
as not all objects were ready to go.

Change-Id: Ie11b46e3eb1b37a709dd8757843d444f93dd0189
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
8630320433bd15aca239522e54e711ef6372ab07 25-Jul-2012 Mathias Agopian <mathias@google.com> split HWComposer out of DisplayHardware

we will only ever have a single instance of HWComposer, so
it's now an attribute of SurfaceFlinger, instead of being part
of DisplayHardware.

DisplayHardware now just represents a "display" (it should be renamed).

Change-Id: Iec191e57686868e1df6daa8b880a286c9fefde56
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
921e6ac4b7610a178285898d191eb0e3afe906c0 24-Jul-2012 Mathias Agopian <mathias@google.com> SurfaceFlinger cleanup

mostly refactored SurfaceFlinger.h, but also removed dead code.
cleaned-up a few includes as well.

Change-Id: Ib15f4ffe567912b61ee98aa076c6a283b72811b5
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
10fbdb6059755f009e02f0ccc2b9d289beb6b086 13-Jul-2012 Colin Cross <ccross@android.com> surfaceflinger: call into hardware composer to blank screen

Call into the new HWC blank operation to blank or unblank the screen.
Legacy systems may have already blanked the screen via early suspend,
and can choose to not implement the blank operation in their hardware
composer implementation.

Change-Id: Ib403c8c0e36367a2cfef3e1d124872fcfeb9e7cb
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
dc5b485f74edf2d2f31c62054eb6c180421a3ade 30-Jun-2012 Jesse Hall <jessehall@google.com> Pass fence to HWC on first use of buffer

Also do a CPU-wait on the fence before using it for GL composition.

Change-Id: I0f645a42a44803276cae11b904e5a26d65871562
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
ef19414bd8b77a26f5751f3845be79025a8263fe 14-Jun-2012 Jesse Hall <jessehall@google.com> Transfer HWC release fences to BufferQueue

After a HWC set, each SurfaceFlinger Layer retrieves the release fence
HWC returned and gives it to the layer's SurfaceTexture. The
SurfaceTexture accumulates the fences into a merged fence until the
next updateTexImage, then passes the merged fence to the BufferQueue
in releaseBuffer.

In a follow-on change, BufferQueue will return the fence along with
the buffer slot in dequeueBuffer. For now, dequeueBuffer waits for the
fence to signal before returning.

The releaseFence default value for BufferQueue::releaseBuffer() is
temporary to avoid transient build breaks with a multi-project
checkin. It'll disappear in the next change.

Change-Id: Iaa9a0d5775235585d9cbf453d3a64623d08013d9
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
5880cc573823148237eac9ab7bc586b8e4eb7160 06-Jun-2012 Jesse Hall <jessehall@google.com> Add support for HWC_DEVICE_API_VERSION_1_0

The acquire and release fences aren't yet used; this is just support
for the new version and temporary backwards compatibility for older
versions.

Change-Id: Ia5ccc05a97c86f649042b9a35e11042fa0187e84
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
3e8b853d67c737abdb363f9c978e7d83eac4d888 14-May-2012 Mathias Agopian <mathias@google.com> refactor HWComposer to break dependency with the HAL headers

HWComposer must abstract the HWC HAL entirely, so that the
HAL can continue to evolve (and break binary compatibility)
without breaking SurfaceFlinger. The HWC data structure had
leaked outside of HWComposer, this is now fixed.

We now have an abstract interface that provide all the
needed functionality, HWCompose provides concrete
implementations of it based on the the HWC version.

Change-Id: I40c4676dc986b682ede5520a1c60efe64037b0bb
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
03e407270c7ad76632f982c886d0776bed9e9b4c 27-Apr-2012 Mathias Agopian <mathias@google.com> set vsync power hint

Change-Id: I28c2faf9ff584df3e74392712971cbcf75eb9e98
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
22ffb117b0c2a906bd04aef9738a52223cdd1dce 11-Apr-2012 Mathias Agopian <mathias@google.com> make sure to disable VSYNC while screen is off

Change-Id: If1894c43b0a39a2851e1280a35ae77bccd6d9abd
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
e2c4f4ec23b735dd2a03f4ea8b08b288a1bb04e8 11-Apr-2012 Mathias Agopian <mathias@google.com> Added vsync debugging information in dumpsys log

Change-Id: I20ef05a73d89caaf6a70dc9ca25ada6e6a1f6ff9
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
3a77871383bc1a03cc866686d81628493d14de7c 09-Apr-2012 Mathias Agopian <mathias@google.com> start VSYNC thread when HWC doesn't handle it

Change-Id: I853a822ea9ec13870ae25af55a89ad9a8cc3936a
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
2965b26022f95051f65b09d7eac47cbe923855c9 09-Apr-2012 Mathias Agopian <mathias@google.com> VSYNC handling cleanup

Change-Id: I1376bf864c4e03c11fb6d1333a8b7cfdda08c9e4
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
1a3bf41b7165ba294af46bc32483eaad61e707ea 06-Apr-2012 Erik Gilling <konkers@android.com> Fix SurfaceFlinger crash in HWC::eventControl

eventControl was not checking if there was a hwc before callingi
hwc->eventControl

Change-Id: I4d739fc9c0d47da131f4ffc5d50e274de156d012
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
3eb38cb33e41ce40dd1094bdec850f0fca9f8a53 04-Apr-2012 Mathias Agopian <mathias@google.com> SurfaceFlinger now uses the new VSYNC HAL API.

If h/w composer doesn't support vsync (version < 0.3) we
"fake" it with a timer.

Change-Id: I1e3be79f43c9631d1293ad7d6cf52f9bfc42d65b
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
31d2843b45ebdb69ec3355111b7567363fd2a6b7 04-Apr-2012 Mathias Agopian <mathias@google.com> Add HWC vsync hook. Currently unused.

Change-Id: I849d56f375813a044c5e2d0b25f791476a60fa01
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
e6f43ddce78d6846af12550ff9193c5c6fe5844b 06-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/#/c/157220

Bug: 5449033
Change-Id: Ic9c19d30693bd56755f55906127cd6bd7126096c
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
32397c1cd3327905173b36baa6fd1c579bc328ff 06-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/157065

Bug: 5449033
Change-Id: I00a4b904f9449e6f93b7fd35eac28640d7929e69
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
e2c2f9213f936f98db604dc9c126ff22f725a824 06-Oct-2011 Mathias Agopian <mathias@google.com> Force a repaint when hwc invalidate hook is called

without this prepare() would be called but not set() since the
dirty region is empty.

Change-Id: I038acfbdad4c16015357ccde4d1949391d6f989d
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
aebac5f34a098f733f887c993bd617a393e10db8 30-Sep-2011 Mathias Agopian <mathias@google.com> improve hwc log output

we now print the handle of each buffer

Change-Id: I70884ae458a9dcf10cfc403258d48eaa4618b7f4
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
fc60b94db9081adb4835bd44eacdd0573fc4d644 23-Sep-2011 Mathias Agopian <mathias@google.com> fix dumpsys wording for h/w composer

Change-Id: Iaa1094964f2fb83da491e23b9309f7690079c17e
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
9c6e297271ec9af9d974242d89cfa08cb6ceaa0a 21-Sep-2011 Mathias Agopian <mathias@google.com> fix transition from full overlays to fb

we need to clear the whole framebuffer in that situation because
we can't trust the content of the FB when partial (fb preserving)
updates are used.

Bug: 5318492

Change-Id: I3f0e01b0fb665a34e44d88ad9f0f54a5d990060b
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
fb4d5d5726c172adbe62341d99a2148685a98379 21-Sep-2011 Mathias Agopian <mathias@google.com> improve hwc dumpsys

we now log the buffer's format

Change-Id: I9d3ad8018e884240a153de3baefb6331cb014d0f
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
22da60c3e64cd57535cbba063c07127814a2b52f 09-Sep-2011 Mathias Agopian <mathias@google.com> Improve SF dumpsys output wrt HWC

Change-Id: Ibdb7930fa3b521bfd3f44750ed98cfd75f9a01fe
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
7ee4cd5556cef1878e1d4729f1b389f186311027 02-Sep-2011 Mathias Agopian <mathias@google.com> fix a bug that caused the off animation to not show sometimes

this happened when the overlays were in use, since the animation
is rendered in the FB and the FB is not used.

we now have a way to turn hwc off temporarily.

Change-Id: I3385f0c25bb9cc91948e7b26e7cd31ed18c36ace
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
c7d14e247117392fbd44aa454622778a25c076ae 02-Aug-2011 Mathias Agopian <mathias@google.com> Add a h/w composer API to allow the HAL to trigger a redraw

This is useful in various situations, for instance if the HAL
wants to change its compositing strategy.

Bug: 4488017
Change-Id: I5afc14e5917c6db7926d7417d48677d5aba50caa
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
1d21a9cafc534c34a2f28c985c4c7aa176d0e67b 02-Dec-2010 Erik Gilling <konkers@android.com> surfaceflinger: add support for gralloc dump hooks

Change-Id: Ib6f539ed0132b70d040d653c03d52cc04249ac3c
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
58959343dbdb6157fa5f5463262d4842b8954353 07-Oct-2010 Mathias Agopian <mathias@google.com> Fix a null dereference

Change-Id: I3df446b90c1607782778749de7ba0f8c00698c33
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
8372785879d329f592f6883620b5a32d80d74691 24-Sep-2010 Mathias Agopian <mathias@google.com> dump HWC state in dumpsys

Change-Id: Ifbb38ca1ac9685776250e01c8d02021b35af72cf
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
f5f2712854599b4970643c6000fe6ae950a08ba9 09-Sep-2010 Antti Hatala <ahatala@nvidia.com> surfaceflinger: give hwcomposer a chance to release buffers

Change-Id: I605fa779702022865dd58df3b36f37c2644ade36
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
45721773e1a68e96da4b6cc04cef276bae7ca3e9 13-Aug-2010 Mathias Agopian <mathias@google.com> Fix a couple issues with the new hwcomposer HAL

- we now clear the framebuffer upon request from the HAL
- the HAL list size could get out of sync with reality
- there was also an issue where sometime we could run past the list

Change-Id: Ic3a34314aed24181f2d8cc787096af83c046ef27
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
f1352df47fe20aed23c216a78923c7d248f2bb91 12-Aug-2010 Mathias Agopian <mathias@google.com> should fix sim build, hopefully

Change-Id: I5390bd34dcca36fef43b5169386fff1b04cc842b
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp
a350ff98692b3a50cad5cc93f9f83221242ca86a 11-Aug-2010 Mathias Agopian <mathias@google.com> call into hwcomposer HAL when present

Change-Id: I70f31c69a9436a43860e78977442863ecba6d27b
/frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp