Commit Graph

11849 Commits

Author SHA1 Message Date
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
Dawn Autoroller ef1fb20ab5 Roll ANGLE from 006d826dc037 to 98735ee0994f (1 revision)
006d826dc0..98735ee099

2023-03-13 i.nazarov@samsung.com Revert "Fixed bugs in "FastVector" class."

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: Idd97d18b4b3b171aaf186a7a708c4367753da08b
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/123840
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:14:59 +00:00
dan sinclair 79d0f2b784 [ir] Add `ir::Builtin`
This CL adds an `ir::Builtin` which holds the builtin function
information and arguments for a builtin call.

Bug: tint:1718
Change-Id: If08df9f7a9f7edd2781f82d4a4955635290f3f9a
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/122607
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
2023-03-13 15:42:12 +00:00
Dawn Autoroller 286ac27fcc Roll ANGLE from 67ad3ddcf996 to 006d826dc037 (1 revision)
67ad3ddcf9..006d826dc0

2023-03-11 angle-autoroll@skia-public.iam.gserviceaccount.com Roll VK-GL-CTS from 4ac540bc62cf to 20d674342f00 (12 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,senorblanco@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: senorblanco@google.com
Change-Id: I8d795aa23800048a157870647959514444d887a2
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/123720
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2023-03-11 20:23:15 +00:00
dawn-autoroll de82918988 Roll vulkan-deps from b2d90316944e to 47ccaa754cba (2 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/b2d90316944e..47ccaa754cba

Changed dependencies:
* spirv-tools: 01828dac77..fba26fd606
* vulkan-validation-layers: 4efae38a06..63231b8c6f

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 senorblanco@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: senorblanco@google.com
Change-Id: I0ff4df1c976ea3a009f8a6c385e070aef7e77418
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/123700
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-11 18:58:57 +00:00
Dawn Autoroller 51fcef4159 Roll ANGLE from ffdcfb942c6e to 67ad3ddcf996 (10 revisions)
ffdcfb942c..67ad3ddcf9

2023-03-11 cclao@google.com Vulkan: Relax size limit for dynamicBuffer to pick buddy algorithm
2023-03-10 i.nazarov@samsung.com Vulkan: Fixed Context Priority mixing problems.
2023-03-10 i.nazarov@samsung.com Vulkan: Add and use rx::vk::ReleasableResource class.
2023-03-10 i.nazarov@samsung.com Vulkan: Fix UBs when deleted attachment is used in a RenderPass.
2023-03-10 i.nazarov@samsung.com Vulkan: Remove code left after introduce of "vk::SharedGarbage"
2023-03-10 i.nazarov@samsung.com Vulkan: Rename "RendererVk::waitFor*ToBeSubmitted()" methods.
2023-03-10 i.nazarov@samsung.com Vulkan: Enforce ContextPriority in ShareGroup and with EGLImage
2023-03-10 syoussefi@chromium.org Roll VMA forward
2023-03-10 mikes@lunarg.com Expose shader extensions based on ESSL version
2023-03-10 chris@rive.app Add back "non-robust" PLS queries

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,senorblanco@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: senorblanco@google.com
Change-Id: Iff4eff14e73f6e38daf5dbc142d2c2324bcedb40
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/123582
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2023-03-11 07:14:00 +00:00
dawn-autoroll 667d560be5 Roll vulkan-deps from 2d9f2c3474e7 to b2d90316944e (2 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/2d9f2c3474e7..b2d90316944e

Changed dependencies:
* vulkan-validation-layers: 38341564f5..4efae38a06

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 senorblanco@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: senorblanco@google.com
Change-Id: I7d6976ad55509229f7f61a233ee8306167a12ada
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/123464
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2023-03-11 05:47:20 +00:00
Stephen White 76cd4332cc Vulkan: enable frag shader placeholder.
The Vulkan spec mandates the use of a fragment shader unless
rasterizer discard is enabled. For now, enable the placeholder
fragment shader in all cases, with a bug logged to optimize it
for the rasterizer discard case.

Bug: dawn:1696 dawn:1698
Change-Id: I9e85e6308a9952fc505382488c618897bd9abc7b
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/123503
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
2023-03-10 19:20:15 +00:00
Dawn Autoroller 4eea1e042d Roll ANGLE from 377216093693 to ffdcfb942c6e (3 revisions)
3772160936..ffdcfb942c

2023-03-10 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 315bf0e37102 to d17e7dad8e87 (5 revisions)
2023-03-10 chris@rive.app Implicitly enable PLS dependency extensions
2023-03-10 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from a811a4fbb723 to 2bcf4b3eb3f2 (598 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,senorblanco@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: senorblanco@google.com
Change-Id: I2667b2ad615b28287226f117dfd18a3a013340d3
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/123581
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-10 17:25:12 +00:00
dawn-autoroll 271cb0571c Roll vulkan-deps from ad24c79d4200 to 2d9f2c3474e7 (2 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/ad24c79d4200..2d9f2c3474e7

Changed dependencies:
* spirv-tools: b029037aaa..01828dac77
* vulkan-validation-layers: a42413f63d..38341564f5

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 senorblanco@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: senorblanco@google.com
Change-Id: Icefa70ce9a90cf1874ae3f7f86cd12b56f6ac154
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/123463
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-10 16:37:58 +00:00
Ben Clayton cd097f40a3 tint: Improve module scope var diagnostic
Improve the error message when declaring a module-scope var without an address space, with an initializer.

Fixed: tint:1870
Change-Id: If087ae7dadb512c7050e89a0c75990080668e27d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/123600
Commit-Queue: Ben Clayton <bclayton@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
2023-03-10 13:10:52 +00:00
dan sinclair e95b59c34d Add ExternalTextureOptions
This CL adds a `writer/ExternalTextureOptions` to allow providing
external texture information to the generators. The generators are
updated to have the option in their config, but do not use it yet.

Bug: tint:1855 chromium:1421379
Change-Id: I99b122c5cae145e8527158f300da81743f89775a
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/123160
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
2023-03-10 11:34:26 +00:00
James Price 55509fae00 Roll third_party/gpuweb to 1f8a05a
Fixup Dawn node as necessary.

Change-Id: I96b9a078adba1c8988f9bc5835e1f7645c67a57d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/123501
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: James Price <jrprice@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2023-03-10 11:06:36 +00:00
Dawn Autoroller 783285fa1c Roll ANGLE from c2aa8b58acb2 to 377216093693 (6 revisions)
c2aa8b58ac..3772160936

2023-03-09 angle-autoroll@skia-public.iam.gserviceaccount.com Manual roll vulkan-deps from fb9155b074e3 to 315bf0e37102 (18 revisions)
2023-03-09 romanl@google.com Ignore VUID-VkGraphicsPipelineCreateInfo-None-06573.
2023-03-09 romanl@google.com Skip street_fighter_duel trace on win nvidia.
2023-03-09 romanl@google.com Revert "Vulkan: SurfaceVk should only wait for GPU work that uses it"
2023-03-09 romanl@google.com Fix more cases of racy waitForStep usage.
2023-03-09 romanl@google.com Assert that waitForStep steps go in increasing order.

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,senorblanco@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: senorblanco@google.com
Change-Id: Ib905b08a44fa66e56e79c500f3c6c0cd769ba8b1
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/123580
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2023-03-10 04:01:45 +00:00
dawn-autoroll c372229527 Roll vulkan-deps from e2a58565d1a3 to ad24c79d4200 (6 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/e2a58565d1a3..ad24c79d4200

Changed dependencies:
* spirv-tools: c069a5c7ee..b029037aaa
* vulkan-loader: e4895e86f7..eb13094254
* vulkan-validation-layers: 781b896df1..a42413f63d

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 senorblanco@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: senorblanco@google.com
Change-Id: Iaef97bee3518729d429e7cdceeca0beb02fdbc11
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/123462
Bot-Commit: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2023-03-10 03:25:29 +00:00
Ben Clayton a36fa42dd7 tint/cmd: Use correct preprocessor guard for libspriv.hpp
This header is used by TINT_BUILD_SPV_READER not TINT_BUILD_SPV_WRITER

Change-Id: Ia42e4f2bf2ad37f426d2bf14e962abed9de147a9
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/122520
Reviewed-by: James Price <jrprice@google.com>
Commit-Queue: Ben Clayton <bclayton@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-03-09 23:46:59 +00:00
Ben Clayton 574b4b1996 tint: Fix constant::Splat conversion of struct types
Conversion can happen for structure materialization (modf, frexp).
If both structure members are the same type and value, then a constant::Splat will be constructed, which needs to handle conversion.

Bug: chromium:1417515
Change-Id: Iadd14ce00b8d5c22226c601ec5af9a84e6c0c5cf
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/122900
Reviewed-by: James Price <jrprice@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
2023-03-09 23:22:27 +00:00
Ben Clayton a92a8078c5 tools/run-cts: Fix code coverage in `--isolate` mode
Use the new `cmdline.ts --coverage` flag in https://github.com/gpuweb/cts/pull/2206 to write out the per-test coverage to a unique file.

Change-Id: Iea273217eede2fa615b78cd6f69f036976dcfd35
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/117883
Kokoro: Ben Clayton <bclayton@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Ben Clayton <bclayton@chromium.org>
2023-03-09 23:08:02 +00:00
Stephen White cc2e9eca1a Vulkan: skip a test that's failing with newer VVL.
Bug: dawn:1696
Change-Id: Ie14e3d124342228edef17a122f380e2bdfaf1e57
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/123502
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
Auto-Submit: Stephen White <senorblanco@chromium.org>
Reviewed-by: dan sinclair <dsinclair@google.com>
2023-03-09 22:59:38 +00:00
Ben Clayton 7972a10aa8 tint: Add missing include
Should fix dawn -> chromium roll

Change-Id: If4bf1ed6795dc55c4c5a45e8ba8fa2eb0da7270a
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/123521
Kokoro: Ben Clayton <bclayton@google.com>
Commit-Queue: Ben Clayton <bclayton@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: dan sinclair <dsinclair@google.com>
2023-03-09 21:33:13 +00:00
Ben Clayton cc3f851ad8 tint/transform: Polyfill f32 conversion to i32 or u32
And vectors of those types.

Fixed: tint:1866
Change-Id: Ic0b5061232c5eb5a67d43dde1cd9599c580f4388
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/123201
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: David Neto <dneto@google.com>
Commit-Queue: Ben Clayton <bclayton@chromium.org>
Kokoro: Ben Clayton <bclayton@chromium.org>
2023-03-09 21:26:12 +00:00
Stephen White 905b63b90f Remove expectations for now-passing tests.
Change-Id: I3be575e64eb2ff7c3e1058e6858be4497e6f7bd2
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/123500
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
2023-03-09 20:30:40 +00:00
Ben Clayton f1f56b2d3c tint/writer/glsl: Set default precision to highp
WGSL states that `f32` is a IEEE-754 binary32. mediump precision guarantees are much smaller than highp, and using mediump can break code generated by tint.

Change-Id: I8a129c4c8ac078c785e0d5d7d21f19ed6b3620b5
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/123400
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Stephen White <senorblanco@chromium.org>
2023-03-09 19:58:23 +00:00
Ben Clayton 4fea9d0fbb tint: Implement Switch() without recursion
This removes the number of function calls made in non-optimized builds.

Reduces the optimized, all-features-enabled 'tint' executable size by
about 1%.

This change removes the bloom filter optimizations which provided
substantial performance gains with the old recursive implementation,
however this still appears to be ~1% faster than the optimized version.

Change-Id: Ic2bb82e9182459e37907f9e0d0b4771bde218f9f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/123440
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
Commit-Queue: Ben Clayton <bclayton@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Kokoro: Ben Clayton <bclayton@chromium.org>
2023-03-09 18:24:19 +00:00