From ca861e8f754125f8880229bdcc6e278cd15003b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Corentin=20No=C3=ABl?= Date: Thu, 1 Feb 2024 16:14:16 +0100 Subject: [PATCH] ci: Add zink-venus-lvp job MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Test Zink on Venus on Lavapipe. Acked-by: Gert Wollny Reviewed-by: David Heidelberg Reviewed-by: Yiwei Zhang Signed-off-by: Corentin Noël Part-of: --- .../drivers/zink/ci/deqp-zink-venus-lvp.toml | 15 ++ src/gallium/drivers/zink/ci/gitlab-ci-inc.yml | 25 +++ src/gallium/drivers/zink/ci/gitlab-ci.yml | 18 ++ .../drivers/zink/ci/zink-venus-lvp-fails.txt | 164 ++++++++++++++++++ .../drivers/zink/ci/zink-venus-lvp-flakes.txt | 40 +++++ .../drivers/zink/ci/zink-venus-lvp-skips.txt | 47 +++++ src/virtio/ci/gitlab-ci.yml | 1 - 7 files changed, 309 insertions(+), 1 deletion(-) create mode 100644 src/gallium/drivers/zink/ci/deqp-zink-venus-lvp.toml create mode 100644 src/gallium/drivers/zink/ci/zink-venus-lvp-fails.txt create mode 100644 src/gallium/drivers/zink/ci/zink-venus-lvp-flakes.txt create mode 100644 src/gallium/drivers/zink/ci/zink-venus-lvp-skips.txt diff --git a/src/gallium/drivers/zink/ci/deqp-zink-venus-lvp.toml b/src/gallium/drivers/zink/ci/deqp-zink-venus-lvp.toml new file mode 100644 index 00000000000..6b6a029b5bd --- /dev/null +++ b/src/gallium/drivers/zink/ci/deqp-zink-venus-lvp.toml @@ -0,0 +1,15 @@ +[[deqp]] +deqp = "/deqp/external/openglcts/modules/glcts" +caselists = [ + "/deqp/mustpass/gl46-main.txt", + "/deqp/mustpass/gl46-khr-single.txt", +] +deqp_args = [ + "--deqp-surface-width=256", + "--deqp-surface-height=256", + "--deqp-surface-type=pbuffer", + "--deqp-gl-config-name=rgba8888d24s8ms0", + "--deqp-visibility=hidden" +] +timeout = 180.0 +renderer_check = "zink.*llvmpipe" diff --git a/src/gallium/drivers/zink/ci/gitlab-ci-inc.yml b/src/gallium/drivers/zink/ci/gitlab-ci-inc.yml index 97f39f344af..3730a08a65d 100644 --- a/src/gallium/drivers/zink/ci/gitlab-ci-inc.yml +++ b/src/gallium/drivers/zink/ci/gitlab-ci-inc.yml @@ -31,6 +31,14 @@ - !reference [.lavapipe-rules, rules] - !reference [.zink-common-rules, rules] +.zink-lvp-venus-rules: + stage: layered-backends + rules: + - !reference [.test, rules] + - !reference [.lavapipe-rules, rules] + - !reference [.venus-rules, rules] + - !reference [.zink-common-rules, rules] + .zink-anv-rules: stage: layered-backends rules: @@ -120,6 +128,22 @@ # Fix non-conformant llvmpipe filter defaults GALLIVM_PERF: "no_quad_lod" +.zink-venus-lvp-test: + extends: + - .zink-lvp-venus-rules + - .zink-test + variables: + LIBGL_ALWAYS_SOFTWARE: "true" + LVP_POISON_MEMORY: "1" + GPU_VERSION: zink-venus-lvp + # Fix non-conformant llvmpipe filter defaults + GALLIVM_PERF: "no_quad_lod" + VK_DRIVER: virtio + GALLIUM_DRIVER: "zink" + CROSVM_GALLIUM_DRIVER: "llvmpipe" + CROSVM_VK_DRIVER: "lvp" + CROSVM_GPU_ARGS: "vulkan=true,gles=false,backend=virglrenderer,egl=true,surfaceless=true,fixed-blob-mapping=false" + .zink-anv-test: extends: - .lava-acer-cp514-2h-1160g7-volteer:x86_64 @@ -145,3 +169,4 @@ # Disable reporting, since DUTs don't have internet access FLAKES_CHANNEL: "" + diff --git a/src/gallium/drivers/zink/ci/gitlab-ci.yml b/src/gallium/drivers/zink/ci/gitlab-ci.yml index 813b1fa690f..139853dd6f9 100644 --- a/src/gallium/drivers/zink/ci/gitlab-ci.yml +++ b/src/gallium/drivers/zink/ci/gitlab-ci.yml @@ -17,6 +17,24 @@ zink-lvp: script: | xvfb-run --server-args='-noreset' bash -c ". $SCRIPTS_DIR/setup-test-env.sh && ${XVFB_SCRIPT}" +zink-venus-lvp: + extends: + - .test-gl + - .deqp-test + - .zink-venus-lvp-test + variables: + DEQP_SUITE: zink-venus-lvp + DEQP_FRACTION: 8 + PIGLIT_NO_WINDOW: 1 + # Enable validation (except for on piglit, see deqp-zink-venus-lvp.toml), logging + # to stdout and aborting on unknown failures. + ZINK_DEBUG: validation + LP_NUM_THREADS: 2 + CROSVM_MEMORY: 12288 + CROSVM_CPU: $FDO_CI_CONCURRENT + script: + - xvfb-run --server-args='-noreset' bash -c "./install/crosvm-runner.sh ./install/deqp-runner.sh" + zink-anv-tgl: extends: - .zink-anv-test diff --git a/src/gallium/drivers/zink/ci/zink-venus-lvp-fails.txt b/src/gallium/drivers/zink/ci/zink-venus-lvp-fails.txt new file mode 100644 index 00000000000..0d05bbda4d2 --- /dev/null +++ b/src/gallium/drivers/zink/ci/zink-venus-lvp-fails.txt @@ -0,0 +1,164 @@ +# #6115 +spec@arb_tessellation_shader@execution@variable-indexing@tes-both-input-array-float-index-rd,Crash +spec@arb_tessellation_shader@execution@variable-indexing@tes-both-input-array-vec2-index-rd,Crash +spec@arb_tessellation_shader@execution@variable-indexing@tes-both-input-array-vec3-index-rd,Crash +spec@arb_tessellation_shader@execution@variable-indexing@tes-both-input-array-vec4-index-rd,Crash + +# #6322 +spec@arb_framebuffer_object@fbo-blit-scaled-linear,Fail + +#kopper regressions/changes +spec@egl_chromium_sync_control@conformance,Fail +spec@egl_chromium_sync_control@conformance@eglGetSyncValuesCHROMIUM_msc_and_sbc_test,Fail +spec@egl_chromium_sync_control@conformance@eglGetSyncValuesCHROMIUM_ust_test,Fail + + +dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_mag,Fail +dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_mag_reverse_src_dst_x,Fail +dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_mag_reverse_src_dst_y,Fail +dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_min,Fail +dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_min_reverse_dst_x,Fail +dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_min_reverse_src_dst_x,Fail +dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_min_reverse_src_dst_y,Fail + +# this test tries to be error-compatible with nvidia. spoiler: mesa isn't, and no driver can pass it +glx@glx_arb_create_context@invalid flag,Fail + +glx@glx-swap-pixmap-bad,Fail +glx@glx-visuals-depth,Crash +glx@glx_arb_create_context_es2_profile@invalid opengl es version,Fail +glx@glx_arb_create_context_no_error@no error,Fail + +glx@glx_ext_import_context@free context,Fail +glx@glx_ext_import_context@get context id,Fail +glx@glx_ext_import_context@get current display,Fail +glx@glx_ext_import_context@import context- multi process,Fail +glx@glx_ext_import_context@import context- single process,Fail +glx@glx_ext_import_context@imported context has same context id,Fail +glx@glx_ext_import_context@make current- multi process,Fail +glx@glx_ext_import_context@make current- single process,Fail +glx@glx_ext_import_context@query context info,Fail +spec@!opengl 1.0@gl-1.0-no-op-paths,Fail +spec@!opengl 1.1@polygon-mode,Fail +spec@!opengl 1.1@polygon-mode-facing,Fail +spec@!opengl 1.1@polygon-mode-offset,Fail +spec@!opengl 1.1@polygon-mode-offset@config 0: Expected white pixel on bottom edge,Fail +spec@!opengl 1.1@polygon-mode-offset@config 0: Expected white pixel on left edge,Fail +spec@!opengl 1.1@polygon-mode-offset@config 0: Expected white pixel on right edge,Fail +spec@!opengl 1.1@polygon-mode-offset@config 0: Expected white pixel on top edge,Fail +spec@!opengl 1.1@polygon-mode-offset@config 0: Expected blue pixel in center,Fail +spec@!opengl 1.1@polygon-mode-offset@config 1: Expected blue pixel in center,Fail +spec@!opengl 1.1@polygon-mode-offset@config 2: Expected blue pixel in center,Fail +spec@!opengl 1.1@polygon-mode-offset@config 2: Expected white pixel on right edge,Fail +spec@!opengl 1.1@polygon-mode-offset@config 2: Expected white pixel on top edge,Fail +spec@!opengl 1.1@polygon-mode-offset@config 5: Expected blue pixel in center,Fail +spec@!opengl 1.1@polygon-mode-offset@config 6: Expected blue pixel in center,Fail +spec@!opengl 1.1@polygon-mode-offset@config 6: Expected white pixel on right edge,Fail +spec@!opengl 1.1@polygon-mode-offset@config 6: Expected white pixel on top edge,Fail +spec@!opengl 1.2@copyteximage 3d,Fail +spec@!opengl 2.1@pbo,Fail +spec@!opengl 2.1@pbo@test_polygon_stip,Fail +spec@!opengl 2.1@polygon-stipple-fs,Fail +spec@arb_gpu_shader_fp64@execution@arb_gpu_shader_fp64-tf-separate,Fail +spec@arb_pipeline_statistics_query@arb_pipeline_statistics_query-frag,Fail +spec@arb_point_sprite@arb_point_sprite-mipmap,Fail +spec@arb_program_interface_query@arb_program_interface_query-getprogramresourceindex,Fail +spec@arb_program_interface_query@arb_program_interface_query-getprogramresourceindex@'vs_input2[1][0]' on GL_PROGRAM_INPUT,Fail +spec@arb_sample_shading@ignore-centroid-qualifier 2,Fail +spec@arb_sample_shading@ignore-centroid-qualifier 4,Fail +spec@arb_sample_shading@interpolate-at-sample-position 2,Fail +spec@arb_sample_shading@interpolate-at-sample-position 4,Fail +spec@arb_sample_shading@samplemask 2,Fail +spec@arb_sample_shading@samplemask 2@0.250000 mask_in_one,Fail +spec@arb_sample_shading@samplemask 2@0.500000 mask_in_one,Fail +spec@arb_sample_shading@samplemask 2@1.000000 mask_in_one,Fail +spec@arb_sample_shading@samplemask 2@noms mask_in_one,Fail +spec@arb_sample_shading@samplemask 2@noms partition,Fail +spec@arb_sample_shading@samplemask 2@sample mask_in_one,Fail +spec@arb_sample_shading@samplemask 2 all,Fail +spec@arb_sample_shading@samplemask 2 all@0.250000 mask_in_one,Fail +spec@arb_sample_shading@samplemask 2 all@0.500000 mask_in_one,Fail +spec@arb_sample_shading@samplemask 2 all@1.000000 mask_in_one,Fail +spec@arb_sample_shading@samplemask 2 all@noms mask_in_one,Fail +spec@arb_sample_shading@samplemask 2 all@noms partition,Fail +spec@arb_sample_shading@samplemask 2 all@sample mask_in_one,Fail +spec@arb_sample_shading@samplemask 4,Fail +spec@arb_sample_shading@samplemask 4@0.250000 mask_in_one,Fail +spec@arb_sample_shading@samplemask 4@0.500000 mask_in_one,Fail +spec@arb_sample_shading@samplemask 4@1.000000 mask_in_one,Fail +spec@arb_sample_shading@samplemask 4@noms mask_in_one,Fail +spec@arb_sample_shading@samplemask 4@noms partition,Fail +spec@arb_sample_shading@samplemask 4@sample mask_in_one,Fail +spec@arb_sample_shading@samplemask 4 all,Fail +spec@arb_sample_shading@samplemask 4 all@0.250000 mask_in_one,Fail +spec@arb_sample_shading@samplemask 4 all@0.500000 mask_in_one,Fail +spec@arb_sample_shading@samplemask 4 all@1.000000 mask_in_one,Fail +spec@arb_sample_shading@samplemask 4 all@noms mask_in_one,Fail +spec@arb_sample_shading@samplemask 4 all@noms partition,Fail +spec@arb_sample_shading@samplemask 4 all@sample mask_in_one,Fail +spec@arb_shader_texture_lod@execution@arb_shader_texture_lod-texgrad,Fail + +spec@egl 1.4@eglterminate then unbind context,Fail +spec@egl_khr_gl_image@egl_khr_gl_renderbuffer_image-clear-shared-image gl_depth_component24,Fail +spec@egl_khr_surfaceless_context@viewport,Fail +spec@egl_mesa_configless_context@basic,Fail +spec@ext_framebuffer_blit@fbo-blit-check-limits,Fail +spec@ext_framebuffer_multisample@blit-mismatched-formats,Fail +spec@ext_framebuffer_multisample@clip-and-scissor-blit 2 msaa,Fail +spec@ext_framebuffer_multisample@clip-and-scissor-blit 2 upsample,Fail +spec@ext_framebuffer_multisample@clip-and-scissor-blit 4 msaa,Fail +spec@ext_framebuffer_multisample@clip-and-scissor-blit 4 upsample,Fail +spec@ext_framebuffer_multisample@enable-flag,Fail +spec@ext_framebuffer_multisample@interpolation 2 centroid-deriv-disabled,Fail +spec@ext_framebuffer_multisample@interpolation 2 centroid-disabled,Fail +spec@ext_framebuffer_multisample@interpolation 2 centroid-edges,Fail +spec@ext_framebuffer_multisample@interpolation 2 non-centroid-deriv-disabled,Fail +spec@ext_framebuffer_multisample@interpolation 2 non-centroid-disabled,Fail +spec@ext_framebuffer_multisample@interpolation 4 centroid-deriv-disabled,Fail +spec@ext_framebuffer_multisample@interpolation 4 centroid-disabled,Fail +spec@ext_framebuffer_multisample@interpolation 4 centroid-edges,Fail +spec@ext_framebuffer_multisample@interpolation 4 non-centroid-deriv-disabled,Fail +spec@ext_framebuffer_multisample@interpolation 4 non-centroid-disabled,Fail +spec@ext_packed_float@query-rgba-signed-components,Fail + +spec@khr_texture_compression_astc@miptree-gl srgb-fp,Fail +spec@khr_texture_compression_astc@miptree-gl srgb-fp@sRGB decode full precision,Fail +spec@khr_texture_compression_astc@miptree-gles srgb-fp,Fail +spec@khr_texture_compression_astc@miptree-gles srgb-fp@sRGB decode full precision,Fail +spec@khr_texture_compression_astc@sliced-3d-miptree-gl srgb-fp,Fail +spec@khr_texture_compression_astc@sliced-3d-miptree-gl srgb-fp@sRGB decode full precision,Fail +spec@khr_texture_compression_astc@sliced-3d-miptree-gles srgb-fp,Fail +spec@khr_texture_compression_astc@sliced-3d-miptree-gles srgb-fp@sRGB decode full precision,Fail +spec@!opengl 3.0@clearbuffer-depth-cs-probe,Fail +spec@arb_post_depth_coverage@arb_post_depth_coverage-multisampling,Fail +spec@arb_shader_image_load_store@early-z,Fail +spec@arb_shader_image_load_store@early-z@occlusion query test/early-z pass,Fail + +spec@arb_shader_image_load_store@execution@image-array-out-of-bounds-access-load,Crash +spec@arb_shader_image_load_store@execution@image-array-out-of-bounds-access-store,Crash + +#literally no driver can pass these +spec@!opengl 1.0@rasterpos,Fail +spec@!opengl 1.0@rasterpos@glsl_vs_gs_linked,Fail +spec@!opengl 1.0@rasterpos@glsl_vs_tes_linked,Fail + + +spec@arb_arrays_of_arrays@execution@image_store@basic-imagestore-mixed-const-non-const-uniform-index,Fail +spec@arb_arrays_of_arrays@execution@image_store@basic-imagestore-mixed-const-non-const-uniform-index2,Fail +spec@arb_arrays_of_arrays@execution@image_store@basic-imagestore-non-const-uniform-index,Fail +spec@arb_gpu_shader_fp64@execution@conversion,Fail +spec@arb_tessellation_shader@execution@gs-primitiveid-instanced,Fail +spec@glsl-1.50@execution@primitive-id-no-gs-quad-strip,Fail +spec@glsl-1.50@execution@primitive-id-no-gs-quads,Fail +spec@glsl-4.00@execution@conversion,Fail + +spec@ext_transform_feedback@tessellation quads wireframe,Fail + +# Debian 12 CI update, see https://gitlab.freedesktop.org/mesa/mesa/-/issues/9072 +spec@ext_packed_float@multisample-formats 4 gl_ext_packed_float,Crash +spec@ext_transform_feedback@tessellation quad_strip wireframe,Crash +spec@!opengl 1.0@gl-1.0-dlist-beginend,Crash +spec@arb_clip_control@arb_clip_control-depth-precision,Crash +spec@nv_texture_barrier@blending-in-shader,Crash + +spec@arb_viewport_array@display-list,Fail diff --git a/src/gallium/drivers/zink/ci/zink-venus-lvp-flakes.txt b/src/gallium/drivers/zink/ci/zink-venus-lvp-flakes.txt new file mode 100644 index 00000000000..a883379893e --- /dev/null +++ b/src/gallium/drivers/zink/ci/zink-venus-lvp-flakes.txt @@ -0,0 +1,40 @@ +dEQP-GLES2.functional.texture.filtering.cube.nearest_linear_mirror_l8_pot +spec@khr_debug@push-pop-group_gl.* +glx@glx-multi-window-single-context + +# "free(): invalid next size (fast)" +# since it's heap corruption, it may or may not appear in a particular run +spec@arb_compute_variable_group_size@local-size + +# https://gitlab.freedesktop.org/mesa/mesa/-/jobs/20908454 +# "X connection to :99 broken (explicit kill or server shutdown)." +glx@glx-multi-context-ib-1 + +# depth visuals +glx@glx-visuals-depth +glx@glx-visuals-stencil + +# mysterious +glx@glx-shader-sharing + +spec@arb_fragment_program@no-newline +# glx-destroycontext-1: ../../src/xcb_conn.c:215: write_vec: Assertion `!c->out.queue_len' failed. +glx@glx-destroycontext-1 + +glx@glx-multithread-texture + +# does not happen very often, but rarely does +KHR-GL46.limits.max_fragment_interpolation_offset + +# no output timeout, probably stuck in some X11 connection thing +spec@ext_framebuffer_multisample@accuracy all_samples depth_resolve depthstencil + +# segfault in https://gitlab.freedesktop.org/mesa/mesa/-/jobs/48719777 and others +spec@ext_texture_array@texsubimage array + +# crash in https://gitlab.freedesktop.org/mesa/mesa/-/jobs/48476882 and others +KHR-GL46.layout_location.sampler_2d_shadow + +# uprev Piglit in Mesa +spec@ext_framebuffer_multisample@accuracy all_samples depth_draw small depthstencil + diff --git a/src/gallium/drivers/zink/ci/zink-venus-lvp-skips.txt b/src/gallium/drivers/zink/ci/zink-venus-lvp-skips.txt new file mode 100644 index 00000000000..7226486adfb --- /dev/null +++ b/src/gallium/drivers/zink/ci/zink-venus-lvp-skips.txt @@ -0,0 +1,47 @@ +# Note: skips lists for CI are just a list of lines that, when +# non-zero-length and not starting with '#', will regex match to +# delete lines from the test list. Be careful. + +KHR-GL32.texture_size_promotion.functional + +# this is just broken. +KHR-GL46.shader_ballot_tests.ShaderBallotBitmasks +KHR-GL46.shader_ballot_tests.ShaderBallotFunctionRead + +# ignores copied from the old runner script +spec@arb_map_buffer_alignment@arb_map_buffer_alignment-map-invalidate-range +spec@arb_timer_query.* +spec@arb_sample_shading@builtin-gl-sample-mask +spec@glsl-1.30@execution@tex-miplevel-selection.* + +# This test doesn't even seem to exist, but piglit adds it to a group...? +spec@arb_vertex_type_2_10_10_10_rev@attrib-p-type-size-match + +# This one seems to have a typo in the name, and doesn't really ever run? +spec@egl_ext_protected_content@conformance + +# has a race where probes periodically return black +# cf. https://gitlab.freedesktop.org/mesa/mesa/-/jobs/10624521 +glx@glx-multi-context-single-window + +# This one takes too long, but passes. There's other tests that don't +# try all the combinations, so that's probably enough. +spec@arb_compute_shader@local-id-explosion + +# I can't reproduce these crashes locally +# even after running them in loops for 4+ hours, so disable for now +.*tex-miplevel-selection.* + +# these are insanely long +KHR-GL46.copy_image.functional +KHR-GL46.texture_swizzle.smoke +KHR-GL46.texture_swizzle.functional + +# Kopper regression +glx@glx-tfp + +# These tests started hitting timeouts when we upgraded LLVM from v11 to 13 +spec@arb_texture_rg@fbo-blending-formats + +#these need format conversions that gallium doesn't implement yet +spec@arb_texture_buffer_object@formats.*arb.* diff --git a/src/virtio/ci/gitlab-ci.yml b/src/virtio/ci/gitlab-ci.yml index 204f09a974e..07fbe4ae661 100644 --- a/src/virtio/ci/gitlab-ci.yml +++ b/src/virtio/ci/gitlab-ci.yml @@ -6,7 +6,6 @@ - changes: &venus_file_list - src/virtio/**/* when: on_success - - when: never .venus-lavapipe-test: