Commit Graph

36778 Commits

Author SHA1 Message Date
skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com
167e1ea5bc Roll skia/third_party/skcms 52df767ea52b..710aa46f904e (1 commits)
https://skia.googlesource.com/skcms.git/+log/52df767ea52b..710aa46f904e

2018-09-12 mtklein@google.com fix broken test


The AutoRoll server is located here: https://autoroll.skia.org/r/skcms-skia-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.



CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel
TBR=caryclark@google.com

Change-Id: I470a32907291f2d5c929a6a0fd16af9f7000e7d2
Reviewed-on: https://skia-review.googlesource.com/154075
Reviewed-by: skcms-skia-autoroll <skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: skcms-skia-autoroll <skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
2018-09-12 20:26:21 +00:00
Michael Ludwig
4f94ef6cbd Reland "Base Gradient FP Refactor"
This reverts commit 1ea5656a28.

Reason for revert: Fixed google3 build failure

Original change's description:
> Revert "Base Gradient FP Refactor"
> 
> This reverts commit 10f7a1e075.
> 
> Reason for revert: broke google3 roll
> Original change's description:
> > Base Gradient FP Refactor
> > 
> > --
> > 
> > Redefines how gradients will be written in the GPU back-end:
> > 
> > They are split into three fragment processor components: master, layout, and colorizer.
> > The layout FP is responsible for converting the fragment position into an interpolant value, t.
> > Each high-level gradient--such as linear, radial, etc.--are implemented solely in a layout FP.
> > The colorizer FP is responsible for converting t into a color.
> > The master FP invokes the layout, clamps t into the proper domain, and then invokes the colorizer.
> > GrGradientShader provides factory functions to create FP graphs from SkGradientShader instances.
> > This pattern is documented in gpu/gradients/README.md.
> > 
> > Goals for current CL
> > ====================
> > 
> > Outline the FP components by providing .fp implementations for the simplest gradients.
> > Defines a two-color single interval colorizer and a linear gradient layout, and the master effect.
> > A MakeLinear() factory function is provided that can convert SkGradientShaders that fit these constraints.
> > SkLinearGradient first attempts to use the new system, falling back to the original GrGradientEffect.
> > 
> > Future CLs
> > ==========
> > 
> > To keep the CL reviews manageable, additional dependent CLs will be added that gradually replace past functionality.
> > A CL for each layout will be defined.
> > CLs for the different analytic colorizer cases and the textured gradient case will be defined.
> > Once the new system supports all current layouts and colorizer capabilities, all old GPU gradient code will be removed.
> > After this clean-up, analytic colorization can hopefully be expanded to reduce the usage of textured gradients.
> > 
> > Bug: skia:
> > Change-Id: Iafe7b8b4071491a71c473babcd7bedda659150c1
> > Reviewed-on: https://skia-review.googlesource.com/148120
> > Commit-Queue: Michael Ludwig <michaelludwig@google.com>
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
> 
> TBR=bsalomon@google.com,michaelludwig@google.com
> 
> Change-Id: Ib735e323795ac8874cb00b007a915786b50517a6
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:
> Reviewed-on: https://skia-review.googlesource.com/153600
> Reviewed-by: Cary Clark <caryclark@google.com>
> Commit-Queue: Cary Clark <caryclark@google.com>

TBR=bsalomon@google.com,caryclark@google.com,michaelludwig@google.com

