Jim Blandy
03db77cb8c
[core] Replace id transmute method with explicit functions. ( #5509 )
...
Replace the `wgpu_core::id::Id::transmute` method, the `transmute`
private module, and the `Transmute` sealed trait with some associated
functions with obvious names.
2024-04-08 21:51:30 -04:00
wicast
17ef6cac90
fix(spv-out): OpSourceContinued for large source (gfx-rs#5390)
2024-04-08 11:27:18 +02:00
vero
911baf3e8c
Add DirectX ShaderModel 6.1-6.7 detection ( #5498 )
2024-04-06 11:35:59 +02:00
lylythechosenone
d814851350
[wgpu-core] pass resources as Arcs when adding them to the registry ( #5499 )
...
* [wgpu-core] pass resources as Arcs when adding them to the registry (fix gfx-rs#5493)
* [wgpu-core] also add `Arc::new` to `#[cfg(dx12)]` blocks
* [wgpu-core] allow `clippy::arc_with_non_send_sync`
2024-04-06 09:10:24 +02:00
vero
1c48a23cff
Add Metal 3.0 and 3.1 detection ( #5497 )
2024-04-05 19:22:33 +02:00
teoxoy
b985f16ac2
add changelog entry
2024-04-05 18:07:41 +02:00
Jim Blandy
2ad95b2774
[naga wgsl-in] Allow override expressions as local var initializers.
...
Allow `LocalVariable::init` to be an override expression.
Note that this is unrelated to WGSL compliance. The WGSL front end
already accepts any sort of expression as an initializer for
`LocalVariable`s, but initialization by an override expression was
handled in the same way as initialization by a runtime expression, via
an explicit `Store` statement.
This commit merely lets us skip the `Store` when the initializer is an
override expression, producing slightly cleaner output in some cases.
2024-04-05 18:07:41 +02:00
teoxoy
7df0aa6364
move the burden of evaluating override-expressions to users of naga's API
2024-04-05 18:07:41 +02:00
Jim Blandy
7bed9e8bce
[naga-cli] Add --override option.
2024-04-05 18:07:41 +02:00
Jim Blandy
ba19d8df34
[naga] Adjust RayQuery statements in override processing.
2024-04-05 18:07:41 +02:00
Jim Blandy
906ed128de
[naga] Spell out members in adjust_expr.
2024-04-05 18:07:41 +02:00
Jim Blandy
8a2bc07f11
[naga] Handle comparison operands in pipeline constant evaluation.
...
Properly adjust `AtomicFunction::Exchange::compare` after pipeline
constant evaluation.
2024-04-05 18:07:41 +02:00
Jim Blandy
a7d8ee999d
[naga] Add missing newline to test input file.
2024-04-05 18:07:41 +02:00
Jim Blandy
8107f80b7f
[naga] Tweak comments in ConstantEvaluator::try_eval_and_append.
...
I found I needed a little bit more detail here.
2024-04-05 18:07:41 +02:00
Jim Blandy
bb15286df2
[naga] Let filter_emits_with_block operate on a &mut Block.
...
This removes some clones and collects, simplifies call sites, and
isn't any more complicated to implement.
2024-04-05 18:07:41 +02:00
Jim Blandy
aaf3b17623
[naga] Hoist ConstantEvaluator construction in process_function.
...
There's no need to build a fresh `ConstantEvaluator` for every
expression; just build it once and reuse it.
2024-04-05 18:07:41 +02:00
Jim Blandy
f464598646
[naga] Simplify uses of replace in back::pipeline_constants.
2024-04-05 18:07:41 +02:00
Jim Blandy
58d1e1f745
[naga] Doc tweaks for back::pipeline_constants.
2024-04-05 18:07:41 +02:00
teoxoy
ca252b9e74
allow private variables to have an override-expression initializer
2024-04-05 18:07:41 +02:00
teoxoy
3abdfde0ba
evaluate override-expressions in functions
2024-04-05 18:07:41 +02:00
teoxoy
fd5c4db606
refactor try_eval_and_append body
2024-04-05 18:07:41 +02:00
Jim Blandy
dd315ee39a
[naga] Add some documentation to process_overrides and subroutines.
2024-04-05 18:07:41 +02:00
teoxoy
4ede83929c
[valid] make sure overrides are not present after evaluation
2024-04-05 18:07:41 +02:00
teoxoy
f1706b994b
[valid] error on non fully evaluated const-expressions
2024-04-05 18:07:41 +02:00
teoxoy
e9eb703941
rename const_expressions to global_expressions
2024-04-05 18:07:41 +02:00
teoxoy
fa5406fbb9
rename ExpressionConstnessTracker to ExpressionKindTracker
2024-04-05 18:07:41 +02:00
teoxoy
d6ebd88f42
implement override-expression evaluation for initializers of override declarations
2024-04-05 18:07:41 +02:00
teoxoy
ff332afdef
[const-eval] fix evaluation of bool constuctors
2024-04-05 18:07:41 +02:00
teoxoy
a946a6f0ad
[const-eval] refactor logic around try_eval_and_append
2024-04-05 18:07:41 +02:00
teoxoy
d7cfe16b79
validate that override ids are unique
2024-04-05 18:07:41 +02:00
teoxoy
2929ec333c
[spv/msl/hlsl-out] support pipeline constant value replacements
2024-04-05 18:07:41 +02:00
teoxoy
7ce422c57a
remove naga's clone feature
2024-04-05 18:07:41 +02:00
Teodor Tanasoaia
f949ea69c4
[wgsl-in] add support for override declarations ( #4793 )
...
Co-authored-by: Jim Blandy <jimb@red-bean.com >
2024-04-05 18:07:41 +02:00
Jim Blandy
b3dfc40c9d
[naga] Delete Constant::override and Override.
2024-04-05 18:07:41 +02:00
teoxoy
3bda381812
add pipeline constants plumbing
2024-04-05 18:07:41 +02:00
Erich Gubler
fb305b85f6
docs: add warning about stack size for WGSL compilation
2024-04-03 15:54:43 -04:00
Erich Gubler
b21a3265de
fix(wgsl-in)!: limit brace recursion
2024-04-03 15:54:43 -04:00
Erich Gubler
d4b673c88a
refactor(wgsl-in): remove unnecessary return Ok(())
2024-04-03 15:54:43 -04:00
Chase MacDonnell
3db0e46f7d
Implement Unorm10_10_10_2 VertexFormat ( #5477 )
2024-04-03 19:43:54 +00:00
JMS55
ed843f8029
Add more hal methods ( #5452 )
...
* Add return value to Texture::as_hal()
* Add TextureView::as_hal()
* Add CommandEncoder::as_hal_mut()
* Add changelog
* Add TextureView::raw_handle()
* Add CommandEncoder::raw_handle()
* Add additional docs for command_encoder_as_hal_mut
2024-04-03 00:37:18 +02:00
Erich Gubler
0c5bebca51
fix: unlock guard for release_gpu_resources call in Device::maintain
2024-04-02 16:12:28 -04:00
Leo Kettmeir
d828f27de4
chore: update deno ( #5469 )
...
* chore: update deno
* update spec
* more error handling
* cleanup queue
* fix
* fix byow
Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com >
* fix
* fix
* fix
* fixes
* fix cts
* clean
---------
Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com >
2024-04-02 14:36:04 -04:00
Dzmitry Malyshau
5bab673926
Update CHANGELOG for the spv-out arrayLength feature
2024-04-02 19:22:34 +02:00
Dzmitry Malyshau
3a467ad93d
spv-out: Support arrayLength of a dynamically indexed bindings array
2024-04-02 19:22:34 +02:00
Dzmitry Malyshau
bfe0b90740
spv-out: implement OpArrayLength on array buffer bindings
2024-04-02 19:22:34 +02:00
Christian Legnitto
1fd47b54ab
Expose all items in naga::back.
...
This helps out-of-tree backends.
Fixes https://github.com/gfx-rs/wgpu/issues/5398 .
2024-04-02 17:14:13 +02:00
Vecvec
1ead28701d
Fix unused acceleration structures causing invalid SPIR-V ( #5463 )
2024-04-02 11:06:28 +00:00
Thomas Bork
dc7cbe6e8b
docs: Fix incorrect git URL for naga-cli installation ( #5457 )
2024-04-02 12:54:27 +02:00
Jim Blandy
e30e300436
[hal/vulkan] Document more PhysicalDeviceFeatures-related things.
...
Improve documentation for:
- `PhysicalDeviceFeatures::from_extensions_and_requested_features`
- `PhysicalDeviceFeatures::to_wgpu`
- `Adapter::physical_device_features`
2024-04-02 12:54:00 +02:00
Jim Blandy
7954bb66a5
Rename PhysicalDeviceCapabilities to PhysicalDeviceProperties.
...
Since this struct's role is to hold all the relevant "VkFooProperties"
structs we can get about a given physical device, and "capabilities"
means something else in Vulkan (SPIR-V capabilities), it seems that
`PhysicalDeviceProperties` is a better name.
2024-04-02 12:49:36 +02:00