Commit Graph

238 Commits

Author SHA1 Message Date
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
David Snopek 3f5c5d969f OpenXR: Fix OpenGL initialization with Monado on X11 2026-02-13 11:58:27 -06: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 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
David Snopek 9c82d5d8fc OpenXR: Don't add frame synthethesis as projection views extension unless enabled 2026-01-29 16:20:52 -06:00
kobewi f7b9703cbd Use actual class names in resource type hints 2026-01-29 21:07:56 +01:00
Ashwin Balasubramaniyan a182e18211 Implement support for XR_EXT_user_presence extension 2026-01-28 21:39:43 +00:00
Bastiaan Olij 34a0ab7de4 OpenXR: change profile name for Valve Frame Controller 2026-01-15 07:52:29 +11:00
Bastiaan Olij 12764858d3 OpenXR: When visibility mask extension does not return a mask, don't create a mesh 2025-12-19 16:02:34 +11:00
Rémi Verschelde 67c579bcef Merge pull request #113713 from Mrfanta-stick/fix-openxr-gltf-dependency
Fix OpenXR build failure when glTF module is disabled
2025-12-12 17:13:05 +01:00
Mrfanta-stick 70727f46fd Fix OpenXR build failure when GLTF module is disabled
Wrap OpenXR render model classes with MODULE_GLTF_ENABLED guards since
they depend on the GLTF module. Include modules_enabled.gen.h
unconditionally to ensure proper module detection across all build
configurations.
2025-12-12 14:01:06 +01:00
Thaddeus Crews 83934a55db Merge pull request #113824 from BastiaanOlij/openxr_use_dpad_constant
OpenXR: Use the DPAD extension constant
2025-12-10 18:10:29 -06:00
Bastiaan Olij a4a2de5a0e OpenXR: use the DPAD extension constant 2025-12-10 10:05:33 +11:00
Bastiaan Olij a2a38102dc Add Steam to the description of the Steam frame controller 2025-12-10 08:53:06 +11:00
Rémi Verschelde 5e3fb0d6c6 Merge pull request #113788 from BastiaanOlij/fix_openxr_android_surface_ext
OpenXR: Only obtain `xrCreateSwapchainAndroidSurfaceKHR` extension if available
2025-12-09 17:18:02 +01:00
Bastiaan Olij 9f4db24ef4 OpenXR: only obtain xrCreateSwapchainAndroidSurfaceKHR pointer if extension is available 2025-12-09 15:57:30 +11:00
Bastiaan Olij 58ae0b5129 OpenXR: Add Valve Frame controller support 2025-12-09 15:06:32 +11:00
Thaddeus Crews 5b527b23d8 Merge pull request #111800 from Repiteo/scons/d3d12-cleanup
SCons: Clean up hardcoded D3D12 driver workarounds
2025-12-02 11:52:07 -06:00
Thaddeus Crews b93d82a2b3 SCons: Cleanup hardcoded D3D12 driver workarounds 2025-12-02 10:56:50 -06:00
David Snopek 59e83a5c14 OpenXR: Fix building with vulkan=no 2025-12-02 10:04:15 -06:00
Rémi Verschelde 1cb4ada316 Merge pull request #112994 from dsnopek/openxr-meta-foveation-eye-tracked-on-meta
OpenXR: Fix Vulkan validation errors and get `XR_META_foveation_eye_tracked` working on Meta Quest devices
2025-11-27 09:55:45 +01:00
David Snopek fce47ac456 OpenXR: Fix Vulkan validation errors and get XR_META_foveation_eye_tracked working on Meta Quest devices 2025-11-26 05:02:22 -06:00
Bastiaan Olij c0bc43d1de Add OpenXR 1.1 support 2025-11-26 10:35:37 +11:00
Thaddeus Crews 2edc43df8e Merge pull request #78598 from BastiaanOlij/resolve_depth_buffer_mobile
Resolve depth buffer in mobile renderer when required
2025-11-20 11:10:48 -06:00
Thaddeus Crews d30ec9aef0 Merge pull request #112888 from dhoverb/meta_foveation_eye_tracked
Implement XR_META_foveation_eye_tracked
2025-11-18 14:00:47 -06:00
dhoverb 53e1ea184a Implement XR_META_foveation_eye_tracked 2025-11-18 14:58:11 +00:00
dhoverb 665238e0fb Implement XR_KHR_android_thread_settings 2025-11-17 22:15:03 +00:00
Bastiaan Olij 21ffbecfa9 Resolve depth buffer in pass if supported by driver 2025-11-17 17:29:38 +11:00
Bastiaan Olij c5aae722ee OpenXR: Add support for frame synthesis 2025-11-13 21:18:31 +11:00
David Snopek ca0eb5da24 OpenXR: Fix resizing viewports used by OpenXRCompositionLayer 2025-10-30 17:40:52 -05:00
Thaddeus Crews 6ae1caecaf Merge pull request #109431 from dsnopek/openxr-composition-layer-safe-multithreaded-rendering
Make `OpenXRCompositionLayer` and its children safe for multithreaded rendering
2025-10-17 09:07:44 -05:00
Christoph Haag e33e069508 initialize XrRenderModelPropertiesEXT 2025-10-09 18:45:13 +02:00
Thaddeus Crews e437cfa280 Merge pull request #111307 from BastiaanOlij/openxr_persistence_layout_issue
Fix small code layout issue in persistence scope initialisation
2025-10-06 14:34:09 -05:00
David Snopek 093d191909 Make OpenXRCompositionLayer and its children safe for multithreaded rendering 2025-10-06 10:51:20 -05:00
Thaddeus Crews 788745e5b8 Merge pull request #108644 from bnjmntmm/secure-android-surface
Use of `XrSwapchainCreateFlags` for `OpenXRCompositionLayer`
2025-10-06 09:06:45 -05:00