6995 Commits

Author SHA1 Message Date
Tom Hudson
02a26300fb Switch framework to new Skia enums
Allow Skia to finish deprecating old path operation enumerations.

Change-Id: I61e4489e639043acb78d47994ab62a31f18bd878
2015-06-24 16:56:43 +00:00
Chris Craik
3375f8ad30 Avoid over-damaging layer area for multidraws
bug:19608961

Change-Id: Ib7495f155da62a352e9a010a362fd40ec0acad21
2015-06-24 09:43:54 -07:00
Tom Hudson
7605fdd466 am d29c9a86: am 5e69713a: am a81a0c86: Merge "Sync canvas proxy CTM (b/21945972)" into mnc-dev
* commit 'd29c9a86d2734db66533d6525f64caca57d63808':
  Sync canvas proxy CTM (b/21945972)
2015-06-24 15:23:08 +00:00
Tom Hudson
a81a0c8647 Merge "Sync canvas proxy CTM (b/21945972)" into mnc-dev 2015-06-24 14:53:58 +00:00
Tom Hudson
90fb1f6732 Sync canvas proxy CTM (b/21945972)
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
2015-06-24 10:43:16 -04:00
Chris Craik
e984230f6b am 0664eb56: am 2c62ad43: am c686757a: Merge "Unify clipping return value behavior - true if not empty" into mnc-dev
* commit '0664eb56abcd4cb5b5e2cd96a1983ea734742b70':
  Unify clipping return value behavior - true if not empty
2015-06-24 00:55:51 +00:00
Chris Craik
c686757a18 Merge "Unify clipping return value behavior - true if not empty" into mnc-dev 2015-06-24 00:12:51 +00:00
Chris Craik
5ec6a2878b Unify clipping return value behavior - true if not empty
bug:22035484

Change-Id: I23ecca38554a60c590181290900deb0e2c48cea1
2015-06-23 15:42:43 -07:00
Chris Craik
05298735d3 am cbd4c6fa: am 3ac8261f: am 0d99d43e: Merge "Dump GL errors and crash on failure to allocate texture for layer" into mnc-dev
* commit 'cbd4c6fa1828da9f16956e897310155ed5c1aff6':
  Dump GL errors and crash on failure to allocate texture for layer
2015-06-23 20:55:19 +00:00
Chris Craik
0d99d43e81 Merge "Dump GL errors and crash on failure to allocate texture for layer" into mnc-dev 2015-06-23 18:01:02 +00:00
Chris Craik
5686bae289 Dump GL errors and crash on failure to allocate texture for layer
bug:22029728

Change-Id: Ib6f778975225b36567b12e30967955640ec185b3
2015-06-23 10:34:54 -07:00
Chris Craik
83be135f48 am 3f3910a9: am d902c813: am 15d8a2bc: Merge "Avoid flushing DisplayListCanvas state for noop calls" into mnc-dev
* commit '3f3910a91a15a63d7700235dc04191f0d7649105':
  Avoid flushing DisplayListCanvas state for noop calls
2015-06-23 03:04:03 +00:00
Yusuke Sato
34fe3df851 Let findSupportedAbi and hasRenderscriptBitcode scan only relevant files
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
2015-06-22 16:11:32 -07:00
Chris Craik
772687d242 Avoid flushing DisplayListCanvas state for noop calls
bug:22006795

Change-Id: I2eceee69772b08f5319ea882be429a5b36860b7d
2015-06-22 14:51:18 -07:00
Narayan Kamath
407753c456 ZipFileRO: Use precise widths for zip file types.
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

(cherry picked from commit 4600dd053dbdbd4b95f3b11057a1cc55b99f9c77)

Change-Id: I7886cb37a229cc27c625699c80e6a6a6117d2203
2015-06-17 13:13:16 +00:00
Narayan Kamath
6aa7f64926 am 4c50df66: am 5131e025: am 4600dd05: ZipFileRO: Use precise widths for zip file types.
* commit '4c50df66f9756017108be49fcd91be021d2baf30':
  ZipFileRO: Use precise widths for zip file types.
