Commit Graph

4872 Commits

Author SHA1 Message Date
Rémi Verschelde cd650f2336 GLES3: Move some static utils to new RasterizerUtilGLES3
This helps remove dependencies on RasterizerGLES3 in many files, which is
useful as RasterizerGLES3 basically includes everything, so it brings a lot
of transient includes.
2026-02-20 11:29:39 +01:00
Rémi Verschelde 13bb08286e GLES3: Remove unnecessary includes 2026-02-20 11:29:38 +01:00
Rémi Verschelde 715748bab4 GLES3: Tidy up includes for consistency 2026-02-20 11:20:44 +01:00
Rémi Verschelde db77a462b4 Merge pull request #116395 from bruvzg/ios_sc
[iOS] Add UIScene lifecycle events.
2026-02-20 11:16:44 +01:00
Rémi Verschelde 4654dbb0ac Merge pull request #115565 from bruvzg/ac_inv
[Accessibility] Handle adapter activation/deactivation.
2026-02-20 11:16:31 +01:00
Thaddeus Crews 5e10528397 Merge pull request #114895 from Nintorch/is-joy-vibrating
Add support for joypad vibration checking
2026-02-19 20:29:13 -06:00
Nintorch c83c672d61 Add support for joypad vibration checking 2026-02-19 21:34:06 +05:00
Thaddeus Crews 4d4f7291ed Merge pull request #116355 from blueskythlikesclouds/get-total-memory-optimization
Optimize `get_total_memory_used` in D3D12 and Vulkan.
2026-02-18 12:04:33 -06:00
Thaddeus Crews afa6d6071b Merge pull request #114316 from Nintorch/sdl-joypad-ios-visionos
Add support for SDL3 joystick input driver for iOS
2026-02-18 12:04:32 -06:00
Thaddeus Crews 15558cb886 Merge pull request #108111 from Repiteo/core/sanitizer-restructure
Core: Restructure sanitizers
2026-02-18 12:04:30 -06:00
Nintorch 73fcc0d645 Add SDL joystick input for iOS 2026-02-18 20:37:22 +05:00
Pāvels Nadtočajevs 876dcc8a5d [Accessibility] Handle adapter activation/deactivation. 2026-02-18 16:54:40 +02:00
Rémi Verschelde ad4b910a10 Minimize include dependencies of display_server.h
- Removes `native_menu.h` dependency from `display_server.h`.
  It's now forward-declared in all DisplayServer implementations and should
  be included in the .cpp's.
- Removes some unused `rb_set.h` and `rb_map.h` dependencies, which leads to
  having to include them explicitly in half the scene and editor codebase...
  which shows how much we depend on `display_server.h`.
- Forward-declare `input_event.h`, so now we need only `keyboard.h`.
2026-02-17 19:45:31 +01:00
Thaddeus Crews fa56f71ddd Merge pull request #107452 from Ivorforce/bit-math-header
Move binary math functions to `Math` namespace in `math_funcs_binary.h`
2026-02-17 09:28:31 -06:00
Lukas Tenbrink 0ea5ece984 Move binary math functions to Math namespace in math_funcs_binary header. 2026-02-17 12:24:35 +01:00
Pāvels Nadtočajevs b03f0a9e24 [iOS] Add UIScene lifecycle events. 2026-02-17 09:46:04 +02:00
Stuart Carnie 8f7f7b2703 Metal: Various fixes
- Handle border colour availability check with fallback
- Update patch for metal-cpp to add APIs used by Godot
- Fix segfault when freeing MDImmediateLibrary shaders that are still
  in flight
- Change MTL::Texture::allocatedBytes call to safe, for visionOS
2026-02-17 06:15:48 +11:00
Skyth 8ed849e416 Optimize get_total_memory_used in D3D12 and Vulkan. 2026-02-16 17:13:06 +03:00
Thaddeus Crews 2d5b30c476 Merge pull request #115963 from blueskythlikesclouds/reduce-includes-to-rd
Reduce includes to rendering device.
2026-02-12 08:19:16 -06:00
Josh Jones b8389cc76b Support output to HDR monitors
Co-authored-by: Alvin Wong <alvinhochun@gmail.com>
Co-authored-by: Allen Pestaluky <allenpestaluky@gmail.com>
2026-02-11 22:13:26 -07: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
Johan Aires Rastén 2acdfdbbbc Print file path when failing to load dynamic library 2026-02-10 13:34:26 +01:00
Thaddeus Crews b597f93960 Merge pull request #115952 from Nintorch/remove-joypadsdl-singleton
Remove unused `JoypadSDL::singleton`
2026-02-06 08:17:59 -06:00
Thaddeus Crews f6b89548a4 Merge pull request #115927 from Scrawach/fix-case-insensitive-warning-for-windows
Fix warnings relating to case mismatch in file path for windows
2026-02-06 08:17:53 -06:00
Nintorch 1469287ef7 Remove unused JoypadSDL::singleton 2026-02-06 16:44:46 +05:00
scrawach 576eb17e14 Fix warnings relating to case mismatch in file path for windows 2026-02-06 01:38:46 +03:00
Stuart Carnie b815c88dec Metal: Refactor for future Metal 4, switch to C++; fix dynamic uniforms 2026-02-06 07:07:10 +11:00
Thaddeus Crews 79eb6694a1 Merge pull request #112381 from Ivorforce/no-right-align
Don't right-align escaped newlines (e.g. for `#define`)
2026-02-05 09:18:36 -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 805c9d4b18 Vulkan: Update VMA to 3.3.0 2026-02-04 11:22:17 +01:00
Rémi Verschelde d2ed1773fc Vulkan: Update all components to Vulkan SDK 1.4.335.0
VulkanMemoryAllocator not updated as it's not versioned together with the SDK, and it
often requires more work.

