summaryrefslogtreecommitdiff
path: root/.gitlab-ci/windows/mesa_build.ps1
diff options
context:
space:
mode:
Diffstat (limited to '.gitlab-ci/windows/mesa_build.ps1')
-rw-r--r--.gitlab-ci/windows/mesa_build.ps175
1 files changed, 70 insertions, 5 deletions
diff --git a/.gitlab-ci/windows/mesa_build.ps1 b/.gitlab-ci/windows/mesa_build.ps1
index 49a298a89cb..ee93ff74f00 100644
--- a/.gitlab-ci/windows/mesa_build.ps1
+++ b/.gitlab-ci/windows/mesa_build.ps1
@@ -1,3 +1,8 @@
+# Clear CI_COMMIT_MESSAGE and CI_COMMIT_DESCRIPTION for please meson
+# when the commit message is complicated
+$env:CI_COMMIT_MESSAGE=""
+$env:CI_COMMIT_DESCRIPTION=""
+
# force the CA cert cache to be rebuilt, in case Meson tries to access anything
Write-Host "Refreshing Windows TLS CA cache"
(New-Object System.Net.WebClient).DownloadString("https://github.com") >$null
@@ -6,10 +11,62 @@ $env:PYTHONUTF8=1
Get-Date
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,zink -Dosmesa=true -Dshared-glapi=enabled -Dgles2=enabled -Dmicrosoft-clc=enabled -Dstatic-libclc=all -Dspirv-to-dxil=true -Dbuild-tests=true -Dwerror=true -Dwarning_level=2 -Dzlib:warning_level=1 -Dlibelf:warning_level=1 && ninja -j32 install && meson test --num-processes 32"
+$builddir = New-Item -Force -ItemType Directory -Name "_build"
+$installdir = New-Item -Force -ItemType Directory -Name "_install"
+$builddir=$builddir.FullName
+$installdir=$installdir.FullName
+$sourcedir=$PWD
+
+Remove-Item -Recurse -Force $builddir
+Remove-Item -Recurse -Force $installdir
+New-Item -ItemType Directory -Path $builddir
+New-Item -ItemType Directory -Path $installdir
+
+Write-Output "*" > $builddir\.gitignore
+Write-Output "*" > $installdir\.gitignore
+
+Write-Output builddir:$builddir
+Write-Output installdir:$installdir
+Write-Output sourcedir:$sourcedir
+
+$MyPath = $MyInvocation.MyCommand.Path | Split-Path -Parent
+. "$MyPath\mesa_init_msvc.ps1"
+
+$depsInstallPath="C:\mesa-deps"
+
+Push-Location $builddir
+
+meson setup `
+--default-library=shared `
+--buildtype=release `
+--wrap-mode=nodownload `
+-Db_ndebug=false `
+-Db_vscrt=mt `
+--cmake-prefix-path="$depsInstallPath" `
+--pkg-config-path="$depsInstallPath\lib\pkgconfig;$depsInstallPath\share\pkgconfig" `
+--prefix="$installdir" `
+-Dllvm=enabled `
+-Dshared-llvm=disabled `
+-Dvulkan-drivers="swrast,amd,microsoft-experimental" `
+-Dgallium-drivers="swrast,d3d12,zink" `
+-Dgallium-va=enabled `
+-Dvideo-codecs="all" `
+-Dshared-glapi=enabled `
+-Dgles1=enabled `
+-Dgles2=enabled `
+-Dgallium-opencl=icd `
+-Dgallium-rusticl=false `
+-Dopencl-spirv=true `
+-Dmicrosoft-clc=enabled `
+-Dstatic-libclc=all `
+-Dspirv-to-dxil=true `
+-Dbuild-tests=true `
+-Dwerror=true `
+-Dwarning_level=2 `
+$sourcedir && `
+meson install && `
+meson test --num-processes 32 --print-errorlogs
+
$buildstatus = $?
Pop-Location
@@ -21,4 +78,12 @@ if (!$buildstatus) {
}
Copy-Item ".\.gitlab-ci\windows\piglit_run.ps1" -Destination $installdir
-Copy-Item ".\.gitlab-ci\windows\quick_gl.txt" -Destination $installdir
+
+Copy-Item ".\.gitlab-ci\windows\spirv2dxil_check.ps1" -Destination $installdir
+Copy-Item ".\.gitlab-ci\windows\spirv2dxil_run.ps1" -Destination $installdir
+
+Copy-Item ".\.gitlab-ci\windows\deqp_runner_run.ps1" -Destination $installdir
+
+Copy-Item ".\.gitlab-ci\windows\vainfo_run.ps1" -Destination $installdir
+
+Get-ChildItem -Recurse -Filter "ci" | Get-ChildItem -Include "*.txt","*.toml" | Copy-Item -Destination $installdir