Commit Graph

191 Commits

Author SHA1 Message Date
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