Andy Leiserson
9a596fa1dc
Fix warnings from the nightly Rust compiler ( #7964 )
2025-07-17 16:08:06 -04:00
Connor Fitzgerald
ff0de91ad7
Bump REPO_MSRV to 1.88 ( #7960 )
2025-07-17 13:00:40 -04:00
Connor Fitzgerald
1ed61877b5
Remove wgpu_core::hal_api::HalApi
2025-07-16 15:10:00 -04:00
Lucas Abel
13d0cd4d58
[core] fix invalid read in Queue::write_texture ( #7893 )
2025-07-16 09:49:03 -07:00
Andy Leiserson
c868142709
Validate vertex and index buffer alignment ( #7929 )
2025-07-11 14:43:03 -07: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
Erich Gubler
166c2ea2aa
fix(core): check query set index before other validation ( #7908 )
2025-07-10 19:04:37 +00:00
Kevin Reid
da6ccd5516
Fix undeclared base in profiling scopes.
...
This would cause compilation to fail if profiling was enabled.
2025-07-10 14:42:08 -04:00
Andy Leiserson
dc924bc715
Remove unsafe from hal::BufferBinding::new_unchecked
2025-07-10 09:52:20 -07:00
Andy Leiserson
9b966bf8a3
Fix for destroyed resource errors
2025-07-10 09:52:20 -07:00
Andy Leiserson
468632f207
Restore plumbing of implicit remainder-of-buffer size to backends
2025-07-10 09:52:20 -07:00
Andy Leiserson
00406a75a4
Fix calculation error
2025-07-10 09:52:20 -07:00
Andy Leiserson
2db1d71f1b
[deno] Implement nullable vertex buffer layouts
2025-07-10 09:52:20 -07:00
Andy Leiserson
27e7408f16
Restore the buffer size changes
2025-07-10 09:52:20 -07:00
Connor Fitzgerald
4f156357b8
Switch as_hal to return a guard
2025-07-09 18:08:11 -04:00
Connor Fitzgerald
a6a380409c
[core] Add force_unlock_read methods to lock primitives
2025-07-09 18:08:11 -04:00
Connor Fitzgerald
a248b8caf3
[core] Add RawResourceAccess trait
2025-07-09 18:08:11 -04:00
Connor Fitzgerald
795fe3bf27
[core] Move as_hal methods to their own file
2025-07-09 18:08:11 -04:00
Andy Leiserson
9834d9a446
Revert "Validate binding ranges against buffer size"
...
This reverts commit ef428fcab8059e898b42542b6445bd94a9683e69.
2025-07-09 16:29:41 -04:00
Andy Leiserson
b0527800a1
Revert "Restore unintentional support for zero-size buffers"
...
This reverts commit c0a580d6f0343a725b3defa8be4fdf0a9691eaad.
2025-07-09 16:29:41 -04:00
Andy Leiserson
c0a580d6f0
Restore unintentional support for zero-size buffers
2025-07-08 14:45:12 -07:00
Andy Leiserson
ef428fcab8
Validate binding ranges against buffer size
2025-07-08 14:45:12 -07:00
Andy Leiserson
3d0fe3a003
Check the math for buffer-texture copies
2025-07-08 12:11:56 -07:00
Andy Leiserson
361fe34392
Check the parent texture in TextureView::try_raw
2025-07-03 10:03:32 -07:00
teoxoy
487f79ba44
Add missing device validity checks
2025-07-02 11:11:37 +02:00
teoxoy
e10e17907f
remove DeviceError::ResourceCreationFailed
2025-07-02 11:11:37 +02:00
teoxoy
918fdc98b5
remove reason from ErrorType::DeviceLost since it's always "unknown" and users should register the lost callback instead
2025-07-02 11:11:37 +02:00
teoxoy
25d75e2a02
remove DeviceError::Invalid, this variant should be the same as DeviceError::Lost
2025-07-02 11:11:37 +02:00
Jim Blandy
2f890eb9b2
[core] Improve assert failure message for id epoch mismatches. ( #7871 )
2025-07-02 09:33:55 +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
7ff0bd784e
fix!: remove WebGpuError impl. for Request{Adapter,Device}Error
2025-06-30 10:58:56 -04:00
Erich Gubler
964c5bbf4c
feat(core): impl WebGpuError for API errors
2025-06-30 10:58:56 -04:00
Vecvec
27212104f8
Unify debug groups and markers.
2025-06-30 15:00:46 +02:00
Vecvec
6237dbf0b9
Unify timestamp writes.
2025-06-30 15:00:46 +02:00
Vecvec
afa96af76f
Unify set push constants.
2025-06-30 15:00:46 +02:00
Vecvec
acd8cb18bb
Unify rebinding resources.
2025-06-30 15:00:46 +02:00
Vecvec
4d36a02691
Unify set bind group.
2025-06-30 15:00:46 +02:00
Andy Leiserson
e936c065fc
Additional comments on render and compute pass encoding
2025-06-26 15:39:53 -07:00
Andy Leiserson
7722c341e0
Defer destroyed resource errors until cmdbuf submission
2025-06-26 15:39:53 -07:00
Andy Leiserson
fc26fbc561
Deferred error reporting for render passes
2025-06-26 15:39:53 -07:00
Andy Leiserson
460f073a67
Deferred error reporting for compute passes
2025-06-26 15:39:53 -07:00
Andy Leiserson
09c08037c9
Add a field in BasePass to store errors
2025-06-26 15:39:53 -07:00
SupaMaggie70Incorporated
e40e66d205
DXIL & HLSL passthrough ( #7831 )
...
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2025-06-25 18:12:58 -04:00
Vecvec
dc0d457a9a
Add limits for acceleration structures ( #7845 )
2025-06-25 14:49:55 -04: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
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
Erich Gubler
cf83de3a5d
chore!: remove deprecated type aliases for idents. in 2024-08 spec. rename ( #7790 )
...
This backs out commit 9436d56271c6f3141ee5da882355ea45784c446c.
2025-06-12 09:55:00 -04:00