SPIRV-Reflect: Fix reflection code and remove Godot's SC parsing patch.

Co-authored-by: Dario <dariosamo@gmail.com>
2026-02-04 11:22:17 +01:00
Thaddeus Crews 3a2865861d Merge pull request #113873 from RyanVail/joycon-serial-number
Input: Add serial number to `joy_info`
2026-02-03 08:14:01 -06:00
Thaddeus Crews 0a843c13f8 Merge pull request #111464 from LiveTrower/clearcoat-improvements
Clearcoat improvements and fixes
2026-02-03 08:14:00 -06:00
Thaddeus Crews ea6fec22ef Input: Added serial number to joy_info
Co-Authored-By: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
Co-Authored-By: RyanVail <111651152+ryanvail@users.noreply.github.com>
2026-02-03 07:37:15 -06:00
jon1solution 979d3e58d0 Keeping the top N lights per mesh in the culling phase.
Previously, each mesh was paired up with the first N of each Omni- and Spot-lights.
Now each light is scored based on its distance to the mesh, energy, and range.
The new code uses a heap to track the best N lights (of each type) for predictability.
2026-02-02 08:59:30 -08:00
Rémi Verschelde 429750f60b Merge pull request #115093 from Ivorforce/hashmap-explicit-copy
Change copy constructors of `HashMap` and `AHashMap` from implicit to explicit
2026-01-31 22:50:51 +01:00
Thaddeus Crews 5385a7ba38 Merge pull request #115504 from blueskythlikesclouds/d3d12-aniso-nearest-fix
Handle nearest filtering modes in D3D12 driver when anisotropy is enabled.
2026-01-30 09:32:09 -06:00
Thaddeus Crews fbbb8a921b Merge pull request #115309 from Ivorforce/localvector-explicit-copy
Change copy constructor of `LocalVector` from implicit to explicit
2026-01-30 09:32:07 -06:00
Colin O'Rourke 63f6e3691c DrawableTextures
Implementing DrawableTextures based on: https://github.com/godotengine/godot-proposals/issues/7379
2026-01-29 01:16:06 -08:00
Thaddeus Crews beda8dd027 Core: Restructure sanitizers 2026-01-28 09:13:16 -06:00
Skyth 2bd91c6646 Handle nearest filtering modes in D3D12 driver when anisotropy is enabled. 2026-01-28 13:18:18 +03:00
LiveTrower 60097eb3ce clearcoat fixes and improvements 2026-01-27 18:02:01 -06:00
Thaddeus Crews 77579f93e6 Merge pull request #111679 from Nintorch/joypad-motion-sensors
Add support for joypad motion sensors
2026-01-27 15:18:37 -06:00
Thaddeus Crews 2450bb0c75 Merge pull request #114449 from ndarilek/a11y-regions
GUI: Add accessibility region role for landmark navigation
2026-01-27 15:18:27 -06:00
Thaddeus Crews 04a2ae7ed4 Merge pull request #99119 from Fahien/fahien/raytracing-base
Vulkan raytracing plumbing
2026-01-27 15:18:24 -06:00
Thaddeus Crews ea1e6640f0 Merge pull request #115434 from syntaxerror247/landscape-or-portrait
Add device orientation change signal to DisplayServer
2026-01-27 15:18:22 -06:00
Thaddeus Crews c161d13b1b Merge pull request #115452 from Ivorforce/rendering-server-no-geometry
Reduce compile time by removing `geometry_3d.h` include from `rendering_server.h`
2026-01-27 15:18:19 -06:00
Anish Kumar e2369a834b Add device orientation change signal in DisplayServer
This PR:
- Fixes the orientation detection logic on Android
- Adds an orientation_changed signal in DisplayServer

Co-Authored-By: bruvzg <7645683+bruvzg@users.noreply.github.com>
2026-01-27 23:35:44 +05:30
Lukas Tenbrink c56c297cee Remove geometry_3d include from rendering_server.h, to reduce compile time.
Change `Geometry3D` from class to namespace.
2026-01-27 18:12:38 +01:00
Antonio Caggiano 27e4f24800 raytracing: Initial Vulkan support
- Vulkan implementations in `RenderingDeviceDriverVulkan`.
- Raytracing instruction list in `RenderingDeviceGraph`.
- Functions to create acceleration structures and raytracing pipelines
  in `RenderingDevice`.
- Raygen, Miss, and ClosestHit shader stages support.
- GDScript bindings.
- Update classes documentation.
- Unimplemented placeholders for Metal and D3D12.
- Build acceleration structure command.
- Expose a shader preprocessor define.
- Align build scratch address.
- Create STB after creating the pipeline.
- Separate acceleration structure barriers.
- Use transforms in TLAS instances.
- AnyHit and Intersection stages.
- Optionally set acceleration structure build input buffer usage.
- Introduce instances buffer.
- Move scratch buffers to RenderingDevice.
- Rename AccelerationStructureGeometryBits.
- Use regular buffer creation and free routines for scratch buffer.
- Store trackers in acceleration structures.
- Bump Shader SPIR-V version to 1.4
- Add Position attribute location in blas_create.
- Encapsulate MoltenVK check in preprocessor macro.
- Split SUPPORTS_RAYTRACING for pipeline and query.
2026-01-27 16:17:45 +01:00