Skip to content

Commit f9535d2

Browse files
Beyleysilkdotnetdotnet-botPerksey
authored
This is the Silk.NET Mobile Update (v2.22.0) (#2184)
* Regen Bindings * oops webgpu was borked * Update Wgpu binaries (#2186) Co-authored-by: The Silk.NET Automaton <[email protected]> * newer wgpu * Update Wgpu binaries (#2189) Co-authored-by: The Silk.NET Automaton <[email protected]> * Fix vkd3d compilation * shader spirv cross reflect c * Update Shaderc binaries (#2194) Co-authored-by: The Silk.NET Automaton <[email protected]> * Update SPIRV-Cross binaries (#2193) Co-authored-by: The Silk.NET Automaton <[email protected]> * Update SPIRV-Reflect binaries (#2192) Co-authored-by: The Silk.NET Automaton <[email protected]> * Update Vkd3d binaries (#2191) Co-authored-by: The Silk.NET Automaton <[email protected]> * Update SwiftShader binaries (#2190) Co-authored-by: The Silk.NET Automaton <[email protected]> * Update MoltenVK binaries (#2188) Co-authored-by: The Silk.NET Automaton <[email protected]> * Update SDL2 binaries (#2187) Co-authored-by: The Silk.NET Automaton <[email protected]> * Update Vulkan Loader binaries (#2185) Co-authored-by: The Silk.NET Automaton <[email protected]> * Update Core.cs * shaderc: swap out linux runner for windows runner * shaderc: grab dotnet 8.0.x * manually invoke git-sync-deps with python * shaderc: surround the linux target with quotes * Vulkan Loader: Enable verbose build for CMake * Kick off all CI jobs - progress check * Fix SDL2 linux build error, update some runner images * Revert to jammy * Update Vkd3d binaries (#2311) Co-authored-by: The Silk.NET Automaton <[email protected]> * Update DXVK binaries (#2310) Co-authored-by: The Silk.NET Automaton <[email protected]> * Update MoltenVK binaries (#2309) Co-authored-by: The Silk.NET Automaton <[email protected]> * Update Assimp binaries (#2305) Co-authored-by: The Silk.NET Automaton <[email protected]> * Update Wgpu binaries (#2304) Co-authored-by: The Silk.NET Automaton <[email protected]> * Update SPIRV-Cross binaries (#2308) Co-authored-by: The Silk.NET Automaton <[email protected]> * Update OpenALSoft binaries (#2302) Co-authored-by: The Silk.NET Automaton <[email protected]> * Update GLFW binaries (#2300) Co-authored-by: The Silk.NET Automaton <[email protected]> * Update SPIRV-Reflect binaries (#2303) Co-authored-by: The Silk.NET Automaton <[email protected]> * Update Shaderc binaries (#2313) Co-authored-by: The Silk.NET Automaton <[email protected]> * Use zig cc for SwiftShader on Linux * Someone forgot to commit the new NUKE scripts * Use matrix for SwiftShader, disable GNU assembler for Vulkan Loader * Meant to use Where instead of Select lmao * Fix NUKE execution matrix workflow error * Kick off Vulkan loader * What if we just use GCC as the assembler * Fix win-arm64 vulkan loader cmake * Remove VERBOSE from Vulkan Loader, and reduce subs in regen workflow * Clone submodules non-recursively in bindings regen * We don't need the NUKE global tool * Attempt to mitigate workload signing errors * Fine, didn't want the workloads anyway. :C * Allow restore to be implicit * Silly fixes: fix #2298, fix #2238, fix #2128 * Fix ImplementedFunction serialization error * Fix webgpu regen error * Fix ToString change being applied to wrong structs * New binaries for DXVK on Linux 6.5.0-1025-azure #26~22.04.1-Ubuntu SMP Thu Jul 11 22:33:04 UTC 2024 (#2327) Co-authored-by: The Silk.NET Automaton <[email protected]> * New binaries for MoltenVK on Darwin 22.6.0 Darwin Kernel Version 22.6.0: Wed Jul 31 21:41:04 PDT 2024; root:xnu-8796.141.3.707.4~1/RELEASE_ARM64_VMAPPLE (#2326) Co-authored-by: The Silk.NET Automaton <[email protected]> * New binaries for ANGLE on Darwin 22.6.0 Darwin Kernel Version 22.6.0: Wed Jul 31 21:41:04 PDT 2024; root:xnu-8796.141.3.707.4~1/RELEASE_ARM64_VMAPPLE (#2325) Co-authored-by: The Silk.NET Automaton <[email protected]> * New binaries for Wgpu on Microsoft Windows 10.0.20348 (#2324) Co-authored-by: The Silk.NET Automaton <[email protected]> * Update Assimp binaries (#2320) * New binaries for Assimp on Microsoft Windows 10.0.20348 * New binaries for Assimp on Microsoft Windows 10.0.20348 * New binaries for Assimp on Microsoft Windows 10.0.20348 * New binaries for Assimp on Microsoft Windows 10.0.20348 --------- Co-authored-by: The Silk.NET Automaton <[email protected]> * Update OpenALSoft binaries (#2319) * New binaries for OpenALSoft on Microsoft Windows 10.0.20348 * New binaries for OpenALSoft on Microsoft Windows 10.0.20348 * New binaries for OpenALSoft on Microsoft Windows 10.0.20348 --------- Co-authored-by: The Silk.NET Automaton <[email protected]> * Update GLFW binaries (#2318) * New binaries for GLFW on Microsoft Windows 10.0.20348 * New binaries for GLFW on Microsoft Windows 10.0.20348 * New binaries for GLFW on Microsoft Windows 10.0.20348 * New binaries for GLFW on Microsoft Windows 10.0.20348 --------- Co-authored-by: The Silk.NET Automaton <[email protected]> * Update SwiftShader binaries (#2312) * New binaries for SwiftShader on Darwin 23.6.0 Darwin Kernel Version 23.6.0: Wed Jul 31 20:50:13 PDT 2024; root:xnu-10063.141.1.700.5~1/RELEASE_ARM64_VMAPPLE * New binaries for SwiftShader on Microsoft Windows 10.0.20348 * New binaries for SwiftShader on Darwin 23.6.0 Darwin Kernel Version 23.6.0: Wed Jul 31 20:50:13 PDT 2024; root:xnu-10063.141.1.700.5~1/RELEASE_ARM64_VMAPPLE * New binaries for SwiftShader on Darwin 23.6.0 Darwin Kernel Version 23.6.0: Wed Jul 31 20:50:13 PDT 2024; root:xnu-10063.141.1.700.5~1/RELEASE_ARM64_VMAPPLE * New binaries for SwiftShader on Microsoft Windows 10.0.20348 * New binaries for SwiftShader on Darwin 23.6.0 Darwin Kernel Version 23.6.0: Wed Jul 31 20:50:13 PDT 2024; root:xnu-10063.141.1.700.5~1/RELEASE_ARM64_VMAPPLE * New binaries for SwiftShader on Microsoft Windows 10.0.20348 * New binaries for SwiftShader on Darwin 23.6.0 Darwin Kernel Version 23.6.0: Wed Jul 31 20:50:13 PDT 2024; root:xnu-10063.141.1.700.5~1/RELEASE_ARM64_VMAPPLE * New binaries for SwiftShader on Darwin 23.6.0 Darwin Kernel Version 23.6.0: Wed Jul 31 20:50:13 PDT 2024; root:xnu-10063.141.1.700.5~1/RELEASE_ARM64_VMAPPLE * New binaries for SwiftShader on Linux 6.5.0-1025-azure #26~22.04.1-Ubuntu SMP Thu Jul 11 22:33:04 UTC 2024 * New binaries for SwiftShader on Linux 6.5.0-1025-azure #26~22.04.1-Ubuntu SMP Thu Jul 11 22:33:04 UTC 2024 * New binaries for SwiftShader on Darwin 23.6.0 Darwin Kernel Version 23.6.0: Wed Jul 31 20:50:13 PDT 2024; root:xnu-10063.141.1.700.5~1/RELEASE_ARM64_VMAPPLE * New binaries for SwiftShader on Linux 6.5.0-1025-azure #26~22.04.1-Ubuntu SMP Thu Jul 11 22:33:04 UTC 2024 * New binaries for SwiftShader on Linux 6.5.0-1025-azure #26~22.04.1-Ubuntu SMP Thu Jul 11 22:33:04 UTC 2024 * New binaries for SwiftShader on Microsoft Windows 10.0.20348 * New binaries for SwiftShader on Darwin 23.6.0 Darwin Kernel Version 23.6.0: Wed Jul 31 20:50:13 PDT 2024; root:xnu-10063.141.1.700.5~1/RELEASE_ARM64_VMAPPLE * New binaries for SwiftShader on Darwin 23.6.0 Darwin Kernel Version 23.6.0: Wed Jul 31 20:50:13 PDT 2024; root:xnu-10063.141.1.700.5~1/RELEASE_ARM64_VMAPPLE * New binaries for SwiftShader on Linux 6.5.0-1025-azure #26~22.04.1-Ubuntu SMP Thu Jul 11 22:33:04 UTC 2024 * New binaries for SwiftShader on Linux 6.5.0-1025-azure #26~22.04.1-Ubuntu SMP Thu Jul 11 22:33:04 UTC 2024 * New binaries for SwiftShader on Linux 6.5.0-1025-azure #26~22.04.1-Ubuntu SMP Thu Jul 11 22:33:04 UTC 2024 * New binaries for SwiftShader on Microsoft Windows 10.0.20348 * New binaries for SwiftShader on Linux 6.5.0-1025-azure #26~22.04.1-Ubuntu SMP Thu Jul 11 22:33:04 UTC 2024 * New binaries for SwiftShader on Linux 6.5.0-1025-azure #26~22.04.1-Ubuntu SMP Thu Jul 11 22:33:04 UTC 2024 * New binaries for SwiftShader on Microsoft Windows 10.0.20348 * New binaries for SwiftShader on Linux 6.5.0-1025-azure #26~22.04.1-Ubuntu SMP Thu Jul 11 22:33:04 UTC 2024 * New binaries for SwiftShader on Darwin 23.6.0 Darwin Kernel Version 23.6.0: Wed Jul 31 20:50:13 PDT 2024; root:xnu-10063.141.1.700.5~1/RELEASE_ARM64_VMAPPLE * New binaries for SwiftShader on Linux 6.5.0-1025-azure #26~22.04.1-Ubuntu SMP Thu Jul 11 22:33:04 UTC 2024 * New binaries for SwiftShader on Linux 6.5.0-1025-azure #26~22.04.1-Ubuntu SMP Thu Jul 11 22:33:04 UTC 2024 * New binaries for SwiftShader on Linux 6.5.0-1025-azure #26~22.04.1-Ubuntu SMP Thu Jul 11 22:33:04 UTC 2024 * New binaries for SwiftShader on Microsoft Windows 10.0.20348 --------- Co-authored-by: The Silk.NET Automaton <[email protected]> * Fix member name being same as type name, @tonisimakov99 review comment * Not sure why non-universal ANGLE reappeared * Fix #2240 * Regenerate bindings as of 31/10/2024 (#2322) * Regenerated bindings as of 31/10/2024 (16:30:31) * Regenerated bindings as of 31/10/2024 (22:01:14) * Regenerated bindings as of 31/10/2024 (22:13:00) * Regenerated bindings as of 31/10/2024 (23:02:17) --------- Co-authored-by: The Silk.NET Automaton <[email protected]> * Revert invalid submodule reference updates * Update some versioned APIs again * Update patch notes * New binaries for SPIRV-Cross on Linux 6.5.0-1025-azure #26~22.04.1-Ubuntu SMP Thu Jul 11 22:33:04 UTC 2024 (#2334) Co-authored-by: The Silk.NET Automaton <[email protected]> * Update Assimp as well * Update Assimp config * Regenerated bindings as of 01/11/2024 (16:37:09) (#2337) Co-authored-by: The Silk.NET Automaton <[email protected]> * Attempt to fix Assimp Linux build * Fixes from self-review * Regenerated bindings as of 01/11/2024 (21:49:32) * Update Assimp binaries (#2336) * New binaries for Assimp on Microsoft Windows 10.0.20348 * New binaries for Assimp on Darwin 23.6.0 Darwin Kernel Version 23.6.0: Wed Jul 31 20:50:13 PDT 2024; root:xnu-10063.141.1.700.5~1/RELEASE_ARM64_VMAPPLE * New binaries for Assimp on Microsoft Windows 10.0.20348 * New binaries for Assimp on Darwin 23.6.0 Darwin Kernel Version 23.6.0: Wed Jul 31 20:50:13 PDT 2024; root:xnu-10063.141.1.700.5~1/RELEASE_ARM64_VMAPPLE * New binaries for Assimp on Linux 6.5.0-1025-azure #26~22.04.1-Ubuntu SMP Thu Jul 11 22:33:04 UTC 2024 * We need to fix the merging thingy --------- Co-authored-by: The Silk.NET Automaton <[email protected]> Co-authored-by: Dylan Perks <[email protected]> * Update SDL2 binaries (#2333) * New binaries for SDL2 on Linux 6.5.0-1025-azure #26~22.04.1-Ubuntu SMP Thu Jul 11 22:33:04 UTC 2024 * New binaries for SDL2 on Darwin 23.6.0 Darwin Kernel Version 23.6.0: Wed Jul 31 20:50:13 PDT 2024; root:xnu-10063.141.1.700.5~1/RELEASE_ARM64_VMAPPLE * New binaries for SDL2 on Microsoft Windows 10.0.20348 --------- Co-authored-by: The Silk.NET Automaton <[email protected]> * New binaries for SPIRV-Reflect on Linux 6.5.0-1025-azure #26~22.04.1-Ubuntu SMP Thu Jul 11 22:33:04 UTC 2024 (#2332) Co-authored-by: The Silk.NET Automaton <[email protected]> * New binaries for Vkd3d on Linux 6.5.0-1025-azure #26~22.04.1-Ubuntu SMP Thu Jul 11 22:33:04 UTC 2024 (#2331) Co-authored-by: The Silk.NET Automaton <[email protected]> * New binaries for MoltenVK on Darwin 22.6.0 Darwin Kernel Version 22.6.0: Wed Jul 31 21:41:04 PDT 2024; root:xnu-8796.141.3.707.4~1/RELEASE_ARM64_VMAPPLE (#2330) Co-authored-by: The Silk.NET Automaton <[email protected]> * Update Vulkan Loader binaries (#2301) * New binaries for Vulkan Loader on Darwin 23.6.0 Darwin Kernel Version 23.6.0: Wed Jul 31 20:50:13 PDT 2024; root:xnu-10063.141.1.700.5~1/RELEASE_ARM64_VMAPPLE * New binaries for Vulkan Loader on Microsoft Windows 10.0.20348 * New binaries for Vulkan Loader on Darwin 23.6.0 Darwin Kernel Version 23.6.0: Wed Jul 31 20:50:13 PDT 2024; root:xnu-10063.141.1.700.5~1/RELEASE_ARM64_VMAPPLE * New binaries for Vulkan Loader on Microsoft Windows 10.0.20348 * New binaries for Vulkan Loader on Darwin 23.6.0 Darwin Kernel Version 23.6.0: Wed Jul 31 20:50:13 PDT 2024; root:xnu-10063.141.1.700.5~1/RELEASE_ARM64_VMAPPLE * New binaries for Vulkan Loader on Microsoft Windows 10.0.20348 * New binaries for Vulkan Loader on Darwin 23.6.0 Darwin Kernel Version 23.6.0: Wed Jul 31 20:50:13 PDT 2024; root:xnu-10063.141.1.700.5~1/RELEASE_ARM64_VMAPPLE * New binaries for Vulkan Loader on Darwin 23.6.0 Darwin Kernel Version 23.6.0: Wed Jul 31 20:50:13 PDT 2024; root:xnu-10063.141.1.700.5~1/RELEASE_ARM64_VMAPPLE * New binaries for Vulkan Loader on Microsoft Windows 10.0.20348 * New binaries for Vulkan Loader on Darwin 23.6.0 Darwin Kernel Version 23.6.0: Wed Jul 31 20:50:13 PDT 2024; root:xnu-10063.141.1.700.5~1/RELEASE_ARM64_VMAPPLE * New binaries for Vulkan Loader on Darwin 23.6.0 Darwin Kernel Version 23.6.0: Wed Jul 31 20:50:13 PDT 2024; root:xnu-10063.141.1.700.5~1/RELEASE_ARM64_VMAPPLE * New binaries for Vulkan Loader on Microsoft Windows 10.0.20348 * New binaries for Vulkan Loader on Darwin 23.6.0 Darwin Kernel Version 23.6.0: Wed Jul 31 20:50:13 PDT 2024; root:xnu-10063.141.1.700.5~1/RELEASE_ARM64_VMAPPLE * New binaries for Vulkan Loader on Linux 6.5.0-1025-azure #26~22.04.1-Ubuntu SMP Thu Jul 11 22:33:04 UTC 2024 * New binaries for Vulkan Loader on Microsoft Windows 10.0.20348 * New binaries for Vulkan Loader on Darwin 23.6.0 Darwin Kernel Version 23.6.0: Wed Jul 31 20:50:13 PDT 2024; root:xnu-10063.141.1.700.5~1/RELEASE_ARM64_VMAPPLE * New binaries for Vulkan Loader on Linux 6.5.0-1025-azure #26~22.04.1-Ubuntu SMP Thu Jul 11 22:33:04 UTC 2024 * New binaries for Vulkan Loader on Darwin 23.6.0 Darwin Kernel Version 23.6.0: Wed Jul 31 20:50:13 PDT 2024; root:xnu-10063.141.1.700.5~1/RELEASE_ARM64_VMAPPLE * New binaries for Vulkan Loader on Linux 6.5.0-1025-azure #26~22.04.1-Ubuntu SMP Thu Jul 11 22:33:04 UTC 2024 * We need to fix the merge thingy * Not sure why those modified --------- Co-authored-by: The Silk.NET Automaton <[email protected]> Co-authored-by: Dylan Perks <[email protected]> --------- Co-authored-by: silkdotnet <[email protected]> Co-authored-by: The Silk.NET Automaton <[email protected]> Co-authored-by: Dylan Perks <[email protected]> Co-authored-by: Dylan Perks <[email protected]>
1 parent dd103f5 commit f9535d2

File tree

1,005 files changed

+329385
-10559
lines changed

Some content is hidden

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

1,005 files changed

+329385
-10559
lines changed

.github/workflows/bindings-regeneration.yml

+3-6
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,9 @@ jobs:
1616
token: ${{ secrets.PUSHABLE_GITHUB_TOKEN }}
1717
- name: Checkout submodules, configure git.
1818
run: |
19-
git -c submodule.third_party/git-hooks.update=none submodule update --init --recursive
19+
# Keep this in sync with generator.json!
20+
git -c submodule.third_party/git-hooks.update=none submodule update --init --depth 0 build/submodules/Vulkan-Headers build/submodules/Assimp build/submodules/SDL build/submodules/webgpu-headers build/submodules/dawn build/submodules/SPIRV-Headers build/submodules/SPIRV-Reflect build/submodules/SPIRV-Cross build/submodules/shaderc
21+
git submodule update --init --depth 0 --recursive build/submodules/wgpu-native
2022
git config --local user.email "[email protected]"
2123
git config --local user.name "The Silk.NET Automaton"
2224
- name: Setup .NET Core
@@ -44,11 +46,6 @@ jobs:
4446
uses: actions/setup-dotnet@v1
4547
with:
4648
dotnet-version: 3.1.404
47-
- name: Setup NUKE
48-
run: dotnet tool install Nuke.GlobalTool --global
49-
- name: Install Workloads
50-
# TODO: This is slow. Maybe we can make a docker container with this already done?
51-
run: dotnet workload install android ios maccatalyst
5249
- uses: GuillaumeFalourd/[email protected]
5350
name: Setup Windows 11 SDK
5451
with:

.github/workflows/shaderc.yml

+5-3
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,10 @@ jobs:
1717
fail-fast: false
1818
matrix:
1919
env:
20-
- os: ubuntu-latest
21-
name: Linux
22-
nuke_invoke: ./build.sh
20+
- os: windows-2022
21+
name: Windows
22+
nuke_invoke: ./build.cmd
23+
extras: ""
2324
name: ${{ matrix.env.name }} Build
2425
runs-on: ${{ matrix.env.os }}
2526
steps:
@@ -43,6 +44,7 @@ jobs:
4344
dotnet-version: |
4445
6.0.201
4546
7.0.*
47+
8.0.*
4648
- name: Build Shaderc
4749
run: ${{ matrix.env.nuke_invoke }} Shaderc
4850
env:

.github/workflows/swiftshader.yml

+14-28
Original file line numberDiff line numberDiff line change
@@ -19,34 +19,17 @@ jobs:
1919
matrix:
2020
env:
2121
- os: ubuntu-22.04
22-
name: Linux
22+
name: Linux x64
2323
nuke_invoke: ./build.sh
24-
extras: |
25-
# We need to adjust APT sources for multiarch. Use the ones corresponding to
26-
# Ubuntu 22.04 with appropriate `arch` values. ports.ubuntu.com is required
27-
# for armhf and arm64.
28-
sudo tee /etc/apt/sources.list << EOF
29-
deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy main multiverse restricted universe
30-
deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy-backports main multiverse restricted universe
31-
deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy-security main multiverse restricted universe
32-
deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy-updates main multiverse restricted universe
33-
deb [arch=arm64,armhf] http://ports.ubuntu.com jammy main multiverse restricted universe
34-
deb [arch=arm64,armhf] http://ports.ubuntu.com jammy-backports main multiverse restricted universe
35-
deb [arch=arm64,armhf] http://ports.ubuntu.com jammy-security main multiverse restricted universe
36-
deb [arch=arm64,armhf] http://ports.ubuntu.com jammy-updates main multiverse restricted universe
37-
deb [arch=amd64] http://security.ubuntu.com/ubuntu jammy main multiverse restricted universe
38-
deb [arch=amd64] http://security.ubuntu.com/ubuntu jammy-backports main multiverse restricted universe
39-
deb [arch=amd64] http://security.ubuntu.com/ubuntu jammy-security main multiverse restricted universe
40-
deb [arch=amd64] http://security.ubuntu.com/ubuntu jammy-updates main multiverse restricted universe
41-
EOF
42-
sudo dpkg --add-architecture arm64
43-
sudo dpkg --add-architecture armhf
44-
sudo apt update
45-
sudo apt install -y gcc-aarch64-linux-gnu gcc-arm-linux-gnueabihf
46-
sudo apt install -y g++-aarch64-linux-gnu g++-arm-linux-gnueabihf
47-
for arch in amd64 arm64 armhf; do
48-
sudo apt install -y libx11-xcb-dev:$arch
49-
done
24+
nuke_extra: --matrix-arg linux-x64
25+
- os: ubuntu-22.04
26+
name: Linux ARM32
27+
nuke_invoke: ./build.sh
28+
nuke_extra: --matrix-arg linux-arm
29+
- os: ubuntu-22.04
30+
name: Linux ARM64
31+
nuke_invoke: ./build.sh
32+
nuke_extra: --matrix-arg linux-arm64
5033
- os: windows-2022
5134
name: Windows
5235
nuke_invoke: ./build.cmd
@@ -83,7 +66,10 @@ jobs:
8366
dotnet-version: |
8467
6.0.201
8568
7.0.*
69+
- name: Install Zig
70+
if: ${{ matrix.env.os == 'ubuntu-22.04' }}
71+
uses: goto-bus-stop/setup-zig@v2
8672
- name: Build SwiftShader
87-
run: ${{ matrix.env.nuke_invoke }} SwiftShader
73+
run: ${{ matrix.env.nuke_invoke }} SwiftShader ${{ matrix.env.nuke_extra }}
8874
env:
8975
PUSHABLE_GITHUB_TOKEN: ${{ secrets.PUSHABLE_GITHUB_TOKEN }}

.github/workflows/vulkan-loader.yml

+3-3
Original file line numberDiff line numberDiff line change
@@ -46,10 +46,10 @@ jobs:
4646
for arch in amd64 arm64 armhf; do
4747
sudo apt install -y libx11-xcb-dev:$arch libxkbcommon-dev:$arch libwayland-dev:$arch libxrandr-dev:$arch
4848
done
49-
wget https://github.com/mstorsjo/llvm-mingw/releases/download/20240417/llvm-mingw-20240417-msvcrt-ubuntu-20.04-x86_64.tar.xz
49+
wget https://github.com/mstorsjo/llvm-mingw/releases/download/20241015/llvm-mingw-20241015-msvcrt-ubuntu-20.04-x86_64.tar.xz
5050
sudo mkdir /opt/llvm-mingw-msvcrt
51-
sudo tar xf llvm-mingw-20240417-msvcrt-ubuntu-20.04-x86_64.tar.xz --strip-components 1 -C /opt/llvm-mingw-msvcrt
52-
rm llvm-mingw-20240417-msvcrt-ubuntu-20.04-x86_64.tar.xz
51+
sudo tar xf llvm-mingw-20241015-msvcrt-ubuntu-20.04-x86_64.tar.xz --strip-components 1 -C /opt/llvm-mingw-msvcrt
52+
rm llvm-mingw-20241015-msvcrt-ubuntu-20.04-x86_64.tar.xz
5353
- os: windows-2022
5454
name: Windows
5555
nuke_invoke: ./build.cmd

.nuke/build.schema.json

+4
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,10 @@
6767
"VSCode"
6868
]
6969
},
70+
"MatrixArg": {
71+
"type": "string",
72+
"description": "Matrix job argument e.g. a RID for native builds"
73+
},
7074
"MsbuildProperties": {
7175
"type": "array",
7276
"description": "Extra properties passed to MSBuild commands",

build/cache/assimp.json.gz

0 Bytes
Binary file not shown.

build/cache/cl.json.gz

97.1 KB
Binary file not shown.

build/cache/core.json.gz

0 Bytes
Binary file not shown.

build/cache/d2d.json.gz

0 Bytes
Binary file not shown.

build/cache/d3d11.json.gz

0 Bytes
Binary file not shown.

build/cache/d3d12.json.gz

41.5 KB
Binary file not shown.

build/cache/d3d9.json.gz

0 Bytes
Binary file not shown.

build/cache/d3dcompiler.json.gz

18.2 KB
Binary file not shown.

build/cache/dcomp.json.gz

2.5 KB
Binary file not shown.

build/cache/dstorage.json.gz

99 Bytes
Binary file not shown.

build/cache/dwrite.json.gz

0 Bytes
Binary file not shown.

build/cache/dxc.json.gz

1 KB
Binary file not shown.

build/cache/dxgi.json.gz

1.44 KB
Binary file not shown.

build/cache/dxva.json.gz

0 Bytes
Binary file not shown.

build/cache/gl.json.gz

0 Bytes
Binary file not shown.

build/cache/glcore.json.gz

0 Bytes
Binary file not shown.

build/cache/gles2.json.gz

0 Bytes
Binary file not shown.

build/cache/openxr.json.gz

31.6 KB
Binary file not shown.

build/cache/sdl.json.gz

0 Bytes
Binary file not shown.

build/cache/shaderc.json.gz

446 Bytes
Binary file not shown.

build/cache/spirv-cross.json.gz

658 Bytes
Binary file not shown.

build/cache/spirv-reflect.json.gz

0 Bytes
Binary file not shown.

build/cache/spirv.json.gz

0 Bytes
Binary file not shown.

build/cache/vulkan.json.gz

0 Bytes
Binary file not shown.

build/cache/vulkan_video.json.gz

253 Bytes
Binary file not shown.

build/cache/webgpu.json.gz

4.73 KB
Binary file not shown.

build/cache/wgl.json.gz

0 Bytes
Binary file not shown.

build/cache/wic.json.gz

0 Bytes
Binary file not shown.

build/cache/win32extras.json.gz

0 Bytes
Binary file not shown.

build/cache/xaudio.json.gz

126 Bytes
Binary file not shown.

build/cache/xinput.json.gz

190 Bytes
Binary file not shown.

build/cmake/aarch64-linux-gnu.cmake

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
set(CMAKE_SYSTEM_NAME "Linux")
22
set(CMAKE_SYSTEM_PROCESSOR "aarch64")
33

4-
set(CMAKE_ASM_COMPILER "/usr/bin/aarch64-linux-gnu-as")
4+
set(CMAKE_ASM_COMPILER "/usr/bin/aarch64-linux-gnu-gcc")
55
set(CMAKE_C_COMPILER "/usr/bin/aarch64-linux-gnu-gcc")
66
set(CMAKE_CXX_COMPILER "/usr/bin/aarch64-linux-gnu-g++")
77

build/cmake/aarch64-w64-mingw32.cmake

+10-10
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
11
set(CMAKE_SYSTEM_NAME "Windows")
22
set(CMAKE_SYSTEM_PROCESSOR "aarch64")
33

4-
set(CMAKE_ASM_COMPILER "/opt/llvm-mingw-msvcrt/bin/aarch64-w64-mingw32-as")
4+
set(CMAKE_ASM_COMPILER "/opt/llvm-mingw-msvcrt/bin/aarch64-w64-mingw32-gcc")
55
set(CMAKE_C_COMPILER "/opt/llvm-mingw-msvcrt/bin/aarch64-w64-mingw32-gcc")
66
set(CMAKE_CXX_COMPILER "/opt/llvm-mingw-msvcrt/bin/aarch64-w64-mingw32-g++")
77
set(CMAKE_RC_COMPILER "/opt/llvm-mingw-msvcrt/bin/aarch64-w64-mingw32-windres")
88

9-
set(CMAKE_ADDR2LINE "/usr/bin/aarch64-w64-mingw32-addr2line")
10-
set(CMAKE_AR "/usr/bin/aarch64-w64-mingw32-ar")
11-
set(CMAKE_DLLTOOL "/usr/bin/aarch64-w64-mingw32-dlltool")
9+
set(CMAKE_ADDR2LINE "/opt/llvm-mingw-msvcrt/bin/aarch64-w64-mingw32-addr2line")
10+
set(CMAKE_AR "/opt/llvm-mingw-msvcrt/bin/aarch64-w64-mingw32-ar")
11+
set(CMAKE_DLLTOOL "/opt/llvm-mingw-msvcrt/bin/aarch64-w64-mingw32-dlltool")
1212
set(CMAKE_LINKER "/opt/llvm-mingw-msvcrt/bin/aarch64-w64-mingw32-ld")
13-
set(CMAKE_NM "/usr/bin/aarch64-w64-mingw32-nm")
14-
set(CMAKE_OBJCOPY "/usr/bin/aarch64-w64-mingw32-objcopy")
15-
set(CMAKE_OBJDUMP "/usr/bin/aarch64-w64-mingw32-objdump")
16-
set(CMAKE_RANLIB "/usr/bin/aarch64-w64-mingw32-ranlib")
17-
set(CMAKE_READELF "/usr/bin/aarch64-w64-mingw32-readelf")
18-
set(CMAKE_STRIP "/usr/bin/aarch64-w64-mingw32-strip")
13+
set(CMAKE_NM "/opt/llvm-mingw-msvcrt/bin/aarch64-w64-mingw32-nm")
14+
set(CMAKE_OBJCOPY "/opt/llvm-mingw-msvcrt/bin/aarch64-w64-mingw32-objcopy")
15+
set(CMAKE_OBJDUMP "/opt/llvm-mingw-msvcrt/bin/aarch64-w64-mingw32-objdump")
16+
set(CMAKE_RANLIB "/opt/llvm-mingw-msvcrt/bin/aarch64-w64-mingw32-ranlib")
17+
set(CMAKE_READELF "/opt/llvm-mingw-msvcrt/bin/aarch64-w64-mingw32-readelf")
18+
set(CMAKE_STRIP "/opt/llvm-mingw-msvcrt/bin/aarch64-w64-mingw32-strip")
1919

2020
set(CMAKE_FIND_ROOT_PATH "/opt/llvm-mingw-msvcrt/aarch64-w64-mingw32")
2121
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM BOTH)

