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
Logan Detrick
c67736e6a7
Replace TextEdit with EditorSpinSlider for the Action Set's priority
2025-04-17 12:52:51 -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
Thaddeus Crews
ad40939b6f
Core: Replace C math headers with C++ equivalents
...
- Minor restructuring to ensure `math_funcs.h` is the central point for math functions
2025-04-16 15:49:02 -05:00
Fredia Huya-Kouadio
b28e95c8b0
Request the XR_KHR_LOADER_INIT_EXTENSION_NAME extension
2025-04-15 17:51:57 -07:00
Thaddeus Crews
0d267e7b1e
Core: Add dedicated BitField template
2025-04-11 11:53:26 -05:00
Thaddeus Crews
9b3e445e47
Merge pull request #105073 from Mickeon/documentation-miscellaneous-oddities-part-4
...
Fix miscellaneous oddities around the class reference (part 4)
2025-04-11 09:51:11 -05:00
Thaddeus Crews
94282d88f9
Core: Use Math namespace for constants
2025-04-10 16:29:30 -05:00
Micky
e935fb1ee2
Fix miscellaneous oddities around the class reference (part 4)
2025-04-10 17:56:58 +02:00
Pāvels Nadtočajevs
302fa831cc
Initial editor accessibility.
2025-04-08 20:25:48 +03:00
Thaddeus Crews
13eee43437
Merge pull request #105072 from lodetrick/action-map-editor-scale
...
Fix OpenXR Action Map GUI not scaling according to Editor Scale
2025-04-07 08:43:34 -05:00
Thaddeus Crews
0fbb22c095
Merge pull request #104432 from YYF233333/dict_iter2
...
Do not iterate `Dictionary` with `Dictionary::keys()`
2025-04-07 08:43:33 -05:00
Logan Detrick
0ead587fa2
Fixes Editor Scales in OpenXR GUI
2025-04-05 13:48:52 -07:00
Micky
2ed4586076
Fix differences between OpenXRInterface and XRHandTracker docs
2025-04-05 13:07:52 +02:00
Yufeng Ying
8ae16699c5
Do not use Dictionary::keys() for Dictionary iteration.
2025-04-05 18:42:13 +08:00
Thaddeus Crews
1f56d96cf2
Merge pull request #104893 from Repiteo/scons/external-includes-alt
...
SCons: Add `CPPEXTPATH` for external includes
2025-04-02 07:48:03 -05:00
Thaddeus Crews
f25fc34439
SCons: Add CPPEXTPATH for external includes
2025-04-02 07:29:08 -05:00
Yufeng Ying
4f4031a675
Replace size() == 0 with is_empty().
2025-04-02 19:18:43 +08: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
be57309c30
Merge pull request #104658 from m4gr3d/fix_composition_layer_setup
...
Ensure the composition layer is registered when the layer viewport is updated
2025-03-28 17:30:40 +01:00
Rémi Verschelde
9ecc59f172
Merge pull request #104465 from lodetrick/action-map-tooltips
...
Add tooltips to OpenXR Action Map UI
2025-03-28 17:30:19 +01: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
Rémi Verschelde
46a5940950
Merge pull request #103643 from dsnopek/openxr-alternative-reference-spaces
...
OpenXR: Support alternative reference spaces from extensions
2025-03-28 14:32:00 +01:00
Mauricio Narvaez
15b9c15517
Ensure the composition layer is registered when the layer viewport is updated.
2025-03-26 14:39:40 -07: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
Mauricio Narvaez
18fd37d4a8
Enable composition layer fallback in non-editor desktop player
2025-03-21 21:51:25 -07:00
Logan Detrick
ba88732910
Add tooltips to OpenXR Action Map UI
2025-03-21 18:08:36 -07:00
Rémi Verschelde
3e3cf292bd
Merge pull request #104377 from Mickeon/translation-slight-duplicates
...
Tweak a few miscellaneous localization strings
2025-03-21 13:04:08 +01:00
David Snopek
9d3c950b5d
OpenXR: Clean-up OpenXRExtensionWrapper by removing multiple inheritance and deprecating OpenXRExtensionWrapperExtension
2025-03-20 07:19:55 -05:00
Micky
5d794f83ed
Tweak a few miscellaneous localization strings
2025-03-20 13:12:44 +01:00
Bastiaan Olij
d6312188d7
Adding support for the OpenXR futures extension
2025-03-18 18:59:36 +11:00
Thaddeus Crews
1f6426066e
Merge pull request #98768 from Repiteo/core/constexpr-math-operators
...
Core: Add `constexpr` constructors/operators to math structs
2025-03-17 16:03:20 -05:00
kobewi
6f25babd6b
Remove empty constructors and destructors from editor/
2025-03-17 21:20:02 +01: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
David Snopek
393465ce92
Register editor classes normally, rather than via ClassDB::set_current_api()
2025-03-13 15:17:45 -05:00
Thaddeus Crews
c1b7865ae9
Merge pull request #103557 from aaronfranke/godot-version-defines
...
Rename version defines to `GODOT_VERSION_*` to match GDExtension godot-cpp
2025-03-13 08:57:42 -05:00
Rémi Verschelde
c2ba0a8646
Merge pull request #103869 from Bromeon/bugfix/openxr-editor-apis
...
Correctly register editor-only `OpenXR*` classes' `api_type`
2025-03-12 23:17:44 +01:00
Thaddeus Crews
df65b341ad
Merge pull request #101999 from devloglogan/swapchain-update-state
...
Implement OpenXR FB swapchain update extensions
2025-03-12 13:17:14 -05:00
Aaron Franke
97ee05e9b7
Rename version defines to GODOT_VERSION_* to match GDExtension godot-cpp
2025-03-12 11:11:38 -07:00
devloglogan
352859c29e
Implement XR_EXT_performance_settings OpenXR extension
2025-03-12 10:50:43 -05:00
devloglogan
251ae9c138
Implement OpenXR FB swapchain update extensions
2025-03-12 09:49:17 -05:00
Thaddeus Crews
9aae1fe61e
Merge pull request #102869 from dsnopek/openxr-system-info
...
OpenXR: Expose more system info from `XrSystemProperties`
2025-03-11 14:00:52 -05:00
Thaddeus Crews
4af8989e38
Merge pull request #103973 from dsnopek/openxr-opengl-version-warning
...
OpenXR: Fix OpenGL version warning when using GLES
2025-03-11 14:00:37 -05:00
David Snopek
6353386241
OpenXR: Fix OpenGL version warning when using GLES
2025-03-11 10:32:22 -05:00
Jan Haller
99071539e0
Register editor-only OpenXR* classes as api_type = "editor" instead of "core"
2025-03-09 18:13:40 +01:00
Thaddeus Crews
713a1ba554
Style: Standardize Obj-C #import syntax
2025-03-08 09:28:34 -06:00
Thaddeus Crews
324512e11c
Style: Replace header guards with #pragma once
2025-03-07 17:33:47 -06:00
Thaddeus Crews
67d4a245d8
Merge pull request #103267 from YeldhamDev/reality_got_too_extended
...
Allow to compile the engine without XR support
2025-03-07 15:12:54 -06: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