summaryrefslogtreecommitdiffstats
path: root/libs/hwui
Commit message (Collapse)AuthorAgeFilesLines
* Move AssetAtlas off of SkBitmap*John Reck2015-04-152-39/+45
| | | | | | Switched to SkPixelRef* Change-Id: I4a1d9dc6c55c1ebcce6b0b8c585e69559e523898
* Merge "A bunch more cleanups"John Reck2015-04-155-27/+16
|\
| * A bunch more cleanupsJohn Reck2015-04-145-27/+16
| | | | | | | | | | | | | | | | Switch a few places to using android::canvas instead of SkCanvas as well which eliminated some JNI Change-Id: I8f98b56442a06362b82b984cd1bd3a92398d8dbc
* | Convert from glyph count to byte lengthTom Hudson2015-04-141-1/+1
|/ | | | | | | | | | Canvas drawText* APIs are inconsistent, and this mismatch snuck through our tests. BUG=skia:3636 R=djsollen@google.com Change-Id: Ibaab512c3f19df8445d582633b2748f1ec4d2902
* am 18ae2a02: am 32eafe9b: am a08f6a66: Merge "Fix GL_INVALID_OPERATION in ↵John Reck2015-04-101-0/+2
|\ | | | | | | | | | | | | font renderer when font cache is limited." * commit '18ae2a020d3c720f8b6125b9f4567e953f04c7b0': Fix GL_INVALID_OPERATION in font renderer when font cache is limited.
| * Merge "Fix GL_INVALID_OPERATION in font renderer when font cache is limited."John Reck2015-04-101-0/+2
| |\
| | * Fix GL_INVALID_OPERATION in font renderer when font cache is limited.chaochen2014-08-291-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b/17332126 This patch is to fix a false logic in FontRenderer when flashAllAndInValidate() happens. The flashAllAndInvalidate will trigger an issueDrawCommand which will set mDrawn to true even though there is no texture drawn. So that the step of unbinding buffer in GL is skipped. And when the second time issueDrawCommand get called, the glVertexAttribPointer will be trigger with GL_ARRAY_BUFFER wrongly bound and then finally lead to a GL_INVALID_OPERATION when glDrawElements() in FontRenderer:issueDrawCommand get called the second time. Change-Id: I1a996354a84db911ace0e7b39ca77cd0dd3d1555 Signed-off-by: Raj Mamadgi <r.mamadgi@samsung.com>
* | | am 6b6645c8: am 1a595833: am d56e087b: Merge "Fixing memory leak in ↵John Reck2015-04-101-0/+5
|\ \ \ | |/ / | | | | | | | | | | | | | | | RenderBufferCache" * commit '6b6645c8951e95b2802c489ab2d87f004c610ffc': Fixing memory leak in RenderBufferCache
| * | Merge "Fixing memory leak in RenderBufferCache"John Reck2015-04-101-0/+5
| |\ \
| | * | Fixing memory leak in RenderBufferCacheSamsung2014-09-241-0/+5
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | In our devices with higher resolution we have observed a memory leak in the HWUI code. When there is GC or tree modification and buffer size is greater than the default size, we make sure buffer is deleted. Change-Id: Idf7052ccaf43c8a784ce0e7bdab336dca29bffd8 Signed-off-by: Samsung <aosp@samsung.com>
* | | Merge "Update the shadow fall off function from cosine to gaussian."ztenghui2015-04-093-12/+19
|\ \ \
| * | | Update the shadow fall off function from cosine to gaussian.ztenghui2015-04-093-12/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also tune the parameters to match a better look designed by UX team. For ambient part, the acos transformed alpha is not needed any more. b/19370798 Change-Id: I20d2615d1be502eb900942ed756aecd1660dee48
* | | | Fix 64-bit build.Ying Wang2015-04-071-1/+1
| | | | | | | | | | | | | | | | Change-Id: I9f2e2edf276f98864b65708b746bf938a4a3c8d6
* | | | Add stat collection start timeJohn Reck2015-04-062-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add CLOCK_MONOTONIC to signal when the stat collection started to allow for tracking stats over time Change-Id: Iab7c52f21184eea603ddc8572b9d91a951b45a00
* | | | Merge "Fix path clipping in VectorDrawable"Chris Craik2015-04-061-2/+3
|\ \ \ \
| * | | | Fix path clipping in VectorDrawableChris Craik2015-04-061-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bug:19946683 Change-Id: I773957df7459eb72ea5d505afb0daac08239ecbf
* | | | | Delete pre-glop pathChris Craik2015-04-037-2013/+221
|/ / / / | | | | | | | | | | | | | | | | | | | | bug:19014311 Change-Id: I06376b6f625455892d8eafe2727b78025a64c4bf
* | | | Fix warn log formatJohn Reck2015-03-311-1/+1
|/ / / | | | | | | | | | Change-Id: I7876dd5d0d0f68dde4cb0768699d800daff754f1
* | | Merge "Enter RectangleMode when the clip region is a rectangle"Tom Hudson2015-03-312-8/+13
|\ \ \
| * | | Enter RectangleMode when the clip region is a rectangleTom Hudson2015-03-302-8/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ClipArea's region mode implementation store the region's boundary in a rectangle, and if the region is that rectangle, set its region to empty. This is a bug, since as long as the ClipArea is in region mode it treats its region as determinitive. When the next clipping operation comes in, it is tested against the empty region instead of against the valid rect. Discovered via Skia GM testing. Change-Id: I3bbc4e81c8d68636061f830156e017e9b5c7e587
* | | | Merge "Fix glop usage for drawTextureLayer"Chris Craik2015-03-301-0/+2
|\ \ \ \
| * | | | Fix glop usage for drawTextureLayerChris Craik2015-03-301-0/+2
| |/ / / | | | | | | | | | | | | Change-Id: I45fcdfc9e3f41a687b6f4679f81e2b1f4479b9fc
* | | | Merge "Add GraphicsStatsService"John Reck2015-03-306-54/+190
|\ \ \ \ | |/ / / |/| | |
| * | | Add GraphicsStatsServiceJohn Reck2015-03-276-54/+190
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | More S's for More Speed Split JankTracker's backing data from the class to allow for data relocation to/from ashmem regions Pack the jank tracking data to fit in 256 bytes Change-Id: Ife86a64b71a328fbd0c8075fe6a0404e081f725b
* | | | am 485c25ba: am e3abfef6: am 82f6b16e: Merge "hwui : fix memory leak due to ↵Chris Craik2015-03-251-0/+1
|\ \ \ \ | | |/ / | |/| | | | | | | | | | | | | | | | | | duplicate in shadow cache" * commit '485c25ba46b02393245c4c766ad059644afa7cd9': hwui : fix memory leak due to duplicate in shadow cache
| * | | Merge "hwui : fix memory leak due to duplicate in shadow cache"Chris Craik2015-03-251-0/+1
| |\ \ \
| | * | | hwui : fix memory leak due to duplicate in shadow cacheMykola Kondratenko2015-03-171-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | New ShadowTask with the ShadowDescription key that already exists in the shadow LruCache will leak as it is not being added. Fix adds check for the existing key that is common in the hwui code but missing for the TessellationCache::precacheShadow function. Change-Id: I37fd5ec82f8b8da5d1ec0f2ab9fd04c5f8534367
* | | | | Update ShadowTesslator to support conicsDerek Sollenberger2015-03-251-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | bug:19732872 Change-Id: I8b539ab3677219fa5bb7de7caf0aad9fc47ef7e9
* | | | | Merge "Fix DrawFilter's usage in HWUI."Derek Sollenberger2015-03-252-2/+3
|\ \ \ \ \
| * | | | | Fix DrawFilter's usage in HWUI.Derek Sollenberger2015-03-252-2/+3
| | |_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also add additional compile time checks to ensure that the Java and Skia APIs remain in sync. bug:19890753 Change-Id: I8503cacf2859307e3f480a78603f9f05901b58cc
* | | | | Merge "Shave another 10us off of hwuitask"John Reck2015-03-241-2/+4
|\ \ \ \ \
| * | | | | Shave another 10us off of hwuitaskJohn Reck2015-03-241-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | pthread_cond_signal does not need the mutex to be held to signal. This results in the thread waking up trying to grab the lock, failing, the signaling thread to wake up, release the lock, immediately get preempted for the signaled thread which can now proceed. Release the mutex before signaling to avoid the ping-pong scheduling issue, which shaves another 10us off of this Change-Id: Ie6bccca031ba6528f357eae8352b74626a6318c7
* | | | | | Merge "Shave 10us off of hwuitask"John Reck2015-03-241-2/+5
|\ \ \ \ \ \ | |/ / / / /
| * | | | | Shave 10us off of hwuitaskJohn Reck2015-03-241-2/+5
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This prevents an issue where if the signal schedules hwuiTask it will immediately block and go back to sleep due to mLock still being held. This costs 10us in thread scheduling ping-ponging bouncing between hwuiTask and RenderThread Change-Id: I47595c1bf5736576483a6aa7aada0b1be1e04268
* | | | | resolved conflicts for merge of 4142f026 to masterJohn Reck2015-03-241-0/+1
|\ \ \ \ \ | |/ / / / |/| / / / | |/ / / Change-Id: Iabe3aa0ac6911a26d2ba7219f18332897276ed6f
| * | | Don't create unnecessary RenderThread's instance when executing 'dumpsys ↵youngmin0822.lee2015-03-201-0/+1
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gfxinfo' To obtain the gfxinfo for each process, the static method of RenderProxy is used, which is named outputLogBuffer(). In there, 1. RenderTask is created for getting DisplayList Commands in RenderNode. 2. staticPostAndWait() is called 3. RenderThread's instance is created by 'RenderThread::getInstance()' in staticPostAndWait() In case of the service, they don't use HW Acceleration, so don't need RenderThread. But, by the process of No.3, RenderThread is created for all process. As we know, RenderThread never be destroyed while the process is alive. This patch checks RenderThread instance before the creation of RenderTask. And, there is no one, just return to prevent the unnecessay creation of it. Change-Id: I4fe29d83c9ced3e8b67177c0874c5d8ee62e1870
* | | Fix clang buildChris Craik2015-03-191-0/+2
| | | | | | | | | | | | Change-Id: I5336ac347123671a18401121c5f001c8f7caf54d
* | | Use glops for text renderingChris Craik2015-03-189-113/+142
| | | | | | | | | | | | Change-Id: I5e155c8baf3149f0ff231ec3c89dbff6bb8eae92
* | | Merge "Add conic support to HWUI path tessellator."Derek Sollenberger2015-03-161-0/+16
|\ \ \
| * | | Add conic support to HWUI path tessellator.Derek Sollenberger2015-03-161-0/+16
| | | | | | | | | | | | | | | | | | | | bug: 19732872 Change-Id: Ic3ae46f746325468ab972c9daf829099165eb596
* | | | use SkFilterQuality instead of SkPaint::FilterLevelMike Reed2015-03-161-1/+1
|/ / / | | | | | | | | | Change-Id: I5d26869de746107b8a35a7a662236f993a824b0d
* | | Refactor DisplayList path caching.Derek Sollenberger2015-03-137-135/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This removes dependence on SkPath ptrs that HWUI does not control the lifecycle of. This clears up some errors where the paths are not generated from Java, but rather the Skia test suites. Cherry-pick of a change that originally landed in master-skia and is dependent on a skia merge (ag/655422). Change-Id: I41b9797a2b0af5d6b4ea51891565469d4f1d832d
* | | Cleanups & simplificationsJohn Reck2015-03-1111-37/+45
| | | | | | | | | | | | Change-Id: I5ad5e3b8fe55b1528f2e20c63e5abe51d9e40ff1
* | | Track down unsupported texture targetChris Craik2015-03-103-2/+13
| | | | | | | | | | | | | | | | | | bug:19641517 Change-Id: Idc2e413abef5bb1438ffb3f52efb001504d3e89f
* | | Merge "Glop based composeLayerRegion/Rect"Chris Craik2015-03-109-48/+112
|\ \ \
| * | | Glop based composeLayerRegion/RectChris Craik2015-03-099-48/+112
| | | | | | | | | | | | | | | | Change-Id: I69440cabca84948e8aaead9479d616ebc2496517
* | | | Merge "Rewrite glop texture asserts"Chris Craik2015-03-093-26/+39
|\ \ \ \
| * | | | Rewrite glop texture assertsChris Craik2015-03-093-26/+39
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | bug:19641517 Also switch Glop VertexAttribFlags to use int for group of flags. Change-Id: Ib7b1934197a62206a55baa6ab484ac59f5bec816
* | | | Merge "Fix unused local variale warning from clang/llvm."Chih-Hung Hsieh2015-03-071-5/+1
|\ \ \ \
| * | | | Fix unused local variale warning from clang/llvm.Chih-Hung Hsieh2015-03-061-5/+1
| | | | | | | | | | | | | | | | | | | | Change-Id: Ib9b5d06313e5bf933edfb38a4522929104c7917a