Commit Graph

57257 Commits

Author SHA1 Message Date
John Stiles
1c5eb4b371 Disallow continue inside a switch.
This fails on several platforms in practice, and is of very limited
real-world utility.

Change-Id: Ib476396fc33cb51af6bbcf7fe822d30703ed995d
Bug: skia:12467
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/450993
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-09-21 19:26:40 +00:00
Florin Malita
6a2a637746 [skottie] Fix Keyframe::Value equality operator
Per spec, reading anything other than the most recently written
union member is undefined behavior.

Keyframe containers always access the same member, consistently.  But
the type-agnostic equality operator does touch both members.

Refactor to avoid undefined behavior.

Also add a couple of unit tests to capture keyframe deduping behavior
(which in turn relies on the equality operator).

Change-Id: I7ba9c335ef28af7ddc71bd6f03d56b891fbdea1e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/451016
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
2021-09-21 19:23:26 +00:00
Julia Lavrova
9f6e4632f8 Fixing all clang errors...
Change-Id: If448c339c16359b53c31f181d3e3938ffbe30cef
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/450037
Reviewed-by: Jorge Betancourt <jmbetancourt@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2021-09-21 17:25:18 +00:00
John Stiles
35bd92638f Add tests for switch + loop constructs.
Change-Id: I17b5e21a28140b8e9313d87af9b1145674214fdb
Bug: skia:12450
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/450989
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-09-21 17:23:47 +00:00
Robert Phillips
755e00edec Update sprint to graphite name
Change-Id: Ice0826af0b64fa8dd92975f879af8ab0f71740fc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/451039
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-09-21 16:44:10 +00:00
Dominik Röttsches
8abb52f212 Roll FreeType
fed5521016..6190360967

Contains a change that accepts ClipBoxes only in format number 0 instead
of 1 after a spec change to harmonize format numbering, thus needs
an update to the test font.

Change-Id: I837802648aec1acc0d0424b2b381e3f7031b181e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/450916
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2021-09-21 16:37:14 +00:00
John Stiles
e32309d771 Update switch-fallthrough test to run in dm.
Also, removed "switch containing dead code" test. This wasn't testing
anything meaningful. (When we had full CFG analysis, we could have
eliminated some of the assignments inside the switch body, but this is
not something we do anymore.)

Change-Id: Iaeb74ebee41a7f368113ede9a4e30c033b9de8ac
Bug: skia:12450
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/450985
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-21 15:41:37 +00:00
John Stiles
408f38ea05 Disable SwitchDefaultOnly test on Intel + Vulkan + Linux.
Change-Id: I3970ed175c8420912efca765c1e0eda7fb1fad0e
Bug: skia:12465
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/450988
Reviewed-by: Brian Osman <brianosman@google.com>
2021-09-21 15:27:00 +00:00
Robert Phillips
1a4080add1 More beachhead
This should at least get something compiling.

Change-Id: I617fd4d6e4f0a3fdd6dedbe66f3a4448bb913b2c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/450976
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-09-21 14:44:32 +00:00
John Stiles
b8f1651f9b Add workaround for switch() containing only a default case.
The Mac Radeon GLSL driver crashes when given a switch statement that
only contains a default case and returns a value. Adding a case works
around the crash, and doesn't affect the meaning of the switch.

Change-Id: Iabbd267e0e31e8df7d3b7e747a7204d50931d0be
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/450977
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2021-09-21 14:22:17 +00:00
Jim Van Verth
8d59fe04b8 Add memoryless parameter for MSAA attachment creation
Bug: skia:12086
Change-Id: I9ad293852850253a8c3b1ca6bac4cf86900daec5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/449842
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2021-09-21 14:17:39 +00:00
Ethan Nicholas
2816dcfc67 Fixed fuzzer-discovered bug with interface blocks
While I was in this code, I realized that the setVariable method of
InterfaceBlock was unused and there was therefore no reason to be
storing a pointer instead of a reference.

Bug: oss-fuzz:39000
Change-Id: If7505ba87f4060370cfd32ca2e30c76648965101
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/450446
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-09-21 14:12:47 +00:00
John Stiles
ed2babaf94 Reland "Add switch statement support to PipelineStage."
This is a reland of be056f4f62

The Switch test has been restructured to dodge an iOS bug.

