Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add SPIRV-Reflect bindings #1403

Merged
merged 45 commits into from
May 28, 2023
Merged
Show file tree
Hide file tree
Changes from 36 commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
c2e5910
Add SPIRV-Reflect submodule
Beyley Apr 13, 2023
797ad96
Add SPIRVReflect native project
Beyley Apr 13, 2023
1fe896d
Update vkd3d shader compiler build to latest Zig
Beyley Apr 13, 2023
97118f4
Add CI job to build SPIRV-Reflect
Beyley Apr 13, 2023
f8f1c78
New binaries for SPIRV-Reflect on Linux 5.15.0-1035-azure #42-Ubuntu …
silkdotnet Apr 13, 2023
71676da
Add SPIRV-Reflect native package to solution file
Beyley Apr 13, 2023
f320a3d
Add SPIRV-Reflect bindings
Beyley Apr 14, 2023
a885f92
Split spirv.h into its own project
Beyley Apr 14, 2023
e0b57fa
BuildTools: Use underscore converted trimming name when enum trimming
Beyley Apr 14, 2023
a7d5a42
Fixed in some ways, broken in others.
Perksey Apr 15, 2023
66a7120
BuildTools: Dont check for duplicate old/new enum names with no-obsol…
Beyley Apr 19, 2023
2009149
BuildTools: Fix LenientUnderscore with FormatR32ui
Beyley Apr 19, 2023
1dcad5a
New binaries for SPIRV-Reflect on Linux 5.15.0-1035-azure #42-Ubuntu …
silkdotnet Apr 21, 2023
a96f32b
Rename SPIRVReflect to SPIRV.Reflect, change generation prefix
Beyley Apr 30, 2023
8df646e
Rename SPIRV class to Spv
Beyley Apr 30, 2023
5fe47e3
SPIRV.Reflect: Reference base SPIRV project
Beyley Apr 30, 2023
644d2c0
SPIRV.Reflect: Rename anonymous enums to Constants
Beyley Apr 30, 2023
1408c03
WebGPU: Use new enum names
Beyley Apr 30, 2023
99132bb
Regenerate bindings
Beyley Apr 30, 2023
2fb7852
BuildTools: Add prefix overrides for enum trimming
Beyley Apr 30, 2023
254be55
SPIRV: Specify a prefix override to fix ImageChannelOrder
Beyley Apr 30, 2023
69b9a0e
Native: Rename Silk.NET.SPIRVReflect.Native
Beyley Apr 30, 2023
ac79327
SPIRV.Reflect.Tests: Add basic InputVariables test
Beyley May 1, 2023
dcbd080
New binaries for DXVK on Linux 5.15.0-1036-azure #43-Ubuntu SMP Wed M…
silkdotnet May 1, 2023
a3fe17d
New binaries for Assimp on Microsoft Windows 10.0.20348 (#1435)
silkdotnet May 1, 2023
7137215
New binaries for GLFW on Microsoft Windows 10.0.20348 (#1434)
silkdotnet May 1, 2023
1ed44c9
New binaries for Vulkan Loader on Microsoft Windows 10.0.20348 (#1433)
silkdotnet May 1, 2023
5f751b4
New binaries for SPIRV-Reflect on Linux 5.15.0-1036-azure #43-Ubuntu …
silkdotnet May 1, 2023
dfff834
Look Gordon, a whitespace change!
Beyley May 1, 2023
77544b9
If i make another commit will it work
Beyley May 1, 2023
1b0c7fe
Update WebGPU experiments to new naming
Beyley May 2, 2023
701e0fb
New binaries for DXVK on Linux 5.15.0-1036-azure #43-Ubuntu SMP Wed M…
silkdotnet May 2, 2023
c12d285
New binaries for Assimp on Microsoft Windows 10.0.20348 (#1444)
silkdotnet May 2, 2023
4092d91
Update GLFW binaries (#1443)
silkdotnet May 2, 2023
3ce1a0a
New binaries for Vulkan Loader on Microsoft Windows 10.0.20348 (#1442)
silkdotnet May 2, 2023
33d75e6
New binaries for SPIRV-Reflect on Linux 5.15.0-1036-azure #43-Ubuntu …
silkdotnet May 2, 2023
d2d205b
Add copyright header to SPIRV-Reflect test
Beyley May 2, 2023
8ff0534
Attempt to bring back the 2.17 enum names as deprecated
Beyley May 3, 2023
efd969d
BuildTools changes for bringing back the 2.17 enum names as deprecated
Perksey May 3, 2023
a06b092
Regenerate bindings for efd969d35434ee15f52b752be32d93cd4ace398f
Perksey May 3, 2023
b6e42ab
Account for one more edge case in the deprecated name resurgence
Perksey May 3, 2023
46ed6ef
Pumped Up Kicks but it's not Pumped Up Kicks and I eat a shoe box
Perksey May 3, 2023
b1c51ff
Fix lack of obsoletion message
Perksey May 28, 2023
bf9d1e4
Pull main to fix conflict
Perksey May 28, 2023
a4ada2d
Update sln
Perksey May 28, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 51 additions & 0 deletions .github/workflows/spirv-reflect.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
name: SPIRV-Reflect
on:
push:
branches-ignore:
- "ci/*"
- "develop/*"
- "main"
paths:
- "build/submodules/SPIRV-Reflect"
- "build/nuke/Build.Native.cs"
- ".github/workflows/spirv-reflect.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
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/SPIRV-Reflect
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 SPIRV-Reflect
run: ${{ matrix.env.nuke_invoke }} SPIRVReflect
env:
PUSHABLE_GITHUB_TOKEN: ${{ secrets.PUSHABLE_GITHUB_TOKEN }}

6 changes: 6 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -37,3 +37,9 @@
[submodule "build/submodules/SPIRV-Tools"]
path = build/submodules/SPIRV-Tools
url = https://github.com/KhronosGroup/SPIRV-Tools
[submodule "build/submodules/SPIRV-Reflect"]
path = build/submodules/SPIRV-Reflect
url = https://github.com/KhronosGroup/SPIRV-Reflect
[submodule "build/submodules/SPIRV-Headers"]
path = build/submodules/SPIRV-Headers
url = https://github.com/KhronosGroup/SPIRV-Headers
2 changes: 2 additions & 0 deletions .nuke/build.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -162,6 +162,7 @@
"ShipApi",
"SignPackages",
"Sln",
"SPIRVReflect",
"SwiftShader",
"Test",
"ValidateSolution",
Expand Down Expand Up @@ -201,6 +202,7 @@
"ShipApi",
"SignPackages",
"Sln",
"SPIRVReflect",
"SwiftShader",
"Test",
"ValidateSolution",
Expand Down
63 changes: 63 additions & 0 deletions Silk.NET.sln
Original file line number Diff line number Diff line change
Expand Up @@ -574,6 +574,16 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Silk.NET.OpenXR.Extensions.
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Silk.NET.OpenXR.Extensions.OPPO", "src\OpenXR\Extensions\Silk.NET.OpenXR.Extensions.OPPO\Silk.NET.OpenXR.Extensions.OPPO.csproj", "{ABC4717F-2863-4B79-8812-7C1D851EE336}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Silk.NET.SPIRV.Reflect.Native", "src\Native\Silk.NET.SPIRV.Reflect.Native\Silk.NET.SPIRV.Reflect.Native.csproj", "{F58B1280-668E-4B4A-ADA5-6F0F54B6295A}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SPIRV", "SPIRV", "{15FC3D1A-25D7-446B-87A7-B45BA3C2225F}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Silk.NET.SPIRV.Reflect", "src\SPIRV\Silk.NET.SPIRV.Reflect\Silk.NET.SPIRV.Reflect.csproj", "{535018A8-FFD8-4D3E-97FD-C6A3E23AF48A}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Silk.NET.SPIRV", "src\SPIRV\Silk.NET.SPIRV\Silk.NET.SPIRV.csproj", "{65E895B6-D0A6-4C5C-A090-07C7590F48B9}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Silk.NET.SPIRV.Reflect.Tests", "src\SPIRV\Silk.NET.SPIRV.Reflect.Tests\Silk.NET.SPIRV.Reflect.Tests.csproj", "{7DB60101-9D99-4FD6-89AD-29648F537333}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Expand Down Expand Up @@ -3487,6 +3497,54 @@ Global
{ABC4717F-2863-4B79-8812-7C1D851EE336}.Release|x64.Build.0 = Release|Any CPU
{ABC4717F-2863-4B79-8812-7C1D851EE336}.Release|x86.ActiveCfg = Release|Any CPU
{ABC4717F-2863-4B79-8812-7C1D851EE336}.Release|x86.Build.0 = Release|Any CPU
{F58B1280-668E-4B4A-ADA5-6F0F54B6295A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F58B1280-668E-4B4A-ADA5-6F0F54B6295A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F58B1280-668E-4B4A-ADA5-6F0F54B6295A}.Debug|x64.ActiveCfg = Debug|Any CPU
{F58B1280-668E-4B4A-ADA5-6F0F54B6295A}.Debug|x64.Build.0 = Debug|Any CPU
{F58B1280-668E-4B4A-ADA5-6F0F54B6295A}.Debug|x86.ActiveCfg = Debug|Any CPU
{F58B1280-668E-4B4A-ADA5-6F0F54B6295A}.Debug|x86.Build.0 = Debug|Any CPU
{F58B1280-668E-4B4A-ADA5-6F0F54B6295A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F58B1280-668E-4B4A-ADA5-6F0F54B6295A}.Release|Any CPU.Build.0 = Release|Any CPU
{F58B1280-668E-4B4A-ADA5-6F0F54B6295A}.Release|x64.ActiveCfg = Release|Any CPU
{F58B1280-668E-4B4A-ADA5-6F0F54B6295A}.Release|x64.Build.0 = Release|Any CPU
{F58B1280-668E-4B4A-ADA5-6F0F54B6295A}.Release|x86.ActiveCfg = Release|Any CPU
{F58B1280-668E-4B4A-ADA5-6F0F54B6295A}.Release|x86.Build.0 = Release|Any CPU
{535018A8-FFD8-4D3E-97FD-C6A3E23AF48A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{535018A8-FFD8-4D3E-97FD-C6A3E23AF48A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{535018A8-FFD8-4D3E-97FD-C6A3E23AF48A}.Debug|x64.ActiveCfg = Debug|Any CPU
{535018A8-FFD8-4D3E-97FD-C6A3E23AF48A}.Debug|x64.Build.0 = Debug|Any CPU
{535018A8-FFD8-4D3E-97FD-C6A3E23AF48A}.Debug|x86.ActiveCfg = Debug|Any CPU
{535018A8-FFD8-4D3E-97FD-C6A3E23AF48A}.Debug|x86.Build.0 = Debug|Any CPU
{535018A8-FFD8-4D3E-97FD-C6A3E23AF48A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{535018A8-FFD8-4D3E-97FD-C6A3E23AF48A}.Release|Any CPU.Build.0 = Release|Any CPU
{535018A8-FFD8-4D3E-97FD-C6A3E23AF48A}.Release|x64.ActiveCfg = Release|Any CPU
{535018A8-FFD8-4D3E-97FD-C6A3E23AF48A}.Release|x64.Build.0 = Release|Any CPU
{535018A8-FFD8-4D3E-97FD-C6A3E23AF48A}.Release|x86.ActiveCfg = Release|Any CPU
{535018A8-FFD8-4D3E-97FD-C6A3E23AF48A}.Release|x86.Build.0 = Release|Any CPU
{65E895B6-D0A6-4C5C-A090-07C7590F48B9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{65E895B6-D0A6-4C5C-A090-07C7590F48B9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{65E895B6-D0A6-4C5C-A090-07C7590F48B9}.Debug|x64.ActiveCfg = Debug|Any CPU
{65E895B6-D0A6-4C5C-A090-07C7590F48B9}.Debug|x64.Build.0 = Debug|Any CPU
{65E895B6-D0A6-4C5C-A090-07C7590F48B9}.Debug|x86.ActiveCfg = Debug|Any CPU
{65E895B6-D0A6-4C5C-A090-07C7590F48B9}.Debug|x86.Build.0 = Debug|Any CPU
{65E895B6-D0A6-4C5C-A090-07C7590F48B9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{65E895B6-D0A6-4C5C-A090-07C7590F48B9}.Release|Any CPU.Build.0 = Release|Any CPU
{65E895B6-D0A6-4C5C-A090-07C7590F48B9}.Release|x64.ActiveCfg = Release|Any CPU
{65E895B6-D0A6-4C5C-A090-07C7590F48B9}.Release|x64.Build.0 = Release|Any CPU
{65E895B6-D0A6-4C5C-A090-07C7590F48B9}.Release|x86.ActiveCfg = Release|Any CPU
{65E895B6-D0A6-4C5C-A090-07C7590F48B9}.Release|x86.Build.0 = Release|Any CPU
{7DB60101-9D99-4FD6-89AD-29648F537333}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7DB60101-9D99-4FD6-89AD-29648F537333}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7DB60101-9D99-4FD6-89AD-29648F537333}.Debug|x64.ActiveCfg = Debug|Any CPU
{7DB60101-9D99-4FD6-89AD-29648F537333}.Debug|x64.Build.0 = Debug|Any CPU
{7DB60101-9D99-4FD6-89AD-29648F537333}.Debug|x86.ActiveCfg = Debug|Any CPU
{7DB60101-9D99-4FD6-89AD-29648F537333}.Debug|x86.Build.0 = Debug|Any CPU
{7DB60101-9D99-4FD6-89AD-29648F537333}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7DB60101-9D99-4FD6-89AD-29648F537333}.Release|Any CPU.Build.0 = Release|Any CPU
{7DB60101-9D99-4FD6-89AD-29648F537333}.Release|x64.ActiveCfg = Release|Any CPU
{7DB60101-9D99-4FD6-89AD-29648F537333}.Release|x64.Build.0 = Release|Any CPU
{7DB60101-9D99-4FD6-89AD-29648F537333}.Release|x86.ActiveCfg = Release|Any CPU
{7DB60101-9D99-4FD6-89AD-29648F537333}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand Down Expand Up @@ -3766,6 +3824,11 @@ Global
{E1624E31-C702-42EC-AC47-20358B3CCF49} = {90471225-AC23-424E-B62E-F6EC4C6ECAC0}
{82D76E01-3166-4549-A433-4C2C4FD6788E} = {90471225-AC23-424E-B62E-F6EC4C6ECAC0}
{ABC4717F-2863-4B79-8812-7C1D851EE336} = {90471225-AC23-424E-B62E-F6EC4C6ECAC0}
{F58B1280-668E-4B4A-ADA5-6F0F54B6295A} = {72E7FA64-5B1E-477D-BD30-63B7F206B3C4}
{15FC3D1A-25D7-446B-87A7-B45BA3C2225F} = {16AFCF73-8CC1-4B5D-8969-A90F468DC6D5}
{535018A8-FFD8-4D3E-97FD-C6A3E23AF48A} = {15FC3D1A-25D7-446B-87A7-B45BA3C2225F}
{65E895B6-D0A6-4C5C-A090-07C7590F48B9} = {15FC3D1A-25D7-446B-87A7-B45BA3C2225F}
{7DB60101-9D99-4FD6-89AD-29648F537333} = {15FC3D1A-25D7-446B-87A7-B45BA3C2225F}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {F5273D7F-3334-48DF-94E3-41AE6816CD4D}
Expand Down
Binary file modified build/cache/assimp.json.gz
Binary file not shown.
Binary file modified build/cache/core.json.gz
Binary file not shown.
Binary file modified build/cache/d3d11.json.gz
Binary file not shown.
Binary file modified build/cache/d3d12.json.gz
Binary file not shown.
Binary file modified build/cache/d3d9.json.gz
Binary file not shown.
Binary file modified build/cache/d3dcompiler.json.gz
Binary file not shown.
Binary file modified build/cache/dxc.json.gz
Binary file not shown.
Binary file modified build/cache/dxgi.json.gz
Binary file not shown.
Binary file modified build/cache/dxva.json.gz
Binary file not shown.
Binary file modified build/cache/gl.json.gz
Binary file not shown.
Binary file modified build/cache/glcore.json.gz
Binary file not shown.
Binary file modified build/cache/gles2.json.gz
Binary file not shown.
Binary file modified build/cache/openxr.json.gz
Binary file not shown.
Binary file modified build/cache/sdl.json.gz
Binary file not shown.
Binary file added build/cache/spirv-reflect.json.gz
Binary file not shown.
Binary file added build/cache/spirv.json.gz
Binary file not shown.
Binary file modified build/cache/vulkan.json.gz
Binary file not shown.
Binary file modified build/cache/vulkan_video.json.gz
Binary file not shown.
Binary file modified build/cache/webgpu.json.gz
Binary file not shown.
Binary file modified build/cache/wgl.json.gz
Binary file not shown.
Binary file modified build/cache/win32extras.json.gz
Binary file not shown.
Binary file modified build/cache/xaudio.json.gz
Binary file not shown.
91 changes: 91 additions & 0 deletions build/nuke/Build.Native.cs
Original file line number Diff line number Diff line change
Expand Up @@ -478,6 +478,97 @@ string AndroidHome
)
);

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 VulkanLoaderPath => RootDirectory / "build" / "submodules" / "Vulkan-Loader";

Target VulkanLoader => CommonTarget
Expand Down
1 change: 1 addition & 0 deletions build/submodules/SPIRV-Headers
Submodule SPIRV-Headers added at cfbe4f
1 change: 1 addition & 0 deletions build/submodules/SPIRV-Reflect
Submodule SPIRV-Reflect added at a7c7b8
Loading