Commit Graph

35632 Commits

Author SHA1 Message Date
Timothy Liang
58f153db31 refactored where texture descriptors are made for metal gpu backend
Bug: skia:
Change-Id: Ic90660b5ad5c1e795cd768bb7471e9ac80a59f47
Reviewed-on: https://skia-review.googlesource.com/138999
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Timothy Liang <timliang@google.com>
2018-07-11 16:27:28 +00:00
Herb Derby
0421083a44 Use new SkGlyphIDSet - v2
Add bzero to make msan and valgrind happy.

Change-Id: I9b4e2f2b8e690da4b4b920fef27d5a8854092219
Reviewed-on: https://skia-review.googlesource.com/140563
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2018-07-11 16:08:58 +00:00
Mike Klein
c3a5419423 use from/to_srgb
Change-Id: I256dd98e1e918943195772954bc114e54b9325cd
Reviewed-on: https://skia-review.googlesource.com/140564
Commit-Queue: Mike Klein <mtklein@chromium.org>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Mike Klein <mtklein@chromium.org>
Reviewed-by: Brian Osman <brianosman@google.com>
2018-07-11 15:54:39 +00:00
Hal Canary
2267a09235 SkDEBUGF: use __VA_ARGS__
Change-Id: I42a47e821ff7a7f6cec65b38a8216cabbf0acfce
Reviewed-on: https://skia-review.googlesource.com/139860
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2018-07-11 15:40:18 +00:00
Kevin Lubick
22647d0e84 Adventures with Skia, WASM and a JS API for Pathkit
See shell.html::entrypoint() for the JS side of things.

See wasm_main.cpp for the C++ side of things
(EMSCRIPTEN_BINDINGS at the bottom is what glues the two parts
together - in general the strings are for JS and the not strings
are the C++)

To build this yourself, follow the getting started instructions:
https://kripken.github.io/emscripten-site/docs/getting_started/downloads.html

and download this patch.  Then, update compile.sh to point at your
sdk and run it (e.g. $SKIA_ROOT/experimental/wasm/compile.sh)

Then navigate a browser (e.g. Chrome) to
http://localhost:8000/out/wasm/pathkit.html

So far, can compile with compile.sh, but not really with
GN/ninja (the compilation into many object files and a link
at the end seems to mess emscripten up)


Bug: skia:
Change-Id: If6b300e2b102469e17841265c7866f1a81094d70
Reviewed-on: https://skia-review.googlesource.com/137422
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-07-11 15:38:08 +00:00
Cary Clark
1857ddbe21 propogate simple angles in pathops
If an edge is unsortable, its winding value is untrustworthy;
it cannot be added to the output on that alone. If one end
adjoins a trusted edge, and that edge is added to the output,
the untrusted edge can be added as well.

Also add in msvs debugging for angles.

With this change, all extended tests pass.

TBR=reed@google.com

Bug: skia:8125
Change-Id: I049c6efa2fa83edd7b49cdd598ec94c356481b0f
Reviewed-on: https://skia-review.googlesource.com/140562
Commit-Queue: Cary Clark <caryclark@skia.org>
Auto-Submit: Cary Clark <caryclark@skia.org>
Reviewed-by: Cary Clark <caryclark@skia.org>
2018-07-11 15:30:28 +00:00
Mike Klein
cd3e13a130 Reland "transform paint color to dst colorspace"
This is a reland of 6eb3621446

I've added an unbounded_uniform_color stage to allow lowp
to keep working when colors are in range and to force floats
when colors go out of range, most commonly in "narrow" config.

