summaryrefslogtreecommitdiffstats
path: root/include/ui
Commit message (Collapse)AuthorAgeFilesLines
* Initialize ARect fields in default ctorDmitriy Ivanov2014-10-281-0/+1
| | | | | | | So that we can use Rect() for update and such. Bug: 18095940 Change-Id: I03ed87121d2d279f22013b75e95dd7254551ca1f
* surfaceflinger: add getDisplayStats() methodLajos Molnar2014-09-181-0/+31
| | | | | | | | This is used by media service to schedule video frames at the proper time, based on precise vsync timings. Bug: 14659809 Change-Id: I1a90603f3dc09dca9aa4f90a3aa845fab56e0a5e
* Fix undefined behavior (not returning a value from a function with return).Stephen Hines2014-09-041-0/+1
| | | | | | | | | | | 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
* Turn on support for async cursor update in surfaceflinger.Riley Andrews2014-07-281-1/+3
| | | | | | | 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
* Add two new display info fieldsAndy McFadden2014-06-171-0/+3
| | | | | | | | | This adds SurfaceFlinger's app VSYNC offset and buffer deadline values to DisplayInfo. Bug 14612039 Change-Id: Ie0ab21d388fe2764f2b6f71bd1cefa33dc861a73
* am 38c9e132: am c1ffd351: am bd20e551: Merge "Use asynchronous lock/unlock API"Greg Hackmann2014-05-122-0/+13
|\ | | | | | | | | * commit '38c9e1327a5b24267c3dab5293bc9d7ada6e9fc9': Use asynchronous lock/unlock API
| * Use asynchronous lock/unlock APIFrancis Hart2014-05-122-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | am 9493d492: am 9eb142e3: am a9d49f99: Merge "Revert "Use asynchronous ↵Greg Hackmann2014-05-092-13/+0
|\ \ | |/ | | | | | | | | | | lock/unlock API"" * commit '9493d4924a59f14b698389386337a9c07a7ea3c4': Revert "Use asynchronous lock/unlock API"
| * Revert "Use asynchronous lock/unlock API"Greg Hackmann2014-05-092-13/+0
| | | | | | | | | | | | This reverts commit 378ef07760eda717367d9429428c42d54d54d9a7. Change-Id: I1de5ab973b5383633e75924fe90ac3ca8216c36a
* | am 4b46776f: am 8a6cd189: am f60564a1: Merge "Use asynchronous lock/unlock API"Greg Hackmann2014-05-092-0/+13
|\ \ | |/ | | | | | | * commit '4b46776ff88c5a365700b88e8b2b04e1b2c77e6e': Use asynchronous lock/unlock API
| * Use asynchronous lock/unlock APIFrancis Hart2014-05-022-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Enable changing display configurationDan Stoza2014-05-051-1/+0
| | | | | | | | | | | | | | | | This allows querying and switching display device configurations through the ISurfaceComposer/SurfaceComposerClient interface. Bug: 14320401 Change-Id: I8c22165698950e5da32204c1c4da92122f91a715
* | Merge "Add unique ID to GraphicBuffer"Dan Stoza2014-04-111-1/+4
|\ \
| * | Add unique ID to GraphicBufferDan Stoza2014-03-311-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Adding render stats APIs to UiAutomation (framework native).Svetoslav2014-04-101-0/+63
|/ / | | | | | | | | | | bug:12927198 Change-Id: Ibb1c07f7d89e11281e5c1f27f412a29ac6f9c4ab
* | FramebufferNativeWindow.h is obsoleteAndy McFadden2014-03-051-0/+2
| | | | | | | | | | | | This adds a deprecation #warning to the header. Change-Id: Ia32f16e491cb01d435ec8846dda3d9a7d1a9cfc5
* | Add contains point method to RegionMichael Wright2014-02-101-0/+3
| | | | | | | | Change-Id: I553433ff7ac39f14ffca8278960d2abc95b4dd63
* | libgui: Add a test for SRGB surfacesDan Stoza2014-01-071-7/+9
|/ | | | | | | | | 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
* fix camera API 2.0 orientationMathias Agopian2013-09-171-1/+1
| | | | | | | | | 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
* improve mat44 implementationMathias Agopian2013-09-036-155/+208
| | | | | | this will make it easier to create matrices of different sizes Change-Id: I2c1771ba0823c42d737762e2dfc2cd47eb302767
* vector and matrix classes for graphics useMathias Agopian2013-08-266-0/+1301
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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
* remove unused code form GraphicBufferMathias Agopian2013-07-311-11/+6
| | | | Change-Id: I0dd67f1f93f654331e8f17b55730931dbc695ca7
* Make Flattenable not virtualMathias Agopian2013-07-303-15/+12
| | | | | | | | | | | | | | | | | 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
* get rid of HAL pixelformats 5551 and 4444Mathias Agopian2013-07-261-2/+2
| | | | Change-Id: I39409103144c1ba09078c4ddc323a58987fb09ea
* get rid of PixelFormatInfo and simplify thingsMathias Agopian2013-07-252-56/+2
| | | | Change-Id: I025a362cc12d5b9b794fac14be500e25aab65396
* get rid of PIXEL_FORMAT_A_8Mathias Agopian2013-07-251-1/+0
| | | | Change-Id: I4e409a69c01b95b48f20112084dd927e2d043407
* am e6eef6c1: am ea74d3b7: make the warning timout of Fence::waitForever() ↵Mathias Agopian2013-05-171-2/+3
|\ | | | | | | | | | | | | implicit and longer * commit 'e6eef6c136b007f3a7e1e19884875b855c0c5f95': make the warning timout of Fence::waitForever() implicit and longer
| * make the warning timout of Fence::waitForever() implicit and longerMathias Agopian2013-05-161-2/+3
| | | | | | | | | | | | | | | | | | | | - 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
* | take the "transparent region" into account for blendingMathias Agopian2013-05-101-0/+4
| | | | | | | | | | | | | | | | | | | | | | 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
* | reformat Rect.{cpp|h}Mathias Agopian2013-05-101-32/+40
|/ | | | Change-Id: I45b1f6646541a1abacce1e70df00a770e47b820e
* Add support for HAL_PIXEL_FORMAT_YCbCr_420_888Eino-Ville Talvala2013-05-062-0/+6
| | | | | | | | | - Add fields to CpuConsumer::LockedBuffer for new information - New lock methods for GraphicBuffer and GraphicBufferMapper for the format Bug: 8734880 Change-Id: If31f82c62d64b6942cf4cc6e5715585c03273f12
* latch transparent region hint only when we get a new frameMathias Agopian2013-04-021-0/+4
| | | | | | | | | | | | | | 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
* Make GraphicBuffer a RefBaseMathias Agopian2013-03-061-4/+3
| | | | | | | - this gives us access to RefBase's refcounting debugging - it doesn't cost much because GraphicBuffer already has a vtable Change-Id: I7f696e421fea14b14bfaeb83880689b83e96af4d
* Add createTJunctionFreeRegionChris Craik2013-02-271-1/+3
| | | | | | | | | | | | | 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
* GraphicBuffer.h: Remove redundant friend class declaration causing warningsIgor Murashkin2013-02-261-1/+0
| | | | Change-Id: I8a4b0e0b4d0a1cf472de820553c31f2d42044543
* Refactoring: Rename SurfaceTextureClient to SurfaceMathias Agopian2013-02-141-1/+1
| | | | Change-Id: Ibed34175ae273608393aaa5f0a7df207dc40d709
* SurfaceFlinger: refactor frame time trackingJamie Gennis2012-11-191-4/+11
| | | | | | | | 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
* SurfaceFlinger: add support for secure displaysJamie Gennis2012-10-221-1/+2
| | | | | | | | | 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
* Fence didn't manager sync_wait error codes properlyMathias Agopian2012-10-091-2/+2
| | | | | | | | | | 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
* Add Fence::waitForever which logs a warning timeout, and use itJesse Hall2012-10-021-0/+7
| | | | | Bug: 7217641 Change-Id: If0c1a613ead307c4045a47824174bf40c72bc7d7
* Show build config in dumpsys SurfaceFlingerAndy McFadden2012-09-251-0/+29
| | | | | | | | | | | | | 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
* strengthen region validationMathias Agopian2012-09-121-1/+2
| | | | Change-Id: I75ee7bc4dd7a2f5357ac8994a23bc8b8bfb6eb44
* Add a way to retrieve a Region as a SharedBufferMathias Agopian2012-08-311-6/+14
| | | | Change-Id: Ia53cb905fbc88f899521658545f990fb9217b1e1
* change how we store Region data internallyMathias Agopian2012-08-311-6/+8
| | | | | | | | | | | | | 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
* ui/Fence: change the TIMEOUT_NEVER value to -1Jamie Gennis2012-08-211-2/+1
| | | | Change-Id: I3ef0a4c06f80990b53a8bf2eda6edbfcbefd0f34
* improve [un]marshalling of non-binder objectsMathias Agopian2012-08-133-10/+10
| | | | | | | | | | | | | | | | | 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
* Merge remote-tracking branch 'goog/jb-dev-mako' into jb-mr1-devEd Heyl2012-07-281-2/+3
|\ | | | | | | | | | | | | Conflicts: include/media/hardware/CryptoAPI.h Change-Id: I84bf34edbef000558f088bbf1d1e5b55d6217d2e
| * libs/ui: Add support for triple framebuffersNaseer Ahmed2012-07-091-2/+3
| | | | | | | | Change-Id: I90dd38deeeda9a3785b87286cc7d252c6f948750
* | get rid of the shared-memory control blockMathias Agopian2012-07-251-12/+10
| | | | | | | | Change-Id: If814060aca1d2ff2619d4adcd57296983d207f7f
* | Pass fences with buffers from SurfaceTextureClientJesse Hall2012-06-301-0/+5
| | | | | | | | Change-Id: I09b49433788d01e8b2b3684bb4d0112be29538d3