diff --git a/.github/workflows/assimp.yml b/.github/workflows/assimp.yml index d8c8f70742..a9b599bdfe 100644 --- a/.github/workflows/assimp.yml +++ b/.github/workflows/assimp.yml @@ -17,17 +17,37 @@ jobs: fail-fast: false matrix: env: - - os: ubuntu-latest + - os: ubuntu-22.04 name: Linux nuke_invoke: ./build.sh extras: | - sudo apt-get update - sudo apt-get install -y xorg-dev - - os: windows-latest + # We need to adjust APT sources for multiarch. Use the ones corresponding to + # Ubuntu 22.04 with appropriate `arch` values. ports.ubuntu.com is required + # for armhf and arm64. + sudo tee /etc/apt/sources.list << EOF + deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy main universe + deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy-backports main universe + deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy-security main universe + deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy-updates main universe + deb [arch=arm64,armhf] http://ports.ubuntu.com jammy main universe + deb [arch=arm64,armhf] http://ports.ubuntu.com jammy-backports main universe + deb [arch=arm64,armhf] http://ports.ubuntu.com jammy-security main universe + deb [arch=arm64,armhf] http://ports.ubuntu.com jammy-updates main universe + deb [arch=amd64] http://security.ubuntu.com/ubuntu jammy main universe + deb [arch=amd64] http://security.ubuntu.com/ubuntu jammy-backports main universe + deb [arch=amd64] http://security.ubuntu.com/ubuntu jammy-security main universe + deb [arch=amd64] http://security.ubuntu.com/ubuntu jammy-updates main universe + EOF + sudo dpkg --add-architecture arm64 + sudo dpkg --add-architecture armhf + sudo apt update + sudo apt install -y gcc-aarch64-linux-gnu gcc-arm-linux-gnueabihf + sudo apt install -y g++-aarch64-linux-gnu g++-arm-linux-gnueabihf + - os: windows-2022 name: Windows nuke_invoke: ./build.cmd extras: "" - - os: macos-latest + - os: macos-14 name: Darwin nuke_invoke: ./build.sh extras: "" @@ -41,7 +61,7 @@ jobs: run: | git -c submodule.third_party/git-hooks.update=none submodule update --init --recursive --depth 0 build/submodules/Assimp git config --local user.email "9011267+dotnet-bot@users.noreply.github.com" - git config --local user.name "The Silk.NET Automaton" + git config --local user.name "The Silk.NET Automaton" - name: Extra prerequisites run: | echo running extras diff --git a/.github/workflows/glfw.yml b/.github/workflows/glfw.yml index 5eb9b2d2ee..2e5acc7230 100644 --- a/.github/workflows/glfw.yml +++ b/.github/workflows/glfw.yml @@ -17,17 +17,41 @@ jobs: fail-fast: false matrix: env: - - os: ubuntu-latest + - os: ubuntu-22.04 name: Linux nuke_invoke: ./build.sh extras: | - sudo apt-get update - sudo apt-get install -y xorg-dev libwayland-dev libxkbcommon-dev - - os: windows-latest + # We need to adjust APT sources for multiarch. Use the ones corresponding to + # Ubuntu 22.04 with appropriate `arch` values. ports.ubuntu.com is required + # for armhf and arm64. + sudo tee /etc/apt/sources.list << EOF + deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy main multiverse restricted universe + deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy-backports main multiverse restricted universe + deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy-security main multiverse restricted universe + deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy-updates main multiverse restricted universe + deb [arch=arm64,armhf] http://ports.ubuntu.com jammy main multiverse restricted universe + deb [arch=arm64,armhf] http://ports.ubuntu.com jammy-backports main multiverse restricted universe + deb [arch=arm64,armhf] http://ports.ubuntu.com jammy-security main multiverse restricted universe + deb [arch=arm64,armhf] http://ports.ubuntu.com jammy-updates main multiverse restricted universe + deb [arch=amd64] http://security.ubuntu.com/ubuntu jammy main multiverse restricted universe + deb [arch=amd64] http://security.ubuntu.com/ubuntu jammy-backports main multiverse restricted universe + deb [arch=amd64] http://security.ubuntu.com/ubuntu jammy-security main multiverse restricted universe + deb [arch=amd64] http://security.ubuntu.com/ubuntu jammy-updates main multiverse restricted universe + EOF + sudo dpkg --add-architecture arm64 + sudo dpkg --add-architecture armhf + sudo apt update + sudo apt install -y gcc-aarch64-linux-gnu gcc-arm-linux-gnueabihf + sudo apt install -y extra-cmake-modules pkg-config wayland-protocols + for arch in amd64 arm64 armhf; do + sudo apt install -y libwayland-dev:$arch libxcursor-dev:$arch libxi-dev:$arch + sudo apt install -y libxinerama-dev:$arch libxrandr-dev:$arch libxkbcommon-dev:$arch + done + - os: windows-2022 name: Windows nuke_invoke: ./build.cmd extras: "" - - os: macos-latest + - os: macos-14 name: Darwin nuke_invoke: ./build.sh extras: "" @@ -41,7 +65,7 @@ jobs: run: | git -c submodule.third_party/git-hooks.update=none submodule update --init --recursive --depth 0 build/submodules/GLFW git config --local user.email "9011267+dotnet-bot@users.noreply.github.com" - git config --local user.name "The Silk.NET Automaton" + git config --local user.name "The Silk.NET Automaton" - name: Extra prerequisites run: | echo running extras diff --git a/.github/workflows/openal-soft.yml b/.github/workflows/openal-soft.yml new file mode 100644 index 0000000000..76188dad29 --- /dev/null +++ b/.github/workflows/openal-soft.yml @@ -0,0 +1,86 @@ +name: OpenAL Soft +on: + push: + branches-ignore: + - "ci/**" + - "develop/**" + - "main" + paths: + - build/submodules/openal-soft + - build/nuke/Native/Core.cs + - build/nuke/Native/OpenALSoft.cs + - .github/workflows/openal-soft.yml +jobs: + Build: + if: github.repository == 'dotnet/Silk.NET' + strategy: + fail-fast: false + matrix: + env: + - os: ubuntu-22.04 + name: Linux + nuke_invoke: ./build.sh + extras: | + # We need to adjust APT sources for multiarch. Use the ones corresponding to + # Ubuntu 22.04 with appropriate `arch` values. ports.ubuntu.com is required + # for armhf and arm64. + sudo tee /etc/apt/sources.list << EOF + deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy main multiverse restricted universe + deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy-backports main multiverse restricted universe + deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy-security main multiverse restricted universe + deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy-updates main multiverse restricted universe + deb [arch=arm64,armhf] http://ports.ubuntu.com jammy main multiverse restricted universe + deb [arch=arm64,armhf] http://ports.ubuntu.com jammy-backports main multiverse restricted universe + deb [arch=arm64,armhf] http://ports.ubuntu.com jammy-security main multiverse restricted universe + deb [arch=arm64,armhf] http://ports.ubuntu.com jammy-updates main multiverse restricted universe + deb [arch=amd64] http://security.ubuntu.com/ubuntu jammy main multiverse restricted universe + deb [arch=amd64] http://security.ubuntu.com/ubuntu jammy-backports main multiverse restricted universe + deb [arch=amd64] http://security.ubuntu.com/ubuntu jammy-security main multiverse restricted universe + deb [arch=amd64] http://security.ubuntu.com/ubuntu jammy-updates main multiverse restricted universe + EOF + sudo dpkg --add-architecture arm64 + sudo dpkg --add-architecture armhf + sudo apt update + sudo apt install -y gcc-aarch64-linux-gnu gcc-arm-linux-gnueabihf + sudo apt install -y g++-aarch64-linux-gnu g++-arm-linux-gnueabihf + for arch in amd64 arm64 armhf; do + sudo apt install -y libasound2-dev:$arch libpulse-dev:$arch libsoundio-dev:$arch + sudo apt install -y libsndfile1-dev:$arch libmysofa-dev:$arch qtbase5-dev:$arch + sudo apt install -y libdbus-1-dev:$arch + done + # These packages aren't multiarch-compatible in 22.04, so we prioritize amd64 for these. + sudo apt install -y libjack-dev portaudio19-dev + - os: windows-2022 + name: Windows + nuke_invoke: ./build.cmd + extras: "" + - os: macos-14 + 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 build/submodules/openal-soft + 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: Setup .NET 6.0 and .NET 7.0 + uses: actions/setup-dotnet@v1 + with: + dotnet-version: | + 6.0.201 + 7.0.* + - name: Build OpenAL Soft + run: ${{ matrix.env.nuke_invoke }} openalsoft + env: + PUSHABLE_GITHUB_TOKEN: ${{ secrets.PUSHABLE_GITHUB_TOKEN }} + diff --git a/.github/workflows/sdl2.yml b/.github/workflows/sdl2.yml index 081c9844af..5cf5caaf01 100644 --- a/.github/workflows/sdl2.yml +++ b/.github/workflows/sdl2.yml @@ -17,15 +17,15 @@ jobs: fail-fast: false matrix: env: - - os: ubuntu-latest + - os: ubuntu-22.04 name: Linux nuke_invoke: ./build.sh - - os: windows-latest + - os: windows-2022 name: Windows nuke_invoke: ./build.cmd extras: | pwsh build\Install-WindowsSDK.ps1 - - os: macos-latest + - os: macos-14 name: Darwin nuke_invoke: ./build.sh extras: "" @@ -56,8 +56,39 @@ jobs: uses: Beyley/run-as-1804@239b211a2ca687388b6251d6dab22cb90ac0391d with: command: | + # We need to adjust APT sources for multiarch. Use the ones corresponding to + # Ubuntu 18.04 with appropriate `arch` values. ports.ubuntu.com is required + # for armhf and arm64. + tee /etc/apt/sources.list << EOF + deb [arch=amd64] http://archive.ubuntu.com/ubuntu bionic main multiverse restricted universe + deb [arch=amd64] http://archive.ubuntu.com/ubuntu bionic-backports main multiverse restricted universe + deb [arch=amd64] http://archive.ubuntu.com/ubuntu bionic-security main multiverse restricted universe + deb [arch=amd64] http://archive.ubuntu.com/ubuntu bionic-updates main multiverse restricted universe + deb [arch=arm64,armhf] http://ports.ubuntu.com bionic main multiverse restricted universe + deb [arch=arm64,armhf] http://ports.ubuntu.com bionic-backports main multiverse restricted universe + deb [arch=arm64,armhf] http://ports.ubuntu.com bionic-security main multiverse restricted universe + deb [arch=arm64,armhf] http://ports.ubuntu.com bionic-updates main multiverse restricted universe + deb [arch=amd64] http://security.ubuntu.com/ubuntu bionic main multiverse restricted universe + deb [arch=amd64] http://security.ubuntu.com/ubuntu bionic-backports main multiverse restricted universe + deb [arch=amd64] http://security.ubuntu.com/ubuntu bionic-security main multiverse restricted universe + deb [arch=amd64] http://security.ubuntu.com/ubuntu bionic-updates main multiverse restricted universe + EOF + dpkg --add-architecture arm64 + dpkg --add-architecture armhf apt update - apt install -y python3 curl wget build-essential git make autoconf gcc-multilib g++-multilib automake libtool pkg-config ninja-build gnome-desktop-testing libasound2-dev libpulse-dev libaudio-dev libjack-dev libsndio-dev libsamplerate0-dev libx11-dev libxext-dev libxrandr-dev libxcursor-dev libxfixes-dev libxi-dev libxss-dev libwayland-dev libxkbcommon-dev libdrm-dev libgbm-dev libgl1-mesa-dev libgles2-mesa-dev libegl1-mesa-dev libdbus-1-dev libibus-1.0-dev libudev-dev fcitx-libs-dev + apt install -y gcc gcc-aarch64-linux-gnu gcc-arm-linux-gnueabihf + apt install -y g++ g++-aarch64-linux-gnu g++-arm-linux-gnueabihf + apt install -y automake build-essential curl git libtool pkg-config python3 wget + for arch in amd64 arm64 armhf; do + apt install -y libasound2-dev:$arch libpulse-dev:$arch libaudio-dev:$arch + apt install -y libsndio-dev:$arch libsamplerate0-dev:$arch libx11-dev:$arch libxext-dev:$arch + apt install -y libxrandr-dev:$arch libxcursor-dev:$arch libxfixes-dev:$arch libxi-dev:$arch + apt install -y libxss-dev:$arch libwayland-dev:$arch libxkbcommon-dev:$arch libdrm-dev:$arch + apt install -y libgbm-dev:$arch libgl1-mesa-dev:$arch libgles2-mesa-dev:$arch libegl1-mesa-dev:$arch + apt install -y libdbus-1-dev:$arch libibus-1.0-dev:$arch libudev-dev:$arch + done + # This package isn't multiarch-compatible in 22.04, so we prioritize amd64 for this. + apt install -y libjack-dev wget https://dot.net/v1/dotnet-install.sh -O dotnet-install.sh chmod +x ./dotnet-install.sh @@ -72,6 +103,7 @@ jobs: # mark workspace as safe git config --global --add safe.directory /github/workspace + git config --global --add safe.directory /github/workspace/build/submodules/SDL ${{ matrix.env.nuke_invoke }} SDL2 env: @@ -82,5 +114,5 @@ jobs: run: ${{ matrix.env.nuke_invoke }} SDL2 env: PUSHABLE_GITHUB_TOKEN: ${{ secrets.PUSHABLE_GITHUB_TOKEN }} - + diff --git a/.github/workflows/shaderc.yml b/.github/workflows/shaderc.yml index 124fadd0ac..f74a9c41f9 100644 --- a/.github/workflows/shaderc.yml +++ b/.github/workflows/shaderc.yml @@ -20,9 +20,6 @@ jobs: - 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: diff --git a/.github/workflows/spirv-cross.yml b/.github/workflows/spirv-cross.yml index 39e7c9a606..f7b16bb4d9 100644 --- a/.github/workflows/spirv-cross.yml +++ b/.github/workflows/spirv-cross.yml @@ -20,9 +20,6 @@ jobs: - 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: diff --git a/.github/workflows/spirv-reflect.yml b/.github/workflows/spirv-reflect.yml index 945503031a..9388bed559 100644 --- a/.github/workflows/spirv-reflect.yml +++ b/.github/workflows/spirv-reflect.yml @@ -20,9 +20,6 @@ jobs: - 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: diff --git a/.github/workflows/swiftshader.yml b/.github/workflows/swiftshader.yml index 5770ec238a..2715ebde8e 100644 --- a/.github/workflows/swiftshader.yml +++ b/.github/workflows/swiftshader.yml @@ -17,17 +17,40 @@ jobs: fail-fast: false matrix: env: - - os: ubuntu-latest + - os: ubuntu-22.04 name: Linux nuke_invoke: ./build.sh extras: | - sudo apt-get update - sudo apt-get install -y libx11-xcb-dev - - os: windows-latest + # We need to adjust APT sources for multiarch. Use the ones corresponding to + # Ubuntu 22.04 with appropriate `arch` values. ports.ubuntu.com is required + # for armhf and arm64. + sudo tee /etc/apt/sources.list << EOF + deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy main multiverse restricted universe + deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy-backports main multiverse restricted universe + deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy-security main multiverse restricted universe + deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy-updates main multiverse restricted universe + deb [arch=arm64,armhf] http://ports.ubuntu.com jammy main multiverse restricted universe + deb [arch=arm64,armhf] http://ports.ubuntu.com jammy-backports main multiverse restricted universe + deb [arch=arm64,armhf] http://ports.ubuntu.com jammy-security main multiverse restricted universe + deb [arch=arm64,armhf] http://ports.ubuntu.com jammy-updates main multiverse restricted universe + deb [arch=amd64] http://security.ubuntu.com/ubuntu jammy main multiverse restricted universe + deb [arch=amd64] http://security.ubuntu.com/ubuntu jammy-backports main multiverse restricted universe + deb [arch=amd64] http://security.ubuntu.com/ubuntu jammy-security main multiverse restricted universe + deb [arch=amd64] http://security.ubuntu.com/ubuntu jammy-updates main multiverse restricted universe + EOF + sudo dpkg --add-architecture arm64 + sudo dpkg --add-architecture armhf + sudo apt update + sudo apt install -y gcc-aarch64-linux-gnu gcc-arm-linux-gnueabihf + sudo apt install -y g++-aarch64-linux-gnu g++-arm-linux-gnueabihf + for arch in amd64 arm64 armhf; do + sudo apt install -y libx11-xcb-dev:$arch + done + - os: windows-2022 name: Windows nuke_invoke: ./build.cmd extras: "" - - os: macos-latest + - os: macos-14 name: Darwin nuke_invoke: ./build.sh extras: "" @@ -41,7 +64,7 @@ jobs: run: | git -c submodule.third_party/git-hooks.update=none submodule update --init --recursive --depth 0 build/submodules/SwiftShader git config --local user.email "9011267+dotnet-bot@users.noreply.github.com" - git config --local user.name "The Silk.NET Automaton" + git config --local user.name "The Silk.NET Automaton" - name: Extra prerequisites run: | echo running extras diff --git a/.github/workflows/vulkan-loader.yml b/.github/workflows/vulkan-loader.yml index 4438bd909a..4b6b9fb1dc 100644 --- a/.github/workflows/vulkan-loader.yml +++ b/.github/workflows/vulkan-loader.yml @@ -17,17 +17,40 @@ jobs: fail-fast: false matrix: env: - - os: ubuntu-latest + - os: ubuntu-22.04 name: Linux nuke_invoke: ./build.sh extras: | - sudo apt-get update - sudo apt-get install -y build-essential libx11-xcb-dev libxkbcommon-dev libwayland-dev libxrandr-dev - - os: windows-latest + # We need to adjust APT sources for multiarch. Use the ones corresponding to + # Ubuntu 22.04 with appropriate `arch` values. ports.ubuntu.com is required + # for armhf and arm64. + sudo tee /etc/apt/sources.list << EOF + deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy main multiverse restricted universe + deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy-backports main multiverse restricted universe + deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy-security main multiverse restricted universe + deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy-updates main multiverse restricted universe + deb [arch=arm64,armhf] http://ports.ubuntu.com jammy main multiverse restricted universe + deb [arch=arm64,armhf] http://ports.ubuntu.com jammy-backports main multiverse restricted universe + deb [arch=arm64,armhf] http://ports.ubuntu.com jammy-security main multiverse restricted universe + deb [arch=arm64,armhf] http://ports.ubuntu.com jammy-updates main multiverse restricted universe + deb [arch=amd64] http://security.ubuntu.com/ubuntu jammy main multiverse restricted universe + deb [arch=amd64] http://security.ubuntu.com/ubuntu jammy-backports main multiverse restricted universe + deb [arch=amd64] http://security.ubuntu.com/ubuntu jammy-security main multiverse restricted universe + deb [arch=amd64] http://security.ubuntu.com/ubuntu jammy-updates main multiverse restricted universe + EOF + sudo dpkg --add-architecture arm64 + sudo dpkg --add-architecture armhf + sudo apt update + sudo apt install -y gcc-aarch64-linux-gnu gcc-arm-linux-gnueabihf + sudo apt install -y pkg-config + for arch in amd64 arm64 armhf; do + sudo apt install -y libx11-xcb-dev:$arch libxkbcommon-dev:$arch libwayland-dev:$arch libxrandr-dev:$arch + done + - os: windows-2022 name: Windows nuke_invoke: ./build.cmd extras: "" - - os: macos-latest + - os: macos-14 name: Darwin nuke_invoke: ./build.sh extras: "" @@ -41,7 +64,7 @@ jobs: run: | git -c submodule.third_party/git-hooks.update=none submodule update --init --recursive --depth 0 build/submodules/Vulkan-Loader git config --local user.email "9011267+dotnet-bot@users.noreply.github.com" - git config --local user.name "The Silk.NET Automaton" + git config --local user.name "The Silk.NET Automaton" - name: Extra prerequisites run: | echo running extras diff --git a/.github/workflows/wgpu.yml b/.github/workflows/wgpu.yml index b0569cc96e..f3cdfdcd3c 100644 --- a/.github/workflows/wgpu.yml +++ b/.github/workflows/wgpu.yml @@ -17,17 +17,37 @@ jobs: fail-fast: false matrix: env: - - os: ubuntu-latest + - os: ubuntu-22.04 name: Linux nuke_invoke: ./build.sh extras: | - sudo apt-get update - sudo apt-get install -y gcc-multilib - - os: windows-latest + # We need to adjust APT sources for multiarch. Use the ones corresponding to + # Ubuntu 22.04 with appropriate `arch` values. ports.ubuntu.com is required + # for armhf and arm64. + sudo tee /etc/apt/sources.list << EOF + deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy main multiverse restricted universe + deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy-backports main multiverse restricted universe + deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy-security main multiverse restricted universe + deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy-updates main multiverse restricted universe + deb [arch=arm64,armhf] http://ports.ubuntu.com jammy main multiverse restricted universe + deb [arch=arm64,armhf] http://ports.ubuntu.com jammy-backports main multiverse restricted universe + deb [arch=arm64,armhf] http://ports.ubuntu.com jammy-security main multiverse restricted universe + deb [arch=arm64,armhf] http://ports.ubuntu.com jammy-updates main multiverse restricted universe + deb [arch=amd64] http://security.ubuntu.com/ubuntu jammy main multiverse restricted universe + deb [arch=amd64] http://security.ubuntu.com/ubuntu jammy-backports main multiverse restricted universe + deb [arch=amd64] http://security.ubuntu.com/ubuntu jammy-security main multiverse restricted universe + deb [arch=amd64] http://security.ubuntu.com/ubuntu jammy-updates main multiverse restricted universe + EOF + sudo dpkg --add-architecture arm64 + sudo dpkg --add-architecture armhf + sudo apt update + sudo apt install -y gcc-aarch64-linux-gnu gcc-arm-linux-gnueabihf + sudo apt install -y libgcc-11-dev libgcc-11-dev-arm64-cross libgcc-11-dev-armhf-cross + - os: windows-2022 name: Windows nuke_invoke: ./build.cmd extras: "" - - os: macos-latest + - os: macos-14 name: Darwin nuke_invoke: ./build.sh extras: "" @@ -47,7 +67,7 @@ jobs: - uses: dtolnay/rust-toolchain@stable if: runner.os == 'macOS' with: - toolchain: stable-x86_64-apple-darwin + toolchain: stable-aarch64-apple-darwin - name: Add targets if: runner.os == 'Windows' @@ -58,12 +78,13 @@ jobs: - name: Add targets if: runner.os == 'Linux' run: | - rustup target add i686-unknown-linux-gnu + rustup target add aarch64-unknown-linux-gnu + rustup target add arm-unknown-linux-gnueabihf - name: Add targets if: runner.os == 'macOS' run: | - rustup target add aarch64-apple-darwin + rustup target add x86_64-apple-darwin - uses: actions/checkout@v2 with: diff --git a/.gitmodules b/.gitmodules index de5272891d..1489f22dd3 100644 --- a/.gitmodules +++ b/.gitmodules @@ -52,3 +52,6 @@ [submodule "build/submodules/MoltenVK"] path = build/submodules/MoltenVK url = https://github.com/KhronosGroup/MoltenVK +[submodule "build/submodules/openal-soft"] + path = build/submodules/openal-soft + url = https://github.com/kcat/openal-soft diff --git a/.nuke/build.schema.json b/.nuke/build.schema.json index e18f4e81b8..09c66fc913 100644 --- a/.nuke/build.schema.json +++ b/.nuke/build.schema.json @@ -154,6 +154,7 @@ "FullPushToNuGet", "GLFW", "MoltenVK", + "OpenALSoft", "Pack", "Prerequisites", "PushToNuGet", @@ -197,6 +198,7 @@ "FullPushToNuGet", "GLFW", "MoltenVK", + "OpenALSoft", "Pack", "Prerequisites", "PushToNuGet", diff --git a/build/cmake/aarch64-linux-gnu.cmake b/build/cmake/aarch64-linux-gnu.cmake new file mode 100644 index 0000000000..d3a20e4a38 --- /dev/null +++ b/build/cmake/aarch64-linux-gnu.cmake @@ -0,0 +1,13 @@ +set(CMAKE_SYSTEM_NAME Linux) +set(CMAKE_SYSTEM_PROCESSOR aarch64) +set(CMAKE_C_COMPILER "/usr/bin/aarch64-linux-gnu-gcc") +set(CMAKE_CXX_COMPILER "/usr/bin/aarch64-linux-gnu-g++") +set(CMAKE_LINKER "/usr/bin/aarch64-linux-gnu-ld") +set(PKG_CONFIG_EXECUTABLE "/usr/bin/pkg-config") +set(ENV{PKG_CONFIG_LIBDIR} "/usr/lib/aarch64-linux-gnu/pkgconfig") +set(ENV{PKG_CONFIG_PATH} "/usr/lib/pkgconfig:/usr/share/pkgconfig") +set(CMAKE_FIND_ROOT_PATH "/usr/aarch64-linux-gnu") +set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) +set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH) +set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH) +set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE BOTH) diff --git a/build/cmake/arm-linux-gnueabihf.cmake b/build/cmake/arm-linux-gnueabihf.cmake new file mode 100644 index 0000000000..491844cae8 --- /dev/null +++ b/build/cmake/arm-linux-gnueabihf.cmake @@ -0,0 +1,13 @@ +set(CMAKE_SYSTEM_NAME Linux) +set(CMAKE_SYSTEM_PROCESSOR armv7l) +set(CMAKE_C_COMPILER "/usr/bin/arm-linux-gnueabihf-gcc") +set(CMAKE_CXX_COMPILER "/usr/bin/arm-linux-gnueabihf-g++") +set(CMAKE_LINKER "/usr/bin/arm-linux-gnueabihf-ld") +set(PKG_CONFIG_EXECUTABLE "/usr/bin/pkg-config") +set(ENV{PKG_CONFIG_LIBDIR} "/usr/lib/arm-linux-gnueabihf/pkgconfig") +set(ENV{PKG_CONFIG_PATH} "/usr/lib/pkgconfig:/usr/share/pkgconfig") +set(CMAKE_FIND_ROOT_PATH "/usr/arm-linux-gnueabihf") +set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) +set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH) +set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH) +set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE BOTH) diff --git a/build/cmake/x86_64-linux-gnu.cmake b/build/cmake/x86_64-linux-gnu.cmake new file mode 100644 index 0000000000..73dd97caf9 --- /dev/null +++ b/build/cmake/x86_64-linux-gnu.cmake @@ -0,0 +1,13 @@ +set(CMAKE_SYSTEM_NAME Linux) +set(CMAKE_SYSTEM_PROCESSOR x86_64) +set(CMAKE_C_COMPILER "/usr/bin/x86_64-linux-gnu-gcc") +set(CMAKE_CXX_COMPILER "/usr/bin/x86_64-linux-gnu-g++") +set(CMAKE_LINKER "/usr/bin/x86_64-linux-gnu-ld") +set(PKG_CONFIG_EXECUTABLE "/usr/bin/pkg-config") +set(ENV{PKG_CONFIG_LIBDIR} "/usr/lib/x86_64-linux-gnu/pkgconfig") +set(ENV{PKG_CONFIG_PATH} "/usr/lib/pkgconfig:/usr/share/pkgconfig") +set(CMAKE_FIND_ROOT_PATH "/usr/x86_64-linux-gnu") +set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) +set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH) +set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH) +set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE BOTH) diff --git a/build/nuke/Native/Assimp.cs b/build/nuke/Native/Assimp.cs index 15d92957d2..bb09bc4351 100644 --- a/build/nuke/Native/Assimp.cs +++ b/build/nuke/Native/Assimp.cs @@ -36,57 +36,69 @@ partial class Build { ( () => { - var @out = AssimpPath / "build"; - var prepare = "cmake -S. -B build -D BUILD_SHARED_LIBS=ON -DASSIMP_WARNINGS_AS_ERRORS=OFF"; - var build = $"cmake --build build --config Release{JobsArg}"; - EnsureCleanDirectory(@out); + var buildDir = AssimpPath / "build"; var runtimes = RootDirectory / "src" / "Native" / "Silk.NET.Assimp.Native" / "runtimes"; + + var prepare = "cmake .. -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -DASSIMP_WARNINGS_AS_ERRORS=OFF -DASSIMP_BUILD_TESTS=OFF"; + var build = $"cmake --build . --config Release{JobsArg}"; + 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); + foreach (var (platform, rid) in new[] + { + ("Win32", "win-x86"), + ("x64", "win-x64"), + ("ARM64", "win-arm64"), + }) + { + EnsureCleanDirectory(buildDir); - InheritedShell($"{prepare} -A Win32", AssimpPath) - .AssertZeroExitCode(); - InheritedShell(build, AssimpPath) - .AssertZeroExitCode(); + InheritedShell($"{prepare} -A {platform}", buildDir).AssertZeroExitCode(); + InheritedShell(build, buildDir).AssertZeroExitCode(); - CopyAs(@out, "bin/Release/assimp-*-mt.dll", runtimes / "win-x86" / "native" / "Assimp32.dll"); + CopyAs(buildDir / "bin" / "Release", "assimp-*-mt.dll", runtimes / rid / "native" / $"Assimp{(rid.Contains("64") ? 64 : 32)}.dll"); + } } else if (OperatingSystem.IsLinux()) { - InheritedShell($"{prepare} -DCMAKE_SYSTEM_PROCESSOR=x86_64", AssimpPath) - .AssertZeroExitCode(); - InheritedShell(build, AssimpPath) - .AssertZeroExitCode(); + foreach (var (triple, rid) in new[] + { + ("x86_64-linux-gnu", "linux-x64"), + ("arm-linux-gnueabihf", "linux-arm"), + ("aarch64-linux-gnu", "linux-arm64"), + }) + { + EnsureCleanDirectory(buildDir); + + InheritedShell($"{prepare} {GetCMakeToolchainFlag(triple)}", buildDir).AssertZeroExitCode(); + InheritedShell(build, buildDir).AssertZeroExitCode(); + + InheritedShell($"{triple}-strip --strip-unneeded bin/libassimp.so.5", buildDir).AssertZeroExitCode(); - CopyAll(@out.GlobFiles("bin/libassimp.so.5"), runtimes / "linux-x64" / "native"); + CopyAll((buildDir / "bin").GlobFiles("libassimp.so.5"), runtimes / rid / "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"); + foreach (var (arch, rid) in new[] + { + ("x86_64", "osx-x64"), + ("arm64", "osx-arm64"), + }) + { + EnsureCleanDirectory(buildDir); - EnsureCleanDirectory(@out); + InheritedShell($"{prepare} -DCMAKE_OSX_ARCHITECTURES={arch}", buildDir).AssertZeroExitCode(); + InheritedShell(build, buildDir).AssertZeroExitCode(); - InheritedShell($"{prepare} -DCMAKE_OSX_ARCHITECTURES=arm64", AssimpPath) - .AssertZeroExitCode(); - InheritedShell(build, AssimpPath) - .AssertZeroExitCode(); + InheritedShell($"strip -Sx bin/libassimp.5.dylib", buildDir).AssertZeroExitCode(); - CopyAll(@out.GlobFiles("bin/libassimp.5.dylib"), runtimes / "osx-arm64" / "native"); + CopyAll((buildDir / "bin").GlobFiles("libassimp.5.dylib"), runtimes / rid / "native"); + } } PrUpdatedNativeBinary("Assimp"); } ) ); -} \ No newline at end of file +} diff --git a/build/nuke/Native/Core.cs b/build/nuke/Native/Core.cs index 3544ad290f..30d9223eb3 100644 --- a/build/nuke/Native/Core.cs +++ b/build/nuke/Native/Core.cs @@ -39,6 +39,11 @@ partial class Build { ? Environment.ProcessorCount - 1 : 1; + public string GetCMakeToolchainFlag(string target) + { + return $"-DCMAKE_TOOLCHAIN_FILE={RootDirectory / "build" / "cmake" / target}.cmake"; + } + public void CopyAs(AbsolutePath @out, string from, string to) { var file = @out.GlobFiles(from).First(); diff --git a/build/nuke/Native/GLFW.cs b/build/nuke/Native/GLFW.cs index 57b472de5e..596185dd82 100644 --- a/build/nuke/Native/GLFW.cs +++ b/build/nuke/Native/GLFW.cs @@ -36,66 +36,69 @@ partial class Build { ( () => { - 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 buildDir = GLFWPath / "build"; 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); + var prepare = "cmake .. -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -DGLFW_BUILD_EXAMPLES=OFF -DGLFW_BUILD_TESTS=OFF -DGLFW_BUILD_DOCS=OFF"; + var build = $"cmake --build . --config Release{JobsArg}"; - InheritedShell($"{prepare} -A Win32", GLFWPath) - .AssertZeroExitCode(); - InheritedShell(build, GLFWPath) - .AssertZeroExitCode(); + if (OperatingSystem.IsWindows()) + { + foreach (var (platform, rid) in new[] + { + ("Win32", "win-x86"), + ("x64", "win-x64"), + ("ARM64", "win-arm64"), + }) + { + EnsureCleanDirectory(buildDir); - CopyAll(@out.GlobFiles("src/Release/glfw3.dll"), runtimes / "win-x86" / "native"); - - EnsureCleanDirectory(@out); - - InheritedShell($"{prepare} -A arm64", GLFWPath) - .AssertZeroExitCode(); - InheritedShell(build, GLFWPath) - .AssertZeroExitCode(); + InheritedShell($"{prepare} -A {platform}", buildDir).AssertZeroExitCode(); + InheritedShell(build, buildDir).AssertZeroExitCode(); - CopyAll(@out.GlobFiles("src/Release/glfw3.dll"), runtimes / "win-arm64" / "native"); + CopyAll((buildDir / "src" / "Release").GlobFiles("glfw3.dll"), runtimes / rid / "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"); + foreach (var (triple, rid) in new[] + { + ("x86_64-linux-gnu", "linux-x64"), + ("arm-linux-gnueabihf", "linux-arm"), + ("aarch64-linux-gnu", "linux-arm64"), + }) + { + EnsureCleanDirectory(buildDir); + + InheritedShell($"{prepare} {GetCMakeToolchainFlag(triple)}", buildDir).AssertZeroExitCode(); + InheritedShell(build, buildDir).AssertZeroExitCode(); + + InheritedShell($"{triple}-strip --strip-unneeded src/libglfw.so", buildDir).AssertZeroExitCode(); + + CopyFile((buildDir / "src").GlobFiles("libglfw.so.3.*").First(), runtimes / rid / "native" / "libglfw.so.3", FileExistsPolicy.Overwrite); + } } 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"); + foreach (var (arch, rid) in new[] + { + ("x86_64", "osx-x64"), + ("arm64", "osx-arm64"), + }) + { + EnsureCleanDirectory(buildDir); - EnsureCleanDirectory(@out); + InheritedShell($"{prepare} -DCMAKE_OSX_ARCHITECTURES={arch}", buildDir).AssertZeroExitCode(); + InheritedShell(build, buildDir).AssertZeroExitCode(); - InheritedShell($"{prepare} -DCMAKE_OSX_ARCHITECTURES=arm64", GLFWPath) - .AssertZeroExitCode(); - InheritedShell(build, GLFWPath) - .AssertZeroExitCode(); + InheritedShell($"strip -Sx src/libglfw.3.dylib", buildDir).AssertZeroExitCode(); - CopyAll(@out.GlobFiles("src/libglfw.3.dylib"), runtimes / "osx-arm64" / "native"); + CopyAll((buildDir / "src").GlobFiles("libglfw.3.dylib"), runtimes / rid / "native"); + } } PrUpdatedNativeBinary("GLFW"); } ) ); -} \ No newline at end of file +} diff --git a/build/nuke/Native/OpenALSoft.cs b/build/nuke/Native/OpenALSoft.cs new file mode 100644 index 0000000000..34baa67537 --- /dev/null +++ b/build/nuke/Native/OpenALSoft.cs @@ -0,0 +1,106 @@ +// 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 OpenALSoftPath => RootDirectory / "build" / "submodules" / "openal-soft"; + + Target OpenALSoft => CommonTarget + ( + x => x.Before(Compile) + .After(Clean) + .Executes + ( + () => + { + var buildDir = OpenALSoftPath / "build"; + var runtimes = RootDirectory / "src" / "Native" / "Silk.NET.OpenAL.Soft.Native" / "runtimes"; + + var prepare = "cmake .. -DCMAKE_BUILD_TYPE=Release -DALSOFT_UTILS=OFF -DALSOFT_NO_CONFIG_UTIL=ON -DALSOFT_EXAMPLES=OFF"; + var build = $"cmake --build . --config Release{JobsArg}"; + + if (OperatingSystem.IsWindows()) + { + foreach (var (platform, rid) in new[] + { + ("Win32", "win-x86"), + ("x64", "win-x64"), + ("ARM64", "win-arm64"), + }) + { + EnsureCleanDirectory(buildDir); + + InheritedShell($"{prepare} -A {platform}", buildDir).AssertZeroExitCode(); + InheritedShell(build, buildDir).AssertZeroExitCode(); + + CopyFile(buildDir / "Release" / "OpenAL32.dll", runtimes / rid / "native" / "soft_oal.dll", FileExistsPolicy.Overwrite); + } + } + else if (OperatingSystem.IsLinux()) + { + foreach (var (triple, rid) in new[] + { + ("x86_64-linux-gnu", "linux-x64"), + ("arm-linux-gnueabihf", "linux-arm"), + ("aarch64-linux-gnu", "linux-arm64"), + }) + { + EnsureCleanDirectory(buildDir); + + InheritedShell($"{prepare} -DALSOFT_BACKEND_SNDIO=OFF {GetCMakeToolchainFlag(triple)}", buildDir).AssertZeroExitCode(); + InheritedShell(build, buildDir).AssertZeroExitCode(); + + InheritedShell($"{triple}-strip --strip-unneeded libopenal.so", buildDir).AssertZeroExitCode(); + + CopyFile(buildDir / "libopenal.so", runtimes / rid / "native" / "libopenal.so", FileExistsPolicy.Overwrite); + } + } + else if (OperatingSystem.IsMacOS()) + { + foreach (var (arch, rid) in new[] + { + ("x86_64", "osx-x64"), + ("arm64", "osx-arm64"), + }) + { + EnsureCleanDirectory(buildDir); + + InheritedShell($"{prepare} -DCMAKE_OSX_ARCHITECTURES={arch}", buildDir).AssertZeroExitCode(); + InheritedShell(build, buildDir).AssertZeroExitCode(); + + InheritedShell($"strip -Sx libopenal.dylib", buildDir).AssertZeroExitCode(); + + CopyFile(buildDir / "libopenal.dylib", runtimes / rid / "native" / "libopenal.dylib", FileExistsPolicy.Overwrite); + } + } + + Git("checkout HEAD build/", OpenALSoftPath); + + PrUpdatedNativeBinary("OpenALSoft"); + } + ) + ); +} diff --git a/build/nuke/Native/SDL2.cs b/build/nuke/Native/SDL2.cs index 1f6b50b152..dfd0efbb54 100644 --- a/build/nuke/Native/SDL2.cs +++ b/build/nuke/Native/SDL2.cs @@ -58,100 +58,83 @@ static readonly (string Sdk, string Arch, string Rid, string Args)[] iPhoneConfi { 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(); + foreach (var (platform, rid) in new[] + { + ("Win32", "win-x86"), + ("x64", "win-x64"), + ("ARM64", "win-arm64"), + }) + { + var buildDir = SDL2Path / "build"; - InheritedShell($"{prepare} -A X64", x64BuildDir).AssertZeroExitCode(); - InheritedShell(build, x64BuildDir).AssertZeroExitCode(); + EnsureCleanDirectory(buildDir); - InheritedShell($"{prepare} -A arm64", ARM64BuildDir).AssertZeroExitCode(); - InheritedShell(build, ARM64BuildDir).AssertZeroExitCode(); + InheritedShell($"cmake .. -A {platform} -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -DSDL_ASSERTIONS=disabled", buildDir).AssertZeroExitCode(); + InheritedShell($"cmake --build . --config Release{JobsArg}", buildDir).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); + CopyFile(buildDir / "Release" / "SDL2.dll", runtimes / rid / "native" / "SDL2.dll", FileExistsPolicy.Overwrite); + } } - - if (OperatingSystem.IsLinux()) + else if (OperatingSystem.IsLinux()) { - if (RuntimeInformation.OSArchitecture == Architecture.Arm64) + foreach (var (triple, rid) in new[] { - 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) + ("x86_64-linux-gnu", "linux-x64"), + ("arm-linux-gnueabihf", "linux-arm"), + ("aarch64-linux-gnu", "linux-arm64"), + }) { - var envVars32bit = "CFLAGS='-m32 -O2' CXXFLAGS='-m32 -O2' LDFLAGS=-m32"; - var envVars64bit = "CFLAGS=-O2 CXXFLAGS=-O2"; + var buildDir = SDL2Path / "build"; - InheritedShell($"{envVars32bit} ./configure --prefix={x86BuildDir}", SDL2Path).AssertZeroExitCode(); - InheritedShell($"{envVars32bit} make {JobsArg}", SDL2Path).AssertZeroExitCode(); - InheritedShell($"make install", SDL2Path).AssertZeroExitCode(); + EnsureCleanDirectory(buildDir); - InheritedShell($"{envVars64bit} ./configure --prefix={x64BuildDir}", SDL2Path).AssertZeroExitCode(); - InheritedShell($"{envVars64bit} make {JobsArg}", SDL2Path).AssertZeroExitCode(); + InheritedShell($"./configure --prefix={buildDir} --disable-static --host={triple} --enable-assertions=disabled --enable-wayland-shared --enable-x11-shared", SDL2Path).AssertZeroExitCode(); + InheritedShell($"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(); + InheritedShell($"{triple}-strip --strip-unneeded lib/libSDL2-2.0.so*", buildDir).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})."); + CopyFile((buildDir / "lib").GlobFiles("libSDL2-2.0.so*").First(), runtimes / rid / "native" / "libSDL2-2.0.so", FileExistsPolicy.Overwrite); } } - - if (OperatingSystem.IsMacOS()) + else if (OperatingSystem.IsMacOS()) { // iOS build/hackery ported from https://github.com/Ultz/SDL-Xamarin.iOS - var mainH = File.ReadAllText(SDL2Path / "include" / "SDL_main.h"); - try + + File.WriteAllText( + SDL2Path / "include" / "SDL_main.h", + $"#define SDL_MAIN_HANDLED\n{File.ReadAllText(SDL2Path / "include" / "SDL_main.h")}"); + + EnsureCleanDirectory(SDL2Path / "allbuild"); + + foreach (var (sdk, arch, rid, args) in iPhoneConfigs) { - File.WriteAllText(SDL2Path / "include" / "SDL_main.h", $"#define SDL_MAIN_HANDLED\n{mainH}"); - EnsureCleanDirectory(SDL2Path / "allbuild"); - foreach (var (sdk, arch, rid, args) in iPhoneConfigs) - { - InheritedShell($"xcodebuild -project SDL.xcodeproj {args} -sdk {sdk} -arch {arch} -configuration Release clean build -jobs {Jobs}", SDL2Path / "XCode" / "SDL") - .AssertZeroExitCode(); - var ext = rid is "maccatalyst" or "osx" ? "dylib" : "a"; - var cfg = rid is "maccatalyst" or "osx" ? "Release" : $"Release-{sdk}"; - CopyFile(SDL2Path / "XCode" / "SDL" / "build" / cfg / $"libSDL2.{ext}", SDL2Path / "allbuild" / $"libSDL2.{sdk}.{arch}.{rid}.{ext}"); - } - foreach (var rid in iPhoneConfigs.GroupBy(x => x.Rid)) - { - var ext = rid.Key is "maccatalyst" or "osx" ? "dylib" : "a"; - var @in = string.Join("\" \"", rid.Select(x => SDL2Path / "allbuild" / $"libSDL2.{x.Sdk}.{x.Arch}.{rid.Key}.{ext}")); - var @out = runtimes / rid.Key / "native" / (ext is "dylib" ? "libSDL2-2.0.dylib" : "libSDL2.a"); - EnsureCleanDirectory(Path.GetDirectoryName(@out)); - InheritedShell($"lipo -create -output \"{@out}\" \"{@in}\"").AssertZeroExitCode(); - } + InheritedShell($"xcodebuild -project SDL.xcodeproj {args} -sdk {sdk} -arch {arch} -configuration Release clean build -jobs {Jobs}", SDL2Path / "XCode" / "SDL").AssertZeroExitCode(); + + var ext = rid is "maccatalyst" or "osx" ? "dylib" : "a"; + var cfg = rid is "maccatalyst" or "osx" ? "Release" : $"Release-{sdk}"; + + CopyFile(SDL2Path / "XCode" / "SDL" / "build" / cfg / $"libSDL2.{ext}", SDL2Path / "allbuild" / $"libSDL2.{sdk}.{arch}.{rid}.{ext}"); } - finally + + foreach (var rid in iPhoneConfigs.GroupBy(x => x.Rid)) { - File.WriteAllText(SDL2Path / "include" / "SDL_main.h", mainH); + var ext = rid.Key is "maccatalyst" or "osx" ? "dylib" : "a"; + var @in = string.Join("\" \"", rid.Select(x => SDL2Path / "allbuild" / $"libSDL2.{x.Sdk}.{x.Arch}.{rid.Key}.{ext}")); + var @out = runtimes / rid.Key / "native" / (ext is "dylib" ? "libSDL2-2.0.dylib" : "libSDL2.a"); + + EnsureCleanDirectory(Path.GetDirectoryName(@out)); + InheritedShell($"lipo -create -output \"{@out}\" \"{@in}\"").AssertZeroExitCode(); + InheritedShell($"strip -Sx \"{@out}\"").AssertZeroExitCode(); } } + Git("checkout HEAD include/", SDL2Path); + PrUpdatedNativeBinary("SDL2"); } ) ); -} \ No newline at end of file +} diff --git a/build/nuke/Native/SPIRVCross.cs b/build/nuke/Native/SPIRVCross.cs index 4562881514..fd8e4b2816 100644 --- a/build/nuke/Native/SPIRVCross.cs +++ b/build/nuke/Native/SPIRVCross.cs @@ -64,12 +64,12 @@ pub fn build(b: *std.Build) void { lib.defineCMacro(""SPVC_PUBLIC_API"", ""__declspec(dllexport)""); } - //If we arent in debug, defined NDEBUG - if (mode != .Debug) + //If we arent in debug, defined NDEBUG and strip symbols + if (mode != .Debug) { lib.defineCMacro(""NDEBUG"", ""1""); - if (mode == .ReleaseSmall) lib.root_module.strip = true; + } lib.addCSourceFiles(.{ .files = &.{ @@ -84,7 +84,7 @@ pub fn build(b: *std.Build) void { ""spirv_msl.cpp"", ""spirv_parser.cpp"", ""spirv_reflect.cpp"", - }, + }, .flags = flags }); @@ -104,16 +104,16 @@ pub fn build(b: *std.Build) void { //Write out the build script to the directory File.WriteAllText(SPIRVCrossPath / "build.zig", SPIRVCrossBuildScript); - string releaseMode = "-Doptimize=ReleaseSmall"; + string releaseMode = "-Doptimize=ReleaseFast"; { //Linux //Build for Linux x86_64 with glibc 2.17 (old version specified for compatibility) InheritedShell($"zig build {releaseMode} -Dtarget=x86_64-linux-gnu.2.17 --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.17 (old version specified for compatibility) - InheritedShell($"zig build {releaseMode} -Dtarget=x86-linux-gnu.2.17 --verbose", SPIRVCrossPath).AssertZeroExitCode(); - CopyFile(SPIRVCrossPath / "zig-out" / "lib" / "libspirv-cross.so", runtimes / "linux-x86" / "native" / "libspirv-cross.so", FileExistsPolicy.Overwrite); + //Build for Linux arm with glibc 2.17 (old version specified for compatibility) + InheritedShell($"zig build {releaseMode} -Dtarget=arm-linux-gnueabihf.2.17 --verbose", SPIRVCrossPath).AssertZeroExitCode(); + CopyFile(SPIRVCrossPath / "zig-out" / "lib" / "libspirv-cross.so", runtimes / "linux-arm" / "native" / "libspirv-cross.so", FileExistsPolicy.Overwrite); //Build for Linux arm64 with glibc 2.17 (old version specified for compatibility) InheritedShell($"zig build {releaseMode} -Dtarget=aarch64-linux-gnu.2.17 --verbose", SPIRVCrossPath).AssertZeroExitCode(); @@ -150,7 +150,7 @@ pub fn build(b: *std.Build) void { .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-arm" / "native").GlobFiles("*.so")) .Concat((runtimes / "linux-arm64" / "native").GlobFiles("*.so")); var glob = string.Empty; diff --git a/build/nuke/Native/SPIRVReflect.cs b/build/nuke/Native/SPIRVReflect.cs index 090329c955..6754c6b34b 100644 --- a/build/nuke/Native/SPIRVReflect.cs +++ b/build/nuke/Native/SPIRVReflect.cs @@ -45,7 +45,7 @@ pub fn build(b: *std.Build) void { const lib: *std.Build.Step.Compile = b.addSharedLibrary(shared_lib_options); lib.linkLibC(); - if(optimize == .ReleaseSmall) + if(optimize != .Debug) lib.root_module.strip = true; lib.addCSourceFiles(.{ .files = &.{""spirv_reflect.c""}, .flags = &.{ ""-std=c99"", ""-fPIC"" } }); @@ -65,16 +65,16 @@ pub fn build(b: *std.Build) void { //Write out the build script to the directory File.WriteAllText(SPIRVReflectPath / "build.zig", SPIRVReflectBuildScript); - string buildMode = "-Doptimize=ReleaseSmall"; + string buildMode = "-Doptimize=ReleaseFast"; { //Linux //Build for Linux x86_64 with glibc 2.17 (old version specified for compatibility) InheritedShell($"zig build {buildMode} -Dtarget=x86_64-linux-gnu.2.17 --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.17 (old version specified for compatibility) - InheritedShell($"zig build {buildMode} -Dtarget=x86-linux-gnu.2.17 --verbose", SPIRVReflectPath).AssertZeroExitCode(); - CopyFile(SPIRVReflectPath / "zig-out" / "lib" / "libspirv-reflect.so", runtimes / "linux-x86" / "native" / "libspirv-reflect.so", FileExistsPolicy.Overwrite); + //Build for Linux arm with glibc 2.17 (old version specified for compatibility) + InheritedShell($"zig build {buildMode} -Dtarget=arm-linux-gnueabihf.2.17 --verbose", SPIRVReflectPath).AssertZeroExitCode(); + CopyFile(SPIRVReflectPath / "zig-out" / "lib" / "libspirv-reflect.so", runtimes / "linux-arm" / "native" / "libspirv-reflect.so", FileExistsPolicy.Overwrite); //Build for Linux arm64 with glibc 2.17 (old version specified for compatibility) InheritedShell($"zig build {buildMode} -Dtarget=aarch64-linux-gnu.2.17 --verbose", SPIRVReflectPath).AssertZeroExitCode(); @@ -111,7 +111,7 @@ pub fn build(b: *std.Build) void { .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-arm" / "native").GlobFiles("*.so")) .Concat((runtimes / "linux-arm64" / "native").GlobFiles("*.so")); var glob = string.Empty; @@ -121,4 +121,4 @@ pub fn build(b: *std.Build) void { } ) ); -} \ No newline at end of file +} diff --git a/build/nuke/Native/Shaderc.cs b/build/nuke/Native/Shaderc.cs index e89f3c3fdb..0364f949cc 100644 --- a/build/nuke/Native/Shaderc.cs +++ b/build/nuke/Native/Shaderc.cs @@ -542,8 +542,8 @@ pub fn build(b: *std.Build) void { shaderc.linkLibrary(spirv_tools); shaderc.linkLibrary(glslang); - //On ReleaseSmall, lets strip the binary to reduce size further - if (optimize == .ReleaseSmall) { + //On release builds, lets strip the binary to reduce size further + if (optimize != .Debug) { shaderc.root_module.strip = true; } @@ -584,16 +584,16 @@ pub fn build(b: *std.Build) void { const string libname = "shaderc_shared"; - const string optimizeMode = "-Doptimize=ReleaseSmall"; - - //Build shaderc for Linux x86 - InheritedShell($"zig build -Dtarget=x86-linux-gnu.2.17 {optimizeMode}", ShadercPath).AssertZeroExitCode(); - CopyFile(ShadercPath / "zig-out" / "lib" / $"lib{libname}.so", runtimes / "linux-x86" / "native" / $"lib{libname}.so", FileExistsPolicy.Overwrite); + const string optimizeMode = "-Doptimize=ReleaseFast"; //Build shaderc for Linux x86_64 InheritedShell($"zig build -Dtarget=x86_64-linux-gnu.2.17 {optimizeMode}", ShadercPath).AssertZeroExitCode(); CopyFile(ShadercPath / "zig-out" / "lib" / $"lib{libname}.so", runtimes / "linux-x64" / "native" / $"lib{libname}.so", FileExistsPolicy.Overwrite); + //Build shaderc for Linux ARM + InheritedShell($"zig build -Dtarget=arm-linux-gnueabihf.2.17 {optimizeMode}", ShadercPath).AssertZeroExitCode(); + CopyFile(ShadercPath / "zig-out" / "lib" / $"lib{libname}.so", runtimes / "linux-arm" / "native" / $"lib{libname}.so", FileExistsPolicy.Overwrite); + //Build shaderc for Linux ARM64 InheritedShell($"zig build -Dtarget=aarch64-linux-gnu.2.17 {optimizeMode}", ShadercPath).AssertZeroExitCode(); CopyFile(ShadercPath / "zig-out" / "lib" / $"lib{libname}.so", runtimes / "linux-arm64" / "native" / $"lib{libname}.so", FileExistsPolicy.Overwrite); @@ -624,7 +624,7 @@ pub fn build(b: *std.Build) void { .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-arm" / "native").GlobFiles("*.so")) .Concat((runtimes / "linux-arm64" / "native").GlobFiles("*.so")); var glob = string.Empty; diff --git a/build/nuke/Native/SwiftShader.cs b/build/nuke/Native/SwiftShader.cs index 2874904ce6..522bfd3c7d 100644 --- a/build/nuke/Native/SwiftShader.cs +++ b/build/nuke/Native/SwiftShader.cs @@ -26,7 +26,7 @@ using static Nuke.Common.Tools.GitHub.GitHubTasks; partial class Build { - AbsolutePath SwiftShaderBuildPath => RootDirectory / "build" / "submodules" / "SwiftShader" / "build"; + AbsolutePath SwiftShaderPath => RootDirectory / "build" / "submodules" / "SwiftShader"; Target SwiftShader => CommonTarget ( @@ -36,78 +36,79 @@ partial class Build { ( () => { - 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 buildDir = SwiftShaderPath / "build"; var runtimes = RootDirectory / "src" / "Native" / "Silk.NET.Vulkan.SwiftShader.Native" / "runtimes"; - var outputPath = SwiftShaderBuildPath / sysName; - const string icd = "vk_swiftshader_icd.json"; + + var prepare = "cmake .. -DSWIFTSHADER_WARNINGS_AS_ERRORS=FALSE -DSWIFTSHADER_BUILD_TESTS=FALSE"; + var build = $"cmake --build . --config Release{JobsArg}"; + + // Work around SwiftShader's silly Git hook installation logic that fails as a submodule. + File.WriteAllText( + SwiftShaderPath / "CMakeLists.txt", + File.ReadAllText(SwiftShaderPath / "CMakeLists.txt") + .Replace("if(NOT EXISTS ${CMAKE_SOURCE_DIR}/.git/hooks/commit-msg)", "if(FALSE)")); + 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 - ); + foreach (var (platform, rid) in new[] + { + ("Win32", "win-x86"), + ("x64", "win-x64"), + }) + { + EnsureCleanDirectory(buildDir); + + InheritedShell($"{prepare} -A {platform}", buildDir).AssertZeroExitCode(); + InheritedShell(build, buildDir).AssertZeroExitCode(); + + CopyFile(buildDir / "Windows" / "vk_swiftshader.dll", runtimes / rid / "native" / "vk_swiftshader.dll", FileExistsPolicy.Overwrite); + CopyFile(buildDir / "Windows" / "vk_swiftshader_icd.json", runtimes / rid / "native" / "vk_swiftshader_icd.json", 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 - ); + foreach (var (triple, rid) in new[] + { + ("x86_64-linux-gnu", "linux-x64"), + ("arm-linux-gnueabihf", "linux-arm"), + ("aarch64-linux-gnu", "linux-arm64"), + }) + { + EnsureCleanDirectory(buildDir); + + InheritedShell($"{prepare} {GetCMakeToolchainFlag(triple)}", buildDir).AssertZeroExitCode(); + InheritedShell(build, buildDir).AssertZeroExitCode(); + + InheritedShell($"{triple}-strip --strip-unneeded Linux/libvk_swiftshader.so", buildDir).AssertZeroExitCode(); + + CopyFile(buildDir / "Linux" / "libvk_swiftshader.so", runtimes / rid / "native" / "libvk_swiftshader.so", FileExistsPolicy.Overwrite); + CopyFile(buildDir / "Linux" / "vk_swiftshader_icd.json", runtimes / rid / "native" / "vk_swiftshader_icd.json", 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 - ); + foreach (var (arch, rid) in new[] + { + ("x86_64", "osx-x64"), + ("arm64", "osx-arm64"), + }) + { + EnsureCleanDirectory(buildDir); + + InheritedShell($"{prepare} -DCMAKE_OSX_ARCHITECTURES={arch}", buildDir).AssertZeroExitCode(); + InheritedShell(build, buildDir).AssertZeroExitCode(); + + InheritedShell($"strip -Sx Darwin/libvk_swiftshader.dylib", buildDir).AssertZeroExitCode(); + + CopyFile(buildDir / "Darwin" / "libvk_swiftshader.dylib", runtimes / rid / "native" / "libvk_swiftshader.dylib", FileExistsPolicy.Overwrite); + CopyFile(buildDir / "Darwin" / "vk_swiftshader_icd.json", runtimes / rid / "native" / "vk_swiftshader_icd.json", FileExistsPolicy.Overwrite); + } } + Git("checkout HEAD CMakeLists.txt build/", SwiftShaderPath); + PrUpdatedNativeBinary("SwiftShader"); } ) ); -} \ No newline at end of file +} diff --git a/build/nuke/Native/Vkd3d.cs b/build/nuke/Native/Vkd3d.cs index f280cc5f49..4c50335041 100644 --- a/build/nuke/Native/Vkd3d.cs +++ b/build/nuke/Native/Vkd3d.cs @@ -90,7 +90,7 @@ partial class Build { 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(); + InheritedShell($"zig build -Doptimize=ReleaseFast -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); @@ -100,4 +100,4 @@ partial class Build { } ) ); -} \ No newline at end of file +} diff --git a/build/nuke/Native/VulkanLoader.cs b/build/nuke/Native/VulkanLoader.cs index eb589de50d..fd5b7cbe35 100644 --- a/build/nuke/Native/VulkanLoader.cs +++ b/build/nuke/Native/VulkanLoader.cs @@ -31,39 +31,77 @@ partial class Build { 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"); - } - ) + .After(Clean) + .Executes + ( + () => + { + var buildDir = VulkanLoaderPath / "build"; + var runtimes = RootDirectory / "src" / "Native" / "Silk.NET.Vulkan.Loader.Native" / "runtimes"; + + var prepare = "cmake .. -DCMAKE_BUILD_TYPE=Release -DUPDATE_DEPS=ON"; + var build = $"cmake --build . --config Release{JobsArg}"; + + if (OperatingSystem.IsWindows()) + { + foreach (var (platform, rid) in new[] + { + ("Win32", "win-x86"), + ("x64", "win-x64"), + }) + { + EnsureCleanDirectory(buildDir); + + InheritedShell($"{prepare} -A {platform}", buildDir).AssertZeroExitCode(); + InheritedShell(build, buildDir).AssertZeroExitCode(); + + CopyAll((buildDir / "loader" / "Release").GlobFiles("vulkan-1.dll"), runtimes / rid / "native"); + } + } + else if (OperatingSystem.IsLinux()) + { + + foreach (var (triple, rid) in new[] + { + ("x86_64-linux-gnu", "linux-x64"), + ("aarch64-linux-gnu", "linux-arm64"), + }) + { + EnsureCleanDirectory(buildDir); + + InheritedShell($"{prepare} {GetCMakeToolchainFlag(triple)}", buildDir).AssertZeroExitCode(); + InheritedShell(build, buildDir).AssertZeroExitCode(); + + InheritedShell($"{triple}-strip --strip-unneeded loader/libvulkan.so", buildDir).AssertZeroExitCode(); + + CopyAll((buildDir / "loader").GlobFiles("libvulkan.so"), runtimes / rid / "native"); + } + } + else if (OperatingSystem.IsMacOS()) + { + foreach (var (arch, rid) in new[] + { + ("x86_64", "osx-x64"), + ("arm64", "osx-arm64"), + }) + { + // For some reason, EnsureCleanDirectory(buildDir) fails in CI after performing one + // build, so just create a unique directory for each build. + var macOsBuildDir = VulkanLoaderPath / ("build-" + arch); + + EnsureCleanDirectory(macOsBuildDir); + + InheritedShell($"{prepare} -DCMAKE_OSX_ARCHITECTURES={arch}", macOsBuildDir).AssertZeroExitCode(); + InheritedShell(build, macOsBuildDir).AssertZeroExitCode(); + + InheritedShell($"strip -Sx loader/libvulkan.dylib", macOsBuildDir).AssertZeroExitCode(); + + CopyAll((macOsBuildDir / "loader").GlobFiles("libvulkan.dylib"), runtimes / rid / "native"); + } + } + + PrUpdatedNativeBinary("Vulkan Loader"); + } + ) ); -} \ No newline at end of file +} diff --git a/build/nuke/Native/Wgpu.cs b/build/nuke/Native/Wgpu.cs index 29f4e185bb..649ca5a989 100644 --- a/build/nuke/Native/Wgpu.cs +++ b/build/nuke/Native/Wgpu.cs @@ -36,45 +36,66 @@ partial class Build { ( () => { + var target = WgpuPath / "target"; 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(); + (string Triple, string Rid)[] targets; + string library; - 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.IsWindows()) + { + targets = new[] + { + ("i686-pc-windows-msvc", "win-x86"), + ("x86_64-pc-windows-msvc", "win-x64"), + ("aarch64-pc-windows-msvc", "win-arm64"), + }; + library = "wgpu_native.dll"; } - - if(OperatingSystem.IsLinux()) + else 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); + targets = new[] + { + ("x86_64-unknown-linux-gnu", "linux-x64"), + ("arm-unknown-linux-gnueabihf", "linux-arm"), + ("aarch64-unknown-linux-gnu", "linux-arm64"), + }; + library = "libwgpu_native.so"; + } + else if (OperatingSystem.IsMacOS()) + { + targets = new[] + { + ("x86_64-apple-darwin", "osx-x64"), + ("aarch64-apple-darwin", "osx-arm64"), + }; + library = "libwgpu_native.dylib"; } + else + throw new Exception("Unsupported OS!"); - if(OperatingSystem.IsMacOS()) + foreach (var (triple, rid) in targets) { - //Compile MacOS libraries - InheritedShell("cargo build --release --target=aarch64-apple-darwin", WgpuPath).AssertZeroExitCode(); - InheritedShell("cargo build --release --target=x86_64-apple-darwin", WgpuPath).AssertZeroExitCode(); + // Cross-compiling to these targets on linux-x64 will fail if a proper linker is not set. + var linker = rid switch + { + "linux-arm" => "arm-linux-gnueabihf-gcc", + "linux-arm64" => "aarch64-linux-gnu-gcc", + _ => null, + }; + + if (linker != null) + linker = $" --config \"target.{triple}.linker = '{linker}'\""; + + InheritedShell($"cargo build --release --target {triple}{linker}", 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); + CopyFile(target / triple / "release" / library, runtimes / rid / "native" / library, FileExistsPolicy.Overwrite); } PrUpdatedNativeBinary("Wgpu"); } ) ); -} \ No newline at end of file +} diff --git a/build/submodules/openal-soft b/build/submodules/openal-soft new file mode 160000 index 0000000000..d3875f333f --- /dev/null +++ b/build/submodules/openal-soft @@ -0,0 +1 @@ +Subproject commit d3875f333fb6abe2f39d82caca329414871ae53b diff --git a/src/Microsoft/Vkd3dCompiler/build.zig b/src/Microsoft/Vkd3dCompiler/build.zig index 358a0b6ea6..75fa911d02 100644 --- a/src/Microsoft/Vkd3dCompiler/build.zig +++ b/src/Microsoft/Vkd3dCompiler/build.zig @@ -14,8 +14,7 @@ pub fn build(b: *std.Build) void { .optimize = optimize, }); - //In ReleaseSmall builds, strip the code - if (optimize == .ReleaseSmall) + if (optimize != .Debug) vkd3d_compiler.root_module.strip = true; vkd3d_compiler.addLibraryPath(.{ .path = "." }); diff --git a/src/Native/Silk.NET.Assimp.Native/Silk.NET.Assimp.Native.csproj b/src/Native/Silk.NET.Assimp.Native/Silk.NET.Assimp.Native.csproj index 52195a9276..d19cbd65b4 100644 --- a/src/Native/Silk.NET.Assimp.Native/Silk.NET.Assimp.Native.csproj +++ b/src/Native/Silk.NET.Assimp.Native/Silk.NET.Assimp.Native.csproj @@ -20,12 +20,15 @@ false true - + + + - + + diff --git a/src/Native/Silk.NET.Assimp.Native/runtimes/linux-arm/native/libassimp.so.5 b/src/Native/Silk.NET.Assimp.Native/runtimes/linux-arm/native/libassimp.so.5 new file mode 100755 index 0000000000..4365d13a7d Binary files /dev/null and b/src/Native/Silk.NET.Assimp.Native/runtimes/linux-arm/native/libassimp.so.5 differ diff --git a/src/Native/Silk.NET.Assimp.Native/runtimes/linux-arm64/native/libassimp.so.5 b/src/Native/Silk.NET.Assimp.Native/runtimes/linux-arm64/native/libassimp.so.5 new file mode 100755 index 0000000000..d17aa08476 Binary files /dev/null and b/src/Native/Silk.NET.Assimp.Native/runtimes/linux-arm64/native/libassimp.so.5 differ 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 a339aa6768..fba12e389a 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/osx-arm64/native/libassimp.5.dylib b/src/Native/Silk.NET.Assimp.Native/runtimes/osx-arm64/native/libassimp.5.dylib index 30e7710565..ea3f018a5b 100755 Binary files a/src/Native/Silk.NET.Assimp.Native/runtimes/osx-arm64/native/libassimp.5.dylib and b/src/Native/Silk.NET.Assimp.Native/runtimes/osx-arm64/native/libassimp.5.dylib differ diff --git a/src/Native/Silk.NET.Assimp.Native/runtimes/osx-x64/native/libassimp.5.dylib b/src/Native/Silk.NET.Assimp.Native/runtimes/osx-x64/native/libassimp.5.dylib index 8e5d10364c..c66942b1a7 100755 Binary files a/src/Native/Silk.NET.Assimp.Native/runtimes/osx-x64/native/libassimp.5.dylib and b/src/Native/Silk.NET.Assimp.Native/runtimes/osx-x64/native/libassimp.5.dylib differ diff --git a/src/Native/Silk.NET.Assimp.Native/runtimes/win-arm64/native/Assimp64.dll b/src/Native/Silk.NET.Assimp.Native/runtimes/win-arm64/native/Assimp64.dll new file mode 100644 index 0000000000..11d26b9f8a Binary files /dev/null and b/src/Native/Silk.NET.Assimp.Native/runtimes/win-arm64/native/Assimp64.dll 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 c7ca06f567..dea374ee0e 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 cc0fc3813f..c45327050b 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/win-x64/native/dxvk-d3d10core.dll b/src/Native/Silk.NET.DXVK.Native/runtimes/win-x64/native/dxvk-d3d10core.dll index 18c0b3ca73..581b4c82d5 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 9fe2d50f36..457e17165a 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 8d7c1cf967..fa3dca14ad 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 922174c5c7..281bd6f4fd 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 c415620e4d..5895079dbf 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 4b3a004478..c26d057e70 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 ad590e0182..76dfc4b465 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 61de692704..2bb3aa2fdf 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/Silk.NET.GLFW.Native.csproj b/src/Native/Silk.NET.GLFW.Native/Silk.NET.GLFW.Native.csproj index 1f89567c9d..0e29cc5055 100644 --- a/src/Native/Silk.NET.GLFW.Native/Silk.NET.GLFW.Native.csproj +++ b/src/Native/Silk.NET.GLFW.Native/Silk.NET.GLFW.Native.csproj @@ -23,11 +23,13 @@ + + - - + + diff --git a/src/Native/Silk.NET.GLFW.Native/runtimes/linux-arm/native/libglfw.so.3 b/src/Native/Silk.NET.GLFW.Native/runtimes/linux-arm/native/libglfw.so.3 new file mode 100755 index 0000000000..8ec7efeda0 Binary files /dev/null and b/src/Native/Silk.NET.GLFW.Native/runtimes/linux-arm/native/libglfw.so.3 differ diff --git a/src/Native/Silk.NET.GLFW.Native/runtimes/linux-arm64/native/libglfw.so.3 b/src/Native/Silk.NET.GLFW.Native/runtimes/linux-arm64/native/libglfw.so.3 new file mode 100755 index 0000000000..a72f52200b Binary files /dev/null and b/src/Native/Silk.NET.GLFW.Native/runtimes/linux-arm64/native/libglfw.so.3 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 deleted file mode 100755 index e9b7812569..0000000000 Binary files a/src/Native/Silk.NET.GLFW.Native/runtimes/linux-x64/native/libglfw.so and /dev/null differ diff --git a/src/Native/Silk.NET.GLFW.Native/runtimes/linux-x64/native/libglfw.so.3 b/src/Native/Silk.NET.GLFW.Native/runtimes/linux-x64/native/libglfw.so.3 index 0d8d28d429..34f4815029 100755 Binary files a/src/Native/Silk.NET.GLFW.Native/runtimes/linux-x64/native/libglfw.so.3 and b/src/Native/Silk.NET.GLFW.Native/runtimes/linux-x64/native/libglfw.so.3 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 9b365407b3..8ace72607c 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/osx-x64/native/libglfw.3.dylib b/src/Native/Silk.NET.GLFW.Native/runtimes/osx-x64/native/libglfw.3.dylib index 08a93c13fa..369b2d2a4d 100755 Binary files a/src/Native/Silk.NET.GLFW.Native/runtimes/osx-x64/native/libglfw.3.dylib and b/src/Native/Silk.NET.GLFW.Native/runtimes/osx-x64/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 b82847f860..00b8c67a13 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 c72b0b9e22..d46bfba7d3 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 a459ef0e82..6e71a2a463 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.MoltenVK.Native/runtimes/iossimulator/native/libMoltenVK.a b/src/Native/Silk.NET.MoltenVK.Native/runtimes/iossimulator/native/libMoltenVK.a index 1423a2a96f..418eeda742 100644 Binary files a/src/Native/Silk.NET.MoltenVK.Native/runtimes/iossimulator/native/libMoltenVK.a and b/src/Native/Silk.NET.MoltenVK.Native/runtimes/iossimulator/native/libMoltenVK.a differ diff --git a/src/Native/Silk.NET.MoltenVK.Native/runtimes/maccatalyst/native/libMoltenVK.a b/src/Native/Silk.NET.MoltenVK.Native/runtimes/maccatalyst/native/libMoltenVK.a index 66fc61f73c..8ec81d2a78 100644 Binary files a/src/Native/Silk.NET.MoltenVK.Native/runtimes/maccatalyst/native/libMoltenVK.a and b/src/Native/Silk.NET.MoltenVK.Native/runtimes/maccatalyst/native/libMoltenVK.a differ diff --git a/src/Native/Silk.NET.OpenAL.Soft.Native/Silk.NET.OpenAL.Soft.Native.csproj b/src/Native/Silk.NET.OpenAL.Soft.Native/Silk.NET.OpenAL.Soft.Native.csproj index 9c47a4aba0..f04889ff0f 100644 --- a/src/Native/Silk.NET.OpenAL.Soft.Native/Silk.NET.OpenAL.Soft.Native.csproj +++ b/src/Native/Silk.NET.OpenAL.Soft.Native/Silk.NET.OpenAL.Soft.Native.csproj @@ -22,8 +22,12 @@ + + + + diff --git a/src/Native/Silk.NET.OpenAL.Soft.Native/runtimes/linux-arm/native/libopenal.so b/src/Native/Silk.NET.OpenAL.Soft.Native/runtimes/linux-arm/native/libopenal.so new file mode 100755 index 0000000000..900b919fce Binary files /dev/null and b/src/Native/Silk.NET.OpenAL.Soft.Native/runtimes/linux-arm/native/libopenal.so differ diff --git a/src/Native/Silk.NET.OpenAL.Soft.Native/runtimes/linux-arm64/native/libopenal.so b/src/Native/Silk.NET.OpenAL.Soft.Native/runtimes/linux-arm64/native/libopenal.so new file mode 100755 index 0000000000..40227b2224 Binary files /dev/null and b/src/Native/Silk.NET.OpenAL.Soft.Native/runtimes/linux-arm64/native/libopenal.so differ diff --git a/src/Native/Silk.NET.OpenAL.Soft.Native/runtimes/linux-x64/native/libopenal.so b/src/Native/Silk.NET.OpenAL.Soft.Native/runtimes/linux-x64/native/libopenal.so old mode 100644 new mode 100755 index 62b72046ae..773a355d48 Binary files a/src/Native/Silk.NET.OpenAL.Soft.Native/runtimes/linux-x64/native/libopenal.so and b/src/Native/Silk.NET.OpenAL.Soft.Native/runtimes/linux-x64/native/libopenal.so differ diff --git a/src/Native/Silk.NET.OpenAL.Soft.Native/runtimes/osx-arm64/native/libopenal.dylib b/src/Native/Silk.NET.OpenAL.Soft.Native/runtimes/osx-arm64/native/libopenal.dylib new file mode 100755 index 0000000000..1ac3b12619 Binary files /dev/null and b/src/Native/Silk.NET.OpenAL.Soft.Native/runtimes/osx-arm64/native/libopenal.dylib differ diff --git a/src/Native/Silk.NET.OpenAL.Soft.Native/runtimes/osx-x64/native/libopenal.dylib b/src/Native/Silk.NET.OpenAL.Soft.Native/runtimes/osx-x64/native/libopenal.dylib old mode 100644 new mode 100755 index 965db0a8f1..ed0223f192 Binary files a/src/Native/Silk.NET.OpenAL.Soft.Native/runtimes/osx-x64/native/libopenal.dylib and b/src/Native/Silk.NET.OpenAL.Soft.Native/runtimes/osx-x64/native/libopenal.dylib differ diff --git a/src/Native/Silk.NET.OpenAL.Soft.Native/runtimes/win-arm64/native/soft_oal.dll b/src/Native/Silk.NET.OpenAL.Soft.Native/runtimes/win-arm64/native/soft_oal.dll new file mode 100644 index 0000000000..a876a92b2b Binary files /dev/null and b/src/Native/Silk.NET.OpenAL.Soft.Native/runtimes/win-arm64/native/soft_oal.dll differ diff --git a/src/Native/Silk.NET.OpenAL.Soft.Native/runtimes/win-x64/native/soft_oal.dll b/src/Native/Silk.NET.OpenAL.Soft.Native/runtimes/win-x64/native/soft_oal.dll index 71f62596f4..82e6aebac2 100644 Binary files a/src/Native/Silk.NET.OpenAL.Soft.Native/runtimes/win-x64/native/soft_oal.dll and b/src/Native/Silk.NET.OpenAL.Soft.Native/runtimes/win-x64/native/soft_oal.dll differ diff --git a/src/Native/Silk.NET.OpenAL.Soft.Native/runtimes/win-x86/native/soft_oal.dll b/src/Native/Silk.NET.OpenAL.Soft.Native/runtimes/win-x86/native/soft_oal.dll index b6eee871a4..00cca5bdd0 100644 Binary files a/src/Native/Silk.NET.OpenAL.Soft.Native/runtimes/win-x86/native/soft_oal.dll and b/src/Native/Silk.NET.OpenAL.Soft.Native/runtimes/win-x86/native/soft_oal.dll differ diff --git a/src/Native/Silk.NET.SDL.Native/Silk.NET.SDL.Native.csproj b/src/Native/Silk.NET.SDL.Native/Silk.NET.SDL.Native.csproj index 38b06f2a05..efd875c269 100644 --- a/src/Native/Silk.NET.SDL.Native/Silk.NET.SDL.Native.csproj +++ b/src/Native/Silk.NET.SDL.Native/Silk.NET.SDL.Native.csproj @@ -24,16 +24,17 @@ + + + + - - - - - + + diff --git a/src/Native/Silk.NET.SDL.Native/runtimes/ios/native/libSDL2.a b/src/Native/Silk.NET.SDL.Native/runtimes/ios/native/libSDL2.a index 58ad4753d0..0253fe1bdf 100644 Binary files a/src/Native/Silk.NET.SDL.Native/runtimes/ios/native/libSDL2.a and b/src/Native/Silk.NET.SDL.Native/runtimes/ios/native/libSDL2.a differ diff --git a/src/Native/Silk.NET.SDL.Native/runtimes/iossimulator/native/libSDL2.a b/src/Native/Silk.NET.SDL.Native/runtimes/iossimulator/native/libSDL2.a index 228698405f..66f1b4f15f 100644 Binary files a/src/Native/Silk.NET.SDL.Native/runtimes/iossimulator/native/libSDL2.a and b/src/Native/Silk.NET.SDL.Native/runtimes/iossimulator/native/libSDL2.a differ diff --git a/src/Native/Silk.NET.SDL.Native/runtimes/linux-arm/native/libSDL2-2.0.so b/src/Native/Silk.NET.SDL.Native/runtimes/linux-arm/native/libSDL2-2.0.so new file mode 100755 index 0000000000..20016fa718 Binary files /dev/null and b/src/Native/Silk.NET.SDL.Native/runtimes/linux-arm/native/libSDL2-2.0.so differ diff --git a/src/Native/Silk.NET.SDL.Native/runtimes/linux-arm64/native/libSDL2-2.0.so b/src/Native/Silk.NET.SDL.Native/runtimes/linux-arm64/native/libSDL2-2.0.so new file mode 100755 index 0000000000..49f77d7c83 Binary files /dev/null and b/src/Native/Silk.NET.SDL.Native/runtimes/linux-arm64/native/libSDL2-2.0.so differ diff --git a/src/Native/Silk.NET.SDL.Native/runtimes/linux-x64/native/libSDL2-2.0.so b/src/Native/Silk.NET.SDL.Native/runtimes/linux-x64/native/libSDL2-2.0.so index 32f1a70456..137fe52542 100755 Binary files a/src/Native/Silk.NET.SDL.Native/runtimes/linux-x64/native/libSDL2-2.0.so and b/src/Native/Silk.NET.SDL.Native/runtimes/linux-x64/native/libSDL2-2.0.so differ diff --git a/src/Native/Silk.NET.SDL.Native/runtimes/linux-x86/native/libSDL2-2.0.so b/src/Native/Silk.NET.SDL.Native/runtimes/linux-x86/native/libSDL2-2.0.so deleted file mode 100755 index f435a5399c..0000000000 Binary files a/src/Native/Silk.NET.SDL.Native/runtimes/linux-x86/native/libSDL2-2.0.so and /dev/null differ diff --git a/src/Native/Silk.NET.SDL.Native/runtimes/osx/native/libSDL2-2.0.dylib b/src/Native/Silk.NET.SDL.Native/runtimes/osx/native/libSDL2-2.0.dylib index bb281120e4..ce5f4a20d3 100755 Binary files a/src/Native/Silk.NET.SDL.Native/runtimes/osx/native/libSDL2-2.0.dylib and b/src/Native/Silk.NET.SDL.Native/runtimes/osx/native/libSDL2-2.0.dylib differ diff --git a/src/Native/Silk.NET.SDL.Native/runtimes/tvos/native/libSDL2.a b/src/Native/Silk.NET.SDL.Native/runtimes/tvos/native/libSDL2.a index 0d46a82c33..4efcde89c1 100644 Binary files a/src/Native/Silk.NET.SDL.Native/runtimes/tvos/native/libSDL2.a and b/src/Native/Silk.NET.SDL.Native/runtimes/tvos/native/libSDL2.a differ diff --git a/src/Native/Silk.NET.SDL.Native/runtimes/tvossimulator/native/libSDL2.a b/src/Native/Silk.NET.SDL.Native/runtimes/tvossimulator/native/libSDL2.a index 13118114c5..eb0bf4ec2d 100644 Binary files a/src/Native/Silk.NET.SDL.Native/runtimes/tvossimulator/native/libSDL2.a and b/src/Native/Silk.NET.SDL.Native/runtimes/tvossimulator/native/libSDL2.a 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 1422dd8517..1edc38f3ae 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 ce187995e6..cacc0ac4b3 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 b7dcf8ac7e..000dc24ae6 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/Silk.NET.SPIRV.Cross.Native.csproj b/src/Native/Silk.NET.SPIRV.Cross.Native/Silk.NET.SPIRV.Cross.Native.csproj index ce149de9dc..a1d740c432 100644 --- a/src/Native/Silk.NET.SPIRV.Cross.Native/Silk.NET.SPIRV.Cross.Native.csproj +++ b/src/Native/Silk.NET.SPIRV.Cross.Native/Silk.NET.SPIRV.Cross.Native.csproj @@ -23,21 +23,16 @@ - - - - - + + + - + diff --git a/src/Native/Silk.NET.SPIRV.Cross.Native/runtimes/linux-arm/native/libspirv-cross.so b/src/Native/Silk.NET.SPIRV.Cross.Native/runtimes/linux-arm/native/libspirv-cross.so new file mode 100755 index 0000000000..1efc969215 Binary files /dev/null and b/src/Native/Silk.NET.SPIRV.Cross.Native/runtimes/linux-arm/native/libspirv-cross.so differ 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 15b9238dde..42f80e005f 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 e5f9cd3ec5..3c2de430eb 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 deleted file mode 100755 index 95427c8e7a..0000000000 Binary files a/src/Native/Silk.NET.SPIRV.Cross.Native/runtimes/linux-x86/native/libspirv-cross.so and /dev/null 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 d329b2a65d..d2ee295818 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 17c08e5a55..6e17d6713e 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 71cf2cd2e1..41714827db 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 17b8679004..19c98c459e 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 1e6b3bd967..c14cfd9395 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/Silk.NET.SPIRV.Reflect.Native.csproj b/src/Native/Silk.NET.SPIRV.Reflect.Native/Silk.NET.SPIRV.Reflect.Native.csproj index 4af5b8298c..0adac48398 100644 --- a/src/Native/Silk.NET.SPIRV.Reflect.Native/Silk.NET.SPIRV.Reflect.Native.csproj +++ b/src/Native/Silk.NET.SPIRV.Reflect.Native/Silk.NET.SPIRV.Reflect.Native.csproj @@ -23,21 +23,16 @@ - - - - - + + + - + diff --git a/src/Native/Silk.NET.SPIRV.Reflect.Native/runtimes/linux-arm/native/libspirv-reflect.so b/src/Native/Silk.NET.SPIRV.Reflect.Native/runtimes/linux-arm/native/libspirv-reflect.so new file mode 100755 index 0000000000..024193a048 Binary files /dev/null and b/src/Native/Silk.NET.SPIRV.Reflect.Native/runtimes/linux-arm/native/libspirv-reflect.so differ 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 6e898e67a1..a4435bb073 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 9aa6584f44..6b4ebf7334 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 deleted file mode 100755 index 5f92ca22b2..0000000000 Binary files a/src/Native/Silk.NET.SPIRV.Reflect.Native/runtimes/linux-x86/native/libspirv-reflect.so and /dev/null 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 d3a6936c59..6c5ae0f776 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 9809389513..46cfcbd332 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 09c9595fb9..b88d14b887 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 01c06f5517..fb7e9af6b7 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 28bbb9281e..71da0d705a 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 index 2e6494890a..5504c5f210 100644 --- a/src/Native/Silk.NET.Shaderc.Native/Silk.NET.Shaderc.Native.csproj +++ b/src/Native/Silk.NET.Shaderc.Native/Silk.NET.Shaderc.Native.csproj @@ -23,21 +23,16 @@ - - - - - + + + - + diff --git a/src/Native/Silk.NET.Shaderc.Native/runtimes/linux-arm/native/libshaderc_shared.so b/src/Native/Silk.NET.Shaderc.Native/runtimes/linux-arm/native/libshaderc_shared.so new file mode 100755 index 0000000000..6395139bbd Binary files /dev/null and b/src/Native/Silk.NET.Shaderc.Native/runtimes/linux-arm/native/libshaderc_shared.so differ 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 index 1891c2a4d0..538f6606c4 100755 Binary files a/src/Native/Silk.NET.Shaderc.Native/runtimes/linux-arm64/native/libshaderc_shared.so 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 index 4753831e51..faf42e0954 100755 Binary files a/src/Native/Silk.NET.Shaderc.Native/runtimes/linux-x64/native/libshaderc_shared.so 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 deleted file mode 100755 index 8aaafe98ae..0000000000 Binary files a/src/Native/Silk.NET.Shaderc.Native/runtimes/linux-x86/native/libshaderc_shared.so and /dev/null 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 index aa77991a9d..f2bfdf9077 100755 Binary files a/src/Native/Silk.NET.Shaderc.Native/runtimes/osx-arm64/native/libshaderc_shared.dylib 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 index d71343fc9e..370541e13e 100755 Binary files a/src/Native/Silk.NET.Shaderc.Native/runtimes/osx-x64/native/libshaderc_shared.dylib 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 index 9a281702b1..e80dbf52b4 100755 Binary files a/src/Native/Silk.NET.Shaderc.Native/runtimes/win-arm64/native/shaderc_shared.dll 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 index 40fe84eff7..56de290e30 100755 Binary files a/src/Native/Silk.NET.Shaderc.Native/runtimes/win-x64/native/shaderc_shared.dll 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 index 439f9292f4..89849e5b42 100755 Binary files a/src/Native/Silk.NET.Shaderc.Native/runtimes/win-x86/native/shaderc_shared.dll 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/libd3dcompile_vkd3d.so b/src/Native/Silk.NET.Vkd3d.Native/runtimes/linux-x64/native/libd3dcompile_vkd3d.so index 51c68c2c0a..3debd0ce52 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/Silk.NET.Vulkan.Loader.Native.csproj b/src/Native/Silk.NET.Vulkan.Loader.Native/Silk.NET.Vulkan.Loader.Native.csproj index c65e2e3cbd..4ab9b2f9bd 100644 --- a/src/Native/Silk.NET.Vulkan.Loader.Native/Silk.NET.Vulkan.Loader.Native.csproj +++ b/src/Native/Silk.NET.Vulkan.Loader.Native/Silk.NET.Vulkan.Loader.Native.csproj @@ -18,7 +18,9 @@ + + diff --git a/src/Native/Silk.NET.Vulkan.Loader.Native/runtimes/linux-arm64/native/libvulkan.so b/src/Native/Silk.NET.Vulkan.Loader.Native/runtimes/linux-arm64/native/libvulkan.so new file mode 100755 index 0000000000..580a248fd1 Binary files /dev/null and b/src/Native/Silk.NET.Vulkan.Loader.Native/runtimes/linux-arm64/native/libvulkan.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 1a3a57e86d..1e0e82b2a1 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/osx-arm64/native/libvulkan.dylib b/src/Native/Silk.NET.Vulkan.Loader.Native/runtimes/osx-arm64/native/libvulkan.dylib new file mode 100755 index 0000000000..bbca3258fb Binary files /dev/null and b/src/Native/Silk.NET.Vulkan.Loader.Native/runtimes/osx-arm64/native/libvulkan.dylib differ diff --git a/src/Native/Silk.NET.Vulkan.Loader.Native/runtimes/osx-x64/native/libvulkan.dylib b/src/Native/Silk.NET.Vulkan.Loader.Native/runtimes/osx-x64/native/libvulkan.dylib index a6449273c2..ad0cb3a771 100755 Binary files a/src/Native/Silk.NET.Vulkan.Loader.Native/runtimes/osx-x64/native/libvulkan.dylib and b/src/Native/Silk.NET.Vulkan.Loader.Native/runtimes/osx-x64/native/libvulkan.dylib 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 269dc902df..14929d50be 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 269dc902df..bcabe4b901 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.Vulkan.SwiftShader.Native/runtimes/linux-arm/native/libvk_swiftshader.so b/src/Native/Silk.NET.Vulkan.SwiftShader.Native/runtimes/linux-arm/native/libvk_swiftshader.so new file mode 100755 index 0000000000..96bc920f40 Binary files /dev/null and b/src/Native/Silk.NET.Vulkan.SwiftShader.Native/runtimes/linux-arm/native/libvk_swiftshader.so differ diff --git a/src/Native/Silk.NET.Vulkan.SwiftShader.Native/runtimes/linux-arm64/native/libvk_swiftshader.so b/src/Native/Silk.NET.Vulkan.SwiftShader.Native/runtimes/linux-arm64/native/libvk_swiftshader.so new file mode 100755 index 0000000000..6ed1c1aa20 Binary files /dev/null and b/src/Native/Silk.NET.Vulkan.SwiftShader.Native/runtimes/linux-arm64/native/libvk_swiftshader.so differ diff --git a/src/Native/Silk.NET.Vulkan.SwiftShader.Native/runtimes/linux-x64/native/libvk_swiftshader.so b/src/Native/Silk.NET.Vulkan.SwiftShader.Native/runtimes/linux-x64/native/libvk_swiftshader.so index 39d5f64715..1f24952f08 100755 Binary files a/src/Native/Silk.NET.Vulkan.SwiftShader.Native/runtimes/linux-x64/native/libvk_swiftshader.so and b/src/Native/Silk.NET.Vulkan.SwiftShader.Native/runtimes/linux-x64/native/libvk_swiftshader.so differ diff --git a/src/Native/Silk.NET.Vulkan.SwiftShader.Native/runtimes/osx-arm64/native/libvk_swiftshader.dylib b/src/Native/Silk.NET.Vulkan.SwiftShader.Native/runtimes/osx-arm64/native/libvk_swiftshader.dylib new file mode 100755 index 0000000000..bcde6a54bb Binary files /dev/null and b/src/Native/Silk.NET.Vulkan.SwiftShader.Native/runtimes/osx-arm64/native/libvk_swiftshader.dylib differ diff --git a/src/Native/Silk.NET.Vulkan.SwiftShader.Native/runtimes/osx-x64/native/libvk_swiftshader.dylib b/src/Native/Silk.NET.Vulkan.SwiftShader.Native/runtimes/osx-x64/native/libvk_swiftshader.dylib index 98697f4670..4b5f440262 100755 Binary files a/src/Native/Silk.NET.Vulkan.SwiftShader.Native/runtimes/osx-x64/native/libvk_swiftshader.dylib and b/src/Native/Silk.NET.Vulkan.SwiftShader.Native/runtimes/osx-x64/native/libvk_swiftshader.dylib differ diff --git a/src/Native/Silk.NET.Vulkan.SwiftShader.Native/runtimes/win-x64/native/vk_swiftshader.dll b/src/Native/Silk.NET.Vulkan.SwiftShader.Native/runtimes/win-x64/native/vk_swiftshader.dll index 212a4acd8f..87e731359c 100644 Binary files a/src/Native/Silk.NET.Vulkan.SwiftShader.Native/runtimes/win-x64/native/vk_swiftshader.dll and b/src/Native/Silk.NET.Vulkan.SwiftShader.Native/runtimes/win-x64/native/vk_swiftshader.dll differ diff --git a/src/Native/Silk.NET.Vulkan.SwiftShader.Native/runtimes/win-x86/native/vk_swiftshader.dll b/src/Native/Silk.NET.Vulkan.SwiftShader.Native/runtimes/win-x86/native/vk_swiftshader.dll index 212a4acd8f..ea060e67fd 100644 Binary files a/src/Native/Silk.NET.Vulkan.SwiftShader.Native/runtimes/win-x86/native/vk_swiftshader.dll and b/src/Native/Silk.NET.Vulkan.SwiftShader.Native/runtimes/win-x86/native/vk_swiftshader.dll differ diff --git a/src/Native/Silk.NET.WebGPU.Native.WGPU/Silk.NET.WebGPU.Native.WGPU.csproj b/src/Native/Silk.NET.WebGPU.Native.WGPU/Silk.NET.WebGPU.Native.WGPU.csproj index 1da340b171..06948af956 100644 --- a/src/Native/Silk.NET.WebGPU.Native.WGPU/Silk.NET.WebGPU.Native.WGPU.csproj +++ b/src/Native/Silk.NET.WebGPU.Native.WGPU/Silk.NET.WebGPU.Native.WGPU.csproj @@ -22,13 +22,14 @@ - + + - - - + + + 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-arm/native/libwgpu_native.so similarity index 53% rename from src/Native/Silk.NET.WebGPU.Native.WGPU/runtimes/linux-x86/native/libwgpu_native.so rename to src/Native/Silk.NET.WebGPU.Native.WGPU/runtimes/linux-arm/native/libwgpu_native.so index 515c95ad8e..f2adadedb1 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-arm/native/libwgpu_native.so differ diff --git a/src/Native/Silk.NET.WebGPU.Native.WGPU/runtimes/linux-arm64/native/libwgpu_native.so b/src/Native/Silk.NET.WebGPU.Native.WGPU/runtimes/linux-arm64/native/libwgpu_native.so new file mode 100755 index 0000000000..419d65de57 Binary files /dev/null and b/src/Native/Silk.NET.WebGPU.Native.WGPU/runtimes/linux-arm64/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 037e68b4da..7c226399d9 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 4ebe0186ea..1b259fd306 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 6570931d7b..13aac20db8 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 c370c42125..6778ccba71 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 b34378bbe7..16e67ca083 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