Silk.NET

The high-speed OpenGL, OpenCL, OpenAL, OpenXR, GLFW, SDL, Vulkan, Assimp, WebGPU, and DirectX bindings library your mother warned you about.

MIT License

Stars
3.7K
Committers
93

Bot releases are visible (Hide)

Silk.NET - 2.21 April 2024 Update Latest Release

Published by Perksey 6 months ago

Silk.NET April 2024 Update

  • Added nint overloads for the cases where OpenGL represents a native-sized integer as a void pointer.
  • Added support for executing Windowing loops during repaint and drag events on GLFW in some cases. (thanks @otac0n)
  • Added a distinction between "unset" (-1) and "default" (null) for Windowing depth/stencil buffer bits, defaulting to 24/8 on all platforms unless overridden.
  • Added support for 64-bit Arm Linux for Assimp, GLFW (+ Windowing & Input), OpenAL Soft, SDL, Vkd3d, Vulkan Loader, SwiftShader, and WGPU. (thanks @alexrp)
  • Added support for Apple Silicon Macs for OpenAL Soft, Vulkan Loader, and SwiftShader. (thanks @alexrp)
  • Added support for 32-bit Arm Linux for Assimp, GLFW, OpenAL Soft, SDL, Shaderc, SPIR-V Cross, SPIR-V Reflect, Vkd3d, SwiftShader, and WGPU. (thanks @alexrp)
  • Added support for 64-bit Windows on Arm for Assimp, OpenAL Soft, VulkanLoader, and SwiftShader. (thanks @alexrp)
  • Added limited native library support (SPIR-V Tools and Shaderc) for glibc versions as old as 2.17 on Linux platforms.
  • Added support for new standard cursor shapes in Input and GLFW.
  • Updated to use ref readonly instead of in.
  • Updated to OpenXR 1.1.36.
  • Updated to DirectStorage 1.2.2.
  • Updated to Vulkan 1.3.281.
  • Updated to SDL 2.30.1.
  • Updated to latest OpenCL specifications.
  • Updated to latest SPIR-V Reflect.
  • Updated to latest WebGPU/Dawn/WGPU headers.
  • Updated Vkd3d native binaries.
  • Fixed string marshalling occasionally resulting in memory access violations on newer .NET 8 versions.
  • Fixed Windowing crashing on .NET Framework builds with prefer 32-bit set using GLFW.
  • Fixed extension loading generic type usage issues with full IL trimming enabled.
  • Fixed erroneous BreakneckLock acquisition logic slowing input events on mobile/SDL. (thanks @ZingBallyhoo)
  • Fixed windowing losing events when using multiple windows on desktop with the mobile/SDL implementation. (thanks @ZingBallyhoo)
  • Fixed some packages not referencing their native counterparts where appropriate. (thanks @alexrp)
  • Fixed Input events for standalone joysticks not being tracked on GLFW.
  • Fixed Input events no longer being tracked after 3-10 reopens of the same window on GLFW.
  • Fixed V-Sync configuration not persisting over window state changes in Windowing.
  • Fixed Circle.Contains erroneously comparing the squared vector distance from its center against its non-squared radius. (thanks @djoyahoy)

After this update:

  • Apple Silicon support is complete except for missing ANGLE binaries.
  • Arm Linux support is complete except for missing DXVK, ANGLE, and Vulkan Loader (missing on 32-bit only) binaries.
  • 64-bit Windows on Arm support is complete except for missing DXVK and ANGLE binaries.
  • 32-bit Windows on Arm remains unsupported except for DirectStorage.
Silk.NET - 2.20.0 December 2023 Update

Published by Perksey 10 months ago

Silk.NET December 2023 Update

  • Added support for UTF-8 file paths in GLFW and SDL windows (thanks @WinstonMao)
  • Updated to OpenXR 1.0.32.1
  • Updated to Vulkan 1.3.273
  • Updated to latest OpenGL specifications
  • Updated to latest OpenCL specifications
  • Fixed Matrix2X2.GetDeterminant returning incorrect values
  • Fixed ALC_SOFT_reopen_device being a non-context extension (thanks @okaniku, @doobah)
Silk.NET - 2.19.0 November 2023 Update

Published by Perksey 11 months ago

