9265 Commits

Author SHA1 Message Date
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
Jim Blandy
5304c3ca4a [naga wgsl-in] Apply automatic conversions to sampling arguments.
Properly apply WGSL's automatic conversions to the arguments
to texture sampling functions.

Introduce helper function `Lowerer::expression_with_leaf_scalar`.

Although this can't affect behavior, use
`Lowerer::expression_for_abstract` for the `image` and `sampler`
arguments, simply because we want to move away from
`Lower::expression`'s automatic concretization, and move towards
having callers say explicitly what sort of conversions they need.

Although this can't affect behavior, use
`Lowerer::expression_with_leaf_scalar` for the `offset` argument, so
that the code spells out that this requires an `i32` value, rather
than depending on blind concretization giving it that.

Continue to use `Lowerer::expression` for `gather` and `array_index`,
since those happen to behave correctly with blind concretization, and
can be cleaned up later.

Fixes #7427.
2025-04-18 11:56:34 -07:00
Jim Blandy
6cd6561884 [naga wgsl-in] Minor cleanup to Lowerer::texture_sample_helper.
Use deferred initialization instead of building tuples, so that match
arms can provide values by name, not by position within a tuple.
2025-04-18 11:56:34 -07:00
Erich Gubler
f739f8e885
chore: add config. for prettier (#7560) 2025-04-18 11:13:02 -04:00
Ebbe Steenhoudt
7cab1747ee
Loosen Viewport validation requirements to match the new specs (#7564) 2025-04-18 15:17:53 +02:00
sagudev
bbff2c4e0b
use wgt::PollType<u64> in device interface instead of wgt::PollType<SubmissionIndex> (#7562) 2025-04-17 18:29:11 -04:00
Kaur Kuut
205e464849
Fix CHANGELOG.md link mishap. (#7563) 2025-04-17 12:26:57 -04:00
Teodor Tanasoaia
6ea7962da7
[d3d12] remove the need for dxil.dll (#7566) 2025-04-17 16:21:36 +02:00
Erich Gubler
c7330a8b49
style(naga): add whitespace b/w items in naga::error (#7558) 2025-04-17 00:47:33 -04:00
Erich Gubler
2f409a8551
Add .jj to .gitignore (#7559) 2025-04-17 00:46:54 -04:00
Erich Gubler
c24bf0f56f
chore(CHANGELOG): run prettier (#7556) 2025-04-16 22:34:13 -04:00
Erich Gubler
65c06c2b21 feat(naga): add pack4x{I,U}8Clamp built-ins 2025-04-16 15:07:11 -04:00
Erich Gubler
2aa8a830fb refactor(msl-out): Pack4x{I,U}8: make was_signed use `matches!(…) 2025-04-16 15:07:11 -04:00
Erich Gubler
97c30046bc refactor(glsl-out): Pack4x{I,U}8: make was_signed use `matches!(…) 2025-04-16 15:07:11 -04:00
Erich Gubler
bb12f6287f refactor(naga): factor out write_arg 2025-04-16 15:07:11 -04:00
Connor Fitzgerald
628e4cfcf5 Update DXC 2025-04-16 15:02:42 -04:00
Connor Fitzgerald
defca6ee35 Ensure raytracing tests run on slightly downlevel adapters 2025-04-16 15:02:42 -04:00