fix(deps): update rust crate wgpu to 0.18 #94
Merged
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:
0.17
->0.18
Release Notes
gfx-rs/wgpu (wgpu)
v0.18.0
Compare Source
Desktop OpenGL 3.3+ Support on Windows
We now support OpenGL on Windows! This brings support for a vast majority of the hardware that used to be covered by our DX11 backend. As of this writing we support OpenGL 3.3+, though there are efforts to reduce that further.
This allows us to cover the last 12 years of Intel GPUs (starting with Ivy Bridge; aka 3xxx), and the last 16 years of AMD (starting with Terascale; aka HD 2000) / NVidia GPUs (starting with Tesla; aka GeForce 8xxx).
By @Zoxc in #4248
Timestamp Queries Supported on Metal and OpenGL
Timestamp queries are now supported on both Metal and Desktop OpenGL. On Apple chips on Metal, they only support timestamp queries in command buffers or in the renderpass descriptor,
they do not support them inside a pass.
Metal: By @Wumpf in #4008
OpenGL: By @Zoxc in #4267
Render/Compute Pass Query Writes
Addition of the
TimestampWrites
type to compute and render pass descriptors to allow profiling on tilers which do not support timestamps inside passes.Added an example to demonstrate the various kinds of timestamps.
Additionally, metal now supports timestamp queries!
By @FL33TW00D & @wumpf in #3636.
Occlusion Queries
We now support binary occlusion queries! This allows you to determine if any of the draw calls within the query drew any pixels.
Use the new
occlusion_query_set
field onRenderPassDescriptor
to give a query set that occlusion queries will write to.let mut rpass = encoder.begin_render_pass(&wgpu::RenderPassDescriptor { // ... + occlusion_query_set: Some(&my_occlusion_query_set), });
Within the renderpass do the following to write the occlusion query results to the query set at the given index:
These are binary occlusion queries, so the result will be either 0 or an unspecified non-zero value.
By @Valaphee in #3402
Shader Improvements
Shader Validation Improvements
RenderPass
StoreOp
is now Enumerationwgpu::Operations::store
used to be an underdocumented boolean value,causing misunderstandings of the effect of setting it to
false
.The API now more closely resembles WebGPU which distinguishes between
store
anddiscard
,see WebGPU spec on GPUStoreOp.
By @wumpf in #4147
Instance Descriptor Settings
The instance descriptor grew two more fields:
flags
andgles_minor_version
.flags
allow you to toggle the underlying api validation layers, debug information about shaders and objects in capture programs, and the ability to discard lablesgles_minor_version
is a rather niche feature that allows you to force the GLES backend to use a specific minor version, this is useful to get ANGLE to enable more than GLES 3.0.gles_minor_version
: By @PJB3005 in #3998flags
: By @nical in #4230Many New Examples!
Revamped Testing Suite
Our testing harness was completely revamped and now automatically runs against all gpus in the system, shows the expected status of every test, and is tolerant to flakes.
Additionally, we have filled out our CI to now run the latest versions of WARP and Mesa. This means we can test even more features on CI than before.
By @cwfitzgerald in #3873
The GLES backend is now optional on macOS
The
angle
feature flag has to be set for the GLES backend to be enabled on Windows & macOS.By @teoxoy in #4185
Added/New Features
Changes
General
DownlevelFlags::READ_ONLY_DEPTH_STENCIL
. By @teoxoy in #4031setViewport
valid usage forx
,y
andthis.[[attachment_size]]
. By @James2022-rgb in #4058wgpu::CreateSurfaceError
andwgpu::RequestDeviceError
now give details of the failure, but no longer implementPartialEq
and cannot be constructed. By @kpreid in #4066 and #4145WGPU_POWER_PREF=none
a valid value. By @fornwall in 4076Rgb10a2Uint
format. By @teoxoy in 4199DeviceError::Lost
instead ofDeviceError::Invalid
. By @bradwerth in #4238"strict_asserts"
feature enable check that wgpu-core's lock-ordering tokens are unique per thread. By @jimblandy in #4258Vulkan
wgpu_hal::vulkan::Instance::required_extensions
todesired_extensions
. By @jimblandy in #4115vkFreeCommandBuffers
whenvkDestroyCommandPool
will take care of that for us. By @jimblandy in #4059DX12
gpu-allocator
to 0.23. By @Elabajaba in #4198Documentation
Features::TEXTURE_COMPRESSION_ASTC_HDR
in #4157Bug Fixes
General
naga::StorageAccess
instead ofnaga::GlobalUse
. By @teoxoy in #3985.Queue::on_submitted_work_done
callbacks will now always be called after all previousBufferSlice::map_async
callbacks, even when there are no active submissions. By @cwfitzgerald in #4036.clear
texture views being leaked whenwgpu::SurfaceTexture
is dropped before it is presented. By @rajveermalviya in #4057.Feature::SHADER_UNUSED_VERTEX_OUTPUT
to allow unused vertex shader outputs. By @Aaron1011 in #4116.surface_configure
. By @nical in #4220 and #4227Vulkan
wgpu::Features::PARTIALLY_BOUND_BINDING_ARRAY
not being actually enabled in vulkan backend. By @39ali in#3772.vk::InstanceCreateFlags::ENUMERATE_PORTABILITY_KHR
unless theVK_KHR_portability_enumeration
extension is available. By @jimblandy in#4038.DX12
Features::VERTEX_WRITABLE_STORAGE
based on the right feature level. By @teoxoy in #4033.Metal
WebGPU
GLES
Documentation
RenderPass
and how render state works. By @kpreid in #4055Examples
wgpu-example::utils
module to contain misc functions and such that are common code but aren't part of the example framework. Add to it the functionsoutput_image_wasm
andoutput_image_native
, both for outputtingVec<u8>
RGBA images either to the disc or the web page. By @JustAnotherCodemonkey in #3885.capture
example as it had issues (did not run on wasm) and has been replaced byrender-to-texture
(see above). By @JustAnotherCodemonkey in #3885.v0.17.1
Compare Source
Added/New Features
get_mapped_range_as_array_buffer
for faster buffer read-backs in wasm builds. By @ryankaplan in [#4042] (https://github.com/gfx-rs/wgpu/pull/4042).Bug Fixes
DX12
Vulkan
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ 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 has been generated by Mend Renovate. View repository job log here.