Commit Graph

36926 Commits

Author SHA1 Message Date
Ben Wagner
71a2e00784 Fix bzl formatting.
No-Try: true
Bug: skia:8210
Change-Id: Id1efcb23b58bfff024d04d2a9b1ed3e9dd89cba7
Reviewed-on: https://skia-review.googlesource.com/156001
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
2018-09-20 20:10:28 +00:00
Ben Wagner
75d6db7c79 Properly align inside GrTextBlob.
In particular, on 32 bit machines GrTextBlob::Run may have higher
alignment requirements than the types which are stored before it in the
slab allocation. This sometimes manifests in unaligned access errors
when drawing an odd number of glyphs.

Change-Id: I6445001b3b3f1401eb53d988efd4cba835a100db
Reviewed-on: https://skia-review.googlesource.com/155980
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2018-09-20 20:04:28 +00:00
Robert Phillips
be852e44ef Revert "add getAlphaf() to pixmap/bitmap"
This reverts commit f3ebd312f2.

Reason for revert: unhappy bots

Original change's description:
> add getAlphaf() to pixmap/bitmap
> 
> Convenient for just extracting alpha (and more efficient than getColor()) and
> works for super-normal formats w/o loss of precision.
> 
> Somewhat inspired by examining multiple chrome call-sites for getColor(), where
> chrome only really cared about the alpha. This new method runs about twice
> as fast as getColor() for the simple cases (i.e. no colorspace xforms), and
> even faster in the complex cases (since retrieving alpha doesn't care about
> colorspaces).
> 
> Bug: skia:
> Change-Id: I7cd5a2c7f78de781aaa69dd1aa0dba3c532fcb73
> Reviewed-on: https://skia-review.googlesource.com/155606
> Commit-Queue: Mike Reed <reed@google.com>
> Reviewed-by: Mike Klein <mtklein@google.com>

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

Change-Id: I82ce00c09d16bf3e9b04f1c1bccd8cc6aa706ab2
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/156000
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2018-09-20 19:48:08 +00:00
Jim Van Verth
c79b5dd351 Check for valid input to text draw.
Bug: oss-fuzz:8821
Change-Id: I170b64f97cd7189f8dbe3982b8dcc47afcb14cde
Reviewed-on: https://skia-review.googlesource.com/155940
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2018-09-20 19:36:36 +00:00
Mike Reed
f3ebd312f2 add getAlphaf() to pixmap/bitmap
Convenient for just extracting alpha (and more efficient than getColor()) and
works for super-normal formats w/o loss of precision.

Somewhat inspired by examining multiple chrome call-sites for getColor(), where
chrome only really cared about the alpha. This new method runs about twice
as fast as getColor() for the simple cases (i.e. no colorspace xforms), and
even faster in the complex cases (since retrieving alpha doesn't care about
colorspaces).

Bug: skia:
Change-Id: I7cd5a2c7f78de781aaa69dd1aa0dba3c532fcb73
Reviewed-on: https://skia-review.googlesource.com/155606
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-09-20 19:25:22 +00:00
Florin Malita
268707284d [skottie] GM exercising external font loading
Sets up a fake web font loader which serves a local/resource font to
the sample text animation.

Also rename resources/skotty/skotty_* -> resources/skottie/skottie_*.

Change-Id: I4af5b24fc3cc5c63c78801979f9be56744047134
Reviewed-on: https://skia-review.googlesource.com/155881
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-09-20 19:05:35 +00:00
Mike Klein
a85838c22e send SkPMColor::toPMColor() through Sk4f_toL32()
This doesn't fix that 8888 gradient if we stop clamping,
but it seems like a good idea to land first anyway.

