bevy
bevy copied to clipboard
Update wgpu requirement from 0.19.3 to 0.20.0
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)
This will fix #13113, but requires naga_oil to be updated first. I believe @JMS55 was working on this, but feel free to try migrating this if you think you can do it.
will be done in #13186
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.