summaryrefslogtreecommitdiffstats
path: root/libs
Commit message (Collapse)AuthorAgeFilesLines
* Fix unsafety in SkiaShader storage, and texture unit accountingChris Craik2015-07-133-3/+11
| | | | | | | | | | | | | | | | bug:22390304 Fixes two issues: 1) The max texture unit wasn't large enough to handle the most complex ComposeShader case (1 for draw primitive, 2 for gradient shader, 1 for bitmap shader). 2) If a shader isn't supported by SkiaShader::store, the shader data needs to be explicitly disabled, so we won't read uninitilized data from it when trying to read shader information out. Change-Id: I29ee7b7c1e07f67db88c1707bdc857daa305e713
* Merge "New setLocalMatrix() operation for HWUI" into mnc-devTom Hudson2015-07-109-2/+54
|\
| * New setLocalMatrix() operation for HWUITom Hudson2015-07-099-2/+54
| | | | | | | | | | | | | | | | | | Concats any matrix passed through from DisplayListCanvas with the initialTransform of the containing RenderNode. BUG:22189925 Change-Id: I5ea54a6e2a29520c79a8860bde7682694e8595d2
* | Merge "Remove all usage of fmin and fmax" into mnc-devChris Craik2015-07-087-26/+26
|\ \
| * | Remove all usage of fmin and fmaxChris Craik2015-07-077-26/+26
| | | | | | | | | | | | | | | | | | | | | | | | bug:22208220 Removes needless call, and upconversion to doubles in multiple places. Change-Id: I1b949fa5f206446ac34de800154c0147d6bd8034
* | | Merge "Simplify matrix copy constructor/load" into mnc-devChris Craik2015-07-072-6/+1
|\ \ \ | |_|/ |/| |
| * | Simplify matrix copy constructor/loadChris Craik2015-07-072-6/+1
| |/ | | | | | | | | | | bug:22208220 Change-Id: Id096eb8de8da0dd1687d6af9456b16ce2a1a589b
* | Adjust for pipeline stallsJohn Reck2015-07-0610-22/+38
| | | | | | | | | | | | | | | | | | | | | | Bug: 20853441 Calculating duration that crosses the UI-RT sync point will now subtract out the time spent waiting in queue under the assumption that this time will be accounted for in the previous frame's metrics Change-Id: Ia8213f4410638840613f5ae439e98dfb77532a6a
* | Merge "Set go-faster arguments" into mnc-devJohn Reck2015-07-011-0/+1
|\ \ | |/ |/|
| * Set go-faster argumentsJohn Reck2015-07-011-0/+1
| | | | | | | | | | | | | | | | | | Bug: 22208220 Increases performance of shadows by yet another 15% by using more aggressive math optimizations Change-Id: Ie3fabeae3647632a19ff573bf6b2d7f7a7cef555
* | Merge "Use std::sort instead of quickSortX" into mnc-devJohn Reck2015-07-011-30/+5
|\ \
| * | Use std::sort instead of quickSortXJohn Reck2015-07-011-30/+5
| |/ | | | | | | | | | | | | | | | | | | | | Bug: 22208220 Libcxx has a really good sort algorithm, use that instead. This speeds up shadow tesellation by about 10%. Also less code Change-Id: Iaad424187121d7644076f94ba8a3cf4c110da2f2
* | Merge "Switch from fminf/fmaxf to std::min/max" into mnc-devChris Craik2015-07-015-36/+39
|\ \
| * | Switch from fminf/fmaxf to std::min/maxChris Craik2015-06-305-36/+39
| |/ | | | | | | | | | | | | | | | | bug:22208220 Shows considerable improvement in performance, especially in tight loops. Change-Id: I4bcf6584a3c145bfc55e73c9c73dcf6199290b3c
* | Saturate alpha values when overlaying glyphsChris Craik2015-06-301-7/+7
|/ | | | | | | | | | bug:19062769 Glyphs were stored to the output buffer with the assumption of non-overlap, which is incorrect for certain fonts/strings. Instead, blend src into dst, so new glyphs don't clobber existing content. Change-Id: I6e22037500e67d5348ee2a43d939416c23c4d1ea
* Merge "Don't promote functors onto layers due to outline rect clipping" into ↵Chris Craik2015-06-262-1/+7
|\ | | | | | | mnc-dev
| * Don't promote functors onto layers due to outline rect clippingChris Craik2015-06-252-1/+7
| | | | | | | | | | | | bug:21320333 Change-Id: Ie70982c88498395148dab6eaca861de66e6207ed
* | Merge "Limit dotProduct value to 1.0f, so acosf would not return NaN." into ↵Tenghui Zhu2015-06-251-0/+3
|\ \ | | | | | | | | | mnc-dev
| * | Limit dotProduct value to 1.0f, so acosf would not return NaN.Lazar Trsic2015-06-251-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Cherry pick of b561f39d01c211425bfefaaa7b31ebe097e7ba79 from AOSP master. Due to precision loss of float math, we sometimes get 1.000001f for dotProduct. This causes NaN result from acosf() and floor() funcs. At the moment, this does not cause any problems on ARM, as casting NaN to int results in 0. On mips however (possibly on x86), such cast gives INT_MAX, so crash occurs when trying to use the resulting value. Change-Id: I8e0285a0306a65b8469d9f4885c19665066fc4c8
* | | Merge "Let findSupportedAbi and hasRenderscriptBitcode scan only relevant ↵Yusuke Sato2015-06-251-2/+10
|\ \ \ | |/ / |/| | | | | files" into mnc-dev
| * | Let findSupportedAbi and hasRenderscriptBitcode scan only relevant filesYusuke Sato2015-06-221-2/+10
| |/ | | | | | | | | | | | | | | | | for better performance. Without the optimization, these two functions may check more than 100k file names in the pre-installed APK files, which can take a few seconds to finish even on a recent device. Bug: 21957428 Change-Id: I315fd3c6d5aa1076b993752525de449a9933de12
* | Merge "Avoid over-damaging layer area for multidraws" into mnc-devChris Craik2015-06-242-8/+19
|\ \
| * | Avoid over-damaging layer area for multidrawsChris Craik2015-06-242-8/+19
| |/ | | | | | | | | | | bug:19608961 Change-Id: Ib7495f155da62a352e9a010a362fd40ec0acad21
* | Merge "Sync canvas proxy CTM (b/21945972)" into mnc-devTom Hudson2015-06-242-0/+12
|\ \
| * | Sync canvas proxy CTM (b/21945972)Tom Hudson2015-06-242-0/+12
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SkiaCanvasProxy was being created with an identity transform, ignoring any transform that may have been applied in Java (or C++) to the android graphics Canvas it was proxy for. This CL makes sure the DisplayListCanvas transform is propagated to the Proxy every time asSkCanvas() is called. We could instead move the code to the SkiaCanvasProxy constructor if we got rid of the cached proxy on DisplayListCanvas; nobody's using the proxy heavily enough that that should be a performance hit at this time. BUG:21945972 R=djsollen@google.com Change-Id: I99ed1563802a2449bb9939cb67976cd60dd8611c
* | Merge "Unify clipping return value behavior - true if not empty" into mnc-devChris Craik2015-06-241-3/+3
|\ \
| * | Unify clipping return value behavior - true if not emptyChris Craik2015-06-231-3/+3
| |/ | | | | | | | | | | bug:22035484 Change-Id: I23ecca38554a60c590181290900deb0e2c48cea1
* | Merge "Dump GL errors and crash on failure to allocate texture for layer" ↵Chris Craik2015-06-233-11/+10
|\ \ | | | | | | | | | into mnc-dev
| * | Dump GL errors and crash on failure to allocate texture for layerChris Craik2015-06-233-11/+10
| |/ | | | | | | | | | | bug:22029728 Change-Id: Ib6f778975225b36567b12e30967955640ec185b3
* | Avoid flushing DisplayListCanvas state for noop callsChris Craik2015-06-221-0/+6
|/ | | | | | bug:22006795 Change-Id: I2eceee69772b08f5319ea882be429a5b36860b7d
* ZipFileRO: Use precise widths for zip file types.Narayan Kamath2015-06-173-18/+11
| | | | | | | | | | | | | | | | | | getEntryInfo crashes on 64-bit devices because "long" types were being passed int pointers (that pointed to a stack frame) that were reinterpret_cast'ed to long* (sigh.). To fix this issue once and for all, use types with explicitly defined widths. This change also removes some dead invariant checking from Asset.cpp instead of cleaning it up. Note that we've introduced a wart in NativeLibraryHelper, where we need to deal with zlib's uLong type, which is "at least 32 bits wide". bug: 21622286 Change-Id: Iae675a9601db7aae03a8b80b40321d2cc1d97f50
* Fix null derefJohn Reck2015-06-161-2/+6
| | | | | | | | | | Bug: 21857172 willHaveFunctor was assuming that either mStagingDisplayList or mDisplayList would be non-null but this isn't true. Both can be null in some scenarios (notably after a trimMemory) Change-Id: Ia2915b84cfc907ec9c7cbec54ed6dc26283ec998
* Merge "Put WebViews with on a HW layer if stencil/shader clipping is needed" ↵Chris Craik2015-06-126-19/+85
|\ | | | | | | into mnc-dev
| * Put WebViews with on a HW layer if stencil/shader clipping is neededChris Craik2015-06-126-19/+85
| | | | | | | | | | bug:17322378 Change-Id: I0de574bf116b30e2ad4194366e19d47d49708902
* | Merge "Fix roundrect clipping / blending ordering" into mnc-devChris Craik2015-06-123-29/+42
|\ \ | |/ |/|
| * Fix roundrect clipping / blending orderingChris Craik2015-06-123-29/+42
| | | | | | | | | | | | | | | | | | bug:21803918 Also, don't consider rr clipped ops opaque, and put stage checking behind a debug flag. Change-Id: I9304ae571337a7cf835524682d1a590a21d30fa4
* | Revert to save-layer based alpha if layer would be too largeChris Craik2015-06-123-5/+42
|/ | | | | bug:21011574 Change-Id: I323f2398188ffc2bbed6a98578d25d7e5f6c337d
* Merge "Upload bitmaps in SkShader* safely" into mnc-devJohn Reck2015-06-093-16/+23
|\
| * Upload bitmaps in SkShader* safelyJohn Reck2015-06-093-16/+23
| | | | | | | | | | Bug: 19412589 Change-Id: Id50c08ff523d5540f60c39b435c0ab1b4c685655
* | Merge "Delete unused" into mnc-devJohn Reck2015-06-082-15/+0
|\ \ | |/
| * Delete unusedJohn Reck2015-06-082-15/+0
| | | | | | | | Change-Id: If27e1eb8e42313eae14df58a24ca54fafb2992fa
* | Merge "Add projection info to RenderNode dumps" into mnc-devChris Craik2015-06-081-9/+12
|\ \
| * | Add projection info to RenderNode dumpsChris Craik2015-06-081-9/+12
| | | | | | | | | | | | | | | | | | | | | | | | bug:21502154 Also fixes several issues around DISPLAY_LIST_DEBUG Change-Id: I726f5bc071f8c037ffe1b224175fe5c1e2b1c5bd
* | | Merge "Disable -Werror on Clang" into mnc-devJohn Reck2015-06-081-1/+5
|\ \ \
| * | | Disable -Werror on ClangJohn Reck2015-06-081-1/+5
| | |/ | |/| | | | | | | | | | Bug: 21698669 Change-Id: I90549599ed52cff028a29f56d3d8ffe80c9afab4
* | | Fix clang warningsJohn Reck2015-06-081-1/+0
| |/ |/| | | | | | | Bug: 21695880 Change-Id: I2985a42a52ab27c546b4317ea70f94d1506c5347
* | Iterate step of launch & iterateJohn Reck2015-06-044-56/+97
|/ | | | | | | | | | Bug: 18052916 Tweaked colors, merged some categories Reduced significance of fast frames Increased visual weight of janky frames Change-Id: I5b4e86164c4d51debad7de0e0f8715dda34c7a60
* Delete MAKE_ENUM_FLAGSChris Craik2015-06-036-98/+73
| | | | | | | | bug:21595702 Settle on namespace-enum for consistency. Also removes k prefix. Change-Id: Ib89f94cb9263de40b6e4636577dca4860867d0d8
* Fix warningJohn Reck2015-06-033-3/+3
| | | | | Bug: 21608208 Change-Id: I1d1cf1fbc8c0a4561bf76e307c56be580fb4baef
* Merge "Handle shader matrix correctly when ignoring canvas transform" into ↵Chris Craik2015-06-0310-132/+203
|\ | | | | | | mnc-dev