| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
So that we can use Rect() for update and such.
Bug: 18095940
Change-Id: I03ed87121d2d279f22013b75e95dd7254551ca1f
|
|
|
|
|
|
|
|
| |
This is used by media service to schedule video frames at the
proper time, based on precise vsync timings.
Bug: 14659809
Change-Id: I1a90603f3dc09dca9aa4f90a3aa845fab56e0a5e
|
|
|
|
|
|
|
|
|
|
|
| |
Bug: 17379740
This function was missing a return statement, even though it declares a return
type. This is undefined behavior, which clang miscompiled into just falling
through to a later function in some cases. Adding the return statement
fixes the undefined behavior (and probably fixes a bug too).
Change-Id: I05c03b6473b831769dc4fa8b5ba43fb4249f7626
|
|
|
|
|
|
|
| |
If available, surfaceflinger will use the hwc setCursorPositionAsync()
api to change the position of supported cursor layers outside of
the usual prepare/set loop.
Change-Id: Ib3fc5c0c390b3489ddbba202379840a1d2748917
|
|
|
|
|
|
|
|
|
| |
This adds SurfaceFlinger's app VSYNC offset and buffer deadline
values to DisplayInfo.
Bug 14612039
Change-Id: Ie0ab21d388fe2764f2b6f71bd1cefa33dc861a73
|
|\
| |
| |
| |
| | |
* commit '38c9e1327a5b24267c3dab5293bc9d7ada6e9fc9':
Use asynchronous lock/unlock API
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The gralloc API now provides a way for using lock/unlock with the Android
explicit synchronisation concept. This changes updates the GraphicBuffer class
to also expose this functionality, and updates the Surface class to make use of
in line with the dequeueBuffer/queueBuffer mechanism.
This new behaviour is dependent on GRALLOC_MODULE_API_VERSION_0_3. If the local
gralloc module does not support this then the existing synchronous lock/unlock
mechanism will be used.
Change-Id: I8c3fd9592e0c5400ac9be84450f55a77cc0bbdc5
|
|\ \
| |/
| |
| |
| |
| |
| | |
lock/unlock API""
* commit '9493d4924a59f14b698389386337a9c07a7ea3c4':
Revert "Use asynchronous lock/unlock API"
|
| |
| |
| |
| |
| |
| | |
This reverts commit 378ef07760eda717367d9429428c42d54d54d9a7.
Change-Id: I1de5ab973b5383633e75924fe90ac3ca8216c36a
|
|\ \
| |/
| |
| |
| | |
* commit '4b46776ff88c5a365700b88e8b2b04e1b2c77e6e':
Use asynchronous lock/unlock API
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The gralloc API now provides a way for using lock/unlock with the Android
explicit synchronisation concept. This changes updates the GraphicBuffer class
to also expose this functionality, and updates the Surface class to make use of
in line with the dequeueBuffer/queueBuffer mechanism.
This new behaviour is dependent on GRALLOC_MODULE_API_VERSION_0_3. If the local
gralloc module does not support this then the existing synchronous lock/unlock
mechanism will be used.
Change-Id: I77daa1beb197b63b1c2f281b8414ac4ae4b5b03c
|
| |
| |
| |
| |
| |
| |
| |
| | |
This allows querying and switching display device configurations
through the ISurfaceComposer/SurfaceComposerClient interface.
Bug: 14320401
Change-Id: I8c22165698950e5da32204c1c4da92122f91a715
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Adds a globally-unique ID (PID + sequence number) to every
GraphicBuffer, which will remain the same while crossing Binder,
even if the underlying handles change.
Change-Id: Ib11330a4c5e99621b82204e0adb31b9a88658426
|
|/ /
| |
| |
| |
| |
| | |
bug:12927198
Change-Id: Ibb1c07f7d89e11281e5c1f27f412a29ac6f9c4ab
|
| |
| |
| |
| |
| |
| | |
This adds a deprecation #warning to the header.
Change-Id: Ia32f16e491cb01d435ec8846dda3d9a7d1a9cfc5
|
| |
| |
| |
| | |
Change-Id: I553433ff7ac39f14ffca8278960d2abc95b4dd63
|
|/
|
|
|
|
|
|
|
| |
Add SRGBTest.RenderToSRGBSurface, which validates that passing the
SRGB colorspace attributes to eglCreateWindowSurface actually
results in an SRGB surface by comparing the output values to those
of a standard RGB surface.
Change-Id: I3d5fef8070ed8fa2357ddd1c5fcc849ae3fbd12a
|
|
|
|
|
|
|
|
|
| |
we add a flag to ANativeWindow::setBufferTransform that means
"apply the inverse rotation of the display this buffer is displayed
onto to".
Bug: 10804238
Change-Id: Id2447676271950463e8dbcef1b95935c5c3f32b2
|
|
|
|
|
|
| |
this will make it easier to create matrices of different sizes
Change-Id: I2c1771ba0823c42d737762e2dfc2cd47eb302767
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- this implements vec2, vec3, vec4, which are float vectors
of size 2, 3 and 4 respectively.
the code allows easy instantiation of vectors of a different
type via the tvec{2|3|4}<T> template classes.
- this also implements mat4 which is a float 4x4 matrix. the
tmat44<T> template class allows easy instantiation of a
4x4 matrix of a different value_type.
The vector types have some minimal support for the
glsl style swizzled access; for instance:
vec4 u;
vec3 v = u.xyz;
only .x, .xy, .xyz and their .stpq / .rgba equivalent are
supported.
most operators are supported on both vector and matrices:
arithmetic, unary, compound assignment and comparison
(bit-wise operators NOT supported).
- operations available on vectors include:
dot, length, distance, normalize and cross
- operations available on matrices include:
transpose, inverse, trace
- and a few utilities to create matrices:
ortho, frustum, lookAt
Change-Id: I64add89ae90fa78d3f2f59985b63495575378635
|
|
|
|
| |
Change-Id: I0dd67f1f93f654331e8f17b55730931dbc695ca7
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fallout from the Flattenable change, update all its uses.
Additionnaly, fix/tighten size checks when (un)flatten()ing
things.
Removed the assumption by some flattenables (e.g.: Fence)
that the size passed to them would be exact (it can
and will be larger in some cases)
The code in Parcel is a bit complicated so that we don't
have to expose the full implementation (and also to
keep the code smallish).
Change-Id: I0bf1c8aca2a3128491b4f45510bc46667e566dde
|
|
|
|
| |
Change-Id: I39409103144c1ba09078c4ddc323a58987fb09ea
|
|
|
|
| |
Change-Id: I025a362cc12d5b9b794fac14be500e25aab65396
|
|
|
|
| |
Change-Id: I4e409a69c01b95b48f20112084dd927e2d043407
|
|\
| |
| |
| |
| |
| |
| | |
implicit and longer
* commit 'e6eef6c136b007f3a7e1e19884875b855c0c5f95':
make the warning timout of Fence::waitForever() implicit and longer
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- timeout is now 3 seconds instead of 1
- simplifies the API a bit
- allows us to change/tweak this timeout globaly
Bug: 8988871
Change-Id: I8d3c6ec43a372f602fb3f29856710339f86c0ec9
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
until now it was only used to discard a layer entirely.
we're now reducing the size of the layer if it is still
visible, if possible.
this works for instance when a surfaceView is used and
only the menu bar is displayed over it.
Change-Id: I3f5527c5cd1e69ecc968272c8948f1513ada8c55
|
|/
|
|
| |
Change-Id: I45b1f6646541a1abacce1e70df00a770e47b820e
|
|
|
|
|
|
|
|
|
| |
- Add fields to CpuConsumer::LockedBuffer for new information
- New lock methods for GraphicBuffer and GraphicBufferMapper for
the format
Bug: 8734880
Change-Id: If31f82c62d64b6942cf4cc6e5715585c03273f12
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
since the transparent region hint really depends on the
content of the window containing the SurfaceView
(it's calculated by the view hierarchy based on
overlapping views), it makes sense to latch it only when
the content of the window (the app) changes.
This should help fixing drawing artifacts when changing the
layout of a window containing a SurfaceView.
Bug: 8511430
Change-Id: Ic3aa668495293cb4d82a2cd7dcf3b6a337287678
|
|
|
|
|
|
|
| |
- this gives us access to RefBase's refcounting debugging
- it doesn't cost much because GraphicBuffer already has a vtable
Change-Id: I7f696e421fea14b14bfaeb83880689b83e96af4d
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
T-junction free regions are useful for rendering regions with various
geometric transformations, and the Region's span-ordered, sorted rect
list supports T-junction free storage without modification.
This approach creates a T-junction free region by splitting each
rectangle that is part of a vertical T-junction. This approach is two
pass (up and down) so that divisions can trickle up/down to other
adjacent spans.
Change-Id: Ifcf5e6fe0034c96b00ef09a4433b2b0fce8f4300
|
|
|
|
| |
Change-Id: I8a4b0e0b4d0a1cf472de820553c31f2d42044543
|
|
|
|
| |
Change-Id: Ibed34175ae273608393aaa5f0a7df207dc40d709
|
|
|
|
|
|
|
|
| |
This change moves the frame time history tracking code out of Layer and into a
new class called FrameTracker. It also changes the tracking to use signal
timestamps from fences when available for more accurate results.
Change-Id: I323c5f075c58bf86ce363b52af885ad0f6365f2b
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
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
|
|
|
|
| |
Change-Id: I3ef0a4c06f80990b53a8bf2eda6edbfcbefd0f34
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|\
| |
| |
| |
| |
| |
| | |
Conflicts:
include/media/hardware/CryptoAPI.h
Change-Id: I84bf34edbef000558f088bbf1d1e5b55d6217d2e
|
| |
| |
| |
| | |
Change-Id: I90dd38deeeda9a3785b87286cc7d252c6f948750
|
| |
| |
| |
| | |
Change-Id: If814060aca1d2ff2619d4adcd57296983d207f7f
|
| |
| |
| |
| | |
Change-Id: I09b49433788d01e8b2b3684bb4d0112be29538d3
|