Update wgpu requirement from 0.15 to 0.20
Updates the requirements on wgpu to permit the latest version.
Release notes
Sourced from wgpu'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'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)