Commit Graph

55416 Commits

Author SHA1 Message Date
Chris Dalton
6edc8d9617 Remove 'hasUserStencilSettings' from GrClip::apply
This doesn't seem necessary. Its only purpose was to disable analytic
clips when there were user stencil settings, which seems like a
de-optimization. The ops that use stencil all seem to properly handle
clip processors in their color pass, so it should be fine to remove
this.

Bug: skia:12047
Change-Id: Ide0ae1004548d62b2feb73c6950bcbcaf6716cfd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/413099
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-05-27 17:14:37 +00:00
Brian Osman
55cbc75930 Add comments to clarify use of fInputColorIsOpaque
Bug: skia:7722
Change-Id: I9e2a70ac67947900897f6bb9237d6c3af1d03b7c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/413136
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-05-27 17:09:17 +00:00
Chris Dalton
13adb4a398 Speed up the fixed count parametric/radial sort
The fixed count stroke shader was executing a sort loop long enough to
handle 1024 parametric segments, when in reality it will never see
more than 48. This CL cuts the per-vertex sorting work nearly in half
by reducing the number of iterations from 10 to 6. (The indirect
tessellator continues to use 10 iterations.)

Bug: skia:10496
Change-Id: Idc21d6015d449f63915780972a8d487c9c6de6fe
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/412496
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-05-27 16:59:17 +00:00
Ben Wagner
f893d47a21 Add copyright header to expat_config.h
This minimal config was created by hand attmpting to set things the same
way they had been before expat_config.h was required.

Bug: skia:12052
Change-Id: I29f90851312a1a6f8866f8ea30e21c246b340276
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/413077
Reviewed-by: Florin Malita <fmalita@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2021-05-27 15:40:10 +00:00
Kevin Lubick
e6484b5b2a [canvaskit] Rollback gm tests compile version
Ran into an llvm bug
`fatal error: error in backend: missing indirect function table symbol`
https://bugs.llvm.org/show_bug.cgi?id=50408

Change-Id: I0e36f9c802669b75633fa7d4d75292c0baaf0d81
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/413036
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2021-05-27 15:37:03 +00:00
Eric Boren
64c848b384 [infra] Delete bin/try* and tools/chrome_release_branch*
These have been replaced by `sk try` and `sk release-branch`,
respectively.

Change-Id: Idc297dd7c84a87a09f69f310de495f91fcce36b9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/409898
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
2021-05-27 14:27:20 +00:00
John Stiles
b01c18625e Implement compile-time optimization for inverse().
$squareMat inverse($squareMat m);
$squareHMat inverse($squareHMat m);

Change-Id: I1a2b067dd276bb999107712c38d0124811b95e39
Bug: skia:12034
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/412937
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-05-27 13:57:00 +00:00
John Stiles
afaddc959c Prevent overflow to infinity in constant-folding.
Expressions which would optimize to a non-finite value are now left
as-is.

Integer math still has problems with overflow, but that can be addressed
separately.

Change-Id: I363a2c42684989062f606186f48246b7ac5b585c
Bug: skia:12050
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/412956
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-05-27 13:23:40 +00:00
John Stiles
0bdf8a3435 Simplify GrGLSLFragmentShaderBuilder::getPrimaryColorOutputName.
The primary color is always named sk_FragColor; both sides of the
ternary would return the same string.

Change-Id: I18b19a12e7568cdf7c5cbf5d8c488bbdff5b7a4d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/412936
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-05-27 13:20:40 +00:00
Kevin Lubick
2e24270ece [debugger] Fix build after update to emsdk 2.0.20
Debugger had been including some egl code, which started throwing
an error about eglGetProcAddress not being linked in.

