ci/windows: enable msvc builds of zink
authorErik Faye-Lund <erik.faye-lund@collabora.com>
Wed, 23 Jun 2021 04:40:21 +0000 (06:40 +0200)
committerMarge Bot <eric+marge@anholt.net>
Thu, 24 Jun 2021 17:51:48 +0000 (17:51 +0000)
This depends on both the Vulkan SDK and the Vulkan Runtime, so let's
install those first.

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11424>

.gitlab-ci.yml
.gitlab-ci/test-source-dep.yml
.gitlab-ci/windows/mesa_build.ps1
.gitlab-ci/windows/mesa_deps.ps1

index eaddba7..8745b58 100644 (file)
@@ -545,7 +545,7 @@ arm_test:
   variables:
     MESA_IMAGE: "$CI_REGISTRY_IMAGE/${MESA_IMAGE_PATH}:${MESA_IMAGE_TAG}"
     MESA_IMAGE_PATH: "windows/x64_build"
-    MESA_IMAGE_TAG: "2021-04-14-radv"
+    MESA_IMAGE_TAG: "2021-06-24-zink-msvc"
     MESA_UPSTREAM_IMAGE: "$CI_REGISTRY/$FDO_UPSTREAM_REPO/$MESA_IMAGE_PATH:${MESA_IMAGE_TAG}"
 
 windows_build_vs2019:
index e665895..c739838 100644 (file)
       when: on_success
     - when: never
 
-.windows-test-rules:
+.zink-rules:
+  stage: layered-backends
   rules:
     - *ignore_scheduled_pipelines
-    - changes: 
+    - changes:
         *mesa_core_file_list
       when: on_success
     - changes:
     - changes:
         *lavapipe_file_list
       when: on_success
-    - changes:
-        *vulkan_file_list
-      when: on_success
-    - changes: *d3d12_file_list
+    - changes: &zink_file_list
+      - src/gallium/drivers/zink/**/*
       when: on_success
     - when: never
 
-.zink-rules:
-  stage: layered-backends
+.windows-test-rules:
   rules:
     - *ignore_scheduled_pipelines
     - changes:
     - changes:
         *lavapipe_file_list
       when: on_success
-    - changes: &zink_file_list
-      - src/gallium/drivers/zink/**/*
+    - changes:
+        *vulkan_file_list
+      when: on_success
+    - changes: *d3d12_file_list
+      when: on_success
+    - changes:
+        *zink_file_list
       when: on_success
     - when: never
 
index 40008c5..128e81a 100644 (file)
@@ -9,7 +9,7 @@ Write-Host "Compiling Mesa"
 $builddir = New-Item -ItemType Directory -Name "_build"
 $installdir = New-Item -ItemType Directory -Name "_install"
 Push-Location $builddir.FullName
-cmd.exe /C "C:\BuildTools\Common7\Tools\VsDevCmd.bat -host_arch=amd64 -arch=amd64 && meson --default-library=shared -Dzlib:default_library=static --buildtype=release -Db_ndebug=false -Dc_std=c17 -Dcpp_std=vc++latest -Db_vscrt=mt --cmake-prefix-path=`"C:\llvm-10`" --pkg-config-path=`"C:\llvm-10\lib\pkgconfig;C:\llvm-10\share\pkgconfig;C:\spirv-tools\lib\pkgconfig`" --prefix=`"$installdir`" -Dllvm=enabled -Dshared-llvm=disabled -Dvulkan-drivers=swrast,amd -Dgallium-drivers=swrast,d3d12 -Dmicrosoft-clc=enabled -Dstatic-libclc=all -Dbuild-tests=true -Dwerror=true -Dwarning_level=2 -Dzlib:warning_level=1 -Dlibelf:warning_level=1 && ninja -j32 install && meson test --num-processes 32"
+cmd.exe /C "C:\BuildTools\Common7\Tools\VsDevCmd.bat -host_arch=amd64 -arch=amd64 && meson --default-library=shared -Dzlib:default_library=static --buildtype=release -Db_ndebug=false -Dc_std=c17 -Dcpp_std=vc++latest -Db_vscrt=mt --cmake-prefix-path=`"C:\llvm-10`" --pkg-config-path=`"C:\llvm-10\lib\pkgconfig;C:\llvm-10\share\pkgconfig;C:\spirv-tools\lib\pkgconfig`" --prefix=`"$installdir`" -Dllvm=enabled -Dshared-llvm=disabled -Dvulkan-drivers=swrast,amd -Dgallium-drivers=swrast,d3d12,zink -Dmicrosoft-clc=enabled -Dstatic-libclc=all -Dbuild-tests=true -Dwerror=true -Dwarning_level=2 -Dzlib:warning_level=1 -Dlibelf:warning_level=1 && ninja -j32 install && meson test --num-processes 32"
 $buildstatus = $?
 Pop-Location
 
index 24317ed..1e5e78d 100644 (file)
@@ -21,7 +21,7 @@ Write-Host "Installing Chocolatey packages"
 For ($i = 0; $i -lt 5; $i++) {
   choco install -y python3 --params="/InstallDir:C:\python3"
   $python_install = $?
-  choco install --allow-empty-checksums -y cmake git git-lfs ninja pkgconfiglite winflexbison --installargs "ADD_CMAKE_TO_PATH=System"
+  choco install --allow-empty-checksums -y cmake git git-lfs ninja pkgconfiglite winflexbison vulkan-sdk --installargs "ADD_CMAKE_TO_PATH=System"
   $other_install = $?
   $choco_installed = $other_install -and $python_install
   if ($choco_installed) {
@@ -130,6 +130,17 @@ if (!$buildstatus) {
 }
 
 Get-Date
+Write-Host "Downloading Vulkan-Runtime"
+Invoke-WebRequest -Uri 'https://sdk.lunarg.com/sdk/download/latest/windows/vulkan-runtime.exe' -OutFile 'C:\vulkan-runtime.exe' | Out-Null
+Write-Host "Installing Vulkan-Runtime"
+Start-Process -NoNewWindow -Wait C:\vulkan-runtime.exe -ArgumentList '/S'
+if (!$?) {
+  Write-Host "Failed to install Vulkan-Runtime"
+  Exit 1
+}
+Remove-Item C:\vulkan-runtime.exe -Force
+
+Get-Date
 Write-Host "Downloading Freeglut"
 
 $freeglut_zip = 'freeglut-MSVC.zip'