It's able to run tests in parallel, fully utilizing the HW and
shortening considerable the time it takes.

Needed to disable tests in RK3288 for now because Volt doesn't support
armhf yet, though this should be fixed soon.

Tests are now run with --deqp-gl-config-name=rgba8888d24s8ms0, so we are
hitting a few more failures in tests that previously were being skipped.

The time to run the tests decreases from around 8 minutes to 1:45
minutes, allowing for extending coverage without increasing CI times too
much.

Signed-off-by: Tomeu Vizoso <tomeu.viz...@collabora.com>
---
 .../drivers/panfrost/ci/create-rootfs.sh      |    8 +-
 .../drivers/panfrost/ci/debian-install.sh     |   36 +-
 .../drivers/panfrost/ci/deqp-runner.sh        |  124 +-
 .../drivers/panfrost/ci/expected-failures.txt | 1118 +++++++++++++----
 src/gallium/drivers/panfrost/ci/gitlab-ci.yml |  138 +-
 .../drivers/panfrost/ci/lava-deqp.yml.jinja2  |   16 +-
 6 files changed, 1048 insertions(+), 392 deletions(-)

diff --git a/src/gallium/drivers/panfrost/ci/create-rootfs.sh 
b/src/gallium/drivers/panfrost/ci/create-rootfs.sh
index 84ce8cdc882a..e01ccb34cb4a 100644
--- a/src/gallium/drivers/panfrost/ci/create-rootfs.sh
+++ b/src/gallium/drivers/panfrost/ci/create-rootfs.sh
@@ -15,9 +15,9 @@ ln -s /bin/sh /init
 rm -rf /etc/localtime
 cp /usr/share/zoneinfo/Etc/UTC /etc/localtime
 
-
-UNNEEDED_PACKAGES=" libfdisk1"\
-" tzdata"\
+UNNEEDED_PACKAGES="libfdisk1
+                   tzdata
+                   diffutils"
 
 export DEBIAN_FRONTEND=noninteractive
 
