| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Change-Id: I140d291e520097b1148930f736823650e08488f7
|
|
|
|
|
|
|
| |
- remove unneeded include deps
- remove some hardcoded include paths
Change-Id: Ifae0e2b2d738e0f94f8525c45be78f4227ce1673
|
|
|
|
| |
Change-Id: I6cc5759fb0a05427680488fd12ae797e77644f3d
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
this could happen after an orientation change. basically
we need to triger a geometry-changed when the very first buffer
is received
Change-Id: I097e411fd6612c18725737cffccdbf6b2af3511c
|
|/
|
|
|
|
|
| |
This change adds ATRACE call tracing to BufferQueue,
SurfaceTextureClient, SurfaceTexture, SurfaceFlinger, Layer, and EGL.
Change-Id: I9d75ed26f5a3f0d1af635da38289520134cfbbb7
|
|
|
|
| |
Change-Id: Iec71706cdd4f29c6904993648ce873e83ef9cafe
|
|
|
|
| |
Change-Id: I1194f04085637d5c384e134967249430cc43b6ee
|
|
|
|
|
|
|
|
|
|
| |
re-add support for pixelformats L_8, LA_88 and RGB_332 in libui
for backward compatibility.
This may or may not fix 6058926
Bug: 6049685
Change-Id: Ic1b8b4cc994522f7fe664da64c0ef76b98bc6d53
|
|
|
|
|
| |
bug: 6020860
Change-Id: I97807db66b66c5f4dcbed0df79d5d257cfc7c0bd
|
|
|
|
| |
Change-Id: I7d350bc05d1596655baddff3deaebaba58c9bcc0
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Most of these tests in this directory don't currently build,
but test-surface did build incorrectly by bad luck, using the old API.
test-resize still doesn't build, but when the other build errors
are fixed then it will use the right API.
Change-Id: I388d6d59fe0a2328f352214dcdc28839a24043f0
|
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Some implementations of NPOT, particular those derived from core
GLES2, require the wrap mode to be CLAMP_TO_EDGE. Set the required
wrap mode for the screenshot texture so it passes the completeness
check.
Change-Id: I735016123e4acaf54b40d1435bd70281cef88a31
|
|\ \ |
|
| | |
| | |
| | |
| | | |
Change-Id: I85ae42e9f28461f5142cc6b3c8e25ff3f195805a
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
SF could end-up in an infinite crash-loop during startup if it
was stopped while the screen was off. This happened because
the thread that manages screen blanking was started before
other important pieces of SF were initialized.
Change-Id: I0dded11dbf2395fdd57b673859a7aa0fa9eb32b6
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
we're seeing UI freezes when window updates and
composition are separated. for now we workaround this
by always doing a composition after window updates on
vsync. triple buffering is reenabled for performance.
Change-Id: I693d705000b7452489bb0b4918fbeadb9879315c
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
In some situations SF would mark a window as "has a pending update"
but would never process that update because the window is not
visible (fully transparent, hidden by another window, etc...), this
window would then be "stuck" until some other window updated.
Change-Id: Ifa18a9aef3a53f2593b473556702688ae62d9503
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
recent changes in SF introduced a hang where some windows would
stop being refreshed.
This is an attemp to fix that.
Change-Id: I6aa32ac0d6f1c0a6aea8f6195825dc4f4e6f93f9
|
|\ \ \ |
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
with this changes, SF transactions are handled as soon as possible
but do not trigger updates. the update is delayed until the next
vsync.
this allows us to work much better without requiring triple-buffering.
Change-Id: I1fa10794d0cf742129f0877698b7b1e1f2ec7401
|
|/ /
| |
| |
| |
| |
| |
| | |
we now exit the Display thread on any error happening on these files.
also refactor the code and remove a lot of unused stuff.
Change-Id: I8d080c35b211890ca20ae09fa36fbdccdf5669a8
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
vsync events were sometimes delivered to connected
client who didn't request them. this happened if
another client requested the delivery and that client
was first in the client list.
also fix the vsync test which didn't request any events as
well as DisplayEventReveiver documentation which was misleading
about the necessity to request vsync events.
Change-Id: Ie990fda3f337f8f0042745c4b2cde67936c45686
|
|/ /
| |
| |
| |
| |
| | |
don't hardcode it.
Change-Id: I4b37f37a9809cac937e6334c988b3185af2ebe22
|
| |
| |
| |
| | |
Change-Id: Ic5e4f2ea9927ce133eef9499c03161325e9d02c5
|
| |
| |
| |
| | |
Change-Id: I07e2fca7274d2e12bf5b4aee0050794bdb97a8b3
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
--latency-clear [name]
clears the latency data for the specified layer or for
all layers if none is specified
--list
prints the list of all layers regardless of their visibility
Change-Id: I7c07ae020f838c173b98ee50f3fb3e93da78acbb
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
It is now possible to say:
dumpsys SurfaceFlinger --latency
to print latency information about all windows
dumpsys SurfaceFlinger --latency window-name
to print the latency stats of the specified window
for instance: dumpsys SurfaceFlinger --latency SurfaceView
The data consists of one line containing global stats, followed by
128 lines of tab separated timestamps in nanosecond.
The first line currently contains the refresh period in nanosecond.
Each 128 following line contains 3 timestamps, of respectively
the app draw time, the vsync timestamp just prior the call to set and
the timestamp of the call to set.
Change-Id: Ib6b6da1d7e2e6ba49c282bdbc0b56a7dc203343a
|
| |
| |
| |
| | |
Change-Id: I6d9a466a23285304f0e229a5649815636ab5d6af
|
| |
| |
| |
| | |
Change-Id: I97b1754dc7260fec083275c71a8f71ebfb2cefa8
|
| |
| |
| |
| |
| |
| |
| | |
this bug was introduced recently. we were signaling *all* clients
regardless of the vsync rate.
Change-Id: I2ae8a6c820a390f602382596ba75e8ed737fb2ef
|
| |
| |
| |
| | |
Change-Id: I6fa2bc6ee01790abd2c1533f043d61a5e5c8d26e
|
|/
|
|
|
|
|
| |
one-shot VSYNC listeners could miss a VSYNC event if
scheduled while in waitForVsync().
Change-Id: I720485784aecfea6cc7a23c77081d7af3c9c71db
|
|
|
|
|
|
|
| |
See https://android-git.corp.google.com/g/#/c/157220
Bug: 5449033
Change-Id: Ic9c19d30693bd56755f55906127cd6bd7126096c
|
|
|
|
|
|
|
| |
See https://android-git.corp.google.com/g/157065
Bug: 5449033
Change-Id: I00a4b904f9449e6f93b7fd35eac28640d7929e69
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
See https://android-git.corp.google.com/g/156801
Bug: 5449033
Change-Id: Ib08fe86d23db91ee153e9f91a99a35c42b9208ea
|
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Several source files privately defined macros LIKELY and UNLIKELY in terms
of __builtin_expect. But <cutils/compiler.h> already has CC_LIKELY and
CC_UNLIKELY which are intended for this purpose. So rename the private
uses to use the standard names.
In addition, AudioFlinger was relying on the macro expanding to extra ( ).
Change-Id: I2494e087a0c0cac0ac998335f5e9c8ad02955873
|
|/
|
|
|
|
|
| |
See https://android-git.corp.google.com/g/156016
Bug: 5449033
Change-Id: I4c4e33bb9df3e39e11cd985e193e6fbab4635298
|
|
|
|
|
|
|
|
|
|
|
| |
- add the ability to set the vsync delivery rate, when the rate is
set to N>1 (ie: receive every N vsync), SF process' is woken up for
all of vsync, but clients only see the every N events.
- add the concept of one-shot vsync events, with a call-back
to request the next one. currently the call-back is a binder IPC.
Change-Id: I09f71df0b0ba0d88ed997645e2e2497d553c9a1b
|
|
|
|
|
|
|
|
|
| |
the deadlock would happen when the pipe became invalid and SF
trying to remove the connection from its list.
we know make sure to process events without holding a lock.
Change-Id: I39927ed8824fc7811e16db3c7608a2ebc72d9642
|
|\ |
|
| |
| |
| |
| | |
Change-Id: I84a1fcba1317b2631f5441de7b7ecd12af5ad022
|
|\ \
| |/
|/|
| |
| |
| |
| | |
condition" into ics-mr1
* commit 'a91e54fed6a0690d59c97bab9b081b2614880563':
SurfaceFlinger: fix layer removal race condition
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Layer::lockPageFlip() and layer::onRemove() could be called on
different threads and race such that lockPageFlip() successfully
called mSurfaceTexture->updateTexImage() but then gets NULL back from
mSurfaceTexture->getCurrentBuffer(), leading to a crash.
This change moves Layer::onRemove() calls to
SurfaceFlinger::commitTransaction() so they happen after the Layer is
done being drawn from and only happen on the main surfaceflinger
thread.
Change-Id: I4b550caadff4cc1878d7c3bca6129193fb0c713e
|