summaryrefslogtreecommitdiffstats
path: root/libs
Commit message (Collapse)AuthorAgeFilesLines
* am af6eaf65: Merge "Fix ANR caused by hwuiTask thread" automerge: 5ad36d4John Reck2015-02-044-13/+13
|\ | | | | | | | | * commit 'af6eaf656ec0de5fcbea03968daffe2c845e2089': Fix ANR caused by hwuiTask thread
| * Merge "Fix ANR caused by hwuiTask thread"John Reck2015-02-044-13/+13
| |\
| | * Fix ANR caused by hwuiTask threadSangkyu Lee2015-01-124-13/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If hwuiTask thread is exited while HWUI renders something, some tasks can remain unfinished forever. This can make ANR problem if RenderThread waits this kind of tasks. According to the current implementation, hwuiTask threads are exited when HWUI receives trimMemory() callback with level >= 20 and some applications such as SystemUI can receive trimMemory() with level >= 20 even though they renders something yet. (For instance, when RecentsActivity in SystemUI is finished, HWUI receives trimMemory() callback with level >= 20 but SystemUI should still render the status bar and navigation bar.) This patch prevents the tasks from remaining unfinished and make the tasks executed immediately if they cannot be added to their TaskProcessors. Change-Id: I5bd26439aa5f183b1a7c1ce466362e27554b4d16
* | | am 5f3e21ce: am 6efc3ac6: Merge "Allow ~Layer() to happen after ↵John Reck2015-01-295-7/+26
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | onGLContextDestroyed" into lmp-mr1-dev * commit '5f3e21cebeecf042e8e18a5021b3965415d9ff60': Allow ~Layer() to happen after onGLContextDestroyed
| * | | Allow ~Layer() to happen after onGLContextDestroyedJohn Reck2015-01-295-7/+26
| | | | | | | | | | | | | | | | | | | | Bug: 19146354 Change-Id: I9e885936168bd541bfbed4064ad67ab524f58e32
* | | | am f7049289: am 3812e68e: Merge "kill HAVE_PTHREADS."Yabin Cui2015-01-272-10/+2
|\ \ \ \ | | |/ / | |/| | | | | | | | | | * commit 'f70492898b3efa3c5f480f195062fa6f293bc764': kill HAVE_PTHREADS.
| * | | kill HAVE_PTHREADS.Yabin Cui2015-01-262-10/+2
| | | | | | | | | | | | | | | | | | | | Bug: 19083585 Change-Id: Ib466949bb6cd6d1bbc4680e989f0f9fae62ca564
* | | | am aee7225e: Merge "Process base APK" into lmp-mr1-devAdam Lesinski2015-01-201-1/+7
|\ \ \ \ | | |/ / | |/| | | | | | | | | | | | | | | | | | automerge: 554a6f5 * commit '554a6f5278ec05077d8252249afc911897fbfe76': Process base APK
| * | | Process base APKAdam Lesinski2015-01-161-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The base APK may have resources with configurations that compete against some splits. The base APK must be involved in the selection of splits. Bug:18982001 Change-Id: Ieb29b5a36cf2c68e7831484d98a9fd275acd97e8
* | | | am 996d3974: am ed35f5c7: Merge "Fast loadInverse() implementation for the ↵Chris Craik2015-01-161-4/+32
|\ \ \ \ | | |/ / | |/| | | | | | | | | | | | | | | | | | common case" * commit '996d39743a73cc37fb888779d52323743f50c666': Fast loadInverse() implementation for the common case
| * | | Fast loadInverse() implementation for the common caseRomain Guy2015-01-151-4/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Most matrices used by the UI toolkit are translation matrices, whose inverses can be quickly computed by using the negated translation vector. Change-Id: I54a28a634a586085779bfc26f3a4160cd5ab2b22
* | | | Restore write_delete_fileBrian Carlstrom2015-01-141-0/+7
| | | | | | | | | | | | | | | | Change-Id: Id93a59ae6c82f6068c58b22e2a651ff8a3b8f530
* | | | am 2c9f86aa: am 53af1cd3: Merge "Vsyncs are hard" into lmp-mr1-devJohn Reck2015-01-151-0/+8
|\ \ \ \ | | |/ / | |/| | | | | | | | | | * commit '2c9f86aa21b8d7ea6a77eaca9a49ccdb31245129': Vsyncs are hard
| * | | Merge "Vsyncs are hard" into lmp-mr1-devJohn Reck2015-01-151-0/+8
| |\ \ \
| | * | | Vsyncs are hardJohn Reck2015-01-141-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | Bug: 18866485 Change-Id: I7d304df0f20a3296956cb6887a72adba9243f117
* | | | | am 9568307c: am 43a4a8c7: Fix redundant file backupsChristopher Tate2015-01-151-36/+41
|\ \ \ \ \ | |/ / / / | | | | | | | | | | | | | | | * commit '9568307cf32c8abc6703dc7a1b0b0fee56c4f8f5': Fix redundant file backups
| * | | | Fix redundant file backupsChristopher Tate2015-01-141-38/+41
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We'd observed a bug in which an unchanged file was nevertheless being redundantly transmitted for backup on every backup pass. The underlying issue turns out to have been the FileBackupHelper base implementation's logic for diffing the prior-state file set against the current state, in the case when there had been deletions of prior files. In addition, there was also a parallel bug in which file checksums were not calculated properly in some cases, leading to at least one additional redundant backup of the file in question. Bug 18694053 Change-Id: Ie0dec06486b5fef4624561737019569c85d6b2a0
* | | | am d6c475dc: am 595ae39f: Merge "Use more intention-revealing tests for ↵Elliott Hughes2015-01-131-1/+3
|\ \ \ \ | | |/ / | |/| | | | | | | | | | | | | | | | | | S_ISLNK and S_ISSOCK." * commit 'd6c475dc246b1681f5c9af9e00ac74183812329c': Use more intention-revealing tests for S_ISLNK and S_ISSOCK.
| * | | Use more intention-revealing tests for S_ISLNK and S_ISSOCK.Elliott Hughes2015-01-121-1/+3
| | |/ | |/| | | | | | | Change-Id: Ia7f13eb7d5a36cf2b4c0a253b2b4d7f7af396951
* | | am 165fb8f5: am f89dac47: Merge "Tweak RT-animator scheduling" into lmp-mr1-devJohn Reck2014-12-194-15/+22
|\ \ \ | | |/ | |/| | | | | | | * commit '165fb8f5aa0709a8dc35f99a9b81f6906452a648': Tweak RT-animator scheduling
| * | Tweak RT-animator schedulingJohn Reck2014-12-194-15/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug: 18226391 The issue occurs as a result of a dispatchFrame itself taking longer than 12ms, the alloted budget. The result is that a vsync request (which occured at the end) would miss the vsync that occured 1ms prior to the end of the frame. As a result it would end up waiting for the following vsync, essentially dropping to 30fps even though 60 could have been sustained. Fix this with a few tweaks. First, adjust the UI thread's delay bias from (now + 4ms) to (vsync + 4ms), this prevents RT animators from slowly drifting if the vsync occurs mid-task. Second, request a vsync preemptively prior to running callbacks. This way if any callbacks needs the next vsync and it takes "too long", we will catch that vsync. Finally, fix an issue where the display event queue was always drained & rejected at the end of a task loop. Instead, drain and reject all stale vsyncs. This still prevents the issue of both UI thread & RT thread trying to drive 2 frames in a single pulse, but also allows RT to notice that it missed a vsync pulse it needed and that it should speed-up a bit in response Change-Id: I9d6be037737e9283297898cac2e3563453e797cd
* | | am 93492d1a: am c748832f: Merge "Revert overdraw avoidance visualization ↵Chris Craik2014-12-173-8/+13
|\ \ \ | |/ / | | | | | | | | | | | | | | | change" into lmp-mr1-dev * commit '93492d1a478770783abab764855c8d47e0264f71': Revert overdraw avoidance visualization change
| * | Merge "Revert overdraw avoidance visualization change" into lmp-mr1-devChris Craik2014-12-173-8/+13
| |\ \
| | * | Revert overdraw avoidance visualization changeChris Craik2014-12-173-8/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bug:18787324 Partial revert of 23d307c8d88f4a3849163b9e5b7cd11d0d4f372c. Change-Id: Ic8b91b046707fc5b8fa53c35ea7b37bb19c3c943
* | | | Fix styleJohn Reck2014-12-1221-175/+175
| | | | | | | | | | | | | | | | Change-Id: I7227b0eac126bf470ed50249a7809b845872983b
* | | | am b9a4d15d: Merge "Force-flush state sync on texid change" into lmp-mr1-devJohn Reck2014-12-121-0/+6
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | | | | | automerge: b21a7ad * commit 'b21a7ad02e43900ea5480e796cb1518bd5829e3f': Force-flush state sync on texid change
| * | | Merge "Force-flush state sync on texid change" into lmp-mr1-devJohn Reck2014-12-111-0/+6
| |\ \ \
| | * | | Force-flush state sync on texid changeJohn Reck2014-12-111-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug: 18718646 Caused because the Texture object thought the GLES texture was in a different state than it was as it persists across EGL/GL contexts. Fix this by force-flushing the default values when the texid has changed. Change-Id: I264bac9a2beb08df8e2ba8a85ad15f0dd1fce22a
* | | | | am 63c7b246: Merge "Correct layer size formatting in trace" into lmp-mr1-devChris Craik2014-12-121-2/+2
|\ \ \ \ \ | |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | automerge: 00905a9 * commit '00905a984c07ffc9960ce83548631c59aae37ec6': Correct layer size formatting in trace
| * | | | Merge "Correct layer size formatting in trace" into lmp-mr1-devChris Craik2014-12-111-2/+2
| |\ \ \ \ | | |/ / / | |/| | |
| | * | | Correct layer size formatting in traceChris Craik2014-12-111-2/+2
| | |/ / | | | | | | | | | | | | | | | | bug:18722704 Change-Id: Icef9aaa62633b2d86ad250f43d4c8fa5cc0b6842
* | | | am eb2dcc79: Merge "Don\'t preload textures for AssetAtlas" into lmp-mr1-devJohn Reck2014-12-1111-73/+75
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | | | | | automerge: e4a6ed9 * commit 'e4a6ed9d6d8721c9fad018b0d43dfe7daf4b24e7': Don't preload textures for AssetAtlas
| * | | Merge "Don't preload textures for AssetAtlas" into lmp-mr1-devJohn Reck2014-12-1111-73/+75
| |\ \ \
| | * | | Don't preload textures for AssetAtlasJohn Reck2014-12-1011-73/+75
| | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug: 18317479 RenderNode::prepareSubTree calls prefetchAndMarkInUse on every bitmapResoruce in the DisplayList. However, this resulted in textures being uploaded for bitmaps that would be drawn from the AssetAtlas instead. To fix this we teach TextureCache about the AssetAtlas so that calls to TextureCache return the Texture from AssetAtlas if it exists. Thus usage of AssetAtlas is now purely to allow for further optimizations via draw merging instead of a requirement to get any benefit at all. Change-Id: I65282fa05bac46f4e93822b3467ffa0261ccf200
* | | | am 740acf21: am c7801877: Merge "Fix issue where non-resource attributes ↵Adam Lesinski2014-12-111-0/+17
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | | | | | would cause obtainStyleAttributes to fail" into lmp-mr1-dev * commit '740acf213c56c406132294790fa2fadd0380cfa7': Fix issue where non-resource attributes would cause obtainStyleAttributes to fail
| * | | Merge "Fix issue where non-resource attributes would cause ↵Adam Lesinski2014-12-101-0/+17
| |\ \ \ | | | | | | | | | | | | | | | obtainStyleAttributes to fail" into lmp-mr1-dev
| | * | | Fix issue where non-resource attributes would cause obtainStyleAttributes to ↵Adam Lesinski2014-12-101-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fail A sentinal value of 0x00000000 was used to mark the first time an AttributeFinder was used. If the resource ID of an attribute was also 0x00000000 (which occurs with non-resource attributes, like 'style'), then it would be mistaken as the sentinel start value. Bug:18421787 Change-Id: I4be353e0f8c940cb6f262d155129f048dcc444ae
* | | | | resolve merge conflicts of ed211b9 to lmp-mr1-dev-plus-aosp.Chris Craik2014-12-104-8/+19
|\ \ \ \ \ | |/ / / / | | | | | | | | | | Change-Id: Ib9d6d301282bbaae6b23b9ce07b9e6a4e9075991
| * | | | Fix frame-allocated path lifecyclesChris Craik2014-12-104-8/+19
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bug:18667472 Previously, we were allocating per-frame temporary paths within the PlaybackStateStruct, but these are not safe as layers allocate these transiently. Instead, move these to the OpenGLRenderer, which has better define lifecycle. Additionally, don't store SkPath objects directly in vector, since they are then subject to relocation. Change-Id: I8187ef542fcd5b030502bb75eb123ee26c0daa96
* | | | resolved conflicts for merge of fe11126d to lmp-mr1-dev-plus-aospJohn Reck2014-12-091-4/+6
|\ \ \ \ | |/ / / | | | | | | | | Change-Id: I60bf82ff71d9af0d80e7da8856efb4641c85885b
| * | | Merge "Teach AssetAtlas about more drawables" into lmp-mr1-devJohn Reck2014-12-091-2/+4
| |\ \ \
| | * | | Teach AssetAtlas about more drawablesJohn Reck2014-12-091-2/+4
| | |/ / | | | | | | | | | | | | | | | | | | | | Bug: 18317479 Change-Id: I16868ee204d24af72af9a2efc987f7e9eb1d266b
* | | | am 497499b1: am 04c2bf4f: Merge "Remove unnecessary/erroneous reference ↵Derek Sollenberger2014-12-091-8/+0
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | | | | | counting" into lmp-mr1-dev * commit '497499b1eb76726090ea46dcfc5b8ab0221cd447': Remove unnecessary/erroneous reference counting
| * | | Remove unnecessary/erroneous reference countingDerek Sollenberger2014-12-091-8/+0
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The SkBitmap* used by HWUI holds a reference to the PixelRef (which in turn holds the colorTable) so keeping an additional ref is not only unnecessary, but also potentially problematic. If a bitmap changes its pixelRef after it has been added to a displayList, then we end up with unbalanced ref/unref calls that cause the newly added PixelRef to be unref'd and prematurely deleted, while the original PixelRef is leaked. bug: 18659976 Change-Id: I34a06152e7bb2d733249a207dafd36b9b5dc0712
* | | Merge commit '0953ab27' into manualmergeAdam Lesinski2014-12-051-48/+57
|\ \ \ | |/ / | | | | | | Change-Id: I36dea45f7571096136ea7bda5e2680bd85a0df32
| * | Merge "AAPT: Move private attrs to new type for framework" into lmp-mr1-devAdam Lesinski2014-12-041-46/+57
| |\ \
| | * | AAPT: Move private attrs to new type for frameworkAdam Lesinski2014-12-031-46/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Private attributes are typically placed after public attributes in the resource table. Each time a new version of the Android framework is released, new public attributes take the place of the private attributes, and the private attributes are shifted after the new public ones. This means that any apps built against the newer SDK may inadvertently be using private attributes on older devices. This change moves all private attributes to a completely different type ID, so there will never be collisions across versions. These private attributes are automatically moved to a synthesized type only for the system resources. Bug:18263655 Change-Id: I7a850512953fadcc9f3524d509cea30249782db8
* | | | resolved conflicts for merge of a51a0901 to lmp-mr1-dev-plus-aospJohn Reck2014-12-046-12/+13
|\ \ \ \ | |/ / / | | | | | | | | Change-Id: Id7df835f0bd3d5d276b162635ddfb7fe0918dfed
| * | | Resume RT-animations after a pauseSurfaceJohn Reck2014-12-036-12/+13
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug: 18203577 The issue occurs as a result of performTraversals() both doing a window relayout call *and* early-returning because it's not dirty. To fix this pauseSurface() returns whether or not the RT-side is "dirty" to force ViewRootImpl to do a draw even if mDirty is otherwise empty. Change-Id: I534f367e75d18d273ebf14df3927f5c464ef6bef
* | | am 503071ae: am a2b5067a: Merge "RRO: prevent duplicate system overlays"Adam Lesinski2014-12-041-0/+6
|\ \ \ | | |/ | |/| | | | | | | * commit '503071ae41374a66f61e53e05a91243473db83b9': RRO: prevent duplicate system overlays