Change-Id: Ibf6ffbcb1af0dfbdac7317151aeb08f18f84c7fd
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/153887
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2018-09-12 20:20:32 +00:00
swiftshader-skia-autoroll
b98fb5b082 Roll third_party/externals/swiftshader fe79649598fb..d7a21ccd41ce (1 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/fe79649598fb..d7a21ccd41ce


git log fe79649598fb..d7a21ccd41ce --date=short --no-merges --format='%ad %ae %s'
2018-09-12 nicolas.capens@gmail.com Add Windows configs for LLVM 7.0.


Created with:
  gclient setdep -r third_party/externals/swiftshader@d7a21ccd41ce

The AutoRoll server is located here: https://autoroll.skia.org/r/swiftshader-skia-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Debian9-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
TBR=caryclark@google.com

Change-Id: I4c7437972cadbef366e4a4576ac8a6fc28ae54c2
Reviewed-on: https://skia-review.googlesource.com/154140
Reviewed-by: swiftshader-skia-autoroll <swiftshader-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: swiftshader-skia-autoroll <swiftshader-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
2018-09-12 19:58:28 +00:00
Florin Malita
d661474866 Improved SkPath packing
sizeof(SkPath): 24 -> 16 (on 64bit)

Change-Id: Iea0d363b70209eb984c816f9fba59c461fe42cec
Reviewed-on: https://skia-review.googlesource.com/154041
Reviewed-by: Mike Klein <mtklein@google.com>
2018-09-12 19:39:40 +00:00
Eric Boren
858f648bda [infra] Update recipe deps, fix usage of bot_update
Bug: skia:
Change-Id: I3829035a33a3bf147dd4ca90a0a45443a5b28eb6
Reviewed-on: https://skia-review.googlesource.com/154042
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
2018-09-12 18:58:29 +00:00
Cary Clark
b8e125281d Revert "remove SK_SUPPORT_LEGACY_TYPEFACE_MAKEFROMSTREAM"
This reverts commit 558fabb31c.

Reason for revert: flutter hasnt rolled into fuschia so this breaks fuschia

Original change's description:
> remove SK_SUPPORT_LEGACY_TYPEFACE_MAKEFROMSTREAM
> 
> ... now that Brian updated Flutter's callsites
> 
> Bug: skia:8350
> Change-Id: I5ae72700125e09d84392eee8045c9602f718909a
> Reviewed-on: https://skia-review.googlesource.com/153901
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>
> Auto-Submit: Mike Reed <reed@google.com>

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

Change-Id: I263e3c7694895ac85dc71a785832e7fb89dc81de
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:8350
Reviewed-on: https://skia-review.googlesource.com/154081
Reviewed-by: Cary Clark <caryclark@skia.org>
Commit-Queue: Cary Clark <caryclark@skia.org>
2018-09-12 18:55:00 +00:00
Joe Gregorio
b78becc40c Fix container builder command line.
The gcloud commands have moved.

Bug: skia:
Change-Id: I2af39ccfe0efe121766b7b0e2fe3cdb8cd8c4012
Reviewed-on: https://skia-review.googlesource.com/154040
Auto-Submit: Joe Gregorio <jcgregorio@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-09-12 18:44:59 +00:00
Mike Klein
fd007644c8 revise p3 GM
I've added a little auto-grader.
I think it's logic makes sense, but I'd appreciate fresh eyes on it.

Now with anti-aliased text.

Change-Id: I43a6d69251d4d93fbd70533f5c4d1cc281e4498b
Reviewed-on: https://skia-review.googlesource.com/154000
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2018-09-12 17:56:54 +00:00
Brian Osman
567f4fd019 Add F16 test-case to all_bitmap_configs
Currently, this won't draw on GPU backends that don't have F16 support.

Bug: skia:8375
Change-Id: Ie1975e7503384a8233ddfb5135452bb8cdc406f3
Reviewed-on: https://skia-review.googlesource.com/153888
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-09-12 17:44:25 +00:00
Robert Phillips
5e4e5451ff Expand SkPath fuzzer
Bug: 882423
Change-Id: Ib1599c84798de74b9e7ecefffb47f22fd12f5a8f
Reviewed-on: https://skia-review.googlesource.com/153889
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2018-09-12 17:25:25 +00:00
Hal Canary
7d06ab2932 SkPDF: do all rasterScale calculations in one place.
This is just clearer to me.

Change-Id: I4fb512cf70ceac39417d8d6020e707f4436ec209
Reviewed-on: https://skia-review.googlesource.com/153663
Commit-Queue: Hal Canary <halcanary@google.com>
Auto-Submit: Hal Canary <halcanary@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
2018-09-12 17:17:27 +00:00
Florin Malita
16322637c4 [sksg] Trim down sksg::Matrix size
Matrix nodes are most often not composed outside of the DAG.  Split into
a basic Matrix class and a (private) ComposedMatrix subclass.

TBR=
Bug: skia:8340
Change-Id: I3c182e10ae5fa20d0639c1031523dba3956b75bb
Reviewed-on: https://skia-review.googlesource.com/153883
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-09-12 15:28:18 +00:00
Mike Reed
558fabb31c remove SK_SUPPORT_LEGACY_TYPEFACE_MAKEFROMSTREAM
... now that Brian updated Flutter's callsites

Bug: skia:8350
Change-Id: I5ae72700125e09d84392eee8045c9602f718909a
Reviewed-on: https://skia-review.googlesource.com/153901
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Mike Reed <reed@google.com>
2018-09-12 15:23:48 +00:00
Brian Osman
2700abc4cb Remove raw-data version of createTextureProxy
This had poorly defined semantics in the world of DDL, and was only used
for a handful of GMs and tests. Switch those to use the SkImage version.

Bug: skia:
Change-Id: I2bec65c7547b2c904bd7f57a6296aacc0f7b4ed2
Reviewed-on: https://skia-review.googlesource.com/153886
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-09-12 15:00:46 +00:00
Mike Reed
c3d8a48f1b allow path.add(path) safely
Bug: 882423
Change-Id: Ied2ad2d5dfdf00af8f3ba722b522e9602fea5557
Reviewed-on: https://skia-review.googlesource.com/153260
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2018-09-12 14:29:18 +00:00
Greg Daniel
b2acf0a939 Add unit test to test basic importing and drawing of AHardwareBuffers.
Bug: skia:
Change-Id: If601693109148a7d5c6e6855443a3401c36e5f01
Reviewed-on: https://skia-review.googlesource.com/153545
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2018-09-12 13:40:54 +00:00
Mike Reed
7728e91188 change language for pathkit
No-Try: true
Docs-Preview: https://skia.org/?cl=153900
Bug: skia:
Change-Id: Ie5771211d6a706976c1ab7082e68677bdceef42d
Reviewed-on: https://skia-review.googlesource.com/153900
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-09-12 13:40:34 +00:00
Brian Osman
1348ed0566 Revert "Revert "Add Adreno workaround for MSAA + stencil + ReadPixels""
This reverts commit 29868f9ebd.

Bug: skia:
Change-Id: I08eca74124bb696513aea00aaf466fbdf4a571fd
Reviewed-on: https://skia-review.googlesource.com/153881
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2018-09-12 13:32:01 +00:00
Peter Collingbourne
77b02f69f2 SkRemoteGlyphCache: Make serialization code bitness agnostic.
With this change we use the same serialization regardless of whether
we are targeting a 32-bit or a 64-bit machine.

Bug: chromium:865796, chromium:880617, chromium:879123
Change-Id: Ia8e5757a4e8e3986041e30827eaaa154595c37ba
Reviewed-on: https://skia-review.googlesource.com/141606
Auto-Submit: Peter Collingbourne <pcc@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Khusal Sagar <khushalsagar@chromium.org>
2018-09-12 13:13:24 +00:00
Robert Phillips
bfd45adb2c Loosen up assert in SkImage_Gpu::asTextureProxyRef
In the DDL world, the actual constraint is that the contexts have
the same ID. The old version was catching the case where an already
instantiated SkImage_Gpu was being drawn into a DDL.

Bug: 882457
Change-Id: I09ac0d5e176e8de5f5089d11d7495766c92f2450
Reviewed-on: https://skia-review.googlesource.com/153665
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2018-09-12 13:05:27 +00:00
Brian Osman
29868f9ebd Revert "Add Adreno workaround for MSAA + stencil + ReadPixels"
This reverts commit 4421550562.

Reason for revert: GMs crashing

Original change's description:
> Add Adreno workaround for MSAA + stencil + ReadPixels
> 
> Should fix the CCPR bot.
> 
> Bug: skia:
> Change-Id: I2f1671913afe8751165b0f04503bd220cef682a1
> Reviewed-on: https://skia-review.googlesource.com/153671
> Reviewed-by: Robert Phillips <robertphillips@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>

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

Change-Id: Ia865166f0566a3037c8a8dec2db7b2d7f477c798
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/153880
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-09-12 13:01:57 +00:00
Brian Osman
4421550562 Add Adreno workaround for MSAA + stencil + ReadPixels
Should fix the CCPR bot.

Bug: skia:
Change-Id: I2f1671913afe8751165b0f04503bd220cef682a1
Reviewed-on: https://skia-review.googlesource.com/153671
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-09-12 12:46:05 +00:00
angle-skia-autoroll
e70aed7066 Roll third_party/externals/angle2 2da04538b4ff..8370e6bcb369 (3 commits)
2da04538b4..8370e6bcb3


git log 2da04538b4ff..8370e6bcb369 --date=short --no-merges --format='%ad %ae %s'
2018-09-11 jmadill@chromium.org Rename constant to kCubeFaceCount.
2018-09-11 fjhenigman@chromium.org Vulkan: allow a list of fallback formats.
2018-09-11 ianelliott@google.com Fix compilation error and memory leak


Created with:
  gclient setdep -r third_party/externals/angle2@8370e6bcb369

The AutoRoll server is located here: https://autoroll.skia.org/r/angle-skia-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE
TBR=caryclark@google.com

Change-Id: I546d597ac01c70c87da18f963ba9819c6dfe9555
Reviewed-on: https://skia-review.googlesource.com/153682
Reviewed-by: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
2018-09-12 03:40:58 +00:00
Kevin Lubick
1b5ece0f06 Add mesa_intel_driver asset and dockerfile for creating
This deletes the previous hand-built drivers and the
distinction between a debug and non-debug driver.

Bug: skia:
Change-Id: Ia733783d703da803f76361c61b938d9ce70c88f0
Reviewed-on: https://skia-review.googlesource.com/150163
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
2018-09-11 21:30:33 +00:00
Florin Malita
97df5dcb37 [sksg] Stop caching full SkPaints in Paint nodes
Create on the fly, when needed.

TBR=
Bug: skia:8340
Change-Id: I4c319821a6d6e84e0ec37e8858c4a89ba1668626
Reviewed-on: https://skia-review.googlesource.com/153141
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-09-11 21:14:25 +00:00
Brian Osman
ea30810348 Initialize bitmaps to different colors, to avoid flaky success
This has been passing on devices where the readPixels is failing,
because the bitmaps sometimes start out with the same contents.

Bug: skia:
Change-Id: I4bbe2274807184720c559871e6035f436e4f6e51
Reviewed-on: https://skia-review.googlesource.com/153670
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2018-09-11 21:01:20 +00:00
Florin Malita
f2ade42f3c [skottie] Shrink SkPaths
TBR=
Bug: skia:8340
Change-Id: Iafd5f60c3802e999da4f3629975aa317ae722243
Reviewed-on: https://skia-review.googlesource.com/153561
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-09-11 20:59:20 +00:00
Florin Malita
0e0f1a71da SkPath::shrinkToFit docs
Add header and .bmh docs for shrinkToFit().

Also remove SkPath::debugging_private_getFreeSpace() and refactor tests
to use (friended) helper classes.

Docs-Preview: https://skia.org/?cl=153668
Change-Id: I3f93f9561b25025ce04a81d5e2f0271295b3daad
Reviewed-on: https://skia-review.googlesource.com/153668
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-09-11 20:43:22 +00:00
Herb Derby
90c7d9b10e Determine too-big-for-atlas in common code
Currently the serialization code decides if the
glyph is too big for the atlas. This should be
decided by the common code.

Misc cleanups

Change-Id: I1c32103afdb23a28cc370726cc0a725446caec27
Reviewed-on: https://skia-review.googlesource.com/152592
Reviewed-by: Khusal Sagar <khushalsagar@chromium.org>
Commit-Queue: Herb Derby <herb@google.com>
2018-09-11 20:12:02 +00:00
Derek Sollenberger
1821a5becd Supress warnings about implicit fallthrough in Android.
Change-Id: I3e55c2641b53f284f16658370a18d165b678cc36
Reviewed-on: https://skia-review.googlesource.com/153667
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Chih-hung Hsieh <chh@google.com>
Commit-Queue: Derek Sollenberger <djsollen@google.com>
Auto-Submit: Derek Sollenberger <djsollen@google.com>
2018-09-11 19:49:29 +00:00
Cary Clark
99ebc428b8 fixup bookmaker
add placeholders for SkPath::shrinkToFit, debugging_private_getFreeSpace

TBR=fmalita@chromium.org,reed@google.com
NOTRY=true
Docs-Preview: https://skia.org/?cl=153669
Bug: skia:
Change-Id: I69b34a37dcdd7425e62d34e3b9a55981db354502
Reviewed-on: https://skia-review.googlesource.com/153669
Auto-Submit: Cary Clark <caryclark@skia.org>
Commit-Queue: Cary Clark <caryclark@skia.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Cary Clark <caryclark@skia.org>
2018-09-11 19:44:25 +00:00
Mike Klein
aa5fc159f9 use getColor4f() in raster pipeline blitter
Change-Id: I08ac2bfc05efcd16c57e1782287d44eec7a63606
Reviewed-on: https://skia-review.googlesource.com/153642
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2018-09-11 19:39:35 +00:00
swiftshader-skia-autoroll
dfda5e3bd2 Roll third_party/externals/swiftshader 17b75890e71a..fe79649598fb (1 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/17b75890e71a..fe79649598fb


git log 17b75890e71a..fe79649598fb --date=short --no-merges --format='%ad %ae %s'
2018-09-11 slan@google.com Update BUILD.gn configs to support ARM[64] builds.


Created with:
  gclient setdep -r third_party/externals/swiftshader@fe79649598fb

The AutoRoll server is located here: https://autoroll.skia.org/r/swiftshader-skia-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Debian9-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
TBR=caryclark@google.com

Change-Id: I0492c22d30cd10cd7e816d5bcb6d641a8d9af2b0
Reviewed-on: https://skia-review.googlesource.com/153681
Reviewed-by: swiftshader-skia-autoroll <swiftshader-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: swiftshader-skia-autoroll <swiftshader-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
2018-09-11 19:30:25 +00:00
Mike Klein
8f5a7a6f50 first start on a P3 GM
We don't have anything drawing colors outside sRGB,
but now that we've got SkPaint::setColor4f(), that's easy.

Looks like we have lots of work to do.

Pin GrColor4f floats before converting to unsigned.
Underflowing floats would get pinned to 255 spuriously
instead of to 0.  I think this fixes the failing CQ
bot, and the white square problem.

Change-Id: I866963ff026e6ab891b4c7d57decc43538000099
Reviewed-on: https://skia-review.googlesource.com/153640
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2018-09-11 19:17:06 +00:00
Jim Van Verth
e6146bd7be Fix float overflow in shadow tessellator
Bug: skia:
Change-Id: Idc133df4ed8ed0922a756023365c9106c0efcf8b
Reviewed-on: https://skia-review.googlesource.com/153666
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Cary Clark <caryclark@google.com>
2018-09-11 18:57:02 +00:00
angle-skia-autoroll
17c66940d0 Roll third_party/externals/angle2 0d0fb43f34ee..2da04538b4ff (2 commits)
0d0fb43f34..2da04538b4


git log 0d0fb43f34ee..2da04538b4ff --date=short --no-merges --format='%ad %ae %s'
2018-09-11 oetuaho@nvidia.com Add sampler2DMSArray support to HLSL output
2018-09-11 chrome-bot@chromium.org DEPS: Remove the need for angle_root.


Created with:
  gclient setdep -r third_party/externals/angle2@2da04538b4ff

The AutoRoll server is located here: https://autoroll.skia.org/r/angle-skia-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE
TBR=caryclark@google.com

Change-Id: I211ee1d4d3ec02d25d6f1e47f341f98c14e58ca9
Reviewed-on: https://skia-review.googlesource.com/153680
Reviewed-by: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
2018-09-11 18:47:56 +00:00
Florin Malita
3d413c5761 Reland: add SkPath::shrinkToFit
Original CL: https://skia-review.googlesource.com/c/skia/+/150967

  * expanded tests
  * fixed shared pathref copying

Change-Id: I4bfe89f597485aa2db68f58d99112188615faceb
Reviewed-on: https://skia-review.googlesource.com/153553
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
Auto-Submit: Florin Malita <fmalita@chromium.org>
2018-09-11 18:33:00 +00:00
Brian Salomon
efa6bcb022 Make GrAAConvexTessellator bail on paths that map to inf/nan in device space.
This makes us avoid hitting assertions when computing normals.

We could be better and clip but have to be careful about strokes.

Bug: 882609
Change-Id: I6550e7f8b912021fb8dfbcad7a03151dfb272b11
Reviewed-on: https://skia-review.googlesource.com/153664
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2018-09-11 17:59:57 +00:00
Jim Van Verth
fb18639804 Set ambient stroke to full width of blur.
Gives better blur behavior around corners and looks more like an
actual blur. Also removed the color members, as they're mostly
constant.

Bug: skia:7971
Change-Id: I22a5dcb93da1f39040148ca6ddb391844382cc73
Reviewed-on: https://skia-review.googlesource.com/153280
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2018-09-11 17:23:16 +00:00
Jim Van Verth
b7c955199a Fix some overflowing integers in SkPolyUtils
Bug: oss-fuzz:10293
Change-Id: If3a98e60081ebef7bdc8460fce4fa682245c68cc
Reviewed-on: https://skia-review.googlesource.com/153661
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2018-09-11 17:16:17 +00:00
Cary Clark
5831e11133 fix another pathmeasure fuzz
Delete the cache of measurements if the total
length is not computable (NaN), since the individual
measurements may cause other failures later, like
finding the initial segment position.

R=kjlubick@google.com

Bug: skia:8373
Change-Id: Ibf58c261c46a5535a0a1f12cbeb94da29e33f471
Reviewed-on: https://skia-review.googlesource.com/153601
Commit-Queue: Cary Clark <caryclark@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Auto-Submit: Cary Clark <caryclark@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2018-09-11 16:27:27 +00:00
Cary Clark
1ea5656a28 Revert "Base Gradient FP Refactor"
This reverts commit 10f7a1e075.

Reason for revert: broke google3 roll
Original change's description:
> Base Gradient FP Refactor
> 
> --
> 
> Redefines how gradients will be written in the GPU back-end:
> 
> They are split into three fragment processor components: master, layout, and colorizer.
> The layout FP is responsible for converting the fragment position into an interpolant value, t.
> Each high-level gradient--such as linear, radial, etc.--are implemented solely in a layout FP.
> The colorizer FP is responsible for converting t into a color.
> The master FP invokes the layout, clamps t into the proper domain, and then invokes the colorizer.
> GrGradientShader provides factory functions to create FP graphs from SkGradientShader instances.
> This pattern is documented in gpu/gradients/README.md.
> 
> Goals for current CL
> ====================
> 
> Outline the FP components by providing .fp implementations for the simplest gradients.
> Defines a two-color single interval colorizer and a linear gradient layout, and the master effect.
> A MakeLinear() factory function is provided that can convert SkGradientShaders that fit these constraints.
> SkLinearGradient first attempts to use the new system, falling back to the original GrGradientEffect.
> 
> Future CLs
> ==========
> 
> To keep the CL reviews manageable, additional dependent CLs will be added that gradually replace past functionality.
> A CL for each layout will be defined.
> CLs for the different analytic colorizer cases and the textured gradient case will be defined.
> Once the new system supports all current layouts and colorizer capabilities, all old GPU gradient code will be removed.
> After this clean-up, analytic colorization can hopefully be expanded to reduce the usage of textured gradients.
> 
> Bug: skia:
> Change-Id: Iafe7b8b4071491a71c473babcd7bedda659150c1
> Reviewed-on: https://skia-review.googlesource.com/148120
> Commit-Queue: Michael Ludwig <michaelludwig@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>

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

Change-Id: Ib735e323795ac8874cb00b007a915786b50517a6
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/153600
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Cary Clark <caryclark@google.com>
2018-09-11 15:51:56 +00:00
Hal Canary
9f61f40ffa SkPDF: Device subclass no longer tracks size.
Change-Id: I13ad631a80d3ca2f4ad5bb2db21d670444650b0f
Reviewed-on: https://skia-review.googlesource.com/153140
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
2018-09-11 15:26:22 +00:00
Hal Canary
2473d94720 SkPDF: allocate for single Canvas
Change-Id: I852717b30c687c1f2bba38cfa7ab59780b61c1f5
Reviewed-on: https://skia-review.googlesource.com/153100
Auto-Submit: Hal Canary <halcanary@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
2018-09-11 15:04:51 +00:00
Michael Ludwig
10f7a1e075 Base Gradient FP Refactor
--

Redefines how gradients will be written in the GPU back-end:

They are split into three fragment processor components: master, layout, and colorizer.
The layout FP is responsible for converting the fragment position into an interpolant value, t.
Each high-level gradient--such as linear, radial, etc.--are implemented solely in a layout FP.
The colorizer FP is responsible for converting t into a color.
The master FP invokes the layout, clamps t into the proper domain, and then invokes the colorizer.
GrGradientShader provides factory functions to create FP graphs from SkGradientShader instances.
This pattern is documented in gpu/gradients/README.md.

Goals for current CL
====================

Outline the FP components by providing .fp implementations for the simplest gradients.
Defines a two-color single interval colorizer and a linear gradient layout, and the master effect.
A MakeLinear() factory function is provided that can convert SkGradientShaders that fit these constraints.
SkLinearGradient first attempts to use the new system, falling back to the original GrGradientEffect.

Future CLs
==========

To keep the CL reviews manageable, additional dependent CLs will be added that gradually replace past functionality.
A CL for each layout will be defined.
CLs for the different analytic colorizer cases and the textured gradient case will be defined.
Once the new system supports all current layouts and colorizer capabilities, all old GPU gradient code will be removed.
After this clean-up, analytic colorization can hopefully be expanded to reduce the usage of textured gradients.

Bug: skia:
Change-Id: Iafe7b8b4071491a71c473babcd7bedda659150c1
Reviewed-on: https://skia-review.googlesource.com/148120
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2018-09-11 14:52:55 +00:00
Brian Osman
bd65955441 Remove SkImageCacherator entirely
It was just the slice of SkImage_Lazy's API that we needed to expose to
GrImageTextureMaker. Instead, give SkImage_Lazy a header, so that the
maker can use it directly.

Change-Id: Iea6198f63e8065b8c987f7c07f3222409cdda439
Reviewed-on: https://skia-review.googlesource.com/153546
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-09-11 14:24:32 +00:00
swiftshader-skia-autoroll
b42a897819 Roll third_party/externals/swiftshader 6dafcf32ec41..17b75890e71a (12 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/6dafcf32ec41..17b75890e71a


git log 6dafcf32ec41..17b75890e71a --date=short --no-merges --format='%ad %ae %s'
2018-09-11 loganchien@google.com Add LLVM 7.0 Android.mk
2018-09-11 loganchien@google.com Add LLVM 7.0 ARM/AArch64 backend to CMakeLists.txt
2018-09-11 loganchien@google.com Move atomicExchange under PERF_PROFILE
2018-09-11 loganchien@google.com Add the unimplemented non-x86 code generator
2018-09-11 loganchien@google.com Port SwiftShader to LLVM 7.0
2018-09-11 loganchien@google.com Add LLVM 7.0 configs for Linux and Android
2018-09-11 loganchien@google.com Add LLVM 7.0 config generation script
2018-09-11 loganchien@google.com Add LLVM 7.0 git submodule
2018-09-11 loganchien@google.com Refactor LLVM initialization code
2018-09-11 loganchien@google.com Wrap call arguments with ARGS macro
2018-09-11 loganchien@google.com Remove sw::Value, sw::BasicBlock, and sw::SwitchCases
2018-09-11 loganchien@google.com Remove stale LLVM include path


Created with:
  gclient setdep -r third_party/externals/swiftshader@17b75890e71a

The AutoRoll server is located here: https://autoroll.skia.org/r/swiftshader-skia-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Debian9-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
TBR=caryclark@google.com

Change-Id: I8830af571a79033dc5b26845586309726c7089db
Reviewed-on: https://skia-review.googlesource.com/153500
Reviewed-by: swiftshader-skia-autoroll <swiftshader-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: swiftshader-skia-autoroll <swiftshader-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
2018-09-11 13:10:19 +00:00
Mike Klein
b83891433f just zero flags
This memset() zeroes more than is really needed.
All these fields will be overwritten eventually,
unless we early return where none of them are used.

Change-Id: Ibb75ae8853eab81251a8995bb9d681689187e727
Reviewed-on: https://skia-review.googlesource.com/153262
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-09-11 12:37:25 +00:00
Cary Clark
58aa824dda fix pathmeasure fuzz
distanceToSegment can return NaN

R=kjlubick@google.com

Bug: skia:
Change-Id: Iaafe5712bbf416058c8c5066a46300858c12ce4b
Reviewed-on: https://skia-review.googlesource.com/153494
Auto-Submit: Cary Clark <caryclark@skia.org>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2018-09-11 12:31:19 +00:00
angle-skia-autoroll
2bf7a7bcc6 Roll third_party/externals/angle2 63aa0e5b7001..0d0fb43f34ee (1 commits)
63aa0e5b70..0d0fb43f34


git log 63aa0e5b7001..0d0fb43f34ee --date=short --no-merges --format='%ad %ae %s'
2018-09-11 jmadill@chromium.org Pass unpack buffer as explicit parameter to texSubImage.


Created with:
  gclient setdep -r third_party/externals/angle2@0d0fb43f34ee

The AutoRoll server is located here: https://autoroll.skia.org/r/angle-skia-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE
TBR=caryclark@google.com

Change-Id: I3975b0f0537c8fb9f0594da50807cd933a7340e0
Reviewed-on: https://skia-review.googlesource.com/153401
Reviewed-by: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
2018-09-11 09:54:30 +00:00