Silk.NET November 2023 Update

  • Updated to OpenXR 1.0.31
  • Updated to Vulkan 1.3.270
  • Updated to latest ImGui.NET, alleviating some incompatibilities introduced by the ImGui.NET team.
  • Updated to latest OpenGL specifications
  • Fixed OpenCL clCreateImage not functioning as expected with ImageDesc's ABI
  • Fixed OpenAL throwing when loading an extension prefixed with ALC_ instead AL_
Silk.NET - 2.18.0 October 2023 Update

Published by Perksey 12 months ago

Silk.NET October 2023 Update

  • Added SPIR-V Reflect bindings
  • Added SPIR-V Cross bindings
  • Added Shaderc bindings
  • Added WIC/WindowsCodecs bindings (thanks @hez2010)
  • Added multi-channel formats support for OpenAL (thanks @aleksrutins)
  • Added EffectTarget support for OpenAL Soft (thanks @okaniku, @doobah)
  • Added MoltenVK support for iOS (massive thank you to @zvasya for contributing and testing)
  • Added macOS support for the CreateWebGPUSurface helper function (thanks @AsgardXIV)
  • Added the ability to load MoltenVK directly as a fallback should the Vulkan Loader be unavailable on macOS
  • Added trimming support with an option to enable/disable static-linking support at link time
  • Added WinRT interoperability support for Direct3D 11.
  • Added the ability to query extensions from specific Vulkan layers using the Silk.NET helpers
  • Added extension methods on IGamepad to return Thumbstick state instead of requiring use of the indexers (thanks @jvyden)
  • Added ref properties for Vulkan chain constituents (thanks @khitiara)
  • Added Apple Silicon binaries for Assimp (thanks @jschieck)
  • Added compatibility with Linux distributions using as early as glibc 2.16
  • Added equality operators and IEquatable to Bool32 (thanks @Syncaidius)
  • Added ToSystem/ToGeneric as extension methods (rather than plain static functions) to convert to/from Silk.NET.Maths types (thanks @Wafer-EX)
  • Added discriminant values to PinObjectMarshaller to tie pinned handles to state to which the pin pertains
  • Updated to Vulkan 1.3.266
  • Updated to OpenXR 1.0.30
  • Updated to SDL 2.28.1
  • Updated to MoltenVK 1.2.5
  • Updated to latest WebGPU headers
  • Updated to latest OpenCL specifications
  • Updated to latest OpenGL specifications
  • Improved allocations in the Silk.NET Loader (thanks @Youssef1313)
  • Improved robustness of HLU on AOT compilations
  • Fixed WGPU not loading with the correct filename on Windows
  • Fixed COM V-Table indices not matching the Clang-reported V-Table index in some cases (DirectWrite/D2D1/DComp)
  • Fixed OpenAL throwing when loading an extension prefixed with ALC_ instead AL_
  • Fixed WGL.GetApi throwing a NotImplementedException
  • Fixed library loading failing on platforms that do not have a libdl.so symlink (we are now using libdl.so.2, thanks @CasualPokePlayer)
  • Fixed a StackOverflowException when using SetWindowIcon in some cases with Silk.NET.Windowing
  • Fixed GLFW crashing in some cases where multiple windows are used
  • Fixed WebGPU using the incorrect size for booleans
  • Fixed a memory leak with some string marshalling functions

If you are using Silk.NET with an iOS or Android application, please enable trimming and set TrimMode to full.

Silk.NET - 2.18.0 October 2023 Update

Published by Perksey 12 months ago

