ci: Add vulkan dEQP tests for venus

Co-authored-by: Corentin Noël <corentin.noel@collabora.com>
Signed-off-by: Omar Akkila <omar.akkila@collabora.com>
Acked-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15692>
This commit is contained in:
Omar Akkila
2021-10-25 09:29:07 +02:00
committed by Tomeu Vizoso
parent 5ac14a97e2
commit 8e6bdb2ed3
8 changed files with 67 additions and 1 deletions

View File

@@ -78,6 +78,7 @@ include:
- local: 'src/intel/ci/gitlab-ci.yml'
- local: 'src/microsoft/ci/gitlab-ci.yml'
- local: 'src/panfrost/ci/gitlab-ci.yml'
- local: 'src/virtio/ci/gitlab-ci.yml'
stages:
- sanity

View File

@@ -93,8 +93,9 @@ set +e -x
NIR_DEBUG="novalidate" \
LIBGL_ALWAYS_SOFTWARE=${CROSVM_LIBGL_ALWAYS_SOFTWARE} \
GALLIUM_DRIVER=${CROSVM_GALLIUM_DRIVER} \
VK_ICD_FILENAMES=$CI_PROJECT_DIR/install/share/vulkan/icd.d/${CROSVM_VK_DRIVER}_icd.x86_64.json \
crosvm run \
--gpu "${CROSVM_GPU_ARGS}" -m 4096 -c 2 --disable-sandbox \
--gpu "${CROSVM_GPU_ARGS}" -m "${CROSVM_MEMORY:-4096}" -c 2 --disable-sandbox \
--shared-dir /:my_root:type=fs:writeback=true:timeout=60:cache=always \
--host_ip "192.168.30.1" --netmask "255.255.255.0" --mac "AA:BB:CC:00:00:12" \
-s $VM_SOCKET \

View File

@@ -363,6 +363,15 @@
*virgl_file_list
when: manual
.venus-rules:
stage: layered-backends
rules:
- !reference [.lavapipe-rules, rules]
- changes: &venus_file_list
- src/virtio/**/*
when: on_success
- when: never
.radeonsi-rules:
stage: amd
rules:

View File

@@ -0,0 +1,6 @@
[[deqp]]
deqp = "/install/crosvm-runner.sh"
caselists = [ "/deqp/mustpass/vk-master.txt" ]
deqp_args = [ "/deqp/external/vulkancts/modules/vulkan/deqp-vk" ]
timeout = 30.0 # Starting lots of Crosvm instances simultaneously can take some time
renderer_check = "Virtio-GPU Venus.*llvmpipe"

View File

@@ -0,0 +1,24 @@
.venus-lavapipe-test:
extends:
- .test-vk
- .venus-rules
variables:
VK_DRIVER: virtio
CROSVM_GALLIUM_DRIVER: "llvmpipe"
CROSVM_VK_DRIVER: "lvp"
CROSVM_GPU_ARGS: "vulkan=true,gles=false,backend=virglrenderer,egl=true,surfaceless=true"
venus-lavapipe:
extends:
- .deqp-test-vk
- .venus-lavapipe-test
variables:
DEQP_FRACTION: 15
DEQP_SUITE: venus
GPU_VERSION: venus
LP_NUM_THREADS: 1 # There will be FDO_CI_CONCURRENT Crosvm processes, so each should use a single thread
FDO_CI_CONCURRENT: 32 # Seems to be the fastest value, more gets actually slower
CROSVM_MEMORY: 3072
FLAKES_CHANNEL: "#virgl-ci"
tags:
- mesa-swrast

View File

@@ -0,0 +1,16 @@
# Failures likely due to lavapipe (i.e. the intersection of observed failures and lvp-fails.txt)
dEQP-VK.glsl.crash_test.divbyzero_comp,Crash
# Full Venus list
dEQP-VK.multiview.queries.15_15_15_15,Fail
dEQP-VK.multiview.queries.15,Fail
dEQP-VK.multiview.queries.5_10_5_10,Fail
dEQP-VK.multiview.renderpass2.queries.15_15_15_15,Fail
dEQP-VK.multiview.renderpass2.queries.15,Fail
dEQP-VK.multiview.renderpass2.queries.5_10_5_10,Fail
dEQP-VK.pipeline.extended_dynamic_state.after_pipelines.enable_raster,Fail
dEQP-VK.pipeline.extended_dynamic_state.before_draw.enable_raster,Fail
dEQP-VK.pipeline.extended_dynamic_state.between_pipelines.enable_raster,Fail
dEQP-VK.pipeline.extended_dynamic_state.cmd_buffer_start.enable_raster,Fail
dEQP-VK.pipeline.extended_dynamic_state.two_draws_dynamic.enable_raster,Fail
dEQP-VK.pipeline.timestamp.calibrated.host_domain_test,Fail

View File

@@ -0,0 +1,7 @@
dEQP-VK.synchronization.*16384
dEQP-VK.synchronization.*262144
dEQP-VK.spirv_assembly.instruction.graphics.64bit_compare.double.frag_opfordnotequal_nonan_vector
dEQP-VK.robustness.buffer_access.fragment.vec4_copy.r32_uint.oob_storage_read.range_4_bytes
dEQP-VK.robustness.buffer_access.fragment.vec4_copy.r32_uint.oob_storage_write.range_32_bytes
dEQP-VK.robustness.buffer_access.fragment.texel_copy.r32g32b32a32_sfloat.oob_storage_write.range_3_texels
dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_uvec4

View File

@@ -0,0 +1,2 @@
# These take so long that cause caselist batches to timeout
dEQP-VK.pipeline.monolithic.*