Commit Graph

53688 Commits

Author SHA1 Message Date
Ben Wagner
3830714320 Disable -Wrange-loop-analysis.
This warning was originally a stand alone clang warning, not part of
'all' or 'extra', which had false positives. These false positives were
particularly accute when a container's iterators are proxy iterators.
Unfortunately the warning was moved into 'all' before being fixed.

After this became apparent, the warning was modified and split up, but
not before it was shipped in Clang 10 and XCode 11. It appears the fixed
version of the warning is in Clang 12 and XCode 12. Until the older
compilers are no longer supported, disable the warning.

This explicitly keeps the useful range-loop-construct warning which is
part of the range-loop-analysis. The range-loop-bind-reference part is
disabled.

Change-Id: I4023613bc14ac90989e699989b49582fbd4793d7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/372816
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2021-02-20 15:45:23 +00:00
Mike Reed
e4f87106d5 Make enum values explicit
For clients like chrome that want to rely on the numeric values

Change-Id: Ib8ecf2e404b159ff26e44d41bd60f98609ff3ad0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/372976
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2021-02-20 13:05:18 +00:00
Chris Dalton
cad4709ca4 Remove JoinType::kNone from GrStrokeHardwareTessellator
It's easier to just modify the join's control point instead of marking
an enum value. This saves some ifs.

Bug: chromium:1172543
Change-Id: I48a984fd0866e5a7bec2d231118ab00b50328f25
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/372290
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-02-20 00:44:39 +00:00
Chris Dalton
86b6ac76a7 Extract stateful parts of GrStrokeHardwareTessellator to helper class
Bug: chromium:1172543
Change-Id: I67107cba00c525cdf519a6008b02299339dd05e6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/372289
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-02-20 00:43:29 +00:00
Jim Van Verth
e8a1c0150b Revert "Remove ARC from tools lib."
This reverts commit 4c4c80fa12.

Reason for revert: Need to update Flutter with sk_cf_obj renaming.

Original change's description:
> Remove ARC from tools lib.
>
> Trying this in baby steps to manage leaks better.
>
> Change-Id: Id8597ba236c752bcbf1c7ec94f6c1021e636d547
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/372556
> Commit-Queue: Jim Van Verth <jvanverth@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Adlai Holler <adlai@google.com>

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

Change-Id: I7dc226d002184b80a1d8d2aee09d122d2e13d732
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/372680
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2021-02-20 00:08:41 +00:00
Jim Van Verth
4c0b9b90d6 Revert "Test mac system font variations."
This reverts commit a612dc77d7.

Reason for revert: Breaking iOS builds.

Original change's description:
> Test mac system font variations.
>
> On macOS system fonts are special and sometimes have different behavior
> from fonts generated from data. Add a test which exercises several
> expectations about changing the variation on the system ui font.
>
> Bug: skia:10968
> Change-Id: Ia10dfbf7f4f0ff099f9bfebf95481c95c7d3715f
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/372218
> Commit-Queue: Ben Wagner <bungeman@google.com>
> Reviewed-by: Herb Derby <herb@google.com>

TBR=bungeman@google.com,herb@google.com,drott@google.com

Change-Id: Iccc05f25d827ab85c507b5f3bde936561349e2b8
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:10968
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/372678
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2021-02-19 23:26:31 +00:00
Jim Van Verth
4c4c80fa12 Remove ARC from tools lib.
Trying this in baby steps to manage leaks better.

Change-Id: Id8597ba236c752bcbf1c7ec94f6c1021e636d547
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/372556
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Adlai Holler <adlai@google.com>
2021-02-19 22:21:43 +00:00
Ben Wagner
a612dc77d7 Test mac system font variations.
On macOS system fonts are special and sometimes have different behavior
from fonts generated from data. Add a test which exercises several
expectations about changing the variation on the system ui font.