@@ -182,4 +182,4 @@ rm usr/lib/*/libdb-5.3.so
 rm usr/lib/*/libnss_hesiod*
 rm usr/lib/*/libnss_nis*
 
-rm usr/bin/tar
\ No newline at end of file
+rm bin/tar
diff --git a/src/gallium/drivers/panfrost/ci/debian-install.sh 
b/src/gallium/drivers/panfrost/ci/debian-install.sh
index c42c4387729a..816b616b491a 100644
--- a/src/gallium/drivers/panfrost/ci/debian-install.sh
+++ b/src/gallium/drivers/panfrost/ci/debian-install.sh
@@ -42,6 +42,13 @@ apt-get -y install --no-install-recommends \
        procps \
        qemu-user-static \
        cpio \
+       clang-8 \
+       llvm-8 \
+       libclang-8-dev \
+       llvm-8-dev \
+       gdc-9 \
+       lld-8 \
+       nasm \
        \
        libdrm-dev:${DEBIAN_ARCH} \
        libx11-dev:${DEBIAN_ARCH} \
@@ -65,12 +72,12 @@ apt-get -y install --no-install-recommends \
        libelf-dev:${DEBIAN_ARCH} \
        libwayland-dev:${DEBIAN_ARCH} \
        libwayland-egl-backend-dev:${DEBIAN_ARCH} \
-       libclang-7-dev:${DEBIAN_ARCH} \
        zlib1g-dev:${DEBIAN_ARCH} \
        libglvnd-core-dev:${DEBIAN_ARCH} \
        wayland-protocols:${DEBIAN_ARCH} \
        libpng-dev:${DEBIAN_ARCH}
 
+
 ############### Cross-build dEQP
 mkdir -p /artifacts/rootfs/deqp
 
@@ -89,7 +96,6 @@ cmake -DDEQP_TARGET=wayland                   \
       /VK-GL-CTS-opengl-es-cts-3.2.5.0
 make -j$(nproc)
 rm -rf /artifacts/rootfs/deqp/external
-rm -rf /artifacts/rootfs/deqp/modules/gles3
 rm -rf /artifacts/rootfs/deqp/modules/gles31
 rm -rf /artifacts/rootfs/deqp/modules/internal
 rm -rf /artifacts/rootfs/deqp/executor
@@ -102,6 +108,32 @@ du -sh *
 rm -rf /VK-GL-CTS-opengl-es-cts-3.2.5.0
 
 
+############### Cross-build Volt dEQP runner
+mkdir -p /battery
+cd /battery
+wget 
https://github.com/VoltLang/Battery/releases/download/v0.1.22/battery-0.1.22-x86_64-linux.tar.gz
+tar xzvf battery-0.1.22-x86_64-linux.tar.gz
+rm battery-0.1.22-x86_64-linux.tar.gz
+mv battery /usr/local/bin
+rm -rf /battery
+
+mkdir -p /volt
+cd /volt
+git clone --depth=1 https://github.com/VoltLang/Watt.git
+git clone --depth=1 https://github.com/VoltLang/Volta.git
+git clone --depth=1 https://github.com/Wallbraker/dEQP.git
+battery config --release --lto Volta Watt
+battery build
+battery config --arch aarch64 --cmd-volta Volta/volta Volta/rt Watt dEQP
+battery build
+cp dEQP/deqp /artifacts/rootfs/deqp/deqp-volt
+rm -rf /volt
+
+
+############### Remove LLVM now, so the container image is smaller
+apt-get -y remove \*llvm\*
+
+
 ############### Cross-build kernel
 
KERNEL_URL="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/snapshot/linux-5.2.tar.gz";
 export ARCH=${KERNEL_ARCH}
diff --git a/src/gallium/drivers/panfrost/ci/deqp-runner.sh 
b/src/gallium/drivers/panfrost/ci/deqp-runner.sh
index c468d95d2b42..e2a1eedda3e8 100644
--- a/src/gallium/drivers/panfrost/ci/deqp-runner.sh
+++ b/src/gallium/drivers/panfrost/ci/deqp-runner.sh
@@ -1,7 +1,5 @@
 #!/bin/sh
 
-set -x
-
 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"
@@ -24,26 +22,102 @@ sleep 1  # Give some time for Weston to start up
 ./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
-sed -i '/dEQP-GLES2.performance/d' /tmp/case-list.txt
-sed -i '/dEQP-GLES2.stress/d' /tmp/case-list.txt
-sed -i '/dEQP-GLES2.functional.fbo.render.depth./d' /tmp/case-list.txt
-sed -i '/dEQP-GLES2.functional.flush_finish./d' /tmp/case-list.txt
-
-# Cannot use tee because dash doesn't have pipefail
-touch /tmp/result.txt
-tail -f /tmp/result.txt &
-
-while [ -s /tmp/case-list.txt ]; do
-       ./deqp-gles2 $DEQP_OPTIONS --deqp-log-filename=/dev/null 
--deqp-caselist-file=/tmp/case-list.txt >> /tmp/result.txt
-       if [ $? -ne 0 ]; then
-               # Continue from the subtest after the failing one
-               crashed_test=$(grep "Test case" /tmp/result.txt | tail -1 | sed 
"s/Test case '\(.*\)'\.\./\1/")
-               sed -i "0,/^$crashed_test$/d" /tmp/case-list.txt
-
-               # So LAVA knows what happened
-               echo "Test case '$crashed_test'..
-                         Crash"
-       else
-               break
-       fi
-done
+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
+    "
+
+# FIXME: These tests fail in RK3288 but pass on RK3399
+FLIP_FLOPS="$FLIP_FLOPS
+    dEQP-GLES2.functional.fragment_ops.blend.*
+    dEQP-GLES2.functional.shaders.builtin_variable.max_draw_buffers_vertex
+    dEQP-GLES2.functional.shaders.matrix.div.const_lowp_mat2_mat2_vertex
+    
dEQP-GLES2.functional.shaders.operator.unary_operator.pre_increment_effect.highp_ivec4_vertex
+    
dEQP-GLES2.functional.shaders.texture_functions.vertex.texture2dprojlod_vec3
+    
dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_stts_fragment
+    
dEQP-GLES2.functional.texture.filtering.2d.nearest_mipmap_nearest_linear_repeat_rgba8888
+    
dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_stts_fragment
+    
dEQP-GLES2.functional.shaders.loops.do_while_constant_iterations.only_continue_vertex
+    dEQP-GLES2.functional.fbo.render.resize.tex2d_rgb_depth_component16
+    dEQP-GLES2.functional.fbo.render.resize.tex2d_rgba_depth_component16
+    
dEQP-GLES2.functional.texture.filtering.2d.linear_mipmap_nearest_nearest_clamp_rgba8888
+    "
+
+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/expected-failures.txt \
+                --no-rerun-tests
+
+if [ $? -ne 0 ]; then
+    echo "Regressions detected, printing results:"
+    cat /tmp/results.txt
+    echo "deqp: fail"
+else
+    echo "No regressions detected"
+    echo "deqp: pass"
+fi
diff --git a/src/gallium/drivers/panfrost/ci/expected-failures.txt 
b/src/gallium/drivers/panfrost/ci/expected-failures.txt
index 0ecfb02c7cd6..a15c3f9c6705 100644
--- a/src/gallium/drivers/panfrost/ci/expected-failures.txt
+++ b/src/gallium/drivers/panfrost/ci/expected-failures.txt
@@ -1,237 +1,881 @@
-dEQP-GLES2.functional.buffer.write.use.index_array.array
-dEQP-GLES2.functional.buffer.write.use.index_array.element_array
-dEQP-GLES2.functional.color_clear.masked_rgb
-dEQP-GLES2.functional.color_clear.masked_rgba
-dEQP-GLES2.functional.color_clear.masked_scissored_rgb
-dEQP-GLES2.functional.color_clear.masked_scissored_rgba
-dEQP-GLES2.functional.color_clear.scissored_rgb
-dEQP-GLES2.functional.color_clear.scissored_rgba
-dEQP-GLES2.functional.color_clear.short_scissored_rgb
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb565_depth_component16
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb565_stencil_index8
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb5_a1_depth_component16
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb5_a1_stencil_index8
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgba4_depth_component16
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgba4_stencil_index8
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgb_depth_component16
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgb_stencil_index8
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgba_depth_component16
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgba_stencil_index8
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb565_depth_component16
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb565_stencil_index8
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb5_a1_depth_component16
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb5_a1_stencil_index8
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgba4_depth_component16
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgba4_stencil_index8
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgb_depth_component16
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgb_stencil_index8
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgba_depth_component16
-dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgba_stencil_index8
-dEQP-GLES2.functional.fbo.render.shared_colorbuffer.rbo_rgb565_depth_component16
-dEQP-GLES2.functional.fbo.render.shared_colorbuffer.tex2d_rgb_depth_component16
-dEQP-GLES2.functional.fbo.render.shared_colorbuffer.tex2d_rgba_depth_component16
-dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgb565_depth_component16
-dEQP-GLES2.functional.fbo.render.shared_depthbuffer.tex2d_rgb_depth_component16
-dEQP-GLES2.functional.fbo.render.shared_depthbuffer.tex2d_rgba_depth_component16
-dEQP-GLES2.functional.fbo.render.texsubimage.after_render_tex2d_rgb
-dEQP-GLES2.functional.fbo.render.texsubimage.after_render_tex2d_rgba
-dEQP-GLES2.functional.fbo.render.texsubimage.between_render_tex2d_rgb
-dEQP-GLES2.functional.fbo.render.texsubimage.between_render_tex2d_rgba
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.0
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.1
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.10
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.11
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.12
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.13
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.15
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.16
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.18
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.19
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.20
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.21
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.22
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.23
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.24
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.25
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.26
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.29
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.3
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.30
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.31
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.32
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.33
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.34
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.35
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.36
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.37
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.38
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.39
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.40
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.41
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.42
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.43
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.44
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.46
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.47
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.48
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.49
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.5
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.50
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.51
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.52
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.53
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.54
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.55
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.56
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.57
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.58
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.59
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.6
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.60
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.61
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.62
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.63
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.64
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.65
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.66
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.67
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.68
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.69
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.7
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.70
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.71
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.72
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.73
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.74
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.75
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.76
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.77
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.78
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.79
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.8
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.80
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.81
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.82
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.83
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.84
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.85
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.86
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.87
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.88
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.89
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.9
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.90
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.91
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.92
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.93
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.94
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.95
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.96
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.97
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.98
-dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.99
-dEQP-GLES2.functional.fragment_ops.random.0
-dEQP-GLES2.functional.fragment_ops.random.1
-dEQP-GLES2.functional.fragment_ops.random.10
-dEQP-GLES2.functional.fragment_ops.random.11
-dEQP-GLES2.functional.fragment_ops.random.12
-dEQP-GLES2.functional.fragment_ops.random.13
-dEQP-GLES2.functional.fragment_ops.random.14
-dEQP-GLES2.functional.fragment_ops.random.15
-dEQP-GLES2.functional.fragment_ops.random.16
-dEQP-GLES2.functional.fragment_ops.random.17
-dEQP-GLES2.functional.fragment_ops.random.18
-dEQP-GLES2.functional.fragment_ops.random.19
-dEQP-GLES2.functional.fragment_ops.random.2
-dEQP-GLES2.functional.fragment_ops.random.20
-dEQP-GLES2.functional.fragment_ops.random.21
-dEQP-GLES2.functional.fragment_ops.random.22
-dEQP-GLES2.functional.fragment_ops.random.23
-dEQP-GLES2.functional.fragment_ops.random.24
-dEQP-GLES2.functional.fragment_ops.random.25
-dEQP-GLES2.functional.fragment_ops.random.26
-dEQP-GLES2.functional.fragment_ops.random.27
-dEQP-GLES2.functional.fragment_ops.random.28
-dEQP-GLES2.functional.fragment_ops.random.29
-dEQP-GLES2.functional.fragment_ops.random.3
-dEQP-GLES2.functional.fragment_ops.random.30
-dEQP-GLES2.functional.fragment_ops.random.31
-dEQP-GLES2.functional.fragment_ops.random.32
-dEQP-GLES2.functional.fragment_ops.random.33
-dEQP-GLES2.functional.fragment_ops.random.34
-dEQP-GLES2.functional.fragment_ops.random.35
-dEQP-GLES2.functional.fragment_ops.random.36
-dEQP-GLES2.functional.fragment_ops.random.37
-dEQP-GLES2.functional.fragment_ops.random.38
-dEQP-GLES2.functional.fragment_ops.random.39
-dEQP-GLES2.functional.fragment_ops.random.4
-dEQP-GLES2.functional.fragment_ops.random.40
-dEQP-GLES2.functional.fragment_ops.random.41
-dEQP-GLES2.functional.fragment_ops.random.42
-dEQP-GLES2.functional.fragment_ops.random.43
-dEQP-GLES2.functional.fragment_ops.random.44
-dEQP-GLES2.functional.fragment_ops.random.45
-dEQP-GLES2.functional.fragment_ops.random.46
-dEQP-GLES2.functional.fragment_ops.random.47
-dEQP-GLES2.functional.fragment_ops.random.48
-dEQP-GLES2.functional.fragment_ops.random.49
-dEQP-GLES2.functional.fragment_ops.random.5
-dEQP-GLES2.functional.fragment_ops.random.50
-dEQP-GLES2.functional.fragment_ops.random.51
-dEQP-GLES2.functional.fragment_ops.random.52
-dEQP-GLES2.functional.fragment_ops.random.53
-dEQP-GLES2.functional.fragment_ops.random.54
-dEQP-GLES2.functional.fragment_ops.random.55
-dEQP-GLES2.functional.fragment_ops.random.56
-dEQP-GLES2.functional.fragment_ops.random.57
-dEQP-GLES2.functional.fragment_ops.random.58
-dEQP-GLES2.functional.fragment_ops.random.59
-dEQP-GLES2.functional.fragment_ops.random.6
-dEQP-GLES2.functional.fragment_ops.random.60
-dEQP-GLES2.functional.fragment_ops.random.61
-dEQP-GLES2.functional.fragment_ops.random.62
-dEQP-GLES2.functional.fragment_ops.random.63
-dEQP-GLES2.functional.fragment_ops.random.64
-dEQP-GLES2.functional.fragment_ops.random.65
-dEQP-GLES2.functional.fragment_ops.random.66
-dEQP-GLES2.functional.fragment_ops.random.67
-dEQP-GLES2.functional.fragment_ops.random.68
-dEQP-GLES2.functional.fragment_ops.random.69
-dEQP-GLES2.functional.fragment_ops.random.7
-dEQP-GLES2.functional.fragment_ops.random.70
-dEQP-GLES2.functional.fragment_ops.random.71
-dEQP-GLES2.functional.fragment_ops.random.72
-dEQP-GLES2.functional.fragment_ops.random.73
-dEQP-GLES2.functional.fragment_ops.random.74
-dEQP-GLES2.functional.fragment_ops.random.75
-dEQP-GLES2.functional.fragment_ops.random.76
-dEQP-GLES2.functional.fragment_ops.random.77
-dEQP-GLES2.functional.fragment_ops.random.78
-dEQP-GLES2.functional.fragment_ops.random.79
-dEQP-GLES2.functional.fragment_ops.random.8
-dEQP-GLES2.functional.fragment_ops.random.80
-dEQP-GLES2.functional.fragment_ops.random.81
-dEQP-GLES2.functional.fragment_ops.random.82
-dEQP-GLES2.functional.fragment_ops.random.83
-dEQP-GLES2.functional.fragment_ops.random.84
-dEQP-GLES2.functional.fragment_ops.random.85
-dEQP-GLES2.functional.fragment_ops.random.86
-dEQP-GLES2.functional.fragment_ops.random.87
-dEQP-GLES2.functional.fragment_ops.random.88
-dEQP-GLES2.functional.fragment_ops.random.89
-dEQP-GLES2.functional.fragment_ops.random.9
-dEQP-GLES2.functional.fragment_ops.random.90
-dEQP-GLES2.functional.fragment_ops.random.91
-dEQP-GLES2.functional.fragment_ops.random.92
-dEQP-GLES2.functional.fragment_ops.random.93
-dEQP-GLES2.functional.fragment_ops.random.94
-dEQP-GLES2.functional.fragment_ops.random.95
-dEQP-GLES2.functional.fragment_ops.random.96
-dEQP-GLES2.functional.fragment_ops.random.97
-dEQP-GLES2.functional.fragment_ops.random.98
-dEQP-GLES2.functional.fragment_ops.random.99
-dEQP-GLES2.functional.polygon_offset.fixed16_render_with_units
-dEQP-GLES2.functional.polygon_offset.fixed16_factor_1_slope
-dEQP-GLES2.functional.shaders.builtin_variable.fragcoord_w
-dEQP-GLES2.functional.shaders.scoping.valid.local_variable_hides_function_parameter_fragment
-dEQP-GLES2.functional.shaders.scoping.valid.local_variable_hides_function_parameter_vertex
+dEQP-GLES2.functional.buffer.write.use.index_array.array Fail
+dEQP-GLES2.functional.buffer.write.use.index_array.element_array Fail
+dEQP-GLES2.functional.color_clear.masked_rgba Fail
+dEQP-GLES2.functional.color_clear.masked_rgb Fail
+dEQP-GLES2.functional.color_clear.masked_scissored_rgba Fail
+dEQP-GLES2.functional.color_clear.masked_scissored_rgb Fail
+dEQP-GLES2.functional.color_clear.scissored_rgba Fail
+dEQP-GLES2.functional.color_clear.scissored_rgb Fail
+dEQP-GLES2.functional.color_clear.short_scissored_rgb Fail
+dEQP-GLES2.functional.depth_range.write.0_8_to_third Fail
+dEQP-GLES2.functional.depth_range.write.clamp_both Fail
+dEQP-GLES2.functional.depth_range.write.clamp_far Fail
+dEQP-GLES2.functional.depth_range.write.clamp_near Fail
+dEQP-GLES2.functional.depth_range.write.default Fail
+dEQP-GLES2.functional.depth_range.write.half_to_half Fail
+dEQP-GLES2.functional.depth_range.write.half_to_one Fail
+dEQP-GLES2.functional.depth_range.write.half_to_zero Fail
+dEQP-GLES2.functional.depth_range.write.one_to_half Fail
+dEQP-GLES2.functional.depth_range.write.one_to_one Fail
+dEQP-GLES2.functional.depth_range.write.reverse Fail
+dEQP-GLES2.functional.depth_range.write.third_to_0_8 Fail
+dEQP-GLES2.functional.depth_range.write.zero_to_half Fail
+dEQP-GLES2.functional.depth_stencil_clear.depth Fail
+dEQP-GLES2.functional.depth_stencil_clear.depth_scissored Fail
+dEQP-GLES2.functional.depth_stencil_clear.depth_scissored_masked Fail
+dEQP-GLES2.functional.depth_stencil_clear.depth_stencil Fail
+dEQP-GLES2.functional.depth_stencil_clear.depth_stencil_masked Fail
+dEQP-GLES2.functional.depth_stencil_clear.depth_stencil_scissored Fail
+dEQP-GLES2.functional.depth_stencil_clear.depth_stencil_scissored_masked Fail
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb565_depth_component16
 Fail
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb565_stencil_index8
 Fail
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb5_a1_depth_component16
 Fail
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb5_a1_stencil_index8
 Fail
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgba4_depth_component16
 Fail
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgba4_stencil_index8
 Fail
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgba_depth_component16
 Fail
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgba_stencil_index8
 Fail
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgb_depth_component16
 Fail
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgb_stencil_index8
 Fail
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb565_depth_component16
 Fail
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb565_stencil_index8
 Fail
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb5_a1_depth_component16
 Fail
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb5_a1_stencil_index8
 Fail
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgba4_depth_component16
 Fail
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgba4_stencil_index8
 Fail
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgba_depth_component16
 Fail
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgba_stencil_index8
 Fail
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgb_depth_component16
 Fail
+dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgb_stencil_index8
 Fail
+dEQP-GLES2.functional.fbo.render.shared_colorbuffer.rbo_rgb565_depth_component16
 Fail
+dEQP-GLES2.functional.fbo.render.shared_colorbuffer.tex2d_rgba_depth_component16
 Fail
+dEQP-GLES2.functional.fbo.render.shared_colorbuffer.tex2d_rgb_depth_component16
 Fail
+dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgb565_depth_component16
 Fail
+dEQP-GLES2.functional.fbo.render.shared_depthbuffer.tex2d_rgba_depth_component16
 Fail
+dEQP-GLES2.functional.fbo.render.shared_depthbuffer.tex2d_rgb_depth_component16
 Fail
+dEQP-GLES2.functional.fbo.render.texsubimage.after_render_tex2d_rgba Fail
+dEQP-GLES2.functional.fbo.render.texsubimage.after_render_tex2d_rgb Fail
+dEQP-GLES2.functional.fbo.render.texsubimage.between_render_tex2d_rgba Fail
+dEQP-GLES2.functional.fbo.render.texsubimage.between_render_tex2d_rgb Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.random.0 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.random.10 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.random.11 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.random.12 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.random.13 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.random.14 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.random.15 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.random.16 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.random.17 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.random.18 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.random.19 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.random.1 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.random.20 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.random.21 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.random.22 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.random.23 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.random.24 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.random.2 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.random.3 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.random.4 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.random.5 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.random.6 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.random.7 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.random.8 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.random.9 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.no_stencil_depth_always
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.no_stencil_depth_equal
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.no_stencil_depth_gequal
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.no_stencil_depth_greater
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.no_stencil_depth_lequal
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.no_stencil_depth_less
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.no_stencil_depth_never
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.no_stencil_depth_notequal
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.no_stencil_no_depth
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_always_depth_always
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_always_depth_equal
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_always_depth_gequal
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_always_depth_greater
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_always_depth_lequal
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_always_depth_less
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_always_depth_never
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_always_depth_notequal
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_always_no_depth
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_equal_depth_always
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_equal_depth_equal
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_equal_depth_gequal
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_equal_depth_greater
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_equal_depth_lequal
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_equal_depth_less
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_equal_depth_never
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_equal_depth_notequal
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_equal_no_depth
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_gequal_depth_always
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_gequal_depth_equal
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_gequal_depth_gequal
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_gequal_depth_greater
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_gequal_depth_lequal
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_gequal_depth_less
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_gequal_depth_never
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_gequal_depth_notequal
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_gequal_no_depth
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_greater_depth_always
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_greater_depth_equal
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_greater_depth_gequal
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_greater_depth_greater
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_greater_depth_lequal
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_greater_depth_less
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_greater_depth_never
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_greater_depth_notequal
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_greater_no_depth
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_lequal_depth_always
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_lequal_depth_equal
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_lequal_depth_gequal
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_lequal_depth_greater
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_lequal_depth_lequal
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_lequal_depth_less
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_lequal_depth_never
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_lequal_depth_notequal
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_lequal_no_depth
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_less_depth_always
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_less_depth_equal
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_less_depth_gequal
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_less_depth_greater
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_less_depth_lequal
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_less_depth_less
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_less_depth_never
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_less_depth_notequal
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_less_no_depth
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_never_depth_always
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_never_depth_equal
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_never_depth_gequal
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_never_depth_greater
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_never_depth_lequal
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_never_depth_less
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_never_depth_never
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_never_depth_notequal
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_never_no_depth
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_notequal_depth_always
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_notequal_depth_equal
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_notequal_depth_gequal
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_notequal_depth_greater
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_notequal_depth_lequal
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_notequal_depth_less
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_notequal_depth_never
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_notequal_depth_notequal
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.stencil_notequal_no_depth
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_decr_decr 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_decr_decr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_decr_incr 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_decr_incr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_decr_invert 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_decr_keep 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_decr_replace 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_decr_wrap_decr
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_decr_wrap_decr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_decr_wrap_incr
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_decr_wrap_incr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_decr_wrap_invert
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_decr_wrap_keep
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_decr_wrap_replace
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_decr_wrap_zero
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_decr_zero 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_incr_decr 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_incr_decr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_incr_incr 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_incr_incr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_incr_invert 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_incr_keep 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_incr_replace 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_incr_wrap_decr
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_incr_wrap_decr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_incr_wrap_incr
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_incr_wrap_incr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_incr_wrap_invert
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_incr_wrap_keep
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_incr_wrap_replace
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_incr_wrap_zero
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_incr_zero 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_invert_decr 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_invert_decr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_invert_incr 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_invert_incr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_invert_invert
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_invert_keep 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_invert_replace
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_invert_zero 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_keep_decr 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_keep_decr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_keep_incr 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_keep_incr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_keep_invert 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_keep_keep 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_keep_replace 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_keep_zero 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_replace_decr 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_replace_decr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_replace_incr 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_replace_incr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_replace_invert
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_replace_keep 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_replace_replace
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_replace_zero 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_decr_decr
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_decr_decr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_decr_incr
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_decr_incr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_decr_invert
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_decr_keep
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_decr_replace
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_decr_wrap_decr
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_decr_wrap_decr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_decr_wrap_incr
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_decr_wrap_incr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_decr_wrap_invert
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_decr_wrap_keep
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_decr_wrap_replace
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_decr_wrap_zero
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_decr_zero
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_incr_decr
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_incr_decr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_incr_incr
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_incr_incr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_incr_invert
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_incr_keep
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_incr_replace
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_incr_wrap_decr
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_incr_wrap_decr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_incr_wrap_incr
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_incr_wrap_incr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_incr_wrap_invert
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_incr_wrap_keep
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_incr_wrap_replace
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_incr_wrap_zero
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_incr_zero
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_invert_decr
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_invert_decr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_invert_incr
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_invert_incr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_invert_invert
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_invert_keep
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_invert_replace
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_invert_zero
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_keep_decr
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_keep_decr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_keep_incr
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_keep_incr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_keep_invert
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_keep_keep
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_keep_replace
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_keep_zero
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_replace_decr
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_replace_decr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_replace_incr
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_replace_incr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_replace_invert
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_replace_keep
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_replace_replace
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_replace_zero
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_zero_decr
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_zero_decr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_zero_incr
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_zero_incr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_zero_invert
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_zero_keep
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_zero_replace
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_wrap_zero_zero
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_zero_decr 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_zero_decr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_zero_incr 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_zero_incr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_zero_invert 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_zero_keep 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_zero_replace 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.decr_zero_zero 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_decr_decr 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_decr_decr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_decr_incr 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_decr_incr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_decr_invert 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_decr_keep 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_decr_replace 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_decr_wrap_decr
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_decr_wrap_decr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_decr_wrap_incr
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_decr_wrap_incr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_decr_wrap_invert
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_decr_wrap_keep
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_decr_wrap_replace
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_decr_wrap_zero
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_decr_zero 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_incr_decr 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_incr_decr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_incr_incr 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_incr_incr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_incr_invert 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_incr_keep 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_incr_replace 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_incr_wrap_decr
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_incr_wrap_decr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_incr_wrap_incr
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_incr_wrap_incr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_incr_wrap_invert
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_incr_wrap_keep
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_incr_wrap_replace
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_incr_wrap_zero
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_incr_zero 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_invert_decr 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_invert_decr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_invert_incr 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_invert_incr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_invert_invert
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_invert_keep 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_invert_replace
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_invert_zero 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_keep_decr 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_keep_decr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_keep_incr 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_keep_incr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_keep_invert 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_keep_keep 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_keep_replace 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_keep_zero 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_replace_decr 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_replace_decr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_replace_incr 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_replace_incr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_replace_invert
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_replace_keep 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_replace_replace
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_replace_zero 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_decr_decr
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_decr_decr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_decr_incr
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_decr_incr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_decr_invert
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_decr_keep
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_decr_replace
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_decr_wrap_decr
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_decr_wrap_decr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_decr_wrap_incr
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_decr_wrap_incr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_decr_wrap_invert
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_decr_wrap_keep
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_decr_wrap_replace
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_decr_wrap_zero
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_decr_zero
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_incr_decr
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_incr_decr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_incr_incr
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_incr_incr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_incr_invert
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_incr_keep
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_incr_replace
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_incr_wrap_decr
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_incr_wrap_decr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_incr_wrap_incr
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_incr_wrap_incr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_incr_wrap_invert
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_incr_wrap_keep
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_incr_wrap_replace
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_incr_wrap_zero
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_incr_zero
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_invert_decr
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_invert_decr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_invert_incr
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_invert_incr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_invert_invert
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_invert_keep
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_invert_replace
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_invert_zero
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_keep_decr
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_keep_decr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_keep_incr
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_keep_incr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_keep_invert
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_keep_keep
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_keep_replace
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_keep_zero
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_replace_decr
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_replace_decr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_replace_incr
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_replace_incr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_replace_invert
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_replace_keep
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_replace_replace
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_replace_zero
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_zero_decr
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_zero_decr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_zero_incr
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_zero_incr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_zero_invert
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_zero_keep
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_zero_replace
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_wrap_zero_zero
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_zero_decr 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_zero_decr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_zero_incr 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_zero_incr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_zero_invert 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_zero_keep 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_zero_replace 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.incr_zero_zero 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_decr_decr 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_decr_decr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_decr_incr 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_decr_incr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_decr_invert
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_decr_keep 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_decr_replace
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_decr_wrap_decr
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_decr_wrap_decr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_decr_wrap_incr
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_decr_wrap_incr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_decr_wrap_invert
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_decr_wrap_keep
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_decr_wrap_replace
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_decr_wrap_zero
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_decr_zero 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_incr_decr 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_incr_decr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_incr_incr 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_incr_incr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_incr_invert
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_incr_keep 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_incr_replace
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_incr_wrap_decr
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_incr_wrap_decr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_incr_wrap_incr
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_incr_wrap_incr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_incr_wrap_invert
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_incr_wrap_keep
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_incr_wrap_replace
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_incr_wrap_zero
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_incr_zero 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_invert_decr
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_invert_decr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_invert_incr
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_invert_incr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_invert_invert
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_invert_keep
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_invert_replace
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_invert_zero
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_keep_decr 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_keep_decr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_keep_incr 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_keep_incr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_keep_invert
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_keep_keep 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_keep_replace
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_keep_zero 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_replace_decr
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_replace_decr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_replace_incr
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_replace_incr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_replace_invert
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_replace_keep
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_replace_replace
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_replace_zero
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_zero_decr 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_zero_decr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_zero_incr 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_zero_incr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_zero_invert
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_zero_keep 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_zero_replace
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.invert_zero_zero 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_decr_decr 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_decr_decr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_decr_incr 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_decr_incr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_decr_invert 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_decr_keep 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_decr_replace 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_decr_wrap_decr
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_decr_wrap_decr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_decr_wrap_incr
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_decr_wrap_incr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_decr_wrap_invert
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_decr_wrap_keep
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_decr_wrap_replace
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_decr_wrap_zero
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_decr_zero 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_incr_decr 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_incr_decr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_incr_incr 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_incr_incr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_incr_invert 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_incr_keep 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_incr_replace 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_incr_wrap_decr
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_incr_wrap_decr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_incr_wrap_incr
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_incr_wrap_incr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_incr_wrap_invert
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_incr_wrap_keep
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_incr_wrap_replace
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_incr_wrap_zero
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_incr_zero 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_invert_decr 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_invert_decr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_invert_incr 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_invert_incr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_invert_invert
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_invert_keep 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_invert_replace
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_invert_zero 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_keep_decr 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_keep_decr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_keep_incr 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_keep_incr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_keep_invert 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_keep_keep 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_keep_replace 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_keep_zero 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_replace_decr 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_replace_decr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_replace_incr 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_replace_incr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_replace_invert
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_replace_keep 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_replace_replace
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_replace_zero 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_zero_decr 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_zero_decr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_zero_incr 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_zero_incr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_zero_invert 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_zero_keep 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_zero_replace 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.keep_zero_zero 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_decr_decr 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_decr_decr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_decr_incr 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_decr_incr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_decr_invert
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_decr_keep 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_decr_replace
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_decr_wrap_decr
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_decr_wrap_decr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_decr_wrap_incr
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_decr_wrap_incr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_decr_wrap_invert
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_decr_wrap_keep
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_decr_wrap_replace
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_decr_wrap_zero
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_decr_zero 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_incr_decr 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_incr_decr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_incr_incr 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_incr_incr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_incr_invert
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_incr_keep 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_incr_replace
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_incr_wrap_decr
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_incr_wrap_decr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_incr_wrap_incr
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_incr_wrap_incr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_incr_wrap_invert
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_incr_wrap_keep
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_incr_wrap_replace
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_incr_wrap_zero
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_incr_zero 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_invert_decr
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_invert_decr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_invert_incr
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_invert_incr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_invert_invert
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_invert_keep
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_invert_replace
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_invert_zero
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_keep_decr 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_keep_decr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_keep_incr 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_keep_incr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_keep_invert
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_keep_keep 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_keep_replace
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_keep_zero 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_replace_decr
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_replace_decr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_replace_incr
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_replace_incr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_replace_invert
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_replace_keep
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_replace_replace
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_replace_zero
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_zero_decr 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_zero_decr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_zero_incr 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_zero_incr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_zero_invert
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_zero_keep 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_zero_replace
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.replace_zero_zero 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_decr_decr 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_decr_decr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_decr_incr 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_decr_incr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_decr_invert 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_decr_keep 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_decr_replace 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_decr_wrap_decr
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_decr_wrap_decr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_decr_wrap_incr
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_decr_wrap_incr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_decr_wrap_invert
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_decr_wrap_keep
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_decr_wrap_replace
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_decr_wrap_zero
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_decr_zero 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_incr_decr 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_incr_decr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_incr_incr 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_incr_incr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_incr_invert 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_incr_keep 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_incr_replace 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_incr_wrap_decr
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_incr_wrap_decr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_incr_wrap_incr
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_incr_wrap_incr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_incr_wrap_invert
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_incr_wrap_keep
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_incr_wrap_replace
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_incr_wrap_zero
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_incr_zero 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_invert_decr 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_invert_decr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_invert_incr 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_invert_incr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_invert_invert
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_invert_keep 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_invert_replace
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_invert_zero 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_keep_decr 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_keep_decr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_keep_incr 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_keep_incr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_keep_invert 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_keep_keep 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_keep_replace 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_keep_zero 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_replace_decr 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_replace_decr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_replace_incr 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_replace_incr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_replace_invert
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_replace_keep 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_replace_replace
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_replace_zero 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_zero_decr 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_zero_decr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_zero_incr 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_zero_incr_wrap
 Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_zero_invert 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_zero_keep 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_zero_replace 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.zero_zero_zero 
Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.write_mask.both Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.write_mask.depth Fail
+dEQP-GLES2.functional.fragment_ops.depth_stencil.write_mask.stencil Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.0 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.10 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.11 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.12 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.13 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.15 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.16 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.17 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.18 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.19 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.1 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.20 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.21 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.22 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.23 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.24 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.25 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.26 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.29 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.30 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.31 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.32 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.33 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.34 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.35 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.36 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.37 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.38 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.39 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.3 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.40 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.41 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.42 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.43 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.44 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.46 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.47 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.48 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.49 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.50 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.51 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.52 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.53 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.54 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.55 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.56 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.57 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.58 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.59 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.5 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.60 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.61 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.62 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.63 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.64 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.65 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.66 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.67 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.68 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.69 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.6 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.70 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.71 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.72 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.73 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.74 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.75 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.76 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.77 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.78 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.79 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.7 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.80 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.81 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.82 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.83 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.84 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.85 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.86 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.87 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.88 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.89 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.8 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.90 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.91 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.92 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.93 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.94 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.95 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.96 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.97 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.98 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.99 Fail
+dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.9 Fail
+dEQP-GLES2.functional.fragment_ops.random.0 Fail
+dEQP-GLES2.functional.fragment_ops.random.10 Fail
+dEQP-GLES2.functional.fragment_ops.random.11 Fail
+dEQP-GLES2.functional.fragment_ops.random.12 Fail
+dEQP-GLES2.functional.fragment_ops.random.13 Fail
+dEQP-GLES2.functional.fragment_ops.random.14 Fail
+dEQP-GLES2.functional.fragment_ops.random.15 Fail
+dEQP-GLES2.functional.fragment_ops.random.16 Fail
+dEQP-GLES2.functional.fragment_ops.random.17 Fail
+dEQP-GLES2.functional.fragment_ops.random.18 Fail
+dEQP-GLES2.functional.fragment_ops.random.19 Fail
+dEQP-GLES2.functional.fragment_ops.random.1 Fail
+dEQP-GLES2.functional.fragment_ops.random.20 Fail
+dEQP-GLES2.functional.fragment_ops.random.21 Fail
+dEQP-GLES2.functional.fragment_ops.random.22 Fail
+dEQP-GLES2.functional.fragment_ops.random.23 Fail
+dEQP-GLES2.functional.fragment_ops.random.24 Fail
+dEQP-GLES2.functional.fragment_ops.random.25 Fail
+dEQP-GLES2.functional.fragment_ops.random.26 Fail
+dEQP-GLES2.functional.fragment_ops.random.27 Fail
+dEQP-GLES2.functional.fragment_ops.random.28 Fail
+dEQP-GLES2.functional.fragment_ops.random.29 Fail
+dEQP-GLES2.functional.fragment_ops.random.2 Fail
+dEQP-GLES2.functional.fragment_ops.random.30 Fail
+dEQP-GLES2.functional.fragment_ops.random.31 Fail
+dEQP-GLES2.functional.fragment_ops.random.32 Fail
+dEQP-GLES2.functional.fragment_ops.random.33 Fail
+dEQP-GLES2.functional.fragment_ops.random.34 Fail
+dEQP-GLES2.functional.fragment_ops.random.35 Fail
+dEQP-GLES2.functional.fragment_ops.random.36 Fail
+dEQP-GLES2.functional.fragment_ops.random.37 Fail
+dEQP-GLES2.functional.fragment_ops.random.38 Fail
+dEQP-GLES2.functional.fragment_ops.random.39 Fail
+dEQP-GLES2.functional.fragment_ops.random.3 Fail
+dEQP-GLES2.functional.fragment_ops.random.40 Fail
+dEQP-GLES2.functional.fragment_ops.random.41 Fail
+dEQP-GLES2.functional.fragment_ops.random.42 Fail
+dEQP-GLES2.functional.fragment_ops.random.43 Fail
+dEQP-GLES2.functional.fragment_ops.random.44 Fail
+dEQP-GLES2.functional.fragment_ops.random.45 Fail
+dEQP-GLES2.functional.fragment_ops.random.46 Fail
+dEQP-GLES2.functional.fragment_ops.random.47 Fail
+dEQP-GLES2.functional.fragment_ops.random.48 Fail
+dEQP-GLES2.functional.fragment_ops.random.49 Fail
+dEQP-GLES2.functional.fragment_ops.random.4 Fail
+dEQP-GLES2.functional.fragment_ops.random.50 Fail
+dEQP-GLES2.functional.fragment_ops.random.51 Fail
+dEQP-GLES2.functional.fragment_ops.random.52 Fail
+dEQP-GLES2.functional.fragment_ops.random.53 Fail
+dEQP-GLES2.functional.fragment_ops.random.54 Fail
+dEQP-GLES2.functional.fragment_ops.random.55 Fail
+dEQP-GLES2.functional.fragment_ops.random.56 Fail
+dEQP-GLES2.functional.fragment_ops.random.57 Fail
+dEQP-GLES2.functional.fragment_ops.random.58 Fail
+dEQP-GLES2.functional.fragment_ops.random.59 Fail
+dEQP-GLES2.functional.fragment_ops.random.5 Fail
+dEQP-GLES2.functional.fragment_ops.random.60 Fail
+dEQP-GLES2.functional.fragment_ops.random.61 Fail
+dEQP-GLES2.functional.fragment_ops.random.62 Fail
+dEQP-GLES2.functional.fragment_ops.random.63 Fail
+dEQP-GLES2.functional.fragment_ops.random.64 Fail
+dEQP-GLES2.functional.fragment_ops.random.65 Fail
+dEQP-GLES2.functional.fragment_ops.random.66 Fail
+dEQP-GLES2.functional.fragment_ops.random.67 Fail
+dEQP-GLES2.functional.fragment_ops.random.68 Fail
+dEQP-GLES2.functional.fragment_ops.random.69 Fail
+dEQP-GLES2.functional.fragment_ops.random.6 Fail
+dEQP-GLES2.functional.fragment_ops.random.70 Fail
+dEQP-GLES2.functional.fragment_ops.random.71 Fail
+dEQP-GLES2.functional.fragment_ops.random.72 Fail
+dEQP-GLES2.functional.fragment_ops.random.73 Fail
+dEQP-GLES2.functional.fragment_ops.random.74 Fail
+dEQP-GLES2.functional.fragment_ops.random.75 Fail
+dEQP-GLES2.functional.fragment_ops.random.76 Fail
+dEQP-GLES2.functional.fragment_ops.random.77 Fail
+dEQP-GLES2.functional.fragment_ops.random.78 Fail
+dEQP-GLES2.functional.fragment_ops.random.79 Fail
+dEQP-GLES2.functional.fragment_ops.random.7 Fail
+dEQP-GLES2.functional.fragment_ops.random.80 Fail
+dEQP-GLES2.functional.fragment_ops.random.81 Fail
+dEQP-GLES2.functional.fragment_ops.random.82 Fail
+dEQP-GLES2.functional.fragment_ops.random.83 Fail
+dEQP-GLES2.functional.fragment_ops.random.84 Fail
+dEQP-GLES2.functional.fragment_ops.random.85 Fail
+dEQP-GLES2.functional.fragment_ops.random.86 Fail
+dEQP-GLES2.functional.fragment_ops.random.87 Fail
+dEQP-GLES2.functional.fragment_ops.random.88 Fail
+dEQP-GLES2.functional.fragment_ops.random.89 Fail
+dEQP-GLES2.functional.fragment_ops.random.8 Fail
+dEQP-GLES2.functional.fragment_ops.random.90 Fail
+dEQP-GLES2.functional.fragment_ops.random.91 Fail
+dEQP-GLES2.functional.fragment_ops.random.92 Fail
+dEQP-GLES2.functional.fragment_ops.random.93 Fail
+dEQP-GLES2.functional.fragment_ops.random.94 Fail
+dEQP-GLES2.functional.fragment_ops.random.95 Fail
+dEQP-GLES2.functional.fragment_ops.random.96 Fail
+dEQP-GLES2.functional.fragment_ops.random.97 Fail
+dEQP-GLES2.functional.fragment_ops.random.98 Fail
+dEQP-GLES2.functional.fragment_ops.random.99 Fail
+dEQP-GLES2.functional.fragment_ops.random.9 Fail
+dEQP-GLES2.functional.polygon_offset.default_factor_1_slope Fail
+dEQP-GLES2.functional.polygon_offset.default_render_with_units Fail
+dEQP-GLES2.functional.polygon_offset.fixed16_factor_1_slope Fail
+dEQP-GLES2.functional.polygon_offset.fixed16_render_with_units Fail
+dEQP-GLES2.functional.shaders.builtin_variable.fragcoord_w Fail
+dEQP-GLES2.functional.shaders.scoping.valid.local_variable_hides_function_parameter_fragment
 Fail
+dEQP-GLES2.functional.shaders.scoping.valid.local_variable_hides_function_parameter_vertex
 Fail
diff --git a/src/gallium/drivers/panfrost/ci/gitlab-ci.yml 
b/src/gallium/drivers/panfrost/ci/gitlab-ci.yml
index a135c5dd57c2..8bbb48ab76f1 100644
--- a/src/gallium/drivers/panfrost/ci/gitlab-ci.yml
+++ b/src/gallium/drivers/panfrost/ci/gitlab-ci.yml
@@ -16,7 +16,7 @@
 variables:
   UPSTREAM_REPO: mesa/mesa
   DEBIAN_VERSION: testing-slim
-  IMAGE_TAG: "2019-07-25-1"
+  IMAGE_TAG: "2019-08-21-1"
 
 include:
   - project: 'wayland/ci-templates'
@@ -51,15 +51,15 @@ stages:
                   KERNEL_IMAGE_NAME=${KERNEL_IMAGE_NAME}
                   bash src/gallium/drivers/panfrost/ci/debian-install.sh'
 
-container:armhf:
-  extends: .container
-  variables:
-    DEBIAN_ARCH: "armhf"
-    GCC_ARCH: "arm-linux-gnueabihf"
-    KERNEL_ARCH: "arm"
-    DEFCONFIG: "arch/arm/configs/multi_v7_defconfig"
-    DEVICE_TREES: "arch/arm/boot/dts/rk3288-veyron-jaq.dtb"
-    KERNEL_IMAGE_NAME: "zImage"
+#container:armhf:
+#  extends: .container
+#  variables:
+#    DEBIAN_ARCH: "armhf"
+#    GCC_ARCH: "arm-linux-gnueabihf"
+#    KERNEL_ARCH: "arm"
+#    DEFCONFIG: "arch/arm/configs/multi_v7_defconfig"
+#    DEVICE_TREES: "arch/arm/boot/dts/rk3288-veyron-jaq.dtb"
+#    KERNEL_IMAGE_NAME: "zImage"
 
 container:arm64:
   extends: .container
@@ -101,6 +101,7 @@ container:arm64:
 
     # Pack rootfs
     - cp src/gallium/drivers/panfrost/ci/deqp-runner.sh 
/artifacts/rootfs/deqp/.
+    - cp src/gallium/drivers/panfrost/ci/expected-failures.txt 
/artifacts/rootfs/deqp/.
     - du -sh /artifacts/rootfs/deqp/*
     - find /artifacts/rootfs/ -type f -printf "%s\t%p\n" | sort -n
     - cd /artifacts/rootfs/ ; find -H  |  cpio -H newc -v -o | gzip -c - > 
$CI_PROJECT_DIR/results/panfrost-rootfs-${DEBIAN_ARCH}.cpio.gz
@@ -123,13 +124,13 @@ container:arm64:
     paths:
       - results/
 
-build:armhf:
-  extends: .build
-  variables:
-    DEBIAN_ARCH: "armhf"
-    GCC_ARCH: "arm-linux-gnueabihf"
-    DEVICE_TYPE: "rk3288-veyron-jaq"
-    KERNEL_IMAGE_NAME: "zImage"
+#build:armhf:
+#  extends: .build
+#  variables:
+#    DEBIAN_ARCH: "armhf"
+#    GCC_ARCH: "arm-linux-gnueabihf"
+#    DEVICE_TYPE: "rk3288-veyron-jaq"
+#    KERNEL_IMAGE_NAME: "zImage"
 
 build:arm64:
   extends: .build
@@ -155,107 +156,22 @@ build:arm64:
         username: jenkins-fdo
         token: $LAVA_TOKEN
       " > ~/.config/lavacli.yaml
-    - lava_job_id=`lavacli jobs submit $CI_PROJECT_DIR/results/lava-deqp.yml` 
|| echo $lava_job_id
+    - lava_job_id=`lavacli jobs submit $CI_PROJECT_DIR/results/lava-deqp.yml`
+    - echo $lava_job_id
     - lavacli jobs logs $lava_job_id | grep -a -v "{'case':" | tee 
results/lava-deqp-$lava_job_id.log
     - lavacli jobs show $lava_job_id
-    - curl 
"https://lava.collabora.co.uk/results/$lava_job_id/csv?user=jenkins-fdo&token=$LAVA_TOKEN";
 > raw_results.csv
-    - cat raw_results.csv | csvcut -c 12,3 | grep dEQP-GLES2 | sort > 
results/results-$lava_job_id.csv
-
-    # FIXME: Remove flip-flops from comparison files
-    - |
-      FLIP_FLOPS="
-        
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
-        "
-
-    # FIXME: These tests fail in RK3288 but pass on RK3399
-    - |
-      FLIP_FLOPS="$FLIP_FLOPS
-        dEQP-GLES2.functional.fragment_ops.blend.*
-        dEQP-GLES2.functional.shaders.builtin_variable.max_draw_buffers_vertex
-        dEQP-GLES2.functional.shaders.matrix.div.const_lowp_mat2_mat2_vertex
-        
dEQP-GLES2.functional.shaders.operator.unary_operator.pre_increment_effect.highp_ivec4_vertex
-        
dEQP-GLES2.functional.shaders.texture_functions.vertex.texture2dprojlod_vec3
-        
dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_stts_fragment
-        
dEQP-GLES2.functional.texture.filtering.2d.nearest_mipmap_nearest_linear_repeat_rgba8888
-        
dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_stts_fragment
-        
dEQP-GLES2.functional.shaders.loops.do_while_constant_iterations.only_continue_vertex
-        dEQP-GLES2.functional.fbo.render.resize.tex2d_rgb_depth_component16
-        dEQP-GLES2.functional.fbo.render.resize.tex2d_rgba_depth_component16
-        
dEQP-GLES2.functional.texture.filtering.2d.linear_mipmap_nearest_nearest_clamp_rgba8888
-        "
-
-    - for test in $FLIP_FLOPS; do sed -i "/$test/d" 
results/expected-failures.txt results/results-$lava_job_id.csv; done
-
-    - PASSED=$(grep pass$ results/results-$lava_job_id.csv | wc -l)
-    - FAILED=$(grep fail$ results/results-$lava_job_id.csv | wc -l)
-    - TOTAL=$(wc -l < results/results-$lava_job_id.csv)
-    - 'echo "Passed: $PASSED ($(expr $PASSED \* 100 / $TOTAL)%)"'
-    - 'echo "Failed: $FAILED ($(expr $FAILED \* 100 / $TOTAL)%)"'
-    - 'echo "Total: $TOTAL"'
-    - 'if [ $TOTAL != 16374 ]; then echo "WARNING: Unexpected count of 
results. Incomplete run?"; fi'
-
-    - sed '/,pass/d' results/results-$lava_job_id.csv | sed 's/,fail//' > 
results/failures-$lava_job_id.txt
-
-    # Don't error out on RK3288
-    - diff -u results/expected-failures.txt results/failures-$lava_job_id.txt 
|| [ -f results/rk3288-veyron-jaq.dtb ]
+    - result=`lavacli results $lava_job_id 0_deqp deqp | head -1`
+    - echo $result
+    - '[[ "$result" == "pass" ]]'
   artifacts:
     when: always
     paths:
       - results/
 
-test:armhf:
-  extends: .test
-  dependencies:
-    - build:armhf
+#test:armhf:
+#  extends: .test
+#  dependencies:
+#    - build:armhf
 
 test:arm64:
   extends: .test
diff --git a/src/gallium/drivers/panfrost/ci/lava-deqp.yml.jinja2 
b/src/gallium/drivers/panfrost/ci/lava-deqp.yml.jinja2
index f610f9c826a4..56cbdf913f46 100644
--- a/src/gallium/drivers/panfrost/ci/lava-deqp.yml.jinja2
+++ b/src/gallium/drivers/panfrost/ci/lava-deqp.yml.jinja2
@@ -50,21 +50,11 @@ actions:
           - mount -t devtmpfs none /dev
           - mkdir -p /dev/pts
           - mount -t devpts devpts /dev/pts
-          - echo 1 > /proc/sys/kernel/printk
-#          - echo performance > 
/sys/devices/platform/ff9a0000.gpu/devfreq/devfreq0/governor
+          - echo 3 > /proc/sys/kernel/printk
+          - echo performance > 
/sys/devices/platform/ff9a0000.gpu/devfreq/devfreq0/governor
           - sh /deqp/deqp-runner.sh
         parse:
-          pattern: 'Test case 
''(?P<test_case_id>\S*)''..\s+(?P<result>(Pass|NotSupported|QualityWarning|CompatibilityWarning|Fail|ResourceError|Crash|Timeout|InternalError))'
-          fixupdict:
-            Pass: pass
-            NotSupported: pass
-            QualityWarning: pass
-            CompatibilityWarning: pass
-            Fail: fail
-            ResourceError: fail
-            Crash: fail
-            Timeout: fail
-            InternalError: fail
+          pattern: '(?P<test_case_id>\S*):\s+(?P<result>(pass|fail))'
       from: inline
       name: deqp
       path: inline/lava-deqp.yaml
-- 
2.20.1

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to