-
Notifications
You must be signed in to change notification settings - Fork 100
Validation for address space and access mode in var decls #3695
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
* Check that only storage allows an access mode (read or read_write) * Tests no access mode parameter and a trailing comma after address space separately
jrprice
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think there's quite a lot of overlap with the tests in var_access_mode.spec.ts (specifically the explicit_access_mode suite). Not sure if you want to merge anything with those tests or not. The trailing comma stuff is new and great to have.
| .params(u => | ||
| u | ||
| .combine('address_space', ['private', 'storage', 'uniform', 'function', 'workgroup'] as const) | ||
| .combine('access_mode', ['', ',', ',read', ',write', ',read_write'] as const) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we also cover a trailing comma after the access mode? e.g. var<storage, read_write,>.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sure
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tint also fails var<storage,read,> and var<storage,read_write,>.
* Test trailing comma more generally.
This (non-exhaustively) adds or implements the following test paths: - `webgpu:api,validation,render_pipeline,depth_stencil_state:depth_bias:*`, introduced by [gpuweb/cts#3863](gpuweb/cts#3863). Tracked with [bug 1911312](https://bugzilla.mozilla.org/show_bug.cgi?id=1911312). - `webgpu:shader,execution,expression,access,array,index:matrix:*`, introduced by [gpuweb/cts#3738](gpuweb/cts#3738). - `webgpu:shader,execution,expression,call,builtin,atomics,atomicSub:sub_i32_min:*`, introduced by [gpuweb/cts#3728](gpuweb/cts#3728). - `webgpu:shader,execution,expression,call,builtin,fwidth{,Coarse,Fine}:f32:*`, implemented by [gpuweb/cts#3686](gpuweb/cts#3686). - `webgpu:shader,execution,expression,call,builtin,textureNumLayers:arrayed:*`, implemented by [gpuweb/cts#3853](gpuweb/cts#3853). - `webgpu:shader,execution,expression,call,builtin,textureNumLevels:sampled:*`, implemented by [gpuweb/cts#3855](gpuweb/cts#3855). - `webgpu:shader,execution,expression,call,builtin,textureNumSamples:sampled:*`, implemented by [gpuweb/cts#3856](gpuweb/cts#3856). - `webgpu:shader,execution,expression,call,builtin,textureLoad:*`, with: - `{arrayed,sampled_1d,sampled_3d}` implemented by [gpuweb/cts#3852](gpuweb/cts#3852) - `sampled_2d` implemented by [gpuweb/cts#3861](gpuweb/cts#3861). - `webgpu:shader,execution,expression,call,builtin,textureSample:*`, apparently changed by [gpuweb/cts#3877](gpuweb/cts#3877). - `webgpu:shader,execution,expression,call,builtin,textureStore:*` had the following tests added: - By [gpuweb/cts#3781](gpuweb/cts#3781): - `out_of_bounds` - `out_of_bounds_array` - By [gpuweb/cts#3841](gpuweb/cts#3841): - `bgra8unorm_swizzle` - `texel_formats` It's unclear why these are failing, but I suspect part 2.7. - `webgpu:shader,execution,expression,constructor,zero_value:vector_prefix:*`, introduced by [gpuweb/cts#3734](gpuweb/cts#3734). - `webgpu:shader,validation,decl,var:address_space_access_mode:*`, introduced by [`gpuweb/cts`#3695](gpuweb/cts#3695). - `webgpu:shader,validation,decl,var:shader_stage:*`, introduced by [gpuweb/cts#3736](gpuweb/cts#3736). - `webgpu:shader,validation,expression,access,vector:*` was modified in [gpuweb/cts#3708](gpuweb/cts#3708): - renamed `…:vector:*` to `concrete` - added `abstract` - `webgpu:shader,validation,expression,binary,*`: - `…,bitwise_shift:*`: - `…:partial_eval_errors:*`, introduced by [`gpuweb/cts`#3796](gpuweb/cts#3796) - `…:{shift_left_concrete,shift_right_concrete}:*` had new cases introduced in [gpuweb/cts#3726](gpuweb/cts#3726). - `…:{shift_left_abstract,shift_right_abstract}:*`, introduced by [`gpuweb/cts`#3833](gpuweb/cts#3833). - `…,{add_sub_mul:*,and_or_xor:*,bitwise_shift:scalar_vector:*,div_rem:scalar_vector:*}` modified by [`gpuweb/cts`#3648](gpuweb/cts#3648). - `webgpu:shader,validation,expression,call,builtin,*`: - `…,dot:*`, introduced in [gpuweb/cts#3579](gpuweb/cts#3579). - `…,fma:*`, introduced by [`gpuweb/cts`#3577](gpuweb/cts#3577). - `…,ldexp:*`: - `…:{args,must_use,values}:*` introduced by [gpuweb/cts#3615](gpuweb/cts#3615). - `…:partial_values:*` introduced by [gpuweb/cts#3798](gpuweb/cts#3798). - `…,mix:*`, introduced by TODO. - `…,modf:*`, introduced by TODO. - `…,pow:*`, introduced by TODO. - `…,refract:*`, introduced by TODO. - `…,saturate:*`, introduced by TODO. - `…,texture{Dimensions,Num{Layers,Levels,Samples}}:*`, introduced by [gpuweb/cts#3689](gpuweb/cts#3689). - `webgpu:shader,validation,functions,alias_analysis:swizzles:*`, introduced by [gpuweb/cts#3869](gpuweb/cts#3869). - `webgpu:shader,validation,shader_io,align:parsing:duplicate`, introduced by [gpuweb/cts#3692](gpuweb/cts#3692). - `webgpu:shader,validation,statement,{for,loop,return}:*` cases introduced by [gpuweb/cts#3645](gpuweb/cts#3645) and moved around by [gpuweb/cts#3742](gpuweb/cts#3742). - `webgpu:shader,validation,types,pointer:{access_mode,address_space,type}:*`, introduced by [`gpuweb/cts`#3649](gpuweb/cts#3649). This list is incomplete, because I _really_ needed to make this tractable. Sorry! I upkept the above for my own sanity, and think it's interesting for record-keeping, but not necessary useful for a reviewer. Differential Revision: https://phabricator.services.mozilla.com/D219377
This (non-exhaustively) adds or implements the following test paths: - `webgpu:api,validation,render_pipeline,depth_stencil_state:depth_bias:*`, introduced by [gpuweb/cts#3863](gpuweb/cts#3863). Tracked with [bug 1911312](https://bugzilla.mozilla.org/show_bug.cgi?id=1911312). - `webgpu:shader,execution,expression,access,array,index:matrix:*`, introduced by [gpuweb/cts#3738](gpuweb/cts#3738). - `webgpu:shader,execution,expression,call,builtin,atomics,atomicSub:sub_i32_min:*`, introduced by [gpuweb/cts#3728](gpuweb/cts#3728). - `webgpu:shader,execution,expression,call,builtin,fwidth{,Coarse,Fine}:f32:*`, implemented by [gpuweb/cts#3686](gpuweb/cts#3686). - `webgpu:shader,execution,expression,call,builtin,textureNumLayers:arrayed:*`, implemented by [gpuweb/cts#3853](gpuweb/cts#3853). - `webgpu:shader,execution,expression,call,builtin,textureNumLevels:sampled:*`, implemented by [gpuweb/cts#3855](gpuweb/cts#3855). - `webgpu:shader,execution,expression,call,builtin,textureNumSamples:sampled:*`, implemented by [gpuweb/cts#3856](gpuweb/cts#3856). - `webgpu:shader,execution,expression,call,builtin,textureLoad:*`, with: - `{arrayed,sampled_1d,sampled_3d}` implemented by [gpuweb/cts#3852](gpuweb/cts#3852) - `sampled_2d` implemented by [gpuweb/cts#3861](gpuweb/cts#3861). - `webgpu:shader,execution,expression,call,builtin,textureSample:*`, apparently changed by [gpuweb/cts#3877](gpuweb/cts#3877). - `webgpu:shader,execution,expression,call,builtin,textureStore:*` had the following tests added: - By [gpuweb/cts#3781](gpuweb/cts#3781): - `out_of_bounds` - `out_of_bounds_array` - By [gpuweb/cts#3841](gpuweb/cts#3841): - `bgra8unorm_swizzle` - `texel_formats` It's unclear why these are failing, but I suspect part 2.7. - `webgpu:shader,execution,expression,constructor,zero_value:vector_prefix:*`, introduced by [gpuweb/cts#3734](gpuweb/cts#3734). - `webgpu:shader,validation,decl,var:address_space_access_mode:*`, introduced by [`gpuweb/cts`#3695](gpuweb/cts#3695). - `webgpu:shader,validation,decl,var:shader_stage:*`, introduced by [gpuweb/cts#3736](gpuweb/cts#3736). - `webgpu:shader,validation,expression,access,vector:*` was modified in [gpuweb/cts#3708](gpuweb/cts#3708): - renamed `…:vector:*` to `concrete` - added `abstract` - `webgpu:shader,validation,expression,binary,*`: - `…,bitwise_shift:*`: - `…:partial_eval_errors:*`, introduced by [`gpuweb/cts`#3796](gpuweb/cts#3796) - `…:{shift_left_concrete,shift_right_concrete}:*` had new cases introduced in [gpuweb/cts#3726](gpuweb/cts#3726). - `…:{shift_left_abstract,shift_right_abstract}:*`, introduced by [`gpuweb/cts`#3833](gpuweb/cts#3833). - `…,{add_sub_mul:*,and_or_xor:*,bitwise_shift:scalar_vector:*,div_rem:scalar_vector:*}` modified by [`gpuweb/cts`#3648](gpuweb/cts#3648). - `webgpu:shader,validation,expression,call,builtin,*`: - `…,dot:*`, introduced in [gpuweb/cts#3579](gpuweb/cts#3579). - `…,fma:*`, introduced by [`gpuweb/cts`#3577](gpuweb/cts#3577). - `…,ldexp:*`: - `…:{args,must_use,values}:*` introduced by [gpuweb/cts#3615](gpuweb/cts#3615). - `…:partial_values:*` introduced by [gpuweb/cts#3798](gpuweb/cts#3798). - `…,mix:*`, introduced by TODO. - `…,modf:*`, introduced by TODO. - `…,pow:*`, introduced by TODO. - `…,refract:*`, introduced by TODO. - `…,saturate:*`, introduced by TODO. - `…,texture{Dimensions,Num{Layers,Levels,Samples}}:*`, introduced by [gpuweb/cts#3689](gpuweb/cts#3689). - `webgpu:shader,validation,functions,alias_analysis:swizzles:*`, introduced by [gpuweb/cts#3869](gpuweb/cts#3869). - `webgpu:shader,validation,shader_io,align:parsing:duplicate`, introduced by [gpuweb/cts#3692](gpuweb/cts#3692). - `webgpu:shader,validation,statement,{for,loop,return}:*` cases introduced by [gpuweb/cts#3645](gpuweb/cts#3645) and moved around by [gpuweb/cts#3742](gpuweb/cts#3742). - `webgpu:shader,validation,types,pointer:{access_mode,address_space,type}:*`, introduced by [`gpuweb/cts`#3649](gpuweb/cts#3649). This list is incomplete, because I _really_ needed to make this tractable. Sorry! I upkept the above for my own sanity, and think it's interesting for record-keeping, but not necessary useful for a reviewer. Differential Revision: https://phabricator.services.mozilla.com/D219377
This (non-exhaustively) adds or implements the following test paths: - `webgpu:api,validation,render_pipeline,depth_stencil_state:depth_bias:*`, introduced by [gpuweb/cts#3863](gpuweb/cts#3863). Tracked with [bug 1911312](https://bugzilla.mozilla.org/show_bug.cgi?id=1911312). - `webgpu:shader,execution,expression,access,array,index:matrix:*`, introduced by [gpuweb/cts#3738](gpuweb/cts#3738). - `webgpu:shader,execution,expression,call,builtin,atomics,atomicSub:sub_i32_min:*`, introduced by [gpuweb/cts#3728](gpuweb/cts#3728). - `webgpu:shader,execution,expression,call,builtin,fwidth{,Coarse,Fine}:f32:*`, implemented by [gpuweb/cts#3686](gpuweb/cts#3686). - `webgpu:shader,execution,expression,call,builtin,textureNumLayers:arrayed:*`, implemented by [gpuweb/cts#3853](gpuweb/cts#3853). - `webgpu:shader,execution,expression,call,builtin,textureNumLevels:sampled:*`, implemented by [gpuweb/cts#3855](gpuweb/cts#3855). - `webgpu:shader,execution,expression,call,builtin,textureNumSamples:sampled:*`, implemented by [gpuweb/cts#3856](gpuweb/cts#3856). - `webgpu:shader,execution,expression,call,builtin,textureLoad:*`, with: - `{arrayed,sampled_1d,sampled_3d}` implemented by [gpuweb/cts#3852](gpuweb/cts#3852) - `sampled_2d` implemented by [gpuweb/cts#3861](gpuweb/cts#3861). - `webgpu:shader,execution,expression,call,builtin,textureSample:*`, apparently changed by [gpuweb/cts#3877](gpuweb/cts#3877). - `webgpu:shader,execution,expression,call,builtin,textureStore:*` had the following tests added: - By [gpuweb/cts#3781](gpuweb/cts#3781): - `out_of_bounds` - `out_of_bounds_array` - By [gpuweb/cts#3841](gpuweb/cts#3841): - `bgra8unorm_swizzle` - `texel_formats` It's unclear why these are failing, but I suspect part 2.7. - `webgpu:shader,execution,expression,constructor,zero_value:vector_prefix:*`, introduced by [gpuweb/cts#3734](gpuweb/cts#3734). - `webgpu:shader,validation,decl,var:address_space_access_mode:*`, introduced by [`gpuweb/cts`#3695](gpuweb/cts#3695). - `webgpu:shader,validation,decl,var:shader_stage:*`, introduced by [gpuweb/cts#3736](gpuweb/cts#3736). - `webgpu:shader,validation,expression,access,vector:*` was modified in [gpuweb/cts#3708](gpuweb/cts#3708): - renamed `…:vector:*` to `concrete` - added `abstract` - `webgpu:shader,validation,expression,binary,*`: - `…,bitwise_shift:*`: - `…:partial_eval_errors:*`, introduced by [`gpuweb/cts`#3796](gpuweb/cts#3796) - `…:{shift_left_concrete,shift_right_concrete}:*` had new cases introduced in [gpuweb/cts#3726](gpuweb/cts#3726). - `…:{shift_left_abstract,shift_right_abstract}:*`, introduced by [`gpuweb/cts`#3833](gpuweb/cts#3833). - `…,{add_sub_mul:*,and_or_xor:*,bitwise_shift:scalar_vector:*,div_rem:scalar_vector:*}` modified by [`gpuweb/cts`#3648](gpuweb/cts#3648). - `webgpu:shader,validation,expression,call,builtin,*`: - `…,dot:*`, introduced in [gpuweb/cts#3579](gpuweb/cts#3579). - `…,fma:*`, introduced by [`gpuweb/cts`#3577](gpuweb/cts#3577). - `…,ldexp:*`: - `…:{args,must_use,values}:*` introduced by [gpuweb/cts#3615](gpuweb/cts#3615). - `…:partial_values:*` introduced by [gpuweb/cts#3798](gpuweb/cts#3798). - `…,mix:*`, introduced by TODO. - `…,modf:*`, introduced by TODO. - `…,pow:*`, introduced by TODO. - `…,refract:*`, introduced by TODO. - `…,saturate:*`, introduced by TODO. - `…,texture{Dimensions,Num{Layers,Levels,Samples}}:*`, introduced by [gpuweb/cts#3689](gpuweb/cts#3689). - `webgpu:shader,validation,functions,alias_analysis:swizzles:*`, introduced by [gpuweb/cts#3869](gpuweb/cts#3869). - `webgpu:shader,validation,shader_io,align:parsing:duplicate`, introduced by [gpuweb/cts#3692](gpuweb/cts#3692). - `webgpu:shader,validation,statement,{for,loop,return}:*` cases introduced by [gpuweb/cts#3645](gpuweb/cts#3645) and moved around by [gpuweb/cts#3742](gpuweb/cts#3742). - `webgpu:shader,validation,types,pointer:{access_mode,address_space,type}:*`, introduced by [`gpuweb/cts`#3649](gpuweb/cts#3649). This list is incomplete, because I _really_ needed to make this tractable. Sorry! I upkept the above for my own sanity, and think it's interesting for record-keeping, but not necessary useful for a reviewer. Differential Revision: https://phabricator.services.mozilla.com/D219377
This (non-exhaustively) adds or implements the following test paths: - `webgpu:api,validation,render_pipeline,depth_stencil_state:depth_bias:*`, introduced by [gpuweb/cts#3863](gpuweb/cts#3863). Tracked with [bug 1911312](https://bugzilla.mozilla.org/show_bug.cgi?id=1911312). - `webgpu:shader,execution,expression,access,array,index:matrix:*`, introduced by [gpuweb/cts#3738](gpuweb/cts#3738). - `webgpu:shader,execution,expression,call,builtin,atomics,atomicSub:sub_i32_min:*`, introduced by [gpuweb/cts#3728](gpuweb/cts#3728). - `webgpu:shader,execution,expression,call,builtin,fwidth{,Coarse,Fine}:f32:*`, implemented by [gpuweb/cts#3686](gpuweb/cts#3686). - `webgpu:shader,execution,expression,call,builtin,textureNumLayers:arrayed:*`, implemented by [gpuweb/cts#3853](gpuweb/cts#3853). - `webgpu:shader,execution,expression,call,builtin,textureNumLevels:sampled:*`, implemented by [gpuweb/cts#3855](gpuweb/cts#3855). - `webgpu:shader,execution,expression,call,builtin,textureNumSamples:sampled:*`, implemented by [gpuweb/cts#3856](gpuweb/cts#3856). - `webgpu:shader,execution,expression,call,builtin,textureLoad:*`, with: - `{arrayed,sampled_1d,sampled_3d}` implemented by [gpuweb/cts#3852](gpuweb/cts#3852) - `sampled_2d` implemented by [gpuweb/cts#3861](gpuweb/cts#3861). - `webgpu:shader,execution,expression,call,builtin,textureSample:*`, apparently changed by [gpuweb/cts#3877](gpuweb/cts#3877). - `webgpu:shader,execution,expression,call,builtin,textureStore:*` had the following tests added: - By [gpuweb/cts#3781](gpuweb/cts#3781): - `out_of_bounds` - `out_of_bounds_array` - By [gpuweb/cts#3841](gpuweb/cts#3841): - `bgra8unorm_swizzle` - `texel_formats` It's unclear why these are failing, but I suspect part 2.7. - `webgpu:shader,execution,expression,constructor,zero_value:vector_prefix:*`, introduced by [gpuweb/cts#3734](gpuweb/cts#3734). - `webgpu:shader,validation,decl,var:address_space_access_mode:*`, introduced by [`gpuweb/cts`#3695](gpuweb/cts#3695). - `webgpu:shader,validation,decl,var:shader_stage:*`, introduced by [gpuweb/cts#3736](gpuweb/cts#3736). - `webgpu:shader,validation,expression,access,vector:*` was modified in [gpuweb/cts#3708](gpuweb/cts#3708): - renamed `…:vector:*` to `concrete` - added `abstract` - `webgpu:shader,validation,expression,binary,*`: - `…,bitwise_shift:*`: - `…:partial_eval_errors:*`, introduced by [`gpuweb/cts`#3796](gpuweb/cts#3796) - `…:{shift_left_concrete,shift_right_concrete}:*` had new cases introduced in [gpuweb/cts#3726](gpuweb/cts#3726). - `…:{shift_left_abstract,shift_right_abstract}:*`, introduced by [`gpuweb/cts`#3833](gpuweb/cts#3833). - `…,{add_sub_mul:*,and_or_xor:*,bitwise_shift:scalar_vector:*,div_rem:scalar_vector:*}` modified by [`gpuweb/cts`#3648](gpuweb/cts#3648). - `webgpu:shader,validation,expression,call,builtin,*`: - `…,dot:*`, introduced in [gpuweb/cts#3579](gpuweb/cts#3579). - `…,fma:*`, introduced by [`gpuweb/cts`#3577](gpuweb/cts#3577). - `…,ldexp:*`: - `…:{args,must_use,values}:*` introduced by [gpuweb/cts#3615](gpuweb/cts#3615). - `…:partial_values:*` introduced by [gpuweb/cts#3798](gpuweb/cts#3798). - `…,mix:*`, introduced by TODO. - `…,modf:*`, introduced by TODO. - `…,pow:*`, introduced by TODO. - `…,refract:*`, introduced by TODO. - `…,saturate:*`, introduced by TODO. - `…,texture{Dimensions,Num{Layers,Levels,Samples}}:*`, introduced by [gpuweb/cts#3689](gpuweb/cts#3689). - `webgpu:shader,validation,functions,alias_analysis:swizzles:*`, introduced by [gpuweb/cts#3869](gpuweb/cts#3869). - `webgpu:shader,validation,shader_io,align:parsing:duplicate`, introduced by [gpuweb/cts#3692](gpuweb/cts#3692). - `webgpu:shader,validation,statement,{for,loop,return}:*` cases introduced by [gpuweb/cts#3645](gpuweb/cts#3645) and moved around by [gpuweb/cts#3742](gpuweb/cts#3742). - `webgpu:shader,validation,types,pointer:{access_mode,address_space,type}:*`, introduced by [`gpuweb/cts`#3649](gpuweb/cts#3649). This list is incomplete, because I _really_ needed to make this tractable. Sorry! I upkept the above for my own sanity, and think it's interesting for record-keeping, but not necessary useful for a reviewer. Differential Revision: https://phabricator.services.mozilla.com/D219377 UltraBlame original commit: cc8e4c0d527650c82b7c8d07a4484856ea046c10
This (non-exhaustively) adds or implements the following test paths: - `webgpu:api,validation,render_pipeline,depth_stencil_state:depth_bias:*`, introduced by [gpuweb/cts#3863](gpuweb/cts#3863). Tracked with [bug 1911312](https://bugzilla.mozilla.org/show_bug.cgi?id=1911312). - `webgpu:shader,execution,expression,access,array,index:matrix:*`, introduced by [gpuweb/cts#3738](gpuweb/cts#3738). - `webgpu:shader,execution,expression,call,builtin,atomics,atomicSub:sub_i32_min:*`, introduced by [gpuweb/cts#3728](gpuweb/cts#3728). - `webgpu:shader,execution,expression,call,builtin,fwidth{,Coarse,Fine}:f32:*`, implemented by [gpuweb/cts#3686](gpuweb/cts#3686). - `webgpu:shader,execution,expression,call,builtin,textureNumLayers:arrayed:*`, implemented by [gpuweb/cts#3853](gpuweb/cts#3853). - `webgpu:shader,execution,expression,call,builtin,textureNumLevels:sampled:*`, implemented by [gpuweb/cts#3855](gpuweb/cts#3855). - `webgpu:shader,execution,expression,call,builtin,textureNumSamples:sampled:*`, implemented by [gpuweb/cts#3856](gpuweb/cts#3856). - `webgpu:shader,execution,expression,call,builtin,textureLoad:*`, with: - `{arrayed,sampled_1d,sampled_3d}` implemented by [gpuweb/cts#3852](gpuweb/cts#3852) - `sampled_2d` implemented by [gpuweb/cts#3861](gpuweb/cts#3861). - `webgpu:shader,execution,expression,call,builtin,textureSample:*`, apparently changed by [gpuweb/cts#3877](gpuweb/cts#3877). - `webgpu:shader,execution,expression,call,builtin,textureStore:*` had the following tests added: - By [gpuweb/cts#3781](gpuweb/cts#3781): - `out_of_bounds` - `out_of_bounds_array` - By [gpuweb/cts#3841](gpuweb/cts#3841): - `bgra8unorm_swizzle` - `texel_formats` It's unclear why these are failing, but I suspect part 2.7. - `webgpu:shader,execution,expression,constructor,zero_value:vector_prefix:*`, introduced by [gpuweb/cts#3734](gpuweb/cts#3734). - `webgpu:shader,validation,decl,var:address_space_access_mode:*`, introduced by [`gpuweb/cts`#3695](gpuweb/cts#3695). - `webgpu:shader,validation,decl,var:shader_stage:*`, introduced by [gpuweb/cts#3736](gpuweb/cts#3736). - `webgpu:shader,validation,expression,access,vector:*` was modified in [gpuweb/cts#3708](gpuweb/cts#3708): - renamed `…:vector:*` to `concrete` - added `abstract` - `webgpu:shader,validation,expression,binary,*`: - `…,bitwise_shift:*`: - `…:partial_eval_errors:*`, introduced by [`gpuweb/cts`#3796](gpuweb/cts#3796) - `…:{shift_left_concrete,shift_right_concrete}:*` had new cases introduced in [gpuweb/cts#3726](gpuweb/cts#3726). - `…:{shift_left_abstract,shift_right_abstract}:*`, introduced by [`gpuweb/cts`#3833](gpuweb/cts#3833). - `…,{add_sub_mul:*,and_or_xor:*,bitwise_shift:scalar_vector:*,div_rem:scalar_vector:*}` modified by [`gpuweb/cts`#3648](gpuweb/cts#3648). - `webgpu:shader,validation,expression,call,builtin,*`: - `…,dot:*`, introduced in [gpuweb/cts#3579](gpuweb/cts#3579). - `…,fma:*`, introduced by [`gpuweb/cts`#3577](gpuweb/cts#3577). - `…,ldexp:*`: - `…:{args,must_use,values}:*` introduced by [gpuweb/cts#3615](gpuweb/cts#3615). - `…:partial_values:*` introduced by [gpuweb/cts#3798](gpuweb/cts#3798). - `…,mix:*`, introduced by TODO. - `…,modf:*`, introduced by TODO. - `…,pow:*`, introduced by TODO. - `…,refract:*`, introduced by TODO. - `…,saturate:*`, introduced by TODO. - `…,texture{Dimensions,Num{Layers,Levels,Samples}}:*`, introduced by [gpuweb/cts#3689](gpuweb/cts#3689). - `webgpu:shader,validation,functions,alias_analysis:swizzles:*`, introduced by [gpuweb/cts#3869](gpuweb/cts#3869). - `webgpu:shader,validation,shader_io,align:parsing:duplicate`, introduced by [gpuweb/cts#3692](gpuweb/cts#3692). - `webgpu:shader,validation,statement,{for,loop,return}:*` cases introduced by [gpuweb/cts#3645](gpuweb/cts#3645) and moved around by [gpuweb/cts#3742](gpuweb/cts#3742). - `webgpu:shader,validation,types,pointer:{access_mode,address_space,type}:*`, introduced by [`gpuweb/cts`#3649](gpuweb/cts#3649). This list is incomplete, because I _really_ needed to make this tractable. Sorry! I upkept the above for my own sanity, and think it's interesting for record-keeping, but not necessary useful for a reviewer. Differential Revision: https://phabricator.services.mozilla.com/D219377 UltraBlame original commit: cc8e4c0d527650c82b7c8d07a4484856ea046c10
This (non-exhaustively) adds or implements the following test paths: - `webgpu:api,validation,render_pipeline,depth_stencil_state:depth_bias:*`, introduced by [gpuweb/cts#3863](gpuweb/cts#3863). Tracked with [bug 1911312](https://bugzilla.mozilla.org/show_bug.cgi?id=1911312). - `webgpu:shader,execution,expression,access,array,index:matrix:*`, introduced by [gpuweb/cts#3738](gpuweb/cts#3738). - `webgpu:shader,execution,expression,call,builtin,atomics,atomicSub:sub_i32_min:*`, introduced by [gpuweb/cts#3728](gpuweb/cts#3728). - `webgpu:shader,execution,expression,call,builtin,fwidth{,Coarse,Fine}:f32:*`, implemented by [gpuweb/cts#3686](gpuweb/cts#3686). - `webgpu:shader,execution,expression,call,builtin,textureNumLayers:arrayed:*`, implemented by [gpuweb/cts#3853](gpuweb/cts#3853). - `webgpu:shader,execution,expression,call,builtin,textureNumLevels:sampled:*`, implemented by [gpuweb/cts#3855](gpuweb/cts#3855). - `webgpu:shader,execution,expression,call,builtin,textureNumSamples:sampled:*`, implemented by [gpuweb/cts#3856](gpuweb/cts#3856). - `webgpu:shader,execution,expression,call,builtin,textureLoad:*`, with: - `{arrayed,sampled_1d,sampled_3d}` implemented by [gpuweb/cts#3852](gpuweb/cts#3852) - `sampled_2d` implemented by [gpuweb/cts#3861](gpuweb/cts#3861). - `webgpu:shader,execution,expression,call,builtin,textureSample:*`, apparently changed by [gpuweb/cts#3877](gpuweb/cts#3877). - `webgpu:shader,execution,expression,call,builtin,textureStore:*` had the following tests added: - By [gpuweb/cts#3781](gpuweb/cts#3781): - `out_of_bounds` - `out_of_bounds_array` - By [gpuweb/cts#3841](gpuweb/cts#3841): - `bgra8unorm_swizzle` - `texel_formats` It's unclear why these are failing, but I suspect part 2.7. - `webgpu:shader,execution,expression,constructor,zero_value:vector_prefix:*`, introduced by [gpuweb/cts#3734](gpuweb/cts#3734). - `webgpu:shader,validation,decl,var:address_space_access_mode:*`, introduced by [`gpuweb/cts`#3695](gpuweb/cts#3695). - `webgpu:shader,validation,decl,var:shader_stage:*`, introduced by [gpuweb/cts#3736](gpuweb/cts#3736). - `webgpu:shader,validation,expression,access,vector:*` was modified in [gpuweb/cts#3708](gpuweb/cts#3708): - renamed `…:vector:*` to `concrete` - added `abstract` - `webgpu:shader,validation,expression,binary,*`: - `…,bitwise_shift:*`: - `…:partial_eval_errors:*`, introduced by [`gpuweb/cts`#3796](gpuweb/cts#3796) - `…:{shift_left_concrete,shift_right_concrete}:*` had new cases introduced in [gpuweb/cts#3726](gpuweb/cts#3726). - `…:{shift_left_abstract,shift_right_abstract}:*`, introduced by [`gpuweb/cts`#3833](gpuweb/cts#3833). - `…,{add_sub_mul:*,and_or_xor:*,bitwise_shift:scalar_vector:*,div_rem:scalar_vector:*}` modified by [`gpuweb/cts`#3648](gpuweb/cts#3648). - `webgpu:shader,validation,expression,call,builtin,*`: - `…,dot:*`, introduced in [gpuweb/cts#3579](gpuweb/cts#3579). - `…,fma:*`, introduced by [`gpuweb/cts`#3577](gpuweb/cts#3577). - `…,ldexp:*`: - `…:{args,must_use,values}:*` introduced by [gpuweb/cts#3615](gpuweb/cts#3615). - `…:partial_values:*` introduced by [gpuweb/cts#3798](gpuweb/cts#3798). - `…,mix:*`, introduced by TODO. - `…,modf:*`, introduced by TODO. - `…,pow:*`, introduced by TODO. - `…,refract:*`, introduced by TODO. - `…,saturate:*`, introduced by TODO. - `…,texture{Dimensions,Num{Layers,Levels,Samples}}:*`, introduced by [gpuweb/cts#3689](gpuweb/cts#3689). - `webgpu:shader,validation,functions,alias_analysis:swizzles:*`, introduced by [gpuweb/cts#3869](gpuweb/cts#3869). - `webgpu:shader,validation,shader_io,align:parsing:duplicate`, introduced by [gpuweb/cts#3692](gpuweb/cts#3692). - `webgpu:shader,validation,statement,{for,loop,return}:*` cases introduced by [gpuweb/cts#3645](gpuweb/cts#3645) and moved around by [gpuweb/cts#3742](gpuweb/cts#3742). - `webgpu:shader,validation,types,pointer:{access_mode,address_space,type}:*`, introduced by [`gpuweb/cts`#3649](gpuweb/cts#3649). This list is incomplete, because I _really_ needed to make this tractable. Sorry! I upkept the above for my own sanity, and think it's interesting for record-keeping, but not necessary useful for a reviewer. Differential Revision: https://phabricator.services.mozilla.com/D219377
Tint currently fails
webgpu:shader,validation,decl,var:address_space_access_mode:address_space="*";access_mode="";trailing_comma=true(see https://crbug.com/tint/2233).webgpu:shader,validation,decl,var:address_space_access_mode:address_space="storage";access_mode="read";trailing_comma=truewebgpu:shader,validation,decl,var:address_space_access_mode:address_space="storage";access_mode="read_write";trailing_comma=trueIssue: #
Requirements for PR author:
.unimplemented()./** documented */and new helper files are found inhelper_index.txt.Requirements for reviewer sign-off:
When landing this PR, be sure to make any necessary issue status updates.