Commit graph

156 commits

Author SHA1 Message Date
A Thousand Ships
c23bd8b143 Ensure OpenXR classes are declared properly
Co-authored-by: Bastiaan Olij <mux213@gmail.com>
2023-08-28 09:37:04 +02:00
Rémi Verschelde
8a02cd0883
Merge pull request #80419 from Faolan-Rad/fix-multi_actionsets
Properly load multiple action sets in XR
2023-08-18 09:30:52 +02:00
Rémi Verschelde
3907e53ff6
SCons: Disable C++ exception handling
Upon investigating the extremely slow MSVC build times in #80513, I noticed
that while Godot policy is to never use exceptions, we weren't enforcing it
with compiler flags, and thus still included exception handling code and
stack unwinding.

This is wasteful on multiple aspects:

- Binary size: Around 20% binary size reduction with exceptions disabled
  for both MSVC and GCC binaries.
- Compile time:
  * More than 50% build time reduction with MSVC.
  * 10% to 25% build time reduction with GCC + LTO.
- Performance: Possibly, needs to be benchmarked.

Since users may want to re-enable exceptions in their own thirdparty code
or the libraries they compile with Godot, this behavior can be toggled with
the `disable_exceptions` SCons option, which defaults to true.
2023-08-16 10:23:34 +02:00
Gabor Koncz
61455ff87e Fix casts of XR handles in OpenXRExtensionWrapperExtension
On 32-bit systems, XR handles are defined as uint64_t, so conversion from XR handles to uint64_t requires C-style casts.
2023-08-15 14:55:19 +02:00
Faolan
a60cf6ed6c Properly load multiple action sets in XR 2023-08-09 21:40:16 -04:00
Rémi Verschelde
faaf27f284
Fix various typos with codespell
Also includes typo fixes from #79993, #80068, #80276, and #80303.

Co-authored-by: betalars <contact@betalars.de>
Co-authored-by: spaceyjase <429978+spaceyjase@users.noreply.github.com>
Co-authored-by: Swarkin <102416174+Swarkin@users.noreply.github.com>
Co-authored-by: Raul Santos <raulsntos@gmail.com>
2023-08-07 13:09:47 +02:00
Yuri Sizov
37c3e2e55b Merge pull request #68259 from konczg/openxr_extension_wrapper_gdextension
Add GDExtension support for OpenXR extension wrappers
2023-07-27 15:22:22 +02:00
Gabor Koncz
d600e6eb1b Add GDExtension support for OpenXR extension wrappers
This commit adds the classes OpenXRExtensionWrapperExtension and OpenXRAPIExtension
that can be used in GDExtensions to define OpenXR extension wrappers.
It modifies extension wrapper registration so that they can be registered
before OpenXRAPI instantiation (e.g. in core level initialization of GDExtensions).

