Commit Graph

368 Commits

Author SHA1 Message Date
1c1c3200e4 Misc cleanup in EditorExportPlatform 2025-10-29 22:25:37 +01:00
edbfb7a6ec Merge pull request #111183 from stuartcarnie/matias-uma-pc-pr
Add Persistent Buffers utilizing UMA
2025-10-24 11:23:11 -05:00
9d2b619f51 Merge pull request #108737 from bruvzg/adb_scrcpy
[Android] Add export option to use "scrcpy" to run project from editor.
2025-10-24 11:23:03 -05:00
230adb7511 Add Persistent Buffers
This work is a heavily refactored and rewritten from TheForge's initial
code.

TheForge's original code had too many race conditions and was
fundamentally flawed as it was too easy to incur into those data races
by accident.

However they identified the proper places that needed changes, and the
idea was sound. I used their work as a blueprint to design this work.

This PR implements:

 - Introduction of UMA buffers used by a few buffers
(most notably the ones filled by _fill_instance_data).

Ironically this change seems to positively affect PC more than it does
on Mobile.

Updates D3D12 Memory Allocator to get GPU_UPLOAD heap support.

Metal implementation by Stuart Carnie.

Co-authored-by: Stuart Carnie <stuart.carnie@gmail.com>
Co-authored-by: TheForge team
2025-10-24 08:16:19 +11:00
79c3bf447a Merge pull request #109356 from KoBeWi/advanced_presets
Move advanced toggle state out of export presets
2025-10-23 15:33:52 -05:00
f7263b9517 [Android] Add export option to use "scrcpy" to run project from editor. 2025-10-14 15:12:48 +03:00
d3285f5468 Merge pull request #111185 from WhalesState/vp-disable-xr
More XR disable for Viewport and export.
2025-10-13 19:28:56 -05:00
4219ce91f2 Merge pull request #110485 from bruvzg/aemb_dtr
Fix iOS/visionOS export plugin crash on exit.
2025-10-13 07:35:19 +02:00
ce98fae6e8 Merge pull request #111302 from hijawesam/fix/encryption-docs-link
Editor: Fix 'More Info…' link in Export/Encryption
2025-10-06 14:34:06 -05:00
9894256e3a More XR disable for Viewport and export. 2025-10-06 20:15:07 +03:00
d1d28c0bcf Merge pull request #111223 from Ivorforce/remove-iterator-include
Replace `std::size` usage with `std_size` to avoid `<iterator>` include.
2025-10-06 09:06:49 -05:00
a9d361f88f editor: Fix 'More Info…' link in Export/Encryption (Fixes #111108) 2025-10-05 22:28:31 +03:00
19c47c5d99 Remove #include "scene/main/timer.h" from control.h 2025-10-05 14:41:06 +09:00
1db0a60dc0 Replace std::size usage with std_size to avoid <iterator> include. 2025-10-05 00:26:11 +02:00
cf3c00056c Merge pull request #109974 from rsanchezsaez/apple/swiftui-lifecycle
SwiftUI lifecycle for Apple embedded platforms
2025-10-03 12:01:09 -05:00
3ffcae66a8 Renderer: Fix missing shader_name; use forward declarations
* Moving over to RenderingShaderContainer, missed setting shader_name
* Use forward declaration reduces compile time when modifying
  rendering_shader_container.h from over 950s to about 10-15
2025-10-02 10:02:18 +10:00
4594de69fd Merge pull request #111013 from stuartcarnie/shader_container_ext
Renderer: Move `reflect_spirv` to `RenderingShaderContainer`
2025-10-01 17:54:09 -05:00
22467f3a5b Merge pull request #111018 from Zylann/fix_double_build_get_downloads_availability
Fix unreachable code warning in double-precision builds
2025-09-30 20:10:38 -05:00
5240f1c283 Merge pull request #108658 from bruvzg/ed_pl_init
[EditorExportPlatform] Move initialization to a dedicated method.
2025-09-30 18:35:25 -05:00
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
0534423c58 Fix unreachable code warning in double-precision builds 2025-09-29 18:36:00 +02:00
e366471fdc Add GDSOFTCLASS to deeper inheritors of Object 2025-09-24 19:15:56 +01:00
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
f553875728 Merge pull request #110387 from timothyqiu/project-zip-utf8
Set language encoding flag when using Pack Project as ZIP
2025-09-22 13:28:49 -05:00
14bdf39806 Merge pull request #107789 from rsanchezsaez/apple/apple-embedded-export-template
Replace iOS/visionOS Xcode templates by new Apple embedded template
2025-09-19 13:07:09 -05:00
988721cda3 Merge pull request #106146 from gtibo/show-encryption-key
Add "Show Encryption Key" toggle
2025-09-19 09:16:59 -05:00
490af72c99 Merge pull request #109815 from Muller-Castro/export-script-file
Fix `EditorExportPlugin::_export_file()` ignoring GDScripts
2025-09-16 11:44:52 -05:00
906aff5331 Fix iOS/visionOS export plugin crash on exit. 2025-09-13 11:22:40 +03:00
cadd08da9e Set language encoding flag when using Pack Project as ZIP 2025-09-11 16:44:09 +08:00
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
9504b0ff7a Fix EditorExportPlugin::_export_file() ignoring GDScripts 2025-09-03 16:50:28 -03:00
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
e137c882c0 Disable smolv and change the shader hash when SPIR-V debug info is enabled. 2025-08-28 14:17:58 -03:00
9086b5c05f Fix editor export plugins always causing resources to be edited.
- Remove the ', true' which always caused the if statement to be true.
- Add a new comparison before setting again the same array or dictionary back to the object. Not all objects are programmed to take into account that the setter could be called with the exact same Array or Dictionary from the class. This check ensures that scenario doesn't happen since it should be unnecessary.
2025-08-28 12:21:30 -03:00
6d9983e958 [apple embedded] Replace individual iOS/visionOS Xcode templates by Apple embedded template 2025-08-25 12:42:34 -07:00
702bbb3eab Add default param value to EditorExportPlatform::get_forced_export_files
Add default parameter value to a new parameter added in 4.5 to `EditorExportPlatform::get_forced_export_files` so we can avoid breaking compatibility for GDScript.
2025-08-16 04:16:43 +02:00
744484b6dd Move advanced toggle state out of export presets 2025-08-06 15:50:03 +02:00
e09cb44a94 Add Show Encryption Key toggle 2025-08-01 09:01:59 +02:00
9c325d0f91 Remove selective shader baking. 2025-07-23 23:02:43 +03:00
e407f55fbf Fix editor one-click icons not showing. 2025-07-21 12:18:44 +03:00
f20e5152ad [EditorExportPlatform] Move initialization to a dedicated method. 2025-07-16 08:55:23 +03:00
d5cb0f948e Merge pull request #108478 from KoBeWi/phantom_paths
Fix export path "leaking" between presets
2025-07-14 10:30:42 -05:00
4753ca4219 Fix export path "leaking" between presets 2025-07-10 15:18:34 +02:00
a8873727ac [macOS] Selectively bake specific shader variants for MoltenVK. 2025-07-09 20:09:56 +03:00
f11aff3841 Editor: Restructure editor code
Moving various editor files into sub folders to reduce clutter
2025-07-04 18:18:22 +02:00
42733a2a5c Implement sparse bundle PCK support. 2025-06-26 00:47:25 +02:00
a272376f89 Cleanup accessibility names. 2025-06-23 11:08:36 +03:00
ec37e7e97f Fix doctool crash and errors on macOS. 2025-06-19 08:35:28 +03:00
939f29f6d5 Apple: Improve reliability of Apple Embedded build and deployment 2025-06-19 06:33:08 +10:00
ee84a5a100 Merge pull request #107482 from nikitalita/fix-pck-misalign
PCKPacker: Fix first file being written mis-aligned
2025-06-13 18:37:46 +02:00