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: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12256>
This commit is contained in:
Emma Anholt 2021-07-28 16:30:19 -07:00 committed by Marge Bot
parent 57b041574d
commit 09942227f6
16 changed files with 591 additions and 180 deletions

View File

@ -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

View File

@ -29,6 +29,7 @@ for var in \
DEQP_PARALLEL \
DEQP_RESULTS_DIR \
DEQP_RUNNER_OPTIONS \
DEQP_SUITE \
DEQP_VARIANT \
DEQP_VER \
DEQP_WIDTH \

View File

@ -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"

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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",
]

View File

@ -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

View File

@ -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

View File

@ -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.*

View File

@ -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.*

View File

@ -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

View File

@ -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-"

View File

@ -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"

View File

@ -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-"

View File

@ -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