diff --git a/.github/workflows/angle.yml b/.github/workflows/angle.yml deleted file mode 100644 index 57e8fed8a1..0000000000 --- a/.github/workflows/angle.yml +++ /dev/null @@ -1,64 +0,0 @@ -name: ANGLE -on: - push: - paths: - - build/submodules/ANGLE - - build/nuke/Build.Native.cs - branches-ignore: - - "ci/*" - - "develop/*" - - "main" -jobs: - Build: - strategy: - fail-fast: false - matrix: - env: - - os: ubuntu-latest - name: Linux - nuke_invoke: ./build.sh - extras: | - sudo apt-get update - sudo apt-get remove php7.4-common - sudo apt-get install -y libx11-xcb-dev libapache2-mod-php7.4 - - os: windows-latest - name: Windows - nuke_invoke: ./build.cmd - extras: | - pwsh build\Install-WindowsSDK.ps1 - - os: macos-latest - name: Darwin - nuke_invoke: ./build.sh - extras: "" - name: ${{ matrix.env.name }} Build - runs-on: ${{ matrix.env.os }} - steps: - - uses: actions/checkout@v2 - with: - token: ${{ secrets.PUSHABLE_GITHUB_TOKEN }} - - name: Checkout submodules, configure git - run: | - git -c submodule.third_party/git-hooks.update=none submodule update --init --recursive --depth 0 - git config --local user.email "9011267+dotnet-bot@users.noreply.github.com" - git config --local user.name "The Silk.NET Automaton" - - name: Extra prerequisites - run: | - echo running extras - ${{ matrix.env.extras }} - - name: Cache .tmp, ~/.nuget/packages - uses: actions/cache@v2 - with: - path: | - .tmp - ~/.nuget/packages - key: ${{ runner.os }}-${{ hashFiles('**/global.json', '**/*.csproj') }} - - name: Setup .NET 6.0 and .NET 7.0 - uses: actions/setup-dotnet@v1 - with: - dotnet-version: | - 6.0.201 - 7.0.* - - name: Build ANGLE - run: ${{ matrix.env.nuke_invoke }} Angle - env: - PUSHABLE_GITHUB_TOKEN: ${{ secrets.PUSHABLE_GITHUB_TOKEN }} diff --git a/.github/workflows/assimp.yml b/.github/workflows/assimp.yml index d5e94f7bb6..bbbb1d132f 100644 --- a/.github/workflows/assimp.yml +++ b/.github/workflows/assimp.yml @@ -6,8 +6,10 @@ on: - "develop/*" - "main" paths: - - "build/submodules/Assimp" - - "build/nuke/Build.Native.cs" + - build/submodules/Assimp + - build/nuke/Native/Core.cs + - build/nuke/Native/Assimp.cs + - .github/workflows/assimp.yml jobs: Build: strategy: diff --git a/.github/workflows/dxvk.yml b/.github/workflows/dxvk.yml index c8cf192dfe..a08af15d30 100644 --- a/.github/workflows/dxvk.yml +++ b/.github/workflows/dxvk.yml @@ -3,7 +3,8 @@ on: push: paths: - build/submodules/dxvk - - build/nuke/Build.Native.cs + - build/nuke/Native/Core.cs + - build/nuke/Native/Dxvk.cs - .github/workflows/dxvk.yml branches-ignore: - "ci/*" diff --git a/.github/workflows/glfw.yml b/.github/workflows/glfw.yml index 1a6c784418..9b0b055951 100644 --- a/.github/workflows/glfw.yml +++ b/.github/workflows/glfw.yml @@ -7,7 +7,9 @@ on: - "main" paths: - "build/submodules/GLFW" - - "build/nuke/Build.Native.cs" + - "build/nuke/Native/Core.cs" + - "build/nuke/Native/GLFW.cs" + - .github/workflows/glfw.yml jobs: Build: strategy: diff --git a/.github/workflows/sdl2.yml b/.github/workflows/sdl2.yml index 8eb99e1868..84399784d9 100644 --- a/.github/workflows/sdl2.yml +++ b/.github/workflows/sdl2.yml @@ -6,9 +6,10 @@ on: - "develop/*" - "main" paths: - - "build/submodules/SDL" - - "build/nuke/Build.Native.cs" - - ".github/workflows/sdl2.yml" + - build/submodules/SDL + - build/nuke/Native/Core.cs + - build/nuke/Native/SDL2.cs + - .github/workflows/sdl2.yml jobs: Build: strategy: diff --git a/.github/workflows/shaderc.yml b/.github/workflows/shaderc.yml new file mode 100644 index 0000000000..66a84ac55a --- /dev/null +++ b/.github/workflows/shaderc.yml @@ -0,0 +1,52 @@ +name: Shaderc +on: + push: + branches-ignore: + - "ci/*" + - "develop/*" + - "main" + paths: + - build/submodules/shaderc + - build/nuke/Native/Core.cs + - build/nuke/Native/Shaderc.cs + - .github/workflows/shaderc.yml +jobs: + Build: + strategy: + fail-fast: false + matrix: + env: + - os: ubuntu-latest + name: Linux + nuke_invoke: ./build.sh + extras: | + sudo apt-get update + sudo apt-get install -y build-essential binutils-aarch64-linux-gnu + name: ${{ matrix.env.name }} Build + runs-on: ${{ matrix.env.os }} + steps: + - uses: actions/checkout@v2 + with: + token: ${{ secrets.PUSHABLE_GITHUB_TOKEN }} + - name: Checkout submodules, configure git + run: | + git submodule update --init --recursive --depth 0 build/submodules/shaderc + git config --local user.email "9011267+dotnet-bot@users.noreply.github.com" + git config --local user.name "The Silk.NET Automaton" + - name: Extra prerequisites + run: | + echo running extras + ${{ matrix.env.extras }} + - name: Install Zig + uses: goto-bus-stop/setup-zig@v2 + - name: Setup .NET 6.0 and .NET 7.0 + uses: actions/setup-dotnet@v1 + with: + dotnet-version: | + 6.0.201 + 7.0.* + - name: Build Shaderc + run: ${{ matrix.env.nuke_invoke }} Shaderc + env: + PUSHABLE_GITHUB_TOKEN: ${{ secrets.PUSHABLE_GITHUB_TOKEN }} + diff --git a/.github/workflows/spirv-cross.yml b/.github/workflows/spirv-cross.yml index 1c076f5c2d..1cb5b95db1 100644 --- a/.github/workflows/spirv-cross.yml +++ b/.github/workflows/spirv-cross.yml @@ -6,9 +6,10 @@ on: - "develop/*" - "main" paths: - - "build/submodules/SPIRV-Cross" - - "build/nuke/Build.Native.cs" - - ".github/workflows/spirv-cross.yml" + - build/submodules/SPIRV-Cross + - build/nuke/Native/Core.cs + - build/nuke/Native/SPIRVCross.cs + - .github/workflows/spirv-cross.yml jobs: Build: strategy: diff --git a/.github/workflows/spirv-reflect.yml b/.github/workflows/spirv-reflect.yml index 69b79b6744..37bca2b97f 100644 --- a/.github/workflows/spirv-reflect.yml +++ b/.github/workflows/spirv-reflect.yml @@ -6,9 +6,10 @@ on: - "develop/*" - "main" paths: - - "build/submodules/SPIRV-Reflect" - - "build/nuke/Build.Native.cs" - - ".github/workflows/spirv-reflect.yml" + - build/submodules/SPIRV-Reflect + - build/nuke/Native/Core.cs + - build/nuke/Native/SPIRVReflect.cs + - .github/workflows/spirv-reflect.yml jobs: Build: strategy: diff --git a/.github/workflows/SwiftShader.yml b/.github/workflows/swiftshader.yml similarity index 94% rename from .github/workflows/SwiftShader.yml rename to .github/workflows/swiftshader.yml index a5c54339bb..131624ff45 100644 --- a/.github/workflows/SwiftShader.yml +++ b/.github/workflows/swiftshader.yml @@ -3,7 +3,9 @@ on: push: paths: - build/submodules/SwiftShader - - build/nuke/Build.Native.cs + - build/nuke/Native/Core.cs + - build/nuke/Native/SwiftShader.cs + - .github/workflows/swiftshader.yml branches-ignore: - "ci/*" - "develop/*" diff --git a/.github/workflows/vkd3d.yml b/.github/workflows/vkd3d.yml index 769de31644..785499c489 100644 --- a/.github/workflows/vkd3d.yml +++ b/.github/workflows/vkd3d.yml @@ -6,11 +6,13 @@ on: - "develop/*" - "main" paths: - - "build/submodules/vkd3d" - - "build/submodules/vkd3d-no-ms-abi.patch" - - "build/nuke/Build.Native.cs" - - ".github/workflows/vkd3d.yml" - - "src/Microsoft/Vkd3dCompiler/*" + - build/submodules/vkd3d + - build/submodules/SPIRV-Tools + - build/submodules/vkd3d-no-ms-abi.patch + - build/nuke/Native/Core.cs + - build/nuke/Native/Vkd3d.cs + - .github/workflows/vkd3d.yml + - src/Microsoft/Vkd3dCompiler/* jobs: Build: strategy: diff --git a/.github/workflows/vulkan-loader.yml b/.github/workflows/vulkan-loader.yml index ec9c40d420..fad06737ea 100644 --- a/.github/workflows/vulkan-loader.yml +++ b/.github/workflows/vulkan-loader.yml @@ -1,13 +1,15 @@ name: Vulkan Loader on: push: + branches-ignore: + - "ci/*" + - "develop/*" + - "main" paths: - build/submodules/Vulkan-Loader - - build/nuke/Build.Native.cs - branches-ignore: - - "ci/*" - - "develop/*" - - "main" + - build/nuke/Native/Core.cs + - build/nuke/Native/VulkanLoader.cs + - .github/workflows/vulkan-loader.yml jobs: Build: strategy: diff --git a/.github/workflows/wgpu.yml b/.github/workflows/wgpu.yml index e718cbe4a8..08fc4fddf0 100644 --- a/.github/workflows/wgpu.yml +++ b/.github/workflows/wgpu.yml @@ -6,9 +6,10 @@ on: - "develop/*" - "main" paths: - - "build/submodules/wgpu-native" - - "build/nuke/Build.Native.cs" - - ".github/workflows/wgpu.yml" + - build/submodules/wgpu-native + - build/nuke/Native/Core.cs + - build/nuke/Native/Wgpu.cs + - .github/workflows/wgpu.yml jobs: Build: strategy: diff --git a/.gitmodules b/.gitmodules index 5a4eef2c14..a9b4185ec6 100644 --- a/.gitmodules +++ b/.gitmodules @@ -46,3 +46,6 @@ [submodule "build/submodules/SPIRV-Cross"] path = build/submodules/SPIRV-Cross url = https://github.com/KhronosGroup/SPIRV-Cross +[submodule "build/submodules/shaderc"] + path = build/submodules/shaderc + url = https://github.com/google/shaderc diff --git a/Silk.NET.sln b/Silk.NET.sln index c33f630c0d..2afc3f6ef2 100644 --- a/Silk.NET.sln +++ b/Silk.NET.sln @@ -590,6 +590,10 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Silk.NET.SPIRV.Cross.Native EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tutorial 1.3 - Textures", "examples\CSharp\OpenGL Tutorials\Tutorial 1.3 - Textures\Tutorial 1.3 - Textures.csproj", "{1E7C6166-58B2-46B3-A9BA-18099BD83AF0}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Silk.NET.Shaderc", "src\SPIRV\Silk.NET.Shaderc\Silk.NET.Shaderc.csproj", "{E77BE8DB-3C74-42EB-9B65-67EAAA9AD7DB}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Silk.NET.Shaderc.Native", "src\Native\Silk.NET.Shaderc.Native\Silk.NET.Shaderc.Native.csproj", "{D1E4EDC7-0A06-498A-B0F9-275B7D508A0E}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -3587,6 +3591,30 @@ Global {1E7C6166-58B2-46B3-A9BA-18099BD83AF0}.Release|x64.Build.0 = Release|Any CPU {1E7C6166-58B2-46B3-A9BA-18099BD83AF0}.Release|x86.ActiveCfg = Release|Any CPU {1E7C6166-58B2-46B3-A9BA-18099BD83AF0}.Release|x86.Build.0 = Release|Any CPU + {E77BE8DB-3C74-42EB-9B65-67EAAA9AD7DB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E77BE8DB-3C74-42EB-9B65-67EAAA9AD7DB}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E77BE8DB-3C74-42EB-9B65-67EAAA9AD7DB}.Debug|x64.ActiveCfg = Debug|Any CPU + {E77BE8DB-3C74-42EB-9B65-67EAAA9AD7DB}.Debug|x64.Build.0 = Debug|Any CPU + {E77BE8DB-3C74-42EB-9B65-67EAAA9AD7DB}.Debug|x86.ActiveCfg = Debug|Any CPU + {E77BE8DB-3C74-42EB-9B65-67EAAA9AD7DB}.Debug|x86.Build.0 = Debug|Any CPU + {E77BE8DB-3C74-42EB-9B65-67EAAA9AD7DB}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E77BE8DB-3C74-42EB-9B65-67EAAA9AD7DB}.Release|Any CPU.Build.0 = Release|Any CPU + {E77BE8DB-3C74-42EB-9B65-67EAAA9AD7DB}.Release|x64.ActiveCfg = Release|Any CPU + {E77BE8DB-3C74-42EB-9B65-67EAAA9AD7DB}.Release|x64.Build.0 = Release|Any CPU + {E77BE8DB-3C74-42EB-9B65-67EAAA9AD7DB}.Release|x86.ActiveCfg = Release|Any CPU + {E77BE8DB-3C74-42EB-9B65-67EAAA9AD7DB}.Release|x86.Build.0 = Release|Any CPU + {D1E4EDC7-0A06-498A-B0F9-275B7D508A0E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D1E4EDC7-0A06-498A-B0F9-275B7D508A0E}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D1E4EDC7-0A06-498A-B0F9-275B7D508A0E}.Debug|x64.ActiveCfg = Debug|Any CPU + {D1E4EDC7-0A06-498A-B0F9-275B7D508A0E}.Debug|x64.Build.0 = Debug|Any CPU + {D1E4EDC7-0A06-498A-B0F9-275B7D508A0E}.Debug|x86.ActiveCfg = Debug|Any CPU + {D1E4EDC7-0A06-498A-B0F9-275B7D508A0E}.Debug|x86.Build.0 = Debug|Any CPU + {D1E4EDC7-0A06-498A-B0F9-275B7D508A0E}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D1E4EDC7-0A06-498A-B0F9-275B7D508A0E}.Release|Any CPU.Build.0 = Release|Any CPU + {D1E4EDC7-0A06-498A-B0F9-275B7D508A0E}.Release|x64.ActiveCfg = Release|Any CPU + {D1E4EDC7-0A06-498A-B0F9-275B7D508A0E}.Release|x64.Build.0 = Release|Any CPU + {D1E4EDC7-0A06-498A-B0F9-275B7D508A0E}.Release|x86.ActiveCfg = Release|Any CPU + {D1E4EDC7-0A06-498A-B0F9-275B7D508A0E}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -3874,6 +3902,8 @@ Global {AFF43F5B-46EC-4560-8E92-6D241C0D9F43} = {15FC3D1A-25D7-446B-87A7-B45BA3C2225F} {EEFD27E0-F0F3-45EF-A2CB-D9C8135BC893} = {72E7FA64-5B1E-477D-BD30-63B7F206B3C4} {1E7C6166-58B2-46B3-A9BA-18099BD83AF0} = {20A4A2D1-D699-4D71-AA97-950154638576} + {E77BE8DB-3C74-42EB-9B65-67EAAA9AD7DB} = {15FC3D1A-25D7-446B-87A7-B45BA3C2225F} + {D1E4EDC7-0A06-498A-B0F9-275B7D508A0E} = {72E7FA64-5B1E-477D-BD30-63B7F206B3C4} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {F5273D7F-3334-48DF-94E3-41AE6816CD4D} diff --git a/build/cache/shaderc.json.gz b/build/cache/shaderc.json.gz new file mode 100644 index 0000000000..51e7ddccb2 Binary files /dev/null and b/build/cache/shaderc.json.gz differ diff --git a/build/nuke/Build.Native.cs b/build/nuke/Build.Native.cs deleted file mode 100644 index 26d92e5512..0000000000 --- a/build/nuke/Build.Native.cs +++ /dev/null @@ -1,1107 +0,0 @@ -// 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; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Runtime.InteropServices; -using JetBrains.Annotations; -using Nuke.Common; -using Nuke.Common.CI.GitHubActions; -using Nuke.Common.Git; -using Nuke.Common.IO; -using Nuke.Common.Tooling; -using Nuke.Common.Tools.DotNet; -using Nuke.Common.Tools.Git; -using Octokit; -using Octokit.Internal; -using static Nuke.Common.IO.CompressionTasks; -using static Nuke.Common.IO.FileSystemTasks; -using static Nuke.Common.IO.HttpTasks; -using static Nuke.Common.Tooling.ProcessTasks; -using static Nuke.Common.Tools.DotNet.DotNetTasks; -using static Nuke.Common.Tools.Git.GitTasks; -using static Nuke.Common.Tools.GitHub.GitHubTasks; - -partial class Build -{ - [Nuke.Common.Parameter("Build native code")] readonly bool Native; - - [CanBeNull] string AndroidHomeValue; - - static string JobsArg => string.IsNullOrWhiteSpace(GitHubActions.Instance?.Job) - ? $" -j{Environment.ProcessorCount}" - : string.Empty; - - void CopyAs(AbsolutePath @out, string from, string to) - { - var file = @out.GlobFiles(from).First(); - CopyFile(file, to, FileExistsPolicy.Overwrite); - } - - string AndroidHome - { - get - { - if (AndroidHomeValue is not null) - { - return AndroidHomeValue; - } - - var utils = RootDirectory / "build" / "utilities"; - DotNet($"build \"{utils / "android_probe.proj"}\" /t:GetAndroidJar"); - AndroidHomeValue = (AbsolutePath) File.ReadAllText(utils / "android.jar.gen.txt") / ".." / ".." / ".."; - Logger.Info($"Android Home: {AndroidHomeValue}"); - return AndroidHomeValue; - } - } - - Target BuildLibSilkDroid => CommonTarget - ( - x => x.Before(Compile) - .After(Clean) - .Executes - ( - () => - { - if (!Native) - { - Logger.Warn("Skipping gradlew build as the --native parameter has not been specified."); - return Enumerable.Empty(); - } - - var sdl = RootDirectory / "build" / "submodules" / "SDL"; - var silkDroid = SourceDirectory / "Windowing" / "SilkDroid"; - var xcopy = new (string, string)[] - { - (sdl / "android-project" / "app" / "src" / "main" / "java", - silkDroid / "app" / "src" / "main" / "java"), - (sdl, silkDroid / "app" / "jni" / "SDL2") - }; - - foreach (var (from, to) in xcopy) - { - if (!Directory.Exists(from)) - { - ControlFlow.Fail - ($"\"{from}\" does not exist (did you forget to recursively clone the repo?)"); - } - - CopyDirectoryRecursively(from, to, DirectoryExistsPolicy.Merge, FileExistsPolicy.Overwrite); - } - - var envVars = CreateEnvVarDictionary(); - envVars["ANDROID_HOME"] = AndroidHome; - - foreach (var ndk in Directory.GetDirectories((AbsolutePath) AndroidHome / "ndk") - .OrderByDescending(x => Version.Parse(Path.GetFileName(x)))) - { - envVars["ANDROID_NDK_HOME"] = ndk; - } - - using var process = StartShell($".{Path.PathSeparator}gradlew build", silkDroid, envVars); - process.AssertZeroExitCode(); - var ret = process.Output; - CopyFile - ( - silkDroid / "app" / "build" / "outputs" / "aar" / "app-release.aar", - SourceDirectory / "Windowing" / "Silk.NET.Windowing.Sdl" / "Android" / "app-release.aar", - FileExistsPolicy.Overwrite - ); - return ret; - } - ) - ); - - AbsolutePath SwiftShaderBuildPath => RootDirectory / "build" / "submodules" / "SwiftShader" / "build"; - - Target SwiftShader => CommonTarget - ( - x => x.Before(Compile) - .After(Clean) - .Executes - ( - () => - { - var sysName = OperatingSystem.IsLinux() ? "Linux" : - OperatingSystem.IsWindows() ? "Windows" : - OperatingSystem.IsMacOS() ? "Darwin" : throw new PlatformNotSupportedException(); - DeleteDirectory(SwiftShaderBuildPath); - Git("checkout HEAD build/", SwiftShaderBuildPath / ".."); - StartProcess("cmake", ".. -DCMAKE_BUILD_TYPE=Release", SwiftShaderBuildPath) - .AssertZeroExitCode(); - StartProcess("cmake", $"--build .{JobsArg} --config Release", SwiftShaderBuildPath) - .AssertWaitForExit(); // might fail... as long as the output exists we're happy - var fname = sysName switch - { - "Linux" => "libvk_swiftshader.so", - "Windows" => "vk_swiftshader.dll", - "Darwin" => "libvk_swiftshader.dylib", - _ => throw new("what") - }; - - var runtimes = RootDirectory / "src" / "Native" / "Silk.NET.Vulkan.SwiftShader.Native" / "runtimes"; - var outputPath = SwiftShaderBuildPath / sysName; - const string icd = "vk_swiftshader_icd.json"; - if (OperatingSystem.IsWindows()) - { - CopyFile - ( - outputPath / fname, runtimes / "win-x64" / "native" / fname, - FileExistsPolicy.Overwrite - ); // we'll use WOW64 - CopyFile - ( - outputPath / fname, runtimes / "win-x86" / "native" / fname, - FileExistsPolicy.Overwrite - ); - CopyFile - ( - outputPath / icd, runtimes / "win-x64" / "native" / icd, - FileExistsPolicy.Overwrite - ); - CopyFile - ( - outputPath / icd, runtimes / "win-x86" / "native" / icd, - FileExistsPolicy.Overwrite - ); - } - else if (OperatingSystem.IsLinux()) - { - CopyFile - ( - outputPath / fname, runtimes / "linux-x64" / "native" / fname, - FileExistsPolicy.Overwrite - ); - CopyFile - ( - outputPath / icd, runtimes / "linux-x64" / "native" / icd, - FileExistsPolicy.Overwrite - ); - } - else if (OperatingSystem.IsMacOS()) - { - CopyFile - ( - outputPath / fname, runtimes / "osx-x64" / "native" / fname, - FileExistsPolicy.Overwrite - ); - CopyFile - ( - outputPath / icd, runtimes / "osx-x64" / "native" / icd, - FileExistsPolicy.Overwrite - ); - } - - PrUpdatedNativeBinary("SwiftShader"); - } - ) - ); - - AbsolutePath AnglePath => RootDirectory / "build" / "submodules" / "ANGLE"; - - Target Angle => CommonTarget - ( - x => x.Before(Compile) - .After(Clean) - .Executes - ( - () => - { - var @out = AnglePath / "out" / "Release"; - EnsureCleanDirectory(@out); - var zip = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName()); - var unzip = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName()); - HttpDownloadFile("https://storage.googleapis.com/chrome-infra/depot_tools.zip", zip); - UncompressZip(zip, unzip); - if (OperatingSystem.IsLinux() || OperatingSystem.IsMacOS()) - { - InheritedShell($"chmod -R 777 \"{unzip}\""); - } - - AddToPath(unzip); - if (OperatingSystem.IsWindows()) - { - Environment.SetEnvironmentVariable("DEPOT_TOOLS_WIN_TOOLCHAIN", "0"); - } - - InheritedShell("python scripts/bootstrap.py", AnglePath).AssertZeroExitCode(); - InheritedShell("gclient sync", AnglePath).AssertZeroExitCode(); - if (OperatingSystem.IsLinux()) - { - InheritedShell("sudo ./build/install-build-deps.sh", AnglePath).AssertZeroExitCode(); - } - - var runtimes = RootDirectory / "src" / "Native" / "Silk.NET.OpenGLES.ANGLE.Native" / "runtimes"; - if (OperatingSystem.IsWindows()) - { - InheritedShell - ( - "gn gen out/Release " + - "--args='is_component_build=false target_cpu=\"\"x86\"\" is_debug=false'", - AnglePath - ) - .AssertZeroExitCode(); - InheritedShell($"autoninja -C \"{@out}\"", AnglePath).AssertZeroExitCode(); - CopyAll - ( - // libANGLE might not exist, this is fine - @out.GlobFiles("libGLESv2.dll", "libEGL.dll", "libANGLE.dll"), - runtimes / "win-x64" / "native" - ); - CopyAll - ( - @out.GlobFiles("libGLESv2.dll", "libEGL.dll", "libANGLE.dll"), - runtimes / "win-x86" / "native" - ); - } - else - { - InheritedShell - ( - $"gn gen \"{@out}\" " + - "--args=\"is_component_build=false is_debug=false\"", - AnglePath - ) - .AssertZeroExitCode(); - InheritedShell($"autoninja -C \"{@out}\"", AnglePath).AssertZeroExitCode(); - CopyAll - ( - @out.GlobFiles - ( - "libGLESv2.so", "libEGL.so", "libANGLE.so", - "libGLESv2.dylib", "libEGL.dylib", "libANGLE.dylib" - ), - runtimes / (OperatingSystem.IsMacOS() ? "osx-x64" : "linux-x64") / "native" - ); - } - - PrUpdatedNativeBinary("ANGLE"); - } - ) - ); - - - AbsolutePath WgpuPath => RootDirectory / "build" / "submodules" / "wgpu-native"; - - Target Wgpu => CommonTarget - ( - x => x.Before(Compile) - .After(Clean) - .Executes - ( - () => - { - var runtimes = RootDirectory / "src" / "Native" / "Silk.NET.WebGPU.Native.WGPU" / "runtimes"; - - var target = WgpuPath / "target"; - EnsureCleanDirectory(target); - - if(OperatingSystem.IsWindows()) - { - //Compile Windows libraries - InheritedShell("cargo build --release --target=i686-pc-windows-msvc", WgpuPath).AssertZeroExitCode(); - InheritedShell("cargo build --release --target=x86_64-pc-windows-msvc", WgpuPath).AssertZeroExitCode(); - InheritedShell("cargo build --release --target=aarch64-pc-windows-msvc", WgpuPath).AssertZeroExitCode(); - - CopyFile(target / "i686-pc-windows-msvc" / "release" / "wgpu_native.dll", runtimes / "win-x86" / "native" / "wgpu_native.dll", FileExistsPolicy.Overwrite); - CopyFile(target / "x86_64-pc-windows-msvc" / "release" / "wgpu_native.dll", runtimes / "win-x64" / "native" / "wgpu_native.dll", FileExistsPolicy.Overwrite); - CopyFile(target / "aarch64-pc-windows-msvc" / "release" / "wgpu_native.dll", runtimes / "win-arm64" / "native" / "wgpu_native.dll", FileExistsPolicy.Overwrite); - } - - if(OperatingSystem.IsLinux()) - { - //Compile Linux libraries - InheritedShell("cargo build --release --target=i686-unknown-linux-gnu", WgpuPath).AssertZeroExitCode(); - InheritedShell("cargo build --release --target=x86_64-unknown-linux-gnu", WgpuPath).AssertZeroExitCode(); - - CopyFile(target / "i686-unknown-linux-gnu" / "release" / "libwgpu_native.so", runtimes / "linux-x86" / "native" / "libwgpu_native.so", FileExistsPolicy.Overwrite); - CopyFile(target / "x86_64-unknown-linux-gnu" / "release" / "libwgpu_native.so", runtimes / "linux-x64" / "native" / "libwgpu_native.so", FileExistsPolicy.Overwrite); - } - - if(OperatingSystem.IsMacOS()) - { - //Compile MacOS libraries - InheritedShell("cargo build --release --target=aarch64-apple-darwin", WgpuPath).AssertZeroExitCode(); - InheritedShell("cargo build --release --target=x86_64-apple-darwin", WgpuPath).AssertZeroExitCode(); - - CopyFile(target / "x86_64-apple-darwin" / "release" / "libwgpu_native.dylib", runtimes / "osx-x64" / "native" / "libwgpu_native.dylib", FileExistsPolicy.Overwrite); - CopyFile(target / "aarch64-apple-darwin" / "release" / "libwgpu_native.dylib", runtimes / "osx-arm64" / "native" / "libwgpu_native.dylib", FileExistsPolicy.Overwrite); - } - - PrUpdatedNativeBinary("Wgpu"); - } - ) - ); - - AbsolutePath SDL2Path => RootDirectory / "build" / "submodules" / "SDL"; - - Target SDL2 => CommonTarget - ( - x => x.Before(Compile) - .After(Clean) - .Executes - ( - () => - { - var runtimes = RootDirectory / "src" / "Native" / "Silk.NET.SDL.Native" / "runtimes"; - - var x86BuildDir = SDL2Path / "buildx86"; - var x64BuildDir = SDL2Path / "buildx64"; - var ARM64BuildDir = SDL2Path / "buildARM64"; - EnsureCleanDirectory(x86BuildDir); - EnsureCleanDirectory(x64BuildDir); - EnsureCleanDirectory(ARM64BuildDir); - - if(OperatingSystem.IsWindows()) - { - var prepare = "cmake .. -DBUILD_SHARED_LIBS=ON"; - var build = $"cmake --build . --config Release{JobsArg}"; - - InheritedShell($"{prepare} -A Win32", x86BuildDir).AssertZeroExitCode(); - InheritedShell(build, x86BuildDir).AssertZeroExitCode(); - - InheritedShell($"{prepare} -A X64", x64BuildDir).AssertZeroExitCode(); - InheritedShell(build, x64BuildDir).AssertZeroExitCode(); - - InheritedShell($"{prepare} -A arm64", ARM64BuildDir).AssertZeroExitCode(); - InheritedShell(build, ARM64BuildDir).AssertZeroExitCode(); - - CopyFile(x86BuildDir / "Release" / "SDL2.dll", runtimes / "win-x86" / "native" / "SDL2.dll", FileExistsPolicy.Overwrite); - CopyFile(x64BuildDir / "Release" / "SDL2.dll", runtimes / "win-x64" / "native" / "SDL2.dll", FileExistsPolicy.Overwrite); - CopyFile(ARM64BuildDir / "Release" / "SDL2.dll", runtimes / "win-arm64" / "native" / "SDL2.dll", FileExistsPolicy.Overwrite); - } - - if(OperatingSystem.IsLinux()) - { - if(RuntimeInformation.OSArchitecture == Architecture.Arm64) - { - InheritedShell("cmake ..", x86BuildDir).AssertZeroExitCode(); - InheritedShell("cmake --build .", x86BuildDir).AssertZeroExitCode(); - - CopyFile(ARM64BuildDir / "libSDL2-2.0.so.0.2600.5", runtimes / "linux-arm64" / "native" / "libSDL2-2.0.so", FileExistsPolicy.Overwrite); - } - else if (RuntimeInformation.OSArchitecture == Architecture.X64) - { - var envVars32bit = "CFLAGS='-m32 -O2' CXXFLAGS='-m32 -O2' LDFLAGS=-m32"; - var envVars64bit = "CFLAGS=-O2 CXXFLAGS=-O2"; - - InheritedShell($"{envVars32bit} ./configure --prefix={x86BuildDir}", SDL2Path).AssertZeroExitCode(); - InheritedShell($"{envVars32bit} make {JobsArg}", SDL2Path).AssertZeroExitCode(); - InheritedShell($"make install", SDL2Path).AssertZeroExitCode(); - - InheritedShell($"{envVars64bit} ./configure --prefix={x64BuildDir}", SDL2Path).AssertZeroExitCode(); - InheritedShell($"{envVars64bit} make {JobsArg}", SDL2Path).AssertZeroExitCode(); - InheritedShell($"make install", SDL2Path).AssertZeroExitCode(); - - //Strip the libraries - InheritedShell($"strip {x86BuildDir / "lib" / "libSDL2-2.0.so.0.2600.5"}", SDL2Path).AssertZeroExitCode(); - InheritedShell($"strip {x64BuildDir / "lib" / "libSDL2-2.0.so.0.2600.5"}", SDL2Path).AssertZeroExitCode(); - - CopyFile(x86BuildDir / "lib" / "libSDL2-2.0.so.0.2600.5", runtimes / "linux-x86" / "native" / "libSDL2-2.0.so", FileExistsPolicy.Overwrite); - CopyFile(x64BuildDir / "lib" / "libSDL2-2.0.so.0.2600.5", runtimes / "linux-x64" / "native" / "libSDL2-2.0.so", FileExistsPolicy.Overwrite); - } - else - { - throw new Exception($"Unable to build SDL libs on your architecture ({RuntimeInformation.OSArchitecture})."); - } - } - - if(OperatingSystem.IsMacOS()) - { - var prepare = "cmake .. -DBUILD_SHARED_LIBS=ON"; - var build = $"cmake --build . --config Release{JobsArg}"; - - InheritedShell($"{prepare} -DCMAKE_OSX_ARCHITECTURES=x86_64", x64BuildDir).AssertZeroExitCode(); - InheritedShell(build, x64BuildDir).AssertZeroExitCode(); - - InheritedShell($"{prepare} -DCMAKE_OSX_ARCHITECTURES=arm64", ARM64BuildDir).AssertZeroExitCode(); - InheritedShell(build, ARM64BuildDir).AssertZeroExitCode(); - - CopyAs(x64BuildDir, "**/*.dylib", runtimes / "osx-x64" / "native" / "libSDL2-2.0.dylib"); - CopyAs(ARM64BuildDir, "**/*.dylib", runtimes / "osx-arm64" / "native" / "libSDL2-2.0.dylib"); - } - - PrUpdatedNativeBinary("SDL2"); - } - ) - ); - - AbsolutePath GLFWPath => RootDirectory / "build" / "submodules" / "GLFW"; - - Target GLFW => CommonTarget - ( - x => x.Before(Compile) - .After(Clean) - .Executes - ( - () => - { - var @out = GLFWPath / "build"; - var prepare = "cmake -S. -B build -D BUILD_SHARED_LIBS=ON"; - var build = $"cmake --build build --config Release{JobsArg}"; - EnsureCleanDirectory(@out); - var runtimes = RootDirectory / "src" / "Native" / "Silk.NET.GLFW.Native" / "runtimes"; - if (OperatingSystem.IsWindows()) - { - InheritedShell($"{prepare} -A X64", GLFWPath) - .AssertZeroExitCode(); - InheritedShell(build, GLFWPath) - .AssertZeroExitCode(); - - CopyAll(@out.GlobFiles("src/Release/glfw3.dll"), runtimes / "win-x64" / "native"); - - EnsureCleanDirectory(@out); - - InheritedShell($"{prepare} -A Win32", GLFWPath) - .AssertZeroExitCode(); - InheritedShell(build, GLFWPath) - .AssertZeroExitCode(); - - CopyAll(@out.GlobFiles("src/Release/glfw3.dll"), runtimes / "win-x86" / "native"); - - EnsureCleanDirectory(@out); - - InheritedShell($"{prepare} -A arm64", GLFWPath) - .AssertZeroExitCode(); - InheritedShell(build, GLFWPath) - .AssertZeroExitCode(); - - CopyAll(@out.GlobFiles("src/Release/glfw3.dll"), runtimes / "win-arm64" / "native"); - } - else if (OperatingSystem.IsLinux()) - { - InheritedShell($"{prepare} -DCMAKE_SYSTEM_PROCESSOR=x86_64", GLFWPath) - .AssertZeroExitCode(); - InheritedShell(build, GLFWPath) - .AssertZeroExitCode(); - CopyAll(@out.GlobFiles("src/libglfw.so"), runtimes / "linux-x64" / "native"); - } - else if (OperatingSystem.IsMacOS()) - { - InheritedShell($"{prepare} -DCMAKE_OSX_ARCHITECTURES=x86_64", GLFWPath) - .AssertZeroExitCode(); - InheritedShell(build, GLFWPath) - .AssertZeroExitCode(); - CopyAll(@out.GlobFiles("src/libglfw.3.dylib"), runtimes / "osx-x64" / "native"); - - EnsureCleanDirectory(@out); - - InheritedShell($"{prepare} -DCMAKE_OSX_ARCHITECTURES=arm64", GLFWPath) - .AssertZeroExitCode(); - InheritedShell(build, GLFWPath) - .AssertZeroExitCode(); - - CopyAll(@out.GlobFiles("src/libglfw.3.dylib"), runtimes / "osx-arm64" / "native"); - } - - PrUpdatedNativeBinary("GLFW"); - } - ) - ); - - AbsolutePath Vkd3dPath => RootDirectory / "build" / "submodules" / "vkd3d"; - AbsolutePath SPIRVToolsPath => RootDirectory / "build" / "submodules" / "SPIRV-Tools"; - - Target Vkd3d => CommonTarget - ( - x => x.Before(Compile) - .After(Clean) - .Executes - ( - () => - { - if(!RuntimeInformation.IsOSPlatform(OSPlatform.Linux)) - { - throw new PlatformNotSupportedException("This task only runs on Linux!"); - } - - var runtimes = RootDirectory / "src" / "Native" / "Silk.NET.Vkd3d.Native" / "runtimes"; - - var vkd3dBuild = SPIRVToolsPath / "build"; - EnsureCleanDirectory(vkd3dBuild); - - { //SPIRV-Tools - //Clone the SPIRV-Headers external repo - InheritedShell($"git clone https://github.com/KhronosGroup/SPIRV-Headers.git external/spirv-headers", SPIRVToolsPath).AssertZeroExitCode(); - - //Make the build scripts, with shared libs enabled - InheritedShell($"cmake .. -DBUILD_SHARED_LIBS=1", vkd3dBuild).AssertZeroExitCode(); - - //Compile SPIRV-Tools - InheritedShell($"cmake --build . --config Release", vkd3dBuild).AssertZeroExitCode(); - - //Run `strip -g` on the shared library file to remove debug info and shrink it from ~30mb down to only ~5.5mb - InheritedShell($"strip -g libSPIRV-Tools-shared.so", vkd3dBuild / "source").AssertZeroExitCode(); - - //Copy the resulting SPIRV-Tools shared library to the runtimes folder - CopyFile(vkd3dBuild / "source" / "libSPIRV-Tools-shared.so", runtimes / "linux-x64" / "native" / "libSPIRV-Tools-shared.so", FileExistsPolicy.Overwrite); - } - - { //Vkd3d - var dest = Vkd3dPath / "dest"; - var @out = Vkd3dPath / "build"; - - EnsureCleanDirectory(@out); - EnsureCleanDirectory(dest); - - //Run autogen - InheritedShell($"./autogen.sh", Vkd3dPath).AssertZeroExitCode(); - //Run configure to make a non-debug build, with no trace messages, with a prefix of /usr and with spirv-tools - InheritedShell($"./configure CPPFLAGS=\"-DNDEBUG -DVKD3D_NO_TRACE_MESSAGES -fPIC\" --prefix=/usr --with-spirv-tools", Vkd3dPath).AssertZeroExitCode(); - //Build vkd3d - InheritedShell($"make -j4", Vkd3dPath).AssertZeroExitCode(); - //Install vkd3d to the dest folder - InheritedShell($"make DESTDIR=\"{Vkd3dPath.ToString().TrimEnd('/')}/dest\" install", Vkd3dPath).AssertZeroExitCode(); - - var vkd3dShaderCompiler = RootDirectory / "src" / "Microsoft" / "Vkd3dCompiler"; - - //Copy libvkd3d-shader.a - CopyFile(@dest / "usr" / "lib" / "libvkd3d-shader.a", vkd3dShaderCompiler / "libvkd3d-shader.a"); - //Copy libvkd3d-shader.la - CopyFile(@dest / "usr" / "lib" / "libvkd3d-shader.la", vkd3dShaderCompiler / "libvkd3d-shader.la"); - //Copy libSPIRV-Tools-shared.so - CopyFile(vkd3dBuild / "source" / "libSPIRV-Tools-shared.so", vkd3dShaderCompiler / "libSPIRV-Tools-shared.so"); - - //Build the shader compiler - InheritedShell($"zig build -Doptimize=ReleaseSmall -Dtarget=x86_64-linux-gnu --verbose", vkd3dShaderCompiler).AssertZeroExitCode(); - - //Copy the resulting shader compiler to the native output - CopyFile(vkd3dShaderCompiler / "zig-out" / "lib" / "libd3dcompile_vkd3d.so", runtimes / "linux-x64" / "native" / "libd3dcompile_vkd3d.so", FileExistsPolicy.Overwrite); - } - - PrUpdatedNativeBinary("Vkd3d"); - } - ) - ); - - AbsolutePath SPIRVReflectPath => RootDirectory / "build" / "submodules" / "SPIRV-Reflect"; - - //This is the build script for the SPIRV-Reflect shared library - const string SPIRVReflectBuildScript = @"const std = @import(""std""); -const fs = std.fs; - -pub fn build(b: *std.Build) void { - const target = b.standardTargetOptions(.{}); - const mode = b.standardOptimizeOption(.{}); - - const shared_lib_options: std.build.SharedLibraryOptions = .{ - .name = ""spirv-reflect"", - .target = target, - .optimize = mode, - }; - - const lib: *std.build.LibExeObjStep = b.addSharedLibrary(shared_lib_options); - lib.linkLibC(); - - lib.addCSourceFiles(&.{""spirv_reflect.c""}, &.{ ""-std=c99"", ""-fPIC"" }); - b.installArtifact(lib); -}"; - - Target SPIRVReflect => CommonTarget - ( - x => x.Before(Compile) - .After(Clean) - .Executes - ( - () => - { - var runtimes = RootDirectory / "src" / "Native" / "Silk.NET.SPIRV.Reflect.Native" / "runtimes"; - - //Write out the build script to the directory - File.WriteAllText(SPIRVReflectPath / "build.zig", SPIRVReflectBuildScript); - - { //Linux - //Build for Linux x86_64 with glibc 2.26 (old version specified for compatibility) - InheritedShell($"zig build -Doptimize=ReleaseFast -Dtarget=x86_64-linux-gnu.2.26 --verbose", SPIRVReflectPath).AssertZeroExitCode(); - CopyFile(SPIRVReflectPath / "zig-out" / "lib" / "libspirv-reflect.so", runtimes / "linux-x64" / "native" / "libspirv-reflect.so", FileExistsPolicy.Overwrite); - - //Build for Linux x86 with glibc 2.26 (old version specified for compatibility) - InheritedShell($"zig build -Doptimize=ReleaseFast -Dtarget=x86-linux-gnu.2.26 --verbose", SPIRVReflectPath).AssertZeroExitCode(); - CopyFile(SPIRVReflectPath / "zig-out" / "lib" / "libspirv-reflect.so", runtimes / "linux-x86" / "native" / "libspirv-reflect.so", FileExistsPolicy.Overwrite); - - //Build for Linux arm64 with glibc 2.26 (old version specified for compatibility) - InheritedShell($"zig build -Doptimize=ReleaseFast -Dtarget=aarch64-linux-gnu.2.26 --verbose", SPIRVReflectPath).AssertZeroExitCode(); - CopyFile(SPIRVReflectPath / "zig-out" / "lib" / "libspirv-reflect.so", runtimes / "linux-arm64" / "native" / "libspirv-reflect.so", FileExistsPolicy.Overwrite); - } - - { //Windows - //Build for Windows x86_64 - InheritedShell($"zig build -Doptimize=ReleaseFast -Dtarget=x86_64-windows --verbose", SPIRVReflectPath).AssertZeroExitCode(); - CopyFile(SPIRVReflectPath / "zig-out" / "lib" / "spirv-reflect.dll", runtimes / "win-x64" / "native" / "spirv-reflect.dll", FileExistsPolicy.Overwrite); - - //Build for Windows x86 - InheritedShell($"zig build -Doptimize=ReleaseFast -Dtarget=x86-windows --verbose", SPIRVReflectPath).AssertZeroExitCode(); - CopyFile(SPIRVReflectPath / "zig-out" / "lib" / "spirv-reflect.dll", runtimes / "win-x86" / "native" / "spirv-reflect.dll", FileExistsPolicy.Overwrite); - - //Build for Windows arm64 - InheritedShell($"zig build -Doptimize=ReleaseFast -Dtarget=aarch64-windows --verbose", SPIRVReflectPath).AssertZeroExitCode(); - CopyFile(SPIRVReflectPath / "zig-out" / "lib" / "spirv-reflect.dll", runtimes / "win-arm64" / "native" / "spirv-reflect.dll", FileExistsPolicy.Overwrite); - } - - { //MacOS - //Build for MacOS x86_64 - InheritedShell($"zig build -Doptimize=ReleaseFast -Dtarget=x86_64-macos --verbose", SPIRVReflectPath).AssertZeroExitCode(); - CopyFile(SPIRVReflectPath / "zig-out" / "lib" / "libspirv-reflect.dylib", runtimes / "osx-x64" / "native" / "libspirv-reflect.dylib", FileExistsPolicy.Overwrite); - - //Build for MacOS arm64 - InheritedShell($"zig build -Doptimize=ReleaseFast -Dtarget=aarch64-macos --verbose", SPIRVReflectPath).AssertZeroExitCode(); - CopyFile(SPIRVReflectPath / "zig-out" / "lib" / "libspirv-reflect.dylib", runtimes / "osx-arm64" / "native" / "libspirv-reflect.dylib", FileExistsPolicy.Overwrite); - } - - var files = (runtimes / "win-x64" / "native").GlobFiles("*.dll") - .Concat((runtimes / "win-x86" / "native").GlobFiles("*.dll")) - .Concat((runtimes / "win-arm64" / "native").GlobFiles("*.dll")) - .Concat((runtimes / "osx-x64" / "native").GlobFiles("*.dylib")) - .Concat((runtimes / "osx-arm64" / "native").GlobFiles("*.dylib")) - .Concat((runtimes / "linux-x64" / "native").GlobFiles("*.so")) - .Concat((runtimes / "linux-x86" / "native").GlobFiles("*.so")) - .Concat((runtimes / "linux-arm64" / "native").GlobFiles("*.so")); - - var glob = string.Empty; - glob = files.Aggregate(glob, (current, path) => current + $"\"{path}\" "); - - PrUpdatedNativeBinary("SPIRV-Reflect", glob); - } - ) - ); - - AbsolutePath SPIRVCrossPath => RootDirectory / "build" / "submodules" / "SPIRV-Cross"; - - //This is the build script for the SPIRV-Reflect shared library - const string SPIRVCrossBuildScript = @"const std = @import(""std""); -const fs = std.fs; - -pub fn build(b: *std.Build) void { - const target = b.standardTargetOptions(.{}); - const mode = b.standardOptimizeOption(.{}); - - const shared_lib_options: std.build.SharedLibraryOptions = .{ - .name = ""spirv-cross"", - .target = target, - .optimize = mode, - }; - - const lib: *std.build.LibExeObjStep = b.addSharedLibrary(shared_lib_options); - lib.linkLibC(); - lib.linkLibCpp(); - - var flags = &.{ ""-std=c++11"", ""-fPIC"" }; - - //Enable the GLSL, HLSL, MSL, CPP, and Reflect C APIs - lib.defineCMacro(""SPIRV_CROSS_C_API_GLSL"", ""1""); - lib.defineCMacro(""SPIRV_CROSS_C_API_HLSL"", ""1""); - lib.defineCMacro(""SPIRV_CROSS_C_API_MSL"", ""1""); - lib.defineCMacro(""SPIRV_CROSS_C_API_CPP"", ""1""); - lib.defineCMacro(""SPIRV_CROSS_C_API_REFLECT"", ""1""); - - //Export the C API symbols - lib.defineCMacro(""SPVC_EXPORT_SYMBOLS"", ""1""); - - //If we arent in debug, defined NDEBUG - if (mode != .Debug) - lib.defineCMacro(""NDEBUG"", ""1""); - - lib.addCSourceFiles(&.{ - root_path ++ ""spirv_cross.cpp"", - root_path ++ ""spirv_cfg.cpp"", - root_path ++ ""spirv_cpp.cpp"", - root_path ++ ""spirv_cross_c.cpp"", - root_path ++ ""spirv_cross_parsed_ir.cpp"", - root_path ++ ""spirv_cross_util.cpp"", - root_path ++ ""spirv_glsl.cpp"", - root_path ++ ""spirv_hlsl.cpp"", - root_path ++ ""spirv_msl.cpp"", - root_path ++ ""spirv_parser.cpp"", - root_path ++ ""spirv_reflect.cpp"", - }, flags); - - b.installArtifact(lib); -} - -fn root_dir() []const u8 { - return std.fs.path.dirname(@src().file) orelse "".""; -} - -const root_path = root_dir() ++ ""/""; -"; - - Target SPIRVCross => CommonTarget - ( - x => x.Before(Compile) - .After(Clean) - .Executes - ( - () => - { - var runtimes = RootDirectory / "src" / "Native" / "Silk.NET.SPIRV.Cross.Native" / "runtimes"; - - //Write out the build script to the directory - File.WriteAllText(SPIRVCrossPath / "build.zig", SPIRVCrossBuildScript); - - { //Linux - //Build for Linux x86_64 with glibc 2.26 (old version specified for compatibility) - InheritedShell($"zig build -Doptimize=ReleaseSmall -Dtarget=x86_64-linux-gnu.2.26 --verbose", SPIRVCrossPath).AssertZeroExitCode(); - CopyFile(SPIRVCrossPath / "zig-out" / "lib" / "libspirv-cross.so", runtimes / "linux-x64" / "native" / "libspirv-cross.so", FileExistsPolicy.Overwrite); - - //Build for Linux x86 with glibc 2.26 (old version specified for compatibility) - InheritedShell($"zig build -Doptimize=ReleaseSmall -Dtarget=x86-linux-gnu.2.26 --verbose", SPIRVCrossPath).AssertZeroExitCode(); - CopyFile(SPIRVCrossPath / "zig-out" / "lib" / "libspirv-cross.so", runtimes / "linux-x86" / "native" / "libspirv-cross.so", FileExistsPolicy.Overwrite); - - //Build for Linux arm64 with glibc 2.26 (old version specified for compatibility) - InheritedShell($"zig build -Doptimize=ReleaseSmall -Dtarget=aarch64-linux-gnu.2.26 --verbose", SPIRVCrossPath).AssertZeroExitCode(); - CopyFile(SPIRVCrossPath / "zig-out" / "lib" / "libspirv-cross.so", runtimes / "linux-arm64" / "native" / "libspirv-cross.so", FileExistsPolicy.Overwrite); - } - - { //Windows - //Build for Windows x86_64 - InheritedShell($"zig build -Doptimize=ReleaseFast -Dtarget=x86_64-windows --verbose", SPIRVCrossPath).AssertZeroExitCode(); - CopyFile(SPIRVCrossPath / "zig-out" / "lib" / "spirv-cross.dll", runtimes / "win-x64" / "native" / "spirv-cross.dll", FileExistsPolicy.Overwrite); - - //Build for Windows x86 - InheritedShell($"zig build -Doptimize=ReleaseFast -Dtarget=x86-windows --verbose", SPIRVCrossPath).AssertZeroExitCode(); - CopyFile(SPIRVCrossPath / "zig-out" / "lib" / "spirv-cross.dll", runtimes / "win-x86" / "native" / "spirv-cross.dll", FileExistsPolicy.Overwrite); - - //Build for Windows arm64 - InheritedShell($"zig build -Doptimize=ReleaseFast -Dtarget=aarch64-windows --verbose", SPIRVCrossPath).AssertZeroExitCode(); - CopyFile(SPIRVCrossPath / "zig-out" / "lib" / "spirv-cross.dll", runtimes / "win-arm64" / "native" / "spirv-cross.dll", FileExistsPolicy.Overwrite); - } - - { //MacOS - //Build for MacOS x86_64 - InheritedShell($"zig build -Doptimize=ReleaseSmall -Dtarget=x86_64-macos --verbose", SPIRVCrossPath).AssertZeroExitCode(); - CopyFile(SPIRVCrossPath / "zig-out" / "lib" / "libspirv-cross.dylib", runtimes / "osx-x64" / "native" / "libspirv-cross.dylib", FileExistsPolicy.Overwrite); - - //Build for MacOS arm64 - InheritedShell($"zig build -Doptimize=ReleaseSmall -Dtarget=aarch64-macos --verbose", SPIRVCrossPath).AssertZeroExitCode(); - CopyFile(SPIRVCrossPath / "zig-out" / "lib" / "libspirv-cross.dylib", runtimes / "osx-arm64" / "native" / "libspirv-cross.dylib", FileExistsPolicy.Overwrite); - } - - var files = (runtimes / "win-x64" / "native").GlobFiles("*.dll") - .Concat((runtimes / "win-x86" / "native").GlobFiles("*.dll")) - .Concat((runtimes / "win-arm64" / "native").GlobFiles("*.dll")) - .Concat((runtimes / "osx-x64" / "native").GlobFiles("*.dylib")) - .Concat((runtimes / "osx-arm64" / "native").GlobFiles("*.dylib")) - .Concat((runtimes / "linux-x64" / "native").GlobFiles("*.so")) - .Concat((runtimes / "linux-x86" / "native").GlobFiles("*.so")) - .Concat((runtimes / "linux-arm64" / "native").GlobFiles("*.so")); - - var glob = string.Empty; - glob = files.Aggregate(glob, (current, path) => current + $"\"{path}\" "); - - PrUpdatedNativeBinary("SPIRV-Cross", glob); - } - ) - ); - - AbsolutePath VulkanLoaderPath => RootDirectory / "build" / "submodules" / "Vulkan-Loader"; - - Target VulkanLoader => CommonTarget - ( - x => x.Before(Compile) - .After(Clean) - .Executes - ( - () => - { - var @out = VulkanLoaderPath / "build"; - EnsureCleanDirectory(@out); - var abi = OperatingSystem.IsWindows() ? " -DCMAKE_GENERATOR_PLATFORM=Win32" : string.Empty; - InheritedShell - ( - $"cmake -S. -Bbuild -DUPDATE_DEPS=On -DCMAKE_BUILD_TYPE=Release{abi}", - VulkanLoaderPath - ) - .AssertZeroExitCode(); - InheritedShell($"cmake --build build --config Release{JobsArg}", VulkanLoaderPath) - .AssertZeroExitCode(); - var runtimes = RootDirectory / "src" / "Native" / "Silk.NET.Vulkan.Loader.Native" / "runtimes"; - if (OperatingSystem.IsWindows()) - { - CopyAll(@out.GlobFiles("loader/Release/vulkan-1.dll"), runtimes / "win-x64" / "native"); - CopyAll(@out.GlobFiles("loader/Release/vulkan-1.dll"), runtimes / "win-x86" / "native"); - } - else - { - CopyAll - ( - @out.GlobFiles("loader/libvulkan.so", "loader/libvulkan.dylib"), - runtimes / (OperatingSystem.IsMacOS() ? "osx-x64" : "linux-x64") / "native" - ); - } - - PrUpdatedNativeBinary("Vulkan Loader"); - } - ) - ); - - AbsolutePath DxvkPath => RootDirectory / "build" / "submodules" / "dxvk"; - - Target Dxvk => CommonTarget - ( - x => x.Before(Compile) - .After(Clean) - .Executes - ( - () => - { - if (!OperatingSystem.IsLinux()) - { - throw new Exception("This task can only run under Linux!"); - } - - var @out = DxvkPath / "output"; - var glfwOut = DxvkPath / "glfw-output"; - EnsureCleanDirectory(@out); - EnsureCleanDirectory(glfwOut); - - InheritedShell - ( - $"./package-release.sh master output --no-package", - DxvkPath - ) - .AssertZeroExitCode(); - - var win32GlfwLibs = @out.GlobFiles("dxvk-master/x32/*"); - - foreach (var lib in win32GlfwLibs) - { - var fileName = Path.GetFileName(lib); - RenameFile(lib.Parent / fileName, lib.Parent / "dxvk-" + fileName); - } - - var win64GlfwLibs = @out.GlobFiles("dxvk-master/x64/*"); - - foreach (var lib in win64GlfwLibs) - { - var fileName = Path.GetFileName(lib); - RenameFile(lib.Parent / fileName, lib.Parent / "dxvk-" + fileName); - } - - InheritedShell - ( - $"./package-native.sh master output --no-package", - DxvkPath - ) - .AssertZeroExitCode(); - - var mesonOptionsPath = Path.Combine(DxvkPath, "meson_options.txt"); - - //Replace `sdl2` with `glfw` in the meson options file, to build with GLFW WSI instead of SDL2 WSI - File.WriteAllText(mesonOptionsPath, File.ReadAllText(mesonOptionsPath).Replace("sdl2", "glfw")); - InheritedShell - ( - $"./package-native.sh master glfw-output --no-package", - DxvkPath - ) - .AssertZeroExitCode(); - - var runtimes = RootDirectory / "src" / "Native" / "Silk.NET.DXVK.Native" / "runtimes"; - - //Copy the windows binaries - CopyAll(@out.GlobFiles("dxvk-master/x64/*"), runtimes / "win-x64" / "native"); - CopyAll(@out.GlobFiles("dxvk-master/x32/*"), runtimes / "win-x86" / "native"); - - var linux64SdlLibs = @out.GlobFiles("dxvk-native-master/usr/lib/*"); - - foreach (var lib in linux64SdlLibs) - { - var fileName = Path.GetFileName(lib); - RenameFile(lib.Parent / fileName, lib.Parent / "sdl2-" + fileName); - } - - var linux64GlfwLibs = glfwOut.GlobFiles("dxvk-native-master/usr/lib/*"); - - foreach (var lib in linux64GlfwLibs) - { - var fileName = Path.GetFileName(lib); - RenameFile(lib.Parent / fileName, lib.Parent / "glfw-" + fileName); - } - - var linux32SdlLibs = @out.GlobFiles("dxvk-native-master/usr/lib32/*"); - - foreach (var lib in linux32SdlLibs) - { - var fileName = Path.GetFileName(lib); - RenameFile(lib.Parent / fileName, lib.Parent / "sdl2-" + fileName); - } - - var linux32GlfwLibs = glfwOut.GlobFiles("dxvk-native-master/usr/lib32/*"); - - foreach (var lib in linux32GlfwLibs) - { - var fileName = Path.GetFileName(lib); - RenameFile(lib.Parent / fileName, lib.Parent / "glfw-" + fileName); - } - - //Copy the linux SDL binaries - CopyAll(@out.GlobFiles("dxvk-native-master/usr/lib/*"), runtimes / "linux-x64" / "native"); - CopyAll(@out.GlobFiles("dxvk-native-master/usr/lib32/*"), runtimes / "linux-x86" / "native"); - - //Copy the linux GLFW binaries - CopyAll(glfwOut.GlobFiles("dxvk-native-master/usr/lib/*"), runtimes / "linux-x64" / "native"); - CopyAll(glfwOut.GlobFiles("dxvk-native-master/usr/lib32/*"), runtimes / "linux-x86" / "native"); - - var winx64 = runtimes / "win-x64" / "native"; - var winx86 = runtimes / "win-x86" / "native"; - - var linuxx64 = runtimes / "linux-x64" / "native"; - var linuxx86 = runtimes / "linux-x86" / "native"; - - var glob = string.Empty; - var files = winx64.GlobFiles("*.dll") - .Concat(winx86.GlobFiles("*.dll")) - .Concat(linuxx64.GlobFiles("*.so")) - .Concat(linuxx86.GlobFiles("*.so")); - - glob = files.Aggregate(glob, (current, path) => current + $"\"{path}\" "); - - PrUpdatedNativeBinary - ( - "DXVK", glob - ); - } - ) - ); - - AbsolutePath AssimpPath => RootDirectory / "build" / "submodules" / "Assimp"; - - Target Assimp => CommonTarget - ( - x => x.Before(Compile) - .After(Clean) - .Executes - ( - () => - { - var @out = AssimpPath / "build"; - var prepare = "cmake -S. -B build -D BUILD_SHARED_LIBS=ON"; - var build = $"cmake --build build --config Release{JobsArg}"; - EnsureCleanDirectory(@out); - var runtimes = RootDirectory / "src" / "Native" / "Silk.NET.Assimp.Native" / "runtimes"; - if (OperatingSystem.IsWindows()) - { - InheritedShell($"{prepare} -A X64", AssimpPath) - .AssertZeroExitCode(); - InheritedShell(build, AssimpPath) - .AssertZeroExitCode(); - - CopyAs(@out, "bin/Release/assimp-*-mt.dll", runtimes / "win-x64" / "native" / "Assimp64.dll"); - EnsureCleanDirectory(@out); - - InheritedShell($"{prepare} -A Win32", AssimpPath) - .AssertZeroExitCode(); - InheritedShell(build, AssimpPath) - .AssertZeroExitCode(); - - CopyAs(@out, "bin/Release/assimp-*-mt.dll", runtimes / "win-x86" / "native" / "Assimp32.dll"); - } - else if (OperatingSystem.IsLinux()) - { - InheritedShell($"{prepare} -DCMAKE_SYSTEM_PROCESSOR=x86_64", AssimpPath) - .AssertZeroExitCode(); - InheritedShell(build, AssimpPath) - .AssertZeroExitCode(); - - CopyAll(@out.GlobFiles("bin/libassimp.so.5"), runtimes / "linux-x64" / "native"); - } - else if (OperatingSystem.IsMacOS()) - { - InheritedShell($"{prepare} -DCMAKE_OSX_ARCHITECTURES=x86_64", AssimpPath) - .AssertZeroExitCode(); - InheritedShell(build, AssimpPath) - .AssertZeroExitCode(); - CopyAll(@out.GlobFiles("bin/libassimp.5.dylib"), runtimes / "osx-x64" / "native"); - - EnsureCleanDirectory(@out); - - InheritedShell($"{prepare} -DCMAKE_OSX_ARCHITECTURES=arm64", AssimpPath) - .AssertZeroExitCode(); - InheritedShell(build, AssimpPath) - .AssertZeroExitCode(); - - CopyAll(@out.GlobFiles("bin/libassimp.5.dylib"), runtimes / "osx-arm64" / "native"); - } - - PrUpdatedNativeBinary("Assimp"); - } - ) - ); - - void PrUpdatedNativeBinary(string name, [CanBeNull] string glob = null) - { - var pushableToken = EnvironmentInfo.GetVariable("PUSHABLE_GITHUB_TOKEN"); - var curBranch = GitCurrentBranch(RootDirectory); - if (!string.IsNullOrWhiteSpace(pushableToken) && - GitHubActions.Instance?.Repository == "dotnet/Silk.NET" && - curBranch != "HEAD" && - !string.IsNullOrWhiteSpace(curBranch) && - !curBranch.StartsWith("ci/", StringComparison.OrdinalIgnoreCase) && // ignore other CI branches - !curBranch.StartsWith("main", StringComparison.OrdinalIgnoreCase) && // submodule updates are done in PRs... - !curBranch.StartsWith("develop/", StringComparison.OrdinalIgnoreCase)) - { - // it's assumed that the pushable token was used to checkout the repo - if (OperatingSystem.IsWindows()) - { - glob ??= "src/Native/**/*.dll"; - } - else if (OperatingSystem.IsMacOS()) - { - glob ??= "src/Native/**/*.dylib"; - } - else if (OperatingSystem.IsLinux()) - { - glob ??= "src/Native/**/*.so*"; - } - - Git("fetch --all", RootDirectory); - Git("pull"); - Git($"add -f {glob}", RootDirectory); - var newBranch = $"ci/{curBranch}/{name.ToLower().Replace(' ', '_')}_bins"; - var curCommit = GitCurrentCommit(RootDirectory); - var commitCmd = InheritedShell - ( - $"git commit -m \"New binaries for {name} on {RuntimeInformation.OSDescription}\"" - ) - .AssertWaitForExit(); - if (!commitCmd.Output.Any(x => x.Text.Contains("no changes added to commit", StringComparison.OrdinalIgnoreCase) || x.Text.Contains("nothing to commit", StringComparison.OrdinalIgnoreCase))) - { - commitCmd.AssertZeroExitCode(); - } - - // ensure there are no other changes - Git("checkout HEAD .nuke/", RootDirectory); - Git("reset --hard", RootDirectory); - if (GitCurrentCommit(RootDirectory) != curCommit) // might get "nothing to commit", you never know... - { - Logger.Info("Checking for existing branch..."); - var exists = StartProcess("git", $"checkout \"{newBranch}\"", RootDirectory) - .AssertWaitForExit() - .ExitCode == 0; - if (!exists) - { - Logger.Info("None found, creating a new one..."); - Git($"checkout -b \"{newBranch}\""); - } - - Git($"merge -X theirs \"{curBranch}\" --allow-unrelated-histories"); - Git($"push --set-upstream origin \"{newBranch}\""); - if (!exists) - { - var github = new GitHubClient - ( - new ProductHeaderValue("Silk.NET-CI"), - new InMemoryCredentialStore(new Credentials(pushableToken)) - ); - - var pr = github.PullRequest.Create - ("dotnet", "Silk.NET", new($"Update {name} binaries", newBranch, curBranch)) - .GetAwaiter() - .GetResult(); - } - } - } - } -} diff --git a/build/nuke/Build.cs b/build/nuke/Build.cs index 6f0a2b8af0..9d307cbe42 100644 --- a/build/nuke/Build.cs +++ b/build/nuke/Build.cs @@ -10,10 +10,10 @@ partial class Build : NukeBuild // -------- // Building // -------- - // - Build.Core.cs - core .NET build, uses the dotnet CLI to build the solution. + // - Build.Core.cs - core .NET build, uses the dotnet CLI to build the solution. // - Build.Generation.cs - a target for running our bespoke code generator BuildTools to generate all the .gen.cs // files. - // - Build.Native.cs - builds the native (C/C++) components used by Silk.NET. + // - Native/*.cs - builds the native (C/C++) components used by Silk.NET. // --------- // Packaging // --------- diff --git a/build/nuke/Native/Angle.cs b/build/nuke/Native/Angle.cs new file mode 100644 index 0000000000..b112833804 --- /dev/null +++ b/build/nuke/Native/Angle.cs @@ -0,0 +1,113 @@ +// 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; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Runtime.InteropServices; +using JetBrains.Annotations; +using Nuke.Common; +using Nuke.Common.CI.GitHubActions; +using Nuke.Common.Git; +using Nuke.Common.IO; +using Nuke.Common.Tooling; +using Nuke.Common.Tools.DotNet; +using Nuke.Common.Tools.Git; +using Octokit; +using Octokit.Internal; +using static Nuke.Common.IO.CompressionTasks; +using static Nuke.Common.IO.FileSystemTasks; +using static Nuke.Common.IO.HttpTasks; +using static Nuke.Common.Tooling.ProcessTasks; +using static Nuke.Common.Tools.DotNet.DotNetTasks; +using static Nuke.Common.Tools.Git.GitTasks; +using static Nuke.Common.Tools.GitHub.GitHubTasks; + +partial class Build { + // NOTE: Disabled until space issues are resolved! If you are a user who needs this please submit a PR! + + // AbsolutePath AnglePath => RootDirectory / "build" / "submodules" / "ANGLE"; + + // Target Angle => CommonTarget + // ( + // x => x.Before(Compile) + // .After(Clean) + // .Executes + // ( + // () => + // { + // var @out = AnglePath / "out" / "Release"; + // EnsureCleanDirectory(@out); + // var zip = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName()); + // var unzip = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName()); + // HttpDownloadFile("https://storage.googleapis.com/chrome-infra/depot_tools.zip", zip); + // UncompressZip(zip, unzip); + // if (OperatingSystem.IsLinux() || OperatingSystem.IsMacOS()) + // { + // InheritedShell($"chmod -R 777 \"{unzip}\""); + // } + + // AddToPath(unzip); + // if (OperatingSystem.IsWindows()) + // { + // Environment.SetEnvironmentVariable("DEPOT_TOOLS_WIN_TOOLCHAIN", "0"); + // } + + // InheritedShell("python scripts/bootstrap.py", AnglePath).AssertZeroExitCode(); + // InheritedShell("gclient sync", AnglePath).AssertZeroExitCode(); + // if (OperatingSystem.IsLinux()) + // { + // InheritedShell("sudo ./build/install-build-deps.sh", AnglePath).AssertZeroExitCode(); + // } + + // var runtimes = RootDirectory / "src" / "Native" / "Silk.NET.OpenGLES.ANGLE.Native" / "runtimes"; + // if (OperatingSystem.IsWindows()) + // { + // InheritedShell + // ( + // "gn gen out/Release " + + // "--args='is_component_build=false target_cpu=\"\"x86\"\" is_debug=false'", + // AnglePath + // ) + // .AssertZeroExitCode(); + // InheritedShell($"autoninja -C \"{@out}\"", AnglePath).AssertZeroExitCode(); + // CopyAll + // ( + // // libANGLE might not exist, this is fine + // @out.GlobFiles("libGLESv2.dll", "libEGL.dll", "libANGLE.dll"), + // runtimes / "win-x64" / "native" + // ); + // CopyAll + // ( + // @out.GlobFiles("libGLESv2.dll", "libEGL.dll", "libANGLE.dll"), + // runtimes / "win-x86" / "native" + // ); + // } + // else + // { + // InheritedShell + // ( + // $"gn gen \"{@out}\" " + + // "--args=\"is_component_build=false is_debug=false\"", + // AnglePath + // ) + // .AssertZeroExitCode(); + // InheritedShell($"autoninja -C \"{@out}\"", AnglePath).AssertZeroExitCode(); + // CopyAll + // ( + // @out.GlobFiles + // ( + // "libGLESv2.so", "libEGL.so", "libANGLE.so", + // "libGLESv2.dylib", "libEGL.dylib", "libANGLE.dylib" + // ), + // runtimes / (OperatingSystem.IsMacOS() ? "osx-x64" : "linux-x64") / "native" + // ); + // } + + // PrUpdatedNativeBinary("ANGLE"); + // } + // ) + // ); +} \ No newline at end of file diff --git a/build/nuke/Native/Assimp.cs b/build/nuke/Native/Assimp.cs new file mode 100644 index 0000000000..875fe8d466 --- /dev/null +++ b/build/nuke/Native/Assimp.cs @@ -0,0 +1,92 @@ +// 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; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Runtime.InteropServices; +using JetBrains.Annotations; +using Nuke.Common; +using Nuke.Common.CI.GitHubActions; +using Nuke.Common.Git; +using Nuke.Common.IO; +using Nuke.Common.Tooling; +using Nuke.Common.Tools.DotNet; +using Nuke.Common.Tools.Git; +using Octokit; +using Octokit.Internal; +using static Nuke.Common.IO.CompressionTasks; +using static Nuke.Common.IO.FileSystemTasks; +using static Nuke.Common.IO.HttpTasks; +using static Nuke.Common.Tooling.ProcessTasks; +using static Nuke.Common.Tools.DotNet.DotNetTasks; +using static Nuke.Common.Tools.Git.GitTasks; +using static Nuke.Common.Tools.GitHub.GitHubTasks; + +partial class Build { + AbsolutePath AssimpPath => RootDirectory / "build" / "submodules" / "Assimp"; + + Target Assimp => CommonTarget + ( + x => x.Before(Compile) + .After(Clean) + .Executes + ( + () => + { + var @out = AssimpPath / "build"; + var prepare = "cmake -S. -B build -D BUILD_SHARED_LIBS=ON"; + var build = $"cmake --build build --config Release{JobsArg}"; + EnsureCleanDirectory(@out); + var runtimes = RootDirectory / "src" / "Native" / "Silk.NET.Assimp.Native" / "runtimes"; + if (OperatingSystem.IsWindows()) + { + InheritedShell($"{prepare} -A X64", AssimpPath) + .AssertZeroExitCode(); + InheritedShell(build, AssimpPath) + .AssertZeroExitCode(); + + CopyAs(@out, "bin/Release/assimp-*-mt.dll", runtimes / "win-x64" / "native" / "Assimp64.dll"); + EnsureCleanDirectory(@out); + + InheritedShell($"{prepare} -A Win32", AssimpPath) + .AssertZeroExitCode(); + InheritedShell(build, AssimpPath) + .AssertZeroExitCode(); + + CopyAs(@out, "bin/Release/assimp-*-mt.dll", runtimes / "win-x86" / "native" / "Assimp32.dll"); + } + else if (OperatingSystem.IsLinux()) + { + InheritedShell($"{prepare} -DCMAKE_SYSTEM_PROCESSOR=x86_64", AssimpPath) + .AssertZeroExitCode(); + InheritedShell(build, AssimpPath) + .AssertZeroExitCode(); + + CopyAll(@out.GlobFiles("bin/libassimp.so.5"), runtimes / "linux-x64" / "native"); + } + else if (OperatingSystem.IsMacOS()) + { + InheritedShell($"{prepare} -DCMAKE_OSX_ARCHITECTURES=x86_64", AssimpPath) + .AssertZeroExitCode(); + InheritedShell(build, AssimpPath) + .AssertZeroExitCode(); + CopyAll(@out.GlobFiles("bin/libassimp.5.dylib"), runtimes / "osx-x64" / "native"); + + EnsureCleanDirectory(@out); + + InheritedShell($"{prepare} -DCMAKE_OSX_ARCHITECTURES=arm64", AssimpPath) + .AssertZeroExitCode(); + InheritedShell(build, AssimpPath) + .AssertZeroExitCode(); + + CopyAll(@out.GlobFiles("bin/libassimp.5.dylib"), runtimes / "osx-arm64" / "native"); + } + + PrUpdatedNativeBinary("Assimp"); + } + ) + ); +} \ No newline at end of file diff --git a/build/nuke/Native/Core.cs b/build/nuke/Native/Core.cs new file mode 100644 index 0000000000..762a7368ab --- /dev/null +++ b/build/nuke/Native/Core.cs @@ -0,0 +1,117 @@ +// 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; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Runtime.InteropServices; +using JetBrains.Annotations; +using Nuke.Common; +using Nuke.Common.CI.GitHubActions; +using Nuke.Common.Git; +using Nuke.Common.IO; +using Nuke.Common.Tooling; +using Nuke.Common.Tools.DotNet; +using Nuke.Common.Tools.Git; +using Octokit; +using Octokit.Internal; +using static Nuke.Common.IO.CompressionTasks; +using static Nuke.Common.IO.FileSystemTasks; +using static Nuke.Common.IO.HttpTasks; +using static Nuke.Common.Tooling.ProcessTasks; +using static Nuke.Common.Tools.DotNet.DotNetTasks; +using static Nuke.Common.Tools.Git.GitTasks; +using static Nuke.Common.Tools.GitHub.GitHubTasks; + +partial class Build { + [Nuke.Common.Parameter("Build native code")] readonly bool Native; + + [CanBeNull] string AndroidHomeValue; + + static string JobsArg => string.IsNullOrWhiteSpace(GitHubActions.Instance?.Job) + ? $" -j{Environment.ProcessorCount}" + : string.Empty; + + public void CopyAs(AbsolutePath @out, string from, string to) + { + var file = @out.GlobFiles(from).First(); + CopyFile(file, to, FileExistsPolicy.Overwrite); + } + + public void PrUpdatedNativeBinary(string name, [CanBeNull] string glob = null) + { + var pushableToken = EnvironmentInfo.GetVariable("PUSHABLE_GITHUB_TOKEN"); + var curBranch = GitCurrentBranch(RootDirectory); + if (!string.IsNullOrWhiteSpace(pushableToken) && + GitHubActions.Instance?.Repository == "dotnet/Silk.NET" && + curBranch != "HEAD" && + !string.IsNullOrWhiteSpace(curBranch) && + !curBranch.StartsWith("ci/", StringComparison.OrdinalIgnoreCase) && // ignore other CI branches + !curBranch.StartsWith("main", StringComparison.OrdinalIgnoreCase) && // submodule updates are done in PRs... + !curBranch.StartsWith("develop/", StringComparison.OrdinalIgnoreCase)) + { + // it's assumed that the pushable token was used to checkout the repo + if (OperatingSystem.IsWindows()) + { + glob ??= "src/Native/**/*.dll"; + } + else if (OperatingSystem.IsMacOS()) + { + glob ??= "src/Native/**/*.dylib"; + } + else if (OperatingSystem.IsLinux()) + { + glob ??= "src/Native/**/*.so*"; + } + + Git("fetch --all", RootDirectory); + Git("pull"); + Git($"add -f {glob}", RootDirectory); + var newBranch = $"ci/{curBranch}/{name.ToLower().Replace(' ', '_')}_bins"; + var curCommit = GitCurrentCommit(RootDirectory); + var commitCmd = InheritedShell + ( + $"git commit -m \"New binaries for {name} on {RuntimeInformation.OSDescription}\"" + ) + .AssertWaitForExit(); + if (!commitCmd.Output.Any(x => x.Text.Contains("no changes added to commit", StringComparison.OrdinalIgnoreCase) || x.Text.Contains("nothing to commit", StringComparison.OrdinalIgnoreCase))) + { + commitCmd.AssertZeroExitCode(); + } + + // ensure there are no other changes + Git("checkout HEAD .nuke/", RootDirectory); + Git("reset --hard", RootDirectory); + if (GitCurrentCommit(RootDirectory) != curCommit) // might get "nothing to commit", you never know... + { + Logger.Info("Checking for existing branch..."); + var exists = StartProcess("git", $"checkout \"{newBranch}\"", RootDirectory) + .AssertWaitForExit() + .ExitCode == 0; + if (!exists) + { + Logger.Info("None found, creating a new one..."); + Git($"checkout -b \"{newBranch}\""); + } + + Git($"merge -X theirs \"{curBranch}\" --allow-unrelated-histories"); + Git($"push --set-upstream origin \"{newBranch}\""); + if (!exists) + { + var github = new GitHubClient + ( + new ProductHeaderValue("Silk.NET-CI"), + new InMemoryCredentialStore(new Credentials(pushableToken)) + ); + + var pr = github.PullRequest.Create + ("dotnet", "Silk.NET", new($"Update {name} binaries", newBranch, curBranch)) + .GetAwaiter() + .GetResult(); + } + } + } + } +} \ No newline at end of file diff --git a/build/nuke/Native/Dxvk.cs b/build/nuke/Native/Dxvk.cs new file mode 100644 index 0000000000..f546f4206f --- /dev/null +++ b/build/nuke/Native/Dxvk.cs @@ -0,0 +1,157 @@ +// 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; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Runtime.InteropServices; +using JetBrains.Annotations; +using Nuke.Common; +using Nuke.Common.CI.GitHubActions; +using Nuke.Common.Git; +using Nuke.Common.IO; +using Nuke.Common.Tooling; +using Nuke.Common.Tools.DotNet; +using Nuke.Common.Tools.Git; +using Octokit; +using Octokit.Internal; +using static Nuke.Common.IO.CompressionTasks; +using static Nuke.Common.IO.FileSystemTasks; +using static Nuke.Common.IO.HttpTasks; +using static Nuke.Common.Tooling.ProcessTasks; +using static Nuke.Common.Tools.DotNet.DotNetTasks; +using static Nuke.Common.Tools.Git.GitTasks; +using static Nuke.Common.Tools.GitHub.GitHubTasks; + +partial class Build { + AbsolutePath DxvkPath => RootDirectory / "build" / "submodules" / "dxvk"; + + Target Dxvk => CommonTarget + ( + x => x.Before(Compile) + .After(Clean) + .Executes + ( + () => + { + if (!OperatingSystem.IsLinux()) + { + throw new Exception("This task can only run under Linux!"); + } + + var @out = DxvkPath / "output"; + var glfwOut = DxvkPath / "glfw-output"; + EnsureCleanDirectory(@out); + EnsureCleanDirectory(glfwOut); + + InheritedShell + ( + $"./package-release.sh master output --no-package", + DxvkPath + ) + .AssertZeroExitCode(); + + var win32GlfwLibs = @out.GlobFiles("dxvk-master/x32/*"); + + foreach (var lib in win32GlfwLibs) + { + var fileName = Path.GetFileName(lib); + RenameFile(lib.Parent / fileName, lib.Parent / "dxvk-" + fileName); + } + + var win64GlfwLibs = @out.GlobFiles("dxvk-master/x64/*"); + + foreach (var lib in win64GlfwLibs) + { + var fileName = Path.GetFileName(lib); + RenameFile(lib.Parent / fileName, lib.Parent / "dxvk-" + fileName); + } + + InheritedShell + ( + $"./package-native.sh master output --no-package", + DxvkPath + ) + .AssertZeroExitCode(); + + var mesonOptionsPath = Path.Combine(DxvkPath, "meson_options.txt"); + + //Replace `sdl2` with `glfw` in the meson options file, to build with GLFW WSI instead of SDL2 WSI + File.WriteAllText(mesonOptionsPath, File.ReadAllText(mesonOptionsPath).Replace("sdl2", "glfw")); + InheritedShell + ( + $"./package-native.sh master glfw-output --no-package", + DxvkPath + ) + .AssertZeroExitCode(); + + var runtimes = RootDirectory / "src" / "Native" / "Silk.NET.DXVK.Native" / "runtimes"; + + //Copy the windows binaries + CopyAll(@out.GlobFiles("dxvk-master/x64/*"), runtimes / "win-x64" / "native"); + CopyAll(@out.GlobFiles("dxvk-master/x32/*"), runtimes / "win-x86" / "native"); + + var linux64SdlLibs = @out.GlobFiles("dxvk-native-master/usr/lib/*"); + + foreach (var lib in linux64SdlLibs) + { + var fileName = Path.GetFileName(lib); + RenameFile(lib.Parent / fileName, lib.Parent / "sdl2-" + fileName); + } + + var linux64GlfwLibs = glfwOut.GlobFiles("dxvk-native-master/usr/lib/*"); + + foreach (var lib in linux64GlfwLibs) + { + var fileName = Path.GetFileName(lib); + RenameFile(lib.Parent / fileName, lib.Parent / "glfw-" + fileName); + } + + var linux32SdlLibs = @out.GlobFiles("dxvk-native-master/usr/lib32/*"); + + foreach (var lib in linux32SdlLibs) + { + var fileName = Path.GetFileName(lib); + RenameFile(lib.Parent / fileName, lib.Parent / "sdl2-" + fileName); + } + + var linux32GlfwLibs = glfwOut.GlobFiles("dxvk-native-master/usr/lib32/*"); + + foreach (var lib in linux32GlfwLibs) + { + var fileName = Path.GetFileName(lib); + RenameFile(lib.Parent / fileName, lib.Parent / "glfw-" + fileName); + } + + //Copy the linux SDL binaries + CopyAll(@out.GlobFiles("dxvk-native-master/usr/lib/*"), runtimes / "linux-x64" / "native"); + CopyAll(@out.GlobFiles("dxvk-native-master/usr/lib32/*"), runtimes / "linux-x86" / "native"); + + //Copy the linux GLFW binaries + CopyAll(glfwOut.GlobFiles("dxvk-native-master/usr/lib/*"), runtimes / "linux-x64" / "native"); + CopyAll(glfwOut.GlobFiles("dxvk-native-master/usr/lib32/*"), runtimes / "linux-x86" / "native"); + + var winx64 = runtimes / "win-x64" / "native"; + var winx86 = runtimes / "win-x86" / "native"; + + var linuxx64 = runtimes / "linux-x64" / "native"; + var linuxx86 = runtimes / "linux-x86" / "native"; + + var glob = string.Empty; + var files = winx64.GlobFiles("*.dll") + .Concat(winx86.GlobFiles("*.dll")) + .Concat(linuxx64.GlobFiles("*.so")) + .Concat(linuxx86.GlobFiles("*.so")); + + glob = files.Aggregate(glob, (current, path) => current + $"\"{path}\" "); + + PrUpdatedNativeBinary + ( + "DXVK", glob + ); + } + ) + ); +} \ No newline at end of file diff --git a/build/nuke/Native/GLFW.cs b/build/nuke/Native/GLFW.cs new file mode 100644 index 0000000000..57b472de5e --- /dev/null +++ b/build/nuke/Native/GLFW.cs @@ -0,0 +1,101 @@ +// 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; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Runtime.InteropServices; +using JetBrains.Annotations; +using Nuke.Common; +using Nuke.Common.CI.GitHubActions; +using Nuke.Common.Git; +using Nuke.Common.IO; +using Nuke.Common.Tooling; +using Nuke.Common.Tools.DotNet; +using Nuke.Common.Tools.Git; +using Octokit; +using Octokit.Internal; +using static Nuke.Common.IO.CompressionTasks; +using static Nuke.Common.IO.FileSystemTasks; +using static Nuke.Common.IO.HttpTasks; +using static Nuke.Common.Tooling.ProcessTasks; +using static Nuke.Common.Tools.DotNet.DotNetTasks; +using static Nuke.Common.Tools.Git.GitTasks; +using static Nuke.Common.Tools.GitHub.GitHubTasks; + +partial class Build { + AbsolutePath GLFWPath => RootDirectory / "build" / "submodules" / "GLFW"; + + Target GLFW => CommonTarget + ( + x => x.Before(Compile) + .After(Clean) + .Executes + ( + () => + { + var @out = GLFWPath / "build"; + var prepare = "cmake -S. -B build -D BUILD_SHARED_LIBS=ON"; + var build = $"cmake --build build --config Release{JobsArg}"; + EnsureCleanDirectory(@out); + var runtimes = RootDirectory / "src" / "Native" / "Silk.NET.GLFW.Native" / "runtimes"; + if (OperatingSystem.IsWindows()) + { + InheritedShell($"{prepare} -A X64", GLFWPath) + .AssertZeroExitCode(); + InheritedShell(build, GLFWPath) + .AssertZeroExitCode(); + + CopyAll(@out.GlobFiles("src/Release/glfw3.dll"), runtimes / "win-x64" / "native"); + + EnsureCleanDirectory(@out); + + InheritedShell($"{prepare} -A Win32", GLFWPath) + .AssertZeroExitCode(); + InheritedShell(build, GLFWPath) + .AssertZeroExitCode(); + + CopyAll(@out.GlobFiles("src/Release/glfw3.dll"), runtimes / "win-x86" / "native"); + + EnsureCleanDirectory(@out); + + InheritedShell($"{prepare} -A arm64", GLFWPath) + .AssertZeroExitCode(); + InheritedShell(build, GLFWPath) + .AssertZeroExitCode(); + + CopyAll(@out.GlobFiles("src/Release/glfw3.dll"), runtimes / "win-arm64" / "native"); + } + else if (OperatingSystem.IsLinux()) + { + InheritedShell($"{prepare} -DCMAKE_SYSTEM_PROCESSOR=x86_64", GLFWPath) + .AssertZeroExitCode(); + InheritedShell(build, GLFWPath) + .AssertZeroExitCode(); + CopyAll(@out.GlobFiles("src/libglfw.so"), runtimes / "linux-x64" / "native"); + } + else if (OperatingSystem.IsMacOS()) + { + InheritedShell($"{prepare} -DCMAKE_OSX_ARCHITECTURES=x86_64", GLFWPath) + .AssertZeroExitCode(); + InheritedShell(build, GLFWPath) + .AssertZeroExitCode(); + CopyAll(@out.GlobFiles("src/libglfw.3.dylib"), runtimes / "osx-x64" / "native"); + + EnsureCleanDirectory(@out); + + InheritedShell($"{prepare} -DCMAKE_OSX_ARCHITECTURES=arm64", GLFWPath) + .AssertZeroExitCode(); + InheritedShell(build, GLFWPath) + .AssertZeroExitCode(); + + CopyAll(@out.GlobFiles("src/libglfw.3.dylib"), runtimes / "osx-arm64" / "native"); + } + + PrUpdatedNativeBinary("GLFW"); + } + ) + ); +} \ No newline at end of file diff --git a/build/nuke/Native/SDL2.cs b/build/nuke/Native/SDL2.cs new file mode 100644 index 0000000000..551e48e799 --- /dev/null +++ b/build/nuke/Native/SDL2.cs @@ -0,0 +1,121 @@ +// 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; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Runtime.InteropServices; +using JetBrains.Annotations; +using Nuke.Common; +using Nuke.Common.CI.GitHubActions; +using Nuke.Common.Git; +using Nuke.Common.IO; +using Nuke.Common.Tooling; +using Nuke.Common.Tools.DotNet; +using Nuke.Common.Tools.Git; +using Octokit; +using Octokit.Internal; +using static Nuke.Common.IO.CompressionTasks; +using static Nuke.Common.IO.FileSystemTasks; +using static Nuke.Common.IO.HttpTasks; +using static Nuke.Common.Tooling.ProcessTasks; +using static Nuke.Common.Tools.DotNet.DotNetTasks; +using static Nuke.Common.Tools.Git.GitTasks; +using static Nuke.Common.Tools.GitHub.GitHubTasks; + +partial class Build { + AbsolutePath SDL2Path => RootDirectory / "build" / "submodules" / "SDL"; + + Target SDL2 => CommonTarget + ( + x => x.Before(Compile) + .After(Clean) + .Executes + ( + () => + { + var runtimes = RootDirectory / "src" / "Native" / "Silk.NET.SDL.Native" / "runtimes"; + + var x86BuildDir = SDL2Path / "buildx86"; + var x64BuildDir = SDL2Path / "buildx64"; + var ARM64BuildDir = SDL2Path / "buildARM64"; + EnsureCleanDirectory(x86BuildDir); + EnsureCleanDirectory(x64BuildDir); + EnsureCleanDirectory(ARM64BuildDir); + + if(OperatingSystem.IsWindows()) + { + var prepare = "cmake .. -DBUILD_SHARED_LIBS=ON"; + var build = $"cmake --build . --config Release{JobsArg}"; + + InheritedShell($"{prepare} -A Win32", x86BuildDir).AssertZeroExitCode(); + InheritedShell(build, x86BuildDir).AssertZeroExitCode(); + + InheritedShell($"{prepare} -A X64", x64BuildDir).AssertZeroExitCode(); + InheritedShell(build, x64BuildDir).AssertZeroExitCode(); + + InheritedShell($"{prepare} -A arm64", ARM64BuildDir).AssertZeroExitCode(); + InheritedShell(build, ARM64BuildDir).AssertZeroExitCode(); + + CopyFile(x86BuildDir / "Release" / "SDL2.dll", runtimes / "win-x86" / "native" / "SDL2.dll", FileExistsPolicy.Overwrite); + CopyFile(x64BuildDir / "Release" / "SDL2.dll", runtimes / "win-x64" / "native" / "SDL2.dll", FileExistsPolicy.Overwrite); + CopyFile(ARM64BuildDir / "Release" / "SDL2.dll", runtimes / "win-arm64" / "native" / "SDL2.dll", FileExistsPolicy.Overwrite); + } + + if(OperatingSystem.IsLinux()) + { + if(RuntimeInformation.OSArchitecture == Architecture.Arm64) + { + InheritedShell("cmake ..", x86BuildDir).AssertZeroExitCode(); + InheritedShell("cmake --build .", x86BuildDir).AssertZeroExitCode(); + + CopyFile(ARM64BuildDir.GlobFiles("libSDL2-2.0.so*").First(), runtimes / "linux-arm64" / "native" / "libSDL2-2.0.so", FileExistsPolicy.Overwrite); + } + else if (RuntimeInformation.OSArchitecture == Architecture.X64) + { + var envVars32bit = "CFLAGS='-m32 -O2' CXXFLAGS='-m32 -O2' LDFLAGS=-m32"; + var envVars64bit = "CFLAGS=-O2 CXXFLAGS=-O2"; + + InheritedShell($"{envVars32bit} ./configure --prefix={x86BuildDir}", SDL2Path).AssertZeroExitCode(); + InheritedShell($"{envVars32bit} make {JobsArg}", SDL2Path).AssertZeroExitCode(); + InheritedShell($"make install", SDL2Path).AssertZeroExitCode(); + + InheritedShell($"{envVars64bit} ./configure --prefix={x64BuildDir}", SDL2Path).AssertZeroExitCode(); + InheritedShell($"{envVars64bit} make {JobsArg}", SDL2Path).AssertZeroExitCode(); + InheritedShell($"make install", SDL2Path).AssertZeroExitCode(); + + //Strip the libraries + InheritedShell($"strip {x86BuildDir / "lib" / "libSDL2-2.0.so*"}", SDL2Path).AssertZeroExitCode(); + InheritedShell($"strip {x64BuildDir / "lib" / "libSDL2-2.0.so*"}", SDL2Path).AssertZeroExitCode(); + + CopyFile((x86BuildDir / "lib").GlobFiles("libSDL2-2.0.so*").First(), runtimes / "linux-x86" / "native" / "libSDL2-2.0.so", FileExistsPolicy.Overwrite); + CopyFile((x64BuildDir / "lib").GlobFiles("libSDL2-2.0.so*").First(), runtimes / "linux-x64" / "native" / "libSDL2-2.0.so", FileExistsPolicy.Overwrite); + } + else + { + throw new Exception($"Unable to build SDL libs on your architecture ({RuntimeInformation.OSArchitecture})."); + } + } + + if(OperatingSystem.IsMacOS()) + { + var prepare = "cmake .. -DBUILD_SHARED_LIBS=ON"; + var build = $"cmake --build . --config Release{JobsArg}"; + + InheritedShell($"{prepare} -DCMAKE_OSX_ARCHITECTURES=x86_64", x64BuildDir).AssertZeroExitCode(); + InheritedShell(build, x64BuildDir).AssertZeroExitCode(); + + InheritedShell($"{prepare} -DCMAKE_OSX_ARCHITECTURES=arm64", ARM64BuildDir).AssertZeroExitCode(); + InheritedShell(build, ARM64BuildDir).AssertZeroExitCode(); + + CopyAs(x64BuildDir, "**/*.dylib", runtimes / "osx-x64" / "native" / "libSDL2-2.0.dylib"); + CopyAs(ARM64BuildDir, "**/*.dylib", runtimes / "osx-arm64" / "native" / "libSDL2-2.0.dylib"); + } + + PrUpdatedNativeBinary("SDL2"); + } + ) + ); +} \ No newline at end of file diff --git a/build/nuke/Native/SPIRVCross.cs b/build/nuke/Native/SPIRVCross.cs new file mode 100644 index 0000000000..963711da51 --- /dev/null +++ b/build/nuke/Native/SPIRVCross.cs @@ -0,0 +1,156 @@ +// 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; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Runtime.InteropServices; +using JetBrains.Annotations; +using Nuke.Common; +using Nuke.Common.CI.GitHubActions; +using Nuke.Common.Git; +using Nuke.Common.IO; +using Nuke.Common.Tooling; +using Nuke.Common.Tools.DotNet; +using Nuke.Common.Tools.Git; +using Octokit; +using Octokit.Internal; +using static Nuke.Common.IO.CompressionTasks; +using static Nuke.Common.IO.FileSystemTasks; +using static Nuke.Common.IO.HttpTasks; +using static Nuke.Common.Tooling.ProcessTasks; +using static Nuke.Common.Tools.DotNet.DotNetTasks; +using static Nuke.Common.Tools.Git.GitTasks; +using static Nuke.Common.Tools.GitHub.GitHubTasks; + +partial class Build { + AbsolutePath SPIRVCrossPath => RootDirectory / "build" / "submodules" / "SPIRV-Cross"; + + //This is the build script for the SPIRV-Reflect shared library + const string SPIRVCrossBuildScript = @"const std = @import(""std""); +const fs = std.fs; + +pub fn build(b: *std.Build) void { + const target = b.standardTargetOptions(.{}); + const mode = b.standardOptimizeOption(.{}); + + const shared_lib_options: std.build.SharedLibraryOptions = .{ + .name = ""spirv-cross"", + .target = target, + .optimize = mode, + }; + + const lib: *std.build.LibExeObjStep = b.addSharedLibrary(shared_lib_options); + lib.linkLibC(); + lib.linkLibCpp(); + + var flags = &.{ ""-std=c++11"", ""-fPIC"" }; + + //Enable the GLSL, HLSL, MSL, CPP, and Reflect C APIs + lib.defineCMacro(""SPIRV_CROSS_C_API_GLSL"", ""1""); + lib.defineCMacro(""SPIRV_CROSS_C_API_HLSL"", ""1""); + lib.defineCMacro(""SPIRV_CROSS_C_API_MSL"", ""1""); + lib.defineCMacro(""SPIRV_CROSS_C_API_CPP"", ""1""); + lib.defineCMacro(""SPIRV_CROSS_C_API_REFLECT"", ""1""); + + //Export the C API symbols + lib.defineCMacro(""SPVC_EXPORT_SYMBOLS"", ""1""); + + //If we arent in debug, defined NDEBUG + if (mode != .Debug) + lib.defineCMacro(""NDEBUG"", ""1""); + + lib.addCSourceFiles(&.{ + root_path ++ ""spirv_cross.cpp"", + root_path ++ ""spirv_cfg.cpp"", + root_path ++ ""spirv_cpp.cpp"", + root_path ++ ""spirv_cross_c.cpp"", + root_path ++ ""spirv_cross_parsed_ir.cpp"", + root_path ++ ""spirv_cross_util.cpp"", + root_path ++ ""spirv_glsl.cpp"", + root_path ++ ""spirv_hlsl.cpp"", + root_path ++ ""spirv_msl.cpp"", + root_path ++ ""spirv_parser.cpp"", + root_path ++ ""spirv_reflect.cpp"", + }, flags); + + b.installArtifact(lib); +} + +fn root_dir() []const u8 { + return std.fs.path.dirname(@src().file) orelse "".""; +} + +const root_path = root_dir() ++ ""/""; +"; + + Target SPIRVCross => CommonTarget + ( + x => x.Before(Compile) + .After(Clean) + .Executes + ( + () => + { + var runtimes = RootDirectory / "src" / "Native" / "Silk.NET.SPIRV.Cross.Native" / "runtimes"; + + //Write out the build script to the directory + File.WriteAllText(SPIRVCrossPath / "build.zig", SPIRVCrossBuildScript); + + { //Linux + //Build for Linux x86_64 with glibc 2.26 (old version specified for compatibility) + InheritedShell($"zig build -Doptimize=ReleaseSmall -Dtarget=x86_64-linux-gnu.2.26 --verbose", SPIRVCrossPath).AssertZeroExitCode(); + CopyFile(SPIRVCrossPath / "zig-out" / "lib" / "libspirv-cross.so", runtimes / "linux-x64" / "native" / "libspirv-cross.so", FileExistsPolicy.Overwrite); + + //Build for Linux x86 with glibc 2.26 (old version specified for compatibility) + InheritedShell($"zig build -Doptimize=ReleaseSmall -Dtarget=x86-linux-gnu.2.26 --verbose", SPIRVCrossPath).AssertZeroExitCode(); + CopyFile(SPIRVCrossPath / "zig-out" / "lib" / "libspirv-cross.so", runtimes / "linux-x86" / "native" / "libspirv-cross.so", FileExistsPolicy.Overwrite); + + //Build for Linux arm64 with glibc 2.26 (old version specified for compatibility) + InheritedShell($"zig build -Doptimize=ReleaseSmall -Dtarget=aarch64-linux-gnu.2.26 --verbose", SPIRVCrossPath).AssertZeroExitCode(); + CopyFile(SPIRVCrossPath / "zig-out" / "lib" / "libspirv-cross.so", runtimes / "linux-arm64" / "native" / "libspirv-cross.so", FileExistsPolicy.Overwrite); + } + + { //Windows + //Build for Windows x86_64 + InheritedShell($"zig build -Doptimize=ReleaseFast -Dtarget=x86_64-windows --verbose", SPIRVCrossPath).AssertZeroExitCode(); + CopyFile(SPIRVCrossPath / "zig-out" / "lib" / "spirv-cross.dll", runtimes / "win-x64" / "native" / "spirv-cross.dll", FileExistsPolicy.Overwrite); + + //Build for Windows x86 + InheritedShell($"zig build -Doptimize=ReleaseFast -Dtarget=x86-windows --verbose", SPIRVCrossPath).AssertZeroExitCode(); + CopyFile(SPIRVCrossPath / "zig-out" / "lib" / "spirv-cross.dll", runtimes / "win-x86" / "native" / "spirv-cross.dll", FileExistsPolicy.Overwrite); + + //Build for Windows arm64 + InheritedShell($"zig build -Doptimize=ReleaseFast -Dtarget=aarch64-windows --verbose", SPIRVCrossPath).AssertZeroExitCode(); + CopyFile(SPIRVCrossPath / "zig-out" / "lib" / "spirv-cross.dll", runtimes / "win-arm64" / "native" / "spirv-cross.dll", FileExistsPolicy.Overwrite); + } + + { //MacOS + //Build for MacOS x86_64 + InheritedShell($"zig build -Doptimize=ReleaseSmall -Dtarget=x86_64-macos --verbose", SPIRVCrossPath).AssertZeroExitCode(); + CopyFile(SPIRVCrossPath / "zig-out" / "lib" / "libspirv-cross.dylib", runtimes / "osx-x64" / "native" / "libspirv-cross.dylib", FileExistsPolicy.Overwrite); + + //Build for MacOS arm64 + InheritedShell($"zig build -Doptimize=ReleaseSmall -Dtarget=aarch64-macos --verbose", SPIRVCrossPath).AssertZeroExitCode(); + CopyFile(SPIRVCrossPath / "zig-out" / "lib" / "libspirv-cross.dylib", runtimes / "osx-arm64" / "native" / "libspirv-cross.dylib", FileExistsPolicy.Overwrite); + } + + var files = (runtimes / "win-x64" / "native").GlobFiles("*.dll") + .Concat((runtimes / "win-x86" / "native").GlobFiles("*.dll")) + .Concat((runtimes / "win-arm64" / "native").GlobFiles("*.dll")) + .Concat((runtimes / "osx-x64" / "native").GlobFiles("*.dylib")) + .Concat((runtimes / "osx-arm64" / "native").GlobFiles("*.dylib")) + .Concat((runtimes / "linux-x64" / "native").GlobFiles("*.so")) + .Concat((runtimes / "linux-x86" / "native").GlobFiles("*.so")) + .Concat((runtimes / "linux-arm64" / "native").GlobFiles("*.so")); + + var glob = string.Empty; + glob = files.Aggregate(glob, (current, path) => current + $"\"{path}\" "); + + PrUpdatedNativeBinary("SPIRV-Cross", glob); + } + ) + ); +} \ No newline at end of file diff --git a/build/nuke/Native/SPIRVReflect.cs b/build/nuke/Native/SPIRVReflect.cs new file mode 100644 index 0000000000..98fa1d6b32 --- /dev/null +++ b/build/nuke/Native/SPIRVReflect.cs @@ -0,0 +1,119 @@ +// 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; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Runtime.InteropServices; +using JetBrains.Annotations; +using Nuke.Common; +using Nuke.Common.CI.GitHubActions; +using Nuke.Common.Git; +using Nuke.Common.IO; +using Nuke.Common.Tooling; +using Nuke.Common.Tools.DotNet; +using Nuke.Common.Tools.Git; +using Octokit; +using Octokit.Internal; +using static Nuke.Common.IO.CompressionTasks; +using static Nuke.Common.IO.FileSystemTasks; +using static Nuke.Common.IO.HttpTasks; +using static Nuke.Common.Tooling.ProcessTasks; +using static Nuke.Common.Tools.DotNet.DotNetTasks; +using static Nuke.Common.Tools.Git.GitTasks; +using static Nuke.Common.Tools.GitHub.GitHubTasks; + +partial class Build { + AbsolutePath SPIRVReflectPath => RootDirectory / "build" / "submodules" / "SPIRV-Reflect"; + + //This is the build script for the SPIRV-Reflect shared library + const string SPIRVReflectBuildScript = @"const std = @import(""std""); +const fs = std.fs; + +pub fn build(b: *std.Build) void { + const target = b.standardTargetOptions(.{}); + const mode = b.standardOptimizeOption(.{}); + + const shared_lib_options: std.build.SharedLibraryOptions = .{ + .name = ""spirv-reflect"", + .target = target, + .optimize = mode, + }; + + const lib: *std.build.LibExeObjStep = b.addSharedLibrary(shared_lib_options); + lib.linkLibC(); + + lib.addCSourceFiles(&.{""spirv_reflect.c""}, &.{ ""-std=c99"", ""-fPIC"" }); + b.installArtifact(lib); +}"; + + Target SPIRVReflect => CommonTarget + ( + x => x.Before(Compile) + .After(Clean) + .Executes + ( + () => + { + var runtimes = RootDirectory / "src" / "Native" / "Silk.NET.SPIRV.Reflect.Native" / "runtimes"; + + //Write out the build script to the directory + File.WriteAllText(SPIRVReflectPath / "build.zig", SPIRVReflectBuildScript); + + { //Linux + //Build for Linux x86_64 with glibc 2.26 (old version specified for compatibility) + InheritedShell($"zig build -Doptimize=ReleaseFast -Dtarget=x86_64-linux-gnu.2.26 --verbose", SPIRVReflectPath).AssertZeroExitCode(); + CopyFile(SPIRVReflectPath / "zig-out" / "lib" / "libspirv-reflect.so", runtimes / "linux-x64" / "native" / "libspirv-reflect.so", FileExistsPolicy.Overwrite); + + //Build for Linux x86 with glibc 2.26 (old version specified for compatibility) + InheritedShell($"zig build -Doptimize=ReleaseFast -Dtarget=x86-linux-gnu.2.26 --verbose", SPIRVReflectPath).AssertZeroExitCode(); + CopyFile(SPIRVReflectPath / "zig-out" / "lib" / "libspirv-reflect.so", runtimes / "linux-x86" / "native" / "libspirv-reflect.so", FileExistsPolicy.Overwrite); + + //Build for Linux arm64 with glibc 2.26 (old version specified for compatibility) + InheritedShell($"zig build -Doptimize=ReleaseFast -Dtarget=aarch64-linux-gnu.2.26 --verbose", SPIRVReflectPath).AssertZeroExitCode(); + CopyFile(SPIRVReflectPath / "zig-out" / "lib" / "libspirv-reflect.so", runtimes / "linux-arm64" / "native" / "libspirv-reflect.so", FileExistsPolicy.Overwrite); + } + + { //Windows + //Build for Windows x86_64 + InheritedShell($"zig build -Doptimize=ReleaseFast -Dtarget=x86_64-windows --verbose", SPIRVReflectPath).AssertZeroExitCode(); + CopyFile(SPIRVReflectPath / "zig-out" / "lib" / "spirv-reflect.dll", runtimes / "win-x64" / "native" / "spirv-reflect.dll", FileExistsPolicy.Overwrite); + + //Build for Windows x86 + InheritedShell($"zig build -Doptimize=ReleaseFast -Dtarget=x86-windows --verbose", SPIRVReflectPath).AssertZeroExitCode(); + CopyFile(SPIRVReflectPath / "zig-out" / "lib" / "spirv-reflect.dll", runtimes / "win-x86" / "native" / "spirv-reflect.dll", FileExistsPolicy.Overwrite); + + //Build for Windows arm64 + InheritedShell($"zig build -Doptimize=ReleaseFast -Dtarget=aarch64-windows --verbose", SPIRVReflectPath).AssertZeroExitCode(); + CopyFile(SPIRVReflectPath / "zig-out" / "lib" / "spirv-reflect.dll", runtimes / "win-arm64" / "native" / "spirv-reflect.dll", FileExistsPolicy.Overwrite); + } + + { //MacOS + //Build for MacOS x86_64 + InheritedShell($"zig build -Doptimize=ReleaseFast -Dtarget=x86_64-macos --verbose", SPIRVReflectPath).AssertZeroExitCode(); + CopyFile(SPIRVReflectPath / "zig-out" / "lib" / "libspirv-reflect.dylib", runtimes / "osx-x64" / "native" / "libspirv-reflect.dylib", FileExistsPolicy.Overwrite); + + //Build for MacOS arm64 + InheritedShell($"zig build -Doptimize=ReleaseFast -Dtarget=aarch64-macos --verbose", SPIRVReflectPath).AssertZeroExitCode(); + CopyFile(SPIRVReflectPath / "zig-out" / "lib" / "libspirv-reflect.dylib", runtimes / "osx-arm64" / "native" / "libspirv-reflect.dylib", FileExistsPolicy.Overwrite); + } + + var files = (runtimes / "win-x64" / "native").GlobFiles("*.dll") + .Concat((runtimes / "win-x86" / "native").GlobFiles("*.dll")) + .Concat((runtimes / "win-arm64" / "native").GlobFiles("*.dll")) + .Concat((runtimes / "osx-x64" / "native").GlobFiles("*.dylib")) + .Concat((runtimes / "osx-arm64" / "native").GlobFiles("*.dylib")) + .Concat((runtimes / "linux-x64" / "native").GlobFiles("*.so")) + .Concat((runtimes / "linux-x86" / "native").GlobFiles("*.so")) + .Concat((runtimes / "linux-arm64" / "native").GlobFiles("*.so")); + + var glob = string.Empty; + glob = files.Aggregate(glob, (current, path) => current + $"\"{path}\" "); + + PrUpdatedNativeBinary("SPIRV-Reflect", glob); + } + ) + ); +} \ No newline at end of file diff --git a/build/nuke/Native/Shaderc.cs b/build/nuke/Native/Shaderc.cs new file mode 100644 index 0000000000..0b4fbd420a --- /dev/null +++ b/build/nuke/Native/Shaderc.cs @@ -0,0 +1,623 @@ +// 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; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Runtime.InteropServices; +using JetBrains.Annotations; +using Nuke.Common; +using Nuke.Common.CI.GitHubActions; +using Nuke.Common.Git; +using Nuke.Common.IO; +using Nuke.Common.Tooling; +using Nuke.Common.Tools.DotNet; +using Nuke.Common.Tools.Git; +using Octokit; +using Octokit.Internal; +using static Nuke.Common.IO.CompressionTasks; +using static Nuke.Common.IO.FileSystemTasks; +using static Nuke.Common.IO.HttpTasks; +using static Nuke.Common.Tooling.ProcessTasks; +using static Nuke.Common.Tools.DotNet.DotNetTasks; +using static Nuke.Common.Tools.Git.GitTasks; +using static Nuke.Common.Tools.GitHub.GitHubTasks; + +partial class Build { + const string ShadercBuildScript = @" + const std = @import(""std""); +const fs = std.fs; + +const spirv_tools_root = root_path ++ ""third_party/spirv-tools/""; +const root_glslang_path = root_path ++ ""third_party/glslang/""; + +const grammar_processing_script = spirv_tools_root ++ ""utils/generate_grammar_tables.py""; + +const spirv_headers_include_dir = root_path ++ ""third_party/spirv-headers/include/""; +const debuginfo_grammar_json_file = spirv_headers_include_dir ++ ""spirv/unified1/extinst.debuginfo.grammar.json""; +const glsl_grammar_file = spirv_headers_include_dir ++ ""spirv/unified1/extinst.glsl.std.450.grammar.json""; +const opencl_grammar_file = spirv_headers_include_dir ++ ""spirv/unified1/extinst.opencl.std.100.grammar.json""; +const cldebuginfo100_grammar_json_file = spirv_headers_include_dir ++ ""spirv/unified1/extinst.opencl.debuginfo.100.grammar.json""; +const vkdebuginfo100_grammar_json_file = spirv_headers_include_dir ++ ""spirv/unified1/extinst.nonsemantic.shader.debuginfo.100.grammar.json""; + +var flags = &.{ ""-std=c++11"", ""-fPIC"" }; + +fn spvtoolsExtinstLangHeaders(b: *std.Build, comptime name: []const u8, comptime grammar_file: []const u8) *std.Build.Step.Run { + return b.addSystemCommand(&.{ + ""python3"", + spirv_tools_root ++ ""utils/generate_language_headers.py"", + ""--extinst-grammar="" ++ grammar_file, + ""--extinst-output-path="" ++ spirv_tools_root ++ ""source/"" ++ name ++ "".h"", + }); +} + +fn spvtoolsVendorTables( + b: *std.Build, + comptime vendor_table: []const u8, + comptime operand_kind_prefix: []const u8, +) *std.Build.Step.Run { + return b.addSystemCommand(&.{ + ""python3"", + grammar_processing_script, + ""--extinst-vendor-grammar="" ++ spirv_headers_include_dir ++ ""spirv/unified1/extinst."" ++ vendor_table ++ "".grammar.json"", + ""--vendor-insts-output="" ++ spirv_tools_root ++ ""source/"" ++ vendor_table ++ "".insts.inc"", + ""--vendor-operand-kind-prefix="" ++ operand_kind_prefix, + }); +} + +fn spvTools(b: *std.Build, target: std.zig.CrossTarget, optimize: std.builtin.OptimizeMode) *std.Build.Step.Compile { + const generate_grammar_files_step = b.addSystemCommand(&.{ + ""python3"", + grammar_processing_script, + ""--spirv-core-grammar="" ++ spirv_headers_include_dir ++ ""spirv/unified1/spirv.core.grammar.json"", + ""--extinst-debuginfo-grammar="" ++ debuginfo_grammar_json_file, + ""--extinst-cldebuginfo100-grammar="" ++ cldebuginfo100_grammar_json_file, + ""--extension-enum-output="" ++ spirv_tools_root ++ ""source/extension_enum.inc"", + ""--enum-string-mapping-output="" ++ spirv_tools_root ++ ""source/enum_string_mapping.inc"", + ""--output-language=c++"", + }); + + const generate_spirv_core_tables = b.addSystemCommand(&.{ + ""python3"", + grammar_processing_script, + ""--spirv-core-grammar="" ++ spirv_headers_include_dir ++ ""spirv/unified1/spirv.core.grammar.json"", + ""--extinst-debuginfo-grammar="" ++ debuginfo_grammar_json_file, + ""--extinst-cldebuginfo100-grammar="" ++ cldebuginfo100_grammar_json_file, + ""--core-insts-output="" ++ spirv_tools_root ++ ""source/core.insts-unified1.inc"", + ""--operand-kinds-output="" ++ spirv_tools_root ++ ""source/operand.kinds-unified1.inc"", + ""--output-language=c++"", + }); + + const generate_glsl_tables = b.addSystemCommand(&.{ + ""python3"", + grammar_processing_script, + ""--extinst-glsl-grammar="" ++ glsl_grammar_file, + ""--glsl-insts-output="" ++ spirv_tools_root ++ ""source/glsl.std.450.insts.inc"", + ""--output-language=c++"", + }); + + const generate_opencl_tables = b.addSystemCommand(&.{ + ""python3"", + grammar_processing_script, + ""--extinst-opencl-grammar="" ++ opencl_grammar_file, + ""--opencl-insts-output="" ++ spirv_tools_root ++ ""source/opencl.std.insts.inc"", + }); + + const process_spirv_xml = b.addSystemCommand(&.{ + ""python3"", + spirv_tools_root ++ ""utils/generate_registry_tables.py"", + ""--xml="" ++ spirv_headers_include_dir ++ ""spirv/spir-v.xml"", + ""--generator-output="" ++ spirv_tools_root ++ ""source/generators.inc"", + }); + + const generate_spirv_tools_build_version = b.addSystemCommand(&.{ + ""python3"", + spirv_tools_root ++ ""utils/update_build_version.py"", + spirv_tools_root ++ ""CHANGES"", + spirv_tools_root ++ ""source/build-version.inc"", + }); + + const debug_info_header = spvtoolsExtinstLangHeaders(b, ""DebugInfo"", debuginfo_grammar_json_file); + const cl_debug_info_header_100 = spvtoolsExtinstLangHeaders(b, ""OpenCLDebugInfo100"", cldebuginfo100_grammar_json_file); + const non_semantic_shader_debug_info_100 = spvtoolsExtinstLangHeaders(b, ""NonSemanticShaderDebugInfo100"", vkdebuginfo100_grammar_json_file); + + const spirv_tools: *std.build.Step.Compile = b.addStaticLibrary(.{ + .name = ""spirv_tools"", + .target = target, + .optimize = optimize, + }); + spirv_tools.linkLibC(); + spirv_tools.linkLibCpp(); + + spirv_tools.step.dependOn(&generate_glsl_tables.step); + spirv_tools.step.dependOn(&generate_opencl_tables.step); + spirv_tools.step.dependOn(&generate_spirv_core_tables.step); + spirv_tools.step.dependOn(&generate_grammar_files_step.step); + + spirv_tools.step.dependOn(&process_spirv_xml.step); + spirv_tools.step.dependOn(&generate_spirv_tools_build_version.step); + + //All the vendor tables + spirv_tools.step.dependOn(&spvtoolsVendorTables(b, ""spv-amd-shader-explicit-vertex-parameter"", """").step); + spirv_tools.step.dependOn(&spvtoolsVendorTables(b, ""spv-amd-shader-trinary-minmax"", """").step); + spirv_tools.step.dependOn(&spvtoolsVendorTables(b, ""spv-amd-gcn-shader"", """").step); + spirv_tools.step.dependOn(&spvtoolsVendorTables(b, ""spv-amd-shader-ballot"", """").step); + spirv_tools.step.dependOn(&spvtoolsVendorTables(b, ""debuginfo"", """").step); + spirv_tools.step.dependOn(&spvtoolsVendorTables(b, ""opencl.debuginfo.100"", ""CLDEBUG100_"").step); + spirv_tools.step.dependOn(&spvtoolsVendorTables(b, ""nonsemantic.shader.debuginfo.100"", ""SHDEBUG100_"").step); + spirv_tools.step.dependOn(&spvtoolsVendorTables(b, ""nonsemantic.clspvreflection"", """").step); + + //them headers + spirv_tools.step.dependOn(&debug_info_header.step); + spirv_tools.step.dependOn(&cl_debug_info_header_100.step); + spirv_tools.step.dependOn(&non_semantic_shader_debug_info_100.step); + + spirv_tools.addIncludePath(spirv_tools_root ++ ""include""); + spirv_tools.addIncludePath(spirv_tools_root ++ ""source""); + spirv_tools.addIncludePath(spirv_tools_root); + + spirv_tools.addIncludePath(root_path ++ ""third_party/spirv-headers/include/""); + + spirv_tools.addCSourceFiles(&.{ + spirv_tools_root ++ ""source/util/bit_vector.cpp"", + spirv_tools_root ++ ""source/util/parse_number.cpp"", + spirv_tools_root ++ ""source/util/string_utils.cpp"", + spirv_tools_root ++ ""source/assembly_grammar.cpp"", + spirv_tools_root ++ ""source/binary.cpp"", + spirv_tools_root ++ ""source/diagnostic.cpp"", + spirv_tools_root ++ ""source/disassemble.cpp"", + spirv_tools_root ++ ""source/enum_string_mapping.cpp"", + spirv_tools_root ++ ""source/ext_inst.cpp"", + spirv_tools_root ++ ""source/extensions.cpp"", + spirv_tools_root ++ ""source/libspirv.cpp"", + spirv_tools_root ++ ""source/name_mapper.cpp"", + spirv_tools_root ++ ""source/opcode.cpp"", + spirv_tools_root ++ ""source/operand.cpp"", + spirv_tools_root ++ ""source/parsed_operand.cpp"", + spirv_tools_root ++ ""source/print.cpp"", + spirv_tools_root ++ ""source/software_version.cpp"", + spirv_tools_root ++ ""source/spirv_endian.cpp"", + spirv_tools_root ++ ""source/spirv_fuzzer_options.cpp"", + spirv_tools_root ++ ""source/spirv_optimizer_options.cpp"", + spirv_tools_root ++ ""source/spirv_reducer_options.cpp"", + spirv_tools_root ++ ""source/spirv_target_env.cpp"", + spirv_tools_root ++ ""source/spirv_validator_options.cpp"", + spirv_tools_root ++ ""source/table.cpp"", + spirv_tools_root ++ ""source/text.cpp"", + spirv_tools_root ++ ""source/text_handler.cpp"", + spirv_tools_root ++ ""source/val/validate.cpp"", + spirv_tools_root ++ ""source/val/validate_adjacency.cpp"", + spirv_tools_root ++ ""source/val/validate_annotation.cpp"", + spirv_tools_root ++ ""source/val/validate_arithmetics.cpp"", + spirv_tools_root ++ ""source/val/validate_atomics.cpp"", + spirv_tools_root ++ ""source/val/validate_barriers.cpp"", + spirv_tools_root ++ ""source/val/validate_bitwise.cpp"", + spirv_tools_root ++ ""source/val/validate_builtins.cpp"", + spirv_tools_root ++ ""source/val/validate_capability.cpp"", + spirv_tools_root ++ ""source/val/validate_cfg.cpp"", + spirv_tools_root ++ ""source/val/validate_composites.cpp"", + spirv_tools_root ++ ""source/val/validate_constants.cpp"", + spirv_tools_root ++ ""source/val/validate_conversion.cpp"", + spirv_tools_root ++ ""source/val/validate_debug.cpp"", + spirv_tools_root ++ ""source/val/validate_decorations.cpp"", + spirv_tools_root ++ ""source/val/validate_derivatives.cpp"", + spirv_tools_root ++ ""source/val/validate_extensions.cpp"", + spirv_tools_root ++ ""source/val/validate_execution_limitations.cpp"", + spirv_tools_root ++ ""source/val/validate_function.cpp"", + spirv_tools_root ++ ""source/val/validate_id.cpp"", + spirv_tools_root ++ ""source/val/validate_image.cpp"", + spirv_tools_root ++ ""source/val/validate_interfaces.cpp"", + spirv_tools_root ++ ""source/val/validate_instruction.cpp"", + spirv_tools_root ++ ""source/val/validate_layout.cpp"", + spirv_tools_root ++ ""source/val/validate_literals.cpp"", + spirv_tools_root ++ ""source/val/validate_logicals.cpp"", + spirv_tools_root ++ ""source/val/validate_memory.cpp"", + spirv_tools_root ++ ""source/val/validate_memory_semantics.cpp"", + spirv_tools_root ++ ""source/val/validate_mesh_shading.cpp"", + spirv_tools_root ++ ""source/val/validate_misc.cpp"", + spirv_tools_root ++ ""source/val/validate_mode_setting.cpp"", + spirv_tools_root ++ ""source/val/validate_non_uniform.cpp"", + spirv_tools_root ++ ""source/val/validate_primitives.cpp"", + spirv_tools_root ++ ""source/val/validate_ray_query.cpp"", + spirv_tools_root ++ ""source/val/validate_ray_tracing.cpp"", + spirv_tools_root ++ ""source/val/validate_ray_tracing_reorder.cpp"", + spirv_tools_root ++ ""source/val/validate_scopes.cpp"", + spirv_tools_root ++ ""source/val/validate_small_type_uses.cpp"", + spirv_tools_root ++ ""source/val/validate_type.cpp"", + spirv_tools_root ++ ""source/val/basic_block.cpp"", + spirv_tools_root ++ ""source/val/construct.cpp"", + spirv_tools_root ++ ""source/val/function.cpp"", + spirv_tools_root ++ ""source/val/instruction.cpp"", + spirv_tools_root ++ ""source/val/validation_state.cpp"", + //opt folder + spirv_tools_root ++ ""source/opt/fix_func_call_arguments.cpp"", + spirv_tools_root ++ ""source/opt/aggressive_dead_code_elim_pass.cpp"", + spirv_tools_root ++ ""source/opt/amd_ext_to_khr.cpp"", + spirv_tools_root ++ ""source/opt/analyze_live_input_pass.cpp"", + spirv_tools_root ++ ""source/opt/basic_block.cpp"", + spirv_tools_root ++ ""source/opt/block_merge_pass.cpp"", + spirv_tools_root ++ ""source/opt/block_merge_util.cpp"", + spirv_tools_root ++ ""source/opt/build_module.cpp"", + spirv_tools_root ++ ""source/opt/ccp_pass.cpp"", + spirv_tools_root ++ ""source/opt/cfg_cleanup_pass.cpp"", + spirv_tools_root ++ ""source/opt/cfg.cpp"", + spirv_tools_root ++ ""source/opt/code_sink.cpp"", + spirv_tools_root ++ ""source/opt/combine_access_chains.cpp"", + spirv_tools_root ++ ""source/opt/compact_ids_pass.cpp"", + spirv_tools_root ++ ""source/opt/composite.cpp"", + spirv_tools_root ++ ""source/opt/const_folding_rules.cpp"", + spirv_tools_root ++ ""source/opt/constants.cpp"", + spirv_tools_root ++ ""source/opt/control_dependence.cpp"", + spirv_tools_root ++ ""source/opt/convert_to_sampled_image_pass.cpp"", + spirv_tools_root ++ ""source/opt/convert_to_half_pass.cpp"", + spirv_tools_root ++ ""source/opt/copy_prop_arrays.cpp"", + spirv_tools_root ++ ""source/opt/dataflow.cpp"", + spirv_tools_root ++ ""source/opt/dead_branch_elim_pass.cpp"", + spirv_tools_root ++ ""source/opt/dead_insert_elim_pass.cpp"", + spirv_tools_root ++ ""source/opt/dead_variable_elimination.cpp"", + spirv_tools_root ++ ""source/opt/decoration_manager.cpp"", + spirv_tools_root ++ ""source/opt/debug_info_manager.cpp"", + spirv_tools_root ++ ""source/opt/def_use_manager.cpp"", + spirv_tools_root ++ ""source/opt/desc_sroa.cpp"", + spirv_tools_root ++ ""source/opt/desc_sroa_util.cpp"", + spirv_tools_root ++ ""source/opt/dominator_analysis.cpp"", + spirv_tools_root ++ ""source/opt/dominator_tree.cpp"", + spirv_tools_root ++ ""source/opt/eliminate_dead_constant_pass.cpp"", + spirv_tools_root ++ ""source/opt/eliminate_dead_functions_pass.cpp"", + spirv_tools_root ++ ""source/opt/eliminate_dead_functions_util.cpp"", + spirv_tools_root ++ ""source/opt/eliminate_dead_io_components_pass.cpp"", + spirv_tools_root ++ ""source/opt/eliminate_dead_members_pass.cpp"", + spirv_tools_root ++ ""source/opt/eliminate_dead_output_stores_pass.cpp"", + spirv_tools_root ++ ""source/opt/feature_manager.cpp"", + spirv_tools_root ++ ""source/opt/fix_storage_class.cpp"", + spirv_tools_root ++ ""source/opt/flatten_decoration_pass.cpp"", + spirv_tools_root ++ ""source/opt/fold.cpp"", + spirv_tools_root ++ ""source/opt/folding_rules.cpp"", + spirv_tools_root ++ ""source/opt/fold_spec_constant_op_and_composite_pass.cpp"", + spirv_tools_root ++ ""source/opt/freeze_spec_constant_value_pass.cpp"", + spirv_tools_root ++ ""source/opt/function.cpp"", + spirv_tools_root ++ ""source/opt/graphics_robust_access_pass.cpp"", + spirv_tools_root ++ ""source/opt/if_conversion.cpp"", + spirv_tools_root ++ ""source/opt/inline_exhaustive_pass.cpp"", + spirv_tools_root ++ ""source/opt/inline_opaque_pass.cpp"", + spirv_tools_root ++ ""source/opt/inline_pass.cpp"", + spirv_tools_root ++ ""source/opt/inst_bindless_check_pass.cpp"", + spirv_tools_root ++ ""source/opt/inst_buff_addr_check_pass.cpp"", + spirv_tools_root ++ ""source/opt/inst_debug_printf_pass.cpp"", + spirv_tools_root ++ ""source/opt/instruction.cpp"", + spirv_tools_root ++ ""source/opt/instruction_list.cpp"", + spirv_tools_root ++ ""source/opt/instrument_pass.cpp"", + spirv_tools_root ++ ""source/opt/interface_var_sroa.cpp"", + spirv_tools_root ++ ""source/opt/interp_fixup_pass.cpp"", + spirv_tools_root ++ ""source/opt/ir_context.cpp"", + spirv_tools_root ++ ""source/opt/ir_loader.cpp"", + spirv_tools_root ++ ""source/opt/licm_pass.cpp"", + spirv_tools_root ++ ""source/opt/liveness.cpp"", + spirv_tools_root ++ ""source/opt/local_access_chain_convert_pass.cpp"", + spirv_tools_root ++ ""source/opt/local_redundancy_elimination.cpp"", + spirv_tools_root ++ ""source/opt/local_single_block_elim_pass.cpp"", + spirv_tools_root ++ ""source/opt/local_single_store_elim_pass.cpp"", + spirv_tools_root ++ ""source/opt/loop_dependence.cpp"", + spirv_tools_root ++ ""source/opt/loop_dependence_helpers.cpp"", + spirv_tools_root ++ ""source/opt/loop_descriptor.cpp"", + spirv_tools_root ++ ""source/opt/loop_fission.cpp"", + spirv_tools_root ++ ""source/opt/loop_fusion.cpp"", + spirv_tools_root ++ ""source/opt/loop_fusion_pass.cpp"", + spirv_tools_root ++ ""source/opt/loop_peeling.cpp"", + spirv_tools_root ++ ""source/opt/loop_utils.cpp"", + spirv_tools_root ++ ""source/opt/loop_unroller.cpp"", + spirv_tools_root ++ ""source/opt/loop_unswitch_pass.cpp"", + spirv_tools_root ++ ""source/opt/mem_pass.cpp"", + spirv_tools_root ++ ""source/opt/merge_return_pass.cpp"", + spirv_tools_root ++ ""source/opt/module.cpp"", + spirv_tools_root ++ ""source/opt/optimizer.cpp"", + spirv_tools_root ++ ""source/opt/pass.cpp"", + spirv_tools_root ++ ""source/opt/pass_manager.cpp"", + spirv_tools_root ++ ""source/opt/private_to_local_pass.cpp"", + spirv_tools_root ++ ""source/opt/propagator.cpp"", + spirv_tools_root ++ ""source/opt/reduce_load_size.cpp"", + spirv_tools_root ++ ""source/opt/redundancy_elimination.cpp"", + spirv_tools_root ++ ""source/opt/register_pressure.cpp"", + spirv_tools_root ++ ""source/opt/relax_float_ops_pass.cpp"", + spirv_tools_root ++ ""source/opt/remove_dontinline_pass.cpp"", + spirv_tools_root ++ ""source/opt/remove_duplicates_pass.cpp"", + spirv_tools_root ++ ""source/opt/remove_unused_interface_variables_pass.cpp"", + spirv_tools_root ++ ""source/opt/replace_desc_array_access_using_var_index.cpp"", + spirv_tools_root ++ ""source/opt/replace_invalid_opc.cpp"", + spirv_tools_root ++ ""source/opt/scalar_analysis.cpp"", + spirv_tools_root ++ ""source/opt/scalar_analysis_simplification.cpp"", + spirv_tools_root ++ ""source/opt/scalar_replacement_pass.cpp"", + spirv_tools_root ++ ""source/opt/set_spec_constant_default_value_pass.cpp"", + spirv_tools_root ++ ""source/opt/simplification_pass.cpp"", + spirv_tools_root ++ ""source/opt/spread_volatile_semantics.cpp"", + spirv_tools_root ++ ""source/opt/ssa_rewrite_pass.cpp"", + spirv_tools_root ++ ""source/opt/strength_reduction_pass.cpp"", + spirv_tools_root ++ ""source/opt/strip_debug_info_pass.cpp"", + spirv_tools_root ++ ""source/opt/strip_nonsemantic_info_pass.cpp"", + spirv_tools_root ++ ""source/opt/struct_cfg_analysis.cpp"", + spirv_tools_root ++ ""source/opt/type_manager.cpp"", + spirv_tools_root ++ ""source/opt/types.cpp"", + spirv_tools_root ++ ""source/opt/unify_const_pass.cpp"", + spirv_tools_root ++ ""source/opt/upgrade_memory_model.cpp"", + spirv_tools_root ++ ""source/opt/value_number_table.cpp"", + spirv_tools_root ++ ""source/opt/vector_dce.cpp"", + spirv_tools_root ++ ""source/opt/workaround1209.cpp"", + spirv_tools_root ++ ""source/opt/wrap_opkill.cpp"", + //reduce + spirv_tools_root ++ ""source/reduce/change_operand_reduction_opportunity.cpp"", + spirv_tools_root ++ ""source/reduce/change_operand_to_undef_reduction_opportunity.cpp"", + spirv_tools_root ++ ""source/reduce/conditional_branch_to_simple_conditional_branch_opportunity_finder.cpp"", + spirv_tools_root ++ ""source/reduce/conditional_branch_to_simple_conditional_branch_reduction_opportunity.cpp"", + spirv_tools_root ++ ""source/reduce/merge_blocks_reduction_opportunity.cpp"", + spirv_tools_root ++ ""source/reduce/merge_blocks_reduction_opportunity_finder.cpp"", + spirv_tools_root ++ ""source/reduce/operand_to_const_reduction_opportunity_finder.cpp"", + spirv_tools_root ++ ""source/reduce/operand_to_undef_reduction_opportunity_finder.cpp"", + spirv_tools_root ++ ""source/reduce/operand_to_dominating_id_reduction_opportunity_finder.cpp"", + spirv_tools_root ++ ""source/reduce/reducer.cpp"", + spirv_tools_root ++ ""source/reduce/reduction_opportunity.cpp"", + spirv_tools_root ++ ""source/reduce/reduction_opportunity_finder.cpp"", + spirv_tools_root ++ ""source/reduce/reduction_pass.cpp"", + spirv_tools_root ++ ""source/reduce/reduction_util.cpp"", + spirv_tools_root ++ ""source/reduce/remove_block_reduction_opportunity.cpp"", + spirv_tools_root ++ ""source/reduce/remove_block_reduction_opportunity_finder.cpp"", + spirv_tools_root ++ ""source/reduce/remove_function_reduction_opportunity.cpp"", + spirv_tools_root ++ ""source/reduce/remove_function_reduction_opportunity_finder.cpp"", + spirv_tools_root ++ ""source/reduce/remove_instruction_reduction_opportunity.cpp"", + spirv_tools_root ++ ""source/reduce/remove_selection_reduction_opportunity.cpp"", + spirv_tools_root ++ ""source/reduce/remove_selection_reduction_opportunity_finder.cpp"", + spirv_tools_root ++ ""source/reduce/remove_struct_member_reduction_opportunity.cpp"", + spirv_tools_root ++ ""source/reduce/remove_unused_instruction_reduction_opportunity_finder.cpp"", + spirv_tools_root ++ ""source/reduce/remove_unused_struct_member_reduction_opportunity_finder.cpp"", + spirv_tools_root ++ ""source/reduce/simple_conditional_branch_to_branch_opportunity_finder.cpp"", + spirv_tools_root ++ ""source/reduce/simple_conditional_branch_to_branch_reduction_opportunity.cpp"", + spirv_tools_root ++ ""source/reduce/structured_construct_to_block_reduction_opportunity.cpp"", + spirv_tools_root ++ ""source/reduce/structured_construct_to_block_reduction_opportunity_finder.cpp"", + spirv_tools_root ++ ""source/reduce/structured_loop_to_selection_reduction_opportunity.cpp"", + spirv_tools_root ++ ""source/reduce/structured_loop_to_selection_reduction_opportunity_finder.cpp"", + //link + spirv_tools_root ++ ""source/link/linker.cpp"", + //lint + spirv_tools_root ++ ""source/lint/linter.cpp"", + spirv_tools_root ++ ""source/lint/linter.cpp"", + spirv_tools_root ++ ""source/lint/lint_divergent_derivatives.cpp"", + spirv_tools_root ++ ""source/lint/divergence_analysis.cpp"", + //diff + spirv_tools_root ++ ""source/diff/diff.cpp"", + }, flags); + + return spirv_tools; +} + +fn glslang_lib(b: *std.Build, target: std.zig.CrossTarget, optimize: std.builtin.OptimizeMode) *std.Build.Step.Compile { + const glslang: *std.build.Step.Compile = b.addStaticLibrary(.{ + .name = ""glslang"", + .target = target, + .optimize = optimize, + }); + glslang.linkLibC(); + glslang.linkLibCpp(); + + glslang.addIncludePath(root_glslang_path ++ ""Include""); + glslang.addIncludePath(root_glslang_path); + + glslang.defineCMacro(""ENABLE_HLSL"", ""1""); + + glslang.addCSourceFiles(&.{ + root_glslang_path ++ ""glslang/MachineIndependent/glslang_tab.cpp"", + root_glslang_path ++ ""glslang/MachineIndependent/attribute.cpp"", + root_glslang_path ++ ""glslang/MachineIndependent/Constant.cpp"", + root_glslang_path ++ ""glslang/MachineIndependent/iomapper.cpp"", + root_glslang_path ++ ""glslang/MachineIndependent/InfoSink.cpp"", + root_glslang_path ++ ""glslang/MachineIndependent/Initialize.cpp"", + root_glslang_path ++ ""glslang/MachineIndependent/IntermTraverse.cpp"", + root_glslang_path ++ ""glslang/MachineIndependent/Intermediate.cpp"", + root_glslang_path ++ ""glslang/MachineIndependent/ParseContextBase.cpp"", + root_glslang_path ++ ""glslang/MachineIndependent/ParseHelper.cpp"", + root_glslang_path ++ ""glslang/MachineIndependent/PoolAlloc.cpp"", + root_glslang_path ++ ""glslang/MachineIndependent/RemoveTree.cpp"", + root_glslang_path ++ ""glslang/MachineIndependent/Scan.cpp"", + root_glslang_path ++ ""glslang/MachineIndependent/ShaderLang.cpp"", + root_glslang_path ++ ""glslang/MachineIndependent/SpirvIntrinsics.cpp"", + root_glslang_path ++ ""glslang/MachineIndependent/SymbolTable.cpp"", + root_glslang_path ++ ""glslang/MachineIndependent/Versions.cpp"", + root_glslang_path ++ ""glslang/MachineIndependent/intermOut.cpp"", + root_glslang_path ++ ""glslang/MachineIndependent/limits.cpp"", + root_glslang_path ++ ""glslang/MachineIndependent/linkValidate.cpp"", + root_glslang_path ++ ""glslang/MachineIndependent/parseConst.cpp"", + root_glslang_path ++ ""glslang/MachineIndependent/reflection.cpp"", + root_glslang_path ++ ""glslang/MachineIndependent/preprocessor/Pp.cpp"", + root_glslang_path ++ ""glslang/MachineIndependent/preprocessor/PpAtom.cpp"", + root_glslang_path ++ ""glslang/MachineIndependent/preprocessor/PpContext.cpp"", + root_glslang_path ++ ""glslang/MachineIndependent/preprocessor/PpScanner.cpp"", + root_glslang_path ++ ""glslang/MachineIndependent/preprocessor/PpTokens.cpp"", + root_glslang_path ++ ""glslang/MachineIndependent/propagateNoContraction.cpp"", + root_glslang_path ++ ""glslang/HLSL/hlslAttributes.cpp"", + root_glslang_path ++ ""glslang/HLSL/hlslParseHelper.cpp"", + root_glslang_path ++ ""glslang/HLSL/hlslScanContext.cpp"", + root_glslang_path ++ ""glslang/HLSL/hlslOpMap.cpp"", + root_glslang_path ++ ""glslang/HLSL/hlslTokenStream.cpp"", + root_glslang_path ++ ""glslang/HLSL/hlslGrammar.cpp"", + root_glslang_path ++ ""glslang/HLSL/hlslParseables.cpp"", + root_glslang_path ++ ""glslang/GenericCodeGen/CodeGen.cpp"", + root_glslang_path ++ ""glslang/GenericCodeGen/Link.cpp"", + }, flags); + + if (target.isWindows()) { + glslang.addCSourceFiles(&.{root_glslang_path ++ ""glslang/OSDependent/Windows/ossource.cpp""}, flags); + } + //This assumption is wrong, but anything that isnt windows is basically unix :^) + else { + glslang.addCSourceFiles(&.{root_glslang_path ++ ""glslang/OSDependent/Unix/ossource.cpp""}, flags); + } + + glslang.addCSourceFiles(&.{root_glslang_path ++ ""OGLCompilersDLL/InitializeDll.cpp""}, flags); + + glslang.addCSourceFiles(&.{ + root_glslang_path ++ ""SPIRV/GlslangToSpv.cpp"", + root_glslang_path ++ ""SPIRV/InReadableOrder.cpp"", + root_glslang_path ++ ""SPIRV/Logger.cpp"", + root_glslang_path ++ ""SPIRV/SpvBuilder.cpp"", + root_glslang_path ++ ""SPIRV/SpvPostProcess.cpp"", + root_glslang_path ++ ""SPIRV/doc.cpp"", + root_glslang_path ++ ""SPIRV/SpvTools.cpp"", + root_glslang_path ++ ""SPIRV/disassemble.cpp"", + root_glslang_path ++ ""SPIRV/CInterface/spirv_c_interface.cpp"", + }, flags); + + const generate_build_info = b.addSystemCommand(&.{ + ""python3"", + root_glslang_path ++ ""build_info.py"", + root_glslang_path, + ""-i"", root_glslang_path ++ ""build_info.h.tmpl"", //input + ""-o"", root_glslang_path ++ ""Include/glslang/build_info.h"", //output + }); + + glslang.step.dependOn(&generate_build_info.step); + + return glslang; +} + +pub fn build(b: *std.Build) void { + const target = b.standardTargetOptions(.{}); + const optimize = b.standardOptimizeOption(.{}); + + const glslang = glslang_lib(b, target, optimize); + + const spirv_tools = spvTools(b, target, optimize); + + const shaderc_util: *std.build.Step.Compile = b.addStaticLibrary(.{ + .name = ""shaderc_shared"", + .target = target, + .optimize = optimize, + }); + shaderc_util.linkLibC(); + shaderc_util.linkLibCpp(); + shaderc_util.addIncludePath(root_path ++ ""libshaderc/include""); + shaderc_util.addIncludePath(root_path ++ ""libshaderc_util/include""); + + shaderc_util.addIncludePath(root_path ++ ""third_party/glslang""); + shaderc_util.addIncludePath(root_path ++ ""third_party/spirv-tools/include""); + shaderc_util.addIncludePath(root_path ++ ""third_party/spirv-headers/include/""); + + shaderc_util.defineCMacro(""ENABLE_HLSL"", ""1""); + + shaderc_util.addCSourceFiles(&.{ + root_path ++ ""libshaderc_util/src/args.cc"", + root_path ++ ""libshaderc_util/src/compiler.cc"", + root_path ++ ""libshaderc_util/src/file_finder.cc"", + root_path ++ ""libshaderc_util/src/io_shaderc.cc"", + root_path ++ ""libshaderc_util/src/message.cc"", + root_path ++ ""libshaderc_util/src/resources.cc"", + root_path ++ ""libshaderc_util/src/shader_stage.cc"", + root_path ++ ""libshaderc_util/src/spirv_tools_wrapper.cc"", + root_path ++ ""libshaderc_util/src/version_profile.cc"", + }, flags); + + const shaderc: *std.build.Step.Compile = b.addSharedLibrary(.{ + .name = ""shaderc_shared"", + .target = target, + .optimize = optimize, + }); + shaderc.defineCMacro(""SHADERC_SHAREDLIB"", ""1""); + shaderc.defineCMacro(""SHADERC_IMPLEMENTATION"", ""1""); + shaderc.linkLibC(); + shaderc.linkLibCpp(); + shaderc.linkLibrary(shaderc_util); + shaderc.linkLibrary(spirv_tools); + shaderc.linkLibrary(glslang); + + shaderc.strip = true; + + shaderc.addIncludePath(root_path ++ ""libshaderc/include""); + shaderc.addIncludePath(root_path ++ ""libshaderc_util/include""); + + shaderc.addIncludePath(root_path ++ ""third_party/glslang""); + shaderc.addIncludePath(root_path ++ ""third_party/spirv-tools/include""); + shaderc.addIncludePath(root_path ++ ""third_party/spirv-headers/include/""); + + shaderc.addCSourceFiles(&.{ + root_path ++ ""libshaderc/src/shaderc.cc"", + }, flags); + + b.installArtifact(shaderc); +} + +fn root_dir() []const u8 { + return std.fs.path.dirname(@src().file) orelse "".""; +} + +const root_path = root_dir() ++ ""/""; +"; + + AbsolutePath ShadercPath => RootDirectory / "build" / "submodules" / "shaderc"; + + Target Shaderc => CommonTarget + ( + x => x.Before(Compile) + .After(Clean) + .Executes + ( + () => + { + var runtimes = RootDirectory / "src" / "Native" / "Silk.NET.Shaderc.Native" / "runtimes"; + + File.WriteAllText(ShadercPath / "build.zig", ShadercBuildScript); + + //Clone all the deps for shaderc + InheritedShell("./git-sync-deps", ShadercPath / "utils").AssertZeroExitCode(); + + const string libname = "shaderc_shared"; + + const string optimizeMode = "-Doptimize=ReleaseFast"; + + //Build shaderc for Linux x86 + InheritedShell($"zig build -Dtarget=x86-linux-gnu {optimizeMode}", ShadercPath).AssertZeroExitCode(); + CopyFile(ShadercPath / "zig-out" / "lib" / $"lib{libname}.so", runtimes / "linux-x86" / "native" / $"lib{libname}.so", FileExistsPolicy.Overwrite); + + //Build shaderc for Linux x86_64 + InheritedShell($"zig build -Dtarget=x86_64-linux-gnu {optimizeMode}", ShadercPath).AssertZeroExitCode(); + CopyFile(ShadercPath / "zig-out" / "lib" / $"lib{libname}.so", runtimes / "linux-x64" / "native" / $"lib{libname}.so", FileExistsPolicy.Overwrite); + + //Build shaderc for Linux ARM64 + InheritedShell($"zig build -Dtarget=aarch64-linux-gnu {optimizeMode}", ShadercPath).AssertZeroExitCode(); + CopyFile(ShadercPath / "zig-out" / "lib" / $"lib{libname}.so", runtimes / "linux-arm64" / "native" / $"lib{libname}.so", FileExistsPolicy.Overwrite); + + //Build shaderc for Windows x86 + InheritedShell($"zig build -Dtarget=x86-windows-gnu {optimizeMode}", ShadercPath).AssertZeroExitCode(); + CopyFile(ShadercPath / "zig-out" / "lib" / $"{libname}.dll", runtimes / "win-x86" / "native" / $"{libname}.dll", FileExistsPolicy.Overwrite); + + //Build shaderc for Windows x86_64 + InheritedShell($"zig build -Dtarget=x86_64-windows-gnu {optimizeMode}", ShadercPath).AssertZeroExitCode(); + CopyFile(ShadercPath / "zig-out" / "lib" / $"{libname}.dll", runtimes / "win-x64" / "native" / $"{libname}.dll", FileExistsPolicy.Overwrite); + + //Build shaderc for Windows ARM64 + InheritedShell($"zig build -Dtarget=aarch64-windows-gnu {optimizeMode}", ShadercPath).AssertZeroExitCode(); + CopyFile(ShadercPath / "zig-out" / "lib" / $"{libname}.dll", runtimes / "win-arm64" / "native" / $"{libname}.dll", FileExistsPolicy.Overwrite); + + //Build shaderc for MacOS x86_64 + InheritedShell($"zig build -Dtarget=x86_64-macos {optimizeMode}", ShadercPath).AssertZeroExitCode(); + CopyFile(ShadercPath / "zig-out" / "lib" / $"lib{libname}.dylib", runtimes / "osx-x64" / "native" / $"lib{libname}.dylib", FileExistsPolicy.Overwrite); + + //Build shaderc for MacOS ARM64 + InheritedShell($"zig build -Dtarget=aarch64-macos {optimizeMode}", ShadercPath).AssertZeroExitCode(); + CopyFile(ShadercPath / "zig-out" / "lib" / $"lib{libname}.dylib", runtimes / "osx-arm64" / "native" / $"lib{libname}.dylib", FileExistsPolicy.Overwrite); + + var files = (runtimes / "win-x64" / "native").GlobFiles("*.dll") + .Concat((runtimes / "win-x86" / "native").GlobFiles("*.dll")) + .Concat((runtimes / "win-arm64" / "native").GlobFiles("*.dll")) + .Concat((runtimes / "osx-x64" / "native").GlobFiles("*.dylib")) + .Concat((runtimes / "osx-arm64" / "native").GlobFiles("*.dylib")) + .Concat((runtimes / "linux-x64" / "native").GlobFiles("*.so")) + .Concat((runtimes / "linux-x86" / "native").GlobFiles("*.so")) + .Concat((runtimes / "linux-arm64" / "native").GlobFiles("*.so")); + + var glob = string.Empty; + glob = files.Aggregate(glob, (current, path) => current + $"\"{path}\" "); + + PrUpdatedNativeBinary("Shaderc", glob); + } + ) + ); +} \ No newline at end of file diff --git a/build/nuke/Native/SilkDroid.cs b/build/nuke/Native/SilkDroid.cs new file mode 100644 index 0000000000..7b9716d82d --- /dev/null +++ b/build/nuke/Native/SilkDroid.cs @@ -0,0 +1,102 @@ +// 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; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Runtime.InteropServices; +using JetBrains.Annotations; +using Nuke.Common; +using Nuke.Common.CI.GitHubActions; +using Nuke.Common.Git; +using Nuke.Common.IO; +using Nuke.Common.Tooling; +using Nuke.Common.Tools.DotNet; +using Nuke.Common.Tools.Git; +using Octokit; +using Octokit.Internal; +using static Nuke.Common.IO.CompressionTasks; +using static Nuke.Common.IO.FileSystemTasks; +using static Nuke.Common.IO.HttpTasks; +using static Nuke.Common.Tooling.ProcessTasks; +using static Nuke.Common.Tools.DotNet.DotNetTasks; +using static Nuke.Common.Tools.Git.GitTasks; +using static Nuke.Common.Tools.GitHub.GitHubTasks; + +partial class Build { + string AndroidHome + { + get + { + if (AndroidHomeValue is not null) + { + return AndroidHomeValue; + } + + var utils = RootDirectory / "build" / "utilities"; + DotNet($"build \"{utils / "android_probe.proj"}\" /t:GetAndroidJar"); + AndroidHomeValue = (AbsolutePath) File.ReadAllText(utils / "android.jar.gen.txt") / ".." / ".." / ".."; + Logger.Info($"Android Home: {AndroidHomeValue}"); + return AndroidHomeValue; + } + } + + Target BuildLibSilkDroid => CommonTarget + ( + x => x.Before(Compile) + .After(Clean) + .Executes + ( + () => + { + if (!Native) + { + Logger.Warn("Skipping gradlew build as the --native parameter has not been specified."); + return Enumerable.Empty(); + } + + var sdl = RootDirectory / "build" / "submodules" / "SDL"; + var silkDroid = SourceDirectory / "Windowing" / "SilkDroid"; + var xcopy = new (string, string)[] + { + (sdl / "android-project" / "app" / "src" / "main" / "java", + silkDroid / "app" / "src" / "main" / "java"), + (sdl, silkDroid / "app" / "jni" / "SDL2") + }; + + foreach (var (from, to) in xcopy) + { + if (!Directory.Exists(from)) + { + ControlFlow.Fail + ($"\"{from}\" does not exist (did you forget to recursively clone the repo?)"); + } + + CopyDirectoryRecursively(from, to, DirectoryExistsPolicy.Merge, FileExistsPolicy.Overwrite); + } + + var envVars = CreateEnvVarDictionary(); + envVars["ANDROID_HOME"] = AndroidHome; + + foreach (var ndk in Directory.GetDirectories((AbsolutePath) AndroidHome / "ndk") + .OrderByDescending(x => Version.Parse(Path.GetFileName(x)))) + { + envVars["ANDROID_NDK_HOME"] = ndk; + } + + using var process = StartShell($".{Path.PathSeparator}gradlew build", silkDroid, envVars); + process.AssertZeroExitCode(); + var ret = process.Output; + CopyFile + ( + silkDroid / "app" / "build" / "outputs" / "aar" / "app-release.aar", + SourceDirectory / "Windowing" / "Silk.NET.Windowing.Sdl" / "Android" / "app-release.aar", + FileExistsPolicy.Overwrite + ); + return ret; + } + ) + ); +} \ No newline at end of file diff --git a/build/nuke/Native/SwiftShader.cs b/build/nuke/Native/SwiftShader.cs new file mode 100644 index 0000000000..2874904ce6 --- /dev/null +++ b/build/nuke/Native/SwiftShader.cs @@ -0,0 +1,113 @@ +// 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; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Runtime.InteropServices; +using JetBrains.Annotations; +using Nuke.Common; +using Nuke.Common.CI.GitHubActions; +using Nuke.Common.Git; +using Nuke.Common.IO; +using Nuke.Common.Tooling; +using Nuke.Common.Tools.DotNet; +using Nuke.Common.Tools.Git; +using Octokit; +using Octokit.Internal; +using static Nuke.Common.IO.CompressionTasks; +using static Nuke.Common.IO.FileSystemTasks; +using static Nuke.Common.IO.HttpTasks; +using static Nuke.Common.Tooling.ProcessTasks; +using static Nuke.Common.Tools.DotNet.DotNetTasks; +using static Nuke.Common.Tools.Git.GitTasks; +using static Nuke.Common.Tools.GitHub.GitHubTasks; + +partial class Build { + AbsolutePath SwiftShaderBuildPath => RootDirectory / "build" / "submodules" / "SwiftShader" / "build"; + + Target SwiftShader => CommonTarget + ( + x => x.Before(Compile) + .After(Clean) + .Executes + ( + () => + { + var sysName = OperatingSystem.IsLinux() ? "Linux" : + OperatingSystem.IsWindows() ? "Windows" : + OperatingSystem.IsMacOS() ? "Darwin" : throw new PlatformNotSupportedException(); + DeleteDirectory(SwiftShaderBuildPath); + Git("checkout HEAD build/", SwiftShaderBuildPath / ".."); + StartProcess("cmake", ".. -DCMAKE_BUILD_TYPE=Release", SwiftShaderBuildPath) + .AssertZeroExitCode(); + StartProcess("cmake", $"--build .{JobsArg} --config Release", SwiftShaderBuildPath) + .AssertWaitForExit(); // might fail... as long as the output exists we're happy + var fname = sysName switch + { + "Linux" => "libvk_swiftshader.so", + "Windows" => "vk_swiftshader.dll", + "Darwin" => "libvk_swiftshader.dylib", + _ => throw new("what") + }; + + var runtimes = RootDirectory / "src" / "Native" / "Silk.NET.Vulkan.SwiftShader.Native" / "runtimes"; + var outputPath = SwiftShaderBuildPath / sysName; + const string icd = "vk_swiftshader_icd.json"; + if (OperatingSystem.IsWindows()) + { + CopyFile + ( + outputPath / fname, runtimes / "win-x64" / "native" / fname, + FileExistsPolicy.Overwrite + ); // we'll use WOW64 + CopyFile + ( + outputPath / fname, runtimes / "win-x86" / "native" / fname, + FileExistsPolicy.Overwrite + ); + CopyFile + ( + outputPath / icd, runtimes / "win-x64" / "native" / icd, + FileExistsPolicy.Overwrite + ); + CopyFile + ( + outputPath / icd, runtimes / "win-x86" / "native" / icd, + FileExistsPolicy.Overwrite + ); + } + else if (OperatingSystem.IsLinux()) + { + CopyFile + ( + outputPath / fname, runtimes / "linux-x64" / "native" / fname, + FileExistsPolicy.Overwrite + ); + CopyFile + ( + outputPath / icd, runtimes / "linux-x64" / "native" / icd, + FileExistsPolicy.Overwrite + ); + } + else if (OperatingSystem.IsMacOS()) + { + CopyFile + ( + outputPath / fname, runtimes / "osx-x64" / "native" / fname, + FileExistsPolicy.Overwrite + ); + CopyFile + ( + outputPath / icd, runtimes / "osx-x64" / "native" / icd, + FileExistsPolicy.Overwrite + ); + } + + PrUpdatedNativeBinary("SwiftShader"); + } + ) + ); +} \ No newline at end of file diff --git a/build/nuke/Native/Vkd3d.cs b/build/nuke/Native/Vkd3d.cs new file mode 100644 index 0000000000..f280cc5f49 --- /dev/null +++ b/build/nuke/Native/Vkd3d.cs @@ -0,0 +1,103 @@ +// 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; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Runtime.InteropServices; +using JetBrains.Annotations; +using Nuke.Common; +using Nuke.Common.CI.GitHubActions; +using Nuke.Common.Git; +using Nuke.Common.IO; +using Nuke.Common.Tooling; +using Nuke.Common.Tools.DotNet; +using Nuke.Common.Tools.Git; +using Octokit; +using Octokit.Internal; +using static Nuke.Common.IO.CompressionTasks; +using static Nuke.Common.IO.FileSystemTasks; +using static Nuke.Common.IO.HttpTasks; +using static Nuke.Common.Tooling.ProcessTasks; +using static Nuke.Common.Tools.DotNet.DotNetTasks; +using static Nuke.Common.Tools.Git.GitTasks; +using static Nuke.Common.Tools.GitHub.GitHubTasks; + +partial class Build { + AbsolutePath Vkd3dPath => RootDirectory / "build" / "submodules" / "vkd3d"; + AbsolutePath SPIRVToolsPath => RootDirectory / "build" / "submodules" / "SPIRV-Tools"; + + Target Vkd3d => CommonTarget + ( + x => x.Before(Compile) + .After(Clean) + .Executes + ( + () => + { + if(!RuntimeInformation.IsOSPlatform(OSPlatform.Linux)) + { + throw new PlatformNotSupportedException("This task only runs on Linux!"); + } + + var runtimes = RootDirectory / "src" / "Native" / "Silk.NET.Vkd3d.Native" / "runtimes"; + + var vkd3dBuild = SPIRVToolsPath / "build"; + EnsureCleanDirectory(vkd3dBuild); + + { //SPIRV-Tools + //Sync the external deps + InheritedShell($"./git-sync-deps", SPIRVToolsPath / "utils").AssertZeroExitCode(); + + //Make the build scripts, with shared libs enabled, and tests disabled + InheritedShell($"cmake .. -DBUILD_SHARED_LIBS=1 -DSPIRV_SKIP_TESTS=ON", vkd3dBuild).AssertZeroExitCode(); + + //Compile SPIRV-Tools + InheritedShell($"cmake --build . --config Release {JobsArg}", vkd3dBuild).AssertZeroExitCode(); + + //Run `strip -g` on the shared library file to remove debug info and shrink it from ~30mb down to only ~5.5mb + InheritedShell($"strip -g libSPIRV-Tools-shared.so", vkd3dBuild / "source").AssertZeroExitCode(); + + //Copy the resulting SPIRV-Tools shared library to the runtimes folder + CopyFile(vkd3dBuild / "source" / "libSPIRV-Tools-shared.so", runtimes / "linux-x64" / "native" / "libSPIRV-Tools-shared.so", FileExistsPolicy.Overwrite); + } + + { //Vkd3d + var dest = Vkd3dPath / "dest"; + var @out = Vkd3dPath / "build"; + + EnsureCleanDirectory(@out); + EnsureCleanDirectory(dest); + + //Run autogen + InheritedShell($"./autogen.sh", Vkd3dPath).AssertZeroExitCode(); + //Run configure to make a non-debug build, with no trace messages, with a prefix of /usr and with spirv-tools + InheritedShell($"./configure CPPFLAGS=\"-DNDEBUG -DVKD3D_NO_TRACE_MESSAGES -fPIC\" --prefix=/usr --with-spirv-tools --disable-doxygen-pdf", Vkd3dPath).AssertZeroExitCode(); + //Build vkd3d + InheritedShell($"make {JobsArg}", Vkd3dPath).AssertZeroExitCode(); + //Install vkd3d to the dest folder + InheritedShell($"make DESTDIR=\"{Vkd3dPath.ToString().TrimEnd('/')}/dest\" install", Vkd3dPath).AssertZeroExitCode(); + + var vkd3dShaderCompiler = RootDirectory / "src" / "Microsoft" / "Vkd3dCompiler"; + + //Copy libvkd3d-shader.a + CopyFile(@dest / "usr" / "lib" / "libvkd3d-shader.a", vkd3dShaderCompiler / "libvkd3d-shader.a"); + //Copy libvkd3d-shader.la + CopyFile(@dest / "usr" / "lib" / "libvkd3d-shader.la", vkd3dShaderCompiler / "libvkd3d-shader.la"); + //Copy libSPIRV-Tools-shared.so + CopyFile(vkd3dBuild / "source" / "libSPIRV-Tools-shared.so", vkd3dShaderCompiler / "libSPIRV-Tools-shared.so"); + + //Build the shader compiler + InheritedShell($"zig build -Doptimize=ReleaseSmall -Dtarget=x86_64-linux-gnu --verbose", vkd3dShaderCompiler).AssertZeroExitCode(); + + //Copy the resulting shader compiler to the native output + CopyFile(vkd3dShaderCompiler / "zig-out" / "lib" / "libd3dcompile_vkd3d.so", runtimes / "linux-x64" / "native" / "libd3dcompile_vkd3d.so", FileExistsPolicy.Overwrite); + } + + PrUpdatedNativeBinary("Vkd3d"); + } + ) + ); +} \ No newline at end of file diff --git a/build/nuke/Native/VulkanLoader.cs b/build/nuke/Native/VulkanLoader.cs new file mode 100644 index 0000000000..eb589de50d --- /dev/null +++ b/build/nuke/Native/VulkanLoader.cs @@ -0,0 +1,69 @@ +// 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; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Runtime.InteropServices; +using JetBrains.Annotations; +using Nuke.Common; +using Nuke.Common.CI.GitHubActions; +using Nuke.Common.Git; +using Nuke.Common.IO; +using Nuke.Common.Tooling; +using Nuke.Common.Tools.DotNet; +using Nuke.Common.Tools.Git; +using Octokit; +using Octokit.Internal; +using static Nuke.Common.IO.CompressionTasks; +using static Nuke.Common.IO.FileSystemTasks; +using static Nuke.Common.IO.HttpTasks; +using static Nuke.Common.Tooling.ProcessTasks; +using static Nuke.Common.Tools.DotNet.DotNetTasks; +using static Nuke.Common.Tools.Git.GitTasks; +using static Nuke.Common.Tools.GitHub.GitHubTasks; + +partial class Build { + AbsolutePath VulkanLoaderPath => RootDirectory / "build" / "submodules" / "Vulkan-Loader"; + + Target VulkanLoader => CommonTarget + ( + x => x.Before(Compile) + .After(Clean) + .Executes + ( + () => + { + var @out = VulkanLoaderPath / "build"; + EnsureCleanDirectory(@out); + var abi = OperatingSystem.IsWindows() ? " -DCMAKE_GENERATOR_PLATFORM=Win32" : string.Empty; + InheritedShell + ( + $"cmake -S. -Bbuild -DUPDATE_DEPS=On -DCMAKE_BUILD_TYPE=Release{abi}", + VulkanLoaderPath + ) + .AssertZeroExitCode(); + InheritedShell($"cmake --build build --config Release{JobsArg}", VulkanLoaderPath) + .AssertZeroExitCode(); + var runtimes = RootDirectory / "src" / "Native" / "Silk.NET.Vulkan.Loader.Native" / "runtimes"; + if (OperatingSystem.IsWindows()) + { + CopyAll(@out.GlobFiles("loader/Release/vulkan-1.dll"), runtimes / "win-x64" / "native"); + CopyAll(@out.GlobFiles("loader/Release/vulkan-1.dll"), runtimes / "win-x86" / "native"); + } + else + { + CopyAll + ( + @out.GlobFiles("loader/libvulkan.so", "loader/libvulkan.dylib"), + runtimes / (OperatingSystem.IsMacOS() ? "osx-x64" : "linux-x64") / "native" + ); + } + + PrUpdatedNativeBinary("Vulkan Loader"); + } + ) + ); +} \ No newline at end of file diff --git a/build/nuke/Native/Wgpu.cs b/build/nuke/Native/Wgpu.cs new file mode 100644 index 0000000000..29f4e185bb --- /dev/null +++ b/build/nuke/Native/Wgpu.cs @@ -0,0 +1,80 @@ +// 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; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Runtime.InteropServices; +using JetBrains.Annotations; +using Nuke.Common; +using Nuke.Common.CI.GitHubActions; +using Nuke.Common.Git; +using Nuke.Common.IO; +using Nuke.Common.Tooling; +using Nuke.Common.Tools.DotNet; +using Nuke.Common.Tools.Git; +using Octokit; +using Octokit.Internal; +using static Nuke.Common.IO.CompressionTasks; +using static Nuke.Common.IO.FileSystemTasks; +using static Nuke.Common.IO.HttpTasks; +using static Nuke.Common.Tooling.ProcessTasks; +using static Nuke.Common.Tools.DotNet.DotNetTasks; +using static Nuke.Common.Tools.Git.GitTasks; +using static Nuke.Common.Tools.GitHub.GitHubTasks; + +partial class Build { + AbsolutePath WgpuPath => RootDirectory / "build" / "submodules" / "wgpu-native"; + + Target Wgpu => CommonTarget + ( + x => x.Before(Compile) + .After(Clean) + .Executes + ( + () => + { + var runtimes = RootDirectory / "src" / "Native" / "Silk.NET.WebGPU.Native.WGPU" / "runtimes"; + + var target = WgpuPath / "target"; + EnsureCleanDirectory(target); + + if(OperatingSystem.IsWindows()) + { + //Compile Windows libraries + InheritedShell("cargo build --release --target=i686-pc-windows-msvc", WgpuPath).AssertZeroExitCode(); + InheritedShell("cargo build --release --target=x86_64-pc-windows-msvc", WgpuPath).AssertZeroExitCode(); + InheritedShell("cargo build --release --target=aarch64-pc-windows-msvc", WgpuPath).AssertZeroExitCode(); + + CopyFile(target / "i686-pc-windows-msvc" / "release" / "wgpu_native.dll", runtimes / "win-x86" / "native" / "wgpu_native.dll", FileExistsPolicy.Overwrite); + CopyFile(target / "x86_64-pc-windows-msvc" / "release" / "wgpu_native.dll", runtimes / "win-x64" / "native" / "wgpu_native.dll", FileExistsPolicy.Overwrite); + CopyFile(target / "aarch64-pc-windows-msvc" / "release" / "wgpu_native.dll", runtimes / "win-arm64" / "native" / "wgpu_native.dll", FileExistsPolicy.Overwrite); + } + + if(OperatingSystem.IsLinux()) + { + //Compile Linux libraries + InheritedShell("cargo build --release --target=i686-unknown-linux-gnu", WgpuPath).AssertZeroExitCode(); + InheritedShell("cargo build --release --target=x86_64-unknown-linux-gnu", WgpuPath).AssertZeroExitCode(); + + CopyFile(target / "i686-unknown-linux-gnu" / "release" / "libwgpu_native.so", runtimes / "linux-x86" / "native" / "libwgpu_native.so", FileExistsPolicy.Overwrite); + CopyFile(target / "x86_64-unknown-linux-gnu" / "release" / "libwgpu_native.so", runtimes / "linux-x64" / "native" / "libwgpu_native.so", FileExistsPolicy.Overwrite); + } + + if(OperatingSystem.IsMacOS()) + { + //Compile MacOS libraries + InheritedShell("cargo build --release --target=aarch64-apple-darwin", WgpuPath).AssertZeroExitCode(); + InheritedShell("cargo build --release --target=x86_64-apple-darwin", WgpuPath).AssertZeroExitCode(); + + CopyFile(target / "x86_64-apple-darwin" / "release" / "libwgpu_native.dylib", runtimes / "osx-x64" / "native" / "libwgpu_native.dylib", FileExistsPolicy.Overwrite); + CopyFile(target / "aarch64-apple-darwin" / "release" / "libwgpu_native.dylib", runtimes / "osx-arm64" / "native" / "libwgpu_native.dylib", FileExistsPolicy.Overwrite); + } + + PrUpdatedNativeBinary("Wgpu"); + } + ) + ); +} \ No newline at end of file diff --git a/build/submodules/ANGLE b/build/submodules/ANGLE index 7eb7596abf..803c3b1032 160000 --- a/build/submodules/ANGLE +++ b/build/submodules/ANGLE @@ -1 +1 @@ -Subproject commit 7eb7596abf0b24518334f43fc1396ebfffe6e27c +Subproject commit 803c3b103234c6f73587d2e6e4e1bba1377bbede diff --git a/build/submodules/SPIRV-Tools b/build/submodules/SPIRV-Tools index fba26fd606..a63ac9f73d 160000 --- a/build/submodules/SPIRV-Tools +++ b/build/submodules/SPIRV-Tools @@ -1 +1 @@ -Subproject commit fba26fd60677c2f5bbb37eb36cefef263f3717b0 +Subproject commit a63ac9f73d29cd27cdb6e3388d98d1d934e512bb diff --git a/build/submodules/shaderc b/build/submodules/shaderc new file mode 160000 index 0000000000..4dc596ddc2 --- /dev/null +++ b/build/submodules/shaderc @@ -0,0 +1 @@ +Subproject commit 4dc596ddc2702092c670e828745dc3e0338d83c1 diff --git a/build/submodules/vkd3d b/build/submodules/vkd3d index 57d92a15cf..df0a031ad8 160000 --- a/build/submodules/vkd3d +++ b/build/submodules/vkd3d @@ -1 +1 @@ -Subproject commit 57d92a15cf93d9448f2deb91a8614f9c4c085216 +Subproject commit df0a031ad8621d2bfbdebcfe7266bd56abfe73e6 diff --git a/generator.json b/generator.json index 2c2bd6626a..8fd2792fb9 100644 --- a/generator.json +++ b/generator.json @@ -2656,6 +2656,79 @@ } ] }, + { + "profileName": "shaderc", + "sources": [ + "build/submodules/shaderc/libshaderc/include/shaderc/shaderc.h" + ], + "mode": "Clang", + "cacheDir": "build/cache", + "cacheKey": "shaderc", + "controlDescriptors": [ + "convert-windows-only", + "no-pre-2.18-obsolete-enums", + "typemap-native", + "no-extra-dir" + ], + "converter": {}, + "prefix": "shaderc_", + "clang": { + "args": [ + "--language=c++", + "--std=c++17", + "-m64", + "-Wno-expansion-to-defined", + "-Wno-ignored-attributes", + "-Wno-ignored-pragma-intrinsic", + "-Wno-nonportable-include-path", + "-Wno-pragma-pack", + "-I$windowsSdkIncludes", + "-Ibuild/submodules/shaderc/libshaderc/include" + ], + "traverse": [ + "build/submodules/shaderc/libshaderc/include/shaderc/shaderc.h", + "build/submodules/shaderc/libshaderc/include/shaderc/env.h", + "build/submodules/shaderc/libshaderc/include/shaderc/status.h" + ], + "classes": { + "shaderc.h": "[Core]Shaderc", + "env.h": "[Core]Shaderc" + } + }, + "exclude": [ + ], + "rename": { + }, + "bakery": { + "profileNames": [ + "shaderc" + ] + }, + "output": { + "mode": "Default", + "path": "src/SPIRV/Silk.NET.Shaderc", + "licenseFile": "build/LICENSE_HEADER.txt", + "props": "build/props/bindings.props" + }, + "namespace": "Silk.NET.Shaderc", + "extensionsNamespace": "Silk.NET.Shaderc.Extensions", + "nameContainer": { + "linux-x64": "libshaderc_shared.so", + "win-x64": "shaderc_shared.dll", + "win-x86": "shaderc_shared.dll", + "osx-x64": "libshaderc_shared.dylib", + "android": "libshaderc_shared.so", + "className": "ShadercLibraryNameContainer" + }, + "typeMaps": [ + { + }, + { + "$include.commonTypeMap": "build/csharp_typemap.json", + "$include.dxTypeMap": "build/dx_typemap.json" + } + ] + }, { "profileName": "WGL", "sources": [ diff --git a/src/Native/Silk.NET.Assimp.Native/runtimes/linux-x64/native/libassimp.so.5 b/src/Native/Silk.NET.Assimp.Native/runtimes/linux-x64/native/libassimp.so.5 index 22fa9c40a8..21d43d1a43 100755 Binary files a/src/Native/Silk.NET.Assimp.Native/runtimes/linux-x64/native/libassimp.so.5 and b/src/Native/Silk.NET.Assimp.Native/runtimes/linux-x64/native/libassimp.so.5 differ diff --git a/src/Native/Silk.NET.Assimp.Native/runtimes/win-x64/native/Assimp64.dll b/src/Native/Silk.NET.Assimp.Native/runtimes/win-x64/native/Assimp64.dll index c0826b5d14..15e4ecf157 100644 Binary files a/src/Native/Silk.NET.Assimp.Native/runtimes/win-x64/native/Assimp64.dll and b/src/Native/Silk.NET.Assimp.Native/runtimes/win-x64/native/Assimp64.dll differ diff --git a/src/Native/Silk.NET.Assimp.Native/runtimes/win-x86/native/Assimp32.dll b/src/Native/Silk.NET.Assimp.Native/runtimes/win-x86/native/Assimp32.dll index 6fa10b0189..8fbf341fe2 100644 Binary files a/src/Native/Silk.NET.Assimp.Native/runtimes/win-x86/native/Assimp32.dll and b/src/Native/Silk.NET.Assimp.Native/runtimes/win-x86/native/Assimp32.dll differ diff --git a/src/Native/Silk.NET.DXVK.Native/runtimes/linux-x64/native/glfw-libdxvk_d3d10core.so b/src/Native/Silk.NET.DXVK.Native/runtimes/linux-x64/native/glfw-libdxvk_d3d10core.so index a7ebe57227..c3d1ab7511 100755 Binary files a/src/Native/Silk.NET.DXVK.Native/runtimes/linux-x64/native/glfw-libdxvk_d3d10core.so and b/src/Native/Silk.NET.DXVK.Native/runtimes/linux-x64/native/glfw-libdxvk_d3d10core.so differ diff --git a/src/Native/Silk.NET.DXVK.Native/runtimes/linux-x64/native/glfw-libdxvk_d3d11.so b/src/Native/Silk.NET.DXVK.Native/runtimes/linux-x64/native/glfw-libdxvk_d3d11.so index 2a22019805..40f4dbbcec 100755 Binary files a/src/Native/Silk.NET.DXVK.Native/runtimes/linux-x64/native/glfw-libdxvk_d3d11.so and b/src/Native/Silk.NET.DXVK.Native/runtimes/linux-x64/native/glfw-libdxvk_d3d11.so differ diff --git a/src/Native/Silk.NET.DXVK.Native/runtimes/linux-x64/native/glfw-libdxvk_d3d9.so b/src/Native/Silk.NET.DXVK.Native/runtimes/linux-x64/native/glfw-libdxvk_d3d9.so index f7b684073d..655b2ddd6d 100755 Binary files a/src/Native/Silk.NET.DXVK.Native/runtimes/linux-x64/native/glfw-libdxvk_d3d9.so and b/src/Native/Silk.NET.DXVK.Native/runtimes/linux-x64/native/glfw-libdxvk_d3d9.so differ diff --git a/src/Native/Silk.NET.DXVK.Native/runtimes/linux-x64/native/glfw-libdxvk_dxgi.so b/src/Native/Silk.NET.DXVK.Native/runtimes/linux-x64/native/glfw-libdxvk_dxgi.so index 72c9ea21b9..4eaefb2f75 100755 Binary files a/src/Native/Silk.NET.DXVK.Native/runtimes/linux-x64/native/glfw-libdxvk_dxgi.so and b/src/Native/Silk.NET.DXVK.Native/runtimes/linux-x64/native/glfw-libdxvk_dxgi.so differ diff --git a/src/Native/Silk.NET.DXVK.Native/runtimes/linux-x64/native/sdl2-libdxvk_d3d10core.so b/src/Native/Silk.NET.DXVK.Native/runtimes/linux-x64/native/sdl2-libdxvk_d3d10core.so index a7ebe57227..c3d1ab7511 100755 Binary files a/src/Native/Silk.NET.DXVK.Native/runtimes/linux-x64/native/sdl2-libdxvk_d3d10core.so and b/src/Native/Silk.NET.DXVK.Native/runtimes/linux-x64/native/sdl2-libdxvk_d3d10core.so differ diff --git a/src/Native/Silk.NET.DXVK.Native/runtimes/linux-x64/native/sdl2-libdxvk_d3d11.so b/src/Native/Silk.NET.DXVK.Native/runtimes/linux-x64/native/sdl2-libdxvk_d3d11.so index 7684b3471f..c21dde1b95 100755 Binary files a/src/Native/Silk.NET.DXVK.Native/runtimes/linux-x64/native/sdl2-libdxvk_d3d11.so and b/src/Native/Silk.NET.DXVK.Native/runtimes/linux-x64/native/sdl2-libdxvk_d3d11.so differ diff --git a/src/Native/Silk.NET.DXVK.Native/runtimes/linux-x64/native/sdl2-libdxvk_d3d9.so b/src/Native/Silk.NET.DXVK.Native/runtimes/linux-x64/native/sdl2-libdxvk_d3d9.so index 79b2168d10..706767b2f0 100755 Binary files a/src/Native/Silk.NET.DXVK.Native/runtimes/linux-x64/native/sdl2-libdxvk_d3d9.so and b/src/Native/Silk.NET.DXVK.Native/runtimes/linux-x64/native/sdl2-libdxvk_d3d9.so differ diff --git a/src/Native/Silk.NET.DXVK.Native/runtimes/linux-x64/native/sdl2-libdxvk_dxgi.so b/src/Native/Silk.NET.DXVK.Native/runtimes/linux-x64/native/sdl2-libdxvk_dxgi.so index 65f0e258e9..ce4f6d95c1 100755 Binary files a/src/Native/Silk.NET.DXVK.Native/runtimes/linux-x64/native/sdl2-libdxvk_dxgi.so and b/src/Native/Silk.NET.DXVK.Native/runtimes/linux-x64/native/sdl2-libdxvk_dxgi.so differ diff --git a/src/Native/Silk.NET.DXVK.Native/runtimes/linux-x86/native/glfw-libdxvk_d3d10core.so b/src/Native/Silk.NET.DXVK.Native/runtimes/linux-x86/native/glfw-libdxvk_d3d10core.so index da0dbfdde7..048aa5065c 100755 Binary files a/src/Native/Silk.NET.DXVK.Native/runtimes/linux-x86/native/glfw-libdxvk_d3d10core.so and b/src/Native/Silk.NET.DXVK.Native/runtimes/linux-x86/native/glfw-libdxvk_d3d10core.so differ diff --git a/src/Native/Silk.NET.DXVK.Native/runtimes/linux-x86/native/glfw-libdxvk_d3d11.so b/src/Native/Silk.NET.DXVK.Native/runtimes/linux-x86/native/glfw-libdxvk_d3d11.so index 90c97278d6..daac13983d 100755 Binary files a/src/Native/Silk.NET.DXVK.Native/runtimes/linux-x86/native/glfw-libdxvk_d3d11.so and b/src/Native/Silk.NET.DXVK.Native/runtimes/linux-x86/native/glfw-libdxvk_d3d11.so differ diff --git a/src/Native/Silk.NET.DXVK.Native/runtimes/linux-x86/native/glfw-libdxvk_d3d9.so b/src/Native/Silk.NET.DXVK.Native/runtimes/linux-x86/native/glfw-libdxvk_d3d9.so index 94391ed6d7..49003c04a4 100755 Binary files a/src/Native/Silk.NET.DXVK.Native/runtimes/linux-x86/native/glfw-libdxvk_d3d9.so and b/src/Native/Silk.NET.DXVK.Native/runtimes/linux-x86/native/glfw-libdxvk_d3d9.so differ diff --git a/src/Native/Silk.NET.DXVK.Native/runtimes/linux-x86/native/glfw-libdxvk_dxgi.so b/src/Native/Silk.NET.DXVK.Native/runtimes/linux-x86/native/glfw-libdxvk_dxgi.so index a5ec13d800..d880b21a9f 100755 Binary files a/src/Native/Silk.NET.DXVK.Native/runtimes/linux-x86/native/glfw-libdxvk_dxgi.so and b/src/Native/Silk.NET.DXVK.Native/runtimes/linux-x86/native/glfw-libdxvk_dxgi.so differ diff --git a/src/Native/Silk.NET.DXVK.Native/runtimes/linux-x86/native/sdl2-libdxvk_d3d10core.so b/src/Native/Silk.NET.DXVK.Native/runtimes/linux-x86/native/sdl2-libdxvk_d3d10core.so index da0dbfdde7..048aa5065c 100755 Binary files a/src/Native/Silk.NET.DXVK.Native/runtimes/linux-x86/native/sdl2-libdxvk_d3d10core.so and b/src/Native/Silk.NET.DXVK.Native/runtimes/linux-x86/native/sdl2-libdxvk_d3d10core.so differ diff --git a/src/Native/Silk.NET.DXVK.Native/runtimes/linux-x86/native/sdl2-libdxvk_d3d11.so b/src/Native/Silk.NET.DXVK.Native/runtimes/linux-x86/native/sdl2-libdxvk_d3d11.so index b85ffc51e0..ac503c1b48 100755 Binary files a/src/Native/Silk.NET.DXVK.Native/runtimes/linux-x86/native/sdl2-libdxvk_d3d11.so and b/src/Native/Silk.NET.DXVK.Native/runtimes/linux-x86/native/sdl2-libdxvk_d3d11.so differ diff --git a/src/Native/Silk.NET.DXVK.Native/runtimes/linux-x86/native/sdl2-libdxvk_d3d9.so b/src/Native/Silk.NET.DXVK.Native/runtimes/linux-x86/native/sdl2-libdxvk_d3d9.so index dee2511004..f813956997 100755 Binary files a/src/Native/Silk.NET.DXVK.Native/runtimes/linux-x86/native/sdl2-libdxvk_d3d9.so and b/src/Native/Silk.NET.DXVK.Native/runtimes/linux-x86/native/sdl2-libdxvk_d3d9.so differ diff --git a/src/Native/Silk.NET.DXVK.Native/runtimes/linux-x86/native/sdl2-libdxvk_dxgi.so b/src/Native/Silk.NET.DXVK.Native/runtimes/linux-x86/native/sdl2-libdxvk_dxgi.so index b6bb60d1fa..bd38fa4160 100755 Binary files a/src/Native/Silk.NET.DXVK.Native/runtimes/linux-x86/native/sdl2-libdxvk_dxgi.so and b/src/Native/Silk.NET.DXVK.Native/runtimes/linux-x86/native/sdl2-libdxvk_dxgi.so differ diff --git a/src/Native/Silk.NET.DXVK.Native/runtimes/win-x64/native/dxvk-d3d10core.dll b/src/Native/Silk.NET.DXVK.Native/runtimes/win-x64/native/dxvk-d3d10core.dll index f96745d073..2846b78e39 100755 Binary files a/src/Native/Silk.NET.DXVK.Native/runtimes/win-x64/native/dxvk-d3d10core.dll and b/src/Native/Silk.NET.DXVK.Native/runtimes/win-x64/native/dxvk-d3d10core.dll differ diff --git a/src/Native/Silk.NET.DXVK.Native/runtimes/win-x64/native/dxvk-d3d11.dll b/src/Native/Silk.NET.DXVK.Native/runtimes/win-x64/native/dxvk-d3d11.dll index b758c09261..c263cd9ac3 100755 Binary files a/src/Native/Silk.NET.DXVK.Native/runtimes/win-x64/native/dxvk-d3d11.dll and b/src/Native/Silk.NET.DXVK.Native/runtimes/win-x64/native/dxvk-d3d11.dll differ diff --git a/src/Native/Silk.NET.DXVK.Native/runtimes/win-x64/native/dxvk-d3d9.dll b/src/Native/Silk.NET.DXVK.Native/runtimes/win-x64/native/dxvk-d3d9.dll index d764fa678d..c8f8a6bd1e 100755 Binary files a/src/Native/Silk.NET.DXVK.Native/runtimes/win-x64/native/dxvk-d3d9.dll and b/src/Native/Silk.NET.DXVK.Native/runtimes/win-x64/native/dxvk-d3d9.dll differ diff --git a/src/Native/Silk.NET.DXVK.Native/runtimes/win-x64/native/dxvk-dxgi.dll b/src/Native/Silk.NET.DXVK.Native/runtimes/win-x64/native/dxvk-dxgi.dll index ae2af78408..8b0c03f230 100755 Binary files a/src/Native/Silk.NET.DXVK.Native/runtimes/win-x64/native/dxvk-dxgi.dll and b/src/Native/Silk.NET.DXVK.Native/runtimes/win-x64/native/dxvk-dxgi.dll differ diff --git a/src/Native/Silk.NET.DXVK.Native/runtimes/win-x86/native/dxvk-d3d10core.dll b/src/Native/Silk.NET.DXVK.Native/runtimes/win-x86/native/dxvk-d3d10core.dll index fa35390921..ccac702673 100755 Binary files a/src/Native/Silk.NET.DXVK.Native/runtimes/win-x86/native/dxvk-d3d10core.dll and b/src/Native/Silk.NET.DXVK.Native/runtimes/win-x86/native/dxvk-d3d10core.dll differ diff --git a/src/Native/Silk.NET.DXVK.Native/runtimes/win-x86/native/dxvk-d3d11.dll b/src/Native/Silk.NET.DXVK.Native/runtimes/win-x86/native/dxvk-d3d11.dll index 9de426c0d2..6d723b9a8a 100755 Binary files a/src/Native/Silk.NET.DXVK.Native/runtimes/win-x86/native/dxvk-d3d11.dll and b/src/Native/Silk.NET.DXVK.Native/runtimes/win-x86/native/dxvk-d3d11.dll differ diff --git a/src/Native/Silk.NET.DXVK.Native/runtimes/win-x86/native/dxvk-d3d9.dll b/src/Native/Silk.NET.DXVK.Native/runtimes/win-x86/native/dxvk-d3d9.dll index 4de2e5227a..f5431af53a 100755 Binary files a/src/Native/Silk.NET.DXVK.Native/runtimes/win-x86/native/dxvk-d3d9.dll and b/src/Native/Silk.NET.DXVK.Native/runtimes/win-x86/native/dxvk-d3d9.dll differ diff --git a/src/Native/Silk.NET.DXVK.Native/runtimes/win-x86/native/dxvk-dxgi.dll b/src/Native/Silk.NET.DXVK.Native/runtimes/win-x86/native/dxvk-dxgi.dll index c7823db79e..d0c573011f 100755 Binary files a/src/Native/Silk.NET.DXVK.Native/runtimes/win-x86/native/dxvk-dxgi.dll and b/src/Native/Silk.NET.DXVK.Native/runtimes/win-x86/native/dxvk-dxgi.dll differ diff --git a/src/Native/Silk.NET.GLFW.Native/runtimes/linux-x64/native/libglfw.so b/src/Native/Silk.NET.GLFW.Native/runtimes/linux-x64/native/libglfw.so index 67a138597b..007e5338a6 100755 Binary files a/src/Native/Silk.NET.GLFW.Native/runtimes/linux-x64/native/libglfw.so and b/src/Native/Silk.NET.GLFW.Native/runtimes/linux-x64/native/libglfw.so differ diff --git a/src/Native/Silk.NET.GLFW.Native/runtimes/osx-arm64/native/libglfw.3.dylib b/src/Native/Silk.NET.GLFW.Native/runtimes/osx-arm64/native/libglfw.3.dylib index 1b96c905bf..daa35c14bb 100755 Binary files a/src/Native/Silk.NET.GLFW.Native/runtimes/osx-arm64/native/libglfw.3.dylib and b/src/Native/Silk.NET.GLFW.Native/runtimes/osx-arm64/native/libglfw.3.dylib differ diff --git a/src/Native/Silk.NET.GLFW.Native/runtimes/win-arm64/native/glfw3.dll b/src/Native/Silk.NET.GLFW.Native/runtimes/win-arm64/native/glfw3.dll index 5ae2c87a61..7d8daf2a7b 100644 Binary files a/src/Native/Silk.NET.GLFW.Native/runtimes/win-arm64/native/glfw3.dll and b/src/Native/Silk.NET.GLFW.Native/runtimes/win-arm64/native/glfw3.dll differ diff --git a/src/Native/Silk.NET.GLFW.Native/runtimes/win-x64/native/glfw3.dll b/src/Native/Silk.NET.GLFW.Native/runtimes/win-x64/native/glfw3.dll index 4d4b3af61c..98b414f5f0 100644 Binary files a/src/Native/Silk.NET.GLFW.Native/runtimes/win-x64/native/glfw3.dll and b/src/Native/Silk.NET.GLFW.Native/runtimes/win-x64/native/glfw3.dll differ diff --git a/src/Native/Silk.NET.GLFW.Native/runtimes/win-x86/native/glfw3.dll b/src/Native/Silk.NET.GLFW.Native/runtimes/win-x86/native/glfw3.dll index ae60c515d9..133fcdb7f4 100644 Binary files a/src/Native/Silk.NET.GLFW.Native/runtimes/win-x86/native/glfw3.dll and b/src/Native/Silk.NET.GLFW.Native/runtimes/win-x86/native/glfw3.dll differ diff --git a/src/Native/Silk.NET.OpenGLES.ANGLE.Native/runtimes/linux-x64/native/libEGL.so b/src/Native/Silk.NET.OpenGLES.ANGLE.Native/runtimes/linux-x64/native/libEGL.so index 9056d1385b..202eca8520 100755 Binary files a/src/Native/Silk.NET.OpenGLES.ANGLE.Native/runtimes/linux-x64/native/libEGL.so and b/src/Native/Silk.NET.OpenGLES.ANGLE.Native/runtimes/linux-x64/native/libEGL.so differ diff --git a/src/Native/Silk.NET.OpenGLES.ANGLE.Native/runtimes/linux-x64/native/libGLESv2.so b/src/Native/Silk.NET.OpenGLES.ANGLE.Native/runtimes/linux-x64/native/libGLESv2.so index c7f97470af..f942d2fd67 100755 Binary files a/src/Native/Silk.NET.OpenGLES.ANGLE.Native/runtimes/linux-x64/native/libGLESv2.so and b/src/Native/Silk.NET.OpenGLES.ANGLE.Native/runtimes/linux-x64/native/libGLESv2.so differ diff --git a/src/Native/Silk.NET.SDL.Native/runtimes/osx-arm64/native/libSDL2-2.0.dylib b/src/Native/Silk.NET.SDL.Native/runtimes/osx-arm64/native/libSDL2-2.0.dylib index 2466162a2d..703624a63c 100755 Binary files a/src/Native/Silk.NET.SDL.Native/runtimes/osx-arm64/native/libSDL2-2.0.dylib and b/src/Native/Silk.NET.SDL.Native/runtimes/osx-arm64/native/libSDL2-2.0.dylib differ diff --git a/src/Native/Silk.NET.SDL.Native/runtimes/win-arm64/native/SDL2.dll b/src/Native/Silk.NET.SDL.Native/runtimes/win-arm64/native/SDL2.dll index fd3d79f533..e161c6ab9c 100644 Binary files a/src/Native/Silk.NET.SDL.Native/runtimes/win-arm64/native/SDL2.dll and b/src/Native/Silk.NET.SDL.Native/runtimes/win-arm64/native/SDL2.dll differ diff --git a/src/Native/Silk.NET.SDL.Native/runtimes/win-x64/native/SDL2.dll b/src/Native/Silk.NET.SDL.Native/runtimes/win-x64/native/SDL2.dll index bb490b80a4..2d43a0a6fa 100644 Binary files a/src/Native/Silk.NET.SDL.Native/runtimes/win-x64/native/SDL2.dll and b/src/Native/Silk.NET.SDL.Native/runtimes/win-x64/native/SDL2.dll differ diff --git a/src/Native/Silk.NET.SDL.Native/runtimes/win-x86/native/SDL2.dll b/src/Native/Silk.NET.SDL.Native/runtimes/win-x86/native/SDL2.dll index ee5ef679c6..2a97b9bf93 100644 Binary files a/src/Native/Silk.NET.SDL.Native/runtimes/win-x86/native/SDL2.dll and b/src/Native/Silk.NET.SDL.Native/runtimes/win-x86/native/SDL2.dll differ diff --git a/src/Native/Silk.NET.SPIRV.Cross.Native/build/net461/Silk.NET.SPIRV.Cross.Native.props b/src/Native/Silk.NET.SPIRV.Cross.Native/build/net461/Silk.NET.SPIRV.Cross.Native.props index 7bb6e60491..c9538b1485 100644 --- a/src/Native/Silk.NET.SPIRV.Cross.Native/build/net461/Silk.NET.SPIRV.Cross.Native.props +++ b/src/Native/Silk.NET.SPIRV.Cross.Native/build/net461/Silk.NET.SPIRV.Cross.Native.props @@ -5,20 +5,25 @@ <_Silk_NativePackages_SPIRVCross_IsMacOS Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::OSX)))' == 'true'">true <_Silk_NativePackages_SPIRVCross_IsLinux Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Linux)))' == 'true'">true - <_Silk_NativePackages_SPIRVCross_NativeRuntime Condition=" '$(_Silk_NativePackages_SPIRVCross_NativeRuntime)' == '' And '$(_Silk_NativePackages_SPIRVCross_IsLinux)' == 'true' And ('$(Prefer32Bit)' == 'false' Or '$(PlatformTarget)' == 'x64')">linux-x64 <_Silk_NativePackages_SPIRVCross_NativeRuntime Condition=" '$(_Silk_NativePackages_SPIRVCross_NativeRuntime)' == '' And '$(_Silk_NativePackages_SPIRVCross_IsLinux)' == 'true' And ('$(Prefer32Bit)' == 'true' Or '$(PlatformTarget)' == 'x86')">linux-x86 + <_Silk_NativePackages_SPIRVCross_NativeRuntime Condition=" '$(_Silk_NativePackages_SPIRVCross_NativeRuntime)' == '' And '$(_Silk_NativePackages_SPIRVCross_IsLinux)' == 'true' And ('$(Prefer32Bit)' == 'false' Or '$(PlatformTarget)' == 'x64')">linux-x64 + <_Silk_NativePackages_SPIRVCross_NativeRuntime Condition=" '$(_Silk_NativePackages_SPIRVCross_NativeRuntime)' == '' And '$(_Silk_NativePackages_SPIRVCross_IsLinux)' == 'true' And '$(PlatformTarget)' == 'arm64'">linux-arm64 + <_Silk_NativePackages_SPIRVCross_NativeRuntime Condition=" '$(_Silk_NativePackages_SPIRVCross_NativeRuntime)' == '' And '$(_Silk_NativePackages_SPIRVCross_IsWindows)' == 'true' And ('$(Prefer32Bit)' == 'true' Or '$(PlatformTarget)' == 'x86')">win-x86 <_Silk_NativePackages_SPIRVCross_NativeRuntime Condition=" '$(_Silk_NativePackages_SPIRVCross_NativeRuntime)' == '' And '$(_Silk_NativePackages_SPIRVCross_IsWindows)' == 'true' And ('$(Prefer32Bit)' == 'false' Or '$(PlatformTarget)' == 'x64')">win-x64 <_Silk_NativePackages_SPIRVCross_NativeRuntime Condition=" '$(_Silk_NativePackages_SPIRVCross_NativeRuntime)' == '' And '$(_Silk_NativePackages_SPIRVCross_IsWindows)' == 'true' And '$(PlatformTarget)' == 'arm64'">win-arm64 + <_Silk_NativePackages_SPIRVCross_NativeRuntime Condition=" '$(_Silk_NativePackages_SPIRVCross_NativeRuntime)' == '' And '$(_Silk_NativePackages_SPIRVCross_IsMacOS)' == 'true' And ('$(Prefer32Bit)' == 'false' Or '$(PlatformTarget)' == 'x64')">osx-x64 - <_Silk_NativePackages_SPIRVCross_NativeRuntime Condition=" '$(_Silk_NativePackages_SPIRVCross_NativeRuntime)' == '' And '$(_Silk_NativePackages_SPIRVCross_IsMacOS)' == 'true' And ('$(Prefer32Bit)' == 'false' Or '$(PlatformTarget)' == 'x64')">osx-x64 + <_Silk_NativePackages_SPIRVCross_NativeRuntime Condition=" '$(_Silk_NativePackages_SPIRVCross_NativeRuntime)' == '' And '$(_Silk_NativePackages_SPIRVCross_IsMacOS)' == 'true' And '$(PlatformTarget)' == 'arm64'">osx-arm64 <_Silk_NativePackages_SPIRVCross_NativeLibName Condition="'$(_Silk_NativePackages_SPIRVCross_NativeRuntime)' == 'win-x86'">spirv-cross.dll <_Silk_NativePackages_SPIRVCross_NativeLibName Condition="'$(_Silk_NativePackages_SPIRVCross_NativeRuntime)' == 'win-x64'">spirv-cross.dll <_Silk_NativePackages_SPIRVCross_NativeLibName Condition="'$(_Silk_NativePackages_SPIRVCross_NativeRuntime)' == 'win-arm64'">spirv-cross.dll + <_Silk_NativePackages_SPIRVCross_NativeLibName Condition="'$(_Silk_NativePackages_SPIRVCross_NativeRuntime)' == 'linux-x64'">libspirv-cross.so <_Silk_NativePackages_SPIRVCross_NativeLibName Condition="'$(_Silk_NativePackages_SPIRVCross_NativeRuntime)' == 'linux-x86'">libspirv-cross.so <_Silk_NativePackages_SPIRVCross_NativeLibName Condition="'$(_Silk_NativePackages_SPIRVCross_NativeRuntime)' == 'linux-arm64'">libspirv-cross.so + <_Silk_NativePackages_SPIRVCross_NativeLibName Condition="'$(_Silk_NativePackages_SPIRVCross_NativeRuntime)' == 'osx-arm64'">libspirv-cross.dylib <_Silk_NativePackages_SPIRVCross_NativeLibName Condition="'$(_Silk_NativePackages_SPIRVCross_NativeRuntime)' == 'osx-x64'">libspirv-cross.dylib diff --git a/src/Native/Silk.NET.SPIRV.Cross.Native/runtimes/linux-arm64/native/libspirv-cross.so b/src/Native/Silk.NET.SPIRV.Cross.Native/runtimes/linux-arm64/native/libspirv-cross.so index 863240f0b4..944b5d4c9f 100755 Binary files a/src/Native/Silk.NET.SPIRV.Cross.Native/runtimes/linux-arm64/native/libspirv-cross.so and b/src/Native/Silk.NET.SPIRV.Cross.Native/runtimes/linux-arm64/native/libspirv-cross.so differ diff --git a/src/Native/Silk.NET.SPIRV.Cross.Native/runtimes/linux-x64/native/libspirv-cross.so b/src/Native/Silk.NET.SPIRV.Cross.Native/runtimes/linux-x64/native/libspirv-cross.so index 2c04df0c08..df71bfd4c9 100755 Binary files a/src/Native/Silk.NET.SPIRV.Cross.Native/runtimes/linux-x64/native/libspirv-cross.so and b/src/Native/Silk.NET.SPIRV.Cross.Native/runtimes/linux-x64/native/libspirv-cross.so differ diff --git a/src/Native/Silk.NET.SPIRV.Cross.Native/runtimes/linux-x86/native/libspirv-cross.so b/src/Native/Silk.NET.SPIRV.Cross.Native/runtimes/linux-x86/native/libspirv-cross.so index ec6b790f26..653e2b99b9 100755 Binary files a/src/Native/Silk.NET.SPIRV.Cross.Native/runtimes/linux-x86/native/libspirv-cross.so and b/src/Native/Silk.NET.SPIRV.Cross.Native/runtimes/linux-x86/native/libspirv-cross.so differ diff --git a/src/Native/Silk.NET.SPIRV.Cross.Native/runtimes/osx-arm64/native/libspirv-cross.dylib b/src/Native/Silk.NET.SPIRV.Cross.Native/runtimes/osx-arm64/native/libspirv-cross.dylib index 91ad8ec9bb..a99982ea06 100755 Binary files a/src/Native/Silk.NET.SPIRV.Cross.Native/runtimes/osx-arm64/native/libspirv-cross.dylib and b/src/Native/Silk.NET.SPIRV.Cross.Native/runtimes/osx-arm64/native/libspirv-cross.dylib differ diff --git a/src/Native/Silk.NET.SPIRV.Cross.Native/runtimes/osx-x64/native/libspirv-cross.dylib b/src/Native/Silk.NET.SPIRV.Cross.Native/runtimes/osx-x64/native/libspirv-cross.dylib index 5069a45a4a..1dba21d087 100755 Binary files a/src/Native/Silk.NET.SPIRV.Cross.Native/runtimes/osx-x64/native/libspirv-cross.dylib and b/src/Native/Silk.NET.SPIRV.Cross.Native/runtimes/osx-x64/native/libspirv-cross.dylib differ diff --git a/src/Native/Silk.NET.SPIRV.Cross.Native/runtimes/win-arm64/native/spirv-cross.dll b/src/Native/Silk.NET.SPIRV.Cross.Native/runtimes/win-arm64/native/spirv-cross.dll index 0e24a56b0e..7e56136f64 100755 Binary files a/src/Native/Silk.NET.SPIRV.Cross.Native/runtimes/win-arm64/native/spirv-cross.dll and b/src/Native/Silk.NET.SPIRV.Cross.Native/runtimes/win-arm64/native/spirv-cross.dll differ diff --git a/src/Native/Silk.NET.SPIRV.Cross.Native/runtimes/win-x64/native/spirv-cross.dll b/src/Native/Silk.NET.SPIRV.Cross.Native/runtimes/win-x64/native/spirv-cross.dll index 3666f0f4f8..8e79376954 100755 Binary files a/src/Native/Silk.NET.SPIRV.Cross.Native/runtimes/win-x64/native/spirv-cross.dll and b/src/Native/Silk.NET.SPIRV.Cross.Native/runtimes/win-x64/native/spirv-cross.dll differ diff --git a/src/Native/Silk.NET.SPIRV.Cross.Native/runtimes/win-x86/native/spirv-cross.dll b/src/Native/Silk.NET.SPIRV.Cross.Native/runtimes/win-x86/native/spirv-cross.dll index 88d855ca2a..b95324064b 100755 Binary files a/src/Native/Silk.NET.SPIRV.Cross.Native/runtimes/win-x86/native/spirv-cross.dll and b/src/Native/Silk.NET.SPIRV.Cross.Native/runtimes/win-x86/native/spirv-cross.dll differ diff --git a/src/Native/Silk.NET.SPIRV.Reflect.Native/build/net461/Silk.NET.SPIRV.Reflect.Native.props b/src/Native/Silk.NET.SPIRV.Reflect.Native/build/net461/Silk.NET.SPIRV.Reflect.Native.props index 762513ee2d..400de84dc9 100644 --- a/src/Native/Silk.NET.SPIRV.Reflect.Native/build/net461/Silk.NET.SPIRV.Reflect.Native.props +++ b/src/Native/Silk.NET.SPIRV.Reflect.Native/build/net461/Silk.NET.SPIRV.Reflect.Native.props @@ -5,22 +5,27 @@ <_Silk_NativePackages_SPIRVReflect_IsMacOS Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::OSX)))' == 'true'">true <_Silk_NativePackages_SPIRVReflect_IsLinux Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Linux)))' == 'true'">true - <_Silk_NativePackages_SPIRVReflect_NativeRuntime Condition=" '$(_Silk_NativePackages_SPIRVReflect_NativeRuntime)' == '' And '$(_Silk_NativePackages_SPIRVReflect_IsLinux)' == 'true' And ('$(Prefer32Bit)' == 'false' Or '$(PlatformTarget)' == 'x64')">linux-x64 <_Silk_NativePackages_SPIRVReflect_NativeRuntime Condition=" '$(_Silk_NativePackages_SPIRVReflect_NativeRuntime)' == '' And '$(_Silk_NativePackages_SPIRVReflect_IsLinux)' == 'true' And ('$(Prefer32Bit)' == 'true' Or '$(PlatformTarget)' == 'x86')">linux-x86 + <_Silk_NativePackages_SPIRVReflect_NativeRuntime Condition=" '$(_Silk_NativePackages_SPIRVReflect_NativeRuntime)' == '' And '$(_Silk_NativePackages_SPIRVReflect_IsLinux)' == 'true' And ('$(Prefer32Bit)' == 'false' Or '$(PlatformTarget)' == 'x64')">linux-x64 + <_Silk_NativePackages_SPIRVReflect_NativeRuntime Condition=" '$(_Silk_NativePackages_SPIRVReflect_NativeRuntime)' == '' And '$(_Silk_NativePackages_SPIRVReflect_IsLinux)' == 'true' And '$(PlatformTarget)' == 'arm64'">linux-arm64 + <_Silk_NativePackages_SPIRVReflect_NativeRuntime Condition=" '$(_Silk_NativePackages_SPIRVReflect_NativeRuntime)' == '' And '$(_Silk_NativePackages_SPIRVReflect_IsWindows)' == 'true' And ('$(Prefer32Bit)' == 'true' Or '$(PlatformTarget)' == 'x86')">win-x86 <_Silk_NativePackages_SPIRVReflect_NativeRuntime Condition=" '$(_Silk_NativePackages_SPIRVReflect_NativeRuntime)' == '' And '$(_Silk_NativePackages_SPIRVReflect_IsWindows)' == 'true' And ('$(Prefer32Bit)' == 'false' Or '$(PlatformTarget)' == 'x64')">win-x64 <_Silk_NativePackages_SPIRVReflect_NativeRuntime Condition=" '$(_Silk_NativePackages_SPIRVReflect_NativeRuntime)' == '' And '$(_Silk_NativePackages_SPIRVReflect_IsWindows)' == 'true' And '$(PlatformTarget)' == 'arm64'">win-arm64 + <_Silk_NativePackages_SPIRVReflect_NativeRuntime Condition=" '$(_Silk_NativePackages_SPIRVReflect_NativeRuntime)' == '' And '$(_Silk_NativePackages_SPIRVReflect_IsMacOS)' == 'true' And ('$(Prefer32Bit)' == 'false' Or '$(PlatformTarget)' == 'x64')">osx-x64 - <_Silk_NativePackages_SPIRVReflect_NativeRuntime Condition=" '$(_Silk_NativePackages_SPIRVReflect_NativeRuntime)' == '' And '$(_Silk_NativePackages_SPIRVReflect_IsMacOS)' == 'true' And ('$(Prefer32Bit)' == 'false' Or '$(PlatformTarget)' == 'x64')">osx-x64 + <_Silk_NativePackages_SPIRVReflect_NativeRuntime Condition=" '$(_Silk_NativePackages_SPIRVReflect_NativeRuntime)' == '' And '$(_Silk_NativePackages_SPIRVReflect_IsMacOS)' == 'true' And '$(PlatformTarget)' == 'arm64'">osx-arm64 <_Silk_NativePackages_SPIRVReflect_NativeLibName Condition="'$(_Silk_NativePackages_SPIRVReflect_NativeRuntime)' == 'win-x86'">spirv-reflect.dll <_Silk_NativePackages_SPIRVReflect_NativeLibName Condition="'$(_Silk_NativePackages_SPIRVReflect_NativeRuntime)' == 'win-x64'">spirv-reflect.dll <_Silk_NativePackages_SPIRVReflect_NativeLibName Condition="'$(_Silk_NativePackages_SPIRVReflect_NativeRuntime)' == 'win-arm64'">spirv-reflect.dll - <_Silk_NativePackages_SPIRVReflect_NativeLibName Condition="'$(_Silk_NativePackages_SPIRVReflect_NativeRuntime)' == 'linux-x64'">libspirv-reflect.so + <_Silk_NativePackages_SPIRVReflect_NativeLibName Condition="'$(_Silk_NativePackages_SPIRVReflect_NativeRuntime)' == 'linux-x86'">libspirv-reflect.so + <_Silk_NativePackages_SPIRVReflect_NativeLibName Condition="'$(_Silk_NativePackages_SPIRVReflect_NativeRuntime)' == 'linux-x64'">libspirv-reflect.so <_Silk_NativePackages_SPIRVReflect_NativeLibName Condition="'$(_Silk_NativePackages_SPIRVReflect_NativeRuntime)' == 'linux-arm64'">libspirv-reflect.so - <_Silk_NativePackages_SPIRVReflect_NativeLibName Condition="'$(_Silk_NativePackages_SPIRVReflect_NativeRuntime)' == 'osx-arm64'">libspirv-reflect.dylib + <_Silk_NativePackages_SPIRVReflect_NativeLibName Condition="'$(_Silk_NativePackages_SPIRVReflect_NativeRuntime)' == 'osx-x64'">libspirv-reflect.dylib + <_Silk_NativePackages_SPIRVReflect_NativeLibName Condition="'$(_Silk_NativePackages_SPIRVReflect_NativeRuntime)' == 'osx-arm64'">libspirv-reflect.dylib diff --git a/src/Native/Silk.NET.SPIRV.Reflect.Native/runtimes/linux-arm64/native/libspirv-reflect.so b/src/Native/Silk.NET.SPIRV.Reflect.Native/runtimes/linux-arm64/native/libspirv-reflect.so index 2eca62e424..21fd3ff85f 100755 Binary files a/src/Native/Silk.NET.SPIRV.Reflect.Native/runtimes/linux-arm64/native/libspirv-reflect.so and b/src/Native/Silk.NET.SPIRV.Reflect.Native/runtimes/linux-arm64/native/libspirv-reflect.so differ diff --git a/src/Native/Silk.NET.SPIRV.Reflect.Native/runtimes/linux-x64/native/libspirv-reflect.so b/src/Native/Silk.NET.SPIRV.Reflect.Native/runtimes/linux-x64/native/libspirv-reflect.so index 6c7362c579..6d24857209 100755 Binary files a/src/Native/Silk.NET.SPIRV.Reflect.Native/runtimes/linux-x64/native/libspirv-reflect.so and b/src/Native/Silk.NET.SPIRV.Reflect.Native/runtimes/linux-x64/native/libspirv-reflect.so differ diff --git a/src/Native/Silk.NET.SPIRV.Reflect.Native/runtimes/linux-x86/native/libspirv-reflect.so b/src/Native/Silk.NET.SPIRV.Reflect.Native/runtimes/linux-x86/native/libspirv-reflect.so index 9810036bd8..8946a629ab 100755 Binary files a/src/Native/Silk.NET.SPIRV.Reflect.Native/runtimes/linux-x86/native/libspirv-reflect.so and b/src/Native/Silk.NET.SPIRV.Reflect.Native/runtimes/linux-x86/native/libspirv-reflect.so differ diff --git a/src/Native/Silk.NET.SPIRV.Reflect.Native/runtimes/osx-arm64/native/libspirv-reflect.dylib b/src/Native/Silk.NET.SPIRV.Reflect.Native/runtimes/osx-arm64/native/libspirv-reflect.dylib index 0248743862..3d39ee5736 100755 Binary files a/src/Native/Silk.NET.SPIRV.Reflect.Native/runtimes/osx-arm64/native/libspirv-reflect.dylib and b/src/Native/Silk.NET.SPIRV.Reflect.Native/runtimes/osx-arm64/native/libspirv-reflect.dylib differ diff --git a/src/Native/Silk.NET.SPIRV.Reflect.Native/runtimes/osx-x64/native/libspirv-reflect.dylib b/src/Native/Silk.NET.SPIRV.Reflect.Native/runtimes/osx-x64/native/libspirv-reflect.dylib index 4bc172f454..eecfb22a4f 100755 Binary files a/src/Native/Silk.NET.SPIRV.Reflect.Native/runtimes/osx-x64/native/libspirv-reflect.dylib and b/src/Native/Silk.NET.SPIRV.Reflect.Native/runtimes/osx-x64/native/libspirv-reflect.dylib differ diff --git a/src/Native/Silk.NET.SPIRV.Reflect.Native/runtimes/win-arm64/native/spirv-reflect.dll b/src/Native/Silk.NET.SPIRV.Reflect.Native/runtimes/win-arm64/native/spirv-reflect.dll index a8e41ada86..bb258809b8 100755 Binary files a/src/Native/Silk.NET.SPIRV.Reflect.Native/runtimes/win-arm64/native/spirv-reflect.dll and b/src/Native/Silk.NET.SPIRV.Reflect.Native/runtimes/win-arm64/native/spirv-reflect.dll differ diff --git a/src/Native/Silk.NET.SPIRV.Reflect.Native/runtimes/win-x64/native/spirv-reflect.dll b/src/Native/Silk.NET.SPIRV.Reflect.Native/runtimes/win-x64/native/spirv-reflect.dll index 23f8785888..6998615dde 100755 Binary files a/src/Native/Silk.NET.SPIRV.Reflect.Native/runtimes/win-x64/native/spirv-reflect.dll and b/src/Native/Silk.NET.SPIRV.Reflect.Native/runtimes/win-x64/native/spirv-reflect.dll differ diff --git a/src/Native/Silk.NET.SPIRV.Reflect.Native/runtimes/win-x86/native/spirv-reflect.dll b/src/Native/Silk.NET.SPIRV.Reflect.Native/runtimes/win-x86/native/spirv-reflect.dll index 9ed3cd98e8..ab6d3cfb34 100755 Binary files a/src/Native/Silk.NET.SPIRV.Reflect.Native/runtimes/win-x86/native/spirv-reflect.dll and b/src/Native/Silk.NET.SPIRV.Reflect.Native/runtimes/win-x86/native/spirv-reflect.dll differ diff --git a/src/Native/Silk.NET.Shaderc.Native/Silk.NET.Shaderc.Native.csproj b/src/Native/Silk.NET.Shaderc.Native/Silk.NET.Shaderc.Native.csproj new file mode 100644 index 0000000000..2e6494890a --- /dev/null +++ b/src/Native/Silk.NET.Shaderc.Native/Silk.NET.Shaderc.Native.csproj @@ -0,0 +1,43 @@ + + + + true + + + + + + netstandard2.0;net4.6.1 + Silk.NET.Shaderc.Native + .NET Foundation and Contributors + true + Apache-2.0 + https://github.com/google/shaderc/ + Multi-platform native library for Shaderc. + git + https://github.com/google/shaderc/ + false + true + + + + + + + + + + + + + + + + + + + + diff --git a/src/Native/Silk.NET.Shaderc.Native/build/net461/Silk.NET.Shaderc.Native.props b/src/Native/Silk.NET.Shaderc.Native/build/net461/Silk.NET.Shaderc.Native.props new file mode 100644 index 0000000000..37ff08da4e --- /dev/null +++ b/src/Native/Silk.NET.Shaderc.Native/build/net461/Silk.NET.Shaderc.Native.props @@ -0,0 +1,37 @@ + + + + <_Silk_NativePackages_Shaderc_IsWindows Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Windows)))' == 'true'">true + <_Silk_NativePackages_Shaderc_IsMacOS Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::OSX)))' == 'true'">true + <_Silk_NativePackages_Shaderc_IsLinux Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Linux)))' == 'true'">true + + <_Silk_NativePackages_Shaderc_NativeRuntime Condition=" '$(_Silk_NativePackages_Shaderc_NativeRuntime)' == '' And '$(_Silk_NativePackages_Shaderc_IsLinux)' == 'true' And ('$(Prefer32Bit)' == 'true' Or '$(PlatformTarget)' == 'x86')">linux-x86 + <_Silk_NativePackages_Shaderc_NativeRuntime Condition=" '$(_Silk_NativePackages_Shaderc_NativeRuntime)' == '' And '$(_Silk_NativePackages_Shaderc_IsLinux)' == 'true' And ('$(Prefer32Bit)' == 'false' Or '$(PlatformTarget)' == 'x64')">linux-x64 + <_Silk_NativePackages_Shaderc_NativeRuntime Condition=" '$(_Silk_NativePackages_Shaderc_NativeRuntime)' == '' And '$(_Silk_NativePackages_Shaderc_IsLinux)' == 'true' And '$(PlatformTarget)' == 'arm64'">linux-arm64 + + <_Silk_NativePackages_Shaderc_NativeRuntime Condition=" '$(_Silk_NativePackages_Shaderc_NativeRuntime)' == '' And '$(_Silk_NativePackages_Shaderc_IsWindows)' == 'true' And ('$(Prefer32Bit)' == 'true' Or '$(PlatformTarget)' == 'x86')">win-x86 + <_Silk_NativePackages_Shaderc_NativeRuntime Condition=" '$(_Silk_NativePackages_Shaderc_NativeRuntime)' == '' And '$(_Silk_NativePackages_Shaderc_IsWindows)' == 'true' And ('$(Prefer32Bit)' == 'false' Or '$(PlatformTarget)' == 'x64')">win-x64 + <_Silk_NativePackages_Shaderc_NativeRuntime Condition=" '$(_Silk_NativePackages_Shaderc_NativeRuntime)' == '' And '$(_Silk_NativePackages_Shaderc_IsWindows)' == 'true' And '$(PlatformTarget)' == 'arm64'">win-arm64 + + <_Silk_NativePackages_Shaderc_NativeRuntime Condition=" '$(_Silk_NativePackages_Shaderc_NativeRuntime)' == '' And '$(_Silk_NativePackages_Shaderc_IsMacOS)' == 'true' And ('$(Prefer32Bit)' == 'false' Or '$(PlatformTarget)' == 'x64')">osx-x64 + <_Silk_NativePackages_Shaderc_NativeRuntime Condition=" '$(_Silk_NativePackages_Shaderc_NativeRuntime)' == '' And '$(_Silk_NativePackages_Shaderc_IsMacOS)' == 'true' And '$(PlatformTarget)' == 'arm64'">osx-arm64 + + <_Silk_NativePackages_Shaderc_NativeLibName Condition="'$(_Silk_NativePackages_Shaderc_NativeRuntime)' == 'win-x86'">shaderc_shared.dll + <_Silk_NativePackages_Shaderc_NativeLibName Condition="'$(_Silk_NativePackages_Shaderc_NativeRuntime)' == 'win-x64'">shaderc_shared.dll + <_Silk_NativePackages_Shaderc_NativeLibName Condition="'$(_Silk_NativePackages_Shaderc_NativeRuntime)' == 'win-arm64'">shaderc_shared.dll + + <_Silk_NativePackages_Shaderc_NativeLibName Condition="'$(_Silk_NativePackages_Shaderc_NativeRuntime)' == 'linux-x64'">libshaderc_shared.so + <_Silk_NativePackages_Shaderc_NativeLibName Condition="'$(_Silk_NativePackages_Shaderc_NativeRuntime)' == 'linux-x86'">libshaderc_shared.so + <_Silk_NativePackages_Shaderc_NativeLibName Condition="'$(_Silk_NativePackages_Shaderc_NativeRuntime)' == 'linux-arm64'">libshaderc_shared.so + + <_Silk_NativePackages_Shaderc_NativeLibName Condition="'$(_Silk_NativePackages_Shaderc_NativeRuntime)' == 'osx-arm64'">libshaderc_shared.dylib + <_Silk_NativePackages_Shaderc_NativeLibName Condition="'$(_Silk_NativePackages_Shaderc_NativeRuntime)' == 'osx-x64'">libshaderc_shared.dylib + + + + %(Filename)%(Extension) + Always + False + + + diff --git a/src/Native/Silk.NET.Shaderc.Native/runtimes/linux-arm64/native/libshaderc_shared.so b/src/Native/Silk.NET.Shaderc.Native/runtimes/linux-arm64/native/libshaderc_shared.so new file mode 100755 index 0000000000..1dec530835 Binary files /dev/null and b/src/Native/Silk.NET.Shaderc.Native/runtimes/linux-arm64/native/libshaderc_shared.so differ diff --git a/src/Native/Silk.NET.Shaderc.Native/runtimes/linux-x64/native/libshaderc_shared.so b/src/Native/Silk.NET.Shaderc.Native/runtimes/linux-x64/native/libshaderc_shared.so new file mode 100755 index 0000000000..532b5384c6 Binary files /dev/null and b/src/Native/Silk.NET.Shaderc.Native/runtimes/linux-x64/native/libshaderc_shared.so differ diff --git a/src/Native/Silk.NET.Shaderc.Native/runtimes/linux-x86/native/libshaderc_shared.so b/src/Native/Silk.NET.Shaderc.Native/runtimes/linux-x86/native/libshaderc_shared.so new file mode 100755 index 0000000000..23df88f501 Binary files /dev/null and b/src/Native/Silk.NET.Shaderc.Native/runtimes/linux-x86/native/libshaderc_shared.so differ diff --git a/src/Native/Silk.NET.Shaderc.Native/runtimes/osx-arm64/native/libshaderc_shared.dylib b/src/Native/Silk.NET.Shaderc.Native/runtimes/osx-arm64/native/libshaderc_shared.dylib new file mode 100755 index 0000000000..61ca46161d Binary files /dev/null and b/src/Native/Silk.NET.Shaderc.Native/runtimes/osx-arm64/native/libshaderc_shared.dylib differ diff --git a/src/Native/Silk.NET.Shaderc.Native/runtimes/osx-x64/native/libshaderc_shared.dylib b/src/Native/Silk.NET.Shaderc.Native/runtimes/osx-x64/native/libshaderc_shared.dylib new file mode 100755 index 0000000000..761aa7595f Binary files /dev/null and b/src/Native/Silk.NET.Shaderc.Native/runtimes/osx-x64/native/libshaderc_shared.dylib differ diff --git a/src/Native/Silk.NET.Shaderc.Native/runtimes/win-arm64/native/shaderc_shared.dll b/src/Native/Silk.NET.Shaderc.Native/runtimes/win-arm64/native/shaderc_shared.dll new file mode 100755 index 0000000000..10b98bab74 Binary files /dev/null and b/src/Native/Silk.NET.Shaderc.Native/runtimes/win-arm64/native/shaderc_shared.dll differ diff --git a/src/Native/Silk.NET.Shaderc.Native/runtimes/win-x64/native/shaderc_shared.dll b/src/Native/Silk.NET.Shaderc.Native/runtimes/win-x64/native/shaderc_shared.dll new file mode 100755 index 0000000000..e547063d31 Binary files /dev/null and b/src/Native/Silk.NET.Shaderc.Native/runtimes/win-x64/native/shaderc_shared.dll differ diff --git a/src/Native/Silk.NET.Shaderc.Native/runtimes/win-x86/native/shaderc_shared.dll b/src/Native/Silk.NET.Shaderc.Native/runtimes/win-x86/native/shaderc_shared.dll new file mode 100755 index 0000000000..7eb2d57b75 Binary files /dev/null and b/src/Native/Silk.NET.Shaderc.Native/runtimes/win-x86/native/shaderc_shared.dll differ diff --git a/src/Native/Silk.NET.Vkd3d.Native/runtimes/linux-x64/native/libSPIRV-Tools-shared.so b/src/Native/Silk.NET.Vkd3d.Native/runtimes/linux-x64/native/libSPIRV-Tools-shared.so index eaa2dcdfa1..78d65948f3 100755 Binary files a/src/Native/Silk.NET.Vkd3d.Native/runtimes/linux-x64/native/libSPIRV-Tools-shared.so and b/src/Native/Silk.NET.Vkd3d.Native/runtimes/linux-x64/native/libSPIRV-Tools-shared.so differ diff --git a/src/Native/Silk.NET.Vkd3d.Native/runtimes/linux-x64/native/libd3dcompile_vkd3d.so b/src/Native/Silk.NET.Vkd3d.Native/runtimes/linux-x64/native/libd3dcompile_vkd3d.so index 75f9c190e0..a00fa50851 100755 Binary files a/src/Native/Silk.NET.Vkd3d.Native/runtimes/linux-x64/native/libd3dcompile_vkd3d.so and b/src/Native/Silk.NET.Vkd3d.Native/runtimes/linux-x64/native/libd3dcompile_vkd3d.so differ diff --git a/src/Native/Silk.NET.Vulkan.Loader.Native/runtimes/linux-x64/native/libvulkan.so b/src/Native/Silk.NET.Vulkan.Loader.Native/runtimes/linux-x64/native/libvulkan.so index 2b88fcb2ba..984b3d34fb 100755 Binary files a/src/Native/Silk.NET.Vulkan.Loader.Native/runtimes/linux-x64/native/libvulkan.so and b/src/Native/Silk.NET.Vulkan.Loader.Native/runtimes/linux-x64/native/libvulkan.so differ diff --git a/src/Native/Silk.NET.Vulkan.Loader.Native/runtimes/win-x64/native/vulkan-1.dll b/src/Native/Silk.NET.Vulkan.Loader.Native/runtimes/win-x64/native/vulkan-1.dll index 127eec21d8..fbc7fd623c 100644 Binary files a/src/Native/Silk.NET.Vulkan.Loader.Native/runtimes/win-x64/native/vulkan-1.dll and b/src/Native/Silk.NET.Vulkan.Loader.Native/runtimes/win-x64/native/vulkan-1.dll differ diff --git a/src/Native/Silk.NET.Vulkan.Loader.Native/runtimes/win-x86/native/vulkan-1.dll b/src/Native/Silk.NET.Vulkan.Loader.Native/runtimes/win-x86/native/vulkan-1.dll index 127eec21d8..fbc7fd623c 100644 Binary files a/src/Native/Silk.NET.Vulkan.Loader.Native/runtimes/win-x86/native/vulkan-1.dll and b/src/Native/Silk.NET.Vulkan.Loader.Native/runtimes/win-x86/native/vulkan-1.dll differ diff --git a/src/Native/Silk.NET.WebGPU.Native.WGPU/runtimes/linux-x64/native/libwgpu_native.so b/src/Native/Silk.NET.WebGPU.Native.WGPU/runtimes/linux-x64/native/libwgpu_native.so index 6fa82c0fda..d18473e062 100755 Binary files a/src/Native/Silk.NET.WebGPU.Native.WGPU/runtimes/linux-x64/native/libwgpu_native.so and b/src/Native/Silk.NET.WebGPU.Native.WGPU/runtimes/linux-x64/native/libwgpu_native.so differ diff --git a/src/Native/Silk.NET.WebGPU.Native.WGPU/runtimes/linux-x86/native/libwgpu_native.so b/src/Native/Silk.NET.WebGPU.Native.WGPU/runtimes/linux-x86/native/libwgpu_native.so index 2fc5cf86e3..bef9523fa3 100755 Binary files a/src/Native/Silk.NET.WebGPU.Native.WGPU/runtimes/linux-x86/native/libwgpu_native.so and b/src/Native/Silk.NET.WebGPU.Native.WGPU/runtimes/linux-x86/native/libwgpu_native.so differ diff --git a/src/Native/Silk.NET.WebGPU.Native.WGPU/runtimes/osx-arm64/native/libwgpu_native.dylib b/src/Native/Silk.NET.WebGPU.Native.WGPU/runtimes/osx-arm64/native/libwgpu_native.dylib index 65a342b5e3..e1fb535d09 100755 Binary files a/src/Native/Silk.NET.WebGPU.Native.WGPU/runtimes/osx-arm64/native/libwgpu_native.dylib and b/src/Native/Silk.NET.WebGPU.Native.WGPU/runtimes/osx-arm64/native/libwgpu_native.dylib differ diff --git a/src/Native/Silk.NET.WebGPU.Native.WGPU/runtimes/osx-x64/native/libwgpu_native.dylib b/src/Native/Silk.NET.WebGPU.Native.WGPU/runtimes/osx-x64/native/libwgpu_native.dylib index c72d43858a..4bf7a5610c 100755 Binary files a/src/Native/Silk.NET.WebGPU.Native.WGPU/runtimes/osx-x64/native/libwgpu_native.dylib and b/src/Native/Silk.NET.WebGPU.Native.WGPU/runtimes/osx-x64/native/libwgpu_native.dylib differ diff --git a/src/Native/Silk.NET.WebGPU.Native.WGPU/runtimes/win-arm64/native/wgpu_native.dll b/src/Native/Silk.NET.WebGPU.Native.WGPU/runtimes/win-arm64/native/wgpu_native.dll index 8cb65fdab0..0dbdb5c7c9 100644 Binary files a/src/Native/Silk.NET.WebGPU.Native.WGPU/runtimes/win-arm64/native/wgpu_native.dll and b/src/Native/Silk.NET.WebGPU.Native.WGPU/runtimes/win-arm64/native/wgpu_native.dll differ diff --git a/src/Native/Silk.NET.WebGPU.Native.WGPU/runtimes/win-x64/native/wgpu_native.dll b/src/Native/Silk.NET.WebGPU.Native.WGPU/runtimes/win-x64/native/wgpu_native.dll index 8246bdf13b..9e8abb7b91 100644 Binary files a/src/Native/Silk.NET.WebGPU.Native.WGPU/runtimes/win-x64/native/wgpu_native.dll and b/src/Native/Silk.NET.WebGPU.Native.WGPU/runtimes/win-x64/native/wgpu_native.dll differ diff --git a/src/Native/Silk.NET.WebGPU.Native.WGPU/runtimes/win-x86/native/wgpu_native.dll b/src/Native/Silk.NET.WebGPU.Native.WGPU/runtimes/win-x86/native/wgpu_native.dll index f50b61a35f..89f43619a6 100644 Binary files a/src/Native/Silk.NET.WebGPU.Native.WGPU/runtimes/win-x86/native/wgpu_native.dll and b/src/Native/Silk.NET.WebGPU.Native.WGPU/runtimes/win-x86/native/wgpu_native.dll differ diff --git a/src/SPIRV/Silk.NET.Shaderc/Enums/CompilationStatus.gen.cs b/src/SPIRV/Silk.NET.Shaderc/Enums/CompilationStatus.gen.cs new file mode 100644 index 0000000000..6555305dbb --- /dev/null +++ b/src/SPIRV/Silk.NET.Shaderc/Enums/CompilationStatus.gen.cs @@ -0,0 +1,35 @@ +// 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 Silk.NET.Core.Attributes; + +#pragma warning disable 1591 + +namespace Silk.NET.Shaderc +{ + [NativeName("AnonymousName", "__AnonymousEnum_status_L23_C9")] + [NativeName("Name", "shaderc_compilation_status")] + public enum CompilationStatus : int + { + [NativeName("Name", "shaderc_compilation_status_success")] + Success = 0x0, + [NativeName("Name", "shaderc_compilation_status_invalid_stage")] + InvalidStage = 0x1, + [NativeName("Name", "shaderc_compilation_status_compilation_error")] + CompilationError = 0x2, + [NativeName("Name", "shaderc_compilation_status_internal_error")] + InternalError = 0x3, + [NativeName("Name", "shaderc_compilation_status_null_result_object")] + NullResultObject = 0x4, + [NativeName("Name", "shaderc_compilation_status_invalid_assembly")] + InvalidAssembly = 0x5, + [NativeName("Name", "shaderc_compilation_status_validation_error")] + ValidationError = 0x6, + [NativeName("Name", "shaderc_compilation_status_transformation_error")] + TransformationError = 0x7, + [NativeName("Name", "shaderc_compilation_status_configuration_error")] + ConfigurationError = 0x8, + } +} diff --git a/src/SPIRV/Silk.NET.Shaderc/Enums/EnvVersion.gen.cs b/src/SPIRV/Silk.NET.Shaderc/Enums/EnvVersion.gen.cs new file mode 100644 index 0000000000..47639f0b94 --- /dev/null +++ b/src/SPIRV/Silk.NET.Shaderc/Enums/EnvVersion.gen.cs @@ -0,0 +1,29 @@ +// 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 Silk.NET.Core.Attributes; + +#pragma warning disable 1591 + +namespace Silk.NET.Shaderc +{ + [NativeName("AnonymousName", "__AnonymousEnum_env_L37_C9")] + [NativeName("Name", "shaderc_env_version")] + public enum EnvVersion : int + { + [NativeName("Name", "shaderc_env_version_vulkan_1_0")] + Vulkan10 = 0x400000, + [NativeName("Name", "shaderc_env_version_vulkan_1_1")] + Vulkan11 = 0x401000, + [NativeName("Name", "shaderc_env_version_vulkan_1_2")] + Vulkan12 = 0x402000, + [NativeName("Name", "shaderc_env_version_vulkan_1_3")] + Vulkan13 = 0x403000, + [NativeName("Name", "shaderc_env_version_opengl_4_5")] + Opengl45 = 0x1C2, + [NativeName("Name", "shaderc_env_version_webgpu")] + Webgpu = 0x1C3, + } +} diff --git a/src/SPIRV/Silk.NET.Shaderc/Enums/IncludeType.gen.cs b/src/SPIRV/Silk.NET.Shaderc/Enums/IncludeType.gen.cs new file mode 100644 index 0000000000..c6f5ef1820 --- /dev/null +++ b/src/SPIRV/Silk.NET.Shaderc/Enums/IncludeType.gen.cs @@ -0,0 +1,20 @@ +// 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 Silk.NET.Core.Attributes; + +#pragma warning disable 1591 + +namespace Silk.NET.Shaderc +{ + [NativeName("Name", "shaderc_include_type")] + public enum IncludeType : int + { + [NativeName("Name", "shaderc_include_type_relative")] + Relative = 0x0, + [NativeName("Name", "shaderc_include_type_standard")] + Standard = 0x1, + } +} diff --git a/src/SPIRV/Silk.NET.Shaderc/Enums/Limit.gen.cs b/src/SPIRV/Silk.NET.Shaderc/Enums/Limit.gen.cs new file mode 100644 index 0000000000..99abf6cd36 --- /dev/null +++ b/src/SPIRV/Silk.NET.Shaderc/Enums/Limit.gen.cs @@ -0,0 +1,221 @@ +// 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 Silk.NET.Core.Attributes; + +#pragma warning disable 1591 + +namespace Silk.NET.Shaderc +{ + [NativeName("AnonymousName", "__AnonymousEnum_shaderc_L108_C9")] + [NativeName("Name", "shaderc_limit")] + public enum Limit : int + { + [NativeName("Name", "shaderc_limit_max_lights")] + MaxLights = 0x0, + [NativeName("Name", "shaderc_limit_max_clip_planes")] + MaxClipPlanes = 0x1, + [NativeName("Name", "shaderc_limit_max_texture_units")] + MaxTextureUnits = 0x2, + [NativeName("Name", "shaderc_limit_max_texture_coords")] + MaxTextureCoords = 0x3, + [NativeName("Name", "shaderc_limit_max_vertex_attribs")] + MaxVertexAttribs = 0x4, + [NativeName("Name", "shaderc_limit_max_vertex_uniform_components")] + MaxVertexUniformComponents = 0x5, + [NativeName("Name", "shaderc_limit_max_varying_floats")] + MaxVaryingFloats = 0x6, + [NativeName("Name", "shaderc_limit_max_vertex_texture_image_units")] + MaxVertexTextureImageUnits = 0x7, + [NativeName("Name", "shaderc_limit_max_combined_texture_image_units")] + MaxCombinedTextureImageUnits = 0x8, + [NativeName("Name", "shaderc_limit_max_texture_image_units")] + MaxTextureImageUnits = 0x9, + [NativeName("Name", "shaderc_limit_max_fragment_uniform_components")] + MaxFragmentUniformComponents = 0xA, + [NativeName("Name", "shaderc_limit_max_draw_buffers")] + MaxDrawBuffers = 0xB, + [NativeName("Name", "shaderc_limit_max_vertex_uniform_vectors")] + MaxVertexUniformVectors = 0xC, + [NativeName("Name", "shaderc_limit_max_varying_vectors")] + MaxVaryingVectors = 0xD, + [NativeName("Name", "shaderc_limit_max_fragment_uniform_vectors")] + MaxFragmentUniformVectors = 0xE, + [NativeName("Name", "shaderc_limit_max_vertex_output_vectors")] + MaxVertexOutputVectors = 0xF, + [NativeName("Name", "shaderc_limit_max_fragment_input_vectors")] + MaxFragmentInputVectors = 0x10, + [NativeName("Name", "shaderc_limit_min_program_texel_offset")] + MinProgramTexelOffset = 0x11, + [NativeName("Name", "shaderc_limit_max_program_texel_offset")] + MaxProgramTexelOffset = 0x12, + [NativeName("Name", "shaderc_limit_max_clip_distances")] + MaxClipDistances = 0x13, + [NativeName("Name", "shaderc_limit_max_compute_work_group_count_x")] + MaxComputeWorkGroupCountX = 0x14, + [NativeName("Name", "shaderc_limit_max_compute_work_group_count_y")] + MaxComputeWorkGroupCountY = 0x15, + [NativeName("Name", "shaderc_limit_max_compute_work_group_count_z")] + MaxComputeWorkGroupCountZ = 0x16, + [NativeName("Name", "shaderc_limit_max_compute_work_group_size_x")] + MaxComputeWorkGroupSizeX = 0x17, + [NativeName("Name", "shaderc_limit_max_compute_work_group_size_y")] + MaxComputeWorkGroupSizeY = 0x18, + [NativeName("Name", "shaderc_limit_max_compute_work_group_size_z")] + MaxComputeWorkGroupSizeZ = 0x19, + [NativeName("Name", "shaderc_limit_max_compute_uniform_components")] + MaxComputeUniformComponents = 0x1A, + [NativeName("Name", "shaderc_limit_max_compute_texture_image_units")] + MaxComputeTextureImageUnits = 0x1B, + [NativeName("Name", "shaderc_limit_max_compute_image_uniforms")] + MaxComputeImageUniforms = 0x1C, + [NativeName("Name", "shaderc_limit_max_compute_atomic_counters")] + MaxComputeAtomicCounters = 0x1D, + [NativeName("Name", "shaderc_limit_max_compute_atomic_counter_buffers")] + MaxComputeAtomicCounterBuffers = 0x1E, + [NativeName("Name", "shaderc_limit_max_varying_components")] + MaxVaryingComponents = 0x1F, + [NativeName("Name", "shaderc_limit_max_vertex_output_components")] + MaxVertexOutputComponents = 0x20, + [NativeName("Name", "shaderc_limit_max_geometry_input_components")] + MaxGeometryInputComponents = 0x21, + [NativeName("Name", "shaderc_limit_max_geometry_output_components")] + MaxGeometryOutputComponents = 0x22, + [NativeName("Name", "shaderc_limit_max_fragment_input_components")] + MaxFragmentInputComponents = 0x23, + [NativeName("Name", "shaderc_limit_max_image_units")] + MaxImageUnits = 0x24, + [NativeName("Name", "shaderc_limit_max_combined_image_units_and_fragment_outputs")] + MaxCombinedImageUnitsAndFragmentOutputs = 0x25, + [NativeName("Name", "shaderc_limit_max_combined_shader_output_resources")] + MaxCombinedShaderOutputResources = 0x26, + [NativeName("Name", "shaderc_limit_max_image_samples")] + MaxImageSamples = 0x27, + [NativeName("Name", "shaderc_limit_max_vertex_image_uniforms")] + MaxVertexImageUniforms = 0x28, + [NativeName("Name", "shaderc_limit_max_tess_control_image_uniforms")] + MaxTessControlImageUniforms = 0x29, + [NativeName("Name", "shaderc_limit_max_tess_evaluation_image_uniforms")] + MaxTessEvaluationImageUniforms = 0x2A, + [NativeName("Name", "shaderc_limit_max_geometry_image_uniforms")] + MaxGeometryImageUniforms = 0x2B, + [NativeName("Name", "shaderc_limit_max_fragment_image_uniforms")] + MaxFragmentImageUniforms = 0x2C, + [NativeName("Name", "shaderc_limit_max_combined_image_uniforms")] + MaxCombinedImageUniforms = 0x2D, + [NativeName("Name", "shaderc_limit_max_geometry_texture_image_units")] + MaxGeometryTextureImageUnits = 0x2E, + [NativeName("Name", "shaderc_limit_max_geometry_output_vertices")] + MaxGeometryOutputVertices = 0x2F, + [NativeName("Name", "shaderc_limit_max_geometry_total_output_components")] + MaxGeometryTotalOutputComponents = 0x30, + [NativeName("Name", "shaderc_limit_max_geometry_uniform_components")] + MaxGeometryUniformComponents = 0x31, + [NativeName("Name", "shaderc_limit_max_geometry_varying_components")] + MaxGeometryVaryingComponents = 0x32, + [NativeName("Name", "shaderc_limit_max_tess_control_input_components")] + MaxTessControlInputComponents = 0x33, + [NativeName("Name", "shaderc_limit_max_tess_control_output_components")] + MaxTessControlOutputComponents = 0x34, + [NativeName("Name", "shaderc_limit_max_tess_control_texture_image_units")] + MaxTessControlTextureImageUnits = 0x35, + [NativeName("Name", "shaderc_limit_max_tess_control_uniform_components")] + MaxTessControlUniformComponents = 0x36, + [NativeName("Name", "shaderc_limit_max_tess_control_total_output_components")] + MaxTessControlTotalOutputComponents = 0x37, + [NativeName("Name", "shaderc_limit_max_tess_evaluation_input_components")] + MaxTessEvaluationInputComponents = 0x38, + [NativeName("Name", "shaderc_limit_max_tess_evaluation_output_components")] + MaxTessEvaluationOutputComponents = 0x39, + [NativeName("Name", "shaderc_limit_max_tess_evaluation_texture_image_units")] + MaxTessEvaluationTextureImageUnits = 0x3A, + [NativeName("Name", "shaderc_limit_max_tess_evaluation_uniform_components")] + MaxTessEvaluationUniformComponents = 0x3B, + [NativeName("Name", "shaderc_limit_max_tess_patch_components")] + MaxTessPatchComponents = 0x3C, + [NativeName("Name", "shaderc_limit_max_patch_vertices")] + MaxPatchVertices = 0x3D, + [NativeName("Name", "shaderc_limit_max_tess_gen_level")] + MaxTessGenLevel = 0x3E, + [NativeName("Name", "shaderc_limit_max_viewports")] + MaxViewports = 0x3F, + [NativeName("Name", "shaderc_limit_max_vertex_atomic_counters")] + MaxVertexAtomicCounters = 0x40, + [NativeName("Name", "shaderc_limit_max_tess_control_atomic_counters")] + MaxTessControlAtomicCounters = 0x41, + [NativeName("Name", "shaderc_limit_max_tess_evaluation_atomic_counters")] + MaxTessEvaluationAtomicCounters = 0x42, + [NativeName("Name", "shaderc_limit_max_geometry_atomic_counters")] + MaxGeometryAtomicCounters = 0x43, + [NativeName("Name", "shaderc_limit_max_fragment_atomic_counters")] + MaxFragmentAtomicCounters = 0x44, + [NativeName("Name", "shaderc_limit_max_combined_atomic_counters")] + MaxCombinedAtomicCounters = 0x45, + [NativeName("Name", "shaderc_limit_max_atomic_counter_bindings")] + MaxAtomicCounterBindings = 0x46, + [NativeName("Name", "shaderc_limit_max_vertex_atomic_counter_buffers")] + MaxVertexAtomicCounterBuffers = 0x47, + [NativeName("Name", "shaderc_limit_max_tess_control_atomic_counter_buffers")] + MaxTessControlAtomicCounterBuffers = 0x48, + [NativeName("Name", "shaderc_limit_max_tess_evaluation_atomic_counter_buffers")] + MaxTessEvaluationAtomicCounterBuffers = 0x49, + [NativeName("Name", "shaderc_limit_max_geometry_atomic_counter_buffers")] + MaxGeometryAtomicCounterBuffers = 0x4A, + [NativeName("Name", "shaderc_limit_max_fragment_atomic_counter_buffers")] + MaxFragmentAtomicCounterBuffers = 0x4B, + [NativeName("Name", "shaderc_limit_max_combined_atomic_counter_buffers")] + MaxCombinedAtomicCounterBuffers = 0x4C, + [NativeName("Name", "shaderc_limit_max_atomic_counter_buffer_size")] + MaxAtomicCounterBufferSize = 0x4D, + [NativeName("Name", "shaderc_limit_max_transform_feedback_buffers")] + MaxTransformFeedbackBuffers = 0x4E, + [NativeName("Name", "shaderc_limit_max_transform_feedback_interleaved_components")] + MaxTransformFeedbackInterleavedComponents = 0x4F, + [NativeName("Name", "shaderc_limit_max_cull_distances")] + MaxCullDistances = 0x50, + [NativeName("Name", "shaderc_limit_max_combined_clip_and_cull_distances")] + MaxCombinedClipAndCullDistances = 0x51, + [NativeName("Name", "shaderc_limit_max_samples")] + MaxSamples = 0x52, + [NativeName("Name", "shaderc_limit_max_mesh_output_vertices_nv")] + MaxMeshOutputVerticesNv = 0x53, + [NativeName("Name", "shaderc_limit_max_mesh_output_primitives_nv")] + MaxMeshOutputPrimitivesNv = 0x54, + [NativeName("Name", "shaderc_limit_max_mesh_work_group_size_x_nv")] + MaxMeshWorkGroupSizeXNv = 0x55, + [NativeName("Name", "shaderc_limit_max_mesh_work_group_size_y_nv")] + MaxMeshWorkGroupSizeYNv = 0x56, + [NativeName("Name", "shaderc_limit_max_mesh_work_group_size_z_nv")] + MaxMeshWorkGroupSizeZNv = 0x57, + [NativeName("Name", "shaderc_limit_max_task_work_group_size_x_nv")] + MaxTaskWorkGroupSizeXNv = 0x58, + [NativeName("Name", "shaderc_limit_max_task_work_group_size_y_nv")] + MaxTaskWorkGroupSizeYNv = 0x59, + [NativeName("Name", "shaderc_limit_max_task_work_group_size_z_nv")] + MaxTaskWorkGroupSizeZNv = 0x5A, + [NativeName("Name", "shaderc_limit_max_mesh_view_count_nv")] + MaxMeshViewCountNv = 0x5B, + [NativeName("Name", "shaderc_limit_max_mesh_output_vertices_ext")] + MaxMeshOutputVerticesExt = 0x5C, + [NativeName("Name", "shaderc_limit_max_mesh_output_primitives_ext")] + MaxMeshOutputPrimitivesExt = 0x5D, + [NativeName("Name", "shaderc_limit_max_mesh_work_group_size_x_ext")] + MaxMeshWorkGroupSizeXExt = 0x5E, + [NativeName("Name", "shaderc_limit_max_mesh_work_group_size_y_ext")] + MaxMeshWorkGroupSizeYExt = 0x5F, + [NativeName("Name", "shaderc_limit_max_mesh_work_group_size_z_ext")] + MaxMeshWorkGroupSizeZExt = 0x60, + [NativeName("Name", "shaderc_limit_max_task_work_group_size_x_ext")] + MaxTaskWorkGroupSizeXExt = 0x61, + [NativeName("Name", "shaderc_limit_max_task_work_group_size_y_ext")] + MaxTaskWorkGroupSizeYExt = 0x62, + [NativeName("Name", "shaderc_limit_max_task_work_group_size_z_ext")] + MaxTaskWorkGroupSizeZExt = 0x63, + [NativeName("Name", "shaderc_limit_max_mesh_view_count_ext")] + MaxMeshViewCountExt = 0x64, + [NativeName("Name", "shaderc_limit_max_dual_source_draw_buffers_ext")] + MaxDualSourceDrawBuffersExt = 0x65, + } +} diff --git a/src/SPIRV/Silk.NET.Shaderc/Enums/OptimizationLevel.gen.cs b/src/SPIRV/Silk.NET.Shaderc/Enums/OptimizationLevel.gen.cs new file mode 100644 index 0000000000..a874490385 --- /dev/null +++ b/src/SPIRV/Silk.NET.Shaderc/Enums/OptimizationLevel.gen.cs @@ -0,0 +1,23 @@ +// 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 Silk.NET.Core.Attributes; + +#pragma warning disable 1591 + +namespace Silk.NET.Shaderc +{ + [NativeName("AnonymousName", "__AnonymousEnum_shaderc_L101_C9")] + [NativeName("Name", "shaderc_optimization_level")] + public enum OptimizationLevel : int + { + [NativeName("Name", "shaderc_optimization_level_zero")] + Zero = 0x0, + [NativeName("Name", "shaderc_optimization_level_size")] + Size = 0x1, + [NativeName("Name", "shaderc_optimization_level_performance")] + Performance = 0x2, + } +} diff --git a/src/SPIRV/Silk.NET.Shaderc/Enums/Profile.gen.cs b/src/SPIRV/Silk.NET.Shaderc/Enums/Profile.gen.cs new file mode 100644 index 0000000000..52f344027f --- /dev/null +++ b/src/SPIRV/Silk.NET.Shaderc/Enums/Profile.gen.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. + + +using System; +using Silk.NET.Core.Attributes; + +#pragma warning disable 1591 + +namespace Silk.NET.Shaderc +{ + [NativeName("AnonymousName", "__AnonymousEnum_shaderc_L92_C9")] + [NativeName("Name", "shaderc_profile")] + public enum Profile : int + { + [NativeName("Name", "shaderc_profile_none")] + None = 0x0, + [NativeName("Name", "shaderc_profile_core")] + Core = 0x1, + [NativeName("Name", "shaderc_profile_compatibility")] + Compatibility = 0x2, + [NativeName("Name", "shaderc_profile_es")] + Es = 0x3, + } +} diff --git a/src/SPIRV/Silk.NET.Shaderc/Enums/ShaderKind.gen.cs b/src/SPIRV/Silk.NET.Shaderc/Enums/ShaderKind.gen.cs new file mode 100644 index 0000000000..08eda811bf --- /dev/null +++ b/src/SPIRV/Silk.NET.Shaderc/Enums/ShaderKind.gen.cs @@ -0,0 +1,105 @@ +// 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 Silk.NET.Core.Attributes; + +#pragma warning disable 1591 + +namespace Silk.NET.Shaderc +{ + [NativeName("AnonymousName", "__AnonymousEnum_shaderc_L36_C9")] + [NativeName("Name", "shaderc_shader_kind")] + public enum ShaderKind : int + { + [NativeName("Name", "shaderc_vertex_shader")] + VertexShader = 0x0, + [NativeName("Name", "shaderc_fragment_shader")] + FragmentShader = 0x1, + [NativeName("Name", "shaderc_compute_shader")] + ComputeShader = 0x2, + [NativeName("Name", "shaderc_geometry_shader")] + GeometryShader = 0x3, + [NativeName("Name", "shaderc_tess_control_shader")] + TessControlShader = 0x4, + [NativeName("Name", "shaderc_tess_evaluation_shader")] + TessEvaluationShader = 0x5, + [NativeName("Name", "shaderc_glsl_vertex_shader")] + GlslVertexShader = 0x0, + [NativeName("Name", "shaderc_glsl_fragment_shader")] + GlslFragmentShader = 0x1, + [NativeName("Name", "shaderc_glsl_compute_shader")] + GlslComputeShader = 0x2, + [NativeName("Name", "shaderc_glsl_geometry_shader")] + GlslGeometryShader = 0x3, + [NativeName("Name", "shaderc_glsl_tess_control_shader")] + GlslTessControlShader = 0x4, + [NativeName("Name", "shaderc_glsl_tess_evaluation_shader")] + GlslTessEvaluationShader = 0x5, + [NativeName("Name", "shaderc_glsl_infer_from_source")] + GlslInferFromSource = 0x6, + [NativeName("Name", "shaderc_glsl_default_vertex_shader")] + GlslDefaultVertexShader = 0x7, + [NativeName("Name", "shaderc_glsl_default_fragment_shader")] + GlslDefaultFragmentShader = 0x8, + [NativeName("Name", "shaderc_glsl_default_compute_shader")] + GlslDefaultComputeShader = 0x9, + [NativeName("Name", "shaderc_glsl_default_geometry_shader")] + GlslDefaultGeometryShader = 0xA, + [NativeName("Name", "shaderc_glsl_default_tess_control_shader")] + GlslDefaultTessControlShader = 0xB, + [NativeName("Name", "shaderc_glsl_default_tess_evaluation_shader")] + GlslDefaultTessEvaluationShader = 0xC, + [NativeName("Name", "shaderc_spirv_assembly")] + SpirvAssembly = 0xD, + [NativeName("Name", "shaderc_raygen_shader")] + RaygenShader = 0xE, + [NativeName("Name", "shaderc_anyhit_shader")] + AnyhitShader = 0xF, + [NativeName("Name", "shaderc_closesthit_shader")] + ClosesthitShader = 0x10, + [NativeName("Name", "shaderc_miss_shader")] + MissShader = 0x11, + [NativeName("Name", "shaderc_intersection_shader")] + IntersectionShader = 0x12, + [NativeName("Name", "shaderc_callable_shader")] + CallableShader = 0x13, + [NativeName("Name", "shaderc_glsl_raygen_shader")] + GlslRaygenShader = 0xE, + [NativeName("Name", "shaderc_glsl_anyhit_shader")] + GlslAnyhitShader = 0xF, + [NativeName("Name", "shaderc_glsl_closesthit_shader")] + GlslClosesthitShader = 0x10, + [NativeName("Name", "shaderc_glsl_miss_shader")] + GlslMissShader = 0x11, + [NativeName("Name", "shaderc_glsl_intersection_shader")] + GlslIntersectionShader = 0x12, + [NativeName("Name", "shaderc_glsl_callable_shader")] + GlslCallableShader = 0x13, + [NativeName("Name", "shaderc_glsl_default_raygen_shader")] + GlslDefaultRaygenShader = 0x14, + [NativeName("Name", "shaderc_glsl_default_anyhit_shader")] + GlslDefaultAnyhitShader = 0x15, + [NativeName("Name", "shaderc_glsl_default_closesthit_shader")] + GlslDefaultClosesthitShader = 0x16, + [NativeName("Name", "shaderc_glsl_default_miss_shader")] + GlslDefaultMissShader = 0x17, + [NativeName("Name", "shaderc_glsl_default_intersection_shader")] + GlslDefaultIntersectionShader = 0x18, + [NativeName("Name", "shaderc_glsl_default_callable_shader")] + GlslDefaultCallableShader = 0x19, + [NativeName("Name", "shaderc_task_shader")] + TaskShader = 0x1A, + [NativeName("Name", "shaderc_mesh_shader")] + MeshShader = 0x1B, + [NativeName("Name", "shaderc_glsl_task_shader")] + GlslTaskShader = 0x1A, + [NativeName("Name", "shaderc_glsl_mesh_shader")] + GlslMeshShader = 0x1B, + [NativeName("Name", "shaderc_glsl_default_task_shader")] + GlslDefaultTaskShader = 0x1C, + [NativeName("Name", "shaderc_glsl_default_mesh_shader")] + GlslDefaultMeshShader = 0x1D, + } +} diff --git a/src/SPIRV/Silk.NET.Shaderc/Enums/SourceLanguage.gen.cs b/src/SPIRV/Silk.NET.Shaderc/Enums/SourceLanguage.gen.cs new file mode 100644 index 0000000000..951bc4f98d --- /dev/null +++ b/src/SPIRV/Silk.NET.Shaderc/Enums/SourceLanguage.gen.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. + + +using System; +using Silk.NET.Core.Attributes; + +#pragma warning disable 1591 + +namespace Silk.NET.Shaderc +{ + [NativeName("AnonymousName", "__AnonymousEnum_shaderc_L31_C9")] + [NativeName("Name", "shaderc_source_language")] + public enum SourceLanguage : int + { + [NativeName("Name", "shaderc_source_language_glsl")] + Glsl = 0x0, + [NativeName("Name", "shaderc_source_language_hlsl")] + Hlsl = 0x1, + } +} diff --git a/src/SPIRV/Silk.NET.Shaderc/Enums/SpirvVersion.gen.cs b/src/SPIRV/Silk.NET.Shaderc/Enums/SpirvVersion.gen.cs new file mode 100644 index 0000000000..73368e65a9 --- /dev/null +++ b/src/SPIRV/Silk.NET.Shaderc/Enums/SpirvVersion.gen.cs @@ -0,0 +1,31 @@ +// 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 Silk.NET.Core.Attributes; + +#pragma warning disable 1591 + +namespace Silk.NET.Shaderc +{ + [NativeName("AnonymousName", "__AnonymousEnum_env_L53_C9")] + [NativeName("Name", "shaderc_spirv_version")] + public enum SpirvVersion : int + { + [NativeName("Name", "shaderc_spirv_version_1_0")] + Shaderc10 = 0x10000, + [NativeName("Name", "shaderc_spirv_version_1_1")] + Shaderc11 = 0x10100, + [NativeName("Name", "shaderc_spirv_version_1_2")] + Shaderc12 = 0x10200, + [NativeName("Name", "shaderc_spirv_version_1_3")] + Shaderc13 = 0x10300, + [NativeName("Name", "shaderc_spirv_version_1_4")] + Shaderc14 = 0x10400, + [NativeName("Name", "shaderc_spirv_version_1_5")] + Shaderc15 = 0x10500, + [NativeName("Name", "shaderc_spirv_version_1_6")] + Shaderc16 = 0x10600, + } +} diff --git a/src/SPIRV/Silk.NET.Shaderc/Enums/TargetEnv.gen.cs b/src/SPIRV/Silk.NET.Shaderc/Enums/TargetEnv.gen.cs new file mode 100644 index 0000000000..702e4f0ab1 --- /dev/null +++ b/src/SPIRV/Silk.NET.Shaderc/Enums/TargetEnv.gen.cs @@ -0,0 +1,27 @@ +// 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 Silk.NET.Core.Attributes; + +#pragma warning disable 1591 + +namespace Silk.NET.Shaderc +{ + [NativeName("AnonymousName", "__AnonymousEnum_env_L24_C9")] + [NativeName("Name", "shaderc_target_env")] + public enum TargetEnv : int + { + [NativeName("Name", "shaderc_target_env_vulkan")] + Vulkan = 0x0, + [NativeName("Name", "shaderc_target_env_opengl")] + Opengl = 0x1, + [NativeName("Name", "shaderc_target_env_opengl_compat")] + OpenglCompat = 0x2, + [NativeName("Name", "shaderc_target_env_webgpu")] + Webgpu = 0x3, + [NativeName("Name", "shaderc_target_env_default")] + Default = 0x0, + } +} diff --git a/src/SPIRV/Silk.NET.Shaderc/Enums/UniformKind.gen.cs b/src/SPIRV/Silk.NET.Shaderc/Enums/UniformKind.gen.cs new file mode 100644 index 0000000000..037207de31 --- /dev/null +++ b/src/SPIRV/Silk.NET.Shaderc/Enums/UniformKind.gen.cs @@ -0,0 +1,29 @@ +// 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 Silk.NET.Core.Attributes; + +#pragma warning disable 1591 + +namespace Silk.NET.Shaderc +{ + [NativeName("AnonymousName", "__AnonymousEnum_shaderc_L216_C9")] + [NativeName("Name", "shaderc_uniform_kind")] + public enum UniformKind : int + { + [NativeName("Name", "shaderc_uniform_kind_image")] + Image = 0x0, + [NativeName("Name", "shaderc_uniform_kind_sampler")] + Sampler = 0x1, + [NativeName("Name", "shaderc_uniform_kind_texture")] + Texture = 0x2, + [NativeName("Name", "shaderc_uniform_kind_buffer")] + Buffer = 0x3, + [NativeName("Name", "shaderc_uniform_kind_storage_buffer")] + StorageBuffer = 0x4, + [NativeName("Name", "shaderc_uniform_kind_unordered_access_view")] + UnorderedAccessView = 0x5, + } +} diff --git a/src/SPIRV/Silk.NET.Shaderc/Shaderc.cs b/src/SPIRV/Silk.NET.Shaderc/Shaderc.cs new file mode 100644 index 0000000000..eef78f482e --- /dev/null +++ b/src/SPIRV/Silk.NET.Shaderc/Shaderc.cs @@ -0,0 +1,38 @@ +using System; +using System.Runtime.InteropServices; +using System.Runtime.CompilerServices; +using System.Text; +using Silk.NET.Core; +using Silk.NET.Core.Native; +using Silk.NET.Core.Attributes; +using Silk.NET.Core.Contexts; +using Silk.NET.Core.Loader; +using static Silk.NET.Core.Attributes.ExtensionAttribute; + +#pragma warning disable 1591 + +namespace Silk.NET.Shaderc +{ + public partial class Shaderc + { + public static Shaderc GetApi() + { + return new(CreateDefaultContext(new ShadercLibraryNameContainer().GetLibraryNames())); + } + + public bool TryGetExtension(out T ext) + where T:NativeExtension + { + ext = IsExtensionPresent(GetExtensionAttribute(typeof(T)).Name) + ? (T) Activator.CreateInstance(typeof(T), Context) + : null; + return ext is not null; + } + + public override bool IsExtensionPresent(string extension) + { + throw new NotImplementedException(); + } + } +} + diff --git a/src/SPIRV/Silk.NET.Shaderc/Shaderc.gen.cs b/src/SPIRV/Silk.NET.Shaderc/Shaderc.gen.cs new file mode 100644 index 0000000000..3129a67abe --- /dev/null +++ b/src/SPIRV/Silk.NET.Shaderc/Shaderc.gen.cs @@ -0,0 +1,1029 @@ +// 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.Runtime.InteropServices; +using System.Runtime.CompilerServices; +using System.Text; +using Silk.NET.Core; +using Silk.NET.Core.Native; +using Silk.NET.Core.Attributes; +using Silk.NET.Core.Contexts; +using Silk.NET.Core.Loader; + +#pragma warning disable 1591 + +namespace Silk.NET.Shaderc +{ + public unsafe partial class Shaderc : NativeAPI + { + + /// To be documented. + [NativeName("Src", "Line 268, Column 35 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compiler_initialize")] + public unsafe partial Compiler* CompilerInitialize(); + + /// To be documented. + [NativeName("Src", "Line 273, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compiler_release")] + public unsafe partial void CompilerRelease(Compiler* arg0); + + /// To be documented. + [NativeName("Src", "Line 285, Column 5 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_initialize")] + public unsafe partial CompileOptions* CompileOptionsInitialize(); + + /// To be documented. + [NativeName("Src", "Line 290, Column 42 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_clone")] + public unsafe partial CompileOptions* CompileOptionsClone(CompileOptions* options); + + /// To be documented. + [NativeName("Src", "Line 296, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_release")] + public unsafe partial void CompileOptionsRelease(CompileOptions* options); + + /// To be documented. + [NativeName("Src", "Line 310, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_add_macro_definition")] + public unsafe partial void CompileOptionsAddMacroDefinition(CompileOptions* options, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* name, nuint name_length, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* value, nuint value_length); + + /// To be documented. + [NativeName("Src", "Line 310, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_add_macro_definition")] + public unsafe partial void CompileOptionsAddMacroDefinition(CompileOptions* options, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* name, nuint name_length, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte value, nuint value_length); + + /// To be documented. + [NativeName("Src", "Line 310, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_add_macro_definition")] + public unsafe partial void CompileOptionsAddMacroDefinition(CompileOptions* options, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* name, nuint name_length, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string value, nuint value_length); + + /// To be documented. + [NativeName("Src", "Line 310, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_add_macro_definition")] + public unsafe partial void CompileOptionsAddMacroDefinition(CompileOptions* options, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte name, nuint name_length, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* value, nuint value_length); + + /// To be documented. + [NativeName("Src", "Line 310, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_add_macro_definition")] + public unsafe partial void CompileOptionsAddMacroDefinition(CompileOptions* options, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte name, nuint name_length, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte value, nuint value_length); + + /// To be documented. + [NativeName("Src", "Line 310, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_add_macro_definition")] + public unsafe partial void CompileOptionsAddMacroDefinition(CompileOptions* options, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte name, nuint name_length, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string value, nuint value_length); + + /// To be documented. + [NativeName("Src", "Line 310, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_add_macro_definition")] + public unsafe partial void CompileOptionsAddMacroDefinition(CompileOptions* options, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string name, nuint name_length, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* value, nuint value_length); + + /// To be documented. + [NativeName("Src", "Line 310, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_add_macro_definition")] + public unsafe partial void CompileOptionsAddMacroDefinition(CompileOptions* options, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string name, nuint name_length, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte value, nuint value_length); + + /// To be documented. + [NativeName("Src", "Line 310, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_add_macro_definition")] + public unsafe partial void CompileOptionsAddMacroDefinition(CompileOptions* options, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string name, nuint name_length, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string value, nuint value_length); + + /// To be documented. + [NativeName("Src", "Line 315, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_source_language")] + public unsafe partial void CompileOptionsSetSourceLanguage(CompileOptions* options, SourceLanguage lang); + + /// To be documented. + [NativeName("Src", "Line 319, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_generate_debug_info")] + public unsafe partial void CompileOptionsSetGenerateDebugInfo(CompileOptions* options); + + /// To be documented. + [NativeName("Src", "Line 324, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_optimization_level")] + public unsafe partial void CompileOptionsSetOptimizationLevel(CompileOptions* options, OptimizationLevel level); + + /// To be documented. + [NativeName("Src", "Line 332, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_forced_version_profile")] + public unsafe partial void CompileOptionsSetForcedVersionProfile(CompileOptions* options, int version, Profile profile); + + /// To be documented. + [NativeName("Src", "Line 384, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_include_callbacks")] + public unsafe partial void CompileOptionsSetIncludeCallbacks(CompileOptions* options, PfnIncludeResolveFn resolver, PfnIncludeResultReleaseFn result_releaser, void* user_data); + + /// To be documented. + [NativeName("Src", "Line 384, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_include_callbacks")] + public unsafe partial void CompileOptionsSetIncludeCallbacks(CompileOptions* options, PfnIncludeResolveFn resolver, PfnIncludeResultReleaseFn result_releaser, ref T0 user_data) where T0 : unmanaged; + + /// To be documented. + [NativeName("Src", "Line 392, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_suppress_warnings")] + public unsafe partial void CompileOptionsSetSuppressWarnings(CompileOptions* options); + + /// To be documented. + [NativeName("Src", "Line 400, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_target_env")] + public unsafe partial void CompileOptionsSetTargetEnv(CompileOptions* options, TargetEnv target, uint version); + + /// To be documented. + [NativeName("Src", "Line 410, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_target_spirv")] + public unsafe partial void CompileOptionsSetTargetSpirv(CompileOptions* options, SpirvVersion version); + + /// To be documented. + [NativeName("Src", "Line 417, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_warnings_as_errors")] + public unsafe partial void CompileOptionsSetWarningsAsErrors(CompileOptions* options); + + /// To be documented. + [NativeName("Src", "Line 421, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_limit")] + public unsafe partial void CompileOptionsSetLimit(CompileOptions* options, Limit limit, int value); + + /// To be documented. + [NativeName("Src", "Line 426, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_auto_bind_uniforms")] + public unsafe partial void CompileOptionsSetAutoBindUniforms(CompileOptions* options, Silk.NET.Core.Bool32 auto_bind); + + /// To be documented. + [NativeName("Src", "Line 431, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_auto_combined_image_sampler")] + public unsafe partial void CompileOptionsSetAutoCombinedImageSampler(CompileOptions* options, Silk.NET.Core.Bool32 upgrade); + + /// To be documented. + [NativeName("Src", "Line 436, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_hlsl_io_mapping")] + public unsafe partial void CompileOptionsSetHlslIoMapping(CompileOptions* options, Silk.NET.Core.Bool32 hlsl_iomap); + + /// To be documented. + [NativeName("Src", "Line 442, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_hlsl_offsets")] + public unsafe partial void CompileOptionsSetHlslOffsets(CompileOptions* options, Silk.NET.Core.Bool32 hlsl_offsets); + + /// To be documented. + [NativeName("Src", "Line 449, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_binding_base")] + public unsafe partial void CompileOptionsSetBindingBase(CompileOptions* options, UniformKind kind, uint @base); + + /// To be documented. + [NativeName("Src", "Line 457, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_binding_base_for_stage")] + public unsafe partial void CompileOptionsSetBindingBaseForStage(CompileOptions* options, ShaderKind shader_kind, UniformKind kind, uint @base); + + /// To be documented. + [NativeName("Src", "Line 463, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_preserve_bindings")] + public unsafe partial void CompileOptionsSetPreserveBindings(CompileOptions* options, Silk.NET.Core.Bool32 preserve_bindings); + + /// To be documented. + [NativeName("Src", "Line 468, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_auto_map_locations")] + public unsafe partial void CompileOptionsSetAutoMapLocations(CompileOptions* options, Silk.NET.Core.Bool32 auto_map); + + /// To be documented. + [NativeName("Src", "Line 473, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_hlsl_register_set_and_binding_for_stage")] + public unsafe partial void CompileOptionsSetHlslRegisterSetAndBindingForStage(CompileOptions* options, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* reg, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* set, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* binding); + + /// To be documented. + [NativeName("Src", "Line 473, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_hlsl_register_set_and_binding_for_stage")] + public unsafe partial void CompileOptionsSetHlslRegisterSetAndBindingForStage(CompileOptions* options, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* reg, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* set, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte binding); + + /// To be documented. + [NativeName("Src", "Line 473, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_hlsl_register_set_and_binding_for_stage")] + public unsafe partial void CompileOptionsSetHlslRegisterSetAndBindingForStage(CompileOptions* options, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* reg, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* set, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string binding); + + /// To be documented. + [NativeName("Src", "Line 473, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_hlsl_register_set_and_binding_for_stage")] + public unsafe partial void CompileOptionsSetHlslRegisterSetAndBindingForStage(CompileOptions* options, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* reg, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte set, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* binding); + + /// To be documented. + [NativeName("Src", "Line 473, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_hlsl_register_set_and_binding_for_stage")] + public unsafe partial void CompileOptionsSetHlslRegisterSetAndBindingForStage(CompileOptions* options, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* reg, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte set, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte binding); + + /// To be documented. + [NativeName("Src", "Line 473, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_hlsl_register_set_and_binding_for_stage")] + public unsafe partial void CompileOptionsSetHlslRegisterSetAndBindingForStage(CompileOptions* options, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* reg, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte set, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string binding); + + /// To be documented. + [NativeName("Src", "Line 473, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_hlsl_register_set_and_binding_for_stage")] + public unsafe partial void CompileOptionsSetHlslRegisterSetAndBindingForStage(CompileOptions* options, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* reg, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string set, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* binding); + + /// To be documented. + [NativeName("Src", "Line 473, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_hlsl_register_set_and_binding_for_stage")] + public unsafe partial void CompileOptionsSetHlslRegisterSetAndBindingForStage(CompileOptions* options, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* reg, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string set, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte binding); + + /// To be documented. + [NativeName("Src", "Line 473, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_hlsl_register_set_and_binding_for_stage")] + public unsafe partial void CompileOptionsSetHlslRegisterSetAndBindingForStage(CompileOptions* options, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* reg, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string set, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string binding); + + /// To be documented. + [NativeName("Src", "Line 473, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_hlsl_register_set_and_binding_for_stage")] + public unsafe partial void CompileOptionsSetHlslRegisterSetAndBindingForStage(CompileOptions* options, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte reg, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* set, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* binding); + + /// To be documented. + [NativeName("Src", "Line 473, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_hlsl_register_set_and_binding_for_stage")] + public unsafe partial void CompileOptionsSetHlslRegisterSetAndBindingForStage(CompileOptions* options, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte reg, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* set, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte binding); + + /// To be documented. + [NativeName("Src", "Line 473, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_hlsl_register_set_and_binding_for_stage")] + public unsafe partial void CompileOptionsSetHlslRegisterSetAndBindingForStage(CompileOptions* options, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte reg, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* set, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string binding); + + /// To be documented. + [NativeName("Src", "Line 473, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_hlsl_register_set_and_binding_for_stage")] + public unsafe partial void CompileOptionsSetHlslRegisterSetAndBindingForStage(CompileOptions* options, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte reg, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte set, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* binding); + + /// To be documented. + [NativeName("Src", "Line 473, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_hlsl_register_set_and_binding_for_stage")] + public unsafe partial void CompileOptionsSetHlslRegisterSetAndBindingForStage(CompileOptions* options, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte reg, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte set, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte binding); + + /// To be documented. + [NativeName("Src", "Line 473, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_hlsl_register_set_and_binding_for_stage")] + public unsafe partial void CompileOptionsSetHlslRegisterSetAndBindingForStage(CompileOptions* options, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte reg, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte set, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string binding); + + /// To be documented. + [NativeName("Src", "Line 473, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_hlsl_register_set_and_binding_for_stage")] + public unsafe partial void CompileOptionsSetHlslRegisterSetAndBindingForStage(CompileOptions* options, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte reg, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string set, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* binding); + + /// To be documented. + [NativeName("Src", "Line 473, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_hlsl_register_set_and_binding_for_stage")] + public unsafe partial void CompileOptionsSetHlslRegisterSetAndBindingForStage(CompileOptions* options, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte reg, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string set, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte binding); + + /// To be documented. + [NativeName("Src", "Line 473, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_hlsl_register_set_and_binding_for_stage")] + public unsafe partial void CompileOptionsSetHlslRegisterSetAndBindingForStage(CompileOptions* options, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte reg, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string set, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string binding); + + /// To be documented. + [NativeName("Src", "Line 473, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_hlsl_register_set_and_binding_for_stage")] + public unsafe partial void CompileOptionsSetHlslRegisterSetAndBindingForStage(CompileOptions* options, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string reg, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* set, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* binding); + + /// To be documented. + [NativeName("Src", "Line 473, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_hlsl_register_set_and_binding_for_stage")] + public unsafe partial void CompileOptionsSetHlslRegisterSetAndBindingForStage(CompileOptions* options, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string reg, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* set, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte binding); + + /// To be documented. + [NativeName("Src", "Line 473, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_hlsl_register_set_and_binding_for_stage")] + public unsafe partial void CompileOptionsSetHlslRegisterSetAndBindingForStage(CompileOptions* options, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string reg, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* set, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string binding); + + /// To be documented. + [NativeName("Src", "Line 473, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_hlsl_register_set_and_binding_for_stage")] + public unsafe partial void CompileOptionsSetHlslRegisterSetAndBindingForStage(CompileOptions* options, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string reg, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte set, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* binding); + + /// To be documented. + [NativeName("Src", "Line 473, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_hlsl_register_set_and_binding_for_stage")] + public unsafe partial void CompileOptionsSetHlslRegisterSetAndBindingForStage(CompileOptions* options, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string reg, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte set, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte binding); + + /// To be documented. + [NativeName("Src", "Line 473, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_hlsl_register_set_and_binding_for_stage")] + public unsafe partial void CompileOptionsSetHlslRegisterSetAndBindingForStage(CompileOptions* options, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string reg, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte set, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string binding); + + /// To be documented. + [NativeName("Src", "Line 473, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_hlsl_register_set_and_binding_for_stage")] + public unsafe partial void CompileOptionsSetHlslRegisterSetAndBindingForStage(CompileOptions* options, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string reg, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string set, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* binding); + + /// To be documented. + [NativeName("Src", "Line 473, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_hlsl_register_set_and_binding_for_stage")] + public unsafe partial void CompileOptionsSetHlslRegisterSetAndBindingForStage(CompileOptions* options, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string reg, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string set, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte binding); + + /// To be documented. + [NativeName("Src", "Line 473, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_hlsl_register_set_and_binding_for_stage")] + public unsafe partial void CompileOptionsSetHlslRegisterSetAndBindingForStage(CompileOptions* options, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string reg, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string set, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string binding); + + /// To be documented. + [NativeName("Src", "Line 479, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_hlsl_register_set_and_binding")] + public unsafe partial void CompileOptionsSetHlslRegisterSetAndBinding(CompileOptions* options, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* reg, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* set, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* binding); + + /// To be documented. + [NativeName("Src", "Line 479, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_hlsl_register_set_and_binding")] + public unsafe partial void CompileOptionsSetHlslRegisterSetAndBinding(CompileOptions* options, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* reg, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* set, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte binding); + + /// To be documented. + [NativeName("Src", "Line 479, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_hlsl_register_set_and_binding")] + public unsafe partial void CompileOptionsSetHlslRegisterSetAndBinding(CompileOptions* options, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* reg, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* set, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string binding); + + /// To be documented. + [NativeName("Src", "Line 479, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_hlsl_register_set_and_binding")] + public unsafe partial void CompileOptionsSetHlslRegisterSetAndBinding(CompileOptions* options, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* reg, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte set, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* binding); + + /// To be documented. + [NativeName("Src", "Line 479, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_hlsl_register_set_and_binding")] + public unsafe partial void CompileOptionsSetHlslRegisterSetAndBinding(CompileOptions* options, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* reg, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte set, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte binding); + + /// To be documented. + [NativeName("Src", "Line 479, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_hlsl_register_set_and_binding")] + public unsafe partial void CompileOptionsSetHlslRegisterSetAndBinding(CompileOptions* options, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* reg, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte set, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string binding); + + /// To be documented. + [NativeName("Src", "Line 479, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_hlsl_register_set_and_binding")] + public unsafe partial void CompileOptionsSetHlslRegisterSetAndBinding(CompileOptions* options, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* reg, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string set, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* binding); + + /// To be documented. + [NativeName("Src", "Line 479, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_hlsl_register_set_and_binding")] + public unsafe partial void CompileOptionsSetHlslRegisterSetAndBinding(CompileOptions* options, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* reg, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string set, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte binding); + + /// To be documented. + [NativeName("Src", "Line 479, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_hlsl_register_set_and_binding")] + public unsafe partial void CompileOptionsSetHlslRegisterSetAndBinding(CompileOptions* options, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* reg, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string set, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string binding); + + /// To be documented. + [NativeName("Src", "Line 479, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_hlsl_register_set_and_binding")] + public unsafe partial void CompileOptionsSetHlslRegisterSetAndBinding(CompileOptions* options, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte reg, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* set, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* binding); + + /// To be documented. + [NativeName("Src", "Line 479, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_hlsl_register_set_and_binding")] + public unsafe partial void CompileOptionsSetHlslRegisterSetAndBinding(CompileOptions* options, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte reg, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* set, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte binding); + + /// To be documented. + [NativeName("Src", "Line 479, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_hlsl_register_set_and_binding")] + public unsafe partial void CompileOptionsSetHlslRegisterSetAndBinding(CompileOptions* options, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte reg, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* set, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string binding); + + /// To be documented. + [NativeName("Src", "Line 479, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_hlsl_register_set_and_binding")] + public unsafe partial void CompileOptionsSetHlslRegisterSetAndBinding(CompileOptions* options, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte reg, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte set, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* binding); + + /// To be documented. + [NativeName("Src", "Line 479, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_hlsl_register_set_and_binding")] + public unsafe partial void CompileOptionsSetHlslRegisterSetAndBinding(CompileOptions* options, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte reg, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte set, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte binding); + + /// To be documented. + [NativeName("Src", "Line 479, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_hlsl_register_set_and_binding")] + public unsafe partial void CompileOptionsSetHlslRegisterSetAndBinding(CompileOptions* options, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte reg, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte set, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string binding); + + /// To be documented. + [NativeName("Src", "Line 479, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_hlsl_register_set_and_binding")] + public unsafe partial void CompileOptionsSetHlslRegisterSetAndBinding(CompileOptions* options, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte reg, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string set, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* binding); + + /// To be documented. + [NativeName("Src", "Line 479, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_hlsl_register_set_and_binding")] + public unsafe partial void CompileOptionsSetHlslRegisterSetAndBinding(CompileOptions* options, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte reg, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string set, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte binding); + + /// To be documented. + [NativeName("Src", "Line 479, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_hlsl_register_set_and_binding")] + public unsafe partial void CompileOptionsSetHlslRegisterSetAndBinding(CompileOptions* options, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte reg, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string set, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string binding); + + /// To be documented. + [NativeName("Src", "Line 479, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_hlsl_register_set_and_binding")] + public unsafe partial void CompileOptionsSetHlslRegisterSetAndBinding(CompileOptions* options, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string reg, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* set, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* binding); + + /// To be documented. + [NativeName("Src", "Line 479, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_hlsl_register_set_and_binding")] + public unsafe partial void CompileOptionsSetHlslRegisterSetAndBinding(CompileOptions* options, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string reg, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* set, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte binding); + + /// To be documented. + [NativeName("Src", "Line 479, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_hlsl_register_set_and_binding")] + public unsafe partial void CompileOptionsSetHlslRegisterSetAndBinding(CompileOptions* options, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string reg, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* set, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string binding); + + /// To be documented. + [NativeName("Src", "Line 479, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_hlsl_register_set_and_binding")] + public unsafe partial void CompileOptionsSetHlslRegisterSetAndBinding(CompileOptions* options, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string reg, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte set, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* binding); + + /// To be documented. + [NativeName("Src", "Line 479, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_hlsl_register_set_and_binding")] + public unsafe partial void CompileOptionsSetHlslRegisterSetAndBinding(CompileOptions* options, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string reg, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte set, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte binding); + + /// To be documented. + [NativeName("Src", "Line 479, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_hlsl_register_set_and_binding")] + public unsafe partial void CompileOptionsSetHlslRegisterSetAndBinding(CompileOptions* options, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string reg, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte set, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string binding); + + /// To be documented. + [NativeName("Src", "Line 479, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_hlsl_register_set_and_binding")] + public unsafe partial void CompileOptionsSetHlslRegisterSetAndBinding(CompileOptions* options, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string reg, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string set, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* binding); + + /// To be documented. + [NativeName("Src", "Line 479, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_hlsl_register_set_and_binding")] + public unsafe partial void CompileOptionsSetHlslRegisterSetAndBinding(CompileOptions* options, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string reg, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string set, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte binding); + + /// To be documented. + [NativeName("Src", "Line 479, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_hlsl_register_set_and_binding")] + public unsafe partial void CompileOptionsSetHlslRegisterSetAndBinding(CompileOptions* options, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string reg, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string set, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string binding); + + /// To be documented. + [NativeName("Src", "Line 485, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_hlsl_functionality1")] + public unsafe partial void CompileOptionsSetHlslFunctionality1(CompileOptions* options, Silk.NET.Core.Bool32 enable); + + /// To be documented. + [NativeName("Src", "Line 489, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_hlsl_16bit_types")] + public unsafe partial void CompileOptionsSetHlsl16bitTypes(CompileOptions* options, Silk.NET.Core.Bool32 enable); + + /// To be documented. + [NativeName("Src", "Line 493, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_invert_y")] + public unsafe partial void CompileOptionsSetInvertY(CompileOptions* options, Silk.NET.Core.Bool32 enable); + + /// To be documented. + [NativeName("Src", "Line 500, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_options_set_nan_clamp")] + public unsafe partial void CompileOptionsSetNanClamp(CompileOptions* options, Silk.NET.Core.Bool32 enable); + + /// To be documented. + [NativeName("Src", "Line 526, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_spv")] + public unsafe partial CompilationResult* CompileIntoSpv(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 526, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_spv")] + public unsafe partial CompilationResult* CompileIntoSpv(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 526, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_spv")] + public unsafe partial CompilationResult* CompileIntoSpv(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 526, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_spv")] + public unsafe partial CompilationResult* CompileIntoSpv(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 526, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_spv")] + public unsafe partial CompilationResult* CompileIntoSpv(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 526, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_spv")] + public unsafe partial CompilationResult* CompileIntoSpv(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 526, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_spv")] + public unsafe partial CompilationResult* CompileIntoSpv(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 526, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_spv")] + public unsafe partial CompilationResult* CompileIntoSpv(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 526, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_spv")] + public unsafe partial CompilationResult* CompileIntoSpv(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 526, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_spv")] + public unsafe partial CompilationResult* CompileIntoSpv(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 526, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_spv")] + public unsafe partial CompilationResult* CompileIntoSpv(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 526, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_spv")] + public unsafe partial CompilationResult* CompileIntoSpv(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 526, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_spv")] + public unsafe partial CompilationResult* CompileIntoSpv(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 526, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_spv")] + public unsafe partial CompilationResult* CompileIntoSpv(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 526, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_spv")] + public unsafe partial CompilationResult* CompileIntoSpv(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 526, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_spv")] + public unsafe partial CompilationResult* CompileIntoSpv(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 526, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_spv")] + public unsafe partial CompilationResult* CompileIntoSpv(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 526, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_spv")] + public unsafe partial CompilationResult* CompileIntoSpv(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 526, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_spv")] + public unsafe partial CompilationResult* CompileIntoSpv(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 526, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_spv")] + public unsafe partial CompilationResult* CompileIntoSpv(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 526, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_spv")] + public unsafe partial CompilationResult* CompileIntoSpv(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 526, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_spv")] + public unsafe partial CompilationResult* CompileIntoSpv(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 526, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_spv")] + public unsafe partial CompilationResult* CompileIntoSpv(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 526, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_spv")] + public unsafe partial CompilationResult* CompileIntoSpv(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 526, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_spv")] + public unsafe partial CompilationResult* CompileIntoSpv(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 526, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_spv")] + public unsafe partial CompilationResult* CompileIntoSpv(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 526, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_spv")] + public unsafe partial CompilationResult* CompileIntoSpv(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 535, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_spv_assembly")] + public unsafe partial CompilationResult* CompileIntoSpvAssembly(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 535, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_spv_assembly")] + public unsafe partial CompilationResult* CompileIntoSpvAssembly(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 535, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_spv_assembly")] + public unsafe partial CompilationResult* CompileIntoSpvAssembly(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 535, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_spv_assembly")] + public unsafe partial CompilationResult* CompileIntoSpvAssembly(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 535, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_spv_assembly")] + public unsafe partial CompilationResult* CompileIntoSpvAssembly(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 535, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_spv_assembly")] + public unsafe partial CompilationResult* CompileIntoSpvAssembly(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 535, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_spv_assembly")] + public unsafe partial CompilationResult* CompileIntoSpvAssembly(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 535, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_spv_assembly")] + public unsafe partial CompilationResult* CompileIntoSpvAssembly(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 535, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_spv_assembly")] + public unsafe partial CompilationResult* CompileIntoSpvAssembly(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 535, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_spv_assembly")] + public unsafe partial CompilationResult* CompileIntoSpvAssembly(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 535, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_spv_assembly")] + public unsafe partial CompilationResult* CompileIntoSpvAssembly(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 535, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_spv_assembly")] + public unsafe partial CompilationResult* CompileIntoSpvAssembly(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 535, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_spv_assembly")] + public unsafe partial CompilationResult* CompileIntoSpvAssembly(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 535, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_spv_assembly")] + public unsafe partial CompilationResult* CompileIntoSpvAssembly(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 535, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_spv_assembly")] + public unsafe partial CompilationResult* CompileIntoSpvAssembly(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 535, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_spv_assembly")] + public unsafe partial CompilationResult* CompileIntoSpvAssembly(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 535, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_spv_assembly")] + public unsafe partial CompilationResult* CompileIntoSpvAssembly(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 535, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_spv_assembly")] + public unsafe partial CompilationResult* CompileIntoSpvAssembly(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 535, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_spv_assembly")] + public unsafe partial CompilationResult* CompileIntoSpvAssembly(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 535, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_spv_assembly")] + public unsafe partial CompilationResult* CompileIntoSpvAssembly(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 535, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_spv_assembly")] + public unsafe partial CompilationResult* CompileIntoSpvAssembly(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 535, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_spv_assembly")] + public unsafe partial CompilationResult* CompileIntoSpvAssembly(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 535, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_spv_assembly")] + public unsafe partial CompilationResult* CompileIntoSpvAssembly(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 535, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_spv_assembly")] + public unsafe partial CompilationResult* CompileIntoSpvAssembly(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 535, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_spv_assembly")] + public unsafe partial CompilationResult* CompileIntoSpvAssembly(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 535, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_spv_assembly")] + public unsafe partial CompilationResult* CompileIntoSpvAssembly(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 535, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_spv_assembly")] + public unsafe partial CompilationResult* CompileIntoSpvAssembly(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 543, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_preprocessed_text")] + public unsafe partial CompilationResult* CompileIntoPreprocessedText(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 543, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_preprocessed_text")] + public unsafe partial CompilationResult* CompileIntoPreprocessedText(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 543, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_preprocessed_text")] + public unsafe partial CompilationResult* CompileIntoPreprocessedText(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 543, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_preprocessed_text")] + public unsafe partial CompilationResult* CompileIntoPreprocessedText(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 543, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_preprocessed_text")] + public unsafe partial CompilationResult* CompileIntoPreprocessedText(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 543, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_preprocessed_text")] + public unsafe partial CompilationResult* CompileIntoPreprocessedText(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 543, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_preprocessed_text")] + public unsafe partial CompilationResult* CompileIntoPreprocessedText(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 543, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_preprocessed_text")] + public unsafe partial CompilationResult* CompileIntoPreprocessedText(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 543, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_preprocessed_text")] + public unsafe partial CompilationResult* CompileIntoPreprocessedText(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 543, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_preprocessed_text")] + public unsafe partial CompilationResult* CompileIntoPreprocessedText(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 543, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_preprocessed_text")] + public unsafe partial CompilationResult* CompileIntoPreprocessedText(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 543, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_preprocessed_text")] + public unsafe partial CompilationResult* CompileIntoPreprocessedText(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 543, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_preprocessed_text")] + public unsafe partial CompilationResult* CompileIntoPreprocessedText(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 543, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_preprocessed_text")] + public unsafe partial CompilationResult* CompileIntoPreprocessedText(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 543, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_preprocessed_text")] + public unsafe partial CompilationResult* CompileIntoPreprocessedText(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 543, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_preprocessed_text")] + public unsafe partial CompilationResult* CompileIntoPreprocessedText(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 543, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_preprocessed_text")] + public unsafe partial CompilationResult* CompileIntoPreprocessedText(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 543, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_preprocessed_text")] + public unsafe partial CompilationResult* CompileIntoPreprocessedText(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 543, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_preprocessed_text")] + public unsafe partial CompilationResult* CompileIntoPreprocessedText(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 543, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_preprocessed_text")] + public unsafe partial CompilationResult* CompileIntoPreprocessedText(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 543, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_preprocessed_text")] + public unsafe partial CompilationResult* CompileIntoPreprocessedText(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 543, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_preprocessed_text")] + public unsafe partial CompilationResult* CompileIntoPreprocessedText(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 543, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_preprocessed_text")] + public unsafe partial CompilationResult* CompileIntoPreprocessedText(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 543, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_preprocessed_text")] + public unsafe partial CompilationResult* CompileIntoPreprocessedText(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 543, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_preprocessed_text")] + public unsafe partial CompilationResult* CompileIntoPreprocessedText(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 543, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_preprocessed_text")] + public unsafe partial CompilationResult* CompileIntoPreprocessedText(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 543, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_compile_into_preprocessed_text")] + public unsafe partial CompilationResult* CompileIntoPreprocessedText(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string entry_point_name, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 558, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_assemble_into_spv")] + public unsafe partial CompilationResult* AssembleIntoSpv(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* source_assembly, nuint source_assembly_size, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 558, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_assemble_into_spv")] + public unsafe partial CompilationResult* AssembleIntoSpv(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte source_assembly, nuint source_assembly_size, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 558, Column 45 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_assemble_into_spv")] + public unsafe partial CompilationResult* AssembleIntoSpv(Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string source_assembly, nuint source_assembly_size, CompileOptions* additional_options); + + /// To be documented. + [NativeName("Src", "Line 568, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_result_release")] + public unsafe partial void ResultRelease(CompilationResult* result); + + /// To be documented. + [NativeName("Src", "Line 572, Column 23 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_result_get_length")] + public unsafe partial nuint ResultGetLength(CompilationResult* result); + + /// To be documented. + [NativeName("Src", "Line 575, Column 23 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_result_get_num_warnings")] + public unsafe partial nuint ResultGetNumWarnings(CompilationResult* result); + + /// To be documented. + [NativeName("Src", "Line 579, Column 23 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_result_get_num_errors")] + public unsafe partial nuint ResultGetNumErrors(CompilationResult* result); + + /// To be documented. + [NativeName("Src", "Line 584, Column 43 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_result_get_compilation_status")] + public unsafe partial CompilationStatus ResultGetCompilationStatus(CompilationResult* arg0); + + /// To be documented. + [NativeName("Src", "Line 592, Column 28 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_result_get_bytes")] + public unsafe partial byte* ResultGetBytes(CompilationResult* result); + + /// To be documented. + [NativeName("Src", "Line 592, Column 28 in shaderc.h")] + [return: UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] + [NativeApi(EntryPoint = "shaderc_result_get_bytes")] + public unsafe partial string ResultGetBytesS(CompilationResult* result); + + /// To be documented. + [NativeName("Src", "Line 596, Column 28 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_result_get_error_message")] + public unsafe partial byte* ResultGetErrorMessage(CompilationResult* result); + + /// To be documented. + [NativeName("Src", "Line 596, Column 28 in shaderc.h")] + [return: UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] + [NativeApi(EntryPoint = "shaderc_result_get_error_message")] + public unsafe partial string ResultGetErrorMessageS(CompilationResult* result); + + /// To be documented. + [NativeName("Src", "Line 600, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_get_spv_version")] + public unsafe partial void GetSpvVersion(uint* version, uint* revision); + + /// To be documented. + [NativeName("Src", "Line 600, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_get_spv_version")] + public unsafe partial void GetSpvVersion(uint* version, ref uint revision); + + /// To be documented. + [NativeName("Src", "Line 600, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_get_spv_version")] + public unsafe partial void GetSpvVersion(ref uint version, uint* revision); + + /// To be documented. + [NativeName("Src", "Line 600, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_get_spv_version")] + public partial void GetSpvVersion(ref uint version, ref uint revision); + + /// To be documented. + [NativeName("Src", "Line 606, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_parse_version_profile")] + public unsafe partial Silk.NET.Core.Bool32 ParseVersionProfile([Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* str, int* version, Profile* profile); + + /// To be documented. + [NativeName("Src", "Line 606, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_parse_version_profile")] + public unsafe partial Silk.NET.Core.Bool32 ParseVersionProfile([Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* str, int* version, ref Profile profile); + + /// To be documented. + [NativeName("Src", "Line 606, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_parse_version_profile")] + public unsafe partial Silk.NET.Core.Bool32 ParseVersionProfile([Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* str, ref int version, Profile* profile); + + /// To be documented. + [NativeName("Src", "Line 606, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_parse_version_profile")] + public unsafe partial Silk.NET.Core.Bool32 ParseVersionProfile([Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* str, ref int version, ref Profile profile); + + /// To be documented. + [NativeName("Src", "Line 606, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_parse_version_profile")] + public unsafe partial Silk.NET.Core.Bool32 ParseVersionProfile([Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte str, int* version, Profile* profile); + + /// To be documented. + [NativeName("Src", "Line 606, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_parse_version_profile")] + public unsafe partial Silk.NET.Core.Bool32 ParseVersionProfile([Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte str, int* version, ref Profile profile); + + /// To be documented. + [NativeName("Src", "Line 606, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_parse_version_profile")] + public unsafe partial Silk.NET.Core.Bool32 ParseVersionProfile([Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte str, ref int version, Profile* profile); + + /// To be documented. + [NativeName("Src", "Line 606, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_parse_version_profile")] + public partial Silk.NET.Core.Bool32 ParseVersionProfile([Flow(Silk.NET.Core.Native.FlowDirection.In)] in byte str, ref int version, ref Profile profile); + + /// To be documented. + [NativeName("Src", "Line 606, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_parse_version_profile")] + public unsafe partial Silk.NET.Core.Bool32 ParseVersionProfile([Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string str, int* version, Profile* profile); + + /// To be documented. + [NativeName("Src", "Line 606, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_parse_version_profile")] + public unsafe partial Silk.NET.Core.Bool32 ParseVersionProfile([Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string str, int* version, ref Profile profile); + + /// To be documented. + [NativeName("Src", "Line 606, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_parse_version_profile")] + public unsafe partial Silk.NET.Core.Bool32 ParseVersionProfile([Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string str, ref int version, Profile* profile); + + /// To be documented. + [NativeName("Src", "Line 606, Column 21 in shaderc.h")] + [NativeApi(EntryPoint = "shaderc_parse_version_profile")] + public partial Silk.NET.Core.Bool32 ParseVersionProfile([Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string str, ref int version, ref Profile profile); + + + public Shaderc(INativeContext ctx) + : base(ctx) + { + } + } +} + diff --git a/src/SPIRV/Silk.NET.Shaderc/ShadercLibraryNameContainer.cs b/src/SPIRV/Silk.NET.Shaderc/ShadercLibraryNameContainer.cs new file mode 100644 index 0000000000..49f7574571 --- /dev/null +++ b/src/SPIRV/Silk.NET.Shaderc/ShadercLibraryNameContainer.cs @@ -0,0 +1,31 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using Silk.NET.Core.Loader; + +namespace Silk.NET.Shaderc +{ + /// + /// Contains the library name of shaderc. + /// + internal class ShadercLibraryNameContainer : SearchPathContainer + { + /// + public override string[] Linux => new[] { "libshaderc_shared.so" }; + + /// + public override string[] MacOS => new[] { "libshaderc_shared.dylib" }; + + /// + public override string[] Android => new[] { "libshaderc_shared.so" }; + + /// + public override string[] IOS => new[] { "" }; + + /// + public override string[] Windows64 => new[] { "shaderc_shared.dll" }; + + /// + public override string[] Windows86 => new[] { "shaderc_shared.dll" }; + } +} diff --git a/src/SPIRV/Silk.NET.Shaderc/ShadercOverloads.gen.cs b/src/SPIRV/Silk.NET.Shaderc/ShadercOverloads.gen.cs new file mode 100644 index 0000000000..eef32598e6 --- /dev/null +++ b/src/SPIRV/Silk.NET.Shaderc/ShadercOverloads.gen.cs @@ -0,0 +1,941 @@ +// 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.Runtime.InteropServices; +using System.Runtime.CompilerServices; +using System.Text; +using Silk.NET.Core; +using Silk.NET.Core.Native; +using Silk.NET.Core.Attributes; +using Silk.NET.Core.Contexts; +using Silk.NET.Core.Loader; + +#pragma warning disable 1591 + +namespace Silk.NET.Shaderc +{ + public static class ShadercOverloads + { + /// To be documented. + [NativeName("Src", "Line 310, Column 21 in shaderc.h")] + public static unsafe void CompileOptionsAddMacroDefinition(this Shaderc thisApi, CompileOptions* options, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* name, nuint name_length, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan value, nuint value_length) + { + // SpanOverloader + thisApi.CompileOptionsAddMacroDefinition(options, name, name_length, in value.GetPinnableReference(), value_length); + } + + /// To be documented. + [NativeName("Src", "Line 310, Column 21 in shaderc.h")] + public static unsafe void CompileOptionsAddMacroDefinition(this Shaderc thisApi, CompileOptions* options, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan name, nuint name_length, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* value, nuint value_length) + { + // SpanOverloader + thisApi.CompileOptionsAddMacroDefinition(options, in name.GetPinnableReference(), name_length, value, value_length); + } + + /// To be documented. + [NativeName("Src", "Line 310, Column 21 in shaderc.h")] + public static unsafe void CompileOptionsAddMacroDefinition(this Shaderc thisApi, CompileOptions* options, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan name, nuint name_length, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan value, nuint value_length) + { + // SpanOverloader + thisApi.CompileOptionsAddMacroDefinition(options, in name.GetPinnableReference(), name_length, in value.GetPinnableReference(), value_length); + } + + /// To be documented. + [NativeName("Src", "Line 310, Column 21 in shaderc.h")] + public static unsafe void CompileOptionsAddMacroDefinition(this Shaderc thisApi, CompileOptions* options, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan name, nuint name_length, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string value, nuint value_length) + { + // SpanOverloader + thisApi.CompileOptionsAddMacroDefinition(options, in name.GetPinnableReference(), name_length, value, value_length); + } + + /// To be documented. + [NativeName("Src", "Line 310, Column 21 in shaderc.h")] + public static unsafe void CompileOptionsAddMacroDefinition(this Shaderc thisApi, CompileOptions* options, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string name, nuint name_length, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan value, nuint value_length) + { + // SpanOverloader + thisApi.CompileOptionsAddMacroDefinition(options, name, name_length, in value.GetPinnableReference(), value_length); + } + + /// To be documented. + [NativeName("Src", "Line 384, Column 21 in shaderc.h")] + public static unsafe void CompileOptionsSetIncludeCallbacks(this Shaderc thisApi, CompileOptions* options, PfnIncludeResolveFn resolver, PfnIncludeResultReleaseFn result_releaser, Span user_data) where T0 : unmanaged + { + // SpanOverloader + thisApi.CompileOptionsSetIncludeCallbacks(options, resolver, result_releaser, ref user_data.GetPinnableReference()); + } + + /// To be documented. + [NativeName("Src", "Line 473, Column 21 in shaderc.h")] + public static unsafe void CompileOptionsSetHlslRegisterSetAndBindingForStage(this Shaderc thisApi, CompileOptions* options, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* reg, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* set, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan binding) + { + // SpanOverloader + thisApi.CompileOptionsSetHlslRegisterSetAndBindingForStage(options, shader_kind, reg, set, in binding.GetPinnableReference()); + } + + /// To be documented. + [NativeName("Src", "Line 473, Column 21 in shaderc.h")] + public static unsafe void CompileOptionsSetHlslRegisterSetAndBindingForStage(this Shaderc thisApi, CompileOptions* options, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* reg, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan set, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* binding) + { + // SpanOverloader + thisApi.CompileOptionsSetHlslRegisterSetAndBindingForStage(options, shader_kind, reg, in set.GetPinnableReference(), binding); + } + + /// To be documented. + [NativeName("Src", "Line 473, Column 21 in shaderc.h")] + public static unsafe void CompileOptionsSetHlslRegisterSetAndBindingForStage(this Shaderc thisApi, CompileOptions* options, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* reg, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan set, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan binding) + { + // SpanOverloader + thisApi.CompileOptionsSetHlslRegisterSetAndBindingForStage(options, shader_kind, reg, in set.GetPinnableReference(), in binding.GetPinnableReference()); + } + + /// To be documented. + [NativeName("Src", "Line 473, Column 21 in shaderc.h")] + public static unsafe void CompileOptionsSetHlslRegisterSetAndBindingForStage(this Shaderc thisApi, CompileOptions* options, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* reg, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan set, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string binding) + { + // SpanOverloader + thisApi.CompileOptionsSetHlslRegisterSetAndBindingForStage(options, shader_kind, reg, in set.GetPinnableReference(), binding); + } + + /// To be documented. + [NativeName("Src", "Line 473, Column 21 in shaderc.h")] + public static unsafe void CompileOptionsSetHlslRegisterSetAndBindingForStage(this Shaderc thisApi, CompileOptions* options, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* reg, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string set, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan binding) + { + // SpanOverloader + thisApi.CompileOptionsSetHlslRegisterSetAndBindingForStage(options, shader_kind, reg, set, in binding.GetPinnableReference()); + } + + /// To be documented. + [NativeName("Src", "Line 473, Column 21 in shaderc.h")] + public static unsafe void CompileOptionsSetHlslRegisterSetAndBindingForStage(this Shaderc thisApi, CompileOptions* options, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan reg, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* set, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* binding) + { + // SpanOverloader + thisApi.CompileOptionsSetHlslRegisterSetAndBindingForStage(options, shader_kind, in reg.GetPinnableReference(), set, binding); + } + + /// To be documented. + [NativeName("Src", "Line 473, Column 21 in shaderc.h")] + public static unsafe void CompileOptionsSetHlslRegisterSetAndBindingForStage(this Shaderc thisApi, CompileOptions* options, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan reg, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* set, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan binding) + { + // SpanOverloader + thisApi.CompileOptionsSetHlslRegisterSetAndBindingForStage(options, shader_kind, in reg.GetPinnableReference(), set, in binding.GetPinnableReference()); + } + + /// To be documented. + [NativeName("Src", "Line 473, Column 21 in shaderc.h")] + public static unsafe void CompileOptionsSetHlslRegisterSetAndBindingForStage(this Shaderc thisApi, CompileOptions* options, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan reg, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* set, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string binding) + { + // SpanOverloader + thisApi.CompileOptionsSetHlslRegisterSetAndBindingForStage(options, shader_kind, in reg.GetPinnableReference(), set, binding); + } + + /// To be documented. + [NativeName("Src", "Line 473, Column 21 in shaderc.h")] + public static unsafe void CompileOptionsSetHlslRegisterSetAndBindingForStage(this Shaderc thisApi, CompileOptions* options, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan reg, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan set, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* binding) + { + // SpanOverloader + thisApi.CompileOptionsSetHlslRegisterSetAndBindingForStage(options, shader_kind, in reg.GetPinnableReference(), in set.GetPinnableReference(), binding); + } + + /// To be documented. + [NativeName("Src", "Line 473, Column 21 in shaderc.h")] + public static unsafe void CompileOptionsSetHlslRegisterSetAndBindingForStage(this Shaderc thisApi, CompileOptions* options, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan reg, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan set, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan binding) + { + // SpanOverloader + thisApi.CompileOptionsSetHlslRegisterSetAndBindingForStage(options, shader_kind, in reg.GetPinnableReference(), in set.GetPinnableReference(), in binding.GetPinnableReference()); + } + + /// To be documented. + [NativeName("Src", "Line 473, Column 21 in shaderc.h")] + public static unsafe void CompileOptionsSetHlslRegisterSetAndBindingForStage(this Shaderc thisApi, CompileOptions* options, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan reg, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan set, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string binding) + { + // SpanOverloader + thisApi.CompileOptionsSetHlslRegisterSetAndBindingForStage(options, shader_kind, in reg.GetPinnableReference(), in set.GetPinnableReference(), binding); + } + + /// To be documented. + [NativeName("Src", "Line 473, Column 21 in shaderc.h")] + public static unsafe void CompileOptionsSetHlslRegisterSetAndBindingForStage(this Shaderc thisApi, CompileOptions* options, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan reg, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string set, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* binding) + { + // SpanOverloader + thisApi.CompileOptionsSetHlslRegisterSetAndBindingForStage(options, shader_kind, in reg.GetPinnableReference(), set, binding); + } + + /// To be documented. + [NativeName("Src", "Line 473, Column 21 in shaderc.h")] + public static unsafe void CompileOptionsSetHlslRegisterSetAndBindingForStage(this Shaderc thisApi, CompileOptions* options, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan reg, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string set, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan binding) + { + // SpanOverloader + thisApi.CompileOptionsSetHlslRegisterSetAndBindingForStage(options, shader_kind, in reg.GetPinnableReference(), set, in binding.GetPinnableReference()); + } + + /// To be documented. + [NativeName("Src", "Line 473, Column 21 in shaderc.h")] + public static unsafe void CompileOptionsSetHlslRegisterSetAndBindingForStage(this Shaderc thisApi, CompileOptions* options, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan reg, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string set, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string binding) + { + // SpanOverloader + thisApi.CompileOptionsSetHlslRegisterSetAndBindingForStage(options, shader_kind, in reg.GetPinnableReference(), set, binding); + } + + /// To be documented. + [NativeName("Src", "Line 473, Column 21 in shaderc.h")] + public static unsafe void CompileOptionsSetHlslRegisterSetAndBindingForStage(this Shaderc thisApi, CompileOptions* options, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string reg, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* set, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan binding) + { + // SpanOverloader + thisApi.CompileOptionsSetHlslRegisterSetAndBindingForStage(options, shader_kind, reg, set, in binding.GetPinnableReference()); + } + + /// To be documented. + [NativeName("Src", "Line 473, Column 21 in shaderc.h")] + public static unsafe void CompileOptionsSetHlslRegisterSetAndBindingForStage(this Shaderc thisApi, CompileOptions* options, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string reg, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan set, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* binding) + { + // SpanOverloader + thisApi.CompileOptionsSetHlslRegisterSetAndBindingForStage(options, shader_kind, reg, in set.GetPinnableReference(), binding); + } + + /// To be documented. + [NativeName("Src", "Line 473, Column 21 in shaderc.h")] + public static unsafe void CompileOptionsSetHlslRegisterSetAndBindingForStage(this Shaderc thisApi, CompileOptions* options, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string reg, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan set, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan binding) + { + // SpanOverloader + thisApi.CompileOptionsSetHlslRegisterSetAndBindingForStage(options, shader_kind, reg, in set.GetPinnableReference(), in binding.GetPinnableReference()); + } + + /// To be documented. + [NativeName("Src", "Line 473, Column 21 in shaderc.h")] + public static unsafe void CompileOptionsSetHlslRegisterSetAndBindingForStage(this Shaderc thisApi, CompileOptions* options, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string reg, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan set, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string binding) + { + // SpanOverloader + thisApi.CompileOptionsSetHlslRegisterSetAndBindingForStage(options, shader_kind, reg, in set.GetPinnableReference(), binding); + } + + /// To be documented. + [NativeName("Src", "Line 473, Column 21 in shaderc.h")] + public static unsafe void CompileOptionsSetHlslRegisterSetAndBindingForStage(this Shaderc thisApi, CompileOptions* options, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string reg, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string set, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan binding) + { + // SpanOverloader + thisApi.CompileOptionsSetHlslRegisterSetAndBindingForStage(options, shader_kind, reg, set, in binding.GetPinnableReference()); + } + + /// To be documented. + [NativeName("Src", "Line 479, Column 21 in shaderc.h")] + public static unsafe void CompileOptionsSetHlslRegisterSetAndBinding(this Shaderc thisApi, CompileOptions* options, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* reg, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* set, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan binding) + { + // SpanOverloader + thisApi.CompileOptionsSetHlslRegisterSetAndBinding(options, reg, set, in binding.GetPinnableReference()); + } + + /// To be documented. + [NativeName("Src", "Line 479, Column 21 in shaderc.h")] + public static unsafe void CompileOptionsSetHlslRegisterSetAndBinding(this Shaderc thisApi, CompileOptions* options, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* reg, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan set, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* binding) + { + // SpanOverloader + thisApi.CompileOptionsSetHlslRegisterSetAndBinding(options, reg, in set.GetPinnableReference(), binding); + } + + /// To be documented. + [NativeName("Src", "Line 479, Column 21 in shaderc.h")] + public static unsafe void CompileOptionsSetHlslRegisterSetAndBinding(this Shaderc thisApi, CompileOptions* options, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* reg, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan set, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan binding) + { + // SpanOverloader + thisApi.CompileOptionsSetHlslRegisterSetAndBinding(options, reg, in set.GetPinnableReference(), in binding.GetPinnableReference()); + } + + /// To be documented. + [NativeName("Src", "Line 479, Column 21 in shaderc.h")] + public static unsafe void CompileOptionsSetHlslRegisterSetAndBinding(this Shaderc thisApi, CompileOptions* options, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* reg, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan set, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string binding) + { + // SpanOverloader + thisApi.CompileOptionsSetHlslRegisterSetAndBinding(options, reg, in set.GetPinnableReference(), binding); + } + + /// To be documented. + [NativeName("Src", "Line 479, Column 21 in shaderc.h")] + public static unsafe void CompileOptionsSetHlslRegisterSetAndBinding(this Shaderc thisApi, CompileOptions* options, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* reg, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string set, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan binding) + { + // SpanOverloader + thisApi.CompileOptionsSetHlslRegisterSetAndBinding(options, reg, set, in binding.GetPinnableReference()); + } + + /// To be documented. + [NativeName("Src", "Line 479, Column 21 in shaderc.h")] + public static unsafe void CompileOptionsSetHlslRegisterSetAndBinding(this Shaderc thisApi, CompileOptions* options, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan reg, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* set, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* binding) + { + // SpanOverloader + thisApi.CompileOptionsSetHlslRegisterSetAndBinding(options, in reg.GetPinnableReference(), set, binding); + } + + /// To be documented. + [NativeName("Src", "Line 479, Column 21 in shaderc.h")] + public static unsafe void CompileOptionsSetHlslRegisterSetAndBinding(this Shaderc thisApi, CompileOptions* options, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan reg, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* set, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan binding) + { + // SpanOverloader + thisApi.CompileOptionsSetHlslRegisterSetAndBinding(options, in reg.GetPinnableReference(), set, in binding.GetPinnableReference()); + } + + /// To be documented. + [NativeName("Src", "Line 479, Column 21 in shaderc.h")] + public static unsafe void CompileOptionsSetHlslRegisterSetAndBinding(this Shaderc thisApi, CompileOptions* options, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan reg, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* set, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string binding) + { + // SpanOverloader + thisApi.CompileOptionsSetHlslRegisterSetAndBinding(options, in reg.GetPinnableReference(), set, binding); + } + + /// To be documented. + [NativeName("Src", "Line 479, Column 21 in shaderc.h")] + public static unsafe void CompileOptionsSetHlslRegisterSetAndBinding(this Shaderc thisApi, CompileOptions* options, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan reg, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan set, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* binding) + { + // SpanOverloader + thisApi.CompileOptionsSetHlslRegisterSetAndBinding(options, in reg.GetPinnableReference(), in set.GetPinnableReference(), binding); + } + + /// To be documented. + [NativeName("Src", "Line 479, Column 21 in shaderc.h")] + public static unsafe void CompileOptionsSetHlslRegisterSetAndBinding(this Shaderc thisApi, CompileOptions* options, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan reg, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan set, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan binding) + { + // SpanOverloader + thisApi.CompileOptionsSetHlslRegisterSetAndBinding(options, in reg.GetPinnableReference(), in set.GetPinnableReference(), in binding.GetPinnableReference()); + } + + /// To be documented. + [NativeName("Src", "Line 479, Column 21 in shaderc.h")] + public static unsafe void CompileOptionsSetHlslRegisterSetAndBinding(this Shaderc thisApi, CompileOptions* options, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan reg, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan set, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string binding) + { + // SpanOverloader + thisApi.CompileOptionsSetHlslRegisterSetAndBinding(options, in reg.GetPinnableReference(), in set.GetPinnableReference(), binding); + } + + /// To be documented. + [NativeName("Src", "Line 479, Column 21 in shaderc.h")] + public static unsafe void CompileOptionsSetHlslRegisterSetAndBinding(this Shaderc thisApi, CompileOptions* options, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan reg, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string set, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* binding) + { + // SpanOverloader + thisApi.CompileOptionsSetHlslRegisterSetAndBinding(options, in reg.GetPinnableReference(), set, binding); + } + + /// To be documented. + [NativeName("Src", "Line 479, Column 21 in shaderc.h")] + public static unsafe void CompileOptionsSetHlslRegisterSetAndBinding(this Shaderc thisApi, CompileOptions* options, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan reg, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string set, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan binding) + { + // SpanOverloader + thisApi.CompileOptionsSetHlslRegisterSetAndBinding(options, in reg.GetPinnableReference(), set, in binding.GetPinnableReference()); + } + + /// To be documented. + [NativeName("Src", "Line 479, Column 21 in shaderc.h")] + public static unsafe void CompileOptionsSetHlslRegisterSetAndBinding(this Shaderc thisApi, CompileOptions* options, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan reg, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string set, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string binding) + { + // SpanOverloader + thisApi.CompileOptionsSetHlslRegisterSetAndBinding(options, in reg.GetPinnableReference(), set, binding); + } + + /// To be documented. + [NativeName("Src", "Line 479, Column 21 in shaderc.h")] + public static unsafe void CompileOptionsSetHlslRegisterSetAndBinding(this Shaderc thisApi, CompileOptions* options, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string reg, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* set, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan binding) + { + // SpanOverloader + thisApi.CompileOptionsSetHlslRegisterSetAndBinding(options, reg, set, in binding.GetPinnableReference()); + } + + /// To be documented. + [NativeName("Src", "Line 479, Column 21 in shaderc.h")] + public static unsafe void CompileOptionsSetHlslRegisterSetAndBinding(this Shaderc thisApi, CompileOptions* options, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string reg, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan set, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* binding) + { + // SpanOverloader + thisApi.CompileOptionsSetHlslRegisterSetAndBinding(options, reg, in set.GetPinnableReference(), binding); + } + + /// To be documented. + [NativeName("Src", "Line 479, Column 21 in shaderc.h")] + public static unsafe void CompileOptionsSetHlslRegisterSetAndBinding(this Shaderc thisApi, CompileOptions* options, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string reg, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan set, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan binding) + { + // SpanOverloader + thisApi.CompileOptionsSetHlslRegisterSetAndBinding(options, reg, in set.GetPinnableReference(), in binding.GetPinnableReference()); + } + + /// To be documented. + [NativeName("Src", "Line 479, Column 21 in shaderc.h")] + public static unsafe void CompileOptionsSetHlslRegisterSetAndBinding(this Shaderc thisApi, CompileOptions* options, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string reg, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan set, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string binding) + { + // SpanOverloader + thisApi.CompileOptionsSetHlslRegisterSetAndBinding(options, reg, in set.GetPinnableReference(), binding); + } + + /// To be documented. + [NativeName("Src", "Line 479, Column 21 in shaderc.h")] + public static unsafe void CompileOptionsSetHlslRegisterSetAndBinding(this Shaderc thisApi, CompileOptions* options, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string reg, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string set, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan binding) + { + // SpanOverloader + thisApi.CompileOptionsSetHlslRegisterSetAndBinding(options, reg, set, in binding.GetPinnableReference()); + } + + /// To be documented. + [NativeName("Src", "Line 526, Column 45 in shaderc.h")] + public static unsafe CompilationResult* CompileIntoSpv(this Shaderc thisApi, Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan entry_point_name, CompileOptions* additional_options) + { + // SpanOverloader + return thisApi.CompileIntoSpv(compiler, source_text, source_text_size, shader_kind, input_file_name, in entry_point_name.GetPinnableReference(), additional_options); + } + + /// To be documented. + [NativeName("Src", "Line 526, Column 45 in shaderc.h")] + public static unsafe CompilationResult* CompileIntoSpv(this Shaderc thisApi, Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* entry_point_name, CompileOptions* additional_options) + { + // SpanOverloader + return thisApi.CompileIntoSpv(compiler, source_text, source_text_size, shader_kind, in input_file_name.GetPinnableReference(), entry_point_name, additional_options); + } + + /// To be documented. + [NativeName("Src", "Line 526, Column 45 in shaderc.h")] + public static unsafe CompilationResult* CompileIntoSpv(this Shaderc thisApi, Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan entry_point_name, CompileOptions* additional_options) + { + // SpanOverloader + return thisApi.CompileIntoSpv(compiler, source_text, source_text_size, shader_kind, in input_file_name.GetPinnableReference(), in entry_point_name.GetPinnableReference(), additional_options); + } + + /// To be documented. + [NativeName("Src", "Line 526, Column 45 in shaderc.h")] + public static unsafe CompilationResult* CompileIntoSpv(this Shaderc thisApi, Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string entry_point_name, CompileOptions* additional_options) + { + // SpanOverloader + return thisApi.CompileIntoSpv(compiler, source_text, source_text_size, shader_kind, in input_file_name.GetPinnableReference(), entry_point_name, additional_options); + } + + /// To be documented. + [NativeName("Src", "Line 526, Column 45 in shaderc.h")] + public static unsafe CompilationResult* CompileIntoSpv(this Shaderc thisApi, Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan entry_point_name, CompileOptions* additional_options) + { + // SpanOverloader + return thisApi.CompileIntoSpv(compiler, source_text, source_text_size, shader_kind, input_file_name, in entry_point_name.GetPinnableReference(), additional_options); + } + + /// To be documented. + [NativeName("Src", "Line 526, Column 45 in shaderc.h")] + public static unsafe CompilationResult* CompileIntoSpv(this Shaderc thisApi, Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* entry_point_name, CompileOptions* additional_options) + { + // SpanOverloader + return thisApi.CompileIntoSpv(compiler, in source_text.GetPinnableReference(), source_text_size, shader_kind, input_file_name, entry_point_name, additional_options); + } + + /// To be documented. + [NativeName("Src", "Line 526, Column 45 in shaderc.h")] + public static unsafe CompilationResult* CompileIntoSpv(this Shaderc thisApi, Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan entry_point_name, CompileOptions* additional_options) + { + // SpanOverloader + return thisApi.CompileIntoSpv(compiler, in source_text.GetPinnableReference(), source_text_size, shader_kind, input_file_name, in entry_point_name.GetPinnableReference(), additional_options); + } + + /// To be documented. + [NativeName("Src", "Line 526, Column 45 in shaderc.h")] + public static unsafe CompilationResult* CompileIntoSpv(this Shaderc thisApi, Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string entry_point_name, CompileOptions* additional_options) + { + // SpanOverloader + return thisApi.CompileIntoSpv(compiler, in source_text.GetPinnableReference(), source_text_size, shader_kind, input_file_name, entry_point_name, additional_options); + } + + /// To be documented. + [NativeName("Src", "Line 526, Column 45 in shaderc.h")] + public static unsafe CompilationResult* CompileIntoSpv(this Shaderc thisApi, Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* entry_point_name, CompileOptions* additional_options) + { + // SpanOverloader + return thisApi.CompileIntoSpv(compiler, in source_text.GetPinnableReference(), source_text_size, shader_kind, in input_file_name.GetPinnableReference(), entry_point_name, additional_options); + } + + /// To be documented. + [NativeName("Src", "Line 526, Column 45 in shaderc.h")] + public static unsafe CompilationResult* CompileIntoSpv(this Shaderc thisApi, Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan entry_point_name, CompileOptions* additional_options) + { + // SpanOverloader + return thisApi.CompileIntoSpv(compiler, in source_text.GetPinnableReference(), source_text_size, shader_kind, in input_file_name.GetPinnableReference(), in entry_point_name.GetPinnableReference(), additional_options); + } + + /// To be documented. + [NativeName("Src", "Line 526, Column 45 in shaderc.h")] + public static unsafe CompilationResult* CompileIntoSpv(this Shaderc thisApi, Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string entry_point_name, CompileOptions* additional_options) + { + // SpanOverloader + return thisApi.CompileIntoSpv(compiler, in source_text.GetPinnableReference(), source_text_size, shader_kind, in input_file_name.GetPinnableReference(), entry_point_name, additional_options); + } + + /// To be documented. + [NativeName("Src", "Line 526, Column 45 in shaderc.h")] + public static unsafe CompilationResult* CompileIntoSpv(this Shaderc thisApi, Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* entry_point_name, CompileOptions* additional_options) + { + // SpanOverloader + return thisApi.CompileIntoSpv(compiler, in source_text.GetPinnableReference(), source_text_size, shader_kind, input_file_name, entry_point_name, additional_options); + } + + /// To be documented. + [NativeName("Src", "Line 526, Column 45 in shaderc.h")] + public static unsafe CompilationResult* CompileIntoSpv(this Shaderc thisApi, Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan entry_point_name, CompileOptions* additional_options) + { + // SpanOverloader + return thisApi.CompileIntoSpv(compiler, in source_text.GetPinnableReference(), source_text_size, shader_kind, input_file_name, in entry_point_name.GetPinnableReference(), additional_options); + } + + /// To be documented. + [NativeName("Src", "Line 526, Column 45 in shaderc.h")] + public static unsafe CompilationResult* CompileIntoSpv(this Shaderc thisApi, Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string entry_point_name, CompileOptions* additional_options) + { + // SpanOverloader + return thisApi.CompileIntoSpv(compiler, in source_text.GetPinnableReference(), source_text_size, shader_kind, input_file_name, entry_point_name, additional_options); + } + + /// To be documented. + [NativeName("Src", "Line 526, Column 45 in shaderc.h")] + public static unsafe CompilationResult* CompileIntoSpv(this Shaderc thisApi, Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan entry_point_name, CompileOptions* additional_options) + { + // SpanOverloader + return thisApi.CompileIntoSpv(compiler, source_text, source_text_size, shader_kind, input_file_name, in entry_point_name.GetPinnableReference(), additional_options); + } + + /// To be documented. + [NativeName("Src", "Line 526, Column 45 in shaderc.h")] + public static unsafe CompilationResult* CompileIntoSpv(this Shaderc thisApi, Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* entry_point_name, CompileOptions* additional_options) + { + // SpanOverloader + return thisApi.CompileIntoSpv(compiler, source_text, source_text_size, shader_kind, in input_file_name.GetPinnableReference(), entry_point_name, additional_options); + } + + /// To be documented. + [NativeName("Src", "Line 526, Column 45 in shaderc.h")] + public static unsafe CompilationResult* CompileIntoSpv(this Shaderc thisApi, Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan entry_point_name, CompileOptions* additional_options) + { + // SpanOverloader + return thisApi.CompileIntoSpv(compiler, source_text, source_text_size, shader_kind, in input_file_name.GetPinnableReference(), in entry_point_name.GetPinnableReference(), additional_options); + } + + /// To be documented. + [NativeName("Src", "Line 526, Column 45 in shaderc.h")] + public static unsafe CompilationResult* CompileIntoSpv(this Shaderc thisApi, Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string entry_point_name, CompileOptions* additional_options) + { + // SpanOverloader + return thisApi.CompileIntoSpv(compiler, source_text, source_text_size, shader_kind, in input_file_name.GetPinnableReference(), entry_point_name, additional_options); + } + + /// To be documented. + [NativeName("Src", "Line 526, Column 45 in shaderc.h")] + public static unsafe CompilationResult* CompileIntoSpv(this Shaderc thisApi, Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan entry_point_name, CompileOptions* additional_options) + { + // SpanOverloader + return thisApi.CompileIntoSpv(compiler, source_text, source_text_size, shader_kind, input_file_name, in entry_point_name.GetPinnableReference(), additional_options); + } + + /// To be documented. + [NativeName("Src", "Line 535, Column 45 in shaderc.h")] + public static unsafe CompilationResult* CompileIntoSpvAssembly(this Shaderc thisApi, Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan entry_point_name, CompileOptions* additional_options) + { + // SpanOverloader + return thisApi.CompileIntoSpvAssembly(compiler, source_text, source_text_size, shader_kind, input_file_name, in entry_point_name.GetPinnableReference(), additional_options); + } + + /// To be documented. + [NativeName("Src", "Line 535, Column 45 in shaderc.h")] + public static unsafe CompilationResult* CompileIntoSpvAssembly(this Shaderc thisApi, Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* entry_point_name, CompileOptions* additional_options) + { + // SpanOverloader + return thisApi.CompileIntoSpvAssembly(compiler, source_text, source_text_size, shader_kind, in input_file_name.GetPinnableReference(), entry_point_name, additional_options); + } + + /// To be documented. + [NativeName("Src", "Line 535, Column 45 in shaderc.h")] + public static unsafe CompilationResult* CompileIntoSpvAssembly(this Shaderc thisApi, Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan entry_point_name, CompileOptions* additional_options) + { + // SpanOverloader + return thisApi.CompileIntoSpvAssembly(compiler, source_text, source_text_size, shader_kind, in input_file_name.GetPinnableReference(), in entry_point_name.GetPinnableReference(), additional_options); + } + + /// To be documented. + [NativeName("Src", "Line 535, Column 45 in shaderc.h")] + public static unsafe CompilationResult* CompileIntoSpvAssembly(this Shaderc thisApi, Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string entry_point_name, CompileOptions* additional_options) + { + // SpanOverloader + return thisApi.CompileIntoSpvAssembly(compiler, source_text, source_text_size, shader_kind, in input_file_name.GetPinnableReference(), entry_point_name, additional_options); + } + + /// To be documented. + [NativeName("Src", "Line 535, Column 45 in shaderc.h")] + public static unsafe CompilationResult* CompileIntoSpvAssembly(this Shaderc thisApi, Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan entry_point_name, CompileOptions* additional_options) + { + // SpanOverloader + return thisApi.CompileIntoSpvAssembly(compiler, source_text, source_text_size, shader_kind, input_file_name, in entry_point_name.GetPinnableReference(), additional_options); + } + + /// To be documented. + [NativeName("Src", "Line 535, Column 45 in shaderc.h")] + public static unsafe CompilationResult* CompileIntoSpvAssembly(this Shaderc thisApi, Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* entry_point_name, CompileOptions* additional_options) + { + // SpanOverloader + return thisApi.CompileIntoSpvAssembly(compiler, in source_text.GetPinnableReference(), source_text_size, shader_kind, input_file_name, entry_point_name, additional_options); + } + + /// To be documented. + [NativeName("Src", "Line 535, Column 45 in shaderc.h")] + public static unsafe CompilationResult* CompileIntoSpvAssembly(this Shaderc thisApi, Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan entry_point_name, CompileOptions* additional_options) + { + // SpanOverloader + return thisApi.CompileIntoSpvAssembly(compiler, in source_text.GetPinnableReference(), source_text_size, shader_kind, input_file_name, in entry_point_name.GetPinnableReference(), additional_options); + } + + /// To be documented. + [NativeName("Src", "Line 535, Column 45 in shaderc.h")] + public static unsafe CompilationResult* CompileIntoSpvAssembly(this Shaderc thisApi, Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string entry_point_name, CompileOptions* additional_options) + { + // SpanOverloader + return thisApi.CompileIntoSpvAssembly(compiler, in source_text.GetPinnableReference(), source_text_size, shader_kind, input_file_name, entry_point_name, additional_options); + } + + /// To be documented. + [NativeName("Src", "Line 535, Column 45 in shaderc.h")] + public static unsafe CompilationResult* CompileIntoSpvAssembly(this Shaderc thisApi, Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* entry_point_name, CompileOptions* additional_options) + { + // SpanOverloader + return thisApi.CompileIntoSpvAssembly(compiler, in source_text.GetPinnableReference(), source_text_size, shader_kind, in input_file_name.GetPinnableReference(), entry_point_name, additional_options); + } + + /// To be documented. + [NativeName("Src", "Line 535, Column 45 in shaderc.h")] + public static unsafe CompilationResult* CompileIntoSpvAssembly(this Shaderc thisApi, Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan entry_point_name, CompileOptions* additional_options) + { + // SpanOverloader + return thisApi.CompileIntoSpvAssembly(compiler, in source_text.GetPinnableReference(), source_text_size, shader_kind, in input_file_name.GetPinnableReference(), in entry_point_name.GetPinnableReference(), additional_options); + } + + /// To be documented. + [NativeName("Src", "Line 535, Column 45 in shaderc.h")] + public static unsafe CompilationResult* CompileIntoSpvAssembly(this Shaderc thisApi, Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string entry_point_name, CompileOptions* additional_options) + { + // SpanOverloader + return thisApi.CompileIntoSpvAssembly(compiler, in source_text.GetPinnableReference(), source_text_size, shader_kind, in input_file_name.GetPinnableReference(), entry_point_name, additional_options); + } + + /// To be documented. + [NativeName("Src", "Line 535, Column 45 in shaderc.h")] + public static unsafe CompilationResult* CompileIntoSpvAssembly(this Shaderc thisApi, Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* entry_point_name, CompileOptions* additional_options) + { + // SpanOverloader + return thisApi.CompileIntoSpvAssembly(compiler, in source_text.GetPinnableReference(), source_text_size, shader_kind, input_file_name, entry_point_name, additional_options); + } + + /// To be documented. + [NativeName("Src", "Line 535, Column 45 in shaderc.h")] + public static unsafe CompilationResult* CompileIntoSpvAssembly(this Shaderc thisApi, Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan entry_point_name, CompileOptions* additional_options) + { + // SpanOverloader + return thisApi.CompileIntoSpvAssembly(compiler, in source_text.GetPinnableReference(), source_text_size, shader_kind, input_file_name, in entry_point_name.GetPinnableReference(), additional_options); + } + + /// To be documented. + [NativeName("Src", "Line 535, Column 45 in shaderc.h")] + public static unsafe CompilationResult* CompileIntoSpvAssembly(this Shaderc thisApi, Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string entry_point_name, CompileOptions* additional_options) + { + // SpanOverloader + return thisApi.CompileIntoSpvAssembly(compiler, in source_text.GetPinnableReference(), source_text_size, shader_kind, input_file_name, entry_point_name, additional_options); + } + + /// To be documented. + [NativeName("Src", "Line 535, Column 45 in shaderc.h")] + public static unsafe CompilationResult* CompileIntoSpvAssembly(this Shaderc thisApi, Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan entry_point_name, CompileOptions* additional_options) + { + // SpanOverloader + return thisApi.CompileIntoSpvAssembly(compiler, source_text, source_text_size, shader_kind, input_file_name, in entry_point_name.GetPinnableReference(), additional_options); + } + + /// To be documented. + [NativeName("Src", "Line 535, Column 45 in shaderc.h")] + public static unsafe CompilationResult* CompileIntoSpvAssembly(this Shaderc thisApi, Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* entry_point_name, CompileOptions* additional_options) + { + // SpanOverloader + return thisApi.CompileIntoSpvAssembly(compiler, source_text, source_text_size, shader_kind, in input_file_name.GetPinnableReference(), entry_point_name, additional_options); + } + + /// To be documented. + [NativeName("Src", "Line 535, Column 45 in shaderc.h")] + public static unsafe CompilationResult* CompileIntoSpvAssembly(this Shaderc thisApi, Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan entry_point_name, CompileOptions* additional_options) + { + // SpanOverloader + return thisApi.CompileIntoSpvAssembly(compiler, source_text, source_text_size, shader_kind, in input_file_name.GetPinnableReference(), in entry_point_name.GetPinnableReference(), additional_options); + } + + /// To be documented. + [NativeName("Src", "Line 535, Column 45 in shaderc.h")] + public static unsafe CompilationResult* CompileIntoSpvAssembly(this Shaderc thisApi, Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string entry_point_name, CompileOptions* additional_options) + { + // SpanOverloader + return thisApi.CompileIntoSpvAssembly(compiler, source_text, source_text_size, shader_kind, in input_file_name.GetPinnableReference(), entry_point_name, additional_options); + } + + /// To be documented. + [NativeName("Src", "Line 535, Column 45 in shaderc.h")] + public static unsafe CompilationResult* CompileIntoSpvAssembly(this Shaderc thisApi, Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan entry_point_name, CompileOptions* additional_options) + { + // SpanOverloader + return thisApi.CompileIntoSpvAssembly(compiler, source_text, source_text_size, shader_kind, input_file_name, in entry_point_name.GetPinnableReference(), additional_options); + } + + /// To be documented. + [NativeName("Src", "Line 543, Column 45 in shaderc.h")] + public static unsafe CompilationResult* CompileIntoPreprocessedText(this Shaderc thisApi, Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan entry_point_name, CompileOptions* additional_options) + { + // SpanOverloader + return thisApi.CompileIntoPreprocessedText(compiler, source_text, source_text_size, shader_kind, input_file_name, in entry_point_name.GetPinnableReference(), additional_options); + } + + /// To be documented. + [NativeName("Src", "Line 543, Column 45 in shaderc.h")] + public static unsafe CompilationResult* CompileIntoPreprocessedText(this Shaderc thisApi, Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* entry_point_name, CompileOptions* additional_options) + { + // SpanOverloader + return thisApi.CompileIntoPreprocessedText(compiler, source_text, source_text_size, shader_kind, in input_file_name.GetPinnableReference(), entry_point_name, additional_options); + } + + /// To be documented. + [NativeName("Src", "Line 543, Column 45 in shaderc.h")] + public static unsafe CompilationResult* CompileIntoPreprocessedText(this Shaderc thisApi, Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan entry_point_name, CompileOptions* additional_options) + { + // SpanOverloader + return thisApi.CompileIntoPreprocessedText(compiler, source_text, source_text_size, shader_kind, in input_file_name.GetPinnableReference(), in entry_point_name.GetPinnableReference(), additional_options); + } + + /// To be documented. + [NativeName("Src", "Line 543, Column 45 in shaderc.h")] + public static unsafe CompilationResult* CompileIntoPreprocessedText(this Shaderc thisApi, Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string entry_point_name, CompileOptions* additional_options) + { + // SpanOverloader + return thisApi.CompileIntoPreprocessedText(compiler, source_text, source_text_size, shader_kind, in input_file_name.GetPinnableReference(), entry_point_name, additional_options); + } + + /// To be documented. + [NativeName("Src", "Line 543, Column 45 in shaderc.h")] + public static unsafe CompilationResult* CompileIntoPreprocessedText(this Shaderc thisApi, Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan entry_point_name, CompileOptions* additional_options) + { + // SpanOverloader + return thisApi.CompileIntoPreprocessedText(compiler, source_text, source_text_size, shader_kind, input_file_name, in entry_point_name.GetPinnableReference(), additional_options); + } + + /// To be documented. + [NativeName("Src", "Line 543, Column 45 in shaderc.h")] + public static unsafe CompilationResult* CompileIntoPreprocessedText(this Shaderc thisApi, Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* entry_point_name, CompileOptions* additional_options) + { + // SpanOverloader + return thisApi.CompileIntoPreprocessedText(compiler, in source_text.GetPinnableReference(), source_text_size, shader_kind, input_file_name, entry_point_name, additional_options); + } + + /// To be documented. + [NativeName("Src", "Line 543, Column 45 in shaderc.h")] + public static unsafe CompilationResult* CompileIntoPreprocessedText(this Shaderc thisApi, Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan entry_point_name, CompileOptions* additional_options) + { + // SpanOverloader + return thisApi.CompileIntoPreprocessedText(compiler, in source_text.GetPinnableReference(), source_text_size, shader_kind, input_file_name, in entry_point_name.GetPinnableReference(), additional_options); + } + + /// To be documented. + [NativeName("Src", "Line 543, Column 45 in shaderc.h")] + public static unsafe CompilationResult* CompileIntoPreprocessedText(this Shaderc thisApi, Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string entry_point_name, CompileOptions* additional_options) + { + // SpanOverloader + return thisApi.CompileIntoPreprocessedText(compiler, in source_text.GetPinnableReference(), source_text_size, shader_kind, input_file_name, entry_point_name, additional_options); + } + + /// To be documented. + [NativeName("Src", "Line 543, Column 45 in shaderc.h")] + public static unsafe CompilationResult* CompileIntoPreprocessedText(this Shaderc thisApi, Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* entry_point_name, CompileOptions* additional_options) + { + // SpanOverloader + return thisApi.CompileIntoPreprocessedText(compiler, in source_text.GetPinnableReference(), source_text_size, shader_kind, in input_file_name.GetPinnableReference(), entry_point_name, additional_options); + } + + /// To be documented. + [NativeName("Src", "Line 543, Column 45 in shaderc.h")] + public static unsafe CompilationResult* CompileIntoPreprocessedText(this Shaderc thisApi, Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan entry_point_name, CompileOptions* additional_options) + { + // SpanOverloader + return thisApi.CompileIntoPreprocessedText(compiler, in source_text.GetPinnableReference(), source_text_size, shader_kind, in input_file_name.GetPinnableReference(), in entry_point_name.GetPinnableReference(), additional_options); + } + + /// To be documented. + [NativeName("Src", "Line 543, Column 45 in shaderc.h")] + public static unsafe CompilationResult* CompileIntoPreprocessedText(this Shaderc thisApi, Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string entry_point_name, CompileOptions* additional_options) + { + // SpanOverloader + return thisApi.CompileIntoPreprocessedText(compiler, in source_text.GetPinnableReference(), source_text_size, shader_kind, in input_file_name.GetPinnableReference(), entry_point_name, additional_options); + } + + /// To be documented. + [NativeName("Src", "Line 543, Column 45 in shaderc.h")] + public static unsafe CompilationResult* CompileIntoPreprocessedText(this Shaderc thisApi, Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* entry_point_name, CompileOptions* additional_options) + { + // SpanOverloader + return thisApi.CompileIntoPreprocessedText(compiler, in source_text.GetPinnableReference(), source_text_size, shader_kind, input_file_name, entry_point_name, additional_options); + } + + /// To be documented. + [NativeName("Src", "Line 543, Column 45 in shaderc.h")] + public static unsafe CompilationResult* CompileIntoPreprocessedText(this Shaderc thisApi, Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan entry_point_name, CompileOptions* additional_options) + { + // SpanOverloader + return thisApi.CompileIntoPreprocessedText(compiler, in source_text.GetPinnableReference(), source_text_size, shader_kind, input_file_name, in entry_point_name.GetPinnableReference(), additional_options); + } + + /// To be documented. + [NativeName("Src", "Line 543, Column 45 in shaderc.h")] + public static unsafe CompilationResult* CompileIntoPreprocessedText(this Shaderc thisApi, Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string entry_point_name, CompileOptions* additional_options) + { + // SpanOverloader + return thisApi.CompileIntoPreprocessedText(compiler, in source_text.GetPinnableReference(), source_text_size, shader_kind, input_file_name, entry_point_name, additional_options); + } + + /// To be documented. + [NativeName("Src", "Line 543, Column 45 in shaderc.h")] + public static unsafe CompilationResult* CompileIntoPreprocessedText(this Shaderc thisApi, Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan entry_point_name, CompileOptions* additional_options) + { + // SpanOverloader + return thisApi.CompileIntoPreprocessedText(compiler, source_text, source_text_size, shader_kind, input_file_name, in entry_point_name.GetPinnableReference(), additional_options); + } + + /// To be documented. + [NativeName("Src", "Line 543, Column 45 in shaderc.h")] + public static unsafe CompilationResult* CompileIntoPreprocessedText(this Shaderc thisApi, Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* entry_point_name, CompileOptions* additional_options) + { + // SpanOverloader + return thisApi.CompileIntoPreprocessedText(compiler, source_text, source_text_size, shader_kind, in input_file_name.GetPinnableReference(), entry_point_name, additional_options); + } + + /// To be documented. + [NativeName("Src", "Line 543, Column 45 in shaderc.h")] + public static unsafe CompilationResult* CompileIntoPreprocessedText(this Shaderc thisApi, Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan entry_point_name, CompileOptions* additional_options) + { + // SpanOverloader + return thisApi.CompileIntoPreprocessedText(compiler, source_text, source_text_size, shader_kind, in input_file_name.GetPinnableReference(), in entry_point_name.GetPinnableReference(), additional_options); + } + + /// To be documented. + [NativeName("Src", "Line 543, Column 45 in shaderc.h")] + public static unsafe CompilationResult* CompileIntoPreprocessedText(this Shaderc thisApi, Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string entry_point_name, CompileOptions* additional_options) + { + // SpanOverloader + return thisApi.CompileIntoPreprocessedText(compiler, source_text, source_text_size, shader_kind, in input_file_name.GetPinnableReference(), entry_point_name, additional_options); + } + + /// To be documented. + [NativeName("Src", "Line 543, Column 45 in shaderc.h")] + public static unsafe CompilationResult* CompileIntoPreprocessedText(this Shaderc thisApi, Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string source_text, nuint source_text_size, ShaderKind shader_kind, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string input_file_name, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan entry_point_name, CompileOptions* additional_options) + { + // SpanOverloader + return thisApi.CompileIntoPreprocessedText(compiler, source_text, source_text_size, shader_kind, input_file_name, in entry_point_name.GetPinnableReference(), additional_options); + } + + /// To be documented. + [NativeName("Src", "Line 558, Column 45 in shaderc.h")] + public static unsafe CompilationResult* AssembleIntoSpv(this Shaderc thisApi, Compiler* compiler, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan source_assembly, nuint source_assembly_size, CompileOptions* additional_options) + { + // SpanOverloader + return thisApi.AssembleIntoSpv(compiler, in source_assembly.GetPinnableReference(), source_assembly_size, additional_options); + } + + /// To be documented. + [NativeName("Src", "Line 600, Column 21 in shaderc.h")] + public static unsafe void GetSpvVersion(this Shaderc thisApi, uint* version, Span revision) + { + // SpanOverloader + thisApi.GetSpvVersion(version, ref revision.GetPinnableReference()); + } + + /// To be documented. + [NativeName("Src", "Line 600, Column 21 in shaderc.h")] + public static unsafe void GetSpvVersion(this Shaderc thisApi, Span version, uint* revision) + { + // SpanOverloader + thisApi.GetSpvVersion(ref version.GetPinnableReference(), revision); + } + + /// To be documented. + [NativeName("Src", "Line 600, Column 21 in shaderc.h")] + public static unsafe void GetSpvVersion(this Shaderc thisApi, Span version, Span revision) + { + // SpanOverloader + thisApi.GetSpvVersion(ref version.GetPinnableReference(), ref revision.GetPinnableReference()); + } + + /// To be documented. + [NativeName("Src", "Line 606, Column 21 in shaderc.h")] + public static unsafe Silk.NET.Core.Bool32 ParseVersionProfile(this Shaderc thisApi, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* str, int* version, Span profile) + { + // SpanOverloader + return thisApi.ParseVersionProfile(str, version, ref profile.GetPinnableReference()); + } + + /// To be documented. + [NativeName("Src", "Line 606, Column 21 in shaderc.h")] + public static unsafe Silk.NET.Core.Bool32 ParseVersionProfile(this Shaderc thisApi, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* str, Span version, Profile* profile) + { + // SpanOverloader + return thisApi.ParseVersionProfile(str, ref version.GetPinnableReference(), profile); + } + + /// To be documented. + [NativeName("Src", "Line 606, Column 21 in shaderc.h")] + public static unsafe Silk.NET.Core.Bool32 ParseVersionProfile(this Shaderc thisApi, [Flow(Silk.NET.Core.Native.FlowDirection.In)] byte* str, Span version, Span profile) + { + // SpanOverloader + return thisApi.ParseVersionProfile(str, ref version.GetPinnableReference(), ref profile.GetPinnableReference()); + } + + /// To be documented. + [NativeName("Src", "Line 606, Column 21 in shaderc.h")] + public static unsafe Silk.NET.Core.Bool32 ParseVersionProfile(this Shaderc thisApi, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan str, int* version, Profile* profile) + { + // SpanOverloader + return thisApi.ParseVersionProfile(in str.GetPinnableReference(), version, profile); + } + + /// To be documented. + [NativeName("Src", "Line 606, Column 21 in shaderc.h")] + public static unsafe Silk.NET.Core.Bool32 ParseVersionProfile(this Shaderc thisApi, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan str, int* version, Span profile) + { + // SpanOverloader + return thisApi.ParseVersionProfile(in str.GetPinnableReference(), version, ref profile.GetPinnableReference()); + } + + /// To be documented. + [NativeName("Src", "Line 606, Column 21 in shaderc.h")] + public static unsafe Silk.NET.Core.Bool32 ParseVersionProfile(this Shaderc thisApi, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan str, Span version, Profile* profile) + { + // SpanOverloader + return thisApi.ParseVersionProfile(in str.GetPinnableReference(), ref version.GetPinnableReference(), profile); + } + + /// To be documented. + [NativeName("Src", "Line 606, Column 21 in shaderc.h")] + public static unsafe Silk.NET.Core.Bool32 ParseVersionProfile(this Shaderc thisApi, [Flow(Silk.NET.Core.Native.FlowDirection.In)] ReadOnlySpan str, Span version, Span profile) + { + // SpanOverloader + return thisApi.ParseVersionProfile(in str.GetPinnableReference(), ref version.GetPinnableReference(), ref profile.GetPinnableReference()); + } + + /// To be documented. + [NativeName("Src", "Line 606, Column 21 in shaderc.h")] + public static unsafe Silk.NET.Core.Bool32 ParseVersionProfile(this Shaderc thisApi, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string str, int* version, Span profile) + { + // SpanOverloader + return thisApi.ParseVersionProfile(str, version, ref profile.GetPinnableReference()); + } + + /// To be documented. + [NativeName("Src", "Line 606, Column 21 in shaderc.h")] + public static unsafe Silk.NET.Core.Bool32 ParseVersionProfile(this Shaderc thisApi, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string str, Span version, Profile* profile) + { + // SpanOverloader + return thisApi.ParseVersionProfile(str, ref version.GetPinnableReference(), profile); + } + + /// To be documented. + [NativeName("Src", "Line 606, Column 21 in shaderc.h")] + public static unsafe Silk.NET.Core.Bool32 ParseVersionProfile(this Shaderc thisApi, [Flow(Silk.NET.Core.Native.FlowDirection.In), UnmanagedType(Silk.NET.Core.Native.UnmanagedType.LPUTF8Str)] string str, Span version, Span profile) + { + // SpanOverloader + return thisApi.ParseVersionProfile(str, ref version.GetPinnableReference(), ref profile.GetPinnableReference()); + } + + } +} + diff --git a/src/SPIRV/Silk.NET.Shaderc/Silk.NET.Shaderc.csproj b/src/SPIRV/Silk.NET.Shaderc/Silk.NET.Shaderc.csproj new file mode 100644 index 0000000000..4428e8ae81 --- /dev/null +++ b/src/SPIRV/Silk.NET.Shaderc/Silk.NET.Shaderc.csproj @@ -0,0 +1,13 @@ + + + + netstandard2.0;netstandard2.1;netcoreapp3.1;net5.0 + true + 10 + + + + + + + diff --git a/src/SPIRV/Silk.NET.Shaderc/Structs/CompilationResult.gen.cs b/src/SPIRV/Silk.NET.Shaderc/Structs/CompilationResult.gen.cs new file mode 100644 index 0000000000..1525d0cb87 --- /dev/null +++ b/src/SPIRV/Silk.NET.Shaderc/Structs/CompilationResult.gen.cs @@ -0,0 +1,23 @@ +// 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.Runtime.InteropServices; +using System.Runtime.CompilerServices; +using System.Text; +using Silk.NET.Core; +using Silk.NET.Core.Native; +using Silk.NET.Core.Attributes; +using Silk.NET.Core.Contexts; +using Silk.NET.Core.Loader; + +#pragma warning disable 1591 + +namespace Silk.NET.Shaderc +{ + [NativeName("Name", "shaderc_compilation_result")] + public unsafe partial struct CompilationResult + { + } +} diff --git a/src/SPIRV/Silk.NET.Shaderc/Structs/CompileOptions.gen.cs b/src/SPIRV/Silk.NET.Shaderc/Structs/CompileOptions.gen.cs new file mode 100644 index 0000000000..e104ae6f0f --- /dev/null +++ b/src/SPIRV/Silk.NET.Shaderc/Structs/CompileOptions.gen.cs @@ -0,0 +1,23 @@ +// 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.Runtime.InteropServices; +using System.Runtime.CompilerServices; +using System.Text; +using Silk.NET.Core; +using Silk.NET.Core.Native; +using Silk.NET.Core.Attributes; +using Silk.NET.Core.Contexts; +using Silk.NET.Core.Loader; + +#pragma warning disable 1591 + +namespace Silk.NET.Shaderc +{ + [NativeName("Name", "shaderc_compile_options")] + public unsafe partial struct CompileOptions + { + } +} diff --git a/src/SPIRV/Silk.NET.Shaderc/Structs/Compiler.gen.cs b/src/SPIRV/Silk.NET.Shaderc/Structs/Compiler.gen.cs new file mode 100644 index 0000000000..8461dbbdd9 --- /dev/null +++ b/src/SPIRV/Silk.NET.Shaderc/Structs/Compiler.gen.cs @@ -0,0 +1,23 @@ +// 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.Runtime.InteropServices; +using System.Runtime.CompilerServices; +using System.Text; +using Silk.NET.Core; +using Silk.NET.Core.Native; +using Silk.NET.Core.Attributes; +using Silk.NET.Core.Contexts; +using Silk.NET.Core.Loader; + +#pragma warning disable 1591 + +namespace Silk.NET.Shaderc +{ + [NativeName("Name", "shaderc_compiler")] + public unsafe partial struct Compiler + { + } +} diff --git a/src/SPIRV/Silk.NET.Shaderc/Structs/IncludeResult.gen.cs b/src/SPIRV/Silk.NET.Shaderc/Structs/IncludeResult.gen.cs new file mode 100644 index 0000000000..bedbb27daf --- /dev/null +++ b/src/SPIRV/Silk.NET.Shaderc/Structs/IncludeResult.gen.cs @@ -0,0 +1,83 @@ +// 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.Runtime.InteropServices; +using System.Runtime.CompilerServices; +using System.Text; +using Silk.NET.Core; +using Silk.NET.Core.Native; +using Silk.NET.Core.Attributes; +using Silk.NET.Core.Contexts; +using Silk.NET.Core.Loader; + +#pragma warning disable 1591 + +namespace Silk.NET.Shaderc +{ + [NativeName("Name", "shaderc_include_result")] + public unsafe partial struct IncludeResult + { + public IncludeResult + ( + byte* sourceName = null, + nuint? sourceNameLength = null, + byte* content = null, + nuint? contentLength = null, + void* userData = null + ) : this() + { + if (sourceName is not null) + { + SourceName = sourceName; + } + + if (sourceNameLength is not null) + { + SourceNameLength = sourceNameLength.Value; + } + + if (content is not null) + { + Content = content; + } + + if (contentLength is not null) + { + ContentLength = contentLength.Value; + } + + if (userData is not null) + { + UserData = userData; + } + } + + + [NativeName("Type", "const char *")] + [NativeName("Type.Name", "const char *")] + [NativeName("Name", "source_name")] + public byte* SourceName; + + [NativeName("Type", "size_t")] + [NativeName("Type.Name", "size_t")] + [NativeName("Name", "source_name_length")] + public nuint SourceNameLength; + + [NativeName("Type", "const char *")] + [NativeName("Type.Name", "const char *")] + [NativeName("Name", "content")] + public byte* Content; + + [NativeName("Type", "size_t")] + [NativeName("Type.Name", "size_t")] + [NativeName("Name", "content_length")] + public nuint ContentLength; + + [NativeName("Type", "void *")] + [NativeName("Type.Name", "void *")] + [NativeName("Name", "user_data")] + public void* UserData; + } +} diff --git a/src/SPIRV/Silk.NET.Shaderc/Structs/PfnIncludeResolveFn.gen.cs b/src/SPIRV/Silk.NET.Shaderc/Structs/PfnIncludeResolveFn.gen.cs new file mode 100644 index 0000000000..8be2f8388d --- /dev/null +++ b/src/SPIRV/Silk.NET.Shaderc/Structs/PfnIncludeResolveFn.gen.cs @@ -0,0 +1,53 @@ +// 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.Runtime.InteropServices; +using System.Runtime.CompilerServices; +using System.Text; +using Silk.NET.Core; +using Silk.NET.Core.Native; +using Silk.NET.Core.Attributes; +using Silk.NET.Core.Contexts; +using Silk.NET.Core.Loader; + +#pragma warning disable 1591 + +namespace Silk.NET.Shaderc +{ + public unsafe readonly struct PfnIncludeResolveFn : IDisposable + { + private readonly void* _handle; + public delegate* unmanaged[Cdecl] Handle => (delegate* unmanaged[Cdecl]) _handle; + public PfnIncludeResolveFn + ( + delegate* unmanaged[Cdecl] ptr + ) => _handle = ptr; + + public PfnIncludeResolveFn + ( + IncludeResolveFn proc + ) => _handle = (void*) SilkMarshal.DelegateToPtr(proc); + + public static PfnIncludeResolveFn From(IncludeResolveFn proc) => new PfnIncludeResolveFn(proc); + public void Dispose() => SilkMarshal.Free((nint) _handle); + + public static implicit operator nint(PfnIncludeResolveFn pfn) => (nint) pfn.Handle; + public static explicit operator PfnIncludeResolveFn(nint pfn) + => new PfnIncludeResolveFn((delegate* unmanaged[Cdecl]) pfn); + + public static implicit operator PfnIncludeResolveFn(IncludeResolveFn proc) + => new PfnIncludeResolveFn(proc); + + public static explicit operator IncludeResolveFn(PfnIncludeResolveFn pfn) + => SilkMarshal.PtrToDelegate(pfn); + + public static implicit operator delegate* unmanaged[Cdecl](PfnIncludeResolveFn pfn) => pfn.Handle; + public static implicit operator PfnIncludeResolveFn(delegate* unmanaged[Cdecl] ptr) => new PfnIncludeResolveFn(ptr); + } + + [UnmanagedFunctionPointer(CallingConvention.Cdecl)] + public unsafe delegate IncludeResult* IncludeResolveFn(void* arg0, byte* arg1, int arg2, byte* arg3, nuint arg4); +} + diff --git a/src/SPIRV/Silk.NET.Shaderc/Structs/PfnIncludeResultReleaseFn.gen.cs b/src/SPIRV/Silk.NET.Shaderc/Structs/PfnIncludeResultReleaseFn.gen.cs new file mode 100644 index 0000000000..495d189175 --- /dev/null +++ b/src/SPIRV/Silk.NET.Shaderc/Structs/PfnIncludeResultReleaseFn.gen.cs @@ -0,0 +1,53 @@ +// 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.Runtime.InteropServices; +using System.Runtime.CompilerServices; +using System.Text; +using Silk.NET.Core; +using Silk.NET.Core.Native; +using Silk.NET.Core.Attributes; +using Silk.NET.Core.Contexts; +using Silk.NET.Core.Loader; + +#pragma warning disable 1591 + +namespace Silk.NET.Shaderc +{ + public unsafe readonly struct PfnIncludeResultReleaseFn : IDisposable + { + private readonly void* _handle; + public delegate* unmanaged[Cdecl] Handle => (delegate* unmanaged[Cdecl]) _handle; + public PfnIncludeResultReleaseFn + ( + delegate* unmanaged[Cdecl] ptr + ) => _handle = ptr; + + public PfnIncludeResultReleaseFn + ( + IncludeResultReleaseFn proc + ) => _handle = (void*) SilkMarshal.DelegateToPtr(proc); + + public static PfnIncludeResultReleaseFn From(IncludeResultReleaseFn proc) => new PfnIncludeResultReleaseFn(proc); + public void Dispose() => SilkMarshal.Free((nint) _handle); + + public static implicit operator nint(PfnIncludeResultReleaseFn pfn) => (nint) pfn.Handle; + public static explicit operator PfnIncludeResultReleaseFn(nint pfn) + => new PfnIncludeResultReleaseFn((delegate* unmanaged[Cdecl]) pfn); + + public static implicit operator PfnIncludeResultReleaseFn(IncludeResultReleaseFn proc) + => new PfnIncludeResultReleaseFn(proc); + + public static explicit operator IncludeResultReleaseFn(PfnIncludeResultReleaseFn pfn) + => SilkMarshal.PtrToDelegate(pfn); + + public static implicit operator delegate* unmanaged[Cdecl](PfnIncludeResultReleaseFn pfn) => pfn.Handle; + public static implicit operator PfnIncludeResultReleaseFn(delegate* unmanaged[Cdecl] ptr) => new PfnIncludeResultReleaseFn(ptr); + } + + [UnmanagedFunctionPointer(CallingConvention.Cdecl)] + public unsafe delegate void IncludeResultReleaseFn(void* arg0, IncludeResult* arg1); +} +