Developed by Migeran (https://migeran.com)
2023-07-26 10:27:14 +02:00
Bastiaan Olij
a9c8feeba0 Compile OpenXR into MacOS build 2023-07-19 00:02:47 +10:00
Yuri Sizov
52784188bf
Merge pull request #78817 from BastiaanOlij/fix_startup_issue_hand_tracking
Fix issue with accessing hand tracking without timing info
2023-07-17 09:59:51 +02:00
Yuri Sizov
661c3954a6 Merge pull request #73443 from akien-mga/unbundle-openxr
Allow unbundling OpenXR (for Linux distros)
2023-07-12 17:15:25 +02:00
Rémi Verschelde
81064cc239
Doctool: Remove version attribute from XML header
We don't use that info for anything, and it generates unnecessary diffs
every time we bump the minor version (and CI failures if we forget to
sync some files from opt-in modules (mono, text_server_fb).
2023-07-06 10:08:21 +02:00
Rémi Verschelde
346f1ab86b
Bump version to 4.2-dev
Keep on waitin'
2023-07-05 22:07:03 +02:00
Bastiaan Olij
72bd997fe8 Fix issue with accessing hand tracking without timing info 2023-06-29 10:05:39 +10:00
Rémi Verschelde
fa7f8e34f2
Merge pull request #78135 from BastiaanOlij/fix_openxr_passthrough
Fix OpenXR Passthrough mode
2023-06-23 11:59:16 +02:00
Bastiaan Olij
2bc85f9ac6 Fix incorrect depth buffer option in OpenXR 2023-06-22 19:03:08 +10:00
Rémi Verschelde
34a07b81ae
Allow unbundling OpenXR (for Linux distros)
Copy XrMatrix4x4f_CreateProjectionFov to our OpenXRUtil, instead of relying
on a private header.
2023-06-16 16:25:04 +02:00
Rémi Verschelde
25b2f1780a
Style: Harmonize header includes in modules
This applies our existing style guide, and adds a new rule to that style
guide for modular components such as platform ports and modules:

Includes from the platform port or module ("local" includes) should be listed
first in their own block using relative paths, before Godot's "core" includes
which use "absolute" (project folder relative) paths, and finally thirdparty
includes.

Includes in `#ifdef`s come after their relevant section, i.e. the overall
structure is:

- Local includes
  * Conditional local includes
- Core includes
  * Conditional core includes
- Thirdparty includes
  * Conditional thirdparty includes
2023-06-15 14:35:45 +02:00
Bastiaan Olij
e6e27f8be4 Fix OpenXR Passthrough mode 2023-06-12 21:29:38 +10:00
Rémi Verschelde
00215ec904
Merge pull request #74930 from BastiaanOlij/fix_action_map_entries
Fix incorrect HTC action map entries
2023-05-08 12:20:17 +02:00
Rémi Verschelde
e1075e9c7c
Fix various typos with codespell
Also includes the grammar fix from #76206.

Co-authored-by: Peter Anderson <BWPanda@users.noreply.github.com>
2023-04-26 13:57:09 +02:00
Danil Alexeev
36bedd341a
Fix misuses of error macros 2023-04-18 10:20:48 +03:00
Rémi Verschelde
c5d9470c7c
Merge pull request #75765 from YuriSizov/editor-node-optimize-includes
Improve includes of `EditorNode` (and everything else)
2023-04-11 19:40:24 +02:00
Rémi Verschelde
1eec25acf3
Merge pull request #73558 from Malcolmnixon/render-target-size-multiplier
Added render target size multiplier option
2023-04-11 19:40:02 +02:00
Yuri Sizov
4154039832 Improve includes of EditorNode (and everything else)
Also start organizing editor-specific GUI components
into a dedicated folder, `editor/gui`.
Also move `editor_file_server` next to the rest of debugger classes.
2023-04-07 18:59:49 +02:00
Yuri Sizov
e4eac1c734
Merge pull request #74928 from BastiaanOlij/fix_typo_pose_orientation
Fix typo in OpenXR pose orientation check
2023-03-29 16:24:12 +02:00
Yuri Sizov
d20c520d96
Merge pull request #74848 from BastiaanOlij/add_xr_system_info
Add a get_system_info method to XRInterface
2023-03-25 15:07:51 +01:00
Yuri Sizov
dd8841a8ec
Merge pull request #74892 from BastiaanOlij/fix_hw_srgb_conversion
XR: When an sRGB target is used, check hardware sRGB conversion
2023-03-16 11:59:50 +01:00
Bastiaan Olij
a1a52c5ba1 XR: When an sRGB target is used, check hardware sRGB conversion 2023-03-16 17:20:51 +11:00
Yuri Sizov
c981a305a5
Merge pull request #73144 from chutchinson/bug/openxr-init-alert-dialog
Replaced OpenXR operating system alert dialog with a warning log message
2023-03-15 14:07:05 +01:00
Bastiaan Olij
e15358dc67 Fix incorrect HTC action map entries 2023-03-15 14:11:13 +11:00
Bastiaan Olij
cdd9de28a8 Fix typo in OpenXR pose orientation check 2023-03-15 13:40:44 +11:00
Bastiaan Olij
e31c2e4277 Add a get_system_info method to XRInterface 2023-03-15 13:11:48 +11:00
Zac Luzader
d3b26b3261 OpenXR: Enable access to the Valve Index grip force sensing 2023-03-12 07:55:25 -06:00
Haoyu Qiu
03fcac3aa5 Fix various typos in the classref 2023-03-09 14:56:23 +08:00
Rémi Verschelde
1c1524a651
Bump version to 4.1-dev
Can't stop, won't stop, they said, huh?
2023-03-01 01:44:37 +01:00
Malcolm Nixon
d91e75b6f7 Added render target size multiplier option.
Fix formatting
2023-02-18 10:58:06 -05:00
Chris Hutchinson
cb8e919243 Replaced operating system alert dialog with a warning log message,
toggled by a project setting.
Fixes #73141
2023-02-13 18:42:43 -05:00
Rémi Verschelde
8ef01ee5df
Merge pull request #72604 from rbessems/rbessems/env_blend_mode
Add XR Environment Blend Mode Support
2023-02-03 06:24:30 +01:00
Ron Bessems
d7d171c45c Add XR Environment Blend Mode Support 2023-02-02 12:18:42 -05:00
Ron Bessems
e78088cc3a Add Magic Leap 2 OpenXR Interaction Profile 2023-02-02 06:45:43 -05:00
Bastiaan Olij
d3ec17e9ae Added methods to OpenXR interface to set which action sets are active 2023-01-31 10:20:19 +11:00
Rémi Verschelde
5b1df48c6c
Convert en_GB spelling to en_US with codespell 2023-01-23 11:02:20 +01:00
Rémi Verschelde
822edfdb40
Merge pull request #71708 from dsnopek/openxr-opengl-steamvr-2
Get OpenXR with OpenGL working on SteamVR
2023-01-20 08:50:10 +01:00
David Snopek
481369760b Add depth and color formats to get OpenXR with OpenGL working on SteamVR 2023-01-19 21:22:34 -06:00
Rémi Verschelde
bcb57b42f6
Merge pull request #71450 from BastiaanOlij/fix_openxr_init_failure
Fixes issue where failed start of OpenXR causes issues
2023-01-19 10:08:50 +01:00
kobewi
b58111588a Add EditorUndoRedoManager singleton 2023-01-16 01:11:52 +01:00
Bastiaan Olij
909ec66ca3 Fixes issue where failed start of OpenXR causes issues 2023-01-15 16:57:42 +11:00
Rémi Verschelde
dd1b3ff089
Merge pull request #71224 from rsjtdrjgfuzkfg/openxr-opengl
OpenXR: Do not use SRGB swapchains with OpenGL
2023-01-12 09:07:46 +01:00
rsjtdrjgfuzkfg
17a957e214 OpenXR: Do not use SRGB swapchains with OpenGL
This commit removes SRGB swapchain options for use with OpenGL, to avoid
the hardware doing an additional SRGB conversion and thus causing colors
to differ from other rendering paths.
2023-01-11 15:47:53 +01:00