summaryrefslogtreecommitdiffstats
path: root/libs
Commit message (Collapse)AuthorAgeFilesLines
* Preliminary Support for region clippingRomain Guy2013-01-146-23/+155
| | | | | | | | | | | | | | | | | | | | Region clipping, using Canvas.clipPath or Canvas.clipRegion, requires a stencil buffer to be always present. In addition, extra wiring is required in JNI and display lists. This change only adds the necessary JNI/C++ APIs and some extra plumbing to start the real work on properly supporting region clipping. A new debug define called DEBUG_CLIP_REGIONS can be used to draw the current clip region. It is off by default, as is region clipping. The default implementation of clipPath() and clipRegion(), now in native, mimics the previous Dalvik implementation to prevent regressions. Change-Id: I7903e7cfd7412b9b9b622566d4dbfce7bdcec00c
* Cleanup 9patch mesh matching codeRomain Guy2013-01-093-29/+27
| | | | | | | | | Bug #7970966 The bug described in #7970966 should normally never happen but just in case, change the detection code to be more robust. Change-Id: I7040a6087590e34abe8803cb8f83f051d77f3944
* Add plumbing for better text scalingRomain Guy2013-01-0810-228/+216
| | | | | | | | Fonts are now described by a transform matrix. This lead to switching from a vector to a hashmap. This change therefore adds new comparators and hash computations to Font. Change-Id: I2daffa7d6287c18554c606b8bfa06640d28b4530
* Merge "Add visual profiling feature"Romain Guy2013-01-044-1/+104
|\
| * Add visual profiling featureRomain Guy2013-01-044-1/+104
| | | | | | | | | | | | | | | | When profiling is enabled with debug.hwui.profile set to true, setting debug.hwui.profile_visualizer to true will display the profiling data directly on screen. Change-Id: I3d5fe3f0347090815087b1cbfce66b8e76d9347b
* | Properly support ALPHA_8 bitmaps in all drawBitmap() methodsRomain Guy2013-01-042-65/+109
|/ | | | Change-Id: I869993c59e0a0d76f369c09acbae711753908f48
* Remove unnecessary & uninitialized variableRomain Guy2013-01-032-10/+1
| | | | | | | | | | | Bug #7728929 The uninitialized variable was taken into account to compute the hash of gradient cache entries, thus causing cache corruptions and sometimes infinite loops (it would also cause the cache to fill up.) Change-Id: Ic807a9bf901888b121a6a781a81dafc33075ed2a
* Remove C++11 related warningRomain Guy2013-01-033-9/+21
| | | | Change-Id: I250ff7bd0ea49908e11b14c995d77312cd09a8b4
* am eea47240: am 4b0ed017: Merge "BackupHelpers: Fix Typo"Christopher Tate2012-12-171-1/+1
|\ | | | | | | | | * commit 'eea47240b085fa0260011423774506b5375b9351': BackupHelpers: Fix Typo
| * am 4b0ed017: Merge "BackupHelpers: Fix Typo"Christopher Tate2012-12-171-1/+1
| |\ | | | | | | | | | | | | * commit '4b0ed0178de2c9c21bd5514671b8b4282f6a03db': BackupHelpers: Fix Typo
| | * BackupHelpers: Fix TypoYou Kim2012-12-171-1/+1
| | | | | | | | | | | | | | | | | | delete --> free Change-Id: Idbf7e677f8cc4a9a9d04e58b5cf7d0f1589c5211
* | | am 5780e196: am 5c0d6f99: am 9de88dad: Merge "Fix bug #7724071 ImageView ↵Fabrice Di Meglio2012-12-131-1/+2
|\ \ \ | |/ / | | | | | | | | | | | | | | | drawable is not loaded correctly when changing Locale" into jb-mr1.1-dev * commit '5780e196806b3741786b212866435593990f97ee': Fix bug #7724071 ImageView drawable is not loaded correctly when changing Locale
| * | am 5c0d6f99: am 9de88dad: Merge "Fix bug #7724071 ImageView drawable is not ↵Fabrice Di Meglio2012-12-131-1/+2
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | loaded correctly when changing Locale" into jb-mr1.1-dev * commit '5c0d6f9980ed4684cbeefc28036dd9eeac474375': Fix bug #7724071 ImageView drawable is not loaded correctly when changing Locale
| | * | Fix bug #7724071 ImageView drawable is not loaded correctly when changing LocaleFabrice Di Meglio2012-12-121-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | aapt is not generating the correct CONFIG_LAYOUTDIR bit when a Drawable has a LTR and RTL version. It was generating instead the wrong CONFIG_SCREEN_LAYOUT bit. This was linked to the fact that the layout direction bits are contained into the screen layout bit. So now make sure that we are generating the correct CONFIG_LAYOUTDIR bit. Change-Id: If17c84d31e6c128721ed97ee6711660b131bf941
* | | | Merge "Apply dev. settings at runtime Bug #7434649"Romain Guy2012-11-305-7/+18
|\ \ \ \
| * | | | Apply dev. settings at runtimeRomain Guy2012-11-305-7/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug #7434649 Change-Id: I16f00eaa8a5eefd9f9849e196cf2cb1659215390
* | | | | Fix crash in TextDropShadowCacheRomain Guy2012-11-302-6/+12
|/ / / / | | | | | | | | | | | | | | | | | | | | The lengths used to copy/read arrays were completely wrong. Change-Id: If21f23a73cce59bbd32975760e6d728eeeb9e40d
* | | | am c0da873e: am a9473881: am 2435f98d: Merge "Use the same interrupt/resume ↵Chris Craik2012-11-291-4/+2
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | | | | | logic for all functor calls" into jb-mr1.1-dev * commit 'c0da873ee25e1e67fd0454ebc2473a5c3cac002c': Use the same interrupt/resume logic for all functor calls
| * | | am a9473881: am 2435f98d: Merge "Use the same interrupt/resume logic for all ↵Chris Craik2012-11-291-4/+2
| |\ \ \ | | |/ / | | | / | | |/ | |/| | | | | | | functor calls" into jb-mr1.1-dev * commit 'a9473881eb066b41ea2fb3389b5c0031c2ab4f38': Use the same interrupt/resume logic for all functor calls
| | * Use the same interrupt/resume logic for all functor callsChris Craik2012-11-281-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bug:7093396 The functor was able to change the renderer's blend mode without it being restored in process mode. This single path of updating gl caches reduces likelihood of this occurring in the future. Change-Id: Ie367532f9c683299f02bc4f635d7cb31f96db39f
* | | Merge "Use LruCache instead of GenerationCache in libhwui"Romain Guy2012-11-299-197/+421
|\ \ \
| * | | Use LruCache instead of GenerationCache in libhwuiRomain Guy2012-11-299-197/+421
| | | | | | | | | | | | | | | | Change-Id: Ic26ddc7151eb5462bcd243b21daf7187ed6d3bec
* | | | am 51812754: am 25082e33: Merge "Another optimization of glyph cache uploads"Chet Haase2012-11-282-19/+37
|\ \ \ \ | |/ / / |/| / / | |/ / | | | * commit '518127549997fbf01fd3af59c4312e43f137e194': Another optimization of glyph cache uploads
| * | Another optimization of glyph cache uploadsSangkyu Lee2012-11-282-19/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, cache textures were updated whenever mCurrentCacheTexuture was changed. Since updating cache textures needs glTexSubImage2D call, frequent changing of mCurrentCacheTexture (which can easily happen when an app uses lots of unique glyphs even with precaching) caused many glTexSubImage2D calls and bad framerates. This patch optimized isssueDrawCommand function. Consequently, changing mCurrentCacheTexture doesn't cause glTexSubImage2D call any more and it will improve font rendering performance. Change-Id: Id19d959fa0e69eeb2a39f83a57e311d7394586b2 Signed-off-by: Sangkyu Lee <geteuid@gmail.com>
* | | am e2a2fe4e: am be37b5fa: Merge "Free resources in correct order in ↵Kenny Root2012-11-141-4/+4
|\ \ \ | |/ / | | | | | | | | | | | | | | | ResStringPool::uninit" * commit 'e2a2fe4ef3695baf3c7dca1637373ebd968a4704': Free resources in correct order in ResStringPool::uninit
| * | Merge "Free resources in correct order in ResStringPool::uninit"Kenny Root2012-11-141-4/+4
| |\ \
| | * | Free resources in correct order in ResStringPool::uninitChris Dearman2012-10-081-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | mOwnedData contains the mHeader data structure Change-Id: I0ae9ba3a0d18fc3f368c629501fadebce8807198
* | | | am 7f92d516: am 7494f0c0: am a84c9639: Merge "Avoid tesselation path when ↵Chris Craik2012-11-011-1/+1
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | | | | | useCenter is set" into jb-mr1-dev * commit '7f92d516a90ec1474d4df798585ac26239aa83fd': Avoid tesselation path when useCenter is set
| * | | am 7494f0c0: am a84c9639: Merge "Avoid tesselation path when useCenter is ↵Chris Craik2012-11-011-1/+1
| |\ \ \ | | | |/ | | |/| | | | | | | | | | | | | | | | | set" into jb-mr1-dev * commit '7494f0c04b1abd010207ee5c7e8c9aff6d69c956': Avoid tesselation path when useCenter is set
| | * | Avoid tesselation path when useCenter is setChris Craik2012-11-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bug:7458300 The tesselation path doesn't handle sharp joins. Change-Id: I28bf03f3b72fc584a205daa40934dda17031098f
* | | | Merge "More changes to fix PDK build:"Mike Lockwood2012-10-243-98/+0
|\ \ \ \ | |/ / / |/| | |
| * | | More changes to fix PDK build:Mike Lockwood2012-10-243-98/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | move screencap back to frameworks/base move libdiskusage to frameworks/native Change-Id: I8abe425c4bbf305bbe8650094c40c16df8c6d5e4
* | | | am f5fa64f2: am fbba753f: Merge "Handle offscreen animations correctly" into ↵Chet Haase2012-10-231-9/+10
|\ \ \ \ | |/ / / |/| / / | |/ / | | | | | | | | | jb-mr1-dev * commit 'f5fa64f24b0ee6aa53ac2803590e8729122c445b': Handle offscreen animations correctly
| * | Merge "Handle offscreen animations correctly" into jb-mr1-devChet Haase2012-10-231-9/+10
| |\ \
| | * | Handle offscreen animations correctlyChet Haase2012-10-231-9/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A bug in software rendering caused animations on views that are offscreen to not get drawn, therefore the animation doesn't continue (since old-style animations depend on the logic in the drawing code to keep running). Fix is to special case the isAnimating case in ViewRoot to go ahead and schedule a traversal even if the dirty rect does not intersect with the visible region. Issue #7396035 Animations starting offscreen don't draw run/end/draw properly (sw rendering only) Change-Id: Iae25b3a424ddc5a16ba431ecd68cf42d5500db3f
* | | | am d04fe3c1: am 04c8d402: Merge "Properly draw the window background on ↵Romain Guy2012-10-231-1/+1
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | | | | | window resize Bug #7385090" into jb-mr1-dev * commit 'd04fe3c1aeaf4ce63f6a6f3def61a8cc5faff705': Properly draw the window background on window resize Bug #7385090
| * | | Properly draw the window background on window resizeRomain Guy2012-10-221-1/+1
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug #7385090 This change gets rid of two silly asumptions: - That a layer needs to be cleared with opaque black (it shouldn't, it's already cleared to transparent and the view will cover it up with its own background) - The the clip should be dirty at the beginning of a frame only when the render target is opaque Change-Id: I415b6d3cab196057fb0281419a53fef601a44e28
* | | am 6534dd02: am 74261d84: Merge "Don\'t null the reference to Bitmap pixels ↵Chet Haase2012-10-222-7/+18
|\ \ \ | |/ / | | | | | | | | | | | | | | | until we\'re really ready" into jb-mr1-dev * commit '6534dd0275c8d01de7e7400ba239d203c37c8164': Don't null the reference to Bitmap pixels until we're really ready
| * | Don't null the reference to Bitmap pixels until we're really readyChet Haase2012-10-222-7/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A change in the VM triggers a native memory error more aggressively than before, showing that there's a bug in the logic of recycling bitmaps. Since the pixel memory is allocated on the Java heap, nulling out the reference to that memory in the Java level Bitmap object can cause that memory to get collected at any time. Meanwhile, we may have a reference to that memory at the native level for rendering purposes, causing an error if/when we access that memory after it has been collected by the VM. The fix is to avoid setting the reference to the pixels to null unless we are not referring to it in native code. This is determined at the time we call recycle() - we return a boolean to indicate whether the native code is still using the memory. if not, the Java code can null out the reference and allow the VM to collect it. Otherwise, it will get collected later when the encompassing Bitmap object is collected. Issue #7339156 HTML5 tests crash the app (Vellamo) Change-Id: I3a0d6b9a6c5dd3b86cc2b0ff7719007e774b5e3c
* | | am eb78cf53: am 8b946c05: Merge "Defer layer rendering to avoid stalls Bug ↵Romain Guy2012-10-198-13/+58
|\ \ \ | |/ / | | | | | | | | | | | | | | | #7326824" into jb-mr1-dev * commit 'eb78cf538f87301c1612bf081ae2d5f93cae50f0': Defer layer rendering to avoid stalls Bug #7326824
| * | Defer layer rendering to avoid stallsRomain Guy2012-10-188-13/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug #7326824 When a layer is taken out of the cache and initialized it gets cleared to prepare it for future rendering. This triggers the following sequence of operations: glBindFramebuffer(layer.fbo) attach texture storage to FBO glClear() glBindFramebuffer(defaultFbo) The clear forces a resolve on tilers which stalls the CPU for a little while, thus producing jank during animations. This change moves the clear to the next frame when we know we will have to execute a resolve anyway. Change-Id: Ic1939c25df20ed65a4c48dc81ee549b2cd8b6ec3
* | | am 07a9ebd1: am b8460d15: Merge "Take into account the texture layer\'s ↵Romain Guy2012-10-172-10/+19
|\ \ \ | |/ / | | | | | | | | | | | | | | | transform for clipping Bug #7370212" into jb-mr1-dev * commit '07a9ebd1a01bc2819a90ddc98263a24bd6459768': Take into account the texture layer's transform for clipping Bug #7370212
| * | Take into account the texture layer's transform for clippingRomain Guy2012-10-172-10/+19
| | | | | | | | | | | | | | | | | | Bug #7370212 Change-Id: Ibdc3161306f54a1cfe66e08458f05ee01a13b1df
* | | am cdc70209: am 16627347: Merge "Enable mipmapping, without a deadlock this ↵Romain Guy2012-10-172-5/+6
|\ \ \ | |/ / | | | | | | | | | | | | | | | time Bug #7353771" into jb-mr1-dev * commit 'cdc702093cc807237979f14776e75ffdba869ba6': Enable mipmapping, without a deadlock this time Bug #7353771
| * | Enable mipmapping, without a deadlock this timeRomain Guy2012-10-172-5/+6
| | | | | | | | | | | | | | | | | | Bug #7353771 Change-Id: I89a08a58608e374f1c604a26ee0769d5850b2f7b
* | | am c894029a: am be29d82f: Merge "Correctly adjust clip regions that lie ↵Chet Haase2012-10-171-3/+14
|\ \ \ | |/ / | | | | | | | | | | | | | | | offscreen" into jb-mr1-dev * commit 'c894029a8e398502c058c2f5332bfe75d4b01735': Correctly adjust clip regions that lie offscreen
| * | Merge "Correctly adjust clip regions that lie offscreen" into jb-mr1-devChet Haase2012-10-171-3/+14
| |\ \
| | * | Correctly adjust clip regions that lie offscreenChet Haase2012-10-161-3/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We were clamping the x/y location of the scissor to 0,0, but not adjusting the width/height appropriately. This fix adjusts width/height and also clamps them to 0 to correctly clip out offscreen operations. Issue #7221524 Top left and top right portions of the screen blanks out after some time Change-Id: I47f23336ea612409ed86652b9a68e272819ef00e
* | | | am 3d2ecafd: am ec5acee1: Merge "workaround to unbreak the build (deadlock ↵Romain Guy2012-10-161-1/+1
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | | | | | during boot)" into jb-mr1-dev * commit '3d2ecafd7742a93a3ca83993cf12f352aa998112': workaround to unbreak the build (deadlock during boot)
| * | | workaround to unbreak the build (deadlock during boot)Mathias Agopian2012-10-161-1/+1
| | | | | | | | | | | | | | | | | | | | bug: 7363206 Change-Id: Ie79c309e367ba07336a5299af9fd59c6bd2390e7