Commit Graph

56471 Commits

Author SHA1 Message Date
Brian Salomon
caa760e214 Fix -Wdeprecated-copy warnings
clang-14 has a new warning for deprecated implicit copy/assignment
if the other is written.

https://clang.llvm.org/docs/DiagnosticsReference.html#wdeprecated-copy

Change-Id: Iaeb23b2470ffa0be1953d1aed31bf0423c589893
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435880
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-08-03 16:06:11 +00:00
John Stiles
e9dcbfdaa1 Add test for Runtime Effects and narrowing conversions.
This code intentionally mixes half4s and float4s everywhere. Before
http://review.skia.org/435916 landed, this resulted in a compile error.

Change-Id: I852fef6ee99a8b78623e0e9ddeee2ad84a8c0504
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/436058
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-03 15:58:46 +00:00
John Stiles
7b401e0f67 Fix cases of variable shadowing in src/core/.
These were reviewed last year at http://review.skia.org/312480 but never
landed. Splitting into small chunks to land individually.

If we manage to fix all the existing cases of variable shadowing, we
could enable -Wshadow.

Change-Id: Ifb985c1baa5811c458454016d0d05fb04baa1c56
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435721
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-08-03 15:57:17 +00:00
Brian Osman
8ef386a123 Revert "Enable the atlas path renderer for GrAAType::kCoverage"
This reverts commit 8cd8e27c2c.

Reason for revert: b/195095846

Original change's description:
> Enable the atlas path renderer for GrAAType::kCoverage
>
> This will definitely cause regressions on a whole slew of benchmarks
> that were carelessly regurgitating cached bitmaps until the system
> memory was blown. But the well defined memory limits of the atlas and
> resilience to animation are worth it. If a client still wants this
> type of caching they can always render their own bitmaps using Skia
> and cache them.
>
> Bug: chromium:928984
> Bug: skia:12258
> Change-Id: I277f50cb9192f1cf5fe8d4b7f629abe72432150a
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/433917
> Commit-Queue: Chris Dalton <csmartdalton@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>

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

Bug: chromium:928984
Bug: skia:12258
Change-Id: Ia9ce9a3b392266a0defaa57752d44a71e533609e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/436076
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-08-03 15:23:47 +00:00
Robert Phillips
ea3489aa1d Make Gr*ContextPriv class hierarchy parallel Gr*Context class hierarchy
Hopefully this will make it easier to add functionality to the Gr*ContextPriv classes.

This CL is mainly mechanical but did turn up some oddities:

GrDirectContext had a separate 'fShaderErrorHandler' member and a matching GrDirectContextPriv::getShaderErrorHandler method. This now falls back to GrBaseContextPriv::getShaderErrorHandler.

GrDirectContext::resetContextStats was const.

GrRecordingContextPriv's dump and dumpKeyValuePairs methods weren't const.

GrImageContextPriv::abandoned was const. GrImageContext::abandoned is not (bc GrDirectContext can abandon inside abandoned).

Change-Id: I25bb2160031de329d514b30c05752f1bdd1d5339
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435716
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-08-03 14:59:04 +00:00
John Stiles
addccaf9cf Enable narrowing conversions automatically for Runtime Effects.
Previously, it was possible to compile runtime effects with narrowing
conversions disabled; e.g. skslc would do this. A Runtime Effect-based
ProgramKind now enables narrowing conversions automatically. (The
setting flag could still be turned on manually as well.)

Change-Id: I912c9adda77c29ccfda3b1d85d106315f648d624
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435916
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-08-03 13:30:40 +00:00
skia-autoroll
1c38121964 Roll SK Tool from 458d16ff1961 to d96e01e1e6c1
https://skia.googlesource.com/buildbot.git/+log/458d16ff1961..d96e01e1e6c1

2021-08-02 rmistry@google.com [CT] Remove Windows option from UI and do not bring up Windows instances
2021-08-02 kjlubick@google.com [gold] Roll out new diffcalculator
2021-08-02 kjlubick@google.com [gold] Replace Pub/Sub diffcalculator Part 3
2021-08-02 kjlubick@google.com [gold] Replace Pub/Sub diffcalculator Part 2
2021-08-02 kjlubick@google.com [gold] Replace Pub/Sub diffcalculator Part 1
2021-08-02 jcgregorio@google.com [status] Make the word Status in the title bar a link.
2021-08-02 rmistry@google.com Encode project name in FullChangeId
2021-08-02 rmistry@google.com Remove refs/heads/ prefix from FullChangeId

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

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Tbr: kjlubick@google.com
Change-Id: I2513e655aad84d082491dee968312ed855263819
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/436004
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-08-03 12:32:40 +00:00
recipe-roller
b6d6018385 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (depot_tools, recipe_engine) into this repository.

depot_tools:
211a5174c5
  211a517 (chanli@chromium.org)
      [dirmd] roll dirmd

recipe_engine:
f4f2e9bc6d
  f4f2e9b (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from 17ea18c0a2cc to 3f172a683204

More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.

R=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ia32845549c0540e0ac771a7ce31f924ee449d98c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435999
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2021-08-03 08:01:12 +00:00
skia-autoroll
e7541d396f Roll ANGLE from d4d6c23c7c21 to f016c4352f52 (8 revisions)
d4d6c23c7c..f016c4352f

2021-08-02 syoussefi@chromium.org Translator: Clean up type cloning
2021-08-02 jmadill@chromium.org Remove extra angle:: uses from ANGLEPestTest.cpp.
2021-08-02 jmadill@chromium.org Fix unreachable case in test instantiate.
2021-08-02 jmadill@chromium.org Test Runner: Allow listing tests on Android.
2021-08-02 jmadill@chromium.org Capture/Replay Tests: Skip crashing test.
2021-08-02 syoussefi@chromium.org Vulkan: SPIR-V Gen: Fix constructors with uniform parameters
2021-08-02 jmadill@chromium.org Remove ASSERT in computeRowPitch about row length.
2021-08-02 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from eca94bf2bef7 to 2395f179eff3 (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 nifong@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/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: nifong@google.com
Change-Id: Ifb6f54fe1474edd5a0f1d8ed5c9a5427a7e66daa
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435978
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-08-03 05:31:13 +00:00
skia-autoroll
f4c6f5ed04 Roll SwiftShader from 44660405ea6c to dcfc0a6e2d84 (6 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/44660405ea6c..dcfc0a6e2d84

2021-08-02 capn@google.com Fix ignoring fragment shader depth for EarlyFragmentTests mode
2021-08-02 capn@google.com Include multisample handling into fragment pipeline stages
2021-08-02 capn@google.com Only process active fragment samples
2021-08-02 capn@google.com Refactor sample shading state determination
2021-08-02 srisser@google.com Add Bias and Fetch to divergent Lod sampling
2021-08-02 srisser@google.com Optimize Lod and Grad texture sampling

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

Cq-Include-Trybots: skia/skia.primary:Test-Debian10-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: nifong@google.com
Change-Id: I801601f06571bcd3621d20fded9680122c6429c1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435976
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-08-03 05:14:50 +00:00
skia-autoroll
3cb9b9c72d Roll Dawn from 7e874a1c096e to 858e585cce60 (3 revisions)
https://dawn.googlesource.com/dawn.git/+log/7e874a1c096e..858e585cce60

2021-08-03 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from c0fbce65d8c6 to b75e4b96a6ba (1 revision)
2021-08-02 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 8ebff3dc85e7 to c0fbce65d8c6 (1 revision)
2021-08-02 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from b209c477db71 to 8ebff3dc85e7 (1 revision)

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from b209c477db71 to b75e4b96a6ba

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

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Debug-Dawn
Bug: None
Tbr: enga@google.com
Change-Id: I810d258a0f85d496e47e1a9256c5fcad3951cfa5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435977
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-08-03 04:52:49 +00:00
Kyle Carlstrom
6bbd7df9fb Generalize KeyframeAnimatorBuilder to AnimatorBuilder
Change-Id: I116489a1261a93d9b2513ca53f04e1305e6fd85b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/432957
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Avinash Parchuri <aparchur@google.com>
Commit-Queue: Avinash Parchuri <aparchur@google.com>
2021-08-03 00:56:16 +00:00
Brian Osman
6bf9189ae5 Fix fetch-sk on Windows
Change-Id: Iac7db5bec874ebb7b695ef9890609d54b2afe061
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435881
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-08-02 22:12:12 +00:00
John Stiles
0e15769355 Fix cases of variable shadowing in src/pdf/.
These were reviewed last year at http://review.skia.org/312480 but never
landed. Splitting into small chunks to land individually.

If we manage to fix all the existing cases of variable shadowing, we
could enable -Wshadow.

Change-Id: Ide60535395eddae3392ff37339fa32bdde612da6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435878
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
2021-08-02 21:49:15 +00:00
John Stiles
eeff41a7b2 Fix cases of variable shadowing in src/.
These were reviewed last year at http://review.skia.org/312480 but never
landed. Splitting into small chunks to land individually.

If we manage to fix all the existing cases of variable shadowing, we
could enable -Wshadow.

Change-Id: I6ae39ce2bdf4cc9fa079e229e21e607088b3cf5d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435723
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2021-08-02 20:22:19 +00:00
John Stiles
60dbf0746f Allow ProgramUsage add/remove for any kind of element.
Previously, we only supported adding Statements, although we supported
removing Statements, ProgramElements and Expressions. Now, we can add or
remove any kind of element.

`replace` was deleted; it was only used in one place, and it could be
replaced by a pair of calls to `remove` and `add`.  (`replace`
was originally used during the simplification pass.)

Change-Id: I0a0093ab60154fd5f5adfcd5c37d17e576c5379a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435624
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2021-08-02 19:54:46 +00:00
Chris Dalton
289750a231 Don't assert if glCheckFramebufferStatus fails
This can fail if the context has been reset or abandoned. Instead return
false so the caller print a warning message and skip rendering.

Bug: chromium:1235232
Bug: skia:12258
Bug: skia:5200
Change-Id: If78a914a25d09d48477e04317a34473632f76207
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435816
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Auto-Submit: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2021-08-02 19:49:12 +00:00
Brian Salomon
9eca2ca0c6 Use varyings to implement MatrixEffects applied to DeviceCoord FPs.
Modify GrGLSLGP's logic to add a varying for a series of matrix sample
usages below a DeviceSpace FP in the FP hierarchy. The varying is based
off the GPs position output variable in the VS.

Adds a new sample usage type for the DeviceSpace FP.

Bug: skia:12198
Change-Id: Ic39f3296c60a073656ad0c72a431a462d5714e92
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435717
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2021-08-02 19:39:13 +00:00
Ethan Nicholas
0dd5f62310 Removed unnecessary check in DSLWriter::Var
This was causing problems in the upcoming error reporting code and does
not appear to be doing anything useful anymore.

Change-Id: Ic4069d9c085e291907483c6019f49a089ee9370d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435796
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2021-08-02 19:29:21 +00:00
John Stiles
960b0f344d Fix cases of variable shadowing in samplecode/.
These were reviewed last year at http://review.skia.org/312480 but never
landed. Splitting into small chunks to land individually.

If we manage to fix all the existing cases of variable shadowing, we
could enable -Wshadow.

Change-Id: I53d04e5b2ffd7e170a8b10a6bacbc239c8b5e7ff
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435720
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
2021-08-02 19:25:01 +00:00
Robert Phillips
a3f206e0b8 Non-substantive changes for making v1::SurfaceDrawContext V1-only
Bug: skia:11837
Change-Id: I60112e370c95e6f9d9bc12cb9b05d40dd2220bc9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435279
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2021-08-02 19:22:58 +00:00
John Stiles
1be6cbbb96 Fix cases of variable shadowing in module/.
These were reviewed last year at http://review.skia.org/312480 but never
landed. Splitting into small chunks to land individually.

If we manage to fix all the existing cases of variable shadowing, we
could enable -Wshadow.

Change-Id: If993bfe66969d2278009d3a3aba999467f4ac3a4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435719
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Julia Lavrova <jlavrova@google.com>
2021-08-02 19:13:02 +00:00
John Stiles
a212b95413 Fix cases of variable shadowing in gm/.
These were reviewed last year at http://review.skia.org/312480 but never
landed. Splitting into small chunks to land individually.

If we manage to fix all the existing cases of variable shadowing, we
could enable -Wshadow.

Change-Id: Ie6a262328315a5726265ef4afede7e0e66337752
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435718
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2021-08-02 19:02:56 +00:00
Ethan Nicholas
3533ff10c7 Converted InterfaceBlock name to string_view
Change-Id: I1d64165b43bc956d0f965fe55f29eebb37a8dbd6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/433002
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2021-08-02 18:12:47 +00:00
Brian Salomon
66b500a07c Remove explicit sample flag from GrFP.
Instead expand the map that is computed by GrGLSLGP to include a bool
that indicates whether each FP requires coords or not.

Now GrGLSLGP is solely responsible for determining which FPs take coords
and inserting any varyings. The rest of the system follows its lead when
generating FP functions and call sites.

Bug: skia:12198

Change-Id: I3471867fb64e94c7775c0b6209998159abeb6714
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435018
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-08-02 17:41:45 +00:00
John Stiles
d7437eec2e Fix for fuzzer-discovered error in SPIR-V with RTFlip.
SPIR-V code generation synthesizes some extra variables that don't
actually exist in the Program. Checking the ProgramUsage of these
variables would fail; ProgramUsage::get doesn't know about these
variables, so it asserts (and would consider them as dead even if it
didn't assert). We now track our SPIR-V bonus variables in a separate
set, and always report them as live.

Change-Id: If2f681470654025abf7ca4b3ec8126de2eb01297
Bug: oss-fuzz:36770
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435625
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-02 17:13:50 +00:00
Robert Phillips
4916c318fd Retract some headers (mainly GrOpsTask.h)
Bug: skia:11837
Change-Id: I22691e282fe9e994aafe32bed97f284d54595f74
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/432936
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-08-02 16:55:40 +00:00
Brian Salomon
880bb534a0 GrGLSLGP performs pre-order traversal to determine FP varyings.
The traversal examines sample usage during descent and tracks the last
matrix sample usage encountered. Each FP that uses coords directly gets
a varying inserted at the position of the last matrix sample usage
encountered.

Whether a starting perspective coord or perspective matrix is
encountered is also tracked on the stack, removing the need for a
FP flag to track this.

Bug: skia:12198
Change-Id: I9f6302c1c2b6619b67a0d6ee1697d6e971560a15
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/433359
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2021-08-02 16:24:52 +00:00
Ethan Nicholas
e0531f50e3 Removed redundant setup code from DSLFunction
This code was written back when most of the function setup was happening
in IRGenerator (and therefore not being hit by the DSL, which was
creating a function declaration directly). Since then, the Function
setup code was moved from IRGenerator into SkSLFunctionDeclaration.cpp,
making this copy of it in the DSL redundant.

Change-Id: Ide110a4ae7dc8b3182c467ee3a2ca249b07d7e36
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/433159
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2021-08-02 16:05:34 +00:00
Robert Phillips
33bf2b56f9 Pipe all SDC creation through the recording context
In the new GrSurfaceContext class hierarchy we can get either a v1 or v2 SFC/SDC depending on the context options setting.

Bug: skia:11837
Change-Id: Ia25bc10b58bbbaf65a484b323d9d0eee471bb7ef
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435276
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
2021-08-02 16:04:52 +00:00
Brian Salomon
2957885548 Reland "Fix check in GrGLGpu for whether PBO 0 is bound"
This is a reland of 62d42db282

Check for PBO support before binding PBO 0.

Original change's description:
> Fix check in GrGLGpu for whether PBO 0 is bound
>
> Found in OOP-R canvas in Chrome. Most likely async read followed by
> sync read with an intervening resetContext().
>
> Bug: chromium:1208212
>
> Change-Id: Ibf85f070d0a4cd389f67e9b249655b0ef667c66e
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435277
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Robert Phillips <robertphillips@google.com>
> Auto-Submit: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Robert Phillips <robertphillips@google.com>
> Reviewed-by: John Stiles <johnstiles@google.com>

Bug: chromium:1208212
Change-Id: I0da48fa9a1f31ec15827f9bef980e9d5a7d70d26
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435622
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-08-02 15:06:04 +00:00
Brian Salomon
4f8d4be6bf Convert device space effect back to subclass.
No functional change.

This will allow it to use a different sample usage in the future.

Bug: skia:12198
Change-Id: I6d8bef383bf8a75f06e4cd8aa1c5a48188b53592
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/433677
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-08-02 14:23:52 +00:00
Brian Salomon
751de92cf1 Revert "Fix check in GrGLGpu for whether PBO 0 is bound"
This reverts commit 62d42db282.

Reason for revert: d3d9 angle tests failing

Original change's description:
> Fix check in GrGLGpu for whether PBO 0 is bound
>
> Found in OOP-R canvas in Chrome. Most likely async read followed by
> sync read with an intervening resetContext().
>
> Bug: chromium:1208212
>
> Change-Id: Ibf85f070d0a4cd389f67e9b249655b0ef667c66e
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435277
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Robert Phillips <robertphillips@google.com>
> Auto-Submit: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Robert Phillips <robertphillips@google.com>
> Reviewed-by: John Stiles <johnstiles@google.com>

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

Bug: chromium:1208212
Change-Id: I85c89a4d0dd63aaafd80d7572c5643cfa547498b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435617
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2021-08-02 13:59:19 +00:00
skia-autoroll
772ce8489b Roll SK Tool from b8a47193acd9 to 9b136d2f58bd
https://skia.googlesource.com/buildbot.git/+log/b8a47193acd9..9b136d2f58bd

2021-08-02 rmistry@google.com Encode branch name in go/gerrit.FullChangeId
2021-08-02 borenet@google.com [autoroll] Switch from omahaproxy to chromiumdash for branch info
2021-08-02 borenet@google.com [sk] Account for whitespace in asset VERSION files

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

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Tbr: kjlubick@google.com
Change-Id: I56720b57c658a5de1f8263b0c1e23cadb7dabd70
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435584
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-08-02 13:29:12 +00:00
skia-autoroll
82f5815629 Roll ANGLE from 3036e0903c8d to d4d6c23c7c21 (14 revisions)
3036e0903c..d4d6c23c7c

2021-08-01 pkasting@chromium.org Fix a recently-introduced case of -Wunreachable-code-aggressive.
2021-07-31 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 55a0cb8b66ac to eca94bf2bef7 (22 revisions)
2021-07-31 syoussefi@chromium.org Translator: Correctly respect precision of gl_FragColor/Data
2021-07-31 syoussefi@chromium.org Disable Precise unittests without SPIR-V gen enabled
2021-07-30 syoussefi@chromium.org Vulkan: SPIR-V Gen: Fix OpImage* on multisampled images
2021-07-30 syoussefi@chromium.org Vulkan: SPIR-V Gen: Fix gl_Clip/CullDistance
2021-07-30 syoussefi@chromium.org Vulkan: SPIR-V Gen: Fix nested ternary operators
2021-07-30 syoussefi@chromium.org Vulkan: SPIR-V Gen: Support vec(..., mat)
2021-07-30 angle-autoroll@skia-public.iam.gserviceaccount.com Roll VK-GL-CTS from 571256871c2e to 0eb84cfc3d3f (25 revisions)
2021-07-30 kbr@chromium.org Get direct-to-Metal backend to run angle_end2end_tests.
2021-07-30 syoussefi@chromium.org Revert "Disable RunAppAsync and RunAppAsyncRedirectStderrToStdout"
2021-07-30 syoussefi@chromium.org Translator: Consolidate EvqFragDepth and EvqFragDepthEXT
2021-07-30 sugoi@google.com Rename WebSwapLayerCGL to WebSwapCGLLayer
2021-07-30 lubosz.sarnecki@collabora.com packed_egl_enums: Add ColorSpace.

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 nifong@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/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: nifong@google.com
Change-Id: I1911afd89beccb5861b392a22226649c2dcc57ec
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435577
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-08-02 05:23:43 +00:00
skia-autoroll
3bbecc3e9a Roll Dawn from b7c7f62829b0 to 7e874a1c096e (2 revisions)
https://dawn.googlesource.com/dawn.git/+log/b7c7f62829b0..7e874a1c096e

2021-07-31 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 2c1fbe801b3a to b209c477db71 (5 revisions)
2021-07-30 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 1f0200a3fffc to 2c1fbe801b3a (19 revisions)

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from 1f0200a3fffc to b209c477db71

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

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Debian10-Clang-x86_64-Debug-Dawn
Bug: None
Tbr: bclayton@google.com
Change-Id: Ia4aefe5d74ce50e8d2506f4da628b804a46ed5d6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435576
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-08-02 04:40:41 +00:00
skia-autoroll
60f3e2a7d5 Roll SK Tool from 35acbf78a3c5 to b8a47193acd9
https://skia.googlesource.com/buildbot.git/+log/35acbf78a3c5..b8a47193acd9

2021-08-01 skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com Update CIPD Packages

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

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Tbr: kjlubick@google.com
Change-Id: I393e88a88a179b2862ec0273c889d278efc218ca
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435479
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-08-01 14:50:43 +00:00
skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com
2236b79a2a Update SKP version
Automatic commit by the RecreateSKPs bot.

Change-Id: I3f340fb3702005236099ce5874a3f2f2a82de9f8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435457
Reviewed-by: skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Commit-Queue: skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2021-08-01 08:56:43 +00:00
Mike Reed
464703f514 Add gm exercising strokeandfill
Bug: skia:8428
Change-Id: I82cd1d5774f03f5d746a5290d4d030406f932cd6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435436
Reviewed-by: Mike Reed <reed@google.com>
2021-07-31 19:23:47 +00:00
skia-autoroll
028e45b2f0 Roll SK Tool from 30875cd19b97 to 35acbf78a3c5
https://skia.googlesource.com/buildbot.git/+log/30875cd19b97..35acbf78a3c5

2021-07-30 jeffyoon@google.com PGO trybots to trigger based on newly introduced milestone key
2021-07-30 jcgregorio@google.com Add shelf3 POE switch to rack4.
2021-07-30 borenet@google.com [sk] Add Flutter branch support to release-branch command

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 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: I7d346827781d3b5fa28e659cd37b3adc274053e6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435376
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-07-31 16:13:13 +00:00
Brian Salomon
62d42db282 Fix check in GrGLGpu for whether PBO 0 is bound
Found in OOP-R canvas in Chrome. Most likely async read followed by
sync read with an intervening resetContext().

Bug: chromium:1208212

Change-Id: Ibf85f070d0a4cd389f67e9b249655b0ef667c66e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435277
Commit-Queue: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-07-30 22:38:47 +00:00
recipe-roller
31df6806c0 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (recipe_engine) into this repository.

recipe_engine:
6adf69fe80
  6adf69f (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from 559e1b74816d to 9511bd5330b2

More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.

R=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: If47a5a15c0e2077c24c00130b388f460e0a3b560
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435236
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Bot-Commit: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
2021-07-30 20:43:13 +00:00
Herb Derby
98c2dd31ac draw atlas: using skvm
Bug=skia:12225

Change-Id: I1b6816e234cbaa49035bcedfeff894a8d2c31133
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/434680
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2021-07-30 20:35:53 +00:00
John Stiles
82c99d19a2 Reduce size of ChildPtr object.
We take advantage of their shared SkFlattenable lineage to store all
three types of object in the same sk_sp, and check their
Flattenable type to distinguish between them. Accessors allow us to
mimic the coding style of having three distinct fields.

Change-Id: I16426377f10fa2abffbf09bb7998c968614433df
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435019
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-07-30 19:38:54 +00:00
John Stiles
ae2171eba6 Fixup enum name in SkFlattenable.
`SkShaderBase` is an implementation-detail of SkShader and doesn't need
to be in this enum name.

Change-Id: Ieb40a09ae489d4a1e11dfd306d20a8b94ee05ef9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/435017
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-07-30 18:19:11 +00:00
John Stiles
68c9325263 Create test case to repro skia:12212.
Change-Id: I2dde12b262f51b00a95eb26f87b85c3f5a19b45b
Bug: skia:12212
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/428961
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2021-07-30 17:41:13 +00:00
Rohit Rao
19cd36b20f Removes a deprecated call to CTGetCoreTextVersion() when compiling for iOS 14+.
When compiling for iOS with a min deployment target of 14.0+,
CTGetCoreTextVersion() is marked as deprecated. The Core Text version is
used to enable fallback behavior when the current CoreText version is
known to behave badly. However, the version of CoreText that ships with
iOS 14.0 is greater than the versions which require fallback
behavior. Instead of keeping a map from iOS version to CoreText version,
as recommended by the deprecation message, simply disable all fallback
behavior when compiling for iOS 14.0+.

Change-Id: Ic81a1718247e434cb84d451bbdb8f810f3fe2555
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/434042
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2021-07-30 17:39:43 +00:00
John Stiles
126788e087 Simplify GetRuntimeBlendForBlendMode.
Now that we support sampling from an SkBlender inside a Runtime Effect,
we can leverage that to reuse the blends from SkBlender::Mode. This lets
us avoid hard-coding copies of every built-in blend function.

Change-Id: I51f380490611fbde943c16648999b4fd4e6a14a9
Bug: skia:12257, skia:12085
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/434472
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-07-30 16:42:36 +00:00
John Stiles
ce9a5c953d Allow sampling from SkBlenders.
Runtime shaders, color filters, and blenders are all able to sample from
a blender. These use the blend-function signature; both a src-color and
dst-color must be passed to sample. i.e.: sample(blender, s, d)

Change-Id: I3738e6b0b4af6d1d79e62ca1815c80d6a1ae9d6f
Bug: skia:12257
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/432056
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-07-30 16:41:54 +00:00
Robert Phillips
1a2e7de8ea Update tests for a V1-only skgpu::v1::SurfaceDrawContext
Bug: skia:11837
Change-Id: If8dd864d6cd8bc5ab9569fbab40866e1810dbc27
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/434162
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-07-30 16:33:41 +00:00