diff --git a/Silk.NET.sln b/Silk.NET.sln
index 17850fdc6f..afddb65277 100644
--- a/Silk.NET.sln
+++ b/Silk.NET.sln
@@ -1,7 +1,6 @@
-
Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio Version 16
-VisualStudioVersion = 16.0.28922.388
+# Visual Studio Version 17
+VisualStudioVersion = 17.12.35527.113
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{60A10DB9-C4D6-48CD-8982-7F02345D7ADF}"
ProjectSection(SolutionItems) = preProject
@@ -10,19 +9,19 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
.gitignore = .gitignore
Directory.Build.props = Directory.Build.props
Directory.Build.targets = Directory.Build.targets
- LICENSE.md = LICENSE.md
+ Directory.Packages.props = Directory.Packages.props
generator.json = generator.json
+ LICENSE.md = LICENSE.md
Silk.NET.sln.DotSettings = Silk.NET.sln.DotSettings
- Directory.Packages.props = Directory.Packages.props
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "docs", "docs", "{9DB0EA3E-7216-4F9C-98F5-8A7483E9F083}"
ProjectSection(SolutionItems) = preProject
- docs\CODE_OF_CONDUCT.md = docs\CODE_OF_CONDUCT.md
+ docs\CHANGELOG.md = docs\CHANGELOG.md
docs\CODEOWNERS = docs\CODEOWNERS
+ docs\CODE_OF_CONDUCT.md = docs\CODE_OF_CONDUCT.md
docs\CONTRIBUTING.md = docs\CONTRIBUTING.md
docs\README.md = docs\README.md
- docs\CHANGELOG.md = docs\CHANGELOG.md
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "scripts", "scripts", "{CFFDBEEC-B112-4844-B65B-56A1029CC130}"
@@ -102,6 +101,12 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Windowing", "Windowing", "{
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Silk.NET.Windowing", "sources\Windowing\Windowing\Silk.NET.Windowing.csproj", "{EF07CBB5-D253-4CA9-A5DA-8B3DF2B0DF8E}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Silk.NET.Win32", "sources\Win32\Win32\Silk.NET.Win32.csproj", "{BB33CC4A-EA3A-4D4F-879A-F93C617C5E63}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Win32", "Win32", "{BA20152E-2FF8-48F0-A90E-682A7A8CF657}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Silk.NET.Win32.UnitTests", "tests\Win32\Win32\Silk.NET.Win32.UnitTests.csproj", "{C8F32825-1F93-44F0-AB88-26167C21CADF}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -123,7 +128,6 @@ Global
{48F43535-3AFC-45E7-A98D-C2609B3B9757}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{48F43535-3AFC-45E7-A98D-C2609B3B9757}.Debug|Any CPU.Build.0 = Debug|Any CPU
{48F43535-3AFC-45E7-A98D-C2609B3B9757}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {48F43535-3AFC-45E7-A98D-C2609B3B9757}.Release|Any CPU.Build.0 = Release|Any CPU
{A87E1861-07E4-4B7A-9173-0853370A7D4E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A87E1861-07E4-4B7A-9173-0853370A7D4E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A87E1861-07E4-4B7A-9173-0853370A7D4E}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -143,15 +147,12 @@ Global
{9625C977-25BE-48F3-9B6F-BC94B8B799A6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9625C977-25BE-48F3-9B6F-BC94B8B799A6}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9625C977-25BE-48F3-9B6F-BC94B8B799A6}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {9625C977-25BE-48F3-9B6F-BC94B8B799A6}.Release|Any CPU.Build.0 = Release|Any CPU
{19B05730-F97E-43D4-B922-DF4697E5CE5F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{19B05730-F97E-43D4-B922-DF4697E5CE5F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{19B05730-F97E-43D4-B922-DF4697E5CE5F}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {19B05730-F97E-43D4-B922-DF4697E5CE5F}.Release|Any CPU.Build.0 = Release|Any CPU
{D2B9C43F-A80D-4C9A-9643-BC1AC1B4E807}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D2B9C43F-A80D-4C9A-9643-BC1AC1B4E807}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D2B9C43F-A80D-4C9A-9643-BC1AC1B4E807}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {D2B9C43F-A80D-4C9A-9643-BC1AC1B4E807}.Release|Any CPU.Build.0 = Release|Any CPU
{3CADD95A-179F-4ECF-A49D-4B753832C63C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3CADD95A-179F-4ECF-A49D-4B753832C63C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3CADD95A-179F-4ECF-A49D-4B753832C63C}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -159,47 +160,53 @@ Global
{6FA628B8-9696-4847-89F9-E58F470AF4FB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6FA628B8-9696-4847-89F9-E58F470AF4FB}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6FA628B8-9696-4847-89F9-E58F470AF4FB}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {6FA628B8-9696-4847-89F9-E58F470AF4FB}.Release|Any CPU.Build.0 = Release|Any CPU
{F16C0AB9-DE7E-4C09-9EE9-DAA8B8E935A6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F16C0AB9-DE7E-4C09-9EE9-DAA8B8E935A6}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F16C0AB9-DE7E-4C09-9EE9-DAA8B8E935A6}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {F16C0AB9-DE7E-4C09-9EE9-DAA8B8E935A6}.Release|Any CPU.Build.0 = Release|Any CPU
{EF07CBB5-D253-4CA9-A5DA-8B3DF2B0DF8E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{EF07CBB5-D253-4CA9-A5DA-8B3DF2B0DF8E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{EF07CBB5-D253-4CA9-A5DA-8B3DF2B0DF8E}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {EF07CBB5-D253-4CA9-A5DA-8B3DF2B0DF8E}.Release|Any CPU.Build.0 = Release|Any CPU
+ {BB33CC4A-EA3A-4D4F-879A-F93C617C5E63}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {BB33CC4A-EA3A-4D4F-879A-F93C617C5E63}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {BB33CC4A-EA3A-4D4F-879A-F93C617C5E63}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {C8F32825-1F93-44F0-AB88-26167C21CADF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {C8F32825-1F93-44F0-AB88-26167C21CADF}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {C8F32825-1F93-44F0-AB88-26167C21CADF}.Release|Any CPU.ActiveCfg = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
+ {76F747A6-D971-4162-BF35-A226177FCA08} = {24BD769C-7379-400C-A67F-00C34756DA32}
+ {600D712C-4ABF-44C4-96C3-B1DEE1F38298} = {AB25C482-DA9D-4335-8E26-2F29C3700152}
+ {131C09C1-BF4D-47C1-AF13-4A7E30866B1E} = {5CD096DB-6C44-48F1-9093-AD4C84B6B7EC}
{48F43535-3AFC-45E7-A98D-C2609B3B9757} = {DD29EA8F-B1A6-45AA-8D2E-B38DA56D9EF6}
+ {A87E1861-07E4-4B7A-9173-0853370A7D4E} = {D9ACA4E5-712F-4F15-B8B8-50C85D23D1D5}
+ {1B21D783-71C3-48D3-91F5-0EEA90FB0DB2} = {2452CED9-5211-4A19-BA44-230EC28F409E}
+ {01683C11-4721-43AB-B53C-15EBE935B48F} = {FCD75AA5-1536-433E-BA9B-3D698C2255EB}
{B681E21A-47A2-4635-96EE-60D8D63FBEA9} = {475AEF7B-0154-4989-AF82-97E3A95A96AF}
{AF6C70ED-D6A8-4C57-8DB3-EAFF94396049} = {B681E21A-47A2-4635-96EE-60D8D63FBEA9}
+ {9625C977-25BE-48F3-9B6F-BC94B8B799A6} = {FA31E483-AD35-4E44-B10A-B33C4539DBCB}
+ {19B05730-F97E-43D4-B922-DF4697E5CE5F} = {EC4D7B06-D277-4411-BD7B-71A6D37683F0}
+ {D2B9C43F-A80D-4C9A-9643-BC1AC1B4E807} = {49D426BF-A009-43D5-A9E2-EFAAAA7196FC}
{5CD096DB-6C44-48F1-9093-AD4C84B6B7EC} = {DD29EA8F-B1A6-45AA-8D2E-B38DA56D9EF6}
- {131C09C1-BF4D-47C1-AF13-4A7E30866B1E} = {5CD096DB-6C44-48F1-9093-AD4C84B6B7EC}
{2452CED9-5211-4A19-BA44-230EC28F409E} = {DD29EA8F-B1A6-45AA-8D2E-B38DA56D9EF6}
{FA31E483-AD35-4E44-B10A-B33C4539DBCB} = {DD29EA8F-B1A6-45AA-8D2E-B38DA56D9EF6}
{24BD769C-7379-400C-A67F-00C34756DA32} = {DD29EA8F-B1A6-45AA-8D2E-B38DA56D9EF6}
{EC4D7B06-D277-4411-BD7B-71A6D37683F0} = {DD29EA8F-B1A6-45AA-8D2E-B38DA56D9EF6}
- {19B05730-F97E-43D4-B922-DF4697E5CE5F} = {EC4D7B06-D277-4411-BD7B-71A6D37683F0}
- {76F747A6-D971-4162-BF35-A226177FCA08} = {24BD769C-7379-400C-A67F-00C34756DA32}
- {1B21D783-71C3-48D3-91F5-0EEA90FB0DB2} = {2452CED9-5211-4A19-BA44-230EC28F409E}
- {9625C977-25BE-48F3-9B6F-BC94B8B799A6} = {FA31E483-AD35-4E44-B10A-B33C4539DBCB}
{D9ACA4E5-712F-4F15-B8B8-50C85D23D1D5} = {A5578D12-9E77-4647-8C22-0DBD17760BFF}
{FCD75AA5-1536-433E-BA9B-3D698C2255EB} = {A5578D12-9E77-4647-8C22-0DBD17760BFF}
{49D426BF-A009-43D5-A9E2-EFAAAA7196FC} = {A5578D12-9E77-4647-8C22-0DBD17760BFF}
{AB25C482-DA9D-4335-8E26-2F29C3700152} = {A5578D12-9E77-4647-8C22-0DBD17760BFF}
- {A87E1861-07E4-4B7A-9173-0853370A7D4E} = {D9ACA4E5-712F-4F15-B8B8-50C85D23D1D5}
- {01683C11-4721-43AB-B53C-15EBE935B48F} = {FCD75AA5-1536-433E-BA9B-3D698C2255EB}
- {D2B9C43F-A80D-4C9A-9643-BC1AC1B4E807} = {49D426BF-A009-43D5-A9E2-EFAAAA7196FC}
- {600D712C-4ABF-44C4-96C3-B1DEE1F38298} = {AB25C482-DA9D-4335-8E26-2F29C3700152}
{3CADD95A-179F-4ECF-A49D-4B753832C63C} = {475AEF7B-0154-4989-AF82-97E3A95A96AF}
{6FA628B8-9696-4847-89F9-E58F470AF4FB} = {5CD096DB-6C44-48F1-9093-AD4C84B6B7EC}
{6E739132-EEAB-43A5-83C7-EB58C50D03A1} = {DD29EA8F-B1A6-45AA-8D2E-B38DA56D9EF6}
{F16C0AB9-DE7E-4C09-9EE9-DAA8B8E935A6} = {EC4D7B06-D277-4411-BD7B-71A6D37683F0}
{FE4414F8-5370-445D-9F24-C3AD3223F299} = {DD29EA8F-B1A6-45AA-8D2E-B38DA56D9EF6}
{EF07CBB5-D253-4CA9-A5DA-8B3DF2B0DF8E} = {FE4414F8-5370-445D-9F24-C3AD3223F299}
+ {BB33CC4A-EA3A-4D4F-879A-F93C617C5E63} = {6E739132-EEAB-43A5-83C7-EB58C50D03A1}
+ {BA20152E-2FF8-48F0-A90E-682A7A8CF657} = {A5578D12-9E77-4647-8C22-0DBD17760BFF}
+ {C8F32825-1F93-44F0-AB88-26167C21CADF} = {BA20152E-2FF8-48F0-A90E-682A7A8CF657}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {78D2CF6A-60A1-43E3-837B-00B73C9DA384}
diff --git a/generator.json b/generator.json
index 5ad04119db..f97beb8ffd 100644
--- a/generator.json
+++ b/generator.json
@@ -2,33 +2,203 @@
"Jobs": {
"Microsoft": {
"Solution": "Silk.NET.sln",
- "SourceProject": "TODO.csproj",
- "TestProject": "tests/TODO.csproj",
+ "SourceProject": "sources/Win32/Win32/Silk.NET.Win32.csproj",
+ "TestProject": "tests/Win32/Win32/Silk.NET.Win32.UnitTests.csproj",
"DefaultLicenseHeader": "eng/silktouch/header.txt",
"Mods": [
- "AddIncludes",
"ClangScraper",
- "ChangeNamespace"
+ "ImportManualFiles",
+ "ChangeNamespace",
+ "TransformInterfaces",
+ "TransformCOM",
+ "DisableWarnings",
+ "TransformFunctions"
],
"ClangScraper": {
"ClangSharpResponseFiles": [
- "eng/submodules/terrafx.interop.windows/generation/**/generate.rsp"
+ "eng/submodules/terrafx.interop.windows/generation/**/generate.rsp",
+ "!eng/submodules/terrafx.interop.windows/generation/DirectX/d3dx12/d3dx12_state_object/generate.rsp",
+ "!eng/submodules/terrafx.interop.windows/generation/Windows/um/Unknwnbase/generate.rsp",
+ "!eng/submodules/terrafx.interop.windows/generation/WinRT/winrt/inspectable/generate.rsp",
],
"ManualOverrides": {
- "sources/Windows/um/icm/Windows.gen.cs": "eng/submodules/terrafx.interop.windows/sources/Interop/Windows/Windows/um/icm/Windows.cs",
- "sources/Gdiplus/um/gdiplustypes/GpRect.gen.cs": "eng/submodules/terrafx.interop.windows/sources/Interop/Windows/Gdiplus/um/gdiplustypes/GpRect.cs",
- "sources/Gdiplus/um/gdiplustypes/GpRectF.gen.cs": "eng/submodules/terrafx.interop.windows/sources/Interop/Windows/Gdiplus/um/gdiplustypes/GpRectF.cs",
- "sources/Gdiplus/um/gdiplustypes/GpPathData.gen.cs": "eng/submodules/terrafx.interop.windows/sources/Interop/Windows/Gdiplus/um/gdiplustypes/GpPathData.cs"
+ "sources/Windows/um/httpserv/IHttpResponse.gen.cs": "eng/submodules/terrafx.interop.windows/sources/Interop/Windows/Windows/um/httpserv/IHttpResponse.cs",
+ "sources/Windows/um/httpserv/IHttpResponse2.gen.cs": "eng/submodules/terrafx.interop.windows/sources/Interop/Windows/Windows/um/httpserv/IHttpResponse2.cs",
+ "sources/Windows/um/httpserv/IHttpResponse3.gen.cs": "eng/submodules/terrafx.interop.windows/sources/Interop/Windows/Windows/um/httpserv/IHttpResponse3.cs",
+ "sources/Windows/um/httpserv/IHttpResponse4.gen.cs": "eng/submodules/terrafx.interop.windows/sources/Interop/Windows/Windows/um/httpserv/IHttpResponse4.cs",
+ "sources/Windows/um/httpserv/IHttpTraceContext.gen.cs": "eng/submodules/terrafx.interop.windows/sources/Interop/Windows/Windows/um/httpserv/IHttpTraceContext.cs",
+ "sources/Windows/um/httpserv/CHttpModule.gen.cs": "eng/submodules/terrafx.interop.windows/sources/Interop/Windows/Windows/um/httpserv/CHttpModule.cs",
+ "sources/Windows/um/winioctl/STORAGE_QUERY_DEPENDENT_VOLUME_RESPONSE.gen.cs": "eng/submodules/terrafx.interop.windows/sources/Interop/Windows/Windows/um/winioctl/STORAGE_QUERY_DEPENDENT_VOLUME_RESPONSE.cs",
+ "sources/Windows/um/winioctl/TXFS_READ_BACKUP_INFORMATION_OUT.gen.cs": "eng/submodules/terrafx.interop.windows/sources/Interop/Windows/Windows/um/winioctl/TXFS_READ_BACKUP_INFORMATION_OUT.cs",
+ "sources/Windows/um/WinUser/Windows.gen.cs": "eng/submodules/terrafx.interop.windows/sources/Interop/Windows/Windows/um/WinUser/Windows.cs",
+ "sources/Windows/shared/strsafe/Windows.gen.cs": "eng/submodules/terrafx.interop.windows/sources/Interop/Windows/Windows/shared/strsafe/Windows.cs",
+ "sources/Windows/shared/ws2ipdef/Windows.gen.cs": "eng/submodules/terrafx.interop.windows/sources/Interop/Windows/Windows/shared/ws2ipdef/Windows.cs",
+ "sources/Windows/shared/Iprtrmib/MIB_OPAQUE_INFO.gen.cs": "eng/submodules/terrafx.interop.windows/sources/Interop/Windows/Windows/shared/Iprtrmib/MIB_OPAQUE_INFO.cs",
+ "sources/WinRT/winrt/windows.applicationmodel.email/IEmailMailboxSmimeEncryptionAlgorithm.gen.cs": "eng/submodules/terrafx.interop.windows/sources/Interop/Windows/WinRT/winrt/windows.applicationmodel.email/EmailMailboxSmimeEncryptionAlgorithm.cs",
+ "sources/WinRT/winrt/windows.applicationmodel.email/IEmailMailboxSmimeSigningAlgorithm.gen.cs": "eng/submodules/terrafx.interop.windows/sources/Interop/Windows/WinRT/winrt/windows.applicationmodel.email/EmailMailboxSmimeSigningAlgorithm.cs",
+ "sources/WinRT/winrt/windows.perception.spatial/ISpatialCoordinateSystem.gen.cs": "eng/submodules/terrafx.interop.windows/sources/Interop/Windows/WinRT/winrt/windows.perception.spatial/ISpatialCoordinateSystem.cs",
+ "sources/WinRT/winrt/windows.security.authentication.web.core/IID.gen.cs": "eng/submodules/terrafx.interop.windows/sources/Interop/Windows/WinRT/winrt/windows.security.authentication.web.core/IID.Manual.cs",
+ "sources/WinRT/winrt/windows.ui.input/IID.gen.cs": "eng/submodules/terrafx.interop.windows/sources/Interop/Windows/WinRT/winrt/windows.ui.input/IID.Manual.cs"
},
"InputSourceRoot": "eng/submodules/terrafx.interop.windows/sources/Interop/Windows",
"InputTestRoot": "eng/submodules/terrafx.interop.windows/tests/Interop/Windows",
"SkipScrapeIf": [
"!win"
+ ],
+ "CacheOutput": false,
+ "GeneratedToRemove": [
+ "tests/DirectX/d3dx12/d3dx12_core/**.cs",
+ "tests/DirectX/d3dx12/d3dx12_barriers/**.cs",
+ "sources/**/HANDLE.gen.cs",
+ "sources/**/helper-types/*Attribute.gen.cs",
+ "sources/**/helper-types/HRESULT.gen.cs",
+ "sources/**/helper-types/BOOL.gen.cs",
+ "sources/**/helper-types/HSTRING.gen.cs",
+ ],
+ },
+ "ImportManualFiles": {
+ "ManualImports": {
+ "sources/**.Manual.cs": "eng/submodules/terrafx.interop.windows/sources/Interop/Windows/**.Manual.cs",
+ "!sources/**/INativeGuid.Manual.cs": "!**/INativeGuid.Manual.cs",
+ "!sources/**/HWND.Manual.cs": "!**/HWND.Manual.cs",
+ "!sources/**/HRESULT.Manual.cs": "!**/HRESULT.Manual.cs",
+ "!sources/**/ID2D1*.Manual.cs": "!**/ID2D1*.Manual.cs",
+ "!sources/**/d2d1_1helper/DirectX.Manual.cs": "!**/d2d1_1helper/DirectX.Manual.cs",
+ "!sources/**/DirectXHelpers/DirectX.Manual.cs": "!**/DirectXHelpers/DirectX.Manual.cs",
+ "!sources/**/d2d1/DirectX.Manual.cs": "!**/d2d1/DirectX.Manual.cs",
+ "!sources/**/IWeakReference.Manual.cs": "!**/IWeakReference.Manual.cs",
+ "!sources/**/IDispatchEx.Manual.cs": "!**/IDispatchEx.Manual.cs",
+ "!sources/**/CD3DX12_PIPELINE_STATE_STREAM_PARSE_HELPER.Manual.cs": "!**/CD3DX12_PIPELINE_STATE_STREAM_PARSE_HELPER.Manual.cs",
+ "!sources/**/CD3DX12_PIPELINE_STATE_STREAM1_PARSE_HELPER.Manual.cs": "!**/CD3DX12_PIPELINE_STATE_STREAM1_PARSE_HELPER.Manual.cs",
+ "!sources/**/CD3DX12_PIPELINE_STATE_STREAM2_PARSE_HELPER.Manual.cs": "!**/CD3DX12_PIPELINE_STATE_STREAM2_PARSE_HELPER.Manual.cs",
+ "!sources/**/CD3DX12_PIPELINE_STATE_STREAM3_PARSE_HELPER.Manual.cs": "!**/CD3DX12_PIPELINE_STATE_STREAM3_PARSE_HELPER.Manual.cs",
+ "!sources/**/CD3DX12_PIPELINE_STATE_STREAM4_PARSE_HELPER.Manual.cs": "!**/CD3DX12_PIPELINE_STATE_STREAM4_PARSE_HELPER.Manual.cs",
+ "!sources/**/CD3DX12_PIPELINE_STATE_STREAM5_PARSE_HELPER.Manual.cs": "!**/CD3DX12_PIPELINE_STATE_STREAM5_PARSE_HELPER.Manual.cs",
+ "!sources/**/ShObjIdl_core/Windows.Manual.cs": "!**/ShObjIdl_core/Windows.Manual.cs",
+ "!sources/**/propvarutil/Windows.Manual.cs": "!**/propvarutil/Windows.Manual.cs",
+ "!sources/**/uuids/Windows.Manual.cs": "!**/uuids/Windows.Manual.cs",
+ "!sources/**/gdipluscolor/Color.Manual.cs": "!**/gdipluscolor/Color.Manual.cs",
+ "!sources/**/windows.ui.input/IID.Manual.cs": "!**/windows.ui.input/IID.Manual.cs",
+ "!sources/**/windows.security.authentication.web.core/IID.Manual.cs": "!**/windows.security.authentication.web.core/IID.Manual.cs",
+ "!sources/**/roapi/WinRT.Manual.cs": "!**/roapi/WinRT.Manual.cs",
+ "!sources/**/windows.graphics.directx.direct3d11.interop/WinRT.Manual.cs": "!**/windows.graphics.directx.direct3d11.interop/WinRT.Manual.cs",
+ "!sources/**/roparameterizediid/**.Manual.cs": "!**/roparameterizediid/**.Manual.cs",
+ "!sources/**/d2d1_1/D2D1_**.Manual.cs": "!**/d2d1_1/D2D1_**.Manual.cs"
+ }
+ },
+ "ChangeNamespace": {
+ "Mappings": {
+ "TerraFX.Interop.Windows(.*)": "Silk.NET.Win32$1",
+ "TerraFX.Interop(?!.Windows)(.*)": "Silk.NET$1"
+ }
+ },
+ "TransformInterfaces": {
+ "AdditionalInterfaces": [
+ "IDispatchEx",
+ "IUnknown",
+ "IInspectable",
+ "IClassFactory",
+ "AsyncIUknown"
+ ]
+ },
+ "TransformCOM": {
+ "BaseTypes": {
+ "IUnknown.Interface": "Silk.NET.Core.IUnknown.Interface"
+ },
+ "AdditionalCOMTypes": {
+ "IDispatchEx.Interface": {
+ "Namespace": "Silk.NET.Win32",
+ "Parent": "IDispatch.Interface"
+ },
+ "IInspectable.Interface": {
+ "Namespace": "Silk.NET.Core",
+ "Parent": "IUnknown.Interface"
+ },
+ "IClassFactory.Interface": {
+ "Namespace": "Silk.NET.Core",
+ "Parent": "IUnknown.Interface"
+ },
+ "AsyncIUnknown.Interface": {
+ "Namespace": "Silk.NET.Core",
+ "Parent": "IUnknown.Interface"
+ },
+ "IUnknown.Interface": {
+ "Namespace": "Silk.NET.Core",
+ "Parent": ""
+ }
+ }
+ },
+ "DisableWarnings": {
+ "WarningCodes": [
+ "CS1589", //XML Comments missing (due to missing docs)
+ "CS0419", //Inheritdoc issue (due to bug)
+ "CA1416", //Function available outside of target os (intended)
+ "CS0618" //Obsolete Warnings (intended)
+ ]
+ },
+ "TransformFunctions": {
+ "BoolTypes": {
+ "BOOL": null
+ }
+ }
+ },
+ "Core": {
+ "Solution": "Silk.NET.sln",
+ "SourceProject": "sources/Core/Core/Silk.NET.Core.csproj",
+ "TestProject": "tests/Core/Core/Silk.NET.Core.UnitTests.csproj",
+ "DefaultLicenseHeader": "eng/silktouch/header.txt",
+ "Mods": [
+ "ClangScraper",
+ "ChangeNamespace",
+ "TransformInterfaces",
+ "TransformCOM",
+ "DisableWarnings",
+ "TransformFunctions"
+ ],
+ "ClangScraper": {
+ "ClangSharpResponseFiles": [
+ "eng/submodules/terrafx.interop.windows/generation/Windows/um/Unknwnbase/generate.rsp",
+ "eng/submodules/terrafx.interop.windows/generation/WinRT/winrt/inspectable/generate.rsp",
+ "eng/submodules/terrafx.interop.windows/generation/Windows/other/helper-types/generate.rsp"
+ ],
+ "InputSourceRoot": "eng/submodules/terrafx.interop.windows/sources/Interop/Windows",
+ "InputTestRoot": "eng/submodules/terrafx.interop.windows/tests/Interop/Windows",
+ "SkipScrapeIf": [
+ "!win"
+ ],
+ "CacheOutput": false,
+ "GeneratedToRemove": [
+ "sources/**/helper-types/*.gen.cs",
+ "!sources/**/helper-types/HRESULT.gen.cs",
+ "!sources/**/helper-types/BOOL.gen.cs",
+ "!sources/**/helper-types/HSTRING.gen.cs",
+ "!sources/**/helper-types/HANDLE.gen.cs"
]
},
"ChangeNamespace": {
"Mappings": {
- "TerraFX.Interop.(.*)": "Silk.NET.$1"
+ "TerraFX.Interop(.*)": "Silk.NET.Core",
+ }
+ },
+ "TransformInterfaces": {
+ },
+ "TransformCOM": {
+ "BaseTypes": {
+ "IUnknown.Interface": "Silk.NET.Core.IUnknown.Interface"
+ }
+ },
+ "DisableWarnings": {
+ "WarningCodes": [
+ "CS1589", //XML Comments missing (due to missing docs)
+ "CS1591", //Missing Summaries
+ "CS0419", //Inheritdoc issue (due to bug)
+ "CA1416", //Function available outside of target os (intended)
+ "CS0618" //Obsolete Warnings (intended)
+ ]
+ },
+ "TransformFunctions": {
+ "BoolTypes": {
+ "BOOL": null
}
}
},
diff --git a/sources/Core/Core/BOOL.Manual.cs b/sources/Core/Core/BOOL.Manual.cs
new file mode 100644
index 0000000000..85194f116f
--- /dev/null
+++ b/sources/Core/Core/BOOL.Manual.cs
@@ -0,0 +1,19 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+
+using System.Numerics;
+
+namespace Silk.NET.Core;
+
+///
+/// Boolean value commonly used by Microsoft
+///
+public readonly partial struct BOOL : IIncrementOperators
+{
+ ///
+ /// Increment boolean value
+ ///
+ /// bool value to increment
+ /// incremented bool value
+ public static BOOL operator ++(BOOL value) => new(value.Value + 1);
+}
diff --git a/sources/Core/Core/DSL/MaybeBool`1.cs b/sources/Core/Core/DSL/MaybeBool`1.cs
index 3daff6a219..3b725aee31 100644
--- a/sources/Core/Core/DSL/MaybeBool`1.cs
+++ b/sources/Core/Core/DSL/MaybeBool`1.cs
@@ -54,4 +54,36 @@ public static implicit operator MaybeBool(bool value)
/// The boolean value.
[MethodImpl(MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization)]
public static implicit operator bool(MaybeBool value) => !value.Value.Equals(default);
+
+ ///
+ /// compares boolean value and int
+ ///
+ /// left hand value
+ /// right hand value
+ ///
+ public static bool operator ==(MaybeBool lh, int rh) => lh == (rh != 0);
+
+ ///
+ /// Compares boolean value and int
+ ///
+ /// left hand value
+ /// right hand value
+ ///
+ public static bool operator !=(MaybeBool lh, int rh) => lh != (rh != 0);
+
+ ///
+ /// compares boolean value and int
+ ///
+ /// left hand value
+ /// right hand value
+ ///
+ public static bool operator ==(int lh, MaybeBool rh) => (lh != 0) == rh;
+
+ ///
+ /// Compares boolean value and int
+ ///
+ /// left hand value
+ /// right hand value
+ ///
+ public static bool operator !=(int lh, MaybeBool rh) => (lh != 0) != rh;
}
diff --git a/sources/Core/Core/HRESULT.Manual.cs b/sources/Core/Core/HRESULT.Manual.cs
new file mode 100644
index 0000000000..4ebfd0c6c0
--- /dev/null
+++ b/sources/Core/Core/HRESULT.Manual.cs
@@ -0,0 +1,21 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+
+#pragma warning disable CS1589, CS0419, CA1416, CS0618
+namespace Silk.NET.Core;
+
+///
+/// Common error code value returned by Microsoft methods
+///
+public partial struct HRESULT
+{
+ ///
+ /// Has the function failed
+ ///
+ public bool FAILED => Value < 0;
+
+ ///
+ /// Has the function succeeded
+ ///
+ public bool SUCCEEDED => Value >= 0;
+}
diff --git a/sources/Core/Core/IComInterface.cs b/sources/Core/Core/IComInterface.cs
new file mode 100644
index 0000000000..afcb778c81
--- /dev/null
+++ b/sources/Core/Core/IComInterface.cs
@@ -0,0 +1,25 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+
+namespace Silk.NET.Core
+{
+ ///
+ /// A specialized native interface representing a ComType
+ ///
+ public interface IComInterface : INativeGuid
+ {
+ ///
+ /// Gets the address of the pointer to the interface object address
+ ///
+ /// The native interface object type
+ /// pointer to interface object address
+ Ptr2D GetAddressOf()
+ where TNativeInterface : unmanaged;
+
+ ///
+ /// Gets the address of the pointer to the interface object address
+ ///
+ /// pointer to interface object address
+ Ptr2D GetAddressOf();
+ }
+}
diff --git a/sources/Core/Core/INativeGuid.cs b/sources/Core/Core/INativeGuid.cs
new file mode 100644
index 0000000000..a5c642acec
--- /dev/null
+++ b/sources/Core/Core/INativeGuid.cs
@@ -0,0 +1,22 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Silk.NET.Core
+{
+ ///
+ /// An interface to retrieve Native class Guids
+ ///
+ public unsafe interface INativeGuid
+ {
+ ///
+ /// The guid for the native version of this class
+ ///
+ static abstract Guid* NativeGuid { get; }
+ }
+}
diff --git a/sources/Core/Core/Pointers/Ptr.cs b/sources/Core/Core/Pointers/Ptr.cs
index 4f6a0e2710..4bc1d06640 100644
--- a/sources/Core/Core/Pointers/Ptr.cs
+++ b/sources/Core/Core/Pointers/Ptr.cs
@@ -222,6 +222,24 @@ public T[] ToArray(int length)
)]
public static implicit operator void*(Ptr ptr) => ptr.Native;
+ ///
+ /// Creates a from a
+ ///
+ /// the pointer
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static explicit operator nuint(Ptr ptr) => new(ptr.Native);
+
+ ///
+ /// Creates a from a
+ ///
+ /// the integer
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static explicit operator Ptr(nuint ptr) => new(ptr.ToPointer());
+
///
/// Creates a from a
///
diff --git a/sources/Core/Core/Pointers/Ptr.generic.cs b/sources/Core/Core/Pointers/Ptr.generic.cs
index 8a925b9837..72e7444a2d 100644
--- a/sources/Core/Core/Pointers/Ptr.generic.cs
+++ b/sources/Core/Core/Pointers/Ptr.generic.cs
@@ -311,6 +311,42 @@ public unsafe struct Ptr(T* ptr)
///
public static implicit operator T*(Ptr ptr) => ptr.Native;
+ ///
+ /// Creates a from a
+ ///
+ ///
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static implicit operator nuint(Ptr ptr) => new(ptr.Native);
+
+ ///
+ /// Creates a from a
+ ///
+ ///
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static implicit operator Ptr(nuint ptr) => new((T*)ptr.ToPointer());
+
+ ///
+ /// Creates a from a
+ ///
+ ///
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static implicit operator nint(Ptr ptr) => new(ptr.Native);
+
+ ///
+ /// Creates a from a
+ ///
+ ///
+ [MethodImpl(
+ MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
+ )]
+ public static implicit operator Ptr(nint ptr) => new((T*)ptr.ToPointer());
+
///
/// Creates a from a
///
diff --git a/sources/Core/Core/Pointers/Ptr2D.cs b/sources/Core/Core/Pointers/Ptr2D.cs
index 679817b472..5cbe5c56e4 100644
--- a/sources/Core/Core/Pointers/Ptr2D.cs
+++ b/sources/Core/Core/Pointers/Ptr2D.cs
@@ -307,7 +307,7 @@ public T[][] ToArray(int length, int[] lengths)
[MethodImpl(
MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
)]
- public static implicit operator Ptr2D(void* ptr) => new((void**)ptr);
+ public static explicit operator Ptr2D(void* ptr) => new((void**)ptr);
///
/// Creates a from a native pointer
@@ -428,6 +428,6 @@ public T[][] ToArray(int length, int[] lengths)
///
/// The pointer.
/// The wrapped pointer.
- public static implicit operator Ptr2D(Ptr* ptr) => (byte*)ptr;
+ public static implicit operator Ptr2D(Ptr* ptr) => (Ptr2D)(byte**)ptr;
}
}
diff --git a/sources/Core/Core/Pointers/Ptr2D.generic.cs b/sources/Core/Core/Pointers/Ptr2D.generic.cs
index 3b7fc47c85..1593c6a501 100644
--- a/sources/Core/Core/Pointers/Ptr2D.generic.cs
+++ b/sources/Core/Core/Pointers/Ptr2D.generic.cs
@@ -444,7 +444,7 @@ public T[][] ToArray(int length, int[] lengths) =>
[MethodImpl(
MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
)]
- public static implicit operator Ptr2D(void* ptr) => new((Ptr*)ptr);
+ public static explicit operator Ptr2D(void* ptr) => new((Ptr*)ptr);
///
/// Creates a native pointer from a
diff --git a/sources/Core/Core/Pointers/Ptr3D.cs b/sources/Core/Core/Pointers/Ptr3D.cs
index 8f5e994f98..fb7ea5aa6f 100644
--- a/sources/Core/Core/Pointers/Ptr3D.cs
+++ b/sources/Core/Core/Pointers/Ptr3D.cs
@@ -318,7 +318,7 @@ public T[][][] ToArray(int length, int[] lengths0, int[][] lengths1)
[MethodImpl(
MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
)]
- public static implicit operator Ptr3D(void* ptr) => new((void***)ptr);
+ public static explicit operator Ptr3D(void* ptr) => new((void***)ptr);
///
/// Creates a from a native pointer
@@ -327,7 +327,7 @@ public T[][][] ToArray(int length, int[] lengths0, int[][] lengths1)
[MethodImpl(
MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
)]
- public static implicit operator Ptr3D(void** ptr) => new((void***)ptr);
+ public static explicit operator Ptr3D(void** ptr) => new((void***)ptr);
///
/// Creates a from a native pointer
@@ -409,8 +409,7 @@ ptr.Native is not null && ptr.Native->Native is not null
[MethodImpl(
MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
)]
- // TODO analyzer to ensure ptr is on stack or otherwise pinned
- public static explicit operator Ptr3D(Ref2D ptr) => (void**)ptr;
+ public static explicit operator Ptr3D(Ref2D ptr) => (Ptr3D)(void**)ptr;
///
/// Creates a null ptr
@@ -460,6 +459,6 @@ ptr.Native is not null && ptr.Native->Native is not null
///
/// The pointer.
/// The wrapped pointer.
- public static implicit operator Ptr3D(Ptr2D* ptr) => (byte***)ptr;
+ public static implicit operator Ptr3D(Ptr2D* ptr) => (Ptr3D)(byte***)ptr;
}
}
diff --git a/sources/Core/Core/Pointers/Ptr3D.generic.cs b/sources/Core/Core/Pointers/Ptr3D.generic.cs
index bb11492c71..71662d2a37 100644
--- a/sources/Core/Core/Pointers/Ptr3D.generic.cs
+++ b/sources/Core/Core/Pointers/Ptr3D.generic.cs
@@ -443,7 +443,7 @@ public T[][][] ToArray(int length, int[] lengths0, int[][] lengths1) =>
[MethodImpl(
MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
)]
- public static implicit operator Ptr3D(void* ptr) => new((Ptr2D*)ptr);
+ public static explicit operator Ptr3D(void* ptr) => new((Ptr2D*)ptr);
///
/// Creates a native pointer from a
@@ -461,7 +461,7 @@ ptr.Native is not null && ptr.Native->Native is not null
[MethodImpl(
MethodImplOptions.AggressiveInlining | MethodImplOptions.AggressiveOptimization
)]
- public static implicit operator Ptr3D(void** ptr) => new((Ptr2D*)ptr);
+ public static explicit operator Ptr3D(void** ptr) => new((Ptr2D*)ptr);
///
/// Creates a native pointer from a
diff --git a/sources/Core/Core/PublicAPI/net8.0/PublicAPI.Unshipped.txt b/sources/Core/Core/PublicAPI/net8.0/PublicAPI.Unshipped.txt
index 14eb48880a..025c544892 100644
--- a/sources/Core/Core/PublicAPI/net8.0/PublicAPI.Unshipped.txt
+++ b/sources/Core/Core/PublicAPI/net8.0/PublicAPI.Unshipped.txt
@@ -1,4 +1,16 @@
#nullable enable
+override Silk.NET.Core.BOOL.Equals(object? obj) -> bool
+override Silk.NET.Core.BOOL.GetHashCode() -> int
+override Silk.NET.Core.BOOL.ToString() -> string!
+override Silk.NET.Core.HANDLE.Equals(object? obj) -> bool
+override Silk.NET.Core.HANDLE.GetHashCode() -> int
+override Silk.NET.Core.HANDLE.ToString() -> string!
+override Silk.NET.Core.HRESULT.Equals(object? obj) -> bool
+override Silk.NET.Core.HRESULT.GetHashCode() -> int
+override Silk.NET.Core.HRESULT.ToString() -> string!
+override Silk.NET.Core.HSTRING.Equals(object? obj) -> bool
+override Silk.NET.Core.HSTRING.GetHashCode() -> int
+override Silk.NET.Core.HSTRING.ToString() -> string!
override Silk.NET.Core.Ptr.Equals(object? obj) -> bool
override Silk.NET.Core.Ptr.GetHashCode() -> int
override Silk.NET.Core.Ptr2D.Equals(object? obj) -> bool
@@ -24,6 +36,9 @@ override Silk.NET.Core.Ref3D.GetHashCode() -> int
override Silk.NET.Core.Ref.Equals(object? obj) -> bool
override Silk.NET.Core.Ref.GetHashCode() -> int
override Silk.NET.Core.Utf8String.ToString() -> string!
+readonly Silk.NET.Core.BOOL.Value -> int
+readonly Silk.NET.Core.HANDLE.Value -> void*
+readonly Silk.NET.Core.HRESULT.Value -> int
readonly Silk.NET.Core.Ptr.Native -> void*
readonly Silk.NET.Core.Ptr2D.Native -> Silk.NET.Core.Ptr*
readonly Silk.NET.Core.Ptr2D.Native -> Silk.NET.Core.Ptr*
@@ -32,6 +47,7 @@ readonly Silk.NET.Core.Ptr3D.Native -> Silk.NET.Core.Ptr2D*
readonly Silk.NET.Core.Ptr.Native -> T*
readonly Silk.NET.Core.Ref.Handle -> byte
readonly Silk.NET.Core.Ref.Handle -> T
+readonly Silk.NET.Core.HSTRING.Value -> void*
Silk.NET.Core.AndroidPlatformInfo
Silk.NET.Core.AndroidPlatformInfo.AndroidPlatformInfo() -> void
Silk.NET.Core.AndroidPlatformInfo.AndroidPlatformInfo(nint Window, nint Surface) -> void
@@ -39,6 +55,72 @@ Silk.NET.Core.AndroidPlatformInfo.Surface.get -> nint
Silk.NET.Core.AndroidPlatformInfo.Surface.init -> void
Silk.NET.Core.AndroidPlatformInfo.Window.get -> nint
Silk.NET.Core.AndroidPlatformInfo.Window.init -> void
+Silk.NET.Core.AsyncIUnknown
+Silk.NET.Core.AsyncIUnknown.AddRef() -> uint
+Silk.NET.Core.AsyncIUnknown.AsyncIUnknown() -> void
+Silk.NET.Core.AsyncIUnknown.AsyncIUnknown(Silk.NET.Core.Ptr3D vtbl) -> void
+Silk.NET.Core.AsyncIUnknown.AsyncIUnknown(Silk.NET.Core.Ptr vtbl) -> void
+Silk.NET.Core.AsyncIUnknown.Begin_AddRef() -> Silk.NET.Core.HRESULT
+Silk.NET.Core.AsyncIUnknown.Begin_QueryInterface(Silk.NET.Core.Ref riid) -> Silk.NET.Core.HRESULT
+Silk.NET.Core.AsyncIUnknown.Begin_QueryInterface(System.Guid* riid) -> Silk.NET.Core.HRESULT
+Silk.NET.Core.AsyncIUnknown.Begin_Release() -> Silk.NET.Core.HRESULT
+Silk.NET.Core.AsyncIUnknown.Dispose() -> void
+Silk.NET.Core.AsyncIUnknown.Finish_AddRef() -> uint
+Silk.NET.Core.AsyncIUnknown.Finish_QueryInterface(Silk.NET.Core.Ref2D ppvObject) -> Silk.NET.Core.HRESULT
+Silk.NET.Core.AsyncIUnknown.Finish_QueryInterface(void** ppvObject) -> Silk.NET.Core.HRESULT
+Silk.NET.Core.AsyncIUnknown.Finish_Release() -> uint
+Silk.NET.Core.AsyncIUnknown.GetAddressOf() -> Silk.NET.Core.Ptr2D
+Silk.NET.Core.AsyncIUnknown.GetAddressOf() -> Silk.NET.Core.Ptr2D
+Silk.NET.Core.AsyncIUnknown.Interface
+Silk.NET.Core.AsyncIUnknown.Interface.Begin_AddRef() -> Silk.NET.Core.HRESULT
+Silk.NET.Core.AsyncIUnknown.Interface.Begin_QueryInterface(Silk.NET.Core.Ref riid) -> Silk.NET.Core.HRESULT
+Silk.NET.Core.AsyncIUnknown.Interface.Begin_QueryInterface(System.Guid* riid) -> Silk.NET.Core.HRESULT
+Silk.NET.Core.AsyncIUnknown.Interface.Begin_Release() -> Silk.NET.Core.HRESULT
+Silk.NET.Core.AsyncIUnknown.Interface.Finish_AddRef() -> uint
+Silk.NET.Core.AsyncIUnknown.Interface.Finish_QueryInterface(Silk.NET.Core.Ref2D ppvObject) -> Silk.NET.Core.HRESULT
+Silk.NET.Core.AsyncIUnknown.Interface.Finish_QueryInterface(void** ppvObject) -> Silk.NET.Core.HRESULT
+Silk.NET.Core.AsyncIUnknown.Interface.Finish_Release() -> uint
+Silk.NET.Core.AsyncIUnknown.lpVtbl -> Silk.NET.Core.AsyncIUnknown.Native*
+Silk.NET.Core.AsyncIUnknown.Native
+Silk.NET.Core.AsyncIUnknown.Native.AddRef() -> uint
+Silk.NET.Core.AsyncIUnknown.Native.Begin_AddRef() -> Silk.NET.Core.HRESULT
+Silk.NET.Core.AsyncIUnknown.Native.Begin_QueryInterface(Silk.NET.Core.Ref riid) -> Silk.NET.Core.HRESULT
+Silk.NET.Core.AsyncIUnknown.Native.Begin_QueryInterface(System.Guid* riid) -> Silk.NET.Core.HRESULT
+Silk.NET.Core.AsyncIUnknown.Native.Begin_Release() -> Silk.NET.Core.HRESULT
+Silk.NET.Core.AsyncIUnknown.Native.Finish_AddRef() -> uint
+Silk.NET.Core.AsyncIUnknown.Native.Finish_QueryInterface(Silk.NET.Core.Ref2D ppvObject) -> Silk.NET.Core.HRESULT
+Silk.NET.Core.AsyncIUnknown.Native.Finish_QueryInterface(void** ppvObject) -> Silk.NET.Core.HRESULT
+Silk.NET.Core.AsyncIUnknown.Native.Finish_Release() -> uint
+Silk.NET.Core.AsyncIUnknown.Native.lpVtbl -> void**
+Silk.NET.Core.AsyncIUnknown.Native.Native() -> void
+Silk.NET.Core.AsyncIUnknown.Native.QueryInterface(Silk.NET.Core.Ref riid, Silk.NET.Core.Ref2D ppvObject) -> Silk.NET.Core.HRESULT
+Silk.NET.Core.AsyncIUnknown.Native.QueryInterface(System.Guid* riid, void** ppvObject) -> Silk.NET.Core.HRESULT
+Silk.NET.Core.AsyncIUnknown.Native.QueryInterface(out TCom ppvObject) -> Silk.NET.Core.HRESULT
+Silk.NET.Core.AsyncIUnknown.Native.Release() -> uint
+Silk.NET.Core.AsyncIUnknown.Native.Vtbl
+Silk.NET.Core.AsyncIUnknown.Native.Vtbl.AddRef -> delegate* unmanaged
+Silk.NET.Core.AsyncIUnknown.Native.Vtbl.Begin_AddRef -> delegate* unmanaged
+Silk.NET.Core.AsyncIUnknown.Native.Vtbl.Begin_QueryInterface -> delegate* unmanaged
+Silk.NET.Core.AsyncIUnknown.Native.Vtbl.Begin_Release -> delegate* unmanaged
+Silk.NET.Core.AsyncIUnknown.Native.Vtbl.Finish_AddRef -> delegate* unmanaged
+Silk.NET.Core.AsyncIUnknown.Native.Vtbl.Finish_QueryInterface -> delegate* unmanaged
+Silk.NET.Core.AsyncIUnknown.Native.Vtbl.Finish_Release -> delegate* unmanaged
+Silk.NET.Core.AsyncIUnknown.Native.Vtbl.QueryInterface -> delegate* unmanaged
+Silk.NET.Core.AsyncIUnknown.Native.Vtbl.Release -> delegate* unmanaged
+Silk.NET.Core.AsyncIUnknown.Native.Vtbl.Vtbl() -> void
+Silk.NET.Core.AsyncIUnknown.QueryInterface(Silk.NET.Core.Ref riid, Silk.NET.Core.Ref2D ppvObject) -> Silk.NET.Core.HRESULT
+Silk.NET.Core.AsyncIUnknown.QueryInterface(System.Guid* riid, void** ppvObject) -> Silk.NET.Core.HRESULT
+Silk.NET.Core.AsyncIUnknown.QueryInterface(out TCom ppvObject) -> Silk.NET.Core.HRESULT
+Silk.NET.Core.AsyncIUnknown.Release() -> uint
+Silk.NET.Core.BOOL
+Silk.NET.Core.BOOL.BOOL() -> void
+Silk.NET.Core.BOOL.BOOL(int value) -> void
+Silk.NET.Core.BOOL.CompareTo(object? obj) -> int
+Silk.NET.Core.BOOL.CompareTo(Silk.NET.Core.BOOL other) -> int
+Silk.NET.Core.BOOL.CompareTo(Silk.NET.Core.MaybeBool other) -> int
+Silk.NET.Core.BOOL.Equals(Silk.NET.Core.BOOL other) -> bool
+Silk.NET.Core.BOOL.Equals(Silk.NET.Core.MaybeBool other) -> bool
+Silk.NET.Core.BOOL.ToString(string? format, System.IFormatProvider? formatProvider) -> string!
Silk.NET.Core.BreakneckLock
Silk.NET.Core.BreakneckLock.BreakneckLock() -> void
Silk.NET.Core.BreakneckLock.Enter(ref bool taken) -> void
@@ -87,10 +169,72 @@ Silk.NET.Core.EGLPlatformInfo.EGLPlatformInfo() -> void
Silk.NET.Core.EGLPlatformInfo.EGLPlatformInfo(nint Display, nint Surface) -> void
Silk.NET.Core.EGLPlatformInfo.Surface.get -> nint
Silk.NET.Core.EGLPlatformInfo.Surface.init -> void
+Silk.NET.Core.HANDLE
+Silk.NET.Core.HANDLE.CompareTo(object? obj) -> int
+Silk.NET.Core.HANDLE.CompareTo(Silk.NET.Core.HANDLE other) -> int
+Silk.NET.Core.HANDLE.Equals(Silk.NET.Core.HANDLE other) -> bool
+Silk.NET.Core.HANDLE.HANDLE() -> void
+Silk.NET.Core.HANDLE.HANDLE(void* value) -> void
+Silk.NET.Core.HANDLE.ToString(string? format, System.IFormatProvider? formatProvider) -> string!
+Silk.NET.Core.HRESULT
+Silk.NET.Core.HRESULT.CompareTo(object? obj) -> int
+Silk.NET.Core.HRESULT.CompareTo(Silk.NET.Core.HRESULT other) -> int
+Silk.NET.Core.HRESULT.Equals(Silk.NET.Core.HRESULT other) -> bool
+Silk.NET.Core.HRESULT.FAILED.get -> bool
+Silk.NET.Core.HRESULT.HRESULT() -> void
+Silk.NET.Core.HRESULT.HRESULT(int value) -> void
+Silk.NET.Core.HRESULT.SUCCEEDED.get -> bool
+Silk.NET.Core.HRESULT.ToString(string? format, System.IFormatProvider? formatProvider) -> string!
Silk.NET.Core.IBoolScheme
Silk.NET.Core.IBoolScheme.False() -> T
Silk.NET.Core.IBoolScheme.IsTrue(T value) -> bool
Silk.NET.Core.IBoolScheme.True() -> T
+Silk.NET.Core.IClassFactory
+Silk.NET.Core.IClassFactory.AddRef() -> uint
+Silk.NET.Core.IClassFactory.CreateInstance(Silk.NET.Core.IUnknown pUnkOuter, Silk.NET.Core.Ref riid, Silk.NET.Core.Ref2D ppvObject) -> Silk.NET.Core.HRESULT
+Silk.NET.Core.IClassFactory.CreateInstance(Silk.NET.Core.IUnknown pUnkOuter, System.Guid* riid, void** ppvObject) -> Silk.NET.Core.HRESULT
+Silk.NET.Core.IClassFactory.CreateInstance(Silk.NET.Core.IUnknown pUnkOuter, out TCom ppvObject) -> Silk.NET.Core.HRESULT
+Silk.NET.Core.IClassFactory.Dispose() -> void
+Silk.NET.Core.IClassFactory.GetAddressOf() -> Silk.NET.Core.Ptr2D
+Silk.NET.Core.IClassFactory.GetAddressOf() -> Silk.NET.Core.Ptr2D
+Silk.NET.Core.IClassFactory.IClassFactory() -> void
+Silk.NET.Core.IClassFactory.IClassFactory(Silk.NET.Core.Ptr3D vtbl) -> void
+Silk.NET.Core.IClassFactory.IClassFactory(Silk.NET.Core.Ptr vtbl) -> void
+Silk.NET.Core.IClassFactory.Interface
+Silk.NET.Core.IClassFactory.Interface.CreateInstance(Silk.NET.Core.IUnknown pUnkOuter, Silk.NET.Core.Ref riid, Silk.NET.Core.Ref2D ppvObject) -> Silk.NET.Core.HRESULT
+Silk.NET.Core.IClassFactory.Interface.CreateInstance(Silk.NET.Core.IUnknown pUnkOuter, System.Guid* riid, void** ppvObject) -> Silk.NET.Core.HRESULT
+Silk.NET.Core.IClassFactory.Interface.LockServer(Silk.NET.Core.BOOL fLock) -> Silk.NET.Core.HRESULT
+Silk.NET.Core.IClassFactory.Interface.LockServer(Silk.NET.Core.MaybeBool fLock) -> Silk.NET.Core.HRESULT
+Silk.NET.Core.IClassFactory.LockServer(Silk.NET.Core.BOOL fLock) -> Silk.NET.Core.HRESULT
+Silk.NET.Core.IClassFactory.LockServer(Silk.NET.Core.MaybeBool fLock) -> Silk.NET.Core.HRESULT
+Silk.NET.Core.IClassFactory.lpVtbl -> Silk.NET.Core.IClassFactory.Native*
+Silk.NET.Core.IClassFactory.Native
+Silk.NET.Core.IClassFactory.Native.AddRef() -> uint
+Silk.NET.Core.IClassFactory.Native.CreateInstance(Silk.NET.Core.IUnknown pUnkOuter, Silk.NET.Core.Ref riid, Silk.NET.Core.Ref2D ppvObject) -> Silk.NET.Core.HRESULT
+Silk.NET.Core.IClassFactory.Native.CreateInstance(Silk.NET.Core.IUnknown pUnkOuter, System.Guid* riid, void** ppvObject) -> Silk.NET.Core.HRESULT
+Silk.NET.Core.IClassFactory.Native.CreateInstance(Silk.NET.Core.IUnknown pUnkOuter, out TCom ppvObject) -> Silk.NET.Core.HRESULT
+Silk.NET.Core.IClassFactory.Native.LockServer(Silk.NET.Core.BOOL fLock) -> Silk.NET.Core.HRESULT
+Silk.NET.Core.IClassFactory.Native.LockServer(Silk.NET.Core.MaybeBool fLock) -> Silk.NET.Core.HRESULT
+Silk.NET.Core.IClassFactory.Native.lpVtbl -> void**
+Silk.NET.Core.IClassFactory.Native.Native() -> void
+Silk.NET.Core.IClassFactory.Native.QueryInterface(Silk.NET.Core.Ref riid, Silk.NET.Core.Ref2D ppvObject) -> Silk.NET.Core.HRESULT
+Silk.NET.Core.IClassFactory.Native.QueryInterface(System.Guid* riid, void** ppvObject) -> Silk.NET.Core.HRESULT
+Silk.NET.Core.IClassFactory.Native.QueryInterface(out TCom ppvObject) -> Silk.NET.Core.HRESULT
+Silk.NET.Core.IClassFactory.Native.Release() -> uint
+Silk.NET.Core.IClassFactory.Native.Vtbl
+Silk.NET.Core.IClassFactory.Native.Vtbl.AddRef -> delegate* unmanaged
+Silk.NET.Core.IClassFactory.Native.Vtbl.CreateInstance -> delegate* unmanaged
+Silk.NET.Core.IClassFactory.Native.Vtbl.LockServer -> delegate* unmanaged
+Silk.NET.Core.IClassFactory.Native.Vtbl.QueryInterface -> delegate* unmanaged
+Silk.NET.Core.IClassFactory.Native.Vtbl.Release -> delegate* unmanaged
+Silk.NET.Core.IClassFactory.Native.Vtbl.Vtbl() -> void
+Silk.NET.Core.IClassFactory.QueryInterface(Silk.NET.Core.Ref riid, Silk.NET.Core.Ref2D ppvObject) -> Silk.NET.Core.HRESULT
+Silk.NET.Core.IClassFactory.QueryInterface(System.Guid* riid, void** ppvObject) -> Silk.NET.Core.HRESULT
+Silk.NET.Core.IClassFactory.QueryInterface(out TCom ppvObject) -> Silk.NET.Core.HRESULT
+Silk.NET.Core.IClassFactory.Release() -> uint
+Silk.NET.Core.IComInterface
+Silk.NET.Core.IComInterface.GetAddressOf() -> Silk.NET.Core.Ptr2D
+Silk.NET.Core.IComInterface.GetAddressOf() -> Silk.NET.Core.Ptr2D
Silk.NET.Core.IGLContext
Silk.NET.Core.IGLContext.IsCurrent.get -> bool
Silk.NET.Core.IGLContext.IsCurrent.set -> void
@@ -101,8 +245,42 @@ Silk.NET.Core.IGLContext.VSync.get -> bool
Silk.NET.Core.IGLContext.VSync.set -> void
Silk.NET.Core.IGLContextSource
Silk.NET.Core.IGLContextSource.GLContext.get -> Silk.NET.Core.IGLContext?
+Silk.NET.Core.IID
Silk.NET.Core.INativeWindow
Silk.NET.Core.INativeWindow.TryGetPlatformInfo(out TPlatformInfo? info) -> bool
+Silk.NET.Core.INativeGuid
+Silk.NET.Core.INativeGuid.NativeGuid.get -> System.Guid*
+Silk.NET.Core.IUnknown
+Silk.NET.Core.IUnknown.AddRef() -> uint
+Silk.NET.Core.IUnknown.Dispose() -> void
+Silk.NET.Core.IUnknown.GetAddressOf() -> Silk.NET.Core.Ptr2D
+Silk.NET.Core.IUnknown.GetAddressOf() -> Silk.NET.Core.Ptr2D
+Silk.NET.Core.IUnknown.Interface
+Silk.NET.Core.IUnknown.Interface.AddRef() -> uint
+Silk.NET.Core.IUnknown.Interface.QueryInterface(Silk.NET.Core.Ref riid, Silk.NET.Core.Ref2D ppvObject) -> Silk.NET.Core.HRESULT
+Silk.NET.Core.IUnknown.Interface.QueryInterface(System.Guid* riid, void** ppvObject) -> Silk.NET.Core.HRESULT
+Silk.NET.Core.IUnknown.Interface.Release() -> uint
+Silk.NET.Core.IUnknown.IUnknown() -> void
+Silk.NET.Core.IUnknown.IUnknown(Silk.NET.Core.Ptr3D vtbl) -> void
+Silk.NET.Core.IUnknown.IUnknown(Silk.NET.Core.Ptr vtbl) -> void
+Silk.NET.Core.IUnknown.lpVtbl -> Silk.NET.Core.IUnknown.Native*
+Silk.NET.Core.IUnknown.Native
+Silk.NET.Core.IUnknown.Native.AddRef() -> uint
+Silk.NET.Core.IUnknown.Native.lpVtbl -> void**
+Silk.NET.Core.IUnknown.Native.Native() -> void
+Silk.NET.Core.IUnknown.Native.QueryInterface(Silk.NET.Core.Ref riid, Silk.NET.Core.Ref2D ppvObject) -> Silk.NET.Core.HRESULT
+Silk.NET.Core.IUnknown.Native.QueryInterface(System.Guid* riid, void** ppvObject) -> Silk.NET.Core.HRESULT
+Silk.NET.Core.IUnknown.Native.QueryInterface(out TCom ppvObject) -> Silk.NET.Core.HRESULT
+Silk.NET.Core.IUnknown.Native.Release() -> uint
+Silk.NET.Core.IUnknown.Native.Vtbl
+Silk.NET.Core.IUnknown.Native.Vtbl.AddRef -> delegate* unmanaged
+Silk.NET.Core.IUnknown.Native.Vtbl.QueryInterface -> delegate* unmanaged
+Silk.NET.Core.IUnknown.Native.Vtbl.Release -> delegate* unmanaged
+Silk.NET.Core.IUnknown.Native.Vtbl.Vtbl() -> void
+Silk.NET.Core.IUnknown.QueryInterface(Silk.NET.Core.Ref riid, Silk.NET.Core.Ref2D ppvObject) -> Silk.NET.Core.HRESULT
+Silk.NET.Core.IUnknown.QueryInterface(System.Guid* riid, void** ppvObject) -> Silk.NET.Core.HRESULT
+Silk.NET.Core.IUnknown.QueryInterface(out TCom ppvObject) -> Silk.NET.Core.HRESULT
+Silk.NET.Core.IUnknown.Release() -> uint
Silk.NET.Core.Loader.DefaultNativeContext
Silk.NET.Core.Loader.DefaultNativeContext.DefaultNativeContext() -> void
Silk.NET.Core.Loader.DefaultNativeContext.Dispose() -> void
@@ -332,6 +510,51 @@ Silk.NET.Core.X11PlatformInfo.Window.get -> nint
Silk.NET.Core.X11PlatformInfo.Window.init -> void
Silk.NET.Core.X11PlatformInfo.X11PlatformInfo() -> void
Silk.NET.Core.X11PlatformInfo.X11PlatformInfo(nint Display, nint Window) -> void
+static Silk.NET.Core.AsyncIUnknown.explicit operator Silk.NET.Core.AsyncIUnknown(nuint value) -> Silk.NET.Core.AsyncIUnknown
+static Silk.NET.Core.AsyncIUnknown.explicit operator Silk.NET.Core.AsyncIUnknown(Silk.NET.Core.IUnknown value) -> Silk.NET.Core.AsyncIUnknown
+static Silk.NET.Core.AsyncIUnknown.explicit operator Silk.NET.Core.AsyncIUnknown(Silk.NET.Core.Ptr3D value) -> Silk.NET.Core.AsyncIUnknown
+static Silk.NET.Core.AsyncIUnknown.explicit operator Silk.NET.Core.AsyncIUnknown(Silk.NET.Core.Ptr value) -> Silk.NET.Core.AsyncIUnknown
+static Silk.NET.Core.AsyncIUnknown.explicit operator Silk.NET.Core.AsyncIUnknown(void*** value) -> Silk.NET.Core.AsyncIUnknown
+static Silk.NET.Core.AsyncIUnknown.implicit operator nuint(Silk.NET.Core.AsyncIUnknown value) -> nuint
+static Silk.NET.Core.AsyncIUnknown.implicit operator Silk.NET.Core.AsyncIUnknown(Silk.NET.Core.AsyncIUnknown.Native* value) -> Silk.NET.Core.AsyncIUnknown
+static Silk.NET.Core.AsyncIUnknown.implicit operator Silk.NET.Core.AsyncIUnknown.Native*(Silk.NET.Core.AsyncIUnknown value) -> Silk.NET.Core.AsyncIUnknown.Native*
+static Silk.NET.Core.AsyncIUnknown.implicit operator Silk.NET.Core.IUnknown(Silk.NET.Core.AsyncIUnknown value) -> Silk.NET.Core.IUnknown
+static Silk.NET.Core.AsyncIUnknown.implicit operator Silk.NET.Core.Ptr3D(Silk.NET.Core.AsyncIUnknown value) -> Silk.NET.Core.Ptr3D
+static Silk.NET.Core.AsyncIUnknown.implicit operator Silk.NET.Core.Ptr(Silk.NET.Core.AsyncIUnknown value) -> Silk.NET.Core.Ptr
+static Silk.NET.Core.AsyncIUnknown.implicit operator void***(Silk.NET.Core.AsyncIUnknown value) -> void***
+static Silk.NET.Core.BOOL.explicit operator byte(Silk.NET.Core.BOOL value) -> byte
+static Silk.NET.Core.BOOL.explicit operator nuint(Silk.NET.Core.BOOL value) -> nuint
+static Silk.NET.Core.BOOL.explicit operator sbyte(Silk.NET.Core.BOOL value) -> sbyte
+static Silk.NET.Core.BOOL.explicit operator short(Silk.NET.Core.BOOL value) -> short
+static Silk.NET.Core.BOOL.explicit operator Silk.NET.Core.BOOL(long value) -> Silk.NET.Core.BOOL
+static Silk.NET.Core.BOOL.explicit operator Silk.NET.Core.BOOL(nint value) -> Silk.NET.Core.BOOL
+static Silk.NET.Core.BOOL.explicit operator Silk.NET.Core.BOOL(nuint value) -> Silk.NET.Core.BOOL
+static Silk.NET.Core.BOOL.explicit operator Silk.NET.Core.BOOL(uint value) -> Silk.NET.Core.BOOL
+static Silk.NET.Core.BOOL.explicit operator Silk.NET.Core.BOOL(ulong value) -> Silk.NET.Core.BOOL
+static Silk.NET.Core.BOOL.explicit operator uint(Silk.NET.Core.BOOL value) -> uint
+static Silk.NET.Core.BOOL.explicit operator ulong(Silk.NET.Core.BOOL value) -> ulong
+static Silk.NET.Core.BOOL.explicit operator ushort(Silk.NET.Core.BOOL value) -> ushort
+static Silk.NET.Core.BOOL.FALSE.get -> Silk.NET.Core.BOOL
+static Silk.NET.Core.BOOL.implicit operator bool(Silk.NET.Core.BOOL value) -> bool
+static Silk.NET.Core.BOOL.implicit operator int(Silk.NET.Core.BOOL value) -> int
+static Silk.NET.Core.BOOL.implicit operator long(Silk.NET.Core.BOOL value) -> long
+static Silk.NET.Core.BOOL.implicit operator nint(Silk.NET.Core.BOOL value) -> nint
+static Silk.NET.Core.BOOL.implicit operator Silk.NET.Core.BOOL(bool value) -> Silk.NET.Core.BOOL
+static Silk.NET.Core.BOOL.implicit operator Silk.NET.Core.BOOL(byte value) -> Silk.NET.Core.BOOL
+static Silk.NET.Core.BOOL.implicit operator Silk.NET.Core.BOOL(int value) -> Silk.NET.Core.BOOL
+static Silk.NET.Core.BOOL.implicit operator Silk.NET.Core.BOOL(sbyte value) -> Silk.NET.Core.BOOL
+static Silk.NET.Core.BOOL.implicit operator Silk.NET.Core.BOOL(short value) -> Silk.NET.Core.BOOL
+static Silk.NET.Core.BOOL.implicit operator Silk.NET.Core.BOOL(ushort value) -> Silk.NET.Core.BOOL
+static Silk.NET.Core.BOOL.operator !=(Silk.NET.Core.BOOL left, Silk.NET.Core.BOOL right) -> bool
+static Silk.NET.Core.BOOL.operator ++(Silk.NET.Core.BOOL value) -> Silk.NET.Core.BOOL
+static Silk.NET.Core.BOOL.operator <(Silk.NET.Core.BOOL left, Silk.NET.Core.BOOL right) -> bool
+static Silk.NET.Core.BOOL.operator <=(Silk.NET.Core.BOOL left, Silk.NET.Core.BOOL right) -> bool
+static Silk.NET.Core.BOOL.operator ==(Silk.NET.Core.BOOL left, Silk.NET.Core.BOOL right) -> bool
+static Silk.NET.Core.BOOL.operator >(Silk.NET.Core.BOOL left, Silk.NET.Core.BOOL right) -> bool
+static Silk.NET.Core.BOOL.operator >=(Silk.NET.Core.BOOL left, Silk.NET.Core.BOOL right) -> bool
+static Silk.NET.Core.BOOL.operator false(Silk.NET.Core.BOOL value) -> bool
+static Silk.NET.Core.BOOL.operator true(Silk.NET.Core.BOOL value) -> bool
+static Silk.NET.Core.BOOL.TRUE.get -> Silk.NET.Core.BOOL
static Silk.NET.Core.BreakneckLock.Create() -> Silk.NET.Core.BreakneckLock
static Silk.NET.Core.Constant.implicit operator Silk.NET.Core.Constant(TEnum1 value) -> Silk.NET.Core.Constant
static Silk.NET.Core.Constant.implicit operator Silk.NET.Core.Constant(TEnum2 value) -> Silk.NET.Core.Constant
@@ -345,6 +568,88 @@ static Silk.NET.Core.Constant.implicit operator TEnum1(Silk
static Silk.NET.Core.Constant.implicit operator TUnderlying(Silk.NET.Core.Constant value) -> TUnderlying
static Silk.NET.Core.Default.True() -> T
static Silk.NET.Core.DSL.nullptr.get -> Silk.NET.Core.NullPtr
+static Silk.NET.Core.HANDLE.explicit operator byte(Silk.NET.Core.HANDLE value) -> byte
+static Silk.NET.Core.HANDLE.explicit operator int(Silk.NET.Core.HANDLE value) -> int
+static Silk.NET.Core.HANDLE.explicit operator long(Silk.NET.Core.HANDLE value) -> long
+static Silk.NET.Core.HANDLE.explicit operator sbyte(Silk.NET.Core.HANDLE value) -> sbyte
+static Silk.NET.Core.HANDLE.explicit operator short(Silk.NET.Core.HANDLE value) -> short
+static Silk.NET.Core.HANDLE.explicit operator Silk.NET.Core.HANDLE(byte value) -> Silk.NET.Core.HANDLE
+static Silk.NET.Core.HANDLE.explicit operator Silk.NET.Core.HANDLE(int value) -> Silk.NET.Core.HANDLE
+static Silk.NET.Core.HANDLE.explicit operator Silk.NET.Core.HANDLE(long value) -> Silk.NET.Core.HANDLE
+static Silk.NET.Core.HANDLE.explicit operator Silk.NET.Core.HANDLE(nint value) -> Silk.NET.Core.HANDLE
+static Silk.NET.Core.HANDLE.explicit operator Silk.NET.Core.HANDLE(nuint value) -> Silk.NET.Core.HANDLE
+static Silk.NET.Core.HANDLE.explicit operator Silk.NET.Core.HANDLE(sbyte value) -> Silk.NET.Core.HANDLE
+static Silk.NET.Core.HANDLE.explicit operator Silk.NET.Core.HANDLE(short value) -> Silk.NET.Core.HANDLE
+static Silk.NET.Core.HANDLE.explicit operator Silk.NET.Core.HANDLE(uint value) -> Silk.NET.Core.HANDLE
+static Silk.NET.Core.HANDLE.explicit operator Silk.NET.Core.HANDLE(ulong value) -> Silk.NET.Core.HANDLE
+static Silk.NET.Core.HANDLE.explicit operator Silk.NET.Core.HANDLE(ushort value) -> Silk.NET.Core.HANDLE
+static Silk.NET.Core.HANDLE.explicit operator Silk.NET.Core.HANDLE(void* value) -> Silk.NET.Core.HANDLE
+static Silk.NET.Core.HANDLE.explicit operator uint(Silk.NET.Core.HANDLE value) -> uint
+static Silk.NET.Core.HANDLE.explicit operator ulong(Silk.NET.Core.HANDLE value) -> ulong
+static Silk.NET.Core.HANDLE.explicit operator ushort(Silk.NET.Core.HANDLE value) -> ushort
+static Silk.NET.Core.HANDLE.implicit operator nint(Silk.NET.Core.HANDLE value) -> nint
+static Silk.NET.Core.HANDLE.implicit operator nuint(Silk.NET.Core.HANDLE value) -> nuint
+static Silk.NET.Core.HANDLE.implicit operator void*(Silk.NET.Core.HANDLE value) -> void*
+static Silk.NET.Core.HANDLE.INVALID_VALUE.get -> Silk.NET.Core.HANDLE
+static Silk.NET.Core.HANDLE.NULL.get -> Silk.NET.Core.HANDLE
+static Silk.NET.Core.HANDLE.operator !=(Silk.NET.Core.HANDLE left, Silk.NET.Core.HANDLE right) -> bool
+static Silk.NET.Core.HANDLE.operator <(Silk.NET.Core.HANDLE left, Silk.NET.Core.HANDLE right) -> bool
+static Silk.NET.Core.HANDLE.operator <=(Silk.NET.Core.HANDLE left, Silk.NET.Core.HANDLE right) -> bool
+static Silk.NET.Core.HANDLE.operator ==(Silk.NET.Core.HANDLE left, Silk.NET.Core.HANDLE right) -> bool
+static Silk.NET.Core.HANDLE.operator >(Silk.NET.Core.HANDLE left, Silk.NET.Core.HANDLE right) -> bool
+static Silk.NET.Core.HANDLE.operator >=(Silk.NET.Core.HANDLE left, Silk.NET.Core.HANDLE right) -> bool
+static Silk.NET.Core.HRESULT.explicit operator byte(Silk.NET.Core.HRESULT value) -> byte
+static Silk.NET.Core.HRESULT.explicit operator nuint(Silk.NET.Core.HRESULT value) -> nuint
+static Silk.NET.Core.HRESULT.explicit operator sbyte(Silk.NET.Core.HRESULT value) -> sbyte
+static Silk.NET.Core.HRESULT.explicit operator short(Silk.NET.Core.HRESULT value) -> short
+static Silk.NET.Core.HRESULT.explicit operator Silk.NET.Core.HRESULT(long value) -> Silk.NET.Core.HRESULT
+static Silk.NET.Core.HRESULT.explicit operator Silk.NET.Core.HRESULT(nint value) -> Silk.NET.Core.HRESULT
+static Silk.NET.Core.HRESULT.explicit operator Silk.NET.Core.HRESULT(nuint value) -> Silk.NET.Core.HRESULT
+static Silk.NET.Core.HRESULT.explicit operator Silk.NET.Core.HRESULT(uint value) -> Silk.NET.Core.HRESULT
+static Silk.NET.Core.HRESULT.explicit operator Silk.NET.Core.HRESULT(ulong value) -> Silk.NET.Core.HRESULT
+static Silk.NET.Core.HRESULT.explicit operator uint(Silk.NET.Core.HRESULT value) -> uint
+static Silk.NET.Core.HRESULT.explicit operator ulong(Silk.NET.Core.HRESULT value) -> ulong
+static Silk.NET.Core.HRESULT.explicit operator ushort(Silk.NET.Core.HRESULT value) -> ushort
+static Silk.NET.Core.HRESULT.implicit operator int(Silk.NET.Core.HRESULT value) -> int
+static Silk.NET.Core.HRESULT.implicit operator long(Silk.NET.Core.HRESULT value) -> long
+static Silk.NET.Core.HRESULT.implicit operator nint(Silk.NET.Core.HRESULT value) -> nint
+static Silk.NET.Core.HRESULT.implicit operator Silk.NET.Core.HRESULT(byte value) -> Silk.NET.Core.HRESULT
+static Silk.NET.Core.HRESULT.implicit operator Silk.NET.Core.HRESULT(int value) -> Silk.NET.Core.HRESULT
+static Silk.NET.Core.HRESULT.implicit operator Silk.NET.Core.HRESULT(sbyte value) -> Silk.NET.Core.HRESULT
+static Silk.NET.Core.HRESULT.implicit operator Silk.NET.Core.HRESULT(short value) -> Silk.NET.Core.HRESULT
+static Silk.NET.Core.HRESULT.implicit operator Silk.NET.Core.HRESULT(ushort value) -> Silk.NET.Core.HRESULT
+static Silk.NET.Core.HRESULT.operator !=(Silk.NET.Core.HRESULT left, Silk.NET.Core.HRESULT right) -> bool
+static Silk.NET.Core.HRESULT.operator <(Silk.NET.Core.HRESULT left, Silk.NET.Core.HRESULT right) -> bool
+static Silk.NET.Core.HRESULT.operator <=(Silk.NET.Core.HRESULT left, Silk.NET.Core.HRESULT right) -> bool
+static Silk.NET.Core.HRESULT.operator ==(Silk.NET.Core.HRESULT left, Silk.NET.Core.HRESULT right) -> bool
+static Silk.NET.Core.HRESULT.operator >(Silk.NET.Core.HRESULT left, Silk.NET.Core.HRESULT right) -> bool
+static Silk.NET.Core.HRESULT.operator >=(Silk.NET.Core.HRESULT left, Silk.NET.Core.HRESULT right) -> bool
+static Silk.NET.Core.IClassFactory.explicit operator Silk.NET.Core.IClassFactory(nuint value) -> Silk.NET.Core.IClassFactory
+static Silk.NET.Core.IClassFactory.explicit operator Silk.NET.Core.IClassFactory(Silk.NET.Core.IUnknown value) -> Silk.NET.Core.IClassFactory
+static Silk.NET.Core.IClassFactory.explicit operator Silk.NET.Core.IClassFactory(Silk.NET.Core.Ptr3D value) -> Silk.NET.Core.IClassFactory
+static Silk.NET.Core.IClassFactory.explicit operator Silk.NET.Core.IClassFactory(Silk.NET.Core.Ptr value) -> Silk.NET.Core.IClassFactory
+static Silk.NET.Core.IClassFactory.explicit operator Silk.NET.Core.IClassFactory(void*** value) -> Silk.NET.Core.IClassFactory
+static Silk.NET.Core.IClassFactory.implicit operator nuint(Silk.NET.Core.IClassFactory value) -> nuint
+static Silk.NET.Core.IClassFactory.implicit operator Silk.NET.Core.IClassFactory(Silk.NET.Core.IClassFactory.Native* value) -> Silk.NET.Core.IClassFactory
+static Silk.NET.Core.IClassFactory.implicit operator Silk.NET.Core.IClassFactory.Native*(Silk.NET.Core.IClassFactory value) -> Silk.NET.Core.IClassFactory.Native*
+static Silk.NET.Core.IClassFactory.implicit operator Silk.NET.Core.IUnknown(Silk.NET.Core.IClassFactory value) -> Silk.NET.Core.IUnknown
+static Silk.NET.Core.IClassFactory.implicit operator Silk.NET.Core.Ptr3D(Silk.NET.Core.IClassFactory value) -> Silk.NET.Core.Ptr3D
+static Silk.NET.Core.IClassFactory.implicit operator Silk.NET.Core.Ptr(Silk.NET.Core.IClassFactory value) -> Silk.NET.Core.Ptr
+static Silk.NET.Core.IClassFactory.implicit operator void***(Silk.NET.Core.IClassFactory value) -> void***
+static Silk.NET.Core.IID.IID_AsyncIUnknown.get -> System.Guid
+static Silk.NET.Core.IID.IID_IClassFactory.get -> System.Guid
+static Silk.NET.Core.IID.IID_IInspectable.get -> System.Guid
+static Silk.NET.Core.IID.IID_IUnknown.get -> System.Guid
+static Silk.NET.Core.IUnknown.explicit operator Silk.NET.Core.IUnknown(nuint value) -> Silk.NET.Core.IUnknown
+static Silk.NET.Core.IUnknown.explicit operator Silk.NET.Core.IUnknown(Silk.NET.Core.Ptr3D value) -> Silk.NET.Core.IUnknown
+static Silk.NET.Core.IUnknown.explicit operator Silk.NET.Core.IUnknown(Silk.NET.Core.Ptr value) -> Silk.NET.Core.IUnknown
+static Silk.NET.Core.IUnknown.explicit operator Silk.NET.Core.IUnknown(void*** value) -> Silk.NET.Core.IUnknown
+static Silk.NET.Core.IUnknown.implicit operator nuint(Silk.NET.Core.IUnknown value) -> nuint
+static Silk.NET.Core.IUnknown.implicit operator Silk.NET.Core.IUnknown(Silk.NET.Core.IUnknown.Native* value) -> Silk.NET.Core.IUnknown
+static Silk.NET.Core.IUnknown.implicit operator Silk.NET.Core.IUnknown.Native*(Silk.NET.Core.IUnknown value) -> Silk.NET.Core.IUnknown.Native*
+static Silk.NET.Core.IUnknown.implicit operator Silk.NET.Core.Ptr3D(Silk.NET.Core.IUnknown value) -> Silk.NET.Core.Ptr3D
+static Silk.NET.Core.IUnknown.implicit operator Silk.NET.Core.Ptr(Silk.NET.Core.IUnknown value) -> Silk.NET.Core.Ptr
+static Silk.NET.Core.IUnknown.implicit operator void***(Silk.NET.Core.IUnknown value) -> void***
static Silk.NET.Core.Loader.LoaderInterface.LoadLibrary(string! name, System.Reflection.Assembly! asm) -> nint
static Silk.NET.Core.Loader.LoaderInterface.RegisterAlternativeName(string! libraryName, string! altName) -> void
static Silk.NET.Core.Loader.LoaderInterface.RegisterHook(System.Reflection.Assembly? asm) -> void
@@ -357,6 +662,10 @@ static Silk.NET.Core.MaybeBool.implicit operator bool(Silk.NET.Core.MaybeBool
static Silk.NET.Core.MaybeBool.implicit operator Silk.NET.Core.MaybeBool(bool value) -> Silk.NET.Core.MaybeBool
static Silk.NET.Core.MaybeBool.implicit operator Silk.NET.Core.MaybeBool(T Value) -> Silk.NET.Core.MaybeBool
static Silk.NET.Core.MaybeBool.implicit operator T(Silk.NET.Core.MaybeBool value) -> T
+static Silk.NET.Core.MaybeBool.operator !=(int lh, Silk.NET.Core.MaybeBool rh) -> bool
+static Silk.NET.Core.MaybeBool.operator !=(Silk.NET.Core.MaybeBool lh, int rh) -> bool
+static Silk.NET.Core.MaybeBool.operator ==(int lh, Silk.NET.Core.MaybeBool rh) -> bool
+static Silk.NET.Core.MaybeBool.operator ==(Silk.NET.Core.MaybeBool lh, int rh) -> bool
static Silk.NET.Core.NullPtr.implicit operator void*(Silk.NET.Core.NullPtr _) -> void*
static Silk.NET.Core.PointerExtensions.ReadToString(this Silk.NET.Core.Ptr this) -> string!
static Silk.NET.Core.PointerExtensions.ReadToString(this Silk.NET.Core.Ptr this, int length) -> string!
@@ -415,7 +724,9 @@ static Silk.NET.Core.PointerExtensions.ReadToStringArray(this Silk.NET.Core.Ref3
static Silk.NET.Core.PointerExtensions.ReadToStringArray(this Silk.NET.Core.Ref3D this, int length, int[]! lengths) -> string?[]?[]?
static Silk.NET.Core.PointerExtensions.ReadToStringArray(this Silk.NET.Core.Ref3D this, int length, int[]! lengths) -> string?[]?[]?
static Silk.NET.Core.Ptr.explicit operator nint(Silk.NET.Core.Ptr ptr) -> nint
+static Silk.NET.Core.Ptr.explicit operator nuint(Silk.NET.Core.Ptr ptr) -> nuint
static Silk.NET.Core.Ptr.explicit operator Silk.NET.Core.Ptr(nint ptr) -> Silk.NET.Core.Ptr
+static Silk.NET.Core.Ptr.explicit operator Silk.NET.Core.Ptr(nuint ptr) -> Silk.NET.Core.Ptr
static Silk.NET.Core.Ptr.explicit operator Silk.NET.Core.Ptr(Silk.NET.Core.Ref ptr) -> Silk.NET.Core.Ptr
static Silk.NET.Core.Ptr.explicit operator string!(Silk.NET.Core.Ptr ptr) -> string!
static Silk.NET.Core.Ptr.implicit operator Silk.NET.Core.Ptr(Silk.NET.Core.NullPtr ptr) -> Silk.NET.Core.Ptr
@@ -440,7 +751,7 @@ static Silk.NET.Core.Ptr2D.explicit operator Silk.NET.Core.Ptr2D(Silk.NET.Core.R
static Silk.NET.Core.Ptr2D.implicit operator Silk.NET.Core.Ptr(Silk.NET.Core.Ptr2D ptr) -> Silk.NET.Core.Ptr
static Silk.NET.Core.Ptr2D.implicit operator Silk.NET.Core.Ptr2D(Silk.NET.Core.NullPtr ptr) -> Silk.NET.Core.Ptr2D
static Silk.NET.Core.Ptr2D.implicit operator Silk.NET.Core.Ptr2D(Silk.NET.Core.Ptr* ptr) -> Silk.NET.Core.Ptr2D
-static Silk.NET.Core.Ptr2D.implicit operator Silk.NET.Core.Ptr2D(void* ptr) -> Silk.NET.Core.Ptr2D
+static Silk.NET.Core.Ptr2D.explicit operator Silk.NET.Core.Ptr2D(void* ptr) -> Silk.NET.Core.Ptr2D
static Silk.NET.Core.Ptr2D.implicit operator Silk.NET.Core.Ptr2D(void** ptr) -> Silk.NET.Core.Ptr2D
static Silk.NET.Core.Ptr2D.implicit operator Silk.NET.Core.Ref(Silk.NET.Core.Ptr2D ptr) -> Silk.NET.Core.Ref
static Silk.NET.Core.Ptr2D.implicit operator Silk.NET.Core.Ref2D(Silk.NET.Core.Ptr2D ptr) -> Silk.NET.Core.Ref2D
@@ -472,7 +783,7 @@ static Silk.NET.Core.Ptr2D.implicit operator Silk.NET.Core.Ptr2D(Silk.NET.
static Silk.NET.Core.Ptr2D.implicit operator Silk.NET.Core.Ptr2D(Silk.NET.Core.Ptr2D ptr) -> Silk.NET.Core.Ptr2D
static Silk.NET.Core.Ptr2D.implicit operator Silk.NET.Core.Ptr2D(Silk.NET.Core.Ptr* ptr) -> Silk.NET.Core.Ptr2D
static Silk.NET.Core.Ptr2D.implicit operator Silk.NET.Core.Ptr2D(T** ptr) -> Silk.NET.Core.Ptr2D
-static Silk.NET.Core.Ptr2D.implicit operator Silk.NET.Core.Ptr2D(void* ptr) -> Silk.NET.Core.Ptr2D
+static Silk.NET.Core.Ptr2D.explicit operator Silk.NET.Core.Ptr2D(void* ptr) -> Silk.NET.Core.Ptr2D
static Silk.NET.Core.Ptr2D.implicit operator Silk.NET.Core.Ptr2D(void** ptr) -> Silk.NET.Core.Ptr2D
static Silk.NET.Core.Ptr2D.implicit operator Silk.NET.Core.Ref(Silk.NET.Core.Ptr2D ptr) -> Silk.NET.Core.Ref
static Silk.NET.Core.Ptr2D.implicit operator Silk.NET.Core.Ref2D(Silk.NET.Core.Ptr2D ptr) -> Silk.NET.Core.Ref2D
@@ -515,8 +826,8 @@ static Silk.NET.Core.Ptr3D.explicit operator Silk.NET.Core.Ptr3D(Silk.NET.Core.R
static Silk.NET.Core.Ptr3D.implicit operator Silk.NET.Core.Ptr(Silk.NET.Core.Ptr3D ptr) -> Silk.NET.Core.Ptr
static Silk.NET.Core.Ptr3D.implicit operator Silk.NET.Core.Ptr3D(Silk.NET.Core.NullPtr ptr) -> Silk.NET.Core.Ptr3D
static Silk.NET.Core.Ptr3D.implicit operator Silk.NET.Core.Ptr3D(Silk.NET.Core.Ptr2D* ptr) -> Silk.NET.Core.Ptr3D
-static Silk.NET.Core.Ptr3D.implicit operator Silk.NET.Core.Ptr3D(void* ptr) -> Silk.NET.Core.Ptr3D
-static Silk.NET.Core.Ptr3D.implicit operator Silk.NET.Core.Ptr3D(void** ptr) -> Silk.NET.Core.Ptr3D
+static Silk.NET.Core.Ptr3D.explicit operator Silk.NET.Core.Ptr3D(void* ptr) -> Silk.NET.Core.Ptr3D
+static Silk.NET.Core.Ptr3D.explicit operator Silk.NET.Core.Ptr3D(void** ptr) -> Silk.NET.Core.Ptr3D
static Silk.NET.Core.Ptr3D.implicit operator Silk.NET.Core.Ptr3D(void*** ptr) -> Silk.NET.Core.Ptr3D
static Silk.NET.Core.Ptr3D.implicit operator Silk.NET.Core.Ref(Silk.NET.Core.Ptr3D ptr) -> Silk.NET.Core.Ref
static Silk.NET.Core.Ptr3D.implicit operator Silk.NET.Core.Ref3D(Silk.NET.Core.Ptr3D ptr) -> Silk.NET.Core.Ref3D
@@ -549,8 +860,8 @@ static Silk.NET.Core.Ptr3D.implicit operator Silk.NET.Core.Ptr3D(Silk.NET.
static Silk.NET.Core.Ptr3D.implicit operator Silk.NET.Core.Ptr3D(Silk.NET.Core.Ptr2D* ptr) -> Silk.NET.Core.Ptr3D
static Silk.NET.Core.Ptr3D.implicit operator Silk.NET.Core.Ptr3D(Silk.NET.Core.Ptr3D ptr) -> Silk.NET.Core.Ptr3D
static Silk.NET.Core.Ptr3D.implicit operator Silk.NET.Core.Ptr3D(T*** ptr) -> Silk.NET.Core.Ptr3D
-static Silk.NET.Core.Ptr3D.implicit operator Silk.NET.Core.Ptr3D(void* ptr) -> Silk.NET.Core.Ptr3D
-static Silk.NET.Core.Ptr3D.implicit operator Silk.NET.Core.Ptr3D(void** ptr) -> Silk.NET.Core.Ptr3D
+static Silk.NET.Core.Ptr3D.explicit operator Silk.NET.Core.Ptr3D(void* ptr) -> Silk.NET.Core.Ptr3D
+static Silk.NET.Core.Ptr3D.explicit operator Silk.NET.Core.Ptr3D(void** ptr) -> Silk.NET.Core.Ptr3D
static Silk.NET.Core.Ptr3D.implicit operator Silk.NET.Core.Ptr3D(void*** ptr) -> Silk.NET.Core.Ptr3D
static Silk.NET.Core.Ptr3D.implicit operator Silk.NET.Core.Ref(Silk.NET.Core.Ptr3D ptr) -> Silk.NET.Core.Ref
static Silk.NET.Core.Ptr3D.implicit operator Silk.NET.Core.Ref3D(Silk.NET.Core.Ptr3D ptr) -> Silk.NET.Core.Ref3D
@@ -593,7 +904,11 @@ static Silk.NET.Core.Ptr3D.operator ==(void* lh, Silk.NET.Core.Ptr3D rh) -
static Silk.NET.Core.Ptr3D.operator ==(void** lh, Silk.NET.Core.Ptr3D rh) -> bool
static Silk.NET.Core.Ptr.explicit operator Silk.NET.Core.Ptr(Silk.NET.Core.Ref ptr) -> Silk.NET.Core.Ptr
static Silk.NET.Core.Ptr.explicit operator string!(Silk.NET.Core.Ptr ptr) -> string!
+static Silk.NET.Core.Ptr.implicit operator nint(Silk.NET.Core.Ptr ptr) -> nint
+static Silk.NET.Core.Ptr.implicit operator nuint(Silk.NET.Core.Ptr ptr) -> nuint
static Silk.NET.Core.Ptr.implicit operator Silk.NET.Core.Ptr(Silk.NET.Core.Ptr ptr) -> Silk.NET.Core.Ptr
+static Silk.NET.Core.Ptr.implicit operator Silk.NET.Core.Ptr(nint ptr) -> Silk.NET.Core.Ptr
+static Silk.NET.Core.Ptr.implicit operator Silk.NET.Core.Ptr(nuint ptr) -> Silk.NET.Core.Ptr
static Silk.NET.Core.Ptr.implicit operator Silk.NET.Core.Ptr(Silk.NET.Core.NullPtr ptr) -> Silk.NET.Core.Ptr
static Silk.NET.Core.Ptr.implicit operator Silk.NET.Core.Ptr(Silk.NET.Core.Ptr ptr) -> Silk.NET.Core.Ptr
static Silk.NET.Core.Ptr.implicit operator Silk.NET.Core.Ptr(T* ptr) -> Silk.NET.Core.Ptr
@@ -760,3 +1075,106 @@ static Silk.NET.Core.Version32.explicit operator Silk.NET.Core.Version32(uint va
static Silk.NET.Core.Version32.implicit operator Silk.NET.Core.Version32(System.Version! version) -> Silk.NET.Core.Version32
static Silk.NET.Core.Version32.implicit operator System.Version!(Silk.NET.Core.Version32 version) -> System.Version!
static Silk.NET.Core.Version32.implicit operator uint(Silk.NET.Core.Version32 version) -> uint
+static Silk.NET.Core.HSTRING.explicit operator byte(Silk.NET.Core.HSTRING value) -> byte
+static Silk.NET.Core.HSTRING.explicit operator int(Silk.NET.Core.HSTRING value) -> int
+static Silk.NET.Core.HSTRING.explicit operator long(Silk.NET.Core.HSTRING value) -> long
+static Silk.NET.Core.HSTRING.explicit operator sbyte(Silk.NET.Core.HSTRING value) -> sbyte
+static Silk.NET.Core.HSTRING.explicit operator short(Silk.NET.Core.HSTRING value) -> short
+static Silk.NET.Core.HSTRING.explicit operator Silk.NET.Core.HSTRING(byte value) -> Silk.NET.Core.HSTRING
+static Silk.NET.Core.HSTRING.explicit operator Silk.NET.Core.HSTRING(int value) -> Silk.NET.Core.HSTRING
+static Silk.NET.Core.HSTRING.explicit operator Silk.NET.Core.HSTRING(long value) -> Silk.NET.Core.HSTRING
+static Silk.NET.Core.HSTRING.explicit operator Silk.NET.Core.HSTRING(nint value) -> Silk.NET.Core.HSTRING
+static Silk.NET.Core.HSTRING.explicit operator Silk.NET.Core.HSTRING(nuint value) -> Silk.NET.Core.HSTRING
+static Silk.NET.Core.HSTRING.explicit operator Silk.NET.Core.HSTRING(sbyte value) -> Silk.NET.Core.HSTRING
+static Silk.NET.Core.HSTRING.explicit operator Silk.NET.Core.HSTRING(short value) -> Silk.NET.Core.HSTRING
+static Silk.NET.Core.HSTRING.explicit operator Silk.NET.Core.HSTRING(Silk.NET.Core.HANDLE value) -> Silk.NET.Core.HSTRING
+static Silk.NET.Core.HSTRING.explicit operator Silk.NET.Core.HSTRING(uint value) -> Silk.NET.Core.HSTRING
+static Silk.NET.Core.HSTRING.explicit operator Silk.NET.Core.HSTRING(ulong value) -> Silk.NET.Core.HSTRING
+static Silk.NET.Core.HSTRING.explicit operator Silk.NET.Core.HSTRING(ushort value) -> Silk.NET.Core.HSTRING
+static Silk.NET.Core.HSTRING.explicit operator Silk.NET.Core.HSTRING(void* value) -> Silk.NET.Core.HSTRING
+static Silk.NET.Core.HSTRING.explicit operator uint(Silk.NET.Core.HSTRING value) -> uint
+static Silk.NET.Core.HSTRING.explicit operator ulong(Silk.NET.Core.HSTRING value) -> ulong
+static Silk.NET.Core.HSTRING.explicit operator ushort(Silk.NET.Core.HSTRING value) -> ushort
+static Silk.NET.Core.HSTRING.implicit operator nint(Silk.NET.Core.HSTRING value) -> nint
+static Silk.NET.Core.HSTRING.implicit operator nuint(Silk.NET.Core.HSTRING value) -> nuint
+static Silk.NET.Core.HSTRING.implicit operator Silk.NET.Core.HANDLE(Silk.NET.Core.HSTRING value) -> Silk.NET.Core.HANDLE
+static Silk.NET.Core.HSTRING.implicit operator void*(Silk.NET.Core.HSTRING value) -> void*
+static Silk.NET.Core.HSTRING.INVALID_VALUE.get -> Silk.NET.Core.HSTRING
+static Silk.NET.Core.HSTRING.NULL.get -> Silk.NET.Core.HSTRING
+static Silk.NET.Core.HSTRING.operator !=(Silk.NET.Core.HSTRING left, Silk.NET.Core.HSTRING right) -> bool
+static Silk.NET.Core.HSTRING.operator <(Silk.NET.Core.HSTRING left, Silk.NET.Core.HSTRING right) -> bool
+static Silk.NET.Core.HSTRING.operator <=(Silk.NET.Core.HSTRING left, Silk.NET.Core.HSTRING right) -> bool
+static Silk.NET.Core.HSTRING.operator ==(Silk.NET.Core.HSTRING left, Silk.NET.Core.HSTRING right) -> bool
+static Silk.NET.Core.HSTRING.operator >(Silk.NET.Core.HSTRING left, Silk.NET.Core.HSTRING right) -> bool
+static Silk.NET.Core.HSTRING.operator >=(Silk.NET.Core.HSTRING left, Silk.NET.Core.HSTRING right) -> bool
+static Silk.NET.Core.IInspectable.explicit operator Silk.NET.Core.IInspectable(nuint value) -> Silk.NET.Core.IInspectable
+static Silk.NET.Core.IInspectable.explicit operator Silk.NET.Core.IInspectable(Silk.NET.Core.IUnknown value) -> Silk.NET.Core.IInspectable
+static Silk.NET.Core.IInspectable.explicit operator Silk.NET.Core.IInspectable(Silk.NET.Core.Ptr3D value) -> Silk.NET.Core.IInspectable
+static Silk.NET.Core.IInspectable.explicit operator Silk.NET.Core.IInspectable(Silk.NET.Core.Ptr value) -> Silk.NET.Core.IInspectable
+static Silk.NET.Core.IInspectable.explicit operator Silk.NET.Core.IInspectable(void*** value) -> Silk.NET.Core.IInspectable
+static Silk.NET.Core.IInspectable.implicit operator nuint(Silk.NET.Core.IInspectable value) -> nuint
+static Silk.NET.Core.IInspectable.implicit operator Silk.NET.Core.IUnknown(Silk.NET.Core.IInspectable value) -> Silk.NET.Core.IUnknown
+static Silk.NET.Core.IInspectable.implicit operator Silk.NET.Core.Ptr3D(Silk.NET.Core.IInspectable value) -> Silk.NET.Core.Ptr3D
+static Silk.NET.Core.IInspectable.implicit operator Silk.NET.Core.Ptr