1
0
Fork 0
Commit Graph

4574 Commits

Author SHA1 Message Date
BlueCube3310 356b1ab2a6 Compatibility: Fix cubemap faces order when setting texture data 2025-08-04 13:27:28 +02:00
Thaddeus Crews ca515cf650
Merge pull request #108373 from Nintorch/fix-sowrap-enabled
Fix the usage of udev and dbus with SDL joystick input driver
2025-08-03 10:51:17 -05:00
Thaddeus Crews 159133e679
Merge pull request #109198 from Lielay9/fix_primitive_tex
Break batch on Compatibility when primitive texture changes
2025-08-03 10:51:12 -05:00
Thaddeus Crews 87bb5ab681
Merge pull request #108919 from KeyboardDanni/d3d12_init_shader_model_check
D3D12: Fix shader model check, initialization error handling
2025-08-01 11:45:19 -05:00
Hei ce0a74bfe2 Break batch on Compatibility when primitive texture changes. 2025-08-01 16:13:17 +03:00
Thaddeus Crews f9313aa27b
Merge pull request #108924 from bruvzg/ac17
Update access-kit to 0.17.0
2025-07-31 10:39:09 -05:00
Thaddeus Crews 5787f6fb6a
Merge pull request #108044 from apples/107935-stencil-fixes
Fix opaque stencil rendering
2025-07-31 10:39:08 -05:00
Nintorch 0e19ad507e Fix the usage of libudev and dbus with SDL
Previously, libudev was ignored if SOWRAP_ENABLED was defined (it is defined by default) because otherwise it would crash CI builds due to a missing header, and dbus was always linked dynamically. This commit should fix this issue and make libudev usable again
2025-07-31 15:05:06 +05:00
Riley Willows fbe2710843
Add and enable default textures for other samplers 2025-07-31 00:08:43 +01:00
Pāvels Nadtočajevs 3f757c41fc
Update access-kit to 0.17.0 2025-07-29 08:37:01 +03:00
Danni bf6629a005 D3D12: Fix shader model check, initialization error handling 2025-07-28 20:35:45 -04:00
Summersay415 18d14ff18e Remove Adreno 3xx flip workaround 2025-07-28 14:03:25 +07:00
Thaddeus Crews 0c595dae45
Merge pull request #108936 from DarioSamo/vk-memory-layout-variant
Check for Vulkan Memory Model support and make it a variant.
2025-07-25 11:08:12 -05:00
Dario b962b38e74 Check for Vulkan Memory Model support and make it a variant. 2025-07-25 09:24:58 -03:00
moluopro 39fba218bd Fix: Make get_space_left on Windows use current_dir instead of process CWD 2025-07-25 19:47:25 +08:00
David Snopek ae61044c85 Don't use `GL_DEPTH_STENCIL_ATTACHMENT` on depth buffer from WebXR 2025-07-24 14:11:36 -05:00
Thaddeus Crews f884f24212
Merge pull request #108350 from DanielSnd/linux_sdl_env_variables_access
Add environment variable access defines to SDL linux build config
2025-07-18 11:05:18 -05:00
DanielSnd 71e498509d Add environment variable access defines to SDL linux build config 2025-07-18 10:37:52 -03:00
Juan Manuel Costello 5dc25db6da Fix lightmap dynamic objects with physical lights 2025-07-17 20:58:03 -03:00
Thaddeus Crews 9ba44cb613
Merge pull request #108364 from Rindbee/use-inotify-to-detect-devices-on-Linux
Use inotify to detect devices for better reliability on Linux
2025-07-17 10:34:45 -05:00
Pāvels Nadtočajevs 80b39cd1bd
[Linux] Fix narrowing conversion error in 32-bit builds. 2025-07-16 09:34:38 +03:00
Thaddeus Crews 61956f2e06
SCons: Ensure `CPPDEFINES` is properly utilized 2025-07-14 13:07:53 -05:00
Thaddeus Crews 6bc7fcb7af
Merge pull request #108567 from beicause/multimesh-null-checks
Add some multimesh null checks to avoid crash
2025-07-14 10:30:35 -05:00
Thaddeus Crews 35a2d7843e
Merge pull request #104302 from brennennen/reflection_probe_count_error_check
Add error check for reflection probe invalid atlas index.
2025-07-14 10:30:31 -05:00
Thaddeus Crews 2be2cbb720
Merge pull request #107782 from allenwp/vulkan-nonlinear-color-correction-dithering
Always perform color correction and debanding on nonlinear sRGB values.
2025-07-14 10:30:28 -05:00
LuoZhihao 5352638f95 Add some multimesh null checks to avoid crash 2025-07-13 10:09:36 +08:00
brennen 2583aa4a68 Add error check for reflection probe invalid atlas index. 2025-07-10 19:03:21 -05:00
Stuart Carnie 338816236b Metal: Remove invalid assumption for image atomic operations
Fix image atomic checks, which require minimum OS version too.

