Commit Graph

3410 Commits

Author SHA1 Message Date
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
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
Thaddeus Crews
3dc64a564b Merge pull request #115124 from blueskythlikesclouds/2x-msaa-pick-first
Pick the sample closer to the camera when resolving 2x MSAA.
2026-01-26 13:14:20 -06:00
Lukas Tenbrink
63272b23ef Make LocalVector copy constructor explicit. 2026-01-23 20:52:03 +01:00
Dario
c2b068d08c Fix stale reference bug in FramebufferCache. 2026-01-23 10:43:09 -03:00
Zac Luzader
56e646c217 Use sky's corrected camera projection for combined_reprojection 2026-01-22 19:26:17 -07:00
Lukas Tenbrink
1825e89787 Change copy constructors of HashMap and AHashMap from implicit to explicit. 2026-01-21 13:01:23 +01:00
Skyth
1d9910cac4 Give every pass its own unique environment uniform buffer. 2026-01-20 19:24:20 +03:00
Bastiaan Olij
aac883849e Apply fixed size properly for mono/stereo rendering. 2026-01-20 23:19:45 +11:00
Clay John
c5d21df245 Increase precision of ninepatch source rect to ensure pixel perfect alignment 2026-01-19 14:52:56 -08:00
Skyth
f975cfe037 Pick the sample closer to the camera when resolving 2x MSAA. 2026-01-19 22:02:57 +03:00
Joshua Rothe
7a2f188382 Fixing shader compilation error when writing to FOG when render_mode fog_disabled.
Always declares FOG variable regardless of fog state. Previously, only declared
fog if FOG_DISABLED was undefined. This caused errors if the code tried to
write to fog later. Exists as a dummy variable when unused.

Signed-off-by: Joshua Rothe <joshrothe@gmail.com>
2026-01-16 02:12:52 -07:00
Skyth
329a9f1fb2 Fix buffers in D3D12 not getting cleared with the right usage. 2026-01-15 14:50:51 +03:00
Rémi Verschelde
4db916dac6 Merge pull request #114908 from clayjohn/RD-env-roughness
Overhaul compute shader based environment roughness calculation to improve performance and quality
2026-01-13 22:20:59 +01:00
Rémi Verschelde
427eab91a2 Merge pull request #114907 from clayjohn/RD-env-filter
Fix downsampled radiance map generation
2026-01-13 22:20:55 +01:00
clayjohn
e33515c2e6 Overhaul compute shader based environment roughness calculation to improve performance and quality 2026-01-12 22:07:56 -08:00
clayjohn
24c2c452de Fix downsampled radiance map generation.
Reduce the mipmap levels so that the border is pixel perfect

Always use the high quality downsample to reduce jaggies

Fix the jacobian approximation so that it actually helps account for the octahedral distortion
2026-01-12 18:56:10 -08:00