Silk.NET October 2023 Update

  • Added SPIR-V Reflect bindings
  • Added SPIR-V Cross bindings
  • Added Shaderc bindings
  • Added WIC/WindowsCodecs bindings (thanks @hez2010)
  • Added multi-channel formats support for OpenAL (thanks @aleksrutins)
  • Added EffectTarget support for OpenAL Soft (thanks @okaniku, @doobah)
  • Added MoltenVK support for iOS (massive thank you to @zvasya for contributing and testing)
  • Added macOS support for the CreateWebGPUSurface helper function (thanks @AsgardXIV)
  • Added the ability to load MoltenVK directly as a fallback should the Vulkan Loader be unavailable on macOS
  • Added trimming support with an option to enable/disable static-linking support at link time
  • Added WinRT interoperability support for Direct3D 11.
  • Added the ability to query extensions from specific Vulkan layers using the Silk.NET helpers
  • Added extension methods on IGamepad to return Thumbstick state instead of requiring use of the indexers (thanks @jvyden)
  • Added ref properties for Vulkan chain constituents (thanks @khitiara)
  • Added Apple Silicon binaries for Assimp (thanks @jschieck)
  • Added compatibility with Linux distributions using as early as glibc 2.16
  • Added equality operators and IEquatable to Bool32 (thanks @Syncaidius)
  • Added ToSystem/ToGeneric as extension methods (rather than plain static functions) to convert to/from Silk.NET.Maths types (thanks @Wafer-EX)
  • Added discriminant values to PinObjectMarshaller to tie pinned handles to state to which the pin pertains
  • Updated to Vulkan 1.3.266
  • Updated to OpenXR 1.0.30
  • Updated to SDL 2.28.1
  • Updated to MoltenVK 1.2.5
  • Updated to latest WebGPU headers
  • Updated to latest OpenCL specifications
  • Updated to latest OpenGL specifications
  • Improved allocations in the Silk.NET Loader (thanks @Youssef1313)
  • Improved robustness of HLU on AOT compilations
  • Fixed WGPU not loading with the correct filename on Windows
  • Fixed COM V-Table indices not matching the Clang-reported V-Table index in some cases (DirectWrite/D2D1/DComp)
  • Fixed OpenAL throwing when loading an extension prefixed with ALC_ instead AL_
  • Fixed WGL.GetApi throwing a NotImplementedException
  • Fixed library loading failing on platforms that do not have a libdl.so symlink (we are now using libdl.so.2, thanks @CasualPokePlayer)
  • Fixed a StackOverflowException when using SetWindowIcon in some cases with Silk.NET.Windowing
  • Fixed GLFW crashing in some cases where multiple windows are used
  • Fixed WebGPU using the incorrect size for booleans
  • Fixed a memory leak with some string marshalling functions

If you are using Silk.NET with an iOS or Android application, please enable trimming and set TrimMode to full.

Silk.NET - 2.17.1 Hotfix Release

Published by Perksey over 1 year ago

Fix a minor regression with some OpenGL Span overloads. Read more about the 2.17 update here: https://dotnet.github.io/Silk.NET/blog/apr-2023/silk2170.html

Silk.NET - 2.17.0 Spring 2023 Update 1

Published by Beyley over 1 year ago

Silk.NET Spring 2023 Update 1

  • Added zero-cost extension methods for ComPtrs, making our DirectX bindings easier to use and higher quality than ever before.
  • Added WebGPU bindings for Dawn and WGPU.
  • Added Direct2D bindings. (massive thank you to @curin)
  • Added DirectComposition bindings. (again, massive preesh to @curin)
  • Added DirectWrite bindings.
  • Added d3d11on12 bindings.
  • Added WGL bindings.
  • Added support for Android 12.
  • Added support for OpenAL disconnect extension. (thanks @okaniku)
  • Added GLFW API constants for ANGLE. (thanks @cyraid)
  • Added extension functions for OpenAL BufferData to make use of AL_EXT_float32 enums.
  • Added ReopenDevices extension for OpenAL Soft. (thanks @LeNitrous)
  • Added BufferCallback extension for OpenAL Soft.
  • Added Vulkan structure chain polymorphism. (thanks @Khitiara for the proposal)
  • Added SDL/GLFW native libraries for Windows on ARM64.
  • Added IsScancodePressed function in Silk.NET Input.
  • Added TopMost in Silk.NET Windowing (thanks @MarioGK)
  • Added EGL display and surface to INativeWindow.
  • Added an explicit check against calling Reset on a window while within the render loop of said window.
  • Added support for multiple native binary candidate paths for a single binding.
  • Improved support for WASM and AOT in the Silk.NET loader.
  • Improved support for Windows on ARM64.
  • Improved Silk.NET.Maths generic specialization codegen.
  • Improved support for DXVK, including a new DXHandle property in INativeWindow for getting Linux HWND equivalents.
  • Improved support for Silk.NET.Windowing under reflection-free NativeAOT
  • Updated to SDL 2.24.
  • Updated to Vulkan 1.3.246.
  • Updated to DirectStorage 1.1.1.
  • Updated to OpenXR 1.0.27.
  • Updated to Assimp 5.2.5.
  • Updated to latest OpenCL specifications.
  • Updated to latest OpenGL specifications.
  • Updated to latest ImGui.
  • Fixed XInput GetApi not being implemented. (thanks @skyebird189)
  • Fixed TransparentBuffer not being applied correctly without specifying a PreferredBitDepth. (thanks @MarioGK)
  • Fixed wide string marshalling.
  • Fixed string array marshalling on systems where the max DBCS character size is insufficient for UTF8.
  • Fixed Span overloads not calculating the correct length value for ommitted (implicit) length parameters.
  • Fixed copying of native libraries under .NET Framework 4.6.1. (thanks @paralaxsd)
  • Fixed SDL crashing on Android when the screen rotates in some cases.
  • Fixed a memory leak when using GlobalMemory to marshal string arrays instead of StringArrayToPtr. (thanks @Khitiara)