build/cmake/arm-linux-gnueabihf.cmake

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
set(CMAKE_SYSTEM_NAME "Linux")
22
set(CMAKE_SYSTEM_PROCESSOR "armv7l")
33

4-
set(CMAKE_ASM_COMPILER "/usr/bin/arm-linux-gnueabihf-as")
4+
set(CMAKE_ASM_COMPILER "/usr/bin/arm-linux-gnueabihf-gcc")
55
set(CMAKE_C_COMPILER "/usr/bin/arm-linux-gnueabihf-gcc")
66
set(CMAKE_CXX_COMPILER "/usr/bin/arm-linux-gnueabihf-g++")
77

build/cmake/fudge.sh

+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
#!/bin/bash
2+
3+
# Origignal script from https://github.com/ziglang/zig/issues/4911
4+
# Modified to add SILKDOTNET_ paths in response to some issues with SwiftShader
5+
6+
args=""
7+
for arg in "$@"
8+
do
9+
parg="$arg"
10+
11+
option=${arg%=*}
12+
target=${arg#*=}
13+
if [[ $option == "-march" || $option == "-mcpu" || $option == "-mtune" ]]; then
14+
moveon=0
15+
for replace in $SILKDOTNET_ReplaceArchitectureZigCcFlags
16+
do
17+
replacetarget=${replace%=*}
18+
replacement=${replace#*=}
19+
# echo $replacetarget A $replacement B $target END
20+
if [[ $replacetarget == $target ]]; then
21+
if [[ "$replacement" == "" ]]; then
22+
moveon=1
23+
else
24+
target="$replacement"
25+
fi
26+
fi
27+
done
28+
if [[ $moveon == 1 || "$SILKDOTNET_RemoveAllPotentiallyProblematicZigCcFlags" == "1" ]]; then
29+
continue
30+
else
31+
fixedTarget=${target//-/_}
32+
parg="$option=$fixedTarget"
33+
fi
34+
fi
35+
args="$args $parg"
36+
done

build/cmake/x86_64-linux-gnu.cmake

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
set(CMAKE_SYSTEM_NAME "Linux")
22
set(CMAKE_SYSTEM_PROCESSOR "x86_64")
33

4-
set(CMAKE_ASM_COMPILER "/usr/bin/x86_64-linux-gnu-as")
4+
set(CMAKE_ASM_COMPILER "/usr/bin/x86_64-linux-gnu-gcc")
55
set(CMAKE_C_COMPILER "/usr/bin/x86_64-linux-gnu-gcc")
66
set(CMAKE_CXX_COMPILER "/usr/bin/x86_64-linux-gnu-g++")
77

build/cmake/zig-ar.cmd

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
@echo off
2+
zig ar %*

build/cmake/zig-ar.sh

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
#!/bin/sh
2+
zig ar "$@"

build/cmake/zig-c++.cmd

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
@echo off
2+
: TODO add -march/-mtune handling if necessary
3+
zig c++ %*

build/cmake/zig-c++.sh

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/bash
2+
. "$(dirname ${BASH_SOURCE[0]})/fudge.sh" $args
3+
zig c++ $args

build/cmake/zig-cc.cmd

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
@echo off
2+
: TODO add -march/-mtune handling if necessary
3+
zig cc %*

build/cmake/zig-cc.sh

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/bash
2+
. "$(dirname ${BASH_SOURCE[0]})/fudge.sh" $args
3+
zig cc $args

build/cmake/zig-ranlib.cmd

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
@echo off
2+
zig ranlib %*

build/cmake/zig-ranlib.sh

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
#!/bin/sh
2+
zig ranlib "$@"

build/cmake/zig-rc.cmd

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
@echo off
2+
zig rc %*

build/cmake/zig-rc.sh

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
#!/bin/sh
2+
zig rc "$@"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
set(ZIG_TARGET "aarch64-linux-gnu.2.17")
2+
include(${CMAKE_CURRENT_LIST_DIR}/zig-toolchain.cmake)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
set(ZIG_TARGET "arm-linux-gnueabihf.2.17")
2+
include(${CMAKE_CURRENT_LIST_DIR}/zig-toolchain.cmake)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
set(ZIG_TARGET "x86_64-linux-gnu.2.17")
2+
include(${CMAKE_CURRENT_LIST_DIR}/zig-toolchain.cmake)

build/cmake/zig-toolchain.cmake

+40
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
include_guard()
2+
3+
if(CMAKE_GENERATOR MATCHES "Visual Studio")
4+
message(FATAL_ERROR "Visual Studio generator not supported, use: cmake -G Ninja")
5+
endif()
6+
7+
if(NOT ZIG_TARGET MATCHES "^([a-zZ-Z0-9_]+)-([a-zZ-Z0-9_]+)-([a-zZ-Z0-9_.]+)$")
8+
message(FATAL_ERROR "Expected -DZIG_TARGET=<arch>-<os>-<abi>")
9+
endif()
10+
11+
set(ZIG_ARCH ${CMAKE_MATCH_1})
12+
set(ZIG_OS ${CMAKE_MATCH_2})
13+
set(ZIG_ABI ${CMAKE_MATCH_3})
14+
15+
if(ZIG_OS STREQUAL "linux")
16+
set(CMAKE_SYSTEM_NAME "Linux")
17+
elseif(ZIG_OS STREQUAL "windows")
18+
set(CMAKE_SYSTEM_NAME "Windows")
19+
elseif(ZIG_OS STREQUAL "macos")
20+
set(CMAKE_SYSTEM_NAME "Darwin")
21+
else()
22+
message(WARNING "Unknown OS: ${ZIG_OS}")
23+
endif()
24+
25+
set(CMAKE_SYSTEM_VERSION 1)
26+
set(CMAKE_SYSTEM_PROCESSOR ${ZIG_ARCH})
27+
28+
if(WIN32)
29+
set(SCRIPT_SUFFIX ".cmd")
30+
else()
31+
set(SCRIPT_SUFFIX ".sh")
32+
endif()
33+
34+
# This is working (thanks to Simon for finding this trick)
35+
set(CMAKE_AR "${CMAKE_CURRENT_LIST_DIR}/zig-ar${SCRIPT_SUFFIX}")
36+
set(CMAKE_RANLIB "${CMAKE_CURRENT_LIST_DIR}/zig-ranlib${SCRIPT_SUFFIX}")
37+
set(CMAKE_RC_COMPILER "${CMAKE_CURRENT_LIST_DIR}/zig-rc${SCRIPT_SUFFIX}")
38+
set(CMAKE_ASM_COMPILER "${CMAKE_CURRENT_LIST_DIR}/zig-cc${SCRIPT_SUFFIX}" -target ${ZIG_TARGET})
39+
set(CMAKE_C_COMPILER "${CMAKE_CURRENT_LIST_DIR}/zig-cc${SCRIPT_SUFFIX}" -target ${ZIG_TARGET})
40+
set(CMAKE_CXX_COMPILER "${CMAKE_CURRENT_LIST_DIR}/zig-c++${SCRIPT_SUFFIX}" -target ${ZIG_TARGET})

build/nuke/Build.Generation.cs

-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ partial class Build
2424
Target RegenerateBindings => CommonTarget
2525
(
2626
x => x.After(Clean)
27-
.DependsOn(Restore)
2827
.Executes
2928
(
3029
() =>

build/nuke/Build.Support.cs

+8-4
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,9 @@ partial class Build
3838
[Nuke.Common.Parameter("Outputs build warnings instead of keeping the MSBuild logging quiet with just errors.")]
3939
bool Warnings;
4040

41+
[Parameter("Matrix job argument e.g. a RID for native builds."), CanBeNull]
42+
string MatrixArg;
43+
4144
static int IndexOfOrThrow(string x, char y)
4245
{
4346
var idx = x.IndexOf(y);
@@ -49,15 +52,16 @@ static int IndexOfOrThrow(string x, char y)
4952
return idx;
5053
}
5154

52-
Dictionary<string, string> CreateEnvVarDictionary()
55+
Dictionary<string, string> CreateEnvVarDictionary([CanBeNull] IReadOnlyDictionary<string, string> concat = null)
5356
=> Environment.GetEnvironmentVariables()
5457
.Cast<DictionaryEntry>()
58+
.Concat((concat ?? Enumerable.Empty<KeyValuePair<string, string>>()).Select(x => new DictionaryEntry(x.Key, x.Value)))
5559
.ToDictionary(x => (string) x.Key, x => (string) x.Value);
5660

57-
IProcess InheritedShell(string cmd, [CanBeNull] string workDir = null)
61+
IProcess InheritedShell(string cmd, [CanBeNull] string workDir = null, [CanBeNull] IReadOnlyDictionary<string, string> envVars = null)
5862
=> OperatingSystem.IsWindows()
59-
? StartProcess("powershell", $"-Command {cmd.DoubleQuote()}", workDir, CreateEnvVarDictionary())
60-
: StartProcess("bash", $"-c {cmd.DoubleQuote()}", workDir, CreateEnvVarDictionary());
63+
? StartProcess("powershell", $"-Command {cmd.DoubleQuote()}", workDir, CreateEnvVarDictionary(envVars))
64+
: StartProcess("bash", $"-c {cmd.DoubleQuote()}", workDir, CreateEnvVarDictionary(envVars));
6165

6266
void AddToPath(string dir)
6367
{

build/nuke/Native/Assimp.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ partial class Build {
3939
var buildDir = AssimpPath / "build";
4040
var runtimes = RootDirectory / "src" / "Native" / "Silk.NET.Assimp.Native" / "runtimes";
4141

42-
var prepare = "cmake .. -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -DASSIMP_WARNINGS_AS_ERRORS=OFF -DASSIMP_BUILD_TESTS=OFF";
42+
var prepare = "cmake .. -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -DASSIMP_BUILD_ZLIB=ON -DASSIMP_WARNINGS_AS_ERRORS=OFF -DASSIMP_BUILD_TESTS=OFF";
4343
var build = $"cmake --build . --config Release{JobsArg}";
4444

4545
if (OperatingSystem.IsWindows())

build/nuke/Native/Core.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ public void PrUpdatedNativeBinary(string name)
7575
$"git commit -m \"New binaries for {name} on {RuntimeInformation.OSDescription}\""
7676
)
7777
.AssertWaitForExit();
78-
if (!commitCmd.Output.Any(x => x.Text.Contains("no changes added to commit", StringComparison.OrdinalIgnoreCase) || x.Text.Contains("nothing to commit", StringComparison.OrdinalIgnoreCase)))
78+
if (!commitCmd.Output.Any(x => x.Text.Contains("no changes added to commit", StringComparison.OrdinalIgnoreCase) || x.Text.Contains("nothing", StringComparison.OrdinalIgnoreCase)))
7979
{
8080
commitCmd.AssertZeroExitCode();
8181
}

build/nuke/Native/SPIRVCross.cs

+3-3
Original file line numberDiff line numberDiff line change
@@ -123,15 +123,15 @@ pub fn build(b: *std.Build) void {
123123
{ //Windows
124124
//Build for Windows x86_64
125125
InheritedShell($"zig build {releaseMode} -Dtarget=x86_64-windows --verbose", SPIRVCrossPath).AssertZeroExitCode();
126-
CopyFile(SPIRVCrossPath / "zig-out" / "lib" / "spirv-cross.dll", runtimes / "win-x64" / "native" / "spirv-cross.dll", FileExistsPolicy.Overwrite);
126+
CopyFile(SPIRVCrossPath / "zig-out" / "bin" / "spirv-cross.dll", runtimes / "win-x64" / "native" / "spirv-cross.dll", FileExistsPolicy.Overwrite);
127127

128128
//Build for Windows x86
129129
InheritedShell($"zig build {releaseMode} -Dtarget=x86-windows --verbose", SPIRVCrossPath).AssertZeroExitCode();
130-
CopyFile(SPIRVCrossPath / "zig-out" / "lib" / "spirv-cross.dll", runtimes / "win-x86" / "native" / "spirv-cross.dll", FileExistsPolicy.Overwrite);
130+
CopyFile(SPIRVCrossPath / "zig-out" / "bin" / "spirv-cross.dll", runtimes / "win-x86" / "native" / "spirv-cross.dll", FileExistsPolicy.Overwrite);
131131

132132
//Build for Windows arm64
133133
InheritedShell($"zig build {releaseMode} -Dtarget=aarch64-windows --verbose", SPIRVCrossPath).AssertZeroExitCode();
134-
CopyFile(SPIRVCrossPath / "zig-out" / "lib" / "spirv-cross.dll", runtimes / "win-arm64" / "native" / "spirv-cross.dll", FileExistsPolicy.Overwrite);
134+
CopyFile(SPIRVCrossPath / "zig-out" / "bin" / "spirv-cross.dll", runtimes / "win-arm64" / "native" / "spirv-cross.dll", FileExistsPolicy.Overwrite);
135135
}
136136

137137
{ //MacOS

0 commit comments

Comments
 (0)