Change-Id: Ie0feda67da5996223db2fe4458f99d57cf13db71
Reviewed-on: https://skia-review.googlesource.com/155782
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-09-20 19:01:17 +00:00
Robert Phillips
e0e8393e10 Disable LCD text when drawing SkPictureImageFilter content
Bug: 878874
Change-Id: I6c1e4a024014079dfdca5d8082acc43640049f85
Reviewed-on: https://skia-review.googlesource.com/155922
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2018-09-20 18:57:47 +00:00
Brian Osman
2cbf12c333 Always use portable fonts in image filter test
Bug: skia:
Change-Id: I94defb54899bba4c2ef54bc970d5f35d12073788
Reviewed-on: https://skia-review.googlesource.com/155923
Auto-Submit: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-09-20 18:52:18 +00:00
Mike Klein
983886e573 add interp-in-premul case to GM
Change-Id: I9811c76c3db38d5ab49ba0312e433aa46744df05
Reviewed-on: https://skia-review.googlesource.com/155781
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2018-09-20 18:36:21 +00:00
Jim Van Verth
0f1bb92097 Add new PolyUtils benches
Bug: skia:
Change-Id: I62f02a122b431e6c9a866e80c441f3e18b1e69fb
Reviewed-on: https://skia-review.googlesource.com/155842
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2018-09-20 18:34:20 +00:00
Hal Canary
23564b9249 SkDocument: Factories now located in SkPDFDocument.h and SkXPSDocument.h
Change-Id: I48e73b27e52511292c2c0bd51ef0168766f53a80
Reviewed-on: https://skia-review.googlesource.com/152780
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2018-09-20 18:21:07 +00:00
Hal Canary
8b354dca8c SkPDF: draw persepctive rectangles
Improvement to following render tests:
    gradients_view_perspective_nodither
    gradients_view_perspective
    persp_shaders_aa
    persp_shaders_bw
    poly2poly

Bug: chromium:884150
Change-Id: Ie0dd45e7756aa15af2f3c3855ceca1d3141844d6
Reviewed-on: https://skia-review.googlesource.com/155880
Auto-Submit: Hal Canary <halcanary@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2018-09-20 17:47:43 +00:00
Brian Osman
1cf418b4d0 Some SkPM4f cleanup
Bug: skia:
Change-Id: I6a06b2ff951b9a1319c40b16b33840e220fecc37
Reviewed-on: https://skia-review.googlesource.com/155900
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-09-20 17:47:02 +00:00
Ben Wagner
0d96a4bc71 Remove SkAutoTCallIProc.
No longer used anywhere.

Change-Id: I029d0caf1bb60ba3e77761648193c01d39c37183
Reviewed-on: https://skia-review.googlesource.com/155843
Commit-Queue: Hal Canary <halcanary@google.com>
Auto-Submit: Ben Wagner <bungeman@google.com>
Reviewed-by: Hal Canary <halcanary@google.com>
2018-09-20 17:42:02 +00:00
Mike Klein
6d0e566e94 have SkConvertPixels use SkColorSpaceXformSteps
This ought to allow the fast paths in more cases, e.g. memcpy() when
both src and dst are the same format.  Today if we tag a dst color space
at all, we'll think we need to fall back to the general case pipeline.

Some refactoring too, but no big functional change beyond using steps.

Change-Id: I8fa01025229e3b9418e7f43241a2f03628a97288
Reviewed-on: https://skia-review.googlesource.com/155640
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-09-20 17:35:22 +00:00
skia-autoroll
d3419a685e Roll third_party/externals/angle2 d511948b9f82..52ea49706fd7 (1 commits)
d511948b9f..52ea49706f


git log d511948b9f82..52ea49706fd7 --date=short --no-merges --format='%ad %ae %s'
2018-09-20 jmadill@chromium.org Vulkan: Enable a few BufferDataTests.


Created with:
  gclient setdep -r third_party/externals/angle2@52ea49706fd7

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=reed@google.com

Change-Id: I29fdae1b8f14a2cfcb4649771f2e693f5d4e5cb5
Reviewed-on: https://skia-review.googlesource.com/155860
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2018-09-20 17:19:21 +00:00
Brian Osman
1b15198557 Fix/simplify equal_pixels
Luckily without maxDiff, we can completely remove the buggy
implementation of diff().

Bug: skia:
Change-Id: I365fb6e595e3b670950a016bcb8ee553d85a8b75
Reviewed-on: https://skia-review.googlesource.com/155844
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-09-20 17:10:23 +00:00
Hal Canary
c9873a5f8b Document headers: IWYU
Change-Id: If0c5b7d540d9f5980b30ff4209c57f8c57421282
Reviewed-on: https://skia-review.googlesource.com/155761
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2018-09-20 16:07:02 +00:00
Joe Gregorio
e9326bebdf Use new build targets in continuous build of skottie and debugger.
The new targets were added here: https://skia-review.googlesource.com/c/buildbot/+/155820