2015-06-17 10:16:43 +00:00
Narayan Kamath
4600dd053d ZipFileRO: Use precise widths for zip file types.
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
2015-06-17 08:40:25 +00:00
John Reck
ba2609cc76 am f9fd28e7: am de3799ca: am f24bed80: Merge "Fix null deref" into mnc-dev
* commit 'f9fd28e7948c245786c40d808642eaf868e94518':
  Fix null deref
2015-06-16 22:04:29 +00:00
John Reck
3f725f0a5a Fix null deref
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
2015-06-16 10:29:31 -07:00
Chris Craik
d7607cf520 am a15300e6: am f58af2e9: am 4c9dafbf: Merge "Put WebViews with on a HW layer if stencil/shader clipping is needed" into mnc-dev
* commit 'a15300e6c91f2cfb09b72e8c707bc694bd961c34':
  Put WebViews with on a HW layer if stencil/shader clipping is needed
2015-06-12 23:24:13 +00:00
Chris Craik
4c9dafbfec Merge "Put WebViews with on a HW layer if stencil/shader clipping is needed" into mnc-dev 2015-06-12 22:46:21 +00:00
Chris Craik
2385fe4675 am 95d1c25d: am f0088128: am eaef7b6c: Merge "Fix roundrect clipping / blending ordering" into mnc-dev
* commit '95d1c25d03fbde301ea4db28140c6a42e248206d':
  Fix roundrect clipping / blending ordering
2015-06-12 22:01:09 +00:00
Chris Craik
eaef7b6cb1 Merge "Fix roundrect clipping / blending ordering" into mnc-dev 2015-06-12 21:23:23 +00:00
Chris Craik
a766cb2bce Put WebViews with on a HW layer if stencil/shader clipping is needed
bug:17322378
Change-Id: I0de574bf116b30e2ad4194366e19d47d49708902
2015-06-12 13:34:58 -07:00
Chris Craik
b1f990de40 Fix roundrect clipping / blending ordering
bug:21803918

Also, don't consider rr clipped ops opaque, and put stage
checking behind a debug flag.

Change-Id: I9304ae571337a7cf835524682d1a590a21d30fa4
2015-06-12 13:20:37 -07:00
Chris Craik
161fa43942 am 623b8b1d: am 95dc7db4: am 816870bf: Merge "Revert to save-layer based alpha if layer would be too large" into mnc-dev
* commit '623b8b1d652614f23d697260c90fc8d4c4ffef10':
  Revert to save-layer based alpha if layer would be too large
2015-06-12 18:50:43 +00:00
Chris Craik
4e9d9b2a59 Revert to save-layer based alpha if layer would be too large
bug:21011574
Change-Id: I323f2398188ffc2bbed6a98578d25d7e5f6c337d
2015-06-12 11:07:23 -07:00
John Reck
ecfa74e256 am 6fb3b3c9: am 8693fc6f: am 475c545f: Merge "Upload bitmaps in SkShader* safely" into mnc-dev
* commit '6fb3b3c97221057d5758df7abc69362719adfc29':
  Upload bitmaps in SkShader* safely
2015-06-09 23:23:27 +00:00
John Reck
475c545fa8 Merge "Upload bitmaps in SkShader* safely" into mnc-dev 2015-06-09 22:32:33 +00:00
John Reck
37b0824a46 Upload bitmaps in SkShader* safely
Bug: 19412589
Change-Id: Id50c08ff523d5540f60c39b435c0ab1b4c685655
2015-06-09 15:27:52 -07:00
Tom Hudson
17c5adfa63 drawBitmap() support for extractSubset()
In SkiaCanvasProxy, translate drawBitmap() calls on bitmaps which
are the result of extractSubset() into drawBitmapRect() calls on the
original PixelRef.

If HWUI isn't going to support subsetting, we'll need to do this,
probably at additional entry points, to interoperate with native Skia
bitmaps. This change by itself fixes the extractbitmap GM.

R=djsollen@google.com
BUG=skia:3606

Change-Id: I5744da87d8f16dc1a252f606dfaa4016bd01e66e
2015-06-09 15:46:04 -04:00
ywen
f087c828cd Fix a GL error leak issue
glFinish() dequeues a native buffer, and it fails when
the bufeer has been abandoned, this is ok and will not
casue the app crash

GL_OUT_OF_MEMORY is generated in this case, and it is
not reset until glGetError called. This is happened in
build layer function, glGetError is called after glTexImg2d,
and get GL_OUT_OF_MEMORY, then this function return as OOM,
and app crash

