Commit Graph

57246 Commits

Author SHA1 Message Date
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
Chris Dalton
c50fefbba7 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>
2021-09-17 17:43:11 +00:00
Eric Boren
14cc21fd99 [sk] Update asset download references to use SK
Change-Id: If3e838f22f1b99fd7a3b1c6bca0affd39f5573b0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/449843
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2021-09-17 16:55:53 +00:00
Jim Van verth
5b7750bd66 Direct3D: support generation of BGRA mipmaps
Change-Id: I0d924a2bce1f1a90b2603c593b786bb1610e3d04
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/449597
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2021-09-17 16:51:21 +00:00
John Stiles
de2b609fdd Move symbol-table push/pop methods out of IRGenerator.
This will allow us to use AutoSymbolTable in more places (and helps cut
down IRGenerator, as we transition away from it).

Change-Id: Ie88c149e0f7eee080a8a4c8cbbc34c8a2a5401d1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/449756
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2021-09-17 16:31:39 +00:00
Brian Salomon
a59925fb1d 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>
2021-09-17 16:02:01 +00:00
Eric Boren
cd0b01cf18 [infra] Switch Win10 Golo tasks to upgraded Windows-10-19043 pool
Bug: chromium:1203327
Change-Id: I36de6f9ad0bba04854911cf8d060b7a754e116f0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/449058
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
2021-09-17 15:28:21 +00:00
Julia Lavrova
d99e4f5b01 Fixing Android build bug
Change-Id: I9c38e47a009a480a9f4883076d118b4a892a431b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/449808
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
2021-09-17 15:01:11 +00:00
Robert Phillips
4e4715b9b8 Disallow SFCs w/ GrColorType::kUnknown in makeSFCFromBackendTexture
We're being stricter in V2 wrt this. This CL is an experiment to see if this fallback is actually relied on.

If this sticks we can unify the two (SFC & SDC) code paths in makeSFCFromBackendTexture.

Change-Id: I77815e0aa63d0910d8f8f38ec1f047b83750e109
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/449678
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-09-17 14:39:58 +00:00
Robert Phillips
b42cea955f Miscellaneous skgpu::v2 backend updates
Bug: skia:11837
Change-Id: I334cdeb75db1a80a35d333faa26aec4999bd6bb6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/449677
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2021-09-17 14:39:06 +00:00
John Stiles
d0665d9a04 Fix fuzzer-discovered null deref with empty interface blocks.
Change-Id: I95bfa33f674bce0098cc6d4469c8c85ee8b051f5
Fixes: oss-fuzz:38875
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/449817
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2021-09-17 14:19:14 +00:00
John Stiles
56cab7f9cb Update matrix-setup code in stroke tessellator.
As of http://review.skia.org/449518 we no longer allow matrix
constructors containing vectors that spill across multiple columns; it
doesn't reliably work on all GPUs. The tessellator needed a small fixup
to support this new limitation.

Change-Id: I82853b6c8ae83597aab3eab611dd10072d23eca5
Bug: skia:12443
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/449836
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
2021-09-17 14:18:44 +00:00