| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
Bug: 18076253
Change-Id: I4c5935440013fc755e1d123049290383f4659fb6
(cherry picked from commit dfd06b89a4b77fc75eb85a3c1c700da3621c0118)
Signed-off-by: Michael Lentine <mlentine@google.com>
Tested-by: Moritz Bandemer <replicant@posteo.mx>
|
|
|
|
|
|
|
|
| |
The custom buffer size was not being honored if memory allocation
failed in the first pass.
Also - removing an unnecessary check.
Change-Id: Ie501b2dda3843454405fec05fc898fec5912bd06
|
|
|
|
|
|
|
|
|
| |
Add native window properties NATIVE_WINDOW_UPDATE_BUFFERS_GEOMETRY
to the perform function of SurfaceTextureClient and SurfaceTexture
to update the width, height and format of the buffer dynamically
from the client before queue buffer call.
Change-Id: I62447fcf523b507d534085cd0835f55a978c4ead
|
|
|
|
|
|
|
|
| |
Add native window properties NATIVE_WINDOW_SET_BUFFERS_SIZE to the
perform function of SurfaceTextureClient to set the user defined size
of graphic buffers.
Change-Id: I1dc2203990a3641fbb9ddab9a86f7e9017f05270
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
https://android.googlesource.com/platform/frameworks/native into 1.1
Android 4.2.2 release 1
Conflicts:
libs/ui/GraphicBufferAllocator.cpp
Change-Id: Id60a6580bf5a3ba04f8e1e2b1b950e0b93888166
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This change makes GraphicBufferAllocator::alloc wait for pending async frees to
complete before attempting to allocate a gralloc buffer if there are more than
8 pending async frees.
Bug: 7696861
Change-Id: I1fae86e13edefcaa153b8ce9fd057f335716059e
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This change makes GraphicBufferAllocator::free queue a job to another thread to
perform the actual free operation. This prevents potentially slow free
operations from blocking rendering.
Bug: 7675940
Change-Id: Id61099d66bb4c3949d04184e0d7f192ac18076b4
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
function call to cancelBuffer was resulted in seg-faults on conf 2.0.
Setting function pointer of cancelBuffer to null in order to select
correct path of execution.
CRs-fixed: 383715
Change-Id: I6de8355febaea86ded63f33a582c787fef862193
|
| |
| |
| |
| | |
Change-Id: I27b34e95c04750e3dd321a2183b6cc1d89f29b5d
|
| |
| |
| |
| |
| |
| | |
HAL_PIXEL_FORMAT_YCbCr_420_SP_TILED
Change-Id: I8a98e593cb60d0843e83a5e431142410e26d82e7
|
| |
| |
| |
| | |
Change-Id: Ia8cde7e594f8be464ef15eaae453872ee5aa2768
|
| |
| |
| |
| | |
Change-Id: I1dc9c2ced0700072e7c30c8435676873b10c7026
|
|/
|
|
| |
Change-Id: Iee665f56aaf601479d796703db983ca5fce9c5c3
|
|
|
|
|
|
|
|
|
|
| |
error codes are returned in errno, this caused ::waitForwever()
to only wait for 1 second and return improper error code (-1).
needed to help debugging 7316632
Bug: 7316632
Change-Id: Ie144f614a88393393972a3a770c6b4b0581f961a
|
|
|
|
|
| |
Bug: 7217641
Change-Id: If0c1a613ead307c4045a47824174bf40c72bc7d7
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
addRectUnchecked() is allowed to be in an invalid state
temporarily.
Change-Id: I6f5162b5c49f378978c070a77abba35023fe918c
|
|
|
|
| |
Change-Id: I75ee7bc4dd7a2f5357ac8994a23bc8b8bfb6eb44
|
|
|
|
| |
Change-Id: Ia53cb905fbc88f899521658545f990fb9217b1e1
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We used to keep the bounds of the region as a
separate rectangle. Instead we now store it as the last
element of the Vector<> of Rects.
This has the benefit of being slightly more efficient when
copying regions and reduces the overhead of small regions,
but more importantly will allow us to export the underlaying
SharedBuffer (eventually).
Change-Id: I80790e4fb1a09a747a5616000cfef852ac4ce9e9
|
|
|
|
|
|
|
|
| |
since regions are copy-on-write, this prevents to
duplicate the region entirely and offseting by 0,0 is
fairly common.
Change-Id: I9b8c286315a2e00dda01c2456397d72b5e12006b
|
|
|
|
|
|
| |
This change adds a few error checks both in the framework and in some tests.
Change-Id: I2baf2676942a0dc15866e75852a775a0091ed16d
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
this change introduces a new class LightFlattenable<> which is
a protocol to flatten simple objects that don't require
binders or file descriptors; the benefit of this protocol is that
it doesn't require the objects to have a virtual table and give us
a consitant way of doing this.
we also introduce an implementation of this protocol for
POD structures, LightFlattenablePod<>.
Parcel has been update to handle this protocol automatically.
Sensor, Rect, Point and Region now use this new protocol.
Change-Id: Icb3ce7fa1d785249eb666f39c2129f2fc143ea4a
|
|\ |
|
| |
| |
| |
| |
| |
| | |
also fix a typo where the wrong value was passed to sterror.
Change-Id: I4df2abe582e14c8f816b65818f4593a6bd3c23ea
|
|\ \
| |/
|/|
| |
| |
| |
| | |
Conflicts:
include/media/hardware/CryptoAPI.h
Change-Id: I84bf34edbef000558f088bbf1d1e5b55d6217d2e
|
| |
| |
| |
| | |
Change-Id: I90dd38deeeda9a3785b87286cc7d252c6f948750
|
| |
| |
| |
| | |
Change-Id: I09b49433788d01e8b2b3684bb4d0112be29538d3
|
| |
| |
| |
| | |
Change-Id: Ic19750793ad993f0e85391f3cabd743ba565d4c9
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| | |
FramebufferNativeWindow::dequeueBuffer now waits for the next buffer
to be non-front in addition to being free.
Change-Id: I991f154958cc6b488b1241aba83d1f95a0513b3c
|
| |
| |
| |
| |
| |
| |
| | |
This change updates the uses of ANativeWindow to use the new ANW functions that
accept and return Sync HAL fence file descriptors.
Change-Id: I3ca648b6ac33f7360e86754f924aa072f95242f6
|
|/
|
|
|
|
|
| |
This change adds the Fence class to libui for to wrap the libsync
functionality.
Change-Id: I93a31baeee608b93c14da807a32013dabf783f84
|
|
|
|
|
|
|
|
|
| |
This change adds a crop rectangle specified in window coordinates to the layer
state. The all window pixels outside this crop rectangle are treated as though
they were fully transparent. This change also adds the plumbing necessary for
WindowManager to set that crop.
Change-Id: I582bc445dc8c97d4c943d4db8d582a6ef5a66081
|
|
|
|
|
|
|
|
| |
This change adds a method to Rect to transform a rectangle by a graphics HAL
transform.
Change-Id: Ic0d0988e731bdb5662faee41a5927b1242891658
Bug: 6299171
|
|
|
|
|
| |
Bug: 6294260
Change-Id: Iad6f7bcbdda0a684abca6d9584da611a8b28f7ab
|
|
|
|
|
|
|
|
|
|
| |
- it returned an empty rect when the region was empty, instead
of returning an empty list of rect.
- also fixed an infinite loop when boolean_operation was given
an empty list of rects
Change-Id: I62225c7dcd2832025bb8f12e6cb3762f2a7b36cb
|
|
|
|
| |
Change-Id: I8408850d0625985992ef2e2cd0c9f300b1fca293
|
|
|
|
| |
Change-Id: Ie4b95f7061c240f37c504414259f92d72c4ffc89
|
|
|
|
| |
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
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This does not actually change the framebuffer format. It merely
fakes this format to surfaceflinger so that when it creates
framebuffer surfaces it will use this format. It's really a giant
HACK to allow interworking with buggy gralloc+GPU driver
implementations. You should *NEVER* need to set this for shipping
devices.
Change-Id: I03eeb5b4d72838ef219df386ecc489fc20ab9cc7
Signed-off-by: Dima Zavin <dima@android.com>
|
|/
|
|
|
|
| |
this also remove support for unused pixelformats.
Change-Id: I2c759a6d2daa740f3786ed62095def8047ae933d
|
|
|
|
|
|
| |
create the new libandroidfw from parts of libui and libutils
Change-Id: I1584995616fff5d527a2aba63921b682a6194d58
|
|
|
|
|
|
| |
First step. Move libui includes to their new home: androidfw.
Change-Id: Ic042b52fdba72f30edc3cc6339bf30b4c1b99662
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of sending finished signals immediately when appending to
a batch, record the chain of sequence numbers that were part of
the batch and then send finished signals all at once when done.
This change helps the dispatcher keep track of the true state
of the application and can improve ANR detection slightly.
This is part of a series of changes to improve input system pipelining.
Bug: 5963420
Change-Id: I463c2221e2aa8fdf1c3d670c18e39e59ab69b0db
|
|
|
|
|
|
|
| |
This is part of a series of changes to improve input system pipelining.
Bug: 5963420
Change-Id: I6874d2128e880a35c6c33890c858cc6ee22af0fd
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
To support this feature, the input dispatcher now allows input
events to be acknowledged out-of-order. As a result, the
consumer can choose to defer handling an input event from one
device (because it is building a big batch) while continuing
to handle input events from other devices.
The InputEventReceiver now sends a notification when a batch
is pending. The ViewRoot handles this notification by scheduling
a draw on the next sync. When the draw happens, the InputEventReceiver
is instructed to consume all pending batched input events, the
input event queue is fully processed (as much as possible),
and then the ViewRoot performs traversals as usual.
With these changes in place, the input dispatch latency is
consistently less than one frame as long as the application itself
isn't stalled. Input events are delivered to the application
as soon as possible and are handled as soon as possible. In practice,
it is no longer possible for an application to build up a huge
backlog of touch events.
This is part of a series of changes to improve input system pipelining.
Bug: 5963420
Change-Id: I42c01117eca78f12d66d49a736c1c122346ccd1d
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change enables the input dispatcher to send multiple touch
events to an application without waiting for them to be acknowledged.
Essentially this is a variation on the old streaming optimization
but it is much more comprehensive. Event dispatch will stall as
soon as 0.5sec of unacknowledged events are accumulated or a
focused event (such as a key event) needs to be delivered.
Streaming input events makes a tremendous difference in application
performance. The next step will be to enable batching of input
events on the client side once again.
This is part of a series of changes to improve input system pipelining.
Bug: 5963420
Change-Id: I025df90c06165d719fcca7f63eed322a5cce4a78
|