| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Bug: 13415624
Change-Id: I9fe15e45daa7351f1db34ee75bfee6f19cb347d3
|
|
|
|
|
|
| |
This reverts commit f837c93a1b392dbc4f7099d0c4fb723e32ca438e.
Change-Id: I6a1aa9ad0aca023267dc53d19c950b1535123ca7
|
|
|
|
|
| |
Binding with video source will follow.
Change-Id: Ic14e9757f5b61f4055cbeda47c1bafae0a621abb
|
|
|
|
|
|
|
|
| |
Add the ability to ignore layers' transformation matrices during
screenshot capture, which will allow the window manager to capture
unrotated images for recents during the device rotation animation.
Bug: 11805195
Change-Id: I854d87bc84ca06ef9a054a454af1c080ee66fbb8
|
|\
| |
| |
| |
| |
| |
| | |
RenderEngine"
* commit '4c37d0886ca06c290e205cad2798406361bbbf53':
Move EGLConfig selection to RenderEngine
|
| |
| |
| |
| |
| |
| | |
Bug: 12230666
Change-Id: I8d1111a7e0fd9d9e2525e6a80da8ce46d7dd085d
Signed-off-by: Jesse Hall <jessehall@google.com>
|
|\ \
| |/
| |
| |
| | |
* commit 'bbfbe93c0d2d6c7818e23219d2925f02ddf5bd92':
SurfaceFlinger: give SF its own vsync phase
|
| |
| |
| |
| |
| |
| |
| |
| | |
This change allows SurfaceFlinger to run at a different vsync phase offset from
that used by external listeners.
Bug: 11175503
Change-Id: I561c53a5659fa6dc1e3e4ae30340f3c1a6adceb4
|
|\ \
| |/
| |
| |
| | |
* commit '47c772e8ec28eb0a3df9c8edd252f292c7c8e152':
SurfaceFlinger: Add EventControlThread
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This change adds a new thread for calling HWComposer's eventControl
asynchronously. The DispSync-based vsync approach ends up enabling and
disabling HWComposer's vsync callbacks at arbitrary times, and some HWComposer
implementations do not have these calls optimized.
Bug: 11175503
Change-Id: I719be82bd200b391c61d40863b991c7b59acdfd6
|
|\ \
| |/
| |
| | |
Change-Id: Idb2030dbb25a2e4b972492587558b25a305e68bd
|
| |
| |
| |
| |
| | |
Bug: 11220224
Change-Id: I99d0a42e1a6bb0aaf89706f6d100e9ef2a5deaa4
|
|\ \
| |/ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This change adds the DispSync class, which models the hardware vsync event
times to allow vsync event callbacks to be done at an arbitrary phase offset
from the hardware vsync. This can be used to reduce the minimum latency from
Choreographer wake-up to on-screen image presentation.
Bug: 10624956
Change-Id: I8c7a54ceacaa4d709726ed97b0dcae4093a7bdcf
|
|\ \
| |/
| |
| |
| | |
* commit '92d7c3ee03109cf2d465a103b828b7d7d3ee9848':
Fix two EGLConfig selection bugs
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This fixes two bugs introduced by
Change-Id: Ia8cc084c02a0e3de910def024da8a08d02bbd89d
(a) There is no invalid EGLConfig value, in particular zero is valid.
Checking return values of eglGetConfigs and eglChooseConfig is the
only way to determine success.
(b) The "simple" EGLConfig query used as the emulator fallback should
not include EGL_RECORDABLE; the emulator doesn't have it.
Bug: 10935622
Change-Id: Ib798a24e7cf06a679811c46eaa45d39174a715ec
|
|\ \
| |/
| |
| |
| | |
* commit '754bad4534e9a2de8b4e3ecbe097993c71246f91':
reinstate black-screenshot debugging code
|
| |
| |
| |
| |
| |
| |
| | |
turned off by default.
Bug: 10809349
Change-Id: I3e6b8c7860e6b0e122b8f07de4020967cd1f005c
|
|\ \
| |/
| |
| |
| |
| |
| | |
klp-dev
* commit 'f589dd2915587994d3dd36eff2191962fe0b71c0':
Fix GLES context version selection
|
| |
| |
| |
| |
| |
| |
| |
| | |
Explicitly selects an ES 2.0 config first, then an ES 1.x config,
before attempting the fallback path for the emulator.
Bug: 10820214
Change-Id: Ia8cc084c02a0e3de910def024da8a08d02bbd89d
|
|/
|
|
|
| |
BUG: 9057596
Change-Id: Iea0953366eac875b7968897a75472c25a137edb5
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is an attempt at improving the experience of
users with color vision impairement.
At this time this feature can only be enabled for
debugging:
adb shell service call SurfaceFlinger 1014 i32 PARAM
with PARAM:
0 : disabled
1 : protanomaly/protanopia simulation
2 : deuteranomaly/deuteranopia simulation
3 : tritanopia/tritanomaly simulation
11, 12, 13: same as above w/ attempted correction/enhancement
The enhancement algorithm tries to spread the "error"
such that tones that would otherwise appear similar can be
distinguished.
Bug: 9465644
Change-Id: I860f7eed0cb81f54ef9cf24ad78155b6395ade48
|
|
|
|
|
|
|
|
|
|
| |
it used to spawn its own thread and return the main thread
to the binder thread pool -- this was confusing the naming
of things in the kernel.
Bug: 10331839
Change-Id: I2d13a6d73409a38109300fcbe6a04b4c41cb5d00
|
|
|
|
| |
Change-Id: I774d0c68906ac6dc69268f708c30a6b0868b8816
|
|
|
|
|
|
| |
Bug: 8679321
Change-Id: I2b152d01fb4e2de2ea9fe87f1ddbd6826d7520d7
|
|
|
|
|
| |
Bug: 10191053
Change-Id: Ia89286f95421344a60ffedaaca5825c4e3cd7f9e
|
|
|
|
|
|
|
| |
this was only needed on some chipset we're not
supporting in KLP.
Change-Id: I2e8fc07f135030bd61d2e241a8e426f1a4316425
|
|
|
|
| |
Change-Id: Ib414a45e7e191f23a2726cbbbeb606e9ce68a3b5
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
this is the first step to add support for GLES 2.x, this
change breaks the dependency of SF on GLES 1.x by moving
all operation into their own class.
Bug: 8679321
Change-Id: I0d2741eca2cefe67dfd9cf837cac10c4d126928b
|
|/
|
|
|
| |
Bug: 9120292
Change-Id: If60db32524db973bb1f905ba3cb415c2a1cd7e71
|
|
|
|
|
|
|
|
|
| |
To keep the code readable now that we have four different texenv
configurations, this change separates the decisions about what
configuration to use from the GL calls to set up the configuration.
Bug: 8963244
Change-Id: Ia07a306a7809ba8f93493d0160ccbd509e948581
|
|
|
|
|
|
|
| |
we only export the main entry-point.
this saves about 150KB.
Change-Id: I55eb2b6705386fdfa43860deb62f9cdd2a0982aa
|
|
|
|
|
|
|
|
|
| |
this allows us to render into a buffer with a
pixelformat of our own choice; this is much faster
on all platform.
Bug: 8582615
Change-Id: I61298fc8e43fa6f92044c5123955cb5c7897dab7
|
|
|
|
|
|
|
| |
remove the scratch buffer parameter and use
String8::appendFormat() instead.
Change-Id: Ib96c91617c8e7292de87433d15cf6232b7d591b0
|
|
|
|
|
|
|
|
|
|
|
|
| |
this affects devices that need a glReadPixels(). We use
a FBO instead of a GlConsumer as an intermediate render target, this
saves 2 calls to eglMakeCurrent().
On Galaxy Nexus this allows us to go from ~135ms to ~35ms for
recent's screenshots.
Bug: 8582615
Change-Id: I6b25291ecc235f1927579bbb2db3c731e985c6e8
|
|
|
|
|
|
|
|
|
|
| |
DisplayDevices can be released when DisplayManager removes them from
the display list, or (for virtual displays) when the surface is set to
NULL. We were only cleaning up HWC resources associated with the
display in the first case.
Bug: 8384764
Change-Id: Id3d226dd7178fbe6d0a2ac4e2660b864ee073de3
|
|
|
|
|
|
|
|
| |
SurfaceFlinger::getLayerSortedByZForHwcDisplay only worked for builtin
displays.
Bug: 8384764
Change-Id: I989275407fb2f06d166a6e70321c3211e27e562e
|
|
|
|
| |
Change-Id: I0fb9cc4088f9c1fd27e6c017b0a7c5617adb4660
|
|
|
|
|
|
|
|
|
| |
some drivers don't support this yet, so we use a system
property to enable the glReadPixels "workaround" for them:
ro.bq.gpu_to_cpu_unsupported=1
Change-Id: I74d6a3a8f0cee8d5a507b72c760cf247e39195e0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We're not using IMemoryHeap as a transport anymore,
instead we're providing a CpuConsumer and use the
IGraphicBufferProducer version of the screenshot API.
However, some GPU drivers don't support properly
a GPU to CPU path, to work around this, we use a
temporary BufferQueue on the server side for the
GL rendering, and we use glReadPixels into the
CpuConsumer (we're now using a CPU to CPU path
which is always supported).
Currently this "wrapping" is always performed,
but it can be bypassed on devices that support
the GPU to CPU path.
This also addresses a DoS attack vector on
SurfaceFlinger, where an application could
consume all of SF's filedescriptors by creating
a lot of screenshots in a row.
Bug: 8390553
Change-Id: I9e81514c2a7711b9bb393f74305be7d2abe08f1c
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the purgatory list wasn't needed anymore; in fact it had no effect as
buffer life-time management is now handled by the BufferQueue.
For QueuesToWindowComposer we keep a list of wp<> on the IBinder
for IGraphicBufferProducers we hand over to clients so we can
easily check if an IGraphicBufferProducer is ours. We clean-up the
list when our IGraphicBufferProducer are destroyed.
Bug: 8349142
Change-Id: I1aa06652ade8c72d0004a3f5e6c3d6e8a82fc2ae
|
|
|
|
|
|
|
|
|
|
|
|
| |
ISurface was only used to get the IGraphicBufferProducer from
a Layer. It's now replaced by a BBinder subclass / IBinder and
is only used as a handle to the surface, to both refer to it
and manage its life-time.
Also cleaned-up a bit the ISurfaceComposer interface and
"create layer" code path.
Change-Id: I68d0e02d57b862cffb31d5168c3bc10cea0906eb
|
|
|
|
|
|
|
|
| |
The functionality of LayerBase and Layer is folded
into Layer. There wasn't a need for this abstraction
anymore.
Change-Id: I66511c08cc3d89009ba4deabf47e26cd4cfeaefb
|
|
|
|
| |
Change-Id: Ic745136522df59c42f0885fd969e75ea55d09f01
|
|
|
|
| |
Change-Id: I5b571a4cf3faa77d2c4aca916fa4bd00a1065bb9
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- SurfaceFlinger now supports to take a screenshot
directly into an IGraphicBufferProducer
- reimplement the IMemoryHeap screenshot on top
of the above
- reimplement LayerScreenshot such that its
BufferQueue is directly used as the destination
of the screenshot. LayerScreenshot is now a thin
wrapper around Layer
Bug: 6940974
Change-Id: I69a2096b44b91acbb99eba16f83a9c78d94e0d10
|
|
|
|
| |
Change-Id: Ibed34175ae273608393aaa5f0a7df207dc40d709
|
|
|
|
|
|
| |
we use the IBinder instead.
Change-Id: I4aa0b58869ba43f19980013620051e5a261b062d
|
|
|
|
|
|
|
|
| |
This change makes the 'dumpsys SurfaceFlinger --latency' command with no extra
args dump the frame timestamp data for the most recent frames that
SurfaceFlinger generated that included window animation transaction changes.
Change-Id: I8bded1ea08a4cddefef0aa955401052bb9107c90
|