فهرست منبع

Merge pull request #11041 from Morph1984/vksdk

ci: Download and install Vulkan SDK directly from LunarG
Morph 3 سال پیش
والد
کامیت
d6a9ed32e6
5فایلهای تغییر یافته به همراه49 افزوده شده و 10 حذف شده
  1. 33 0
      .ci/scripts/windows/install-vulkan-sdk.ps1
  2. 6 3
      .ci/templates/build-msvc.yml
  3. 8 5
      .github/workflows/verify.yml
  4. 1 1
      CMakeLists.txt
  5. 1 1
      externals/Vulkan-Headers

+ 33 - 0
.ci/scripts/windows/install-vulkan-sdk.ps1

@@ -0,0 +1,33 @@
+# SPDX-FileCopyrightText: 2023 yuzu Emulator Project
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+$ErrorActionPreference = "Stop"
+
+$VulkanSDKVer = "1.3.250.1"
+$ExeFile = "VulkanSDK-$VulkanSDKVer-Installer.exe"
+$Uri = "https://sdk.lunarg.com/sdk/download/$VulkanSDKVer/windows/$ExeFile"
+$Destination = "./$ExeFile"
+
+echo "Downloading Vulkan SDK $VulkanSDKVer from $Uri"
+$WebClient = New-Object System.Net.WebClient
+$WebClient.DownloadFile($Uri, $Destination)
+echo "Finished downloading $ExeFile"
+
+$VULKAN_SDK = "C:/VulkanSDK/$VulkanSDKVer"
+$Arguments = "--root `"$VULKAN_SDK`" --accept-licenses --default-answer --confirm-command install"
+
+echo "Installing Vulkan SDK $VulkanSDKVer"
+$InstallProcess = Start-Process -FilePath $Destination -NoNewWindow -PassThru -Wait -ArgumentList $Arguments
+$ExitCode = $InstallProcess.ExitCode
+
+if ($ExitCode -ne 0) {
+    echo "Error installing Vulkan SDK $VulkanSDKVer (Error: $ExitCode)"
+    Exit $ExitCode
+}
+
+echo "Finished installing Vulkan SDK $VulkanSDKVer"
+
+if ("$env:GITHUB_ACTIONS" -eq "true") {
+    echo "VULKAN_SDK=$VULKAN_SDK" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
+    echo "$VULKAN_SDK/Bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
+}

+ 6 - 3
.ci/templates/build-msvc.yml

@@ -7,9 +7,12 @@ parameters:
   version: ''
 
 steps:
-- script: choco install vulkan-sdk
-  displayName: 'Install vulkan-sdk'
-- script: refreshenv && mkdir build && cd build && cmake -E env CXXFLAGS="/Gw /GA /Gr /Ob2" cmake -G "Visual Studio 17 2022" -A x64 -DCMAKE_POLICY_DEFAULT_CMP0069=NEW -DYUZU_ENABLE_LTO=ON -DYUZU_USE_BUNDLED_QT=1 -DYUZU_USE_BUNDLED_SDL2=1 -DYUZU_USE_QT_WEB_ENGINE=ON -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON -DYUZU_ENABLE_COMPATIBILITY_REPORTING=${COMPAT} -DYUZU_TESTS=OFF -DUSE_DISCORD_PRESENCE=ON -DENABLE_QT_TRANSLATION=ON -DDISPLAY_VERSION=${{ parameters['version'] }} -DCMAKE_BUILD_TYPE=Release -DYUZU_CRASH_DUMPS=ON .. && cd ..
+- task: Powershell@2
+  displayName: 'Install Vulkan SDK'
+  inputs:
+    targetType: 'filePath'
+    filePath: './.ci/scripts/windows/install-vulkan-sdk.ps1'
+- script: refreshenv && glslangValidator --version && mkdir build && cd build && cmake -E env CXXFLAGS="/Gw /GA /Gr /Ob2" cmake -G "Visual Studio 17 2022" -A x64 -DCMAKE_POLICY_DEFAULT_CMP0069=NEW -DYUZU_ENABLE_LTO=ON -DYUZU_USE_BUNDLED_QT=1 -DYUZU_USE_BUNDLED_SDL2=1 -DYUZU_USE_QT_WEB_ENGINE=ON -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON -DYUZU_ENABLE_COMPATIBILITY_REPORTING=${COMPAT} -DYUZU_TESTS=OFF -DUSE_DISCORD_PRESENCE=ON -DENABLE_QT_TRANSLATION=ON -DDISPLAY_VERSION=${{ parameters['version'] }} -DCMAKE_BUILD_TYPE=Release -DYUZU_CRASH_DUMPS=ON .. && cd ..
   displayName: 'Configure CMake'
 - task: MSBuild@1
   displayName: 'Build'

+ 8 - 5
.github/workflows/verify.yml

@@ -73,6 +73,10 @@ jobs:
     needs: format
     runs-on: windows-2022
     steps:
+      - uses: actions/checkout@v3
+        with:
+          submodules: recursive
+          fetch-depth: 0
       - name: Set up cache
         uses: actions/cache@v3
         with:
@@ -84,19 +88,18 @@ jobs:
         # due to how chocolatey works, only cmd.exe is supported here
         shell: cmd
         run: |
-          choco install vulkan-sdk wget
+          choco install wget
           call refreshenv
           wget https://github.com/mbitsnbites/buildcache/releases/download/v0.27.6/buildcache-windows.zip
           7z x buildcache-windows.zip
           copy buildcache\bin\buildcache.exe C:\ProgramData\chocolatey\bin
           rmdir buildcache
           echo %PATH% >> %GITHUB_PATH%
+      - name: Install Vulkan SDK
+        shell: pwsh
+        run: .\.ci\scripts\windows\install-vulkan-sdk.ps1
       - name: Set up MSVC
         uses: ilammy/msvc-dev-cmd@v1
-      - uses: actions/checkout@v3
-        with:
-          submodules: recursive
-          fetch-depth: 0
       - name: Configure
         env:
           CC: cl.exe

+ 1 - 1
CMakeLists.txt

@@ -285,7 +285,7 @@ find_package(ZLIB 1.2 REQUIRED)
 find_package(zstd 1.5 REQUIRED)
 
 if (NOT YUZU_USE_EXTERNAL_VULKAN_HEADERS)
-    find_package(Vulkan 1.3.246 REQUIRED)
+    find_package(Vulkan 1.3.256 REQUIRED)
 endif()
 
 if (ENABLE_LIBUSB)

+ 1 - 1
externals/Vulkan-Headers

@@ -1 +1 @@
-Subproject commit 63af1cf1ee906ba4dcd5a324bdd0201d4f4bfd12
+Subproject commit ed857118e243fdc0f3a100f00ac9919e874cfe63