Change-Id: I2e930dc5064b6fc238d3399fe8aba5fe105a3097
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/412986
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2021-05-27 13:08:55 +00:00
Kevin Lubick
123e55968d [canvaskit] Build with emsdk 2.0.20
Change-Id: I4c3bdc8dd0d0dc8b12b2d430d5ea9a20d170b82b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/412876
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2021-05-27 12:36:41 +00:00
Kevin Lubick
61b0a88357 [canvaskit] Update testing dependencies
Other devs should run `npm ci` to install these locally.

Change-Id: I4581e8afe2401b10edae86b8bfd6fe398546cd0f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/412836
Reviewed-by: Leandro Lovisolo <lovisolo@google.com>
2021-05-27 12:31:20 +00:00
Kevin Lubick
dc5530e5b3 [canvaskit] Retry loading assets for tests
This cuts down on some flakiness I saw locally.

Change-Id: I8659b2cabacb99f3839a4b44daec852061184d55
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/412663
Reviewed-by: Leandro Lovisolo <lovisolo@google.com>
2021-05-27 12:31:06 +00:00
Kevin Lubick
95d599c0a0 [canvaskit] Introduce self-documenting pointer types
Change-Id: I72dfe6098dae699d85cf87b6432e27cf845c832d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/412659
Reviewed-by: Mike Reed <reed@google.com>
2021-05-27 12:30:54 +00:00
skia-autoroll
e9f1989c38 Roll Dawn from 44fc6e3ab55d to 5d39860fef79 (3 revisions)
https://dawn.googlesource.com/dawn.git/+log/44fc6e3ab55d..5d39860fef79

2021-05-27 jiawei.shao@intel.com Implement AsyncWaitableEvent with std::condition_variable
2021-05-26 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 61fbf13d2571 to 7a47fa849580 (2 revisions)
2021-05-26 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 81cbe07c12db to 61fbf13d2571 (1 revision)

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from 81cbe07c12db to 7a47fa849580

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dawn-skia-autoroll
Please CC bclayton@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/+doc/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Debug-Dawn
Bug: None
Tbr: bclayton@google.com
Change-Id: I1b66c7ad784d56acfdc5192e0cdcb54165c7c6e2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/412729
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-05-27 05:27:49 +00:00
skia-autoroll
a69b3db7e1 Roll ANGLE from 91e693afce9b to 163f6ac055f4 (22 revisions)
91e693afce..163f6ac055

2021-05-26 jmadill@chromium.org Gold Tests: Add batching.
2021-05-26 kbr@chromium.org Revert "GL: Skip redundant flushes."
2021-05-26 jmadill@chromium.org infra: Shard restricted_trace_gold_tests.
2021-05-26 jonahr@google.com Add nullptr check for pfnGetPhysicalDeviceProperties
2021-05-26 geofflang@google.com GL: Implement multisampled_render_to_texture
2021-05-26 geofflang@chromium.org Make ANGLE's program hash key deterministic.
2021-05-26 jmadill@chromium.org infra: Remove Pixel 2 (android_vk) tests from CQ.
2021-05-26 jplate@google.com CL: program object creation for front end and pass-through
2021-05-26 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from cca33b4d0510 to 89ab6280369d (2 revisions)
2021-05-26 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 594a967a8bf8 to b6af002ef64a (448 revisions)
2021-05-25 cclao@google.com Vulkan: Move framebuffer dirty bits handling after texture
2021-05-25 cclao@google.com Vulkan: Convert web_gl.fuzz545ImmutableTexRenderFeedback to gl_test
2021-05-25 jplate@google.com CL: sampler object creation for front end and pass-through
2021-05-25 syoussefi@chromium.org Add test for Vulkan crash with texture MAX_LEVEL change
2021-05-25 b.schade@samsung.com Vulkan: Clean up GS deqp expectations
2021-05-25 jplate@google.com CL: image object creation for front end and pass-through
2021-05-25 timvp@google.com Reduce ANGLE APK size
2021-05-25 timvp@google.com Add LOCAL_LICENSE_KINDS to generate_android_bp.py
2021-05-25 geofflang@google.com GL: Skip redundant flushes.
2021-05-25 jplate@google.com CL: buffer object creation for front end and pass-through
2021-05-25 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 1e60587ea42c to cca33b4d0510 (6 revisions)
2021-05-25 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 8023f14612cf to 594a967a8bf8 (310 revisions)

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 jlavrova@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/+doc/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-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
Tbr: jlavrova@google.com
Test: Test: KHR-GLES32.core.geometry_shader.layered_rendering.layered_rendering
Test: Test: manual verification
Change-Id: Iae69952f80116e8cac85f1f82325bc4046f1ee1f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/412752
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-05-27 05:21:29 +00:00
skia-autoroll
db4b0fb940 Roll SwiftShader from b46b97c10c10 to 5d449d4fcb77 (1 revision)
https://swiftshader.googlesource.com/SwiftShader.git/+log/b46b97c10c10..5d449d4fcb77

