teoxoy
cc406f919e
[vk] use destructuring for cache keys
...
If fields are unused, they shouldn't be part of the cache key.
2025-04-25 12:39:45 +02:00
teoxoy
d14849df48
[vk] add support for rendering to slices of 3D textures
2025-04-25 12:39:45 +02:00
teoxoy
f728a92366
[vk] add TextureView::raw_format
2025-04-25 12:39:45 +02:00
teoxoy
2d73eb3967
[vk] move framebuffer cache into CommandEncoder
...
This makes texture view destruction cheap since users of wgpu-hal are required to keep resources referenced by encoders alive for at least as long as the encoder is alive.
This is also a prerequisite to implement rendering to slices of 3D textures (by creating temporary texture views).
On the other hand the cache won't be as effective but that is probably ok, we can reevaluate the implementation if it turns out to be a problem.
2025-04-25 12:39:45 +02:00
teoxoy
da8ff2a0d5
[vk] fix raw_pass not being part of FramebufferKey
2025-04-25 12:39:45 +02:00
teoxoy
d4b46d6099
[vk] remove usage of imageless framebuffers
...
Imageless framebuffers are not needed, we know which views will be attached to the render pass already. Even if we wanted to more aggressively cache imageless framebuffers that wouldn't be possible since they still require specifiying view usage, texture usage and view formats.
Removing usage of imageless framebuffers simplifies the code substantially.
2025-04-25 12:39:45 +02:00
teoxoy
2bb8325f85
[vk] require VK_KHR_maintenance1 (in preparation for creating 2D texture views from 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
15477b84a9
[wgpu-hal] make begin_render_pass fallible
2025-04-25 12:39:45 +02:00
teoxoy
5ecc48d494
add RenderPassColorAttachment::depth_slice
2025-04-25 12:39:45 +02:00
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