9481 Commits

Author SHA1 Message Date
teoxoy
2bb8325f85 [vk] require VK_KHR_maintenance1 (in preparation for creating 2D texture views from slices of 3D textures) 2025-04-25 12:39:45 +02:00
teoxoy
d714e3d95a [d3d12,metal,gl] add support for rendering to slices of 3D textures 2025-04-25 12:39:45 +02:00
teoxoy
15477b84a9 [wgpu-hal] make begin_render_pass fallible 2025-04-25 12:39:45 +02:00
teoxoy
5ecc48d494 add RenderPassColorAttachment::depth_slice 2025-04-25 12:39:45 +02:00
teoxoy
6058dd4296 [wgpu-core] allow 2D-Array texture views with a single layer to be used as render attachments 2025-04-25 12:39:45 +02:00
Connor Fitzgerald
a439fe4bfa
Use lockfileMaintence for non-breaking changes (#7629) 2025-04-25 11:28:26 +02:00
Erich Gubler
96c1fb11de
docs(CHANGELOG): s/Bux Fixes/Bug Fixes (#7628) 2025-04-24 21:19:01 +00:00
Jim Blandy
02bf7f40cd
Add some missing CHANGELOG.md entries. (#7627) 2025-04-24 17:00:07 -04:00
Jim Blandy
5bc3c9da3c [naga] Constrain textureLoad array index args to i32 or u32.
In `naga::valid::expression`, require that
`Expression::ImageLoad::array_index` be either `i32` or `u32`, not
just an integral type of any size.
2025-04-24 13:45:12 -07:00
Jim Blandy
7c5f705580 [naga] Allow textureLoad's sample index arg to be unsigned.
Permit the `sample_index` argument of `textureLoad` overloads to be
either `i32` or `u32`.
2025-04-24 13:45:12 -07:00
Teodor Tanasoaia
195217b269
allow read-write and read-only storage textures without TEXTURE_ADAPTER_SPECIFIC_FORMAT_FEATURES (#7623) 2025-04-24 11:45:24 -04:00
Florian Denis
1806414771
[wgpu-types]: Expose wgpu::Limits::defaults() (#7622) 2025-04-24 09:56:14 -04:00
Connor Fitzgerald
ffbef20168
Schedule renovate (#7620) 2025-04-23 22:27:19 +00:00
renovate[bot]
1d6c1d020c
Update Rust crate which to v7 (#7619)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-23 22:00:17 +00:00
renovate[bot]
d1a1a59e50
Update Rust crate ordered-float to v5 (#7618)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-23 21:43:28 +00:00
renovate[bot]
c40738c521
Update codecov/codecov-action action to v5 (#7613)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-23 17:42:56 -04:00
renovate[bot]
3727b67253
Update Rust crate env_logger to 0.11.0 (#7609)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-23 21:38:52 +00:00
renovate[bot]
018fd31fb1
Update Rust crate metal to 0.32.0 (#7611)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-23 21:08:18 +00:00
renovate[bot]
20d5da7e07
Update Minor Updates (#7607)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-23 20:59:26 +00:00
renovate[bot]
7ccf1e5ac2
Configure Renovate (#7606)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2025-04-23 20:34:44 +00:00
Connor Fitzgerald
ec102222f9
Disable dependabot (#7603) 2025-04-23 18:47:26 +02:00
Zachary Harrold
35f131ff10
Remove default features from petgraph (#7591) 2025-04-23 03:30:36 +00:00
Zachary Harrold
66263789bc
[wgpu-core]: Remove x_instead_of_y exceptions (#7598) 2025-04-23 03:17:29 +00:00
dependabot[bot]
33a0d2bbfa
Bump the patch-updates group across 1 directory with 8 updates (#7594)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-22 18:56:27 -04:00
Connor Fitzgerald
a9e93f9acb Update missed dependencies 2025-04-22 12:04:36 -04:00
Connor Fitzgerald
e0aeff0e4d Update lockfile 2025-04-22 12:04:36 -04:00
Connor Fitzgerald
ea9c771f78 Update cargo-deny config 2025-04-22 12:04:36 -04:00
Zachary Harrold
c63cfd86ae
Remove exceptions for x_instead_of_y lints (#7592) 2025-04-22 11:12:53 -04:00
Zachary Harrold
c809aefb8d
Allow serialize and deserialize in Naga no_std (#7590) 2025-04-22 11:07:35 -04:00
teoxoy
1fdd05a2b8 [d3d12] refactor: move allocation related fields into a new Allocator struct 2025-04-22 09:21:27 +02:00
teoxoy
3b72d59a3c make memory pressure detection optional and configurable 2025-04-22 09:21:27 +02:00
teoxoy
5bd3a25cf7 [d3d12] use the actual memblock_sizes for OOM detection 2025-04-22 09:21:27 +02:00
teoxoy
0a416189b6 [test] add OOM tests 2025-04-22 09:21:27 +02:00
teoxoy
e78bc98d1b remove oom_panic feature 2025-04-22 09:21:27 +02:00
teoxoy
71cce67665 [vk] destroy resources in error paths 2025-04-22 09:21:27 +02:00
teoxoy
2e7ca8c995 [vk] add OOM checks before creating buffers, textures, query sets and acceleration structures 2025-04-22 09:21:27 +02:00
teoxoy
7b482622d3 allow sampler creation to return OOMs
This is to preserve the current behavior as tested by the `SAMPLER_CREATION_FAILURE` test.

This is not spec compliant but it's unclear what we should do instead. I opened https://github.com/gpuweb/gpuweb/issues/5142 to figure out what we should do.
2025-04-22 09:21:27 +02:00
teoxoy
c13fc3d141 don't call release_gpu_resources when losing the device
This removes the possibility of deadlocks happening since `release_gpu_resources` tries to lock resources (trackers, snatchable_lock, pending_writes, life_tracker) while they might be already locked; `handle_hal_error` is called in lots of places.

Removing the call only delays destruction since `release_gpu_resources` is still called in `maintain`.
2025-04-22 09:21:27 +02:00
teoxoy
ece29b6e68 [D3D12/VK] add OOM check on submit and poll that will lose the device if we are over 95% of our budget 2025-04-22 09:21:27 +02:00
teoxoy
c144f2a697 invalidate Device on OOM errors with the exception of buffer, texture, query set and acceleration structure creation 2025-04-22 09:21:27 +02:00
teoxoy
c49620d1a2 add device validity checks to Queue methods 2025-04-22 09:21:27 +02:00
teoxoy
1c071b14af [D3D12] add OOM checks before creating buffers, textures, query sets and acceleration structures
The D3D12 API doesn't guarantee that it returns `E_OUTOFMEMORY` in high memory pressure situations; drivers/kernel will happily start swapping objects that were in VRAM to RAM and then RAM to DISK, slowing down the system to a crawl if done in a loop.
2025-04-22 09:21:27 +02:00
Jim Blandy
5573c57393
[naga wgsl-in] Properly convert arguments to atomic operations. (#7573) 2025-04-21 12:27:02 -04:00
RedMindZ
f64eae7734
Fixed a deadlock caused by locking the device's snatchable lock **after** locking the queue's pending writes (#7582) 2025-04-21 11:08:57 -04:00
Zachary Harrold
f79cf6ed23
Remove indexmap/std from wgsl-in (#7586) 2025-04-21 10:57:01 -04:00
Phena Ildanach
d2ab981a76
[naga spv-in] Update supported capabilities list (#7575) 2025-04-18 21:26:45 +00:00
Zachary Harrold
bf8cc43a15
Add stderr and termcolor features to Naga (#7482)
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
Co-authored-by: Erich Gubler <erichdongubler@gmail.com>
2025-04-18 21:06:22 +00:00
sagudev
6666d528b2
Allow obtaining custom implementation from wgpu api types (#7541) 2025-04-18 16:58:49 -04:00
Jim Blandy
a9a3ea3a41 [naga wgsl-in] Convert textureStore values correctly.
Apply necessary automatic conversions to the `value` argument of
`textureStore`.
2025-04-18 12:56:51 -07:00
Jim Blandy
de1b9a0899 [naga] Reduce indentation in ImageLoad expression validation.
In `naga::valid::expression::validate_expression`, use a let-else
statement so that the outermost control flow follows the success path,
and errors are close to the conditions that trigger them.
2025-04-18 12:56:51 -07:00