Commit Graph

12122 Commits

Author SHA1 Message Date
Zhaoming Jiang 981d5a6f08 Dawn: Refactor adapter features, part 1
This CL make adapter base holds it supported features set as private
instead of protected and provide a method to set features enabled. This
CL also rename SetSupportedFeatures in null adapter to
SetSupportedFeaturesForTesting.
This is a pre-CL for implementing UseDXC as instance toggle, which may
require further refactor and adapter features logic to handle the toggles.

Bug: dawn:1495
Change-Id: I0a07e5653b43f18278cb4a2fe90985cc90b66068
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/124421
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Zhaoming Jiang <zhaoming.jiang@intel.com>
Reviewed-by: Austin Eng <enga@chromium.org>
2023-03-16 19:06:33 +00:00
James Price 498e91826e tint: Support @diagnostic on continuing statements
Bug: tint:1809
Change-Id: I01725dc3b5aa3a91f7a3d3b0077667a1072debce
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/124360
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: James Price <jrprice@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
2023-03-16 18:19:25 +00:00
dan sinclair abe6db26d2 Update expectation issue for `increment_decrement`
The OSX failures of `increment_decrement` are updated to include the
filed bug number.

Bug: tint:1875
Change-Id: Iac8d0e0e8cb8346cc8ed1b972951c423f4f393cb
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/124480
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-03-16 17:38:18 +00:00
Ben Clayton d493c0f314 Dawn: Break dependency on ANGLE
Fixed: dawn:1715
Change-Id: I6d7965a9a73c42a2aca59b03379aa68aea1695c8
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/124460
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-03-16 14:31:25 +00:00
James Price d7d8b80c81 tint: Support @diagnostic on loop and loop body
Bug: tint:1809
Change-Id: Ib3ccfd823f9cccb67bebbf04927d54f193a4e281
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/124321
Commit-Queue: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
2023-03-16 12:21:44 +00:00
Dawn Autoroller 221d628392 Roll ANGLE from f4e71351b3bf to 80bdfe833ae2 (1 revision)
f4e71351b3..80bdfe833a