Bug: skia:10968
Change-Id: Ia10dfbf7f4f0ff099f9bfebf95481c95c7d3715f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/372218
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2021-02-19 22:16:40 +00:00
Adlai Holler
dced31f62b Change PromiseImage API to take GrContextThreadSafeProxy
This detaches PromiseImages from any specific context, just to
a certain family.

Next up is to remove the tileSpecificSKP code from the DDLTileHelper.

Currently we have this janky PromiseImageDummy GrImageContext that
we make for each promise image. It's not ideal but it'll tide us over.

Bug: skia:10286
Change-Id: I12ab0bb7df9360a08af594da80de9df14cc2a44f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/372516
Commit-Queue: Adlai Holler <adlai@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-02-19 21:52:59 +00:00
John Stiles
6e88e041d9 Migrate convertSwizzle to Swizzle::Make.
There are two forms. Swizzle::Make supports components XYZW only;
Swizzle::MakeWith01 also supports the 01 components, and restructures
the zeros and ones into a constructor (as IRGenerator::convertSwizzle
has historically done). This means that once we are past the initial
IR generation stage, and we know that the 01 components have been
eliminated, we can avoid the extra 01-handling logic and just call
Swizzle::Make directly. This isn't a huge deal but it means that call
sites like the inliner can avoid some extra work that will never happen.

Change-Id: I46690c3d6b07feb6327ee72e8f66f15592a35554
Bug: skia:11342
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/371398
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-02-19 21:26:58 +00:00
Herb Derby
4f78f23235 give GrAtlasTextOp::Geometry a proper dtor
Change-Id: Ieca57234de90ba904207f07760f32fbfa2dd0aee
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/372256
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2021-02-19 21:21:58 +00:00
Michael Ludwig
b7218c1e04 Remove deprecated magnifier filter header
Bug: skia:11230
Change-Id: I54f3ca4b0a8e492c18986f760f2a2b077a05e68a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/371960
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-02-19 21:13:08 +00:00
Brian Osman
6a60b8046d Remove offensive content from lottie-samples
Change-Id: I8f5b73ee8277b961c3803ca28998ac58ad799d43
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/372456
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-02-19 21:12:48 +00:00
Chris Dalton
e11168d060 GrStrokeHardwareTessellator cleanups
Remove the stateful "fViewMatrix" and "fStroke" members.

Bug: chromium:1172543
Change-Id: Ib7c2ca6aabfa50b3876331a3075b1688f8bd95c4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/372336
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-02-19 20:43:48 +00:00
John Stiles
463fad21ba Add test for duplicate default switch-case.
Surprisingly, this error is actually caught by our parser, which
interprets the default label in a unique way. From the parser comments:

  "Requiring default: to be last (in defiance of C and GLSL) was a
   deliberate decision. Other parts of the compiler may rely upon this
   assumption."

The comment is true--we don't check for duplicate default switch-case
labels anywhere else in the code, just here in the parser.

We rely on this, so we should have a test for it.

Change-Id: I6df5c565aca4d4b8565b96638dce9504efc39ccc
Bug: skia:11340
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/372617
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2021-02-19 20:31:50 +00:00
Chris Dalton
d235b9178b Remove GrStrokeHardwareTessellator::fCurrentPoint
This is a step toward making the class less stateful.

Bug: chromium:1172543
Change-Id: I1fbcff53fa823c49dcca757fa970dcebc9a9aa25
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/372286
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-02-19 20:17:58 +00:00
Tyler Denniston
c505e435d4 [svg] Refactor <path> to use new parsing
Change-Id: Ib33111e1b00f05d32f8c6add512c38b5a6197af8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/367884
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Tyler Denniston <tdenniston@google.com>
2021-02-19 19:20:28 +00:00
John Stiles
54f0049ddc Move Constructor generation and type-coercion out of IRGenerator.
The IRGenerator's `convertConstructor` and `coerce` were tied at the
hip--coercion can create a constructor, and creating a constructor can
cause type-coercion. This CL migrates IRGenerator::coerce to
Type::coerceExpression, and migrates IRGenerator::convertConstructor to
Constructor::Make.

