Commit Graph

54995 Commits

Author SHA1 Message Date
John Stiles
3befaf23a9 Fix overzealous destruction of DSL FP VarDeclarations.
Previously, if a DSL-based FP attempted to sample from another DSL-based
FP, all VarDeclarations for both FPs would be erased as soon as the
inner FP called EndFragmentProcessor. We now use the DSL stack to save
and restore the VarDeclarations array when FPs are nested.

Change-Id: I7481d89ac62ca6cdc6fc828ffdc61d6a36affbdc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/400539
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-04-23 19:37:33 +00:00
John Stiles
56bc148786 Remove fSupportsTracking flag from UniformCTypeMapper.
This flag was always set to true for every type.

Change-Id: Icbbe9a3c49adf0c49e6d912f978560b178eb633c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/400176
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2021-04-23 19:27:03 +00:00
John Stiles
c5fac47133 Simplify implementation of eval_template.
This is only used for offline compilation (in skslc), and is not on a
critical path. An easy-to-understand, reasonably efficient algorithm is
preferable to a slightly more efficient, harder-to-understand algorithm.

Change-Id: If46403a43d5198f02eeaee45ef5d304b66f3de72
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/400099
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2021-04-23 19:26:23 +00:00
Chris Dalton
92934d7528 Don't use dmsaa for blurs yet
DMSAA is still very experimental. It doesn't draw everything entirely
correctly yet and uses more memory than it should. We should only be
enabling it right now with an explicit opt-in.

Bug: skia:11396
Change-Id: Ib552bfa551ac419d50ea1fdad3043cf20328f247
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/400456
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-04-23 17:56:33 +00:00
Hans Wennborg
7bbe365b7b Don't include the intrinsics headers in SkFloatingPoint.h
They're only used for the legacy implementation of sk_float_rsqrt,
which is going away.

SkFloatingPoint.h is part of ca 10,000 translation units when building
Chrome, and include graph analysis shows that including xmmintrin.h
adds a total of 3.5 GB to the build.

Avoiding these includes shaves ca 7 CPU-minutes off a local Chrome
build.

Bug: skia:11861 chromium:242216
Change-Id: Ib0fd53c4fb3ae254814fb6ae5afbb298efb0eb83
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/400437
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2021-04-23 17:30:13 +00:00
Joe Gregorio
796501e451 Remove pixelbook devices.
Our only Debian9 builder left after this is for flutter.

Bug: skia:11876
Change-Id: I34cef8f31dac83347f2af1955dfde5346decc7a6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399472
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
2021-04-23 17:09:53 +00:00
Kevin Lubick
600bc360ff [infra] update iOS profile
Change-Id: I283ef69f928d6e3532fecf3504b9e2966e5654e2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399737
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2021-04-23 17:04:00 +00:00
John Stiles
4680db675f Disable switch test on Adreno to work around GLSL driver bugs.
The Adreno driver seems to have a bug involving switch statements that
use fallthrough and/or have early returns.

Change-Id: I4a0e36dda5d30621e4c7119cdf9de0f478bc9d8d
Bug: skia:11891
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/400396
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2021-04-23 15:01:03 +00:00
Florin Malita
a3ce568b27 [androidkit] Add Surface.flushAndSubmit()
This is a no-op for the current/raster backend, but will be implemented
for GPU.

Change-Id: Id2ff4fe3b254b0d1730c2cb931737c372edbcf7e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/400096
Commit-Queue: Florin Malita <fmalita@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
2021-04-23 14:39:23 +00:00
Florin Malita
05bb5a8b30 [androidkit] Introduce RuntimeShader
- opaque Shader class to act as a Java SkShader wrapper
 - shader slot on Paint
 - RuntimeShaderBuilder utility to enable the same use pattern as native
   Skia:

  RuntimeShaderBuilder builder(sksl_string);
  builder.setUniform("foo", 1);
  builder.setUniform("bar", 2);
  paint.setShader(builder.makeShader());

or, more fluent:

  paint.setShader(
      RuntimeShaderBuilder(sksl_string)
          .setUniform("foo", 1)
          .setUniform("bar", 2)
          .makeShader());