Closes #108445
2025-07-10 06:51:27 +10:00
Allen Pestaluky a1591512f8 Always perform color correction and debanding on nonlinear sRGB values.
Fixes #107730

Co-authored-by: LuoZhihao <luo_zhihao@outlook.com>
2025-07-08 13:44:53 -04:00
Mingxi Zhang 2096e4c007 Fix division by zero in clearcoat
Prevents the clearcoat model from generating NaN values at grazing angles
2025-07-08 01:58:37 +00:00
风青山 f82008d1a5
Use inotify to detect devices for better reliability on Linux
Fix the issue that some devices were not detected when hot plugged.
2025-07-07 17:46:07 +08:00
Stuart Carnie 5230f6c60c Apple: Use image atomic operations on supported Apple hardware
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2025-07-05 05:59:00 +10:00
Apples 62a5cd90a7 Fix opaque stencil rendering 2025-07-02 21:49:19 -05:00
Stuart Carnie bdbc97ecbb Metal: Use correct environment variable to generate labels 2025-07-01 05:28:42 +10:00
Patrick Exner 5a7b6b7159 Add permission request for Apple embedded platforms, fix microphone input
Co-Authored-By: Miguel de Icaza <miguel@gnome.org>

Supersedes https://github.com/godotengine/godot/pull/107233
Fixes https://github.com/godotengine/godot-proposals/issues/12563
Fixes https://github.com/godotengine/godot/issues/33885

Superseding Miguel's PR to get it in during the beta stage.
2025-06-25 15:29:33 +02:00
Pāvels Nadtočajevs 71dd7b5712
Fix SDL threading on macOS/Linux.
And fixup pkg-config check for SDL on Linux.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2025-06-25 10:36:39 +02:00
Thaddeus Crews 05640191e7
Merge pull request #107928 from Kaleb-Reid/scatter-no-LIGHTX
Always send lights to sky shader if using sun scatter
2025-06-24 18:34:31 -05:00
Nintorch 0b3496fb4f
Add support for SDL3 joystick input driver
Made possible by EIREXE, xsellier and the SDL team.

This commit includes statically linked SDL3 for Windows, Linux and macOS.
The vendored copy of SDL3 was setup to only build the required subsystems
for gamepad/joystick support, with some patches to be able to make it as
minimal as possible and reduce the impact on binary size and code size.