Most constructor creation should go through Constructor::Make instead of
make_unique<Constructor> for best results. There are exceptions to this
rule:

- during the Compiler's `optimize` phase, we hold raw pointers to
unique_ptrs of existing expression trees, and are manually tracking
variable usage counts, so adjusting the IR tree should be done with
extreme care. Continue to use make_unique here to avoid any "surprise
improvements."

- the Rehydrator is attempting to recreate an IR tree exactly as it used
to be and doesn't want additional optimization or fixups

There are still Constructor-related optimizations in simplifyExpression
which are not yet implemented in Constructor::Make. These are migrated
to Constructor::Make at http://review.skia.org/371482

Change-Id: I0f3876f932835fc2e347ae95414bc490085f120c
Bug: skia:11342
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/370876
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-02-19 18:53:52 +00:00
Mike Reed
7b9934300a Remove unused convexity code
Clients no longer opt-in for this, so no diffs expected.

Change-Id: I8faa6f08990d877dd16d32a5a5e307948813725f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/370037
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2021-02-19 18:33:57 +00:00
Brian Osman
9de609c874 Temporary fix for bad data pushed to Android test devices
A change to Android asset deployment left some devices with bad data
(but correct _VERSION files). Unless we force-push assets, test runs
will continue to fail.

Once all devices have had their assets re-pushed (and any bisection
into the offending time period is concluded), we can revert this CL.

Change-Id: Ibbfe48409b99e8313186dde1dc0cc3cfb5061d4c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/372457
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-02-19 18:32:57 +00:00
John Stiles
b4d7b58585 Improve error reporting from DSL unit tests.
Previously, a DSL unit test failure would not report the actual text
generated by the DSL, or the line number of the failure.

Added a new macro EXPECT_EQUAL which
- supports DSL statements, DSL expressions, and IR nodes equally
- reports both the expected string and actual DSL output
- reports the line number of the failure
- always compares in a whitespace-insensitive fashion
- supports passing rvalue DSL expressions directly, rather than forcing
  us to create single-use lvalues for each test

Existing DSL tests have been updated to use this macro.

A failing test looks like this:

FAILURE: ../../tests/SkSLDSLTest.cpp:107	(Failed on line 146)
Expected: float4(0.0, 1.0, 2.0, 3.0)
  Actual: float4(0.0, 1.0, 2.0, 4.0)
 [DSLFloat, Mock]

Change-Id: Ie99d449690252f289bf48a66ab9c58e19dda9a07
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/372198
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2021-02-19 18:09:58 +00:00
John Stiles
ca107c9b70 Move strictES2Mode method to ProgramConfig.
This will help us migrate code out of IRGenerator.

Change-Id: Id9c70cc4577ed41b2fc5ad26f752caea13a56083
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/372437
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-02-19 18:09:27 +00:00
John Stiles
b2705a1888 Replace AutoClear with SK_AT_SCOPE_EXIT.
Change-Id: I218429246da2da3e80fb1823241fdbcf84f0dd30
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/372478
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-02-19 17:54:17 +00:00
Brian Osman
a443dc380c Reland "Remove (unused) gpuType from SkRuntimeEffect::Uniform"
This reverts commit 0fdcaa5757.

Reason for revert: Fix landed in Android

Original change's description:
> Revert "Remove (unused) gpuType from SkRuntimeEffect::Uniform"
>
> This reverts commit cc80a47566.
>
> Reason for revert:  IWYU cleanup broke less IWYU-clean Android,
>
> frameworks/native/libs/renderengine/skia/filters/BlurFilter.cpp:180:17: error: variable has incomplete type 'SkRRect'
>         SkRRect roundedRect;
>                 ^
> external/skia/include/core/SkCanvas.h:58:7: note: forward declaration of 'SkRRect'
> class SkRRect;
>
>
> Original change's description:
> > Remove (unused) gpuType from SkRuntimeEffect::Uniform
> >
> > Also remove some unnecessary includes, then IWYU.
> >
> > Change-Id: I41e88f0e661c59e75cb26e28768801b811fe8ee8
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/371140
> > Commit-Queue: Brian Osman <brianosman@google.com>
> > Reviewed-by: John Stiles <johnstiles@google.com>
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
>
> TBR=bsalomon@google.com,brianosman@google.com,johnstiles@google.com
>
> Change-Id: Id655a6835ebffdb4f5f82474c287c09a69a737df
> No-Tree-Checks: true
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/371941
> Reviewed-by: Mike Klein <mtklein@google.com>
> Commit-Queue: Mike Klein <mtklein@google.com>

# Not skipping CQ checks because this is a reland.

Change-Id: I67deaee08f1dfea8d91121b3e665d2e6036b6139
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/372216
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2021-02-19 17:53:47 +00:00
Ethan Nicholas
8d03eb0945 Added DSL sk_SampleCoord var
Change-Id: I539a288765243b2b9d994240c7917b036590f49d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/370916
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: Ethan Nicholas <ethannicholas@google.com>
2021-02-19 17:40:30 +00:00
Jim Van Verth
24ec76454a Fix directory path expansion for iOS bundles.
CFBundleCopyResourceURL is expecting a path with no trailing '/', so we
use CFURL to treat the relative path as if it's for a vanilla file and
normalize it.

Also adds in some variable renames to make it more general.

Change-Id: I0db38702cad2b42a32fd4d4516a23cea714a5f50
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/372199
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2021-02-19 16:32:09 +00:00
Brian Osman
1e7d8aa142 Fix output path of run_sksllex to match what the script does
This doesn't get rid of the warning about multiple rules, but it does
ensure the build reaches steady state (after two runs).

Change-Id: I9a90b8e310225fb5cab544a86dd271162d0fe0df
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/372122
Auto-Submit: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-02-19 16:32:07 +00:00
Brian Osman
0b9216e191 Revert "Simplify pushing directories to android devices"
This reverts commit 81a58cfe3b.

Reason for revert: Breaks with CIPD packages / symlinks?

Original change's description:
> Simplify pushing directories to android devices
>
> Change-Id: I5f0ce6720be821ae3825b58afc94dbeb2f50e2d8
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/372217
> Reviewed-by: Mike Klein <mtklein@google.com>
> Commit-Queue: Mike Klein <mtklein@google.com>

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

Change-Id: I1c0a35a7a149292aa1fe7c3ab0452c4203a9f357
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/372477
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-02-19 15:53:39 +00:00
Mike Klein
a8448470e8 cache whole luma color filter
We're caching the runtime effect, but luma filter
has no uniforms, so we can cache the whole filter.

Change-Id: I7c4b37a35928b9bc804e921f99bb1eccaf13e7a5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/372294
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-02-19 13:46:07 +00:00
Michael Ludwig
a50940da6d Delete deprecated SkLightingImageFilter header
Bug: skia:11230
Change-Id: I8983d160ff0317514572d13aa2a3f1218e15da8e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/371959
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2021-02-19 13:18:47 +00:00
Mike Klein
af8db303f7 promote the runtime mixer CF to the only mixer CF
Cq-Include-Trybots: luci.chromium.try:linux-blink-rel
Change-Id: I898fc64d8df625d22750cfe1145ba4b02acdfbb9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/372078
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2021-02-19 11:43:47 +00:00
James Clarke
b2bfa9d457 Fix UWP build
Bug: skia:11102
Change-Id: Id7f91da15d3021ebe9acad968165521a7d590fed
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/372162
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2021-02-19 11:41:47 +00:00
Brian Osman
81a58cfe3b Simplify pushing directories to android devices
Change-Id: I5f0ce6720be821ae3825b58afc94dbeb2f50e2d8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/372217
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2021-02-19 10:53:57 +00:00
Chris Dalton
82094cdb9d Chain indirect stroke ops that have mismatched colors
The indirect tessellator can't combine overlapping, mismatched colors
because the log2 binning draws things out of order. But we can still
chain them together and generate a single long list of indirect draws.

