summaryrefslogtreecommitdiffstats
path: root/libs/ui
Commit message (Collapse)AuthorAgeFilesLines
* am da9fd70d: am 2758eb2e: am fde92eb0: Update maxNumber to be smaller.Michael Lentine2015-02-191-1/+5
|\ | | | | | | | | * commit 'da9fd70de125b0e6df4fb6285f538be9133c7b22': Update maxNumber to be smaller.
| * am 2758eb2e: am fde92eb0: Update maxNumber to be smaller.Michael Lentine2015-02-191-1/+5
| |\ | | | | | | | | | | | | * commit '2758eb2e67d935cf1f04e3d713438c6ac7fe8b89': Update maxNumber to be smaller.
| | * Update maxNumber to be smaller.Michael Lentine2015-02-181-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | There shouldn't be more than 4096 fds (probably signficantly smaller) and there shouldn't be more than 4096 ints. Bug: 18076253 Change-Id: I3a3e50ee3078a4710e9737114e65afc923ed0573
* | | am 76ebd319: am 3d89edca: am e6f7a44e: Fix for corruption when numFds or ↵Michael Lentine2014-12-021-1/+16
|\ \ \ | |/ / | | | | | | | | | | | | | | | numInts is too large. * commit '76ebd319d96494049a2a598f4449c0ec417220f6': Fix for corruption when numFds or numInts is too large.
| * | am 3d89edca: am e6f7a44e: Fix for corruption when numFds or numInts is too ↵Michael Lentine2014-12-021-1/+16
| |\ \ | | |/ | | | | | | | | | | | | | | | large. * commit '3d89edca65e07319c9ac3b9bb9889e80e8c40578': Fix for corruption when numFds or numInts is too large.
| | * Fix for corruption when numFds or numInts is too large.Michael Lentine2014-11-211-1/+16
| | | | | | | | | | | | | | | Bug: 18076253 Change-Id: I4c5935440013fc755e1d123049290383f4659fb6
* | | am 9b5534b0: Merge changes I8283a989,I64add89a into klp-devMathias Agopian2013-08-303-1/+399
|\ \ \ | |/ / | | | | | | | | | | | | * commit '9b5534b0e5e1510f56e6a2c58ad0816167603ebd': switch to use mat4 vector and matrix classes for graphics use
| * | vector and matrix classes for graphics useMathias Agopian2013-08-263-1/+399
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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
* | | am fc43e16a: Merge "Graphics:Add error check when create GraphicBuffer"Jesse Hall2013-08-131-0/+2
|\ \ \ | |/ / |/| | | | | | | | * commit 'fc43e16a5693bca0edfc82c650fb606971e47138': Graphics:Add error check when create GraphicBuffer
| * | Graphics:Add error check when create GraphicBufferLingyun Zhu2013-08-131-0/+2
| |/ | | | | | | | | | | | | | | | | | | Change-Id: Ib0ca59bf1dfe4ae0266c29c91c1dbe3d02c0904e Author: Lingyun Zhu <lingyun.zhu@intel.com> Signed-off-by: Lingyun Zhu <lingyun.zhu@intel.com> Signed-off-by: Shuo Gao <shuo.gao@intel.com> Signed-off-by: Bruce Beare <bruce.j.beare@intel.com> Signed-off-by: Jack Ren <jack.ren@intel.com> Author-tracking-BZ: 50141
* | remove unused code form GraphicBufferMathias Agopian2013-07-311-14/+4
| | | | | | | | Change-Id: I0dd67f1f93f654331e8f17b55730931dbc695ca7
* | Make Flattenable not virtualMathias Agopian2013-07-303-22/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-24/+14
| | | | | | | | Change-Id: I39409103144c1ba09078c4ddc323a58987fb09ea
* | get rid of PixelFormatInfo and simplify thingsMathias Agopian2013-07-251-112/+35
| | | | | | | | Change-Id: I025a362cc12d5b9b794fac14be500e25aab65396
* | am e6eef6c1: am ea74d3b7: make the warning timout of Fence::waitForever() ↵Mathias Agopian2013-05-171-1/+2
|\ \ | |/ | | | | | | | | | | 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-1/+2
| | | | | | | | | | | | | | | | | | | | - 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/+31
| | | | | | | | | | | | | | | | | | | | | | 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-102-31/+25
|/ | | | Change-Id: I45b1f6646541a1abacce1e70df00a770e47b820e
* Add support for HAL_PIXEL_FORMAT_YCbCr_420_888Eino-Ville Talvala2013-05-062-0/+35
| | | | | | | | | - Add fields to CpuConsumer::LockedBuffer for new information - New lock methods for GraphicBuffer and GraphicBufferMapper for the format Bug: 8734880 Change-Id: If31f82c62d64b6942cf4cc6e5715585c03273f12
* Add liblogYing Wang2013-04-091-1/+2
| | | | | Bug: 8580410 Change-Id: I2ca4fa00dde0b574df3619134836bcb9315bd506
* 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
* improved CallStack a bitMathias Agopian2013-03-211-3/+1
| | | | | | | - added a ctor that updates and dumps the stack immediately - added a "logtag" parameter to dump() Change-Id: Ie51c256071d282591752243bdb4f68cf9ff8829d
* Add createTJunctionFreeRegionChris Craik2013-02-275-85/+312
| | | | | | | | | | | | | 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
* libgui: disallow NULL Fence pointersJamie Gennis2013-02-121-10/+24
| | | | | | | | | 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
* Fix memory leak when getting signal time for unsignaled fencesJesse Hall2013-01-141-0/+1
| | | | | Bug: 8000983 Change-Id: Ie88ed23fc5e8c95bfade364e090e90b7f070fa8e
* SurfaceFlinger: refactor frame time trackingJamie Gennis2012-11-191-0/+29
| | | | | | | | 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
* Fence didn't manager sync_wait error codes properlyMathias Agopian2012-10-091-5/+6
| | | | | | | | | | 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/+14
| | | | | Bug: 7217641 Change-Id: If0c1a613ead307c4045a47824174bf40c72bc7d7
* Show build config in dumpsys SurfaceFlingerAndy McFadden2012-09-252-1/+38
| | | | | | | | | | | | | 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
* Region::validate() cannot be called from addRectUnchecked()Mathias Agopian2012-09-121-4/+0
| | | | | | | addRectUnchecked() is allowed to be in an invalid state temporarily. Change-Id: I6f5162b5c49f378978c070a77abba35023fe918c
* strengthen region validationMathias Agopian2012-09-121-23/+59
| | | | Change-Id: I75ee7bc4dd7a2f5357ac8994a23bc8b8bfb6eb44
* Add a way to retrieve a Region as a SharedBufferMathias Agopian2012-08-311-0/+12
| | | | Change-Id: Ia53cb905fbc88f899521658545f990fb9217b1e1
* change how we store Region data internallyMathias Agopian2012-08-311-43/+30
| | | | | | | | | | | | | 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
* don't generate a new Region when translating by 0,0Mathias Agopian2012-08-311-1/+1
| | | | | | | | since regions are copy-on-write, this prevents to duplicate the region entirely and offseting by 0,0 is fairly common. Change-Id: I9b8c286315a2e00dda01c2456397d72b5e12006b
* libgui: add some error checksJamie Gennis2012-08-301-1/+6
| | | | | | This change adds a few error checks both in the framework and in some tests. Change-Id: I2baf2676942a0dc15866e75852a775a0091ed16d
* improve [un]marshalling of non-binder objectsMathias Agopian2012-08-131-51/+23
| | | | | | | | | | | | | | | | | 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 "log more info on fence sync_merge error" into jb-mr1-devMathias Agopian2012-07-301-2/+4
|\
| * log more info on fence sync_merge errorMathias Agopian2012-07-301-2/+4
| | | | | | | | | | | | also fix a typo where the wrong value was passed to sterror. Change-Id: I4df2abe582e14c8f816b65818f4593a6bd3c23ea
* | Merge remote-tracking branch 'goog/jb-dev-mako' into jb-mr1-devEd Heyl2012-07-281-6/+12
|\ \ | |/ |/| | | | | | | | | Conflicts: include/media/hardware/CryptoAPI.h Change-Id: I84bf34edbef000558f088bbf1d1e5b55d6217d2e
| * libs/ui: Add support for triple framebuffersNaseer Ahmed2012-07-091-6/+12
| | | | | | | | Change-Id: I90dd38deeeda9a3785b87286cc7d252c6f948750
* | Pass fences with buffers from SurfaceTextureClientJesse Hall2012-06-301-0/+3
| | | | | | | | Change-Id: I09b49433788d01e8b2b3684bb4d0112be29538d3
* | Return fence to client in dequeuBufferJesse Hall2012-06-281-0/+4
| | | | | | | | Change-Id: Ic19750793ad993f0e85391f3cabd743ba565d4c9
* | Transfer HWC release fences to BufferQueueJesse Hall2012-06-211-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Move remaining bits of lockBuffer to dequeueBufferJesse Hall2012-06-211-13/+4
| | | | | | | | | | | | | | FramebufferNativeWindow::dequeueBuffer now waits for the next buffer to be non-front in addition to being free. Change-Id: I991f154958cc6b488b1241aba83d1f95a0513b3c
* | Update ANativeWindow clients for syncJamie Gennis2012-06-202-6/+38
| | | | | | | | | | | | | | 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
* | libui: add the Fence classJamie Gennis2012-06-201-0/+95
|/ | | | | | | This change adds the Fence class to libui for to wrap the libsync functionality. Change-Id: I93a31baeee608b93c14da807a32013dabf783f84
* SurfaceFlinger: add a crop to the layer stateJamie Gennis2012-05-111-1/+1
| | | | | | | | | 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
* libui: add the Rect::transform methodJamie Gennis2012-05-071-0/+21
| | | | | | | | This change adds a method to Rect to transform a rectangle by a graphics HAL transform. Change-Id: Ic0d0988e731bdb5662faee41a5927b1242891658 Bug: 6299171
* PixelFormat.UNKNOWN should return an error when queriedMathias Agopian2012-04-241-1/+1
| | | | | Bug: 6294260 Change-Id: Iad6f7bcbdda0a684abca6d9584da611a8b28f7ab
* fix Region const_iterator.Mathias Agopian2012-04-161-1/+9
| | | | | | | | | | - 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