Repository navigation
fix(deps): update rust crate wgpu to v27 - autoclosed - #793
Closed
renovate[bot] wants to merge 1 commit into
Closed
renovate[bot] wants to merge 1 commit into
renovate[bot] wants to merge 1 commit into
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
renovate
Bot
force-pushed
the
renovate/wgpu-27.x
branch
from
December 10, 2025 16:39
f0d3042 to
039a47f
Compare
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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:
26.0.1->27.0.0Release Notes
gfx-rs/wgpu (wgpu)
v27.0.1Compare Source
Bug Fixes
v27.0.0Compare Source
Major Changes
Deferred command buffer actions:
map_buffer_on_submitandon_submitted_work_doneYou may schedule buffer mapping and a submission-complete callback to run automatically after you submit, directly from encoders, command buffers, and passes.
Available on
CommandEncoder,CommandBuffer,RenderPass, andComputePass.By @cwfitzgerald in #8125.
Builtin Support for DXGI swapchains on top of of DirectComposition Visuals in DX12
By enabling DirectComposition support, the dx12 backend can now support transparent windows.
This creates a single
IDCompositionVisualover the entire window that is used by the mfSurface. If a user wants to manage the composition tree themselves, they should create their own device and composition, and pass the relevant visual down intowgpuviaSurfaceTargetUnsafe::CompositionVisual.By @n1ght-hunter in #7550.
EXPERIMENTAL_RAY_TRACING_ACCELERATION_STRUCTUREhas been merged intoEXPERIMENTAL_RAY_QUERYWe have merged the acceleration structure feature into the
RayQueryfeature. This is to help work around an AMD driver bug and reduce the feature complexity of ray tracing. In the future when ray tracing pipelines are implemented, if either feature is enabled, acceleration structures will be available.By @Vecvec in #7913.
New
EXPERIMENTAL_PRECOMPILED_SHADERSAPIWe have added
Features::EXPERIMENTAL_PRECOMPILED_SHADERS, replacing existing passthrough types with a unifiedCreateShaderModuleDescriptorPassthroughwhich allows passing multiple shader codes for different backends. By @SupaMaggie70Incorporated in #7834Difference for SPIR-V passthrough:
This allows using precompiled shaders without manually checking which backend's code to pass, for example if you have shaders precompiled for both DXIL and SPIR-V.
Buffer mapping apis no longer have lifetimes
Buffer::get_mapped_range(),Buffer::get_mapped_range_mut(), andQueue::write_buffer_with()now return guard objects without any lifetimes. Thismakes it significantly easier to store these types in structs, which is useful for building utilities that build the contents of a buffer over time.
By @sagudev in #8046 and @cwfitzgerald in #8070.
EXPERIMENTAL_*features now require unsafe code to enableWe want to be able to expose potentially experimental features to our users before we have ensured that they are fully sound to use.
As such, we now require any feature that is prefixed with
EXPERIMENTALto have a special unsafe token enabled in the device descriptoracknowledging that the features may still have bugs in them and to report any they find.
By @cwfitzgerald in #8163.
Multi-draw indirect is now unconditionally supported when indirect draws are supported
We have removed
Features::MULTI_DRAW_INDIRECTas it was unconditionally available on all platforms.RenderPass::multi_draw_indirectis now available if the device supports downlevel flagDownlevelFlags::INDIRECT_EXECUTION.If you are using spirv-passthrough with multi-draw indirect and
gl_DrawID, you can know ifMULTI_DRAW_INDIRECTis being emulatedby if the
Feature::MULTI_DRAW_INDIRECT_COUNTfeature is available on the device, this feature cannot be emulated efficicently.By @cwfitzgerald in #8162.
wgpu::PollType::Waithas now an optional timeoutWe removed
wgpu::PollType::WaitForSubmissionIndexand added fields towgpu::PollType::Waitin order to express timeouts.Before/after for
wgpu::PollType::Wait:Before/after for
wgpu::PollType::WaitForSubmissionIndex:wgpu::PollType::WaitForSubmissionIndexandwgpu::PollType::Waithad a hard-coded timeout of 60 seconds.To wait indefinitely on the latest submission, you can also use the
wait_indefinitelyconvenience function:By @wumpf in #8282, #8285
New Features
General
wgpu, with examples. Requires passthrough. By @SupaMaggie70Incorporated in #7345.GPUExternalTexture. These allow shaders to transparently operate on potentially multiplanar source texture data in either RGB or YCbCr formats via WGSL'stexture_externaltype. This is gated behind theFeatures::EXTERNAL_TEXTUREfeature, which is currently only supported on DX12. By @jamienicol in #4386.wgpu::Device::pollcan now specify a timeout viawgpu::PollType::Wait. By @wumpf in #8282 & #8285naga
naga::front::wgsl::UnimplementedEnableExtension. By @ErichDonGubler in #8237.Changes
General
CommandEncoder::finishis called, not when the individual operations are requested. This does not affect the API, but may affect performance characteristics. By @andyleiserson in #8220.push_debug_grouppairs with exactly onepop_debug_group. By @andyleiserson in #8048.set_viewportnow requires that the supplied minimum depth value is less than the maximum depth value. By @andyleiserson in #8040.copy_texture_to_buffer,copy_buffer_to_texture, andcopy_texture_to_textureoperations more closely follows the WebGPU specification. By @andyleiserson in various PRs.bytes_per_rowon the buffer side must be 256B-aligned, even if the transfer is a single row.set_vertex_bufferandset_index_buffermust be 4B aligned. By @andyleiserson in #7929.Device::on_uncaptured_error()must now implementSyncin addition toSend, and be wrapped inArcinstead ofBox.In exchange for this, it is no longer possible for calling
wgpufunctions while in that callback to cause a deadlock (not that we encourage you to actually do that).By @kpreid in #8011.
min_subgroup_size <= max_subgroup_size. By @andyleiserson in #8085.BufferViews]. By @cwfitzgerald in #8150.F16_IN_F32downlevel flag forquantizeToF16,pack2x16float, andunpack2x16floatin WGSL input. By @aleiserson in #8130.copy_texture_to_bufferskips over padding space between rows or layers, or when the start/end of a texture-buffer transfer is not 4B aligned. By @andyleiserson in #8099.naga
storageInputOutput16. By @cryvosh in #7884.naga::proc::Namernow accepts reserved keywords using two new dedicated types,proc::{KeywordSet, CaseInsensitiveKeywordSet}. By @kpreid in #8136.rg11b10floatwas incorrectly accepted and generated by naga, but now only accepts the the correct namerg11b10ufloatinstead. By @ErikWDev in #8219.source()method ofShaderErrorno longer reports the error as its own source. By @andyleiserson in #8258.DX12
Bug Fixes
General
DX12
EGL
Vulkan
create_swapchain(). By @MarijnS95 in #8226.naga
@blend_src(…)attributes. By @ErichDonGubler in #8137.casevalues inside aswitch. By @reima in #8165.Documentation
General
SUBGROUPandSUBGROUP_BARRIERfeatures / capabilities. By @andyleiserson in #8203.Configuration
📅 Schedule: Branch creation - "before 12pm on Sunday" (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.