Files
third_party_mesa3d/.gitlab-ci/windows/mesa_deps_test_deqp.ps1
Yonggang Luo cb50d0cabf ci/msvc: Split the install of rust and d3d out of mesa_deps_test.ps1
There is no need repeatedly downloading rust and d3d when building the docker locally

Download glext.h from github

Remove src directory and .git directory once compiling finished

Split piglit and depq compiling out

Clean middle files of piglit and depq
ci/msvc: Improve fetch source of spirv_samples_source

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26736>
2023-12-24 11:46:43 +00:00

89 lines
3.1 KiB
PowerShell

# Compiling deqp
$ProgressPreference = "SilentlyContinue"
$MyPath = $MyInvocation.MyCommand.Path | Split-Path -Parent
. "$MyPath\mesa_init_msvc.ps1"
$source_dir = Join-Path -Path "$PWD" -ChildPath "src"
$deqp_source = Join-Path -Path "$source_dir" -ChildPath "VK-GL-CTS"
$deqp_build = Join-Path -Path "$PWD" -ChildPath "deqp"
Write-Host "Cloning Vulkan and GL Conformance Tests at:"
Get-Date
New-Item -ItemType Directory -Path "$deqp_source" | Out-Null
Push-Location -Path $deqp_source
git init
git remote add origin https://github.com/KhronosGroup/VK-GL-CTS.git
git fetch --depth 1 origin 56114106d860c121cd6ff0c3b926ddc50c4c11fd # of branch vulkan-cts-1.3.4
if (!$?) {
Write-Host "Failed to fetch deqp repository"
Pop-Location
Exit 1
}
git checkout FETCH_HEAD
Write-Host "Fetch sources inside $deqp_source at:"
Get-Date
# --insecure is due to SSL cert failures hitting sourceforge for zlib and
# libpng (sigh). The archives get their checksums checked anyway, and git
# always goes through ssh or https.
py .\external\fetch_sources.py --insecure
Pop-Location
Write-Host "Compiling deqp at:"
Get-Date
New-Item -ItemType Directory -Path "$deqp_build" | Out-Null
Push-Location -Path $deqp_build
cmake -S $($deqp_source) `
-B . `
-GNinja `
-DCMAKE_BUILD_TYPE=Release `
-DDEQP_TARGET=default && `
ninja -j32
if (!$?) {
Write-Host "Failed to compile deqp"
Pop-Location
Exit 1
}
Pop-Location
# Copy test result templates
Copy-Item -Path "$($deqp_source)\doc\testlog-stylesheet\testlog.css" -Destination $deqp_build
Copy-Item -Path "$($deqp_source)\doc\testlog-stylesheet\testlog.xsl" -Destination $deqp_build
# Copy Vulkan must-pass list
$deqp_mustpass = New-Item -ItemType Directory -Path $deqp_build -Name "mustpass"
$root_mustpass = Join-Path -Path $deqp_source -ChildPath "external\vulkancts\mustpass\main"
$files = Get-Content "$($root_mustpass)\vk-default.txt"
foreach($file in $files) {
Get-Content "$($root_mustpass)\$($file)" | Add-Content -Path "$($deqp_mustpass)\vk-main.txt"
}
Write-Host "Installing deqp-runner at:"
Get-Date
$env:Path += ";$($env:USERPROFILE)\.cargo\bin"
cargo install --git https://gitlab.freedesktop.org/anholt/deqp-runner.git --tag v0.16.1
$depsInstallPath="C:\mesa-deps"
$vk_cts_bin = "$deqp_build\external\vulkancts\modules\vulkan"
# Hard link Agility SDK into subfolder of Vulkan CTS
$agility_dest = New-Item -ItemType Directory -Path $vk_cts_bin -Name 'D3D12'
New-Item -ItemType HardLink -path $agility_dest\D3D12Core.dll -Value $depsInstallPath\bin\D3D12\D3D12Core.dll
New-Item -ItemType HardLink -path $agility_dest\d3d12SDKLayers.dll -Value $depsInstallPath\bin\D3D12\d3d12SDKLayers.dll
# Hard link WARP next to Vulkan CTS
New-Item -ItemType HardLink -path $vk_cts_bin\d3d10warp.dll -Value $depsInstallPath\bin\d3d10warp.dll
Remove-Item -Recurse -Force -ErrorAction SilentlyContinue -Path "$source_dir" | Out-Null
# Cleanup deqp intermediate files
Get-ChildItem -Force -ErrorAction SilentlyContinue -Recurse "$deqp_build" | Where-Object {
if($_.FullName -match "CMake|.git|.lib"){
Remove-Item -Recurse -Force -ErrorAction SilentlyContinue -Path $_.FullName | Out-Null
}
}
Write-Host "Compiling deqp finished at:"
Get-Date