Original change's description:
> transform paint color to dst colorspace
>
> Hopefully I can start to knock off effects that need
> to be converted to dst colorspace one at a time now.
>
> My rough list is,
>    - paint color               <----
>    - image shader
>    - sprite blitter
>    - gradients?
>    - mode color filter
>    - lighting color filter
>    - high contrast filter
>    - toSRGB color filter
>
> This change cuts the diffs between 8888 and srgb from
> ~540 to ~500.
>
> I left myself a note about not being able to interpret null
> to sRGB at a high level yet.  That'd cause a ton of 8888 diffs,
> and I think SkColorSpaceXformCanvas diffs too.
>
> Change-Id: Id66a63e0e92130927f267719aeccb8bbcd92973a
> Reviewed-on: https://skia-review.googlesource.com/140244
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Mike Klein <mtklein@google.com>

Change-Id: I56dbf3ad3547d668e4b41f3126ef61d70b295f7c
Reviewed-on: https://skia-review.googlesource.com/140460
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2018-07-11 14:48:38 +00:00
Brian Osman
532b3f944a Remove clamping of kPlus with F16 configs
The most common use-case for F16 is to draw things that are explicitly
outside of [0,1]. We can't prevent out-of-range values in general, users
could just draw out-of-range content in src mode. We've decided that
it's best to avoid surprising behavior, and trust the user in these
situations.

This effectively reverts https://skia-review.googlesource.com/c/skia/+/48183

Bug: skia:
Change-Id: I71c2dd925c567e2862d96ab70c752f19245a69c4
Reviewed-on: https://skia-review.googlesource.com/140500
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-07-11 14:30:58 +00:00
Brian Osman
c87cfb674b Remove old lazy image decoding heuristic logic
This led to removing a lot of transfer function behavior code. There is
more that could be done, and we need to add in decoding to dst color
space, but this CL is almost entirely mechanical.

Change-Id: I91b2169f95aadcfaacdd2b9821bb1a01ce53f9a6
Reviewed-on: https://skia-review.googlesource.com/140349
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-07-11 14:07:08 +00:00
Greg Daniel
f730c1820f Reland "Reland "Make GrVkBackendContext no longer derive from SkRefCnt.""
This reverts commit 007267bdb5.

Reason for revert: Hopefully fuchsia is fixed this time

Original change's description:
> Revert "Reland "Make GrVkBackendContext no longer derive from SkRefCnt.""
> 
> This reverts commit 0db3a8846a.
> 
> Reason for revert: fuchsia change reverted
> 
> Original change's description:
> > Reland "Make GrVkBackendContext no longer derive from SkRefCnt."
> > 
> > This reverts commit 059a9ab4bc.
> > 
> > Reason for revert: Fix landed in Fuchsia
> > 
> > Original change's description:
> > > Revert "Make GrVkBackendContext no longer derive from SkRefCnt."
> > > 
> > > This reverts commit 93ae233773.
> > > 
> > > Reason for revert: <INSERT REASONING HERE>
> > > 
> > > Original change's description:
> > > > Make GrVkBackendContext no longer derive from SkRefCnt.
> > > > 
> > > > Also moves the helper Create functions to VkTestUtils since no clients
> > > > are using them anymore.
> > > > 
> > > > Bug: skia:
> > > > Change-Id: I7e8e4912e7ef6fb00a7e2a00407aed5e83211799
> > > > Reviewed-on: https://skia-review.googlesource.com/135323
> > > > Reviewed-by: Jim Van Verth <jvanverth@google.com>
> > > > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > > > Commit-Queue: Greg Daniel <egdaniel@google.com>
> > > 
> > > TBR=egdaniel@google.com,jvanverth@google.com,bsalomon@google.com
> > > 
> > > # Not skipping CQ checks because original CL landed > 1 day ago.
> > > 
> > > Bug: skia:
> > > Change-Id: If7201917631dc22753ea3fa6e9d2984463e38e4c
> > > Reviewed-on: https://skia-review.googlesource.com/137903
> > > Reviewed-by: Greg Daniel <egdaniel@google.com>
> > > Commit-Queue: Greg Daniel <egdaniel@google.com>
> > 
> > TBR=egdaniel@google.com,jvanverth@google.com,bsalomon@google.com
> > 
> > # Not skipping CQ checks because original CL landed > 1 day ago.
> > 
> > Bug: skia:
> > Change-Id: Ia4b7c0bb2c7b5dba809d85c69f0b41b473140526
> > Reviewed-on: https://skia-review.googlesource.com/138181
> > Reviewed-by: Greg Daniel <egdaniel@google.com>
> > Commit-Queue: Greg Daniel <egdaniel@google.com>
> 
> TBR=egdaniel@google.com,jvanverth@google.com,bsalomon@google.com
> 
> Change-Id: I3f7bc4a5e4e09512fe165303685c123ec3527e58
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:
> Reviewed-on: https://skia-review.googlesource.com/138422
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Greg Daniel <egdaniel@google.com>

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

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: skia:
Change-Id: I5705f1ae306707fe28559797e1bb8c2d57e12204
Reviewed-on: https://skia-review.googlesource.com/139000
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2018-07-11 13:54:57 +00:00
Brian Osman
d17444d5f3 Remove unused GrPixelConfig functions
Change-Id: I1847a96cb8253a8bd047c06d24cba92c8dc04667
Reviewed-on: https://skia-review.googlesource.com/140440
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-07-11 13:54:08 +00:00
Ruiqi Mao
4ec72f7cc7 added skeletal animation support to GPU backend
Pulled from reverted CL: https://skia-review.googlesource.com/c/skia/+/139282

