Commit Graph

4845 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
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
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
Thaddeus Crews
b40f4ae52f Merge pull request #115218 from Nintorch/fix-joy-info-raw-name-utf8
Fix incorrect reading of joypad UTF8 `raw_name` in `Input.get_joy_info()`
2026-01-27 09:04:16 -06:00
Thaddeus Crews
ed0ae97d98 Merge pull request #114922 from DarioSamo/android-platform-gl3-fallback-fix
Fix fallback to OpenGL3 from Vulkan initialization on Android.
2026-01-27 09:04:14 -06:00
Thiago Lelles Fernandes
6ff5f449a9 Added support for the Home LED on NS Controllers
Changed the implementation

Instead of modifying the hint value, now it works like the PS4 ones, but using MONO instead of RGB.

NS Controllers LED Support Added
2026-01-26 22:20:49 -03:00
Thaddeus Crews
0c7bb27bcd Merge pull request #114076 from blueskythlikesclouds/d3d12-reduce-unnecessary-calls
Reduce unnecessary calls in D3D12 driver.
2026-01-26 15:01:42 -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
cfc5ec93d4 Merge pull request #114767 from unixfan2/fix/114606-compat-wrong-texunit
Fix sky radiance texunit in compatibility renderer
2026-01-26 13:14:26 -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
Nintorch
a3eb202b25 Add support for joypad motion sensors 2026-01-26 15:49:55 +05:00
Lukas Tenbrink
63272b23ef Make LocalVector copy constructor explicit. 2026-01-23 20:52:03 +01:00
Nintorch
059cc936c4 Fix non-Xinput joypads having "xinput_index" 2026-01-22 11:15:04 +05:00
Nintorch
72ed330f98 Fix UTF8 joypad raw_name in get_joy_info() 2026-01-22 00:08:17 +05:00
Lukas Tenbrink
1825e89787 Change copy constructors of HashMap and AHashMap from implicit to explicit. 2026-01-21 13:01:23 +01:00
Bastiaan Olij
aac883849e Apply fixed size properly for mono/stereo rendering. 2026-01-20 23:19:45 +11:00
Nolan Darilek
d53ab67b83 GUI: Add accessibility region role for landmark navigation
Adds ROLE_REGION to allow controls to be marked as accessibility
regions/landmarks.

- Add `accessibility_region` property to Control
- Add ROLE_REGION to DisplayServer and AccessKit mapping
- Prevent Container/ScrollContainer from overriding region role
- Fix TabContainer to update accessibility when tabs change
- Mark editor docks, main screen, bottom panel, and scene tabs as regions
2026-01-19 08:12:33 -05:00
Dario
f714eaba0d Do not store SPIR-V in memory unless pipeline statistics are used. 2026-01-16 18:51:33 -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
Dario
542f8ddf22 Fix fallback to OpenGL3 from Vulkan initialization on Android. 2026-01-14 23:55:21 -03:00
Rémi Verschelde
0dd64f4224 Merge pull request #114851 from Nintorch/set-joy-light-return-type
Change return type for `Input.set_joy_light()` from `bool` to `void`
2026-01-13 22:20:50 +01:00
Ricardo Sanchez-Saez
4bf4d10f5e Avoid warning when compiling on visionOS 26 SDK 2026-01-12 15:03:21 -08:00
Nintorch
22a4f9fd9c Refactor Input.set_joy_light() 2026-01-11 22:52:40 +05:00
Stuart Carnie
541f62617f Metal: Fix dynamic uniform buffer offset corruption when rebinding sets
When the same uniform set is bound multiple times within a render pass
(e.g., OPAQUE pass then ALPHA pass with different instance buffers),
the dynamic offset bits were being OR'd together, corrupting the packed
frame indices.

For example, if OPAQUE binds set 1 with frame_idx=1 (0x10) and ALPHA
binds set 1 with frame_idx=2 (0x20), the OR produces 0x30 instead of
the correct 0x20, causing the shader to read from the wrong buffer
offset.

This fix clears the relevant bits for each set being bound before
OR'ing the new values, ensuring only the latest frame indices are used.

Fixes rendering artifacts in the mobile renderer which uses two dynamic
uniforms (uniform buffer + storage buffer) in set 1, unlike the clustered
renderer which only has one.
2026-01-09 16:34:24 +11:00
Peter Friedrich
6f2eaf0f8e Fix sky radiance texunit in compatibility renderer (fixes #114606) 2026-01-08 23:32:15 +01:00
Rémi Verschelde
0449f4bce1 Merge pull request #114657 from DarioSamo/immutable-sampler-descriptor-fix
Always add Vulkan descriptor count for immutable samplers to descriptor pool.
2026-01-08 17:15:33 +01:00
Rémi Verschelde
2b8be909ed Merge pull request #114645 from blueskythlikesclouds/fix-dxil-view-instancing-workaround
Fix DXIL view instancing workaround not getting applied correctly.
2026-01-07 01:42:12 +01:00
Dario
bce41d08fe Always add Vulkan descriptor count for immutable samplers to descriptor pool. 2026-01-06 16:02:51 -03:00
Rémi Verschelde
4757542c31 Merge pull request #114146 from blueskythlikesclouds/d3d12-discard-state-fix
Fix incorrect resource state when discarding MSAA textures in D3D12.
2026-01-06 10:59:49 +01:00
Rémi Verschelde
bc6f6a6358 Merge pull request #113842 from blueskythlikesclouds/rd-depth-clear-on-first-use
Clear depth stencil textures on first use if the RDD requires it.
2026-01-06 10:59:42 +01:00