Co-authored-by: Álex Román Núñez <eirexe123@gmail.com>
Co-authored-by: Xavier Sellier <xsellier@gmail.com>
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2025-06-25 01:28:50 +02:00
Kaleb Reid e659daf6e0 Always send lights to sky shader if using sun scatter 2025-06-24 14:24:49 -07:00
Bastiaan Olij 37b7f577ad Fix GLES3 stereo output (sRGB + lens distortion) 2025-06-20 10:45:03 +10:00
Thaddeus Crews ac6252c9c8
Merge pull request #107486 from Ivorforce/rendering-no-alloc-api
Use raw buffer pointers in `RenderingDevice` allocation APIs to avoid intermediary arrays
2025-06-18 18:14:00 -05:00
Stuart Carnie 939f29f6d5 Apple: Improve reliability of Apple Embedded build and deployment 2025-06-19 06:33:08 +10:00
Lukas Tenbrink 2b36c79f7b Use `Span<uint8_t>` in `RenderingDevice` allocation APIs to avoid intermediary arrays on calls. 2025-06-18 12:31:48 +02:00
Rémi Verschelde 3b2b0157ff
Merge pull request #107475 from beicause/fix-global-shader-texture-uniform
Fix global shader texture uniform
2025-06-13 15:54:09 +02:00
LuoZhihao 7419e4429d Fix global shader texture uniform 2025-06-13 13:24:38 +08:00
Rémi Verschelde 1a64b6b5b6
Merge pull request #106913 from Ivorforce/string-resize-uninitialized
Rename `String::resize` to `resize_uninitialized`
2025-06-12 22:48:45 +02:00
Rémi Verschelde 0497ae9947
Merge pull request #80710 from apples/7174-apples-stencil
Add stencil support to spatial materials
2025-06-12 01:15:35 +02:00
Lukas Tenbrink b13a0e1834 Rename `String::resize` to `resize_uninitialized`, to better communicate to callers that new characters must be initialized. 2025-06-11 18:13:02 +02:00
Apples d674c9e289 Add stencil support for spatial materials 2025-06-11 09:59:10 -05:00
Bastiaan Olij a2e4aed449 Fix final blit in OpenGL when stereo rendering is used 2025-06-10 14:47:07 +10:00
Thaddeus Crews 7584546399
Merge pull request #101941 from dsnopek/opengl-global-uniform-sampler2darray
Fix wrong default texture for global uniforms of type `sampler2DArray`
2025-06-09 17:08:47 -05:00
Thaddeus Crews 0717eda470
Merge pull request #107119 from DarioSamo/explicit-fp16
Optimize Mobile renderer by using FP16 explicitly.
2025-06-09 17:08:46 -05:00
Thaddeus Crews 6bb1318d11
Merge pull request #107238 from dsnopek/opengl-shadow-to-opacity-plus-unshaded
OpenGL: Fix shader compilation failure with `shadow_to_opacity` and `unshaded`
2025-06-09 17:08:42 -05:00
Dario 46277836a6 Optimize Mobile renderer by using FP16 explicitly. 2025-06-09 14:39:35 -03:00
Danil Alexeev 24494d840e
Core: Unify display of error type prefixes 2025-06-09 20:18:51 +03:00
David Snopek d503810654 OpenGL: Fix shader compilation failure with `shadow_to_opacity` and `unshaded` 2025-06-06 16:29:22 -05:00
Apples 7574a5dbb3 Add depth function for spatial materials 2025-06-06 09:21:19 -05:00
David Snopek fa30719814 Fix wrong default texture for global uniforms of type `sampler2DArray` 2025-06-05 11:12:03 -05:00
Rémi Verschelde 37982d4a01
Merge pull request #107116 from beicause/expose-mesh-surface-update-index-buffer
Expose `RS.mesh_surface_update_index_region`
2025-06-05 17:24:54 +02:00
Rémi Verschelde 3b7547fdd0
Merge pull request #106398 from akien-mga/d3d12ma-silence-warnings
D3D12: Silence `-Wmaybe-uninitialized` warning in D3D12MemAlloc
2025-06-05 17:24:42 +02:00
LuoZhihao 63c124fa45 Expose `RS.mesh_surface_update_index_region`
And `mesh_surface_get_format_index_stride`
2025-06-05 19:35:59 +08:00
Rémi Verschelde 1e9200d065
Merge pull request #107099 from Kaleb-Reid/fix-sun-scatter
Increase directional light energy in sky for fog sun scatter
2025-06-05 13:13:40 +02:00
Rémi Verschelde 61639d9574
Merge pull request #106996 from Ivorforce/no-oa-hashmap
Core: Remove `OAHashMap`, in favour of `AHashMap`
2025-06-05 13:12:34 +02:00
Kaleb Reid bac9427325 Fix sky energy in fog sun scatter + colour space discrepancy in compatibility 2025-06-04 13:59:53 -07:00
Youngmin Koo fd4d5cc77f iOS: Prevent startup crash with Input singleton null check 2025-06-05 00:34:04 +09:00
Pāvels Nadtočajevs 6565c8e83f
[AccessKit] Update API to 0.16.0. 2025-06-03 10:49:04 +03:00
Thaddeus Crews 7a3d2f6779
Merge pull request #106606 from aaronfranke/pow2_64
Add 64-bit versions of core power of 2 functions
2025-06-02 18:51:56 -05:00
Thaddeus Crews a6be6d1cd1
Merge pull request #106959 from bruvzg/w10_cleanup
[Windows] Drop support for Windows 7/8/8.1.
2025-06-02 18:51:46 -05:00
Aaron Franke f6f1df7d73
Add 64-bit versions of core power of 2 functions 2025-06-01 23:11:12 -07:00
Pāvels Nadtočajevs 2d93e004b9
Cleanup and unify `DisplayServer` screen methods and documentation. 2025-06-02 08:03:48 +03:00
Lukas Tenbrink 963c20565b Remove `OAHashMap`, in favour of `AHashMap`.
The two types had (mostly) the same decisions, but `AHashMap` is a faster implementation, and is more consistent with `HashMap`.
2025-05-31 15:50:10 +02:00
Pāvels Nadtočajevs 617e12a6b4
[Windows] Drop support for Windows 7/8/8.1. 2025-05-30 17:30:23 +03:00
clayjohn 8b2dda868b Correctly place viewport and use viewport relative rect for the final blit in Compatibility renderer 2025-05-28 22:11:20 -07:00
Thaddeus Crews de37627404
Merge pull request #102552 from DarioSamo/shader-baker
Add shader baker to project exporter.
2025-05-28 17:09:38 -05:00
Thaddeus Crews 90c75d02dd
Merge pull request #106732 from stuartcarnie/rd_reduce_allocations
Renderer: Eliminate `String` allocations for all labels in the renderer
2025-05-28 09:47:43 -05:00
Stuart Carnie 7d93119353 Renderer: Eliminates `String` allocations for all labels in the renderer
Uses `Span<char>` to avoid additional allocations in the graph.
2025-05-28 06:01:35 +10:00
Dario 5a30a7e7cd Add shader baker to project exporter.
Metal Support contributed by Migeran (https://migeran.com) and Stuart Carnie.

Co-authored-by: Stuart Carnie <stuart.carnie@gmail.com>
Co-authored-by: Gergely Kis <gergely.kis@migeran.com>
2025-05-27 12:45:27 -03:00
Thaddeus Crews 1194609662
Merge pull request #106827 from akien-mga/d3d12-fix-DCOMP_ENABLED-inconsistency
D3D12: Fix inconsistent value for `DCOMP_ENABLED` in platform code
2025-05-27 09:39:28 -05:00
Lukas Tenbrink 4cb8a0c77e Add `resize_initialized` and `resize_uninitialized` to `Vector`. These functions serve as replacements for `resize`, to make sure the caller understands whether elements need to be initialized 'by hand' after the call. 2025-05-26 18:35:41 +02:00
Rémi Verschelde 514e80bcc1
D3D12: Fix inconsistent value for `DCOMP_ENABLED` in platform code 2025-05-26 15:16:19 +02:00
Pāvels Nadtočajevs d609cf62a0
Implement `get_filesystem_type` on macOS and Linux. 2025-05-23 23:05:06 +03:00
clayjohn eb4f3a82a3 Ignore destination alpha when blitting to window in compatibility renderer 2025-05-22 22:21:32 -04:00
Thaddeus Crews 452dc667fb
Merge pull request #106592 from beicause/shader-fix-editor-mat-default
Shader: Fix the default behavior when mat uniforms are null
2025-05-22 12:15:08 -05:00
Thaddeus Crews 8085fd3102
Merge pull request #93142 from clayjohn/z_clip_scale
Add new shader built ins: `Z_CLIP_SCALE` and `PERSPECTIVE_SCALE`
2025-05-22 12:15:06 -05:00
Thaddeus Crews f129e542da
Merge pull request #106708 from bruvzg/nohang_exitcode
Fix `execute_with_pipe` / `create_process` exit code.
2025-05-22 12:15:06 -05:00
Thaddeus Crews d19b34c5be
Merge pull request #106694 from stuartcarnie/metal_fix_clear_crash
Metal: Fix crash when clearing render buffers
2025-05-22 12:15:05 -05:00
Thaddeus Crews dd5c5ed631
Merge pull request #106267 from clayjohn/android-msaa-bug
Use a fragment shader copy instead of a blit copy in the final blit to screen in the Compatibility backend
2025-05-22 12:14:57 -05:00
Pāvels Nadtočajevs 1501f447bf
Fix `execute_with_pipe` / `create_process` exit code. 2025-05-22 08:56:37 +03:00
Stuart Carnie 32043fc682 Metal: Fix crash when clearing render buffers 2025-05-22 07:25:48 +10:00
clayjohn 9a1def8da1 Add new StandardMaterial properties to allow users to control FPS-style objects (hands, weapons, tools close to the camera)
Add new shader built in Z_CLIP_SCALE to easily adjust clipping distance to avoid clipping walls etc.

Add fov_override to StandardMaterial3D to easily have a custom FOV for FPS objects

Add IN_SHADOW_PASS built-in to shaders for tweaking materials without impacting shadow maps
2025-05-21 10:16:05 -03:00
LuoZhihao 4621d3e1f4 Shader: Fix the default behavior when mat uniforms are null 2025-05-21 13:28:39 +08:00
clayjohn a0e3ade99f Use a fragment shader copy instead of a blit copy in the final blit to screen in the Compatibility renderer to avoid black screen when "Force MSAA 4x is used" on Android devices 2025-05-20 16:34:43 -07:00
Stuart Carnie 4201db6f01 Metal: Ensure stencil-only rendering is supported
Closes #106652
2025-05-21 08:45:30 +10:00
Rémi Verschelde 25a3c27c41
Merge pull request #105628 from rsanchezsaez/apple/ios-visionos-4.5
Native visionOS platform support
2025-05-20 23:09:07 +02:00
Aaron Franke 19e6bc68aa
Explicitly handle Image AlphaMode enum instead of treating as bool
Co-authored-by: K. S. Ernest (iFire) Lee <ernest.lee@chibifire.com>
2025-05-20 05:04:23 -07:00
Ricardo Sanchez-Saez 47971c0a27
Introduce 'visionos' platform derived from 'apple_embedded' 2025-05-19 15:47:01 -07:00
Ricardo Sanchez-Saez 457299449d
Introduce 'drivers/apple_embedded' abstract platform for code reuse 2025-05-19 15:37:13 -07:00
Thaddeus Crews 2d42b889d1
Merge pull request #104124 from Ivorforce/alloc-static-calloc
Add `Memory::alloc_static_zeroed` to allocate memory that's filled with zeroes.
2025-05-19 08:01:33 -05:00
Thaddeus Crews 83ba0687f7
Merge pull request #106407 from DarioSamo/present-validation-error
Rework semaphores for presentation to be created per swap chain image to fix validation error.
2025-05-15 10:22:18 -05:00
Thaddeus Crews 902d2b45bb
Merge pull request #106400 from RandomShaper/win_compat
Improve platform compatibility of Windows and Direct3D 12
2025-05-15 10:22:16 -05:00