Commit Graph

191 Commits

Author SHA1 Message Date
Skyth b394ca0a7a Upgrade D3D12MA. 2026-02-26 14:25:45 +03:00
Thaddeus Crews 4d4f7291ed Merge pull request #116355 from blueskythlikesclouds/get-total-memory-optimization
Optimize `get_total_memory_used` in D3D12 and Vulkan.
2026-02-18 12:04:33 -06:00
Lukas Tenbrink 0ea5ece984 Move binary math functions to Math namespace in math_funcs_binary header. 2026-02-17 12:24:35 +01:00
Skyth 8ed849e416 Optimize get_total_memory_used in D3D12 and Vulkan. 2026-02-16 17:13:06 +03:00
Thaddeus Crews 2d5b30c476 Merge pull request #115963 from blueskythlikesclouds/reduce-includes-to-rd
Reduce includes to rendering device.
2026-02-12 08:19:16 -06:00
Josh Jones b8389cc76b Support output to HDR monitors
Co-authored-by: Alvin Wong <alvinhochun@gmail.com>
Co-authored-by: Allen Pestaluky <allenpestaluky@gmail.com>
2026-02-11 22:13:26 -07:00
Skyth 8fbf2f1e14 Reduce includes to rendering device.
Co-authored-by: Lukas Tenbrink <lukas.tenbrink@gmail.com>
2026-02-10 16:58:50 +03:00
Skyth 2bd91c6646 Handle nearest filtering modes in D3D12 driver when anisotropy is enabled. 2026-01-28 13:18:18 +03:00
Thaddeus Crews 04a2ae7ed4 Merge pull request #99119 from Fahien/fahien/raytracing-base
Vulkan raytracing plumbing
2026-01-27 15:18:24 -06:00
Antonio Caggiano 27e4f24800 raytracing: Initial Vulkan support
- Vulkan implementations in `RenderingDeviceDriverVulkan`.
- Raytracing instruction list in `RenderingDeviceGraph`.
- Functions to create acceleration structures and raytracing pipelines
  in `RenderingDevice`.
