Make external Vulkan backend optional

This commit is contained in:
Spooks
2026-07-15 16:10:37 -06:00
parent c707f4d2ce
commit 94463576f8
18 changed files with 76 additions and 1925 deletions
-62
View File
@@ -96,19 +96,6 @@ jobs:
Directory.Packages.props
Directory.Build.props
- name: Install Windows native GPU dependencies
shell: pwsh
run: |
& "$env:VCPKG_INSTALLATION_ROOT\vcpkg.exe" install sdl3[vulkan]:x64-windows vulkan:x64-windows
cmake `
-S src/SharpEmu.Gpu.Vulkan.Native `
-B artifacts/native/gpu-vulkan `
-A x64 `
-DCMAKE_TOOLCHAIN_FILE="$env:VCPKG_INSTALLATION_ROOT/scripts/buildsystems/vcpkg.cmake" `
-DVCPKG_TARGET_TRIPLET=x64-windows `
-DBUILD_TESTING=OFF
- name: Restore solution
run: dotnet restore SharpEmu.slnx
@@ -127,19 +114,6 @@ jobs:
- name: Publish win-x64 CLI
run: dotnet publish src/SharpEmu.CLI/SharpEmu.CLI.csproj -c Release -r win-x64 --self-contained true --no-restore -p:PublishDir="${env:PUBLISH_DIR}"
- name: Verify Windows native GPU runtime
shell: pwsh
run: |
$required = @(
(Join-Path $env:PUBLISH_DIR 'sharpemu_gpu_vulkan.dll'),
(Join-Path $env:PUBLISH_DIR 'SDL3.dll')
)
foreach ($path in $required) {
if (-not (Test-Path $path)) {
throw "Missing native GPU runtime: $path"
}
}
- name: Create release archive
run: |
New-Item -ItemType Directory -Path $env:RELEASE_DIR -Force | Out-Null
@@ -191,42 +165,6 @@ jobs:
Directory.Packages.props
Directory.Build.props
- name: Install Linux native GPU dependencies
if: matrix.rid == 'linux-x64'
run: |
sudo apt-get update
sudo apt-get install --yes \
autoconf \
autoconf-archive \
automake \
libegl1-mesa-dev \
libibus-1.0-dev \
libtool \
libltdl-dev \
libvulkan-dev \
libwayland-dev \
libxkbcommon-dev \
pkg-config
"$VCPKG_INSTALLATION_ROOT/vcpkg" install sdl3[vulkan]:x64-linux
cmake \
-S src/SharpEmu.Gpu.Vulkan.Native \
-B artifacts/native/gpu-vulkan \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_TOOLCHAIN_FILE="$VCPKG_INSTALLATION_ROOT/scripts/buildsystems/vcpkg.cmake" \
-DVCPKG_TARGET_TRIPLET=x64-linux \
-DBUILD_TESTING=OFF
- name: Install macOS native GPU dependencies
if: matrix.rid == 'osx-x64'
run: |
brew install sdl3 vulkan-loader vulkan-headers
cmake \
-S src/SharpEmu.Gpu.Vulkan.Native \
-B artifacts/native/gpu-vulkan \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_PREFIX_PATH="$(brew --prefix)" \
-DBUILD_TESTING=OFF
- name: Restore solution
run: dotnet restore SharpEmu.slnx