Change-Id: I7cd241a2f64bc54dcae2175ed35040edf6506ed3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399736
Commit-Queue: Florin Malita <fmalita@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2021-04-23 14:38:36 +00:00
Ravi Mistry
f4f8d92b9b Generate and use Flutter's SKPs in RecreateSKPs bot
Bug: skia:11897
Change-Id: Ia937bfc5f86daea9d39b2d6f398dc093ba3146f4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/400098
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2021-04-23 14:19:53 +00:00
Kevin Lubick
7978abafee [canvaskit] Deploy 0.26.0
Change-Id: I162e82824e1447409f5dbe7e32ec892f28e1cbf5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/400296
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2021-04-23 12:44:52 +00:00
Joe Gregorio
7b8f14991d Add Acer Spin 514 ChromeOS devices to the tree.
Bug: skia:11876
Change-Id: Ic95dc6d9bc04117c4fc7f88d6eb6acceb5bbe58d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399501
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
2021-04-23 12:23:36 +00:00
skia-autoroll
94d3dd82f3 Roll Chromium from faf3e3230d75 to c1593bf1225d (506 revisions)
faf3e3230d..c1593bf122

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 jvanverth@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: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
Tbr: jvanverth@google.com
Change-Id: I942846fc9bd866cba407c4590423e0283a8bf3e8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/400153
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-04-23 05:22:03 +00:00
skia-autoroll
b1895414a4 Roll ANGLE from e0e5eb8480ab to 1800d1d92bca (10 revisions)
e0e5eb8480..1800d1d92b