- Raygen, Miss, and ClosestHit shader stages support.
- GDScript bindings.
- Update classes documentation.
- Unimplemented placeholders for Metal and D3D12.
- Build acceleration structure command.
- Expose a shader preprocessor define.
- Align build scratch address.
- Create STB after creating the pipeline.
- Separate acceleration structure barriers.
- Use transforms in TLAS instances.
- AnyHit and Intersection stages.
- Optionally set acceleration structure build input buffer usage.
- Introduce instances buffer.
- Move scratch buffers to RenderingDevice.
- Rename AccelerationStructureGeometryBits.
- Use regular buffer creation and free routines for scratch buffer.
- Store trackers in acceleration structures.
- Bump Shader SPIR-V version to 1.4
- Add Position attribute location in blas_create.
- Encapsulate MoltenVK check in preprocessor macro.
- Split SUPPORTS_RAYTRACING for pipeline and query.
2026-01-27 16:17:45 +01:00
Thaddeus Crews 0c7bb27bcd Merge pull request #114076 from blueskythlikesclouds/d3d12-reduce-unnecessary-calls
Reduce unnecessary calls in D3D12 driver.
2026-01-26 15:01:42 -06:00
Rémi Verschelde 2b8be909ed Merge pull request #114645 from blueskythlikesclouds/fix-dxil-view-instancing-workaround
Fix DXIL view instancing workaround not getting applied correctly.
2026-01-07 01:42:12 +01:00
Rémi Verschelde 4757542c31 Merge pull request #114146 from blueskythlikesclouds/d3d12-discard-state-fix
Fix incorrect resource state when discarding MSAA textures in D3D12.
2026-01-06 10:59:49 +01:00
Rémi Verschelde bc6f6a6358 Merge pull request #113842 from blueskythlikesclouds/rd-depth-clear-on-first-use
Clear depth stencil textures on first use if the RDD requires it.
2026-01-06 10:59:42 +01:00
Skyth 33475724e5 Fix DXIL view instancing workaround not getting applied correctly. 2026-01-06 12:39:35 +03:00
Skyth e631fce422 Remove amplification & mesh shader deny flags on D3D12. 2026-01-05 11:16:20 +03:00
Skyth 4f7146f59b Fix incorrect resource state when discarding MSAA textures in D3D12. 2025-12-18 14:07:14 +03:00
Pāvels Nadtočajevs 2c68c80b19 Add Mesa version check. 2025-12-18 11:31:52 +02:00
Skyth 0e2263caa5 Reduce unnecessary calls in D3D12 driver. 2025-12-16 16:28:45 +03:00
Skyth 83af078761 Clear depth stencil textures on first use if the RDD requires it. 2025-12-15 18:34:43 +03:00
Skyth 5c69e70f16 Fix D3D12 device not getting created with Agility SDK. 2025-12-15 18:32:08 +03:00
Thaddeus Crews a6f313c755 Merge pull request #113618 from blueskythlikesclouds/spirv-to-dxil-memory-alloc-opt
Update Mesa NIR to 25.3.1 + Make each SPIR-V -> DXIL conversion thread allocate from its own heap
2025-12-12 14:15:09 -06:00
Skyth 62335d1ac7 Make each SPIR-V -> DXIL conversion thread allocate from its own heap. 2025-12-12 17:05:39 +03:00
Skyth d28758e166 Fix SYNC_ALL bit getting masked out on D3D12. 2025-12-11 17:04:07 +03:00
Rémi Verschelde 4b448fdd19 Merge pull request #113585 from brycehutchings/fix_d3d12_array_multisample
Fix bad D3D12 SRV breaking MSAA with OpenXR
2025-12-05 09:38:38 +01:00
Bryce Hutchings ed4bc24f9b Fix bad D3D12 SRV breaking MSAA with OpenXR 2025-12-04 12:00:13 -08:00
Skyth a8d3ecec13 Refactor descriptor heaps in D3D12 driver. 2025-12-03 11:02:41 +03:00
Thaddeus Crews 0289309270 Merge pull request #112191 from blueskythlikesclouds/point-size-emulation-forward-shader
Implement point size emulation in the forward shader for D3D12.
2025-12-02 11:52:08 -06:00
Thaddeus Crews b93d82a2b3 SCons: Cleanup hardcoded D3D12 driver workarounds 2025-12-02 10:56:50 -06:00
Skyth ba556ebe03 Implement point size emulation in the forward shader for D3D12. 2025-12-02 17:36:31 +03:00
Rémi Verschelde 2e4d5c261f Merge pull request #113277 from blueskythlikesclouds/d3d12-framebuffer-clear-fix
Fix framebuffers getting cleared multiple times on D3D12.
2025-12-02 14:16:50 +01:00
Archie Healy 31b18a2d6c D3D12: Convert non-critical startup warnings to verbose prints 2025-12-01 11:18:09 +01:00
Skyth 3e997f5edb Fix framebuffers getting cleared multiple times on D3D12. 2025-11-28 15:59:14 +03:00
Skyth 56db3aed47 Refactor rendering driver copy APIs to fix D3D12 issues.
Co-authored-by: Stuart Carnie <stuart.carnie@gmail.com>
2025-11-26 12:00:02 +03:00
Dario d17ea061bc Move D3D12's automatic texture clears to RenderingDevice. 2025-11-25 09:34:38 -03:00
Skyth ec7de6b82b Fix all D3D12 object memory leaks. 2025-11-24 16:45:47 +03:00
Thaddeus Crews ccf414ecb4 Merge pull request #112989 from blueskythlikesclouds/typed-uav-load-additional-check
Check for Typed UAV Load Additional Formats capability when creating D3D12 device.
2025-11-21 14:46:53 -06:00
Thaddeus Crews 8480b62202 Merge pull request #113000 from brycehutchings/d3d12_descriptor_heap_pool_corruption_fix
Fix corruption of D3D12 CPU descriptor heap free blocks
2025-11-21 14:46:47 -06:00
Bryce Hutchings 17703ab0fb Fix corruption of cpu descriptor heap free blocks 2025-11-20 15:51:12 -08:00
Skyth 2331470128 Check for Typed UAV Load Additional Formats capability when creating D3D12 device. 2025-11-20 19:26:00 +03:00
Skyth 92d3fc302a Fix buffer creation on old D3D12 runtimes. 2025-11-18 15:33:30 +03:00
Stuart Carnie 90c0e6acca 2D: Switch to VBOs for instance data
- Add support for vertex bindings and UMA vertex buffers in D3D12.
- Simplify 2D instance params and move more into per-batch data to save
  bandwidth

Co-authored-by: Skyth <19259897+blueskythlikesclouds@users.noreply.github.com>
Co-authored-by: Clay John <claynjohn@gmail.com>
Co-authored-by: A Thousand Ships <96648715+athousandships@users.noreply.github.com>
2025-11-15 06:25:49 +11:00
Pāvels Nadtočajevs 4dfd4ed6e7 [D3D12] Fallback to HWND if DComp init failed. 2025-11-07 08:46:26 +02:00
Thaddeus Crews f3c30408d4 Merge pull request #112344 from blueskythlikesclouds/d3d12-transparent-background-fix
Create HWND swap chain when window transparency is disabled on D3D12.
2025-11-04 16:32:48 -06:00
Skyth 4cc5177f6b Create HWND swap chain when window transparency is disabled on D3D12. 2025-11-03 17:36:55 +03:00
Skyth 8895dfa56c Greatly reduce shader conversion time & fix spec constant bitmasking on D3D12. 2025-11-03 12:14:57 +03:00
Skyth d4aa3e322d Set DONT_PREFER_SMALL_BUFFERS_COMMITTED when initializing D3D12MA. 2025-10-29 15:02:45 +03:00
Thaddeus Crews 093f176362 Merge pull request #111988 from blueskythlikesclouds/d3d12-resolve-barrier-fix
Insert barriers between subpasses when using enhanced barriers on D3D12.
2025-10-28 12:19:30 -05:00
Skyth 13ada4a565 Insert barriers between subpasses when using enhanced barriers on D3D12. 2025-10-28 10:59:41 +03:00
Stuart Carnie 97c17aedc7 Metal: Stable argument buffers; GPU rendering crashes; visionOS exports
Supersedes #110683
2025-10-28 08:45:26 +11:00