Silk.NET Versions Save

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

v2.9.0

2 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

v2.8.0

2 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

v2.7.0

2 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

v2.6.0

2 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>

v2.5.0

2 years ago

Silk.NET June 2021 Update

  • OpenXR bindings are now production-ready & no longer experimental!
  • Add (optional) native binaries for OpenAL Soft
  • Add support for reversed-z projection matrices in Silk.NET.Maths
  • Add bindings for a number of missing Vulkan and OpenCL extensions
  • Add OpenGL-OpenXR interoperability helper APIs
  • Add more helper APIs in Silk.NET.Core and Silk.NET.Maths
  • Update to latest OpenGL and OpenGLES specifications
  • Update to OpenXR 1.0.16
  • Update to Vulkan 1.2.180
  • Fix SDL OpenGL context issues when not using OpenGL
  • Fix GLFW native window issues on 32-bit Windows
  • Fix OpenXR loading issues
  • Fix incorrect bindings in OpenXR
  • Miscellaneous windowing & input bugfixes & improvements

v2.4.0

3 years ago
  • Add As methods to all Maths types & other miscellaneous API additions
  • Add support for provisional Vulkan Video encoding & decoding extensions
  • Update to latest OpenGL specification
  • Update to latest OpenCL specification
  • Update to Vulkan 1.2.177
  • Update to OpenXR 1.0.15
  • Fix ImGui robustness
  • Fix disposal and reset robustness
  • Fix SDL input backend not respecting deadzones
  • Fix GLFW input backend not respecting start-up state
  • Fix Vulkan device function pointer loader bugs
  • Fix BSTR GlobalMemory issues
  • Fix Vulkan codegen issues
  • Fix bitfield codegen for Vulkan & clang-generated bindings
  • Miscellaneous windowing & input bugfixes

v2.3.0

3 years ago

Silk.NET April 2021 Update

  • Add a new Silk.NET.OpenGL.Extensions.ImGui package, a first-party ImGui integration for Silk.NET.OpenGL
  • Add support for native method definitions across multiple partial classes
  • Add improved SDL exception throwing, only throwing when a function indicates an error
  • Updated metadata to reference .NET Foundation and dotnet following our .NET Foundation onboarding
  • Update to SDL 2.0.14
  • Update to GLFW 3.3.3
  • Miscellaneous build system related fixes
  • Miscellaneous SourceLink related fixes

v2.2.0

3 years ago

Silk.NET March 2021 Update

  • Add memory pooling for Input State Capture extensions
  • Add Input State Capture stability and robustness improvements
  • Update to Vulkan 1.2.171
  • Update to latest OpenGL as of 22nd February 2021
  • Update to latest OpenCL as of 2nd March 2021
  • Fix window disposal/reset bugs
  • Fix a build toolchain issue where packages released in Debug mode (#416)
  • Fix a string marshalling issue & OpenAL regression (#414)

v2.1.0

3 years ago

Silk.NET February 2021 Update

  • Add native handles for Windowing
  • Add Veldrid support
  • Add support for macro constants
  • Add support for unnamed nested anonymous struct fields
  • Add better name hinting for anonymous types
  • Add support for OpenGL token reuse for tokens that had been previously deprecated and removed, fixing #400
  • Add nested anonymous struct "fusion" with their parent structs, allowing direct ref access on .NET Standard 2.1 platforms without going through the anonymous field
  • Add static Guid members for structs with a COM interface ID
  • Fix struct field size and type variation between 32-bit and 64-bit in generated C++ bindings
  • Fix calling convention detection, and actually respect the calling convention we detect
  • Fix being unable to specify calling convention using NativeApiAttribute
  • Fix some type issues
  • Fix accidental initialization of both platforms, resolving #407
  • Fix zero-length string allocation resulting in an IndexOutOfRangeException exception by clamping the allocation length to 1, resolving #396
  • Fix unreasonably small delta times when running a window with OpenGL V-Sync enabled
  • Fix faulty addition in Silk.NET.Maths where (u)ints were produced by (s)byte and (u)short addition, resulting in an invalid cast
  • Fix malformed XML in MSBuild targets included by Silk.NET.Windowing.Sdl.Android, resolving #405

This should be treated as an "emergency patch" and you should update as soon as reasonably practicable. Some of the bugs in 2.0 are fatal in some workloads.

v2.0.0

3 years ago

Silk.NET January 2021 Update - 2.0, the largest Silk.NET update to date

  • Adds Assimp bindings
  • Adds SDL bindings
  • Adds a SDL windowing backend
  • Adds a new, AOT-friendly interop system (SilkTouch)
  • Adds Android support
  • Adds a generic, flexible maths library to fill in the holes left by System.Numerics
  • Adds an initial set of Microsoft DirectX bindings
  • Adds improved function pointer support
  • Adds more OpenGL framebuffer bit-depth options
  • Adds shared OpenGL contexts
  • (EXPERIMENTAL!) Adds OpenXR bindings
  • (EXPERIMENTAL!) Adds iOS support
  • Massive performance improvements
  • GLFW fixes
  • Windowing and Input fixes/refactorings
  • OpenCL and OpenAL improvements
  • Vulkan bug fixes
  • Miscellaneous bug fixes and improvements

This release may be breaking and will likely require some modification in updating existing code to it. Please contact us in our Discord server if this is the case. We'll do our best to publish a migration guide shortly.