vero
99fc6a11ad
Fix inconsistency in Limits defaults and clean up ( #5601 )
2024-04-25 00:30:20 -04:00
vero
34aab34c00
Fix int64 metal detection ( #5604 )
2024-04-25 03:13:26 +00:00
vero
671a2a8227
Update my username in the changelog ( #5602 )
2024-04-24 22:30:44 -04:00
Andreas Reich
d00a69615b
Prepare changelog for 0.20 ( #5599 )
2024-04-24 20:21:54 -04:00
Jim Blandy
253e65c9a4
[hal doc] Describe wgpu-hal
's validation principles.
2024-04-24 14:43:12 -07:00
Jim Blandy
259b473964
[hal doc] Describe wgpu-hal
's main traits in the top-level docs.
2024-04-24 14:43:12 -07:00
Jim Blandy
5bb9724636
[hal doc] Consistently use wgpu-hal
for the crate name.
2024-04-24 14:43:12 -07:00
Imbris
82fa580152
[hlsl-out] Fix accesses on zero value expressions ( #5587 )
2024-04-24 10:40:08 +02:00
Andreas Reich
edf1a86148
Separate out ComputeCommand id->arc resolve (a step towards no lifetimes on wgpu::ComputePass
) ( #5432 )
...
* move out compute command to separate module
* introduce ArcComputeCommand
* stateless tracker now returns reference to arc upon insertion
* add insert_merge_single to buffer tracker
* compute pass execution now works internally with an ArcComputeCommand
* compute pass execution now translates Command to ArcCommand ahead of time
* don't clone commands in compute pass execution
* remove doc hiding
* use option insert
* clippy fix
* fix private doc issue
* remove unnecessary copied over doc hide
2024-04-23 07:01:29 +00:00
Jim Blandy
b3c5a6fb84
[core] Enforce a deadlock-free locking order for Mutexes.
...
If `debug_assertions` or the `"validate-locks"` feature are enabled,
change `wgpu-core` to use a wrapper around `parking_lot::Mutex` that
checks for potential deadlocks.
At the moment, `wgpu-core` does contain deadlocks, so the ranking in
the `lock::rank` module is incomplete, in the interests of keeping it
acyclic. #5572 tracks the work needed to complete the ranking.
2024-04-22 18:49:03 -07:00
Luna
7840e75bf7
Add check to ensure vulkan::CommandEncoder::discard_encoding
is not called multiple times in a row ( #5557 )
...
Document that `wgpu_hal::CommandEncoder::discard_encoding` must not be called multiple times.
Assert in `wgpu_hal::vulkan::CommandEncoder::discard_encoding` that encoding is actually in progress.
Fixes #5255 .
2024-04-22 19:39:08 +00:00
dependabot[bot]
0d9e11d465
build(deps): bump the patch-updates group across 1 directory with 7 updates ( #5584 )
...
Bumps the patch-updates group with 6 updates in the / directory:
| Package | From | To |
| --- | --- | --- |
| [raw-window-handle](https://github.com/rust-windowing/raw-window-handle ) | `0.6.0` | `0.6.1` |
| [thiserror](https://github.com/dtolnay/thiserror ) | `1.0.58` | `1.0.59` |
| [cc](https://github.com/rust-lang/cc-rs ) | `1.0.94` | `1.0.95` |
| [jobserver](https://github.com/rust-lang/jobserver-rs ) | `0.1.30` | `0.1.31` |
| [rustix](https://github.com/bytecodealliance/rustix ) | `0.38.32` | `0.38.33` |
| [signal-hook-registry](https://github.com/vorner/signal-hook ) | `1.4.1` | `1.4.2` |
Updates `raw-window-handle` from 0.6.0 to 0.6.1
- [Release notes](https://github.com/rust-windowing/raw-window-handle/releases )
- [Changelog](https://github.com/rust-windowing/raw-window-handle/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-windowing/raw-window-handle/compare/v0.6.0...v0.6.1 )
Updates `thiserror` from 1.0.58 to 1.0.59
- [Release notes](https://github.com/dtolnay/thiserror/releases )
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.58...1.0.59 )
Updates `cc` from 1.0.94 to 1.0.95
- [Release notes](https://github.com/rust-lang/cc-rs/releases )
- [Commits](https://github.com/rust-lang/cc-rs/compare/1.0.94...1.0.95 )
Updates `jobserver` from 0.1.30 to 0.1.31
- [Commits](https://github.com/rust-lang/jobserver-rs/commits )
Updates `rustix` from 0.38.32 to 0.38.33
- [Release notes](https://github.com/bytecodealliance/rustix/releases )
- [Commits](https://github.com/bytecodealliance/rustix/compare/v0.38.32...v0.38.33 )
Updates `signal-hook-registry` from 1.4.1 to 1.4.2
- [Changelog](https://github.com/vorner/signal-hook/blob/master/CHANGELOG.md )
- [Commits](https://github.com/vorner/signal-hook/compare/registry-v1.4.1...registry-v1.4.2 )
Updates `thiserror-impl` from 1.0.58 to 1.0.59
- [Release notes](https://github.com/dtolnay/thiserror/releases )
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.58...1.0.59 )
---
updated-dependencies:
- dependency-name: raw-window-handle
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: thiserror
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: cc
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: jobserver
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: rustix
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: signal-hook-registry
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: thiserror-impl
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: patch-updates
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-22 19:49:16 +02:00
teoxoy
c2e520c52c
[naga] add Expression::Override
to needs_pre_emit
2024-04-22 08:38:31 -07:00
dependabot[bot]
dd6ac1c804
build(deps): bump JamesIves/github-pages-deploy-action from 4.5.0 to 4.6.0 ( #5580 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-22 10:22:21 -04:00
dependabot[bot]
c6f537c70b
build(deps): bump crate-ci/typos from 1.20.8 to 1.20.9 ( #5579 )
...
Bumps [crate-ci/typos](https://github.com/crate-ci/typos ) from 1.20.8 to 1.20.9.
- [Release notes](https://github.com/crate-ci/typos/releases )
- [Changelog](https://github.com/crate-ci/typos/blob/master/CHANGELOG.md )
- [Commits](https://github.com/crate-ci/typos/compare/v1.20.8...v1.20.9 )
---
updated-dependencies:
- dependency-name: crate-ci/typos
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-22 14:55:58 +02:00
Jim Blandy
4f3d9a2af5
[core] Also trace snatch lock write guard acquisitions.
...
In debug builds, check for attempts to acquire snatch lock read guards
while holding write guards, not just attempts to acquire a second read
guard.
2024-04-21 21:09:48 -07:00
Valaphee The Meerkat
53dd49f839
Allow ETC2 in OpenGL if ES3 compatible ( #5568 )
...
* Allow ETC on OpenGL if ES3 compatible
* Update changelog
2024-04-20 15:38:53 +02:00
vero
6941e30b37
Cleanup ShaderModel detection usage ( #5567 )
2024-04-20 10:06:09 +02:00
Daniel McNab
54d22a89d3
Fix the ordering of id freeing and deleting ( #5554 )
2024-04-19 12:59:09 -04:00
Jim Blandy
54740d5982
[core] Make cargo doc --document-private-items
work again.
...
Add a CI job to check it, for the future.
2024-04-18 18:36:47 -07:00
Jim Blandy
543a746023
[core] Document deferred retention strategy for ActiveSubmission
. ( #5561 )
...
* [core] Document deferred retention strategy for `ActiveSubmission`.
* Update wgpu-core/src/device/life.rs
---------
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2024-04-19 00:08:27 +00:00
teoxoy
ca729cc607
Introduce HashableLiteral
...
The only reason `Literal` had to implement `Eq` and `Hash` was due to the SPV backend having to cache those in a `HashMap`.
The `PartialEq` impl was error prone due to the match not being exhaustive.
2024-04-18 12:26:24 -07:00
Teodor Tanasoaia
d08a069573
Fix vectors being unconditionally host shareable ( #5556 )
2024-04-18 10:02:18 -04:00
matt rice
e0ac24aeab
[naga-cli] Add input-kind
and shader-stage
args ( #5411 )
2024-04-18 12:41:18 +02:00
vero
4e77762a32
Refactor MSL atomic writing ( #5533 )
2024-04-18 12:23:45 +02:00
vero
163ffa6d63
Refactor WGSL atomic writing ( #5534 )
2024-04-18 10:57:35 +02:00
Connor Fitzgerald
638fc9db7f
Backport changelog from 0.19.4 ( #5552 )
2024-04-18 08:20:52 +02:00
Connor Fitzgerald
152fd0930a
Fix Buffer Mapping Deadlock ( #5518 )
2024-04-17 20:41:51 -04:00
dependabot[bot]
1735968969
build(deps): bump the patch-updates group with 23 updates ( #5550 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-17 20:14:55 -04:00
multisn8
d30255f66f
repo: add shell.nix
and .envrc
( #5519 )
...
* repo: add shell.nix and .envrc
Makes usage on NixOS easier, by not having to drop into a hurry of
`nix-shell -p lots of packages` every time someone wants to experiment
around with wgpu.
The .envrc causes shell.nix to be eval'd automatically run iff
1. direnv is installed
2. the user `direnv allow`ed the shell.nix
* repo(shell.nix): add explanations and remove cruft
2024-04-17 22:08:09 +00:00
Andreas Reich
ad6774f7bb
Remove exposed C symbols from renderpass/computepass recording ( #5409 )
...
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2024-04-17 20:48:45 +00:00
Connor Fitzgerald
c1291bd131
Fix Merge Issues Between #5301 and #5508 ( #5549 )
2024-04-17 16:31:20 -04:00
Leo Kettmeir
6a616a5c3b
refactor(deno): simplify error handling ( #5479 )
2024-04-17 16:25:51 -04:00
Daniel McNab
965b00c06b
Allow configuring whether workgroup memory is zero initialised ( #5508 )
2024-04-17 15:50:31 -04:00
Jim Blandy
40db4df670
[wgpu] Document buffer mapping.
2024-04-17 12:41:11 -07:00
Andreas Reich
cbace631ec
Fix surfaces only compatible with first enabled backend ( #5535 )
2024-04-17 15:32:04 -04:00
Alexander Meißner
ea77d5674d
Subgroup Operations ( #5301 )
...
Co-authored-by: Jacob Hughes <j@distanthills.org>
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
Co-authored-by: atlas dostal <rodol@rivalrebels.com>
2024-04-17 15:25:52 -04:00
Valaphee The Meerkat
0dc9dd6bec
Prefer OpenGL over OpenGL ES ( #5482 )
...
* Prefer OpenGL over OpenGL ES
* Fix sRGB on egl
* Check if OpenGL is supported
* Add changelog entry
* Remove expected failure for OpenGL Non-ES, add comment explaining FRAMEBUFFER_SRGB, add driver info to AdapterInfo
* Fix draw indexed
* CI host doesn't seem to support Rg8Snorm and Rgb9eUfloat clearing
2024-04-16 22:57:33 +02:00
Jim Blandy
2b0e3ed01c
[core] Don't derive Default
for ResourceMaps
.
...
The derivation is only effective if the generic type parameter `A`
also implements `Default`, which `HalApi` implementations generally
don't, so this derivation never actually took place. (This is why
`ResourceMaps::new` is written out the way it is.)
2024-04-16 15:04:25 +02:00
teoxoy
895879b8c6
[wgpu-core] validate that all resources passed to encoder commands belong to the same device as the encoder
2024-04-16 15:02:41 +02:00
Jim Blandy
a61c872269
[core] Rename com_alloc
to command_allocator
in Device::new
.
2024-04-15 16:37:08 -04:00
Jim Blandy
bab6f53e86
[core] Use internal locking in CommandAllocator
.
...
Move the `Mutex` in `Device::command_allocator` inside the
`CommandAllocator` type itself, allowing it to be passed by shared
reference instead of mutable reference.
Passing `CommandAllocator` to functions like
`PendingWrites::post_submit` by mutable reference requires the caller
to acquire and hold the mutex for the entire time the callee runs, but
`CommandAllocator` is just a recycling pool, with very simple
invariants; there's no reason to hold the lock for a long time.
2024-04-15 16:37:08 -04:00
Jim Blandy
b9781ee6e2
[core] Move CommandAllocator
into its own module.
...
No intended change in behavior.
2024-04-15 16:37:08 -04:00
vero
c6efbef8a6
Make scalar_width
return size in bytes ( #5532 )
2024-04-15 20:05:42 +02:00
Jim Blandy
c9212c6d46
[core] Document command encoding and command buffers.
...
Flesh out the documentation for `wgpu_core`'s `CommandBuffer`,
`CommandEncoder`, and associated types.
Allow doc links to private items. `wgpu-core` isn't entirely
user-facing, so it's useful to document internal items.
2024-04-14 20:53:15 -07:00
Jim Blandy
5b8be97a88
[hal] Update crate documentation and wgpu-hal/README.md. ( #5524 )
...
Co-authored-by: Andreas Reich <r_andreas2@web.de>
2024-04-14 18:34:15 +00:00
dependabot[bot]
6756601089
build(deps): bump crate-ci/typos from 1.19.0 to 1.20.4 ( #5506 )
...
* build(deps): bump crate-ci/typos from 1.19.0 to 1.20.4
Bumps [crate-ci/typos](https://github.com/crate-ci/typos ) from 1.19.0 to 1.20.4.
- [Release notes](https://github.com/crate-ci/typos/releases )
- [Changelog](https://github.com/crate-ci/typos/blob/master/CHANGELOG.md )
- [Commits](https://github.com/crate-ci/typos/compare/v1.19.0...v1.20.4 )
---
updated-dependencies:
- dependency-name: crate-ci/typos
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* update to typoes 1.20.8 since it has a few important fixes
* typo fixes & exceptions
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Andreas Reich <r_andreas2@web.de>
2024-04-14 09:28:36 +00:00
Jim Blandy
0b7f91c4a9
[core] Make wgpu_core::command::BakedCommands
pub(crate), not pub. ( #5526 )
2024-04-14 09:40:50 +02:00
Connor Fitzgerald
f735f57f89
Wire up timestamp queries ( #5528 )
2024-04-13 09:13:29 +02:00
teoxoy
9df68197a4
[spv-in] add support for specialization constants
2024-04-11 09:46:55 -07:00