Commit Graph

300 Commits

Author SHA1 Message Date
Rémi Verschelde e12a424bc5 Workaround mingw-gcc LTO ICE by re-adding some dead code...
Not my finest work, but without that code removed in #102179, mingw-gcc 14.2.1 on Fedora 41
(but also confirmed with versions on macOS and WSL) crashes when linking with LTO.

We need to dig deeper to understand the bug, report it upstream and work it around in a
cleaner way. But for now this unblocks building Windows binaries with LTO, and should be
harmless.
2025-02-07 01:16:38 +01:00
Thaddeus Crews dfedfe7ac7 Merge pull request #102179 from bruvzg/remove_sim
Disable Metal and Vulkan renderers in simulator builds. Remove simulator support from editor/exporter.
2025-02-03 08:16:14 -06:00
Thaddeus Crews 81e17d879d Merge pull request #102109 from bruvzg/export_res
[Export] Respect icon/splash screen import settings.
2025-01-31 09:15:45 -06:00
Janis Kirsteins e77a011188 Fix a crash in Joypad initialization on iOS
Creating a JoypadApple can trigger a notification to add a joypad (if
a device is already connected before the game is started). Observed
on iOS 18.2.1 with a Nimbus SteelSeries.

However at this point the Input singleton is not available yet, so
it will crash.

This commit moves JoypadApple initialization to `initialize_joypad()`
which is called explicitly after the Input singleton is available.

This is consistent with other platform joypad initialization.
2025-01-31 12:57:52 +01:00
Pāvels Nadtočajevs b3f7c8f5d3 [Export] Respect icon/splash screen import settings. 2025-01-31 07:45:16 +02:00
Pāvels Nadtočajevs 9310d2512f Disable Metal and Vulkan renderers in simulator builds. Remove simulator support from editor/exporter. 2025-01-30 11:32:01 +02:00
Pāvels Nadtočajevs f355c9ad37 [iOS] Fix provisioning profile specifier / UUID validation. 2025-01-17 19:20:17 +02:00
Adam Scott 33e16435f5 Replace some problematic uses of String::num to String::num_int64 2025-01-15 12:51:51 -05:00
Rémi Verschelde 76c8e76560 Merge pull request #101284 from akx/tyops
A handful of typo fixes
2025-01-08 15:53:33 +01:00
Rémi Verschelde dea597c679 Merge pull request #94580 from stuartcarnie/sgc/macos_joypad
Apple: Bug fixes and improvements for game controllers
2025-01-08 15:53:15 +01:00
Stuart Carnie cd17cb0110 [macos, ios]: Refactor joypad support into shared code, numerous bugfixes 2025-01-08 07:00:23 -07:00
Aarni Koskela f134769506 Fix various typos
* Add TODO notes for typos that should be fixed for 5.0

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2025-01-08 14:47:42 +02:00
Yufeng Ying 34d8255947 Force build editor with regex module, remove checking code.
Fix include.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2025-01-07 19:43:23 +08:00
Rémi Verschelde 399f585042 Merge pull request #99603 from stuartcarnie/metal_fx_upscaling
Metal: Add MetalFX upscaling support
2025-01-06 22:47:08 +01:00
Rémi Verschelde 11f95e7feb Merge pull request #99350 from bruvzg/fs_mime
Support MIME types in file dialog filters on macOS and Linux.
2025-01-06 22:46:59 +01:00
Stuart Carnie 11dc4f2e5e Metal: Add MetalFX upscaling support
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2025-01-06 06:03:18 -07:00
Pāvels Nadtočajevs e1f129cb52 Support MIME types in file dialog filters on macOS and Linux. 2025-01-04 22:05:35 +02:00
Ricardo Subtil b77aa473a1 Implement a "Recovery Mode" for recovering crashing/hanging projects during initialization 2025-01-03 10:50:15 +00:00
A Thousand Ships a1846b27ea Improve use of Ref.is_null/valid
Use `is_null` over `!is_valid` and vice versa.
2024-12-23 16:35:02 -05:00
Rémi Verschelde fd5548a8b7 Merge pull request #100634 from YYF233333/iwyu2
Remove unused headers in servers
2024-12-20 23:57:09 +01:00
Yufeng Ying e88e30c273 Remove unused headers in servers.
Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2024-12-20 18:51:01 +08:00
Hilderin 9d2a4c03be Embedding game process in editor 2024-12-18 17:52:42 -05:00
Fredia Huya-Kouadio 2d3f6963b2 Update the visibility for the custom templates for all platforms
Hide the custom template options behind the `Advanced Options` toggle
2024-12-17 13:08:47 -08:00
ArchercatNEO 00a791f04e Use temp dirs instead of cache dirs for export
Fixes #95897
During CI scenarios $HOME may be set to an invalid value (such as
`/var/empty`).
Using temp dirs fits better with godot's usage of these paths and is
independent from the user's $HOME.
2024-12-08 12:07:17 +00:00
Thaddeus Crews 156bc92282 Merge pull request #98397 from adamscott/add-tmp-support
Add temp utilities (alias `OS::get_temp_dir()`, `FileAccess::create_temp()`, and `DirAccess::create_temp()`)
2024-12-03 14:40:59 -06:00
Adam Scott 1b3e483899 Add file and dir temporary utilities
Co-authored by @Alex2782 for the Android bindings.
Many thanks to the reviewers also.

Co-authored-by: Alex <alex.hart.278@gmail.com>
2024-12-02 12:08:14 -05:00
Pāvels Nadtočajevs d3e16c9ee2 [iOS] Add options to specify additional entitlements and capabilities in the export settings. 2024-12-02 17:38:19 +02:00
Rémi Verschelde 506930063a Merge pull request #98093 from zynga-jpetersen/jpetersen/ios_xcode_PROVISIONING_PROFILE_SPECIFIER_support
Support for XCode 8+ feature `PROVISIONING_PROFILE_SPECIFIER`
2024-11-29 22:46:29 +01:00
Thaddeus Crews 925b690c98 Core: Integrate Ref::instantiate where possible 2024-11-10 12:41:26 -06:00
Anish Mishra 0dfd18c84b [DisplayServer] Add feature flag for native file dialog access to user/res and options 2024-10-30 14:13:43 +05:30
Thaddeus Crews 05a4620e88 Merge pull request #98615 from Summersay415/three-opengls-please
Fix fallbacks to OpenGL
2024-10-29 19:25:48 -05:00
Thaddeus Crews b7a0971ad2 Merge pull request #97934 from adamscott/give-AThousandShips-a-break
[Codestyle] Set clang-format `RemoveSemicolon` rule to `true`
2024-10-29 19:25:36 -05:00
jpetersen 4036270f8d Support for XCode 8+ feature PROVISIONING_PROFILE_SPECIFIER
https://developer.apple.com/documentation/xcode/build-settings-reference\#Provisioning-Profile

Used to allow for specific provisioning profile to be specified by name instead of UUID.

Needed to solve this problem where uuid wasn’t disambiguating: https://stackoverflow.com/questions/45051712/signing-app-with-xcodebuild-command-line-with-provisioning-profile-fails

Allows for specification for release and debug versions through environment variables or through export template attributes.

Debug:
EnvironmentVariable: GODOT_IOS_PROFILE_SPECIFIER_DEBUG
Export template: “application/provisioning_profile_specifier_debug”

Release:
EnvironmentalVariable: GODOT_IOS_PROFILE_SPECIFIER_RELEASE
Export Template: “application/provisioning_profile_specifier_release”
2024-10-28 11:37:55 -07:00
Summersay415 6d14cd6ff9 Fix fallbacks to OpenGL 2024-10-28 22:57:19 +07:00
Thaddeus Crews 17f06f6dae Merge pull request #97555 from dustdfg/platform_methods/extract_validate_arch
Build System: Extract `validate_arch` helper functions
2024-10-25 13:03:48 -05:00
Adam Scott 0d350e7108 Set clang-format RemoveSemicolon rule to true
- Set clang-format `Standard` rule to `c++20`
2024-10-25 13:49:43 -04:00
Pedro J. Estébanez c1fd4df3e4 Android & iOS: Enable strict aliasing 2024-10-21 13:33:42 +02:00
Yevhen Babiichuk (DustDFG) 7aacdaa071 Build System: Extract validate_arch helper function
Signed-off-by: Yevhen Babiichuk (DustDFG) <dfgdust@gmail.com>
2024-10-06 07:50:49 +03:00
Rémi Verschelde b0d512636c Merge pull request #97570 from dustdfg/ios_macos/print_warning_instead_of_comments
Replace comments with printed warning for Metal on x86_64
2024-10-04 22:43:46 +02:00
bruvzg 4c520e9400 [iOS] Add support for dark and tinted icon versions. 2024-10-04 14:00:27 +03:00
bruvzg 25f439c573 [DisplayServer] Implement has_hardware_keyboard method for Android and iOS. 2024-10-02 20:09:48 +03:00
Gergely Kis 146ba4106f Move Vulkan includes to a central godot_vulkan.h header
Also fixes Vulkan build problem with recent Clang.
2024-09-29 17:53:18 +02:00
Yevhen Babiichuk (DustDFG) 1abcfdda85 Replace comments with printed warning for Metal on x86_64
Signed-off-by: Yevhen Babiichuk (DustDFG) <dfgdust@gmail.com>
2024-09-28 08:28:33 +03:00
Thaddeus Crews 9f9ee0c813 SCons: Add unobtrusive type hints in SCons files 2024-09-25 09:34:35 -05:00
SheepYhangCN 3b839347df Added fallback_to_opengl3 2024-09-20 06:10:05 +08:00
A Thousand Ships dd6443193c [Editor] Expose more editor settings to documentation
Co-authored-by: Tomasz Chabora <kobewi4e@gmail.com>
2024-09-12 15:34:49 +02:00
bruvzg 07e986f728 Allow adding custom export platforms using scripts / GDExtension. 2024-08-28 10:29:01 +03:00
Rémi Verschelde 568589c9d8 Merge pull request #90993 from darksylinc/matias-TheForge
Add debug utilities for Vulkan
2024-08-22 00:38:22 +02:00
Matias N. Goldberg 364f916f3f Add debug utilities for Vulkan
Features:
- Debug-only tracking of objects by type. See
get_driver_allocs_by_object_type et al.
 - Debug-only Breadcrumb info for debugging GPU crashes and device lost
 - Performance report per frame from get_perf_report
- Some VMA calls had to be modified in order to insert the necessary
memory callbacks

Functionality marked as "debug-only" is only available in debug or dev
builds.

Misc fixes:
 - Early break optimization in RenderingDevice::uniform_set_create

============================

The work was performed by collaboration of TheForge and Google. I am
merely splitting it up into smaller PRs and cleaning it up.
2024-08-21 23:48:08 +02:00
Rémi Verschelde 6e9bcc0f18 SCons: Better validation for platform-specific opt-in drivers
This replaces cryptic compilation errors with a clear error message
and early build termination.
2024-08-21 22:53:34 +02:00