Commit Graph

867 Commits

Author SHA1 Message Date
Ben Wagner
3f39bf8fe5 Add Goma support in gn_flavor.
Using full paths in skia.h causes "file not found" with Goma. All other
Builds seem fine without the path, so I changed find_headers.py to use
the basename.

Change-Id: Ib520e91a92ebffe36a736eb53f643d359f5bb2ce
Reviewed-on: https://skia-review.googlesource.com/79360
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
2017-12-08 20:09:18 +00:00
Hal Canary
c465d13e6f resources: orgainize directory.
Should make it easier to ask just for images.

Change-Id: If821743dc924c4bfbc6b2b2d29b14affde7b3afd
Reviewed-on: https://skia-review.googlesource.com/82684
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
2017-12-08 17:16:00 +00:00
Brian Salomon
f06c358267 Remove instanced rendering
Change-Id: I4219b1d23a647b849ee41fe71b53e1c45edfc3f4
Reviewed-on: https://skia-review.googlesource.com/82241
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2017-12-08 13:41:10 +00:00
Brian Osman
852ca318a1 Updated MSVC toolchain to 2017, and further refactored GN
'windk' is no longer a thing. There are two separate variables to point
at your compiler (win_vc), and SDK (win_sdk).

'msvc' is no longer a thing, either. By default, we look for 2017 and
then 2015 (in the default locations). If neither is located, use an
assert to let users know they should set win_vc. Then, detect if win_vc
points at a 2017 or 2015 installation, and configure it automatically.

Because the toolchain is now 2017, update the GN files to handle building
x86 in that configuration. In fact, we only support x86 builds (with 2017
or 2015) using the toolchain assets. Keep a 2015 toolchain around as a
new asset, so we can add bot coverage.

Docs-Preview: https://skia.org/?cl=81841
Bug: skia:
Change-Id: I8c68a6f949e54c0e798a219450bbb9406f8dc6ac
Reviewed-on: https://skia-review.googlesource.com/81841
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Brian Osman <brianosman@google.com>
2017-12-08 01:46:30 +00:00
Jim Van Verth
4e5029744d Allow different identities for iOS code signing
Docs-Preview: https://skia.org/?cl=81340
Bug: skia:
Change-Id: I9a0e52ba4ce3c0c4b40cc65ce6b26bd3cebdbe4d
Reviewed-on: https://skia-review.googlesource.com/81340
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
2017-12-07 20:42:00 +00:00
Mike Klein
15f46c3c1f quiet down Mac linker warnings
Change-Id: I9a2a061e7a021587441f3f39427306309e0341e8
Reviewed-on: https://skia-review.googlesource.com/82042
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-12-07 20:03:40 +00:00
Greg Daniel
afb7ec7a40 Revert "Revert "Add define to use customize vulkan header.""
This reverts commit b351817588.

Reason for revert: Relanding with android fixes

Original change's description:
> Revert "Add define to use customize vulkan header."
>
> This reverts commit a492eb0e1f.
>
> Reason for revert: Breaking Android roll (b/c builds tools?)
>
> Original change's description:
> > Add define to use customize vulkan header.
> >
> > Bug: skia:
> > Change-Id: Ia87c81a54603a02b2f8f51a735bf173a49afe6c7
> > Reviewed-on: https://skia-review.googlesource.com/81121
> > Commit-Queue: Greg Daniel <egdaniel@google.com>
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
>
> TBR=egdaniel@google.com,bsalomon@google.com
>
> Change-Id: I80a685bf88af909865f274ffc61686be57e8c313
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:
> Reviewed-on: https://skia-review.googlesource.com/81740
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>

TBR=egdaniel@google.com,bsalomon@google.com

Change-Id: Ia701e884bfa3799dc73002f892feb2ecafe9da12
Reviewed-on: https://skia-review.googlesource.com/81742
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2017-12-07 18:29:39 +00:00
Brian Salomon
20b1572912 Delete GLBench and subclasses
Bug: skia:6305
Change-Id: I3b2f2a8898f25d3dd0ec47668895dd4d00668575
Reviewed-on: https://skia-review.googlesource.com/82040
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2017-12-07 18:09:29 +00:00
Brian Salomon
4f5e1d4ff3 Remove SkImage deferred texture image data APIs.
These APIs existed for Chrome. Chrome is no longer using them.

