mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2024-11-23 18:24:13 +08:00
CI/Windows: Use deqp-runner for D3D12 piglit
Acked-by: Daniel Stone <daniels@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20454>
This commit is contained in:
parent
0a256f79d4
commit
31d722b706
@ -28,4 +28,4 @@ variables:
|
||||
WINDOWS_X64_BUILD_TAG: "2022-10-18-wrap-nodownload-va"
|
||||
|
||||
WINDOWS_X64_TEST_PATH: "windows/x64_test"
|
||||
WINDOWS_X64_TEST_TAG: "2022-11-03-agility-sdk"
|
||||
WINDOWS_X64_TEST_TAG: "2022-12-28-piglit-no-install"
|
||||
|
@ -83,6 +83,5 @@ 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 ".\src\microsoft\ci\deqp-dozen.toml" -Destination $installdir
|
||||
|
||||
Get-ChildItem -Recurse -Filter "ci" | Get-ChildItem -Filter "*.txt" | Copy-Item -Destination $installdir
|
||||
Get-ChildItem -Recurse -Filter "ci" | Get-ChildItem -Include "*.txt","*.toml" | Copy-Item -Destination $installdir
|
||||
|
@ -36,38 +36,31 @@ Invoke-WebRequest -Uri 'https://www.khronos.org/registry/OpenGL/api/GL/glext.h'
|
||||
|
||||
Get-Date
|
||||
Write-Host "Cloning Piglit"
|
||||
git clone --no-progress --single-branch --no-checkout https://gitlab.freedesktop.org/mesa/piglit.git 'C:\src\piglit'
|
||||
git clone --no-progress --single-branch --no-checkout https://gitlab.freedesktop.org/mesa/piglit.git 'C:\piglit'
|
||||
if (!$?) {
|
||||
Write-Host "Failed to clone Piglit repository"
|
||||
Exit 1
|
||||
}
|
||||
Push-Location -Path C:\src\piglit
|
||||
Push-Location -Path C:\piglit
|
||||
git checkout f7f2a6c2275cae023a27b6cc81be3dda8c99492d
|
||||
Pop-Location
|
||||
|
||||
Get-Date
|
||||
$piglit_build = New-Item -ItemType Directory -Path "C:\src\piglit" -Name "build"
|
||||
Push-Location -Path $piglit_build.FullName
|
||||
Write-Host "Compiling Piglit"
|
||||
cmake .. `
|
||||
cmake -S . -B . `
|
||||
-GNinja `
|
||||
-DCMAKE_BUILD_TYPE=Release `
|
||||
-DCMAKE_INSTALL_PREFIX="C:\Piglit" `
|
||||
-DGLUT_INCLUDE_DIR=C:\freeglut\include `
|
||||
-DGLUT_glut_LIBRARY_RELEASE=C:\freeglut\lib\x64\freeglut.lib `
|
||||
-DGLEXT_INCLUDE_DIR=.\glext && `
|
||||
ninja -j32
|
||||
$buildstatus = $?
|
||||
ninja -j32 install | Out-Null
|
||||
$installstatus = $?
|
||||
Pop-Location
|
||||
Remove-Item -Recurse -Path $piglit_build
|
||||
if (!$buildstatus -Or !$installstatus) {
|
||||
Write-Host "Failed to compile or install Piglit"
|
||||
if (!$buildstatus) {
|
||||
Write-Host "Failed to compile Piglit"
|
||||
Exit 1
|
||||
}
|
||||
|
||||
Copy-Item -Path C:\freeglut\bin\x64\freeglut.dll -Destination C:\Piglit\lib\piglit\bin\freeglut.dll
|
||||
Copy-Item -Path C:\freeglut\bin\x64\freeglut.dll -Destination C:\Piglit\bin\freeglut.dll
|
||||
|
||||
Get-Date
|
||||
Write-Host "Cloning spirv-samples"
|
||||
@ -104,8 +97,8 @@ cmake -S $($deqp_source) `
|
||||
ninja -j32
|
||||
$buildstatus = $?
|
||||
Pop-Location
|
||||
if (!$buildstatus -Or !$installstatus) {
|
||||
Write-Host "Failed to compile or install deqp"
|
||||
if (!$buildstatus) {
|
||||
Write-Host "Failed to compile deqp"
|
||||
Exit 1
|
||||
}
|
||||
|
||||
@ -141,7 +134,7 @@ Invoke-WebRequest -Uri https://www.nuget.org/api/v2/package/Microsoft.Direct3D.D
|
||||
Expand-Archive -Path 'agility.zip' -DestinationPath 'C:\agility'
|
||||
Remove-Item 'agility.zip'
|
||||
|
||||
$piglit_bin = 'C:\Piglit\lib\piglit\bin'
|
||||
$piglit_bin = 'C:\Piglit\bin'
|
||||
$vk_cts_bin = "$deqp_build\external\vulkancts\modules\vulkan"
|
||||
|
||||
# Copy Agility SDK into subfolder of piglit and Vulkan CTS
|
||||
|
@ -1,27 +1,13 @@
|
||||
$env:PIGLIT_NO_FAST_SKIP = 1
|
||||
|
||||
Copy-Item -Path _install\bin\opengl32.dll -Destination C:\Piglit\lib\piglit\bin\opengl32.dll
|
||||
Copy-Item -Path _install\bin\libgallium_wgl.dll -Destination C:\Piglit\lib\piglit\bin\libgallium_wgl.dll
|
||||
Copy-Item -Path _install\bin\libglapi.dll -Destination C:\Piglit\lib\piglit\bin\libglapi.dll
|
||||
Copy-Item -Path _install\bin\opengl32.dll -Destination C:\Piglit\bin\opengl32.dll
|
||||
Copy-Item -Path _install\bin\libgallium_wgl.dll -Destination C:\Piglit\bin\libgallium_wgl.dll
|
||||
Copy-Item -Path _install\bin\libglapi.dll -Destination C:\Piglit\bin\libglapi.dll
|
||||
|
||||
cmd.exe /C "py -3 C:\Piglit\bin\piglit.py run --timeout 240 `"$env:PIGLIT_PROFILE`" $env:PIGLIT_OPTIONS $env:PIGLIT_TESTS .\results"
|
||||
|
||||
py -3 C:\Piglit\bin\piglit.py summary console .\results | Select -SkipLast 1 | Select-String -NotMatch -Pattern ': pass' | Set-Content -Path .\result.txt
|
||||
|
||||
$reference = Get-Content ".\_install\$env:PIGLIT_RESULTS.txt"
|
||||
$result = Get-Content .\result.txt
|
||||
if (-Not ($reference -And $result)) {
|
||||
deqp-runner suite --output .\logs --suite "_install/$env:PIGLIT_SUITE" `
|
||||
--skips "_install/$env:PIGLIT_SKIPS" `
|
||||
--baseline "_install/$env:PIGLIT_BASELINE" `
|
||||
--flakes "_install/$env:PIGLIT_FLAKES"
|
||||
if (!$?) {
|
||||
Exit 1
|
||||
}
|
||||
|
||||
$diff = Compare-Object -ReferenceObject $reference -DifferenceObject $result
|
||||
if (-Not $diff) {
|
||||
Exit 0
|
||||
}
|
||||
|
||||
py -3 C:\Piglit\bin\piglit.py summary html --exclude-details=pass .\summary .\results
|
||||
|
||||
Write-Host "Unexpected change in results:"
|
||||
Write-Output $diff | Format-Table -Property SideIndicator,InputObject -Wrap
|
||||
|
||||
Exit 1
|
||||
|
6
src/gallium/drivers/d3d12/ci/d3d12-flakes.txt
Normal file
6
src/gallium/drivers/d3d12/ci/d3d12-flakes.txt
Normal file
@ -0,0 +1,6 @@
|
||||
# Tessellation isoline tests are flaky on WARP, probably a WARP bug
|
||||
isoline
|
||||
|
||||
# If the test machine are busy, these can spuriously fail
|
||||
arb_timer_query
|
||||
ext_timer_query
|
5
src/gallium/drivers/d3d12/ci/d3d12-quick_gl.toml
Normal file
5
src/gallium/drivers/d3d12/ci/d3d12-quick_gl.toml
Normal file
@ -0,0 +1,5 @@
|
||||
[[piglit]]
|
||||
piglit_folder = "C:/piglit"
|
||||
profile = "quick_gl"
|
||||
process_isolation = true
|
||||
timeout = 240
|
File diff suppressed because it is too large
Load Diff
5
src/gallium/drivers/d3d12/ci/d3d12-quick_shader.toml
Normal file
5
src/gallium/drivers/d3d12/ci/d3d12-quick_shader.toml
Normal file
@ -0,0 +1,5 @@
|
||||
[[piglit]]
|
||||
piglit_folder = "C:/piglit"
|
||||
profile = "quick_shader"
|
||||
process_isolation = true
|
||||
timeout = 240
|
File diff suppressed because it is too large
Load Diff
33
src/gallium/drivers/d3d12/ci/d3d12-skips.txt
Normal file
33
src/gallium/drivers/d3d12/ci/d3d12-skips.txt
Normal file
@ -0,0 +1,33 @@
|
||||
# The Windows piglit build doesn't produce any EGL/GLES tests
|
||||
gles
|
||||
opengl es
|
||||
egl
|
||||
glsl-es
|
||||
spec@oes
|
||||
|
||||
# These are GLES extensions
|
||||
ext_clear_texture
|
||||
ext_disjoint_timer_query
|
||||
ext_draw_instanced
|
||||
ext_occlusion_query_boolean
|
||||
ext_render_snorm
|
||||
ext_texture_format_bgra8888
|
||||
ext_texture_norm16
|
||||
ext_unpack_subimage
|
||||
|
||||
# These are Vulkan tests which aren't built on Windows either
|
||||
ext_external_objects@vk
|
||||
|
||||
# Linux-specific extension
|
||||
ext_image_dma_buf_import
|
||||
|
||||
# Requires EGL/GLES
|
||||
shaders@glsl-bug-110796
|
||||
amd_compressed_atc_texture
|
||||
intel_performance_query
|
||||
|
||||
# The WGL tests are only built when Piglit is using Waffle
|
||||
wgl
|
||||
|
||||
# This test will timeout and slows down the whole job, so just skip it
|
||||
spec@arb_tessellation_shader@arb_tessellation_shader-tes-gs-max-output
|
@ -25,22 +25,21 @@
|
||||
when: on_failure
|
||||
name: "mesa_${CI_JOB_NAME}"
|
||||
paths:
|
||||
- summary/
|
||||
- result.txt
|
||||
- logs/
|
||||
variables:
|
||||
PIGLIT_SKIPS: d3d12-skips.txt
|
||||
PIGLIT_FLAKES: d3d12-flakes.txt
|
||||
|
||||
test-d3d12-quick_gl:
|
||||
extends:
|
||||
- .d3d12-test-piglit
|
||||
variables:
|
||||
PIGLIT_PROFILE: quick_gl
|
||||
PIGLIT_RESULTS: "d3d12-quick_gl"
|
||||
PIGLIT_TESTS: -x nv_copy_depth_to_color -x glsl-1.30.execution.tex-miplevel-selection -x arb_timer_query.timestamp-get -x max-size -x query.gl_timestamp -x query.time-elapsed -x tes-gs-max-output
|
||||
PIGLIT_SUITE: d3d12-quick_gl.toml
|
||||
PIGLIT_BASELINE: d3d12-quick_gl.txt
|
||||
|
||||
test-d3d12-quick_shader:
|
||||
extends:
|
||||
- .d3d12-test-piglit
|
||||
variables:
|
||||
PIGLIT_PROFILE: quick_shader
|
||||
PIGLIT_RESULTS: "d3d12-quick_shader"
|
||||
# These tests crash WARP causing the test suite to timeout, or are flaky
|
||||
PIGLIT_TESTS: -x amd_texture_texture4 -x arb_texture_gather -x isoline
|
||||
PIGLIT_SUITE: d3d12-quick_shader.toml
|
||||
PIGLIT_BASELINE: d3d12-quick_shader.txt
|
||||
|
Loading…
Reference in New Issue
Block a user