Welcome to the biggest update yet!

Silk.NET - 2.17 Spring 2023 Update 1 (EARLY PREVIEW)

Published by Perksey over 1 year ago

Silk.NET Spring 2023 Update 1 (EARLY PREVIEW)

  • Added zero-cost extension methods for ComPtrs, making our DirectX bindings easier to use and higher quality than ever before.
  • Added WebGPU bindings for Dawn and WGPU.
  • Added Direct2D bindings. (massive thank you to @curin)
  • Added DirectComposition bindings. (again, massive preesh to @curin)
  • Added d3d11on12 bindings.
  • Added WGL bindings.
  • Added support for OpenAL disconnect extension. (thanks @okaniku)
  • Added extension functions for OpenAL BufferData to make use of AL_EXT_float32 enums.
  • Added ReopenDevices extension for OpenAL Soft. (thanks @LeNitrous)
  • Added BufferCallback extension for OpenAL Soft.
  • Added Vulkan structure chain polymorphism. (thanks @Khitiara for the proposal)
  • Added SDL/GLFW native libraries for Windows on ARM64.
  • Added IsScancodePressed function in Silk.NET Input.
  • Added TopMost in Silk.NET Windowing (thanks @MarioGK)
  • Added EGL display and surface to INativeWindow.
  • Added an explicit check against calling Reset on a window while within the render loop of said window.
  • Improved support for WASM and AOT in the Silk.NET loader.
  • Improved support for Windows on ARM64.
  • Improved Silk.NET.Maths generic specialization codegen.
  • Improved support for DXVK, including a new DXHandle property in INativeWindow for getting Linux HWND equivalents.
  • Updated to SDL 2.24.
  • Updated to Vulkan 1.3.242.
  • Updated to DirectStorage 1.1.0.
  • Updated to OpenXR 1.0.26.
  • Updated to latest OpenCL specifications.
  • Updated to latest OpenGL specifications.
  • Updated to latest ImGui.
  • Fixed XInput GetApi not being implemented. (thanks @ohtorobinson)
  • Fixed TransparentBuffer not being applied correctly without specifying a PreferredBitDepth. (thanks @MarioGK)
  • Fixed wide string marshalling.
Silk.NET - 2.16 Summer 2022 Update 1

Published by Beyley about 2 years ago

Silk.NET Summer 2022 Update 1

  • Massive project-wide bindings overhaul, making our bindings easier to use and higher quality than before.
  • Added grouped OpenCL enums. (thanks @Alexx999)
  • Added support for creation of contexts with versions prior to OpenGL 3.2. (thanks @Beyley)
  • Added support for multiple ImGuiControllers. (thanks @Beyley)
  • Added support for single-file mode. (thanks @kant2002)
  • Added shorter names in enums used in bindings.
  • Added AspectRatioEstimate API to VideoMode. (thanks @ohtrobinson)
  • Update to latest OpenGL specifications
  • Update to OpenXR 1.0.24
  • Update to Vulkan 1.3.223
  • Improved ImGuiController disposal. (thanks @Beyley)
  • Fixed incorrect OpenCL functions. This is breaking, but if you were using these functions your code didn't work anyway. (thanks @Alexx999)
  • Fixed IsVisible not being respected in some cases. (thanks @paralaxsd)
  • Fixed window close events not being respected on the SDL backend. (thanks @paralaxsd)

This update may result in your projects having a lot of deprecation warnings. We believe this update contains much-needed improvements to both Silk.NET and code consuming it, but we appeciate migrating to this version may take time.

Silk.NET - 2.15 April 2022 Update

Published by Perksey over 2 years ago

Silk.NET April 2022 Update

  • Add DirectStorage bindings
  • Add legacy OpenGL 2.0 support for the ImGui extension (thank you @Beyley)
  • Add the ability to customize the functionality/priorities of DefaultPathResolver
  • Add more auto-generated constants to Assimp, DirectX, and SDL
  • Update to Vulkan 1.3.210
  • Update to latest OpenGL specifications
  • Fix Assimp native package being out-of-sync with latest binding
  • Fix SDL input backend producing different key mappings to the GLFW input backend
  • Fix Android Activity restarts not being properly handled by Silk.NET Windowing
Silk.NET - 2.14 March 2022 Update

Published by Perksey over 2 years ago

Silk.NET March 2022 Update

  • Add a Version13 convenience property (thanks @Eeveelution)
  • Add DXGI_CREATE_FACTORY_DEBUG Constant to DXGI (thanks @Eeveelution)
  • Update to Vulkan 1.3.207
  • Update to latest OpenCL specifications
  • Update to latest OpenGL specifications
  • Fix SilkMarshal.StringToPtr throwing "buffer is too small to contain the encoded data" in some cases
  • Fix Direct3D11 having its own ID3D10Blob type
  • Fix Assimp using the wrong quaternion types
  • Fix SDL windowing backend causing lots of allocations
  • Fix GLFW windowing backend circular reference/memory leak

This release may be breaking for users, but those users who experience breaking changes most likely had code that didn't work anyway.

Silk.NET - 2.13 February 2022 Update

Published by Perksey over 2 years ago

Silk.NET February 2022 Update

  • Add an OpenGLES version of the ImGui plugin (thanks @Beyley)
  • Add an initial version of a Rider/ReSharper plugin to open Khronos specifications with one click (may not be available for install immediately)
  • Update to OpenXR 1.0.22
  • Update to Vulkan 1.3.205 (NB: The NuGet release notes are wrong here)
  • Update to latest OpenCL specifications
  • Fix mouse scroll wheels state not always being up-to-date on the SDL backend (thanks @paralaxsd)

In addition, thanks to @roeyskoe for contributing lots of behind-the-scenes changes to improve the Silk.NET native packaging experience.

Silk.NET - 2.12 January 2022 Update

Published by Perksey almost 3 years ago

Silk.NET January 2022 Update

  • Add support for retrieving the clipboard text on IKeyboard (thanks @Beyley)
  • Add a constructor for customizing the ImGui configuration before ImGuiController applies its configuration (thanks @sampletext32)
  • Add Flags attributes to all bitmasks generated from C++ headers (i.e. DirectX), fixing warnings on usage
  • Update to latest OpenCL specifications
  • Update to Vulkan 1.2.203 (from 1.2.201, not 1.2.210 as the previous update indicated)
  • Fix input information being one or two frames behind due to running in DoUpdate instead of DoEvents
  • Fix BuildTools incorrectly defaulting to Cdecl instead of Winapi (fixes 32-bit issues)
  • Fix string marshalling not allocating enough memory for multibyte UTF8 strings
  • Fix a DivideByZeroException in PointToFramebuffer thrown in some circumstances
  • Fix SymbolLoadingExceptions on usage of GetStringList functions in OpenAL
Silk.NET - 2.11 December 2021 Update

Published by Perksey almost 3 years ago

Silk.NET December 2021 Update

  • Add a high-level C# wrapper over Vulkan Structure Chains (thanks @thargy).
  • Add a WindowClass option in Windowing for setting the X11 class name (thanks @Pyrdacor)
  • Add a IsContextControlDisabled option in Windowing to disable automatically making OpenGL contexts current
  • Add support for cloning Vk objects to allow reuse of their function tables independently
  • Update to latest OpenCL specifications
  • Update to latest OpenGL and OpenGLES specifications
  • Update to Vulkan 1.2.210
  • Fix string marshalling regression which resulted in multiple string-overloaded functions throwing
  • Fix multiple input-related problems when using the SDL backend of our Windowing abstractions
  • Discontinued support for Legacy Xamarin (exclusively supporting .NET 6 mobile from now on)
Silk.NET - 2.10.1 .NET Conf 2021 Update

Published by Perksey almost 3 years ago

