diff --git a/Directory.Packages.props b/Directory.Packages.props
index 68748b13c8..e20391cfb1 100644
--- a/Directory.Packages.props
+++ b/Directory.Packages.props
@@ -11,19 +11,15 @@
-
-
-
-
-
+
@@ -39,14 +35,12 @@
-
-
-
+
\ No newline at end of file
diff --git a/Silk.NET.sln b/Silk.NET.sln
index 17850fdc6f..93b2eb0af3 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,9 +128,7 @@ 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
{A87E1861-07E4-4B7A-9173-0853370A7D4E}.Release|Any CPU.Build.0 = Release|Any CPU
{1B21D783-71C3-48D3-91F5-0EEA90FB0DB2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
@@ -143,15 +146,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 +159,51 @@ 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}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {C8F32825-1F93-44F0-AB88-26167C21CADF}.Debug|Any CPU.ActiveCfg = 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..7260bf1b94 100644
--- a/generator.json
+++ b/generator.json
@@ -2,33 +2,205 @@
"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"
+ ],
+ "InjectedRemappedNames": {
+ "BOOL": "MaybeBool",
+ "HANDLE": "Handle"
+ },
+ "InjectedGeneratorOptions": [
+ "--config",
+ "dont-use-using-statics-for-guid-members"
+ ]
+ },
+ "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"
+ ]
+ },
+ "TransformCOM": {
+ "BaseTypes": {
+ "IUnknown.Interface": "Silk.NET.Core.IUnknown.Interface"
},
+ "AdditionalCOMTypes": {
+ "IDispatchEx.Interface": {
+ "Namespace": "Silk.NET.Win32",
+ "Parent": "IDispatch.Interface"
+ }
+ }
+ },
+ "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": {
+ },
+ "PrettifyNames": {
+ "NameOverrides": {
+ "HSTRING": "HString",
+ "HRESULT": "HResult"
+ }
+ }
+ },
+ "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",
+ "PrettifyNames"
+ ],
+ "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/Hstring.gen.cs",
+ "!sources/**/helper-types/Handle.gen.cs"
+ ],
+ "InjectedRemappedNames": {
+ "BOOL": "MaybeBool",
+ "HANDLE": "Handle"
+ },
+ "InjectedGeneratorOptions": [
+ "--config",
+ "dont-use-using-statics-for-guid-members"
]
},
"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": {
+ },
+ "PrettifyNames": {
+ "NameOverrides": {
+ "HSTRING": "HString",
+ "HRESULT": "HResult"
}
}
},
diff --git a/sources/Core/Core/DSL/MaybeBool`1.cs b/sources/Core/Core/DSL/MaybeBool`1.cs
index 3daff6a219..be061bce4e 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, T rh) => lh.Value.Equals(rh);
+
+ ///
+ /// Compares boolean value and int
+ ///
+ /// left hand value
+ /// right hand value
+ ///
+ public static bool operator !=(MaybeBool lh, T rh) => !lh.Value.Equals(rh);
+
+ ///
+ /// compares boolean value and int
+ ///
+ /// left hand value
+ /// right hand value
+ ///
+ public static bool operator ==(T lh, MaybeBool rh) => lh.Equals(rh.Value);
+
+ ///
+ /// Compares boolean value and int
+ ///
+ /// left hand value
+ /// right hand value
+ ///
+ public static bool operator !=(T lh, MaybeBool rh) => !lh.Equals(rh.Value);
}
diff --git a/sources/Core/Core/HRESULT.Manual.cs b/sources/Core/Core/HRESULT.Manual.cs
new file mode 100644
index 0000000000..b81d007a5c
--- /dev/null
+++ b/sources/Core/Core/HRESULT.Manual.cs
@@ -0,0 +1,151 @@
+// 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
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+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;
+
+ ///
+ /// Does the given HResult value indicates success
+ ///
+ /// HResult value
+ /// Whether the value indicates success
+ [MethodImpl((MethodImplOptions)768)]
+ public static bool IndicatesSuccess(int hr) => hr >= 0;
+
+ ///
+ /// Does the given HResult value indicates failure
+ ///
+ /// HResult value
+ /// Whether the value indicates failure
+ [MethodImpl((MethodImplOptions)768)]
+ public static bool IndicatesFailure(int hr) => hr < 0;
+
+ ///
+ /// Does the given HResult status indicates error
+ ///
+ /// HResult status value
+ /// Whether the value indicates error
+ [MethodImpl((MethodImplOptions)768)]
+ public static bool IndicatesError(int status) => ((uint)status >> 31) == 1;
+
+ ///
+ /// Gets the code from the given HResult value
+ ///
+ /// HResult value
+ /// code of the HResult
+ [MethodImpl((MethodImplOptions)768)]
+ public static int GetCode(int hr) => hr & 0xFFFF;
+
+ ///
+ /// Gets the facility from the given HResult value
+ ///
+ /// HResult value
+ /// facility of the HResult
+ [MethodImpl((MethodImplOptions)768)]
+ public static int GetFacility(int hr) => (hr >> 16) & 0x1FFF;
+
+ ///
+ /// Gets the severity from the given HResult value
+ ///
+ /// HResult value
+ /// severity of the HResult
+ [MethodImpl((MethodImplOptions)768)]
+ public static int GetSeverity(int hr) => (hr >> 31) & 1;
+
+ ///
+ /// Creates a HResult from the given severity, facility, and code values
+ ///
+ /// severity value
+ /// facility value
+ /// code value
+ /// HResult with the given severity, facility, and code
+ [MethodImpl((MethodImplOptions)768)]
+ public static int Create(int severity, int facility, int code) =>
+ (int)(((uint)severity << 31) | ((uint)facility << 16) | (uint)code);
+
+ ///
+ /// Constructs a HResult from the given severity, facility, and code values
+ ///
+ /// severity value
+ /// facility value
+ /// code value
+ public HResult(int severity, int facility, int code) =>
+ Value = Create(severity, facility, code);
+
+ ///
+ /// Does this HResult represent a success
+ ///
+ public bool IsSuccess
+ {
+ [MethodImpl((MethodImplOptions)768)]
+ get => IndicatesSuccess(Value);
+ }
+
+ ///
+ /// Does this HResult represent a failure
+ ///
+ public bool IsFailure
+ {
+ [MethodImpl((MethodImplOptions)768)]
+ get => IndicatesFailure(Value);
+ }
+
+ ///
+ /// Does this HResult represent a error
+ ///
+ public bool IsError
+ {
+ [MethodImpl((MethodImplOptions)768)]
+ get => IndicatesError(Value);
+ }
+
+ ///
+ /// Gets the code for this HResult
+ ///
+ public int Code
+ {
+ [MethodImpl((MethodImplOptions)768)]
+ get => GetCode(Value);
+ }
+
+ ///
+ /// Gets the facility for this HResult
+ ///
+ public int Facility
+ {
+ [MethodImpl((MethodImplOptions)768)]
+ get => GetFacility(Value);
+ }
+
+ ///
+ /// Gets the severity for this HResult
+ ///
+ public int Severity
+ {
+ [MethodImpl((MethodImplOptions)768)]
+ get => GetSeverity(Value);
+ }
+
+ ///
+ /// Throws this HResult as an exception
+ ///
+ public void Throw() => Marshal.ThrowExceptionForHR(Value);
+}
diff --git a/sources/Core/Core/IComVtbl.cs b/sources/Core/Core/IComVtbl.cs
new file mode 100644
index 0000000000..ebdb0d6890
--- /dev/null
+++ b/sources/Core/Core/IComVtbl.cs
@@ -0,0 +1,26 @@
+// 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
+{
+ ///
+ /// Represents a type that can be represented as a pointer to a COM V-Table. (i.e. a pointer to a pointer to the first
+ /// function pointer)
+ ///
+ public interface IComVtbl : INativeGuid
+ {
+ ///
+ /// Gets the address of the pointer to the V-Table as a given interface.
+ ///
+ /// The native interface object type
+ /// the pointer to the V-Table as a given interface
+ Ptr2D GetAddressOf()
+ where TNativeInterface : unmanaged;
+
+ ///
+ /// Gets the address of the pointer to the V-Table.
+ ///
+ /// pointer to the V-Table
+ Ptr2D GetAddressOf();
+ }
+}
diff --git a/sources/Core/Core/IComVtbl`1.cs b/sources/Core/Core/IComVtbl`1.cs
new file mode 100644
index 0000000000..a78568ea57
--- /dev/null
+++ b/sources/Core/Core/IComVtbl`1.cs
@@ -0,0 +1,13 @@
+// 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 marker interface declaring this type to have a V-table for the given COM type.
+///
+/// The COM type this type contains a V-table to.
+public interface IComVtbl : IComVtbl where T : IComVtbl
+{
+
+}
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..ba7124ca90 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 implicit 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..33c2240ccb 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 explicit 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 explicit 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..da51640284 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
@@ -410,7 +410,7 @@ ptr.Native is not null && ptr.Native->Native is not null
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 +460,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) => (void***)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..0c47672271 100644
--- a/sources/Core/Core/PublicAPI/net8.0/PublicAPI.Unshipped.txt
+++ b/sources/Core/Core/PublicAPI/net8.0/PublicAPI.Unshipped.txt
@@ -1,4 +1,13 @@
#nullable enable
+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 +33,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.Handle.Value -> void*
+readonly Silk.NET.Core.HResult.Value -> int
+readonly Silk.NET.Core.HString.Value -> void*
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*
@@ -39,6 +51,63 @@ 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.BreakneckLock
Silk.NET.Core.BreakneckLock.BreakneckLock() -> void
Silk.NET.Core.BreakneckLock.Enter(ref bool taken) -> void
@@ -87,10 +156,85 @@ 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.Code.get -> int
+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.Facility.get -> int
+Silk.NET.Core.HResult.Failed.get -> bool
+Silk.NET.Core.HResult.HResult() -> void
+Silk.NET.Core.HResult.HResult(int severity, int facility, int code) -> void
+Silk.NET.Core.HResult.HResult(int value) -> void
+Silk.NET.Core.HResult.IsError.get -> bool
+Silk.NET.Core.HResult.IsFailure.get -> bool
+Silk.NET.Core.HResult.IsSuccess.get -> bool
+Silk.NET.Core.HResult.Severity.get -> int
+Silk.NET.Core.HResult.Succeeded.get -> bool
+Silk.NET.Core.HResult.Throw() -> void
+Silk.NET.Core.HResult.ToString(string? format, System.IFormatProvider? formatProvider) -> string!
+Silk.NET.Core.HString
+Silk.NET.Core.HString.CompareTo(object? obj) -> int
+Silk.NET.Core.HString.CompareTo(Silk.NET.Core.HString other) -> int
+Silk.NET.Core.HString.Equals(Silk.NET.Core.HString other) -> bool
+Silk.NET.Core.HString.HString() -> void
+Silk.NET.Core.HString.HString(void* value) -> void
+Silk.NET.Core.HString.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.MaybeBool 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.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, int>
+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.IComVtbl
+Silk.NET.Core.IComVtbl.GetAddressOf() -> Silk.NET.Core.Ptr2D
+Silk.NET.Core.IComVtbl.GetAddressOf() -> Silk.NET.Core.Ptr2D
+Silk.NET.Core.IComVtbl
Silk.NET.Core.IGLContext
Silk.NET.Core.IGLContext.IsCurrent.get -> bool
Silk.NET.Core.IGLContext.IsCurrent.set -> void
@@ -101,8 +245,68 @@ 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.IInspectable.GetIids(Silk.NET.Core.Ref iidCount, Silk.NET.Core.Ref2D iids) -> Silk.NET.Core.HResult
+Silk.NET.Core.IInspectable.GetIids(uint* iidCount, System.Guid** iids) -> Silk.NET.Core.HResult
+Silk.NET.Core.IInspectable.GetRuntimeClassName(Silk.NET.Core.HString* className) -> Silk.NET.Core.HResult
+Silk.NET.Core.IInspectable.GetRuntimeClassName(Silk.NET.Core.Ref className) -> Silk.NET.Core.HResult
+Silk.NET.Core.IInspectable.GetTrustLevel(Silk.NET.Core.Ref trustLevel) -> Silk.NET.Core.HResult
+Silk.NET.Core.IInspectable.GetTrustLevel(Silk.NET.Core.TrustLevel* trustLevel) -> Silk.NET.Core.HResult
+Silk.NET.Core.IInspectable.Interface.GetIids(Silk.NET.Core.Ref iidCount, Silk.NET.Core.Ref2D iids) -> Silk.NET.Core.HResult
+Silk.NET.Core.IInspectable.Interface.GetIids(uint* iidCount, System.Guid** iids) -> Silk.NET.Core.HResult
+Silk.NET.Core.IInspectable.Interface.GetRuntimeClassName(Silk.NET.Core.HString* className) -> Silk.NET.Core.HResult
+Silk.NET.Core.IInspectable.Interface.GetRuntimeClassName(Silk.NET.Core.Ref className) -> Silk.NET.Core.HResult
+Silk.NET.Core.IInspectable.Interface.GetTrustLevel(Silk.NET.Core.Ref trustLevel) -> Silk.NET.Core.HResult
+Silk.NET.Core.IInspectable.Interface.GetTrustLevel(Silk.NET.Core.TrustLevel* trustLevel) -> Silk.NET.Core.HResult
+Silk.NET.Core.IInspectable.Native.GetIids(Silk.NET.Core.Ref iidCount, Silk.NET.Core.Ref2D iids) -> Silk.NET.Core.HResult
+Silk.NET.Core.IInspectable.Native.GetIids(uint* iidCount, System.Guid** iids) -> Silk.NET.Core.HResult
+Silk.NET.Core.IInspectable.Native.GetRuntimeClassName(Silk.NET.Core.HString* className) -> Silk.NET.Core.HResult
+Silk.NET.Core.IInspectable.Native.GetRuntimeClassName(Silk.NET.Core.Ref className) -> Silk.NET.Core.HResult
+Silk.NET.Core.IInspectable.Native.GetTrustLevel(Silk.NET.Core.Ref trustLevel) -> Silk.NET.Core.HResult
+Silk.NET.Core.IInspectable.Native.GetTrustLevel(Silk.NET.Core.TrustLevel* trustLevel) -> Silk.NET.Core.HResult
+Silk.NET.Core.IInspectable.Native.lpVtbl -> void**
+Silk.NET.Core.IInspectable.Native.QueryInterface(Silk.NET.Core.Ref riid, Silk.NET.Core.Ref2D ppvObject) -> Silk.NET.Core.HResult
+Silk.NET.Core.IInspectable.Native.QueryInterface(System.Guid* riid, void** ppvObject) -> Silk.NET.Core.HResult
+Silk.NET.Core.IInspectable.Native.QueryInterface(out TCom ppvObject) -> Silk.NET.Core.HResult
+Silk.NET.Core.IInspectable.Native.Vtbl.GetRuntimeClassName -> delegate* unmanaged
+Silk.NET.Core.IInspectable.QueryInterface(Silk.NET.Core.Ref riid, Silk.NET.Core.Ref2D ppvObject) -> Silk.NET.Core.HResult
+Silk.NET.Core.IInspectable.QueryInterface(System.Guid* riid, void** ppvObject) -> Silk.NET.Core.HResult
+Silk.NET.Core.IInspectable.QueryInterface(out TCom ppvObject) -> Silk.NET.Core.HResult
Silk.NET.Core.INativeWindow
+Silk.NET.Core.INativeGuid
+Silk.NET.Core.INativeGuid.NativeGuid.get -> System.Guid*
Silk.NET.Core.INativeWindow.TryGetPlatformInfo(out TPlatformInfo? info) -> bool
+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 +536,18 @@ 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.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 +561,127 @@ 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.Create(int severity, int facility, int code) -> int
+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.GetCode(int hr) -> int
+static Silk.NET.Core.HResult.GetFacility(int hr) -> int
+static Silk.NET.Core.HResult.GetSeverity(int hr) -> int
+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.IndicatesError(int status) -> bool
+static Silk.NET.Core.HResult.IndicatesFailure(int hr) -> bool
+static Silk.NET.Core.HResult.IndicatesSuccess(int hr) -> 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.HResult.operator >=(Silk.NET.Core.HResult left, Silk.NET.Core.HResult right) -> bool
+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.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.AsyncIUnknown.get -> System.Guid
+static Silk.NET.Core.IID.IClassFactory.get -> System.Guid
+static Silk.NET.Core.IID.IInspectable.get -> System.Guid
+static Silk.NET.Core.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 +694,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 !=(Silk.NET.Core.MaybeBool lh, T rh) -> bool
+static Silk.NET.Core.MaybeBool.operator !=(T lh, Silk.NET.Core.MaybeBool rh) -> bool
+static Silk.NET.Core.MaybeBool.operator ==(Silk.NET.Core.MaybeBool lh, T rh) -> bool
+static Silk.NET.Core.MaybeBool.operator ==(T lh, Silk.NET.Core.MaybeBool 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!
@@ -416,8 +757,10 @@ 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.Ptr.explicit operator nint(Silk.NET.Core.Ptr ptr) -> nint
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 nuint(Silk.NET.Core.Ptr ptr) -> nuint
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(void* ptr) -> Silk.NET.Core.Ptr
static Silk.NET.Core.Ptr.implicit operator Silk.NET.Core.Ref(Silk.NET.Core.Ptr ptr) -> Silk.NET.Core.Ref
@@ -440,7 +783,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 +815,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 +858,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 +892,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
@@ -591,8 +934,12 @@ static Silk.NET.Core.Ptr3D.operator ==(T* lh, Silk.NET.Core.Ptr3D rh) -> b
static Silk.NET.Core.Ptr3D.operator ==(T** lh, Silk.NET.Core.Ptr3D rh) -> bool
static Silk.NET.Core.Ptr3D.operator ==(void* lh, Silk.NET.Core.Ptr3D rh) -> bool
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(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