fix(deps): update rust crate wgpu to v26 #125
Closed
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.
This PR contains the following updates:
25.0.0
->26.0.0
Release Notes
gfx-rs/wgpu (wgpu)
v26.0.1
Compare Source
Bug Fixes
wgpu::util::initialize_adapter_from_env
whenstd
feature is not enabled. By @kpreid in #7918.profiling
dependency is configured to have profiling active. By @kpreid in #7916.v26.0.0
Compare Source
Major Features
New method
TextureView::texture
You can now call
texture_view.texture()
to get access to the texture thata given texture view points to.
By @cwfitzgerald and @Wumpf in #7907.
as_hal
calls now return guards instead of using callbacks.Previously, if you wanted to get access to the wgpu-hal or underlying api types, you would call
as_hal
and get the hal type as a callback. Now the function returns a guard which dereferences to the hal type.By @cwfitzgerald in #7863.
Enabling Vulkan Features/Extensions
For those who are doing vulkan/wgpu interop or passthrough and need to enable features/extensions that wgpu does not expose, there is a new
wgpu_hal::vulkan::Adapter::open_with_callback
that allows the user to modify the pnext chains and extension lists populated by wgpu before we create a vulkan device. This should vastly simplify the experience, as previously you needed to create a device yourself.Underlying api interop is a quickly evolving space, so we welcome all feedback!
More examples of this
By @Vecvec in #7829.
Naga
no_std
support with default features disabled. By @Bushrat011899 in #7585.naga::front::glsl::Frontend::new_with_options
. By @Vrixyz in #6364.naga::{front::wgsl::ParseError,WithSpan}::emit_error_to_string_with_path
) now accept more types for theirpath
argument via a new sealedAsDiagnosticFilePath
trait. By @atlv24, @bushrat011899, and @ErichDonGubler in #7643.SUBGROUP
feature to be enabled). By @dzamkov and @valaphee in #7683.atomicCompareExchangeWeak
in HLSL and GLSL backends. By @cryvosh in #7658General
wgpu_hal::dx12::Adapter::as_raw()
. By @tronical in ##7852VK_KHR_maintenance1
which should be widely available on newer drivers). By @teoxoy in #7596wgpu_types::error::{ErrorType, WebGpuError}
for classification of errors according to WebGPU'sGPUError
's classification scheme, and implementWebGpuError
for existing errors. This allows users ofwgpu-core
to offload error classification onto the WGPU ecosystem, rather than having to do it themselves without sufficient information. By @ErichDonGubler in #6547.Bug Fixes
General
BufferSlice::get_mapped_range_as_array_buffer()
on a buffer would prevent you from ever unmapping it. Note that this API has changed and is nowBufferView::as_uint8array()
.Naga
_
. By @andyleiserson in #7540.dot4U8Packed
anddot4I8Packed
for all backends, using specialized intrinsics on SPIR-V, HSLS, and Metal if available, and polyfills everywhere else. By @robamler in #7494, #7574, and #7653.pack4x{I,U}8Clamped
built-ins to all backends and WGSL frontend. By @ErichDonGubler in #7546.value
argument oftextureStore
. By @jimblandy in #7567.abs(most negative abstract int)
. By @jimblandy in #7507.[un]pack4x{I,U}8[Clamp]
on SPIR-V and MSL 2.1+. By @robamler in #7664.select
, which had issues particularly with a lack of automatic type conversion. By @ErichDonGubler in #7572.distance
built-in function. By @bernhl in #7530.f16
for pipeline constants, i.e.,override
s in WGSL. By @ErichDonGubler in #7801.DX12
vertex_index
&instance_index
builtins working for indirect draws. By @teoxoy in #7535Vulkan
wgpu_hal::vulkan::drm
. By @ErichDonGubler in #7810.Metal
fn surface_capabilities()
. By @jamesordner in #7692WebGPU
on_submitted_work_done
for WebGPU backend. By @drewcrawford in #7864Changes
wgpu
anddeno_webgpu
now usewgpu-types::error::WebGpuError
to classify errors. Any changes here are likely to be regressions; please report them if you find them! By @ErichDonGubler in #6547.General
MaintainBase
in favor of usingPollType
. By @waywardmonkeys in #7508.destroy
functions for buffers and textures in wgpu-core are now infallible. Previously, they returned an error if called multiple times for the same object. This only affects the wgpu-core API; the wgpu API already allowed multipledestroy
calls. By @andyleiserson in #7686 and #7720.CommandEncoder::build_acceleration_structures_unsafe_tlas
in favour ofas_hal
and applysimplifications allowed by this. By @Vecvec in #7513
size
parameter tocopy_buffer_to_buffer
has changed fromBufferAddress
toimpl Into<Option<BufferAddress>>
. This achieves the spec-defined behavior of the value being optional, while still accepting existing calls without changes. By @andyleiserson in #7659.CommandEncoder
,RenderPassEncoder
,ComputePassEncoder
, andRenderBundleEncoder
has changed toEncoderStateError
orPassStateError
. These functions will return theEnded
variant of these errors if called on an encoder that is no longer active. Reporting of all other errors is deferred until a call tofinish()
.CommandEncoderError
in the error enumsClearError
,ComputePassErrorInner
,QueryError
, andRenderPassErrorInner
have been replaced with variants holding anEncoderStateError
.enum CommandEncoderError
has changed significantly, to reflect which errors can be raised byCommandEncoder.finish()
. There are also some errors that no longer appear directly inCommandEncoderError
, and instead appear nested within theRenderPass
orComputePass
variants.CopyError
has been removed. Errors that were previously aCopyError
are now aCommandEncoderError
returned byfinish()
. (The detailed reasons for copies to fail were and still are described byTransferError
, which was previously a variant ofCopyError
, and is now a variant ofCommandEncoderError
).Naga
readonly_and_readwrite_storage_textures
&packed_4x8_integer_dot_product
language extensions as implemented. By @teoxoy in #7543naga::back::hlsl::Writer::new
has a newpipeline_options
argument.hlsl::PipelineOptions::default()
can be passed as a default. Theshader_stage
andentry_point
members ofpipeline_options
can be used to write only a single entry point when using the HLSL and MSL backends (GLSL and SPIR-V already had this functionality). The Metal and DX12 HALs now write only a single entry point when loading shaders. By @andyleiserson in #7626.early_depth_test
for SPIR-V backend, enablingSHADER_EARLY_DEPTH_TEST
for Vulkan. Additionally, fixed conservative depth optimizations when usingearly_depth_test
. The syntax for forcing early depth tests is now@early_depth_test(force)
instead of@early_depth_test
. By @dzamkov in #7676.ImplementedLanguageExtension::VARIANTS
is now implemented manually rather than derived usingstrum
(allowingstrum
to become a dev-only dependency) so it is no longer a member of thestrum::VARIANTS
trait. Unless you are using this trait as a bound this should have no effect.process_overrides
now compacts the module to remove unused items. It is no longer necessary to supply values for overrides that are not used by the active entry point.compact
Cargo feature has been removed. It is no longer possible to exclude compaction support from the build.compact
now has an additional argument that specifies whether to remove unused functions, globals, and named types and overrides. For the previous behavior, passKeepUnused::Yes
.D3D12
IDXGIFactory4
fromInstance
. By @MendyBerger in #7827Vulkan
HAL
no_std
support towgpu-hal
. By @bushrat011899 in #7599Documentation
General
Adapter::request_device
. By @tesselode in #7768Configuration
📅 Schedule: Branch creation - Between 12:00 AM and 03:59 AM, only on Monday ( * 0-3 * * 1 ) (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.