1
0
mirror of https://github.com/godotengine/godot.git synced 2025-12-01 16:38:31 +00:00
Commit Graph

465 Commits

Author SHA1 Message Date
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