Commit Graph

624 Commits

Author SHA1 Message Date
David Snopek 45d6728eed OpenXR: Fix XR_ERROR_VALIDATION_FAILURE on first frame with frame synthesis on Meta Quest 2026-05-22 09:40:48 -05:00
Thaddeus Crews 0067214c1e Merge pull request #119226 from dsnopek/openxr-foveation-subsampled-fixes
OpenXR: Fix composition layers with Vulkan subsampled images
2026-05-06 10:53:35 -05:00
David Snopek ae8544adcb OpenXR: Fix composition layers with Vulkan subsampled images 2026-05-04 13:52:24 -05:00
Thaddeus Crews 176b795177 Merge pull request #119174 from StarryWorm/remove-classdb-pragmas
Fix pragma includes
2026-05-04 12:40:40 -05:00
Enzo Novoselic 7b82c0fe01 Remove unnecessary class_db.h includes 2026-05-02 13:08:34 -04:00
Mattia Zirpoli cc8d4bb823 Fix missing name refresh on bindings when changing the OpenXR action map 2026-04-29 20:49:02 +02:00
Thaddeus Crews 08b4d30bac Merge pull request #118975 from devloglogan/action-map-update
Update default OpenXR action map
2026-04-29 12:28:45 -05:00
Logan Lang 0c5e59b3f7 Update default OpenXR action map 2026-04-26 12:36:48 -05:00
David Snopek 412dad0155 OpenXR: Fix crash when using XR_EXT_frame_synthesis after Godot 4.7-dev5 2026-04-24 04:58:33 -05:00
dhoverb d72e8691f2 Update spatial entities APIs 2026-04-15 13:43:34 +00:00
Thaddeus Crews c83925eaf0 Merge pull request #117399 from devloglogan/expose-interaction-profile-metadata
Expose `OpenXRInteractionProfileMetadata` singleton
2026-04-10 10:32:16 -05:00
Thaddeus Crews b6995b54a2 Merge pull request #117868 from dsnopek/xr-foveation-settings
OpenXR: Add eye-tracked foveation setting, and enable subsampled images by default
2026-04-01 12:55:12 -05:00
kobewi d62f1c8900 Add type filters to create dialog 2026-03-31 17:17:23 +02:00
David Snopek e4703603b4 OpenXR: Add eye-tracked foveation setting, and enable subsampled images by default 2026-03-26 12:06:23 -05:00
Danil Alexeev 32d1f518fa Improve editor-only class checking 2026-03-25 17:07:39 +03:00
Logan f990050ecf Expose OpenXRInteractionProfileMetadata singleton 2026-03-24 09:36:13 -05:00
Rémi Verschelde 7958080d65 Merge pull request #116220 from dsnopek/foveated-rendering-vulkan-subsampled-image
OpenXR: Allow using Vulkan subsampled images with foveated rendering
2026-03-23 22:34:11 +01:00
Rémi Verschelde 98868393cc Style: Enforce #include validation hook 2026-03-18 10:41:59 +01:00
Rémi Verschelde e33e98a26f Style: Apply clang-format grouping rules 2026-03-17 20:11:01 +01:00
Rémi Verschelde 7795057e4b Misc includes or modernize fixes found via clangd-tidy 2026-03-16 21:38:26 +01:00
Rémi Verschelde 6d309c858e Remove unused includes in modules with clangd-tidy 2026-03-16 16:40:39 +01:00
Rémi Verschelde d9b81615e5 Remove unused includes in platform with clangd-tidy
Handled Linux, Windows, Android, and (partially) Web.
2026-03-14 22:37:05 +01:00
kobewi 9a0c0bf757 Remove redundant _has_main_screen() overrides 2026-03-13 13:10:09 +01:00
Bastiaan Olij 87eafe20ae OpenXR: Add support for XR_KHR_generic_controller 2026-03-10 12:32:10 +11:00
David Snopek 4d218bdeb7 OpenXR: Allow using Vulkan subsampled images with foveated rendered 2026-03-05 11:00:37 -06:00
StarryWorm 3cb2d376f8 Get rid of all unnecessary class_db.h includers 2026-03-04 17:40:05 -05:00
Thaddeus Crews 7438a39a13 Merge pull request #114324 from m4gr3d/support_composition_layers_anywhere_in_tree
Support composition layers anywhere in the tree
2026-03-04 11:20:32 -06:00
Rémi Verschelde eabb9a63d4 Rename callable_method_pointer.h to callable_mp.h and include it explicitly
This allows removing it from `class_db.h`, significantly reducing the amount of files
that include it transitively.

