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
&@jimblandy
in #5500Changed feature requirements for timestamps
Due to a specification change
write_timestamp
is no longer supported on WebGPU.wgpu::CommandEncoder::write_timestamp
requires now the newwgpu::Features::TIMESTAMP_QUERY_INSIDE_ENCODERS
feature 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
const
context:
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
,trunc
By
@ErichDonGubler
in #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
&@jimblandy
in #5500Changed feature requirements for timestamps
Due to a specification change
write_timestamp
is no longer supported on WebGPU.wgpu::CommandEncoder::write_timestamp
requires now the newwgpu::Features::TIMESTAMP_QUERY_INSIDE_ENCODERS
feature 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
const
context:
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
,trunc
By
@ErichDonGubler
in #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
4521502
Release v0.20.0 (#5619)05cfdec
build(deps): bump the patch-updates group with 5 updates (#5605)e8e33ed
refactor(naga): remove extraneous leading path qualifiers (#5612)1ea9639
[hal] DocumentApi::Fence
, its users, and its Vulkan impl. (#5618)4af2e7b
[hal] DocumentQueue::submit
ordering guarantees a bit.a2cd2b9
[hal] Fixcargo doc --document-private-items
. Check in CI. (#5617)9eb1b71
Add some more changelog entries (#5611)739905e
Extract 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 rebase
will rebase this PR -
@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it -
@dependabot merge
will merge this PR after your CI passes on it -
@dependabot squash and merge
will squash and merge this PR after your CI passes on it -
@dependabot cancel merge
will cancel a previously requested merge and block automerging -
@dependabot reopen
will reopen this PR if it is closed -
@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually -
@dependabot show <dependency name> ignore conditions
will show all of the ignore conditions of the specified dependency -
@dependabot ignore this major version
will 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 version
will 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 dependency
will 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.