Commit Graph

45966 Commits

Author SHA1 Message Date
skia-autoroll
f5cde33d58 Roll skia/third_party/skcms ec78f685becd..25234a0a9c2c (1 commits)
https://skia.googlesource.com/skcms.git/+log/ec78f685becd..25234a0a9c2c

git log ec78f685becd..25234a0a9c2c --date=short --first-parent --format='%ad %ae %s'
2020-01-02 mtklein@google.com update skcms bot packages

Created with:
  gclient setdep -r skia/third_party/skcms@25234a0a9c2c

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/skcms-skia-autoroll
Please CC nifong@google.com,mtklein@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

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

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

Cq-Include-Trybots: luci.chromium.try:linux-blink-rel
Bug: None
Change-Id: Idaa7ef26f88e2c24d08683f1d0fdd5a24d616383
Tbr: nifong@google.com,mtklein@google.com
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261939
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-01-02 17:57:46 +00:00
Brian Osman
ee426f223f Move SkRuntimeEffect.h to include/effects
Change-Id: I0b11d4210c6e663cfb4854fc33e1396fd79fe9a4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261780
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2020-01-02 17:37:46 +00:00
Brian Osman
1bf3199970 Fix asserts in SkRuntimeEffect color filter benchmarks
The interpreter doesn't (yet) support all GPU intrinsics, so adjust the
code to avoid 'max' and 'saturate'.

The interpreter is more picky about uniform blocks being the correct
size, so don't pass the color matrix data to the "None" effect, which
has no uniforms.

Change-Id: I4609f913eaa762ca171b2875eb25d23141a0646c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261931
Auto-Submit: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2020-01-02 17:19:51 +00:00
Ben Wagner
c2b6d7f50b Enable Vulkan Debug layers
Bug: skia:8709
Change-Id: Ie7033d4545df10011af1c1f207bce9ceaff829c0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/187921
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Ben Wagner aka dogben <benjaminwagner@google.com>
Auto-Submit: Ben Wagner aka dogben <benjaminwagner@google.com>
2020-01-02 17:15:46 +00:00
Mike Klein
250138d95c reland "clarify that there's no kMedium here"
Manual reland of https://skia-review.googlesource.com/c/skia/+/261765,
still a no-op.

Change-Id: Ie243c279db352c18945c0410f8795f881012577a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261924
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-01-02 17:14:46 +00:00
Mike Klein
f6a715bb10 Reland "pass more information to shaders"
This is a reland of 4f275cfe0e

Original change's description:
> pass more information to shaders
> 
> If we're going to write an image shader, we're going to need to know the
> matrix and some bits of the paint.
> 
> Instead of all possible information, I decided to pass just what the
> image shader needs for now, and will pass along more as I go.
> 
> I've added a stub implementation of SkImageFilter as a way to make sure
> I'm threading everything it'll need through.
> 
> Change-Id: I98de1724056dbc0902a34fc31da8ec6bdf38dc34
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261801
> Commit-Queue: Mike Klein <mtklein@google.com>
> Reviewed-by: Mike Reed <reed@google.com>

Change-Id: I2541903ad559fe8b584e46b1e9d68ec804b7a15d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261779
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-01-02 15:43:46 +00:00
Brian Osman
4ee635638f Add SkRuntimeEffect::makeColorFilter
Updated internal usage of SkRuntimeColorFilterFactory to use this
instead. Once this lands, we can update SkiaRenderer in Chrome to
use it, and remove SkRuntimeColorFilterFactory.

This doesn't support a CPU callback function in the runtime color
filter - I don't think we're going to support that in the long term.

Change-Id: I714413bd590cf5cf4416ef62809a6e1d92211688
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261681
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2020-01-02 15:01:46 +00:00
Brian Salomon
94724c6594 Fix GrColorMatrixFragmentProcessor handling of premul transparent black.
Use the original alpha in the unpremul color.

Bug: chromium:1024935
Change-Id: I6a721431781f0ef42a3f162d39f8bbac924a2c30
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261680
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2020-01-02 14:55:06 +00:00
Ben Wagner
b9137be12f Fix asan_device_setup path
https://skia-review.googlesource.com/c/skia/+/225483 updated only one of
two paths. Define them in the same place.

Change-Id: I6d517368f6a703d7c8cd4def6fa227a602dc0ffc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261289
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Auto-Submit: Ben Wagner aka dogben <benjaminwagner@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2020-01-02 14:21:46 +00:00
Kevin Lubick
b6a3b7db70 [canvaskit] Update compile.sh with initial code size findings
make profile can be used with bloaty [1] and twiggy [2]

Some example commands for investigating code size:

    bloaty ./canvaskit/bin/canvaskit.wasm -d symbols
    bloaty ./canvaskit/bin/canvaskit.wasm -d sections

    twiggy top -n 50 --retained ./canvaskit/bin/canvaskit.wasm
    twiggy monos ./canvaskit/bin/canvaskit.wasm -g -m 40
    # Let's pretend we have a symbol called
    # AddIntersectTs(SkOpContour*, SkOpContour*, SkOpCoincidence*)
    # that we want to investigate further
    twiggy dominators --regex ./canvaskit/bin/canvaskit.wasm AddIntersectTs.+
    twiggy paths --regex ./canvaskit/bin/canvaskit.wasm AddIntersectTs.+


[1] https://github.com/google/bloaty
[2] https://rustwasm.github.io/book/reference/code-size.html#the-twiggy-code-size-profiler

Bug: skia:9733
Change-Id: I4a665fe2c750da552fee1dbf804ce0028a06c6c3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261903
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2020-01-02 14:05:45 +00:00
Ben Wagner
da11774fcc [infra] Handle failure from addr2line
An error from addr2line (e.g. unknown binary type) can truncate the
output, hiding the remainder of the stack trace. Instead print the
original line.

Change-Id: I563aae4333a79a17560378e399e79b60c79f9ac7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261288
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Auto-Submit: Ben Wagner aka dogben <benjaminwagner@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2020-01-02 13:16:16 +00:00
Bryce Thomas
0d423a60eb Add instructions for compiling CanvasKit and viewing example page.
Bug: NONE
Change-Id: I135d8a341a10e9cda13b0b49518375acb838080f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261825
Reviewed-by: Brian Osman <brianosman@google.com>
2020-01-02 13:04:27 +00:00
skia-autoroll
d81bc733ae Roll ../src e0db4afcadab..81693dc9aabc (33 commits)
e0db4afcad..81693dc9aa


Created with:
  gclient setdep -r ../src@81693dc9aa

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-skia-autoroll
Please CC nifong@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

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

Cq-Include-Trybots: skia/skia.primary:Perf-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia/skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
Bug: None
Tbr: nifong@google.com
Change-Id: Icb6bb2904bde6464df200acb3277ea350920a85b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261896
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-01-02 04:32:25 +00:00
skia-autoroll
1eccf285a2 Roll third_party/externals/angle2 942d91520aa8..cbbfa2f28a0e (1 commits)
942d91520a..cbbfa2f28a

git log 942d91520aa8..cbbfa2f28a0e --date=short --first-parent --format='%ad %ae %s'
2019-12-31 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/SwiftShader 59465799210b..10a900e5ffaf (1 commits)

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

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-skia-autoroll
Please CC nifong@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

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

Cq-Include-Trybots: skia/skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Bug: None
Tbr: nifong@google.com
Change-Id: I2ae44734f5501c21ebefc3574896d23d3863f438
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261876
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-01-01 04:58:14 +00:00
skia-autoroll
4872790d10 Roll ../src 39f22a4ba7a2..e0db4afcadab (60 commits)
39f22a4ba7..e0db4afcad


Created with:
  gclient setdep -r ../src@e0db4afcad

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-skia-autoroll
Please CC nifong@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

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

Cq-Include-Trybots: skia/skia.primary:Perf-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia/skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
Bug: None
Tbr: nifong@google.com
Change-Id: Ia7b7c440f78b34e65e000c71f6f926b3902a5f77
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261877
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2020-01-01 04:31:44 +00:00
skia-autoroll
45d19fe063 Roll third_party/externals/angle2 fca5a005aa88..942d91520aa8 (5 commits)
fca5a005aa..942d91520a

