Connor Fitzgerald
3e153fb8ec
Label no-op supporting tests
2025-08-01 01:54:01 -04:00
Connor Fitzgerald
09d0c94576
Use explicit test enumeration
2025-08-01 01:54:01 -04:00
Connor Fitzgerald
86d5211f84
Add support for running tests on the noop backend
2025-08-01 01:54:01 -04:00
Connor Fitzgerald
df40889e1b
Prepare for miri
2025-08-01 01:54:01 -04:00
Andy Leiserson
1583c2481a
Another fix for texture copy validation ( #8019 )
2025-07-28 22:19:17 -04:00
SupaMaggie70Incorporated
074c0e7191
Add mesh shading api to wgpu & wgpu-core ( #7345 )
2025-07-24 20:58:56 -04:00
Jamie Nicol
f8756a6e1b
[wgpu] Add external texture validation tests
...
Adds validation tests using the noop backend covering creation of
external textures, and creation of bind groups containing external
textures.
2025-07-22 15:38:15 -07:00
teoxoy
63f3df86c8
[wgpu-core] split command encoders from command buffers
2025-07-22 16:19:18 +02:00
Andy Leiserson
5d14f33259
Test for use of staging buffer in writeTexture ( #7963 )
2025-07-17 18:52:51 -04:00
Connor Fitzgerald
ff0de91ad7
Bump REPO_MSRV to 1.88 ( #7960 )
2025-07-17 13:00:40 -04:00
Vecvec
4844fa6b5e
Merge acceleration structure feature and ray query feature. ( #7913 )
...
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2025-07-10 19:53:32 +00:00
Kevin Reid
c0a8ba69b0
[ci] Check with profiling enabled.
...
Minimum version of `profiling` increases from ^1.0.0 to ^1.0.1 because
the `type-check` feature was added in 1.0.1.
2025-07-10 14:42:08 -04:00
Connor Fitzgerald
a851eba5f6
Add TextureView::texture ( #7907 )
2025-07-09 19:53:55 -04:00
teoxoy
fc6c529fa8
Adjust DEVICE_DESTROY_THEN_MORE test for spec compliance
2025-07-02 11:11:37 +02:00
Andy Leiserson
86e6b1835b
Tolerate destruction of textures used in immediate queue operations prior to submit
2025-06-30 10:29:50 -07:00
Erich Gubler
cc0f4ac4bf
refactor(wgpu)!: use WebGpuError for error classification
2025-06-30 10:58:56 -04:00
Erich Gubler
43eee99b29
refactor: extract did_fill_error_scope test helper from did_fail
2025-06-30 10:58:56 -04:00
Andy Leiserson
d13e9f5ebf
[tests] Test destruction of a used resource before submission ( #7853 )
...
* [tests] Test destruction of a used resource before submission
Fixes #5031
---------
Co-authored-by: Nicolas Silva <nical@fastmail.com>
2025-06-27 10:54:19 -07:00
Andy Leiserson
41badaedfb
Update tests and changelog for deferred error reporting
2025-06-26 15:39:53 -07:00
Vecvec
dc0d457a9a
Add limits for acceleration structures ( #7845 )
2025-06-25 14:49:55 -04:00
Jim Blandy
3f96ba2980
Skip wgpu_gpu::oom::query_set_oom_test on Vulkan.
...
Vulkan's `VK_EXT_memory_budget` extension doesn't cover query sets, so
`wgpu_hal::vulkan::Device::error_if_would_oom_on_resource_allocation`'s
tactic doesn't work to anticipate OOM errors from the Vulkan driver
when creating query sets.
Without these checks, `wgpu_gpu::oom::query_set_oom_test` actually
consumes a significant amount of memory and attracts the attention of
the system's OOM killer. While it does get killed, the situation tends
to adversely affect the stability of the rest of the system, and thus
is not a friendly thing for a test run to do (#7817 ).
This change can be reverted once a suitable accounting method for
query sets has been implemented on Vulkan.
2025-06-18 08:21:13 -07:00
Andy Leiserson
3a5d0f2747
Deferred error reporting for other command encoder operations
...
* clear commands
* query set functions
* command_encoder_as_hal_mut
* ray_tracing
2025-06-17 16:17:43 -07:00
Andy Leiserson
e702d1c116
Deferred error reporting for transfer commands
2025-06-17 16:00:49 -07:00
Jamie Nicol
8cdbcc1755
Add ExternalTexture BindingType behind new Feature flag
...
Adds a new feature flag, `EXTERNAL_TEXTURE`, indicating device support
for our implementation of WebGPU's `GPUExternalTexture` [1] which will
land in upcoming patches. Conceptually this would make more sense as a
downlevel flag, as it is a core part of the WebGPU spec which we do not
yet support. We do not want, however, to cause applications to reject
adapters because we have not finished implementing this, so for now we
are making it an opt-in feature.
As an initial step towards supporting this feature, this patch adds a
new `BindingType` corresponding to WebGPU's
`GPUExternalTextureBindingLayout` [2]. This binding type dictates that
when creating a bind group the corresponding entry must be either an
external texture or a texture view with certain additional requirements
[3].
As of yet wgpu has no concept of an external texture (that will follow
in later patches) but for now this patch ensures that texture views
corresponding to an external texture binding type are validated
correctly. Note that as the feature flag is not yet supported on any
real backends, bind group layout creation will fail before getting the
chance to attempt to create a bind group. But in the added tests using
the noop backend we can see this validation taking place.
[1] https://www.w3.org/TR/webgpu/#gpuexternaltexture
[1] https://www.w3.org/TR/webgpu/#dictdef-gpuexternaltexturebindinglayout
[2] https://gpuweb.github.io/gpuweb/#bind-group-creation
2025-06-17 15:00:29 -07:00
Jamie Nicol
d811258424
[naga msl-out] Add padding to end of structs if required
2025-06-17 20:20:25 +01:00
Dmitry Zamkov
bbb7cc79ef
Implement clip-distances extension for GL and Vulkan backends ( #7730 )
...
* Basic implementation of `clip_distances` for Vulkan and GL backends
* Added GPU test for `clip-distances`
* Update feature array size
* Add changelog entry
* Validate `clip_distances` array size
* Check for `clip_distances` enable directive
* Consolidate code for generating `enable` directives in WGSL backend and add `clip_distances`.
2025-06-16 10:33:31 +02:00
Andy Leiserson
620c9d1e8b
Deferred error reporting for debug commands ( #7789 )
2025-06-12 11:53:32 -07:00
Vecvec
aa427de4ea
Remove unsafe acceleration structure build ( #7513 )
2025-06-12 00:43:03 -04:00
Vecvec
73eb83ded1
[wgpu] Blas compaction ( #7285 )
...
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2025-06-11 21:40:10 -04:00
Vecvec
efbac5dfba
Add extra acceleration structure vertex formats. ( #7580 )
2025-06-11 18:17:14 -04:00
renovate[bot]
5a7af54619
chore(deps): update rust crate cargo_metadata to 0.20 ( #7744 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Andreas Reich <r_andreas2@web.de>
2025-06-11 11:24:33 -04:00
Andy Leiserson
77d2b0017a
Split EncoderStateError from CommandEncoderError ( #7779 )
2025-06-10 09:46:30 -07:00
Zachary Harrold
6151330e3a
[wgpu-hal]: MVP no_std support ( #7599 )
...
* MVP `no_std` support in `wgpu-hal`
* Update CHANGELOG.md
* Fix visibility
* Fix unused imports
* Response to feedback
Co-Authored-By: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
* Update other `validation_canary` usages
Co-Authored-By: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
---------
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2025-05-30 12:31:44 -04:00
Raphael Hetzel
0d569d5550
Optional web-specific deps for wasm32 ( #7565 )
2025-05-29 22:26:01 +00:00
Dmitry Zamkov
9c023e5e29
Implement subgroup quad ops ( #7683 )
...
* Rudimentary impl of quad ops, impl quad ops for spirv
* Impl quad swap for hlsl, msl and wgsl, finish spv front
* Cargo clippy & cargo fmt, impl valid for quad ops
* Enable quad feature
* Add missing feature to glsl
* Simplifying code by making `SubgroupQuadSwap` an instance of `SubgroupGather`
* Add `GroupNonUniformQuad` spv capability to Vulkan
* Adding GPU tests for quad operations
* Validate that broadcast operations use const invocation ids
* Added changelog entry
---------
Co-authored-by: valaphee <32491319+valaphee@users.noreply.github.com>
2025-05-26 09:32:01 +02:00
Mehmet Oguz Derin
2a62299a84
Support Sliced 3D for ASTC ( #7577 )
...
Enables "texture-compression-astc-sliced-3d" for backends that support ASTC (such as excluding D3D12).
2025-05-04 12:48:16 +02:00
teoxoy
d14849df48
[vk] add support for rendering to 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
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
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
Connor Fitzgerald
a9e93f9acb
Update missed dependencies
2025-04-22 12:04:36 -04:00
teoxoy
3b72d59a3c
make memory pressure detection optional and configurable
2025-04-22 09:21:27 +02:00
teoxoy
0a416189b6
[test] add OOM tests
2025-04-22 09:21:27 +02:00
Ebbe Steenhoudt
7cab1747ee
Loosen Viewport validation requirements to match the new specs ( #7564 )
2025-04-18 15:17:53 +02:00
teoxoy
45d78e2fb4
remove DownlevelFlags::VERTEX_AND_INSTANCE_INDEX_RESPECTS_RESPECTIVE_FIRST_VALUE_IN_INDIRECT_DRAW
2025-04-15 17:56:17 +02:00
Bruce Mitchener
fec411cf2d
Remove MaintainBase ( #7508 )
2025-04-10 15:09:29 -04:00
Bruce Mitchener
3081c4f094
Fix typos ( #7510 )
2025-04-10 15:09:03 -04:00
Vecvec
8010203281
Rework acceleration structure build tracking.
2025-04-09 22:27:04 -04:00
Zachary Harrold
4761e27da5
[naga] Fix improper feature gates ( #7484 )
2025-04-09 12:10:40 -04:00