From 76af465e57bbf3b29e0ac5288dae1d31791f6990 Mon Sep 17 00:00:00 2001 From: Tomeu Vizoso Date: Thu, 15 Aug 2019 10:41:21 +0200 Subject: [PATCH] panfrost/ci: Use Volt-based runner for dEQP tests 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 Reviewed-by: Alyssa Rosenzweig --- .../drivers/panfrost/ci/create-rootfs.sh | 8 +- .../drivers/panfrost/ci/debian-install.sh | 36 +- .../drivers/panfrost/ci/deqp-runner.sh | 108 +- .../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, 1032 insertions(+), 392 deletions(-) diff --git a/src/gallium/drivers/panfrost/ci/create-rootfs.sh b/src/gallium/drivers/panfrost/ci/create-rootfs.sh index 84ce8cdc882..e01ccb34cb4 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 c42c4387729..816b616b491 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 c468d95d2b4..c6b2cce8882 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,86 @@ 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 + " + +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 0ecfb02c7cd..a15c3f9c670 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 a135c5dd57c..8bbb48ab76f 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 f610f9c826a..56cbdf913f4 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\S*)''..\s+(?P(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\S*):\s+(?P(pass|fail))' from: inline name: deqp path: inline/lava-deqp.yaml -- 2.30.2