Bug: skia:
Change-Id: Iad8e834aa5bbd085b2dee679cb343c5736c57907
Reviewed-on: https://skia-review.googlesource.com/140383
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ruiqi Mao <ruiqimao@google.com>
2018-07-11 13:46:08 +00:00
angle-skia-autoroll
2229b76258 Roll third_party/externals/angle2 569b9cb983b1..a6a7842fdbf5 (2 commits)
569b9cb983..a6a7842fdb


git log 569b9cb983b1..a6a7842fdbf5 --date=short --no-merges --format='%ad %ae %s'
2018-07-11 jiawei.shao@intel.com ES31: Support atomic functions on D3D11 - Part I
2018-07-10 jmadill@chromium.org dEQP: Implement platform error handling.


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

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

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

Change-Id: I233115b2a07edc1d830ac761a7c413ac9a563d12
Reviewed-on: https://skia-review.googlesource.com/140421
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-07-11 09:16:26 +00:00
skia-bookmaker
61cc9fabf2 Update markdown files
Automatic commit by the Housekeeper-Nightly-Bookmaker bot.

TBR=rmistry@google.com
NO_MERGE_BUILDS

Change-Id: Iac5668f8ebfa3dece2cdd77c7a9c852e76944005
Reviewed-on: https://skia-review.googlesource.com/140408
Reviewed-by: <skia-bookmaker@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-bookmaker@skia-swarming-bots.iam.gserviceaccount.com>
2018-07-11 05:55:35 +00:00
angle-skia-autoroll
e8d674dd7c Roll third_party/externals/angle2 d8b1c5c5bba2..569b9cb983b1 (16 commits)
d8b1c5c5bb..569b9cb983


git log d8b1c5c5bba2..569b9cb983b1 --date=short --no-merges --format='%ad %ae %s'
2018-07-10 fjhenigman@chromium.org Fix run_code_generation.py hash calculation.
2018-07-10 theoking@google.com Enabled Vulkan backend on as many tests as possible
2018-07-10 geofflang@chromium.org Vulkan: Support RGB/BGR backbuffers emulated on RGBA/BGRA.
2018-07-10 jmadill@chromium.org Vulkan: Apply driver uniforms descriptor set.
2018-07-10 jmadill@chromium.org Vulkan: Add driver uniforms to shader.
2018-07-10 jmadill@chromium.org translator: Refactor interface block layout qualifiers.
2018-07-10 tobine@google.com Roll Vulkan repos fwd as of 7/10
2018-07-10 jmadill@chromium.org Vulkan: Fix last parameter of viewport driver uniform.
2018-07-10 lucferron@chromium.org Vulkan: Fix all depth/stencil related failures due to Y flip
2018-07-10 jmadill@chromium.org SwapchainD3D: Take Display instead of Context.
2018-07-10 jmadill@chromium.org D3D: Move Incomplete Textures to Context9/11.
2018-07-10 jmadill@chromium.org Surface: Don't use a BindingPointer for BindTexImage.
2018-07-10 lucferron@chromium.org Vulkan: Fix all copyTexImage/copySubTexImage cases with Y flip
2018-07-10 lucferron@chromium.org Vulkan: Fix for framebuffer blit and Y flip
2018-07-10 jmadill@chromium.org DisplayImpl: Make waitClient/waitNative non-const.
2018-07-10 cjacek@gmail.com Fix PMurHash.cpp mingw clang 64-bit compilation.


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

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

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

