Skip to content

Commit 29dd1c6

Browse files
authored
This is the October 2021 Update (v2.9.0) (#628)
* File-level namespaces, WIP DXVA * More DXVA work * Revert ClassWriter changes * Upversion ClangSharp * Remove Debugger.Break * Update log message * Bugfixes after clang upgrade * Clang change * Rollback clang upgrade * Add evntrace.h to generator.json (via a Native header in Silk.NET.Core) * Rollback file-level namespaces * Regeneration checkpoint, fix nested anonymous bug * Workaround some decls giving birth to themselves * Fix functionless definition being preferred * Fix anonymous fields not being written * Win32Extras, add more TFMs for MSFT bindings, fix fusion reactor on NS21 * Remove file-level namespaces, SourceLink tweaks * Remove RESERVED * Add CharSet to structs w/ chars (fixes bugs on older platforms) * Fix #626 * Release notes & look in the MainModule directory in DefaultPathResolver
1 parent 2651e04 commit 29dd1c6

File tree

543 files changed

+53466
-1730
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

543 files changed

+53466
-1730
lines changed

Silk.NET.sln

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -271,6 +271,9 @@ EndProject
271271
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Silk.NET.NUKE", "build\nuke\Silk.NET.NUKE.csproj", "{B9A8D738-FE7D-4860-A446-4A03E3DDEB74}"
272272
EndProject
273273
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Microsoft", "Microsoft", "{F2CF5D32-4B41-425E-B229-8FFC48F88063}"
274+
ProjectSection(SolutionItems) = preProject
275+
src\Microsoft\dxva.h = src\Microsoft\dxva.h
276+
EndProjectSection
274277
EndProject
275278
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Silk.NET.Direct3D11", "src\Microsoft\Silk.NET.Direct3D11\Silk.NET.Direct3D11.csproj", "{F3B7A9D6-5B15-45E8-925B-20B5BBD33428}"
276279
EndProject
@@ -458,6 +461,10 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Silk.NET.OpenAL.Tests", "sr
458461
EndProject
459462
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "OpenGL Demos", "OpenGL Demos", "{2F547104-C74A-4A84-8980-D1B973CC40C1}"
460463
EndProject
464+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Silk.NET.DXVA", "src\Microsoft\Silk.NET.DXVA\Silk.NET.DXVA.csproj", "{28D863B1-B60C-4C08-8661-EB820A5B78D2}"
465+
EndProject
466+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Silk.NET.Core.Win32Extras", "src\Core\Silk.NET.Core.Win32Extras\Silk.NET.Core.Win32Extras.csproj", "{3E30D674-9282-4297-AD1F-9B233A166308}"
467+
EndProject
461468
Global
462469
GlobalSection(SolutionConfigurationPlatforms) = preSolution
463470
Debug|Any CPU = Debug|Any CPU
@@ -2735,6 +2742,30 @@ Global
27352742
{514DED00-4DA3-46D1-B2E8-10CE826CD52D}.Release|x64.Build.0 = Release|Any CPU
27362743
{514DED00-4DA3-46D1-B2E8-10CE826CD52D}.Release|x86.ActiveCfg = Release|Any CPU
27372744
{514DED00-4DA3-46D1-B2E8-10CE826CD52D}.Release|x86.Build.0 = Release|Any CPU
2745+
{28D863B1-B60C-4C08-8661-EB820A5B78D2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
2746+
{28D863B1-B60C-4C08-8661-EB820A5B78D2}.Debug|Any CPU.Build.0 = Debug|Any CPU
2747+
{28D863B1-B60C-4C08-8661-EB820A5B78D2}.Debug|x64.ActiveCfg = Debug|Any CPU
2748+
{28D863B1-B60C-4C08-8661-EB820A5B78D2}.Debug|x64.Build.0 = Debug|Any CPU
2749+
{28D863B1-B60C-4C08-8661-EB820A5B78D2}.Debug|x86.ActiveCfg = Debug|Any CPU
2750+
{28D863B1-B60C-4C08-8661-EB820A5B78D2}.Debug|x86.Build.0 = Debug|Any CPU
2751+
{28D863B1-B60C-4C08-8661-EB820A5B78D2}.Release|Any CPU.ActiveCfg = Release|Any CPU
2752+
{28D863B1-B60C-4C08-8661-EB820A5B78D2}.Release|Any CPU.Build.0 = Release|Any CPU
2753+
{28D863B1-B60C-4C08-8661-EB820A5B78D2}.Release|x64.ActiveCfg = Release|Any CPU
2754+
{28D863B1-B60C-4C08-8661-EB820A5B78D2}.Release|x64.Build.0 = Release|Any CPU
2755+
{28D863B1-B60C-4C08-8661-EB820A5B78D2}.Release|x86.ActiveCfg = Release|Any CPU
2756+
{28D863B1-B60C-4C08-8661-EB820A5B78D2}.Release|x86.Build.0 = Release|Any CPU
2757+
{3E30D674-9282-4297-AD1F-9B233A166308}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
2758+
{3E30D674-9282-4297-AD1F-9B233A166308}.Debug|Any CPU.Build.0 = Debug|Any CPU
2759+
{3E30D674-9282-4297-AD1F-9B233A166308}.Debug|x64.ActiveCfg = Debug|Any CPU
2760+
{3E30D674-9282-4297-AD1F-9B233A166308}.Debug|x64.Build.0 = Debug|Any CPU
2761+
{3E30D674-9282-4297-AD1F-9B233A166308}.Debug|x86.ActiveCfg = Debug|Any CPU
2762+
{3E30D674-9282-4297-AD1F-9B233A166308}.Debug|x86.Build.0 = Debug|Any CPU
2763+
{3E30D674-9282-4297-AD1F-9B233A166308}.Release|Any CPU.ActiveCfg = Release|Any CPU
2764+
{3E30D674-9282-4297-AD1F-9B233A166308}.Release|Any CPU.Build.0 = Release|Any CPU
2765+
{3E30D674-9282-4297-AD1F-9B233A166308}.Release|x64.ActiveCfg = Release|Any CPU
2766+
{3E30D674-9282-4297-AD1F-9B233A166308}.Release|x64.Build.0 = Release|Any CPU
2767+
{3E30D674-9282-4297-AD1F-9B233A166308}.Release|x86.ActiveCfg = Release|Any CPU
2768+
{3E30D674-9282-4297-AD1F-9B233A166308}.Release|x86.Build.0 = Release|Any CPU
27382769
EndGlobalSection
27392770
GlobalSection(SolutionProperties) = preSolution
27402771
HideSolutionNode = FALSE
@@ -2957,6 +2988,8 @@ Global
29572988
{514DED00-4DA3-46D1-B2E8-10CE826CD52D} = {081E7761-B200-4DBF-8950-941464DECACE}
29582989
{2F547104-C74A-4A84-8980-D1B973CC40C1} = {6842A2C6-5C7B-42DD-9825-0EDE91BFEBF7}
29592990
{58E7EE89-B67C-482D-9605-04B3BCC5CFBB} = {2F547104-C74A-4A84-8980-D1B973CC40C1}
2991+
{28D863B1-B60C-4C08-8661-EB820A5B78D2} = {F2CF5D32-4B41-425E-B229-8FFC48F88063}
2992+
{3E30D674-9282-4297-AD1F-9B233A166308} = {0651C5EF-50AA-4598-8D9C-8F210ADD8490}
29602993
EndGlobalSection
29612994
GlobalSection(ExtensibilityGlobals) = postSolution
29622995
SolutionGuid = {F5273D7F-3334-48DF-94E3-41AE6816CD4D}

build/cache/assimp.json.gz

0 Bytes
Binary file not shown.

build/cache/cl.json.gz

124 Bytes
Binary file not shown.

build/cache/core.json.gz

53.7 KB
Binary file not shown.

build/cache/d3d9.json.gz

7.6 KB
Binary file not shown.

build/cache/dxc.json.gz

214 Bytes
Binary file not shown.

build/cache/dxva.json.gz

28.1 KB
Binary file not shown.

build/cache/sdl.json.gz

107 Bytes
Binary file not shown.

build/cache/vulkan.json.gz

5.63 KB
Binary file not shown.

build/cache/win32extras.json.gz

105 KB
Binary file not shown.

build/props/common.props

Lines changed: 14 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -6,31 +6,26 @@
66
<LangVersion>preview</LangVersion>
77
<Authors>.NET Foundation and Contributors</Authors>
88
<PackageReleaseNotes>
9-
Silk.NET September 2021 Update
9+
Silk.NET October 2021 Update
1010

11-
- Add TryGetExtension methods to AL &amp; ALContext
12-
- Add support for .NET 6 Android
13-
- Update to Vulkan 1.2.190
14-
- Update to OpenXR 1.0.19
15-
- Update to latest OpenGL specifications
11+
- Add bindings for DirectX Video Acceleration (DXVA)
12+
- Add bindings for D3D9Ex
13+
- Add bindings for extra core Win32 APIs (as required by DXVA)
14+
- Add a .NET 6 code path for GlobalMemory using NativeMemory
15+
- Add more TFMs in addition to .NET Standard 2.0 for DirectX bindings
16+
- Add enhanced anonymous struct support with ref-returning properties on .NET Standard 2.1 and up
17+
- Update to Vulkan 1.2.194
1618
- Update to latest OpenCL specifications
17-
- Fix calling CreateInput on an uninitialized IView resulting in a AccessViolationException
18-
- Fix calling Close on an uninitialized IView resulting in an AccessViolationException
19-
- Fix Silk.NET (and by extension SDL) taking full control of orientation on Android
20-
- Fix DoRender being called if Window.Close was called during DoUpdate
21-
- Fix Scalar.Abs for double values
22-
- Fix "Pfn" function pointer structures being marshalled with the incorrect calling convention
23-
- Fix Scalar.IsNaN and Scalar.IsInfinity returning true for non floating point types
24-
- Fix Box2D.Center returning bogus values
25-
- Fix incorrect documentation in Thumbstick.Direction
26-
- Fix incorrect documentation in WindowOptions
19+
- Fix MarshalDirectiveException when a struct containing a char passes across a native boundary
20+
- Fix Vulkan out parameters not having their structure type set before passing across the native boundary
21+
- Fix native libraries not being found in some cases for self-contained executables
2722
</PackageReleaseNotes>
2823
<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>
2924
<GenerateDocumentationFile>true</GenerateDocumentationFile>
3025
<PackageOutputPath>$(MSBuildThisFileDirectory)/../output_packages</PackageOutputPath>
3126
<RepositoryUrl>https://github.com/dotnet/Silk.NET</RepositoryUrl>
3227
<RepositoryType>Git</RepositoryType>
33-
<VersionPrefix>2.8.0</VersionPrefix>
28+
<VersionPrefix>2.9.0</VersionPrefix>
3429
<VersionSuffix Condition="'$(VersionSuffix)' == ''"></VersionSuffix>
3530
<Description Condition="'$(Description)' == ''">
3631
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.
@@ -42,6 +37,8 @@
4237
<EmbedUntrackedSources>true</EmbedUntrackedSources>
4338
<IncludeSymbols>true</IncludeSymbols>
4439
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
40+
<IncludePackageReferencesDuringMarkupCompilation>true</IncludePackageReferencesDuringMarkupCompilation>
41+
<Deterministic>true</Deterministic>
4542
</PropertyGroup>
4643
<ItemGroup Condition="'$(SilkEnableSourceLink)' != '' And '$(SilkSourceLinkExempt)' == ''">
4744
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.0.0" PrivateAssets="All"/>

generator.json

Lines changed: 172 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -792,7 +792,7 @@
792792
{
793793
"profileName": "Core",
794794
"sources": [
795-
"C:/Program Files (x86)/Windows Kits/10/Include/10.0.19041.0/um/D3DCommon.h"
795+
"C:/Program Files (x86)/Windows Kits/10/Include/10.0.19041.0/um/d3dcommon.h"
796796
],
797797
"mode": "Clang",
798798
"cacheDir": "build/cache",
@@ -824,7 +824,7 @@
824824
"traverse": [
825825
],
826826
"classes": {
827-
"D3DCommon.h": "[Core]D3DCommon"
827+
"d3dcommon.h": "[Core]D3DCommon"
828828
}
829829
},
830830
"exclude": [
@@ -835,7 +835,7 @@
835835
},
836836
"bakery": {
837837
"profileNames": [
838-
"D3DCommon"
838+
"d3dcommon"
839839
]
840840
},
841841
"output": {
@@ -845,14 +845,88 @@
845845
"props": "build/props/bindings.props"
846846
},
847847
"namespace": "Silk.NET.Core.Native",
848-
"extensionsNamespace": "Silk.NET.Core.Native.Extensions",
848+
"extensionsNamespace": "Silk.NET.Core.Native",
849849
"typeMaps": [
850850
{
851851
"$include.dxTypemap": "build/dx_typemap.json",
852852
"$include.commonTypeMap": "build/csharp_typemap.json"
853853
}
854854
]
855855
},
856+
{
857+
"profileName": "Win32Extras",
858+
"sources": [
859+
"src/Core/Silk.NET.Core/win32extras.h"
860+
],
861+
"mode": "Clang",
862+
"cacheDir": "build/cache",
863+
"cacheKey": "win32extras",
864+
"controlDescriptors": [
865+
"convert-windows-only",
866+
"no-name-container"
867+
],
868+
"prefix": "",
869+
"clang": {
870+
"args": [
871+
"--language=c++",
872+
"--std=c++17",
873+
"-m32",
874+
"-Wno-expansion-to-defined",
875+
"-Wno-ignored-attributes",
876+
"-Wno-ignored-pragma-intrinsic",
877+
"-Wno-nonportable-include-path",
878+
"-Wno-pragma-pack",
879+
"-IC:/Program Files (x86)/Windows Kits/10/Include/10.0.19041.0/shared",
880+
"-IC:/Program Files (x86)/Windows Kits/10/Include/10.0.19041.0/um",
881+
"-IC:/Program Files (x86)/Windows Kits/10/Include/10.0.19041.0/ucrt",
882+
"-IC:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/Tools/MSVC/14.28.29333/include",
883+
"-IC:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.28.29333/include",
884+
"-Ibuild/include"
885+
],
886+
"traverse": [
887+
"C:/Program Files (x86)/Windows Kits/10/Include/10.0.19041.0/shared/evntrace.h",
888+
"C:/Program Files (x86)/Windows Kits/10/Include/10.0.19041.0/um/minwinbase.h",
889+
"C:/Program Files (x86)/Windows Kits/10/Include/10.0.19041.0/um/timezoneapi.h",
890+
"C:/Program Files (x86)/Windows Kits/10/Include/10.0.19041.0/um/winnt.h"
891+
],
892+
"classes": {
893+
"win32extras.h": "[Core]Windows"
894+
}
895+
},
896+
"exclude": [
897+
"_SECURITY_ATTRIBUTES"
898+
],
899+
"rename": {
900+
"__AnonymousEnum_evntrace_L529_C9": "EtwCompressionResumptionMode"
901+
},
902+
"bakery": {
903+
"profileNames": [
904+
"win32extras"
905+
]
906+
},
907+
"output": {
908+
"mode": "Default",
909+
"path": "src/Core",
910+
"licenseFile": "build/LICENSE_HEADER.txt",
911+
"props": "build/props/bindings.props"
912+
},
913+
"namespace": "Silk.NET.Core.Win32Extras",
914+
"extensionsNamespace": "Silk.NET.Core.Win32Extras",
915+
"typeMaps": [
916+
{
917+
"WMIDPREQUESTCODE": "Wmidprequestcode",
918+
"_SECURITY_ATTRIBUTES": "Silk.NET.Core.Native.SecurityAttributes",
919+
"_FILETIME": "Filetime",
920+
"_TIME_ZONE_INFORMATION": "TimeZoneInformation",
921+
"_WNODE_HEADER": "WnodeHeader",
922+
"_EXCEPTION_RECORD": "ExceptionRecord"
923+
},
924+
{
925+
"$include.dxTypemap": "build/dx_typemap.json",
926+
"$include.commonTypeMap": "build/csharp_typemap.json"
927+
}
928+
]
929+
},
856930
{
857931
"profileName": "DXGI",
858932
"sources": [
@@ -945,6 +1019,100 @@
9451019
}
9461020
]
9471021
},
1022+
{
1023+
"profileName": "DXVA",
1024+
"sources": [
1025+
"src/Microsoft/dxva.h"
1026+
],
1027+
"mode": "Clang",
1028+
"cacheDir": "build/cache",
1029+
"cacheKey": "dxva",
1030+
"controlDescriptors": [
1031+
"convert-windows-only"
1032+
],
1033+
"converter": {},
1034+
"prefix": "DXVA",
1035+
"clang": {
1036+
"args": [
1037+
"--language=c++",
1038+
"--std=c++17",
1039+
"-m32",
1040+
"-Wno-expansion-to-defined",
1041+
"-Wno-ignored-attributes",
1042+
"-Wno-ignored-pragma-intrinsic",
1043+
"-Wno-nonportable-include-path",
1044+
"-Wno-pragma-pack",
1045+
"-IC:/Program Files (x86)/Windows Kits/10/Include/10.0.19041.0/shared",
1046+
"-IC:/Program Files (x86)/Windows Kits/10/Include/10.0.19041.0/um",
1047+
"-IC:/Program Files (x86)/Windows Kits/10/Include/10.0.19041.0/ucrt",
1048+
"-IC:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/Tools/MSVC/14.28.29333/include",
1049+
"-IC:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.28.29333/include",
1050+
"-Ibuild/include"
1051+
],
1052+
"traverse": [
1053+
"C:/Program Files (x86)/Windows Kits/10/Include/10.0.19041.0/um/dxva.h",
1054+
"C:/Program Files (x86)/Windows Kits/10/Include/10.0.19041.0/um/dxva2api.h",
1055+
"C:/Program Files (x86)/Windows Kits/10/Include/10.0.19041.0/um/dxva2swdev.h",
1056+
"C:/Program Files (x86)/Windows Kits/10/Include/10.0.19041.0/um/dxva2trace.h",
1057+
"C:/Program Files (x86)/Windows Kits/10/Include/10.0.19041.0/um/dxva9typ.h",
1058+
"C:/Program Files (x86)/Windows Kits/10/Include/10.0.19041.0/um/dxvahd.h"
1059+
],
1060+
"classes": {
1061+
"dxva.h": "[Core]DXVA",
1062+
"dxva2api.h": "[Core]DXVA",
1063+
"dxva2swdev.h": "[Core]DXVA",
1064+
"dxva2trace.h": "[Core]DXVA",
1065+
"dxva9typ.h": "[Core]DXVA",
1066+
"dxvahd.h": "[Core]DXVA"
1067+
}
1068+
},
1069+
"exclude": [
1070+
],
1071+
"rename": {
1072+
"_DXVA2_VIDEOSAMPLE": "DXVA2VideoSample"
1073+
},
1074+
"bakery": {
1075+
"profileNames": [
1076+
"dxva",
1077+
"dxva2api",
1078+
"dxva2swdev",
1079+
"dxva2trace",
1080+
"dxva2typ",
1081+
"dxvahd"
1082+
]
1083+
},
1084+
"output": {
1085+
"mode": "Default",
1086+
"path": "src/Microsoft",
1087+
"licenseFile": "build/LICENSE_HEADER.txt",
1088+
"props": "build/props/bindings.props"
1089+
},
1090+
"namespace": "Silk.NET.DXVA",
1091+
"extensionsNamespace": "Silk.NET.DXVA.Extensions",
1092+
"nameContainer": {
1093+
"linux-x64": "libdxva2.so",
1094+
"win-x64": "dxva2.dll",
1095+
"win-x86": "dxva2.dll",
1096+
"osx-x64": "libdxva2.dylib",
1097+
"android": "libdxva2.so",
1098+
"iOS": "__Internal",
1099+
"className": "DXVA2LibraryNameContainer"
1100+
},
1101+
"typeMaps": [
1102+
{
1103+
"IDirect3DDevice9Ex": "Silk.NET.Direct3D9.IDirect3DDevice9Ex",
1104+
"IDirect3DDevice9": "Silk.NET.Direct3D9.IDirect3DDevice9",
1105+
"IDirect3DSurface9": "Silk.NET.Direct3D9.IDirect3DSurface9",
1106+
"_D3DFORMAT": "Silk.NET.Direct3D9.Format",
1107+
"_D3DPOOL": "Silk.NET.Direct3D9.Pool",
1108+
"_EVENT_TRACE_HEADER": "Silk.NET.Core.Win32Extras.EventTraceHeader"
1109+
},
1110+
{
1111+
"$include.dxTypemap": "build/dx_typemap.json",
1112+
"$include.commonTypeMap": "build/csharp_typemap.json"
1113+
}
1114+
]
1115+
},
9481116
{
9491117
"profileName": "D3D11",
9501118
"sources": [
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
// Licensed to the .NET Foundation under one or more agreements.
2+
// The .NET Foundation licenses this file to you under the MIT license.
3+
4+
5+
using System;
6+
using System.Runtime.InteropServices;
7+
using System.Runtime.CompilerServices;
8+
using System.Text;
9+
using Silk.NET.Core;
10+
using Silk.NET.Core.Native;
11+
using Silk.NET.Core.Attributes;
12+
using Silk.NET.Core.Contexts;
13+
using Silk.NET.Core.Loader;
14+
15+
#pragma warning disable 1591
16+
17+
namespace Silk.NET.Assimp
18+
{
19+
[NativeName("Name", "Interpolator")]
20+
public unsafe partial struct Interpolator
21+
{
22+
}
23+
}

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy