Skip to content

Commit

Permalink
This is the Silk.NET November 2023 Update (v2.19.0) (#1776)
Browse files Browse the repository at this point in the history
* Make cl_image_desc manual, add missing field, regenerate OpenCL

* Regenerate Vulkan bindings

* Regenerate OpenXR

* Reset submodules, didn't mean to upver

* More bindings regen

* Patch notes
  • Loading branch information
Perksey committed Nov 14, 2023
1 parent e8c0026 commit 5273a0d
Show file tree
Hide file tree
Showing 58 changed files with 2,711 additions and 74 deletions.
15 changes: 15 additions & 0 deletions Silk.NET.sln
Original file line number Diff line number Diff line change
Expand Up @@ -606,6 +606,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "OpenCL Demos", "OpenCL Demo
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HelloWorld", "examples\CSharp\OpenCL Demos\HelloWorld\HelloWorld.csproj", "{9CB90BB8-946F-4962-9365-A97BF5C6550A}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Silk.NET.OpenXR.Extensions.NV", "src\OpenXR\Extensions\Silk.NET.OpenXR.Extensions.NV\Silk.NET.OpenXR.Extensions.NV.csproj", "{34D35A41-E974-40C9-8888-3510A0F074AA}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Expand Down Expand Up @@ -3687,6 +3689,18 @@ Global
{9CB90BB8-946F-4962-9365-A97BF5C6550A}.Release|x64.Build.0 = Release|Any CPU
{9CB90BB8-946F-4962-9365-A97BF5C6550A}.Release|x86.ActiveCfg = Release|Any CPU
{9CB90BB8-946F-4962-9365-A97BF5C6550A}.Release|x86.Build.0 = Release|Any CPU
{34D35A41-E974-40C9-8888-3510A0F074AA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{34D35A41-E974-40C9-8888-3510A0F074AA}.Debug|Any CPU.Build.0 = Debug|Any CPU
{34D35A41-E974-40C9-8888-3510A0F074AA}.Debug|x64.ActiveCfg = Debug|Any CPU
{34D35A41-E974-40C9-8888-3510A0F074AA}.Debug|x64.Build.0 = Debug|Any CPU
{34D35A41-E974-40C9-8888-3510A0F074AA}.Debug|x86.ActiveCfg = Debug|Any CPU
{34D35A41-E974-40C9-8888-3510A0F074AA}.Debug|x86.Build.0 = Debug|Any CPU
{34D35A41-E974-40C9-8888-3510A0F074AA}.Release|Any CPU.ActiveCfg = Release|Any CPU
{34D35A41-E974-40C9-8888-3510A0F074AA}.Release|Any CPU.Build.0 = Release|Any CPU
{34D35A41-E974-40C9-8888-3510A0F074AA}.Release|x64.ActiveCfg = Release|Any CPU
{34D35A41-E974-40C9-8888-3510A0F074AA}.Release|x64.Build.0 = Release|Any CPU
{34D35A41-E974-40C9-8888-3510A0F074AA}.Release|x86.ActiveCfg = Release|Any CPU
{34D35A41-E974-40C9-8888-3510A0F074AA}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand Down Expand Up @@ -3982,6 +3996,7 @@ Global
{A0E20061-FFF6-4444-86E0-4519A0CA6944} = {49BC383A-D7E6-4013-93C7-371479B984CC}
{FD0C9C4B-3777-4755-A87B-60FE65D92750} = {6842A2C6-5C7B-42DD-9825-0EDE91BFEBF7}
{9CB90BB8-946F-4962-9365-A97BF5C6550A} = {FD0C9C4B-3777-4755-A87B-60FE65D92750}
{34D35A41-E974-40C9-8888-3510A0F074AA} = {90471225-AC23-424E-B62E-F6EC4C6ECAC0}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {F5273D7F-3334-48DF-94E3-41AE6816CD4D}
Expand Down
Binary file modified build/cache/cl.json.gz
Binary file not shown.
Binary file modified build/cache/gl.json.gz
Binary file not shown.
Binary file modified build/cache/glcore.json.gz
Binary file not shown.
Binary file modified build/cache/gles2.json.gz
Binary file not shown.
Binary file modified build/cache/openxr.json.gz
Binary file not shown.
Binary file modified build/cache/vulkan.json.gz
Binary file not shown.
45 changes: 6 additions & 39 deletions build/props/common.props
Original file line number Diff line number Diff line change
Expand Up @@ -12,54 +12,21 @@
<LangVersion>10</LangVersion>
<Authors>.NET Foundation and Contributors</Authors>
<PackageReleaseNotes>
Silk.NET October 2023 Update
Silk.NET November 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 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
- 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 OpenCL clCreateImage not functioning as expected with ImageDesc's ABI
- 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.
</PackageReleaseNotes>
<PackageTags Condition="'$(PackageTags)' == ''">OpenCL;OpenGL;OpenAL;OpenGLES;GLES;Vulkan;Assimp;DirectX;GLFW;SDL;Windowing;Input;Gamepad;Joystick;Keyboard;Mouse;SilkTouch;Source;Generator;C#;F#;.NET;DotNet;Mono;Vector;Math;Maths;Numerics;Game;Graphics;Compute;Audio;Sound;Engine;Silk;Silk.NET;Slim.NET;ElgarTK;GPU;Sharp;Science;Scientific;Visualization;Visual;Audiovisual;Windows;macOS;Linux;Android;Bindings;OSX;Wrapper;Native</PackageTags>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<PackageOutputPath>$(MSBuildThisFileDirectory)/../output_packages</PackageOutputPath>
<RepositoryUrl>https://github.com/dotnet/Silk.NET</RepositoryUrl>
<RepositoryType>Git</RepositoryType>
<VersionPrefix>2.18.0</VersionPrefix>
<VersionPrefix>2.19.0</VersionPrefix>
<VersionSuffix Condition="'$(VersionSuffix)' == ''"></VersionSuffix>
<Description Condition="'$(Description)' == ''">
Silk.NET is a high-speed, advanced library, providing bindings to popular low-level APIs such as OpenGL, OpenCL, OpenAL, OpenXR, GLFW, SDL, Vulkan, Assimp, and DirectX.
Expand Down
6 changes: 5 additions & 1 deletion generator.json
Original file line number Diff line number Diff line change
Expand Up @@ -290,6 +290,9 @@
"CL_PRINTF_CALLBACK_ARM": "CL_CONTEXT_PRINTF_CALLBACK_ARM",
"CL_PRINTF_BUFFERSIZE_ARM": "CL_CONTEXT_PRINTF_BUFFERSIZE_ARM"
},
"exclude": [
"cl_image_desc"
],
"bakery": {
"profileNames": [
"opencl"
Expand Down Expand Up @@ -345,7 +348,8 @@
"CL_CALLBACK_SetProgramReleaseCallback_pfn_notify*": "ObjectNotifyCallback",
"CL_CALLBACK_SetEventCallback_pfn_notify*": "EventNotifyCallback",
"CL_CALLBACK_EnqueueNativeKernel_user_func*": "UserFunction",
"CL_CALLBACK_BuildProgram_pfn_notify*": "ObjectNotifyCallback"
"CL_CALLBACK_BuildProgram_pfn_notify*": "ObjectNotifyCallback",
"cl_image_desc": "ImageDesc"
},
{
"$include.commonTypeMap": "build/csharp_typemap.json",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -123,5 +123,10 @@ public ImageDesc
[NativeName("Type.Name", "cl_uint")]
[NativeName("Name", "num_samples")]
public uint NumSamples;
/// <summary></summary>
[NativeName("Type", "cl_mem")]
[NativeName("Type.Name", "cl_mem")]
[NativeName("Name", "mem_object")]
public nint MemObject;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -69,10 +69,10 @@ public unsafe partial class ArbVertexAttrib64bit : NativeExtension<GL>
public partial void VertexAttribL4([Flow(Silk.NET.Core.Native.FlowDirection.In)] uint index, [Count(Count = 4), Flow(Silk.NET.Core.Native.FlowDirection.In)] in double v);

[NativeApi(EntryPoint = "glVertexAttribLPointer", Convention = CallingConvention.Winapi)]
public unsafe partial void VertexAttribLPointer([Flow(Silk.NET.Core.Native.FlowDirection.In)] uint index, [Flow(Silk.NET.Core.Native.FlowDirection.In)] int size, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ARB type, [Flow(Silk.NET.Core.Native.FlowDirection.In)] uint stride, [Count(Parameter = "size"), Flow(Silk.NET.Core.Native.FlowDirection.In)] void* pointer);
public unsafe partial void VertexAttribLPointer([Flow(Silk.NET.Core.Native.FlowDirection.In)] uint index, [Flow(Silk.NET.Core.Native.FlowDirection.In)] int size, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ARB type, [Flow(Silk.NET.Core.Native.FlowDirection.In)] uint stride, [Flow(Silk.NET.Core.Native.FlowDirection.In)] void* pointer);

[NativeApi(EntryPoint = "glVertexAttribLPointer", Convention = CallingConvention.Winapi)]
public unsafe partial void VertexAttribLPointer([Flow(Silk.NET.Core.Native.FlowDirection.In)] uint index, [Flow(Silk.NET.Core.Native.FlowDirection.In)] int size, [Flow(Silk.NET.Core.Native.FlowDirection.In)] VertexAttribLType type, [Flow(Silk.NET.Core.Native.FlowDirection.In)] uint stride, [Count(Parameter = "size"), Flow(Silk.NET.Core.Native.FlowDirection.In)] void* pointer);
public unsafe partial void VertexAttribLPointer([Flow(Silk.NET.Core.Native.FlowDirection.In)] uint index, [Flow(Silk.NET.Core.Native.FlowDirection.In)] int size, [Flow(Silk.NET.Core.Native.FlowDirection.In)] VertexAttribLType type, [Flow(Silk.NET.Core.Native.FlowDirection.In)] uint stride, [Flow(Silk.NET.Core.Native.FlowDirection.In)] void* pointer);

public unsafe double GetVertexAttribL([Flow(Silk.NET.Core.Native.FlowDirection.In)] uint index, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ARB pname)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,10 +69,10 @@ public unsafe partial class ArbVertexAttrib64bit : NativeExtension<GL>
public partial void VertexAttribL4([Flow(Silk.NET.Core.Native.FlowDirection.In)] uint index, [Count(Count = 4), Flow(Silk.NET.Core.Native.FlowDirection.In)] in double v);

[NativeApi(EntryPoint = "glVertexAttribLPointer", Convention = CallingConvention.Winapi)]
public unsafe partial void VertexAttribLPointer([Flow(Silk.NET.Core.Native.FlowDirection.In)] uint index, [Flow(Silk.NET.Core.Native.FlowDirection.In)] int size, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ARB type, [Flow(Silk.NET.Core.Native.FlowDirection.In)] uint stride, [Count(Parameter = "size"), Flow(Silk.NET.Core.Native.FlowDirection.In)] void* pointer);
public unsafe partial void VertexAttribLPointer([Flow(Silk.NET.Core.Native.FlowDirection.In)] uint index, [Flow(Silk.NET.Core.Native.FlowDirection.In)] int size, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ARB type, [Flow(Silk.NET.Core.Native.FlowDirection.In)] uint stride, [Flow(Silk.NET.Core.Native.FlowDirection.In)] void* pointer);

[NativeApi(EntryPoint = "glVertexAttribLPointer", Convention = CallingConvention.Winapi)]
public unsafe partial void VertexAttribLPointer([Flow(Silk.NET.Core.Native.FlowDirection.In)] uint index, [Flow(Silk.NET.Core.Native.FlowDirection.In)] int size, [Flow(Silk.NET.Core.Native.FlowDirection.In)] VertexAttribLType type, [Flow(Silk.NET.Core.Native.FlowDirection.In)] uint stride, [Count(Parameter = "size"), Flow(Silk.NET.Core.Native.FlowDirection.In)] void* pointer);
public unsafe partial void VertexAttribLPointer([Flow(Silk.NET.Core.Native.FlowDirection.In)] uint index, [Flow(Silk.NET.Core.Native.FlowDirection.In)] int size, [Flow(Silk.NET.Core.Native.FlowDirection.In)] VertexAttribLType type, [Flow(Silk.NET.Core.Native.FlowDirection.In)] uint stride, [Flow(Silk.NET.Core.Native.FlowDirection.In)] void* pointer);

public unsafe double GetVertexAttribL([Flow(Silk.NET.Core.Native.FlowDirection.In)] uint index, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ARB pname)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,5 +24,7 @@ public enum MESA : int
FramebufferSwapXYMesa = 0x8BBD,
[NativeName("Name", "GL_PROGRAM_BINARY_FORMAT_MESA")]
ProgramBinaryFormatMesa = 0x875F,
[NativeName("Name", "GL_SAMPLER_BINDING")]
SamplerBinding = 0x8919,
}
}
Loading

0 comments on commit 5273a0d

Please sign in to comment.