Bug: 27186019
Theory: It appears to be possible for FontRenderer
to not unbind its PBO prior to textures being uploaded,
resulting in trying to glSubTexImage2D with a bound
GL_PIXEL_UNPACK_BUFFER. In that scenario the void* is
the offset into the PBO which given a non-null data
will almost certainly overrun the end of the buffer. This
in turn produces a GL_INVALID_OPERATION error.
Change PixelBuffer to avoid leaking this state for now.
This will result in more calls to glBindBuffer/glUnbindBuffer
in the worst case, but the worst case is already bad so this
shouldn't be a problem. In the normal case we avoid binding
the PBO at all ever, so this doesn't impact that.
Change-Id: I05473f0d2f9a3a5da0e33d8f9ddea4731ce970e3
Skia would like to make the SkUTF* methods private to Skia. This CL
makes this Android test code use Android methods for the same function.
Change-Id: I544847c70030c818aa72dd3ec21b1926834a3e78
Android code should use the Android version. Also, Skia is interested
in making sk_memset32 private.
BUG:27290333
Change-Id: Id5c8bc190cdd21673c8844eaa48e8b6a93e2e9df
Animator's play state can go from NotStarted to Finished directly
in the case of calling start() and end() within one frame. Previously
we only set animator's interpolator when the animator is transitioning
to Running state. So when Running state is skipped, the interpolator
is left unset.
Bug: 27224373
Change-Id: I5a53106fe1aae38ccaf1df8debd553be3bc56133
This is reverting the revert of what reverts the revert of the original
implementation. Fourth revert is a charm!
This reverts commit df7fdb1e0b.
Change-Id: I6fc3a5accfd8b79c3da31bbc101ad9e9b4d6e7dd
Bug: 27186019
Quick testing shows negligable performance impact, so turn
this on temporarily to track down some GL errors
Change-Id: I5700075d5640af0951d832acfde3179ec7511912
A slow listener could cause a race in the NotifyHandler
where the single reference to the buffer to send would get
updated when it shouldn't have been.
Switch to a queue of available buffers to prevent this race.
Also, stop setting and clearing the observer reference and instead
incStrong/decStrong to mark temporary strong ownership without
colliding with other owners in flight.
Bug: 27097094
Change-Id: Iee647bfae8b80019b6d8290179eed3973230901f
-Only add animators to a RenderNode when its owning view is attached
-When changing animator's target RenderNode, remove the animator from
the old target RenderNode that it's currently running on, if any.
Bug: 27141983
Bug: 27145149
Change-Id: I9c9592382d64ecc0390f7ec743a59ce1ad7d9798
Neither of these files need SkScalerContext.h. Remove those includes.
One really needs SkGlyph.h, so include it instead.
Change-Id: Ic7cfce9e7784c9290c5a2dfdd8385b65d32f9b76
We get ResTables two different ways: one is from AAPT, another from
settings-based requests from the Java side. In the settings-based
requests, localeScript will be autocomputed, but for AAPT-filled
tables (especially if they come from older versions of AAPT), we need
to compute the script.
Previously, locales that came from packages were incorrectly assumed
to have "undeterminable" scripts, rather than "undetermined" scripts.
This led to us mistakenly falling back to the old logic of requiring
the locales' countries to match, rather than just looking at computed
scripts.
Bug: 27157452
Change-Id: Id7e346d3ecfb17273ffb63de5bcb4849a6eafbbd