Roll third_party/webgpu-cts/ c7d833bad..b83a6ae70 (22 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/c7d833badcd3..b83a6ae7088e
- b83a6a Remove using CaseCache in bitcast tests (#2594)
- e78340 Add TODO to last shouldThrow that doesn't expect a particular name (#2590)
- 458aa9 Check exception type for Webgpu context configure test (#2575)
- c57f28 Check exception type for Webgpu getCurrentTexture test (#2537)
- dadb86 Clarify that f64 castable constants are about WebIDL casting (#2505)
- 7b529d test bitcast f32 to {f32,u32,i32} (#2508)
- cf6069 Make maxBindingsPerBindGroup 1000 (#2519)
- 857e83 Add f16 comparison tests (#2503)
- cdef82 [wgsl] Validation tests for `enable` (#2511)
- 8814fa [wgsl] Add test for BOM. (#2504)
- 29b8e0 Add basic uniformity validation tests (#2497)
- a75df2 Replace hexToFoo function names with more accuracte names (#2502)
- f89971 Implement core abstract float support (#2498)
- 7d2d22 Execution atomic builtins: add tests for i32 workgroup/storage vars (#2496)
- bc8d8a Missed one instance of maxFragmentCombinedOutputResources. (#2494)
- 908d7b Execution tests for atomic builtins on workgroup atomic vars (#2493)
- d353b0 Remove numeric framework shim (#2492)
- 856059 Migrate fundamental error interval tests (#2491)
- a14d92 Migrate bespoke floating point tests (#2489)
- e0990d Replace calling Vector/Matrix constructors directly (#2490)
- cefabb Migrate Matrix -> tests (#2487)
- 9a964b Execution tests for atomic builtins (#2484)
Created with './tools/run cts roll'
Change-Id: I254c40a5aa0e43f23180a66713cdd99b50154c5f
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/+/131583
Reviewed-by: Loko Kung <lokokung@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Loko Kung <lokokung@google.com>
Auto-Submit: Austin Eng <enga@chromium.org>
diff --git a/DEPS b/DEPS
index 36220c6..07e0c11 100644
--- a/DEPS
+++ b/DEPS
@@ -162,7 +162,7 @@
# WebGPU CTS - not used directly by Dawn, only transitively by Chromium.
'third_party/webgpu-cts': {
- 'url': '{chromium_git}/external/github.com/gpuweb/cts@c7d833badcd37dc46a999ebeebbbde1368ff15b5',
+ 'url': '{chromium_git}/external/github.com/gpuweb/cts@b83a6ae7088eda73f9d23c81d2e48c0f360eb9e5',
'condition': 'build_with_chromium',
},
diff --git a/third_party/gn/webgpu-cts/cache_list.txt b/third_party/gn/webgpu-cts/cache_list.txt
index bd3e55c..80d203a 100644
--- a/third_party/gn/webgpu-cts/cache_list.txt
+++ b/third_party/gn/webgpu-cts/cache_list.txt
@@ -1,3 +1,4 @@
+data/webgpu/shader/execution/case-cache/binary/f16_logical.json
data/webgpu/shader/execution/case-cache/binary/f32_arithmetic.json
data/webgpu/shader/execution/case-cache/binary/f32_logical.json
data/webgpu/shader/execution/case-cache/binary/f32_matrix_arithmetic.json
@@ -13,7 +14,6 @@
data/webgpu/shader/execution/case-cache/atan.json
data/webgpu/shader/execution/case-cache/atan2.json
data/webgpu/shader/execution/case-cache/atanh.json
-data/webgpu/shader/execution/case-cache/bitcast.json
data/webgpu/shader/execution/case-cache/ceil.json
data/webgpu/shader/execution/case-cache/clamp.json
data/webgpu/shader/execution/case-cache/cos.json
diff --git a/third_party/gn/webgpu-cts/test_list.txt b/third_party/gn/webgpu-cts/test_list.txt
index 83a8816..ae2f546 100644
--- a/third_party/gn/webgpu-cts/test_list.txt
+++ b/third_party/gn/webgpu-cts/test_list.txt
@@ -15056,17 +15056,17 @@
webgpu:api,validation,compute_pipeline:overrides,value,validation_error:isAsync=false;constants={"cb":1.7976931348623157e%2B308}
webgpu:api,validation,compute_pipeline:overrides,value,validation_error:isAsync=false;constants={"cb":-2147483649}
webgpu:api,validation,compute_pipeline:overrides,value,validation_error,f16:isAsync=true;constants={"cf16":-65504}
-webgpu:api,validation,compute_pipeline:overrides,value,validation_error,f16:isAsync=true;constants={"cf16":-98288}
+webgpu:api,validation,compute_pipeline:overrides,value,validation_error,f16:isAsync=true;constants={"cf16":-65520}
webgpu:api,validation,compute_pipeline:overrides,value,validation_error,f16:isAsync=true;constants={"cf16":65504}
-webgpu:api,validation,compute_pipeline:overrides,value,validation_error,f16:isAsync=true;constants={"cf16":98288}
+webgpu:api,validation,compute_pipeline:overrides,value,validation_error,f16:isAsync=true;constants={"cf16":65520}
webgpu:api,validation,compute_pipeline:overrides,value,validation_error,f16:isAsync=true;constants={"cf16":-3.4028234663852886e%2B38}
webgpu:api,validation,compute_pipeline:overrides,value,validation_error,f16:isAsync=true;constants={"cf16":3.4028234663852886e%2B38}
webgpu:api,validation,compute_pipeline:overrides,value,validation_error,f16:isAsync=true;constants={"cf16":-3.4028235677973366e%2B38}
webgpu:api,validation,compute_pipeline:overrides,value,validation_error,f16:isAsync=true;constants={"cf16":3.4028235677973366e%2B38}
webgpu:api,validation,compute_pipeline:overrides,value,validation_error,f16:isAsync=false;constants={"cf16":-65504}
-webgpu:api,validation,compute_pipeline:overrides,value,validation_error,f16:isAsync=false;constants={"cf16":-98288}
+webgpu:api,validation,compute_pipeline:overrides,value,validation_error,f16:isAsync=false;constants={"cf16":-65520}
webgpu:api,validation,compute_pipeline:overrides,value,validation_error,f16:isAsync=false;constants={"cf16":65504}
-webgpu:api,validation,compute_pipeline:overrides,value,validation_error,f16:isAsync=false;constants={"cf16":98288}
+webgpu:api,validation,compute_pipeline:overrides,value,validation_error,f16:isAsync=false;constants={"cf16":65520}
webgpu:api,validation,compute_pipeline:overrides,value,validation_error,f16:isAsync=false;constants={"cf16":-3.4028234663852886e%2B38}
webgpu:api,validation,compute_pipeline:overrides,value,validation_error,f16:isAsync=false;constants={"cf16":3.4028234663852886e%2B38}
webgpu:api,validation,compute_pipeline:overrides,value,validation_error,f16:isAsync=false;constants={"cf16":-3.4028235677973366e%2B38}
@@ -30905,33 +30905,33 @@
webgpu:api,validation,render_pipeline,overrides:value,validation_error,fragment:isAsync=false;fragmentConstants={"cb":1.7976931348623157e%2B308}
webgpu:api,validation,render_pipeline,overrides:value,validation_error,fragment:isAsync=false;fragmentConstants={"cb":-2147483649}
webgpu:api,validation,render_pipeline,overrides:value,validation_error,f16,vertex:isAsync=true;vertexConstants={"cf16":-65504}
-webgpu:api,validation,render_pipeline,overrides:value,validation_error,f16,vertex:isAsync=true;vertexConstants={"cf16":-98288}
+webgpu:api,validation,render_pipeline,overrides:value,validation_error,f16,vertex:isAsync=true;vertexConstants={"cf16":-65520}
webgpu:api,validation,render_pipeline,overrides:value,validation_error,f16,vertex:isAsync=true;vertexConstants={"cf16":65504}
-webgpu:api,validation,render_pipeline,overrides:value,validation_error,f16,vertex:isAsync=true;vertexConstants={"cf16":98288}
+webgpu:api,validation,render_pipeline,overrides:value,validation_error,f16,vertex:isAsync=true;vertexConstants={"cf16":65520}
webgpu:api,validation,render_pipeline,overrides:value,validation_error,f16,vertex:isAsync=true;vertexConstants={"cf16":-3.4028234663852886e%2B38}
webgpu:api,validation,render_pipeline,overrides:value,validation_error,f16,vertex:isAsync=true;vertexConstants={"cf16":3.4028234663852886e%2B38}
webgpu:api,validation,render_pipeline,overrides:value,validation_error,f16,vertex:isAsync=true;vertexConstants={"cf16":-3.4028235677973366e%2B38}
webgpu:api,validation,render_pipeline,overrides:value,validation_error,f16,vertex:isAsync=true;vertexConstants={"cf16":3.4028235677973366e%2B38}
webgpu:api,validation,render_pipeline,overrides:value,validation_error,f16,vertex:isAsync=false;vertexConstants={"cf16":-65504}
-webgpu:api,validation,render_pipeline,overrides:value,validation_error,f16,vertex:isAsync=false;vertexConstants={"cf16":-98288}
+webgpu:api,validation,render_pipeline,overrides:value,validation_error,f16,vertex:isAsync=false;vertexConstants={"cf16":-65520}
webgpu:api,validation,render_pipeline,overrides:value,validation_error,f16,vertex:isAsync=false;vertexConstants={"cf16":65504}
-webgpu:api,validation,render_pipeline,overrides:value,validation_error,f16,vertex:isAsync=false;vertexConstants={"cf16":98288}
+webgpu:api,validation,render_pipeline,overrides:value,validation_error,f16,vertex:isAsync=false;vertexConstants={"cf16":65520}
webgpu:api,validation,render_pipeline,overrides:value,validation_error,f16,vertex:isAsync=false;vertexConstants={"cf16":-3.4028234663852886e%2B38}
webgpu:api,validation,render_pipeline,overrides:value,validation_error,f16,vertex:isAsync=false;vertexConstants={"cf16":3.4028234663852886e%2B38}
webgpu:api,validation,render_pipeline,overrides:value,validation_error,f16,vertex:isAsync=false;vertexConstants={"cf16":-3.4028235677973366e%2B38}
webgpu:api,validation,render_pipeline,overrides:value,validation_error,f16,vertex:isAsync=false;vertexConstants={"cf16":3.4028235677973366e%2B38}
webgpu:api,validation,render_pipeline,overrides:value,validation_error,f16,fragment:isAsync=true;fragmentConstants={"cf16":-65504}
-webgpu:api,validation,render_pipeline,overrides:value,validation_error,f16,fragment:isAsync=true;fragmentConstants={"cf16":-98288}
+webgpu:api,validation,render_pipeline,overrides:value,validation_error,f16,fragment:isAsync=true;fragmentConstants={"cf16":-65520}
webgpu:api,validation,render_pipeline,overrides:value,validation_error,f16,fragment:isAsync=true;fragmentConstants={"cf16":65504}
-webgpu:api,validation,render_pipeline,overrides:value,validation_error,f16,fragment:isAsync=true;fragmentConstants={"cf16":98288}
+webgpu:api,validation,render_pipeline,overrides:value,validation_error,f16,fragment:isAsync=true;fragmentConstants={"cf16":65520}
webgpu:api,validation,render_pipeline,overrides:value,validation_error,f16,fragment:isAsync=true;fragmentConstants={"cf16":-3.4028234663852886e%2B38}
webgpu:api,validation,render_pipeline,overrides:value,validation_error,f16,fragment:isAsync=true;fragmentConstants={"cf16":3.4028234663852886e%2B38}
webgpu:api,validation,render_pipeline,overrides:value,validation_error,f16,fragment:isAsync=true;fragmentConstants={"cf16":-3.4028235677973366e%2B38}
webgpu:api,validation,render_pipeline,overrides:value,validation_error,f16,fragment:isAsync=true;fragmentConstants={"cf16":3.4028235677973366e%2B38}
webgpu:api,validation,render_pipeline,overrides:value,validation_error,f16,fragment:isAsync=false;fragmentConstants={"cf16":-65504}
-webgpu:api,validation,render_pipeline,overrides:value,validation_error,f16,fragment:isAsync=false;fragmentConstants={"cf16":-98288}
+webgpu:api,validation,render_pipeline,overrides:value,validation_error,f16,fragment:isAsync=false;fragmentConstants={"cf16":-65520}
webgpu:api,validation,render_pipeline,overrides:value,validation_error,f16,fragment:isAsync=false;fragmentConstants={"cf16":65504}
-webgpu:api,validation,render_pipeline,overrides:value,validation_error,f16,fragment:isAsync=false;fragmentConstants={"cf16":98288}
+webgpu:api,validation,render_pipeline,overrides:value,validation_error,f16,fragment:isAsync=false;fragmentConstants={"cf16":65520}
webgpu:api,validation,render_pipeline,overrides:value,validation_error,f16,fragment:isAsync=false;fragmentConstants={"cf16":-3.4028234663852886e%2B38}
webgpu:api,validation,render_pipeline,overrides:value,validation_error,f16,fragment:isAsync=false;fragmentConstants={"cf16":3.4028234663852886e%2B38}
webgpu:api,validation,render_pipeline,overrides:value,validation_error,f16,fragment:isAsync=false;fragmentConstants={"cf16":-3.4028235677973366e%2B38}
@@ -34223,6 +34223,102 @@
webgpu:shader,execution,expression,binary,bool_logical:not_equals:inputSource="storage_rw";vectorize=2
webgpu:shader,execution,expression,binary,bool_logical:not_equals:inputSource="storage_rw";vectorize=3
webgpu:shader,execution,expression,binary,bool_logical:not_equals:inputSource="storage_rw";vectorize=4
+webgpu:shader,execution,expression,binary,f16_comparison:equals:inputSource="const";vectorize="_undef_"
+webgpu:shader,execution,expression,binary,f16_comparison:equals:inputSource="const";vectorize=2
+webgpu:shader,execution,expression,binary,f16_comparison:equals:inputSource="const";vectorize=3
+webgpu:shader,execution,expression,binary,f16_comparison:equals:inputSource="const";vectorize=4
+webgpu:shader,execution,expression,binary,f16_comparison:equals:inputSource="uniform";vectorize="_undef_"
+webgpu:shader,execution,expression,binary,f16_comparison:equals:inputSource="uniform";vectorize=2
+webgpu:shader,execution,expression,binary,f16_comparison:equals:inputSource="uniform";vectorize=3
+webgpu:shader,execution,expression,binary,f16_comparison:equals:inputSource="uniform";vectorize=4
+webgpu:shader,execution,expression,binary,f16_comparison:equals:inputSource="storage_r";vectorize="_undef_"
+webgpu:shader,execution,expression,binary,f16_comparison:equals:inputSource="storage_r";vectorize=2
+webgpu:shader,execution,expression,binary,f16_comparison:equals:inputSource="storage_r";vectorize=3
+webgpu:shader,execution,expression,binary,f16_comparison:equals:inputSource="storage_r";vectorize=4
+webgpu:shader,execution,expression,binary,f16_comparison:equals:inputSource="storage_rw";vectorize="_undef_"
+webgpu:shader,execution,expression,binary,f16_comparison:equals:inputSource="storage_rw";vectorize=2
+webgpu:shader,execution,expression,binary,f16_comparison:equals:inputSource="storage_rw";vectorize=3
+webgpu:shader,execution,expression,binary,f16_comparison:equals:inputSource="storage_rw";vectorize=4
+webgpu:shader,execution,expression,binary,f16_comparison:not_equals:inputSource="const";vectorize="_undef_"
+webgpu:shader,execution,expression,binary,f16_comparison:not_equals:inputSource="const";vectorize=2
+webgpu:shader,execution,expression,binary,f16_comparison:not_equals:inputSource="const";vectorize=3
+webgpu:shader,execution,expression,binary,f16_comparison:not_equals:inputSource="const";vectorize=4
+webgpu:shader,execution,expression,binary,f16_comparison:not_equals:inputSource="uniform";vectorize="_undef_"
+webgpu:shader,execution,expression,binary,f16_comparison:not_equals:inputSource="uniform";vectorize=2
+webgpu:shader,execution,expression,binary,f16_comparison:not_equals:inputSource="uniform";vectorize=3
+webgpu:shader,execution,expression,binary,f16_comparison:not_equals:inputSource="uniform";vectorize=4
+webgpu:shader,execution,expression,binary,f16_comparison:not_equals:inputSource="storage_r";vectorize="_undef_"
+webgpu:shader,execution,expression,binary,f16_comparison:not_equals:inputSource="storage_r";vectorize=2
+webgpu:shader,execution,expression,binary,f16_comparison:not_equals:inputSource="storage_r";vectorize=3
+webgpu:shader,execution,expression,binary,f16_comparison:not_equals:inputSource="storage_r";vectorize=4
+webgpu:shader,execution,expression,binary,f16_comparison:not_equals:inputSource="storage_rw";vectorize="_undef_"
+webgpu:shader,execution,expression,binary,f16_comparison:not_equals:inputSource="storage_rw";vectorize=2
+webgpu:shader,execution,expression,binary,f16_comparison:not_equals:inputSource="storage_rw";vectorize=3
+webgpu:shader,execution,expression,binary,f16_comparison:not_equals:inputSource="storage_rw";vectorize=4
+webgpu:shader,execution,expression,binary,f16_comparison:less_than:inputSource="const";vectorize="_undef_"
+webgpu:shader,execution,expression,binary,f16_comparison:less_than:inputSource="const";vectorize=2
+webgpu:shader,execution,expression,binary,f16_comparison:less_than:inputSource="const";vectorize=3
+webgpu:shader,execution,expression,binary,f16_comparison:less_than:inputSource="const";vectorize=4
+webgpu:shader,execution,expression,binary,f16_comparison:less_than:inputSource="uniform";vectorize="_undef_"
+webgpu:shader,execution,expression,binary,f16_comparison:less_than:inputSource="uniform";vectorize=2
+webgpu:shader,execution,expression,binary,f16_comparison:less_than:inputSource="uniform";vectorize=3
+webgpu:shader,execution,expression,binary,f16_comparison:less_than:inputSource="uniform";vectorize=4
+webgpu:shader,execution,expression,binary,f16_comparison:less_than:inputSource="storage_r";vectorize="_undef_"
+webgpu:shader,execution,expression,binary,f16_comparison:less_than:inputSource="storage_r";vectorize=2
+webgpu:shader,execution,expression,binary,f16_comparison:less_than:inputSource="storage_r";vectorize=3
+webgpu:shader,execution,expression,binary,f16_comparison:less_than:inputSource="storage_r";vectorize=4
+webgpu:shader,execution,expression,binary,f16_comparison:less_than:inputSource="storage_rw";vectorize="_undef_"
+webgpu:shader,execution,expression,binary,f16_comparison:less_than:inputSource="storage_rw";vectorize=2
+webgpu:shader,execution,expression,binary,f16_comparison:less_than:inputSource="storage_rw";vectorize=3
+webgpu:shader,execution,expression,binary,f16_comparison:less_than:inputSource="storage_rw";vectorize=4
+webgpu:shader,execution,expression,binary,f16_comparison:less_equals:inputSource="const";vectorize="_undef_"
+webgpu:shader,execution,expression,binary,f16_comparison:less_equals:inputSource="const";vectorize=2
+webgpu:shader,execution,expression,binary,f16_comparison:less_equals:inputSource="const";vectorize=3
+webgpu:shader,execution,expression,binary,f16_comparison:less_equals:inputSource="const";vectorize=4
+webgpu:shader,execution,expression,binary,f16_comparison:less_equals:inputSource="uniform";vectorize="_undef_"
+webgpu:shader,execution,expression,binary,f16_comparison:less_equals:inputSource="uniform";vectorize=2
+webgpu:shader,execution,expression,binary,f16_comparison:less_equals:inputSource="uniform";vectorize=3
+webgpu:shader,execution,expression,binary,f16_comparison:less_equals:inputSource="uniform";vectorize=4
+webgpu:shader,execution,expression,binary,f16_comparison:less_equals:inputSource="storage_r";vectorize="_undef_"
+webgpu:shader,execution,expression,binary,f16_comparison:less_equals:inputSource="storage_r";vectorize=2
+webgpu:shader,execution,expression,binary,f16_comparison:less_equals:inputSource="storage_r";vectorize=3
+webgpu:shader,execution,expression,binary,f16_comparison:less_equals:inputSource="storage_r";vectorize=4
+webgpu:shader,execution,expression,binary,f16_comparison:less_equals:inputSource="storage_rw";vectorize="_undef_"
+webgpu:shader,execution,expression,binary,f16_comparison:less_equals:inputSource="storage_rw";vectorize=2
+webgpu:shader,execution,expression,binary,f16_comparison:less_equals:inputSource="storage_rw";vectorize=3
+webgpu:shader,execution,expression,binary,f16_comparison:less_equals:inputSource="storage_rw";vectorize=4
+webgpu:shader,execution,expression,binary,f16_comparison:greater_than:inputSource="const";vectorize="_undef_"
+webgpu:shader,execution,expression,binary,f16_comparison:greater_than:inputSource="const";vectorize=2
+webgpu:shader,execution,expression,binary,f16_comparison:greater_than:inputSource="const";vectorize=3
+webgpu:shader,execution,expression,binary,f16_comparison:greater_than:inputSource="const";vectorize=4
+webgpu:shader,execution,expression,binary,f16_comparison:greater_than:inputSource="uniform";vectorize="_undef_"
+webgpu:shader,execution,expression,binary,f16_comparison:greater_than:inputSource="uniform";vectorize=2
+webgpu:shader,execution,expression,binary,f16_comparison:greater_than:inputSource="uniform";vectorize=3
+webgpu:shader,execution,expression,binary,f16_comparison:greater_than:inputSource="uniform";vectorize=4
+webgpu:shader,execution,expression,binary,f16_comparison:greater_than:inputSource="storage_r";vectorize="_undef_"
+webgpu:shader,execution,expression,binary,f16_comparison:greater_than:inputSource="storage_r";vectorize=2
+webgpu:shader,execution,expression,binary,f16_comparison:greater_than:inputSource="storage_r";vectorize=3
+webgpu:shader,execution,expression,binary,f16_comparison:greater_than:inputSource="storage_r";vectorize=4
+webgpu:shader,execution,expression,binary,f16_comparison:greater_than:inputSource="storage_rw";vectorize="_undef_"
+webgpu:shader,execution,expression,binary,f16_comparison:greater_than:inputSource="storage_rw";vectorize=2
+webgpu:shader,execution,expression,binary,f16_comparison:greater_than:inputSource="storage_rw";vectorize=3
+webgpu:shader,execution,expression,binary,f16_comparison:greater_than:inputSource="storage_rw";vectorize=4
+webgpu:shader,execution,expression,binary,f16_comparison:greater_equals:inputSource="const";vectorize="_undef_"
+webgpu:shader,execution,expression,binary,f16_comparison:greater_equals:inputSource="const";vectorize=2
+webgpu:shader,execution,expression,binary,f16_comparison:greater_equals:inputSource="const";vectorize=3
+webgpu:shader,execution,expression,binary,f16_comparison:greater_equals:inputSource="const";vectorize=4
+webgpu:shader,execution,expression,binary,f16_comparison:greater_equals:inputSource="uniform";vectorize="_undef_"
+webgpu:shader,execution,expression,binary,f16_comparison:greater_equals:inputSource="uniform";vectorize=2
+webgpu:shader,execution,expression,binary,f16_comparison:greater_equals:inputSource="uniform";vectorize=3
+webgpu:shader,execution,expression,binary,f16_comparison:greater_equals:inputSource="uniform";vectorize=4
+webgpu:shader,execution,expression,binary,f16_comparison:greater_equals:inputSource="storage_r";vectorize="_undef_"
+webgpu:shader,execution,expression,binary,f16_comparison:greater_equals:inputSource="storage_r";vectorize=2
+webgpu:shader,execution,expression,binary,f16_comparison:greater_equals:inputSource="storage_r";vectorize=3
+webgpu:shader,execution,expression,binary,f16_comparison:greater_equals:inputSource="storage_r";vectorize=4
+webgpu:shader,execution,expression,binary,f16_comparison:greater_equals:inputSource="storage_rw";vectorize="_undef_"
+webgpu:shader,execution,expression,binary,f16_comparison:greater_equals:inputSource="storage_rw";vectorize=2
+webgpu:shader,execution,expression,binary,f16_comparison:greater_equals:inputSource="storage_rw";vectorize=3
+webgpu:shader,execution,expression,binary,f16_comparison:greater_equals:inputSource="storage_rw";vectorize=4
webgpu:shader,execution,expression,binary,f32_arithmetic:addition:inputSource="const";vectorize="_undef_"
webgpu:shader,execution,expression,binary,f32_arithmetic:addition:inputSource="const";vectorize=2
webgpu:shader,execution,expression,binary,f32_arithmetic:addition:inputSource="const";vectorize=3
@@ -36680,50 +36776,662 @@
webgpu:shader,execution,expression,call,builtin,atanh:f16:inputSource="storage_rw";vectorize=2
webgpu:shader,execution,expression,call,builtin,atanh:f16:inputSource="storage_rw";vectorize=3
webgpu:shader,execution,expression,call,builtin,atanh:f16:inputSource="storage_rw";vectorize=4
-webgpu:shader,execution,expression,call,builtin,atomicAdd:add:SC="storage";T="i32"
-webgpu:shader,execution,expression,call,builtin,atomicAdd:add:SC="storage";T="u32"
-webgpu:shader,execution,expression,call,builtin,atomicAdd:add:SC="uniform";T="i32"
-webgpu:shader,execution,expression,call,builtin,atomicAdd:add:SC="uniform";T="u32"
-webgpu:shader,execution,expression,call,builtin,atomicAnd:and:SC="storage";T="i32"
-webgpu:shader,execution,expression,call,builtin,atomicAnd:and:SC="storage";T="u32"
-webgpu:shader,execution,expression,call,builtin,atomicAnd:and:SC="uniform";T="i32"
-webgpu:shader,execution,expression,call,builtin,atomicAnd:and:SC="uniform";T="u32"
-webgpu:shader,execution,expression,call,builtin,atomicCompareExchangeWeak:exchange:SC="storage";T="i32"
-webgpu:shader,execution,expression,call,builtin,atomicCompareExchangeWeak:exchange:SC="storage";T="u32"
-webgpu:shader,execution,expression,call,builtin,atomicCompareExchangeWeak:exchange:SC="uniform";T="i32"
-webgpu:shader,execution,expression,call,builtin,atomicCompareExchangeWeak:exchange:SC="uniform";T="u32"
-webgpu:shader,execution,expression,call,builtin,atomicExchange:exchange:SC="storage";T="i32"
-webgpu:shader,execution,expression,call,builtin,atomicExchange:exchange:SC="storage";T="u32"
-webgpu:shader,execution,expression,call,builtin,atomicExchange:exchange:SC="uniform";T="i32"
-webgpu:shader,execution,expression,call,builtin,atomicExchange:exchange:SC="uniform";T="u32"
-webgpu:shader,execution,expression,call,builtin,atomicLoad:load:SC="storage";T="i32"
-webgpu:shader,execution,expression,call,builtin,atomicLoad:load:SC="storage";T="u32"
-webgpu:shader,execution,expression,call,builtin,atomicLoad:load:SC="uniform";T="i32"
-webgpu:shader,execution,expression,call,builtin,atomicLoad:load:SC="uniform";T="u32"
-webgpu:shader,execution,expression,call,builtin,atomicMax:max:SC="storage";T="i32"
-webgpu:shader,execution,expression,call,builtin,atomicMax:max:SC="storage";T="u32"
-webgpu:shader,execution,expression,call,builtin,atomicMax:max:SC="uniform";T="i32"
-webgpu:shader,execution,expression,call,builtin,atomicMax:max:SC="uniform";T="u32"
-webgpu:shader,execution,expression,call,builtin,atomicMin:min:SC="storage";T="i32"
-webgpu:shader,execution,expression,call,builtin,atomicMin:min:SC="storage";T="u32"
-webgpu:shader,execution,expression,call,builtin,atomicMin:min:SC="uniform";T="i32"
-webgpu:shader,execution,expression,call,builtin,atomicMin:min:SC="uniform";T="u32"
-webgpu:shader,execution,expression,call,builtin,atomicOr:or:SC="storage";T="i32"
-webgpu:shader,execution,expression,call,builtin,atomicOr:or:SC="storage";T="u32"
-webgpu:shader,execution,expression,call,builtin,atomicOr:or:SC="uniform";T="i32"
-webgpu:shader,execution,expression,call,builtin,atomicOr:or:SC="uniform";T="u32"
-webgpu:shader,execution,expression,call,builtin,atomicStore:store:SC="storage";T="i32"
-webgpu:shader,execution,expression,call,builtin,atomicStore:store:SC="storage";T="u32"
-webgpu:shader,execution,expression,call,builtin,atomicStore:store:SC="uniform";T="i32"
-webgpu:shader,execution,expression,call,builtin,atomicStore:store:SC="uniform";T="u32"
-webgpu:shader,execution,expression,call,builtin,atomicSub:sub:SC="storage";T="i32"
-webgpu:shader,execution,expression,call,builtin,atomicSub:sub:SC="storage";T="u32"
-webgpu:shader,execution,expression,call,builtin,atomicSub:sub:SC="uniform";T="i32"
-webgpu:shader,execution,expression,call,builtin,atomicSub:sub:SC="uniform";T="u32"
-webgpu:shader,execution,expression,call,builtin,atomicXor:xor:SC="storage";T="i32"
-webgpu:shader,execution,expression,call,builtin,atomicXor:xor:SC="storage";T="u32"
-webgpu:shader,execution,expression,call,builtin,atomicXor:xor:SC="uniform";T="i32"
-webgpu:shader,execution,expression,call,builtin,atomicXor:xor:SC="uniform";T="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAdd:add_storage:workgroupSize=1;dispatchSize=1;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAdd:add_storage:workgroupSize=1;dispatchSize=1;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAdd:add_storage:workgroupSize=1;dispatchSize=4;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAdd:add_storage:workgroupSize=1;dispatchSize=4;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAdd:add_storage:workgroupSize=1;dispatchSize=8;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAdd:add_storage:workgroupSize=1;dispatchSize=8;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAdd:add_storage:workgroupSize=1;dispatchSize=16;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAdd:add_storage:workgroupSize=1;dispatchSize=16;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAdd:add_storage:workgroupSize=2;dispatchSize=1;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAdd:add_storage:workgroupSize=2;dispatchSize=1;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAdd:add_storage:workgroupSize=2;dispatchSize=4;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAdd:add_storage:workgroupSize=2;dispatchSize=4;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAdd:add_storage:workgroupSize=2;dispatchSize=8;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAdd:add_storage:workgroupSize=2;dispatchSize=8;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAdd:add_storage:workgroupSize=2;dispatchSize=16;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAdd:add_storage:workgroupSize=2;dispatchSize=16;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAdd:add_storage:workgroupSize=32;dispatchSize=1;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAdd:add_storage:workgroupSize=32;dispatchSize=1;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAdd:add_storage:workgroupSize=32;dispatchSize=4;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAdd:add_storage:workgroupSize=32;dispatchSize=4;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAdd:add_storage:workgroupSize=32;dispatchSize=8;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAdd:add_storage:workgroupSize=32;dispatchSize=8;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAdd:add_storage:workgroupSize=32;dispatchSize=16;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAdd:add_storage:workgroupSize=32;dispatchSize=16;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAdd:add_storage:workgroupSize=64;dispatchSize=1;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAdd:add_storage:workgroupSize=64;dispatchSize=1;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAdd:add_storage:workgroupSize=64;dispatchSize=4;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAdd:add_storage:workgroupSize=64;dispatchSize=4;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAdd:add_storage:workgroupSize=64;dispatchSize=8;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAdd:add_storage:workgroupSize=64;dispatchSize=8;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAdd:add_storage:workgroupSize=64;dispatchSize=16;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAdd:add_storage:workgroupSize=64;dispatchSize=16;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAdd:add_workgroup:workgroupSize=1;dispatchSize=1;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAdd:add_workgroup:workgroupSize=1;dispatchSize=1;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAdd:add_workgroup:workgroupSize=1;dispatchSize=4;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAdd:add_workgroup:workgroupSize=1;dispatchSize=4;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAdd:add_workgroup:workgroupSize=1;dispatchSize=8;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAdd:add_workgroup:workgroupSize=1;dispatchSize=8;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAdd:add_workgroup:workgroupSize=1;dispatchSize=16;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAdd:add_workgroup:workgroupSize=1;dispatchSize=16;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAdd:add_workgroup:workgroupSize=2;dispatchSize=1;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAdd:add_workgroup:workgroupSize=2;dispatchSize=1;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAdd:add_workgroup:workgroupSize=2;dispatchSize=4;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAdd:add_workgroup:workgroupSize=2;dispatchSize=4;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAdd:add_workgroup:workgroupSize=2;dispatchSize=8;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAdd:add_workgroup:workgroupSize=2;dispatchSize=8;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAdd:add_workgroup:workgroupSize=2;dispatchSize=16;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAdd:add_workgroup:workgroupSize=2;dispatchSize=16;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAdd:add_workgroup:workgroupSize=32;dispatchSize=1;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAdd:add_workgroup:workgroupSize=32;dispatchSize=1;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAdd:add_workgroup:workgroupSize=32;dispatchSize=4;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAdd:add_workgroup:workgroupSize=32;dispatchSize=4;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAdd:add_workgroup:workgroupSize=32;dispatchSize=8;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAdd:add_workgroup:workgroupSize=32;dispatchSize=8;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAdd:add_workgroup:workgroupSize=32;dispatchSize=16;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAdd:add_workgroup:workgroupSize=32;dispatchSize=16;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAdd:add_workgroup:workgroupSize=64;dispatchSize=1;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAdd:add_workgroup:workgroupSize=64;dispatchSize=1;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAdd:add_workgroup:workgroupSize=64;dispatchSize=4;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAdd:add_workgroup:workgroupSize=64;dispatchSize=4;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAdd:add_workgroup:workgroupSize=64;dispatchSize=8;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAdd:add_workgroup:workgroupSize=64;dispatchSize=8;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAdd:add_workgroup:workgroupSize=64;dispatchSize=16;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAdd:add_workgroup:workgroupSize=64;dispatchSize=16;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_storage:workgroupSize=1;dispatchSize=1;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_storage:workgroupSize=1;dispatchSize=1;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_storage:workgroupSize=1;dispatchSize=1;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_storage:workgroupSize=1;dispatchSize=1;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_storage:workgroupSize=1;dispatchSize=4;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_storage:workgroupSize=1;dispatchSize=4;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_storage:workgroupSize=1;dispatchSize=4;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_storage:workgroupSize=1;dispatchSize=4;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_storage:workgroupSize=1;dispatchSize=8;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_storage:workgroupSize=1;dispatchSize=8;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_storage:workgroupSize=1;dispatchSize=8;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_storage:workgroupSize=1;dispatchSize=8;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_storage:workgroupSize=1;dispatchSize=16;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_storage:workgroupSize=1;dispatchSize=16;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_storage:workgroupSize=1;dispatchSize=16;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_storage:workgroupSize=1;dispatchSize=16;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_storage:workgroupSize=2;dispatchSize=1;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_storage:workgroupSize=2;dispatchSize=1;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_storage:workgroupSize=2;dispatchSize=1;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_storage:workgroupSize=2;dispatchSize=1;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_storage:workgroupSize=2;dispatchSize=4;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_storage:workgroupSize=2;dispatchSize=4;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_storage:workgroupSize=2;dispatchSize=4;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_storage:workgroupSize=2;dispatchSize=4;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_storage:workgroupSize=2;dispatchSize=8;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_storage:workgroupSize=2;dispatchSize=8;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_storage:workgroupSize=2;dispatchSize=8;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_storage:workgroupSize=2;dispatchSize=8;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_storage:workgroupSize=2;dispatchSize=16;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_storage:workgroupSize=2;dispatchSize=16;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_storage:workgroupSize=2;dispatchSize=16;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_storage:workgroupSize=2;dispatchSize=16;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_storage:workgroupSize=32;dispatchSize=1;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_storage:workgroupSize=32;dispatchSize=1;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_storage:workgroupSize=32;dispatchSize=1;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_storage:workgroupSize=32;dispatchSize=1;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_storage:workgroupSize=32;dispatchSize=4;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_storage:workgroupSize=32;dispatchSize=4;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_storage:workgroupSize=32;dispatchSize=4;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_storage:workgroupSize=32;dispatchSize=4;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_storage:workgroupSize=32;dispatchSize=8;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_storage:workgroupSize=32;dispatchSize=8;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_storage:workgroupSize=32;dispatchSize=8;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_storage:workgroupSize=32;dispatchSize=8;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_storage:workgroupSize=32;dispatchSize=16;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_storage:workgroupSize=32;dispatchSize=16;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_storage:workgroupSize=32;dispatchSize=16;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_storage:workgroupSize=32;dispatchSize=16;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_storage:workgroupSize=64;dispatchSize=1;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_storage:workgroupSize=64;dispatchSize=1;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_storage:workgroupSize=64;dispatchSize=1;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_storage:workgroupSize=64;dispatchSize=1;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_storage:workgroupSize=64;dispatchSize=4;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_storage:workgroupSize=64;dispatchSize=4;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_storage:workgroupSize=64;dispatchSize=4;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_storage:workgroupSize=64;dispatchSize=4;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_storage:workgroupSize=64;dispatchSize=8;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_storage:workgroupSize=64;dispatchSize=8;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_storage:workgroupSize=64;dispatchSize=8;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_storage:workgroupSize=64;dispatchSize=8;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_storage:workgroupSize=64;dispatchSize=16;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_storage:workgroupSize=64;dispatchSize=16;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_storage:workgroupSize=64;dispatchSize=16;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_storage:workgroupSize=64;dispatchSize=16;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_workgroup:workgroupSize=1;dispatchSize=1;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_workgroup:workgroupSize=1;dispatchSize=1;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_workgroup:workgroupSize=1;dispatchSize=1;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_workgroup:workgroupSize=1;dispatchSize=1;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_workgroup:workgroupSize=1;dispatchSize=4;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_workgroup:workgroupSize=1;dispatchSize=4;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_workgroup:workgroupSize=1;dispatchSize=4;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_workgroup:workgroupSize=1;dispatchSize=4;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_workgroup:workgroupSize=1;dispatchSize=8;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_workgroup:workgroupSize=1;dispatchSize=8;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_workgroup:workgroupSize=1;dispatchSize=8;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_workgroup:workgroupSize=1;dispatchSize=8;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_workgroup:workgroupSize=1;dispatchSize=16;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_workgroup:workgroupSize=1;dispatchSize=16;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_workgroup:workgroupSize=1;dispatchSize=16;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_workgroup:workgroupSize=1;dispatchSize=16;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_workgroup:workgroupSize=2;dispatchSize=1;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_workgroup:workgroupSize=2;dispatchSize=1;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_workgroup:workgroupSize=2;dispatchSize=1;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_workgroup:workgroupSize=2;dispatchSize=1;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_workgroup:workgroupSize=2;dispatchSize=4;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_workgroup:workgroupSize=2;dispatchSize=4;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_workgroup:workgroupSize=2;dispatchSize=4;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_workgroup:workgroupSize=2;dispatchSize=4;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_workgroup:workgroupSize=2;dispatchSize=8;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_workgroup:workgroupSize=2;dispatchSize=8;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_workgroup:workgroupSize=2;dispatchSize=8;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_workgroup:workgroupSize=2;dispatchSize=8;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_workgroup:workgroupSize=2;dispatchSize=16;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_workgroup:workgroupSize=2;dispatchSize=16;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_workgroup:workgroupSize=2;dispatchSize=16;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_workgroup:workgroupSize=2;dispatchSize=16;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_workgroup:workgroupSize=32;dispatchSize=1;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_workgroup:workgroupSize=32;dispatchSize=1;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_workgroup:workgroupSize=32;dispatchSize=1;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_workgroup:workgroupSize=32;dispatchSize=1;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_workgroup:workgroupSize=32;dispatchSize=4;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_workgroup:workgroupSize=32;dispatchSize=4;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_workgroup:workgroupSize=32;dispatchSize=4;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_workgroup:workgroupSize=32;dispatchSize=4;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_workgroup:workgroupSize=32;dispatchSize=8;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_workgroup:workgroupSize=32;dispatchSize=8;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_workgroup:workgroupSize=32;dispatchSize=8;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_workgroup:workgroupSize=32;dispatchSize=8;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_workgroup:workgroupSize=32;dispatchSize=16;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_workgroup:workgroupSize=32;dispatchSize=16;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_workgroup:workgroupSize=32;dispatchSize=16;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_workgroup:workgroupSize=32;dispatchSize=16;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_workgroup:workgroupSize=64;dispatchSize=1;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_workgroup:workgroupSize=64;dispatchSize=1;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_workgroup:workgroupSize=64;dispatchSize=1;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_workgroup:workgroupSize=64;dispatchSize=1;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_workgroup:workgroupSize=64;dispatchSize=4;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_workgroup:workgroupSize=64;dispatchSize=4;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_workgroup:workgroupSize=64;dispatchSize=4;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_workgroup:workgroupSize=64;dispatchSize=4;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_workgroup:workgroupSize=64;dispatchSize=8;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_workgroup:workgroupSize=64;dispatchSize=8;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_workgroup:workgroupSize=64;dispatchSize=8;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_workgroup:workgroupSize=64;dispatchSize=8;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_workgroup:workgroupSize=64;dispatchSize=16;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_workgroup:workgroupSize=64;dispatchSize=16;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_workgroup:workgroupSize=64;dispatchSize=16;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicAnd:and_workgroup:workgroupSize=64;dispatchSize=16;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicCompareExchangeWeak:exchange:SC="storage";T="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicCompareExchangeWeak:exchange:SC="storage";T="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicCompareExchangeWeak:exchange:SC="uniform";T="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicCompareExchangeWeak:exchange:SC="uniform";T="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicExchange:exchange:SC="storage";T="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicExchange:exchange:SC="storage";T="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicExchange:exchange:SC="uniform";T="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicExchange:exchange:SC="uniform";T="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicLoad:load:SC="storage";T="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicLoad:load:SC="storage";T="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicLoad:load:SC="uniform";T="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicLoad:load:SC="uniform";T="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMax:max_storage:workgroupSize=1;dispatchSize=1;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMax:max_storage:workgroupSize=1;dispatchSize=1;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMax:max_storage:workgroupSize=1;dispatchSize=4;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMax:max_storage:workgroupSize=1;dispatchSize=4;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMax:max_storage:workgroupSize=1;dispatchSize=8;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMax:max_storage:workgroupSize=1;dispatchSize=8;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMax:max_storage:workgroupSize=1;dispatchSize=16;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMax:max_storage:workgroupSize=1;dispatchSize=16;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMax:max_storage:workgroupSize=2;dispatchSize=1;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMax:max_storage:workgroupSize=2;dispatchSize=1;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMax:max_storage:workgroupSize=2;dispatchSize=4;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMax:max_storage:workgroupSize=2;dispatchSize=4;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMax:max_storage:workgroupSize=2;dispatchSize=8;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMax:max_storage:workgroupSize=2;dispatchSize=8;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMax:max_storage:workgroupSize=2;dispatchSize=16;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMax:max_storage:workgroupSize=2;dispatchSize=16;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMax:max_storage:workgroupSize=32;dispatchSize=1;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMax:max_storage:workgroupSize=32;dispatchSize=1;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMax:max_storage:workgroupSize=32;dispatchSize=4;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMax:max_storage:workgroupSize=32;dispatchSize=4;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMax:max_storage:workgroupSize=32;dispatchSize=8;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMax:max_storage:workgroupSize=32;dispatchSize=8;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMax:max_storage:workgroupSize=32;dispatchSize=16;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMax:max_storage:workgroupSize=32;dispatchSize=16;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMax:max_storage:workgroupSize=64;dispatchSize=1;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMax:max_storage:workgroupSize=64;dispatchSize=1;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMax:max_storage:workgroupSize=64;dispatchSize=4;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMax:max_storage:workgroupSize=64;dispatchSize=4;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMax:max_storage:workgroupSize=64;dispatchSize=8;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMax:max_storage:workgroupSize=64;dispatchSize=8;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMax:max_storage:workgroupSize=64;dispatchSize=16;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMax:max_storage:workgroupSize=64;dispatchSize=16;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMax:max_workgroup:workgroupSize=1;dispatchSize=1;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMax:max_workgroup:workgroupSize=1;dispatchSize=1;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMax:max_workgroup:workgroupSize=1;dispatchSize=4;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMax:max_workgroup:workgroupSize=1;dispatchSize=4;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMax:max_workgroup:workgroupSize=1;dispatchSize=8;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMax:max_workgroup:workgroupSize=1;dispatchSize=8;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMax:max_workgroup:workgroupSize=1;dispatchSize=16;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMax:max_workgroup:workgroupSize=1;dispatchSize=16;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMax:max_workgroup:workgroupSize=2;dispatchSize=1;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMax:max_workgroup:workgroupSize=2;dispatchSize=1;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMax:max_workgroup:workgroupSize=2;dispatchSize=4;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMax:max_workgroup:workgroupSize=2;dispatchSize=4;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMax:max_workgroup:workgroupSize=2;dispatchSize=8;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMax:max_workgroup:workgroupSize=2;dispatchSize=8;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMax:max_workgroup:workgroupSize=2;dispatchSize=16;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMax:max_workgroup:workgroupSize=2;dispatchSize=16;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMax:max_workgroup:workgroupSize=32;dispatchSize=1;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMax:max_workgroup:workgroupSize=32;dispatchSize=1;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMax:max_workgroup:workgroupSize=32;dispatchSize=4;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMax:max_workgroup:workgroupSize=32;dispatchSize=4;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMax:max_workgroup:workgroupSize=32;dispatchSize=8;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMax:max_workgroup:workgroupSize=32;dispatchSize=8;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMax:max_workgroup:workgroupSize=32;dispatchSize=16;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMax:max_workgroup:workgroupSize=32;dispatchSize=16;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMax:max_workgroup:workgroupSize=64;dispatchSize=1;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMax:max_workgroup:workgroupSize=64;dispatchSize=1;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMax:max_workgroup:workgroupSize=64;dispatchSize=4;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMax:max_workgroup:workgroupSize=64;dispatchSize=4;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMax:max_workgroup:workgroupSize=64;dispatchSize=8;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMax:max_workgroup:workgroupSize=64;dispatchSize=8;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMax:max_workgroup:workgroupSize=64;dispatchSize=16;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMax:max_workgroup:workgroupSize=64;dispatchSize=16;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMin:min_storage:workgroupSize=1;dispatchSize=1;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMin:min_storage:workgroupSize=1;dispatchSize=1;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMin:min_storage:workgroupSize=1;dispatchSize=4;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMin:min_storage:workgroupSize=1;dispatchSize=4;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMin:min_storage:workgroupSize=1;dispatchSize=8;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMin:min_storage:workgroupSize=1;dispatchSize=8;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMin:min_storage:workgroupSize=1;dispatchSize=16;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMin:min_storage:workgroupSize=1;dispatchSize=16;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMin:min_storage:workgroupSize=2;dispatchSize=1;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMin:min_storage:workgroupSize=2;dispatchSize=1;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMin:min_storage:workgroupSize=2;dispatchSize=4;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMin:min_storage:workgroupSize=2;dispatchSize=4;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMin:min_storage:workgroupSize=2;dispatchSize=8;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMin:min_storage:workgroupSize=2;dispatchSize=8;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMin:min_storage:workgroupSize=2;dispatchSize=16;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMin:min_storage:workgroupSize=2;dispatchSize=16;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMin:min_storage:workgroupSize=32;dispatchSize=1;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMin:min_storage:workgroupSize=32;dispatchSize=1;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMin:min_storage:workgroupSize=32;dispatchSize=4;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMin:min_storage:workgroupSize=32;dispatchSize=4;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMin:min_storage:workgroupSize=32;dispatchSize=8;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMin:min_storage:workgroupSize=32;dispatchSize=8;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMin:min_storage:workgroupSize=32;dispatchSize=16;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMin:min_storage:workgroupSize=32;dispatchSize=16;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMin:min_storage:workgroupSize=64;dispatchSize=1;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMin:min_storage:workgroupSize=64;dispatchSize=1;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMin:min_storage:workgroupSize=64;dispatchSize=4;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMin:min_storage:workgroupSize=64;dispatchSize=4;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMin:min_storage:workgroupSize=64;dispatchSize=8;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMin:min_storage:workgroupSize=64;dispatchSize=8;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMin:min_storage:workgroupSize=64;dispatchSize=16;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMin:min_storage:workgroupSize=64;dispatchSize=16;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMin:min_workgroup:workgroupSize=1;dispatchSize=1;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMin:min_workgroup:workgroupSize=1;dispatchSize=1;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMin:min_workgroup:workgroupSize=1;dispatchSize=4;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMin:min_workgroup:workgroupSize=1;dispatchSize=4;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMin:min_workgroup:workgroupSize=1;dispatchSize=8;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMin:min_workgroup:workgroupSize=1;dispatchSize=8;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMin:min_workgroup:workgroupSize=1;dispatchSize=16;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMin:min_workgroup:workgroupSize=1;dispatchSize=16;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMin:min_workgroup:workgroupSize=2;dispatchSize=1;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMin:min_workgroup:workgroupSize=2;dispatchSize=1;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMin:min_workgroup:workgroupSize=2;dispatchSize=4;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMin:min_workgroup:workgroupSize=2;dispatchSize=4;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMin:min_workgroup:workgroupSize=2;dispatchSize=8;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMin:min_workgroup:workgroupSize=2;dispatchSize=8;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMin:min_workgroup:workgroupSize=2;dispatchSize=16;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMin:min_workgroup:workgroupSize=2;dispatchSize=16;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMin:min_workgroup:workgroupSize=32;dispatchSize=1;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMin:min_workgroup:workgroupSize=32;dispatchSize=1;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMin:min_workgroup:workgroupSize=32;dispatchSize=4;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMin:min_workgroup:workgroupSize=32;dispatchSize=4;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMin:min_workgroup:workgroupSize=32;dispatchSize=8;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMin:min_workgroup:workgroupSize=32;dispatchSize=8;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMin:min_workgroup:workgroupSize=32;dispatchSize=16;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMin:min_workgroup:workgroupSize=32;dispatchSize=16;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMin:min_workgroup:workgroupSize=64;dispatchSize=1;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMin:min_workgroup:workgroupSize=64;dispatchSize=1;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMin:min_workgroup:workgroupSize=64;dispatchSize=4;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMin:min_workgroup:workgroupSize=64;dispatchSize=4;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMin:min_workgroup:workgroupSize=64;dispatchSize=8;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMin:min_workgroup:workgroupSize=64;dispatchSize=8;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMin:min_workgroup:workgroupSize=64;dispatchSize=16;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicMin:min_workgroup:workgroupSize=64;dispatchSize=16;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_storage:workgroupSize=1;dispatchSize=1;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_storage:workgroupSize=1;dispatchSize=1;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_storage:workgroupSize=1;dispatchSize=1;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_storage:workgroupSize=1;dispatchSize=1;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_storage:workgroupSize=1;dispatchSize=4;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_storage:workgroupSize=1;dispatchSize=4;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_storage:workgroupSize=1;dispatchSize=4;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_storage:workgroupSize=1;dispatchSize=4;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_storage:workgroupSize=1;dispatchSize=8;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_storage:workgroupSize=1;dispatchSize=8;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_storage:workgroupSize=1;dispatchSize=8;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_storage:workgroupSize=1;dispatchSize=8;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_storage:workgroupSize=1;dispatchSize=16;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_storage:workgroupSize=1;dispatchSize=16;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_storage:workgroupSize=1;dispatchSize=16;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_storage:workgroupSize=1;dispatchSize=16;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_storage:workgroupSize=2;dispatchSize=1;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_storage:workgroupSize=2;dispatchSize=1;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_storage:workgroupSize=2;dispatchSize=1;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_storage:workgroupSize=2;dispatchSize=1;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_storage:workgroupSize=2;dispatchSize=4;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_storage:workgroupSize=2;dispatchSize=4;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_storage:workgroupSize=2;dispatchSize=4;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_storage:workgroupSize=2;dispatchSize=4;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_storage:workgroupSize=2;dispatchSize=8;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_storage:workgroupSize=2;dispatchSize=8;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_storage:workgroupSize=2;dispatchSize=8;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_storage:workgroupSize=2;dispatchSize=8;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_storage:workgroupSize=2;dispatchSize=16;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_storage:workgroupSize=2;dispatchSize=16;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_storage:workgroupSize=2;dispatchSize=16;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_storage:workgroupSize=2;dispatchSize=16;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_storage:workgroupSize=32;dispatchSize=1;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_storage:workgroupSize=32;dispatchSize=1;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_storage:workgroupSize=32;dispatchSize=1;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_storage:workgroupSize=32;dispatchSize=1;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_storage:workgroupSize=32;dispatchSize=4;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_storage:workgroupSize=32;dispatchSize=4;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_storage:workgroupSize=32;dispatchSize=4;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_storage:workgroupSize=32;dispatchSize=4;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_storage:workgroupSize=32;dispatchSize=8;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_storage:workgroupSize=32;dispatchSize=8;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_storage:workgroupSize=32;dispatchSize=8;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_storage:workgroupSize=32;dispatchSize=8;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_storage:workgroupSize=32;dispatchSize=16;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_storage:workgroupSize=32;dispatchSize=16;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_storage:workgroupSize=32;dispatchSize=16;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_storage:workgroupSize=32;dispatchSize=16;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_storage:workgroupSize=64;dispatchSize=1;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_storage:workgroupSize=64;dispatchSize=1;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_storage:workgroupSize=64;dispatchSize=1;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_storage:workgroupSize=64;dispatchSize=1;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_storage:workgroupSize=64;dispatchSize=4;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_storage:workgroupSize=64;dispatchSize=4;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_storage:workgroupSize=64;dispatchSize=4;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_storage:workgroupSize=64;dispatchSize=4;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_storage:workgroupSize=64;dispatchSize=8;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_storage:workgroupSize=64;dispatchSize=8;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_storage:workgroupSize=64;dispatchSize=8;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_storage:workgroupSize=64;dispatchSize=8;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_storage:workgroupSize=64;dispatchSize=16;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_storage:workgroupSize=64;dispatchSize=16;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_storage:workgroupSize=64;dispatchSize=16;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_storage:workgroupSize=64;dispatchSize=16;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_workgroup:workgroupSize=1;dispatchSize=1;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_workgroup:workgroupSize=1;dispatchSize=1;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_workgroup:workgroupSize=1;dispatchSize=1;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_workgroup:workgroupSize=1;dispatchSize=1;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_workgroup:workgroupSize=1;dispatchSize=4;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_workgroup:workgroupSize=1;dispatchSize=4;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_workgroup:workgroupSize=1;dispatchSize=4;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_workgroup:workgroupSize=1;dispatchSize=4;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_workgroup:workgroupSize=1;dispatchSize=8;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_workgroup:workgroupSize=1;dispatchSize=8;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_workgroup:workgroupSize=1;dispatchSize=8;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_workgroup:workgroupSize=1;dispatchSize=8;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_workgroup:workgroupSize=1;dispatchSize=16;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_workgroup:workgroupSize=1;dispatchSize=16;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_workgroup:workgroupSize=1;dispatchSize=16;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_workgroup:workgroupSize=1;dispatchSize=16;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_workgroup:workgroupSize=2;dispatchSize=1;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_workgroup:workgroupSize=2;dispatchSize=1;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_workgroup:workgroupSize=2;dispatchSize=1;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_workgroup:workgroupSize=2;dispatchSize=1;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_workgroup:workgroupSize=2;dispatchSize=4;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_workgroup:workgroupSize=2;dispatchSize=4;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_workgroup:workgroupSize=2;dispatchSize=4;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_workgroup:workgroupSize=2;dispatchSize=4;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_workgroup:workgroupSize=2;dispatchSize=8;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_workgroup:workgroupSize=2;dispatchSize=8;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_workgroup:workgroupSize=2;dispatchSize=8;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_workgroup:workgroupSize=2;dispatchSize=8;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_workgroup:workgroupSize=2;dispatchSize=16;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_workgroup:workgroupSize=2;dispatchSize=16;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_workgroup:workgroupSize=2;dispatchSize=16;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_workgroup:workgroupSize=2;dispatchSize=16;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_workgroup:workgroupSize=32;dispatchSize=1;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_workgroup:workgroupSize=32;dispatchSize=1;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_workgroup:workgroupSize=32;dispatchSize=1;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_workgroup:workgroupSize=32;dispatchSize=1;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_workgroup:workgroupSize=32;dispatchSize=4;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_workgroup:workgroupSize=32;dispatchSize=4;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_workgroup:workgroupSize=32;dispatchSize=4;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_workgroup:workgroupSize=32;dispatchSize=4;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_workgroup:workgroupSize=32;dispatchSize=8;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_workgroup:workgroupSize=32;dispatchSize=8;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_workgroup:workgroupSize=32;dispatchSize=8;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_workgroup:workgroupSize=32;dispatchSize=8;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_workgroup:workgroupSize=32;dispatchSize=16;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_workgroup:workgroupSize=32;dispatchSize=16;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_workgroup:workgroupSize=32;dispatchSize=16;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_workgroup:workgroupSize=32;dispatchSize=16;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_workgroup:workgroupSize=64;dispatchSize=1;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_workgroup:workgroupSize=64;dispatchSize=1;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_workgroup:workgroupSize=64;dispatchSize=1;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_workgroup:workgroupSize=64;dispatchSize=1;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_workgroup:workgroupSize=64;dispatchSize=4;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_workgroup:workgroupSize=64;dispatchSize=4;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_workgroup:workgroupSize=64;dispatchSize=4;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_workgroup:workgroupSize=64;dispatchSize=4;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_workgroup:workgroupSize=64;dispatchSize=8;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_workgroup:workgroupSize=64;dispatchSize=8;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_workgroup:workgroupSize=64;dispatchSize=8;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_workgroup:workgroupSize=64;dispatchSize=8;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_workgroup:workgroupSize=64;dispatchSize=16;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_workgroup:workgroupSize=64;dispatchSize=16;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_workgroup:workgroupSize=64;dispatchSize=16;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicOr:or_workgroup:workgroupSize=64;dispatchSize=16;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicStore:store:SC="storage";T="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicStore:store:SC="storage";T="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicStore:store:SC="uniform";T="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicStore:store:SC="uniform";T="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicSub:sub_storage:workgroupSize=1;dispatchSize=1;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicSub:sub_storage:workgroupSize=1;dispatchSize=1;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicSub:sub_storage:workgroupSize=1;dispatchSize=4;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicSub:sub_storage:workgroupSize=1;dispatchSize=4;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicSub:sub_storage:workgroupSize=1;dispatchSize=8;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicSub:sub_storage:workgroupSize=1;dispatchSize=8;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicSub:sub_storage:workgroupSize=1;dispatchSize=16;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicSub:sub_storage:workgroupSize=1;dispatchSize=16;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicSub:sub_storage:workgroupSize=2;dispatchSize=1;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicSub:sub_storage:workgroupSize=2;dispatchSize=1;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicSub:sub_storage:workgroupSize=2;dispatchSize=4;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicSub:sub_storage:workgroupSize=2;dispatchSize=4;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicSub:sub_storage:workgroupSize=2;dispatchSize=8;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicSub:sub_storage:workgroupSize=2;dispatchSize=8;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicSub:sub_storage:workgroupSize=2;dispatchSize=16;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicSub:sub_storage:workgroupSize=2;dispatchSize=16;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicSub:sub_storage:workgroupSize=32;dispatchSize=1;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicSub:sub_storage:workgroupSize=32;dispatchSize=1;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicSub:sub_storage:workgroupSize=32;dispatchSize=4;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicSub:sub_storage:workgroupSize=32;dispatchSize=4;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicSub:sub_storage:workgroupSize=32;dispatchSize=8;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicSub:sub_storage:workgroupSize=32;dispatchSize=8;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicSub:sub_storage:workgroupSize=32;dispatchSize=16;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicSub:sub_storage:workgroupSize=32;dispatchSize=16;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicSub:sub_storage:workgroupSize=64;dispatchSize=1;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicSub:sub_storage:workgroupSize=64;dispatchSize=1;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicSub:sub_storage:workgroupSize=64;dispatchSize=4;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicSub:sub_storage:workgroupSize=64;dispatchSize=4;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicSub:sub_storage:workgroupSize=64;dispatchSize=8;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicSub:sub_storage:workgroupSize=64;dispatchSize=8;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicSub:sub_storage:workgroupSize=64;dispatchSize=16;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicSub:sub_storage:workgroupSize=64;dispatchSize=16;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicSub:sub_workgroup:workgroupSize=1;dispatchSize=1;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicSub:sub_workgroup:workgroupSize=1;dispatchSize=1;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicSub:sub_workgroup:workgroupSize=1;dispatchSize=4;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicSub:sub_workgroup:workgroupSize=1;dispatchSize=4;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicSub:sub_workgroup:workgroupSize=1;dispatchSize=8;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicSub:sub_workgroup:workgroupSize=1;dispatchSize=8;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicSub:sub_workgroup:workgroupSize=1;dispatchSize=16;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicSub:sub_workgroup:workgroupSize=1;dispatchSize=16;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicSub:sub_workgroup:workgroupSize=2;dispatchSize=1;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicSub:sub_workgroup:workgroupSize=2;dispatchSize=1;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicSub:sub_workgroup:workgroupSize=2;dispatchSize=4;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicSub:sub_workgroup:workgroupSize=2;dispatchSize=4;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicSub:sub_workgroup:workgroupSize=2;dispatchSize=8;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicSub:sub_workgroup:workgroupSize=2;dispatchSize=8;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicSub:sub_workgroup:workgroupSize=2;dispatchSize=16;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicSub:sub_workgroup:workgroupSize=2;dispatchSize=16;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicSub:sub_workgroup:workgroupSize=32;dispatchSize=1;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicSub:sub_workgroup:workgroupSize=32;dispatchSize=1;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicSub:sub_workgroup:workgroupSize=32;dispatchSize=4;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicSub:sub_workgroup:workgroupSize=32;dispatchSize=4;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicSub:sub_workgroup:workgroupSize=32;dispatchSize=8;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicSub:sub_workgroup:workgroupSize=32;dispatchSize=8;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicSub:sub_workgroup:workgroupSize=32;dispatchSize=16;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicSub:sub_workgroup:workgroupSize=32;dispatchSize=16;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicSub:sub_workgroup:workgroupSize=64;dispatchSize=1;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicSub:sub_workgroup:workgroupSize=64;dispatchSize=1;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicSub:sub_workgroup:workgroupSize=64;dispatchSize=4;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicSub:sub_workgroup:workgroupSize=64;dispatchSize=4;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicSub:sub_workgroup:workgroupSize=64;dispatchSize=8;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicSub:sub_workgroup:workgroupSize=64;dispatchSize=8;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicSub:sub_workgroup:workgroupSize=64;dispatchSize=16;scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicSub:sub_workgroup:workgroupSize=64;dispatchSize=16;scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_storage:workgroupSize=1;dispatchSize=1;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_storage:workgroupSize=1;dispatchSize=1;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_storage:workgroupSize=1;dispatchSize=1;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_storage:workgroupSize=1;dispatchSize=1;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_storage:workgroupSize=1;dispatchSize=4;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_storage:workgroupSize=1;dispatchSize=4;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_storage:workgroupSize=1;dispatchSize=4;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_storage:workgroupSize=1;dispatchSize=4;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_storage:workgroupSize=1;dispatchSize=8;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_storage:workgroupSize=1;dispatchSize=8;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_storage:workgroupSize=1;dispatchSize=8;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_storage:workgroupSize=1;dispatchSize=8;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_storage:workgroupSize=1;dispatchSize=16;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_storage:workgroupSize=1;dispatchSize=16;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_storage:workgroupSize=1;dispatchSize=16;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_storage:workgroupSize=1;dispatchSize=16;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_storage:workgroupSize=2;dispatchSize=1;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_storage:workgroupSize=2;dispatchSize=1;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_storage:workgroupSize=2;dispatchSize=1;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_storage:workgroupSize=2;dispatchSize=1;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_storage:workgroupSize=2;dispatchSize=4;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_storage:workgroupSize=2;dispatchSize=4;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_storage:workgroupSize=2;dispatchSize=4;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_storage:workgroupSize=2;dispatchSize=4;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_storage:workgroupSize=2;dispatchSize=8;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_storage:workgroupSize=2;dispatchSize=8;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_storage:workgroupSize=2;dispatchSize=8;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_storage:workgroupSize=2;dispatchSize=8;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_storage:workgroupSize=2;dispatchSize=16;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_storage:workgroupSize=2;dispatchSize=16;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_storage:workgroupSize=2;dispatchSize=16;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_storage:workgroupSize=2;dispatchSize=16;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_storage:workgroupSize=32;dispatchSize=1;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_storage:workgroupSize=32;dispatchSize=1;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_storage:workgroupSize=32;dispatchSize=1;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_storage:workgroupSize=32;dispatchSize=1;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_storage:workgroupSize=32;dispatchSize=4;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_storage:workgroupSize=32;dispatchSize=4;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_storage:workgroupSize=32;dispatchSize=4;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_storage:workgroupSize=32;dispatchSize=4;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_storage:workgroupSize=32;dispatchSize=8;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_storage:workgroupSize=32;dispatchSize=8;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_storage:workgroupSize=32;dispatchSize=8;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_storage:workgroupSize=32;dispatchSize=8;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_storage:workgroupSize=32;dispatchSize=16;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_storage:workgroupSize=32;dispatchSize=16;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_storage:workgroupSize=32;dispatchSize=16;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_storage:workgroupSize=32;dispatchSize=16;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_storage:workgroupSize=64;dispatchSize=1;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_storage:workgroupSize=64;dispatchSize=1;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_storage:workgroupSize=64;dispatchSize=1;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_storage:workgroupSize=64;dispatchSize=1;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_storage:workgroupSize=64;dispatchSize=4;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_storage:workgroupSize=64;dispatchSize=4;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_storage:workgroupSize=64;dispatchSize=4;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_storage:workgroupSize=64;dispatchSize=4;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_storage:workgroupSize=64;dispatchSize=8;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_storage:workgroupSize=64;dispatchSize=8;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_storage:workgroupSize=64;dispatchSize=8;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_storage:workgroupSize=64;dispatchSize=8;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_storage:workgroupSize=64;dispatchSize=16;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_storage:workgroupSize=64;dispatchSize=16;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_storage:workgroupSize=64;dispatchSize=16;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_storage:workgroupSize=64;dispatchSize=16;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_workgroup:workgroupSize=1;dispatchSize=1;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_workgroup:workgroupSize=1;dispatchSize=1;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_workgroup:workgroupSize=1;dispatchSize=1;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_workgroup:workgroupSize=1;dispatchSize=1;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_workgroup:workgroupSize=1;dispatchSize=4;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_workgroup:workgroupSize=1;dispatchSize=4;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_workgroup:workgroupSize=1;dispatchSize=4;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_workgroup:workgroupSize=1;dispatchSize=4;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_workgroup:workgroupSize=1;dispatchSize=8;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_workgroup:workgroupSize=1;dispatchSize=8;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_workgroup:workgroupSize=1;dispatchSize=8;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_workgroup:workgroupSize=1;dispatchSize=8;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_workgroup:workgroupSize=1;dispatchSize=16;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_workgroup:workgroupSize=1;dispatchSize=16;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_workgroup:workgroupSize=1;dispatchSize=16;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_workgroup:workgroupSize=1;dispatchSize=16;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_workgroup:workgroupSize=2;dispatchSize=1;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_workgroup:workgroupSize=2;dispatchSize=1;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_workgroup:workgroupSize=2;dispatchSize=1;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_workgroup:workgroupSize=2;dispatchSize=1;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_workgroup:workgroupSize=2;dispatchSize=4;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_workgroup:workgroupSize=2;dispatchSize=4;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_workgroup:workgroupSize=2;dispatchSize=4;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_workgroup:workgroupSize=2;dispatchSize=4;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_workgroup:workgroupSize=2;dispatchSize=8;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_workgroup:workgroupSize=2;dispatchSize=8;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_workgroup:workgroupSize=2;dispatchSize=8;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_workgroup:workgroupSize=2;dispatchSize=8;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_workgroup:workgroupSize=2;dispatchSize=16;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_workgroup:workgroupSize=2;dispatchSize=16;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_workgroup:workgroupSize=2;dispatchSize=16;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_workgroup:workgroupSize=2;dispatchSize=16;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_workgroup:workgroupSize=32;dispatchSize=1;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_workgroup:workgroupSize=32;dispatchSize=1;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_workgroup:workgroupSize=32;dispatchSize=1;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_workgroup:workgroupSize=32;dispatchSize=1;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_workgroup:workgroupSize=32;dispatchSize=4;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_workgroup:workgroupSize=32;dispatchSize=4;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_workgroup:workgroupSize=32;dispatchSize=4;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_workgroup:workgroupSize=32;dispatchSize=4;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_workgroup:workgroupSize=32;dispatchSize=8;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_workgroup:workgroupSize=32;dispatchSize=8;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_workgroup:workgroupSize=32;dispatchSize=8;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_workgroup:workgroupSize=32;dispatchSize=8;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_workgroup:workgroupSize=32;dispatchSize=16;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_workgroup:workgroupSize=32;dispatchSize=16;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_workgroup:workgroupSize=32;dispatchSize=16;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_workgroup:workgroupSize=32;dispatchSize=16;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_workgroup:workgroupSize=64;dispatchSize=1;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_workgroup:workgroupSize=64;dispatchSize=1;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_workgroup:workgroupSize=64;dispatchSize=1;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_workgroup:workgroupSize=64;dispatchSize=1;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_workgroup:workgroupSize=64;dispatchSize=4;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_workgroup:workgroupSize=64;dispatchSize=4;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_workgroup:workgroupSize=64;dispatchSize=4;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_workgroup:workgroupSize=64;dispatchSize=4;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_workgroup:workgroupSize=64;dispatchSize=8;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_workgroup:workgroupSize=64;dispatchSize=8;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_workgroup:workgroupSize=64;dispatchSize=8;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_workgroup:workgroupSize=64;dispatchSize=8;mapId="remap";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_workgroup:workgroupSize=64;dispatchSize=16;mapId="passthrough";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_workgroup:workgroupSize=64;dispatchSize=16;mapId="passthrough";scalarKind="i32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_workgroup:workgroupSize=64;dispatchSize=16;mapId="remap";scalarKind="u32"
+webgpu:shader,execution,expression,call,builtin,atomics,atomicXor:xor_workgroup:workgroupSize=64;dispatchSize=16;mapId="remap";scalarKind="i32"
webgpu:shader,execution,expression,call,builtin,bitcast:i32_to_i32:inputSource="const";vectorize="_undef_";alias=false
webgpu:shader,execution,expression,call,builtin,bitcast:i32_to_i32:inputSource="const";vectorize="_undef_";alias=true
webgpu:shader,execution,expression,call,builtin,bitcast:i32_to_i32:inputSource="const";vectorize=2;alias=false
@@ -44255,6 +44963,8 @@
webgpu:shader,validation,parse,blankspace:blankspace:blankspace=["%E2%80%8F","right_to_left_mark"]
webgpu:shader,validation,parse,blankspace:blankspace:blankspace=["%E2%80%A8","line_separator"]
webgpu:shader,validation,parse,blankspace:blankspace:blankspace=["%E2%80%A9","paragraph_separator"]
+webgpu:shader,validation,parse,blankspace:bom:include_bom=true
+webgpu:shader,validation,parse,blankspace:bom:include_bom=false
webgpu:shader,validation,parse,break:placement:stmt="loop_break"
webgpu:shader,validation,parse,break:placement:stmt="loop_if_break"
webgpu:shader,validation,parse,break:placement:stmt="continuing_break_if"
@@ -44332,6 +45042,17 @@
webgpu:shader,validation,parse,discard:placement:place="subfrag"
webgpu:shader,validation,parse,discard:placement:place="subvert"
webgpu:shader,validation,parse,discard:placement:place="subcomp"
+webgpu:shader,validation,parse,enable:enable:case="f16"
+webgpu:shader,validation,parse,enable:enable:case="decl_before"
+webgpu:shader,validation,parse,enable:enable:case="after_decl"
+webgpu:shader,validation,parse,enable:enable:case="const_assert_before"
+webgpu:shader,validation,parse,enable:enable:case="const_assert_after"
+webgpu:shader,validation,parse,enable:enable:case="embedded_comment"
+webgpu:shader,validation,parse,enable:enable:case="parens"
+webgpu:shader,validation,parse,enable:enable:case="multi_line"
+webgpu:shader,validation,parse,enable:enable:case="multiple_enables"
+webgpu:shader,validation,parse,enable:enable:case="multipe_entries"
+webgpu:shader,validation,parse,enable:enable:case="unknown"
webgpu:shader,validation,parse,identifiers:identifiers:ident="foo"
webgpu:shader,validation,parse,identifiers:identifiers:ident="Foo"
webgpu:shader,validation,parse,identifiers:identifiers:ident="FOO"
@@ -48375,6 +49096,1026 @@
webgpu:shader,validation,shader_io,locations:duplicates:first="ra";second="s1b"
webgpu:shader,validation,shader_io,locations:duplicates:first="ra";second="s2b"
webgpu:shader,validation,shader_io,locations:duplicates:first="ra";second="rb"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSample";stage="fragment";cond="uniform_storage_ro";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSample";stage="fragment";cond="uniform_storage_ro";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSample";stage="fragment";cond="uniform_storage_ro";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSample";stage="fragment";cond="uniform_storage_ro";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSample";stage="fragment";cond="nonuniform_storage_ro";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSample";stage="fragment";cond="nonuniform_storage_ro";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSample";stage="fragment";cond="nonuniform_storage_ro";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSample";stage="fragment";cond="nonuniform_storage_ro";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSample";stage="fragment";cond="nonuniform_storage_rw";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSample";stage="fragment";cond="nonuniform_storage_rw";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSample";stage="fragment";cond="nonuniform_storage_rw";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSample";stage="fragment";cond="nonuniform_storage_rw";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSample";stage="fragment";cond="nonuniform_builtin";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSample";stage="fragment";cond="nonuniform_builtin";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSample";stage="fragment";cond="nonuniform_builtin";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSample";stage="fragment";cond="nonuniform_builtin";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSample";stage="fragment";cond="uniform_literal";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSample";stage="fragment";cond="uniform_literal";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSample";stage="fragment";cond="uniform_literal";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSample";stage="fragment";cond="uniform_literal";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSample";stage="fragment";cond="uniform_const";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSample";stage="fragment";cond="uniform_const";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSample";stage="fragment";cond="uniform_const";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSample";stage="fragment";cond="uniform_const";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSample";stage="fragment";cond="uniform_override";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSample";stage="fragment";cond="uniform_override";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSample";stage="fragment";cond="uniform_override";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSample";stage="fragment";cond="uniform_override";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSample";stage="fragment";cond="uniform_let";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSample";stage="fragment";cond="uniform_let";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSample";stage="fragment";cond="uniform_let";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSample";stage="fragment";cond="uniform_let";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSample";stage="fragment";cond="nonuniform_let";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSample";stage="fragment";cond="nonuniform_let";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSample";stage="fragment";cond="nonuniform_let";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSample";stage="fragment";cond="nonuniform_let";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSample";stage="fragment";cond="uniform_or";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSample";stage="fragment";cond="uniform_or";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSample";stage="fragment";cond="uniform_or";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSample";stage="fragment";cond="uniform_or";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSample";stage="fragment";cond="nonuniform_or1";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSample";stage="fragment";cond="nonuniform_or1";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSample";stage="fragment";cond="nonuniform_or1";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSample";stage="fragment";cond="nonuniform_or1";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSample";stage="fragment";cond="nonuniform_or2";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSample";stage="fragment";cond="nonuniform_or2";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSample";stage="fragment";cond="nonuniform_or2";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSample";stage="fragment";cond="nonuniform_or2";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSample";stage="fragment";cond="uniform_and";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSample";stage="fragment";cond="uniform_and";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSample";stage="fragment";cond="uniform_and";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSample";stage="fragment";cond="uniform_and";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSample";stage="fragment";cond="nonuniform_and1";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSample";stage="fragment";cond="nonuniform_and1";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSample";stage="fragment";cond="nonuniform_and1";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSample";stage="fragment";cond="nonuniform_and1";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSample";stage="fragment";cond="nonuniform_and2";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSample";stage="fragment";cond="nonuniform_and2";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSample";stage="fragment";cond="nonuniform_and2";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSample";stage="fragment";cond="nonuniform_and2";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSample";stage="fragment";cond="uniform_func_var";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSample";stage="fragment";cond="uniform_func_var";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSample";stage="fragment";cond="uniform_func_var";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSample";stage="fragment";cond="uniform_func_var";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSample";stage="fragment";cond="nonuniform_func_var";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSample";stage="fragment";cond="nonuniform_func_var";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSample";stage="fragment";cond="nonuniform_func_var";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSample";stage="fragment";cond="nonuniform_func_var";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleBias";stage="fragment";cond="uniform_storage_ro";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleBias";stage="fragment";cond="uniform_storage_ro";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleBias";stage="fragment";cond="uniform_storage_ro";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleBias";stage="fragment";cond="uniform_storage_ro";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleBias";stage="fragment";cond="nonuniform_storage_ro";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleBias";stage="fragment";cond="nonuniform_storage_ro";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleBias";stage="fragment";cond="nonuniform_storage_ro";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleBias";stage="fragment";cond="nonuniform_storage_ro";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleBias";stage="fragment";cond="nonuniform_storage_rw";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleBias";stage="fragment";cond="nonuniform_storage_rw";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleBias";stage="fragment";cond="nonuniform_storage_rw";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleBias";stage="fragment";cond="nonuniform_storage_rw";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleBias";stage="fragment";cond="nonuniform_builtin";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleBias";stage="fragment";cond="nonuniform_builtin";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleBias";stage="fragment";cond="nonuniform_builtin";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleBias";stage="fragment";cond="nonuniform_builtin";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleBias";stage="fragment";cond="uniform_literal";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleBias";stage="fragment";cond="uniform_literal";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleBias";stage="fragment";cond="uniform_literal";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleBias";stage="fragment";cond="uniform_literal";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleBias";stage="fragment";cond="uniform_const";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleBias";stage="fragment";cond="uniform_const";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleBias";stage="fragment";cond="uniform_const";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleBias";stage="fragment";cond="uniform_const";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleBias";stage="fragment";cond="uniform_override";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleBias";stage="fragment";cond="uniform_override";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleBias";stage="fragment";cond="uniform_override";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleBias";stage="fragment";cond="uniform_override";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleBias";stage="fragment";cond="uniform_let";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleBias";stage="fragment";cond="uniform_let";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleBias";stage="fragment";cond="uniform_let";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleBias";stage="fragment";cond="uniform_let";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleBias";stage="fragment";cond="nonuniform_let";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleBias";stage="fragment";cond="nonuniform_let";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleBias";stage="fragment";cond="nonuniform_let";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleBias";stage="fragment";cond="nonuniform_let";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleBias";stage="fragment";cond="uniform_or";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleBias";stage="fragment";cond="uniform_or";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleBias";stage="fragment";cond="uniform_or";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleBias";stage="fragment";cond="uniform_or";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleBias";stage="fragment";cond="nonuniform_or1";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleBias";stage="fragment";cond="nonuniform_or1";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleBias";stage="fragment";cond="nonuniform_or1";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleBias";stage="fragment";cond="nonuniform_or1";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleBias";stage="fragment";cond="nonuniform_or2";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleBias";stage="fragment";cond="nonuniform_or2";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleBias";stage="fragment";cond="nonuniform_or2";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleBias";stage="fragment";cond="nonuniform_or2";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleBias";stage="fragment";cond="uniform_and";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleBias";stage="fragment";cond="uniform_and";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleBias";stage="fragment";cond="uniform_and";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleBias";stage="fragment";cond="uniform_and";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleBias";stage="fragment";cond="nonuniform_and1";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleBias";stage="fragment";cond="nonuniform_and1";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleBias";stage="fragment";cond="nonuniform_and1";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleBias";stage="fragment";cond="nonuniform_and1";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleBias";stage="fragment";cond="nonuniform_and2";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleBias";stage="fragment";cond="nonuniform_and2";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleBias";stage="fragment";cond="nonuniform_and2";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleBias";stage="fragment";cond="nonuniform_and2";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleBias";stage="fragment";cond="uniform_func_var";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleBias";stage="fragment";cond="uniform_func_var";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleBias";stage="fragment";cond="uniform_func_var";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleBias";stage="fragment";cond="uniform_func_var";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleBias";stage="fragment";cond="nonuniform_func_var";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleBias";stage="fragment";cond="nonuniform_func_var";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleBias";stage="fragment";cond="nonuniform_func_var";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleBias";stage="fragment";cond="nonuniform_func_var";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleCompare";stage="fragment";cond="uniform_storage_ro";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleCompare";stage="fragment";cond="uniform_storage_ro";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleCompare";stage="fragment";cond="uniform_storage_ro";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleCompare";stage="fragment";cond="uniform_storage_ro";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleCompare";stage="fragment";cond="nonuniform_storage_ro";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleCompare";stage="fragment";cond="nonuniform_storage_ro";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleCompare";stage="fragment";cond="nonuniform_storage_ro";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleCompare";stage="fragment";cond="nonuniform_storage_ro";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleCompare";stage="fragment";cond="nonuniform_storage_rw";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleCompare";stage="fragment";cond="nonuniform_storage_rw";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleCompare";stage="fragment";cond="nonuniform_storage_rw";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleCompare";stage="fragment";cond="nonuniform_storage_rw";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleCompare";stage="fragment";cond="nonuniform_builtin";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleCompare";stage="fragment";cond="nonuniform_builtin";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleCompare";stage="fragment";cond="nonuniform_builtin";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleCompare";stage="fragment";cond="nonuniform_builtin";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleCompare";stage="fragment";cond="uniform_literal";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleCompare";stage="fragment";cond="uniform_literal";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleCompare";stage="fragment";cond="uniform_literal";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleCompare";stage="fragment";cond="uniform_literal";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleCompare";stage="fragment";cond="uniform_const";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleCompare";stage="fragment";cond="uniform_const";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleCompare";stage="fragment";cond="uniform_const";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleCompare";stage="fragment";cond="uniform_const";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleCompare";stage="fragment";cond="uniform_override";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleCompare";stage="fragment";cond="uniform_override";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleCompare";stage="fragment";cond="uniform_override";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleCompare";stage="fragment";cond="uniform_override";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleCompare";stage="fragment";cond="uniform_let";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleCompare";stage="fragment";cond="uniform_let";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleCompare";stage="fragment";cond="uniform_let";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleCompare";stage="fragment";cond="uniform_let";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleCompare";stage="fragment";cond="nonuniform_let";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleCompare";stage="fragment";cond="nonuniform_let";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleCompare";stage="fragment";cond="nonuniform_let";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleCompare";stage="fragment";cond="nonuniform_let";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleCompare";stage="fragment";cond="uniform_or";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleCompare";stage="fragment";cond="uniform_or";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleCompare";stage="fragment";cond="uniform_or";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleCompare";stage="fragment";cond="uniform_or";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleCompare";stage="fragment";cond="nonuniform_or1";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleCompare";stage="fragment";cond="nonuniform_or1";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleCompare";stage="fragment";cond="nonuniform_or1";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleCompare";stage="fragment";cond="nonuniform_or1";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleCompare";stage="fragment";cond="nonuniform_or2";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleCompare";stage="fragment";cond="nonuniform_or2";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleCompare";stage="fragment";cond="nonuniform_or2";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleCompare";stage="fragment";cond="nonuniform_or2";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleCompare";stage="fragment";cond="uniform_and";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleCompare";stage="fragment";cond="uniform_and";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleCompare";stage="fragment";cond="uniform_and";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleCompare";stage="fragment";cond="uniform_and";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleCompare";stage="fragment";cond="nonuniform_and1";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleCompare";stage="fragment";cond="nonuniform_and1";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleCompare";stage="fragment";cond="nonuniform_and1";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleCompare";stage="fragment";cond="nonuniform_and1";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleCompare";stage="fragment";cond="nonuniform_and2";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleCompare";stage="fragment";cond="nonuniform_and2";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleCompare";stage="fragment";cond="nonuniform_and2";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleCompare";stage="fragment";cond="nonuniform_and2";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleCompare";stage="fragment";cond="uniform_func_var";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleCompare";stage="fragment";cond="uniform_func_var";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleCompare";stage="fragment";cond="uniform_func_var";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleCompare";stage="fragment";cond="uniform_func_var";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleCompare";stage="fragment";cond="nonuniform_func_var";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleCompare";stage="fragment";cond="nonuniform_func_var";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleCompare";stage="fragment";cond="nonuniform_func_var";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="textureSampleCompare";stage="fragment";cond="nonuniform_func_var";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdx";stage="fragment";cond="uniform_storage_ro";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdx";stage="fragment";cond="uniform_storage_ro";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdx";stage="fragment";cond="uniform_storage_ro";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdx";stage="fragment";cond="uniform_storage_ro";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdx";stage="fragment";cond="nonuniform_storage_ro";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdx";stage="fragment";cond="nonuniform_storage_ro";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdx";stage="fragment";cond="nonuniform_storage_ro";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdx";stage="fragment";cond="nonuniform_storage_ro";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdx";stage="fragment";cond="nonuniform_storage_rw";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdx";stage="fragment";cond="nonuniform_storage_rw";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdx";stage="fragment";cond="nonuniform_storage_rw";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdx";stage="fragment";cond="nonuniform_storage_rw";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdx";stage="fragment";cond="nonuniform_builtin";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdx";stage="fragment";cond="nonuniform_builtin";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdx";stage="fragment";cond="nonuniform_builtin";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdx";stage="fragment";cond="nonuniform_builtin";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdx";stage="fragment";cond="uniform_literal";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdx";stage="fragment";cond="uniform_literal";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdx";stage="fragment";cond="uniform_literal";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdx";stage="fragment";cond="uniform_literal";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdx";stage="fragment";cond="uniform_const";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdx";stage="fragment";cond="uniform_const";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdx";stage="fragment";cond="uniform_const";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdx";stage="fragment";cond="uniform_const";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdx";stage="fragment";cond="uniform_override";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdx";stage="fragment";cond="uniform_override";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdx";stage="fragment";cond="uniform_override";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdx";stage="fragment";cond="uniform_override";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdx";stage="fragment";cond="uniform_let";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdx";stage="fragment";cond="uniform_let";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdx";stage="fragment";cond="uniform_let";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdx";stage="fragment";cond="uniform_let";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdx";stage="fragment";cond="nonuniform_let";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdx";stage="fragment";cond="nonuniform_let";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdx";stage="fragment";cond="nonuniform_let";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdx";stage="fragment";cond="nonuniform_let";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdx";stage="fragment";cond="uniform_or";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdx";stage="fragment";cond="uniform_or";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdx";stage="fragment";cond="uniform_or";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdx";stage="fragment";cond="uniform_or";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdx";stage="fragment";cond="nonuniform_or1";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdx";stage="fragment";cond="nonuniform_or1";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdx";stage="fragment";cond="nonuniform_or1";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdx";stage="fragment";cond="nonuniform_or1";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdx";stage="fragment";cond="nonuniform_or2";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdx";stage="fragment";cond="nonuniform_or2";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdx";stage="fragment";cond="nonuniform_or2";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdx";stage="fragment";cond="nonuniform_or2";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdx";stage="fragment";cond="uniform_and";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdx";stage="fragment";cond="uniform_and";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdx";stage="fragment";cond="uniform_and";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdx";stage="fragment";cond="uniform_and";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdx";stage="fragment";cond="nonuniform_and1";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdx";stage="fragment";cond="nonuniform_and1";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdx";stage="fragment";cond="nonuniform_and1";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdx";stage="fragment";cond="nonuniform_and1";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdx";stage="fragment";cond="nonuniform_and2";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdx";stage="fragment";cond="nonuniform_and2";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdx";stage="fragment";cond="nonuniform_and2";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdx";stage="fragment";cond="nonuniform_and2";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdx";stage="fragment";cond="uniform_func_var";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdx";stage="fragment";cond="uniform_func_var";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdx";stage="fragment";cond="uniform_func_var";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdx";stage="fragment";cond="uniform_func_var";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdx";stage="fragment";cond="nonuniform_func_var";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdx";stage="fragment";cond="nonuniform_func_var";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdx";stage="fragment";cond="nonuniform_func_var";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdx";stage="fragment";cond="nonuniform_func_var";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxCoarse";stage="fragment";cond="uniform_storage_ro";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxCoarse";stage="fragment";cond="uniform_storage_ro";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxCoarse";stage="fragment";cond="uniform_storage_ro";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxCoarse";stage="fragment";cond="uniform_storage_ro";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxCoarse";stage="fragment";cond="nonuniform_storage_ro";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxCoarse";stage="fragment";cond="nonuniform_storage_ro";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxCoarse";stage="fragment";cond="nonuniform_storage_ro";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxCoarse";stage="fragment";cond="nonuniform_storage_ro";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxCoarse";stage="fragment";cond="nonuniform_storage_rw";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxCoarse";stage="fragment";cond="nonuniform_storage_rw";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxCoarse";stage="fragment";cond="nonuniform_storage_rw";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxCoarse";stage="fragment";cond="nonuniform_storage_rw";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxCoarse";stage="fragment";cond="nonuniform_builtin";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxCoarse";stage="fragment";cond="nonuniform_builtin";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxCoarse";stage="fragment";cond="nonuniform_builtin";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxCoarse";stage="fragment";cond="nonuniform_builtin";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxCoarse";stage="fragment";cond="uniform_literal";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxCoarse";stage="fragment";cond="uniform_literal";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxCoarse";stage="fragment";cond="uniform_literal";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxCoarse";stage="fragment";cond="uniform_literal";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxCoarse";stage="fragment";cond="uniform_const";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxCoarse";stage="fragment";cond="uniform_const";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxCoarse";stage="fragment";cond="uniform_const";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxCoarse";stage="fragment";cond="uniform_const";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxCoarse";stage="fragment";cond="uniform_override";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxCoarse";stage="fragment";cond="uniform_override";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxCoarse";stage="fragment";cond="uniform_override";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxCoarse";stage="fragment";cond="uniform_override";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxCoarse";stage="fragment";cond="uniform_let";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxCoarse";stage="fragment";cond="uniform_let";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxCoarse";stage="fragment";cond="uniform_let";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxCoarse";stage="fragment";cond="uniform_let";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxCoarse";stage="fragment";cond="nonuniform_let";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxCoarse";stage="fragment";cond="nonuniform_let";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxCoarse";stage="fragment";cond="nonuniform_let";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxCoarse";stage="fragment";cond="nonuniform_let";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxCoarse";stage="fragment";cond="uniform_or";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxCoarse";stage="fragment";cond="uniform_or";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxCoarse";stage="fragment";cond="uniform_or";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxCoarse";stage="fragment";cond="uniform_or";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxCoarse";stage="fragment";cond="nonuniform_or1";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxCoarse";stage="fragment";cond="nonuniform_or1";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxCoarse";stage="fragment";cond="nonuniform_or1";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxCoarse";stage="fragment";cond="nonuniform_or1";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxCoarse";stage="fragment";cond="nonuniform_or2";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxCoarse";stage="fragment";cond="nonuniform_or2";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxCoarse";stage="fragment";cond="nonuniform_or2";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxCoarse";stage="fragment";cond="nonuniform_or2";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxCoarse";stage="fragment";cond="uniform_and";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxCoarse";stage="fragment";cond="uniform_and";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxCoarse";stage="fragment";cond="uniform_and";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxCoarse";stage="fragment";cond="uniform_and";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxCoarse";stage="fragment";cond="nonuniform_and1";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxCoarse";stage="fragment";cond="nonuniform_and1";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxCoarse";stage="fragment";cond="nonuniform_and1";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxCoarse";stage="fragment";cond="nonuniform_and1";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxCoarse";stage="fragment";cond="nonuniform_and2";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxCoarse";stage="fragment";cond="nonuniform_and2";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxCoarse";stage="fragment";cond="nonuniform_and2";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxCoarse";stage="fragment";cond="nonuniform_and2";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxCoarse";stage="fragment";cond="uniform_func_var";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxCoarse";stage="fragment";cond="uniform_func_var";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxCoarse";stage="fragment";cond="uniform_func_var";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxCoarse";stage="fragment";cond="uniform_func_var";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxCoarse";stage="fragment";cond="nonuniform_func_var";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxCoarse";stage="fragment";cond="nonuniform_func_var";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxCoarse";stage="fragment";cond="nonuniform_func_var";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxCoarse";stage="fragment";cond="nonuniform_func_var";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxFine";stage="fragment";cond="uniform_storage_ro";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxFine";stage="fragment";cond="uniform_storage_ro";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxFine";stage="fragment";cond="uniform_storage_ro";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxFine";stage="fragment";cond="uniform_storage_ro";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxFine";stage="fragment";cond="nonuniform_storage_ro";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxFine";stage="fragment";cond="nonuniform_storage_ro";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxFine";stage="fragment";cond="nonuniform_storage_ro";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxFine";stage="fragment";cond="nonuniform_storage_ro";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxFine";stage="fragment";cond="nonuniform_storage_rw";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxFine";stage="fragment";cond="nonuniform_storage_rw";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxFine";stage="fragment";cond="nonuniform_storage_rw";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxFine";stage="fragment";cond="nonuniform_storage_rw";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxFine";stage="fragment";cond="nonuniform_builtin";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxFine";stage="fragment";cond="nonuniform_builtin";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxFine";stage="fragment";cond="nonuniform_builtin";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxFine";stage="fragment";cond="nonuniform_builtin";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxFine";stage="fragment";cond="uniform_literal";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxFine";stage="fragment";cond="uniform_literal";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxFine";stage="fragment";cond="uniform_literal";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxFine";stage="fragment";cond="uniform_literal";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxFine";stage="fragment";cond="uniform_const";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxFine";stage="fragment";cond="uniform_const";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxFine";stage="fragment";cond="uniform_const";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxFine";stage="fragment";cond="uniform_const";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxFine";stage="fragment";cond="uniform_override";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxFine";stage="fragment";cond="uniform_override";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxFine";stage="fragment";cond="uniform_override";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxFine";stage="fragment";cond="uniform_override";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxFine";stage="fragment";cond="uniform_let";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxFine";stage="fragment";cond="uniform_let";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxFine";stage="fragment";cond="uniform_let";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxFine";stage="fragment";cond="uniform_let";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxFine";stage="fragment";cond="nonuniform_let";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxFine";stage="fragment";cond="nonuniform_let";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxFine";stage="fragment";cond="nonuniform_let";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxFine";stage="fragment";cond="nonuniform_let";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxFine";stage="fragment";cond="uniform_or";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxFine";stage="fragment";cond="uniform_or";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxFine";stage="fragment";cond="uniform_or";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxFine";stage="fragment";cond="uniform_or";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxFine";stage="fragment";cond="nonuniform_or1";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxFine";stage="fragment";cond="nonuniform_or1";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxFine";stage="fragment";cond="nonuniform_or1";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxFine";stage="fragment";cond="nonuniform_or1";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxFine";stage="fragment";cond="nonuniform_or2";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxFine";stage="fragment";cond="nonuniform_or2";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxFine";stage="fragment";cond="nonuniform_or2";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxFine";stage="fragment";cond="nonuniform_or2";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxFine";stage="fragment";cond="uniform_and";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxFine";stage="fragment";cond="uniform_and";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxFine";stage="fragment";cond="uniform_and";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxFine";stage="fragment";cond="uniform_and";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxFine";stage="fragment";cond="nonuniform_and1";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxFine";stage="fragment";cond="nonuniform_and1";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxFine";stage="fragment";cond="nonuniform_and1";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxFine";stage="fragment";cond="nonuniform_and1";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxFine";stage="fragment";cond="nonuniform_and2";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxFine";stage="fragment";cond="nonuniform_and2";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxFine";stage="fragment";cond="nonuniform_and2";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxFine";stage="fragment";cond="nonuniform_and2";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxFine";stage="fragment";cond="uniform_func_var";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxFine";stage="fragment";cond="uniform_func_var";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxFine";stage="fragment";cond="uniform_func_var";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxFine";stage="fragment";cond="uniform_func_var";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxFine";stage="fragment";cond="nonuniform_func_var";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxFine";stage="fragment";cond="nonuniform_func_var";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxFine";stage="fragment";cond="nonuniform_func_var";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdxFine";stage="fragment";cond="nonuniform_func_var";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdy";stage="fragment";cond="uniform_storage_ro";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdy";stage="fragment";cond="uniform_storage_ro";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdy";stage="fragment";cond="uniform_storage_ro";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdy";stage="fragment";cond="uniform_storage_ro";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdy";stage="fragment";cond="nonuniform_storage_ro";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdy";stage="fragment";cond="nonuniform_storage_ro";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdy";stage="fragment";cond="nonuniform_storage_ro";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdy";stage="fragment";cond="nonuniform_storage_ro";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdy";stage="fragment";cond="nonuniform_storage_rw";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdy";stage="fragment";cond="nonuniform_storage_rw";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdy";stage="fragment";cond="nonuniform_storage_rw";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdy";stage="fragment";cond="nonuniform_storage_rw";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdy";stage="fragment";cond="nonuniform_builtin";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdy";stage="fragment";cond="nonuniform_builtin";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdy";stage="fragment";cond="nonuniform_builtin";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdy";stage="fragment";cond="nonuniform_builtin";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdy";stage="fragment";cond="uniform_literal";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdy";stage="fragment";cond="uniform_literal";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdy";stage="fragment";cond="uniform_literal";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdy";stage="fragment";cond="uniform_literal";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdy";stage="fragment";cond="uniform_const";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdy";stage="fragment";cond="uniform_const";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdy";stage="fragment";cond="uniform_const";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdy";stage="fragment";cond="uniform_const";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdy";stage="fragment";cond="uniform_override";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdy";stage="fragment";cond="uniform_override";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdy";stage="fragment";cond="uniform_override";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdy";stage="fragment";cond="uniform_override";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdy";stage="fragment";cond="uniform_let";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdy";stage="fragment";cond="uniform_let";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdy";stage="fragment";cond="uniform_let";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdy";stage="fragment";cond="uniform_let";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdy";stage="fragment";cond="nonuniform_let";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdy";stage="fragment";cond="nonuniform_let";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdy";stage="fragment";cond="nonuniform_let";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdy";stage="fragment";cond="nonuniform_let";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdy";stage="fragment";cond="uniform_or";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdy";stage="fragment";cond="uniform_or";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdy";stage="fragment";cond="uniform_or";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdy";stage="fragment";cond="uniform_or";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdy";stage="fragment";cond="nonuniform_or1";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdy";stage="fragment";cond="nonuniform_or1";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdy";stage="fragment";cond="nonuniform_or1";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdy";stage="fragment";cond="nonuniform_or1";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdy";stage="fragment";cond="nonuniform_or2";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdy";stage="fragment";cond="nonuniform_or2";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdy";stage="fragment";cond="nonuniform_or2";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdy";stage="fragment";cond="nonuniform_or2";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdy";stage="fragment";cond="uniform_and";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdy";stage="fragment";cond="uniform_and";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdy";stage="fragment";cond="uniform_and";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdy";stage="fragment";cond="uniform_and";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdy";stage="fragment";cond="nonuniform_and1";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdy";stage="fragment";cond="nonuniform_and1";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdy";stage="fragment";cond="nonuniform_and1";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdy";stage="fragment";cond="nonuniform_and1";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdy";stage="fragment";cond="nonuniform_and2";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdy";stage="fragment";cond="nonuniform_and2";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdy";stage="fragment";cond="nonuniform_and2";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdy";stage="fragment";cond="nonuniform_and2";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdy";stage="fragment";cond="uniform_func_var";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdy";stage="fragment";cond="uniform_func_var";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdy";stage="fragment";cond="uniform_func_var";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdy";stage="fragment";cond="uniform_func_var";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdy";stage="fragment";cond="nonuniform_func_var";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdy";stage="fragment";cond="nonuniform_func_var";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdy";stage="fragment";cond="nonuniform_func_var";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdy";stage="fragment";cond="nonuniform_func_var";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyCoarse";stage="fragment";cond="uniform_storage_ro";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyCoarse";stage="fragment";cond="uniform_storage_ro";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyCoarse";stage="fragment";cond="uniform_storage_ro";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyCoarse";stage="fragment";cond="uniform_storage_ro";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyCoarse";stage="fragment";cond="nonuniform_storage_ro";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyCoarse";stage="fragment";cond="nonuniform_storage_ro";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyCoarse";stage="fragment";cond="nonuniform_storage_ro";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyCoarse";stage="fragment";cond="nonuniform_storage_ro";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyCoarse";stage="fragment";cond="nonuniform_storage_rw";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyCoarse";stage="fragment";cond="nonuniform_storage_rw";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyCoarse";stage="fragment";cond="nonuniform_storage_rw";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyCoarse";stage="fragment";cond="nonuniform_storage_rw";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyCoarse";stage="fragment";cond="nonuniform_builtin";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyCoarse";stage="fragment";cond="nonuniform_builtin";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyCoarse";stage="fragment";cond="nonuniform_builtin";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyCoarse";stage="fragment";cond="nonuniform_builtin";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyCoarse";stage="fragment";cond="uniform_literal";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyCoarse";stage="fragment";cond="uniform_literal";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyCoarse";stage="fragment";cond="uniform_literal";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyCoarse";stage="fragment";cond="uniform_literal";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyCoarse";stage="fragment";cond="uniform_const";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyCoarse";stage="fragment";cond="uniform_const";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyCoarse";stage="fragment";cond="uniform_const";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyCoarse";stage="fragment";cond="uniform_const";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyCoarse";stage="fragment";cond="uniform_override";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyCoarse";stage="fragment";cond="uniform_override";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyCoarse";stage="fragment";cond="uniform_override";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyCoarse";stage="fragment";cond="uniform_override";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyCoarse";stage="fragment";cond="uniform_let";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyCoarse";stage="fragment";cond="uniform_let";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyCoarse";stage="fragment";cond="uniform_let";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyCoarse";stage="fragment";cond="uniform_let";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyCoarse";stage="fragment";cond="nonuniform_let";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyCoarse";stage="fragment";cond="nonuniform_let";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyCoarse";stage="fragment";cond="nonuniform_let";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyCoarse";stage="fragment";cond="nonuniform_let";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyCoarse";stage="fragment";cond="uniform_or";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyCoarse";stage="fragment";cond="uniform_or";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyCoarse";stage="fragment";cond="uniform_or";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyCoarse";stage="fragment";cond="uniform_or";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyCoarse";stage="fragment";cond="nonuniform_or1";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyCoarse";stage="fragment";cond="nonuniform_or1";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyCoarse";stage="fragment";cond="nonuniform_or1";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyCoarse";stage="fragment";cond="nonuniform_or1";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyCoarse";stage="fragment";cond="nonuniform_or2";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyCoarse";stage="fragment";cond="nonuniform_or2";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyCoarse";stage="fragment";cond="nonuniform_or2";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyCoarse";stage="fragment";cond="nonuniform_or2";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyCoarse";stage="fragment";cond="uniform_and";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyCoarse";stage="fragment";cond="uniform_and";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyCoarse";stage="fragment";cond="uniform_and";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyCoarse";stage="fragment";cond="uniform_and";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyCoarse";stage="fragment";cond="nonuniform_and1";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyCoarse";stage="fragment";cond="nonuniform_and1";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyCoarse";stage="fragment";cond="nonuniform_and1";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyCoarse";stage="fragment";cond="nonuniform_and1";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyCoarse";stage="fragment";cond="nonuniform_and2";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyCoarse";stage="fragment";cond="nonuniform_and2";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyCoarse";stage="fragment";cond="nonuniform_and2";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyCoarse";stage="fragment";cond="nonuniform_and2";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyCoarse";stage="fragment";cond="uniform_func_var";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyCoarse";stage="fragment";cond="uniform_func_var";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyCoarse";stage="fragment";cond="uniform_func_var";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyCoarse";stage="fragment";cond="uniform_func_var";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyCoarse";stage="fragment";cond="nonuniform_func_var";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyCoarse";stage="fragment";cond="nonuniform_func_var";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyCoarse";stage="fragment";cond="nonuniform_func_var";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyCoarse";stage="fragment";cond="nonuniform_func_var";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyFine";stage="fragment";cond="uniform_storage_ro";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyFine";stage="fragment";cond="uniform_storage_ro";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyFine";stage="fragment";cond="uniform_storage_ro";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyFine";stage="fragment";cond="uniform_storage_ro";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyFine";stage="fragment";cond="nonuniform_storage_ro";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyFine";stage="fragment";cond="nonuniform_storage_ro";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyFine";stage="fragment";cond="nonuniform_storage_ro";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyFine";stage="fragment";cond="nonuniform_storage_ro";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyFine";stage="fragment";cond="nonuniform_storage_rw";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyFine";stage="fragment";cond="nonuniform_storage_rw";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyFine";stage="fragment";cond="nonuniform_storage_rw";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyFine";stage="fragment";cond="nonuniform_storage_rw";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyFine";stage="fragment";cond="nonuniform_builtin";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyFine";stage="fragment";cond="nonuniform_builtin";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyFine";stage="fragment";cond="nonuniform_builtin";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyFine";stage="fragment";cond="nonuniform_builtin";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyFine";stage="fragment";cond="uniform_literal";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyFine";stage="fragment";cond="uniform_literal";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyFine";stage="fragment";cond="uniform_literal";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyFine";stage="fragment";cond="uniform_literal";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyFine";stage="fragment";cond="uniform_const";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyFine";stage="fragment";cond="uniform_const";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyFine";stage="fragment";cond="uniform_const";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyFine";stage="fragment";cond="uniform_const";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyFine";stage="fragment";cond="uniform_override";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyFine";stage="fragment";cond="uniform_override";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyFine";stage="fragment";cond="uniform_override";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyFine";stage="fragment";cond="uniform_override";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyFine";stage="fragment";cond="uniform_let";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyFine";stage="fragment";cond="uniform_let";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyFine";stage="fragment";cond="uniform_let";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyFine";stage="fragment";cond="uniform_let";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyFine";stage="fragment";cond="nonuniform_let";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyFine";stage="fragment";cond="nonuniform_let";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyFine";stage="fragment";cond="nonuniform_let";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyFine";stage="fragment";cond="nonuniform_let";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyFine";stage="fragment";cond="uniform_or";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyFine";stage="fragment";cond="uniform_or";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyFine";stage="fragment";cond="uniform_or";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyFine";stage="fragment";cond="uniform_or";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyFine";stage="fragment";cond="nonuniform_or1";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyFine";stage="fragment";cond="nonuniform_or1";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyFine";stage="fragment";cond="nonuniform_or1";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyFine";stage="fragment";cond="nonuniform_or1";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyFine";stage="fragment";cond="nonuniform_or2";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyFine";stage="fragment";cond="nonuniform_or2";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyFine";stage="fragment";cond="nonuniform_or2";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyFine";stage="fragment";cond="nonuniform_or2";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyFine";stage="fragment";cond="uniform_and";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyFine";stage="fragment";cond="uniform_and";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyFine";stage="fragment";cond="uniform_and";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyFine";stage="fragment";cond="uniform_and";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyFine";stage="fragment";cond="nonuniform_and1";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyFine";stage="fragment";cond="nonuniform_and1";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyFine";stage="fragment";cond="nonuniform_and1";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyFine";stage="fragment";cond="nonuniform_and1";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyFine";stage="fragment";cond="nonuniform_and2";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyFine";stage="fragment";cond="nonuniform_and2";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyFine";stage="fragment";cond="nonuniform_and2";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyFine";stage="fragment";cond="nonuniform_and2";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyFine";stage="fragment";cond="uniform_func_var";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyFine";stage="fragment";cond="uniform_func_var";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyFine";stage="fragment";cond="uniform_func_var";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyFine";stage="fragment";cond="uniform_func_var";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyFine";stage="fragment";cond="nonuniform_func_var";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyFine";stage="fragment";cond="nonuniform_func_var";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyFine";stage="fragment";cond="nonuniform_func_var";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="dpdyFine";stage="fragment";cond="nonuniform_func_var";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidth";stage="fragment";cond="uniform_storage_ro";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidth";stage="fragment";cond="uniform_storage_ro";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidth";stage="fragment";cond="uniform_storage_ro";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidth";stage="fragment";cond="uniform_storage_ro";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidth";stage="fragment";cond="nonuniform_storage_ro";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidth";stage="fragment";cond="nonuniform_storage_ro";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidth";stage="fragment";cond="nonuniform_storage_ro";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidth";stage="fragment";cond="nonuniform_storage_ro";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidth";stage="fragment";cond="nonuniform_storage_rw";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidth";stage="fragment";cond="nonuniform_storage_rw";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidth";stage="fragment";cond="nonuniform_storage_rw";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidth";stage="fragment";cond="nonuniform_storage_rw";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidth";stage="fragment";cond="nonuniform_builtin";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidth";stage="fragment";cond="nonuniform_builtin";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidth";stage="fragment";cond="nonuniform_builtin";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidth";stage="fragment";cond="nonuniform_builtin";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidth";stage="fragment";cond="uniform_literal";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidth";stage="fragment";cond="uniform_literal";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidth";stage="fragment";cond="uniform_literal";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidth";stage="fragment";cond="uniform_literal";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidth";stage="fragment";cond="uniform_const";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidth";stage="fragment";cond="uniform_const";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidth";stage="fragment";cond="uniform_const";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidth";stage="fragment";cond="uniform_const";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidth";stage="fragment";cond="uniform_override";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidth";stage="fragment";cond="uniform_override";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidth";stage="fragment";cond="uniform_override";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidth";stage="fragment";cond="uniform_override";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidth";stage="fragment";cond="uniform_let";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidth";stage="fragment";cond="uniform_let";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidth";stage="fragment";cond="uniform_let";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidth";stage="fragment";cond="uniform_let";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidth";stage="fragment";cond="nonuniform_let";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidth";stage="fragment";cond="nonuniform_let";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidth";stage="fragment";cond="nonuniform_let";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidth";stage="fragment";cond="nonuniform_let";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidth";stage="fragment";cond="uniform_or";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidth";stage="fragment";cond="uniform_or";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidth";stage="fragment";cond="uniform_or";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidth";stage="fragment";cond="uniform_or";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidth";stage="fragment";cond="nonuniform_or1";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidth";stage="fragment";cond="nonuniform_or1";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidth";stage="fragment";cond="nonuniform_or1";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidth";stage="fragment";cond="nonuniform_or1";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidth";stage="fragment";cond="nonuniform_or2";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidth";stage="fragment";cond="nonuniform_or2";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidth";stage="fragment";cond="nonuniform_or2";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidth";stage="fragment";cond="nonuniform_or2";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidth";stage="fragment";cond="uniform_and";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidth";stage="fragment";cond="uniform_and";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidth";stage="fragment";cond="uniform_and";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidth";stage="fragment";cond="uniform_and";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidth";stage="fragment";cond="nonuniform_and1";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidth";stage="fragment";cond="nonuniform_and1";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidth";stage="fragment";cond="nonuniform_and1";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidth";stage="fragment";cond="nonuniform_and1";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidth";stage="fragment";cond="nonuniform_and2";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidth";stage="fragment";cond="nonuniform_and2";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidth";stage="fragment";cond="nonuniform_and2";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidth";stage="fragment";cond="nonuniform_and2";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidth";stage="fragment";cond="uniform_func_var";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidth";stage="fragment";cond="uniform_func_var";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidth";stage="fragment";cond="uniform_func_var";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidth";stage="fragment";cond="uniform_func_var";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidth";stage="fragment";cond="nonuniform_func_var";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidth";stage="fragment";cond="nonuniform_func_var";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidth";stage="fragment";cond="nonuniform_func_var";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidth";stage="fragment";cond="nonuniform_func_var";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthCoarse";stage="fragment";cond="uniform_storage_ro";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthCoarse";stage="fragment";cond="uniform_storage_ro";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthCoarse";stage="fragment";cond="uniform_storage_ro";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthCoarse";stage="fragment";cond="uniform_storage_ro";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthCoarse";stage="fragment";cond="nonuniform_storage_ro";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthCoarse";stage="fragment";cond="nonuniform_storage_ro";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthCoarse";stage="fragment";cond="nonuniform_storage_ro";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthCoarse";stage="fragment";cond="nonuniform_storage_ro";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthCoarse";stage="fragment";cond="nonuniform_storage_rw";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthCoarse";stage="fragment";cond="nonuniform_storage_rw";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthCoarse";stage="fragment";cond="nonuniform_storage_rw";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthCoarse";stage="fragment";cond="nonuniform_storage_rw";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthCoarse";stage="fragment";cond="nonuniform_builtin";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthCoarse";stage="fragment";cond="nonuniform_builtin";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthCoarse";stage="fragment";cond="nonuniform_builtin";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthCoarse";stage="fragment";cond="nonuniform_builtin";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthCoarse";stage="fragment";cond="uniform_literal";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthCoarse";stage="fragment";cond="uniform_literal";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthCoarse";stage="fragment";cond="uniform_literal";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthCoarse";stage="fragment";cond="uniform_literal";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthCoarse";stage="fragment";cond="uniform_const";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthCoarse";stage="fragment";cond="uniform_const";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthCoarse";stage="fragment";cond="uniform_const";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthCoarse";stage="fragment";cond="uniform_const";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthCoarse";stage="fragment";cond="uniform_override";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthCoarse";stage="fragment";cond="uniform_override";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthCoarse";stage="fragment";cond="uniform_override";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthCoarse";stage="fragment";cond="uniform_override";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthCoarse";stage="fragment";cond="uniform_let";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthCoarse";stage="fragment";cond="uniform_let";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthCoarse";stage="fragment";cond="uniform_let";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthCoarse";stage="fragment";cond="uniform_let";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthCoarse";stage="fragment";cond="nonuniform_let";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthCoarse";stage="fragment";cond="nonuniform_let";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthCoarse";stage="fragment";cond="nonuniform_let";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthCoarse";stage="fragment";cond="nonuniform_let";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthCoarse";stage="fragment";cond="uniform_or";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthCoarse";stage="fragment";cond="uniform_or";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthCoarse";stage="fragment";cond="uniform_or";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthCoarse";stage="fragment";cond="uniform_or";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthCoarse";stage="fragment";cond="nonuniform_or1";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthCoarse";stage="fragment";cond="nonuniform_or1";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthCoarse";stage="fragment";cond="nonuniform_or1";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthCoarse";stage="fragment";cond="nonuniform_or1";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthCoarse";stage="fragment";cond="nonuniform_or2";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthCoarse";stage="fragment";cond="nonuniform_or2";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthCoarse";stage="fragment";cond="nonuniform_or2";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthCoarse";stage="fragment";cond="nonuniform_or2";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthCoarse";stage="fragment";cond="uniform_and";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthCoarse";stage="fragment";cond="uniform_and";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthCoarse";stage="fragment";cond="uniform_and";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthCoarse";stage="fragment";cond="uniform_and";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthCoarse";stage="fragment";cond="nonuniform_and1";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthCoarse";stage="fragment";cond="nonuniform_and1";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthCoarse";stage="fragment";cond="nonuniform_and1";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthCoarse";stage="fragment";cond="nonuniform_and1";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthCoarse";stage="fragment";cond="nonuniform_and2";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthCoarse";stage="fragment";cond="nonuniform_and2";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthCoarse";stage="fragment";cond="nonuniform_and2";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthCoarse";stage="fragment";cond="nonuniform_and2";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthCoarse";stage="fragment";cond="uniform_func_var";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthCoarse";stage="fragment";cond="uniform_func_var";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthCoarse";stage="fragment";cond="uniform_func_var";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthCoarse";stage="fragment";cond="uniform_func_var";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthCoarse";stage="fragment";cond="nonuniform_func_var";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthCoarse";stage="fragment";cond="nonuniform_func_var";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthCoarse";stage="fragment";cond="nonuniform_func_var";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthCoarse";stage="fragment";cond="nonuniform_func_var";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthFine";stage="fragment";cond="uniform_storage_ro";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthFine";stage="fragment";cond="uniform_storage_ro";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthFine";stage="fragment";cond="uniform_storage_ro";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthFine";stage="fragment";cond="uniform_storage_ro";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthFine";stage="fragment";cond="nonuniform_storage_ro";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthFine";stage="fragment";cond="nonuniform_storage_ro";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthFine";stage="fragment";cond="nonuniform_storage_ro";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthFine";stage="fragment";cond="nonuniform_storage_ro";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthFine";stage="fragment";cond="nonuniform_storage_rw";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthFine";stage="fragment";cond="nonuniform_storage_rw";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthFine";stage="fragment";cond="nonuniform_storage_rw";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthFine";stage="fragment";cond="nonuniform_storage_rw";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthFine";stage="fragment";cond="nonuniform_builtin";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthFine";stage="fragment";cond="nonuniform_builtin";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthFine";stage="fragment";cond="nonuniform_builtin";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthFine";stage="fragment";cond="nonuniform_builtin";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthFine";stage="fragment";cond="uniform_literal";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthFine";stage="fragment";cond="uniform_literal";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthFine";stage="fragment";cond="uniform_literal";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthFine";stage="fragment";cond="uniform_literal";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthFine";stage="fragment";cond="uniform_const";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthFine";stage="fragment";cond="uniform_const";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthFine";stage="fragment";cond="uniform_const";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthFine";stage="fragment";cond="uniform_const";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthFine";stage="fragment";cond="uniform_override";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthFine";stage="fragment";cond="uniform_override";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthFine";stage="fragment";cond="uniform_override";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthFine";stage="fragment";cond="uniform_override";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthFine";stage="fragment";cond="uniform_let";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthFine";stage="fragment";cond="uniform_let";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthFine";stage="fragment";cond="uniform_let";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthFine";stage="fragment";cond="uniform_let";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthFine";stage="fragment";cond="nonuniform_let";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthFine";stage="fragment";cond="nonuniform_let";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthFine";stage="fragment";cond="nonuniform_let";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthFine";stage="fragment";cond="nonuniform_let";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthFine";stage="fragment";cond="uniform_or";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthFine";stage="fragment";cond="uniform_or";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthFine";stage="fragment";cond="uniform_or";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthFine";stage="fragment";cond="uniform_or";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthFine";stage="fragment";cond="nonuniform_or1";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthFine";stage="fragment";cond="nonuniform_or1";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthFine";stage="fragment";cond="nonuniform_or1";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthFine";stage="fragment";cond="nonuniform_or1";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthFine";stage="fragment";cond="nonuniform_or2";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthFine";stage="fragment";cond="nonuniform_or2";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthFine";stage="fragment";cond="nonuniform_or2";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthFine";stage="fragment";cond="nonuniform_or2";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthFine";stage="fragment";cond="uniform_and";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthFine";stage="fragment";cond="uniform_and";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthFine";stage="fragment";cond="uniform_and";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthFine";stage="fragment";cond="uniform_and";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthFine";stage="fragment";cond="nonuniform_and1";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthFine";stage="fragment";cond="nonuniform_and1";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthFine";stage="fragment";cond="nonuniform_and1";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthFine";stage="fragment";cond="nonuniform_and1";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthFine";stage="fragment";cond="nonuniform_and2";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthFine";stage="fragment";cond="nonuniform_and2";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthFine";stage="fragment";cond="nonuniform_and2";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthFine";stage="fragment";cond="nonuniform_and2";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthFine";stage="fragment";cond="uniform_func_var";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthFine";stage="fragment";cond="uniform_func_var";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthFine";stage="fragment";cond="uniform_func_var";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthFine";stage="fragment";cond="uniform_func_var";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthFine";stage="fragment";cond="nonuniform_func_var";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthFine";stage="fragment";cond="nonuniform_func_var";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthFine";stage="fragment";cond="nonuniform_func_var";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="fwidthFine";stage="fragment";cond="nonuniform_func_var";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="storageBarrier";stage="compute";cond="uniform_storage_ro";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="storageBarrier";stage="compute";cond="uniform_storage_ro";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="storageBarrier";stage="compute";cond="uniform_storage_ro";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="storageBarrier";stage="compute";cond="uniform_storage_ro";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="storageBarrier";stage="compute";cond="nonuniform_storage_ro";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="storageBarrier";stage="compute";cond="nonuniform_storage_ro";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="storageBarrier";stage="compute";cond="nonuniform_storage_ro";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="storageBarrier";stage="compute";cond="nonuniform_storage_ro";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="storageBarrier";stage="compute";cond="nonuniform_storage_rw";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="storageBarrier";stage="compute";cond="nonuniform_storage_rw";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="storageBarrier";stage="compute";cond="nonuniform_storage_rw";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="storageBarrier";stage="compute";cond="nonuniform_storage_rw";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="storageBarrier";stage="compute";cond="nonuniform_builtin";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="storageBarrier";stage="compute";cond="nonuniform_builtin";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="storageBarrier";stage="compute";cond="nonuniform_builtin";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="storageBarrier";stage="compute";cond="nonuniform_builtin";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="storageBarrier";stage="compute";cond="uniform_literal";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="storageBarrier";stage="compute";cond="uniform_literal";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="storageBarrier";stage="compute";cond="uniform_literal";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="storageBarrier";stage="compute";cond="uniform_literal";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="storageBarrier";stage="compute";cond="uniform_const";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="storageBarrier";stage="compute";cond="uniform_const";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="storageBarrier";stage="compute";cond="uniform_const";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="storageBarrier";stage="compute";cond="uniform_const";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="storageBarrier";stage="compute";cond="uniform_override";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="storageBarrier";stage="compute";cond="uniform_override";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="storageBarrier";stage="compute";cond="uniform_override";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="storageBarrier";stage="compute";cond="uniform_override";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="storageBarrier";stage="compute";cond="uniform_let";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="storageBarrier";stage="compute";cond="uniform_let";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="storageBarrier";stage="compute";cond="uniform_let";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="storageBarrier";stage="compute";cond="uniform_let";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="storageBarrier";stage="compute";cond="nonuniform_let";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="storageBarrier";stage="compute";cond="nonuniform_let";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="storageBarrier";stage="compute";cond="nonuniform_let";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="storageBarrier";stage="compute";cond="nonuniform_let";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="storageBarrier";stage="compute";cond="uniform_or";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="storageBarrier";stage="compute";cond="uniform_or";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="storageBarrier";stage="compute";cond="uniform_or";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="storageBarrier";stage="compute";cond="uniform_or";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="storageBarrier";stage="compute";cond="nonuniform_or1";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="storageBarrier";stage="compute";cond="nonuniform_or1";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="storageBarrier";stage="compute";cond="nonuniform_or1";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="storageBarrier";stage="compute";cond="nonuniform_or1";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="storageBarrier";stage="compute";cond="nonuniform_or2";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="storageBarrier";stage="compute";cond="nonuniform_or2";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="storageBarrier";stage="compute";cond="nonuniform_or2";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="storageBarrier";stage="compute";cond="nonuniform_or2";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="storageBarrier";stage="compute";cond="uniform_and";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="storageBarrier";stage="compute";cond="uniform_and";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="storageBarrier";stage="compute";cond="uniform_and";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="storageBarrier";stage="compute";cond="uniform_and";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="storageBarrier";stage="compute";cond="nonuniform_and1";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="storageBarrier";stage="compute";cond="nonuniform_and1";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="storageBarrier";stage="compute";cond="nonuniform_and1";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="storageBarrier";stage="compute";cond="nonuniform_and1";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="storageBarrier";stage="compute";cond="nonuniform_and2";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="storageBarrier";stage="compute";cond="nonuniform_and2";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="storageBarrier";stage="compute";cond="nonuniform_and2";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="storageBarrier";stage="compute";cond="nonuniform_and2";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="storageBarrier";stage="compute";cond="uniform_func_var";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="storageBarrier";stage="compute";cond="uniform_func_var";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="storageBarrier";stage="compute";cond="uniform_func_var";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="storageBarrier";stage="compute";cond="uniform_func_var";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="storageBarrier";stage="compute";cond="nonuniform_func_var";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="storageBarrier";stage="compute";cond="nonuniform_func_var";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="storageBarrier";stage="compute";cond="nonuniform_func_var";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="storageBarrier";stage="compute";cond="nonuniform_func_var";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupBarrier";stage="compute";cond="uniform_storage_ro";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupBarrier";stage="compute";cond="uniform_storage_ro";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupBarrier";stage="compute";cond="uniform_storage_ro";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupBarrier";stage="compute";cond="uniform_storage_ro";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupBarrier";stage="compute";cond="nonuniform_storage_ro";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupBarrier";stage="compute";cond="nonuniform_storage_ro";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupBarrier";stage="compute";cond="nonuniform_storage_ro";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupBarrier";stage="compute";cond="nonuniform_storage_ro";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupBarrier";stage="compute";cond="nonuniform_storage_rw";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupBarrier";stage="compute";cond="nonuniform_storage_rw";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupBarrier";stage="compute";cond="nonuniform_storage_rw";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupBarrier";stage="compute";cond="nonuniform_storage_rw";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupBarrier";stage="compute";cond="nonuniform_builtin";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupBarrier";stage="compute";cond="nonuniform_builtin";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupBarrier";stage="compute";cond="nonuniform_builtin";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupBarrier";stage="compute";cond="nonuniform_builtin";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupBarrier";stage="compute";cond="uniform_literal";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupBarrier";stage="compute";cond="uniform_literal";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupBarrier";stage="compute";cond="uniform_literal";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupBarrier";stage="compute";cond="uniform_literal";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupBarrier";stage="compute";cond="uniform_const";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupBarrier";stage="compute";cond="uniform_const";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupBarrier";stage="compute";cond="uniform_const";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupBarrier";stage="compute";cond="uniform_const";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupBarrier";stage="compute";cond="uniform_override";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupBarrier";stage="compute";cond="uniform_override";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupBarrier";stage="compute";cond="uniform_override";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupBarrier";stage="compute";cond="uniform_override";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupBarrier";stage="compute";cond="uniform_let";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupBarrier";stage="compute";cond="uniform_let";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupBarrier";stage="compute";cond="uniform_let";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupBarrier";stage="compute";cond="uniform_let";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupBarrier";stage="compute";cond="nonuniform_let";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupBarrier";stage="compute";cond="nonuniform_let";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupBarrier";stage="compute";cond="nonuniform_let";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupBarrier";stage="compute";cond="nonuniform_let";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupBarrier";stage="compute";cond="uniform_or";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupBarrier";stage="compute";cond="uniform_or";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupBarrier";stage="compute";cond="uniform_or";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupBarrier";stage="compute";cond="uniform_or";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupBarrier";stage="compute";cond="nonuniform_or1";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupBarrier";stage="compute";cond="nonuniform_or1";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupBarrier";stage="compute";cond="nonuniform_or1";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupBarrier";stage="compute";cond="nonuniform_or1";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupBarrier";stage="compute";cond="nonuniform_or2";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupBarrier";stage="compute";cond="nonuniform_or2";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupBarrier";stage="compute";cond="nonuniform_or2";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupBarrier";stage="compute";cond="nonuniform_or2";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupBarrier";stage="compute";cond="uniform_and";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupBarrier";stage="compute";cond="uniform_and";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupBarrier";stage="compute";cond="uniform_and";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupBarrier";stage="compute";cond="uniform_and";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupBarrier";stage="compute";cond="nonuniform_and1";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupBarrier";stage="compute";cond="nonuniform_and1";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupBarrier";stage="compute";cond="nonuniform_and1";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupBarrier";stage="compute";cond="nonuniform_and1";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupBarrier";stage="compute";cond="nonuniform_and2";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupBarrier";stage="compute";cond="nonuniform_and2";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupBarrier";stage="compute";cond="nonuniform_and2";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupBarrier";stage="compute";cond="nonuniform_and2";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupBarrier";stage="compute";cond="uniform_func_var";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupBarrier";stage="compute";cond="uniform_func_var";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupBarrier";stage="compute";cond="uniform_func_var";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupBarrier";stage="compute";cond="uniform_func_var";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupBarrier";stage="compute";cond="nonuniform_func_var";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupBarrier";stage="compute";cond="nonuniform_func_var";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupBarrier";stage="compute";cond="nonuniform_func_var";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupBarrier";stage="compute";cond="nonuniform_func_var";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupUniformLoad";stage="compute";cond="uniform_storage_ro";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupUniformLoad";stage="compute";cond="uniform_storage_ro";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupUniformLoad";stage="compute";cond="uniform_storage_ro";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupUniformLoad";stage="compute";cond="uniform_storage_ro";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupUniformLoad";stage="compute";cond="nonuniform_storage_ro";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupUniformLoad";stage="compute";cond="nonuniform_storage_ro";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupUniformLoad";stage="compute";cond="nonuniform_storage_ro";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupUniformLoad";stage="compute";cond="nonuniform_storage_ro";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupUniformLoad";stage="compute";cond="nonuniform_storage_rw";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupUniformLoad";stage="compute";cond="nonuniform_storage_rw";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupUniformLoad";stage="compute";cond="nonuniform_storage_rw";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupUniformLoad";stage="compute";cond="nonuniform_storage_rw";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupUniformLoad";stage="compute";cond="nonuniform_builtin";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupUniformLoad";stage="compute";cond="nonuniform_builtin";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupUniformLoad";stage="compute";cond="nonuniform_builtin";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupUniformLoad";stage="compute";cond="nonuniform_builtin";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupUniformLoad";stage="compute";cond="uniform_literal";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupUniformLoad";stage="compute";cond="uniform_literal";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupUniformLoad";stage="compute";cond="uniform_literal";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupUniformLoad";stage="compute";cond="uniform_literal";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupUniformLoad";stage="compute";cond="uniform_const";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupUniformLoad";stage="compute";cond="uniform_const";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupUniformLoad";stage="compute";cond="uniform_const";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupUniformLoad";stage="compute";cond="uniform_const";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupUniformLoad";stage="compute";cond="uniform_override";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupUniformLoad";stage="compute";cond="uniform_override";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupUniformLoad";stage="compute";cond="uniform_override";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupUniformLoad";stage="compute";cond="uniform_override";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupUniformLoad";stage="compute";cond="uniform_let";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupUniformLoad";stage="compute";cond="uniform_let";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupUniformLoad";stage="compute";cond="uniform_let";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupUniformLoad";stage="compute";cond="uniform_let";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupUniformLoad";stage="compute";cond="nonuniform_let";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupUniformLoad";stage="compute";cond="nonuniform_let";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupUniformLoad";stage="compute";cond="nonuniform_let";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupUniformLoad";stage="compute";cond="nonuniform_let";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupUniformLoad";stage="compute";cond="uniform_or";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupUniformLoad";stage="compute";cond="uniform_or";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupUniformLoad";stage="compute";cond="uniform_or";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupUniformLoad";stage="compute";cond="uniform_or";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupUniformLoad";stage="compute";cond="nonuniform_or1";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupUniformLoad";stage="compute";cond="nonuniform_or1";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupUniformLoad";stage="compute";cond="nonuniform_or1";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupUniformLoad";stage="compute";cond="nonuniform_or1";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupUniformLoad";stage="compute";cond="nonuniform_or2";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupUniformLoad";stage="compute";cond="nonuniform_or2";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupUniformLoad";stage="compute";cond="nonuniform_or2";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupUniformLoad";stage="compute";cond="nonuniform_or2";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupUniformLoad";stage="compute";cond="uniform_and";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupUniformLoad";stage="compute";cond="uniform_and";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupUniformLoad";stage="compute";cond="uniform_and";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupUniformLoad";stage="compute";cond="uniform_and";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupUniformLoad";stage="compute";cond="nonuniform_and1";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupUniformLoad";stage="compute";cond="nonuniform_and1";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupUniformLoad";stage="compute";cond="nonuniform_and1";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupUniformLoad";stage="compute";cond="nonuniform_and1";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupUniformLoad";stage="compute";cond="nonuniform_and2";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupUniformLoad";stage="compute";cond="nonuniform_and2";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupUniformLoad";stage="compute";cond="nonuniform_and2";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupUniformLoad";stage="compute";cond="nonuniform_and2";expectation=false;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupUniformLoad";stage="compute";cond="uniform_func_var";expectation=true;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupUniformLoad";stage="compute";cond="uniform_func_var";expectation=true;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupUniformLoad";stage="compute";cond="uniform_func_var";expectation=true;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupUniformLoad";stage="compute";cond="uniform_func_var";expectation=true;statement="switch"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupUniformLoad";stage="compute";cond="nonuniform_func_var";expectation=false;statement="if"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupUniformLoad";stage="compute";cond="nonuniform_func_var";expectation=false;statement="for"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupUniformLoad";stage="compute";cond="nonuniform_func_var";expectation=false;statement="while"
+webgpu:shader,validation,uniformity,uniformity:basics:op="workgroupUniformLoad";stage="compute";cond="nonuniform_func_var";expectation=false;statement="switch"
webgpu:util,texture,texel_data:unorm_texel_data_in_shader:format="r8unorm"
webgpu:util,texture,texel_data:unorm_texel_data_in_shader:format="rg8unorm"
webgpu:util,texture,texel_data:unorm_texel_data_in_shader:format="rgba8unorm"
diff --git a/third_party/gn/webgpu-cts/ts_sources.txt b/third_party/gn/webgpu-cts/ts_sources.txt
index 25c7503..c663df5 100644
--- a/third_party/gn/webgpu-cts/ts_sources.txt
+++ b/third_party/gn/webgpu-cts/ts_sources.txt
@@ -116,8 +116,6 @@
src/webgpu/util/compare.ts
src/webgpu/shader/execution/expression/expression.ts
src/webgpu/util/floating_point.ts
-src/webgpu/util/f32_interval.ts
-src/unittests/f32_interval.spec.ts
src/unittests/floating_point.spec.ts
src/unittests/getStackTrace.spec.ts
src/unittests/listing.ts
@@ -340,6 +338,7 @@
src/webgpu/shader/execution/expression/binary/bitwise.spec.ts
src/webgpu/shader/execution/expression/binary/bitwise_shift.spec.ts
src/webgpu/shader/execution/expression/binary/bool_logical.spec.ts
+src/webgpu/shader/execution/expression/binary/f16_comparison.spec.ts
src/webgpu/shader/execution/expression/binary/f32_arithmetic.spec.ts
src/webgpu/shader/execution/expression/binary/f32_comparison.spec.ts
src/webgpu/shader/execution/expression/binary/f32_matrix_arithmetic.spec.ts
@@ -359,17 +358,6 @@
src/webgpu/shader/execution/expression/call/builtin/atan.spec.ts
src/webgpu/shader/execution/expression/call/builtin/atan2.spec.ts
src/webgpu/shader/execution/expression/call/builtin/atanh.spec.ts
-src/webgpu/shader/execution/expression/call/builtin/atomicAdd.spec.ts
-src/webgpu/shader/execution/expression/call/builtin/atomicAnd.spec.ts
-src/webgpu/shader/execution/expression/call/builtin/atomicCompareExchangeWeak.spec.ts
-src/webgpu/shader/execution/expression/call/builtin/atomicExchange.spec.ts
-src/webgpu/shader/execution/expression/call/builtin/atomicLoad.spec.ts
-src/webgpu/shader/execution/expression/call/builtin/atomicMax.spec.ts
-src/webgpu/shader/execution/expression/call/builtin/atomicMin.spec.ts
-src/webgpu/shader/execution/expression/call/builtin/atomicOr.spec.ts
-src/webgpu/shader/execution/expression/call/builtin/atomicStore.spec.ts
-src/webgpu/shader/execution/expression/call/builtin/atomicSub.spec.ts
-src/webgpu/shader/execution/expression/call/builtin/atomicXor.spec.ts
src/webgpu/shader/execution/expression/call/builtin/bitcast.spec.ts
src/webgpu/shader/execution/expression/call/builtin/ceil.spec.ts
src/webgpu/shader/execution/expression/call/builtin/clamp.spec.ts
@@ -459,6 +447,18 @@
src/webgpu/shader/execution/expression/call/builtin/unpack4x8snorm.spec.ts
src/webgpu/shader/execution/expression/call/builtin/unpack4x8unorm.spec.ts
src/webgpu/shader/execution/expression/call/builtin/workgroupBarrier.spec.ts
+src/webgpu/shader/execution/expression/call/builtin/atomics/harness.ts
+src/webgpu/shader/execution/expression/call/builtin/atomics/atomicAdd.spec.ts
+src/webgpu/shader/execution/expression/call/builtin/atomics/atomicAnd.spec.ts
+src/webgpu/shader/execution/expression/call/builtin/atomics/atomicCompareExchangeWeak.spec.ts
+src/webgpu/shader/execution/expression/call/builtin/atomics/atomicExchange.spec.ts
+src/webgpu/shader/execution/expression/call/builtin/atomics/atomicLoad.spec.ts
+src/webgpu/shader/execution/expression/call/builtin/atomics/atomicMax.spec.ts
+src/webgpu/shader/execution/expression/call/builtin/atomics/atomicMin.spec.ts
+src/webgpu/shader/execution/expression/call/builtin/atomics/atomicOr.spec.ts
+src/webgpu/shader/execution/expression/call/builtin/atomics/atomicStore.spec.ts
+src/webgpu/shader/execution/expression/call/builtin/atomics/atomicSub.spec.ts
+src/webgpu/shader/execution/expression/call/builtin/atomics/atomicXor.spec.ts
src/webgpu/shader/execution/expression/unary/unary.ts
src/webgpu/shader/execution/expression/unary/bool_conversion.spec.ts
src/webgpu/shader/execution/expression/unary/bool_logical.spec.ts
@@ -502,6 +502,7 @@
src/webgpu/shader/validation/parse/const.spec.ts
src/webgpu/shader/validation/parse/const_assert.spec.ts
src/webgpu/shader/validation/parse/discard.spec.ts
+src/webgpu/shader/validation/parse/enable.spec.ts
src/webgpu/shader/validation/parse/identifiers.spec.ts
src/webgpu/shader/validation/parse/literal.spec.ts
src/webgpu/shader/validation/parse/pipeline_stage.spec.ts
@@ -517,6 +518,7 @@
src/webgpu/shader/validation/shader_io/interpolate.spec.ts
src/webgpu/shader/validation/shader_io/invariant.spec.ts
src/webgpu/shader/validation/shader_io/locations.spec.ts
+src/webgpu/shader/validation/uniformity/uniformity.spec.ts
src/webgpu/util/color_space_conversion.ts
src/webgpu/util/copy_to_texture.ts
src/webgpu/util/texture/texel_data.spec.ts
diff --git a/webgpu-cts/expectations.txt b/webgpu-cts/expectations.txt
index 292600b..62cc80e 100644
--- a/webgpu-cts/expectations.txt
+++ b/webgpu-cts/expectations.txt
@@ -66,7 +66,7 @@
# results: [ Failure RetryOnFailure Skip Slow ]
# END TAG HEADER
-# Last rolled: 2023-04-17 06:52:25PM
+# Last rolled: 2023-05-04 08:42:24PM
################################################################################
# copyToTexture failures on Linux
@@ -267,22 +267,6 @@
################################################################################
# Untriaged canvas issues, potentially colorspace related.
################################################################################
-crbug.com/dawn/0000 [ monterey ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:drawTo2DCanvas:format="rgba8unorm";alphaMode="opaque";colorSpace="display-p3";webgpuCanvasType="offscreen";canvas2DType="offscreen" [ Failure ]
-crbug.com/dawn/0000 [ ventura ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:drawTo2DCanvas:format="rgba8unorm";alphaMode="opaque";colorSpace="display-p3";webgpuCanvasType="offscreen";canvas2DType="offscreen" [ Failure ]
-crbug.com/dawn/0000 [ monterey ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:drawTo2DCanvas:format="rgba8unorm";alphaMode="opaque";colorSpace="display-p3";webgpuCanvasType="offscreen";canvas2DType="onscreen" [ Failure ]
-crbug.com/dawn/0000 [ ventura ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:drawTo2DCanvas:format="rgba8unorm";alphaMode="opaque";colorSpace="display-p3";webgpuCanvasType="offscreen";canvas2DType="onscreen" [ Failure ]
-crbug.com/dawn/0000 [ monterey ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:drawTo2DCanvas:format="rgba8unorm";alphaMode="opaque";colorSpace="display-p3";webgpuCanvasType="onscreen";canvas2DType="offscreen" [ Failure ]
-crbug.com/dawn/0000 [ ventura ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:drawTo2DCanvas:format="rgba8unorm";alphaMode="opaque";colorSpace="display-p3";webgpuCanvasType="onscreen";canvas2DType="offscreen" [ Failure ]
-crbug.com/dawn/0000 [ monterey ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:drawTo2DCanvas:format="rgba8unorm";alphaMode="opaque";colorSpace="display-p3";webgpuCanvasType="onscreen";canvas2DType="onscreen" [ Failure ]
-crbug.com/dawn/0000 [ ventura ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:drawTo2DCanvas:format="rgba8unorm";alphaMode="opaque";colorSpace="display-p3";webgpuCanvasType="onscreen";canvas2DType="onscreen" [ Failure ]
-crbug.com/dawn/0000 [ monterey ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:drawTo2DCanvas:format="rgba8unorm";alphaMode="opaque";colorSpace="srgb";webgpuCanvasType="offscreen";canvas2DType="offscreen" [ Failure ]
-crbug.com/dawn/0000 [ ventura ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:drawTo2DCanvas:format="rgba8unorm";alphaMode="opaque";colorSpace="srgb";webgpuCanvasType="offscreen";canvas2DType="offscreen" [ Failure ]
-crbug.com/dawn/0000 [ monterey ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:drawTo2DCanvas:format="rgba8unorm";alphaMode="opaque";colorSpace="srgb";webgpuCanvasType="offscreen";canvas2DType="onscreen" [ Failure ]
-crbug.com/dawn/0000 [ ventura ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:drawTo2DCanvas:format="rgba8unorm";alphaMode="opaque";colorSpace="srgb";webgpuCanvasType="offscreen";canvas2DType="onscreen" [ Failure ]
-crbug.com/dawn/0000 [ monterey ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:drawTo2DCanvas:format="rgba8unorm";alphaMode="opaque";colorSpace="srgb";webgpuCanvasType="onscreen";canvas2DType="offscreen" [ Failure ]
-crbug.com/dawn/0000 [ ventura ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:drawTo2DCanvas:format="rgba8unorm";alphaMode="opaque";colorSpace="srgb";webgpuCanvasType="onscreen";canvas2DType="offscreen" [ Failure ]
-crbug.com/dawn/0000 [ monterey ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:drawTo2DCanvas:format="rgba8unorm";alphaMode="opaque";colorSpace="srgb";webgpuCanvasType="onscreen";canvas2DType="onscreen" [ Failure ]
-crbug.com/dawn/0000 [ ventura ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:drawTo2DCanvas:format="rgba8unorm";alphaMode="opaque";colorSpace="srgb";webgpuCanvasType="onscreen";canvas2DType="onscreen" [ Failure ]
crbug.com/dawn/0000 [ monterey ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:drawTo2DCanvas:format="rgba8unorm";alphaMode="premultiplied";colorSpace="display-p3";webgpuCanvasType="offscreen";canvas2DType="offscreen" [ Failure ]
crbug.com/dawn/0000 [ ventura ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:drawTo2DCanvas:format="rgba8unorm";alphaMode="premultiplied";colorSpace="display-p3";webgpuCanvasType="offscreen";canvas2DType="offscreen" [ Failure ]
crbug.com/dawn/0000 [ monterey ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:drawTo2DCanvas:format="rgba8unorm";alphaMode="premultiplied";colorSpace="display-p3";webgpuCanvasType="offscreen";canvas2DType="onscreen" [ Failure ]
@@ -333,28 +317,16 @@
crbug.com/dawn/0000 [ monterey ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:offscreenCanvas,snapshot:format="rgba8unorm";alphaMode="opaque";colorSpace="display-p3";snapshotType="imageBitmap" [ Failure ]
crbug.com/dawn/0000 [ ventura ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:offscreenCanvas,snapshot:format="rgba8unorm";alphaMode="opaque";colorSpace="display-p3";snapshotType="imageBitmap" [ Failure ]
crbug.com/dawn/0000 [ win10 ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:offscreenCanvas,snapshot:format="rgba8unorm";alphaMode="opaque";colorSpace="display-p3";snapshotType="imageBitmap" [ Failure ]
-crbug.com/dawn/0000 [ monterey ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:offscreenCanvas,snapshot:format="rgba8unorm";alphaMode="opaque";colorSpace="display-p3";snapshotType="transferToImageBitmap" [ Failure ]
-crbug.com/dawn/0000 [ ventura ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:offscreenCanvas,snapshot:format="rgba8unorm";alphaMode="opaque";colorSpace="display-p3";snapshotType="transferToImageBitmap" [ Failure ]
-crbug.com/dawn/0000 [ monterey ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:offscreenCanvas,snapshot:format="rgba8unorm";alphaMode="opaque";colorSpace="srgb";snapshotType="convertToBlob" [ Failure ]
-crbug.com/dawn/0000 [ ventura ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:offscreenCanvas,snapshot:format="rgba8unorm";alphaMode="opaque";colorSpace="srgb";snapshotType="convertToBlob" [ Failure ]
-crbug.com/dawn/0000 [ monterey ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:offscreenCanvas,snapshot:format="rgba8unorm";alphaMode="opaque";colorSpace="srgb";snapshotType="imageBitmap" [ Failure ]
-crbug.com/dawn/0000 [ ventura ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:offscreenCanvas,snapshot:format="rgba8unorm";alphaMode="opaque";colorSpace="srgb";snapshotType="imageBitmap" [ Failure ]
-crbug.com/dawn/0000 [ monterey ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:offscreenCanvas,snapshot:format="rgba8unorm";alphaMode="opaque";colorSpace="srgb";snapshotType="transferToImageBitmap" [ Failure ]
-crbug.com/dawn/0000 [ ventura ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:offscreenCanvas,snapshot:format="rgba8unorm";alphaMode="opaque";colorSpace="srgb";snapshotType="transferToImageBitmap" [ Failure ]
crbug.com/dawn/0000 [ monterey ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:offscreenCanvas,snapshot:format="rgba8unorm";alphaMode="premultiplied";colorSpace="display-p3";snapshotType="convertToBlob" [ Failure ]
crbug.com/dawn/0000 [ ventura ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:offscreenCanvas,snapshot:format="rgba8unorm";alphaMode="premultiplied";colorSpace="display-p3";snapshotType="convertToBlob" [ Failure ]
crbug.com/dawn/0000 [ win10 ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:offscreenCanvas,snapshot:format="rgba8unorm";alphaMode="premultiplied";colorSpace="display-p3";snapshotType="convertToBlob" [ Failure ]
crbug.com/dawn/0000 [ monterey ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:offscreenCanvas,snapshot:format="rgba8unorm";alphaMode="premultiplied";colorSpace="display-p3";snapshotType="imageBitmap" [ Failure ]
crbug.com/dawn/0000 [ ventura ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:offscreenCanvas,snapshot:format="rgba8unorm";alphaMode="premultiplied";colorSpace="display-p3";snapshotType="imageBitmap" [ Failure ]
crbug.com/dawn/0000 [ win10 ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:offscreenCanvas,snapshot:format="rgba8unorm";alphaMode="premultiplied";colorSpace="display-p3";snapshotType="imageBitmap" [ Failure ]
-crbug.com/dawn/0000 [ monterey ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:offscreenCanvas,snapshot:format="rgba8unorm";alphaMode="premultiplied";colorSpace="display-p3";snapshotType="transferToImageBitmap" [ Failure ]
-crbug.com/dawn/0000 [ ventura ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:offscreenCanvas,snapshot:format="rgba8unorm";alphaMode="premultiplied";colorSpace="display-p3";snapshotType="transferToImageBitmap" [ Failure ]
crbug.com/dawn/0000 [ monterey ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:offscreenCanvas,snapshot:format="rgba8unorm";alphaMode="premultiplied";colorSpace="srgb";snapshotType="convertToBlob" [ Failure ]
crbug.com/dawn/0000 [ ventura ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:offscreenCanvas,snapshot:format="rgba8unorm";alphaMode="premultiplied";colorSpace="srgb";snapshotType="convertToBlob" [ Failure ]
crbug.com/dawn/0000 [ monterey ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:offscreenCanvas,snapshot:format="rgba8unorm";alphaMode="premultiplied";colorSpace="srgb";snapshotType="imageBitmap" [ Failure ]
crbug.com/dawn/0000 [ ventura ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:offscreenCanvas,snapshot:format="rgba8unorm";alphaMode="premultiplied";colorSpace="srgb";snapshotType="imageBitmap" [ Failure ]
-crbug.com/dawn/0000 [ monterey ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:offscreenCanvas,snapshot:format="rgba8unorm";alphaMode="premultiplied";colorSpace="srgb";snapshotType="transferToImageBitmap" [ Failure ]
-crbug.com/dawn/0000 [ ventura ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:offscreenCanvas,snapshot:format="rgba8unorm";alphaMode="premultiplied";colorSpace="srgb";snapshotType="transferToImageBitmap" [ Failure ]
crbug.com/dawn/0000 [ monterey ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:onscreenCanvas,snapshot:format="bgra8unorm";alphaMode="opaque";colorSpace="display-p3";snapshotType="imageBitmap" [ Failure ]
crbug.com/dawn/0000 [ ventura ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:onscreenCanvas,snapshot:format="bgra8unorm";alphaMode="opaque";colorSpace="display-p3";snapshotType="imageBitmap" [ Failure ]
crbug.com/dawn/0000 [ win10 ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:onscreenCanvas,snapshot:format="bgra8unorm";alphaMode="opaque";colorSpace="display-p3";snapshotType="imageBitmap" [ Failure ]
@@ -400,12 +372,6 @@
crbug.com/dawn/0000 [ monterey ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:onscreenCanvas,snapshot:format="rgba8unorm";alphaMode="opaque";colorSpace="display-p3";snapshotType="toDataURL" [ Failure ]
crbug.com/dawn/0000 [ ventura ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:onscreenCanvas,snapshot:format="rgba8unorm";alphaMode="opaque";colorSpace="display-p3";snapshotType="toDataURL" [ Failure ]
crbug.com/dawn/0000 [ win10 ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:onscreenCanvas,snapshot:format="rgba8unorm";alphaMode="opaque";colorSpace="display-p3";snapshotType="toDataURL" [ Failure ]
-crbug.com/dawn/0000 [ monterey ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:onscreenCanvas,snapshot:format="rgba8unorm";alphaMode="opaque";colorSpace="srgb";snapshotType="imageBitmap" [ Failure ]
-crbug.com/dawn/0000 [ ventura ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:onscreenCanvas,snapshot:format="rgba8unorm";alphaMode="opaque";colorSpace="srgb";snapshotType="imageBitmap" [ Failure ]
-crbug.com/dawn/0000 [ monterey ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:onscreenCanvas,snapshot:format="rgba8unorm";alphaMode="opaque";colorSpace="srgb";snapshotType="toBlob" [ Failure ]
-crbug.com/dawn/0000 [ ventura ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:onscreenCanvas,snapshot:format="rgba8unorm";alphaMode="opaque";colorSpace="srgb";snapshotType="toBlob" [ Failure ]
-crbug.com/dawn/0000 [ monterey ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:onscreenCanvas,snapshot:format="rgba8unorm";alphaMode="opaque";colorSpace="srgb";snapshotType="toDataURL" [ Failure ]
-crbug.com/dawn/0000 [ ventura ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:onscreenCanvas,snapshot:format="rgba8unorm";alphaMode="opaque";colorSpace="srgb";snapshotType="toDataURL" [ Failure ]
crbug.com/dawn/0000 [ monterey ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:onscreenCanvas,snapshot:format="rgba8unorm";alphaMode="premultiplied";colorSpace="display-p3";snapshotType="imageBitmap" [ Failure ]
crbug.com/dawn/0000 [ ventura ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:onscreenCanvas,snapshot:format="rgba8unorm";alphaMode="premultiplied";colorSpace="display-p3";snapshotType="imageBitmap" [ Failure ]
crbug.com/dawn/0000 [ win10 ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:onscreenCanvas,snapshot:format="rgba8unorm";alphaMode="premultiplied";colorSpace="display-p3";snapshotType="imageBitmap" [ Failure ]
@@ -421,14 +387,6 @@
crbug.com/dawn/0000 [ ventura ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:onscreenCanvas,snapshot:format="rgba8unorm";alphaMode="premultiplied";colorSpace="srgb";snapshotType="toBlob" [ Failure ]
crbug.com/dawn/0000 [ monterey ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:onscreenCanvas,snapshot:format="rgba8unorm";alphaMode="premultiplied";colorSpace="srgb";snapshotType="toDataURL" [ Failure ]
crbug.com/dawn/0000 [ ventura ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:onscreenCanvas,snapshot:format="rgba8unorm";alphaMode="premultiplied";colorSpace="srgb";snapshotType="toDataURL" [ Failure ]
-crbug.com/dawn/0000 [ monterey ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:onscreenCanvas,uploadToWebGL:format="rgba8unorm";alphaMode="opaque";webgl="webgl";upload="texImage2D" [ Failure ]
-crbug.com/dawn/0000 [ ventura ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:onscreenCanvas,uploadToWebGL:format="rgba8unorm";alphaMode="opaque";webgl="webgl";upload="texImage2D" [ Failure ]
-crbug.com/dawn/0000 [ monterey ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:onscreenCanvas,uploadToWebGL:format="rgba8unorm";alphaMode="opaque";webgl="webgl";upload="texSubImage2D" [ Failure ]
-crbug.com/dawn/0000 [ ventura ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:onscreenCanvas,uploadToWebGL:format="rgba8unorm";alphaMode="opaque";webgl="webgl";upload="texSubImage2D" [ Failure ]
-crbug.com/dawn/0000 [ monterey ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:onscreenCanvas,uploadToWebGL:format="rgba8unorm";alphaMode="opaque";webgl="webgl2";upload="texImage2D" [ Failure ]
-crbug.com/dawn/0000 [ ventura ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:onscreenCanvas,uploadToWebGL:format="rgba8unorm";alphaMode="opaque";webgl="webgl2";upload="texImage2D" [ Failure ]
-crbug.com/dawn/0000 [ monterey ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:onscreenCanvas,uploadToWebGL:format="rgba8unorm";alphaMode="opaque";webgl="webgl2";upload="texSubImage2D" [ Failure ]
-crbug.com/dawn/0000 [ ventura ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:onscreenCanvas,uploadToWebGL:format="rgba8unorm";alphaMode="opaque";webgl="webgl2";upload="texSubImage2D" [ Failure ]
crbug.com/dawn/0000 [ monterey ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:onscreenCanvas,uploadToWebGL:format="rgba8unorm";alphaMode="premultiplied";webgl="webgl";upload="texImage2D" [ Failure ]
crbug.com/dawn/0000 [ ventura ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:onscreenCanvas,uploadToWebGL:format="rgba8unorm";alphaMode="premultiplied";webgl="webgl";upload="texImage2D" [ Failure ]
crbug.com/dawn/0000 [ monterey ] webgpu:web_platform,canvas,readbackFromWebGPUCanvas:onscreenCanvas,uploadToWebGL:format="rgba8unorm";alphaMode="premultiplied";webgl="webgl";upload="texSubImage2D" [ Failure ]
@@ -442,21 +400,9 @@
# Failures due to rgba8unorm not being supported for canvas on macOS.
# Could be made more precise.
################################################################################
-crbug.com/1410936 [ monterey ] webgpu:web_platform,canvas,configure:alpha_mode:* [ Failure ]
-crbug.com/1410936 [ ventura ] webgpu:web_platform,canvas,configure:alpha_mode:* [ Failure ]
-crbug.com/1410936 [ monterey ] webgpu:web_platform,canvas,configure:defaults:* [ Failure ]
-crbug.com/1410936 [ ventura ] webgpu:web_platform,canvas,configure:defaults:* [ Failure ]
crbug.com/1410936 [ monterey ] webgpu:web_platform,canvas,configure:device:* [ Failure ]
crbug.com/1410936 [ ventura ] webgpu:web_platform,canvas,configure:device:* [ Failure ]
-crbug.com/1410936 [ monterey ] webgpu:web_platform,canvas,configure:format:canvasType="offscreen";format="rgba8unorm" [ Failure ]
-crbug.com/1410936 [ ventura ] webgpu:web_platform,canvas,configure:format:canvasType="offscreen";format="rgba8unorm" [ Failure ]
-crbug.com/1410936 [ monterey ] webgpu:web_platform,canvas,configure:format:canvasType="onscreen";format="rgba8unorm" [ Failure ]
-crbug.com/1410936 [ ventura ] webgpu:web_platform,canvas,configure:format:canvasType="onscreen";format="rgba8unorm" [ Failure ]
-crbug.com/1410936 [ monterey webgpu-adapter-default ] webgpu:web_platform,canvas,configure:usage:* [ Failure ]
-crbug.com/1410936 [ monterey webgpu-adapter-swiftshader ] webgpu:web_platform,canvas,configure:usage:* [ Failure ]
crbug.com/1410936 [ ubuntu webgpu-adapter-default ] webgpu:web_platform,canvas,configure:usage:* [ Failure ]
-crbug.com/1410936 [ ventura webgpu-adapter-default ] webgpu:web_platform,canvas,configure:usage:* [ Failure ]
-crbug.com/1410936 [ ventura webgpu-adapter-swiftshader ] webgpu:web_platform,canvas,configure:usage:* [ Failure ]
crbug.com/1410936 [ monterey ] webgpu:web_platform,canvas,configure:viewFormats:canvasType="offscreen";format="rgba8unorm";viewFormatFeature="_undef_" [ Failure ]
crbug.com/1410936 [ ventura ] webgpu:web_platform,canvas,configure:viewFormats:canvasType="offscreen";format="rgba8unorm";viewFormatFeature="_undef_" [ Failure ]
crbug.com/1410936 [ monterey ] webgpu:web_platform,canvas,configure:viewFormats:canvasType="onscreen";format="rgba8unorm";viewFormatFeature="_undef_" [ Failure ]
@@ -465,54 +411,69 @@
################################################################################
# Occlusion result incorrect with writeMask 0 on Windows Intel
################################################################################
-crbug.com/dawn/1706 [ intel win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,basic:writeMask=0;renderMode="direct";bufferOffset="non-zero";querySetOffset="non-zero" [ Failure ]
-crbug.com/dawn/1706 [ intel win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,basic:writeMask=0;renderMode="direct";bufferOffset="non-zero";querySetOffset="zero" [ Failure ]
-crbug.com/dawn/1706 [ Intel win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,basic:writeMask=0;renderMode="direct";bufferOffset="zero";querySetOffset="non-zero" [ Failure ]
-crbug.com/dawn/1706 [ intel win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,basic:writeMask=0;renderMode="direct";bufferOffset="zero";querySetOffset="zero" [ Failure ]
-crbug.com/dawn/1706 [ intel win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,basic:writeMask=0;renderMode="render-bundle";bufferOffset="non-zero";querySetOffset="non-zero" [ Failure ]
-crbug.com/dawn/1706 [ intel win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,basic:writeMask=0;renderMode="render-bundle";bufferOffset="non-zero";querySetOffset="zero" [ Failure ]
-crbug.com/dawn/1706 [ intel win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,basic:writeMask=0;renderMode="render-bundle";bufferOffset="zero";querySetOffset="non-zero" [ Failure ]
-crbug.com/dawn/1706 [ intel win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,basic:writeMask=0;renderMode="render-bundle";bufferOffset="zero";querySetOffset="zero" [ Failure ]
-crbug.com/dawn/1706 [ intel win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,scissor:writeMask=0;renderMode="direct";bufferOffset="non-zero";querySetOffset="non-zero" [ Failure ]
-crbug.com/dawn/1706 [ intel win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,scissor:writeMask=0;renderMode="direct";bufferOffset="non-zero";querySetOffset="zero" [ Failure ]
-crbug.com/dawn/1706 [ intel win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,scissor:writeMask=0;renderMode="direct";bufferOffset="zero";querySetOffset="non-zero" [ Failure ]
-crbug.com/dawn/1706 [ intel win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,scissor:writeMask=0;renderMode="direct";bufferOffset="zero";querySetOffset="zero" [ Failure ]
-crbug.com/dawn/1706 [ intel win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,scissor:writeMask=0;renderMode="render-bundle";bufferOffset="non-zero";querySetOffset="non-zero" [ Failure ]
-crbug.com/dawn/1706 [ intel win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,scissor:writeMask=0;renderMode="render-bundle";bufferOffset="non-zero";querySetOffset="zero" [ Failure ]
-crbug.com/dawn/1706 [ intel win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,scissor:writeMask=0;renderMode="render-bundle";bufferOffset="zero";querySetOffset="non-zero" [ Failure ]
-crbug.com/dawn/1706 [ intel win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,scissor:writeMask=0;renderMode="render-bundle";bufferOffset="zero";querySetOffset="zero" [ Failure ]
-crbug.com/dawn/1706 [ intel win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,depth:writeMask=0;renderMode="direct";bufferOffset="non-zero";querySetOffset="non-zero" [ Failure ]
-crbug.com/dawn/1706 [ intel win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,depth:writeMask=0;renderMode="direct";bufferOffset="non-zero";querySetOffset="zero" [ Failure ]
-crbug.com/dawn/1706 [ intel win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,depth:writeMask=0;renderMode="direct";bufferOffset="zero";querySetOffset="non-zero" [ Failure ]
-crbug.com/dawn/1706 [ intel win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,depth:writeMask=0;renderMode="direct";bufferOffset="zero";querySetOffset="zero" [ Failure ]
-crbug.com/dawn/1706 [ intel win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,depth:writeMask=0;renderMode="render-bundle";bufferOffset="non-zero";querySetOffset="non-zero" [ Failure ]
-crbug.com/dawn/1706 [ intel win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,depth:writeMask=0;renderMode="render-bundle";bufferOffset="non-zero";querySetOffset="zero" [ Failure ]
-crbug.com/dawn/1706 [ intel win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,depth:writeMask=0;renderMode="render-bundle";bufferOffset="zero";querySetOffset="non-zero" [ Failure ]
-crbug.com/dawn/1706 [ intel win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,depth:writeMask=0;renderMode="render-bundle";bufferOffset="zero";querySetOffset="zero" [ Failure ]
-crbug.com/dawn/1706 [ intel win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:writeMask=0;renderMode="direct";bufferOffset="zero";querySetOffset="zero";sampleMask=2 [ Failure ]
-crbug.com/dawn/1706 [ intel win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:writeMask=0;renderMode="direct";bufferOffset="zero";querySetOffset="zero";sampleMask=4 [ Failure ]
-crbug.com/dawn/1706 [ intel win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:writeMask=0;renderMode="direct";bufferOffset="zero";querySetOffset="zero";sampleMask=6 [ Failure ]
-crbug.com/dawn/1706 [ intel win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:writeMask=0;renderMode="direct";bufferOffset="zero";querySetOffset="non-zero";sampleMask=2 [ Failure ]
-crbug.com/dawn/1706 [ intel win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:writeMask=0;renderMode="direct";bufferOffset="zero";querySetOffset="non-zero";sampleMask=4 [ Failure ]
-crbug.com/dawn/1706 [ intel win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:writeMask=0;renderMode="direct";bufferOffset="zero";querySetOffset="non-zero";sampleMask=6 [ Failure ]
-crbug.com/dawn/1706 [ intel win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:writeMask=0;renderMode="direct";bufferOffset="non-zero";querySetOffset="zero";sampleMask=2 [ Failure ]
-crbug.com/dawn/1706 [ intel win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:writeMask=0;renderMode="direct";bufferOffset="non-zero";querySetOffset="zero";sampleMask=4 [ Failure ]
-crbug.com/dawn/1706 [ intel win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:writeMask=0;renderMode="direct";bufferOffset="non-zero";querySetOffset="zero";sampleMask=6 [ Failure ]
-crbug.com/dawn/1706 [ intel win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:writeMask=0;renderMode="direct";bufferOffset="non-zero";querySetOffset="non-zero";sampleMask=2 [ Failure ]
-crbug.com/dawn/1706 [ intel win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:writeMask=0;renderMode="direct";bufferOffset="non-zero";querySetOffset="non-zero";sampleMask=4 [ Failure ]
-crbug.com/dawn/1706 [ intel win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:writeMask=0;renderMode="direct";bufferOffset="non-zero";querySetOffset="non-zero";sampleMask=6 [ Failure ]
-crbug.com/dawn/1706 [ intel win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:writeMask=0;renderMode="render-bundle";bufferOffset="zero";querySetOffset="zero";sampleMask=2 [ Failure ]
-crbug.com/dawn/1706 [ intel win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:writeMask=0;renderMode="render-bundle";bufferOffset="zero";querySetOffset="zero";sampleMask=4 [ Failure ]
-crbug.com/dawn/1706 [ intel win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:writeMask=0;renderMode="render-bundle";bufferOffset="zero";querySetOffset="zero";sampleMask=6 [ Failure ]
-crbug.com/dawn/1706 [ intel win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:writeMask=0;renderMode="render-bundle";bufferOffset="zero";querySetOffset="non-zero";sampleMask=2 [ Failure ]
-crbug.com/dawn/1706 [ intel win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:writeMask=0;renderMode="render-bundle";bufferOffset="zero";querySetOffset="non-zero";sampleMask=4 [ Failure ]
-crbug.com/dawn/1706 [ intel win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:writeMask=0;renderMode="render-bundle";bufferOffset="zero";querySetOffset="non-zero";sampleMask=6 [ Failure ]
-crbug.com/dawn/1706 [ intel win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:writeMask=0;renderMode="render-bundle";bufferOffset="non-zero";querySetOffset="zero";sampleMask=2 [ Failure ]
-crbug.com/dawn/1706 [ intel win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:writeMask=0;renderMode="render-bundle";bufferOffset="non-zero";querySetOffset="zero";sampleMask=4 [ Failure ]
-crbug.com/dawn/1706 [ intel win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:writeMask=0;renderMode="render-bundle";bufferOffset="non-zero";querySetOffset="zero";sampleMask=6 [ Failure ]
-crbug.com/dawn/1706 [ intel win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:writeMask=0;renderMode="render-bundle";bufferOffset="non-zero";querySetOffset="non-zero";sampleMask=2 [ Failure ]
-crbug.com/dawn/1706 [ intel win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:writeMask=0;renderMode="render-bundle";bufferOffset="non-zero";querySetOffset="non-zero";sampleMask=4 [ Failure ]
-crbug.com/dawn/1706 [ intel win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:writeMask=0;renderMode="render-bundle";bufferOffset="non-zero";querySetOffset="non-zero";sampleMask=6 [ Failure ]
+crbug.com/dawn/1706 [ intel-0x9bc5 win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,basic:writeMask=0;renderMode="direct";bufferOffset="non-zero";querySetOffset="non-zero" [ Failure ]
+crbug.com/dawn/1706 [ intel-0x9bc5 win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,basic:writeMask=0;renderMode="direct";bufferOffset="non-zero";querySetOffset="zero" [ Failure ]
+crbug.com/dawn/1706 [ intel-0x9bc5 win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,basic:writeMask=0;renderMode="direct";bufferOffset="zero";querySetOffset="zero" [ Failure ]
+crbug.com/dawn/1706 [ intel-0x9bc5 win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,basic:writeMask=0;renderMode="render-bundle";bufferOffset="non-zero";querySetOffset="non-zero" [ Failure ]
+crbug.com/dawn/1706 [ intel-0x9bc5 win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,basic:writeMask=0;renderMode="render-bundle";bufferOffset="non-zero";querySetOffset="zero" [ Failure ]
+crbug.com/dawn/1706 [ intel-0x9bc5 win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,basic:writeMask=0;renderMode="render-bundle";bufferOffset="zero";querySetOffset="non-zero" [ Failure ]
+crbug.com/dawn/1706 [ intel-0x9bc5 win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,basic:writeMask=0;renderMode="render-bundle";bufferOffset="zero";querySetOffset="zero" [ Failure ]
+crbug.com/dawn/1706 [ intel-0x9bc5 win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,depth:writeMask=0;renderMode="direct";bufferOffset="non-zero";querySetOffset="non-zero" [ Failure ]
+crbug.com/dawn/1706 [ intel-0x9bc5 win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,depth:writeMask=0;renderMode="direct";bufferOffset="non-zero";querySetOffset="zero" [ Failure ]
+crbug.com/dawn/1706 [ intel-0x9bc5 win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,depth:writeMask=0;renderMode="direct";bufferOffset="zero";querySetOffset="non-zero" [ Failure ]
+crbug.com/dawn/1706 [ intel-0x9bc5 win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,depth:writeMask=0;renderMode="direct";bufferOffset="zero";querySetOffset="zero" [ Failure ]
+crbug.com/dawn/1706 [ intel-0x9bc5 win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,depth:writeMask=0;renderMode="render-bundle";bufferOffset="non-zero";querySetOffset="non-zero" [ Failure ]
+crbug.com/dawn/1706 [ intel-0x9bc5 win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,depth:writeMask=0;renderMode="render-bundle";bufferOffset="non-zero";querySetOffset="zero" [ Failure ]
+crbug.com/dawn/1706 [ intel-0x9bc5 win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,depth:writeMask=0;renderMode="render-bundle";bufferOffset="zero";querySetOffset="non-zero" [ Failure ]
+crbug.com/dawn/1706 [ intel-0x9bc5 win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,depth:writeMask=0;renderMode="render-bundle";bufferOffset="zero";querySetOffset="zero" [ Failure ]
+crbug.com/dawn/1706 [ intel-0x3e9b monterey ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:writeMask=0;renderMode="direct";bufferOffset="non-zero";querySetOffset="non-zero";sampleMask=2 [ Failure ]
+crbug.com/dawn/1706 [ intel-0x9bc5 win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:writeMask=0;renderMode="direct";bufferOffset="non-zero";querySetOffset="non-zero";sampleMask=2 [ Failure ]
+crbug.com/dawn/1706 [ intel-0x3e9b monterey ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:writeMask=0;renderMode="direct";bufferOffset="non-zero";querySetOffset="non-zero";sampleMask=4 [ Failure ]
+crbug.com/dawn/1706 [ intel-0x9bc5 win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:writeMask=0;renderMode="direct";bufferOffset="non-zero";querySetOffset="non-zero";sampleMask=4 [ Failure ]
+crbug.com/dawn/1706 [ intel-0x9bc5 win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:writeMask=0;renderMode="direct";bufferOffset="non-zero";querySetOffset="non-zero";sampleMask=6 [ Failure ]
+crbug.com/dawn/1706 [ intel-0x3e9b monterey ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:writeMask=0;renderMode="direct";bufferOffset="non-zero";querySetOffset="zero";sampleMask=2 [ Failure ]
+crbug.com/dawn/1706 [ intel-0x9bc5 win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:writeMask=0;renderMode="direct";bufferOffset="non-zero";querySetOffset="zero";sampleMask=2 [ Failure ]
+crbug.com/dawn/1706 [ intel-0x3e9b monterey ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:writeMask=0;renderMode="direct";bufferOffset="non-zero";querySetOffset="zero";sampleMask=4 [ Failure ]
+crbug.com/dawn/1706 [ intel-0x9bc5 win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:writeMask=0;renderMode="direct";bufferOffset="non-zero";querySetOffset="zero";sampleMask=4 [ Failure ]
+crbug.com/dawn/1706 [ intel-0x9bc5 win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:writeMask=0;renderMode="direct";bufferOffset="non-zero";querySetOffset="zero";sampleMask=6 [ Failure ]
+crbug.com/dawn/1706 [ intel-0x3e9b monterey ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:writeMask=0;renderMode="direct";bufferOffset="zero";querySetOffset="non-zero";sampleMask=2 [ Failure ]
+crbug.com/dawn/1706 [ intel-0x9bc5 win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:writeMask=0;renderMode="direct";bufferOffset="zero";querySetOffset="non-zero";sampleMask=2 [ Failure ]
+crbug.com/dawn/1706 [ intel-0x3e9b monterey ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:writeMask=0;renderMode="direct";bufferOffset="zero";querySetOffset="non-zero";sampleMask=4 [ Failure ]
+crbug.com/dawn/1706 [ intel-0x9bc5 win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:writeMask=0;renderMode="direct";bufferOffset="zero";querySetOffset="non-zero";sampleMask=4 [ Failure ]
+crbug.com/dawn/1706 [ intel-0x9bc5 win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:writeMask=0;renderMode="direct";bufferOffset="zero";querySetOffset="non-zero";sampleMask=6 [ Failure ]
+crbug.com/dawn/1706 [ intel-0x3e9b monterey ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:writeMask=0;renderMode="direct";bufferOffset="zero";querySetOffset="zero";sampleMask=2 [ Failure ]
+crbug.com/dawn/1706 [ intel-0x9bc5 win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:writeMask=0;renderMode="direct";bufferOffset="zero";querySetOffset="zero";sampleMask=2 [ Failure ]
+crbug.com/dawn/1706 [ intel-0x3e9b monterey ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:writeMask=0;renderMode="direct";bufferOffset="zero";querySetOffset="zero";sampleMask=4 [ Failure ]
+crbug.com/dawn/1706 [ intel-0x9bc5 win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:writeMask=0;renderMode="direct";bufferOffset="zero";querySetOffset="zero";sampleMask=4 [ Failure ]
+crbug.com/dawn/1706 [ intel-0x9bc5 win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:writeMask=0;renderMode="direct";bufferOffset="zero";querySetOffset="zero";sampleMask=6 [ Failure ]
+crbug.com/dawn/1706 [ intel-0x3e9b monterey ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:writeMask=0;renderMode="render-bundle";bufferOffset="non-zero";querySetOffset="non-zero";sampleMask=2 [ Failure ]
+crbug.com/dawn/1706 [ intel-0x9bc5 win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:writeMask=0;renderMode="render-bundle";bufferOffset="non-zero";querySetOffset="non-zero";sampleMask=2 [ Failure ]
+crbug.com/dawn/1706 [ intel-0x3e9b monterey ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:writeMask=0;renderMode="render-bundle";bufferOffset="non-zero";querySetOffset="non-zero";sampleMask=4 [ Failure ]
+crbug.com/dawn/1706 [ intel-0x9bc5 win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:writeMask=0;renderMode="render-bundle";bufferOffset="non-zero";querySetOffset="non-zero";sampleMask=4 [ Failure ]
+crbug.com/dawn/1706 [ intel-0x9bc5 win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:writeMask=0;renderMode="render-bundle";bufferOffset="non-zero";querySetOffset="non-zero";sampleMask=6 [ Failure ]
+crbug.com/dawn/1706 [ intel-0x3e9b monterey ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:writeMask=0;renderMode="render-bundle";bufferOffset="non-zero";querySetOffset="zero";sampleMask=2 [ Failure ]
+crbug.com/dawn/1706 [ intel-0x9bc5 win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:writeMask=0;renderMode="render-bundle";bufferOffset="non-zero";querySetOffset="zero";sampleMask=2 [ Failure ]
+crbug.com/dawn/1706 [ intel-0x3e9b monterey ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:writeMask=0;renderMode="render-bundle";bufferOffset="non-zero";querySetOffset="zero";sampleMask=4 [ Failure ]
+crbug.com/dawn/1706 [ intel-0x9bc5 win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:writeMask=0;renderMode="render-bundle";bufferOffset="non-zero";querySetOffset="zero";sampleMask=4 [ Failure ]
+crbug.com/dawn/1706 [ intel-0x9bc5 win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:writeMask=0;renderMode="render-bundle";bufferOffset="non-zero";querySetOffset="zero";sampleMask=6 [ Failure ]
+crbug.com/dawn/1706 [ intel-0x3e9b monterey ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:writeMask=0;renderMode="render-bundle";bufferOffset="zero";querySetOffset="non-zero";sampleMask=2 [ Failure ]
+crbug.com/dawn/1706 [ intel-0x9bc5 win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:writeMask=0;renderMode="render-bundle";bufferOffset="zero";querySetOffset="non-zero";sampleMask=2 [ Failure ]
+crbug.com/dawn/1706 [ intel-0x3e9b monterey ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:writeMask=0;renderMode="render-bundle";bufferOffset="zero";querySetOffset="non-zero";sampleMask=4 [ Failure ]
+crbug.com/dawn/1706 [ intel-0x9bc5 win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:writeMask=0;renderMode="render-bundle";bufferOffset="zero";querySetOffset="non-zero";sampleMask=4 [ Failure ]
+crbug.com/dawn/1706 [ intel-0x9bc5 win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:writeMask=0;renderMode="render-bundle";bufferOffset="zero";querySetOffset="non-zero";sampleMask=6 [ Failure ]
+crbug.com/dawn/1706 [ intel-0x3e9b monterey ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:writeMask=0;renderMode="render-bundle";bufferOffset="zero";querySetOffset="zero";sampleMask=2 [ Failure ]
+crbug.com/dawn/1706 [ intel-0x9bc5 win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:writeMask=0;renderMode="render-bundle";bufferOffset="zero";querySetOffset="zero";sampleMask=2 [ Failure ]
+crbug.com/dawn/1706 [ intel-0x3e9b monterey ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:writeMask=0;renderMode="render-bundle";bufferOffset="zero";querySetOffset="zero";sampleMask=4 [ Failure ]
+crbug.com/dawn/1706 [ intel-0x9bc5 win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:writeMask=0;renderMode="render-bundle";bufferOffset="zero";querySetOffset="zero";sampleMask=4 [ Failure ]
+crbug.com/dawn/1706 [ intel-0x9bc5 win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:writeMask=0;renderMode="render-bundle";bufferOffset="zero";querySetOffset="zero";sampleMask=6 [ Failure ]
+crbug.com/dawn/1706 [ intel-0x9bc5 win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,scissor:writeMask=0;renderMode="direct";bufferOffset="non-zero";querySetOffset="non-zero" [ Failure ]
+crbug.com/dawn/1706 [ intel-0x9bc5 win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,scissor:writeMask=0;renderMode="direct";bufferOffset="non-zero";querySetOffset="zero" [ Failure ]
+crbug.com/dawn/1706 [ intel-0x9bc5 win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,scissor:writeMask=0;renderMode="direct";bufferOffset="zero";querySetOffset="non-zero" [ Failure ]
+crbug.com/dawn/1706 [ intel-0x9bc5 win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,scissor:writeMask=0;renderMode="direct";bufferOffset="zero";querySetOffset="zero" [ Failure ]
+crbug.com/dawn/1706 [ intel-0x9bc5 win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,scissor:writeMask=0;renderMode="render-bundle";bufferOffset="non-zero";querySetOffset="non-zero" [ Failure ]
+crbug.com/dawn/1706 [ intel-0x9bc5 win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,scissor:writeMask=0;renderMode="render-bundle";bufferOffset="non-zero";querySetOffset="zero" [ Failure ]
+crbug.com/dawn/1706 [ intel-0x9bc5 win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,scissor:writeMask=0;renderMode="render-bundle";bufferOffset="zero";querySetOffset="non-zero" [ Failure ]
+crbug.com/dawn/1706 [ intel-0x9bc5 win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,scissor:writeMask=0;renderMode="render-bundle";bufferOffset="zero";querySetOffset="zero" [ Failure ]
################################################################################
# Skipped due to device creation failures
@@ -532,13 +493,13 @@
crbug.com/dawn/1767 webgpu:api,operation,adapter,requestDevice:default: [ Failure ]
crbug.com/dawn/1767 webgpu:api,operation,adapter,requestDevice:limit,worse_than_default:limit="maxBindingsPerBindGroup" [ Failure ]
crbug.com/dawn/1767 webgpu:api,operation,adapter,requestDevice:limits,supported:limit="maxBindingsPerBindGroup" [ Failure ]
-crbug.com/dawn/1767 webgpu:api,validation,createBindGroupLayout:maximum_binding_limit: [ Failure ]
crbug.com/dawn/1767 [ linux ] webgpu:api,validation,capability_checks,limits,maxBindingsPerBindGroup:createBindGroupLayout,at_over:* [ Failure ]
-crbug.com/dawn/1767 [ linux ] webgpu:api,validation,capability_checks,limits,maxBindingsPerBindGroup:createPipeline,at_over:* [ Failure ]
crbug.com/dawn/1767 [ mac ] webgpu:api,validation,capability_checks,limits,maxBindingsPerBindGroup:createBindGroupLayout,at_over:* [ Failure ]
-crbug.com/dawn/1767 [ mac ] webgpu:api,validation,capability_checks,limits,maxBindingsPerBindGroup:createPipeline,at_over:* [ Failure ]
crbug.com/dawn/1767 [ win ] webgpu:api,validation,capability_checks,limits,maxBindingsPerBindGroup:createBindGroupLayout,at_over:* [ Failure ]
+crbug.com/dawn/1767 [ linux ] webgpu:api,validation,capability_checks,limits,maxBindingsPerBindGroup:createPipeline,at_over:* [ Failure ]
+crbug.com/dawn/1767 [ mac ] webgpu:api,validation,capability_checks,limits,maxBindingsPerBindGroup:createPipeline,at_over:* [ Failure ]
crbug.com/dawn/1767 [ win ] webgpu:api,validation,capability_checks,limits,maxBindingsPerBindGroup:createPipeline,at_over:* [ Failure ]
+crbug.com/dawn/1767 webgpu:api,validation,createBindGroupLayout:maximum_binding_limit: [ Failure ]
################################################################################
# These tests are slow enough that they fail often on a lot of configurations,
@@ -561,19 +522,38 @@
crbug.com/dawn/0000 [ dawn-backend-validation nvidia-0x2184 target-cpu-64 win10 ] webgpu:api,validation,capability_checks,limits,maxTextureDimension2D:getCurrentTexture,at_over:limitTest="underDefault";testValueName="atLimit";canvasType="onscreen" [ RetryOnFailure ]
crbug.com/dawn/0000 [ dawn-backend-validation nvidia-0x2184 target-cpu-64 win10 ] webgpu:api,validation,capability_checks,limits,maxUniformBufferBindingSize:createBindGroup,at_over:limitTest="atDefault";testValueName="atLimit";bufferPart="wholeBuffer" [ RetryOnFailure ]
crbug.com/dawn/0000 [ dawn-backend-validation nvidia-0x2184 target-cpu-64 win10 ] webgpu:api,validation,capability_checks,limits,maxUniformBuffersPerShaderStage:createBindGroupLayout,at_over:limitTest="atDefault";testValueName="atLimit";visibility=3;order="shiftByHalf" [ RetryOnFailure ]
-crbug.com/dawn/0000 [ ventura ] webgpu:api,validation,render_pipeline,fragment_state:targets_blend:isAsync=false;component="color" [ RetryOnFailure ]
+crbug.com/dawn/0000 [ dawn-backend-validation ventura ] webgpu:api,validation,render_pipeline,fragment_state:targets_blend:isAsync=false;component="color" [ RetryOnFailure ]
+crbug.com/dawn/0000 [ dawn-no-backend-validation ventura ] webgpu:api,validation,render_pipeline,fragment_state:targets_blend:isAsync=false;component="color" [ RetryOnFailure ]
crbug.com/dawn/0000 [ dawn-backend-validation target-cpu-32 webgpu-adapter-default win10 ] webgpu:web_platform,copyToTexture,ImageBitmap:copy_subrect_from_2D_Canvas:orientation="flipY";srcDoFlipYDuringCopy=true;dstPremultiplied=true [ RetryOnFailure ]
crbug.com/dawn/0000 [ dawn-backend-validation target-cpu-32 webgpu-adapter-default win10 ] webgpu:web_platform,copyToTexture,ImageBitmap:copy_subrect_from_ImageData:alpha="none";orientation="flipY";srcDoFlipYDuringCopy=true;dstPremultiplied=false [ RetryOnFailure ]
# New failures. Please triage:
crbug.com/dawn/0000 webgpu:api,operation,adapter,requestDevice:stale: [ Failure ]
-crbug.com/dawn/0000 [ amd-0x67ef ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,alpha_to_coverage:* [ Failure ]
crbug.com/dawn/0000 [ intel-0x3e9b ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,alpha_to_coverage:* [ Failure ]
crbug.com/dawn/0000 [ intel-0x9bc5 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,alpha_to_coverage:* [ Failure ]
-crbug.com/dawn/0000 [ amd-0x67ef ventura ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:* [ Failure ]
-crbug.com/dawn/0000 [ intel-0x3e9b monterey ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:* [ Failure ]
-crbug.com/dawn/0000 [ intel-0x9bc5 ubuntu ] webgpu:api,operation,render_pipeline,sample_mask:fragment_output_mask:interpolated=false;sampleCount=1;rasterizationMask=1 [ Failure ]
-crbug.com/dawn/0000 [ intel-0x9bc5 ubuntu ] webgpu:api,operation,render_pipeline,sample_mask:fragment_output_mask:interpolated=true;sampleCount=1;rasterizationMask=1 [ Failure ]
+crbug.com/dawn/0000 [ intel-0x9bc5 win10 ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,basic:writeMask=0;renderMode="direct";bufferOffset="zero";querySetOffset="non-zero" [ Failure ]
+crbug.com/dawn/0000 [ monterey ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:writeMask=0;renderMode="direct";bufferOffset="non-zero";querySetOffset="non-zero";sampleMask=0 [ Failure ]
+crbug.com/dawn/0000 [ monterey ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:writeMask=0;renderMode="direct";bufferOffset="non-zero";querySetOffset="zero";sampleMask=0 [ Failure ]
+crbug.com/dawn/0000 [ monterey ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:writeMask=0;renderMode="direct";bufferOffset="zero";querySetOffset="non-zero";sampleMask=0 [ Failure ]
+crbug.com/dawn/0000 [ monterey ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:writeMask=0;renderMode="direct";bufferOffset="zero";querySetOffset="zero";sampleMask=0 [ Failure ]
+crbug.com/dawn/0000 [ monterey ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:writeMask=0;renderMode="render-bundle";bufferOffset="non-zero";querySetOffset="non-zero";sampleMask=0 [ Failure ]
+crbug.com/dawn/0000 [ monterey ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:writeMask=0;renderMode="render-bundle";bufferOffset="non-zero";querySetOffset="zero";sampleMask=0 [ Failure ]
+crbug.com/dawn/0000 [ monterey ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:writeMask=0;renderMode="render-bundle";bufferOffset="zero";querySetOffset="non-zero";sampleMask=0 [ Failure ]
+crbug.com/dawn/0000 [ monterey ] webgpu:api,operation,command_buffer,queries,occlusionQuery:occlusion_query,sample_mask:writeMask=0;renderMode="render-bundle";bufferOffset="zero";querySetOffset="zero";sampleMask=0 [ Failure ]
+crbug.com/dawn/0000 [ dawn-backend-validation intel-0x9bc5 ubuntu ] webgpu:api,operation,render_pipeline,sample_mask:fragment_output_mask:interpolated=false;sampleCount=1;rasterizationMask=1 [ Failure ]
+crbug.com/dawn/0000 [ dawn-no-backend-validation intel-0x9bc5 ubuntu ] webgpu:api,operation,render_pipeline,sample_mask:fragment_output_mask:interpolated=false;sampleCount=1;rasterizationMask=1 [ Failure ]
+crbug.com/dawn/0000 [ dawn-backend-validation intel-0x9bc5 ubuntu ] webgpu:api,operation,render_pipeline,sample_mask:fragment_output_mask:interpolated=true;sampleCount=1;rasterizationMask=1 [ Failure ]
+crbug.com/dawn/0000 [ dawn-no-backend-validation intel-0x9bc5 ubuntu ] webgpu:api,operation,render_pipeline,sample_mask:fragment_output_mask:interpolated=true;sampleCount=1;rasterizationMask=1 [ Failure ]
+crbug.com/dawn/0000 [ amd-0x67ef dawn-backend-validation ventura ] webgpu:api,operation,render_pipeline,sample_mask:fragment_output_mask:interpolated=true;sampleCount=4;rasterizationMask=13 [ Failure ]
+crbug.com/dawn/0000 [ amd-0x67ef dawn-backend-validation ventura ] webgpu:api,operation,render_pipeline,sample_mask:fragment_output_mask:interpolated=true;sampleCount=4;rasterizationMask=15 [ Failure ]
+crbug.com/dawn/0000 [ amd-0x67ef dawn-no-backend-validation ventura ] webgpu:api,operation,render_pipeline,sample_mask:fragment_output_mask:interpolated=true;sampleCount=4;rasterizationMask=15 [ Failure ]
+crbug.com/dawn/0000 [ amd-0x67ef dawn-backend-validation ventura ] webgpu:api,operation,render_pipeline,sample_mask:fragment_output_mask:interpolated=true;sampleCount=4;rasterizationMask=3 [ Failure ]
+crbug.com/dawn/0000 [ amd-0x67ef dawn-backend-validation ventura ] webgpu:api,operation,render_pipeline,sample_mask:fragment_output_mask:interpolated=true;sampleCount=4;rasterizationMask=4 [ Failure ]
+crbug.com/dawn/0000 [ amd-0x67ef dawn-backend-validation ventura ] webgpu:api,operation,render_pipeline,sample_mask:fragment_output_mask:interpolated=true;sampleCount=4;rasterizationMask=6 [ Failure ]
+crbug.com/dawn/0000 [ amd-0x67ef dawn-no-backend-validation ventura ] webgpu:api,operation,render_pipeline,sample_mask:fragment_output_mask:interpolated=true;sampleCount=4;rasterizationMask=6 [ Failure ]
+crbug.com/dawn/0000 [ amd-0x67ef dawn-backend-validation ventura ] webgpu:api,operation,render_pipeline,sample_mask:fragment_output_mask:interpolated=true;sampleCount=4;rasterizationMask=8 [ Failure ]
+crbug.com/dawn/0000 [ amd-0x67ef dawn-backend-validation ventura ] webgpu:api,operation,render_pipeline,sample_mask:fragment_output_mask:interpolated=true;sampleCount=4;rasterizationMask=9 [ Failure ]
+crbug.com/dawn/0000 [ amd-0x67ef dawn-no-backend-validation ventura ] webgpu:api,operation,render_pipeline,sample_mask:fragment_output_mask:interpolated=true;sampleCount=4;rasterizationMask=9 [ Failure ]
crbug.com/dawn/0000 [ nvidia-0x2184 ubuntu ] webgpu:api,operation,rendering,depth_bias:depth_bias:quadAngle=0;bias=-8388608;biasSlopeScale=0;biasClamp=0.125 [ Failure ]
crbug.com/dawn/0000 [ nvidia-0x2184 ubuntu ] webgpu:api,operation,rendering,depth_bias:depth_bias:quadAngle=0;bias=8388608;biasSlopeScale=0;biasClamp=0 [ Failure ]
crbug.com/dawn/0000 webgpu:api,validation,buffer,mapping:getMappedRange,state,mappingPending: [ Failure ]
@@ -585,54 +565,18 @@
crbug.com/dawn/0000 [ intel-0x9bc5 ubuntu ] webgpu:api,validation,capability_checks,limits,maxComputeWorkgroupSizeX:createComputePipeline,at_over:limitTest="atMaximum";testValueName="atLimit";async=true [ Failure ]
crbug.com/dawn/0000 [ intel-0x9bc5 ubuntu ] webgpu:api,validation,capability_checks,limits,maxComputeWorkgroupSizeY:createComputePipeline,at_over:limitTest="atMaximum";testValueName="atLimit";async=false [ Failure ]
crbug.com/dawn/0000 [ intel-0x9bc5 ubuntu ] webgpu:api,validation,capability_checks,limits,maxComputeWorkgroupSizeY:createComputePipeline,at_over:limitTest="atMaximum";testValueName="atLimit";async=true [ Failure ]
-crbug.com/dawn/0000 [ amd-0x67ef ventura ] webgpu:api,validation,capability_checks,limits,maxStorageTexturesPerShaderStage:createPipeline,at_over:limitTest="atMaximum";testValueName="atLimit";async=false;bindingCombination="fragment";order="backward";bindGroupTest="differentGroups" [ Failure ]
-crbug.com/dawn/0000 [ intel-0x3e9b monterey ] webgpu:api,validation,capability_checks,limits,maxStorageTexturesPerShaderStage:createPipeline,at_over:limitTest="atMaximum";testValueName="atLimit";async=false;bindingCombination="fragment";order="backward";bindGroupTest="differentGroups" [ Failure ]
-crbug.com/dawn/0000 [ intel-0x9bc5 win10 ] webgpu:api,validation,capability_checks,limits,maxStorageTexturesPerShaderStage:createPipeline,at_over:limitTest="atMaximum";testValueName="atLimit";async=false;bindingCombination="fragment";order="backward";bindGroupTest="differentGroups" [ Failure ]
-crbug.com/dawn/0000 [ nvidia-0x2184 win10 ] webgpu:api,validation,capability_checks,limits,maxStorageTexturesPerShaderStage:createPipeline,at_over:limitTest="atMaximum";testValueName="atLimit";async=false;bindingCombination="fragment";order="backward";bindGroupTest="differentGroups" [ Failure ]
-crbug.com/dawn/0000 [ amd-0x67ef ventura ] webgpu:api,validation,capability_checks,limits,maxStorageTexturesPerShaderStage:createPipeline,at_over:limitTest="atMaximum";testValueName="atLimit";async=false;bindingCombination="fragment";order="backward";bindGroupTest="sameGroup" [ Failure ]
-crbug.com/dawn/0000 [ intel-0x3e9b monterey ] webgpu:api,validation,capability_checks,limits,maxStorageTexturesPerShaderStage:createPipeline,at_over:limitTest="atMaximum";testValueName="atLimit";async=false;bindingCombination="fragment";order="backward";bindGroupTest="sameGroup" [ Failure ]
-crbug.com/dawn/0000 [ intel-0x9bc5 win10 ] webgpu:api,validation,capability_checks,limits,maxStorageTexturesPerShaderStage:createPipeline,at_over:limitTest="atMaximum";testValueName="atLimit";async=false;bindingCombination="fragment";order="backward";bindGroupTest="sameGroup" [ Failure ]
-crbug.com/dawn/0000 [ nvidia-0x2184 win10 ] webgpu:api,validation,capability_checks,limits,maxStorageTexturesPerShaderStage:createPipeline,at_over:limitTest="atMaximum";testValueName="atLimit";async=false;bindingCombination="fragment";order="backward";bindGroupTest="sameGroup" [ Failure ]
-crbug.com/dawn/0000 [ amd-0x67ef ventura ] webgpu:api,validation,capability_checks,limits,maxStorageTexturesPerShaderStage:createPipeline,at_over:limitTest="atMaximum";testValueName="atLimit";async=false;bindingCombination="fragment";order="forward";bindGroupTest="differentGroups" [ Failure ]
-crbug.com/dawn/0000 [ intel-0x3e9b monterey ] webgpu:api,validation,capability_checks,limits,maxStorageTexturesPerShaderStage:createPipeline,at_over:limitTest="atMaximum";testValueName="atLimit";async=false;bindingCombination="fragment";order="forward";bindGroupTest="differentGroups" [ Failure ]
-crbug.com/dawn/0000 [ intel-0x9bc5 win10 ] webgpu:api,validation,capability_checks,limits,maxStorageTexturesPerShaderStage:createPipeline,at_over:limitTest="atMaximum";testValueName="atLimit";async=false;bindingCombination="fragment";order="forward";bindGroupTest="differentGroups" [ Failure ]
-crbug.com/dawn/0000 [ nvidia-0x2184 win10 ] webgpu:api,validation,capability_checks,limits,maxStorageTexturesPerShaderStage:createPipeline,at_over:limitTest="atMaximum";testValueName="atLimit";async=false;bindingCombination="fragment";order="forward";bindGroupTest="differentGroups" [ Failure ]
-crbug.com/dawn/0000 [ amd-0x67ef ventura ] webgpu:api,validation,capability_checks,limits,maxStorageTexturesPerShaderStage:createPipeline,at_over:limitTest="atMaximum";testValueName="atLimit";async=false;bindingCombination="fragment";order="forward";bindGroupTest="sameGroup" [ Failure ]
-crbug.com/dawn/0000 [ intel-0x3e9b monterey ] webgpu:api,validation,capability_checks,limits,maxStorageTexturesPerShaderStage:createPipeline,at_over:limitTest="atMaximum";testValueName="atLimit";async=false;bindingCombination="fragment";order="forward";bindGroupTest="sameGroup" [ Failure ]
-crbug.com/dawn/0000 [ intel-0x9bc5 win10 ] webgpu:api,validation,capability_checks,limits,maxStorageTexturesPerShaderStage:createPipeline,at_over:limitTest="atMaximum";testValueName="atLimit";async=false;bindingCombination="fragment";order="forward";bindGroupTest="sameGroup" [ Failure ]
-crbug.com/dawn/0000 [ nvidia-0x2184 win10 ] webgpu:api,validation,capability_checks,limits,maxStorageTexturesPerShaderStage:createPipeline,at_over:limitTest="atMaximum";testValueName="atLimit";async=false;bindingCombination="fragment";order="forward";bindGroupTest="sameGroup" [ Failure ]
-crbug.com/dawn/0000 [ amd-0x67ef ventura ] webgpu:api,validation,capability_checks,limits,maxStorageTexturesPerShaderStage:createPipeline,at_over:limitTest="atMaximum";testValueName="atLimit";async=false;bindingCombination="fragment";order="shiftByHalf";bindGroupTest="differentGroups" [ Failure ]
-crbug.com/dawn/0000 [ intel-0x3e9b monterey ] webgpu:api,validation,capability_checks,limits,maxStorageTexturesPerShaderStage:createPipeline,at_over:limitTest="atMaximum";testValueName="atLimit";async=false;bindingCombination="fragment";order="shiftByHalf";bindGroupTest="differentGroups" [ Failure ]
-crbug.com/dawn/0000 [ intel-0x9bc5 win10 ] webgpu:api,validation,capability_checks,limits,maxStorageTexturesPerShaderStage:createPipeline,at_over:limitTest="atMaximum";testValueName="atLimit";async=false;bindingCombination="fragment";order="shiftByHalf";bindGroupTest="differentGroups" [ Failure ]
-crbug.com/dawn/0000 [ nvidia-0x2184 win10 ] webgpu:api,validation,capability_checks,limits,maxStorageTexturesPerShaderStage:createPipeline,at_over:limitTest="atMaximum";testValueName="atLimit";async=false;bindingCombination="fragment";order="shiftByHalf";bindGroupTest="differentGroups" [ Failure ]
-crbug.com/dawn/0000 [ amd-0x67ef ventura ] webgpu:api,validation,capability_checks,limits,maxStorageTexturesPerShaderStage:createPipeline,at_over:limitTest="atMaximum";testValueName="atLimit";async=false;bindingCombination="fragment";order="shiftByHalf";bindGroupTest="sameGroup" [ Failure ]
-crbug.com/dawn/0000 [ intel-0x3e9b monterey ] webgpu:api,validation,capability_checks,limits,maxStorageTexturesPerShaderStage:createPipeline,at_over:limitTest="atMaximum";testValueName="atLimit";async=false;bindingCombination="fragment";order="shiftByHalf";bindGroupTest="sameGroup" [ Failure ]
-crbug.com/dawn/0000 [ intel-0x9bc5 win10 ] webgpu:api,validation,capability_checks,limits,maxStorageTexturesPerShaderStage:createPipeline,at_over:limitTest="atMaximum";testValueName="atLimit";async=false;bindingCombination="fragment";order="shiftByHalf";bindGroupTest="sameGroup" [ Failure ]
-crbug.com/dawn/0000 [ nvidia-0x2184 win10 ] webgpu:api,validation,capability_checks,limits,maxStorageTexturesPerShaderStage:createPipeline,at_over:limitTest="atMaximum";testValueName="atLimit";async=false;bindingCombination="fragment";order="shiftByHalf";bindGroupTest="sameGroup" [ Failure ]
-crbug.com/dawn/0000 [ amd-0x67ef ventura ] webgpu:api,validation,capability_checks,limits,maxStorageTexturesPerShaderStage:createPipeline,at_over:limitTest="atMaximum";testValueName="atLimit";async=true;bindingCombination="fragment";order="backward";bindGroupTest="differentGroups" [ Failure ]
-crbug.com/dawn/0000 [ intel-0x3e9b monterey ] webgpu:api,validation,capability_checks,limits,maxStorageTexturesPerShaderStage:createPipeline,at_over:limitTest="atMaximum";testValueName="atLimit";async=true;bindingCombination="fragment";order="backward";bindGroupTest="differentGroups" [ Failure ]
-crbug.com/dawn/0000 [ intel-0x9bc5 win10 ] webgpu:api,validation,capability_checks,limits,maxStorageTexturesPerShaderStage:createPipeline,at_over:limitTest="atMaximum";testValueName="atLimit";async=true;bindingCombination="fragment";order="backward";bindGroupTest="differentGroups" [ Failure ]
-crbug.com/dawn/0000 [ nvidia-0x2184 win10 ] webgpu:api,validation,capability_checks,limits,maxStorageTexturesPerShaderStage:createPipeline,at_over:limitTest="atMaximum";testValueName="atLimit";async=true;bindingCombination="fragment";order="backward";bindGroupTest="differentGroups" [ Failure ]
-crbug.com/dawn/0000 [ amd-0x67ef ventura ] webgpu:api,validation,capability_checks,limits,maxStorageTexturesPerShaderStage:createPipeline,at_over:limitTest="atMaximum";testValueName="atLimit";async=true;bindingCombination="fragment";order="backward";bindGroupTest="sameGroup" [ Failure ]
-crbug.com/dawn/0000 [ intel-0x3e9b monterey ] webgpu:api,validation,capability_checks,limits,maxStorageTexturesPerShaderStage:createPipeline,at_over:limitTest="atMaximum";testValueName="atLimit";async=true;bindingCombination="fragment";order="backward";bindGroupTest="sameGroup" [ Failure ]
-crbug.com/dawn/0000 [ intel-0x9bc5 win10 ] webgpu:api,validation,capability_checks,limits,maxStorageTexturesPerShaderStage:createPipeline,at_over:limitTest="atMaximum";testValueName="atLimit";async=true;bindingCombination="fragment";order="backward";bindGroupTest="sameGroup" [ Failure ]
-crbug.com/dawn/0000 [ nvidia-0x2184 win10 ] webgpu:api,validation,capability_checks,limits,maxStorageTexturesPerShaderStage:createPipeline,at_over:limitTest="atMaximum";testValueName="atLimit";async=true;bindingCombination="fragment";order="backward";bindGroupTest="sameGroup" [ Failure ]
-crbug.com/dawn/0000 [ amd-0x67ef ventura ] webgpu:api,validation,capability_checks,limits,maxStorageTexturesPerShaderStage:createPipeline,at_over:limitTest="atMaximum";testValueName="atLimit";async=true;bindingCombination="fragment";order="forward";bindGroupTest="differentGroups" [ Failure ]
-crbug.com/dawn/0000 [ intel-0x3e9b monterey ] webgpu:api,validation,capability_checks,limits,maxStorageTexturesPerShaderStage:createPipeline,at_over:limitTest="atMaximum";testValueName="atLimit";async=true;bindingCombination="fragment";order="forward";bindGroupTest="differentGroups" [ Failure ]
-crbug.com/dawn/0000 [ intel-0x9bc5 win10 ] webgpu:api,validation,capability_checks,limits,maxStorageTexturesPerShaderStage:createPipeline,at_over:limitTest="atMaximum";testValueName="atLimit";async=true;bindingCombination="fragment";order="forward";bindGroupTest="differentGroups" [ Failure ]
-crbug.com/dawn/0000 [ nvidia-0x2184 win10 ] webgpu:api,validation,capability_checks,limits,maxStorageTexturesPerShaderStage:createPipeline,at_over:limitTest="atMaximum";testValueName="atLimit";async=true;bindingCombination="fragment";order="forward";bindGroupTest="differentGroups" [ Failure ]
-crbug.com/dawn/0000 [ amd-0x67ef ventura ] webgpu:api,validation,capability_checks,limits,maxStorageTexturesPerShaderStage:createPipeline,at_over:limitTest="atMaximum";testValueName="atLimit";async=true;bindingCombination="fragment";order="forward";bindGroupTest="sameGroup" [ Failure ]
-crbug.com/dawn/0000 [ intel-0x3e9b monterey ] webgpu:api,validation,capability_checks,limits,maxStorageTexturesPerShaderStage:createPipeline,at_over:limitTest="atMaximum";testValueName="atLimit";async=true;bindingCombination="fragment";order="forward";bindGroupTest="sameGroup" [ Failure ]
-crbug.com/dawn/0000 [ intel-0x9bc5 win10 ] webgpu:api,validation,capability_checks,limits,maxStorageTexturesPerShaderStage:createPipeline,at_over:limitTest="atMaximum";testValueName="atLimit";async=true;bindingCombination="fragment";order="forward";bindGroupTest="sameGroup" [ Failure ]
-crbug.com/dawn/0000 [ nvidia-0x2184 win10 ] webgpu:api,validation,capability_checks,limits,maxStorageTexturesPerShaderStage:createPipeline,at_over:limitTest="atMaximum";testValueName="atLimit";async=true;bindingCombination="fragment";order="forward";bindGroupTest="sameGroup" [ Failure ]
-crbug.com/dawn/0000 [ amd-0x67ef ventura ] webgpu:api,validation,capability_checks,limits,maxStorageTexturesPerShaderStage:createPipeline,at_over:limitTest="atMaximum";testValueName="atLimit";async=true;bindingCombination="fragment";order="shiftByHalf";bindGroupTest="differentGroups" [ Failure ]
-crbug.com/dawn/0000 [ intel-0x3e9b monterey ] webgpu:api,validation,capability_checks,limits,maxStorageTexturesPerShaderStage:createPipeline,at_over:limitTest="atMaximum";testValueName="atLimit";async=true;bindingCombination="fragment";order="shiftByHalf";bindGroupTest="differentGroups" [ Failure ]
-crbug.com/dawn/0000 [ intel-0x9bc5 win10 ] webgpu:api,validation,capability_checks,limits,maxStorageTexturesPerShaderStage:createPipeline,at_over:limitTest="atMaximum";testValueName="atLimit";async=true;bindingCombination="fragment";order="shiftByHalf";bindGroupTest="differentGroups" [ Failure ]
-crbug.com/dawn/0000 [ nvidia-0x2184 win10 ] webgpu:api,validation,capability_checks,limits,maxStorageTexturesPerShaderStage:createPipeline,at_over:limitTest="atMaximum";testValueName="atLimit";async=true;bindingCombination="fragment";order="shiftByHalf";bindGroupTest="differentGroups" [ Failure ]
-crbug.com/dawn/0000 [ amd-0x67ef ventura ] webgpu:api,validation,capability_checks,limits,maxStorageTexturesPerShaderStage:createPipeline,at_over:limitTest="atMaximum";testValueName="atLimit";async=true;bindingCombination="fragment";order="shiftByHalf";bindGroupTest="sameGroup" [ Failure ]
-crbug.com/dawn/0000 [ intel-0x3e9b monterey ] webgpu:api,validation,capability_checks,limits,maxStorageTexturesPerShaderStage:createPipeline,at_over:limitTest="atMaximum";testValueName="atLimit";async=true;bindingCombination="fragment";order="shiftByHalf";bindGroupTest="sameGroup" [ Failure ]
-crbug.com/dawn/0000 [ intel-0x9bc5 win10 ] webgpu:api,validation,capability_checks,limits,maxStorageTexturesPerShaderStage:createPipeline,at_over:limitTest="atMaximum";testValueName="atLimit";async=true;bindingCombination="fragment";order="shiftByHalf";bindGroupTest="sameGroup" [ Failure ]
-crbug.com/dawn/0000 [ nvidia-0x2184 win10 ] webgpu:api,validation,capability_checks,limits,maxStorageTexturesPerShaderStage:createPipeline,at_over:limitTest="atMaximum";testValueName="atLimit";async=true;bindingCombination="fragment";order="shiftByHalf";bindGroupTest="sameGroup" [ Failure ]
+crbug.com/dawn/0000 [ dawn-backend-validation nvidia-0x2184 target-cpu-32 win10 ] webgpu:api,validation,capability_checks,limits,maxComputeWorkgroupStorageSize:createComputePipeline,at_over:limitTest="atDefault";testValueName="atLimit";async=true;wgslType="vec4%3Cu32%3E" [ Failure ]
+crbug.com/dawn/0000 [ dawn-backend-validation nvidia-0x2184 target-cpu-32 win10 ] webgpu:api,validation,capability_checks,limits,maxComputeWorkgroupStorageSize:createComputePipeline,at_over:limitTest="atMaximum";testValueName="atLimit";async=false;wgslType="mat2x3%3Cf32%3E" [ Failure ]
+crbug.com/dawn/0000 [ dawn-backend-validation nvidia-0x2184 target-cpu-32 win10 ] webgpu:api,validation,capability_checks,limits,maxComputeWorkgroupStorageSize:createComputePipeline,at_over:limitTest="atMaximum";testValueName="atLimit";async=false;wgslType="mat4x4%3Cf32%3E" [ Failure ]
+crbug.com/dawn/0000 [ dawn-backend-validation nvidia-0x2184 target-cpu-32 win10 ] webgpu:api,validation,capability_checks,limits,maxComputeWorkgroupStorageSize:createComputePipeline,at_over:limitTest="atMaximum";testValueName="atLimit";async=true;wgslType="mat3x3%3Cf16%3E" [ Failure ]
+crbug.com/dawn/0000 [ dawn-backend-validation nvidia-0x2184 target-cpu-32 win10 ] webgpu:api,validation,capability_checks,limits,maxSamplersPerShaderStage:createPipelineLayout,at_over:limitTest="atMaximum";testValueName="atLimit";visibility=6;order="backward" [ Failure ]
+crbug.com/dawn/0000 [ dawn-backend-validation nvidia-0x2184 target-cpu-32 win10 ] webgpu:api,validation,capability_checks,limits,maxSamplersPerShaderStage:createPipelineLayout,at_over:limitTest="atMaximum";testValueName="overLimit";visibility=3;order="shiftByHalf" [ Failure ]
+crbug.com/dawn/0000 [ dawn-backend-validation nvidia-0x2184 target-cpu-32 win10 ] webgpu:api,validation,capability_checks,limits,maxSamplersPerShaderStage:createPipelineLayout,at_over:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=1;order="forward" [ Failure ]
+crbug.com/dawn/0000 [ dawn-backend-validation nvidia-0x2184 target-cpu-32 win10 ] webgpu:api,validation,capability_checks,limits,maxSamplersPerShaderStage:createPipelineLayout,at_over:limitTest="overMaximum";testValueName="overLimit";visibility=3;order="shiftByHalf" [ Failure ]
+crbug.com/dawn/0000 [ dawn-backend-validation nvidia-0x2184 target-cpu-64 win10 ] webgpu:api,validation,capability_checks,limits,maxStorageBuffersPerShaderStage:createBindGroupLayout,at_over:limitTest="atMaximum";testValueName="overLimit";visibility=4;type="storage";order="forward" [ Failure ]
+crbug.com/dawn/0000 [ dawn-backend-validation nvidia-0x2184 target-cpu-64 win10 ] webgpu:api,validation,capability_checks,limits,maxStorageBuffersPerShaderStage:createBindGroupLayout,at_over:limitTest="atMaximum";testValueName="overLimit";visibility=7;type="read-only-storage";order="backward" [ Failure ]
+crbug.com/dawn/0000 [ dawn-backend-validation nvidia-0x2184 target-cpu-64 win10 ] webgpu:api,validation,capability_checks,limits,maxStorageBuffersPerShaderStage:createBindGroupLayout,at_over:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=2;type="read-only-storage";order="shiftByHalf" [ Failure ]
+crbug.com/dawn/0000 [ dawn-backend-validation nvidia-0x2184 target-cpu-64 win10 ] webgpu:api,validation,capability_checks,limits,maxStorageBuffersPerShaderStage:createBindGroupLayout,at_over:limitTest="betweenDefaultAndMaximum";testValueName="atLimit";visibility=4;type="storage";order="forward" [ Failure ]
crbug.com/dawn/0000 [ intel-0x9bc5 ubuntu ] webgpu:api,validation,error_scope:current_scope:errorFilter="out-of-memory";stackDepth=1 [ Failure ]
crbug.com/dawn/0000 [ intel-0x9bc5 ubuntu ] webgpu:api,validation,error_scope:current_scope:errorFilter="out-of-memory";stackDepth=10 [ Failure ]
crbug.com/dawn/0000 [ intel-0x9bc5 ubuntu ] webgpu:api,validation,error_scope:current_scope:errorFilter="out-of-memory";stackDepth=100 [ Failure ]
@@ -645,11 +589,29 @@
crbug.com/dawn/0000 [ intel-0x9bc5 ubuntu ] webgpu:api,validation,error_scope:simple:errorType="out-of-memory";errorFilter="internal" [ Failure ]
crbug.com/dawn/0000 [ intel-0x9bc5 ubuntu ] webgpu:api,validation,error_scope:simple:errorType="out-of-memory";errorFilter="out-of-memory" [ Failure ]
crbug.com/dawn/0000 [ intel-0x9bc5 ubuntu ] webgpu:api,validation,error_scope:simple:errorType="out-of-memory";errorFilter="validation" [ Failure ]
+crbug.com/dawn/0000 [ dawn-backend-validation monterey ] webgpu:api,validation,render_pipeline,inter_stage:interpolation_type:isAsync=false;output="";input="%40interpolate(perspective,%20center)" [ Failure ]
crbug.com/dawn/0000 [ nvidia-0x2184 ubuntu ] webgpu:api,validation,texture,bgra8unorm_storage:configure_storage_usage_on_canvas_context_with_bgra8unorm_storage:* [ Failure ]
+crbug.com/dawn/0000 [ amd-0x67ef ventura ] webgpu:shader,execution,expression,call,builtin,clamp:f32:inputSource="storage_r";vectorize="_undef_" [ Failure ]
+crbug.com/dawn/0000 [ amd-0x67ef ventura ] webgpu:shader,execution,expression,call,builtin,clamp:f32:inputSource="storage_r";vectorize=2 [ Failure ]
+crbug.com/dawn/0000 [ amd-0x67ef ventura ] webgpu:shader,execution,expression,call,builtin,clamp:f32:inputSource="storage_r";vectorize=3 [ Failure ]
+crbug.com/dawn/0000 [ amd-0x67ef ventura ] webgpu:shader,execution,expression,call,builtin,clamp:f32:inputSource="storage_r";vectorize=4 [ Failure ]
+crbug.com/dawn/0000 [ amd-0x67ef ventura ] webgpu:shader,execution,expression,call,builtin,clamp:f32:inputSource="storage_rw";vectorize="_undef_" [ Failure ]
+crbug.com/dawn/0000 [ amd-0x67ef ventura ] webgpu:shader,execution,expression,call,builtin,clamp:f32:inputSource="storage_rw";vectorize=2 [ Failure ]
+crbug.com/dawn/0000 [ amd-0x67ef ventura ] webgpu:shader,execution,expression,call,builtin,clamp:f32:inputSource="storage_rw";vectorize=3 [ Failure ]
+crbug.com/dawn/0000 [ amd-0x67ef ventura ] webgpu:shader,execution,expression,call,builtin,clamp:f32:inputSource="storage_rw";vectorize=4 [ Failure ]
+crbug.com/dawn/0000 [ amd-0x67ef ventura ] webgpu:shader,execution,expression,call,builtin,clamp:f32:inputSource="uniform";vectorize="_undef_" [ Failure ]
+crbug.com/dawn/0000 [ amd-0x67ef ventura ] webgpu:shader,execution,expression,call,builtin,clamp:f32:inputSource="uniform";vectorize=2 [ Failure ]
+crbug.com/dawn/0000 [ amd-0x67ef ventura ] webgpu:shader,execution,expression,call,builtin,clamp:f32:inputSource="uniform";vectorize=3 [ Failure ]
+crbug.com/dawn/0000 [ amd-0x67ef ventura ] webgpu:shader,execution,expression,call,builtin,clamp:f32:inputSource="uniform";vectorize=4 [ Failure ]
+crbug.com/dawn/0000 [ amd-0x67ef ventura ] webgpu:shader,execution,expression,call,builtin,pack2x16float:pack:inputSource="const" [ Failure ]
+crbug.com/dawn/0000 [ amd-0x67ef ventura ] webgpu:shader,execution,expression,call,builtin,step:f32:inputSource="const";vectorize="_undef_" [ Failure ]
+crbug.com/dawn/0000 [ amd-0x67ef ventura ] webgpu:shader,execution,expression,call,builtin,step:f32:inputSource="const";vectorize=2 [ Failure ]
+crbug.com/dawn/0000 [ amd-0x67ef ventura ] webgpu:shader,execution,expression,call,builtin,unpack2x16snorm:unpack:inputSource="storage_r" [ Failure ]
+crbug.com/dawn/0000 [ amd-0x67ef ventura ] webgpu:shader,execution,expression,call,builtin,unpack2x16snorm:unpack:inputSource="storage_rw" [ Failure ]
+crbug.com/dawn/0000 [ amd-0x67ef ventura ] webgpu:shader,execution,expression,call,builtin,unpack2x16snorm:unpack:inputSource="uniform" [ Failure ]
crbug.com/dawn/0000 webgpu:shader,validation,parse,identifiers:identifiers:ident="bitcast" [ Failure ]
crbug.com/dawn/0000 [ dawn-backend-validation target-cpu-64 webgpu-adapter-default win10 ] webgpu:web_platform,copyToTexture,ImageBitmap:copy_subrect_from_2D_Canvas:orientation="flipY";srcDoFlipYDuringCopy=true;dstPremultiplied=true [ Failure ]
crbug.com/dawn/0000 [ dawn-backend-validation target-cpu-32 webgpu-adapter-default win10 ] webgpu:web_platform,copyToTexture,ImageBitmap:copy_subrect_from_2D_Canvas:orientation="none";srcDoFlipYDuringCopy=false;dstPremultiplied=false [ Failure ]
-crbug.com/dawn/0000 [ dawn-backend-validation target-cpu-64 webgpu-adapter-default win10 ] webgpu:web_platform,copyToTexture,ImageBitmap:copy_subrect_from_2D_Canvas:orientation="none";srcDoFlipYDuringCopy=false;dstPremultiplied=false [ Failure ]
crbug.com/dawn/0000 [ dawn-backend-validation target-cpu-64 webgpu-adapter-default win10 ] webgpu:web_platform,copyToTexture,ImageBitmap:copy_subrect_from_ImageData:alpha="none";orientation="flipY";srcDoFlipYDuringCopy=true;dstPremultiplied=false [ Failure ]
crbug.com/dawn/0000 [ monterey ] webgpu:web_platform,copyToTexture,canvas:copy_contents_from_bitmaprenderer_context_canvas:* [ Failure ]
crbug.com/dawn/0000 [ ventura ] webgpu:web_platform,copyToTexture,canvas:copy_contents_from_bitmaprenderer_context_canvas:* [ Failure ]