Commit Graph

110 Commits

Author SHA1 Message Date
GoaLitiuM b6879e7688 Fix concurrent access to cached marshalled type sizes
Also optimize hot path for type size when we have generic type
2024-03-03 01:32:52 +02:00
mafiesto4 859c420d76 Update year in copyright note 2024-02-26 19:00:48 +01:00
mafiesto4 8898c20ad1 Fix crash when using generic interface in C#
#1983
2024-02-25 23:40:14 +01:00
mafiesto4 2df3d0f747 Fix crash when loading level with abstract script class
#1990
2024-02-25 14:54:57 +01:00
mafiesto4 f0f8da3c09 Various fixes 2024-02-16 12:29:59 +01:00
mafiesto4 7db0ae59bb Fix managed method delegate creation to be thread-safe 2023-12-07 14:35:13 +01:00
mafiesto4 cebd28c3a7 Revert fd938e8284 2023-11-29 18:46:18 +01:00
mafiesto4 d3a77c7a55 Fix regressions 2023-11-28 17:38:06 +01:00
mafiesto4 fd938e8284 Fix incorrect pointer marshalling from Variant to managed runtime
#1992
2023-11-28 11:22:14 +01:00
mafiesto4 39dc5939e3 Fix crash when boxing native non-POD structure into managed format
#1992
2023-11-27 17:08:07 +01:00
mafiesto4 0f14672e3b Codestyle formatting and fixes for #1888 2023-11-13 09:45:33 +01:00
SS 77b6a4a68b Fixed issue in NativeInterop
Readded check in current app domain to ExtendedSerializationBinder
2023-11-07 16:03:03 -07:00
SS d6e93a7fab Fixed issue involving stale scripting assemblies in FlaxEngine.Json dynamic type resolution
Added new ExtendedSerializationBinder
Added callback to clear serializer cache on scripting assembly reload
Added low-cost mechanism to invalidate the SerializerCache after domain reload
2023-11-06 18:49:30 -07:00
mafiesto4 bfaa292b04 Fix invoking managed method on value types (eg. Transform) to properly handle instance value
#1801
2023-10-26 11:37:37 +02:00
mafiesto4 af468ee6ae Fix scripting interop in AOT mode to use reflection-based field access 2023-10-11 15:18:28 +02:00
mafiesto4 ac542bf920 Fix FieldHelper.GetFieldOffset crash for classes with const fields (compile-time)
Inline call in `CreateScriptingObject` for perf
2023-10-10 20:52:12 +02:00
mafiesto4 18aafb6fc7 Fix regression from #1312 when passing structure from C++ to C# thunk as already boxed value 2023-10-05 11:35:52 +02:00
mafiesto4 f77198c7ca Fixes for iOS #1312 2023-09-29 00:00:21 +02:00
mafiesto4 82b2f46b48 Post-merge tweaks for #1312 2023-09-28 19:21:06 +02:00
mafiesto4 279528a30d Merge branch 'marshalling_scriptingobject_changes' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-marshalling_scriptingobject_changes
# Conflicts:
#	Source/Engine/Engine/NativeInterop.Unmanaged.cs
#	Source/Engine/Scripting/Runtime/DotNet.cpp
2023-09-28 18:41:20 +02:00
mafiesto4 9731d76a94 Merge branch 'unloaded_assembly_fix' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-unloaded_assembly_fix 2023-09-22 12:54:22 +02:00
mafiesto4 62c2008cbc Fix crash in C# JobSystem.Dispatch due to GC collecting Delegate object 2023-09-22 12:50:50 +02:00
mafiesto4 31b3f56ddb Fix visibility of some internal NativeInterop methods for game bindings 2023-09-22 12:37:13 +02:00
GoaLitiuM 7d69abadb7 Fix script reload crash with .NET libraries 2023-09-21 19:44:01 +03:00
GoaLitiuM 2d2bfd9cd1 Include EditorModules in Assembly lookup paths 2023-09-16 14:15:09 +03:00
mafiesto4 c32a139dbd Fix crash when unboxing managed structure with refs into Variant 2023-08-29 11:57:18 +02:00
GoaLitiuM 42ab218a8e Merge branch 'master' into marshalling_scriptingobject_changes
# Conflicts:
#	Source/Engine/Engine/NativeInterop.Invoker.cs
#	Source/Engine/Engine/NativeInterop.Unmanaged.cs
2023-08-20 20:24:41 +03:00
mafiesto4 342ec4c3c2 Merge branch 'arraytype_cache' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-arraytype_cache 2023-08-14 15:36:27 +02:00
GoaLitiuM 53b1d0dd85 Optimize ScriptingObject managed initialization 2023-08-13 23:56:27 +03:00
GoaLitiuM d4d404ac0b Optimize native interop marshallers runtime type checking 2023-08-13 22:28:56 +03:00
GoaLitiuM 1254af8bbb Optimize UnboxValue performance, safety and memory usage
- Avoids unnecessary boxing of the converted values by storing them in
unmanaged memory.
- Wrap ToNative-method in a delegate and cache it
- Fixes returning address to unpinned memory by pinning POD-types for
a short period of time.
2023-08-13 21:53:42 +03:00
GoaLitiuM 44b70d87e5 Cache MakeArrayType results in native interop 2023-08-13 21:42:40 +03:00
mafiesto4 11bb6d4364 Fix crash when using custom Anim Graph node (.NET 7 regression) 2023-07-24 14:23:28 +02:00
mafiesto4 c79952a4d6 Implement missing dotnet7 interop for field and stabilize interop 2023-07-04 17:57:59 +02:00
mafiesto4 9a1fd12a85 Fix sizeof struct within generic type instance
#1219
2023-07-03 11:42:15 +02:00
GoaLitiuM 28335478bd Fix managed library location resolver 2023-07-02 21:56:41 +03:00
mafiesto4 3119c50789 Fix nullable warnings 2023-06-28 20:09:01 +02:00
GoaLitiuM 87e96a9017 Fix native library lookup after hot reload 2023-06-20 16:29:04 +03:00
mafiesto4 6b8d8b7913 Various fixes and improvements to auto-generated bindings usability 2023-06-12 14:35:11 +02:00
mafiesto4 652f8ccb8d Fix crash when reading field value from C# in AOT on iOS 2023-06-11 15:05:14 +02:00
mafiesto4 ad1c573678 Fix false-positive error when interop structure has a additional memory size (alignment) 2023-05-25 00:12:54 +02:00
mafiesto4 3e792e6cd7 Add NativeInteropException for native interop crashes 2023-05-19 13:52:30 +02:00
GoaLitiuM cbe07b842f Fix resolving managed scripts references in Editor 2023-05-11 22:11:46 +03:00
mafiesto4 8b2d3db3f1 Fix passing boxed reference values to managed thunk and properly unbox non-POD structures 2023-04-18 15:54:54 +02:00
mafiesto4 9a84f9e4ac Improve native library path on dotnet when using plugins 2023-04-17 14:06:47 +02:00
mafiesto4 609217a3bb Fix using Nullable<T> in C# properties
Fixes #935
2023-04-12 15:47:03 +02:00
GoaLitiuM 7df5a7c646 Fix managed method invoker delegate caching 2023-04-09 18:25:14 +03:00
mafiesto4 12f4dc74d2 Optimize default C# stdlib references to prevent using jit-ed features in a game assembly 2023-04-01 23:34:05 +02:00
mafiesto4 dfca248ebd Optimize C# IsCollectible to be used in Editor-only builds 2023-03-31 14:56:57 +02:00
mafiesto4 a25eae5d10 Move dotnet7 native interop, wrappers and marshalers into FlaxEngine.Interop namespace 2023-03-28 13:20:18 +02:00