Change-Id: I15a5e2f88c7e8d1356188748fc68d4658f6f1849
Reviewed-on: https://skia-review.googlesource.com/81021
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2017-12-07 13:13:20 +00:00
Mike Klein
409506c4c9 Only look for WinSDK when building _for_ Windows
(Not when we're merely building _on_ Windows.)

CQ_INCLUDE_TRYBOTS=skia.primary:Build-Win-Clang-arm64-Release-Android

Change-Id: I7ab7663fcac6e3631ebe82f440927a077d476528
Reviewed-on: https://skia-review.googlesource.com/81483
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-12-06 23:12:59 +00:00
Brian Osman
5f87262595 Reland "Always use the Win 10 SDK, and optionally detect/use the latest version"
This is a reland of 6da1d32c16
Original change's description:
> Always use the Win 10 SDK, and optionally detect/use the latest version
> 
> For bot toolchain builds, we were already using the Win 10 SDK. Local
> 2015 builds were using a strange hybrid of Win 10 and Win 8 SDKs. Now
> we always use the Win 10 SDK exclusively.
> 
> This adds two new GN arguments: win_sdk, which points at the top level
> Windows 10 SDK directory, and win_sdk_version, which can be used to
> pin to a specific version. (Otherwise we use a script to detect the
> most recent version).
> 
> Bug: skia:
> Change-Id: I5aabb5eb9e7f483e3676b67b50356ddd0421cf7d
> Reviewed-on: https://skia-review.googlesource.com/81304
> Reviewed-by: Mike Klein <mtklein@chromium.org>
> Commit-Queue: Brian Osman <brianosman@google.com>

Bug: skia:
Change-Id: Ide0d6bd3413c4fe7a8bada7d3d32bdba9709d11b
Reviewed-on: https://skia-review.googlesource.com/81501
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2017-12-06 22:32:59 +00:00
Ravi Mistry
f5ab269a9d Revert "Always use the Win 10 SDK, and optionally detect/use the latest version"
This reverts commit 6da1d32c16.

Reason for revert:
Caused Build-Win-Clang-arm64-Release-Android to fail.
Eg: https://chromium-swarm.appspot.com/task?id=3a467f1ddd15fb10&refresh=10

Original change's description:
> Always use the Win 10 SDK, and optionally detect/use the latest version
> 
> For bot toolchain builds, we were already using the Win 10 SDK. Local
> 2015 builds were using a strange hybrid of Win 10 and Win 8 SDKs. Now
> we always use the Win 10 SDK exclusively.
> 
> This adds two new GN arguments: win_sdk, which points at the top level
> Windows 10 SDK directory, and win_sdk_version, which can be used to
> pin to a specific version. (Otherwise we use a script to detect the
> most recent version).
> 
> Bug: skia:
> Change-Id: I5aabb5eb9e7f483e3676b67b50356ddd0421cf7d
> Reviewed-on: https://skia-review.googlesource.com/81304
> Reviewed-by: Mike Klein <mtklein@chromium.org>
> Commit-Queue: Brian Osman <brianosman@google.com>

TBR=mtklein@chromium.org,borenet@google.com,bungeman@google.com,brianosman@google.com

Change-Id: Id044114fc685d570741e3f5ed003c4be2ffa84a3
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/81500
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2017-12-06 21:51:30 +00:00
Mike Reed
fadbfcd4ab upgrade SkReadBuffer to always validate
Bug: skia:
Change-Id: I054560b66c6cde346d939015326d8547879d2c4b
Reviewed-on: https://skia-review.googlesource.com/81160
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
2017-12-06 21:33:00 +00:00
Brian Osman
6da1d32c16 Always use the Win 10 SDK, and optionally detect/use the latest version
For bot toolchain builds, we were already using the Win 10 SDK. Local
2015 builds were using a strange hybrid of Win 10 and Win 8 SDKs. Now
we always use the Win 10 SDK exclusively.

This adds two new GN arguments: win_sdk, which points at the top level
Windows 10 SDK directory, and win_sdk_version, which can be used to
pin to a specific version. (Otherwise we use a script to detect the
most recent version).

Bug: skia:
Change-Id: I5aabb5eb9e7f483e3676b67b50356ddd0421cf7d
Reviewed-on: https://skia-review.googlesource.com/81304
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Brian Osman <brianosman@google.com>
2017-12-06 21:02:09 +00:00
Mike Klein
0554d497f8 add SkVptr()
I was wondering how feasible using this to make downcasts safe would be.
These tests would need to build and pass on all our bots, at least.

Change-Id: I1753ba58841bf6c17d6ac3af7374518356e1bb05
Reviewed-on: https://skia-review.googlesource.com/81180
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-12-06 19:37:27 +00:00
Brian Osman
d34c4a3727 Add win_toolchain_version to support MSVC 2017 Updates
To make this simpler in the future, add a python script that finds the
most recent 2017 toolchain, and use that. If/when we update the bot
toolchain, this will be even more helpful, because the Chromium toolchain
isn't perfectly in sync with the general update channel, so people are
likely to have a newer/older release locally.

Note that explicitly setting win_toolchain_version in your GN args
suppresses the python script, so you can choose to build with whatever
version you need.

Bug: skia:
Change-Id: Iaf6d0dd9be2623472118c3ad27b20023a205d67c
Reviewed-on: https://skia-review.googlesource.com/81162
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
2017-12-06 19:15:55 +00:00
Mike Reed
60691a5127 add serial procs to pictures
Bug: skia:7380
Change-Id: Ic1b7e437316c7913711cf5cb119e3fe904cd2c05
Reviewed-on: https://skia-review.googlesource.com/76980
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
2017-12-05 20:33:18 +00:00
Leon Scroggins III
c8037dc5ed Reland "Hide SkEncodedInfo"
This partially reverts commit
1793e7bb46.

Hide SkEncodedInfo

Bug: skia:7353
Bug: skia:6839

This contains information that is not necessary for clients to know. The
Color enum tells the number of components in the input, but this is only
interesting internally (to the SkSwizzler).

Similarly, the Alpha enum differs from SkAlphaType in that it has
kBinary instead of kPremul. This is useful information only internally
for determining whether the SkColorSpaceXform needs to premultiply.

The bitsPerComponent is potentially useful for a client; Android (in
SkAndroidCodec) uses it to determine the SkColorType. Rather than
exposing bitsPerComponent, make SkAndroidCodec a friend so it can
access the SkEncodedInfo. A future change will change SkCodec to
recommend F16 for bitsPerComponent > 8, but that will be more involved;
it was the reason for the revert of this CL.

Switch conversionSupported to use an SkColorType, which is enough info.

Replace the SkEncodedInfo::Alpha field on SkCodec::FrameInfo with an
SkAlphaType.

SkCodec still needs an SkEncodedInfo, so move its header (which is
already not SK_API) to include/private.

TBR=mtklein@chromium.org,reed@google.com
Change-Id: I928b1f55317602cb37d29da63b53026c8d139cee
Reviewed-on: https://skia-review.googlesource.com/80860
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2017-12-05 19:28:08 +00:00
Chris Dalton
a32a3c32c3 Add analytic clip FPs that read from the CCPR atlas
Bug: skia:7190
Change-Id: Ie31d368f52910e6917efdeb1b024370b06fc11ee
Reviewed-on: https://skia-review.googlesource.com/77160
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2017-12-05 18:06:18 +00:00
Mike Klein
f32b27d2e4 remove mips support and bots
The NDK has deprecated mips and mips64:
https://developer.android.com/ndk/guides/abis.html

Might as well clean this up now while I remember.

Change-Id: Ie4b2334c75208082067cc16fe355d0349c7e0904
Reviewed-on: https://skia-review.googlesource.com/80560
Reviewed-by: Derek Sollenberger <djsollen@google.com>
2017-12-05 17:19:45 +00:00
Leon Scroggins
1793e7bb46 Revert "Hide SkEncodedInfo"
This reverts commit c6f7a4ffa9.

Reason for revert: Causing differences in Gold, stemming from the fact that this changes the recommended SkImageInfo for 16 bits-per-component PNG from N32 to F16.
- an F16 bitmap already png-encodes to a 16 bits-per-component PNG, but it does not encode a linear colorspace (possibly a bug?). when we decode this PNG using getInfo(), it fails because it has an F16 color type and non-linear colorspace. (In the encode-srgb-png gm, this results in blank results for F16.) We could correct this on the encoder side, but it seems possible that a 16 bits-per-component PNG could be encoded with a different color space. In that case, we'd want SkCodec to recommend F16/SRGBLinear, but I think we'd want the SkCodec to store the encoded SkColorSpace so that we can Xform between the two. Currently SkCodec only stores one color space, so that will require a refactor.
- When decoding 16-bits-per-component PNGs, we are now decoding them to F16. This shows differences in Gold. The srgb/gpu results now look more like F16. I think this is fine.

Original change's description:
> Hide SkEncodedInfo
> 
> Bug: skia:7353
> Bug: skia:6839
> 
> This contains information that is not necessary for clients to know. The
> Color enum tells the number of components in the input, but this is only
> interesting internally (to the SkSwizzler).
> 
> Similarly, the Alpha enum differs from SkAlphaType in that it has
> kBinary instead of kPremul. This is useful information only internally
> for determining whether the SkColorSpaceXform needs to premultiply.
> 
> The bitsPerComponent is potentially useful for a client; Android (in
> SkAndroidCodec) uses it to determine the SkColorType. Rather than
> exposing bitsPerComponent, use it to make the same decision that Android
> would have made - 16 bits per component means to set the info to F16. Add
> a test that computeOutputColorType behaves as expected.
> 
> Switch conversionSupported to use an SkColorType, which is enough info.
> 
> Replace the SkEncodedInfo::Alpha field on SkCodec::FrameInfo with an
> SkAlphaType.
> 
> SkCodec still needs an SkEncodedInfo, so move its header (which is
> already not SK_API) to include/private.
> 
> Change-Id: Ie2cf11339bf999ebfd4390c0f448f7edd6feabda
> Reviewed-on: https://skia-review.googlesource.com/79260
> Reviewed-by: Mike Reed <reed@google.com>
> Reviewed-by: Mike Klein <mtklein@chromium.org>
> Commit-Queue: Leon Scroggins <scroggo@google.com>

TBR=mtklein@chromium.org,scroggo@google.com,reed@google.com

Change-Id: I0c5dd1461e1b70d1e55349a8e7ee6b029c3f556e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:7353, skia:6839
Reviewed-on: https://skia-review.googlesource.com/80660
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2017-12-05 15:38:22 +00:00
Leon Scroggins III
c6f7a4ffa9 Hide SkEncodedInfo
Bug: skia:7353
Bug: skia:6839

This contains information that is not necessary for clients to know. The
Color enum tells the number of components in the input, but this is only
interesting internally (to the SkSwizzler).

Similarly, the Alpha enum differs from SkAlphaType in that it has
kBinary instead of kPremul. This is useful information only internally
for determining whether the SkColorSpaceXform needs to premultiply.

The bitsPerComponent is potentially useful for a client; Android (in
SkAndroidCodec) uses it to determine the SkColorType. Rather than
exposing bitsPerComponent, use it to make the same decision that Android
would have made - 16 bits per component means to set the info to F16. Add
a test that computeOutputColorType behaves as expected.

Switch conversionSupported to use an SkColorType, which is enough info.

Replace the SkEncodedInfo::Alpha field on SkCodec::FrameInfo with an
SkAlphaType.

SkCodec still needs an SkEncodedInfo, so move its header (which is
already not SK_API) to include/private.

Change-Id: Ie2cf11339bf999ebfd4390c0f448f7edd6feabda
Reviewed-on: https://skia-review.googlesource.com/79260
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2017-12-05 00:52:42 +00:00
Chris Dalton
d1ec4105f7 Fix ANGLE build with extended clang warnings
Add newline-eof to the list of ignroed warnings.
Fix shadowed fields.

Bug: skia:
Change-Id: I4985ce2495194a7f805af98c4f42c44691086e36
Reviewed-on: https://skia-review.googlesource.com/79681
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
2017-12-04 20:54:40 +00:00
Chris Dalton
1ef80942b3 turn on extended Clang warnings on Windows too
Plus some small rearrangements of the various warning lists.

Change-Id: Ied58f940341d69ddab971a529fd01b1e96b65641
Reviewed-on: https://skia-review.googlesource.com/67720
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
2017-12-04 19:29:51 +00:00
Robert Phillips
7ffbcf909d Add unit test for SkDeferredDisplayLists (take 2)
Change-Id: I76a4c77d5b9418cb7fe677bd55ba32a2e336924d
Reviewed-on: https://skia-review.googlesource.com/79820
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2017-12-04 18:37:29 +00:00
Ben Wagner
bee6cacc54 Merge UBSAN_float_cast_overflow into ASAN.
The new check was a different config while we fixed the errors. Most
errors are now fixed, and merging these will help with running both on
the CQ.

No-Try: true
Change-Id: I5804ecea84a8dbbaacf6a4ea96e2af9505641d49
Reviewed-on: https://skia-review.googlesource.com/79323
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
2017-12-04 17:08:09 +00:00
Robert Phillips
8172c0a24a Revert "Add unit test for SkDeferredDisplayLists"
This reverts commit 8458a2807b.

Reason for revert: ??
Original change's description:
> Add unit test for SkDeferredDisplayLists
> 
> Change-Id: I015094145cb0af6cfe368c570a5d5280c11c8f28
> Reviewed-on: https://skia-review.googlesource.com/78660
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Robert Phillips <robertphillips@google.com>

TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com

Change-Id: Iec3abb18d3ed41fcfbec72bc2de14603f659f8ce
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/79720
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2017-12-04 14:38:15 +00:00
Robert Phillips
8458a2807b Add unit test for SkDeferredDisplayLists
Change-Id: I015094145cb0af6cfe368c570a5d5280c11c8f28
Reviewed-on: https://skia-review.googlesource.com/78660
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2017-12-04 14:00:14 +00:00
Brian Salomon
6574921253 Revert "Revert "Fix rendering of drrects with small circular inner rrects.""
This reverts commit ec727c981d.

Change-Id: Id3164619016d58b2bcc0b8af606215653f553fce
Reviewed-on: https://skia-review.googlesource.com/79422
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2017-12-01 21:25:39 +00:00
Brian Salomon
ec727c981d Revert "Fix rendering of drrects with small circular inner rrects."
This reverts commit 096074af2c.

Reason for revert: failing processor validation test

Original change's description:
> Fix rendering of drrects with small circular inner rrects.
> 
> Previously when the inner rrect was a circle with a radius of 1 we would
> cause a inf * 0 in the shader which would lead to the shape not rendering.
> 
> This change also makes concentric circle drrects draw as stroked circles.
> 
> bug: chromium:789262
> 
> Change-Id: I6efbe3fdde25d6c4e031c7412d83df009afe014a
> Reviewed-on: https://skia-review.googlesource.com/79141
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Robert Phillips <robertphillips@google.com>

TBR=bsalomon@google.com,robertphillips@google.com

Change-Id: Ie9b9c81380c0f98a6fc6c6dc350ec56402c4ff2b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/79264
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2017-12-01 20:53:10 +00:00
Brian Salomon
096074af2c Fix rendering of drrects with small circular inner rrects.
Previously when the inner rrect was a circle with a radius of 1 we would
cause a inf * 0 in the shader which would lead to the shape not rendering.

This change also makes concentric circle drrects draw as stroked circles.

bug: chromium:789262

Change-Id: I6efbe3fdde25d6c4e031c7412d83df009afe014a
Reviewed-on: https://skia-review.googlesource.com/79141
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2017-12-01 20:00:09 +00:00
Yuqian Li
9b50d9dd2b Try to bypass the false-positive clang thread analysis warning
This is identical to 70221 except for 3 lines inside SkFlexibleTaskGroup2D::work
to bypass the false-positive warning. We cannot reproduce the error the android
roller generated so we'll have to try and see.

The detailed warning can be found in:
https://skia-review.googlesource.com/c/skia/+/78720

TBR: mtklein@google.com
Bug: skia:
Change-Id: I3e2f414581dbd1398482cf45cf4f43eaf0535651
Reviewed-on: https://skia-review.googlesource.com/79321
Commit-Queue: Yuqian Li <liyuqian@google.com>
Reviewed-by: Yuqian Li <liyuqian@google.com>
2017-12-01 19:39:51 +00:00
Leon Scroggins III
6d892f58bf Add comments explaining use of "-Wno-over-aligned"
Follow up to I04a5b013dd0ec8f162046388e89cf08cb9476bab

Change-Id: I5ab77564fe867ad1fef48fb322ff75869c025776
Reviewed-on: https://skia-review.googlesource.com/79040
Commit-Queue: Leon Scroggins <scroggo@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
2017-12-01 15:14:19 +00:00
Leon Scroggins
8a90c4da1c Revert "Renaming and refactoring to prepare for init-once threaded backend"
This reverts commit 07a42411f8.

Reason for revert: This looks to be breaking the Android roll. See https://googleplex-android-review.googlesource.com/c/platform/external/skia/+/3295488

external/skia/src/core/SkTaskGroup2D.cpp:73:28: error: releasing mutex 'rowData.fMutex' that was not held [-Werror,-Wthread-safety-analysis]
            rowData.fMutex.unlock();


Original change's description:
> Renaming and refactoring to prepare for init-once threaded backend
> 
> Bug: skia:
> Change-Id: I39b1d73b612a9c133847dd7361d634a0351659f1
> Reviewed-on: https://skia-review.googlesource.com/70221
> Reviewed-by: Herb Derby <herb@google.com>
> Commit-Queue: Yuqian Li <liyuqian@google.com>

TBR=mtklein@google.com,herb@google.com,liyuqian@google.com

Change-Id: I701e6c62f6f437a6a285953b45b2e58cf7f0b6e5
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/78720
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2017-11-30 21:27:59 +00:00
Leon Scroggins III
74663e722e Add "-Wno-over-aligned" to Android.bp for x86 Android
Speculative fix for Android roll, broken here: ag/3293969.

We used to make an exception for this warning on Skia builds, until I
disabled it in https://skia-review.googlesource.com/c/skia/+/60530,
because it no longer seemed necessary: Turning on most warnings without
this exception in Android framework builds, as I did in
https://skia-review.googlesource.com/55703 did not break Android.

I'm not sure why Skia's waterfall did not show the problem, but this
should fix it on the Android framework side.

TBR=mtklein@chromium.org

Change-Id: I04a5b013dd0ec8f162046388e89cf08cb9476bab
Reviewed-on: https://skia-review.googlesource.com/78580
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2017-11-30 20:08:38 +00:00
Yuqian Li
07a42411f8 Renaming and refactoring to prepare for init-once threaded backend
Bug: skia:
Change-Id: I39b1d73b612a9c133847dd7361d634a0351659f1
Reviewed-on: https://skia-review.googlesource.com/70221
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Yuqian Li <liyuqian@google.com>
2017-11-30 19:35:08 +00:00
Chris Dalton
706a6ff60c Add "lazy" texture proxies
Adds ultra-deferred proxies that are instantiated by a user-supplied
callback during flush.

Bug: skia:7190
Change-Id: I75a7ac6dba953c3b0a99febc203a7f4d2f3789fc
Reviewed-on: https://skia-review.googlesource.com/76461
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2017-11-30 15:37:12 +00:00
Brian Osman
ede860e91c Delete even more unused views code
Bug: skia:
Change-Id: I41480aa89dfcd8cb7e016e477cbabe354f35ce8a
Reviewed-on: https://skia-review.googlesource.com/75480
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2017-11-29 18:12:35 +00:00
Jim Van Verth
329c5a6d82 Bundle resources and skps directories into iOS app.
Will bundle resources/ for viewer (and skps/ if
that directory exists in the main Skia directory).
Also updates file code on iOS to fall back to bundle directory.

Docs-Preview: https://skia.org/?cl=76803
Bug: skia:7339
Change-Id: I244f67559c866451a6d02c3f1c4948d89457ec84
Reviewed-on: https://skia-review.googlesource.com/76803
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
2017-11-29 17:06:25 +00:00
Brian Salomon
29f9ed4dcc Revert "Revert "Make PathGeoBuilder use consistent iterators.""
This reverts commit b451321324.

Bug: chromium:788500
Change-Id: I6028b20770009b703f76ce2d9b451c561eaa705a
Reviewed-on: https://skia-review.googlesource.com/77582
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2017-11-29 16:18:45 +00:00
Brian Salomon
b451321324 Revert "Make PathGeoBuilder use consistent iterators."
This reverts commit 9c8a16bb1e.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> Make PathGeoBuilder use consistent iterators.
> 
> Previously it used a degenerate consuming iterator to determine the whether there were multiple contours. This was inconsistent with the tessellating step.
> 
> Bug: chromium:788500
> Change-Id: I3938c69cf40bc551acdb8d5fa9b54d2c96e2a460
> Reviewed-on: https://skia-review.googlesource.com/76961
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>

TBR=bsalomon@google.com,brianosman@google.com

Change-Id: I18005ea2d7ba88c66334f110a5a74c6d82e4ab90
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:788500
Reviewed-on: https://skia-review.googlesource.com/77440
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2017-11-29 13:30:06 +00:00
Brian Salomon
9c8a16bb1e Make PathGeoBuilder use consistent iterators.
Previously it used a degenerate consuming iterator to determine the whether there were multiple contours. This was inconsistent with the tessellating step.

Bug: chromium:788500
Change-Id: I3938c69cf40bc551acdb8d5fa9b54d2c96e2a460
Reviewed-on: https://skia-review.googlesource.com/76961
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2017-11-29 13:07:28 +00:00
Hal Canary
9b491b23bb SkPDF: fix fTextScaleX error
BUG=skia:7315
Change-Id: Ic613cb6fb8faed5b0840db4f500940bd6823de66
Reviewed-on: https://skia-review.googlesource.com/76981
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2017-11-28 20:48:37 +00:00
Mike Klein
9c1c892af7 drop 32-bit Android NDK builds down to API 16
Change-Id: I40ded57601da605a1393ce56589455909f66ad00
Reviewed-on: https://skia-review.googlesource.com/77020
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-11-28 20:36:38 +00:00
Jim Van Verth
443a913b8f Add create_bundle support for GN
Docs-Preview: https://skia.org/?cl=75383
Bug: skia:7339
Change-Id: I985734e8b7b5af21a82cb8ee59acbfb5ff1d3ff7
Reviewed-on: https://skia-review.googlesource.com/75383
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
2017-11-28 15:29:07 +00:00
Mike Klein
aa73b96760 clean up SkDeferredCanvas
To our knowledge it's not used.
Its defer- mode in DM isn't even run on the bots.

Change-Id: Ifebfa2a77bfed8370eb421d379697f04fa2c8608
Reviewed-on: https://skia-review.googlesource.com/76420
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-11-27 21:31:26 +00:00
Mike Klein
c9bc81434a Handle null colorspace in SkToSRGBColorFilter.
This was uncovered by the linked fuzzer issue.

I haven't looked hard at it, but I'd guess it's fuzzed an ICC profile
into one that can't be deserialized, and we get a null in CreateProc().

We could probably restrict the null check to just CreateProc(), but
putting it in Make() and asserting in the constructor feels cozy.

BUG=chromium:787718

Change-Id: Ic4b1dad28c00ee5870f22093eedbf34686c32120
Reviewed-on: https://skia-review.googlesource.com/76080
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Brian Osman <brianosman@google.com>
2017-11-27 18:00:56 +00:00
Hal Canary
dfaa057c15 SkPDF: less tolerance for small circles
BUG=chromium:772953
Change-Id: I9452ac8ad66ab8be26a9388f8c85a1f0e61bd392
Reviewed-on: https://skia-review.googlesource.com/75960
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2017-11-27 14:59:45 +00:00
Jim Van Verth
c02cb8a86c Revert "Use int when possible to calculate atlas indices in shaders."
This reverts commit 999ec57291.

Reason for revert: Causing issues with NexusPlayer Vulkan.

Original change's description:
> Use int when possible to calculate atlas indices in shaders.
> 
> On certain iOS devices half has a mantissa of only 10 bits, which is not
> enough to perform the floating point trickery to get the lower bits
> out of the "texture coordinates". Instead we use int if available, and
> float if not available.
> 
> Also re-enables multitexturing for iOS and adds a sample which
> stresses the issue.
> 
> Bug: skia:7285
> Change-Id: I365532c7cbbcca7c7753af209bef46e05be49e11
> Reviewed-on: https://skia-review.googlesource.com/71181
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Jim Van Verth <jvanverth@google.com>

TBR=jvanverth@google.com,bsalomon@google.com,robertphillips@google.com

Change-Id: I82801a73a2a8067588049b213f010ff25f4014f3
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:7285
Reviewed-on: https://skia-review.googlesource.com/74001
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2017-11-20 22:11:39 +00:00
Ethan Nicholas
e9d172af84 converted ConstColorProcessor to SkSL
Bug: skia:
Change-Id: Ic3b18f82c1ab940637fb26dec1cf376dd859b35d
Reviewed-on: https://skia-review.googlesource.com/73720
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2017-11-20 20:34:38 +00:00