Commit Graph

1268 Commits

Author SHA1 Message Date
Zachary Harrold
c63cfd86ae Remove exceptions for x_instead_of_y lints (#7592) 2025-04-22 11:12:53 -04:00
teoxoy
1fdd05a2b8 [d3d12] refactor: move allocation related fields into a new Allocator struct 2025-04-22 09:21:27 +02:00
teoxoy
3b72d59a3c make memory pressure detection optional and configurable 2025-04-22 09:21:27 +02:00
teoxoy
5bd3a25cf7 [d3d12] use the actual memblock_sizes for OOM detection 2025-04-22 09:21:27 +02:00
teoxoy
e78bc98d1b remove oom_panic feature 2025-04-22 09:21:27 +02:00
teoxoy
71cce67665 [vk] destroy resources in error paths 2025-04-22 09:21:27 +02:00
teoxoy
2e7ca8c995 [vk] add OOM checks before creating buffers, textures, query sets and acceleration structures 2025-04-22 09:21:27 +02:00
teoxoy
ece29b6e68 [D3D12/VK] add OOM check on submit and poll that will lose the device if we are over 95% of our budget 2025-04-22 09:21:27 +02:00
teoxoy
1c071b14af [D3D12] add OOM checks before creating buffers, textures, query sets and acceleration structures
The D3D12 API doesn't guarantee that it returns `E_OUTOFMEMORY` in high memory pressure situations; drivers/kernel will happily start swapping objects that were in VRAM to RAM and then RAM to DISK, slowing down the system to a crawl if done in a loop.
2025-04-22 09:21:27 +02:00
Zachary Harrold
bf8cc43a15 Add stderr and termcolor features to Naga (#7482)
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
Co-authored-by: Erich Gubler <erichdongubler@gmail.com>
2025-04-18 21:06:22 +00:00
Teodor Tanasoaia
6ea7962da7 [d3d12] remove the need for dxil.dll (#7566) 2025-04-17 16:21:36 +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
teoxoy
597114052e [d3d12] get vertex_index & instance_index builtins working for indirect draws 2025-04-15 17:56:17 +02:00
Connor Fitzgerald
f1c496523f [d3d12] Fix bug with committed resource allocation (#7519) 2025-04-11 18:18:43 +00:00
Connor Fitzgerald
45d8f42513 Use workspace package information everywhere 2025-04-10 20:41:28 -04:00
Connor Fitzgerald
8c2c2ce203 Release v25 (#7505) 2025-04-10 16:13:02 +00:00
Sylvain Benner
14690470bb [metal] Metal compute shader passthrough (#7326)
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2025-04-09 14:25:41 +00:00
Connor Fitzgerald
a6d7e0d56b [d3d12] Move naming inside suballocation functions 2025-04-07 21:03:43 -04:00
Connor Fitzgerald
a1e96cc179 [d3d12] Simplify set_name calls with a helper 2025-04-07 21:03:43 -04:00
Connor Fitzgerald
6262462979 [d3d12] Make placed/committed resource paths the same 2025-04-07 21:03:43 -04:00
Connor Fitzgerald
1831267551 [d3d12] Separate placed resource construction into separate functions 2025-04-07 21:03:43 -04:00
Connor Fitzgerald
460eff4866 [d3d12] Always associate a size with an allocation 2025-04-07 21:03:43 -04:00
Connor Fitzgerald
014b5b52f2 [d3d12] Internalize raw buffer desc mapping 2025-04-07 21:03:43 -04:00
Connor Fitzgerald
4fce269b1d [d3d12] Isolate buffer descriptor mapping 2025-04-07 21:03:43 -04:00
Connor Fitzgerald
b57ec2c9e0 [d3d12] Remove unused visibility and arguments 2025-04-07 21:03:43 -04:00
Connor Fitzgerald
004961874f [d3d12] Turn suballocation free functions into member functions 2025-04-07 21:03:43 -04:00
Connor Fitzgerald
46ef1fc061 [d3d12] Use DeviceAllocationContext for deallocation 2025-04-07 16:01:19 +02:00
Connor Fitzgerald
cccb0864cd [d3d12] Import suballocation module instead of subtypes 2025-04-07 16:01:19 +02:00
Connor Fitzgerald
b2160813c5 [d3d12] Pass resource into free_allocation 2025-04-07 16:01:19 +02:00
Connor Fitzgerald
840dbd5385 [d3d12] Improve naming of allocation functions 2025-04-07 16:01:19 +02:00
Connor Fitzgerald
0f4d1f2284 [d3d12] Internalize Allocation option 2025-04-07 16:01:19 +02:00
Connor Fitzgerald
f895290550 [d3d12] Rename AllocationWrapper to Allocation 2025-04-07 16:01:19 +02:00
Connor Fitzgerald
c946ab2052 [d3d12] Remove GpuAllocatorWrapper 2025-04-07 16:01:19 +02:00
Connor Fitzgerald
595b3eb647 [d3d12] Use DeviceAllocationContext for memory allocation 2025-04-07 16:01:19 +02:00
Connor Fitzgerald
74b37916db [d3d12] Move private_capabilities to DeviceShared 2025-04-07 16:01:19 +02:00
Vecvec
e8e66afb72 Fix new acceleration structure building validation errors. (#7486) 2025-04-07 15:17:06 +02:00
Andy Leiserson
a843c880d2 [metal] Fix handling of stage visibility for binding arrays (#7479)
Fixes #7287
2025-04-04 11:20:57 -04:00
Connor Fitzgerald
c860a2cf8c Rename and unsafe start_capture -> start_graphics_debugger_capture (#7470)
* Improve `start_capture` docs

* Docs
2025-04-03 13:07:22 -04:00
Marc Pabst
3d7ae9dc92 Allow to get raw swap chain from DX12 surface (#7399)
* allow to get raw swap_chain from dx12 surface

* Update wgpu-hal/src/dx12/mod.rs

Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>

* allow obtaining IDXGISwapChain3 directly

---------

Co-authored-by: Marc Pabst <mail@xxxxxxx>
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
Co-authored-by: Marc Pabst <“marcpabst@users.noreply.github.com”>
2025-03-31 20:15:35 -04:00
teoxoy
2ab3b6da8d guarantee DownlevelFlags::COMPUTE_SHADERS when DownlevelFlags::INDIRECT_EXECUTION is enabled 2025-03-26 18:26:31 +00:00
Bruce Mitchener
b7e7d7ce7a Fix clippy::manual_contains lints (#7384) 2025-03-20 21:55:52 -04:00
Connor Fitzgerald
4687973c9a Use bytemuck instead of slice::from_raw_parts for transmutes (#7376) 2025-03-19 22:05:21 -04:00
Christopher Fleetwood
c6286791fe feat: implement F16 support in shaders (#5701)
Co-authored-by: FL33TW00D <fleetwoodpersonal@gmail.com>
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
Co-authored-by: ErichDonGubler <erichdongubler@gmail.com>
2025-03-19 16:26:50 +00:00
SupaMaggie70Incorporated
e8ce3ae973 Add mesh shader stages to wgt::ShaderStages and naga::ShaderStage (#7292)
* Initial changes

* Fixed metal backend in wgpu-hal, ran tests
2025-03-15 05:34:20 +00:00
Vecvec
a13f0a03ef [vulkan] Automatically add linux buffer sharing extensions if available. (#7317)
* Automatically add linux sharing extensions to the requirements if supported.

* Correct comment.
2025-03-12 15:27:34 +00:00
Teodor Tanasoaia
9021d93b9f [d3d12] fix size of buffer (#7310)
The buffer size was being aligned to `D3D12_CONSTANT_BUFFER_DATA_PLACEMENT_ALIGNMENT` (256). The buffer size value is used as the binding size (when none is specified), causing `arrayLength()` to return values larger than what users of the API specified for the buffer size.
2025-03-10 17:05:50 +01:00
Matilde Morrone
12ce4e2861 Better handling of drm extensions (#7295) 2025-03-07 13:50:32 -05:00
Erich Gubler
61eda14256 fix(android,vulkan): forcibly convert to u64 in *devid checks 2025-03-06 22:33:08 -05:00
Erich Gubler
6f65d3db2a refactor(vulkan): use slice::contains for st_rdv comparison 2025-03-06 22:33:08 -05:00
SupaMaggie70Incorporated
20bad46d40 Add multiview mesh shaders to wgpu-hal (#7278) 2025-03-06 12:25:55 -05:00