Fix it by adding a glGetError after glFinish

Change-Id: I8803a726b6f609c4a2f8a6aa6bb7ff7064808932
2015-06-09 17:51:35 +05:30
John Reck
62043203df Merge "Delete unused" into mnc-dev 2015-06-08 22:51:43 +00:00
John Reck
4538ef2abc Delete unused
Change-Id: If27e1eb8e42313eae14df58a24ca54fafb2992fa
2015-06-08 15:45:58 -07:00
Chris Craik
37cf077171 Merge "Add projection info to RenderNode dumps" into mnc-dev 2015-06-08 20:00:37 +00:00
Chris Craik
bf72eb80d9 Add projection info to RenderNode dumps
bug:21502154

Also fixes several issues around DISPLAY_LIST_DEBUG

Change-Id: I726f5bc071f8c037ffe1b224175fe5c1e2b1c5bd
2015-06-08 11:39:02 -07:00
John Reck
5b688e848c Merge "Disable -Werror on Clang" into mnc-dev 2015-06-08 18:08:33 +00:00
John Reck
0f43c3998c Fix clang warnings
Bug: 21695880
Change-Id: I2985a42a52ab27c546b4317ea70f94d1506c5347
2015-06-08 11:06:18 -07:00
John Reck
e6178208c2 Disable -Werror on Clang
Bug: 21698669
Change-Id: I90549599ed52cff028a29f56d3d8ffe80c9afab4
2015-06-08 11:01:24 -07:00
John Reck
41300274cf Iterate step of launch & iterate
Bug: 18052916

Tweaked colors, merged some categories
Reduced significance of fast frames
Increased visual weight of janky frames

Change-Id: I5b4e86164c4d51debad7de0e0f8715dda34c7a60
2015-06-04 10:49:08 -07:00
Chris Craik
1b54fb27ac Delete MAKE_ENUM_FLAGS
bug:21595702

Settle on namespace-enum for consistency. Also removes k prefix.

Change-Id: Ib89f94cb9263de40b6e4636577dca4860867d0d8
2015-06-03 13:42:21 -07:00
John Reck
2a8bb05a31 Fix warning
Bug: 21608208
Change-Id: I1d1cf1fbc8c0a4561bf76e307c56be580fb4baef
2015-06-03 09:53:42 -07:00
Chris Craik
38f4396ebd Merge "Handle shader matrix correctly when ignoring canvas transform" into mnc-dev 2015-06-03 00:27:01 +00:00
Chris Craik
53e51e4aa9 Handle shader matrix correctly when ignoring canvas transform
bug:20063841

Restores old SkShader matrix behavior from before the Glop refactor.

Many drawing operations draw without sending the canvas transform to
the GL shader. In such cases, we need to adapt the matrix sent to the
SkShader logic to invert the canvas transform that's built into
the mesh.

Change-Id: I42b6f59df36ce46436322b95bf9ad2140795ee58
2015-06-02 16:28:39 -07:00
John Reck
6058251939 Merge "More colors, now with material colors" into mnc-dev 2015-06-02 23:16:31 +00:00
John Reck
bf3c602284 More colors, now with material colors
Bug: 18052916
Change-Id: I66c2573d796338ee7b7d0ddf240b90cc78a71ce5
2015-06-02 16:13:56 -07:00
John Reck
4db3d17deb FrameInfo header fixes
Bug: 21560187

Log column names as part of output in case of other such
issues

Change-Id: I16157ed968307e761d416ca54bd7af5453fe67bf
2015-06-02 15:58:43 -07:00
ztenghui
21ef8205a1 Tweak the threshold for conic path quads computation.
We still want it to be related to the threshold for bezier generation.

b/19903239

Change-Id: Ifdce32f1c28ecea9eac98d02c73afa948341fc7d
2015-05-29 15:12:55 -07:00
Chris Craik
da28c8681a Merge "Fix round cap approximation to understand scale" into mnc-dev 2015-05-28 22:50:03 +00:00
Chris Craik
469fb1efd6 Fix build
Change-Id: I7ee28c474aa821eb598f719723d87416a41537b9
2015-05-28 15:33:40 -07:00