Skip to content

Conversation

@alan-baker
Copy link
Contributor

@alan-baker alan-baker commented Apr 19, 2024

  • 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

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=true
webgpu:shader,validation,decl,var:address_space_access_mode:address_space="storage";access_mode="read_write";trailing_comma=true

Issue: #


Requirements for PR author:

  • All missing test coverage is tracked with "TODO" or .unimplemented().
  • New helpers are /** documented */ and new helper files are found in helper_index.txt.
  • Test behaves as expected in a WebGPU implementation. (If not passing, explain above.)
  • Test have be tested with compatibility mode validation enabled and behave as expected. (If not passing, explain above.)

Requirements for reviewer sign-off:

  • Tests are properly located in the test tree.
  • Test descriptions allow a reader to "read only the test plans and evaluate coverage completeness", and accurately reflect the test code.
  • Tests provide complete coverage (including validation control cases). Missing coverage MUST be covered by TODOs.
  • Helpers and types promote readability and maintainability.

When landing this PR, be sure to make any necessary issue status updates.

* 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
@alan-baker alan-baker requested a review from jrprice April 19, 2024 17:59
Copy link
Contributor

@jrprice jrprice left a 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)
Copy link
Contributor

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,>.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure

Copy link
Contributor Author

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.
@alan-baker alan-baker requested a review from jrprice April 19, 2024 18:21
@alan-baker alan-baker merged commit 294c29c into gpuweb:main Apr 19, 2024
@alan-baker alan-baker deleted the var-access-mode branch April 19, 2024 19:41
moz-v2v-gh pushed a commit to mozilla/gecko-dev that referenced this pull request Aug 20, 2024
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
jamienicol pushed a commit to jamienicol/gecko that referenced this pull request Aug 21, 2024
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
i3roly pushed a commit to i3roly/firefox-dynasty that referenced this pull request Aug 22, 2024
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
gecko-dev-updater pushed a commit to marco-c/gecko-dev-wordified-and-comments-removed that referenced this pull request Aug 23, 2024
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
gecko-dev-updater pushed a commit to marco-c/gecko-dev-wordified that referenced this pull request Aug 23, 2024
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
jwidar pushed a commit to jwidar/LatencyZeroGithub that referenced this pull request Sep 16, 2025
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

2 participants