2021-05-26 chonggu@google.com Update references for ANGLE submodule

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 jlavrova@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/+doc/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Test-Debian10-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: jlavrova@google.com
Change-Id: I134243cc75fe312c2e6045adcf2364c97099bdbe
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/412751
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-05-27 05:07:00 +00:00
John Stiles
b35fbdbb06 Add test demonstrating overflow error in SkSL.
Change-Id: Ic6a3ce722c607d4d3c47d37e5749a01ae5fb193f
Bug: skia:12050
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/412668
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-05-26 21:52:31 +00:00
Ben Wagner
f81ac4270c Roll libexpat to 2-4-1
https: //chromium.googlesource.com/external/github.com/libexpat/libexpat.git/+log/e976867fb57a0cd87e3b..a28238bdeebc087
Change-Id: I973d2e342046079e7219110f103021fd06142c2c

Due to "Resolve macro HAVE_EXPAT_CONFIG_H" 8d1bd6ff2c09 it is now
required to provide an expat_config.h. A minimal and maximally portable
one is added.

Change-Id: I973d2e342046079e7219110f103021fd06142c2c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/412776
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Florin Malita <fmalita@google.com>
2021-05-26 21:18:49 +00:00
Jorge Betancourt
614e398ed3 expose Matrix transpositions and setUniform to RuntimeEffectBuilder
Change-Id: I78b57c3ad5e735335d1e2cc34e6c51a2ced6fc03
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/412796
Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2021-05-26 20:31:39 +00:00
John Stiles
b20521277d Use std:: versions of math functions.
The C stdlib versions always assume double types. The C++ std:: versions
are type-correct.

Change-Id: I5619339dbd2454c12ac2f35b8b2ee360b2e1a708
Bug: skia:12034
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/412666
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-05-26 20:20:29 +00:00
John Stiles
f47cfa8be5 Implement compile-time optimization for refract().
$genType refract($genType I, $genType N, float eta);
$genHType refract($genHType I, $genHType N, half eta);

The half form of refract was originally taking a `float eta` in our
headers, which seems wrong (and causes the DSL to break unless you add
casts). I've corrected the headers to use `half eta`.

Change-Id: I74b9ac330e0f7e99622d19cf7365aaa4cc910e57
Bug: skia:12034
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/412664
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-05-26 19:55:39 +00:00
John Stiles
c3ff098020 Implement compile-time optimization for pow().
Change-Id: I1630cf6ecab6a1a18a7318c247f8263d87e2cda9
Bug: skia:12034
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/412662
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-05-26 19:54:09 +00:00
John Stiles
4ceccaf053 Implement compile-time optimization for reflect().
$genType  reflect($genType  I, $genType  N);
$genHType reflect($genHType I, $genHType N);

Change-Id: I59889ad767829bf7e33838737d7b7f6d1cbc3ece
Bug: skia:12034
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/412777
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-05-26 19:49:29 +00:00
Adlai Holler
59adca5082 Revert "Temporarily disable reordering on bots again"
This reverts commit 789ec0533e.

