diff options
author | Omar Akkila <omar.akkila@collabora.com> | 2021-10-25 09:29:07 +0200 |
---|---|---|
committer | Tomeu Vizoso <tomeu.vizoso@collabora.com> | 2022-08-04 15:15:33 +0200 |
commit | 8e6bdb2ed31f27c28d258859ec48e8e67f51ff41 (patch) | |
tree | 7c8e4d4b8e3a2e5358a724baf23332d8477d319e | |
parent | 5ac14a97e27dbadff42bc409d818bc1b8803bf65 (diff) | |
download | mesa-8e6bdb2ed31f27c28d258859ec48e8e67f51ff41.tar.gz |
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>
-rw-r--r-- | .gitlab-ci.yml | 1 | ||||
-rwxr-xr-x | .gitlab-ci/crosvm-runner.sh | 3 | ||||
-rw-r--r-- | .gitlab-ci/test-source-dep.yml | 9 | ||||
-rw-r--r-- | src/virtio/ci/deqp-venus.toml | 6 | ||||
-rw-r--r-- | src/virtio/ci/gitlab-ci.yml | 24 | ||||
-rw-r--r-- | src/virtio/ci/venus-fails.txt | 16 | ||||
-rw-r--r-- | src/virtio/ci/venus-flakes.txt | 7 | ||||
-rw-r--r-- | src/virtio/ci/venus-skips.txt | 2 |
8 files changed, 67 insertions, 1 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 0ccb91954b8..b4e05c7eaa9 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -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 diff --git a/.gitlab-ci/crosvm-runner.sh b/.gitlab-ci/crosvm-runner.sh index 15e6655e92f..0acd7d77127 100755 --- a/.gitlab-ci/crosvm-runner.sh +++ b/.gitlab-ci/crosvm-runner.sh @@ -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 \ diff --git a/.gitlab-ci/test-source-dep.yml b/.gitlab-ci/test-source-dep.yml index 3f557f42e2a..58f282fe527 100644 --- a/.gitlab-ci/test-source-dep.yml +++ b/.gitlab-ci/test-source-dep.yml @@ -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: diff --git a/src/virtio/ci/deqp-venus.toml b/src/virtio/ci/deqp-venus.toml new file mode 100644 index 00000000000..752d7ecac87 --- /dev/null +++ b/src/virtio/ci/deqp-venus.toml @@ -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" diff --git a/src/virtio/ci/gitlab-ci.yml b/src/virtio/ci/gitlab-ci.yml new file mode 100644 index 00000000000..a7117e853b1 --- /dev/null +++ b/src/virtio/ci/gitlab-ci.yml @@ -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 diff --git a/src/virtio/ci/venus-fails.txt b/src/virtio/ci/venus-fails.txt new file mode 100644 index 00000000000..543fcb602a4 --- /dev/null +++ b/src/virtio/ci/venus-fails.txt @@ -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
\ No newline at end of file diff --git a/src/virtio/ci/venus-flakes.txt b/src/virtio/ci/venus-flakes.txt new file mode 100644 index 00000000000..2c3d10ca85c --- /dev/null +++ b/src/virtio/ci/venus-flakes.txt @@ -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
\ No newline at end of file diff --git a/src/virtio/ci/venus-skips.txt b/src/virtio/ci/venus-skips.txt new file mode 100644 index 00000000000..e67e91bb1e3 --- /dev/null +++ b/src/virtio/ci/venus-skips.txt @@ -0,0 +1,2 @@ +# These take so long that cause caselist batches to timeout +dEQP-VK.pipeline.monolithic.*
\ No newline at end of file |