2021-04-22 cnorthrop@google.com Tests: Add Ludo King trace
2021-04-22 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from e5bb9b56c292 to 706897cbbf31 (11 revisions)
2021-04-22 geofflang@chromium.org D3D11: Disable CompositorNativeWindow11 in Chromium builds.
2021-04-22 jplate@google.com Updated OpenCL headers
2021-04-22 jplate@google.com Generate empty CL object classes
2021-04-22 lexa.knyazev@gmail.com Align BPTC format names in angle::FormatID
2021-04-22 geofflang@google.com Reland "Add a Vulkan feature to compress float32 vertex formats."
2021-04-22 jmadill@chromium.org Update standalone Android docs.
2021-04-22 jmadill@chromium.org Update Android-releated tools DEPS.
2021-04-22 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 2e3165386670 to 953728c7e200 (354 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 jvanverth@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: jvanverth@google.com
Test: Test: angle_perftests --gtest_filter="*ludo_king*"
Change-Id: I04372f1f7fcf0ff1ebb654f90e728709a95867ae
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/400155
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-04-23 05:12:33 +00:00
skia-autoroll
e6613d1ef8 Roll Dawn from 8091c6845079 to 02336e6f9993 (20 revisions)
https://dawn.googlesource.com/dawn.git/+log/8091c6845079..02336e6f9993

2021-04-23 cjj19970505@live.cn Add UWP support
2021-04-23 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 26fa9927e8c3 to 145f865fb1cb (2 revisions)
2021-04-22 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 943ded79d2b1 to 26fa9927e8c3 (7 revisions)
2021-04-22 hob@chromium.org Add helper functions to iterate over ChainedStructs
2021-04-22 rharrison@chromium.org Add header for std::forward
2021-04-22 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from d5ceafee1684 to 943ded79d2b1 (1 revision)
2021-04-22 hao.x.li@intel.com Clear resolve buffer to 0 for resolving unavailable queries
2021-04-22 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 98c2cf0e9194 to d5ceafee1684 (6 revisions)
2021-04-21 bclayton@google.com unittests: Add a position return value for vertex shaders
2021-04-21 cwallez@chromium.org Add docs/contributing.md
2021-04-21 cwallez@chromium.org WGSL: Replace last uses of var<in> and var<out>
2021-04-21 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from c0810e7e6eba to 98c2cf0e9194 (4 revisions)
2021-04-21 cwallez@chromium.org client::Buffer: In debug mode, clobber mMappedData when it is freed
2021-04-21 jiawei.shao@intel.com D3D12: Initialize DXC in Device::Initialize()
2021-04-21 cjj19970505@live.cn Add string to wstring conversion helper and related unittest
2021-04-21 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 5b3d88b748e4 to c0810e7e6eba (2 revisions)
2021-04-21 rharrison@chromium.org Fix MinBufferSizeDefaultLayoutTests.RenderPassConsidersBothStages
2021-04-20 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from b69660733875 to 5b3d88b748e4 (26 revisions)
2021-04-20 enga@chromium.org SlabAllocator: Fix writing to freed memory on slab destruction
2021-04-20 bclayton@google.com Re-add const to TranslateToHLSLWithTint()

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from b69660733875 to 145f865fb1cb

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 rharrison@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: skia:10501
Tbr: rharrison@google.com
Change-Id: I48ad838cfa3473fcc205937746bd1669eef35dc9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/400154
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-04-23 05:11:23 +00:00
skia-autoroll
7b60deedbd Roll SwiftShader from c597a8af03ef to 112faf441539 (1 revision)
https://swiftshader.googlesource.com/SwiftShader.git/+log/c597a8af03ef..112faf441539

2021-04-22 capn@google.com Format switch statements consistently

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 jvanverth@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: jvanverth@google.com
Change-Id: I65a989baf6a8ebcee6f626a3cbbd87a02a0963af
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/400152
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-04-23 04:50:23 +00:00
Mike Klein
395274e664 stop using rcp/rsqrt in SkRasterPipeline
Bug: skia:11861
Cq-Include-Trybots: luci.chromium.try:linux-blink-rel
Change-Id: I9d9e7a9ee81bef54cea3c5be3952f577ddad35a6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399798
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2021-04-22 22:42:23 +00:00
John Stiles
db21d93ac6 Fix DSL C++ code generation when FP variable names overlap.
DSL requires all of its variables to exist at the topmost scope, since
its inner "scopes" are not actual C++ scopes, but Block() statements.
This means that code like this:

   if (something) {
      int var;
   } else {
      int var;
   }

Must declare both `var` objects at the top level. We now detect variable
names that overlap, and prepend a number to disambiguate them. In this
case, the second `var` here would be renamed to `_0_var`. Since this
scheme follows the mangler's naming pattern, these names coexist nicely
with the inliner (avoiding double-mangling in the final output).

Change-Id: I22fa9b856ea9cdc3f7eae96c9d91ad9dcc16b186
Bug: skia:11854
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399417
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-04-22 21:59:42 +00:00
John Stiles
83b0c830c6 Add support for built-in functions to DSLCPPCodeGenerator.
Change-Id: Idf65ff46cd75d23f550c8e763cf3618ec7501b38
Bug: skia:11854
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/398877
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-04-22 21:56:22 +00:00
Mike Klein
f0e564f43d remove sk_float_rsqrt()
The instructions used to implement it don't deliever
the same results across processors, even on the same
architecture.

Minor diffs on lighting image filter GMs;
this will likely require staged rollout.

Bug: skia:11861
Cq-Include-Trybots: luci.chromium.try:linux-blink-rel
Change-Id: I4c0b0eab221a051f863f4949051f50652466651e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/396723
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2021-04-22 21:32:23 +00:00
Herb Derby
40f45d6c8f create ops directly for drawGlyphs, etc.
If there is no SkTextBlob associated with the glyphRunList,
then there is no possibility for reuse. Don't create a
GrTextBlob, and don't consult the cache. Just build the
GrAtlasTextOp directly.

Change-Id: I2dbdb2a01ef62c1bdaa1010796b4d58a9b455640
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399896
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-04-22 21:20:23 +00:00
John Stiles
d85d720800 Add support for sample() to DSLCPPCodeGenerator.
This CL also removes some vestiges of the kSampler type, which hasn't
been used in .fp files for a long time.

Change-Id: Iaca1d0c6e77ad2df2b6c5dacd1c68079d6dd5cf2
Bug: skia:11854
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/398738
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-04-22 21:13:13 +00:00
John Stiles
abde8fc182 Enable DSL FP tests.
These new tests rely on compiled shaders that live in the
`tests/sksl/dslfp/` directory; this CL updates the Bazel and
emscripten build scripts to include these shaders.

Change-Id: Ib670682af8bf451a4473504dd4cc76a0e9222129
Bug: skia:11854
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/400097
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-04-22 21:03:43 +00:00
Chris Dalton
82007f568d Implement a fixed count stroke tessellator
This new tessellator renders strokes as fixed-count triangle strip
instances. Any extra triangles not needed by the instance are emitted
as degenerate triangles. Since it draws in order, this tessellator
allows us to batch dynamic colors even when hw tessellation is not
supported.

Bug: skia:10419
Change-Id: If03a8b76319471ae4d4580dda019b69204d9197b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/398416
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-04-22 20:34:04 +00:00
Chris Dalton
57ab06c14e Delete mixed samples
Mixed samples is no longer relevant for Ganesh. DMSAA and the new
Ganesh architecture both rely on full MSAA, and any platform where
mixed samples is supported will ultimately not use the old
architecture.

Change-Id: I5acc745010e090ef26310d92ec6240be2cd494cf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399837
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-04-22 20:11:34 +00:00
John Stiles
47b48bc2be Reland "Add support for uniforms and layout(key)s to DSLCPPCodeGenerator."
This reverts commit 289da86e37.

Reason for revert: relanding

Original change's description:
> Revert "Add support for uniforms and layout(key)s to DSLCPPCodeGenerator."
>
> This reverts commit f33b061e3b.
>
> Reason for revert: Google3 roll and wasm build
>
> Original change's description:
> > Add support for uniforms and layout(key)s to DSLCPPCodeGenerator.
> >
> > Change-Id: I77c386e3d72fb4a5986e5efb8bc9d409200534d1
> > Bug: skia:11854
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/398457
> > Commit-Queue: John Stiles <johnstiles@google.com>
> > Auto-Submit: John Stiles <johnstiles@google.com>
> > Reviewed-by: Brian Osman <brianosman@google.com>
>
> TBR=brianosman@google.com,ethannicholas@google.com,johnstiles@google.com
>
> Change-Id: I006ece639fa6051ff6ef1c496e648db9d5d0b30a
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:11854
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399498
> Reviewed-by: John Stiles <johnstiles@google.com>
> Commit-Queue: John Stiles <johnstiles@google.com>


Bug: skia:11854
Change-Id: I1a4a4db471e2ad0b169b2b77784ca17e6286fbd2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/400036
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-04-22 20:04:32 +00:00
John Stiles
956802335d Reland "Reland "Implement statements and expressions in DSL C++ code generator.""
This is a reland of c412688798

This CL lands the code changes but not the dm test, which is causing
link errors. Tests will be relanded as a separate CL, at
http://review.skia.org/400097

Original change's description:
> Reland "Implement statements and expressions in DSL C++ code generator."
>
> This is a reland of 16cbfb41df
>
> Tests now rely on `shaderDerivativeSupport` and `integerSupport` as
> proxies to indicate ES3 support. The SwitchStatement test has been
> adjusted to hopefully confuse fewer compilers.
>
> Original change's description:
> > Implement statements and expressions in DSL C++ code generator.
> >
> > This CL removes the bulk of the existing C++ code generator, especially
> > all the complex format-string assembly code. It has been replaced with
> > actual DSL code generation. Simple IR can now be successfully translated
> > to a working DSL fragment processor.
> >
> > This CL also adds a simple test harness which is patterned after the
> > existing SkSLTest; it renders a pixel, reads it back, and fails the test
> > if the result isn't solid green (RGBA=0101).
> >
> > This CL doesn't implement every feature. Some obvious gaps include:
> > - Sampling from children
> > - Uniforms/inputs of any kind
> > - Function calls of any kind
> >
> > Change-Id: Ib80c23fe1ba4453f7c3cb43b65f93c5ea0deb709
> > Bug: skia:11854
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/396757
> > Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
> > Reviewed-by: Brian Osman <brianosman@google.com>
> > Commit-Queue: John Stiles <johnstiles@google.com>
>
> Bug: skia:11854, skia:11891
> Change-Id: I91363e31f34611d15ae350b52d6fc459feeace9c
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399076
> Auto-Submit: John Stiles <johnstiles@google.com>
> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
> Reviewed-by: Ethan Nicholas <ethannicholas@google.com>

Bug: skia:11854
Bug: skia:11891
Change-Id: Ib1f08256c84d1da2130e0b61356f72435dc0a5a8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399740
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2021-04-22 20:01:33 +00:00
Brian Salomon
071182ed1d always use shader based tile modes for blurs in reduced shader mode
Bug: skia:11844
Change-Id: I7a02a4848ed81f16b05df0729070660faf8fce86
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399744
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2021-04-22 19:09:33 +00:00
Kevin Lubick
4755b0b525 [canvaskit] Add TextHeightBehavior
Bug: skia:11881
Change-Id: I220f5ad43de95324172ee5b6d3d5a975a3f8a166
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399836
Reviewed-by: Julia Lavrova <jlavrova@google.com>
2021-04-22 18:21:44 +00:00
Mike Klein
dd8f8ed384 clean up defines that do nothing
These are leftovers.  Should be a noop.

Change-Id: I9897841e63b417a63d6f2d681a8ac4ae50ebb485
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399797
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2021-04-22 18:02:59 +00:00
Adlai Holler
d37a085cd0 Enable DAG reordering on almost all bots
We exclude the NUC5PPYH just to get desktop coverage,
and we exclude the Pixel4, 4XL, 5 because of an apparent driver
bug I'm in the progress of tracking down.

Bug: skia:10877
Change-Id: Ic925cc7434c5228bcc2ee07ae752f89229db55c7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399742
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Adlai Holler <adlai@google.com>
2021-04-22 16:55:39 +00:00
Herb Derby
d5a676441a use GrArenas for direct glyph drawing
The existing code incorrectly uses the recordTimeAllocator.
Add a SubRunAllocator to the GrArenas, and use GrArenas to
store direct glyph drawing information.

Change-Id: I38ba25658364a48af5c775315331795d3d22121f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/397476
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-04-22 16:43:31 +00:00
Chris Dalton
b90447c04d Turn off mixed samples
Mixed samples is no longer relevant for Ganesh. DMSAA and the new
Ganesh architecture both rely on full MSAA, and any platform where
mixed samples is supported will ultimately not use the old
architecture.

This CL is step one of two in dropping support for mixed samples. Once
the gold expectations are updated, we will come back through and
delete the code.

Change-Id: Ib8d21dc285555f8bbfb45c3f1fb509af215f5bad
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399496
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-04-22 16:23:19 +00:00
Brian Salomon
fdc82b4c64 Reland "Use SkImage_Base::asFragmentProcessor in SkGpuDevice."
This is a reland of 11524527bc

Original change's description:
> Use SkImage_Base::asFragmentProcessor in SkGpuDevice.
>
> A step towards getting rid of GrTextureProducer family of classes.
>
> Bug: skia:11877
> Change-Id: I42e0f24441d7b64fd0e6b27671100750b80d15f4
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/398876
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>

Bug: skia:11877
Change-Id: Ic551b085c85f989fafb524751bdf27f15b6585c4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399743
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-04-22 15:44:39 +00:00
Robert Phillips
98b066cbe8 Add fuzzer for Triangulating Path Renderer
Bug: skia:11892
Change-Id: I3f8145516f8fd23eb05c29517cd5c1553c9b1df1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399296
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2021-04-22 15:35:29 +00:00
Joe Gregorio
a4e2f28697 Turn down SamsungChromebook2012 devices.
They are 9 years old.

Bug: skia:11876
Change-Id: I716880fd2405524b09543c9a166dc46e6b8ad815
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399500
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
2021-04-22 15:27:10 +00:00
Adlai Holler
729191d4c0 Add missing GrGLCaps logs
I tried to keep the log statements in line with the caps fields
themselves.

Also removed an unused cap.

Change-Id: I7b7f2ec0320fc72b57dc104be41ee7b5d12e6415
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399741
Commit-Queue: Adlai Holler <adlai@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Auto-Submit: Adlai Holler <adlai@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-04-22 15:19:59 +00:00
Mike Klein
5beb2b30b7 virtual+final in base class??
As far as I can tell, this is nonsense.

Change-Id: I2cd4c0eea15e3c611fbd043f3790216301362938
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399796
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2021-04-22 14:57:59 +00:00
Brian Salomon
aae8ccc78f Revert "Use SkImage_Base::asFragmentProcessor in SkGpuDevice."
This reverts commit 11524527bc.

Reason for revert: assert on pre-abandon bot

Original change's description:
> Use SkImage_Base::asFragmentProcessor in SkGpuDevice.
>
> A step towards getting rid of GrTextureProducer family of classes.
>
> Bug: skia:11877
> Change-Id: I42e0f24441d7b64fd0e6b27671100750b80d15f4
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/398876
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>

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

Change-Id: Idb84c05857e52fdb00f876d53e4b891329ca76bb
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:11877
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399739
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-04-22 14:00:41 +00:00
John Stiles
126128b37c Revert "Reland "Implement statements and expressions in DSL C++ code generator.""
This reverts commit c412688798.

Reason for revert: fix Google3 roll and wasm build

Original change's description:
> Reland "Implement statements and expressions in DSL C++ code generator."
>
> This is a reland of 16cbfb41df
>
> Tests now rely on `shaderDerivativeSupport` and `integerSupport` as
> proxies to indicate ES3 support. The SwitchStatement test has been
> adjusted to hopefully confuse fewer compilers.
>
> Original change's description:
> > Implement statements and expressions in DSL C++ code generator.
> >
> > This CL removes the bulk of the existing C++ code generator, especially
> > all the complex format-string assembly code. It has been replaced with
> > actual DSL code generation. Simple IR can now be successfully translated
> > to a working DSL fragment processor.
> >
> > This CL also adds a simple test harness which is patterned after the
> > existing SkSLTest; it renders a pixel, reads it back, and fails the test
> > if the result isn't solid green (RGBA=0101).
> >
> > This CL doesn't implement every feature. Some obvious gaps include:
> > - Sampling from children
> > - Uniforms/inputs of any kind
> > - Function calls of any kind
> >
> > Change-Id: Ib80c23fe1ba4453f7c3cb43b65f93c5ea0deb709
> > Bug: skia:11854
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/396757
> > Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
> > Reviewed-by: Brian Osman <brianosman@google.com>
> > Commit-Queue: John Stiles <johnstiles@google.com>
>
> Bug: skia:11854, skia:11891
> Change-Id: I91363e31f34611d15ae350b52d6fc459feeace9c
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399076
> Auto-Submit: John Stiles <johnstiles@google.com>
> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
> Reviewed-by: Ethan Nicholas <ethannicholas@google.com>

TBR=brianosman@google.com,ethannicholas@google.com,johnstiles@google.com

Change-Id: I71a8cf31e8a013b7a2a0d10f0ad3bc3893ea07ea
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:11854
Bug: skia:11891
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399499
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-04-22 13:45:00 +00:00
John Stiles
289da86e37 Revert "Add support for uniforms and layout(key)s to DSLCPPCodeGenerator."
This reverts commit f33b061e3b.

Reason for revert: Google3 roll and wasm build

Original change's description:
> Add support for uniforms and layout(key)s to DSLCPPCodeGenerator.
>
> Change-Id: I77c386e3d72fb4a5986e5efb8bc9d409200534d1
> Bug: skia:11854
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/398457
> Commit-Queue: John Stiles <johnstiles@google.com>
> Auto-Submit: John Stiles <johnstiles@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>

TBR=brianosman@google.com,ethannicholas@google.com,johnstiles@google.com

Change-Id: I006ece639fa6051ff6ef1c496e648db9d5d0b30a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:11854
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399498
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-04-22 13:43:20 +00:00
Ravi Mistry
27095f28d0 Revert "Display a Docs-Preview link for each modified MD file"
This reverts commit 42d753031d.

Reason for revert: Replaced by the work in skbug.com/11824

Original change's description:
> Display a Docs-Preview link for each modified MD file
>
> Bug: skia:11824
> Change-Id: I6bd557affca5ccf9f2936d86e2b0da168ceb2670
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/390577
> Commit-Queue: Ravi Mistry <rmistry@google.com>
> Reviewed-by: Joe Gregorio <jcgregorio@google.com>

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

Bug: skia:11824
Change-Id: Ia874ed6474fcae4698cd676dbdf208dbdefdedc4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399716
Reviewed-by: Ravi Mistry <rmistry@google.com>
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2021-04-22 13:39:28 +00:00
Brian Salomon
11524527bc Use SkImage_Base::asFragmentProcessor in SkGpuDevice.
A step towards getting rid of GrTextureProducer family of classes.

Bug: skia:11877
Change-Id: I42e0f24441d7b64fd0e6b27671100750b80d15f4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/398876
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-04-22 13:01:18 +00:00
Greg Daniel
805c62200d Move cached render passes onto GrVkFramebuffer.
This moves them off of GrVkRenderTarget so that they can be directly
accessed with just a GrVkFramebuffer.

Bug: skia:11809
Change-Id: I5e5024779dc106642de9035400df2b04d35ad753
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/398657
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2021-04-22 13:00:18 +00:00
Brian Salomon
3036defd9e In reduced shader mode 1D Gaussian effect doesn't bake loop count.
Good for 92 shader compile reduction in desk_carsvg.skp.

This is probably a candidate for doing all the time, not just in reduced
shader mode.

Bug: skia:11844
Change-Id: I84e1b41580828d6a4a548c19480cf12c47eeb299
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399416
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-04-22 12:47:18 +00:00
skia-autoroll
f21d097523 Roll Chromium from 6e17434800cb to faf3e3230d75 (444 revisions)
6e17434800..faf3e3230d

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 jvanverth@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: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
Tbr: jvanverth@google.com
Change-Id: If4740a88ac8a9632f4745a1edcfb17ede4fd2259
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399596
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-04-22 05:52:28 +00:00
skia-autoroll
32657c71f9 Roll ANGLE from d170f8e11bdb to e0e5eb8480ab (14 revisions)
d170f8e11b..e0e5eb8480

2021-04-22 jmadill@chromium.org Fix ScanReverse on posix/32-bit.
2021-04-22 ianelliott@google.com Vulkan: Allow logging with VVL and/or AGI debug utils to be used
2021-04-21 jmadill@chromium.org infra: Add Android builders to CQ by default.
2021-04-21 jmadill@chromium.org Add first() and last() to BitSetArray.
2021-04-21 jmadill@chromium.org Replace ijar sources with Chromium subtree mirror.
2021-04-21 jmadill@chromium.org Remove libGLESv1_CM static.
2021-04-21 jmadill@chromium.org Android: Enable APK build.
2021-04-21 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 141612cc6143 to 2e3165386670 (489 revisions)
2021-04-21 syoussefi@chromium.org Reland "Revert "Vulkan: Suppress draw-time push constant VVL warnings. ""
2021-04-21 jmadill@chromium.org Remove 'six' from roll_chromium_deps.
2021-04-21 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 494bfcf95bd6 to e5bb9b56c292 (4 revisions)
2021-04-21 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from dac99e8221a8 to c597a8af03ef (2 revisions)
2021-04-21 lubosz.sarnecki@collabora.com tests: Add DepthStencilTestES3.ReadPixelsDepth24.
2021-04-21 lehoangq@gmail.com Metal: Distinguish Metal backend from OpenGL's Metal driver

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 jvanverth@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: jvanverth@google.com
Test: Test: angle_end2end_tests --gtest_filter=DepthStencilTestES3.ReadPixelsDepth24/ES3_Vulkan_SwiftShader
Change-Id: Ibec081af303c11f146dbb6dd48a44736908049ef
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399597
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-04-22 04:51:57 +00:00
Chris Dalton
6ca9e18bf6 Update GrStrokeTessellator to make its own shader
Bug: skia:10419
Change-Id: I656e2508e95a47e03af431734ac06cbdb41232c6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/398356
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-04-21 22:58:37 +00:00
Brian Osman
e5877456ef Restore cube demo to canvaskit demo page
Lighting isn't quite right, but this is far better than nothing.

Change-Id: I5ad663be01554da68d878a383855cd719a9952f2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399338
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-04-21 21:55:27 +00:00