Change-Id: Iebaf9a1d04832289c9d8b3044ec562a299b81cf8
Reviewed-on: https://skia-review.googlesource.com/140420
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-07-11 00:08:25 +00:00
Ben Wagner
36fe60d19a Move SkRefSet / pipe code to smart pointer.
This clarifies the ownership and simplifies the code.

Change-Id: I18ce981aaabfdd4749a344276bd19d62aa2c3210
Reviewed-on: https://skia-review.googlesource.com/140350
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2018-07-10 23:36:05 +00:00
Herb Derby
83a355d698 Revert "Use new SkGlyphIDSet"
This reverts commit 819f73c23c.

Reason for revert: uninitialized memory - this is expected but

Original change's description:
> Use new SkGlyphIDSet
> 
> Change-Id: I6b8080393a22a56577528f66630ad39372edf712
> Reviewed-on: https://skia-review.googlesource.com/140243
> Commit-Queue: Herb Derby <herb@google.com>
> Reviewed-by: Mike Klein <mtklein@google.com>

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

Change-Id: I43e204520710738e9e8c84b0eb00260ca06fe6a2
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/140384
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2018-07-10 22:59:26 +00:00
Herb Derby
819f73c23c Use new SkGlyphIDSet
Change-Id: I6b8080393a22a56577528f66630ad39372edf712
Reviewed-on: https://skia-review.googlesource.com/140243
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-07-10 22:15:05 +00:00
Ben Wagner
02ca49fc46 Move SkWriteBuffer to smart pointers.
The fields fFactorySet and fTFSet and their setting member functions are
changed to use smart pointers instead of manually handling the reference
counting.

Change-Id: I7d8e9f3dff5a7b4770959c5cc143a3ac7289d108
Reviewed-on: https://skia-review.googlesource.com/140348
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2018-07-10 21:33:25 +00:00
Brian Osman
351f4daca4 Revert "transform paint color to dst colorspace"
This reverts commit 6eb3621446.

Reason for revert: UBSAN/ASAN failures

Original change's description:
> transform paint color to dst colorspace
> 
> Hopefully I can start to knock off effects that need
> to be converted to dst colorspace one at a time now.
> 
> My rough list is,
>    - paint color               <----
>    - image shader
>    - sprite blitter
>    - gradients?
>    - mode color filter
>    - lighting color filter
>    - high contrast filter
>    - toSRGB color filter
> 
> This change cuts the diffs between 8888 and srgb from
> ~540 to ~500.
> 
> I left myself a note about not being able to interpret null
> to sRGB at a high level yet.  That'd cause a ton of 8888 diffs,
> and I think SkColorSpaceXformCanvas diffs too.
> 
> Change-Id: Id66a63e0e92130927f267719aeccb8bbcd92973a
> Reviewed-on: https://skia-review.googlesource.com/140244
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Mike Klein <mtklein@google.com>

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

Change-Id: I31a17b6e70916c463d38488703cfade347c05f2b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/140382
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-07-10 20:42:06 +00:00
Joe Gregorio
383c9bbf0f Revert "added skeletal animation support to GPU backend"
This reverts commit d275ef501c.

Reason for revert: Failing to compile on debian9.

Original change's description:
> added skeletal animation support to GPU backend
> 
> Pulled from reverted CL: https://skia-review.googlesource.com/c/skia/+/138596
> 
> Bug: skia:
> Change-Id: Ie07f1c76bae65c219ebe93d071bb19f1a30100c2
> Reviewed-on: https://skia-review.googlesource.com/139282
> Reviewed-by: Brian Osman <brianosman@google.com>
> Reviewed-by: Robert Phillips <robertphillips@google.com>
> Commit-Queue: Ruiqi Mao <ruiqimao@google.com>

TBR=robertphillips@google.com,brianosman@google.com,ruiqimao@google.com

Change-Id: Ibc0da6ce16f078ff74a2c1bcab30750baff460f7
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/140381
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
2018-07-10 20:35:26 +00:00
Brian Salomon
1b112cc560 Revert "Remove interpolants are inaccurate workaround for Adreno 3xx."
This reverts commit a7a278205b.

Reason for revert: Chrome change had to be reverted because of new failures on Nexus 9 and 6P.

Original change's description:
> Remove interpolants are inaccurate workaround for Adreno 3xx.
> 
> The chrome screenshot unit test that led to adding this workaround has
> been adjusted to avoid testing AA edges of rendered rectangles. We're
> accepting the inaccuracy in favor of increased performance.
> 
> Chrome change: https://chromium-review.googlesource.com/c/chromium/src/+/1129041
> 
> Bug: chromium:847984
> Change-Id: I9b714ade2a67e956ebb2773ebe3b8632dc3a50c6
> Reviewed-on: https://skia-review.googlesource.com/140180
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>
> Auto-Submit: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>

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

Change-Id: Ic6b0e5a343556e59d144852f9fa5b561302f9781
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:847984
Reviewed-on: https://skia-review.googlesource.com/140380
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2018-07-10 20:34:26 +00:00
Ruiqi Mao
d275ef501c added skeletal animation support to GPU backend
Pulled from reverted CL: https://skia-review.googlesource.com/c/skia/+/138596

Bug: skia:
Change-Id: Ie07f1c76bae65c219ebe93d071bb19f1a30100c2
Reviewed-on: https://skia-review.googlesource.com/139282
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Ruiqi Mao <ruiqimao@google.com>
2018-07-10 20:25:55 +00:00
Brian Osman
c69c4410be Remove matrixconvolution GM hacks for linear blending
GMs now match betwen gl and glsrgb

Change-Id: Ibc6acf29d93d8bfab81a14be5d794d6e24844324
Reviewed-on: https://skia-review.googlesource.com/140346
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-07-10 20:14:05 +00:00
Mike Klein
b82edcc92b update (non-sprite) image shader color management
Just another little step...  diffs down to ~450 from ~500.

The A8 handling has changed a little, keeping the paint
color in sRGB just to make the append_misc() logic a bit
more streamlined.

I may want to refactor things a little later so that I can
get an easy signal to use to_srgb and from_srgb stages instead
of sending them through the generic parametric stages.

Change-Id: Iefff3206b06a3aa7d81f85fd169272b6ac9c20e0
Reviewed-on: https://skia-review.googlesource.com/140250
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-07-10 20:13:26 +00:00
Mike Klein
6eb3621446 transform paint color to dst colorspace
Hopefully I can start to knock off effects that need
to be converted to dst colorspace one at a time now.

My rough list is,
   - paint color               <----
   - image shader
   - sprite blitter
   - gradients?
   - mode color filter
   - lighting color filter
   - high contrast filter
   - toSRGB color filter

This change cuts the diffs between 8888 and srgb from
~540 to ~500.

I left myself a note about not being able to interpret null
to sRGB at a high level yet.  That'd cause a ton of 8888 diffs,
and I think SkColorSpaceXformCanvas diffs too.

Change-Id: Id66a63e0e92130927f267719aeccb8bbcd92973a
Reviewed-on: https://skia-review.googlesource.com/140244
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2018-07-10 20:08:50 +00:00
Ben Wagner
5d948228d9 Make SkTypefacePlayback use smart pointers.
This clarifies the ownership of the typefaces as well as removes a use
of SkRefCnt_SafeAssign which is currently a code smell.

Change-Id: I8fec541f71f555c2182b77870979ece87b501901
Reviewed-on: https://skia-review.googlesource.com/140249
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2018-07-10 20:03:46 +00:00
Brian Osman
1994f20d79 Merge "All" and "Default" path renderer options in viewer
This removes a confusing pair of radio buttons that were always in sync

Change-Id: I9bb2d4b944c1bba67f29f71e51c070c20b10d0ef
Reviewed-on: https://skia-review.googlesource.com/140242
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-07-10 20:03:45 +00:00
Herb Derby
3c9bfec0d5 Add field to directly pass glyphs when using glyph encoding
Change-Id: Iad7c9d7a801c961d2c5965012af16659d55a371c
Reviewed-on: https://skia-review.googlesource.com/140340
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2018-07-10 20:03:09 +00:00
Florin Malita
4b15dc202f [skottie] Fix polystar points distribution
Points start at bearing 0.

TBR=

Change-Id: I6798b1a5fb4709ab31b13ab76a78f49758e7eec6
Reviewed-on: https://skia-review.googlesource.com/140246
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-07-10 19:58:41 +00:00
Florin Malita
a7e78ee1d4 [skottie] Misc cleanup
* pass inline defaults
  * log expressions

TBR=
Change-Id: I5e3ab038d612c738abb1bcf35b4cc492b9aaa6c1
Reviewed-on: https://skia-review.googlesource.com/140240
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-07-10 19:58:40 +00:00
Eric Boren
d7425b1465 [infra] Determine Android device location based on bot ID
Bug: skia:
Change-Id: Ic68bbca59c2fd5d0ffd9bae29fe0f90e090e8b06
Reviewed-on: https://skia-review.googlesource.com/140342
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
2018-07-10 19:54:58 +00:00
Florin Malita
4cbfb30006 [skottie] Log (unsupported) layer effects
TBR=

Change-Id: Ia35e4110cb3c02339a38e82cd0f4516c7c58a5d9
Reviewed-on: https://skia-review.googlesource.com/140251
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-07-10 19:53:36 +00:00
Florin Malita
7f8a073fae [skottie] Fix spurious gradient error messages
The adapter apply() method can get called before stops resolution, so
only log when some stops are present.

TBR=

Change-Id: I8e336e2cff781a0e64de31e6b63f3cf373b2daa0
Reviewed-on: https://skia-review.googlesource.com/140245
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-07-10 19:53:36 +00:00
Eric Boren
25d05f55bc [infra] Remove Nexus 5x from CQ
Most of our capacity is gone.

NOTRY=true

Bug: skia:
Change-Id: I875767ffd41edbbd3f353e1fe361f8d4fe2d3017
Reviewed-on: https://skia-review.googlesource.com/140344
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
2018-07-10 19:34:13 +00:00
Herb Derby
b77822b444 Remove the SkGlyphRunInfo code
The SkGlyphRunInfo code caused most of the complication.
Maintaining the various different indices became
unwieldy.

Change-Id: Ia0a1259338c8572c57bb11d2407f5709459e0c72
Reviewed-on: https://skia-review.googlesource.com/140001
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-07-10 16:57:25 +00:00
Stan Iliev
1d784ceafa Revert "switched from NUM_SHADER_BINARY_FORMATS to NUM_PROGRAM_BINARY_FORMATS"
This reverts commit 8fe31406e9.

Reason for revert: ToT master Android is broken starting with ab/4882993, which is the first build with this change (previous build ab/4882954 works fine). The device booted and worked initially, but after the first reboot all drawing is mangled or missing.It seems there is a problem with loading cached shaders.

