1009 Commits

Author SHA1 Message Date
Inner Daemons
a05c70cef7
WGSL parsing for mesh shaders (#8370)
Co-authored-by: Jim Blandy <jimb@red-bean.com>
Co-authored-by: Erich Gubler <erichdongubler@gmail.com>
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
Co-authored-by: SupaMaggie70Incorporated <85136135+SupaMaggie70Incorporated@users.noreply.github.com>
2025-11-12 21:06:20 -05:00
s-ol
d017d48b45
Allow passing external_memory in vulkan-hal::Device::texture_from_raw() (#8512) 2025-11-11 11:01:02 -05:00
Andy Leiserson
3443224e78
Correct STORAGE_READ_ONLY exclusivity (#8490)
Fixes #8485
2025-11-06 15:04:38 -08:00
Erich Gubler
775ff20d7b docs(CHANGELOG): move #8445's entry to WebGPU section 2025-11-06 15:03:36 -05:00
Erich Gubler
a4b3d115bd style(CHANGELOG): add space b/w Top level categories and its list 2025-11-06 15:03:36 -05:00
Erich Gubler
e2e4651ecb fix(core): validate that buffer is unmapped in write_buffer calls 2025-11-05 16:12:58 -05:00
Tim Evans
ccc650fd0a
Added missing aspect field in map_texture_copy_view. (#8445)
Co-authored-by: Tim Evans <tim.evans@aranzgeo.com>
2025-11-04 15:35:45 -05:00
Kevin Reid
6560412a52 Make StagingBelt own the Device it uses.
This means that usage of a `StagingBelt` only requires passing along
the current `CommandEncoder` instead of both the encoder and the device.
It also makes the API reflect the fact that a `StagingBelt` cannot be
reused with a fresh device.

As far as I know, the only reason this was not done previously was that
`Device` was not clonable, and so doing this would have required an
`Arc<Device>` or other specific mechanism.
2025-11-01 21:43:48 -04:00
Inner Daemons
ad0f3111b7
Add multiview limits and tests (#8206)
Co-authored-by: Andreas Reich <r_andreas2@web.de>
Co-authored-by: Magnus <85136135+SupaMaggie70Incorporated@users.noreply.github.com>
2025-11-01 12:08:15 +00:00
Kevin Reid
5633ae8649 Show command encoder label in validation errors.
The plumbing to get it out of `wgpu_core` is awkward but I didn’t see
a clearly better option. I think it would make sense to have something
like `Global::get_label<T>(id: Id<T>) -> String` but that looks like a
lot more work.
2025-10-31 13:03:55 -04:00
Kevin Reid
586b344719 Fix CHANGELOG headings/organization. 2025-10-31 13:03:55 -04:00
Kevin Reid
85fb959d20 Correct documentation of alignment/size requirements for buffer mapping.
The documentation previously claimed that the end point must be aligned
to `MAP_ALIGNMENT` = 8, but in fact it only needs to be aligned to 4.

Also fixed `map_buffer_on_submit()` referring to “this slice” instead of
“`bounds`”.
2025-10-31 11:54:46 -04:00
Vecvec
f314b1611a
Lower blas_max_primitve_count (#8446) 2025-10-29 23:03:34 -04:00
Mikołaj Radkowski
e7fcb94888
Make multi-planar textures renderable (#8307) 2025-10-29 13:33:48 -04:00
atlv
7a2afeb014
fix(vulkan): remove atomic memory semantics (#8391) 2025-10-29 13:21:56 -04:00
atlv
ddcd89fd69
Implement shader barycentrics (#8320) 2025-10-29 13:15:21 -04:00
Connor Fitzgerald
02145c435c docs(CHANGELOG): import entries from v26.0.6, v27.0.4 2025-10-23 15:00:44 -04:00
Erich Gubler
48f047f947 docs(CHANGELOG): move #8250's entry to Unreleased 2025-10-23 15:00:44 -04:00
Erich Gubler
1ba953d4f3 docs(CHANGELOG): move #8247's entry to Unreleased 2025-10-23 15:00:44 -04:00
Erich Gubler
8e61646521 docs(CHANGELOG): import entries from v26.0.5, v27.0.3 2025-10-23 15:00:44 -04:00
Andy Leiserson
7f644452f0
Check for attachment overlap using textures, not views (#8402) 2025-10-22 17:37:38 +02:00
Andy Leiserson
d575c0234b
Disallow mixing the raw encoding API with the wgpu API (#8373) 2025-10-22 11:34:40 -04:00
Erich Gubler
0f26cf29ca
style(CHANGELOG): fix up some style issues (#8397) 2025-10-21 21:14:54 +00:00
Erich Gubler
8ddd320cf2
docs(CHANGELOG): add entry for #8311 (#8398) 2025-10-21 21:14:01 +00:00
atlv
fa93d134ad
fix changelog typos (#8392) 2025-10-21 09:57:55 -04:00
Kevin Reid
f366e9615f
[types] Replace conditional derive(thiserror::Error) with unconditional impl. (#8384) 2025-10-20 22:27:57 +02:00
Jerzy Wilczek
a70b8336c0
fix: Move DropGuards to the end of their parent structs. (#8353) 2025-10-16 15:58:18 -04:00
Ryan Kaplan
756dd3c089
Fix bug where mapped range in WebBuffer is not cloned correctly (#8349)
Co-authored-by: Ryan Kaplan <ryan@Ryans-M2>
2025-10-16 15:56:45 -04:00
Opstic
f0209e3db8
Add support for transient textures on Vulkan and Metal (#8247)
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2025-10-16 19:50:01 +00:00
Kevin Reid
98c345800a [hal] Replace cargo-clippy feature with lint configuration. 2025-10-15 19:34:40 -04:00
Erich Gubler
54ded60d8e fix(dx12): align tex. <-> buf. copies via intermediate buffer if !UnrestrictedBufferTextureCopyPitchSupported 2025-10-14 09:39:56 -04:00
Jim Blandy
1cbebdcffe
[core] Don't skip binding index checks for derived layouts. (#8325)
When deriving a bind group layout for a pipeline, bother to enforce
`wgpu_types::Limits::max_bindings_per_bind_group`. Move the check:

- from `wgpu_core::device::bgl::EntryMap::from_entries`, which is only used
  for explicit bind group creation

- into `wgpu_core::device::Device::create_bind_group_layout`, which is used
  for all bind group layout creation.
2025-10-10 16:38:35 +00:00
Tom Schuster
2e48faf95d
Map more limits in WebGPU (#8328) 2025-10-10 12:11:16 -04:00
Robin Cramer
d0bb62a157
Added from_custom to texture (#8315) 2025-10-09 17:22:54 +02:00
Erich Gubler
adf4b2f2de fix: reject fragment shader output locations > max_color_attachments limit 2025-10-08 16:34:43 -04:00
Erich Gubler
bbedf6c226
docs(CHANGELOG): polish enumerate_adapters-is-async section (#8318)
* docs(CHANGELOG): polish `enumerate_adapters`-is-`async` section

* docs(CHANGELOG): indirectly acknowledge "yield" joke
2025-10-08 18:19:00 +00:00
Sam
a8f51f8fd1
Split MipmapFilterMode from FilterMode (#8314) 2025-10-08 18:06:33 +02:00
Erich Gubler
8ff1eb995d
typo(CHANGELOG): s/elimnating/eliminating (#8317) 2025-10-07 12:23:06 -07:00
renovate[bot]
854664a90d
chore(deps): update crate-ci/typos action to v1.37.3 (#8306)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Andreas Reich <r_andreas2@web.de>
2025-10-06 19:32:39 +00:00
Robin Cramer
4652ea4189
Changed enumerate_adapters to be able to work with custom backends (#8230)
Co-authored-by: Andreas Reich <r_andreas2@web.de>
2025-10-06 19:27:23 +00:00
Connor Fitzgerald
d28fb4d776
Update changelog for release v27.0.2 (#8293) 2025-10-06 13:11:35 -04:00
Clar Fon
790235717e
Make include_spirv actually work statically (#8250) 2025-10-04 09:50:52 +02:00
David Stern
b3c6a0b5cc
Gate DX12 mesh shader command signature initialization on device support. (#8297) 2025-10-04 00:41:58 +00:00
Connor Fitzgerald
482a983e10
Release v27 (#8287) 2025-10-01 19:36:18 -04:00
Andreas Reich
333f811e9c
Rework wgpu::PollType to only two enum variants (#8285) 2025-10-01 18:08:07 -04:00
Erich Gubler
90702156af fix(namer): escape, rather than strip, non-ASCII ident. characters
Escape non-ASCII identifier characters with `write!(…, "u{:04x}", …)`,
surrounding with `_` as appropriate. This solves (1) a debugging issue
where stripped characters would otherwise be invisible, and (2) failure
to re-validate that stripped identifiers didn't start with an ASCII
digit.

I've confirmed that this fixes [bug
1978197](https://bugzilla.mozilla.org/show_bug.cgi?id=1978197) on the
Firefox side.
2025-10-01 08:50:37 -04:00
Andreas Reich
00ea850d79
Allow timeouting on poll (#8282) 2025-10-01 07:19:24 +00:00
Erich Gubler
06fc6f7345
feat(wgsl): recognize enable primitive-index; (#8237) 2025-09-30 22:02:10 +00:00
Nils Hasenbanck
8c4aebc0c1
(Naga) Implement OpImageGather and OpImageDrefGather when ingesting SPIR-V (#8280) 2025-09-29 13:15:32 -04:00
Marijn Suijten
ea80c7dbc3
hal/vulkan: Accurately map all formats except fp16 to use the non-linear sRGB color space (#8226) 2025-09-29 11:50:10 -04:00