Commit Graph

3425 Commits

Author SHA1 Message Date
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
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
Clay John 3cf0881c36 Remove is_discardable flag on render target since it is not needed and creates issues on NVidia devices 2026-01-28 11:08:40 -08:00
Thaddeus Crews ef313ecc46 Merge pull request #115177 from blueskythlikesclouds/unique-buffers-per-pass
Give every pass its own unique environment uniform buffer.
2026-01-28 12:27:13 -06:00
Nintorch eb019511ed Optimize files that #include input.h header 2026-01-28 14:21:00 +05:00
LiveTrower 60097eb3ce clearcoat fixes and improvements 2026-01-27 18:02:01 -06:00
Thaddeus Crews 75cd151cb0 Merge pull request #113781 from clayjohn/rd-discardable
Mark more textures as discardable
2026-01-27 15:18:31 -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
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
Thaddeus Crews b3af0f641a Merge pull request #114821 from rsanchezsaez/apple/override-improvements
AppleEmbedded: `renderer_compositor_rd.h` override improvements
2026-01-26 15:01:37 -06:00
Thaddeus Crews b268b1013d Merge pull request #115292 from luzader/patch-1
Use sky's corrected camera projection for `combined_reprojection`
2026-01-26 13:14:28 -06:00
Thaddeus Crews 4738ce72e3 Merge pull request #115026 from rothej/fix-94567-fog-shader-compilation-with-fog-disabled
Fix shader compilation error when writing to `FOG` when `render_mode fog_disabled`
2026-01-26 13:14:27 -06:00
Thaddeus Crews 0f8a1c9db2 Merge pull request #115147 from BastiaanOlij/fix_multiview_fixed_size
Apply fixed size properly for mono/stereo rendering.
2026-01-26 13:14:23 -06:00