Silk.NET .NET Conf 2021 Update

  • Fixes issues with 2.10 (compiled against .NET 6 RC1) not working correctly in projects using the .NET 6 Release SDK.
Silk.NET - 2.10 November 2021 Update

Published by Perksey almost 3 years ago

Silk.NET November 2021 Update

  • Added support for BigInteger and Complex in the Silk.NET.Maths.Scalar APIs. (thanks @WhiteBlackGoose)
  • Added helper constructors for maths types (Rectangle, Box2D, Box3D, etc). (thanks @nathan-alden-sr)
  • Added bitwise APIs to Silk.NET.Maths.Scalar. (thanks @WhiteBlackGoose)
  • Added support for configuring OpenGL multisamping.
  • Updated to Vulkan 1.2.197.
  • Updated to latest OpenCL specifications.
  • Updated to latest OpenGL specifications.
  • Updated DirectX and Win32 bindings to Windows 11 SDK.
  • Removed redundant references with no DLLs (i.e. BCL/legacy packages not needed on newer platforms, thanks @nathan-alden-sr @WhiteBlackGoose)
  • Removed problematic implicit-in OpenGL overloads (fixes the infamous VertexAttribPointer bug)
  • Fixed incorrect character encoding of keyboard (text) input on the SDL backend. (thanks @roeyskoe)
  • Fixed native libraries not being resolved despite being present in the "runtimes" folder.
  • Miscellaneous documentation fixes and improvements.
Silk.NET - 2.9 October 2021 Update

Published by ThomasMiz about 3 years ago

Silk.NET October 2021 Update

  • Add bindings for DirectX Video Acceleration (DXVA)
  • Add bindings for D3D9Ex
  • Add bindings for extra core Win32 APIs (as required by DXVA)
  • Add a .NET 6 code path for GlobalMemory using NativeMemory
  • Add more TFMs in addition to .NET Standard 2.0 for DirectX bindings
  • Add enhanced anonymous struct support with ref-returning properties on .NET Standard 2.1 and up
  • Update to Vulkan 1.2.194
  • Update to latest OpenCL specifications
  • Fix MarshalDirectiveException when a struct containing a char passes across a native boundary
  • Fix Vulkan out parameters not having their structure type set before passing across the native boundary
  • Fix native libraries not being found in some cases for self-contained executables
Silk.NET - 2.8 September 2021 Update

Published by HurricanKai about 3 years ago

Silk.NET September 2021 Update

  • Add TryGetExtension methods to AL & ALContext
  • Add support for .NET 6 Android
  • Update to Vulkan 1.2.190
  • Update to OpenXR 1.0.19
  • Update to latest OpenGL specifications
  • Update to latest OpenCL specifications
  • Fix calling CreateInput on an uninitialized IView resulting in a AccessViolationException
  • Fix calling Close on an uninitialized IView resulting in an AccessViolationException
  • Fix Silk.NET (and by extension SDL) taking full control of orientation on Android
  • Fix DoRender being called if Window.Close was called during DoUpdate
  • Fix Scalar.Abs for double values
  • Fix "Pfn" function pointer structures being marshalled with the incorrect calling convention
  • Fix Scalar.IsNaN and Scalar.IsInfinity returning true for non floating point types
  • Fix Box2D.Center returning bogus values
  • Fix incorrect documentation in Thumbstick.Direction
  • Fix incorrect documentation in WindowOptions
Silk.NET - 2.7 August 2021 Update

Published by Perksey about 3 years ago

Silk.NET August 2021 Update

  • Add code signing to all Silk.NET binaries
  • Add support for platform-default calling conventions
  • Update to latest OpenGL specifications
  • Update to Vulkan 1.2.187
  • Update to OpenXR 1.0.18
  • Fix loading some OpenAL extensions
Silk.NET - 2.6 July 2021 Update

Published by Perksey over 3 years ago

Silk.NET July 2021 Update

  • Add support for OpenAL Soft native libraries for ALContext
  • Update to Vulkan 1.2.183
  • Update to latest OpenCL specifications
  • Fix struct layout issues in DirectX and OpenXR bindings
  • Fix OpenCL library name resolution on Linux
  • Fix NU5127, NU5128, and NU1701 native package NuGet errors on .NET Framework
  • Improve FileNotFoundExceptions when native library loading fails
  • Improve GlobalMemory call chains by removing unnecessary usage of Span<T>