| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
| |
The functionality of LayerBase and Layer is folded
into Layer. There wasn't a need for this abstraction
anymore.
Change-Id: I66511c08cc3d89009ba4deabf47e26cd4cfeaefb
|
|
|
|
|
|
|
|
|
| |
Also fix another place that was checking for NULL fence rather than
Fence::isValid().
Bug 8283950
Change-Id: Ie06db327eb416828d8dac139171d96d4470b2e35
|
|
|
|
| |
Change-Id: Ibed34175ae273608393aaa5f0a7df207dc40d709
|
|
|
|
|
|
|
|
|
| |
This change eliminates the uses of a NULL sp<Fence> indicating that no waiting
is required. Instead we use a non-NULL but invalid Fence object for which the
wait methods will return immediately.
Bug: 7892871
Change-Id: I5360aebe3090422ef6920d56c99fc4eedc642e48
|
|
|
|
|
| |
Bug: 8149181
Change-Id: Ib3c7a44f04871e020adceeae16d002141ac758d4
|
|
|
|
| |
Change-Id: I218e7dd5f23de535aabce61e993002ab6cb46cdd
|
|
|
|
|
| |
Bug: 7977590
Change-Id: Ic49c4e38ef2ee6beaeb268c406347c882135bdf0
|
|\
| |
| |
| |
| | |
* commit 'f3e9d5bde57a41593a7dbc15e6f1fdb1ea64ea74':
Remove support for legacy HWC version encoding
|
| |\
| | |
| | |
| | |
| | | |
* commit 'cbe5135610cd3c919e6334fada72cc52238bb8b0':
Remove support for legacy HWC version encoding
|
| | |
| | |
| | |
| | | |
Change-Id: If03ae1ebf10d15777310e1449a57473021390582
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This workaround a HWC HAL issue in Nexus 7, which causes videos and live
wallpapers to animate slowly.
Bug: 7563862
Change-Id: I16ad85317e3e7f47f005e7397357c14186b0a13d
|
| | |
| | |
| | |
| | |
| | |
| | | |
A few typecasts to fix "narrowing conversion" complaints.
Change-Id: Ib2118079a2ca33959c748d03d8c6f1722d62e8fe
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This workaround a HWC HAL issue in Nexus 7, which causes videos and live
wallpapers to animate slowly.
Bug: 7563862
Change-Id: I87803aaad9751b1fd8392b9732304d4bccec659a
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The C++ class names don't match what the classes do, so rename
ISurfaceTexture to IGraphicBufferProducer, and SurfaceTexture to
GLConsumer.
Bug 7736700
Change-Id: Ia03e468888025b5cae3c0ee1995434515dbea387
|
| | |
| | |
| | |
| | |
| | |
| | | |
This change moves the GraphicBufferAlloc class from SurfaceFlinger to libgui.
Change-Id: Idf31d2004efa2651b60590733f73c4a7b831e8a9
|
|\ \ \
| |/ /
|/| | |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| | |
This change adds functionality to the HWComposer class to track the retire
fences returned by each hwc set call. It adds the HWComposer::getDisplayFence
method to allow other parts of SurfaceFlinger to get a fence that will signal
when the most recent flip takes effect on a display.
Change-Id: I676e0f98440fc58ed70908aa1a1e2ee3e7bf9eb2
|
|/
|
|
|
|
| |
Honor the documentation. this broke in JB-MR1.
Change-Id: I841a93b409fc940374bc748c4e143d82a192669c
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
Bug: 7283132
Change-Id: I38116f39fc18212f2daab94bbfc3daaf89439fc4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
Bug: 7288401
Change-Id: I14beeef58fac5270cef3b611e18c163060efe6c3
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
Bug: 7217641
Change-Id: If0c1a613ead307c4045a47824174bf40c72bc7d7
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
This allows us to blank and unblank displays other than the built-in
display (e.g. HDMI).
Bug: 7240511
Change-Id: I89ea13f9e497be74c3e1231d0c62fb558e93e0f8
|
|
|
|
|
| |
Bug: 7191563
Change-Id: I8f0fbf3b29658c9479443141798e6f288a1f2d52
|
|
|
|
| |
Change-Id: I527eec77f338cd6f1a9021aa4c9d384dbddd6d2a
|
|
|
|
| |
Change-Id: Icf01254689633d04967872749ac947a671e47ed8
|
|
|
|
| |
Change-Id: Ie8b1a3b97ad1821cc970e43abe96c8cec7135b66
|
|
|
|
| |
Change-Id: I2d6b7787d39e5929485a551e4982498c5053c211
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
this was confusing because the one in FramebufferSurface
wasn't in fact being used
Change-Id: Ied45aec20d804cfbe52440f9b2f2852a85c757cf
|
|
|
|
| |
Change-Id: I838f2de4cf99e885833c4f42e2a69d6e3bb8eea5
|
|
|
|
|
| |
Bug: 7185810
Change-Id: I1271d6ba397f3abf0ef166b8d03b9b26b72e28d7
|
|
|
|
|
|
| |
Bug: 7124069
Change-Id: I53d705105c4ad8954d3f50ee4f4c8b7ec936b871
|
|
|
|
|
|
|
|
| |
- decouple GL and main display initialization
- ensure that each "supported" display has its own FramebufferSurface
- onScreenAcquired/Released now takes a display
Change-Id: If34a05f3dea40f6c79db77f4dde283a2580daac4
|
|
|
|
|
|
|
| |
A couple of minor cleanups I stumbled over while looking at other
things.
Change-Id: I385ecfe1afefd577afbc59d7ef1d98d868073651
|
|
|
|
|
|
| |
Also rename resolution* to width/height.
Change-Id: Ia5f0c50d3f0a349160f314a3257c3b985e13ef1d
|
|
|
|
|
|
| |
Emulator has no HWC.
Change-Id: I7810b27034f6772823142e5bf877681db1c8ee49
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
This change moves some common fence handling code into the base class for
BufferQueue consumer classes. It also makes the ConsumerBase class initialize
a buffer slot's fence with the acquire fence every time a buffer is acquired.
Change-Id: I0bd88bc269e919653b659bfb3ebfb04dd61692a0
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|\
| |
| |
| | |
jb-mr1-dev
|
| |
| |
| |
| | |
Change-Id: I2fd359e5fc7e1948072c6bc6b6fe47ea5e8025c1
|