2023-03-16 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from d828200ebd12 to 0abde2e3b92a (587 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-dawn-autoroll
Please CC angle-team+autoroll@google.com,bclayton@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 Dawn: https://bugs.chromium.org/p/dawn/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

Bug: None
Tbr: bclayton@google.com
Change-Id: Ic52fab7302ee6c9fb5aefc664cdb383a7c715fae
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/124420
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2023-03-16 11:21:59 +00:00
dawn-autoroll 26e2ac363b Roll vulkan-deps from 519e14d8d594 to 7248c680579d (4 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/519e14d8d594..7248c680579d

Changed dependencies:
* vulkan-headers: d732b2de30..65ad768d86
* vulkan-validation-layers: 63be727720..6ab6adca3e

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-deps-dawn-autoroll
Please CC bclayton@google.com,webgpu-developers@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 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

Bug: None
Tbr: bclayton@google.com
Change-Id: Iad2e7b482d729783e3f9359fb6bb64ebc18b8077
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/124380
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-03-16 08:37:28 +00:00
Antonio Maiorano 81d11b3cf1 tint/spirv-reader: cast offset and count args to u32 for insertBits/extractBits
Bug: tint:1874
Change-Id: Ieadbfcb7fc61a0404dd988df42e0cfe0c8693b02
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/124320
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
Reviewed-by: David Neto <dneto@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-03-15 21:10:00 +00:00
Dawn Autoroller 71e0f5fe46 Roll ANGLE from 4982b903033b to f4e71351b3bf (6 revisions)
4982b90303..f4e71351b3

2023-03-15 cclao@google.com Vulkan: Switch acquireAndUpdate to use Buddy pool
2023-03-15 cclao@google.com Vulkan: Switch staging buffer to Buddy algorithm
2023-03-15 enga@chromium.org Mark the context as needing flush in TextureGL set*Image operations
2023-03-15 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 64e470f7b9b0 to 6c1ab2e36382 (3 revisions)
2023-03-15 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 6269f2d7cf86 to 46e5f8237dea (7 revisions)
2023-03-15 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from ce6a8c2bfc28 to d828200ebd12 (596 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-dawn-autoroll
Please CC angle-team+autoroll@google.com,bclayton@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 Dawn: https://bugs.chromium.org/p/dawn/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

Bug: None
Tbr: bclayton@google.com
Change-Id: I244817ee30cd14c2a1dccfbb9da9beedab15d1b1
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/124342
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2023-03-15 21:08:06 +00:00
Le Hoang Quyen 8a237d9566 Fix dawn_wire_server_and_frontend_fuzzer's timeout
This was caused by DeviceNull's APITick() always returning true leading
to the Instance.ProcessEvents() polling code looping forever.

Until we fix the DeviceNull's implementation, only call
Instance.ProcessEvents() once for now.

Bug: chromium:1424846
Bug: dawn:1712
Change-Id: Ieead95230cfd9a5ee7c977a7da2a98e7486ea4ad
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/124282
Kokoro: Austin Eng <enga@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Quyen Le <lehoangquyen@chromium.org>
2023-03-15 20:16:51 +00:00
Ben Clayton d3c9e8c0fe tint: Fix RemovePhonies with @must_use fns
Fixed: tint:1873
Change-Id: I72b47d5d3e406345fee16073e612b0f0cf19798e
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/124300
Commit-Queue: Ben Clayton <bclayton@google.com>
Auto-Submit: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
2023-03-15 20:14:32 +00:00
Dawn Autoroller 6e597cd038 Roll SwiftShader from 6c1ab2e36382 to fa0e42592666 (1 revision)
https://swiftshader.googlesource.com/SwiftShader.git/+log/6c1ab2e36382..fa0e42592666

2023-03-15 bclayton@google.com Update Marl to 9c689c9a8

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/swiftshader-dawn-autoroll
Please CC bclayton@google.com,webgpu-developers@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 Dawn: https://bugs.chromium.org/p/dawn/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

Bug: None
Tbr: bclayton@google.com
Change-Id: Ieafe721f412319911dd02b80983d3a1e4bc7ce43
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/124340
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-03-15 19:52:09 +00:00
dawn-autoroll f23322e476 Roll vulkan-deps from 5ff42e7700ac to 519e14d8d594 (4 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/5ff42e7700ac..519e14d8d594

Changed dependencies:
* spirv-tools: 25f6c0cea5..9743701ed5
* vulkan-validation-layers: ae5a6f1e8e..63be727720

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-deps-dawn-autoroll
Please CC bclayton@google.com,webgpu-developers@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 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

Bug: None
Tbr: bclayton@google.com
Change-Id: Idf47cf23095ae260016c965306f40b7e4a1cf89a
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/124260
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-03-15 18:25:13 +00:00
Ben Clayton 9313aab0fd tint/reader/wgsl: Remove case_body()
This was not used.

Change-Id: Ic79993be201a2f02c6dc2dc8d92d1aea2f382fe4
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/124221
Commit-Queue: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
2023-03-15 15:54:25 +00:00
Ben Clayton 2fc56a1c63 tint: Use std::string_view for diagnostics
And also prevent diagnostics (not just errors) in the WGSL parser when resyncing.

Change-Id: I54f433b7581a5ff1f4ec288121e23a4dc5880092
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/124220
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
2023-03-15 15:45:21 +00:00
Ben Clayton 9a56b25a31 tint/ast: Remove move-constructors for AST nodes
These are not used, as the nodes are constructed with a block allocator and always passed by pointer.

Reduces the Tint binary a bit:
7,759,776 -> 7,758,800
Makes some files have 100% code coverage which didn't before.

Bug: tint:1833
Change-Id: Iff4652deba92663677cc53e9506a829d0a4c12bf
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/124180
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
2023-03-15 14:09:40 +00:00
dan sinclair 39d4065653 Move BindingRemapper and MultiplanarExternalTexture to a backend transform.
In most backends, MultiplanarExternalTexture must run before the
BindingRemapper. The exception is the Vulkan SPIR-V backend where
it has to run before Multiplanar. This CL moves both of the transforms
to backend transforms and sets up the ordering as needed in the
generators.

Bug: tint:1855 chromium:1421379
Change-Id: I8223bce40babe901fe08bb1e8f033243837d7b18
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/123522
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-03-15 13:41:46 +00:00
dan sinclair 0551c4f40f Move MSL configuration for `ArrayLengthFromUniform` transform.
The configuration for the `ArrayLengthFromUniform` transform was pulled
out to generator options in a previous CL. The HLSL backend was updated
to pass this information into the generator. The MSL backend was using
the deprecated path of having the transform determine the values.

This CL updates the MSL backend to pass the information into the
generator and removes the deprecated code from the transform.

Bug: tint:1855 chromium:1421379

Change-Id: I679c57914d575a758a9ff03b9db27a051d55fe17
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/123880
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-03-15 11:07:26 +00:00
Dawn Autoroller 7e799673f9 Roll ANGLE from 513ca72369ec to 4982b903033b (3 revisions)
513ca72369..4982b90303

2023-03-14 cclao@google.com Revert "Vulkan: Remove inUseAndRespecifiedWithoutData from BufferVk"
2023-03-14 geofflang@chromium.org D3D11: Add logic to disassociate EGL image storages.
2023-03-14 enga@chromium.org Mark the context as needing flush in TextureGL copy/blit operations

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-dawn-autoroll
Please CC angle-team+autoroll@google.com,bclayton@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 Dawn: https://bugs.chromium.org/p/dawn/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

Bug: None
Tbr: bclayton@google.com
Change-Id: I93f727bb5e4596aac3c9e6abc63d9039b5e90ff0
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/124141
Kokoro: Kokoro <noreply+kokoro@google.com>
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2023-03-15 07:57:33 +00:00
Dawn Autoroller 83b951b1f9 Roll SwiftShader from dc1e3d121dbc to 6c1ab2e36382 (2 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/dc1e3d121dbc..6c1ab2e36382

2023-03-14 jif@google.com Update LLVM 16 scripts
2023-03-14 jif@google.com Copy verbatim the scripts for updating LLVM 10.

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/swiftshader-dawn-autoroll
Please CC bclayton@google.com,webgpu-developers@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 Dawn: https://bugs.chromium.org/p/dawn/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

Bug: None
Tbr: bclayton@google.com
Change-Id: I702f97c14451e10b3f9299ed2c46e5bef8bc2298
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/124140
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2023-03-15 06:39:03 +00:00
Ben Clayton 8f80d999c4 tint: Support multiple extensions per 'enable'
Fixed: tint:1865
Change-Id: I245bd36b12ff23977c2e69deee27f976db820849
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/123900
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-03-15 05:06:57 +00:00
dawn-autoroll 0089d47887 Roll vulkan-deps from 6269f2d7cf86 to 5ff42e7700ac (5 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/6269f2d7cf86..5ff42e7700ac

Changed dependencies:
* vulkan-loader: dc32470ff1..22407d7804
* vulkan-validation-layers: 20e85d7f2b..ae5a6f1e8e

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-deps-dawn-autoroll
Please CC bclayton@google.com,webgpu-developers@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 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

Bug: None
Tbr: bclayton@google.com
Change-Id: Iff2024626e1f89401c6d696c1358f8a7ab9d5a98
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/124120
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-03-15 03:36:08 +00:00
James Price ed28de3c53 tint: Support @diagnostic on for loops
Bug: tint:1809
Change-Id: I0c6ce482a6d91ddfbcd3e69938ff09de79823e05
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/124101
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: James Price <jrprice@google.com>
2023-03-15 02:44:47 +00:00
Peng Huang 242e1efc98 Refactor comman code from d3d12::Adapter to base class d3d::Adapter
Bug: dawn:1705
Change-Id: Ib11c25cdb2ecffe6fa27c1c1945b02cfa69810c5
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/124080
Reviewed-by: Austin Eng <enga@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Peng Huang <penghuang@chromium.org>
2023-03-15 00:43:24 +00:00
James Price 9536ced014 tint: Support @diagnostic on while statements
Bug: tint:1809
Change-Id: I9593539d258d16a68c9ff1cfd2cad52e28fad65a
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/124100
Commit-Queue: James Price <jrprice@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-03-15 00:33:38 +00:00
James Price d0ed63eb64 tint: Support @diagnostic on switch statements
Bug: tint:1809
Change-Id: I9dc0ff97aef1914d53799259339b7fc2cd01f615
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/124061
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: James Price <jrprice@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-03-14 22:49:51 +00:00
Ben Clayton 76795db7ce Roll third_party/webgpu-cts/ 3030a7bb2..99d11d886 (12 commits)
Regenerated:
 - expectations.txt
 - ts_sources.txt
 - test_list.txt
 - cache_list.txt
 - resource_files.txt
 - webtest .html files


3030a7bb2c..99d11d8864
 - 99d11d Add test case about copying HTMLVideoElement to texture (#2018)
 - ef9763 Add bitwise shift validation tests (#2399)
 - a7dda2 Add tests for unary~ i32, u32, and vectors of them (#2395)
 - c054fc Add bitwise shift tests (#2397)
 - 174648 consolidate more createPipeline/Async tests
 - 12e6c2 Make the test names less descriptive
 - a483c0 limit # of storage textures & storage buffers to device limit
 - ba16f0 Change bytesPerSample calculation to be similar to spec
 - ce7f52 merge createPipeline and createPipelineAsync tests
 - d64c03 Validate maxFragmentCombindOutputResources and related changes
 - 5a89d4 roll to types@4e0beeeb3ddd5327aaffd1f3fa7943c314eeaceb
 - 25aef0 [wgsl] Add increment and decrement execution tests. (#2394)

Created with './tools/run cts roll'

Change-Id: I9080d8128450937d3c94c3e40e95c5521d6c1320
Cq-Include-Trybots: luci.chromium.try:dawn-try-win10-x86-rel,linux-dawn-rel,mac-dawn-rel,win-dawn-rel
Include-Ci-Only-Tests: true
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/124000
Reviewed-by: Austin Eng <enga@chromium.org>
Kokoro: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
2023-03-14 22:24:40 +00:00
James Price 0607796ef8 tint: Support @diagnostic on if statements
Bug: tint:1809
Change-Id: I4137fc2c68c37193bd03e6a752edf0d80a4430c1
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/124060
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: James Price <jrprice@google.com>
2023-03-14 21:11:53 +00:00
Peng Huang 6118351432 Refactor common code out from BackendD3D12 to BackendD3D
Those common code will be shared between BackendD3D11 and
BackendD3D12. And this change will not change any logic.

Change-Id: I52a7b1932983d988e1b9656283a123b1c1c82531
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/124062
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
2023-03-14 20:04:14 +00:00
Le Hoang Quyen 69e1c4b638 DawnNative: implement Instance::ProcessEvents
Since https://dawn-review.googlesource.com/c/dawn/+/120940, callbacks
will be deferred to be executed in next device.APITick() instead of
immediately.
However, if the device is already destroyed (last ref dropped),
user/wire_server has no chance to call device.APITick() anymore, leading
to the callbacks waiting in queue forever.

This is also possibly the cause of memory leaks in cluserfuzz tests.

This CL attempt to fix it by implementing Instance::ProcessEvents():
In this method, every created device will invoke APITick() even if it is
already lost/externally released.

bug: chromium:1422507
bug: dawn:752
Change-Id: Iec69ad3b547a7e88c6e1a2225b13ad060a501a4f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/123420
Commit-Queue: Quyen Le <lehoangquyen@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
2023-03-14 19:03:10 +00:00
Dawn Autoroller 5b3aaf6636 Roll ANGLE from 755bfe471d23 to 513ca72369ec (6 revisions)
755bfe471d..513ca72369

2023-03-14 chris@rive.app Delete GL_LOAD_OP_DISABLE_ANGLE from PLS
2023-03-14 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from d17e7dad8e87 to 6269f2d7cf86 (22 revisions)
2023-03-14 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from 3764eb85917a to 64e470f7b9b0 (1 revision)
2023-03-14 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 2bcf4b3eb3f2 to ce6a8c2bfc28 (1220 revisions)
2023-03-14 lexa.knyazev@gmail.com Implement EXT_render_snorm
2023-03-14 lexa.knyazev@gmail.com GL: Reset clip origin before scissored clears

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-dawn-autoroll
Please CC angle-team+autoroll@google.com,bclayton@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 Dawn: https://bugs.chromium.org/p/dawn/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

Bug: None
Tbr: bclayton@google.com
Change-Id: I8a453a2b1e29bfbb6d68c4a1bd513cf1835a050b
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/123944
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2023-03-14 18:42:35 +00:00
Takahiro 7adad519ba Update webgpu-cts/expectations.txt
This commit reverts the change in webgpu-cts/expectations.txt
needed until the CTS is rolled because it has been rolled.

See
https://chromium-review.googlesource.com/c/chromium/src/+/4270352

Change-Id: I75f6cb9d8b28f59c3f893987277e7a5d83ab97ce
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/123920
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Takahiro <hogehoge@gachapin.jp>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Austin Eng <enga@chromium.org>
2023-03-14 17:52:22 +00:00
Antonio Maiorano a370186824 tint: Fix compilation on latest MSVC
Change-Id: Ia0ebf98e5dc0c05f65af1593bb62e6a6971785b7
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/124040
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-03-14 17:33:34 +00:00
Dawn Autoroller a2c7639a46 Roll SwiftShader from 64e470f7b9b0 to dc1e3d121dbc (1 revision)
https://swiftshader.googlesource.com/SwiftShader.git/+log/64e470f7b9b0..dc1e3d121dbc

2023-03-14 jif@google.com Update URL for gerrit authentication in README.md

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/swiftshader-dawn-autoroll
Please CC bclayton@google.com,webgpu-developers@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 Dawn: https://bugs.chromium.org/p/dawn/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

Bug: None
Tbr: bclayton@google.com
Change-Id: I28ba985abf52f3ecd369034c0a302d595e994e99
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/123942
Kokoro: Kokoro <noreply+kokoro@google.com>
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2023-03-14 17:28:05 +00:00
dan sinclair 1f6ce67ed2 Move `clamp_frag_depth` transformer to backend.
This CL moves the `clamp_frag_depth` transform to be controlled by the
SPIR-V backend.

Bug: tint:1855 chromium:1421379
Change-Id: Ia439d812d4baf35d4d4955595938a2bd5e647167
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/123560
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
2023-03-14 16:33:55 +00:00
dan sinclair 6521a357f5 Convert generators over to use external texture options.
This CL updates the generators to receive the exteral texture options
instead of generating them.

Bug: tint:1855 chromium:1421379
Change-Id: Ib38b902aa441e33d394f947d753075ca6a8fe73b
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/123260
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
2023-03-14 16:18:24 +00:00
Peng Huang a56069b03d Remove some unnecessary #include
Change-Id: I51382e4b4d68da55631d37b1b72fecaaef2b16ee
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/124020
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-03-14 15:47:02 +00:00
Ben Clayton d7713c19bb tools: Update go.chromium.org/luci dep
Required for new auth token flow.

Change-Id: Ia7f5c1a8a8994a29fef4ead2218767deee768a37
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/123901
Auto-Submit: Ben Clayton <bclayton@google.com>
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
Kokoro: Ben Clayton <bclayton@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
2023-03-14 14:42:18 +00:00
dawn-autoroll 349e57ce78 Roll vulkan-deps from ffabe3106e73 to 6269f2d7cf86 (3 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/ffabe3106e73..6269f2d7cf86

Changed dependencies:
* vulkan-validation-layers: 90288cbe76..20e85d7f2b

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-deps-dawn-autoroll
Please CC bclayton@google.com,webgpu-developers@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 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

Bug: None
Tbr: bclayton@google.com
Change-Id: I8cbd4b6a2b834734945d39955f8cc7d38ce98ee6
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/123941
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-03-14 14:04:44 +00:00
Ben Clayton 97382d96f5 tint: Validate no template args with functions / builtin calls
This was already handled when resolving regular identifiers, but calls special case this resolving, and failed to check for template arguments.

Bug: chromium:1424273
Change-Id: Id756c7fbca93afcd9fd3792466471aa43d3dff04
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/123980
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2023-03-14 11:32:54 +00:00
Loko Kung ebf8b7fd91 Flips the default deprecated code path to error instead of logging.
Bug: dawn:1677
Change-Id: I833b024fa89ee2eeed1dda80ad6e39f52bbcf8ba
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/117535
Commit-Queue: Loko Kung <lokokung@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-03-14 07:12:53 +00:00
Dawn Autoroller f973c9afc4 Roll ANGLE from 98735ee0994f to 755bfe471d23 (3 revisions)
98735ee099..755bfe471d

2023-03-13 cclao@google.com Vulkan: Remove inUseAndRespecifiedWithoutData from BufferVk
2023-03-13 lexa.knyazev@gmail.com Suppress failing capture/replay test
2023-03-13 cclao@google.com Vulkan: Optimize glBufferData call to improve storage reuse

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-dawn-autoroll
Please CC angle-team+autoroll@google.com,bclayton@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 Dawn: https://bugs.chromium.org/p/dawn/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

Bug: None
Tbr: bclayton@google.com
Change-Id: I3159d32e25fc9206ac1f2afa225526e46eb105be
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/123940
Kokoro: Kokoro <noreply+kokoro@google.com>
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2023-03-14 05:28:10 +00:00
Peng Huang fb27a0a3e4 Move some files from d3d12 to d3d folder
Those files will be shared between d3d11 and d3d12 backends.

Change-Id: I0ec01365ccc465dfb0e9843a313d87ce649c940e
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/123740
Auto-Submit: Peng Huang <penghuang@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
2023-03-14 01:12:29 +00:00
dawn-autoroll 21c9f0f04c Roll vulkan-deps from 47ccaa754cba to ffabe3106e73 (14 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/47ccaa754cba..ffabe3106e73

Changed dependencies:
* spirv-cross: 7512345f61..d26c233e1c
* spirv-tools: fba26fd606..25f6c0cea5
* vulkan-headers: a3dd2655a3..d732b2de30
* vulkan-loader: eb13094254..dc32470ff1
* vulkan-tools: 5bcfa1605e..a7bc1fe90f
* vulkan-validation-layers: 63231b8c6f..90288cbe76

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-deps-dawn-autoroll
Please CC bclayton@google.com,webgpu-developers@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 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

Bug: None
Tbr: bclayton@google.com
Change-Id: Iab6a5b00295b144200b2c2ebf6e444410e8858a2
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/123863
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2023-03-14 00:49:44 +00:00
dan sinclair 6784a52766 Sync keyword/reserved word list.
This CL updates the keyword/reserved word list in Tint to match latest
spec. The two differences are:

* `bitcast` is left as a keyword until we make the grammar update
* `fallthrough` is left a keyword for error purposes.

Bug: tint:1823
Change-Id: I5a33c78d21f56e0d0e2efa0114af810f2ebb8c87
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/122960
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
2023-03-13 22:23:38 +00:00
Austin Eng 868efb9739 Roll third_party/webgpu-cts/ 0557875f3..3030a7bb2 (30 commits)
Regenerated:
 - expectations.txt
 - ts_sources.txt
 - test_list.txt
 - cache_list.txt
 - resource_files.txt
 - webtest .html files

https: //chromium.googlesource.com/external/github.com/gpuweb/cts/+log/0557875f3982..3030a7bb2c69
 - 3030a7 Implement `frexp` f32 tests (#2336)
 - 5be43e Implement `determinant` f32 tests (#2321)
 - 1c53bf Adds stale adapter tests (#2387)
 - 176741 Test destroyed buffers and textures on submit
 - 4bd39d Implement absolute error for `acos` intervals (#2372)
 - d56144 Implement absolute error for `asin` intervals (#2346)
 - 7e411f shader/execution: Flip eval order of assignment
 - e6edef shader/execution: Port evaluation order tests to flow_control
 - e45de6 Add isZeroCopy cases for ExternalTexture (#2338)
 - 6c2b83 shader/execution:  Add more complex flow control tests
 - 8c8d89 Implement `bool` builtin tests (#2327)
 - d18b3a Implement `i32` builtin tests (#2379)
 - dfac60 Implement `u32` builtin tests (#2344)
 - 9179cd Test import GPUExternalTexture from destroyed device (#2351)
 - fb969c Sync keyword/reserved word list. (#2383)
 - 685049 Implement `f32` builtin tests (#2382)
 - 0e3229 shader/execution: Add 'preventValueOptimizations' case parameterization
 - ec5ad7 Start adding queue validation tests for buffers and textures
 - a1efad Put the same URL in all "Open" links (#2316)
 - f99f92 Updates max*BufferBindingSize limit tests to adhere to maxBufferSize (#2339)
 - d88504 Add validation tests on BGRA8Unorm canvas with StorageBinding usage (#2348)
 - 8d827d Add validation test for maxComputeXXX
 - e613a8 Rename maximumLimit to adapterLimit and related changes
 - 7b1df1 Update src/webgpu/api/validation/capability_checks/limits/maxBindingsPerBindGroup.spec.ts
 - 188203 Check maxBindingsPerBindGroup limit matches spec limits
 - a28619 Fix writable binding aliasing in webgpu:api,validation,resource_usages,texture,in_pass_encoder (#2341)
 - c54778 Fix wrong conditions and missing formats for maxAttachmentState tests. (#2343)
 - 6b01d8 Changes for depthWriteEnabled/depthCompare/depthClearValue being required (#2342)
 - b61662 Require npm >=8.5.2 (#2340)
 - 785335 Generate OOM error using createTexture (#2337)
Change-Id: Iebefb8ee703437252e44040fd74310a52d079dc4
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/123660
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Austin Eng <enga@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-03-13 20:22:02 +00:00
James Price 7bca4d7293 tint: Remove constant::Value::AllEqual()
The only uses of this method were to check for splats when emitting
vector constants in some backends, and they can just check for
constant::Splat instead.

Change-Id: I12f5ecdd4a7c1191a3a516d4fd3f349230e42631
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/122803
Commit-Queue: James Price <jrprice@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-03-13 19:05:16 +00:00
James Price 69253ee8a5 tint/uniformity: Move recently added tests
The uniformity tests are (very loosely) grouped into categories, so
move the recently added assignment, compound assignment, and
increment/decrement tests to be with the other statement tests instead
of with the tests for diagnostic quality.

Change-Id: I133da4b83b7faba3e43752d45bcebb822d08625f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/123641
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: James Price <jrprice@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
2023-03-13 18:14:56 +00:00
James Price 8cb5ed8c2c tint/uniformity: Fix compound assignment LHS eval
Only evaluate the LHS once, and then manually "load" from the
referenced variable to emulate the desugared implementation. Do the
same for increment/decrement statements.

Fixed: tint:1869
Change-Id: If0dc96bebd52485cfe222ae09305264ffc8b9329
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/123640
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: James Price <jrprice@google.com>
2023-03-13 17:03:04 +00:00
Dawn Autoroller 821dc6b6c5 Roll SwiftShader from 3764eb85917a to 64e470f7b9b0 (1 revision)
https://swiftshader.googlesource.com/SwiftShader.git/+log/3764eb85917a..64e470f7b9b0

2023-03-13 dvet@google.com Fix out-of-bounds operand access in image write.

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/swiftshader-dawn-autoroll
Please CC bclayton@google.com,webgpu-developers@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 Dawn: https://bugs.chromium.org/p/dawn/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

Bug: None
Tbr: bclayton@google.com
Change-Id: Iab89c372ddee78aff932a9b968afcf0f1471958e
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/123841
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-03-13 16:49:22 +00:00