-
Notifications
You must be signed in to change notification settings - Fork 100
shader/validation: Begin parsing and type validation for statements #3645
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
ba21284 to
9c4f39f
Compare
043bcc5 to
01cf5a2
Compare
dneto0
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.
Very nice overall.
Thanks!
| L_default: { wgsl: `switch L { default {} }`, pass: true }, | ||
| L_paren_default: { wgsl: `switch (L) { default {} }`, pass: true }, | ||
| L_case_1_default: { wgsl: `switch L { case 1 {} default {} }`, pass: true }, | ||
| L_case_1_case_2_default: { |
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.
please add a test case with case1 then default then case2
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.
Done
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 don't see it?
Something like:
switch 1 { case 1 {} default {} case 2 {} }
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.
Sorry, I somehow interpreted your request as case 2 {} case1{} default {}. Done
01cf5a2 to
0cee51d
Compare
0cee51d to
d3a55dc
Compare
dneto0
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 I found a Tint bug!
| no_cond_no_block: { wgsl: `switch;`, pass: false }, | ||
| lparen_L: { wgsl: `switch (L { default {}}`, pass: false }, | ||
| L_lparen: { wgsl: `switch L) { default {}}`, pass: false }, | ||
| lparen_L_lparen: { wgsl: `switch )L) { deafult {}}`, pass: false }, |
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.
spelling of "default" is wrong in lparen_L_lparen test case.
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.
Argh. Done.
| L_default: { wgsl: `switch L { default {} }`, pass: true }, | ||
| L_paren_default: { wgsl: `switch (L) { default {} }`, pass: true }, | ||
| L_case_1_default: { wgsl: `switch L { case 1 {} default {} }`, pass: true }, | ||
| L_case_1_case_2_default: { |
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 don't see it?
Something like:
switch 1 { case 1 {} default {} case 2 {} }
Eh, no. I typed different things into my test program. :-) |
44dd0ef to
d4ce31d
Compare
dneto0
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.
Thanks!
| L_case_1_default: { wgsl: `switch L { case 1 {} default {} }`, pass: true }, | ||
| L_case_2_1_default: { wgsl: `switch L { case 2, 1 {} default {} }`, pass: true }, | ||
| L_case_2_case_1_default: { wgsl: `switch L { case 2 {} case 1 {} default {} }`, pass: true }, | ||
| L_case_2_default_case_1: { wgsl: `switch L { case 2 {} default {} case 1 {} }`, pass: true }, |
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.
thanks.
| L_case_C1_case_C2_default: { wgsl: `switch L { case C1 {} case C2 {} default {} }`, pass: true }, | ||
| L_case_C1_default: { wgsl: `switch L { case C1 {} default {} }`, pass: true }, | ||
| L_case_default_1: { wgsl: `switch L { case default, 1 {} }`, pass: true }, | ||
| L_case_default_2_1: { wgsl: `switch L { case default, 2, 1 {} }`, pass: true }, |
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.
good. thanks
d4ce31d to
5280fdf
Compare
…u-reviewers,teoxoy - `webgpu:shader,execution,expression,call,builtin,textureNumLevels:depth:*`, implemented by [gpuweb/cts#3855](gpuweb/cts#3855). - `webgpu:shader,execution,expression,call,builtin,textureLoad:storage_texel_formats:*`, introduced by [gpuweb/cts#3849](gpuweb/cts#3849). - `webgpu:shader,execution,expression,unary,address_of_and_indirection:deref_swizzle:*`, introduced by [gpuweb/cts#3869](gpuweb/cts#3869). - `webgpu:shader,validation,expression,call,builtin,pack2x16float:*`, introduced by TODO. - `webgpu:shader,validation,expression,call,builtin,texture{Dimensions,Num{Layers,Levels,Samples}}:*`, introduced by [gpuweb/cts#3689](gpuweb/cts#3689). - `webgpu:shader,validation,statement,continue:*`, introduced by [gpuweb/cts#3688](gpuweb/cts#3688). - `webgpu:shader,validation,statement,{if,loop,return,switch,while}:*`, introduced by [gpuweb/cts#3645](gpuweb/cts#3645) and moved around by [gpuweb/cts#3742](gpuweb/cts#3742). - `webgpu:shader,validation,types,pointer:missing_type:*`, introduced by [`gpuweb/cts`#3696](gpuweb/cts#3696). This list is likely 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/D219374
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
…u-reviewers,teoxoy - `webgpu:shader,execution,expression,call,builtin,textureNumLevels:depth:*`, implemented by [gpuweb/cts#3855](gpuweb/cts#3855). - `webgpu:shader,execution,expression,call,builtin,textureLoad:storage_texel_formats:*`, introduced by [gpuweb/cts#3849](gpuweb/cts#3849). - `webgpu:shader,execution,expression,unary,address_of_and_indirection:deref_swizzle:*`, introduced by [gpuweb/cts#3869](gpuweb/cts#3869). - `webgpu:shader,validation,expression,call,builtin,pack2x16float:*`, introduced by TODO. - `webgpu:shader,validation,expression,call,builtin,texture{Dimensions,Num{Layers,Levels,Samples}}:*`, introduced by [gpuweb/cts#3689](gpuweb/cts#3689). - `webgpu:shader,validation,statement,continue:*`, introduced by [gpuweb/cts#3688](gpuweb/cts#3688). - `webgpu:shader,validation,statement,{if,loop,return,switch,while}:*`, introduced by [gpuweb/cts#3645](gpuweb/cts#3645) and moved around by [gpuweb/cts#3742](gpuweb/cts#3742). - `webgpu:shader,validation,types,pointer:missing_type:*`, introduced by [`gpuweb/cts`#3696](gpuweb/cts#3696). This list is likely 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/D219374
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
…u-reviewers,teoxoy - `webgpu:shader,execution,expression,call,builtin,textureNumLevels:depth:*`, implemented by [gpuweb/cts#3855](gpuweb/cts#3855). - `webgpu:shader,execution,expression,call,builtin,textureLoad:storage_texel_formats:*`, introduced by [gpuweb/cts#3849](gpuweb/cts#3849). - `webgpu:shader,execution,expression,unary,address_of_and_indirection:deref_swizzle:*`, introduced by [gpuweb/cts#3869](gpuweb/cts#3869). - `webgpu:shader,validation,expression,call,builtin,pack2x16float:*`, introduced by TODO. - `webgpu:shader,validation,expression,call,builtin,texture{Dimensions,Num{Layers,Levels,Samples}}:*`, introduced by [gpuweb/cts#3689](gpuweb/cts#3689). - `webgpu:shader,validation,statement,continue:*`, introduced by [gpuweb/cts#3688](gpuweb/cts#3688). - `webgpu:shader,validation,statement,{if,loop,return,switch,while}:*`, introduced by [gpuweb/cts#3645](gpuweb/cts#3645) and moved around by [gpuweb/cts#3742](gpuweb/cts#3742). - `webgpu:shader,validation,types,pointer:missing_type:*`, introduced by [`gpuweb/cts`#3696](gpuweb/cts#3696). This list is likely 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/D219374
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
…u-reviewers,teoxoy - `webgpu:shader,execution,expression,call,builtin,textureNumLevels:depth:*`, implemented by [gpuweb/cts#3855](gpuweb/cts#3855). - `webgpu:shader,execution,expression,call,builtin,textureLoad:storage_texel_formats:*`, introduced by [gpuweb/cts#3849](gpuweb/cts#3849). - `webgpu:shader,execution,expression,unary,address_of_and_indirection:deref_swizzle:*`, introduced by [gpuweb/cts#3869](gpuweb/cts#3869). - `webgpu:shader,validation,expression,call,builtin,pack2x16float:*`, introduced by TODO. - `webgpu:shader,validation,expression,call,builtin,texture{Dimensions,Num{Layers,Levels,Samples}}:*`, introduced by [gpuweb/cts#3689](gpuweb/cts#3689). - `webgpu:shader,validation,statement,continue:*`, introduced by [gpuweb/cts#3688](gpuweb/cts#3688). - `webgpu:shader,validation,statement,{if,loop,return,switch,while}:*`, introduced by [gpuweb/cts#3645](gpuweb/cts#3645) and moved around by [gpuweb/cts#3742](gpuweb/cts#3742). - `webgpu:shader,validation,types,pointer:missing_type:*`, introduced by [`gpuweb/cts`#3696](gpuweb/cts#3696). This list is likely 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/D219374 UltraBlame original commit: 860d96bdcd69523a9246a60f2cf2026a542571e9
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
…u-reviewers,teoxoy - `webgpu:shader,execution,expression,call,builtin,textureNumLevels:depth:*`, implemented by [gpuweb/cts#3855](gpuweb/cts#3855). - `webgpu:shader,execution,expression,call,builtin,textureLoad:storage_texel_formats:*`, introduced by [gpuweb/cts#3849](gpuweb/cts#3849). - `webgpu:shader,execution,expression,unary,address_of_and_indirection:deref_swizzle:*`, introduced by [gpuweb/cts#3869](gpuweb/cts#3869). - `webgpu:shader,validation,expression,call,builtin,pack2x16float:*`, introduced by TODO. - `webgpu:shader,validation,expression,call,builtin,texture{Dimensions,Num{Layers,Levels,Samples}}:*`, introduced by [gpuweb/cts#3689](gpuweb/cts#3689). - `webgpu:shader,validation,statement,continue:*`, introduced by [gpuweb/cts#3688](gpuweb/cts#3688). - `webgpu:shader,validation,statement,{if,loop,return,switch,while}:*`, introduced by [gpuweb/cts#3645](gpuweb/cts#3645) and moved around by [gpuweb/cts#3742](gpuweb/cts#3742). - `webgpu:shader,validation,types,pointer:missing_type:*`, introduced by [`gpuweb/cts`#3696](gpuweb/cts#3696). This list is likely 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/D219374 UltraBlame original commit: 860d96bdcd69523a9246a60f2cf2026a542571e9
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
…u-reviewers,teoxoy - `webgpu:shader,execution,expression,call,builtin,textureNumLevels:depth:*`, implemented by [gpuweb/cts#3855](gpuweb/cts#3855). - `webgpu:shader,execution,expression,call,builtin,textureLoad:storage_texel_formats:*`, introduced by [gpuweb/cts#3849](gpuweb/cts#3849). - `webgpu:shader,execution,expression,unary,address_of_and_indirection:deref_swizzle:*`, introduced by [gpuweb/cts#3869](gpuweb/cts#3869). - `webgpu:shader,validation,expression,call,builtin,pack2x16float:*`, introduced by TODO. - `webgpu:shader,validation,expression,call,builtin,texture{Dimensions,Num{Layers,Levels,Samples}}:*`, introduced by [gpuweb/cts#3689](gpuweb/cts#3689). - `webgpu:shader,validation,statement,continue:*`, introduced by [gpuweb/cts#3688](gpuweb/cts#3688). - `webgpu:shader,validation,statement,{if,loop,return,switch,while}:*`, introduced by [gpuweb/cts#3645](gpuweb/cts#3645) and moved around by [gpuweb/cts#3742](gpuweb/cts#3742). - `webgpu:shader,validation,types,pointer:missing_type:*`, introduced by [`gpuweb/cts`#3696](gpuweb/cts#3696). This list is likely 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/D219374
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
Issue: #1647
Issue: #1648
Issue: #1666
Issue: #1669
Issue: #1670
Issue: #1682
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.