Update wgpu-types requirement from 0.19 to 0.20
Updates the requirements on wgpu-types to permit the latest version.
Release notes
Sourced from wgpu-types's releases.
v0.20.0
Major Changes
Pipeline overridable constants
Wgpu supports now pipeline-overridable constants
This allows you to define constants in wgsl like this:
override some_factor: f32 = 42.1337; // Specifies a default of 42.1337 if it's not set.And then set them at runtime like so on your pipeline consuming this shader:
// ... fragment: Some(wgpu::FragmentState { compilation_options: wgpu::PipelineCompilationOptions { constants: &[("some_factor".to_owned(), 0.1234)].into(), // Sets `some_factor` to 0.1234. ..Default::default() }, // ... }), // ...By
@teoxoy&@jimblandyin #5500Changed feature requirements for timestamps
Due to a specification change
write_timestampis no longer supported on WebGPU.wgpu::CommandEncoder::write_timestamprequires now the newwgpu::Features::TIMESTAMP_QUERY_INSIDE_ENCODERSfeature which is available on all native backends but not on WebGPU.Wgsl const evaluation for many more built-ins
Many numeric built-ins have had a constant evaluation implementation added for them, which allows them to be used in a
constcontext:
abs,acos,acosh,asin,asinh,atan,atanh,cos,cosh,round,saturate,sin,sinh,sqrt,step,tan,tanh,ceil,countLeadingZeros,countOneBits,countTrailingZeros,degrees,exp,exp2,floor,fract,fma,inverseSqrt,log,log2,max,min,radians,reverseBits,sign,truncBy
@ErichDonGublerin #4879, #5098New native-only wgsl features
Subgroup operations
The following subgroup operations are available in wgsl now:
subgroupBallot,subgroupAll,subgroupAny,subgroupAdd,subgroupMul,subgroupMin,subgroupMax,subgroupAnd,subgroupOr,subgroupXor,subgroupExclusiveAdd,subgroupExclusiveMul,subgroupInclusiveAdd,subgroupInclusiveMul,subgroupBroadcastFirst,subgroupBroadcast,subgroupShuffle,subgroupShuffleDown,subgroupShuffleUp,subgroupShuffleXor
... (truncated)
Changelog
Sourced from wgpu-types's changelog.
v0.20.0 (2024-04-28)
Major Changes
Pipeline overridable constants
Wgpu supports now pipeline-overridable constants
This allows you to define constants in wgsl like this:
override some_factor: f32 = 42.1337; // Specifies a default of 42.1337 if it's not set.And then set them at runtime like so on your pipeline consuming this shader:
// ... fragment: Some(wgpu::FragmentState { compilation_options: wgpu::PipelineCompilationOptions { constants: &[("some_factor".to_owned(), 0.1234)].into(), // Sets `some_factor` to 0.1234. ..Default::default() }, // ... }), // ...By
@teoxoy&@jimblandyin #5500Changed feature requirements for timestamps
Due to a specification change
write_timestampis no longer supported on WebGPU.wgpu::CommandEncoder::write_timestamprequires now the newwgpu::Features::TIMESTAMP_QUERY_INSIDE_ENCODERSfeature which is available on all native backends but not on WebGPU.Wgsl const evaluation for many more built-ins
Many numeric built-ins have had a constant evaluation implementation added for them, which allows them to be used in a
constcontext:
abs,acos,acosh,asin,asinh,atan,atanh,cos,cosh,round,saturate,sin,sinh,sqrt,step,tan,tanh,ceil,countLeadingZeros,countOneBits,countTrailingZeros,degrees,exp,exp2,floor,fract,fma,inverseSqrt,log,log2,max,min,radians,reverseBits,sign,truncBy
@ErichDonGublerin #4879, #5098New native-only wgsl features
Subgroup operations
The following subgroup operations are available in wgsl now:
subgroupBallot,subgroupAll,subgroupAny,subgroupAdd,subgroupMul,subgroupMin,subgroupMax,subgroupAnd,subgroupOr,subgroupXor,subgroupExclusiveAdd,subgroupExclusiveMul,subgroupInclusiveAdd,subgroupInclusiveMul,subgroupBroadcastFirst,subgroupBroadcast,subgroupShuffle,subgroupShuffleDown,subgroupShuffleUp,subgroupShuffleXor
... (truncated)
Commits
4521502Release v0.20.0 (#5619)05cfdecbuild(deps): bump the patch-updates group with 5 updates (#5605)e8e33edrefactor(naga): remove extraneous leading path qualifiers (#5612)1ea9639[hal] DocumentApi::Fence, its users, and its Vulkan impl. (#5618)4af2e7b[hal] DocumentQueue::submitordering guarantees a bit.a2cd2b9[hal] Fixcargo doc --document-private-items. Check in CI. (#5617)9eb1b71Add some more changelog entries (#5611)739905eExtract a naga pub create_validator function for use in Bevy (#5606)d4f3063[core] Fix caller location tracking inlock::ranked.55c9d69[naga] fix the way we adjust constant initializers when processing overrides- Additional commits viewable in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
-
@dependabot rebasewill rebase this PR -
@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it -
@dependabot mergewill merge this PR after your CI passes on it -
@dependabot squash and mergewill squash and merge this PR after your CI passes on it -
@dependabot cancel mergewill cancel a previously requested merge and block automerging -
@dependabot reopenwill reopen this PR if it is closed -
@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually -
@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency -
@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) -
@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) -
@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
i'll see if i can figure out how to get this working
This is being worked on in #13186, though currently blocked by https://github.com/bevyengine/naga_oil/pull/87.
OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting @dependabot ignore this major version or @dependabot ignore this minor version. You can also ignore all major, minor, or patch releases for a dependency by adding an ignore condition with the desired update_types to your config file.
If you change your mind, just re-open this PR and I'll resolve any conflicts on it.