Commit Graph

8716 Commits

Author SHA1 Message Date
Samson
04aff59a14 [naga] implement pointer_composite_access WGSL language extension (#6913)
Co-authored-by: Erich Gubler <erichdongubler@gmail.com>
2025-01-23 13:29:17 -05:00
Teodor Tanasoaia
a8bd1fe1ac [d3d12] bound check dynamic buffers (#6931)
To achieve this for dynamic storage buffers we changed the way we bind them. They now go in root tables and we pass the offset via a root constant.
2025-01-23 17:18:36 +00:00
Kent Slaney
3cd2e7caf0 [naga] Remove unused types and global expressions in a single pass.
In compaction, correctly identify unused types and global expressions,
rather than treating all global expressions referred to by
`PendingArraySize::Expression` array lengths as used even if the array
type itself is not.

This is tested by checking that going from expression to type and
back, along with the opposite, is correctly marked as used. It also
checks that adding an unused type using an expression gets compacted
out.

See the comments on `ModuleTracer::type_expression_tandem` for
details.

Fixes #6788.
2025-01-23 08:11:18 -08:00
Jamie Nicol
0282d61f91 [naga hlsl-out] Handle array types for function return values and calls (#6971) 2025-01-23 16:56:18 +01:00
Daniel McNab
5e2bcc9191 Improve the docs of PipelineCache and friends (#6978) 2025-01-23 11:56:05 +01:00
Jim Blandy
e86ed8b6c8 [naga] Document arena ordering requirements. 2025-01-22 19:33:05 -08:00
Connor Fitzgerald
3dd925b697 Use Bitflags Unknown Bit Check (#6967) 2025-01-21 21:41:38 -05:00
Connor Fitzgerald
da3c15b49d Debug Management 2025-01-21 13:16:03 -08:00
Connor Fitzgerald
23119b1eeb Cleanup CI Jobs 2025-01-21 13:16:03 -08:00
Connor Fitzgerald
a1fc4a0316 Allow Short Circuting GL Fences (#6942) 2025-01-21 19:28:14 +00:00
Connor Fitzgerald
436f716715 Unconditionally Generate Bindless Samplers in DX12 (#6766) 2025-01-21 14:24:03 -05:00
Alphyr
2298cd2dd6 Remove additional trait impls from CommandBuffer (#6960) 2025-01-21 16:33:07 +00:00
Connor Fitzgerald
04e40dd135 Update Vulkan SDK (#6955) 2025-01-21 00:12:07 +00:00
Connor Fitzgerald
7fccb6bdb9 Standalone Compute
Fix Generate

Fix?

17th Time's The Charm

Fix Build

See Eye

Docs

Victory Tabular

Formatting

Formating3
2025-01-20 18:07:22 -05:00
Connor Fitzgerald
43b6637754 Remove Hello Example 2025-01-20 18:07:22 -05:00
Connor Fitzgerald
c73bd2fa60 Move Examples to Subfolder 2025-01-20 18:07:22 -05:00
Connor Fitzgerald
4ed5021996 Ban Dynamic Offsets and Binding Arrays in the Same Bind Group (#6811)
* Ban Dynamic Offsets and Binding Arrays in the Same Bind Group

* Add Tests and Uniform Buffer Restriction
2025-01-20 13:28:32 -05:00
the letter L
b626020769 [naga] parse and validate @must_use attribute (#6801)
* feat: parse and enforce `@must_use` attribute

* feat: refuse `@must_use` of void function

* generated naga/tests/out/ir

* revert extraneous changes

* fix clippy

* update repeated attribute error to trunk format

* struct members can't have `@must_use`

* review fixes

* Remove must_use from FunctionResult and revert the related changes

---------

Co-authored-by: turbocrime <turbocrime@users.noreply.github.com>
Co-authored-by: Jamie Nicol <jnicol@mozilla.com>
2025-01-20 18:09:36 +00:00
Andreas Reich
426c1d364f Fix missing wgt re-export on wgpu for CopyExternalImageDestInfo (#6962) 2025-01-20 18:00:34 +00:00
Samson
6e7d3c4b3e [naga] Explicitly use global const ctx in offset (#6945)
* Fix as_const on expr ctx

Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>

* fixup

Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>

---------

Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
2025-01-20 18:59:11 +01:00
Jamie Nicol
1f939e1c44 [naga msl-out] Avoid undefined behaviour due to signed integer overflow (#6959)
Signed integer overflow is undefined behaviour in MSL. However, signed
integers are defined to be two's complement. This allows us to cast
signed values to their corresponding unsigned type, perform the
arithmetic on these unsigned values (which has defined overflow
behaviour) then cast the result back to signed.

Care must be taken when emitting the isign polyfill, which uses
metal::select(). We must ensure the -1, 0, and 1 literals used as
inputs to select() have the correct width, else bitcasting the output
of select() will fail due to mismatched widths.
2025-01-20 18:11:27 +01:00
Connor Fitzgerald
6e5c9468aa Enable Storage Texture Binding Arrays on DX12 (#6956) 2025-01-20 16:39:16 +01:00
the letter L
0b0cb8fec9 remove unused CallError::ResultValue (#6944)
Co-authored-by: turbocrime <turbocrime@users.noreply.github.com>
2025-01-20 16:29:12 +01:00
Connor Fitzgerald
c613d830f3 We Don't Pay for CI Anymore (#6954) 2025-01-20 16:20:43 +01:00
dependabot[bot]
87b3ca25de chore(deps): bump the patch-updates group with 6 updates (#6953)
Bumps the patch-updates group with 6 updates:

| Package | From | To |
| --- | --- | --- |
| [indexmap](https://github.com/indexmap-rs/indexmap) | `2.7.0` | `2.7.1` |
| [serde_json](https://github.com/serde-rs/json) | `1.0.135` | `1.0.137` |
| [trybuild](https://github.com/dtolnay/trybuild) | `1.0.101` | `1.0.102` |
| [range-alloc](https://github.com/gfx-rs/range-alloc) | `0.1.3` | `0.1.4` |
| [cc](https://github.com/rust-lang/cc-rs) | `1.2.9` | `1.2.10` |
| [valuable](https://github.com/tokio-rs/valuable) | `0.1.0` | `0.1.1` |


Updates `indexmap` from 2.7.0 to 2.7.1
- [Changelog](https://github.com/indexmap-rs/indexmap/blob/master/RELEASES.md)
- [Commits](https://github.com/indexmap-rs/indexmap/compare/2.7.0...2.7.1)

Updates `serde_json` from 1.0.135 to 1.0.137
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.135...v1.0.137)

Updates `trybuild` from 1.0.101 to 1.0.102
- [Release notes](https://github.com/dtolnay/trybuild/releases)
- [Commits](https://github.com/dtolnay/trybuild/compare/1.0.101...1.0.102)

Updates `range-alloc` from 0.1.3 to 0.1.4
- [Commits](https://github.com/gfx-rs/range-alloc/commits)

Updates `cc` from 1.2.9 to 1.2.10
- [Release notes](https://github.com/rust-lang/cc-rs/releases)
- [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/cc-rs/compare/cc-v1.2.9...cc-v1.2.10)

Updates `valuable` from 0.1.0 to 0.1.1
- [Release notes](https://github.com/tokio-rs/valuable/releases)
- [Changelog](https://github.com/tokio-rs/valuable/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tokio-rs/valuable/compare/v0.1.0...v0.1.1)

---
updated-dependencies:
- dependency-name: indexmap
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: patch-updates
- dependency-name: serde_json
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: patch-updates
- dependency-name: trybuild
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: patch-updates
- dependency-name: range-alloc
  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: valuable
  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>
2025-01-19 23:07:17 -05:00
@brody4hire - C. Jonathan Brody
68a6f3bf8c update & clean up recent changes in CHANGELOG.md (#6948) 2025-01-19 09:16:07 +01:00
Andreas Reich
e2d14c677a Fix building wgpu with --no-default-feautures on web (wasm32-unknown-unknown) (#6946)
* Fix wasm build without features

* silence unused warnings if wgc & webgpu are disabled

* add no-features check for web ci

* add changelog entry
2025-01-18 15:05:57 -05:00
Connor Fitzgerald
dcdb10348b Add Flush to GL Queue::submit (#6941) 2025-01-18 15:02:42 -05:00
Erich Gubler
3b3e1939f9 Eliminate overflow in query set bounds checks (#6933) 2025-01-17 16:36:22 +00:00
sotaroikeda
3d13cc1bbe Add a way to notify with Queue::submit() to Vulkan's vk::Semaphore allocated outside of wgpu (#6813)
Co-authored-by: Sotaro Ikeda <you@example.com>
2025-01-17 11:18:17 -05:00
Alphyr
aa94634524 Implement Clone for ShaderModule (#6937) 2025-01-17 10:39:47 -05:00
Vecvec
bdef8c0407 [spirv] Stop naga causing undefined behavior in rayQueryGet*Intersection (#6752)
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2025-01-17 00:04:33 +00:00
Andreas Reich
d5d5157b5d Add "Most objects in wgpu are now Clone" to highlight section (#6930) 2025-01-16 11:13:04 -05:00
@brodycj - C. Jonathan Brody
beb33414c7 trace directory path updates (#6924)
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2025-01-16 14:50:15 +00:00
@brodycj - C. Jonathan Brody
623f143a82 Start using hashbrown (#6925) 2025-01-16 14:53:36 +01:00
Connor Fitzgerald
779261e64d Release v24 (#6923) v24.0.0 2025-01-15 16:29:22 -05:00
caelunshun
30364134f3 Expose conversions between TextureFormat and naga::StorageFormat (#6185)
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2025-01-15 17:44:14 +00:00
Connor Fitzgerald
0f37714fb8 Separate Out Backend Options into Individual Structs (#6895) 2025-01-15 17:32:15 +00:00
Kent Slaney
a32467041d fix >= in template list matching for a<b>=c (#6898)
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2025-01-15 17:25:04 +00:00
atlv
be95178709 64 bit image atomics (#5537) 2025-01-15 08:05:13 -05:00
sagudev
6c10e0be73 Add changelog
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
2025-01-15 11:14:17 +01:00
sagudev
ea5d3b953f Add test
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
2025-01-15 11:14:17 +01:00
sagudev
a65216cabe [naga] wgsl automatic conversion for override initializers
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
2025-01-15 11:14:17 +01:00
sagudev
4576e4d0d2 Refactor init and type handling into separate function from var
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
2025-01-15 11:14:17 +01:00
Vecvec
21de7f7773 Support DXR in wgpu-hal & naga. (#6777)
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2025-01-14 21:28:37 -05:00
Connor Fitzgerald
2cfea40acc Fix bind group initialization in benchmarks (#6916) 2025-01-14 23:02:05 +00:00
Jim Blandy
90a97a1ed9 Add CHANGELOG.md entries for jimblandy's PRs. (#6918) 2025-01-14 22:45:03 +00:00
Vecvec
0b2c9e4f4b [Ray-tracing] Change index offset to first index (#6873)
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2025-01-14 16:56:24 -05:00
Jim Blandy
bd3e7b676e [naga] Consolidate entry point tracing code. (#6917) 2025-01-14 21:12:52 +00:00
Connor Fitzgerald
c71d67010f Fix Features when Depending on wgpu (#6915) 2025-01-14 18:19:43 +00:00