Skip to content

Commit 462e3a4

Browse files
committed
Update CTS and CHANGELOG
1 parent 260d842 commit 462e3a4

File tree

3 files changed

+20
-21
lines changed

3 files changed

+20
-21
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ Bottom level categories:
6767
#### naga
6868

6969
- Fixed overflow detection and argument domain validation for `acosh`, `length`, `normalize`, and `pow` in constant evaluation. By @ecoricemon in [#9249](https://github.com/gfx-rs/wgpu/pull/9249).
70+
- Disallow direct access to atomic variables in WGSL front-end (e.g. `let x = myAtomic;`). By @ecoricemon in [#9262](https://github.com/gfx-rs/wgpu/pull/9262).
7071

7172
## v29.0.0 (2026-03-18)
7273

cts_runner/fail.lst

Lines changed: 4 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -72,32 +72,24 @@ webgpu:shader,validation,decl,var:* // 99%, https://github.com/gfx-rs/wgpu/issue
7272
webgpu:shader,validation,expression,access,array:* // 97%, runtime indexing with compile-time-known values, https://github.com/gfx-rs/wgpu/issues/4390
7373
webgpu:shader,validation,expression,access,matrix:* // 93%, runtime OOB matrix access with literal indices incorrectly rejected
7474
webgpu:shader,validation,expression,access,vector:* // 52%, https://github.com/gfx-rs/wgpu/issues/4390, and missing swizzle validation
75-
webgpu:shader,validation,expression,binary,add_sub_mul:* // 95%, u32 const-eval overflow incorrectly rejected, f16 const-eval overflow not rejected, atomics #5474
76-
webgpu:shader,validation,expression,binary,and_or_xor:* // 96%, https://github.com/gfx-rs/wgpu/issues/5474
77-
webgpu:shader,validation,expression,binary,bitwise_shift:invalid_types:* // 93%, atomics #5474
78-
webgpu:shader,validation,expression,binary,comparison:* // 74%, https://github.com/gfx-rs/wgpu/issues/5474
75+
webgpu:shader,validation,expression,binary,and_or_xor:* // 99%, bool
76+
webgpu:shader,validation,expression,binary,comparison:* // 99%, bool
7977
webgpu:shader,validation,expression,binary,div_rem:* // 86%, https://github.com/gfx-rs/wgpu/issues/5474
8078
webgpu:shader,validation,expression,binary,short_circuiting_and_or:* // 92%, https://github.com/gfx-rs/wgpu/issues/8440
81-
webgpu:shader,validation,expression,call,builtin,abs:* // 98%, atomic type validation gap, https://github.com/gfx-rs/wgpu/issues/5474
8279
webgpu:shader,validation,expression,call,builtin,atomics:* // 86%, atomics in vertex shaders, invalid address spaces/access modes
8380
webgpu:shader,validation,expression,call,builtin,bitcast:* // 57%, bitcast const-eval unimplemented; size validation missing; f16 vector validation incorrect
8481
webgpu:shader,validation,expression,call,builtin,clamp:* // 71%, clamp low<=high constraint not checked for const/override parameters
85-
webgpu:shader,validation,expression,call,builtin,countLeadingZeros:* // 98%, atomic type validation gap, https://github.com/gfx-rs/wgpu/issues/5474
86-
webgpu:shader,validation,expression,call,builtin,countOneBits:* // 98%, atomic type validation gap, https://github.com/gfx-rs/wgpu/issues/5474
87-
webgpu:shader,validation,expression,call,builtin,countTrailingZeros:* // 98%, atomic type validation gap, https://github.com/gfx-rs/wgpu/issues/5474
8882
webgpu:shader,validation,expression,call,builtin,cross:* // 86%, abstract int/float overflow issues in const eval
8983
webgpu:shader,validation,expression,call,builtin,derivatives:* // 83%, f16 support not properly validated
9084
webgpu:shader,validation,expression,call,builtin,determinant:* // 71%, abstract int/float const eval issues
9185
webgpu:shader,validation,expression,call,builtin,distance:* // 66%, scalar distance uses wrong formula (sqrt instead of abs)
9286
webgpu:shader,validation,expression,call,builtin,dot4I8Packed:* // 91%, missing const eval (#4507)
9387
webgpu:shader,validation,expression,call,builtin,dot4U8Packed:* // 91%, missing const eval (#4507)
94-
webgpu:shader,validation,expression,call,builtin,extractBits:* // 55%, const eval issues
88+
webgpu:shader,validation,expression,call,builtin,extractBits:* // 62%, const eval issues
9589
webgpu:shader,validation,expression,call,builtin,faceForward:* // 68%, const eval overflow for abstract/f16
96-
webgpu:shader,validation,expression,call,builtin,firstLeadingBit:* // 98%, atomic type validation gap, https://github.com/gfx-rs/wgpu/issues/5474
97-
webgpu:shader,validation,expression,call,builtin,firstTrailingBit:* // 98%, atomic type validation gap, https://github.com/gfx-rs/wgpu/issues/5474
9890
webgpu:shader,validation,expression,call,builtin,fma:* // 85%, const eval issues
9991
webgpu:shader,validation,expression,call,builtin,frexp:* // 39%, const/override eval not supported
100-
webgpu:shader,validation,expression,call,builtin,insertBits:* // 73%, missing const eval support
92+
webgpu:shader,validation,expression,call,builtin,insertBits:* // 76%, missing const eval support
10193
webgpu:shader,validation,expression,call,builtin,inverseSqrt:* // 61%, const eval overflow for abstract/f16
10294
webgpu:shader,validation,expression,call,builtin,ldexp:* // 43%, const eval not implemented
10395
webgpu:shader,validation,expression,call,builtin,mix:* // 66%, const eval issues
@@ -114,8 +106,6 @@ webgpu:shader,validation,expression,call,builtin,pack4xU8Clamp:* // 74%, missing
114106
webgpu:shader,validation,expression,call,builtin,quantizeToF16:* // 77%, overflow validation issues
115107
webgpu:shader,validation,expression,call,builtin,reflect:* // 39%, const eval not implemented
116108
webgpu:shader,validation,expression,call,builtin,refract:* // 44%, const eval not implemented
117-
webgpu:shader,validation,expression,call,builtin,reverseBits:* // 98%, atomic type validation gap, https://github.com/gfx-rs/wgpu/issues/5474
118-
webgpu:shader,validation,expression,call,builtin,select:* // >99%, https://github.com/gfx-rs/wgpu/issues/5474
119109
webgpu:shader,validation,expression,call,builtin,smoothstep:* // 69%, const eval issues
120110
webgpu:shader,validation,expression,call,builtin,textureDimensions:* // >99%, no external texture in deno
121111
webgpu:shader,validation,expression,call,builtin,textureGather:* // 99%, https://github.com/gfx-rs/wgpu/issues/8876
@@ -137,9 +127,7 @@ webgpu:shader,validation,expression,call,builtin,unpack4x8unorm:* // 81%, missin
137127
webgpu:shader,validation,expression,call,builtin,unpack4xI8:* // 75%, missing const eval (#4507)
138128
webgpu:shader,validation,expression,call,builtin,unpack4xU8:* // 75%, missing const eval (#4507)
139129
webgpu:shader,validation,expression,early_evaluation:* // 67%, mixed override/runtime composite evaluation
140-
webgpu:shader,validation,expression,matrix,* // 99%, #5474, #8868, atomic
141130
webgpu:shader,validation,expression,precedence:* // 76%, https://github.com/gfx-rs/wgpu/issues/4536
142-
webgpu:shader,validation,expression,unary,* // 99%, atomics #5474
143131
webgpu:shader,validation,extension,dual_source_blending:blend_src_usage:* // 61%, @blend_src validation gaps
144132
webgpu:shader,validation,extension,readonly_and_readwrite_storage_textures:* // 0%, CTS bug https://github.com/gpuweb/cts/pull/4567
145133
webgpu:shader,validation,functions,alias_analysis:* // 2%, https://github.com/gfx-rs/wgpu/issues/7650
@@ -164,10 +152,7 @@ webgpu:shader,validation,shader_io,size:* // 92%, https://github.com/gfx-rs/wgpu
164152
webgpu:shader,validation,shader_io,workgroup_size:* // 83%, https://github.com/gfx-rs/wgpu/issues/8892, type mixing, attribute placement
165153
webgpu:shader,validation,statement,continue:* // 90%, continue bypassing declaration used in continuing block, https://github.com/gfx-rs/wgpu/issues/7650
166154
webgpu:shader,validation,statement,for:* // 93%, phony/increment in for-loop init/cont, empty loop behavior
167-
webgpu:shader,validation,statement,increment_decrement:* // 98%, atomic type validation gap, https://github.com/gfx-rs/wgpu/issues/5474
168155
webgpu:shader,validation,statement,loop:* // 92%, https://github.com/gfx-rs/wgpu/issues/7650
169-
webgpu:shader,validation,statement,phony:* // 90%, phony assignment in for-loops with semicolons
170156
webgpu:shader,validation,statement,statement_behavior:* // https://github.com/gfx-rs/wgpu/issues/7650
171-
webgpu:shader,validation,statement,switch:* // https://github.com/gfx-rs/wgpu/issues/7650
172157
webgpu:shader,validation,types,* // 95%, texture_external not supported (2 tests), atomic validation gaps (8 tests), pointer validation gaps (5 tests), 16-bit normalized storage texture formats (36 tests)
173158
webgpu:shader,validation,uniformity,* // 21%, https://github.com/gfx-rs/wgpu/issues/4369

cts_runner/test.lst

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -356,8 +356,8 @@ webgpu:shader,validation,expression,access,array:early_eval_errors:case="overrid
356356
webgpu:shader,validation,expression,access,array:early_eval_errors:case="override_array_cnt_size_zero_unsigned"
357357
webgpu:shader,validation,expression,access,array:early_eval_errors:case="override_in_bounds"
358358
webgpu:shader,validation,expression,access,structure:*
359-
webgpu:shader,validation,expression,binary,add_sub_mul:scalar_vector_out_of_range:lhs="i32";*
360-
webgpu:shader,validation,expression,binary,add_sub_mul:scalar_vector_out_of_range:lhs="u32";*
359+
webgpu:shader,validation,expression,binary,add_sub_mul:*
360+
webgpu:shader,validation,expression,binary,bitwise_shift:invalid_types:*
361361
webgpu:shader,validation,expression,binary,bitwise_shift:partial_eval_errors:*
362362
webgpu:shader,validation,expression,binary,bitwise_shift:scalar_vector:*
363363
webgpu:shader,validation,expression,binary,bitwise_shift:shift_left_abstract:*
@@ -368,6 +368,7 @@ webgpu:shader,validation,expression,binary,parse:*
368368
webgpu:shader,validation,expression,binary,short_circuiting_and_or:array_override:op="%26%26";a_val=1;b_val=1
369369
webgpu:shader,validation,expression,binary,short_circuiting_and_or:invalid_types:*
370370
webgpu:shader,validation,expression,binary,short_circuiting_and_or:scalar_vector:op="%26%26";lhs="bool";rhs="bool"
371+
webgpu:shader,validation,expression,call,builtin,abs:*
371372
webgpu:shader,validation,expression,call,builtin,acos:*
372373
webgpu:shader,validation,expression,call,builtin,acosh:*
373374
webgpu:shader,validation,expression,call,builtin,all:*
@@ -382,11 +383,16 @@ webgpu:shader,validation,expression,call,builtin,barriers:*
382383
webgpu:shader,validation,expression,call,builtin,ceil:*
383384
webgpu:shader,validation,expression,call,builtin,cos:*
384385
webgpu:shader,validation,expression,call,builtin,cosh:*
386+
webgpu:shader,validation,expression,call,builtin,countLeadingZeros:*
387+
webgpu:shader,validation,expression,call,builtin,countOneBits:*
388+
webgpu:shader,validation,expression,call,builtin,countTrailingZeros:*
385389
webgpu:shader,validation,expression,call,builtin,degrees:*
386390
webgpu:shader,validation,expression,call,builtin,distance:values:stage="constant";type="f32"
387391
webgpu:shader,validation,expression,call,builtin,dot:*
388392
webgpu:shader,validation,expression,call,builtin,exp:*
389393
webgpu:shader,validation,expression,call,builtin,exp2:*
394+
webgpu:shader,validation,expression,call,builtin,firstLeadingBit:*
395+
webgpu:shader,validation,expression,call,builtin,firstTrailingBit:*
390396
webgpu:shader,validation,expression,call,builtin,floor:*
391397
webgpu:shader,validation,expression,call,builtin,fract:*
392398
webgpu:shader,validation,expression,call,builtin,length:*
@@ -397,8 +403,10 @@ webgpu:shader,validation,expression,call,builtin,min:*
397403
webgpu:shader,validation,expression,call,builtin,normalize:*
398404
webgpu:shader,validation,expression,call,builtin,pow:*
399405
webgpu:shader,validation,expression,call,builtin,radians:*
406+
webgpu:shader,validation,expression,call,builtin,reverseBits:*
400407
webgpu:shader,validation,expression,call,builtin,round:*
401408
webgpu:shader,validation,expression,call,builtin,saturate:*
409+
webgpu:shader,validation,expression,call,builtin,select:*
402410
webgpu:shader,validation,expression,call,builtin,sign:*
403411
webgpu:shader,validation,expression,call,builtin,sin:*
404412
webgpu:shader,validation,expression,call,builtin,sinh:*
@@ -417,7 +425,9 @@ webgpu:shader,validation,expression,call,builtin,textureStore:*
417425
webgpu:shader,validation,expression,call,builtin,trunc:*
418426
webgpu:shader,validation,expression,call,builtin,value_constructor:*
419427
webgpu:shader,validation,expression,call,builtin,workgroupUniformLoad:*
428+
webgpu:shader,validation,expression,matrix,*
420429
webgpu:shader,validation,expression,overload_resolution:*
430+
webgpu:shader,validation,expression,unary,*
421431
webgpu:shader,validation,extension,clip_distances:*
422432
webgpu:shader,validation,extension,dual_source_blending:*
423433
webgpu:shader,validation,extension,pointer_composite_access:*
@@ -450,6 +460,8 @@ webgpu:shader,validation,statement,const_assert:*
450460
webgpu:shader,validation,statement,continuing:*
451461
webgpu:shader,validation,statement,discard:*
452462
webgpu:shader,validation,statement,if:*
463+
webgpu:shader,validation,statement,increment_decrement:*
464+
webgpu:shader,validation,statement,phony:*
453465
webgpu:shader,validation,statement,return:*
454466
webgpu:shader,validation,statement,statement_behavior:invalid_statements:body="break_if"
455467
webgpu:shader,validation,statement,statement_behavior:invalid_statements:body="break"
@@ -462,5 +474,6 @@ webgpu:shader,validation,statement,statement_behavior:invalid_statements:body="l
462474
webgpu:shader,validation,statement,statement_behavior:invalid_statements:body="loop6"
463475
webgpu:shader,validation,statement,statement_behavior:invalid_statements:body="loop8"
464476
webgpu:shader,validation,statement,statement_behavior:invalid_statements:body="switch1"
477+
webgpu:shader,validation,statement,switch:*
465478
webgpu:shader,validation,statement,while:*
466479
webgpu:util,texture,texture_ok:*

0 commit comments

Comments
 (0)