aboutsummaryrefslogtreecommitdiffstats
path: root/.gitlab-ci/lava-deqp-runner.sh
blob: 28302ce375edf42494b613350c721d7d9044df69 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
#!/bin/sh

GPU_VERSION="$1"

DEQP_OPTIONS="--deqp-surface-width=256 --deqp-surface-height=256"
DEQP_OPTIONS="$DEQP_OPTIONS --deqp-visibility=hidden"
DEQP_OPTIONS="$DEQP_OPTIONS --deqp-log-images=disable"
DEQP_OPTIONS="$DEQP_OPTIONS --deqp-watchdog=enable"
DEQP_OPTIONS="$DEQP_OPTIONS --deqp-crashhandler=enable"
DEQP_OPTIONS="$DEQP_OPTIONS --deqp-surface-type=pbuffer"

export LIBGL_DRIVERS_PATH=/mesa/lib/dri/
export LD_LIBRARY_PATH=/mesa/lib/
export MESA_GLES_VERSION_OVERRIDE=3.0

DEVFREQ_GOVERNOR=`echo /sys/devices/platform/*.gpu/devfreq/devfreq0/governor`
echo performance > $DEVFREQ_GOVERNOR

cd /deqp/modules/gles2

# Generate test case list file
./deqp-gles2 $DEQP_OPTIONS --deqp-runmode=stdout-caselist | grep "TEST: dEQP-GLES2" | cut -d ' ' -f 2 > /tmp/case-list.txt

# Disable for now tests that are very slow, either by just using lots of CPU or by crashing
FLIP_FLOPS="
    dEQP-GLES2.performance
    dEQP-GLES2.stress
    dEQP-GLES2.functional.fbo.render.depth.
    dEQP-GLES2.functional.flush_finish.
    "

# These pass or fail seemingly at random
FLIP_FLOPS="$FLIP_FLOPS
    dEQP-GLES2.performance
    dEQP-GLES2.stress
    dEQP-GLES2.functional.fbo.render.depth.
    dEQP-GLES2.functional.flush_finish.
    dEQP-GLES2.functional.clipping.triangle_vertex.clip_three.clip_neg_x_neg_z_and_pos_x_pos_z_and_neg_x_neg_y_pos_z
    dEQP-GLES2.functional.clipping.triangle_vertex.clip_three.clip_pos_y_pos_z_and_neg_x_neg_y_pos_z_and_pos_x_pos_y_neg_z
    dEQP-GLES2.functional.fbo.render.color.blend_rbo_rgb5_a1
    dEQP-GLES2.functional.fbo.render.color.blend_rbo_rgb5_a1_depth_component16
    dEQP-GLES2.functional.fbo.render.color.blend_rbo_rgba4
    dEQP-GLES2.functional.fbo.render.color.blend_rbo_rgba4_depth_component16
    dEQP-GLES2.functional.fbo.render.color.blend_npot_rbo_rgb5_a1
    dEQP-GLES2.functional.fbo.render.color.blend_npot_rbo_rgb5_a1_depth_component16
    dEQP-GLES2.functional.fbo.render.color.blend_npot_rbo_rgba4
    dEQP-GLES2.functional.fbo.render.color.blend_npot_rbo_rgba4_depth_component16
    dEQP-GLES2.functional.fbo.render.color_clear.rbo_rgb5_a1
    dEQP-GLES2.functional.fbo.render.color_clear.rbo_rgb5_a1_depth_component16
    dEQP-GLES2.functional.fbo.render.color_clear.rbo_rgb5_a1_stencil_index8
    dEQP-GLES2.functional.fbo.render.color_clear.rbo_rgba4_depth_component16
    dEQP-GLES2.functional.fbo.render.color_clear.rbo_rgba4_stencil_index8
    dEQP-GLES2.functional.fbo.render.recreate_depthbuffer.
    dEQP-GLES2.functional.fbo.render.recreate_stencilbuffer.
    dEQP-GLES2.functional.fbo.render.shared_colorbuffer_clear.rbo_rgb5_a1
    dEQP-GLES2.functional.fbo.render.shared_colorbuffer_clear.rbo_rgba4
    dEQP-GLES2.functional.fbo.render.shared_colorbuffer_clear.tex2d_rgb
    dEQP-GLES2.functional.fbo.render.shared_colorbuffer_clear.tex2d_rgba
    dEQP-GLES2.functional.fbo.render.shared_colorbuffer.rbo_rgb5_a1
    dEQP-GLES2.functional.fbo.render.shared_colorbuffer.rbo_rgba4
    dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgb5_a1_depth_component16
    dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgba4_depth_component16
    dEQP-GLES2.functional.fbo.render.stencil_clear.rbo_rgb5_a1_stencil_index8
    dEQP-GLES2.functional.fbo.render.stencil.npot_rbo_rgb5_a1_stencil_index8
    dEQP-GLES2.functional.fbo.render.stencil.npot_rbo_rgba4_stencil_index8
    dEQP-GLES2.functional.fbo.render.stencil.rbo_rgb5_a1_stencil_index8
    dEQP-GLES2.functional.fbo.render.stencil.rbo_rgba4_stencil_index8
    dEQP-GLES2.functional.lifetime.attach.deleted_input.renderbuffer_framebuffer
    dEQP-GLES2.functional.lifetime.attach.deleted_output.renderbuffer_framebuffer
    dEQP-GLES2.functional.polygon_offset.fixed16_factor_0_slope
    dEQP-GLES2.functional.polygon_offset.fixed16_factor_1_slope
    dEQP-GLES2.functional.shaders.invariance.highp.loop_4
    dEQP-GLES2.functional.shaders.matrix.mul.dynamic_highp_mat4_vec4_vertex
    dEQP-GLES2.functional.shaders.matrix.mul.dynamic_highp_vec4_mat4_fragment
    dEQP-GLES2.functional.shaders.operator.common_functions.smoothstep.mediump_vec3_vertex
    dEQP-GLES2.functional.shaders.random.all_features.fragment.12
    dEQP-GLES2.functional.shaders.random.all_features.fragment.37
    dEQP-GLES2.functional.texture.units.2_units.mixed.1
    dEQP-GLES2.functional.texture.units.2_units.mixed.3
    dEQP-GLES2.functional.texture.units.2_units.only_2d.2
    dEQP-GLES2.functional.texture.units.4_units.mixed.5
    dEQP-GLES2.functional.texture.units.4_units.only_2d.0
    dEQP-GLES2.functional.texture.units.8_units.only_cube.2
    dEQP-GLES2.functional.texture.units.all_units.mixed.6
    dEQP-GLES2.functional.texture.units.all_units.only_cube.4
    dEQP-GLES2.functional.texture.units.all_units.only_cube.7
    dEQP-GLES2.functional.texture.units.all_units.only_cube.8
    "

for test in $FLIP_FLOPS; do sed -i "/$test/d" /tmp/case-list.txt; done

/deqp/deqp-volt --cts-build-dir=/deqp \
                --threads=8 \
                --test-names-file=/tmp/case-list.txt \
                --results-file=/tmp/results.txt \
                --no-passed-results \
                --regression-file=/deqp/deqp-panfrost-$GPU_VERSION-fails.txt \
                --no-rerun-tests \
                --print-regression \
                --no-print-fail \
                --no-print-quality \
                --no-colour-term \
                 $DEQP_OPTIONS

if [ $? -ne 0 ]; then
    echo "Regressions detected"
    echo "deqp: fail"
else
    echo "No regressions detected"
    echo "deqp: pass"
fi