git log fca5a005aa88..942d91520aa8 --date=short --first-parent --format='%ad %ae %s'
2019-12-30 m.maiya@samsung.com EGL: Add support for EGL_KHR_gl_colorspace extension
2019-12-30 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/vulkan-headers/src 0e57fc1cfa56..f63dd5c9d874 (1 commits)
2019-12-30 syoussefi@chromium.org Vulkan: clean up arguments to glslang wrapper
2019-12-30 syoussefi@chromium.org Avoid vector copy in BinaryOutputStream::writeIntVector
2019-12-30 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/glslang/src 5de15a256eb0..6334d594f68c (4 commits)

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

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-skia-autoroll
Please CC nifong@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

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

Cq-Include-Trybots: skia/skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Bug: None
Tbr: nifong@google.com
Change-Id: I8fde6ff7a14b6cf920adc3a622685a46615dc173
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261823
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-12-31 04:36:52 +00:00
skia-autoroll
ea492c9119 Roll third_party/externals/swiftshader 59465799210b..10a900e5ffaf (1 commits)
https://swiftshader.googlesource.com/SwiftShader.git/+log/59465799210b..10a900e5ffaf

git log 59465799210b..10a900e5ffaf --date=short --first-parent --format='%ad %ae %s'
2019-12-30 chrisforbes@google.com Add assert in GenericValue constant access

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

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/swiftshader-skia-autoroll
Please CC nifong@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

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

Cq-Include-Trybots: skia/skia.primary:Test-Debian9-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: nifong@google.com
Change-Id: I9d644ca2694c4b95a4f7043baafe69340ade89c6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261822
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-12-31 04:33:12 +00:00
skia-autoroll
52fc1d897c Roll ../src 4d93cdf1ccf7..39f22a4ba7a2 (126 commits)
4d93cdf1cc..39f22a4ba7


Created with:
  gclient setdep -r ../src@39f22a4ba7

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-skia-autoroll
Please CC nifong@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

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

Cq-Include-Trybots: skia/skia.primary:Perf-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia/skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
Bug: None
Tbr: nifong@google.com
Change-Id: I01fe043fe8846991872b99b37d14189ca62d4816
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261824
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-12-31 04:29:42 +00:00
Mike Klein
0ec2c7a2dc Revert "refresh image shader cs/at logic"
This reverts commit 4311f19158.

Reason for revert: layout test failures seemingly not having to do with bicubic+clamping+sRGB

Original change's description:
> refresh image shader cs/at logic
> 
> Was working on SkVM versions of these when I noticed the existing
> SkRasterPipeline code wasn't terribly tidy.  The main gist here is that
> we can let SkColorSpaceXformSteps::apply() handle almost all the
> final transformation on the way out of the shader.
> 
> I remain a little puzzled why I got a few significant diffs when I tried
> leaving the A8 color unpremul, letting the steps handle matching the
> alpha types instead of me manually with SkRasterPipeline::premul.  For
> now I've left that as-is.
> 
> Similarly I think we could transform that A8 color ahead of time rather
> than doing that over and over at runtime.  This is something I've left
> as a TODO, largely because I don't care enough about coloring A8 to
> investigate right now.
> 
> I've inlined all the logic of explaining src-is-normalized into this
> shader (which is its only user).  That makes it clearer that we can
> always set that bit when bicubic sampling, since we're clamping anyway.
> This causes some invisible diffs when switching to the optimized sRGB
> transfer function stages, which we may or may not be able to get away
> with without guarding...
> 
> Change-Id: Ie6670c6ca5c69958f41aac88324341a10eb3bee1
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261763
> 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: I9c414cb751d9e51219b18dc3d4f54c92d06664ce
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261815
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-12-31 01:33:51 +00:00
Mike Klein
02eeac78f6 Revert "clarify that there's no kMedium here"
This reverts commit 60b69ecc8d.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> clarify that there's no kMedium here
> 
> Reword to make it clearer we're only handling kNone, kLow, and kHigh;
> kMedium has been transformed into kLow or kHigh already at this point.
> 
> I think it's particularly easy to be confused by the line
> 
>     if (quality > kLow_SkFilterQuality) { ... }
> 
> Change-Id: If78cb6e946e26d08f5acd807d32e0446c69061b1
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261765
> Auto-Submit: Mike Klein <mtklein@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>
> Commit-Queue: Mike Klein <mtklein@google.com>

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

