Commit Graph

60763 Commits

Author SHA1 Message Date
Jim Van Verth
791f4bcf3e Fix up Ganesh and Graphite defines.
SK_SUPPORT_GPU needed to be set to 1, and SK_GRAPHITE_ENABLED should
be checked to see if it's defined, not its value.

Change-Id: Ib762c590ceaa570ec98a76558657bbcee672c254
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/543080
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2022-05-23 20:51:28 +00:00
Herb Derby
0fcf38ce16 Pass the SubRun storage to draw to be counted in the op
This is a CL to make the APIs for SubRuns more Blob/Slug
agnostic. The aim is to make the process* code for Blobs and
Slug the same.

Change-Id: I087da97ea4c56e5d37619a43b2aa2458bc58914c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/542648
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2022-05-23 20:47:05 +00:00
Robert Phillips
dfabbfc0e3 [graphite] Add SkCombinationBuilder.h
This is cleanup left over from a prior CL's review. We will want to
use the combination builder outside of graphite.

This CL is mainly just moving stuff around except for the addition
of the SkCombinationBuilder.buildCombinations method and CreateKey
more accessible outside of Graphite.

Bug: skia:12701
Change-Id: If2cae6fcff5670e488bc14473b7b1d2f9b1fecd7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/543196
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2022-05-23 20:26:17 +00:00
Greg Daniel
8fd61eea0d [graphite] Add SkBudgeted field to Resources.
This also adds support for making a Resources unbudgeted state when it
is pulled out of the cache to be used for an SkImage or Surface. It
then puts the resources back as budgeted when returned to the cache.

Bug: skia:12754
Change-Id: I469ace602aa6f5f708b82655e94557ff8ad45a72
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/538046
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2022-05-23 17:59:54 +00:00
Kevin Lubick
7ca19d2a56 [pathkit] Expose res_scale
Bug: skia:13301
Change-Id: I20be23d748afca28012e39dfc62898ac0f25614b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/541536
Reviewed-by: Jorge Betancourt <jmbetancourt@google.com>
2022-05-23 17:46:48 +00:00
Michael Ludwig
767586b330 Update Sk4px to use skvx instead of SkNx
Adds a saturated_add function that was on SkNx and used in
SkXfermode_opts, but hadn't been ported to skvx yet.

Removes the Sk4px_opts variants and simplifies some of its functions;
many were already defined skvx.

The largest change is that Sk4px does not extend skvx::byte16, since it
used to extend Sk16b. Now it just has a vector as a data type. This
was necessary so that we could define operators that were typed for
Sk4px and Wide w/o conflicting with the free operators that were
defined for the base skvx types.

Change-Id: I8c667ba86f662ccf07ad85aa32e78abfc0a8c7ae
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/542645
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2022-05-23 17:41:53 +00:00
Jim Van Verth
3149a7b283 Moving GrTextBlob to sktext::gpu
Bug: skia:13118
Change-Id: Id7c92b2e1af9febb3e576c244fcff3aedd27f408
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/542646
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2022-05-23 17:09:39 +00:00
Michael Ludwig
ccf94835ee [graphite] Flesh out stroke patch writing
Bug: skia:12703
Change-Id: Ic24f7c29583946f29b4b500194f2e951b1037655
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/540856
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2022-05-23 16:58:40 +00:00
Michael Ludwig
230c535dfe Manual dawn roll
Change-Id: Ib4f2ae63ceee424eb93d098c7cd65e6ea8ac92f7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/543056
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Auto-Submit: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2022-05-23 16:22:20 +00:00
skia-autoroll
8d7729ee6a Roll vulkan-deps from 82a65519c521 to 96612da0dde0 (1 revision)
https://chromium.googlesource.com/vulkan-deps.git/+log/82a65519c521..96612da0dde0

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