Bug: skia:
Change-Id: Iac387fb033cf66dff353efb83f52a442b3441539
Reviewed-on: https://skia-review.googlesource.com/155841
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
2018-09-20 15:26:18 +00:00
Brian Osman
653c6b5b8e Remove (unused) GrBlend.cpp, and some GrColor helpers
Bug: skia:
Change-Id: I9a99cb28fd239371ca21b4a918e802606afe9da0
Reviewed-on: https://skia-review.googlesource.com/155840
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2018-09-20 15:25:17 +00:00
Mike Klein
7b11354810 add a bot that oughta fail
Change-Id: Ifcd32b5cf4000c34567a7643dc294d39611d9f42
Reviewed-on: https://skia-review.googlesource.com/155780
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2018-09-20 14:39:02 +00:00
skia-autoroll
52c63fdabb Roll third_party/externals/swiftshader 25c541e51cbd..2ecc8b712b08 (1 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/25c541e51cbd..2ecc8b712b08


git log 25c541e51cbd..2ecc8b712b08 --date=short --no-merges --format='%ad %ae %s'
2018-09-20 loganchien@google.com Add SWIFTSHADER prefix to Android.mk variables


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

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=reed@google.com

Change-Id: I6e2ecab40c6c07842cc8d5f3a2696d0e605064a6
Reviewed-on: https://skia-review.googlesource.com/155720
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2018-09-20 02:51:32 +00:00
Florin Malita
4054351369 [skottie] Add support for external font loading
Web fonts are quite common in Lottie text assets.  Expand the
ResourceProvider interface to allow loading of external (web) font data.

Fonts are passed back to Skottie as opaque SkData, and instantiated
using SkFontMgr::makeFromData().

Change-Id: Ia4c994bd60e6a3bd47c90172c267ed5f897a38e4
Reviewed-on: https://skia-review.googlesource.com/155601
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Ben Wagner <bungeman@google.com>
2018-09-20 02:01:28 +00:00
skia-autoroll
6c1a7f2c78 Roll third_party/externals/angle2 5c72f28d1a3f..d511948b9f82 (6 commits)
5c72f28d1a..d511948b9f


git log 5c72f28d1a3f..d511948b9f82 --date=short --no-merges --format='%ad %ae %s'
2018-09-19 jmadill@chromium.org Use FastVector in angle::Subject.
2018-09-19 jmadill@chromium.org Fix FastVector::resize when count < size.
2018-09-19 oetuaho@nvidia.com Fix trying to clear nonexistent FBO attachments
2018-09-19 jmadill@chromium.org Re-land "Add FastVector for simple dynamic vector cases."
2018-09-19 tobine@google.com Remove writeResource down readPixels path
2018-09-19 oetuaho@nvidia.com Add ANGLE_multiview_multisample


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

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=reed@google.com

Change-Id: I71ae054407a86936af1082fb3cb7e0777ca929fc
Reviewed-on: https://skia-review.googlesource.com/155700
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2018-09-19 22:23:59 +00:00
Ben Wagner
d89e811684 SkImageGeneratorCG.h to only expose factory method.
Instead of requiring the implementation details of the SkImageGenerator
which backs the CG image generator to be present in the header, move the
class into the implementation and only expose the factory method.

Change-Id: I728276ffcfb6bb4e7302280459a79210e8d67475
Reviewed-on: https://skia-review.googlesource.com/155611
Commit-Queue: Ben Wagner <bungeman@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Hal Canary <halcanary@google.com>
2018-09-19 21:20:35 +00:00
Michael Ludwig
bf6bf39edb Increase precision for two point gradient coordinates.
This can be seen in these failing gold images:
https://gold.skia.org/detail?test=gradients_local_perspective_nodither&digest=52ef69138d81fcb58f4439b2d5903f45

Zooming in on the 2nd from the bottom, rightmost gradient shows a
solid red line in the blue border region (due to overflow and then
being clamped to the wrong border). The 2nd rightmost gradient in
the same row also shows extra red at the bottom from similar overflow.

The former error appears now because the GPU pipeline didn't previously
render that gradient at all. The latter appears now because the refactor
for gradients changed where clamping of texture coordinates occurred.

Bug: skia:
Change-Id: If2a886eaae4e8817a205d9bb77cf092b97d27c84
Reviewed-on: https://skia-review.googlesource.com/155610
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2018-09-19 21:20:05 +00:00
Hal Canary
92c500b111 SkPDF: draw persepctive text
This improves the gm output on several gms:
    dftext_blob_persp
    dftext
    glyph_pos_h_f
    glyph_pos_n_f
    poly2poly
    shadertext2

Bug: chromium:884150
Change-Id: I16899f32ac2a8e7afdd2452017de6d27656679e7
Reviewed-on: https://skia-review.googlesource.com/155609
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Auto-Submit: Hal Canary <halcanary@google.com>
2018-09-19 21:03:25 +00:00
Hal Canary
912cd3d2e4 SkImageGeneratorWIC: make the header compile without src/.
SkTScopedComPtr.h is located in src/utils/win/.

Change-Id: If2f3a28d7427e9a2e196272ce07f303de4d613ca
Reviewed-on: https://skia-review.googlesource.com/155562
Commit-Queue: Hal Canary <halcanary@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
Auto-Submit: Hal Canary <halcanary@google.com>
2018-09-19 20:31:47 +00:00
Brian Osman
9369031fde GrColor -> SkColor in one GM
Bug: skia:
Change-Id: I71ea8f4275c2eb89dd88b7abf501b71e37469785
Reviewed-on: https://skia-review.googlesource.com/155605
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-09-19 20:05:22 +00:00
Herb Derby
cf370b1fc1 Clean up GPU strike sk_sp
Change-Id: Icece7d2e34307a52e58b195ba964d981999e15d1
Reviewed-on: https://skia-review.googlesource.com/155642
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2018-09-19 20:03:22 +00:00
Nodir Turakulov
473b40b7ca Populate repo_path_map
checkout/api.py populates patch_projects mapping which has no effect.
All of its usages were migrated to repo_path_map mapping.
Populate repo_path_map instead.

R=rmistry@chromium.org

Bug: 694348
Change-Id: I4fc6fe86565f75f4b4b5b5ca041f584d30fcd8a5
Reviewed-on: https://skia-review.googlesource.com/155632
Auto-Submit: Nodir Turakulov <nodir@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2018-09-19 19:59:21 +00:00
Mike Reed
5d032ecb8f Revert "always optimize third_party code"
This reverts commit c766370d86.

Reason for revert: speculative -- trying to fix Debian breaks (pdf?)

Original change's description:
> always optimize third_party code
> 
> Change-Id: I5b2244460a4760e9336640f597d0f74c374a0d04
> Reviewed-on: https://skia-review.googlesource.com/155641
> Commit-Queue: Mike Klein <mtklein@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>
> Auto-Submit: Mike Klein <mtklein@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>

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

Change-Id: I5467c95f9487c31e6f538f13579e490cdaeeee2e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/155607
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-09-19 19:55:58 +00:00
Brian Osman
a5c578ff3d Add Short4 vertex attributes, and benchmark them as 4.12 colors
This reverts commit 90d2d9381e.

Updated to use float in the shader (many ES2 implementations
don't support integral types as attributes).

Bug: skia:
Change-Id: I0898f1730da60ff03f8165b2f1a3ee18a7b2fec8
Reviewed-on: https://skia-review.googlesource.com/155162
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-09-19 18:56:49 +00:00
Brian Osman
133823d9a7 Load SVGs into memory before parsing
On my Z840, Windows-Clang-Debug, this cuts the total time to construct
(parse) the 72 SVG sources from 66 seconds to 40 seconds. That's still
awful, but all the time is now spent in expat, so further improvements
will require higher level changes.

Bug: skia:
Change-Id: I0dca67ee18652f6fb8647fe8706716d9a01f7cdf
Reviewed-on: https://skia-review.googlesource.com/155603
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-09-19 18:35:59 +00:00
Brian Osman
4a3f5c8141 Remove hacks for UShort2 texture coords
Plumb GPU type down for binding of vertex attributes in GL. Use that
to select between float and int versions of VertexAttribPointer.

For client code that was relying on the strange behavior of UShort2,
use shader caps to pick the appropriate GrSLType.

Bug: skia:
Change-Id: If52ea49e0a5667246687e90e088d0823dbedb921
Reviewed-on: https://skia-review.googlesource.com/155401
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-09-19 18:10:55 +00:00
Mike Klein
c766370d86 always optimize third_party code
Change-Id: I5b2244460a4760e9336640f597d0f74c374a0d04
Reviewed-on: https://skia-review.googlesource.com/155641
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2018-09-19 18:09:55 +00:00
Hal Canary
8a00144035 test,tools: whitespace changes for clang-format
Change-Id: I67529f6c0ac26da603f60af22c620f8f603d8a19
Reviewed-on: https://skia-review.googlesource.com/155564
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
Auto-Submit: Hal Canary <halcanary@google.com>
2018-09-19 17:50:51 +00:00
Mike Klein
8f6cd824d2 update clang_linux to Clang 7
Change-Id: I4f311b21de42b9f0689b9a0a488728e34ea4d332
Reviewed-on: https://skia-review.googlesource.com/155563
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2018-09-19 15:57:06 +00:00
Hal Canary
c2d0fb17de include: whitespace changes for clang-format
Change-Id: I76ab59d963cebf6cbb450e1873c3e0c63f3f2da0
Reviewed-on: https://skia-review.googlesource.com/155560
Commit-Queue: Hal Canary <halcanary@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Auto-Submit: Hal Canary <halcanary@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2018-09-19 14:54:57 +00:00
Mike Klein
9e7f50435c Revert "Reland "implement SkPixmap::getPixel() with this->readPixels().""
This reverts commit 1d6281d4bb.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> Reland "implement SkPixmap::getPixel() with this->readPixels()."
> 
> This is a reland of 0944ae8afb
> 
> Original change's description:
> > implement SkPixmap::getPixel() with this->readPixels().
> > 
> > Yet another big old switch statement I don't want to maintain.
> > 
> > Once again, I think this at least makes it explicit that we're
> > returning an SkColor in the colorspace of the pixmap.
> > 
> > Change-Id: I34aa7312c0a1670910586fc5a4b1951275e73e2e
> > Reviewed-on: https://skia-review.googlesource.com/154864
> > Reviewed-by: Brian Osman <brianosman@google.com>
> > Commit-Queue: Mike Klein <mtklein@google.com>
> 
> Change-Id: I07b0b11922a393072961edc7771d7a972ca1fd13
> Reviewed-on: https://skia-review.googlesource.com/155166
> Reviewed-by: Mike Klein <mtklein@google.com>
> Commit-Queue: Mike Klein <mtklein@google.com>

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

Change-Id: I79bb37236a0a51097e1ab3bea9b5895adc974045
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/155561
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-09-19 14:39:31 +00:00
Hal Canary
27c8404d87 IWYU: three files
Change-Id: I7d4fefeafce06145818c607b28b30887a52acc74
Reviewed-on: https://skia-review.googlesource.com/155501
Auto-Submit: Hal Canary <halcanary@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2018-09-19 14:21:55 +00:00
Brian Salomon
f723264833 Revert "Revert "Reland "Add ability to specify different GP textures for each mesh in a draw."""
This reverts commit cd7907b57d.

Readds optimization to draw single texture quads using GrPrimitiveType::kTriangles, non-indexed.

Removes disable on NVIDIA/VK as bounds issue was fixed here:
https://skia.googlesource.com/skia/+/c525d4f7101715d728fca1b7fd7f170115994646

Change-Id: Icbea3de0382c68318db8ecffb2244bc4c5fe84ad
Reviewed-on: https://skia-review.googlesource.com/155500
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2018-09-19 13:42:06 +00:00
skia-autoroll
19b674c5d4 Roll third_party/externals/angle2 dc8fb9374e0a..5c72f28d1a3f (1 commits)
dc8fb9374e..5c72f28d1a


git log dc8fb9374e0a..5c72f28d1a3f --date=short --no-merges --format='%ad %ae %s'
2018-09-19 jgilbert@mozilla.com Remove unused include global_state.h from validationEGL.cpp.


Created with:
  gclient setdep -r third_party/externals/angle2@5c72f28d1a3f

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=reed@google.com

Change-Id: Ia85aae9d0407525ce034164a5774d04c99efcd73
Reviewed-on: https://skia-review.googlesource.com/155460
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2018-09-19 13:21:35 +00:00
skia-autoroll
0ff03808e3 Roll third_party/externals/angle2 0fdb956d9c24..dc8fb9374e0a (6 commits)
0fdb956d9c..dc8fb9374e


git log 0fdb956d9c24..dc8fb9374e0a --date=short --no-merges --format='%ad %ae %s'
2018-09-19 ynovikov@chromium.org Revert "Add FastVector for simple dynamic vector cases."
2018-09-19 jie.a.chen@intel.com Improve dirtybits for compute
2018-09-19 jie.a.chen@intel.com ParallelCompile: Parallelize shader translation
2018-09-18 jmadill@chromium.org Add FastVector for simple dynamic vector cases.
2018-09-18 jmadill@chromium.org Log Renderer string on Android displays.
2018-09-18 jmadill@chromium.org More binding inlining.


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

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=reed@google.com

Change-Id: Ic49081c0f227017ea562e8caed49b467e89cee54
Reviewed-on: https://skia-review.googlesource.com/155421
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2018-09-19 03:27:55 +00:00
Ben Wagner
774b566c13 Revert "Reland "implement SkPixmap::erase() with draws""
This reverts commit 4a9631c186.

Reason for revert: Chrome for Android in roll?
https://chromium-review.googlesource.com/c/chromium/src/+/1231494

Original change's description:
> Reland "implement SkPixmap::erase() with draws"
> 
> This is a reland of 42f29f1181
> 
> The original had to be reverted because of a buggy Chromium unit test,
> now fixed.  I also took the opportunity to implement this with SkDraw
> rather than SkCanvas.
> 
> Original change's description:
> > implement SkPixmap::erase() with draws
> >
> > I don't want to have to maintain yet another switch on SkColorType.
> >
> > This should also make color management a bit clearer?
> >
> > Change-Id: I1508e0c30670b1987972f7eeba2dd6d23591c531
> > Reviewed-on: https://skia-review.googlesource.com/154862
> > Commit-Queue: Mike Klein <mtklein@google.com>
> > Reviewed-by: Brian Osman <brianosman@google.com>
> 
> Change-Id: I6bc071e8a6025723d47f2ad5f6fb7f8fa5dccc2b
> Reviewed-on: https://skia-review.googlesource.com/155240
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Mike Klein <mtklein@google.com>

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

Change-Id: I1ce2ae01253e95da28f7d5b4bd82b59775e9fef8
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/155403
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2018-09-18 21:22:42 +00:00
Kevin Lubick
c03a86affc [CanvasKit] Add docs
No-Try: true
Docs-Preview: https://skia.org/?cl=155400
Bug: skia:
Change-Id: I08b14ffa569b2bff81287f854c493a4cedabb5bb
Reviewed-on: https://skia-review.googlesource.com/155400
Reviewed-by: Heather Miller <hcm@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2018-09-18 20:31:05 +00:00
Nigel Tao
81125c5643 Remove duplicate BUILD.gn configuration
There's another `if (skia_llvm_path != "")` about 40 lines down.

Bug: skia:
Change-Id: I490c0972367d0042e5f87868c0640cc106f6f6c2
Reviewed-on: https://skia-review.googlesource.com/154260
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2018-09-18 19:48:32 +00:00
Ben Wagner
d6931bb014 Work around FreeType issue with bitmap font and autohinter.
If a ttf font is bitmap only and autohinting is used and the no-bitmap
flag is used FreeType may return an empty outline glyph instead of
producing an error or a non-outline glyph. The way to work around this
at the moment is to first check if the face supports outlines. If it
does not then assume there is no outline.

Bug: skia:7878
Change-Id: I8f5c394f27fb2a55a359f2bdc55f957427f334bd
Reviewed-on: https://skia-review.googlesource.com/155362
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2018-09-18 19:16:02 +00:00
Cary Clark
6dcbb90025 fix conic fuzz
Avoid divide by zero in conic divide.
If the control point z value is zero, resulting
conic will have no weight, and control point value
will not affect conic; so any non-zero value will
work to avoid the zero divide.

R=kjlubick@google.com

Bug: oss-fuzz:10157
Change-Id: Ia0456ff6028559b4e1040725fea5f8bf4717e192
Reviewed-on: https://skia-review.googlesource.com/155320
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Auto-Submit: Cary Clark <caryclark@skia.org>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2018-09-18 18:29:31 +00:00