| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| | |
Y8/Y16" into jb-mr2-dev
|
| |
| |
| |
| | |
Change-Id: I0a0f6ce73516883bf50c749a1759abbdb3748e08
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- 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
|
| |/
|/|
| |
| |
| |
| |
| |
| |
| | |
Writing a NULL Surface was being read as a non-NULL Surface with NULL
mGraphicBufferProducer. Before the SurfaceTextureClient -> Surface
refactoring, you'd get a NULL Surface, and some code relies on that.
Bug: 8291161
Change-Id: I477bfe8882693e53a5f604a3d2c9e3cfe24473b4
|
|/
|
|
|
|
|
|
|
|
| |
Temporary, to fix weekend build, until we get Nvidia code drop.
This reverts commit 9a867a8798fa6ea21f6341db31e38ea64fde6c83
DO NOT MERGE
Change-Id: I7b5dbc4db46ef3d97dc8598057d5487d6971178b
|
|
|
|
|
|
|
| |
Bug: 8290146
Bug: 8291751
Change-Id: I9c8ac4bff38b0411e987a204e540d018dba6d0b4
|
|
|
|
|
|
| |
Bug: 8291751
Change-Id: I062a3d34b41183d07fb6b9109cdb6bf0c0c75672
|
|
|
|
|
|
|
|
| |
We check that calling eglSwapBuffers() on an abandonned BufferQueue
return EGL_BAD_SURFACE -- this is to ensure consistancy between
drivers.
Change-Id: Ibb548e0cf767ceee69f2fc4a85811d15a6522277
|
|
|
|
|
| |
Bug: 8153162
Change-Id: If3c4b7a3e124ace25999eb9a569dc9a806a1fbc2
|
|
|
|
|
|
| |
this was there just for legacy reasons.
Change-Id: I0a48d6e04d7efa65033f9f10c91bba557f16ae8b
|
|
|
|
| |
Change-Id: Ibed34175ae273608393aaa5f0a7df207dc40d709
|
|
|
|
|
|
| |
we use the IBinder instead.
Change-Id: I4aa0b58869ba43f19980013620051e5a261b062d
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Change-Id: I9f82f574112141b6aa074c42303056cd52d5c478
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Change-Id: I8c8282a0debd551db290dd6849faf272a88c704c
|
|\ |
|
| |
| |
| |
| | |
Change-Id: Ibf2746fdca26851677cd90199c60eab80f6d0c73
|
|\ \ |
|
| |/
| |
| |
| |
| |
| | |
This change moves the GraphicBufferAlloc class from SurfaceFlinger to libgui.
Change-Id: Idf31d2004efa2651b60590733f73c4a7b831e8a9
|
|/
|
|
|
|
|
| |
In SurfaceFlingerConsumer, check to see if native fence sync is
enabled. If so, defer the texture binding step to Layer::onDraw.
Change-Id: I7d4034a31c0143207eea2509dfa13ef3820f9b8c
|
|
|
|
|
|
|
|
|
|
|
|
| |
Rearranges updateTexImage() so that the SurfaceFlinger-specific
behavior is in a new SurfaceFlingerConsumer subclass.
SurfaceTexture behavior should not be altered. Instead of
acquire-bind-release we now do acquire-release-bind, but since
it's all done with the lock held there shouldn't be any
externally-visible change.
Change-Id: Ia566e4727945e2cfb9359fc6d2a8f8af64d7b7b7
|
|\
| |
| |
| |
| |
| |
| | |
outside the lock"
* commit '50f8d2856b6644059b31684687842bf9c1f2e814':
Revert "ConsumerBase: free buffers outside the lock"
|
| |
| |
| |
| | |
This reverts commit b21a4e3b5f7f07ed160ca6e1809313e2a8e2a6a4.
|
|\ \
| |/
| |
| |
| |
| |
| | |
the lock
* commit '05989772d5b46cd5328e88d546f04deef39cc3c8':
ConsumerBase: free buffers outside the lock
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This change makes ConsumerBase::onBuffersReleased hold a reference to all its
gralloc buffers until after the mutex is unlocked. This prevents slow
gralloc::free calls from causing lock contention with rendering threads.
Bug: 7675940
Change-Id: I0ec805d1b612afeeecfffec03f982371d27d93be
|
| |
| |
| |
| |
| | |
Bug: 7584338
Change-Id: Ieb8c27a544ac583af9aa1e0376e33a673d2d9673
|
| |
| |
| |
| |
| |
| |
| | |
cherry pick into master since auto-merger is blocked
Bug: 7584338
Change-Id: Ie7d7c238de1fd224b3b0bae9669a8dcb2f700a79
|
|\ \
| |/
| |
| |
| | |
* commit 'c208cdd402d767228a34074d589c6368cc656b7d':
fix an out-of-bounds memory access
|
| |
| |
| |
| |
| |
| |
| |
| | |
in this particular case, this OOB is always harmless
(and that's why it didn't get fixed from MR1), however,
it interfers with valgrind debugging.
Change-Id: Ic977e03287e59c4b124a89146c9023bd0cb540a8
|
|\ \ |
|
| |/
| |
| |
| |
| |
| |
| |
| | |
This prevents strong reference cycles when the listener implementation also
holds a strong pointer to the ConsumerBase
Bug: 7425644
Change-Id: I1514b13a32b18d421c902dddebec0765a989c55c
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
This change fixes a number of small glitches that can occur when
multiple components in the same process are updating surfaces.
One would expect that updates to disjoint sets of surfaces would
not collide but this is not the case. The first component to
close the global transaction causes all pending updates to
be applied, including those that another component might not
have finished setting up if it also had an open transaction
at the same time.
Change-Id: I99345958581abbe0e1e325a5bcba37e8941a313a
|
|
|
|
|
|
|
|
|
| |
This change adds support for displays that are not allowed to display surfaces
with the eSecure flag set. All non-virtual displays are considered secure,
while virtual displays have their secure-ness specified at creation time.
Bug: 7368436
Change-Id: I81ad535d2d1e5a7ff78269017e85b111f0098500
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This change makes BufferQueue::dequeueBuffer release its mutex before
allocating new buffers. This should alleviate lock contention in
SurfaceFlinger where SF's main thread can get blocked waiting for an allocation
operation to complete.
Bug: 7335075
Change-Id: I1b000539cc616a695afab2e9c68507db69e57b13
|
|/
|
|
|
|
|
|
|
|
| |
This change adds a transaction flag for WindowManager to indicate that a
transaction is being used to animate windows around the screen. SurfaceFlinger
will not allow more than one of these transactions to be outstanding at a time
to prevent the animation "frames" from being dropped.
Bug: 7353840
Change-Id: I6488a6e0e1ed13d27356d2203c9dc766dc6b1759
|
|
|
|
|
| |
Bug: 7309812
Change-Id: Ia401d642094a46c62f0d26c65da1d11341e203a1
|
|
|
|
|
|
|
|
|
|
|
| |
This needs the ConsumerBase mutex locked, but wasn't locking it. Two
of the four places that called it already held the lock so were fine.
Now addReleaseFence() takes the lock itself, and I added
addReleaseFenceLocked() for the two already-locked callers, since in
one of them dropping the lock would be inconvenient.
Bug: 7289269
Change-Id: I7a5628adb516f8eec782aa6c14128202f96d7b0a
|
|
|
|
| |
Change-Id: I0440a942d3e685d619ec9cc402d3293cb3f52df1
|
|
|
|
|
|
|
|
|
|
|
| |
The CleanSpec is missing parens, which causes $P to be interpreted as a
single variable, and the following printed to the log:
Clean step: rm -rf RODUCT_OUT/obj/SHARED_LIBRARIES/libgui_intermediates
This patch adds parens as needed.
Change-Id: I587998fa67a4884418c286360a577cdbb6ea9a21
|
|
|
|
|
| |
Change-Id: Iffc48412b8c951116a956a3ac7dab8d75eed13da
Bug: 7238122
|
|
|
|
|
|
|
|
|
| |
This change adds debug info to SurfaceFlinger's dumpsys to indicate that the
USE_WAIT_SYNC compile option was enabled, and it removes the
ALLOW_DEQUEUE_CURRENT_BUFFER option.
Bug: 7238122
Change-Id: I70e08e34c2ef58aa6d2f88229e781a119f84b5a9
|
|
|
|
|
| |
Bug: 7217641
Change-Id: If0c1a613ead307c4045a47824174bf40c72bc7d7
|
|
|
|
|
|
|
|
| |
This allows us to blank and unblank displays other than the built-in
display (e.g. HDMI).
Bug: 7240511
Change-Id: I89ea13f9e497be74c3e1231d0c62fb558e93e0f8
|
|
|
|
|
|
| |
This reverts commit a50b51c03aca449920fc8581a738032a7bce7150
Change-Id: Ibdcd776a7f241dbb2475403ea04f939249774c41
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds a line to the "dumpsys SurfaceFlinger" output that shows
build-time configuration values.
Example:
Build configuration: [sf HAS_CONTEXT_PRIORITY] [libui] \
[libgui USE_FENCE_SYNC]
Bug 7206633
Change-Id: Ibe1856b459d34a4be6ee83a4ebfd2807e6cc68a0
|
|
|
|
|
| |
bug: 7211067
Change-Id: Id8658a8df429d76c20ab9112858b38e52343dc9c
|
|
|
|
| |
Change-Id: I3580120cb63c027c327e80ec70e68650b75395de
|