1
0
Fork 0
Commit Graph

4774 Commits

Author SHA1 Message Date
chocola-mint ead282ff13 Remove `file_access.h` and `script_backtrace.h` includes from `logger.h`. 2025-10-05 17:49:23 +09:00
Lukas Tenbrink ad600125df Rewrite `HashMapHasherDefault` based on type traits - it is now possible to declare a default hashing function for any type.
Remove cross-project includes from `hashfuncs.h`.
Improve hashing function for `Color` (based on values instead of `String`).
Move `Variant` comparison from `hash_map.h` to `dictionary.cpp` (`VariantComparatorDictionary`), where it's used.
Remove now unnecessary `HashableHasher`.
2025-10-05 01:49:11 +02:00
Kaleb Reid 79b1a6defc Implement DirectionalLight3D cull masks in Compatibility 2025-10-04 16:08:27 -07:00
Lukas Tenbrink 1db0a60dc0 Replace `std::size` usage with `std_size` to avoid `<iterator>` include. 2025-10-05 00:26:11 +02:00
Kaleb Reid a88c54a5c7 Clear intermediate buffers when not in use in Compatibility 2025-10-04 13:51:23 -07:00
devloglogan 39c449fc60 Add null check when getting motion vector fbo 2025-10-04 13:18:59 -05:00
Kaleb Reid 91167c3c23 Use correct AABB for SpotLight3Ds when spot_angle > 90 2025-10-04 02:12:51 -07:00
Kaleb Reid e1f19d14dd Always use RenderSceneBuffers to manage backbuffer in Compatibility 3D 2025-10-04 01:06:09 -07:00
Kaleb Reid c20ab940aa Apply sun scatter from lights with shadows in compatibility 2025-10-04 00:35:31 -07:00
Kaleb Reid 8ad335eae0 Divide screen texture by luminance multiplier in compatibility 2025-10-04 00:19:42 -07:00
Kaleb Reid d616da4498 Fix warning spam in Compatibility when using depth texture 2025-10-03 16:13:54 -07:00
Thaddeus Crews d9ba9ba3da
Merge pull request #97151 from devloglogan/motion-vectors
Implement motion vectors in compatibility renderer
2025-10-03 12:01:10 -05:00
Thaddeus Crews cf3c00056c
Merge pull request #109974 from rsanchezsaez/apple/swiftui-lifecycle
SwiftUI lifecycle for Apple embedded platforms
2025-10-03 12:01:09 -05:00
Thaddeus Crews 1566eec9cf
Merge pull request #111191 from Nintorch/fix-joy-vibration
Fix weak and strong joypad vibration being swapped
2025-10-03 12:01:04 -05:00
Thaddeus Crews 38af23a654
Merge pull request #89409 from aaronfranke/server-folders
Move server files into their subfolders
2025-10-03 12:01:00 -05:00
Nintorch 4a3bf069a6 Fix invalid reported joypad presses 2025-10-03 11:35:09 +05:00
Nintorch e5ecc392c9 Fix weak and strong joy vibration being swapped 2025-10-03 11:08:39 +05:00
Thaddeus Crews 51ba8c1c12
Merge pull request #111146 from Kaleb-Reid/fix-sdl-no-dbus
Fix compiling SDL without DBus under Linux
2025-10-02 15:11:54 -05:00
Kaleb Reid 03eb42642c Fix compiling SDL without DBus under Linux 2025-10-02 00:56:32 -07:00
Thaddeus Crews 4594de69fd
Merge pull request #111013 from stuartcarnie/shader_container_ext
Renderer: Move `reflect_spirv` to `RenderingShaderContainer`
2025-10-01 17:54:09 -05:00
Pāvels Nadtočajevs 3245230a40
Suppress SIGPIPE when writing to a pipe. 2025-10-01 13:39:29 +03:00
Aaron Franke 3d1c9fd5de
Move server files into their subfolders 2025-09-30 19:39:39 -07:00
Thaddeus Crews 6b22951162
Merge pull request #107954 from stuartcarnie/unix_domain_socket_support
Add Core UNIX domain socket support
2025-09-30 18:35:08 -05:00
Thaddeus Crews 4c3765d9ff
Merge pull request #108826 from BlueCube3310/bc1-rgb
Compatibility: Explicitly use BC1's RGB variant
2025-09-30 18:35:04 -05:00
Thaddeus Crews c28b6c2ced
Merge pull request #109186 from clayjohn/reflection-probe-size-update
Prompt editor restart when reflection probe size is updated
2025-09-30 18:34:57 -05:00
BlueCube3310 d07a72e067 Compatibility: Explicitly use BC1's RGB variant 2025-09-30 20:17:22 +02:00
Thaddeus Crews 4a1c1c483b
Merge pull request #110873 from stuartcarnie/fix_metal_baker
Metal: Fix Metal compiler version inspection
2025-09-30 11:19:21 -05:00
Thaddeus Crews 31b25d5971
Merge pull request #111032 from Joonnas/bugfix-stencil-issue-d3d12
Fix d3d12 stencil buffer not clearing
2025-09-30 11:19:20 -05:00
Thaddeus Crews 21fd4faf1b
Merge pull request #107469 from Ivorforce/vector-localvector-explicit-span-conversions
Remove implicit conversions between `LocalVector` and `Vector`
2025-09-30 11:19:17 -05:00
devloglogan 8fef9a689e Implement motion vectors in compatibility renderer 2025-09-30 09:42:17 -05:00
Haoyu Qiu d5738b5cdd Unix: Fix retrieval of PID exit code 2025-09-30 12:29:49 +08:00
clayjohn aa8bc0b56d Prompt editor restart when reflection probe size is updated
Also formally deprecate the RS function for updating an individual probes size. The functionality was removed in 4.0, but the function itself was mistakenly left exposed.
2025-09-29 18:35:34 -07:00
Stuart Carnie 65e8b0951b Renderer: Move reflect_spirv to RenderingShaderContainer
This change introduces a new protected type, `ReflectedShaderStage` to
`RenderingShaderContainer` that derived types use to access SPIR-V and
the reflected module, `SpvReflectShaderModule` allowing implementations
to use the reflection information to compile their platform-specific
module.

