Implement texture_storage_Xd in WGSL #5158
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Closes #5082
This commit implements
texture_storage_Xd
in WGSL, which is similar to RWTextureXD in HLSL.It is intresting that
texture_storage_Xd
doesn't take the shader type as its input argument at all.Instead, it takes "texel format" enum value as its first template parameter, which can be found here:
https://www.w3.org/TR/WGSL/#storage-texel-formats
As an example,
texture_storage_2d<rg32uint, read_write>
expects vec4 as a value type forLoad
andStore
, where Z-component will be ignored and treated as zero and W-component will be treated always as 1.WGSL requires
texture_storage_Xd
values to always be global variables and they cannot be passed into a function as a function argument.