Original change's description:
> switched from NUM_SHADER_BINARY_FORMATS to NUM_PROGRAM_BINARY_FORMATS
> 
> Bug: b/110175245
> Change-Id: I6b843bc1e3c36bc32531705fc661788d4eef6d35
> Reviewed-on: https://skia-review.googlesource.com/140003
> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>

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

Change-Id: I35d388b3da1e3f421005d7b02ba1e0f0ede0ac84
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: b/110175245
Reviewed-on: https://skia-review.googlesource.com/140280
Reviewed-by: Stan Iliev <stani@google.com>
Commit-Queue: Stan Iliev <stani@google.com>
2018-07-10 15:42:55 +00:00
skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com
76cf60c06b Roll skia/third_party/skcms 8342d776db5a..ae6a7acc22e5 (1 commits)
https://skia.googlesource.com/skcms.git/+log/8342d776db5a..ae6a7acc22e5

2018-07-10 mtklein@chromium.org build as C++ the normal way


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

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

Change-Id: I0d1ad63556eaec6cb0ed73d668bf6a7584f5ea70
Reviewed-on: https://skia-review.googlesource.com/140166
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-07-10 15:28:24 +00:00
Cary Clark
1d314433ff fix line intersect divide by zero
Test filinmangust14 exposes two problems:
- finding top of contour can expose divide by zero
- joining partial contour results can add diagonal

The latter makes the test return the wrong result,
and has not been seen in other tests. The fix
is to join disconnected contours by only following
the contours provided as input. Working on that.

The former bug is more straight-forward; just
don't try to compute axis-aligned intersection
if the denominator is zero.

All existing tests prior to the new one work
with this change.

R=caryclark@google.com
Bug: skia:8125
Change-Id: Ic878d090066708d9baca8475f27d4d5aba2294cc
Reviewed-on: https://skia-review.googlesource.com/140121
Reviewed-by: Cary Clark <caryclark@skia.org>
Commit-Queue: Cary Clark <caryclark@skia.org>
Auto-Submit: Cary Clark <caryclark@skia.org>
2018-07-10 15:25:35 +00:00
Florin Malita
3be2e10ce5 [skottie] Ignore identity transforms
Some tranform properties are not optional, but many of them are static
identity.  Detect these cases and don't attach SG nodes for them.

Reduces the number of sksg::Matrix nodes by ~18%.

TBR=
Change-Id: Ia51c865d6928e8c48c73b30f6d45541caf334880
Reviewed-on: https://skia-review.googlesource.com/140186
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-07-10 15:07:04 +00:00
Robert Phillips
c100d48e42 Expand testing of SkMatrix::decomposeScale
Bug: skia:7211
Change-Id: If03ad1d364b33e174d91010ca250cd6c2d2f67c2
Reviewed-on: https://skia-review.googlesource.com/140185
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2018-07-10 15:01:11 +00:00
Herb Derby
45e27c8eed Remove run list code
Temporarily remove run list code to gut some
overly complicated code.

Change-Id: Ib12efc394c05dee391143b440b2fab5bba4f22ae
Reviewed-on: https://skia-review.googlesource.com/139865
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2018-07-10 14:57:55 +00:00
Brian Salomon
653f42f72a Deinline some GrPathRenderer method and one GrDrawingMananger method.
Removes circular dependencies from coming change.

Some IWYU fallout from removing #includes from GrPathRenderer.h and
GrDrawingManager.h

Bug: skia:
Change-Id: Ice377538e6d64b6a74a59e6140e1de9a58ab99bf
Reviewed-on: https://skia-review.googlesource.com/140181
Commit-Queue: Brian Salomon <bsalomon@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2018-07-10 14:56:05 +00:00
angle-skia-autoroll
c098f2bf2f Roll third_party/externals/angle2 26c61b24e667..d8b1c5c5bba2 (1 commits)
26c61b24e6..d8b1c5c5bb