* Fixes memory leak in `reflect_spirv` that would not deallocate the
  `SpvReflectShaderModule` if an error occurred.
* Removes unnecessary allocation when creating `SpvReflectShaderModule`
  by passing `NO_COPY` flag to `spvReflectCreateShaderModule2`
  constructor function.
* Replaces `VectorView` with `Span` for consistency
* Fixes unnecessary allocations in D3D12 shader container in
  `_convert_spirv_to_nir` and `_convert_spirv_to_dxil` which implicitly
  converted the old `VectorView` to a `Vector`
2025-09-30 06:40:14 +10:00
Jonas Seidl d1246b099e Fix d3d12 stencil buffer not clearing 2025-09-29 13:16:29 +02:00
GlitchedCode922 587c3134fb Fix permission handling for backup on write files 2025-09-27 18:49:39 +00:00
Stuart Carnie 7227fdd805 Core: Add UNIX domain socket support
> [!NOTE]
>
> Later versions of Windows has support for `AF_UNIX`, so it could be
> added.
2025-09-26 05:46:19 +10:00
Thaddeus Crews c32c2606f4
Merge pull request #110837 from wheatear-dev/add-gdsoftclass-deeper
Add `GDSOFTCLASS` to deeper inheritors of `Object`
2025-09-25 12:13:56 -05:00
A Thousand Ships bd65cfa876
Revert "Replace many uses of `is_class` with `derives_from`."
This reverts commit 78b743cf4a.
2025-09-25 13:48:53 +02:00
Stuart Carnie d93fe9038d Metal: Fix Metal compiler version inspection 2025-09-25 06:35:31 +10:00
Edward Moulsdale e366471fdc Add GDSOFTCLASS to deeper inheritors of Object 2025-09-24 19:15:56 +01:00
Thaddeus Crews 78b743cf4a
Merge pull request #110832 from Ivorforce/is-class-to-derives-from
Replace many uses of `is_class` with `derives_from`.
2025-09-24 09:59:09 -05:00
Lukas Tenbrink 8ef4a43ada Replace many uses of `is_class` with `derives_from`. 2025-09-23 19:59:00 +02:00
Thaddeus Crews cd3a6c88fd
Merge pull request #106200 from BlueCube3310/image-16-u16
Image: Implement 16-bit unorm and uint formats
2025-09-23 12:08:46 -05:00
Ricardo Sanchez-Saez 038f5934e7
[Apple embedded] Adopt SwiftUI lifecycle for Apple embedded platforms
- Introduces a SCons builder for Swift files
- Increases the minimum deployment targets to iOS 14.0, and visionOS 26.0.
- Replaces manually UIWindow management by a SwiftUI instantiated app.
2025-09-22 18:20:04 -07:00
Thaddeus Crews 3bf0f771ee
Merge pull request #110781 from Ivorforce/rasterizer-render-uv2-allocation
Use an array instead of `TightLocalVector` in `RasterizerSceneGLES3::_render_uv2`, to avoid allocation.
2025-09-22 13:28:53 -05:00
Thaddeus Crews 50ba0149e4
Merge pull request #110241 from Calinou/compatibility-shader-fix-depth-buffer
Fix shader compilation errors in Compatibility when using `depth_texture`
2025-09-22 13:28:43 -05:00
Lukas Tenbrink bc7c05bfbd Use an array instead of `TightLocalVector` in `RasterizerSceneGLES3::_render_uv2`, to avoid allocation. 2025-09-22 16:16:28 +02:00
Thaddeus Crews d8a909d99c
Merge pull request #110203 from DarioSamo/d3d12-clamp-mipmap
Clamp minimum size of 3D texture view in D3D12.
2025-09-19 13:07:19 -05:00
Thaddeus Crews 191efe2e91
Merge pull request #109778 from BlueCube3310/gles3-astc-detect
Compatibility: Improve ASTC extension detecting
2025-09-19 13:07:15 -05:00
Thaddeus Crews 747722d639
Merge pull request #109299 from BlueCube3310/compat-cube-fix
Compatibility: Fix cubemap faces order when setting texture data
2025-09-19 09:17:07 -05:00
Thaddeus Crews aa294bb3c8
Merge pull request #110360 from zorbathut/pr/memorybarrierrename
Rename RDD::MemoryBarrier to avoid conflicts with the Windows headers.
2025-09-17 11:34:15 -05:00
Thaddeus Crews b73ba6c58d
Merge pull request #110198 from zeux/sdl-linux-stdlib
Configure SDL assuming we, in fact, have a libc
2025-09-17 11:34:14 -05:00
Lukas Tenbrink abe3b481ae Make conversions from `LocalVector` to `Vector` explicit. 2025-09-16 21:41:28 +02:00
Thaddeus Crews 853884ba05
Merge pull request #109143 from sievaxx/more_sampler_default_texs
Add and enable default textures for other samplers
2025-09-16 11:44:51 -05:00
Thaddeus Crews 4dec6af2c8
Merge pull request #108613 from Repiteo/scons/fix-defines
SCons: Ensure `CPPDEFINES` is properly utilized
2025-09-16 11:44:45 -05:00
Thaddeus Crews 697474baad
Merge pull request #109793 from joaopedroxavier/double-sided-shadows-no-culling
Compatibility: Fix backface culling gets ignored when double-sided shadows are used
2025-09-16 11:44:44 -05:00
Thaddeus Crews 5f5b21481d
Merge pull request #106809 from lrahmann/d3d12_cpu_descriptor_heap
DirectX DescriptorsHeap pooling on CPU
2025-09-16 09:49:00 -05:00
Thaddeus Crews 1a6d3c2192
Merge pull request #110002 from BastiaanOlij/fix_openxr_viewport_texture_compatibility
OpenXR: Fix ViewportTextures not displaying correct texture (OpenGL)
2025-09-16 09:48:56 -05:00
Ben Rog-Wilhelm e5ab5acd95 Rename RDD::MemoryBarrier to avoid conflicts with the Windows headers. 2025-09-10 05:19:36 -05:00
Stuart Carnie b7aac81366 Metal: Ensure baking to binary sets minimum target OS
Co-authored-by: Travis Lange <travislange12@gmail.com>
2025-09-08 08:16:53 +10:00
Lukas Rahmann f7fd65923a Add descriptor heap pooling to D3D12. 2025-09-04 09:17:40 -03:00
Hugo Locurcio dd8bab9f89
Fix shader compilation errors in Compatibility when using `depth_texture`
Globals were defined too early, which means some uniforms were not available
at the point they were defined in.
2025-09-04 00:33:45 +02:00
Dario 1ce55b946c Clamp minimum size of 3D texture view in D3D12. 2025-09-02 15:13:27 -03:00
Arseny Kapoulkine dcefe95ae4 Configure SDL assuming we, in fact, have a libc.
Without this, on Linux and Linux alone, and only if SDL is builtin, the
definitions for some functions - notably, memset/memcpy - are taken from
SDL source.

This leaves them at the mercy of the compiler and may lead to the
optimal implementations of these functions not being selected. But the
main motivation for this is that it's action at a distance that is
incredibly surprising - linking in a gamepad support library should not
change the implementation of memset/memcpy!
2025-09-01 23:19:35 -07:00
Clay John 0f0bb7d225
Merge pull request #110025 from DarioSamo/fix-shader-debug-info-take-two
Fix --generate-spirv-debug-info regression (alternate take)
2025-09-01 19:37:27 -07:00
Thaddeus Crews 280503b4ee
Merge pull request #110063 from stuartcarnie/109846/ios_crash
Metal: Reduce baked version to MSL 3.1; validate minimum version
2025-09-01 19:09:56 -05:00
Thaddeus Crews ac5c6a1060
Merge pull request #110148 from bruvzg/0_5_msdf_outline
[MSDF] Fix outline bleed out at small sizes.
2025-09-01 12:25:41 -05:00
Thaddeus Crews 52a5644b5f
Merge pull request #108214 from Nintorch/fix-joypad-vendor-product
Fix `Input.get_joy_info()` regression after the SDL input driver PR
2025-09-01 11:14:12 -05:00
Pāvels Nadtočajevs f766e401db
[MSDF] Fix outline bleed out at small sizes. 2025-08-31 23:35:33 +03:00
Nintorch f28acf97d0 Fix Input.get_joy_info() regression
SDL input driver did not have the "xinput_index", "raw_name", "vendor_id" and "product_id" fields for this method and exposed an additional, essentially useless for the users "mapping_handled" field. This commit fixes these issues.
2025-08-29 22:13:40 +05:00
Stuart Carnie 1b64bcb98d Metal: Reduce baked version to MSL 3.1; validate minimum version
Validate the MSL version of the baked shader is <= the current version
supported by the OS, and return an error so it is recompiled.

