da149d32cf
Force GC to run periodically in order to reduce stuttering
2023-05-08 23:29:39 +03:00
Wojtek Figat
69cdb1268a
Merge remote-tracking branch 'origin/master' into 1.6
2023-05-08 12:58:42 +02:00
Wojtek Figat
ec2226f06e
Fixes for dotnet7 after #1061 and 5e31a678bd
2023-05-05 11:58:11 +02:00
Wojtek Figat
17fbfc969b
Merge branch 'weak_handle_improvements_2' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-weak_handle_improvements_2
2023-05-05 10:04:27 +02:00
Wojtek Figat
f82e4b332d
Merge branch 'reuse_pooled_array_buffers' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-reuse_pooled_array_buffers
2023-05-05 10:02:28 +02:00
5efbfc86ad
Prevent weak managed handle collections during long operations
...
Loading larger scenes may trigger multiple collections during the P/Invoke call,
so prevent collections from happening within a second to avoid in-flight handles
getting collected before the operation finishes.
2023-05-01 20:08:00 +03:00
36a9ffe3aa
Try to reuse previously allocated buffers in pooled ManagedArrays
2023-05-01 20:07:27 +03:00
65b63da93a
Improve custom attributes caching in managed classes
2023-05-01 20:06:51 +03:00
320955f8b7
Use weak handles for marshalling temporary managed-to-native parameters
2023-04-29 12:41:02 +03:00
6378f62acd
Improve weak managed handle collection
...
Use thread-static pools for weak managed handles in order to reduce locking,
and collect the handles either right after garbage collection or when the pool
size becomes too large.
2023-04-29 12:40:58 +03:00
Wojtek Figat
8b2d3db3f1
Fix passing boxed reference values to managed thunk and properly unbox non-POD structures
2023-04-18 15:54:54 +02:00
Wojtek Figat
f046642ba7
Improve stability by fixing various crashes with dotnet7
2023-04-18 12:36:33 +02:00
Wojtek Figat
9a84f9e4ac
Improve native library path on dotnet when using plugins
2023-04-17 14:06:47 +02:00
Wojtek Figat
609217a3bb
Fix using Nullable<T> in C# properties
...
Fixes #935
2023-04-12 15:47:03 +02:00
7df5a7c646
Fix managed method invoker delegate caching
2023-04-09 18:25:14 +03:00
Wojtek Figat
84bb56d68b
Minor dotnet tweaks
2023-04-03 14:12:27 +02:00
Wojtek Figat
350112a0d7
Fix C# string chars getter in AOT build
2023-04-03 11:23:32 +02:00
Wojtek Figat
21f419dd4b
Fix C# assemblies loading in AOT mode (use file path to correctly load precompiled native assembly)
2023-04-02 14:50:42 +02:00
Wojtek Figat
12f4dc74d2
Optimize default C# stdlib references to prevent using jit-ed features in a game assembly
2023-04-01 23:34:05 +02:00
Wojtek Figat
dfca248ebd
Optimize C# IsCollectible to be used in Editor-only builds
2023-03-31 14:56:57 +02:00
Wojtek Figat
a25eae5d10
Move dotnet7 native interop, wrappers and marshalers into FlaxEngine.Interop namespace
2023-03-28 13:20:18 +02:00
Wojtek Figat
6f7b138488
Implement missing dotnet7 api
2023-03-28 13:00:42 +02:00
Wojtek Figat
52fb941237
Refactor Native Interop codebase with cleanup/rename
2023-03-28 12:53:06 +02:00
Wojtek Figat
0694f87b0d
Fixes for Visual Scripting interop via C# on new dotnet7 hosting
2023-03-28 12:01:55 +02:00
Wojtek Figat
ed13de2d5b
Fix using managed arrays with Variant in dotnet7
2023-03-27 19:41:53 +02:00
Wojtek Figat
4755c42d70
Fix .NET generic class typename to match old mono style without inlined assembly name and ver
2023-03-27 17:30:48 +02:00
Wojtek Figat
510fc443e8
Refactor CoreCLR runtime into explicit dotnet api instead of mocking mono api
...
Required by platforms that will use mono under the hood for .Net 7
New `USE_CSHARP` define for C# ability
Engine doesn't use `mono_*` apis directly but via MCore/MClass/MMethod/ apis
2023-03-27 17:29:42 +02:00
Wojtek Figat
5dbc5f42d2
Remove mono files
2023-03-20 19:32:24 +01:00
Wojtek Figat
0ba261d338
Add iOS platform (refactor Mac into shared Apple platform impl)
2023-03-15 20:58:23 +01:00
Wojtek Figat
aaaf7c5c37
Various fixes to scripting
2023-03-06 16:17:52 +01:00
Wojtek Figat
60f21d1a92
Update old copyright headers
2023-03-03 17:14:35 +01:00
Wojtek Figat
a17981bc87
Merge branch 'system_array_marshalling' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-system_array_marshalling
2023-02-28 10:26:56 +01:00
Wojtek Figat
f88dd50098
Merge commit '272ffe2ea22eecb8f7cd6662efc1cadbe5593feb' into dotnet7
2023-02-27 23:17:04 +01:00
Wojtek Figat
499df770cc
Match C++ managed memory alloc with C# for scripting
2023-02-27 22:56:15 +01:00
87e9046e41
Fix native to managed marshalling of System.Array
2023-02-19 20:33:12 +02:00
1c74e89f0d
Revert "Add System.Array interop from native return to managed world"
...
This reverts commit 272ffe2ea2 .
2023-02-19 20:32:50 +02:00
Wojtek Figat
272ffe2ea2
Add System.Array interop from native return to managed world
2023-02-19 16:58:37 +01:00
5b23a4b318
Update tracy to v0.9
2023-02-18 22:35:26 +02:00
Wojtek Figat
45a0b25ee4
Fix after merge
2023-02-13 10:52:11 +01:00
Wojtek Figat
ac59cc4633
Merge remote-tracking branch 'origin/master' into dotnet7
2023-02-13 10:05:51 +01:00
Wojtek Figat
2a6fb3ba81
Merge branch 'threadsafe_managedarraypool' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-threadsafe_managedarraypool
2023-02-13 10:04:03 +01:00
Wojtek Figat
82823d6945
Various improvements and fixes
2023-02-09 20:05:46 +01:00
Wojtek Figat
ea9dd48da9
Expose ManagedArray to be used in game code bindings
2023-02-06 10:44:10 +01:00
Wojtek Figat
547f4d1180
Fix missing getter/setter methods attributes
2023-02-06 10:43:08 +01:00
02c6354003
Store pooled ManagedArray in thread-local storage
2023-01-29 18:09:37 +02:00
Wojciech Figat
798b950046
Merge branch 'dotnet7' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-dotnet7
2023-01-24 09:30:38 +01:00
Wojciech Figat
f1f5dacb6f
Add unit test to verify LibraryImport attributes usage for proper bindings
2023-01-24 09:25:39 +01:00
Wojciech Figat
f3366178ea
Refactor manually written managed bindings to use C-style exported P/Invoke
2023-01-23 18:14:38 +01:00
a917567e92
Fix passing weak managed string handles in marshallers
2023-01-22 17:29:30 +02:00
Wojciech Figat
7b20bc38a4
Merge branch '1.5' into dotnet7
...
# Conflicts:
# Content/Shaders/GI/DDGI.flax
# Content/Shaders/GI/GlobalSurfaceAtlas.flax
# Content/Shaders/TAA.flax
# Content/Shaders/VolumetricFog.flax
# Source/Tools/Flax.Build/Projects/VisualStudio/VCProjectGenerator.cs
2023-01-17 11:52:52 +01:00