Commit graph

136 commits

Author SHA1 Message Date
Bastiaan Olij
eeac57075c OpenXR: Implement spatial entities extension 2025-09-27 12:23:33 +10:00
David Snopek
f9c76d026d OpenXR: Fix errors reported by XrApiLayer_core_validation 2025-08-25 15:54:54 -05:00
David Snopek
2687b199c1 OpenXR: Work around bug with Meta runtime on 1.0.49 2025-07-22 09:19:35 -05:00
Thaddeus Crews
c7d2ea4f68
Merge pull request #107388 from BastiaanOlij/openxr_render_models_ext
OpenXR: Add support for render models extension
2025-06-20 08:38:57 -05:00
Bastiaan Olij
b65b367a6f OpenXR: Adding support for the render model extension 2025-06-19 19:14:49 +10:00
Bastiaan Olij
df06aa8392 OpenXR: Add access to session state and change interaction profile update. 2025-06-18 17:37:18 +10:00
David Snopek
0fd0feb772 Minor rendering and XR changes to allow Meta enivornment depth API to work entirely from GDExtension 2025-05-27 13:06:31 -05:00
Thaddeus Crews
2ffd5a3913
Merge pull request #104738 from YYF233333/cleanup_rid_owner
Use `LocalVector` in `RID_Owner::get_owned_list`
2025-04-22 10:44:25 -05:00
Yyf2333
1a70a06a43 Change RID_Owner::get_owned_list. 2025-04-21 01:04:27 +08:00
Matthieu Bucchianeri
e3c215fc13 Add support for Direct3D 12 OpenXR backend.
This change adds support for running XR projects built with the `d3d12`
rendering backend. The XR backend hooks into the setup for the D3D12
render context in order to use the desired device and command queue for
submission to OpenXR. The XR backend takes care of importing the D3D12
swapchain images into the render context.

As part of this process, three issues are addressed:
- Ensuring that resource state transitions are only done on textures
  that require them.
- Enabling view instancing in the PSOs for multiview render passes.
- Addressing a bug in the D3D12 runtime where PSO creation may fail
  when front face detection is used.

Please refer to #86283 for additional discussions on the implementation
details.
2025-04-19 20:39:33 -07:00
Thaddeus Crews
98aced4e65
Merge pull request #99768 from dsnopek/openxr-vulkan-foveated-rendering
OpenXR: Use the `XR_FB_foveation_vulkan` extension to get the density map for VRS
2025-04-17 09:14:23 -05:00
David Snopek
79f5a4d9fe OpenXR: Use the XR_FB_foveation_vulkan extension to get the density map for VRS 2025-03-31 07:21:58 -05:00
Rémi Verschelde
3b90bb56ad
Merge pull request #89782 from KoBeWi/stdArrayList
Use initializer list in Arrays
2025-03-28 17:29:40 +01:00
kobewi
75881f8322 Use initializer list in Arrays 2025-03-26 18:38:15 +01:00
David Snopek
3f27351f2b OpenXR: Support alternative reference spaces from extensions
Co-authored-by: Fredia Huya-Kouadio <fhuyakou@gmail.com>
2025-03-24 11:33:30 -05:00
David Snopek
9d3c950b5d OpenXR: Clean-up OpenXRExtensionWrapper by removing multiple inheritance and deprecating OpenXRExtensionWrapperExtension 2025-03-20 07:19:55 -05:00
Thaddeus Crews
ea62170dac
Core: Add constexpr constructors/operators to math structs
• Begin integrating `constexpr` on math tests; use `static_assert` where appropriate
2025-03-17 12:15:31 -05:00
Aaron Franke
97ee05e9b7
Rename version defines to GODOT_VERSION_* to match GDExtension godot-cpp 2025-03-12 11:11:38 -07:00
Thaddeus Crews
d9125ebebe
Merge pull request #101293 from Ivorforce/string-to-pointer-conversion
Remove implicit conversions from `String`, `Char16String` and `CharString` to data pointers.
2025-03-07 15:12:12 -06:00
David Snopek
fd622afb1d OpenXR: Emulated alpha blend mode should override the real blend mode 2025-02-26 17:35:03 -06:00
Lukas Tenbrink
512abc38b2 Remove implicit conversions from String, Char16String and CharString to data pointers. Make conversions to StrRange implicit to aid transition. 2025-01-17 17:31:58 +01:00
devloglogan
c242cef627 Use vectors for OpenXRAPI memory management 2025-01-13 16:10:43 -06:00
Rémi Verschelde
3014eec40d Merge pull request #99407 from devloglogan/rec-resolution
Allow using custom `Rect2i` for rendering with OpenXR
2025-01-10 23:05:46 +01:00
devloglogan
e7f6b7ea0b Allow using custom Rect2i for rendering with OpenXR 2025-01-09 09:46:15 -06:00
Yufeng Ying
33817b186f Remove unused header in drivers and modules.
Co-authored-by: Thaddeus Crews <repiteo@outlook.com>
2024-12-24 00:40:47 +08:00
Thaddeus Crews
d51fae25a7
Merge pull request #98872 from BastiaanOlij/openxr_khr_metal_enable
OpenXR: Add Metal support
2024-12-16 12:09:47 -06:00
Thaddeus Crews
bfc66f0608
Merge pull request #100282 from devloglogan/motion-vectors-openxr
Add renderer motion vectors API for use with OpenXR
2024-12-12 16:13:36 -06:00
Bastiaan Olij
0a61ebdcea OpenXR: Add support for binding modifiers 2024-12-12 09:46:19 +11:00
devloglogan
3deb5884d7 Renderer agnostic motion vector rendering/OpenXR changes 2024-12-10 15:59:17 -06:00
Bastiaan Olij
08ced813a9 OpenXR: Add Metal support 2024-12-10 11:41:59 +11:00
Bastiaan Olij
3de62b8b1b OpenXR: Fix pose recenter signal to be omitted properly 2024-11-13 14:20:06 +11:00
Thaddeus Crews
bb5f390fb9
Style: Apply clang-tidy fixes (superficial)
• `modernize-use-bool-literals`, `modernize-use-nullptr`, and `readability-braces-around-statements`
2024-11-04 12:11:14 -06:00
Adam Scott
0d350e7108
Set clang-format RemoveSemicolon rule to true
- Set clang-format `Standard` rule to `c++20`
2024-10-25 13:49:43 -04:00
Alistair Leslie-Hughes
daa4704c44 openxr: Correct set the Depth swapchain name
Introduced in 08ffa5d89e.
2024-09-21 10:00:08 +10:00
David Snopek
30a63396e5 Fix launching XR apps from the Android editor 2024-09-11 14:31:54 -05:00
Fredia Huya-Kouadio
9dc0543da7 Improve support for XR projects 2024-09-06 00:35:50 -07:00
Bastiaan Olij
08ffa5d89e Add support for the debug utils extension in OpenXR 2024-08-27 12:07:01 +10:00
David Snopek
11dd1f52ae Fix crash when calling OpenXRAPI::get_hand_tracker() and hand-tracking is disabled 2024-08-22 13:03:05 -05:00
Bastiaan Olij
d9ab2c3195 OpenXR: Add support for visibility mask 2024-08-20 10:47:17 +10:00
Bastiaan Olij
1371b35b6e Update OpenXR thirdparty library to 1.1.38, changed OpenXR init to stay on 1.0.x 2024-08-07 13:58:05 +10:00
David Snopek
22a6303fa0 OpenXR: Fix enabling passthrough via environment blend mode in project settings 2024-07-19 19:04:51 -05:00
David Snopek
06e81d9fe4 [OpenXR] Fix LOCAL_FLOOR emulation on HTC Vive XR Elite 2024-06-27 14:12:11 -05:00
Bastiaan Olij
6582be0c50 OpenXR: Fix updating swapchain for foveation 2024-05-20 12:23:56 +10:00
David Snopek
de654d9846 OpenXR: Fix composition layers not having correct play space 2024-05-07 20:49:46 -05:00
A Thousand Ships
955d5affa8
Reduce and prevent unnecessary random-access to List
Random-access access to `List` when iterating is `O(n^2)` (`O(n)` when
accessing a single element)

* Removed subscript operator, in favor of a more explicit `get`
* Added conversion from `Iterator` to `ConstIterator`
* Remade existing operations into other solutions when applicable
2024-05-04 16:08:55 +02:00
Bastiaan Olij
9042ddf19f Improvements to VRS/Foveated rendering 2024-05-03 17:20:30 +10:00
Bastiaan Olij
cbab7dc049 OpenXR: Change timing of xrWaitFrame and add thread safety features to OpenXR 2024-05-01 14:24:41 +10:00
Bastiaan Olij
b67eba8399 OpenXR: apply fix for reverse Z 2024-04-10 10:35:19 +10:00
Bastiaan Olij
c388fe2ba7 OpenXR: Improve swapchain logic and fix swapchain update when render target multiplier is changed. 2024-04-09 16:56:39 +10:00
David Snopek
0f2b804059 Add support for OpenXR composition layers
Co-authored-by: Bastiaan Olij <mux213@gmail.com>
2024-04-04 09:20:23 -05:00