Change-Id: Ifb639ce76ec8e533ed6af7ddcb2d2fe8c66a6558
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261814
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-12-31 01:28:57 +00:00
Mike Klein
48cc66ad2e Revert "pass more information to shaders"
This reverts commit 4f275cfe0e.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> pass more information to shaders
> 
> If we're going to write an image shader, we're going to need to know the
> matrix and some bits of the paint.
> 
> Instead of all possible information, I decided to pass just what the
> image shader needs for now, and will pass along more as I go.
> 
> I've added a stub implementation of SkImageFilter as a way to make sure
> I'm threading everything it'll need through.
> 
> Change-Id: I98de1724056dbc0902a34fc31da8ec6bdf38dc34
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261801
> Commit-Queue: Mike Klein <mtklein@google.com>
> Reviewed-by: Mike Reed <reed@google.com>

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

Change-Id: I660846f55a6fd9d118a6b58ea7d853b91d708aee
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261813
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-12-31 01:28:48 +00:00
Chris Dalton
37ae4b06e2 Rename GpuPathRenderers::kAll to kDefault
There was never a need to distinguish between "all" and "default".
We can just use kDefalut everywhere. And as we add new path renderers,
we can exclude them from kDefault until they are ready to ship.

Change-Id: I378aa1e195d40daef6a2c54f9c8e829208780ebe
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261714
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2019-12-31 01:01:17 +00:00
Chris Dalton
e1196c5d01 Add a mechanism to insert framebuffer barriers for NVIDIA tessellation
Bug: skia:9739
Change-Id: I4f13110c30af796edded1d0e18860bcb4a6ef925
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261673
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2019-12-31 00:18:36 +00:00
Mike Klein
4f275cfe0e pass more information to shaders
If we're going to write an image shader, we're going to need to know the
matrix and some bits of the paint.

Instead of all possible information, I decided to pass just what the
image shader needs for now, and will pass along more as I go.

I've added a stub implementation of SkImageFilter as a way to make sure
I'm threading everything it'll need through.

Change-Id: I98de1724056dbc0902a34fc31da8ec6bdf38dc34
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261801
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2019-12-31 00:00:57 +00:00
Brian Osman
107c66669d Make it safe to include SkRuntimeEffect.h from client code
Bundling the pipeline stage arguments also simplifies the code in
several spots.

Change-Id: I85e81b436a39378f753cc9404b6eeb27fe055525
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261778
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-12-30 21:06:56 +00:00
Mike Klein
60b69ecc8d clarify that there's no kMedium here
Reword to make it clearer we're only handling kNone, kLow, and kHigh;
kMedium has been transformed into kLow or kHigh already at this point.

I think it's particularly easy to be confused by the line

    if (quality > kLow_SkFilterQuality) { ... }

Change-Id: If78cb6e946e26d08f5acd807d32e0446c69061b1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261765
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-12-30 21:04:46 +00:00
Mike Klein
4311f19158 refresh image shader cs/at logic
Was working on SkVM versions of these when I noticed the existing
SkRasterPipeline code wasn't terribly tidy.  The main gist here is that
we can let SkColorSpaceXformSteps::apply() handle almost all the
final transformation on the way out of the shader.

I remain a little puzzled why I got a few significant diffs when I tried
leaving the A8 color unpremul, letting the steps handle matching the
alpha types instead of me manually with SkRasterPipeline::premul.  For
now I've left that as-is.

Similarly I think we could transform that A8 color ahead of time rather
than doing that over and over at runtime.  This is something I've left
as a TODO, largely because I don't care enough about coloring A8 to
investigate right now.

I've inlined all the logic of explaining src-is-normalized into this
shader (which is its only user).  That makes it clearer that we can
always set that bit when bicubic sampling, since we're clamping anyway.
This causes some invisible diffs when switching to the optimized sRGB
transfer function stages, which we may or may not be able to get away
with without guarding...

Change-Id: Ie6670c6ca5c69958f41aac88324341a10eb3bee1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261763
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-12-30 20:58:16 +00:00
Brian Osman
82d49704ce More SkRuntimeEffect tests
- 'in' variables can't be arrays (applies to all SkSL)
- 'in' and 'uniform' variables are restricted to a fixed
  list of types.