Bug: chromium:1172543
Bug: skia:10419
Change-Id: Id7fc7488411a2a189e24cd7dd692e5c78497f498
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/370197
Reviewed-by: Brian Salomon <bsalomon@google.com>
2021-02-19 09:25:25 +00:00
skia-autoroll
bbdbff81bd Roll Chromium from 9f186342d66a to cd6a8517d95a (1014 revisions)
9f186342d6..cd6a8517d9

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 herb@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: herb@google.com
Change-Id: I1de519b27fca83f77c1024627a47311c2312de24
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/372317
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-02-19 07:36:28 +00:00
skia-autoroll
c5e4b25460 Roll ANGLE from e8c0aa81af87 to fd132e4e7a9c (25 revisions)
e8c0aa81af..fd132e4e7a

2021-02-18 asully@chromium.org testing: Mark uninstantiated perftests
2021-02-18 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 0d42e83928f7 to 23a4efc36ed9 (5 revisions)
2021-02-18 cwallez@chromium.org Revert "Workaround for Mac Intel drawArraysInstanced with first > 0"
2021-02-18 cwallez@chromium.org Revert "EGL: Merge DisplayAndroid into DisplayEGL."
2021-02-18 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 794086037940 to 6aa3b21e53d5 (495 revisions)
2021-02-18 shrekshao@google.com Workaround for Mac Intel drawArraysInstanced with first > 0
2021-02-18 amccarth@google.com Replace obsolete clang option
2021-02-18 timvp@google.com Vulkan: Don't wait on unflushed sync objects without a Context
2021-02-18 jmadill@chromium.org Clean ups to generate_entry_points.
2021-02-18 cnorthrop@google.com Capture/Replay: Add texture buffer support
2021-02-17 syoussefi@chromium.org Vulkan: Fix crash with 0-sized element buffer
2021-02-17 syoussefi@chromium.org Add comprehensive memory barrier tests
2021-02-17 ynovikov@chromium.org Add Win x64 chromium.angle bots to CQ
2021-02-17 m.maiya@samsung.com Vulkan: Add support for EXT_shader_framebuffer_fetch_non_coherent
2021-02-17 penghuang@chromium.org Remove a debugging code in renderergl_utils.cpp
2021-02-17 geofflang@google.com EGL: Merge DisplayAndroid into DisplayEGL.
2021-02-17 cwallez@chromium.org Add suppressions for failing tests on Linux Nvidia GL
2021-02-17 penghuang@chromium.org Remove DllMain() from static angle library
2021-02-17 timvp@google.com Vulkan: Further restrict enabling LINE_RASTERIZATION_MODE_BRESENHAM
2021-02-17 cnorthrop@google.com Enable ES 3.2 in ANGLE's loader
2021-02-17 cwallez@chromium.org Suppress ClearThenMaskedClearFramebufferTest on Linux AMD VK
2021-02-17 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from a1175c67dd67 to 0d42e83928f7 (10 revisions)
2021-02-17 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 539ef8e9426e to bb04803b8daf (5 revisions)
2021-02-17 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from a04f3d444779 to 794086037940 (485 revisions)
2021-02-17 syoussefi@chromium.org Vulkan: Remove render pass check from setupDraw()

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 herb@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: herb@google.com
Test: Test: Capture and replay ES 3.2 appsTest: Test: Fortnite MECTest: Test: FramebufferFetchNonCoherentES31.*VulkanTest: Test: MultithreadingTest.NoFlushNoContextReturnsTimeoutTest: Test: StateChangeTest.AlphaToCoverageEnable
Change-Id: I1d055cdc7826b7d1540782ffcb5aadfbe5d68594
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/372297
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-02-19 05:45:25 +00:00
skia-autoroll
1e31993415 Roll SwiftShader from bb04803b8daf to 3ab17bd731f6 (12 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/bb04803b8daf..3ab17bd731f6

2021-02-19 capn@google.com Fix iterating over instructions following a store
2021-02-19 capn@google.com Propagate stores of stack addresses into other local variables
2021-02-18 capn@google.com Test variable materialization edge cases
2021-02-18 capn@google.com Disable MSan unpoisoning of memory writes
2021-02-18 amaiorano@google.com VulkanWrapper: enable filesystem code on macOS with new Kokoro image
2021-02-18 swiftshader.regress@gmail.com Regres: Update test lists @ b3177eb4
2021-02-18 amaiorano@google.com VulkanBenchmarks: add validation layers and load via ICD
2021-02-18 capn@google.com Remove zero initialization of Triangle and Primitive
2021-02-18 swiftshader.regress@gmail.com Regres: Update test lists @ bb04803b
2021-02-17 sugoi@google.com Fix interpolation functions for push constants
2021-02-17 adlai@google.com Make MSAN-in-JIT flag optional for CMake builds
2021-02-17 adelva@google.com Fix support for named mmap usage on Android

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 herb@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: herb@google.com
Change-Id: I8ebaabf8d7a82e14e7b48e92c835fe87ee00d8be
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/372163
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-02-19 05:20:45 +00:00
skia-autoroll
3a71687275 Roll Dawn from a5ba2827f581 to 1024d6e1873c (15 revisions)
https://dawn.googlesource.com/dawn.git/+log/a5ba2827f581..1024d6e1873c

2021-02-18 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from ce7e18e87cac to 4c4ceeea9d52 (9 revisions)
2021-02-18 enga@chromium.org Remove size_t from wire transfer structs
2021-02-18 amccarth@google.com Remove obsolete `-Wreturn-std-move-in-c++11`
2021-02-18 enga@chromium.org dawn_wire: Harden deserialization routines
2021-02-18 enga@chromium.org Guard against overflow when allocating the null terminator
2021-02-18 cwallez@chromium.org Add a Toggle that can be disallowed for timestamp tick->ns conversion.
2021-02-18 enga@chromium.org Fix implicitly deleted default copy assignment operator
2021-02-18 cwallez@chromium.org Roll third_party/vulkan-deps/ 0d42e8392..23a4efc36 (5 commits)
2021-02-18 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 52296de52893 to ce7e18e87cac (6 revisions)
2021-02-18 cwallez@chromium.org Move QueueWriteBufferValidationTests to their own file.
2021-02-17 enga@chromium.org Add a BufferConsumer primitive for wire [de]serialization
2021-02-17 senorblanco@chromium.org Implement a --backend= flag for DawnTest.
2021-02-17 cwallez@chromium.org Rolling 2 dependencies
2021-02-17 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from c8fa020a5e97 to 52296de52893 (18 revisions)
2021-02-17 enga@chromium.org Update more Dawn tests to use WGSL

Also rolling transitive DEPS:
  https://chromium.googlesource.com/external/github.com/google/shaderc from 6216d098d8ab to 8d081127ee28
  https://dawn.googlesource.com/tint from c8fa020a5e97 to 4c4ceeea9d52

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 enga@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: enga@google.com
Change-Id: Ie8e700e7dd27fb7b67c4c68ee484255dfcfd1ccc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/372296
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-02-19 04:52:25 +00:00
Chris Dalton
1017a3558f Add a dynamic color attrib to hw tessellated stroking
Only adds color to the hardware tessellator. The indirect tessellator
reorders draws with is log2 binning, so we can't have different
colors.

Bug: chromium:1172543
Bug: skia:10419
Change-Id: I2a3700cd4572e8222002bfb028af05c6ec447708
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/369976
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-02-19 00:19:05 +00:00
Chris Dalton
fac4efcabe Don't use structured binding on the PathStroke struct
Change-Id: I6aa2890ac9790c41acf405f7b3f83c402479cdf4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/372160
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-02-18 23:26:54 +00:00
Michael Ludwig
91bfda0ac8 Rename SkImageSource to SkImageImageFilter
Also deletes the unnecessary old header file.

Bug: skia:11230
Change-Id: Ie7c3926fe635a37e617e5e1fcac7c05eb576bbf1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/368617
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-02-18 22:42:37 +00:00
John Stiles
9b7ad1b7b9 Migrate SwizzleComponent to be shared between SkSL::Swizzle and the DSL.
The SwizzleComponent enum would be useful outside of the DSL. This CL
creates a SkSL::SwizzleComponent namespace and has the DSL inject that
namespace into SkSL::dsl via using-directive. Future CLs will use values
from this enum within SkSL::Swizzle itself.

Users expect that `using namespace SkSL::dsl;` will allow statements
like `Swizzle(var, X, Y)` to work normally without any extra
qualifications, using-declarations or #includes, so this is a little
more involved than forward-declaring an enum would be normally.

Change-Id: Id4e2f109d01e465c315c6278f3d4b87027988c86
Bug: skia:11342
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/372018
Reviewed-by: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-02-18 22:33:25 +00:00
Brian Osman
58ee89879f Remove "buffer" modifier from SkSL
Change-Id: I4df18946cdb3d9f1f7833461f913f2df94696821
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/372197
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-02-18 21:48:05 +00:00
Brian Osman
bfcd7824cd Use 8 or 16 bit state values in lexer, depending on # of states
Change-Id: I3cde541ff8eb7239394e825061ed1433806af5c7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/372123
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2021-02-18 21:36:35 +00:00
Herb Derby
6b748e4462 Reland "use a linked list for GrAtlasTextOp geometries"
This is a reland of 82a8130654

Original change's description:
> use a linked list for GrAtlasTextOp geometries
>
> Instead of using a GrTBlockList<Geometry> to hold the geometries
> in the op. Allocate them on the RecordTimeAllocator, and
> link them together.
>
> Change-Id: I32af5724e7abeca1ddb6d38b26afbff7919cbc76
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/341725
> Reviewed-by: Robert Phillips <robertphillips@google.com>
> Commit-Queue: Herb Derby <herb@google.com>

Change-Id: I526d8b0b06fca13046c065cbc06f0c0e1103ce11
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/371996
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2021-02-18 21:21:55 +00:00
Adlai Holler
17776e38ef Move GrProxyProvider down to GrRecordingContext
Bug: skia:10286
Change-Id: I474cb0e4cbde3b576604e80891912104990b786c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/372118
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Auto-Submit: Adlai Holler <adlai@google.com>
2021-02-18 20:06:25 +00:00
Brian Osman
51963d3c4b Remove "precision" from SkSL lexer
This wasn't even referenced by the parser.

Change-Id: Id6246c3909b7f2b499908a742bdd61f4918f023a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/372119
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-02-18 19:59:37 +00:00
Brian Osman
9ca38ff4b4 Remove GLSL memory qualifiers from SkSL
These were all unused, and only implemented on one backend.

Change-Id: Ibd2fcef1a971e6c1bd9da0784c5d852a60708484
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/372117
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-02-18 19:57:05 +00:00
Chris Dalton
42582fc97b Add dynamic stroke attribs to tessellated stroking
Allows us to batch together strokes that have different SkStrokeRecs.

Bug: chromium:1172543
Bug: skia:10419
Change-Id: I11dc01e60bc17a6bb3c3b635f9edb2944a2f2edc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/369579
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2021-02-18 19:35:25 +00:00
Ben Wagner
e75021e2dd Allow optional targets to specify tests.
Add sources_for_tests to optional targets. If set, a taget_name_tests
source_set will be created which matches the target_name target except
that the sources are the sources_for_tests.

This allows the tests for these targets to be obviously related to the
target they test instead of having to diplicate the logic of the
optional's enabled predicate in the test target. The test target can
just directly depend on the optional test target in the same way it can
depend directly on module tests.

This was motivated by the existence of two such tests and the need to
soon introduce another (for CoreText).

Change-Id: Idc6138044ade063f47a763f14aa7a406e613af26
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/371481
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2021-02-18 19:32:55 +00:00