git log 26c61b24e667..d8b1c5c5bba2 --date=short --no-merges --format='%ad %ae %s'
2018-07-10 oetuaho@nvidia.com Return ImmutableString from ArrayString()


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

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

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

Change-Id: I44bdb92aa11585f690b242934a4327ba7e7e5f72
Reviewed-on: https://skia-review.googlesource.com/140200
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-07-10 14:48:55 +00:00
Brian Salomon
a7a278205b Remove interpolants are inaccurate workaround for Adreno 3xx.
The chrome screenshot unit test that led to adding this workaround has
been adjusted to avoid testing AA edges of rendered rectangles. We're
accepting the inaccuracy in favor of increased performance.

Chrome change: https://chromium-review.googlesource.com/c/chromium/src/+/1129041

Bug: chromium:847984
Change-Id: I9b714ade2a67e956ebb2773ebe3b8632dc3a50c6
Reviewed-on: https://skia-review.googlesource.com/140180
Commit-Queue: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2018-07-10 13:52:04 +00:00
Florin Malita
e4db80f1a6 Enable Skottie on Android framework builds.
It no longer requires RapidJSON.

Change-Id: Ifded5ef8f7a5196067af1c043518f2a95b461d6e
Reviewed-on: https://skia-review.googlesource.com/135625
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-07-10 13:50:25 +00:00
Florin Malita
418e658a69 [skottie] Apply fully opaque masks as clips
We already have a clip optimization when there is only one opaque mask.

Extend to cover multiple opaque masks, using Merge scene nodes.

TBR=
Change-Id: I24b61f0c0d080b13438c6777e98a8e2fefd09fdd
Reviewed-on: https://skia-review.googlesource.com/140002
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-07-10 13:28:15 +00:00
angle-skia-autoroll
6d98257725 Roll third_party/externals/angle2 c2136b67f69d..26c61b24e667 (10 commits)
c2136b67f6..26c61b24e6


git log c2136b67f69d..26c61b24e667 --date=short --no-merges --format='%ad %ae %s'
2018-07-09 theoking@google.com Vulkan: Fix to unset NULL Driver after tests
2018-07-09 tobine@google.com Roll Vulkan repos fwd as of 7/3
2018-07-09 jmadill@chromium.org Vulkan: Add driver uniforms set.
2018-07-09 jmadill@chromium.org Vulkan: Roll SPIRV-Tools and SPIRV-Headers.
2018-07-09 jmadill@chromium.org Vulkan: Make DynamicDescriptorPool single pool.
2018-07-09 geofflang@chromium.org Vulkan: Support EGL_ANGLE_surface_orientation for vertical surface flipping.
2018-07-09 jmadill@chromium.org Return an Error from ContextImpl::syncState.
2018-07-09 tobine@google.com Skip noop draws in the frontend
2018-07-09 lucferron@chromium.org Vulkan: Flip on Y, fix for MaxTextureSizeTests
2018-07-09 lucferron@chromium.org Vulkan: Fix how the viewport is calculated with Y flip


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

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

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

Change-Id: If65dd8ad05b47aa4f8dfe097e9e19b61fe94b4bf
Reviewed-on: https://skia-review.googlesource.com/140080
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-07-10 03:34:14 +00:00
Brian Osman
e0a9962b12 Interpolate patch vertices in destination color space
Change-Id: I4e1403eb63370f5e61283ed4a504fb352368adc0
Reviewed-on: https://skia-review.googlesource.com/139862
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-07-09 23:35:59 +00:00
recipe-roller
4ee7067f80 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
depot_tools:
  https://crrev.com/c3975e55e1465d9d9320ae67889f0b057c7d7ec3 Allow using pipes to specify properties for buildbucket.py (sergiyb@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I8164b8754b9b2f4021121418436dbe10f9f6280d
Reviewed-on: https://skia-review.googlesource.com/140060
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
2018-07-09 23:05:09 +00:00