Change-Id: I957ce1ad33aaf6b5970ca7204c568bb533bc86d6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261436
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-12-30 19:26:06 +00:00
Mike Klein
c65d0069ec streamline ReadOpAndSize()
Inlining SkPicturePlayback::ReadOpAndSize() simplifies it, as does
removing support for the old op encoding, which was the "old format"
even back in 2014.

Change-Id: I304a777618403667b7b6c11110e3a781a5a29df3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261594
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2019-12-30 17:31:46 +00:00
Mike Klein
ad28486cef range check before casting to DrawType
Bug: oss-fuzz:19583
Change-Id: I656e8ddd5699cfc4998f3f424a1a46380f310c63
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261591
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2019-12-30 17:21:16 +00:00
Ben Wagner
b6f98ea2c6 Enable ASAN on Windows
Docs-Preview: https://skia.org/?cl=261336
Change-Id: Ied00d717a37d92179c01158b2fbdfa47a52270c1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261336
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Ben Wagner aka dogben <benjaminwagner@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2019-12-30 17:06:26 +00:00
Mike Reed
1fb6aed9ba simplify normalizePerspective -- don't compute type, precheck corner value
Before
min	median	mean	max	bench
163µs	167µs	169µs	183µs	canvas_matrix_3x3
250µs	265µs	261µs	280µs	canvas_matrix_2x3
227µs	264µs	250µs	269µs	canvas_matrix_scale
187µs	190µs	190µs	194µs	canvas_matrix_trans

After
min	median	mean	max	bench
168µs	177µs	180µs	207µs	canvas_matrix_3x3
200µs	220µs	222µs	245µs	canvas_matrix_2x3
173µs	182µs	179µs	186µs	canvas_matrix_scale
138µs	148µs	147µs	166µs	canvas_matrix_trans

Change-Id: Iba884c64a53c4c6d4a53a72fe9de783ebef21bf4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261741
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2019-12-30 16:49:56 +00:00
Brian Salomon
115ca68b6b Remove TecnoSpark adv. blend workaround.
This workaround has not stopped long shaders from randomly failing
to compile on TecnoSpark Pro 3. It just stops us from generating some
shaders that fail to compile in unit tests.

Also, it reveals rendering issue when framebuffer fetch is used with
MSAA on this device (instead of adv. blending).

Change-Id: I8026ded6d0d75743dc2c508df5c4ffc207d8b5a9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261736
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-12-30 16:18:36 +00:00
Brian Osman
63d32153ad Remove third_party warning suppression for MSVC:4244
This was a workaround for older MSVC that didn't suppress that
particular warning as part of "/w". Bots are using a newer compiler that
fixes the issue.

Change-Id: If8582a688294286c2b307970415cd1d929b184b1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261738
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-12-30 16:13:56 +00:00
Mike Reed
77cf430eaf starter bench for canvas matrix operations
Change-Id: I5f064183e73492ab192895eba03d29e41b1edaa6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261739
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2019-12-30 15:48:26 +00:00
Mike Reed
fe2d3c7334 SkBlurMaskFilter.h is only needed for (deprecated) emboss
Change-Id: I1308d29470e8127e65a9f2c33ca68a613e077a6e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261737
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2019-12-30 15:40:46 +00:00
Ben Wagner
96464fc252 Update Linux Vulkan SDK
Change-Id: I9492db5395505041ddacf659eb67c490e4437b0d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261287
Commit-Queue: Greg Daniel <egdaniel@google.com>
Auto-Submit: Ben Wagner aka dogben <benjaminwagner@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2019-12-30 14:32:16 +00:00
skia-autoroll
7c095dc67c Roll third_party/externals/angle2 ebed85592533..fca5a005aa88 (1 commits)
ebed855925..fca5a005aa

git log ebed85592533..fca5a005aa88 --date=short --first-parent --format='%ad %ae %s'
2019-12-27 angle-autoroll@skia-public.iam.gserviceaccount.com Roll third_party/glslang/src bd97b6f9f213..5de15a256eb0 (1 commits)

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

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-skia-autoroll
Please CC nifong@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

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

Cq-Include-Trybots: skia/skia.primary:Build-Debian9-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Bug: None
Tbr: nifong@google.com
Change-Id: I7c0e5253deb5e4ffb8c8c85e0bd8b886752c22d7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261724
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-12-30 04:41:16 +00:00
skia-autoroll
3a8fc92e46 Roll ../src d814fc7ea91d..4d93cdf1ccf7 (190 commits)
d814fc7ea9..4d93cdf1cc


