Commit Graph

612 Commits

Author SHA1 Message Date
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
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
Thaddeus Crews 7dae5da198 Style: Convert *.gen.inc to *.gen.h 2026-02-05 19:47:56 -06:00
Lukas Tenbrink c5df0cb82b Don't right-align escaped newlines, e.g. for #define. This has previously led to long diffs in the commit history. 2026-02-04 19:31:28 +01:00
Rémi Verschelde 5b75d2539b Merge pull request #115639 from Ivorforce/gdvirtual-includes
Minimize includes from `gdvirtual.gen.inc` / `script_instance.h`, to improve compile time
2026-02-02 10:10:34 +01:00
Rémi Verschelde 63c78e684b Merge pull request #114165 from KoBeWi/static
Use actual class names in resource type hints
2026-02-02 10:10:24 +01:00
Rémi Verschelde c9eb8499ca Merge pull request #113096 from stillmant/enable-headlocking-and-individual-eye-rendering-for-composition-layers
Expose eye visibility controls for composition layers and set XrSpace based on parent type
2026-01-31 22:50:27 +01:00
stillmant 77ecf91008 Expose XrSpace selection and eye visibility controls for composition layers 2026-01-30 21:32:17 -08:00
Lukas Tenbrink f3c7d1d2bf Minimize includes from gdvirtual.gen.inc / script_instance.h, to improve compile time. 2026-01-30 17:47:13 +01:00
Thaddeus Crews e36d624a30 Merge pull request #115607 from Ivorforce/sunless-sky
Remove `sky.h` include from `environment.h`, to speed up compile time.
2026-01-30 09:32:14 -06:00
Thaddeus Crews 970565aafc Merge pull request #115603 from dsnopek/openxr-frame-synthesis-dont-register-projection-views-unless-enabled
OpenXR: Don't add frame synthesis as projection views extension unless enabled
2026-01-30 09:32:11 -06:00
Lukas Tenbrink 1d840aae3a Remove sky.h include from environment.h, to speed up compile time. 2026-01-30 00:05:55 +01:00
David Snopek 9c82d5d8fc OpenXR: Don't add frame synthethesis as projection views extension unless enabled 2026-01-29 16:20:52 -06:00
David Snopek deb2e64ef5 OpenXR: Better action map defaults for hand interaction profile 2026-01-29 15:51:37 -06:00