From 09942227f63d2112c730799b600b75f8d3d02d5c Mon Sep 17 00:00:00 2001 From: Emma Anholt Date: Wed, 28 Jul 2021 16:30:19 -0700 Subject: [PATCH] ci/freedreno: Move freedreno's deqp testing to suite support. Using suites makes load-balancing our jobs much easier, keeps the CPU busy handling the a630_gles_others.sh test sets (and improves the output and baseline handling for them), and makes it trivial to add in more short test sets. a306: still 5 jobs, and we add KHR-GLES2 (KHR-GLES3 is unstable) a530: still 5 jobs, added KHR-GLES* a630_gl: 5 jobs becomes 4, and we add KHR-GLES* a630_vk: still 3 jobs, now 1/3 of all VK instead of 1/4. a630_vk_full: still 2 jobs, now includes full bypass testing, partial no-force testing, and testing of pre-merge-skipped tests. Part-of: --- .../bare-metal/arm64_a630_gles_others.sh | 79 --------- .gitlab-ci/common/generate-env.sh | 1 + src/freedreno/ci/deqp-freedreno-a307.toml | 45 +++++ .../ci/deqp-freedreno-a530-fails.txt | 166 +++++++++++++++++- .../ci/deqp-freedreno-a530-flakes.txt | 9 + .../ci/deqp-freedreno-a530-skips.txt | 3 + src/freedreno/ci/deqp-freedreno-a530.toml | 42 +++++ .../ci/deqp-freedreno-a630-bypass-fails.txt | 5 - .../ci/deqp-freedreno-a630-fails.txt | 89 ++++++++++ .../ci/deqp-freedreno-a630-flakes.txt | 8 + .../ci/deqp-freedreno-a630-premerge-skips.txt | 9 + .../ci/deqp-freedreno-a630-skips.txt | 12 +- .../ci/deqp-freedreno-a630-vk-full.toml | 32 ++++ src/freedreno/ci/deqp-freedreno-a630-vk.toml | 22 +++ src/freedreno/ci/deqp-freedreno-a630.toml | 145 +++++++++++++++ src/freedreno/ci/gitlab-ci.yml | 104 ++--------- 16 files changed, 591 insertions(+), 180 deletions(-) delete mode 100755 .gitlab-ci/bare-metal/arm64_a630_gles_others.sh create mode 100644 src/freedreno/ci/deqp-freedreno-a307.toml create mode 100644 src/freedreno/ci/deqp-freedreno-a530.toml delete mode 100644 src/freedreno/ci/deqp-freedreno-a630-bypass-fails.txt create mode 100644 src/freedreno/ci/deqp-freedreno-a630-premerge-skips.txt create mode 100644 src/freedreno/ci/deqp-freedreno-a630-vk-full.toml create mode 100644 src/freedreno/ci/deqp-freedreno-a630-vk.toml create mode 100644 src/freedreno/ci/deqp-freedreno-a630.toml diff --git a/.gitlab-ci/bare-metal/arm64_a630_gles_others.sh b/.gitlab-ci/bare-metal/arm64_a630_gles_others.sh deleted file mode 100755 index fd52f25a978..00000000000 --- a/.gitlab-ci/bare-metal/arm64_a630_gles_others.sh +++ /dev/null @@ -1,79 +0,0 @@ -#!/bin/sh - -# This test script groups together a bunch of fast dEQP variant runs -# to amortize the cost of rebooting the board. - -set -ex - -EXIT=0 - -# Test rendering with the gmem path forced when possible (~1 minute) -if ! env \ - DEQP_RESULTS_DIR=results/gmem \ - DEQP_VER=gles31 \ - DEQP_FRACTION=5 \ - FD_MESA_DEBUG=nobypass \ - /install/deqp-runner.sh; then - EXIT=1 -fi - -# Test rendering with the bypass path forced when possible (~1 minute) -if ! env \ - DEQP_RESULTS_DIR=results/bypass \ - DEQP_VER=gles31 \ - DEQP_FRACTION=5 \ - FD_MESA_DEBUG=nogmem \ - GPU_VERSION=freedreno-a630-bypass \ - /install/deqp-runner.sh; then - EXIT=1 -fi - -# Test rendering with the UBO-to-constants optimization disabled (~1 minute) -if ! env \ - DEQP_RESULTS_DIR=results/nouboopt \ - DEQP_VER=gles31 \ - IR3_SHADER_DEBUG=nouboopt \ - DEQP_CASELIST_FILTER="functional.*ubo" \ - /install/deqp-runner.sh; then - EXIT=1 -fi - -# gles3-565nozs mustpass (~20s) -if ! env \ - DEQP_RESULTS_DIR=results/gles3-565nozs \ - DEQP_VER=gles3 \ - DEQP_CONFIG="rgb565d0s0ms0" \ - DEQP_VARIANT="565-no-depth-no-stencil" \ - /install/deqp-runner.sh; then - EXIT=1 -fi - -# gles31-565nozs mustpass (~1s) -if ! env \ - DEQP_RESULTS_DIR=results/gles31-565nozs \ - DEQP_VER=gles31 \ - DEQP_CONFIG="rgb565d0s0ms0" \ - DEQP_VARIANT="565-no-depth-no-stencil" \ - /install/deqp-runner.sh; then - EXIT=1 -fi - -if ! env \ - DEQP_RESULTS_DIR=results/gles3-multisample \ - DEQP_VER=gles3 \ - DEQP_CONFIG="rgba8888d24s8ms4" \ - DEQP_VARIANT="multisample" \ - /install/deqp-runner.sh; then - EXIT=1 -fi - -if ! env \ - DEQP_RESULTS_DIR=results/gles31-multisample \ - DEQP_VER=gles31 \ - DEQP_CONFIG="rgba8888d24s8ms4" \ - DEQP_VARIANT="multisample" \ - /install/deqp-runner.sh; then - EXIT=1 -fi - -exit $EXIT diff --git a/.gitlab-ci/common/generate-env.sh b/.gitlab-ci/common/generate-env.sh index 18e11b775bc..f31693154b1 100755 --- a/.gitlab-ci/common/generate-env.sh +++ b/.gitlab-ci/common/generate-env.sh @@ -29,6 +29,7 @@ for var in \ DEQP_PARALLEL \ DEQP_RESULTS_DIR \ DEQP_RUNNER_OPTIONS \ + DEQP_SUITE \ DEQP_VARIANT \ DEQP_VER \ DEQP_WIDTH \ diff --git a/src/freedreno/ci/deqp-freedreno-a307.toml b/src/freedreno/ci/deqp-freedreno-a307.toml new file mode 100644 index 00000000000..6494583917c --- /dev/null +++ b/src/freedreno/ci/deqp-freedreno-a307.toml @@ -0,0 +1,45 @@ +# Basic test set +[[deqp]] +deqp = "/deqp/modules/gles2/deqp-gles2" +caselists = ["/deqp/mustpass/gles2-master.txt"] +deqp_args = [ + "--deqp-surface-width=256", "--deqp-surface-height=256", + "--deqp-surface-type=pbuffer", "--deqp-visibility=hidden", + "--deqp-gl-config-name=rgba8888d24s8ms0", +] + +[[deqp]] +deqp = "/deqp/modules/gles3/deqp-gles3" +caselists = ["/deqp/mustpass/gles3-master.txt"] +deqp_args = [ + "--deqp-surface-width=256", "--deqp-surface-height=256", + "--deqp-surface-type=pbuffer", "--deqp-visibility=hidden", + "--deqp-gl-config-name=rgba8888d24s8ms0", +] + + +[[deqp]] +deqp = "/deqp/external/openglcts/modules/glcts" +# Not doing GLES3 because of a lot of GPU hangs. +caselists = [ + "/deqp/mustpass/gles2-khr-master.txt", +] +deqp_args = [ + "--deqp-surface-width=256", "--deqp-surface-height=256", + "--deqp-surface-type=pbuffer", "--deqp-visibility=hidden", + "--deqp-gl-config-name=rgba8888d24s8ms0", +] + +# Check that the non-constbuf UBO case works. +[[deqp]] +deqp = "/deqp/modules/gles3/deqp-gles3" +caselists = ["/deqp/mustpass/gles3-master.txt"] +deqp_args = [ + "--deqp-surface-width=256", "--deqp-surface-height=256", + "--deqp-surface-type=pbuffer", "--deqp-visibility=hidden", + "--deqp-gl-config-name=rgba8888d24s8ms0", +] +include = ["functional.*ubo"] +prefix = "nouboopt-" +[deqp.env] +IR3_SHADER_DEBUG = "nouboopt" diff --git a/src/freedreno/ci/deqp-freedreno-a530-fails.txt b/src/freedreno/ci/deqp-freedreno-a530-fails.txt index c64cad8fc8e..fa46db2ce26 100644 --- a/src/freedreno/ci/deqp-freedreno-a530-fails.txt +++ b/src/freedreno/ci/deqp-freedreno-a530-fails.txt @@ -3,11 +3,81 @@ dEQP-GLES2.functional.clipping.line.wide_line_clip_viewport_corner,Fail dEQP-GLES2.functional.clipping.point.wide_point_clip,Fail dEQP-GLES2.functional.clipping.point.wide_point_clip_viewport_center,Fail dEQP-GLES2.functional.clipping.point.wide_point_clip_viewport_corner,Fail + +# "../src/compiler/glsl/ir.cpp:534: ir_expression::ir_expression(int, ir_rvalue*, ir_rvalue*): Assertion `op0->type == op1->type' failed." +# in lower_instructions_visitor::extract_to_shifts(). +# This GLSL path would be avoided if we had ARB_gpu_shader5. +dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract.int_lowp_compute,Crash +dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract.int_lowp_fragment,Crash +dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract.int_mediump_compute,Crash +dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract.int_mediump_fragment,Crash +dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract.ivec2_lowp_compute,Crash +dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract.ivec2_lowp_fragment,Crash +dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract.ivec2_mediump_compute,Crash +dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract.ivec2_mediump_fragment,Crash +dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract.ivec3_lowp_compute,Crash +dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract.ivec3_lowp_fragment,Crash +dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract.ivec3_mediump_compute,Crash +dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract.ivec3_mediump_fragment,Crash +dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract.ivec4_lowp_compute,Crash +dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract.ivec4_lowp_fragment,Crash +dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract.ivec4_mediump_compute,Crash +dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract.ivec4_mediump_fragment,Crash +dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract.uint_lowp_compute,Crash +dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract.uint_lowp_fragment,Crash +dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract.uint_mediump_compute,Crash +dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract.uint_mediump_fragment,Crash +dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract.uvec2_lowp_compute,Crash +dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract.uvec2_lowp_fragment,Crash +dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract.uvec2_mediump_compute,Crash +dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract.uvec2_mediump_fragment,Crash +dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract.uvec3_lowp_compute,Crash +dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract.uvec3_lowp_fragment,Crash +dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract.uvec3_mediump_compute,Crash +dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract.uvec3_mediump_fragment,Crash +dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract.uvec4_lowp_compute,Crash +dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract.uvec4_lowp_fragment,Crash +dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract.uvec4_mediump_compute,Crash +dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract.uvec4_mediump_fragment,Crash +dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert.int_lowp_compute,Crash +dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert.int_lowp_fragment,Crash +dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert.int_mediump_compute,Crash +dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert.int_mediump_fragment,Crash +dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert.ivec2_lowp_compute,Crash +dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert.ivec2_lowp_fragment,Crash +dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert.ivec2_mediump_compute,Crash +dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert.ivec2_mediump_fragment,Crash +dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert.ivec3_lowp_compute,Crash +dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert.ivec3_lowp_fragment,Crash +dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert.ivec3_mediump_compute,Crash +dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert.ivec3_mediump_fragment,Crash +dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert.ivec4_lowp_compute,Crash +dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert.ivec4_lowp_fragment,Crash +dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert.ivec4_mediump_compute,Crash +dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert.ivec4_mediump_fragment,Crash +dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert.uint_lowp_compute,Crash +dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert.uint_lowp_fragment,Crash +dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert.uint_mediump_compute,Crash +dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert.uint_mediump_fragment,Crash +dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert.uvec2_lowp_compute,Crash +dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert.uvec2_lowp_fragment,Crash +dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert.uvec2_mediump_compute,Crash +dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert.uvec2_mediump_fragment,Crash +dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert.uvec3_lowp_compute,Crash +dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert.uvec3_lowp_fragment,Crash +dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert.uvec3_mediump_compute,Crash +dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert.uvec3_mediump_fragment,Crash +dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert.uvec4_lowp_compute,Crash +dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert.uvec4_lowp_fragment,Crash +dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert.uvec4_mediump_compute,Crash +dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert.uvec4_mediump_fragment,Crash + +dEQP-GLES31.functional.ubo.random.all_per_block_buffers.20,Fail dEQP-GLES3.functional.clipping.line.wide_line_clip_viewport_center,Fail -dEQP-GLES3.functional.clipping.point.wide_point_clip,Fail -dEQP-GLES3.functional.clipping.point.wide_point_clip_viewport_corner,Fail dEQP-GLES3.functional.clipping.line.wide_line_clip_viewport_corner,Fail +dEQP-GLES3.functional.clipping.point.wide_point_clip,Fail dEQP-GLES3.functional.clipping.point.wide_point_clip_viewport_center,Fail +dEQP-GLES3.functional.clipping.point.wide_point_clip_viewport_corner,Fail dEQP-GLES3.functional.fbo.blit.depth_stencil.depth24_stencil8_basic,Fail dEQP-GLES3.functional.fbo.blit.depth_stencil.depth24_stencil8_scale,Fail dEQP-GLES3.functional.fbo.blit.depth_stencil.depth24_stencil8_stencil_only,Fail @@ -52,3 +122,95 @@ dEQP-GLES3.functional.shaders.texture_functions.textureprojgradoffset.sampler3d_ dEQP-GLES3.functional.shaders.texture_functions.textureprojgradoffset.sampler3d_float_vertex,Fail dEQP-GLES3.functional.shaders.texture_functions.textureprojgrad.sampler2dshadow_vertex,Fail dEQP-GLES3.functional.texture.specification.texstorage3d.size.3d_2x2x2_2_levels,Fail + +# Draws white instead of gradient +KHR-GLES2.core.internalformat.copy_tex_image.alpha8_oes,Fail +KHR-GLES2.core.internalformat.copy_tex_image.alpha,Fail +KHR-GLES3.core.internalformat.copy_tex_image.alpha,Fail +KHR-GLES31.core.internalformat.copy_tex_image.alpha,Fail + +# "../src/freedreno/ir3/ir3_ra.c:132: interval_insert: Assertion `(interval->reg->flags & IR3_REG_HALF) == (right->reg->flags & IR3_REG_HALF)' failed." +KHR-GLES31.core.arrays_of_arrays.InteractionArgumentAliasing1,Crash +KHR-GLES31.core.arrays_of_arrays.InteractionArgumentAliasing2,Crash +KHR-GLES31.core.arrays_of_arrays.InteractionArgumentAliasing3,Crash +KHR-GLES31.core.arrays_of_arrays.InteractionArgumentAliasing4,Crash +KHR-GLES31.core.arrays_of_arrays.InteractionArgumentAliasing5,Crash +KHR-GLES31.core.arrays_of_arrays.InteractionArgumentAliasing6,Crash + +# "Invalid array size was returned. at es31cArrayOfArraysTests.cpp:4779" +# msm 900000.mdss: [drm:a5xx_irq] *ERROR* gpu fault ring 0 fence 2c54ef status E40801C1 rb 0162/0162 ib1 000000000104B000/0000 ib2 000000000104C000/0000 +KHR-GLES31.core.arrays_of_arrays.InteractionFunctionCalls1,Fail +KHR-GLES31.core.arrays_of_arrays.InteractionFunctionCalls2,Fail + +# "gl_NumWorkGroups: Invalid data at index 0" +KHR-GLES31.core.compute_shader.built-in-variables,Fail + +# "Got red: 1, expected 0.00392157, at (1, 0)" +KHR-GLES31.core.compute_shader.resource-image,Fail + +# "../src/gallium/drivers/freedreno/a5xx/fd5_emit.c:82: fd5_emit_const_bo: Assertion `dst_off % 4 == 0' failed." +KHR-GLES31.core.draw_indirect.advanced-twoPass-transformFeedback-arrays,Crash +KHR-GLES31.core.draw_indirect.advanced-twoPass-transformFeedback-elements,Crash +KHR-GLES31.core.draw_indirect.basic-drawArrays-vertexIds,Crash +KHR-GLES31.core.draw_indirect.basic-drawElements-vertexIds,Crash + +# "drawTestCompute failed expected: RGBA(4, 3, 2, 1) actual: RGBA(0, 255, 0, 255)" +KHR-GLES31.core.layout_binding.sampler2DArray_layout_binding_texture_ComputeShader,Fail +KHR-GLES31.core.layout_binding.sampler2D_layout_binding_texture_ComputeShader,Fail +KHR-GLES31.core.layout_binding.sampler3D_layout_binding_texture_ComputeShader,Fail + +# msm 900000.mdss: [drm:a5xx_irq] *ERROR* gpu fault ring 0 fence 2c54ef status E40801C1 rb 0162/0162 ib1 000000000104B000/0000 ib2 000000000104C000/0000 +KHR-GLES31.core.texture_buffer.texture_buffer_atomic_functions,Fail + +# Many failures, across formats +KHR-GLES3.copy_tex_image_conversions.required.cubemap_posx_cubemap_posx,Fail +KHR-GLES3.copy_tex_image_conversions.required.cubemap_posx_texture2d,Fail +KHR-GLES3.copy_tex_image_conversions.required.renderbuffer_cubemap_posx,Fail +KHR-GLES3.copy_tex_image_conversions.required.renderbuffer_texture2d,Fail +KHR-GLES3.copy_tex_image_conversions.required.texture2d_cubemap_posx,Fail +KHR-GLES3.copy_tex_image_conversions.required.texture2d_texture2d,Fail +KHR-GLES3.copy_tex_image_conversions.required.texture3d_cubemap_posx,Fail +KHR-GLES3.copy_tex_image_conversions.required.texture3d_texture2d,Fail + +KHR-GLES3.packed_depth_stencil.blit.depth24_stencil8,Fail +KHR-GLES3.packed_depth_stencil.blit.depth32f_stencil8,Fail +KHR-GLES3.packed_depth_stencil.verify_read_pixels.depth24_stencil8,Fail + +# "Non-integer comparison: 1, 0, 18, 1e-05: 0.142857 == 0: not equal. +# Copy stage: Gradient comparison failed during ReadPixels for input = [GL_RG, GL_FLOAT] output = [GL_RED, GL_FLOAT]" +KHR-GLES3.packed_pixels.pbo_rectangle.rg32f,Fail +# " Integer comparison: 1, 0, 18: 306783392 == 0: not equal. +# Copy stage: Gradient comparison failed during ReadPixels for input = [GL_RG_INTEGER, GL_INT] output = [GL_RED_INTEGER, GL_INT]" +KHR-GLES3.packed_pixels.pbo_rectangle.rg32i,Fail +KHR-GLES3.packed_pixels.pbo_rectangle.rg32ui,Fail +KHR-GLES3.packed_pixels.pbo_rectangle.rgb16f,Fail +KHR-GLES3.packed_pixels.pbo_rectangle.rgba16f,Fail +KHR-GLES3.packed_pixels.pbo_rectangle.rgba16i,Fail +KHR-GLES3.packed_pixels.pbo_rectangle.rgba16ui,Fail +KHR-GLES3.packed_pixels.pbo_rectangle.rgba32f,Fail +KHR-GLES3.packed_pixels.pbo_rectangle.rgba32i,Fail +KHR-GLES3.packed_pixels.pbo_rectangle.rgba32ui,Fail + +KHR-GLES3.packed_pixels.rectangle.rg32f,Fail +KHR-GLES3.packed_pixels.rectangle.rg32i,Fail +KHR-GLES3.packed_pixels.rectangle.rg32ui,Fail +KHR-GLES3.packed_pixels.rectangle.rgb16f,Fail +KHR-GLES3.packed_pixels.rectangle.rgba16f,Fail +KHR-GLES3.packed_pixels.rectangle.rgba16i,Fail +KHR-GLES3.packed_pixels.rectangle.rgba16ui,Fail +KHR-GLES3.packed_pixels.rectangle.rgba32f,Fail +KHR-GLES3.packed_pixels.rectangle.rgba32i,Fail +KHR-GLES3.packed_pixels.rectangle.rgba32ui,Fail +KHR-GLES3.packed_pixels.varied_rectangle.rg32f,Fail +KHR-GLES3.packed_pixels.varied_rectangle.rg32i,Fail +KHR-GLES3.packed_pixels.varied_rectangle.rg32ui,Fail +KHR-GLES3.packed_pixels.varied_rectangle.rgb16f,Fail +KHR-GLES3.packed_pixels.varied_rectangle.rgba16f,Fail +KHR-GLES3.packed_pixels.varied_rectangle.rgba16i,Fail +KHR-GLES3.packed_pixels.varied_rectangle.rgba16ui,Fail +KHR-GLES3.packed_pixels.varied_rectangle.rgba32f,Fail +KHR-GLES3.packed_pixels.varied_rectangle.rgba32i,Fail +KHR-GLES3.packed_pixels.varied_rectangle.rgba32ui,Fail + +# "[31] Check failed. Received: [1,0,0,2] instead of: [5,0,0,2]" +KHR-GLES31.core.shader_image_load_store.basic-glsl-misc-fs,Fail diff --git a/src/freedreno/ci/deqp-freedreno-a530-flakes.txt b/src/freedreno/ci/deqp-freedreno-a530-flakes.txt index 33d859bcc27..ac194d19c5c 100644 --- a/src/freedreno/ci/deqp-freedreno-a530-flakes.txt +++ b/src/freedreno/ci/deqp-freedreno-a530-flakes.txt @@ -25,7 +25,16 @@ dEQP-GLES31.functional.separate_shader.interface.same_name_vertex_centroid_fragm # Flaky since running more of GLES31 dEQP-GLES31.functional.texture.border_clamp.* +KHR-GLES31.core.texture_border_clamp.* + +KHR-GLES31.core.shader_image_load_store.basic-allTargets-atomicCS +KHR-GLES31.core.shader_image_load_store.basic-glsl-misc-cs +KHR-GLES31.core.shader_storage_buffer_object.advanced-switchBuffers-cs +KHR-GLES31.core.shader_storage_buffer_object.advanced-switchPrograms-cs +KHR-GLES31.core.shader_storage_buffer_object.basic-syntax-cs # Flaky since around Feb 26, first appearing on a seemingly-unrelated CI change # (ci-fd-fastboot-nfs) dEQP-GLES31.functional.synchronization.inter_call.without_memory_barrier.* + +dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8.filter_mode.min_nearest_mipmap_nearest_mag_linear diff --git a/src/freedreno/ci/deqp-freedreno-a530-skips.txt b/src/freedreno/ci/deqp-freedreno-a530-skips.txt index dc4c488cb0f..ee4cddf7dfe 100644 --- a/src/freedreno/ci/deqp-freedreno-a530-skips.txt +++ b/src/freedreno/ci/deqp-freedreno-a530-skips.txt @@ -14,3 +14,6 @@ dEQP-GLES31.functional.shaders.builtin_functions.precision.distance.lowp_compute dEQP-GLES31.functional.shaders.builtin_functions.precision.pow.highp_compute.vec3 dEQP-GLES31.functional.shaders.builtin_functions.precision.sqrt.highp_compute.vec3 dEQP-GLES31.functional.shaders.builtin_functions.precision.tanh.lowp_compute.vec3 + +# Takes more than a few minutes, time is spent in batch_draw_tracking(). +KHR-GLES31.core.shader_image_load_store.basic-allFormats-store-fs diff --git a/src/freedreno/ci/deqp-freedreno-a530.toml b/src/freedreno/ci/deqp-freedreno-a530.toml new file mode 100644 index 00000000000..d55953bce33 --- /dev/null +++ b/src/freedreno/ci/deqp-freedreno-a530.toml @@ -0,0 +1,42 @@ +# Basic test set +[[deqp]] +deqp = "/deqp/modules/gles2/deqp-gles2" +caselists = ["/deqp/mustpass/gles2-master.txt"] +deqp_args = [ + "--deqp-surface-width=256", "--deqp-surface-height=256", + "--deqp-surface-type=pbuffer", "--deqp-visibility=hidden", + "--deqp-gl-config-name=rgba8888d24s8ms0", +] + +[[deqp]] +deqp = "/deqp/modules/gles3/deqp-gles3" +caselists = ["/deqp/mustpass/gles3-master.txt"] +deqp_args = [ + "--deqp-surface-width=256", "--deqp-surface-height=256", + "--deqp-surface-type=pbuffer", "--deqp-visibility=hidden", + "--deqp-gl-config-name=rgba8888d24s8ms0", +] +fraction = 2 + +[[deqp]] +deqp = "/deqp/modules/gles31/deqp-gles31" +caselists = ["/deqp/mustpass/gles31-master.txt"] +deqp_args = [ + "--deqp-surface-width=256", "--deqp-surface-height=256", + "--deqp-surface-type=pbuffer", "--deqp-visibility=hidden", + "--deqp-gl-config-name=rgba8888d24s8ms0", +] +fraction = 2 + +[[deqp]] +deqp = "/deqp/external/openglcts/modules/glcts" +caselists = [ + "/deqp/mustpass/gles2-khr-master.txt", + "/deqp/mustpass/gles3-khr-master.txt", + "/deqp/mustpass/gles31-khr-master.txt", +] +deqp_args = [ + "--deqp-surface-width=256", "--deqp-surface-height=256", + "--deqp-surface-type=pbuffer", "--deqp-visibility=hidden", + "--deqp-gl-config-name=rgba8888d24s8ms0", +] diff --git a/src/freedreno/ci/deqp-freedreno-a630-bypass-fails.txt b/src/freedreno/ci/deqp-freedreno-a630-bypass-fails.txt deleted file mode 100644 index 61587ebade3..00000000000 --- a/src/freedreno/ci/deqp-freedreno-a630-bypass-fails.txt +++ /dev/null @@ -1,5 +0,0 @@ -dEQP-GLES31.functional.blend_equation_advanced.msaa.colordodge,Fail -dEQP-GLES31.functional.blend_equation_advanced.msaa.exclusion,Fail -dEQP-GLES31.functional.blend_equation_advanced.msaa.hardlight,Fail -dEQP-GLES31.functional.blend_equation_advanced.msaa.multiply,Fail -dEQP-GLES31.functional.blend_equation_advanced.msaa.overlay,Fail diff --git a/src/freedreno/ci/deqp-freedreno-a630-fails.txt b/src/freedreno/ci/deqp-freedreno-a630-fails.txt index f9c930b777c..e26e8afd0ac 100644 --- a/src/freedreno/ci/deqp-freedreno-a630-fails.txt +++ b/src/freedreno/ci/deqp-freedreno-a630-fails.txt @@ -11,6 +11,89 @@ KHR-GL33.transform_feedback.draw_xfb_stream_instanced_test,Crash KHR-GL33.transform_feedback.query_vertex_interleaved_test,Fail KHR-GL33.transform_feedback.query_vertex_separate_test,Fail +# "*** Color comparison failed" +KHR-GLES3.packed_depth_stencil.verify_read_pixels.depth24_stencil8,Fail + +# "MESA: error: ir3_ra() failed!" +KHR-GLES31.core.arrays_of_arrays.InteractionFunctionCalls2,Fail +KHR-GLES31.core.arrays_of_arrays.InteractionArgumentAliasing5,Fail +KHR-GLES31.core.arrays_of_arrays.InteractionArgumentAliasing6,Fail + +# "The values of resultStd[i] & 0xFFFFFFFE and resultFma[i] & 0xFFFFFFFE and resultCPU[i] & 0xFFFFFFFE are not bitwise equal for i = 0..99 " +KHR-GLES31.core.gpu_shader5.fma_precision_float,Fail +KHR-GLES31.core.gpu_shader5.fma_precision_vec2,Fail +KHR-GLES31.core.gpu_shader5.fma_precision_vec3,Fail +KHR-GLES31.core.gpu_shader5.fma_precision_vec4,Fail + +# "Array 0 length is 60829990 should be 7 +# Array 1 length is 60829990 should be 5 +# Array 2 length is 60829990 should be 3 +# Array 3 length is 60829990 should be 4 +# Array 4 length is 132120576 should be 23 +# Array 5 length is 132120576 should be 123 +# Array 6 length is 66060288 should be 419" +KHR-GLES31.core.shader_storage_buffer_object.advanced-unsizedArrayLength-fs-std430-vec,Fail + +# "Array 0 length is 266338304 should be 7 +# Array 1 length is 266338304 should be 3 +# Array 2 length is 266338304 should be 4 +# Array 3 length is 266338303 should be 4" +KHR-GLES31.core.shader_storage_buffer_object.advanced-unsizedArrayLength-fs-int,Fail + +# "gl_NumWorkGroups: Invalid data at index 2" +KHR-GLES31.core.compute_shader.built-in-variables,Fail + +# "Got red: 1, expected 0.00392157, at (1, 0)" +KHR-GLES31.core.compute_shader.resource-image,Fail + +# "(x,y)= (0,0). Color RGBA(0,0,0,1) is different than expected RGBA(0.1,0.2,0.3,1)" +KHR-GLES31.core.draw_indirect.advanced-twoPass-transformFeedback-arrays,Fail +KHR-GLES31.core.draw_indirect.advanced-twoPass-transformFeedback-elements,Fail + +# Lots of errors like "[279] Check failed. Received: [3,0,0,2] instead of: [5,0,0,2]" +KHR-GLES31.core.geometry_shader.layered_framebuffer.depth_support,Fail + +KHR-GLES31.core.geometry_shader.layered_framebuffer.stencil_support,Fail + +# " [31] Check failed. Received: [3,0,0,2] instead of: [5,0,0,2]" +KHR-GLES31.core.shader_image_load_store.basic-glsl-misc-fs,Fail + +# Storage Type: IMMUTABLE imageSize() for imageCubeArray returned wrong values of [width][height][layers]. They are equal to[32][32][18] but should be [32][32][3]. +# Storage Type: IMMUTABLE imageSize() for imageCubeArray returned wrong values of [width][height][layers]. They are equal to[64][64][6] but should be [64][64][1]. +# Storage Type: IMMUTABLE imageSize() for imageCubeArray returned wrong values of [width][height][layers]. They are equal to[128][128][12] but should be [128][128][2]. +# Storage Type: IMMUTABLE imageSize() for imageCubeArray returned wrong values of [width][height][layers]. They are equal to[256][256][12] but should be [256][256][2]. +KHR-GLES31.core.texture_cube_map_array.texture_size_compute_sh,Fail + +# " Pixel data comparison failed; expected: (0.1, 0.2, 0.3, 0.4) rendered: (0, 0, 0, 0) epsilon: 0.00392157 +# Pixel data comparison failed at esextcTessellationShaderPoints.cpp:597" +KHR-GLES31.core.tessellation_shader.tessellation_shader_point_mode.point_rendering,Fail + +# "Invalid value returned: expected:[1, 1, 1, 1] retrieved: [0, 0, 0, 0 +# Invalid rendering result at esextcTessellationShaderBarrier.cpp:504" +KHR-GLES31.core.tessellation_shader.tessellation_shader_tc_barriers.barrier_guarded_read_calls,Fail + +# no debug info in the qpa +KHR-GLES31.core.texture_cube_map_array.color_depth_attachments,Fail +# failures in GS,TCS,TES texturing +KHR-GLES31.core.texture_cube_map_array.sampling,Fail + +# rendering errors in ~4x4 blocks around the bottom side of the diagonal for the quad +bypass-dEQP-GLES31.functional.blend_equation_advanced.msaa.colorburn,Fail +bypass-dEQP-GLES31.functional.blend_equation_advanced.msaa.colordodge,Fail +bypass-dEQP-GLES31.functional.blend_equation_advanced.msaa.darken,Fail +bypass-dEQP-GLES31.functional.blend_equation_advanced.msaa.difference,Fail +bypass-dEQP-GLES31.functional.blend_equation_advanced.msaa.exclusion,Fail +bypass-dEQP-GLES31.functional.blend_equation_advanced.msaa.hardlight,Fail +bypass-dEQP-GLES31.functional.blend_equation_advanced.msaa.hsl_color,Fail +bypass-dEQP-GLES31.functional.blend_equation_advanced.msaa.hsl_hue,Fail +bypass-dEQP-GLES31.functional.blend_equation_advanced.msaa.hsl_luminosity,Fail +bypass-dEQP-GLES31.functional.blend_equation_advanced.msaa.hsl_saturation,Fail +bypass-dEQP-GLES31.functional.blend_equation_advanced.msaa.lighten,Fail +bypass-dEQP-GLES31.functional.blend_equation_advanced.msaa.multiply,Fail +bypass-dEQP-GLES31.functional.blend_equation_advanced.msaa.overlay,Fail +bypass-dEQP-GLES31.functional.blend_equation_advanced.msaa.screen,Fail +bypass-dEQP-GLES31.functional.blend_equation_advanced.msaa.softlight,Fail + # "Fail (createInstance returned VK_ERROR_INITIALIZATION_FAILED)" # happens inside the loader on anholt's debian system, and there are various # likely-looking fixes in later versions of the loader. @@ -281,3 +364,9 @@ dEQP-VK.ssbo.layout.random.all_shared_buffer.5,Fail dEQP-VK.ssbo.layout.random.nested_structs_arrays.0,Fail dEQP-VK.ssbo.layout.random.nested_structs_arrays.17,Fail dEQP-VK.ssbo.layout.random.scalar.19,Fail + +bypass-dEQP-VK.renderpass.dedicated_allocation.attachment_allocation.input_output.7,Fail +bypass-dEQP-VK.renderpass.suballocation.attachment_allocation.input_output.7,Fail +bypass-dEQP-VK.renderpass2.dedicated_allocation.attachment_allocation.input_output.7,Fail +bypass-dEQP-VK.renderpass2.suballocation.attachment_allocation.input_output.7,Fail +bypass-dEQP-VK.renderpass.suballocation.subpass_dependencies.separate_channels.r8g8b8a8_unorm,Fail diff --git a/src/freedreno/ci/deqp-freedreno-a630-flakes.txt b/src/freedreno/ci/deqp-freedreno-a630-flakes.txt index 17f3de6823c..2eac1ecded2 100644 --- a/src/freedreno/ci/deqp-freedreno-a630-flakes.txt +++ b/src/freedreno/ci/deqp-freedreno-a630-flakes.txt @@ -95,3 +95,11 @@ dEQP-VK.wsi.display_control.register_display_event # First noticed Jun 1 2020 on an innocent branch. KHR-GL33.packed_depth_stencil.verify_copy_tex_image.depth32f_stencil8 + +# Flaky with introduction of testing +KHR-GLES31.core.arrays_of_arrays.InteractionFunctionCalls2 +KHR-GLES31.core.geometry_shader.layered_framebuffer.depth_support +KHR-GLES31.core.tessellation_shader.tessellation_shader_tc_barriers.barrier_guarded_read_calls + +# looks like a cache flushing issue, and it does sometimes pass. +bypass-dEQP-GLES31.functional.blend_equation_advanced.msaa.* diff --git a/src/freedreno/ci/deqp-freedreno-a630-premerge-skips.txt b/src/freedreno/ci/deqp-freedreno-a630-premerge-skips.txt new file mode 100644 index 00000000000..eefd3e8ac38 --- /dev/null +++ b/src/freedreno/ci/deqp-freedreno-a630-premerge-skips.txt @@ -0,0 +1,9 @@ +# 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. + +# Timeouts, passes otherwise +KHR-GL33.texture_swizzle.smoke + +# Crashes in RA, but slow enough to get there that CI times out sometimes +dEQP-VK.spirv_assembly.instruction.*.spirv_ids_abuse.lots_ids.* diff --git a/src/freedreno/ci/deqp-freedreno-a630-skips.txt b/src/freedreno/ci/deqp-freedreno-a630-skips.txt index 23b5feb2548..b3531a2c6ac 100644 --- a/src/freedreno/ci/deqp-freedreno-a630-skips.txt +++ b/src/freedreno/ci/deqp-freedreno-a630-skips.txt @@ -2,13 +2,13 @@ # non-zero-length and not starting with '#', will regex match to # delete lines from the test list. Be careful. -# Timeouts, passes otherwise -KHR-GL33.texture_swizzle.smoke +# Note normal pre-merge CI also includes -premerge-skips.txt, and that's where +# "it's slow but would pass/fail/crash within a couple of minutes" skips should go. # Crashes likely caused by https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/2701 dEQP-VK.synchronization.cross_instance.*binary_semaphore_fence_fd -# Timeouts, passes otherwise +# Timeouts in CI even after 5 minutes dEQP-VK.tessellation.invariance.outer_edge_division.quads_equal_spacing dEQP-VK.tessellation.invariance.outer_edge_division.quads_fractional_even_spacing dEQP-VK.tessellation.invariance.outer_edge_division.quads_fractional_odd_spacing @@ -19,9 +19,9 @@ dEQP-VK.tessellation.invariance.outer_triangle_set.triangles_equal_spacing dEQP-VK.tessellation.invariance.outer_triangle_set.triangles_fractional_even_spacing dEQP-VK.tessellation.invariance.outer_triangle_set.triangles_fractional_odd_spacing -# Crashes in RA, but slow enough to get there that CI times out sometimes -dEQP-VK.spirv_assembly.instruction.*.spirv_ids_abuse.lots_ids.* - # timeout, spending all its time in nir_compare_deref_paths() # https://gitlab.freedesktop.org/mesa/mesa/-/issues/5152 dEQP-VK.ubo.random.all_shared_buffer.48 + +# Still running after 3 hours, time is spent in batch_draw_tracking(). +KHR-GLES31.core.shader_image_load_store.basic-allFormats-store-fs diff --git a/src/freedreno/ci/deqp-freedreno-a630-vk-full.toml b/src/freedreno/ci/deqp-freedreno-a630-vk-full.toml new file mode 100644 index 00000000000..35a2280b157 --- /dev/null +++ b/src/freedreno/ci/deqp-freedreno-a630-vk-full.toml @@ -0,0 +1,32 @@ +# Basic test set +[[deqp]] +deqp = "/deqp/external/vulkancts/modules/vulkan/deqp-vk" +caselists = ["/deqp/mustpass/vk-master.txt"] +timeout = 300 +[deqp.env] +# Force binning in the main run, which makes sure we render at +# least 2 bins. This is the path that impacts the most different +# features. +TU_DEBUG = "forcebin" + +# force-bypass testing +[[deqp]] +deqp = "/deqp/external/vulkancts/modules/vulkan/deqp-vk" +caselists = ["/deqp/mustpass/vk-master.txt"] +timeout = 300 +include = ["dEQP-VK.renderpass.*"] +prefix = "bypass-" +[deqp.env] +TU_DEBUG = "sysmem" + +# Partial test with neither force-bin nor force-sysmem. We don't expect trouble +# here if both of those work, but it is the default so we should do at least a +# bit of it. Left disabled for now until we shorten our list of known fails a +# bit more (otherwise, it's a lot of bother to track as uprevs change the +# fraction that gets run). +#[[deqp]] +#deqp = "/deqp/external/vulkancts/modules/vulkan/deqp-vk" +#caselists = ["/deqp/mustpass/vk-master.txt"] +#timeout = 300 +#fraction = 10 +#prefix = "defaults-" diff --git a/src/freedreno/ci/deqp-freedreno-a630-vk.toml b/src/freedreno/ci/deqp-freedreno-a630-vk.toml new file mode 100644 index 00000000000..72becc3dcab --- /dev/null +++ b/src/freedreno/ci/deqp-freedreno-a630-vk.toml @@ -0,0 +1,22 @@ +# Basic test set +[[deqp]] +deqp = "/deqp/external/vulkancts/modules/vulkan/deqp-vk" +caselists = ["/deqp/mustpass/vk-master.txt"] +skips = ["install/deqp-freedreno-a630-premerge-skips.txt"] +fraction = 3 +[deqp.env] +# Force binning in the main run, which makes sure we render at +# least 2 bins. This is the path that impacts the most different +# features. +TU_DEBUG = "forcebin" + +# force-bypass testing +[[deqp]] +deqp = "/deqp/external/vulkancts/modules/vulkan/deqp-vk" +caselists = ["/deqp/mustpass/vk-master.txt"] +skips = ["install/deqp-freedreno-a630-premerge-skips.txt"] +include = ["dEQP-VK.renderpass.*"] +prefix = "bypass-" +fraction = 15 +[deqp.env] +TU_DEBUG = "sysmem" diff --git a/src/freedreno/ci/deqp-freedreno-a630.toml b/src/freedreno/ci/deqp-freedreno-a630.toml new file mode 100644 index 00000000000..b6f782f0bd9 --- /dev/null +++ b/src/freedreno/ci/deqp-freedreno-a630.toml @@ -0,0 +1,145 @@ +# Basic test set +[[deqp]] +deqp = "/deqp/modules/gles2/deqp-gles2" +caselists = ["/deqp/mustpass/gles2-master.txt"] +skips = ["install/deqp-freedreno-a630-premerge-skips.txt"] +deqp_args = [ + "--deqp-surface-width=256", "--deqp-surface-height=256", + "--deqp-surface-type=pbuffer", "--deqp-visibility=hidden", + "--deqp-gl-config-name=rgba8888d24s8ms0", +] + +[[deqp]] +deqp = "/deqp/modules/gles3/deqp-gles3" +caselists = ["/deqp/mustpass/gles3-master.txt"] +skips = ["install/deqp-freedreno-a630-premerge-skips.txt"] +deqp_args = [ + "--deqp-surface-width=256", "--deqp-surface-height=256", + "--deqp-surface-type=pbuffer", "--deqp-visibility=hidden", + "--deqp-gl-config-name=rgba8888d24s8ms0", +] + +[[deqp]] +deqp = "/deqp/modules/gles31/deqp-gles31" +caselists = ["/deqp/mustpass/gles31-master.txt"] +skips = ["install/deqp-freedreno-a630-premerge-skips.txt"] +deqp_args = [ + "--deqp-surface-width=256", "--deqp-surface-height=256", + "--deqp-surface-type=pbuffer", "--deqp-visibility=hidden", + "--deqp-gl-config-name=rgba8888d24s8ms0", +] + +# Note that KHR-GL3* test sets include all tests from the previous +# version, so we only need to run one test list (unlike dEQP-GLES, +# where the test sets are separate). +[[deqp]] +deqp = "/deqp/external/openglcts/modules/glcts" +caselists = [ + "/deqp/mustpass/gles2-khr-master.txt", + "/deqp/mustpass/gles3-khr-master.txt", + "/deqp/mustpass/gles31-khr-master.txt", + "/deqp/mustpass/gl33-master.txt", +] +skips = ["install/deqp-freedreno-a630-premerge-skips.txt"] +deqp_args = [ + "--deqp-surface-width=256", "--deqp-surface-height=256", + "--deqp-surface-type=pbuffer", "--deqp-visibility=hidden", + "--deqp-gl-config-name=rgba8888d24s8ms0", +] + + +# force-gmem testing +[[deqp]] +deqp = "/deqp/modules/gles31/deqp-gles31" +caselists = ["/deqp/mustpass/gles31-master.txt"] +skips = ["install/deqp-freedreno-a630-premerge-skips.txt"] +deqp_args = [ + "--deqp-surface-width=256", "--deqp-surface-height=256", + "--deqp-surface-type=pbuffer", "--deqp-visibility=hidden", + "--deqp-gl-config-name=rgba8888d24s8ms0", +] +fraction = 5 +prefix = "gmem-" +[deqp.env] +FD_MESA_DEBUG = "nobypass" + + +# force-bypass testing +[[deqp]] +deqp = "/deqp/modules/gles31/deqp-gles31" +caselists = ["/deqp/mustpass/gles31-master.txt"] +skips = ["install/deqp-freedreno-a630-premerge-skips.txt"] +deqp_args = [ + "--deqp-surface-width=256", "--deqp-surface-height=256", + "--deqp-surface-type=pbuffer", "--deqp-visibility=hidden", + "--deqp-gl-config-name=rgba8888d24s8ms0", +] +# note that this is in addition to normal flakes +flakes = ["install/deqp-freedreno-a630-bypass-flakes.txt"] +fraction = 5 +prefix = "bypass-" +[deqp.env] +FD_MESA_DEBUG = "nogmem" + + +# noubo testing +[[deqp]] +deqp = "/deqp/modules/gles31/deqp-gles31" +caselists = ["/deqp/mustpass/gles31-master.txt"] +skips = ["install/deqp-freedreno-a630-premerge-skips.txt"] +include = ["functional.*ubo"] +deqp_args = [ + "--deqp-surface-width=256", "--deqp-surface-height=256", + "--deqp-surface-type=pbuffer", "--deqp-visibility=hidden", + "--deqp-gl-config-name=rgba8888d24s8ms0", +] +prefix = "noubo-" +[deqp.env] +IR3_SHADER_DEBUG = "nouboopt" + + +# 565-nozs +[[deqp]] +deqp = "/deqp/modules/gles3/deqp-gles3" +caselists = ["/deqp/mustpass/gles3-565-no-depth-no-stencil.txt"] +skips = ["install/deqp-freedreno-a630-premerge-skips.txt"] +deqp_args = [ + "--deqp-surface-width=256", "--deqp-surface-height=256", + "--deqp-surface-type=pbuffer", "--deqp-visibility=hidden", + "--deqp-gl-config-name=rgb565d0s0ms0", +] +prefix = "565-nozs-" + +[[deqp]] +deqp = "/deqp/modules/gles31/deqp-gles31" +caselists = ["/deqp/mustpass/gles31-565-no-depth-no-stencil.txt"] +skips = ["install/deqp-freedreno-a630-premerge-skips.txt"] +deqp_args = [ + "--deqp-surface-width=256", "--deqp-surface-height=256", + "--deqp-surface-type=pbuffer", "--deqp-visibility=hidden", + "--deqp-gl-config-name=rgb565d0s0ms0", +] +prefix = "565-nozs-" + +# multisample +[[deqp]] +deqp = "/deqp/modules/gles3/deqp-gles3" +caselists = ["/deqp/mustpass/gles3-multisample.txt"] +skips = ["install/deqp-freedreno-a630-premerge-skips.txt"] +deqp_args = [ + "--deqp-surface-width=256", "--deqp-surface-height=256", + "--deqp-surface-type=pbuffer", "--deqp-visibility=hidden", + "--deqp-gl-config-name=rgba8888d24s8ms4", +] +prefix = "multisample-" + +[[deqp]] +deqp = "/deqp/modules/gles31/deqp-gles31" +caselists = ["/deqp/mustpass/gles31-multisample.txt"] +skips = ["install/deqp-freedreno-a630-premerge-skips.txt"] +deqp_args = [ + "--deqp-surface-width=256", "--deqp-surface-height=256", + "--deqp-surface-type=pbuffer", "--deqp-visibility=hidden", + "--deqp-gl-config-name=rgba8888d24s8ms4", +] +prefix = "multisample-" diff --git a/src/freedreno/ci/gitlab-ci.yml b/src/freedreno/ci/gitlab-ci.yml index 035173f2f10..c5a6870f8ac 100644 --- a/src/freedreno/ci/gitlab-ci.yml +++ b/src/freedreno/ci/gitlab-ci.yml @@ -46,32 +46,14 @@ GPU_VERSION: freedreno-a307 DEQP_EXPECTED_RENDERER: FD307 -a306_gles2: +a306_gl: extends: - .baremetal-deqp-test - .a306-test variables: DEQP_VER: gles2 - -a306_gles3: - extends: - - .baremetal-deqp-test - - .a306-test - parallel: 3 - variables: - DEQP_VER: gles3 - -# Fractional runs with debug options. Note that since we're not -# hitting the iommu faults, we can run in parallel (derive from gles2, not gles3). -a306_gles3_options: - extends: - - .baremetal-deqp-test - - .a306-test - variables: - DEQP_VER: gles3 - script: - # Check that the non-constbuf UBO case works. - - DEQP_RUN_SUFFIX=-nouboopt IR3_SHADER_DEBUG=nouboopt DEQP_CASELIST_FILTER="functional.*ubo" ./install/bare-metal/fastboot.sh + DEQP_SUITE: freedreno-a307 + parallel: 5 a306-traces: extends: @@ -92,28 +74,14 @@ a306-traces: tags: - google-freedreno-db820c -a530_gles2: +a530_gl: extends: - .baremetal-deqp-test - .a530-test variables: DEQP_VER: gles2 - -a530_gles3: - extends: - - .baremetal-deqp-test - - .a530-test - parallel: 2 - variables: - DEQP_VER: gles3 - DEQP_FRACTION: 2 - -a530_gles31: - extends: - - a530_gles3 - parallel: 2 - variables: - DEQP_VER: gles31 + DEQP_SUITE: freedreno-a530 + parallel: 5 .a530_piglit: extends: @@ -161,34 +129,17 @@ a530-traces: script: - ./install/bare-metal/cros-servo.sh -a630_gles2: - extends: - - .baremetal-deqp-test - - .a630-test - variables: - DEQP_VER: gles2 - -a630_gles31: - extends: - - .baremetal-deqp-test - - .a630-test - variables: - DEQP_VER: gles31 - -a630_gles3: - extends: - - .baremetal-deqp-test - - .a630-test - variables: - DEQP_VER: gles3 - a630_gl: extends: - .baremetal-deqp-test - .a630-test + parallel: 4 variables: - DEQP_VER: gl33 + DEQP_VER: gles2 # for renderer check + DEQP_SUITE: freedreno-a630 +# Robustness tests may be disruptive to other tests, so we run EGL's robustness +# tests separately. a630_egl: extends: - .baremetal-deqp-test @@ -198,13 +149,6 @@ a630_egl: HWCI_START_XORG: 1 HWCI_TEST_SCRIPT: "/install/bare-metal/arm64_a630_egl.sh" -a630_gles_others: - extends: - - .baremetal-deqp-test - - .a630-test - variables: - HWCI_TEST_SCRIPT: "/install/bare-metal/arm64_a630_gles_others.sh" - a630_gles_asan: extends: - .baremetal-deqp-test @@ -220,21 +164,18 @@ a630_vk: extends: - .baremetal-deqp-test-freedreno-vk - .a630-test - parallel: 2 + parallel: 3 variables: - DEQP_FRACTION: 4 - # Force binning in the main run, which makes sure we render at - # least 2 bins. This is the path that impacts the most different - # features. However, we end up with flaky results in - # dEQP-VK.binding_model.*.geometry and dEQP-VK.glsl.*_vertex. - TU_DEBUG: forcebin + DEQP_VER: vk + DEQP_SUITE: freedreno-a630-vk a630_vk_full: extends: - a630_vk - .test-manual-mr + parallel: 2 variables: - DEQP_FRACTION: 1 + DEQP_SUITE: freedreno-a630-vk-full # Disabled by default until we can sort out what looks like timeouts before # getting to the first test (or is it at cleanup after tests completed?). @@ -253,19 +194,6 @@ a630_vk_asan: # totally useless leak reports. We can still catch buffer overflows. ASAN_OPTIONS: "detect_leaks=0" -# Do a separate sysmem pass over the testcases that really affect sysmem -# rendering. This is currently very flaky, leave it as an option for devs -# to click play on in their branches. -a630_vk_sysmem: - extends: - - .baremetal-deqp-test-freedreno-vk - - .a630-test - variables: - DEQP_FRACTION: 15 - DEQP_CASELIST_FILTER: "dEQP-VK.renderpass.*" - GPU_VERSION: freedreno-a630-bypass - TU_DEBUG: sysmem - a630_piglit: extends: - .piglit-test