Original change's description:
> Add switch statement support to PipelineStage.
>
> This allows us to write SKSL_TEST_ES3 tests in SkSLTest and have them
> run properly. Previously, such a test would assert inside the pipeline-
> stage generator. In ES2 mode, we will rewrite switches as chained ifs,
> but in ES3 mode we will want to continue emitting them as-is (they will
> be faster than chained ifs on a modern GPU).
>
> `writeSwitchStatement` is adapted from GLSLCodeGenerator.
>
> Change-Id: I532ea5ed49869e7cdffced0cdcd0e353af8d4d79
> Bug: skia:12450
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/450478
> 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>

Bug: skia:12450
Change-Id: I5102081c636ef09cd23f5bc894e6c96e92a4c121
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/450757
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
2021-09-21 13:07:50 +00:00
John Stiles
8e369b0a5a Replace break with continue inside empty (post-optimization) loop.
This fixes a driver bug with the Nexus 7 while retaining the meaningful
part of the test.

Change-Id: I98edab32132f0c52a1f69b03efd403fae43c336b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/450482
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2021-09-21 13:06:50 +00:00
skia-autoroll
edc6740a13 Roll Chromium from 17b3e1a870ed to c3ac14695197 (387 revisions)
17b3e1a870..c3ac146951

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

To file a bug in Chromium: https://bugs.chromium.org/p/chromium/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: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: brianosman@google.com
Change-Id: I8f2eddc7fe3d6aaae93c0882bf32e0873a7a220f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/450818
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-09-21 05:58:15 +00:00
skia-autoroll
f81416d3e5 Roll ANGLE from 458389f249b0 to 9184973fc1be (6 revisions)
458389f249..9184973fc1

2021-09-20 jmadill@chromium.org Add GetCompressedTexImageANGLE to ANGLE_get_image
2021-09-20 cnorthrop@google.com FrameCapture: Scan Setup instructions
2021-09-20 syoussefi@chromium.org Translator: Fix pruning functions that declare a struct
2021-09-20 msisov@igalia.com rename use_x11 to ozone_platform_x11
2021-09-20 gert.wollny@collabora.com Capture/Replay: Update expectations and add bugs
2021-09-20 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 8878e9feb127 to e515fa6a510e (388 revisions)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-skia-autoroll
Please CC brianosman@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: brianosman@google.com
Test: Test: Fortnite MEC
Change-Id: Iaf978b363b0d7eb4b31d74864eb28b919eac28ca
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/450820
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-09-21 05:28:08 +00:00
skia-autoroll
bfe3700b3e Roll SwiftShader from b7de6caa43b9 to 6cbc24686901 (7 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/b7de6caa43b9..6cbc24686901

2021-09-20 srisser@google.com Set all provoking vertex feature bools
2021-09-20 srisser@google.com Fully support all 16-bit packed texture formats
2021-09-20 capn@google.com Optimize SPIR-V binary cache reuse
2021-09-20 capn@google.com Add optimization state to the optimized SPIR-V binary cache key
2021-09-20 capn@google.com Cache optimized SPIR-V binaries instead of compiled shaders
2021-09-20 capn@google.com Fix use of deleted shader during compute execution
2021-09-20 capn@google.com Refactor SPIR-V binary storage

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 brianosman@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: brianosman@google.com
Change-Id: Iadcbe3653c799772fd2331f0c1be18189dd0f7e5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/450819
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-09-21 05:23:12 +00:00
skia-autoroll
e185dc9ce2 Roll Dawn from 8626b2142d82 to 92d6e53e6def (24 revisions)
https://dawn.googlesource.com/dawn.git/+log/8626b2142d82..92d6e53e6def

2021-09-21 kainino@chromium.org Fix CMake build failures after recent changes
2021-09-20 enga@chromium.org Default initialize DeviceDescriptor in DawnTest.cpp
2021-09-20 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from ddc9eb2b859e to d1c6f8334168 (2 revisions)
2021-09-20 enga@chromium.org Clamp limits to the defaults if they are worse than the defaults
2021-09-20 rockot@google.com Introduce BufferLocation
2021-09-20 rockot@google.com Introduce WriteBuffer command
2021-09-20 enga@chromium.org Update dawn.json to new schema for newly added structs
2021-09-20 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from 871570bc7b7d to ddc9eb2b859e (1 revision)
2021-09-20 enga@chromium.org dawn.json: chained/extensible must be "in" or "out" or false
2021-09-17 kainino@chromium.org Tweak JavaScript formatting of compressed formats
2021-09-17 kainino@chromium.org Add new items for Emscripten/webgpu-headers
2021-09-17 kainino@chromium.org Generate multiple variants of webgpu.h header
2021-09-17 tangm@microsoft.com D3D12: Move transform/FirstIndexOffset outside of TranslateToHLSL
2021-09-17 kainino@chromium.org Stub out depth16unorm texture format
2021-09-17 enga@chromium.org Add an option for the Adapter to use tiered limits
2021-09-17 cwallez@chromium.org Remove readonly storage textures
2021-09-17 yunchao.he@intel.com Fix a few comments in RenderPassDescriptorValidationTests.cpp
2021-09-17 cwallez@chromium.org Remove deprecated APIs
2021-09-17 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from dad26395d829 to 871570bc7b7d (1 revision)
2021-09-17 enga@chromium.org Add wgpuDeviceGetLimits. Split Required/Supported limit structs
2021-09-17 jiawei.shao@intel.com D3D12: Support creating render pipeline asynchronously
2021-09-17 shrekshao@google.com Add buffer_mapping.md in docs
2021-09-16 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Tint from d1d99bc7dec1 to dad26395d829 (1 revision)
2021-09-16 jie.a.chen@intel.com Treat 'mipLevelCount == 0' as error

Also rolling transitive DEPS:
  https://dawn.googlesource.com/tint from d1d99bc7dec1 to d1c6f8334168

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 kainino@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: kainino@google.com
Change-Id: Ic34794f0f0cfe72062326b0b77ebb6d247fca2a6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/450817
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-09-21 04:41:41 +00:00
Robert Phillips
fab00952d3 Establish beachhead
Change-Id: Ib585bf93da5386c353c66baeb00027d31bdbec8f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/450480
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2021-09-20 22:03:07 +00:00
John Stiles
d288d8bc84 Revert "Add switch statement support to PipelineStage."
This reverts commit be056f4f62.

Reason for revert: apparently switch on iOS GLSL is extremely broken

Original change's description:
> Add switch statement support to PipelineStage.
>
> This allows us to write SKSL_TEST_ES3 tests in SkSLTest and have them
> run properly. Previously, such a test would assert inside the pipeline-
> stage generator. In ES2 mode, we will rewrite switches as chained ifs,
> but in ES3 mode we will want to continue emitting them as-is (they will
> be faster than chained ifs on a modern GPU).
>
> `writeSwitchStatement` is adapted from GLSLCodeGenerator.
>
> Change-Id: I532ea5ed49869e7cdffced0cdcd0e353af8d4d79
> Bug: skia:12450
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/450478
> 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>

Bug: skia:12450
Change-Id: If40c90023a64c608181285f6470b3e75303cc3cc
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/450756
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
2021-09-20 21:57:09 +00:00
Greg Daniel
84261653c5 Reland "Add new GrSurfaceInfo class and related backend structs."
This is a reland of 6aac1193a7

Original change's description:
> Add new GrSurfaceInfo class and related backend structs.
>
> Bug: skia:12402
> Change-Id: I45b2f71dcfa5843e2a19a8de7d34196a4d552905
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/445176
> Commit-Queue: Greg Daniel <egdaniel@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>

Bug: skia:12402
Change-Id: Id540bea408d72ceba43ec4245c3748d630121926
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/450277
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2021-09-20 20:44:53 +00:00
Michael Ludwig
8c9c185a92 Simplify SkAAClip to use SkClipOp, not SkRegion::Op
Bug: skia:10205
Change-Id: I19039f72db1052db27f5819fafdc5ba8eb8af909
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/445618
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2021-09-20 20:12:38 +00:00
Jim Van Verth
6aaa6b0ede Direct3D: add Intel Iris 655 bots
Bug: skia:12359
Change-Id: Ic95d9f619f51a4f232ee2007869a25ea1f92ea21
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/450445
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2021-09-20 19:34:00 +00:00
John Stiles
be056f4f62 Add switch statement support to PipelineStage.
This allows us to write SKSL_TEST_ES3 tests in SkSLTest and have them
run properly. Previously, such a test would assert inside the pipeline-
stage generator. In ES2 mode, we will rewrite switches as chained ifs,
but in ES3 mode we will want to continue emitting them as-is (they will
be faster than chained ifs on a modern GPU).

`writeSwitchStatement` is adapted from GLSLCodeGenerator.

Change-Id: I532ea5ed49869e7cdffced0cdcd0e353af8d4d79
Bug: skia:12450
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/450478
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-09-20 18:55:09 +00:00
Ethan Nicholas
f62934b85a Fixed DSLParser error uncovered by ossfuzz
Missed one more case of Optional<Wrapper<Expression>>. This should be
the last one.

Bug: oss-fuzz:38944
Change-Id: Ic7f790cd99e2a3ee1c3874cc767a4702265d1723
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/450476
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2021-09-20 17:57:14 +00:00
Ben Wagner
3d9c73c100 Use thread_local on iOS
Using thread_local on iOS requires iOS 9 or greater. Chrome for iOS
now requires 13, Skia sets the minimum to 11 for test builds, and
Flutter actively does not support 8 or earlier. Dropping support for
iOS 8 in practice and moving to iOS 9 makes it possible to use
thread_local without reservations on iOS.

Change-Id: Ib80cbe24e8154be650f343643281384c17356242
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/447497
Reviewed-by: Heather Miller <hcm@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2021-09-20 17:51:38 +00:00
John Stiles
498bfa4a85 Add test case for 'loop over switch with continue inside.'
We didn't have a test case for this particular construct, but we will
emit special code to handle it when rewriting switch statements.

Change-Id: I7ac632f7bee348194940812c956c8a7df51ffaff
Bug: skia:12450
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/450477
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2021-09-20 16:47:02 +00:00
Jim Van Verth
4f867cc201 Reland "Direct3D: Be sure to set correct heaps for current descriptor tables."
This is a reland of 7e33d95f4f

Original change's description:
> Direct3D: Be sure to set correct heaps for current descriptor tables.
>
> When binding descriptor tables, their associated heaps need to be bound
> as well. Previously we would bind those heaps when allocating from them.
> However, if we re-use a descriptor table later, its heap may no longer
> be bound. So we need to be sure to bind heaps for the current set.
>
> To avoid unnecessary refs, rather than store a
> sk_sp<GrD3DDescriptorTableManager::Heap> in each descriptor table, we
> only store its ID3D12DescriptorHeap pointer. The Heap only needs to be
> added to the command list once, when it is first used to allocate for
> the current submit.
>
> Bug: skia:12359
> Change-Id: I70018368e4f08bf7757969b9e878b0ff42059486
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/448836
> Commit-Queue: Jim Van Verth <jvanverth@google.com>
> Reviewed-by: Greg Daniel <egdaniel@google.com>

Bug: skia:12359
Change-Id: Ifdd6c76cb5f00c82f9e4206ae31ea2f1df6ef37b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/449916
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2021-09-20 16:26:07 +00:00
Jim Van Verth
14a9b089b6 Reland "Revert "New approach to GrProcessor uniforms.""
This reverts commit a59925fb1d.

Reason for revert: Speculative revert for https://crbug.com/1251070

Original change's description:
> Revert "Revert "New approach to GrProcessor uniforms.""
>
> This reverts commit ae59426ea6.
>
> Bug: skia:12182
> Change-Id: I591a0a89ffad1a3d5d867dd247ceeec71b6041a4
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/449516
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>

Bug: skia:12182
Change-Id: I2f37c7e9675dd35194791340012e1b4135b076a1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/450440
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2021-09-20 14:51:44 +00:00
John Stiles
b43596f10b Make DSLStatement-from-SkSL ctors public.
Internally, these can be very useful for assembling code fragments.

Externally, our users shouldn't have any SkSL::Statement or
SkSL::Expression objects to pass in, so it's still effectively a non-
public API.

Change-Id: I03b88507ce932b472ab5b9aed68ea67dcd10b13f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/449855
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2021-09-20 14:09:14 +00:00
Shrek Shao
daeb5223c1 dawn texture view descriptor mipLevelCount must be larger than 0
Bug: dawn:1026
Change-Id: I9404d0886c386941b84d276b7a6536b699d75ceb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/450036
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2021-09-20 14:02:47 +00:00
John Stiles
809707671a Reorder optimizations to eliminate more code.
Unreachable code might contain the only reference to a variable or
function. We can eliminate those variables/functions if we remove the
unreachable code first.

(Are there counterexamples where this order leads to worse results? I
couldn't think of any, and pragmatically it didn't show up in any of
our existing tests.)

Change-Id: Ic9f0222851269e0c37eb9570547307998f882b6c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/450156
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2021-09-20 13:57:46 +00:00
John Stiles
b42b926513 Add additional examples to UnusedVariables test.
`increment` and `float a` could be eliminated, but are not.
This is fixed in a followup CL.

Change-Id: I7a5c3ab7341f40020f84f157b08a7152bc067af0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/450276
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-09-20 13:57:39 +00:00
Ethan Nicholas
c973d26854 Fixed DSLParser assertion error uncovered by fuzzer
Bug: oss-fuzz:38108
Change-Id: I0e055d837923f00b982bc395dbf29b6ff59a3b21
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/448896
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-09-20 13:48:41 +00:00
John Stiles
64be3c5867 Re-enable tests for Adreno 6xx.
Doing some finer-grained testing, I found that some tests weren't broken
on Adreno 600 even though they were problematic on older GPUs/drivers.

Change-Id: Ib10424310a65e872aef5140aeb36cf29704de2c4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/449847
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-09-20 13:45:09 +00:00
skia-autoroll
06f3ea1e0a Roll ANGLE from e3e221f94459 to 458389f249b0 (10 revisions)
e3e221f944..458389f249

2021-09-17 syoussefi@chromium.org Vulkan: Support Linux dma-bufs
2021-09-17 timvp@google.com Destroy all unreferenced Contexts resources during terminate()
2021-09-17 rafael.cintron@microsoft.com Fix memory leak in StreamProducerD3DTexture.validateD3DTexture
2021-09-17 jmadill@chromium.org Move JsonSerializer from libANGLE to common.
2021-09-17 jmadill@chromium.org Fix libpng warning.
2021-09-17 syoussefi@chromium.org Roll libpng to current upstream top of tree
2021-09-17 joenotcharles@google.com Update link to Chromium Modern C++ style guide
2021-09-17 syoussefi@chromium.org Vulkan: Fix getting driver priority with async command queue
2021-09-17 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 0fa19bd6c285 to b7de6caa43b9 (4 revisions)
2021-09-17 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from eac868c597aa to 8878e9feb127 (440 revisions)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-skia-autoroll
Please CC brianosman@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: brianosman@google.com
Test: Test: EGLContextSharingTestNoFixture.EglTerminateMultipleTimes
Change-Id: I491c7013dbcb6a51ae50fb811c41077eff3d0ea7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/450339
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-09-20 05:26:36 +00:00
skia-autoroll
bec01c6add Roll Chromium from 14caf1b3ea77 to 17b3e1a870ed (415 revisions)
14caf1b3ea..17b3e1a870

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

To file a bug in Chromium: https://bugs.chromium.org/p/chromium/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: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: brianosman@google.com
Change-Id: Iaa0c7e2221bf4a6372e3d42f2a0b9113ab406fd0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/450338
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
2021-09-20 04:49:40 +00:00
skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com
68a09699e9 Update SKP version
Automatic commit by the RecreateSKPs bot.

Change-Id: I60c6dfcb50f4080464f04a98ac42eecad779d5af
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/450268
Commit-Queue: skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
Bot-Commit: skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com <skia-recreate-skps@skia-swarming-bots.iam.gserviceaccount.com>
2021-09-19 07:14:37 +00:00
Jim Van Verth
2f7ee02577 Revert "Add new GrSurfaceInfo class and related backend structs."
This reverts commit 6aac1193a7.

Reason for revert: Breaking Mac bots in Chromium roll. Looks like
they depend on getVkImageInfo for an unknown reason, and it's 
hidden behind SK_VULKAN.

Original change's description:
> Add new GrSurfaceInfo class and related backend structs.
>
> Bug: skia:12402
> Change-Id: I45b2f71dcfa5843e2a19a8de7d34196a4d552905
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/445176
> Commit-Queue: Greg Daniel <egdaniel@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>

Bug: skia:12402
Change-Id: I3c9642354dae8c955bc58d281700536393f84519
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/450199
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2021-09-18 16:35:38 +00:00
Jim Van Verth
ccef63db26 Revert "Defer the attachment of GL stencil buffers"
This reverts commit c50fefbba7.

Reason for revert: Many issues with GMs

Original change's description:
> Defer the attachment of GL stencil buffers
>
> This will allow us to use a single FBO for
> EXT_multisampled_render_to_texture, that we modify on-demand depending
> on whether we need MSAA.
>
> Bug: chromium:1222095
> Change-Id: Ife2d743e28833521d785e4bf0e20de593c492a9a
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/442736
> Commit-Queue: Jim Van Verth <jvanverth@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>

Bug: chromium:1222095
Change-Id: I0d921b0298d535942ef3fd332522b14244aa9ce3
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/450197
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2021-09-18 02:03:33 +00:00
Jim Van Verth
ab6e86e47a Revert "Use a single FBO for EXT_multisampled_render_to_texture targets"
This reverts commit 949dfb5ffd.

Reason for revert: Reverting to revert parent CL.

Original change's description:
> Use a single FBO for EXT_multisampled_render_to_texture targets
>
> Uses a single FBO and changes the attachments based on whether we need
> multisample or not. This is an effort to work around presumed driver
> bugs from having the same texture bound to different FBOs with different
> sample counts.
>
> Bug: chromium:1222095
> Change-Id: I1347a149524be95181a4d3fb0a0da7bfe92a2ec9
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/442737
> Commit-Queue: Jim Van Verth <jvanverth@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>

Bug: chromium:1222095
Change-Id: I1647c21d04348daae1636d7e637faf6fa604b0df
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/450196
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2021-09-18 01:58:20 +00:00
Greg Daniel
6aac1193a7 Add new GrSurfaceInfo class and related backend structs.
Bug: skia:12402
Change-Id: I45b2f71dcfa5843e2a19a8de7d34196a4d552905
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/445176
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2021-09-18 00:41:07 +00:00
Jim Van Verth
dcfa824c38 Revert "Don't keep a non-msaa FBO with EXT_multisampled_render_to_texture"
This reverts commit 6694a36a7f.

Reason for revert: Issues with Adreno GMs.

Original change's description:
> Don't keep a non-msaa FBO with EXT_multisampled_render_to_texture
>
> This seems to cause bugs on various platforms. Instead, do the same
> thing we do for dmsaa: reconfigure a single FBO as msaa or not,
> based on need.
>
> Bug: chromium:1222095
> Change-Id: I4ca4aff32772ee2a9607c92c586ae9494f955229
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/442565
> Commit-Queue: Jim Van Verth <jvanverth@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>

Bug: chromium:1222095
Change-Id: I060988c63edbfeb628d5a6c34cda3e159066114a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/449918
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2021-09-17 22:48:29 +00:00
John Stiles
3299eb7feb Disable Matrices test on Adreno330 and Mali400.
Disappointingly, these GPUs have trouble assembling a matrix from a mix
of vectors and scalars.

Change-Id: I324837d6e3ac33fd8c23546154f496120636bad4
Bug: skia:12456
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/449846
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-09-17 21:00:56 +00:00
Julia Lavrova
68dbe467d9 Removing SkText from BUILD.gn to unblock Android roll
Change-Id: Ieb07c4f5f1e676d082435950488f43e6e85eed91
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/449854
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2021-09-17 20:15:14 +00:00
Chris Dalton
6694a36a7f Don't keep a non-msaa FBO with EXT_multisampled_render_to_texture
This seems to cause bugs on various platforms. Instead, do the same
thing we do for dmsaa: reconfigure a single FBO as msaa or not,
based on need.

Bug: chromium:1222095
Change-Id: I4ca4aff32772ee2a9607c92c586ae9494f955229
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/442565
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2021-09-17 19:43:42 +00:00
Jim Van Verth
949dfb5ffd Use a single FBO for EXT_multisampled_render_to_texture targets
Uses a single FBO and changes the attachments based on whether we need
multisample or not. This is an effort to work around presumed driver
bugs from having the same texture bound to different FBOs with different
sample counts.

Bug: chromium:1222095
Change-Id: I1347a149524be95181a4d3fb0a0da7bfe92a2ec9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/442737
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2021-09-17 19:07:07 +00:00
Julia Lavrova
40e5f545b2 Yet one more warning as an error coming from Android build
Change-Id: I64338cc3a8d5cb289a4bd730ca2372a8f2636cea
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/449850
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2021-09-17 18:31:17 +00:00
Ethan Nicholas
0dc1e0f797 Fixed DSLParser unary expression error handling
Missed a case when eliminating optional/wrapper in an earlier CL.

Change-Id: If7f80ea6e2172acadf7b0087fe1a05853ccae445
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/449838
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-09-17 17:55:13 +00:00
Joe Gregorio
29399939c8 [docsy] Lean on Hugo to generate the ToC for each page.
Instead of manually maintaining them, which is error prone.

Change-Id: If78a564e4afe238d195b952fea276154b2e12b06
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/449917
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
2021-09-17 17:47:52 +00:00