| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
bug:7458300
The tesselation path doesn't handle sharp joins.
Change-Id: I28bf03f3b72fc584a205daa40934dda17031098f
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Bug #7370212
Change-Id: Ibdc3161306f54a1cfe66e08458f05ee01a13b1df
|
|
|
|
|
|
| |
Bug #7353771
Change-Id: I89a08a58608e374f1c604a26ee0769d5850b2f7b
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| | |
bug: 7363206
Change-Id: Ie79c309e367ba07336a5299af9fd59c6bd2390e7
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Bug #7353771
This API can be used when scaling large images down to a small size
to get nicer looking results.
Change-Id: If09087eed36077eee5355f6047a3ca67747d7d9e
|
|\ \ \
| |/ / |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Bug #7357394
When a bitmap is reused it may change configuration which can lead
to a different pixel store alignment. Our current texture cache
implementation assumes this never happens and keeps the old alignment
which can lead to distorted texture (if the bitmap goes from
ARGB8888 to RGB565 for instance.)
Change-Id: Ic57acf2403411ae4d0924e92f221298350612617
|
|/ /
| |
| |
| |
| |
| | |
Bug #7354162
Change-Id: Ifd1d0b365e8a4d88e0ff0629c9ee13f27e1a7331
|
| |
| |
| |
| |
| |
| | |
bug:4419017
Change-Id: I7371bfb36cef460da861a47d4d945218c6d0c3d0
|
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| |
| | |
bug:7339943
Change-Id: I4051a03f4cd5bd2c313840208540601fb7a056e2
|
| |
| |
| |
| |
| |
| |
| |
| | |
Bug #7307304
Should never happen, but eh :))
Change-Id: Ic7a09fd5c7a3622e6b4963f9ee6920e232018e2e
|
|/
|
|
|
|
| |
Bug #7307304
Change-Id: I1fabf6df99c18c86ab1ec0e1e398a3d6d4098496
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
Partial revert of cb4d6009
bug:7299070
Change-Id: I1db7b035e3015e0f6d15c95aef71ea74dbeca13e
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Bug #7296475
When re-enabling the scissor the driver seems to ignore the already
existing scissor box. This change resets the scissor box when the
test state changes.
Change-Id: I3a68433164f99d21fbab769a26c56fe416c1539a
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Pro tem, we ignore wifi configuration data when restoring system settings.
This is not ideal, but it *does* mean we do not bounce wifi off and on
again during the extended restore process, which in turn means we don't
interfere with things like the Play Store's download of applications.
We do continue to back up wifi configuration, and will start using that
data again when the new implementation that restores AP configurations
without having to bounce wifi comes to pass.
Also, this CL fixes a longstanding bug in BackupDataInput.skipEntityData()
that was being reproduced reliably once settings restore was skipping
the wifi-related entities in the restore stream.
Bug 7249405
Change-Id: I61520a9a116b66ebdf95734d09d9afd46406df01
|
|
|
|
|
|
|
|
|
|
|
| |
Bug #7233734
Stroked rectangles were rendered using software generated textures
which would lead to slightly misaligned results. Instead, let's use
the new convex path rendering code that will do the right thing
(and save a lot of bandwidth.)
Change-Id: Ib95ff581e56c1ecead97e4919298e6fd146ca167
|
|
|
|
|
|
|
|
|
| |
bug:7260035
Adding a circle of radius 0 to a path is a no-op in skia, so detect
this case both in the PathRenderer, and in quickReject().
Change-Id: I7a172db49a5d5351b4734b39d4e4ca6379658096
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When memory gets low on a device, activities flush everything they can.
Hardware-accelerated activites, such as Launcher, flush GL resources and destroy
the GL context. However, some resources were still hanging around, due to deferred
destruction policies (we don't delete layers until the DisplayLists they are in
are finalized, to ensure we don't deref deleted objects). This meant that we were
referring to obsolete GL data in these objects. in particular, it meant that we might
come around later, after a new GL context was created, and delete a texture object
that was incorrect. We use the layer's "texture id" to refer to the texture underlying the
layer. But if there's a new GL context, then this texture ID is no longer valid, and
we may be deleting the texture that a different object (layer, icon, whatever) is referring
to, because the driver may return that same ID under the new GL context.
The fix is to more aggressively delete things that we know will not be used again
when the GL context is destroyed. In particular, we delete all resources being used
by all DisplayLists at GL context destruction time.
Issue #7195815 Textures corruption on all devices, in many apps
Change-Id: I52d2d208173690dbb794a83402d38f14ea4c6c22
|
|\
| |
| |
| | |
enabled." into jb-mr1-dev
|
| |
| |
| |
| |
| |
| |
| |
| | |
Count the lib symlink against the app's code size. Also be sure to
look at the new separate lib path for apps, and tweak the size
counting to also count the size of directory entries.
Change-Id: I4b0fd5771f249faa05fd72f08062df885902cc97
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Bug #7253839
1. Make sure we don't make GL calls while recording display lists
2. Disable an early and trivial clip optimization in font renderer
when a perspective transformation is used on the Canvas
Change-Id: I3f1052164239329346854f72d0a0d401fbfecf06
|
|\ \
| | |
| | |
| | | |
#7195815" into jb-mr1-dev
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Bug #7195815
We did not reclaim resources when reusing an existing DisplayList to
record a new empty list of commands. This would lead to various memory
leaks: bitmaps, paints, paths, matrices, etc.
This is not a common case but some apps run into this situation,
such as Launcher.
Change-Id: I2eb14ac86a212123f8edbe42b70a7c1c51fa4145
|
|\ \ \
| |/ /
| | |
| | |
| | |
| | | |
* changes:
Skia's ColorMatrix vector is in the 0..255 range not 0..1 Bug #7248980
Don't use the QCOM_tiled_rendering extension with functors Bug #7247880
|
| | |
| | |
| | |
| | |
| | |
| | | |
Bug #7248980
Change-Id: I9873540e3bc1ea0526ea0884279a427c0de96006
|
| | |
| | |
| | |
| | |
| | |
| | | |
Bug #7247880
Change-Id: I4f6c38e37b953c58e6107097c613891a49dac766
|
| |/
|/|
| |
| |
| |
| |
| |
| |
| |
| | |
bug:4419017
Fixes compiler warning
Handle bezier thresholds with large stroke widths better
Fix sub-hairlines (for scaleX == scaleY)
Change-Id: Ida387483348ee61424b7fba729abca2a88bd68b3
|
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
bug:4419017
bug:7230005
- Adds support for stroke/strokeAndFill for shapes without joins
- Fixes path-polygonization threshold calculation
- Fixes rendering offset (now only used for points)
- Several formatting fixes
Change-Id: If72473dc881e45752e2ec212d0dcd1e3f97979ea
|
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Bug #7239634
This change passes two matrices to the vertex shader instead of one.
We used to compute the final MVP matrix on the CPU to minimize the
number of operations in the vertex shaders. Shader compilers are
however smart enough to perform this optimization for us. Since we
need the MV matrix to properly compute gradients dithering, this
change splits the MVP matrix into two. This has the advantage of
removing one matrix multiplication per drawing operation on the
CPU.
The SGX 540 shader compiler produces the same number of instructions
in both cases. There is no penalty hit with having two matrices
instead of one. We also send so few vertices per frame that it
does not matter very much.
Change-Id: I17d47ac4772615418e0e1885b97493d31435a936
|
|\ \
| |/
| |
| | |
#7238059" into jb-mr1-dev
|
| |
| |
| |
| |
| |
| | |
Bug #7238059
Change-Id: Ib4736a419bc1a9a67a01d090516ed049fe3aebca
|
|/
|
|
|
|
|
|
|
|
| |
Some logic depends on a default value of 0, which was not being
assigned.
Issue #7195815 chrome url bar is corrupted
Issue #7190656 Textures corrupted on mr1
Change-Id: I346b7b76e885bf8f04740e711fd88f917a5418c7
|
|
|
|
|
| |
Bug: 7195815
Change-Id: I8e226b7ec445f9f4fe46ae216ef7cc41efc5a0fd
|
|
|
|
|
| |
Bug: 7195815
Change-Id: I5bcac61cd0b903d1ccca0754fdb9cb1023efbe0f
|
|\
| |
| |
| | |
#7195815"" into jb-mr1-dev
|
| |
| |
| |
| |
| |
| | |
This reverts commit 8a1374946a928fcba7495c87ff6adda327fdfb9f
Change-Id: I53564a6c531d334afcc1fce0bea1e57ae266aa78
|