Commit Graph

56965 Commits

Author SHA1 Message Date
Ethan Nicholas
709ecd53ca Made another DSLParser error non-fatal
This allows processing to continue in the face of invalid array sizes,
matching the error reporting behavior of SkSLParser.

Change-Id: Ifc0572aecf829563e4a77f01962a6e05aa9e98e8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/444761
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2021-09-01 21:11:44 +00:00
Brian Osman
f80ef38d0f Add skstd::string_view::substr
Change-Id: I06ba9dd9ed8af8555233ddfa10d3e0ec6babc2ea
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/444759
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-09-01 20:56:51 +00:00
Ethan Nicholas
0459a93734 Made out-of-bounds literals non-fatal errors in DSLParser
There was no good reason for this behavior in the first place, and this
change makes the error reporting behavior better match SkSLParser.

Change-Id: I7b69e7bcc64173c0ac6523e075c1f24e2be00ed0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/444758
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2021-09-01 19:53:21 +00:00
John Stiles
2ecc595e86 Migrate program finalization logic out of IRGenerator.
Most of the logic in IRGenerator::finish has moved to
Compiler::finalize. The @if/@switch pass has been combined with the pass
that verifies no dangling FunctionReference/TypeReference expressions,
saving one walk through the IR tree. Most program-finalization logic now
exists in Compiler and Analysis.

This change reorders our error generation logic slightly, and manages to
squeeze a few extra (valid) errors out of one of our fuzzer-generated
tests, but is not really intended to affect results in any significant
way.

Change-Id: I461de7c31f3980dedf74424e7826c032b1f40fd2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/444757
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-09-01 19:40:53 +00:00
Ethan Nicholas
98eae1ec2e Moved DetectVarDeclarationWithoutScope out of IRGenerator
As these checks were in the AST processing side of things, they were not
catching errors in DSL code. SkSLAnalysis is also a better home for this
function than SkSLIRGenerator.

Change-Id: I8149825047570300cc09425deba1339ac0edb7ab
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/444656
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-09-01 19:33:19 +00:00
Kevin Lubick
facffbe093 [infra] Add go/skia-break-glass to gardener documentation
Bug: skia:12124
Change-Id: I8821e091b4ec823eaa7cff6c3426c13a31b6f362
No-Try: true
Docs-Preview: https://skia.org/?cl=444776
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/444776
Reviewed-by: Ravi Mistry <rmistry@google.com>
2021-09-01 18:58:16 +00:00
Robert Phillips
46d7bd56f6 Move more Ops to skgpu::v1 namespace (take 2)
GrClearOp
GrDashOp

Bug: skia:11837
Change-Id: I9ada76c061154e769e7f486e7c57a93fd1d74907
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/444636
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-09-01 18:57:02 +00:00
Robert Phillips
2af13c135b Reland "Fix compilation w/ "skia_enable_svg = false" (take 2)"
This reverts commit 44b7568c8a.

Reason for revert: Google 3 CL has landed

Original change's description:
> Revert "Fix compilation w/ "skia_enable_svg = false" (take 2)"
>
> This reverts commit 30a6b101f4.
>
> Reason for revert: Maybe blocking G3 roll?
>
> Original change's description:
> > Fix compilation w/ "skia_enable_svg = false" (take 2)
> >
> > Change-Id: I036ae171809af56cc9594704b44705ebd095ec80
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/443898
> > Reviewed-by: Florin Malita <fmalita@chromium.org>
> > Commit-Queue: Robert Phillips <robertphillips@google.com>
>
> TBR=robertphillips@google.com,fmalita@chromium.org,fmalita@google.com,skcq-be@skia-corp.google.com.iam.gserviceaccount.com
>
> Change-Id: Ibee3819e073b04efdf9736058c1f9b288249620c
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/444216
> Reviewed-by: Robert Phillips <robertphillips@google.com>
> Commit-Queue: Robert Phillips <robertphillips@google.com>

# Not skipping CQ checks because this is a reland.

Change-Id: Idf73d864108067ee1c34e88ee4e5236847abd582
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/444501
Reviewed-by: Florin Malita <fmalita@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-09-01 17:54:08 +00:00
John Stiles
0fc6bedf5a Move VerifyStaticTests from Compiler to Analysis.
This doesn't rely on anything Compiler-specific, and can just be a plain
Analysis pass.

Change-Id: I8564ae2a750c6daa6c449e6fa56355cc047f7010
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/444496
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-09-01 17:09:56 +00:00
Robert Phillips
d2f53f9e3e Move more Ops to skgpu::v1 namespace
Bug: skia:11837
Change-Id: Ia79f76c18587741000367edba303c5f7c0c1087d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/444178
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-09-01 16:50:16 +00:00
Ethan Nicholas
ad284fe277 Made DSLParser 'expected expression' a fatal error
This matches the behavior of SkSLParser and fixes some spurious
followup errors.

Change-Id: Id1eae353eb6536a6385d04d0426e0de736db6b57
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/444360
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2021-09-01 15:22:13 +00:00
Robert Phillips
5fe828accb Revert "Move more Ops to skgpu::v1 namespace"
This reverts commit f3158abda3.

Reason for revert: Broke Flutter build

Original change's description:
> Move more Ops to skgpu::v1 namespace
>
> GrClearOp
> GrDashOp
>
> Bug: skia:11837
> Change-Id: Ib65418952e7d4fb1e419e4942223823f22302b34
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/443518
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>
> Commit-Queue: Robert Phillips <robertphillips@google.com>

TBR=robertphillips@google.com,michaelludwig@google.com,skcq-be@skia-corp.google.com.iam.gserviceaccount.com

Change-Id: Ic181ced7f5f2a8ff834fdcfb4e5265b99eef1666
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:11837
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/444365
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-09-01 14:44:46 +00:00
Ethan Nicholas
600481f871 Made position parameter of DSL ReportErrors required
This adds line numbers to a bunch of errors which were previously
missing them.

Change-Id: Id77c08d168b0a2d8a0131a53aa004bf37b8bec02
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/444176
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-09-01 14:20:14 +00:00
Robert Phillips
f3158abda3 Move more Ops to skgpu::v1 namespace
GrClearOp
GrDashOp

Bug: skia:11837
Change-Id: Ib65418952e7d4fb1e419e4942223823f22302b34
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/443518
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-09-01 14:03:55 +00:00
Brian Osman
7db3ab5787 Remove SK_HAS_SRGBA_COLOR_TYPE guard
Chromium has been updated, this is no longer needed

Change-Id: I0bcf65c79d454c50796e04e33c213de2295c0e6a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/441877
Auto-Submit: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2021-09-01 13:46:13 +00:00
Ethan Nicholas
fd1ff92efe Made DSLType::Array return poison on error
This fixes spurious errors that occur subsequent to an error converting
and array size.

Change-Id: I23fda9ef744f9144726d4fd28584676b33a4c7bb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/444177
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2021-09-01 13:31:11 +00:00
skia-autoroll
e425088757 Roll SwiftShader from 8ed4e39caa5b to b75ca3758a80 (2 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/8ed4e39caa5b..b75ca3758a80

2021-08-31 jmadill@chromium.org Increase maxComputeSharedMemorySize.
2021-08-31 tikuta@google.com update angle revision

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 fmalita@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: fmalita@google.com
Change-Id: Id25decef1677b3eb22da4546a4a22bc834a274eb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/444262
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-09-01 05:17:46 +00:00
skia-autoroll
4d6344c81d Roll Dawn from c7226a76245d to 4a4a80447653 (5 revisions)
https://dawn.googlesource.com/dawn.git/+log/c7226a76245d..4a4a80447653

2021-09-01 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 14ac047d45ff to 44a0adf9b47c (1 revision)
2021-08-31 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from b09723e58b8d to 14ac047d45ff (4 revisions)
2021-08-31 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 293d313bbca2 to b09723e58b8d (1 revision)
2021-08-31 shrekshao@google.com Callback reentrancy tests
2021-08-31 jiawei.shao@intel.com Remove redundant code in CreateRenderPipeline

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from 293d313bbca2 to 44a0adf9b47c

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 sarahmashay@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
Tbr: sarahmashay@google.com
Change-Id: I112c11f6244a6b988ea969d40be3fdea7679f9d0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/444263
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-09-01 04:50:46 +00:00
Robert Phillips
44b7568c8a Revert "Fix compilation w/ "skia_enable_svg = false" (take 2)"
This reverts commit 30a6b101f4.

Reason for revert: Maybe blocking G3 roll?

Original change's description:
> Fix compilation w/ "skia_enable_svg = false" (take 2)
>
> Change-Id: I036ae171809af56cc9594704b44705ebd095ec80
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/443898
> Reviewed-by: Florin Malita <fmalita@chromium.org>
> Commit-Queue: Robert Phillips <robertphillips@google.com>

TBR=robertphillips@google.com,fmalita@chromium.org,fmalita@google.com,skcq-be@skia-corp.google.com.iam.gserviceaccount.com

Change-Id: Ibee3819e073b04efdf9736058c1f9b288249620c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/444216
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-08-31 22:31:00 +00:00
Ethan Nicholas
51b4b86da6 Improve DSL error reporting with invalid array sizes
This eliminates an extra "expected int literal" error when the
array size is an invalid expression.

Change-Id: Iaf5d15316df3ec5200d51d73c14d7e428ce17be9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/443236
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-08-31 21:04:18 +00:00
Ethan Nicholas
966723594d Use Type::convertArraySize from DSL for error detection
Change-Id: I0fdaf04525f02e8827839a0f43bb9181309cbb56
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/444137
Reviewed-by: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2021-08-31 20:14:53 +00:00
John Stiles
5cec187b36 Fix array timeout discovered by the fuzzer.
The fuzzer discovered that, when we attempt to verify that an array
doesn't contain any literal values that are out-of-range for its base
type, we pay a linear-time cost based on the size of the array. This
happens even when the array value isn't known at compile time; we still
iterate over its slot count and diligently discover that every single
constant-subexpression slot in the expression is "null".

We now have a helper function on Expression,
`allowsConstantSubexpressions`, which only returns true for expression
kinds that can contain constant subexpressions. We use this helper to
skip over this linear-per-subexpression check when the expression
cannot possibly contain a constant subexpression. In particular,
`AnyConstructor::compareConstant` and `Type::checkForOutOfRangeLiteral`
will now early-out for expressions that can't possibly contain a
constant subexpression.

Change-Id: Ia34e422afa67b478a8616acb0a0e9cd211b29698
Bug: oss-fuzz:37900
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/444136
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-08-31 19:55:45 +00:00
Ethan Nicholas
0c8a5988fe Improved DSL Struct error reporting
This adds position tracking to individual fields and an error for
illegal field modifiers.

Change-Id: Ie121699bde94e831f33a0bc021349a1cd757d08b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/443888
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-08-31 19:43:51 +00:00
John Stiles
3b20489872 Add FunctionDefinition::Convert for creating function definitions.
A few nice properties fall out of this:
- IntrinsicSets become an implementation detail that most code never has
  to think about.
- The dehydrated data is marginally smaller because it no longer needs
  to store the IntrinsicSet array; it's re-derived when the
  FunctionDefinition is created via Convert.

finalizeFunction is largely unnecessary now, but it still had one
lingering use; it appends the sk_Position fixup to the end of main()
when compiling a vertex program. Added appendRTAdjustFixupToVertexMain
to IRGenerator to handle this case. This could be done in Convert as
well if the RTAdjust fields weren't buried inside of the IRGenerator.

Change-Id: I7451ea9c64112a376ad36902d36c29a9cf147504
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/442817
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-08-31 18:56:13 +00:00
Robert Phillips
be2c3ee05d Fix compilation with "skia_enable_skparagraph = false"
Change-Id: I034d841618fbf878223c82ec30f0ad37678d737e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/443899
Reviewed-by: Julia Lavrova <jlavrova@google.com>
Reviewed-by: Florin Malita <fmalita@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-08-31 18:50:20 +00:00
Greg Daniel
0e32aa8a3a Rename some GrD3DTypes* header files.
I want to free up GrD3DTypesPriv to actually be private types that
include real d3d objects.

Change-Id: Id38d6baae4fa68c19301b27d4f9d51eb1d9c5db0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/443676
Commit-Queue: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Auto-Submit: Greg Daniel <egdaniel@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2021-08-31 18:49:46 +00:00
Robert Phillips
30a6b101f4 Fix compilation w/ "skia_enable_svg = false" (take 2)
Change-Id: I036ae171809af56cc9594704b44705ebd095ec80
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/443898
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-08-31 18:28:25 +00:00
Ethan Nicholas
be8f73d714 Improved error reporting in DSLParser::swizzle
With this change, it will either match or improve on the reports we
currently get from SkSLParser.

Change-Id: I9b3c0f0c2225bf47fec141a1c01c94d9c2ab6a6b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/443056
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-08-31 18:24:47 +00:00
Ethan Nicholas
c898d04fb7 Made IsAssignableVisitor ignore Poison values
This fixes some spurious errors being reported by DSLParser.

Change-Id: I824896b88c2d208aac13cc8f597a2f949b831196
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/443057
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-08-31 18:22:29 +00:00
Michael Ludwig
ebb451d730 Reland "Simplify SkRasterClip now that it's only intersect/diff"
This reverts commit 9a0302cd9d.

Reason for revert: layout tests suppressed

Original change's description:
> Revert "Simplify SkRasterClip now that it's only intersect/diff"
>
> This reverts commit 75bab9249d.
>
> Reason for revert: Experiment to see if blocking Chrome roll
>
> Original change's description:
> > Simplify SkRasterClip now that it's only intersect/diff
> >
> > Bug: skia:10205
> > Change-Id: Id29a63783bd38e5977e94bf8e8d7fbb4fe16cb51
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/442279
> > Reviewed-by: Mike Reed <reed@google.com>
> > Commit-Queue: Michael Ludwig <michaelludwig@google.com>
>
> TBR=reed@google.com,michaelludwig@google.com,skcq-be@skia-corp.google.com.iam.gserviceaccount.com
>
> Change-Id: I1ceeccf880a139dc9236b7df17e3599f8cae611f
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:10205
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/443414
> Reviewed-by: Robert Phillips <robertphillips@google.com>
> Commit-Queue: Robert Phillips <robertphillips@google.com>

# Not skipping CQ checks because this is a reland.

Bug: skia:10205
Change-Id: I13a49190c67e5e32431ea268312ede60c55798b2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/443897
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2021-08-31 18:16:31 +00:00
Brian Osman
a8b897bfc1 Remove blend and colorFilter sksl modules
This moves the functions for dealing with child effects into the public
module (where those types already live). With that change, blend and
colorFilter have no module-specific declarations.

Change-Id: I7665e68427ea4d8d1ed4d31afb658edb79bac5a4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/443412
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-08-31 17:35:19 +00:00
Jim Van Verth
0d45655e42 Metal: Remove unused variable
Bug: skia:12086
Change-Id: I5564e4981575cab546e4d2d0470656b0aff204c4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/443877
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: Jim Van Verth <jvanverth@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-08-31 16:59:45 +00:00
Ethan Nicholas
f8f1fa013f Stop DSLParser from continuing after an invalid token
This matches the behavior of SkSLParser

Change-Id: Ib9af7173dda8866faf8633b8c88a8716b4e6b8d4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/443239
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-08-31 16:47:31 +00:00
Ethan Nicholas
27633232f4 Fixed DSL handling of struct field modifiers
This fixes an issue where the field modifiers were incorrectly applied
and adds proper error detection to the modifiers.

Change-Id: I8cd88d3a459df81250c267e6007bca9663b7eda4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/443237
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-08-31 16:35:00 +00:00
Ethan Nicholas
e110f6edaf Improve DSLParser error recovery with interface blocks
We get better error reports by simply continuing in these cases.

Change-Id: I9e5fd4fe3afca601bb20a23376b6b098e909106f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/443238
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-08-31 16:34:12 +00:00
Ethan Nicholas
c89ebe3cec Fix EmptyStruct test in DSLParser
This fixes a spurious complaint about a missing semicolon.

Change-Id: I6e310e098ffb9e90c973af1e47bc3572781af296
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/443216
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-08-31 16:23:17 +00:00
Ethan Nicholas
772061e836 Added DSL error for opaque types in structs
Change-Id: I3fc35b2d5c5c0d1b533c165496d604fb7ac6e119
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/443178
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-08-31 16:09:48 +00:00
Ethan Nicholas
79c8899eba Fix error with allocating arrays from DSLParser
This was previously resulting in the error "array size must
appear after variable name". We're presumably also going to need
another fix elsewhere to add this error back in when it applies,
but that's going to be a separate CL.

Change-Id: I18164b4ebb82a22944637c3380d8a9d4fc86d0c0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/443177
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-08-31 16:01:54 +00:00
Ethan Nicholas
df803aaf5d Added positions to DSLParser layout processing
This allows for correct line number information in errors relating
to layouts.

Change-Id: I8df02f434d3565cb466074742780424b67ce4a8d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/443240
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-08-31 15:46:29 +00:00
Ethan Nicholas
36e4df71b5 Fixed a function name in MismatchedNumbers.sksl
DSLParser caught a duplicate function name in here that SkSLParser
wasn't reporting.

Change-Id: I428c7ec64d1b625d9d12c6b7acdb23b52a0d7b89
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/443241
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2021-08-31 15:31:58 +00:00
Kevin Lubick
29104528cc [infra] Port serve.py from Python2 to 3
These scripts are useful when testing WebAssembly locally
because the mimetype impacts how the binaries are loaded.

The porting was achieved by doing the following:
python -m lib2to3 -w -n serve.py


Change-Id: I09673fa881339a9b157c5fc993e190766efcd85e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/443884
Reviewed-by: Erik Rose <erikrose@google.com>
2021-08-31 15:28:19 +00:00
John Stiles
9c975c52d6 Store loop-unroll information inside ForStatement.
This will be useful when trying to determine the flattened size of a
program, and it is expensive to compute on demand.

Change-Id: I232d9189511502d4783e5542a9bfe0dff8ea8c4a
Bug: skia:12396
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/443883
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-08-31 15:28:15 +00:00
Michael Ludwig
aa008bc157 Avoid integer overflow in area calculation for SkRect::Subtract
Width*height could actually overflow on relatively reasonably sized
integer rects, so this restructures the computation to use relative
area (compared to A) instead of total area. The relations are the same
but it avoids the multiply.

Bug: chromium:1244411
Change-Id: I5bfcfba80835da07b9929f532fc3b40b330a1199
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/443876
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Auto-Submit: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-08-31 14:53:48 +00:00
Ethan Nicholas
ace470be9a Make IRGenerator::call propagate poison
This fixes redundant "not a function" errors when we have already
produced an error resolving the target of a call.

Change-Id: I94876ec09feac399108033d1b850e78c7750dd1d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/443411
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2021-08-31 14:37:10 +00:00
Kevin Lubick
17c7c2f4b1 [fuzz] Update docs with better OSS-Fuzz link
Change-Id: I1be6bb537139c50342602aacd978585151a4a480
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/443916
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
2021-08-31 14:04:02 +00:00
John Stiles
fd3a6d9235 Always use python3 to run fetch-sk.
fetch-sk is no longer Python 2 compatible, and not all machines default
to Python3 (the Mac terminal still defaults to 2.7).

Change-Id: I6244ee591bbe787ef2dba46da2b20446265e42b8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/443406
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
2021-08-31 13:16:22 +00:00
Ethan Nicholas
6f20b8d5f7 Added line numbers to DSLParser errors
Change-Id: I895c3d94c9a49cc0350b287d3aa722050b91295e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/443036
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-08-31 12:45:45 +00:00
skia-autoroll
262713dc65 Roll ANGLE from 3a9df22fcc51 to 27517801121e (1 revision)
3a9df22fcc..2751780112

2021-08-31 cnorthrop@google.com Capture/Replay: Set texture buffer offset alignment

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 fmalita@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: fmalita@google.com
Test: Test: Fortnite MEC
Change-Id: I3c321ee52054a770dd7ac6a786adda8f8779d431
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/443765
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-08-31 06:20:16 +00:00
skia-autoroll
667d05021b Roll Dawn from ea487972d16e to c7226a76245d (3 revisions)
https://dawn.googlesource.com/dawn.git/+log/ea487972d16e..c7226a76245d

2021-08-31 lokokung@google.com Adds ETC2/EAC texture compression formats and Vulkan support for them
2021-08-30 cwallez@chromium.org vulkan: Free "in flight" fences/commands in ShutdownImpl
2021-08-30 cwallez@chromium.org client: call pending GetCompilationInfo on Disconnect

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 sarahmashay@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
Tbr: sarahmashay@google.com
Change-Id: I1f929d215e22b12cc28d3faecda6f9036b15d481
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/443762
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-08-31 05:22:17 +00:00
skia-autoroll
78a00998f8 Roll SwiftShader from 6aad52e1aef6 to 8ed4e39caa5b (9 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/6aad52e1aef6..8ed4e39caa5b

2021-08-30 srisser@google.com Turn BC6 constructors into constexpr
2021-08-26 capn@google.com Implement VK_EXT_load_store_op_none
2021-08-26 capn@google.com Refactor determining the aspects to clear
2021-08-26 capn@google.com Refactor command execution
2021-08-25 capn@google.com Update Vulkan headers to version 1.2.189
2021-08-25 capn@google.com Eliminate custom Vulkan constants
2021-08-25 srisser@google.com Don't use global variables for CPUID
2021-08-25 srisser@google.com Remove global constructor from BC6
2021-08-23 capn@google.com Fix Subzero Optimizer run time variability

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 fmalita@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: fmalita@google.com
Change-Id: I36907737395e5c559bd836e4e889527ef98d7fb4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/443761
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-08-31 05:14:17 +00:00