Reason for revert: Not ready for this yet

Original change's description:
> Temporarily disable reordering on bots again
>
> To be landed after CL 412636. This should give us a clearer picture of
> the perf impact of reordering, now that the fence issue is mitigated.
>
> Will flip it back after perf runs.
>
> Bug: skia:10877
> Change-Id: I255c68f148f7aaebacb2469a56b7eade6d41696c
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/412638
> Commit-Queue: Robert Phillips <robertphillips@google.com>
> Auto-Submit: Adlai Holler <adlai@google.com>
> Reviewed-by: Robert Phillips <robertphillips@google.com>

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

Change-Id: Idef91adade6f2814e472c70f71bd8d1b51aa4fa8
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:10877
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/412665
Reviewed-by: Adlai Holler <adlai@google.com>
Commit-Queue: Adlai Holler <adlai@google.com>
2021-05-26 18:46:40 +00:00
Adlai Holler
789ec0533e Temporarily disable reordering on bots again
To be landed after CL 412636. This should give us a clearer picture of
the perf impact of reordering, now that the fence issue is mitigated.

Will flip it back after perf runs.

Bug: skia:10877
Change-Id: I255c68f148f7aaebacb2469a56b7eade6d41696c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/412638
Commit-Queue: Robert Phillips <robertphillips@google.com>
Auto-Submit: Adlai Holler <adlai@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-05-26 18:40:39 +00:00
Brian Salomon
aaccd85ac0 Revert "When faking GLsync with EGL insert eglSwapBuffers"
This reverts commit 3af709f71a.

Reason for revert: going to try double buffering sksurfaces instead

Original change's description:
> When faking GLsync with EGL insert eglSwapBuffers
>
> Change-Id: I5db86b4b0d695e74c14d48c9c29464dade2af442
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/412636
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Adlai Holler <adlai@google.com>
> Auto-Submit: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Adlai Holler <adlai@google.com>

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

Change-Id: I908313e46385bb933d4ec46ffcdae1e628690821
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/412660
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-05-26 17:47:59 +00:00
Brian Osman
c5b1d50ea3 Remove unused intrinsic enum from VM generator
This was made obsolete when a shared intrinsic enum was added to the IR.

Change-Id: I95ff46ea721b01edfc15a203adae559ff8d9277e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/412639
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-05-26 16:39:58 +00:00
John Stiles
7cfa1ce9db Implement compile-time optimization for faceforward().
This implementation leans heavily into DSL. I also reworked the
`normalize` intrinsic to use more DSL to shrink the implementation.

$genType faceforward($genType N, $genType I, $genType Nref);
$genHType faceforward($genHType N, $genHType I, $genHType Nref);

Change-Id: I73ab11d3fe449d2f2c0ae0d745fc39824fc64771
Bug: skia:12034
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/412637
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-05-26 16:28:48 +00:00
Brian Salomon
3af709f71a When faking GLsync with EGL insert eglSwapBuffers
Change-Id: I5db86b4b0d695e74c14d48c9c29464dade2af442
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/412636
Commit-Queue: Brian Salomon <bsalomon@google.com>
Commit-Queue: Adlai Holler <adlai@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
Reviewed-by: Adlai Holler <adlai@google.com>
2021-05-26 15:46:48 +00:00
John Stiles
3ef2c61c50 Implement compile-time optimization for normalize().
This one is structured a bit differently; it gets to length() value,
then divides the input by its length using a bit of DSL. Since all the
inputs are constant, the constant-folder will do the right thing.

$genType normalize($genType x);
$genHType normalize($genHType x);

Change-Id: I51e5c65fa9e33738cbe253fcc97ee2160c48cfdd
Bug: skia:12034
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/412340
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-05-26 15:06:08 +00:00
John Stiles
419d2ced2d Implement compile-time optimization for dot().
float dot($genType x, $genType y);
half dot($genHType x, $genHType y);

