Commit Graph

3437 Commits

Author SHA1 Message Date
Rémi Verschelde 25bfae8ff9 Remove RenderingServer::map_scaling_option_to_stretch_mode and cleanup boot splash code
Removes RS as a dependency in `project_settings.cpp` (which was a bug,
`core` shouldn't include `servers`). This doesn't have a big impact on
incremental rebuild time by itself.

Also move helper `get_splash_stretched_screen_rect` to RenderingServerTypes.
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 b144637ae1 Decouple RenderingServer from ServersDebugger
This one doesn't seem to have much impact on incremental rebuild time
after a change in `rendering_server.h`, but might still be worth it to
prevent future heavier coupling.
2026-02-25 19:43:04 +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 2adf91e71f Merge pull request #114890 from allenwp/fix-spatial-scaler-debanding
Fix viewport debanding not working with spatial scalers.
2026-02-25 11:25:09 -06:00
Thaddeus Crews e8c69d4108 Merge pull request #116720 from allenwp/fix-reinhard-agx-mobile-subpass
Fix Reinhard and AgX tonemapper in Mobile renderer when using subpass.
2026-02-25 09:27:47 -06:00
Thaddeus Crews c521ed8f71 Merge pull request #116519 from celyk/fix-omni-projector
Clamp uv coordinates of omni light projector
2026-02-25 09:27:38 -06:00
Allen Pestaluky 662770a33d Fix Reinhard and AgX tonemapper in Mobile renderer when using subpass. 2026-02-24 10:58:08 -05:00
Frank Becker dc67bdaab4 Fix LCD batching flag for StyleBoxTexture 2026-02-22 19:59:09 -08:00
Lukas Tenbrink e9465cd380 Move variant pools to their own compile unit. 2026-02-21 13:24:17 +01:00
celyk d2933f04b7 Clamp uv coordinates of omni light projector 2026-02-21 11:06:27 +11: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
Lukas Tenbrink 0ea5ece984 Move binary math functions to Math namespace in math_funcs_binary header. 2026-02-17 12:24:35 +01:00
Antonio Caggiano ba71e30579 Tie scratch buffers to acceleration structures
The scratch buffer is never exposed to the user, it is only used
internally and it is managed by the acceleration structure itself.
2026-02-16 11:00:28 +01: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
Thaddeus Crews 40448082ab Merge pull request #115728 from Chaosus/shader_fix_builtin_func_mismatch
Fix GDShader min/max functions return value type mismatch
2026-02-11 10:27:09 -06:00
Thaddeus Crews 487896096c Merge pull request #116155 from clayjohn/sky-radiance-seam
Add compatibility fallback to textureLod when reading from RADIANCE
2026-02-11 10:27:06 -06:00
Clay John 69a923e340 Add compatibility fallback to textureLod when reading from RADIANCE
This is needed due to the discontinuity in the seam of the octahedral coordinates
2026-02-10 16:00:30 -08:00
Clay John 0063b4ebd6 Restore default sky roughness levels to 8. This helps smooth out rough non-metallic objects that have a very noisy HDRI 2026-02-10 15:19:52 -08:00
Thaddeus Crews 0808e47eff Merge pull request #115904 from HEX-23/feature-fix_ssr
Fix inconsistent SSR blurriness on rough surfaces.
2026-02-10 10:34:34 -06: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
X23 fe8709d077 Fix inconsistent SSR blurriness on rough surfaces. 2026-02-10 21:12:35 +08:00
Clay John 2343d36b43 Use transmittance instead of opacity in the early-out branch when calculating volumetric fog 2026-02-09 09:45:12 -08:00
Allen Pestaluky ec394025f1 Fix viewport debanding not working with spatial scalers. 2026-02-06 12:05:43 -05:00
Thaddeus Crews 7dae5da198 Style: Convert *.gen.inc to *.gen.h 2026-02-05 19:47:56 -06: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 2b44ed5299 Merge pull request #115865 from blueskythlikesclouds/transfer-worker-race-condition
Fix transfer worker race condition.
2026-02-05 09:32:39 -06:00
Thaddeus Crews 7e91c61fec Merge pull request #115874 from clayjohn/sky-crash
Avoid reading from sky pointer when rendering background without sky
2026-02-05 09:32:29 -06: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
clayjohn da7540f3f1 Avoid reading from sky pointer when rendering background without sky 2026-02-04 09:44:15 -08:00
Skyth de7fcfaf3b Fix transfer worker race condition. 2026-02-04 16:15:41 +03:00
Dario 703b3f3dc2 Add structure padding where necessary for push constants.
Co-authored-by: Skyth <19259897+blueskythlikesclouds@users.noreply.github.com>
2026-02-04 12:12:19 +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 4cce65bea6 Merge pull request #114678 from Image-unavailable/culling-wars-pr
Make directional lights' tighter shadow caster culling truly tight (implement per-cascade culling)
2026-02-03 18:06:49 -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 c4e9378020 Merge pull request #107234 from jon1solution/select-near-lights-gles3-mobile
Select relevant 3D lights per mesh on GLES3 and Mobile renderers
2026-02-03 08:13:57 -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
Skyth 482d9313a2 Fix accidental write-combined memory reads in canvas renderer. 2026-02-02 15:55:12 +03:00
Chaosus d0fc46cd83 Fix GDShader min/max functions return value type mismatch 2026-02-02 14:01:04 +03: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
Rémi Verschelde 2db61bc397 Merge pull request #114732 from AR-DEV-1/auto-exposure-notification-update
Update the notification for Auto-exposure
2026-01-31 22:50:45 +01:00
Thaddeus Crews 6d67a99925 Merge pull request #115606 from clayjohn/sky-border-fix
Ensure that uv border size is passed in to sky rendering functions
2026-01-30 09:32:13 -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
Thaddeus Crews fd6e80d4e9 Merge pull request #105701 from ColinSORourke/DrawableTexture
Implement DrawableTextures
2026-01-30 09:32:05 -06:00
Clay John b4b20e95ed Ensure that uv border size is passed in to sky rendering functions both when rendering the octmap and when rendering the sky as a background 2026-01-29 14:14:49 -08: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 135cd6eea0 Merge pull request #115530 from clayjohn/render-target-discard
Remove `is_discardable` flag on render target
2026-01-28 17:58:14 -06:00
Image-unavailable a17e172549 Make directional lights' tighter shadowcaster culling truly tight (implement per-cascade culling) 2026-01-29 00:07:53 +01:00