Also includes some include cleanup in `control.h` and `rich_text_label.h` done while
ensure they don't depend on `callable_mp`.
2026-03-04 16:23:23 +01:00
Rémi Verschelde 765362b033 Explicitly include core/config/engine.h where used 2026-03-04 10:17:10 +01:00
Rémi Verschelde f332faf46b Explicitly include core/os/os.h where used 2026-03-04 09:54:10 +01:00
Rémi Verschelde 8c0f175c94 Decouple RenderingServer from as much of the codebase as possible
Notably decouples it from:
- AccessibilityServer
- DisplayServer
- Viewport
- Window
2026-03-03 12:48:07 +01:00
Rémi Verschelde a447ac95ec Move DisplayServer enums and typedefs to DisplayServerEnums
This will allow decoupling `display_server.h` from a number of headers in the
codebase which only require those enums and not all the DisplayServer API.
2026-03-03 12:44:02 +01:00
Thaddeus Crews 39bf77ddd1 OpenXR: Limit Windows includes to COM interface 2026-02-27 15:43:38 -06:00
Fredia Huya-Kouadio b389d580ac Support composition layers anywhere in the tree 2026-02-26 21:54:26 -08:00
Thaddeus Crews e380a41752 Style: Add class_db.h includes explicitly 2026-02-26 15:50:28 -06:00
Rémi Verschelde e3b60a1530 Move RenderingMethod::RenderInfo to RenderingServerTypes
Also move RS::scaling_3d_mode_type to RenderingServerEnums.
2026-02-25 20:17:28 +01:00
Rémi Verschelde f0a448540e Misc dependency improvements for files depending on rendering_server.h
On my machine, this reduces incremental compilation time after an edit of
`rendering_server.h` by 3s.
2026-02-25 20:17:27 +01:00
Rémi Verschelde a3cb56dd38 Decouple RenderingServer from XR/OpenXR headers
Move BlitToScreen to RenderingServerTypes.
2026-02-25 20:17:23 +01:00
Rémi Verschelde f5a290ac46 Move RenderingServer enums to a dedicated RenderingServerEnums (RSE) namespace
A number of headers in the codebase included `rendering_server.h` just for
some enum definitions. This means that any change to `rendering_server.h` or
one of its dependencies would trigger a massive incremental rebuild.

With this change, we decouple a number of classes from `rendering_server.h`,
greatly speeding up incremental rebuilds for that area.

On my machine, this reduces incremental compilation time after an edit of
`rendering_server.h` by 60s (from 2m57s).
2026-02-25 19:43:03 +01:00
Thaddeus Crews 44675a7002 Merge pull request #116529 from eritschlSC/opengl_es_defines
OpenXR: Use Android-independent OpenGL ES compile time checks
2026-02-25 09:27:36 -06:00
Erik Ritschl 9dfa168dc0 OpenXR: Use Android-independent OpenGL ES compile time checks
Godot currently guards several OpenGL ES code paths by checking for
ANDROID_ENABLED. This commit changes them to the more specific
XR_USE_GRAPHICS_API_OPENGL_ES (which is always defined when
ANDROID_ENABLED is defined), making it possible to create custom
non-Android based engine builds using OpenGL ES.
2026-02-20 10:10:39 +01:00
Erik Ritschl ebe5e9e294 OpenXR: Fix OpenGL ES driver checks
The OpenXROpenGLExtension class handles both OpenGL and OpenGL ES
but currently there is no code path to activate the extension when
the "opengl3_es" rendering driver is requested explicitly. A similar
issue exists in OpenXRFBUpdateSwapchainExtension. With this commit
both strings are checked.
2026-02-19 13:14:49 +01:00
Thaddeus Crews 2ae60b4108 Merge pull request #116207 from eritschlSC/projection_layer_extension
OpenXR: Add support for projection layer extensions
2026-02-18 17:28:22 -06:00
Thaddeus Crews d7392aff02 Merge pull request #116244 from eritschlSC/expose-view-config
OpenXR: Expose view information to GDExtension API
2026-02-17 14:04:01 -06:00
David Snopek 3f5c5d969f OpenXR: Fix OpenGL initialization with Monado on X11 2026-02-13 11:58:27 -06:00
Erik Ritschl 3bd8f3ccb6 OpenXR: Expose view information to GDExtension API
View count and XrViewConfigurationType are relevant for various core
OpenXR functions and extensions. This commit makes them accessible
via the GDExtension API.
2026-02-13 10:32:09 +01:00
Erik Ritschl 5d5eb20a91 OpenXR: Add support for projection layer extensions
This commit adds the necessary hooks for OpenXRExtensionWrapper
classes to populate the next chain of the XrCompositionLayerProjection
structure.
2026-02-12 15:48:37 +01: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
Thaddeus Crews 8557916777 Merge pull request #115935 from Repiteo/style/inc-to-h
Style: Convert `*.gen.inc` to `*.gen.h` for ninja
2026-02-06 08:17:55 -06:00
Thaddeus Crews 1877e84ca0 Merge pull request #115605 from dsnopek/openxr-hand-interaction-better-defaults
OpenXR: Better action map defaults for hand interaction profile
2026-02-06 08:17:42 -06:00