| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug: 22667315
HWUI internally always assumes that RenderNode->properties()
has a fully-baked matrix. However, RenderThread animations violate
this and will perform an update of that matrix after they run. This
was missing in the fallback scenario where an animation was
running on a View that is detached from the tree.
If a RenderThread animation is started on an attached view, it becomes
detached, and is then re-attached it will crash in the staging
properties push. The fix for this is to move the call to updateMatrix
from animate() to animateCommon() so that the animateNoDamage()
path will similarly perform the necessary matrix update.
Change-Id: I4c899a6f68659342a6515f1d7f20d3c4af65caf0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug: 22676664
If a task is queued on a worker thread that is busy
processing a task AND a trim memory signal comes along
prior to the initial task being completed then the
tasks that were queued prior to the exit request will
never be processed.
This is bad, as when those futures are used later on, such
as in trying to delete them from the cache, they will block
waiting for the orphaned task to be finished.
Simple fix is to just never stop the worker threads. Increase
RAM usage slightly as we won't reclaim that stack space, but
this cost is fairly small
Change-Id: I818b011f9bc6ba06942fdad81c27656bd97b42d4
|
|
|
|
|
| |
Bug: 22509159
Change-Id: I0ae0f1fa582ee38dcb9f24ca20f0b4d0c57ccb32
|
|\ |
|
| |
| |
| |
| |
| |
| | |
bug:22521999
Change-Id: I60859748ceee19ebc89ec98845e550ea26e36ecd
|
|/
|
|
|
|
|
|
|
|
| |
bug:22291400
Work around clippath-clipped-to-view-bounds behavior by
implementing REPLACE op fast path, avoiding the transition to
SkRegion/SkPath.
Change-Id: I63c1cf961db2d6e3759d83914de1036c9ac7497a
|
|
|
|
|
|
|
|
|
| |
Bug: 22444755
WindowManager may decide to yank the surface at any point, so
attempt to kinda handle this
Change-Id: Id2f665d2f0f93bccd4ec977fbf52dca4dc1ec891
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Concats any matrix passed through from DisplayListCanvas with the
initialTransform of the containing RenderNode.
BUG:22189925
Change-Id: I5ea54a6e2a29520c79a8860bde7682694e8595d2
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
bug:22208220
Removes needless call, and upconversion to doubles in multiple places.
Change-Id: I1b949fa5f206446ac34de800154c0147d6bd8034
|
|\ \ \
| |_|/
|/| | |
|
| |/
| |
| |
| |
| |
| | |
bug:22208220
Change-Id: Id096eb8de8da0dd1687d6af9456b16ce2a1a589b
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Bug: 22208220
Increases performance of shadows by yet another
15% by using more aggressive math optimizations
Change-Id: Ie3fabeae3647632a19ff573bf6b2d7f7a7cef555
|
|\ \ |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|\ \ |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| | |
bug:22208220
Shows considerable improvement in performance, especially in tight
loops.
Change-Id: I4bcf6584a3c145bfc55e73c9c73dcf6199290b3c
|
|/
|
|
|
|
|
|
|
|
| |
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
|
|\
| |
| |
| | |
mnc-dev
|
| |
| |
| |
| |
| |
| | |
bug:21320333
Change-Id: Ie70982c88498395148dab6eaca861de66e6207ed
|
|\ \
| | |
| | |
| | | |
mnc-dev
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
|\ \ \
| |/ /
|/| |
| | | |
files" into mnc-dev
|
| |/
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|\ \ |
|
| |/
| |
| |
| |
| |
| | |
bug:19608961
Change-Id: Ib7495f155da62a352e9a010a362fd40ec0acad21
|
|\ \ |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|\ \ |
|
| |/
| |
| |
| |
| |
| | |
bug:22035484
Change-Id: I23ecca38554a60c590181290900deb0e2c48cea1
|
|\ \
| | |
| | |
| | | |
into mnc-dev
|
| |/
| |
| |
| |
| |
| | |
bug:22029728
Change-Id: Ib6f778975225b36567b12e30967955640ec185b3
|
|/
|
|
|
|
| |
bug:22006795
Change-Id: I2eceee69772b08f5319ea882be429a5b36860b7d
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|\
| |
| |
| | |
into mnc-dev
|
| |
| |
| |
| |
| | |
bug:17322378
Change-Id: I0de574bf116b30e2ad4194366e19d47d49708902
|
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
bug:21803918
Also, don't consider rr clipped ops opaque, and put stage
checking behind a debug flag.
Change-Id: I9304ae571337a7cf835524682d1a590a21d30fa4
|
|/
|
|
|
| |
bug:21011574
Change-Id: I323f2398188ffc2bbed6a98578d25d7e5f6c337d
|
|\ |
|
| |
| |
| |
| |
| | |
Bug: 19412589
Change-Id: Id50c08ff523d5540f60c39b435c0ab1b4c685655
|
|\ \
| |/ |
|
| |
| |
| |
| | |
Change-Id: If27e1eb8e42313eae14df58a24ca54fafb2992fa
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
bug:21502154
Also fixes several issues around DISPLAY_LIST_DEBUG
Change-Id: I726f5bc071f8c037ffe1b224175fe5c1e2b1c5bd
|