Change-Id: Ia8b893eaddd8b4325c34143c80fb0ae05b111666
Bug: skia:12034
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/412339
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-05-26 15:05:08 +00:00
Chris Dalton
ca911aee63 Remove non-conic stroke shader specializations
Every stroke shader just has conic branches now. The conic/cubic math
is mostly unified anyway, so a couple small branches shouldn't affect
perf.

Bug: skia:10419
Change-Id: I7690e54e61413902dd9836da532faf6383fb73b0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/412456
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2021-05-26 15:00:18 +00:00
Chris Dalton
64d06ba897 Delete identity matrix shaders from tessellation
Every shader always has a matrix now. The 4 FMAs (literally) that this
saved by specializing the shader weren't worth it.

Bug: skia:10419
Change-Id: I506dbd6d723f6dd022345956fdb5b60b0dd94932
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/412416
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-05-26 14:58:58 +00:00
John Stiles
e1c2beb3be Implement compile-time optimization for distance().
float distance($genType p0, $genType p1);
half distance($genHType p0, $genHType p1);

Change-Id: I492a90c0fe5c950c878752d45c3b2dc6f2cd866e
Bug: skia:12034
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/412379
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2021-05-26 14:11:58 +00:00
John Stiles
f9c2323f37 Turn evaluate_intrinsic_(float1|bool1) into a template.
Not a big deal, but reduces redundant LOC in here a bit.

Change-Id: If917c09b0ea5dee17978e12795fd3e3d8974d37d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/412378
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2021-05-26 14:07:49 +00:00
Kevin Lubick
0fb5e6290f [infra] Use different dimensions for different XCode versions
This depends on https://chrome-internal-review.googlesource.com/c/infradata/config/+/3860969

Bug: skia:11129
Change-Id: I5bffae04581cb28eb67f278b005d480335c198f8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/412297
Reviewed-by: Leandro Lovisolo <lovisolo@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2021-05-26 13:28:28 +00:00
skia-autoroll
1a7fb9b396 Roll Dawn from e1598e4891ec to 44fc6e3ab55d (4 revisions)
https://dawn.googlesource.com/dawn.git/+log/e1598e4891ec..44fc6e3ab55d

2021-05-26 jiawei.shao@intel.com Remove DAWN_SKIP_TEST_IF -- Part II
2021-05-25 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 4fe6cb98e219 to 81cbe07c12db (1 revision)
2021-05-25 jrprice@google.com Remove use of deprecated `const` in WGSL
2021-05-25 jiajia.qin@intel.com Remove the suppression on use_tint_generator

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from 4fe6cb98e219 to 81cbe07c12db

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dawn-skia-autoroll
Please CC bclayton@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/+doc/master/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Debug-Dawn
Bug: None
Tbr: bclayton@google.com
Change-Id: I2cda0bf44f23809b006596fd05d83c3d8882c595
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/412403
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-05-26 05:01:49 +00:00
John Stiles
9b2baac1d6 Implement compile-time optimization for length().
float length($genType x);
half length($genHType x);

Change-Id: I65b64fdba5f7bd53afba1d6f930217e3f1bd6f6e
Bug: skia:12034
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/412377
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-05-26 00:58:53 +00:00
John Stiles
e5240a2498 Implement compile-time optimization for mod().
$genType mod($genType x, float y);
$genType mod($genType x, $genType y);
$genHType mod($genHType x, half y);
$genHType mod($genHType x, $genHType y);

Change-Id: I406eafbe824d7aa55012196521e6f10cac50ed19
Bug: skia:12034
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/412376
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-05-25 22:07:53 +00:00
Chris Dalton
ad5b44720f Improve hw tessellation coverage on "GpuTess" dm bots
Enable hardware tessellation as much as possible with --alwaysHwTess.
Use --maxTessellationSegments 16 to verify the chopping logic.