Closes #109846
2025-08-29 05:48:51 +10:00
Dario e137c882c0 Disable smolv and change the shader hash when SPIR-V debug info is enabled. 2025-08-28 14:17:58 -03:00
Bastiaan Olij a38256c19e OpenXR: Fix ViewportTextures not displaying correct texture (Compatibility) 2025-08-27 13:02:39 +10:00
Thaddeus Crews 6db7f65110
Merge pull request #109819 from Nintorch/fix-get-connected-joypads
Fix DirectInput controllers on game startup
2025-08-25 09:54:17 -05:00
Thaddeus Crews b432e108d5
Merge pull request #109791 from Talkashie/master
Typo cleanup pass
2025-08-21 18:39:37 -05:00
Nintorch dd2e1b104b Fix DirectInput controllers on game startup
Now SDL and DirectInput don't complain when a game starts with a DirectInput controller already connected. Fixes "JoypadSDL::process_events: Error opening gamepad at index 1: IDirectInputDevice8::SetCooperativeLevel() DirectX error 0x80070006"
2025-08-21 13:21:48 +05:00
Thaddeus Crews 4012392cd6
Merge pull request #109786 from Repiteo/scons/metal-gnu++20
SCons: Use gnu++20 in metal driver
2025-08-20 12:07:16 -05:00
Thaddeus Crews 4f393e0c3c
Merge pull request #109644 from RandomShaper/fix_dupe_tex2darr
Fix material removal clearing all instances of shared texture arrays
2025-08-20 12:07:14 -05:00
Thaddeus Crews 28d1406d61
Merge pull request #109765 from bruvzg/msdf_outline_clamp
Fix MSDF outline size clamping.
2025-08-20 12:07:11 -05:00
Thaddeus Crews 5cd785d3a8
SCons: Use gnu++20 in metal driver 2025-08-20 09:56:38 -05:00
Talkashie 3ff4e29657 Typo fix round 2 2025-08-20 04:24:06 -05:00
João Pedro Xavier d6aca93c1a Fix bug where material with double-sided shadows ignores backface culling on compatibility renderer 2025-08-19 20:21:10 -07:00
Talkashie bc7e68dfd1 Typos 2025-08-19 18:32:59 -05:00
Thaddeus Crews c8b89b84cc
Merge pull request #109750 from Nintorch/fix-get-connected-joypads
Handle SDL joypad events for connected controllers on game startup (on Windows and Linux)
2025-08-19 10:29:46 -05:00
Thaddeus Crews b2deb22edd
Merge pull request #109749 from Repiteo/scons/mesa-rollback
SCons: Temporarily revert Mesa includes to `CPPPATH`
2025-08-19 10:29:45 -05:00
Thaddeus Crews ef44ec13d1
Merge pull request #109397 from bruvzg/execute_with_pipe_dsc_fix
[Unix] Fix `execute_with_pipe` closing wrong pipe handle.
2025-08-19 10:29:44 -05:00
BlueCube3310 d481a23c5a Compatibility: Improve ASTC extension detecting 2025-08-19 17:12:55 +02:00
Pāvels Nadtočajevs 6a3941b5d9
Fix MSDF outline size clamping. 2025-08-19 08:28:33 +03:00
Nintorch 197961ddc9 Process SDL joypad events on startup
Make sure that SDL events are processed when the SDL joypad input driver is initialized, this will allow it to register the connected controllers when a game starts.
2025-08-18 23:55:20 +05:00
Thaddeus Crews 65b8210b9b
SCons: Revert Mesa includes to `CPPPATH` 2025-08-18 13:37:46 -05:00
Pedro J. Estébanez 919006eb35 Fix material removal clearing all instances of shared texture arrays 2025-08-18 12:21:15 +02:00
Thaddeus Crews ca452113d4
Merge pull request #109437 from bruvzg/msdf_no_t
Use MSDF instead of MTSDF for font rendering.
2025-08-11 09:55:28 -05:00
Thaddeus Crews 1ee48c5fde
Merge pull request #109478 from TCROC/fix-ios-auto-orientation
Fix screen_orientation not being assigned on ios
2025-08-11 09:55:22 -05:00
Thaddeus Crews da91a55b3c
Merge pull request #109283 from Nintorch/master
Fix C# environment variables access on Linux (SDL-related bug)
2025-08-11 09:55:21 -05:00
Nintorch 5876648666 Fix C# environment variables (SDL-related issue)
For some reason, these SDL defines mess with C#'s ability to use environment variables
2025-08-11 11:34:30 +05:00
Travis Lange d4b7222ca0 fixed screen_orientation not being assigned on ios 2025-08-09 20:46:17 -04:00
Pāvels Nadtočajevs 86e61a311f
Use MSDF instead of MTSDF for font rendering.
Co-authored-by: K. S. Ernest (iFire) Lee <ernest.lee@chibifire.com>
2025-08-09 10:41:16 +03:00
Pāvels Nadtočajevs 9d13037653
[Unix] Fix `execute_with_pipe` closing wrong pipe handle. 2025-08-07 19:04:01 +03:00
Pāvels Nadtočajevs 8b4e34cda5
[Unix] Replace symlink target, not the link itself when using backup save mode. 2025-08-07 11:14:18 +03:00
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
BlueCube3310 16b9ee6f50 Image: Implement 16-bit unorm and uint formats 2025-06-28 00:30:52 +02: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