To file a bug in skia: https://bugs.chromium.org/p/skia/issues/entry

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/main/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Debug-Dawn;skia/skia.primary:Build-Debian10-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE
Bug: None
Tbr: tdenniston@google.com
Change-Id: I818657df0d85d8db4a3bb5c294da27676826c625
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/543107
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-05-23 15:22:53 +00:00
Michael Ludwig
86323276b2 [graphite] Add shell for TessellateStrokeRenderStep
Bug: skia:12703
Change-Id: I9cc44db555a7bb03e4afeaedac4052c796349c5e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/540621
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2022-05-23 15:10:06 +00:00
Tyler Denniston
193c16380f Revert "Eliminate DSLPossibleExpression."
This reverts commit f2d000328f.

Reason for revert: breaking google3 roll

Original change's description:
> Eliminate DSLPossibleExpression.
>
> The Possible(Expression|Statement) classes were added at
> http://review.skia.org/375069. These classes were responsible for
> capturing `__builtin_FILE()` and `__builtin_LINE()` when an
> expression or statement was added to a hand-authored DSL program. This
> allowed errors to be reported on the C++ file/line where they were
> encountered. This was a good feature to have, when the plan was to
> author the majority of SkSL code via DSL.
>
> Later, IRNode positions were converted from an integer line number to
> SkSL Positions at http://review.skia.org/518137. This gave us range
> tracking, but at a high memory cost (16 bytes per IRNode, versus four
> bytes when we tracked line numbers only).
>
> Positions were reduced to 8 bytes at http://review.skia.org/521005 by
> removing the filename, which was only used for hand-authored DSL. (The
> size was pared all the way back to 4 bytes at
> http://review.skia.org/533699 by packing the data more efficiently.)
>
> __builtin_FILE/LINE capturing was removed entirely at
> http://review.skia.org/528366; the filename was discarded anyway and
> the line number didn't have a range and wasn't very meaningful without
> a filename. Also, it didn't matter very much since we no longer intended
> to hand-craft our programs in DSL.
>
> At this stage, DSLPossibleExpression stopped adding value and simply
> served to move Expressions around.
>
> Change-Id: I29ac33e08dcc1804cc0619c1e8856ba28ebcc51d
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/542145
> Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
> Auto-Submit: John Stiles <johnstiles@google.com>

Change-Id: I33badbdcce8760200246bf50e4932d42721ea952
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/543078
Reviewed-by: Tyler Denniston <tdenniston@google.com>
Owners-Override: Kevin Lubick <kjlubick@google.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Tyler Denniston <tdenniston@google.com>
2022-05-23 15:04:00 +00:00
Michael Ludwig
8e870728db Update filters to use skvx instead of SkNx
Change-Id: I1a5490f546a3cb046c64b114a30be991d2d9f2cc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/541064
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2022-05-23 14:38:11 +00:00
John Stiles
f2d000328f Eliminate DSLPossibleExpression.
The Possible(Expression|Statement) classes were added at
http://review.skia.org/375069. These classes were responsible for
capturing `__builtin_FILE()` and `__builtin_LINE()` when an
expression or statement was added to a hand-authored DSL program. This
allowed errors to be reported on the C++ file/line where they were
encountered. This was a good feature to have, when the plan was to
author the majority of SkSL code via DSL.

Later, IRNode positions were converted from an integer line number to
SkSL Positions at http://review.skia.org/518137. This gave us range
tracking, but at a high memory cost (16 bytes per IRNode, versus four
bytes when we tracked line numbers only).

Positions were reduced to 8 bytes at http://review.skia.org/521005 by
removing the filename, which was only used for hand-authored DSL. (The
size was pared all the way back to 4 bytes at
http://review.skia.org/533699 by packing the data more efficiently.)

__builtin_FILE/LINE capturing was removed entirely at
http://review.skia.org/528366; the filename was discarded anyway and
the line number didn't have a range and wasn't very meaningful without
a filename. Also, it didn't matter very much since we no longer intended
to hand-craft our programs in DSL.

At this stage, DSLPossibleExpression stopped adding value and simply
served to move Expressions around.

Change-Id: I29ac33e08dcc1804cc0619c1e8856ba28ebcc51d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/542145
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2022-05-23 13:56:41 +00:00
skia-autoroll
d3cbea4114 Roll SwiftShader from 73679602bc0b to b5cb037f0292 (2 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/73679602bc0b..b5cb037f0292

2022-05-20 swiftshader.regress@gmail.com Regres: Update test lists @ 73679602
2022-05-20 penghuang@cromium.org Adjust {min,max}ImageExtent to {0,0} and 4K

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 tdenniston@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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/main/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Test-Debian10-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: tdenniston@google.com
Change-Id: Ie3f95f4ff0299e02e147beb8de6a9147aa5b0a8e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/543037
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-05-23 04:50:22 +00:00
skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com
fb7f03aeac Update SKP version
Automatic commit by the RecreateSKPs bot.

Change-Id: Ib6f8e15be676f5c13bbf709af285da3dbb7bbe8f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/542976
Commit-Queue: skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Bot-Commit: skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2022-05-22 08:23:54 +00:00
skia-autoroll
ade84dfd2b Roll vulkan-deps from 5fcdc8144e78 to 82a65519c521 (1 revision)
https://chromium.googlesource.com/vulkan-deps.git/+log/5fcdc8144e78..82a65519c521

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

To file a bug in skia: https://bugs.chromium.org/p/skia/issues/entry

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/main/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Debug-Dawn;skia/skia.primary:Build-Debian10-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE
Bug: None
Tbr: jmbetancourt@google.com
Change-Id: Iaea55618875075f33e8c51fc53b256f1f69fafa3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/542916
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-05-21 09:03:25 +00:00
John Stiles
7f4a5f2ebb Remove dead code in PossibleStatement/PossibleExpression dtors.
~DSLStatement and ~DSLExpression previously called
`fFragBuilder->codeAppend`. ~DSLPossibleStatement and
~DSLPossibleExpression would convert themselves to DSLStatements and
DSLExpressions (if otherwise unreleased) in order to leverage this
side-effect. DSL FP support was removed at
http://review.skia.org/540301, and those side-effects were removed.
At that point, these destructors became dead code.

Change-Id: Iec801d66b9ee9ea8c93f7c851966af38c6446037
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/542526
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Arman Uguray <armansito@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2022-05-21 00:37:06 +00:00
skia-autoroll
0d8b218f8a Roll SK Tool from 97525e74ca36 to d66bc1818def
https://skia.googlesource.com/buildbot.git/+log/97525e74ca36..d66bc1818def

2022-05-20 rmistry@google.com [status] Display repo-specific Gold statuses
2022-05-20 rmistry@google.com [npm-audit-mirror] Add Chromium Dash as a supported project
2022-05-20 kjlubick@google.com [bazel] Make cipd_install take a configurable BUILD file
2022-05-20 lovisolo@google.com [bazel] Install cpython3 CIPD package with cipd_install. Delete CIPD from RBE toolchain container.
2022-05-20 lovisolo@google.com [bazel] Remove vpython-native CIPD package from RBE toolchain container.
2022-05-20 lovisolo@google.com [bazel] Install vpython CIPD package with cipd_install.
2022-05-20 lovisolo@google.com [bazel] Add helpers under //bazel/cipd to get paths to CIPD binaries.
2022-05-20 kjlubick@google.com [task_scheduler] Remove conflicting init configuration
2022-05-20 borenet@google.com [autoroll] Fix comment in meta-config generator
2022-05-20 borenet@google.com [sk] Attempt to automatically derive the bucket for tryjobs

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 jcgregorio@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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/main/autoroll/README.md

Tbr: jcgregorio@google.com
Change-Id: Ic9481c703a96cbf4f01242898ffb844fdf4abd49
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/542724
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-05-20 21:32:54 +00:00
Ben Wagner
9ae91aa2c0 [pdf] Reduce nesting in gradient functions.
Previously the function emitted for complex gradients looked like

    if (t <= 0) {
      ret = color[0]
    } else {
      if (t <= stop[1]) {
        ret = interp(t, color[0], color[1])
      } else {
        if (t <= stop[2]) {
          ret = interp(t, color[1], color[2])
        } else {
          if (t <= stop[3]) {
            ret = interp(t, color[2], color[3])
          } else {
            if (t <= stop[4]) {
              ret = interp(t, color[3], color[4])
            } else {
              ret = color[4]
            }
          }
        }
      }
    }

So a gradient with many color stops could end up with extreme nesting of
ifelse. This could cause some viewers to reject the function due to
implementation limits. Even when not rejected the drawing would be slow
due to the linear testing of each range.

Change the function's structure to a binary search with special cases
for the begin and end ranges.

    if (t <= 0) {
      ret = color[0];
      t = 0;
    }
    if (t > 0 && t <= stop[4]) {
      if (t <= stop[2]) {
        if (t <= stop[1]) {
          ret = interp(t, color[0], color[1]);
        } else {
          ret = interp(t, color[1], color[2]);
        }
      } else {
        if (t <= stop[3] {
          ret = interp(t, color[2], color[3]);
        } else {
          ret = interp(t, color[3], color[4]);
        }
      }
      t = 0;
    }
    if (t > 0) {
      ret = color[4];
    }

This change allows gradients with many stops to work in all known
viewers and greatly speeds up their drawing in viewers which did manage
to render with the old function. The function text is slightly larger
with this change, but minimally. If this becomes a size issue it may be
possible to size optimize gradients with few stops in the future.

Props to Bram De Cooman for suggesting this form for the function, the
initial implementation [0], and testing to make sure this approach would
resolve the issue.

[0] https://skia-review.googlesource.com/c/skia/+/540136

Bug: chromium:1316377
Co-authored-by: Bram De Cooman <bram.decooman@gmail.com>
Change-Id: Ib29cbb17220b9c32105b02222c1e1615ce0196bf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/541639
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2022-05-20 21:24:08 +00:00
Herb Derby
5c9d1a90eb Introduce someExcludedGlyphs to align Slug and Blob processing
Change-Id: I82786ace477796afe099dea26e95c295a5a31271
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/542637
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2022-05-20 20:58:04 +00:00
skia-autoroll
e803e61f4f Roll skcms from dcb0286a1e17 to 9c30a95f0f16 (1 revision)
https://skia.googlesource.com/skcms.git/+log/dcb0286a1e17..9c30a95f0f16

2022-05-20 brianosman@google.com Fix "implicit conversion from 'int' to 'float' may lose precision"

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 brianosman@google.com,jmbetancourt@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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/main/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Canary-Chromium
Tbr: brianosman@google.com,jmbetancourt@google.com
Change-Id: Ibd8f1fc3eec9a853fc766979419e9c4ad5af049d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/542718
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-05-20 20:43:00 +00:00
skia-autoroll
30cec70bef Roll vulkan-deps from 880c9e0050c6 to 5fcdc8144e78 (4 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/880c9e0050c6..5fcdc8144e78

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

To file a bug in skia: https://bugs.chromium.org/p/skia/issues/entry

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/main/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Debug-Dawn;skia/skia.primary:Build-Debian10-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE
Bug: None
Tbr: jmbetancourt@google.com
Change-Id: I7df79c7fd698adc5c94c940f70ef357181744967
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/542721
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-05-20 20:27:02 +00:00
Michael Ludwig
c43555b2f9 [graphite] Delete unused/refrenced cpp file
Change-Id: I4ea10bd1354d6f68a6940fd48782bfa00bb3b343
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/542417
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Auto-Submit: Michael Ludwig <michaelludwig@google.com>
2022-05-20 20:10:32 +00:00
John Stiles
d4f366e7da Update SkTArray tests to include arrays of objects with vtables.
These tests would be expected to trigger the CFI sanitizer (skia:13339).
We don't currently support CFI sanitizers, though (skia:13338).

Tests are confirmed to fail in Linux by copying TArray unit tests into
SkSLCompiler and running Chrome unit tests:
http://screen/3cYe9r4MYSXmTTa

Change-Id: If2d9e611bc9902e2ac6e0960a38e876bb1952884
Bug: skia:13338, skia:13339
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/542639
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2022-05-20 19:47:12 +00:00
Herb Derby
17391db9fb Remove unused type alias GrAtlasSubRunOwner
Change-Id: I6db6a31834e55ebcc4af9064eac372281f341533
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/542644
Auto-Submit: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2022-05-20 19:45:04 +00:00
Jim Van Verth
e55e01640b [graphite] Move Slug to gpu shared
Bug: skia:13118
Change-Id: Id4afcfeeb9a5b44a0e2cb24b70c76a81ec5daaea
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/542300
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2022-05-20 19:42:03 +00:00
Michael Ludwig
0275828111 [graphite] Update job/task auto-trigger to reflect new directory
Change-Id: I6db702c2d231bfe527b3fd4bf4f99beb6e58bf8a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/542641
Auto-Submit: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2022-05-20 19:20:10 +00:00
Ben Wagner
d2fba4ac94 [pdf] Fix complex mirrored gradients in Preview.
An undocumented feature of Preview 11.0 (1033.3) is that `a n mod r eq`
(with a and n both integers, r integer or real) early aborts a function
when false would be put on the stack. Work around this by re-writing
`t 2 mod 1 eq` as `t 2 mod 0 gt`.

Bug: chromium:1316377, chromium:1170345
Change-Id: Ibb6eaaf36f276e9ef2906159622ab44b35289492
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/542638
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2022-05-20 18:17:01 +00:00
Brian Osman
9c8b5c6566 Enable Matrix-Scalar math tests on all ANGLE Mac bots
Fix for this landed in ANGLE.

Bug: skia:13290
Cq-Include-Trybots: luci.skia.skia.primary:Test-Mac10.15.1-Clang-MacBookAir7.2-GPU-IntelHD6000-x86_64-Debug-All-ANGLE
Change-Id: Id14366c5f9fe33bf1347a9bdaad12ec38b93fa6b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/542640
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2022-05-20 17:27:43 +00:00
Michael Ludwig
b9195414fd [graphite] Handle dynamic instances that never accumulated anything
In the curve tessellating render step, a path that is only linear
segments is entirely handled by the inner triangles, so the patch
writing never actually emits any instances. This is detected after
the fact by seeing that the per-instance vertex count remains 0, so
we just skip issuing the draw call.

Change-Id: I708797484073f5afcfb5d734467378861091ce8a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/542616
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2022-05-20 16:53:52 +00:00
Jim Van Verth
7a9744cc4c [graphite] Remove need for Plot subclass.
Graphite will also need tokens to track draw and upload progress, so
moved the token class to a shared location, and tokens into the Plot
class.

Bug: skia:13118
Change-Id: Ib5748a7f25d79ee0aabca7427511cc9fd6e75117
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/541740
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2022-05-20 15:41:01 +00:00
Robert Phillips
b2e3f57866 [graphite] Pull the ShaderType enum out of the ShaderCombo
The ShaderType enum seems like it will persist while the ShaderCombo will not.

Bug: skia:12701
Change-Id: Idf9ed89a50bac46b93a81da3e814207c83b3a1ea
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/541723
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2022-05-20 14:48:11 +00:00
John Stiles
d12cfa9d12 Update UBSAN TODO assigned to Xoogler.
I've created a real bug and assigned to Joe Gregorio for now (please
reassign as you see fit).

Change-Id: I0cc1ef52b254904e545c9c266df484816de60021
Bug: skia:13344
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/542636
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
2022-05-20 13:58:22 +00:00
Michael Reed
14aa53bf38 Add rive to third_party
Add rive slide to Viewer

Change-Id: Id25a7ac2a65e816544159ff4b3f582249f9ba0ce
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/541742
Auto-Submit: Mike Reed <mike@reedtribe.org>
Reviewed-by: Florin Malita <fmalita@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
2022-05-20 13:33:30 +00:00
skia-autoroll
b2a8a7e3e8 Roll vulkan-deps from db71a037284b to 880c9e0050c6 (2 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/db71a037284b..880c9e0050c6

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

To file a bug in skia: https://bugs.chromium.org/p/skia/issues/entry

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/main/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Debug-Dawn;skia/skia.primary:Build-Debian10-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE
Bug: None
Tbr: jmbetancourt@google.com
Change-Id: I39a5f35d10c1548a31bb16d9dd1ef5edebc5a19c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/542578
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-05-20 07:40:54 +00:00
skia-autoroll
531b0b096b Roll ANGLE from 6ae0c3214c41 to 58fd315775c8 (13 revisions)
6ae0c3214c..58fd315775

2022-05-20 syoussefi@chromium.org Vulkan: Dynamic state for vertex stride
2022-05-20 brianosman@google.com Insert Metal polyfill for Matrix /= Scalar when needed
2022-05-20 yuxinhu@google.com Suppress Flaky Tests
2022-05-20 yuxinhu@google.com Update capture replay expectation file
2022-05-20 gman@chromium.org Metal: Upstream buffer cache fix from WebKit
2022-05-20 cnorthrop@google.com Tests: Add Bridge Constructor Portal trace
2022-05-19 yuxinhu@google.com Suppress Vulkan Validation Error
2022-05-19 ynovikov@chromium.org Fix trigger.py to run mb.py with python3
2022-05-19 syoussefi@chromium.org Vulkan: Reserve varying for xfb if pre-rotation is enabled
2022-05-19 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from dbb1f3a2b2f7 to 170d12460fd5 (586 revisions)
2022-05-19 pkasting@chromium.org Roll third_party/rapidjson/src/ 7484e06c5..781a4e667 (156 commits)
2022-05-19 ynovikov@chromium.org Fetch gn binary for the correct architecture on linux.
2022-05-19 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from cb4fc6d02fe4 to 2933d3126969 (1 revision)

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 jmbetancourt@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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/main/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: jmbetancourt@google.com
Test: Test: angle_perftests --gtest_filter="*bridge_constructor_portal*"
Change-Id: Ia50d9e50805b38bd0a8bf137d156ec4f2274247c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/542479
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-05-20 05:53:22 +00:00
skia-autoroll
1ab0d40b83 Roll SwiftShader from 2933d3126969 to 73679602bc0b (4 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/2933d3126969..73679602bc0b

2022-05-19 swiftshader.regress@gmail.com Regres: Update test lists @ 2933d312
2022-05-19 capn@google.com Revert workaround for MemorySanitizer scalar SSE false positives
2022-05-19 sugoi@google.com Revert "Stop skipping VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT"
2022-05-19 sugoi@google.com Fix using uninitialized blend constants

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 jmbetancourt@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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/main/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Test-Debian10-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: jmbetancourt@google.com
Change-Id: I3032a944436cdd7e5d36eaf3b35367cfff15ac23
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/542480
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-05-20 04:49:57 +00:00
Michael Ludwig
1186b60fcf [graphite] Only convert LinearTolerances to vertex counts when invoking draw calls
Instead of taking the minimum required index/vertex count for an
instance, DynamicInstances::append() now takes a proxy. The proxy can
be used to calculate the index when it's needed at flush time, and can
accumulate its internal state to represent a worst case that
corresponds to the worst case index count as well.

Updates the tessellating RenderSteps to use a single PatchAllocator
definition that just swaps out how tess::LinearTolerances are converted
to a vertex count. This will also work seamlessly with
FixedCountStrokes.

Removes stride() function from PatchAllocator because it's clunky to
try and pass that out of DrawWriter or RenderStep to PatchWriter, and
can be re-computed from fAttribs anyways. Since it's only re-used in
PatchWriter for the deferred patch, it's one sum for every path contour
and will likely not be noticed in perf. If it is, we can have
PatchWriter remember it instead and keep PatchAllocator simple still.

Bug: skia:13056, skia:13012
Change-Id: I52a36da4df23ebb01a98246458b6538744c1815f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/540620
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2022-05-20 01:32:52 +00:00
Michael Ludwig
4621ef2a8a Improve skvx::any() and all() intrinsics
Removes specializations for all() on AVX2 and SSE 4.1, which give the
wrong results if the ints didn't have all bits set (inconsistent with
other platforms and non-SIMD). Added a unit test that checks this case.

The mirror specializations for any() on AVX2 and SSE 4.1 are actually
valid, so added those, and added a 2 instruction specialization for
SSE for any() and all(). This is what clang-trunk produces on -O3, but
ToT clang struggles to vectorize it.

Also adds specializations for NEON for any() and all(), since even
clang-trunk was struggling to vectorize it automatically. In
particular, this will help skgpu::graphite::Rect's implementations of
intersect and contains, which use any/all to get a final boolean value.
In the Instruments app, I had see Rect's intersection as a hotspot
on the Mac M1, and this vectorization helps a bit.

Also takes the opportunity to remove fake C++14 constexpr for a
real constexpr.

Change-Id: Ib142e305ae5615056a777424e379b6da82d44f0c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/542296
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2022-05-20 00:50:59 +00:00
Michael Ludwig
ab8cfbed8f Update SkMatrix to use skvx instead of SkNx
Change-Id: I012ea84083a592d7d2303067128857c01cd770dd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/541176
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2022-05-20 00:49:11 +00:00
Michael Ludwig
8a0df35046 Update SkGeometry et al. to skvx from SkNx
Change-Id: Iad3db284022ad2488119997a2d466a0eee8974b5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/541136
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2022-05-20 00:45:29 +00:00
Aaron Krajeski
1a7fb782ae Make float color versions of SkBitmap::clear
Bug: skia:13329
Change-Id: I9992cd5149e50f9a998af712984a82e5d952d58b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/541936
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2022-05-19 23:25:06 +00:00
skia-autoroll
019046e408 Roll SK Tool from e770b52f19c3 to bf200d93f5e3
https://skia.googlesource.com/buildbot.git/+log/e770b52f19c3..bf200d93f5e3

2022-05-19 lovisolo@google.com [bazel] Remove isolate/isolated CIPD packages from RBE toolchain container.
2022-05-19 lovisolo@google.com [bazel] Add cipd_install repository rule. Fetch git from CIPD with it.

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 jcgregorio@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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/main/autoroll/README.md

Tbr: jcgregorio@google.com
Change-Id: I3d78eef5dfb14d8101b7961994ef1b2b81d80d93
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/542064
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2022-05-19 22:45:56 +00:00
Jason Simmons
8c30cab578 Return the width of a placeholder in iterateThroughSingleRunByStyles
Also avoid visiting the text run that contains the placeholder
character.

See https://github.com/flutter/flutter/issues/104077

Change-Id: I1c9792f165c7fa971dbf13ba3130f1a787065d0d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/541790
Reviewed-by: Julia Lavrova <jlavrova@google.com>
Commit-Queue: Jason Simmons <jsimmons@google.com>
2022-05-19 22:08:54 +00:00
Joe Gregorio
ee16b9b4ff Skip blurcircles2 on Win10 RTX3060.
Bug: skia:13342
Change-Id: Id36546e47419c651d1dd585b56e7353ee48fc50c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/542141
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2022-05-19 20:58:28 +00:00
Brian Salomon
6ba1e8dd95 Manual Dawn roll from 34d2d1ba0273 to 4bdded68d58d (34 revisions)
https://dawn.googlesource.com/dawn.git/+log/34d2d1ba0273..4bdded68d58d

2022-05-19 zhaoming.jiang@intel.com Dawn: vertex buffer never OOB with zero stride count draw/Indexed
2022-05-19 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 4dc9c79e0cf7 to d3eb61d4a054 (15 revisions)
2022-05-18 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 89eb09307fbc to 2933d3126969 (2 revisions)
2022-05-18 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from b190c10e0804 to b0e4ff85c2aa (4 revisions)
2022-05-18 bclayton@google.com tint: Refactor Extensions / Enables.
2022-05-18 bclayton@google.com tint: Implement abstract-numeric overload resolution
2022-05-18 amaiorano@google.com tint: Fix use-after-free
2022-05-18 bclayton@google.com tint: intrinsics.def Support [[precedence]] decoration
2022-05-18 cwallez@chromium.org Temporarily mark requestDevice_limits as failing.
2022-05-18 cwallez@chromium.org Directly enable -Wglobal-constructors
2022-05-18 amaiorano@google.com tint: Validate that sampled texture type must be f32, i32, or u32
2022-05-18 enga@chromium.org Fix multiple device leaks in dawn_end2end_tests and dawn_unittests
2022-05-18 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 93c0c90db873 to 4dc9c79e0cf7 (4 revisions)
2022-05-18 cwallez@chromium.org Remove expectations for passing WebGPU CTS tests
2022-05-18 bclayton@google.com expectations.txt: Remove rules for passing tests
2022-05-18 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 5d184f5765ff to b190c10e0804 (3 revisions)
2022-05-18 bclayton@google.com tint: Add sem::Type::ConversionRank()
2022-05-18 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 80de201a2a13 to 89eb09307fbc (2 revisions)
2022-05-17 bclayton@google.com tint: IntrinsicTable: Rename open/closed -> template
2022-05-17 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 807c94ea85e0 to 93c0c90db873 (7 revisions)
2022-05-17 bclayton@google.com tint: Simplify sem::Constant::Scalar
2022-05-17 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from c37d1e2ab98c to 5d184f5765ff (4 revisions)
2022-05-17 bclayton@google.com tint: Cleanup of IntrinsicTable
2022-05-17 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 4011ab35f3d8 to 80de201a2a13 (1 revision)
2022-05-17 amaiorano@google.com gitignore /build-*
2022-05-17 amaiorano@google.com tint: limit expression depth to avoid stack overflow in backends
2022-05-17 cwallez@chromium.org Roll third_party/webgpu-cts/ bf5409992..e518bfe8a (3 commits)
2022-05-17 bclayton@google.com Kokoro: Log disk utilization in status message
2022-05-17 cwallez@chromium.org Only checkout our own clang-tidy if in standalone builds
2022-05-17 jrprice@google.com tint: Fix edge for CallSiteRequiredToBeUniform
2022-05-17 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 36f5e6ce5508 to 807c94ea85e0 (6 revisions)
2022-05-17 kainino@chromium.org Reland "[chromium-style] Adding constructors and destructors."
2022-05-17 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from b5c0eec3336c to c37d1e2ab98c (1 revision)
2022-05-17 kainino@chromium.org Enable -Wglobal-constructors for dawn/native

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 cwallez@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Dawn: https://bugs.chromium.org/p/dawn/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

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/main/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Debug-Dawn
Bug: None
Change-Id: If19992616124865e608440fbb37cfd37fb58af75
Tbr: cwallez@google.com
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/542143
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2022-05-19 20:56:01 +00:00
John Stiles
3dc829746a Eliminate vtable from DSLVar class hierarchy.
The only usage of `virtual` was the `storage()` method. This value is
now stored in a member variable. It is packed next to a bool so it
should be ~zero extra space, versus 8 bytes for a vtable pointer. We
also save cost of a virtual dtor call every time a DSLVar goes away.

Because VariableStorage is not a public type, this required shuffling
some constructors around to live in the cpp instead of the header.

Change-Id: I9fdefc3696d123848fb567029c051b478349cec7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/542139
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2022-05-19 19:57:19 +00:00
Herb Derby
f774e6c90b Have CategorizeGlyphRunList take a strike cache as a param
Change categorizeGlyphRunList to be static, and take the
strike cache as a parameter. This will simplify hoisting this
to the SkGlyphRunListBuilder.

Change-Id: I34b7d71aedc0dc67ae256d0121999fca2981a89f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/541744
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2022-05-19 19:52:11 +00:00
Michael Ludwig
9b59fe655c Convert color data to skvx::float4 from Sk4f
Change-Id: I511f6105537b24953de1533ad7b73d1186afd4fc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/541060
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2022-05-19 19:45:23 +00:00