Bug: skia:10419
Change-Id: I1a37a6a8700ad16197251a753d40b0d3aaeecb8e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/412296
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-05-25 21:13:06 +00:00
John Stiles
4987c4af49 Implement compile-time optimization for smoothstep().
$genType smoothstep($genType edge0, $genType edge1, $genType x);
$genType smoothstep(float edge0, float edge1, $genType x);
$genHType smoothstep($genHType edge0, $genHType edge1, $genHType x);
$genHType smoothstep(half edge0, half edge1, $genHType x);

Change-Id: Idf6a39fab8d5b81d4a3233444a8b381460cbde71
Bug: skia:12034
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/412356
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-05-25 20:32:46 +00:00
John Stiles
27724cd169 Disable SkSL test for clamp().
Test is failing on Adreno 6xx + Vulkan.

Change-Id: I8e5e97c82622c77385baef2c71d9381203221139
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/412238
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-05-25 19:10:49 +00:00
skia-autoroll
fb98441e87 Roll SK Tool from e0bb16c650f5 to ecd65ead0e34
https://skia.googlesource.com/buildbot.git/+log/e0bb16c650f5..ecd65ead0e34

2021-05-25 rmistry@google.com Use main branch in go/gitiles
2021-05-25 rmistry@google.com [CT] Update master branch references to main

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/sk-tool-skia
Please CC kjlubick@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/+doc/master/autoroll/README.md

Tbr: kjlubick@google.com
Change-Id: I170344e6b60b61a0f1441d0b2d0f3058e0042270
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/412199
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-05-25 19:05:46 +00:00
Florin Malita
ee7e22acd2 [androidkit] Add fling support to cube demo
Change-Id: Id3c2eb72e70a3c9c2181c8aff7770aafa7a520d3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/412236
Reviewed-by: Jorge Betancourt <jmbetancourt@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
2021-05-25 18:31:26 +00:00
Brian Osman
9a4c965b2b Remove GrBlurredEdgeFragmentProcessor, use GrRuntimeFPBuilder
Change-Id: Ia5d849a2ab3fc233c4feacb5198a0684978ca3a9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/410794
Reviewed-by: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-05-25 18:26:12 +00:00
Kevin Lubick
0873ac9b1d [infra] Remove skqp build and test
Change-Id: I5748648374395e50539eeaa69d8913ee05c67e2c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411840
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2021-05-25 18:05:42 +00:00
Chris Dalton
569c01bfa2 Simplify heuristics for selecting path tessellators
Now that hardware tessellators chop, support raw triangles, and can
handle any path, we don't need complicated logic anymore to determine
when we can't use them. This CL simplifies the criteria for selecting
a tessellation algorithm and adds a fAlwaysPreferHardwareTessellation
context option to override it.

Bug: skia:10419
Change-Id: I8492e8f285ff27eb9d0dd6b1e9817dbeeb386c63
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411496
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-05-25 17:23:02 +00:00
John Stiles
017ffd7e05 Implement compile-time optimization for step().
$genType step($genType edge, $genType x);
$genType step(float edge, $genType x);
$genHType step($genHType edge, $genHType x);
$genHType step(half edge, $genHType x);

Change-Id: If52634d7a247772e922cb3fd2e3e8a7c36c275f6
Bug: skia:12034
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411842
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-05-25 16:59:22 +00:00
John Stiles
0727a80885 Implement compile-time optimization for clamp().
$genType clamp($genType x, $genType minVal, $genType maxVal);
$genType clamp($genType x, float minVal, float maxVal);
$genHType clamp($genHType x, $genHType minVal, $genHType maxVal);
$genHType clamp($genHType x, half minVal, half maxVal);
$genIType clamp($genIType x, $genIType minVal, $genIType maxVal);
$genIType clamp($genIType x, int minVal, int maxVal);

Change-Id: I726270e84fca781825e59abed0c8c7d099ca7444
Bug: skia:12034
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/411839
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-05-25 16:25:42 +00:00