Created with:
  gclient setdep -r ../src@4d93cdf1cc

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-skia-autoroll
Please CC nifong@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

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

Cq-Include-Trybots: skia/skia.primary:Perf-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia/skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
Bug: None
Tbr: nifong@google.com
Change-Id: I95bccde7cccec03e4a4eca4cd39682e375b58d7b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261725
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2019-12-30 04:30:46 +00:00
Florin Malita
460b6c1dd8 Revert "Clean up GrSimpleTextureEffect."
This reverts commit 4d745d62e3.

Reason for revert: broke Chromium tests

Original change's description:
> Clean up GrSimpleTextureEffect.
> 
> Make it look human written instead of machine generated.
> 
> Use perspective texturing builtin sample() when coords are three component
> rather than dividing to make them 2d.
> 
> Change-Id: I9694857beaf35733077d0472d1eae43b5da933d0
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261677
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>

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

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

Change-Id: I8d7a5c5553434528785aa3dd2e5538f893c1cc40
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261679
Reviewed-by: Florin Malita <fmalita@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
2019-12-29 19:32:15 +00:00
skia-recreate-skps
a5dd1c74bd Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=rmistry@google.com
NO_MERGE_BUILDS

Change-Id: I466d173a1e93a05283617028be4d9d5e4fe601d5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261717
Reviewed-by: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2019-12-29 06:10:44 +00:00
Chris Dalton
460ce96dca Stir the random number pot so TecnoSpark quits crashing on GLPrograms
TBR=bsalomon@google.com

Change-Id: I5583dee8fee95a3273732909739e5deb560087f4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261699
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2019-12-28 06:18:23 +00:00
Chris Dalton
8dae7eb2cf Disable tessellation on Qualcomm
TBR=bsalomon@google.com

Bug: skia:9740
Change-Id: Ia6b701d83e1ca20697f45e32b013ae95a5897ac3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261698
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2019-12-28 06:12:53 +00:00
Chris Dalton
5a2f962313 Add back door support for GLSL tessellation shaders
Implements tessellation support at the Ganesh level, and adds back
door methods for supplying raw GLSL strings directly to the OpenGL
driver. Adds a new gm to verify tessellation is works in GL.

Change-Id: Idfc285b955cbe5e8e6bf0475be8b518b0cc6ed2c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261196
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2019-12-27 22:34:10 +00:00
Chris Dalton
5258623d82 Move --internalSamples to common flags
Change-Id: I3120ca817f5fe3dc5969b6b875473f38c2fb8ea2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261667
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2019-12-27 22:00:10 +00:00
Brian Osman
93de162dc2 Add SkRuntimeEffect::makeShader
This makes the effect *be* the factory, so we can get rid of
SkRuntimeShaderFactory (and later, SkColorFilterFactory).

Change-Id: I2cd95f1380a0ec1e65fe5a18b1226c042598a8bd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261439
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-12-27 21:50:20 +00:00
Brian Salomon
4d745d62e3 Clean up GrSimpleTextureEffect.
Make it look human written instead of machine generated.

Use perspective texturing builtin sample() when coords are three component
rather than dividing to make them 2d.

Change-Id: I9694857beaf35733077d0472d1eae43b5da933d0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261677
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-12-27 21:37:20 +00:00
Brian Osman
5e976be7f0 Workaround MSVC 2019 code-gen bug in lighting image filter
Change-Id: Ia189fa2bec80093ddd6e2db35054db31c56106d8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261676
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-12-27 19:40:19 +00:00
Ravi Mistry
81158535ed Prevent de-duplication of Housekeeper-PerCommit-BuildTaskDrivers
Without this the task was getting deduped with tasks that ran days ago.
Eg: https://chromium-swarm.appspot.com/task?d=true&id=496142b461f15f10

Bug: skia:9514
Change-Id: I1c93e3f298ef5d6be222578618759b5fb63ca8c1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261555
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2019-12-27 18:28:54 +00:00
Brian Salomon
0a7ca7a2a3 Avoid div by zero in ProcessorTest to please UBSAN
Change-Id: I1e49ab46975bb8e5eff08bc5afe7ffed1c078309
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261550
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2019-12-27 18:06:24 +00:00