diff options
author | Tomeu Vizoso <[email protected]> | 2019-09-18 16:43:30 +0200 |
---|---|---|
committer | Tomeu Vizoso <[email protected]> | 2019-10-06 07:47:41 -0700 |
commit | 555c0de8c6f5b8be8c28ee92a816c7bb711afde5 (patch) | |
tree | 7a214d34287278667f3006470ee7f98fdea11bb5 /src/gallium/drivers/panfrost | |
parent | 7b01f725dd2984d1e6a994330a9dd012957d8abb (diff) |
gitlab-ci: Move LAVA-related files into top-level ci dir
In preparation for testing drivers other than Panfrost in LAVA labs.
Signed-off-by: Tomeu Vizoso <[email protected]>
Reviewed-by: Eric Anholt <[email protected]>
Diffstat (limited to 'src/gallium/drivers/panfrost')
-rw-r--r-- | src/gallium/drivers/panfrost/ci/arm.config | 45 | ||||
-rw-r--r-- | src/gallium/drivers/panfrost/ci/arm64.config | 84 | ||||
-rw-r--r-- | src/gallium/drivers/panfrost/ci/create-rootfs.sh | 185 | ||||
-rw-r--r-- | src/gallium/drivers/panfrost/ci/debian-install.sh | 180 | ||||
-rw-r--r-- | src/gallium/drivers/panfrost/ci/deqp-runner.sh | 109 | ||||
-rw-r--r-- | src/gallium/drivers/panfrost/ci/expected-failures.txt | 874 | ||||
-rwxr-xr-x | src/gallium/drivers/panfrost/ci/generate_lava.py | 25 | ||||
-rw-r--r-- | src/gallium/drivers/panfrost/ci/gitlab-ci.yml | 179 | ||||
-rw-r--r-- | src/gallium/drivers/panfrost/ci/lava-deqp.yml.jinja2 | 60 |
9 files changed, 0 insertions, 1741 deletions
diff --git a/src/gallium/drivers/panfrost/ci/arm.config b/src/gallium/drivers/panfrost/ci/arm.config deleted file mode 100644 index 6bcc5a87202..00000000000 --- a/src/gallium/drivers/panfrost/ci/arm.config +++ /dev/null @@ -1,45 +0,0 @@ -CONFIG_LOCALVERSION="ccu" - -CONFIG_DEBUG_KERNEL=y - -CONFIG_DEVFREQ_GOV_PERFORMANCE=y -CONFIG_DEVFREQ_GOV_POWERSAVE=y -CONFIG_DEVFREQ_GOV_USERSPACE=y -CONFIG_DEVFREQ_GOV_PASSIVE=y -CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y - -CONFIG_DRM=y -CONFIG_DRM_ROCKCHIP=y -CONFIG_DRM_PANFROST=y -CONFIG_DRM_PANEL_SIMPLE=y -CONFIG_PWM_CROS_EC=y -CONFIG_BACKLIGHT_PWM=y - -CONFIG_ROCKCHIP_CDN_DP=n - -CONFIG_SPI_ROCKCHIP=y -CONFIG_PWM_ROCKCHIP=y -CONFIG_PHY_ROCKCHIP_DP=y -CONFIG_DWMAC_ROCKCHIP=y - -CONFIG_MFD_RK808=y -CONFIG_REGULATOR_RK808=y -CONFIG_RTC_DRV_RK808=y -CONFIG_COMMON_CLK_RK808=y - -CONFIG_REGULATOR_FAN53555=y -CONFIG_REGULATOR=y - -CONFIG_REGULATOR_VCTRL=y - -CONFIG_KASAN=n -CONFIG_KASAN_INLINE=n -CONFIG_STACKTRACE=n - -CONFIG_TMPFS=y - -CONFIG_PROVE_LOCKING=n -CONFIG_DEBUG_LOCKDEP=n -CONFIG_SOFTLOCKUP_DETECTOR=n -CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC=n - diff --git a/src/gallium/drivers/panfrost/ci/arm64.config b/src/gallium/drivers/panfrost/ci/arm64.config deleted file mode 100644 index 44dfe860b8d..00000000000 --- a/src/gallium/drivers/panfrost/ci/arm64.config +++ /dev/null @@ -1,84 +0,0 @@ -CONFIG_LOCALVERSION="ccu" - -CONFIG_DEBUG_KERNEL=y - -CONFIG_DEVFREQ_GOV_PERFORMANCE=y -CONFIG_DEVFREQ_GOV_POWERSAVE=y -CONFIG_DEVFREQ_GOV_USERSPACE=y -CONFIG_DEVFREQ_GOV_PASSIVE=y - -CONFIG_DRM=y -CONFIG_DRM_ROCKCHIP=y -CONFIG_DRM_PANFROST=y -CONFIG_DRM_PANEL_SIMPLE=y -CONFIG_PWM_CROS_EC=y -CONFIG_BACKLIGHT_PWM=y - -CONFIG_ROCKCHIP_CDN_DP=n - -CONFIG_SPI_ROCKCHIP=y -CONFIG_PWM_ROCKCHIP=y -CONFIG_PHY_ROCKCHIP_DP=y -CONFIG_DWMAC_ROCKCHIP=y -CONFIG_STMMAC_ETH=y -CONFIG_TYPEC_FUSB302=y -CONFIG_TYPEC=y -CONFIG_TYPEC_TCPM=y - -CONFIG_ARCH_SUNXI=n -CONFIG_ARCH_ALPINE=n -CONFIG_ARCH_BCM2835=n -CONFIG_ARCH_BCM_IPROC=n -CONFIG_ARCH_BERLIN=n -CONFIG_ARCH_BRCMSTB=n -CONFIG_ARCH_EXYNOS=n -CONFIG_ARCH_K3=n -CONFIG_ARCH_LAYERSCAPE=n -CONFIG_ARCH_LG1K=n -CONFIG_ARCH_HISI=n -CONFIG_ARCH_MEDIATEK=n -CONFIG_ARCH_MESON=n -CONFIG_ARCH_MVEBU=n -CONFIG_ARCH_QCOM=n -CONFIG_ARCH_SEATTLE=n -CONFIG_ARCH_SYNQUACER=n -CONFIG_ARCH_RENESAS=n -CONFIG_ARCH_R8A774A1=n -CONFIG_ARCH_R8A774C0=n -CONFIG_ARCH_R8A7795=n -CONFIG_ARCH_R8A7796=n -CONFIG_ARCH_R8A77965=n -CONFIG_ARCH_R8A77970=n -CONFIG_ARCH_R8A77980=n -CONFIG_ARCH_R8A77990=n -CONFIG_ARCH_R8A77995=n -CONFIG_ARCH_STRATIX10=n -CONFIG_ARCH_TEGRA=n -CONFIG_ARCH_SPRD=n -CONFIG_ARCH_THUNDER=n -CONFIG_ARCH_THUNDER2=n -CONFIG_ARCH_UNIPHIER=n -CONFIG_ARCH_VEXPRESS=n -CONFIG_ARCH_XGENE=n -CONFIG_ARCH_ZX=n -CONFIG_ARCH_ZYNQMP=n - -CONFIG_ACPI=n - -CONFIG_REGULATOR_FAN53555=y -CONFIG_REGULATOR=y - -CONFIG_REGULATOR_VCTRL=y - -CONFIG_KASAN=n -CONFIG_KASAN_INLINE=n -CONFIG_STACKTRACE=n - -CONFIG_TMPFS=y - -CONFIG_PROVE_LOCKING=n -CONFIG_DEBUG_LOCKDEP=n -CONFIG_SOFTLOCKUP_DETECTOR=y -CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC=y - -CONFIG_DETECT_HUNG_TASK=y diff --git a/src/gallium/drivers/panfrost/ci/create-rootfs.sh b/src/gallium/drivers/panfrost/ci/create-rootfs.sh deleted file mode 100644 index e84f2271f42..00000000000 --- a/src/gallium/drivers/panfrost/ci/create-rootfs.sh +++ /dev/null @@ -1,185 +0,0 @@ -#!/bin/sh - -set -ex - -apt-get -y install --no-install-recommends initramfs-tools libpng16-16 strace libsensors5 libexpat1 libdrm2 -passwd root -d -chsh -s /bin/sh -ln -s /bin/sh /init - -####################################################################### -# Strip the image to a small minimal system without removing the debian -# toolchain. - -# Copy timezone file and remove tzdata package -rm -rf /etc/localtime -cp /usr/share/zoneinfo/Etc/UTC /etc/localtime - -UNNEEDED_PACKAGES="libfdisk1 - tzdata - diffutils" - -export DEBIAN_FRONTEND=noninteractive - -# Removing unused packages -for PACKAGE in ${UNNEEDED_PACKAGES} -do - echo ${PACKAGE} - if ! apt-get remove --purge --yes "${PACKAGE}" - then - echo "WARNING: ${PACKAGE} isn't installed" - fi -done - -apt-get autoremove --yes || true - -# Dropping logs -rm -rf /var/log/* - -# Dropping documentation, localization, i18n files, etc -rm -rf /usr/share/doc/* -rm -rf /usr/share/locale/* -rm -rf /usr/share/man -rm -rf /usr/share/i18n/* -rm -rf /usr/share/info/* -rm -rf /usr/share/lintian/* -rm -rf /usr/share/common-licenses/* -rm -rf /usr/share/mime/* - -# Dropping reportbug scripts -rm -rf /usr/share/bug - -# Drop udev hwdb not required on a stripped system -rm -rf /lib/udev/hwdb.bin /lib/udev/hwdb.d/* - -# Drop all gconv conversions && binaries -rm -rf usr/bin/iconv -rm -rf usr/sbin/iconvconfig -rm -rf usr/lib/*/gconv/ - -# Remove libusb database -rm -rf usr/sbin/update-usbids -rm -rf var/lib/usbutils/usb.ids -rm -rf usr/share/misc/usb.ids - -####################################################################### -# Crush into a minimal production image to be deployed via some type of image -# updating system. -# IMPORTANT: The Debian system is not longer functional at this point, -# for example, apt and dpkg will stop working - -UNNEEDED_PACKAGES="apt libapt-pkg5.0 "\ -"ncurses-bin ncurses-base libncursesw5 libncurses5 "\ -"perl-base "\ -"debconf libdebconfclient0 "\ -"e2fsprogs e2fslibs libfdisk1 "\ -"insserv "\ -"udev "\ -"init-system-helpers "\ -"bash "\ -"cpio "\ -"passwd "\ -"libsemanage1 libsemanage-common "\ -"libsepol1 "\ -"gzip "\ -"gnupg "\ -"gpgv "\ -"hostname "\ -"adduser "\ -"debian-archive-keyring "\ -"libgl1 libgl1-mesa-dri libglapi-mesa libglvnd0 libglx-mesa0 libegl-mesa0 libgles2 "\ -"libllvm7 "\ -"libx11-data libthai-data "\ -"systemd dbus "\ - -# Removing unneeded packages -for PACKAGE in ${UNNEEDED_PACKAGES} -do - echo "Forcing removal of ${PACKAGE}" - if ! dpkg --purge --force-remove-essential --force-depends "${PACKAGE}" - then - echo "WARNING: ${PACKAGE} isn't installed" - fi -done - -# Show what's left package-wise before dropping dpkg itself -COLUMNS=300 dpkg-query -W --showformat='${Installed-Size;10}\t${Package}\n' | sort -k1,1n - -# Drop dpkg -dpkg --purge --force-remove-essential --force-depends dpkg - -# No apt or dpkg, no need for its configuration archives -rm -rf etc/apt -rm -rf etc/dpkg - -# Drop directories not part of ostree -# Note that /var needs to exist as ostree bind mounts the deployment /var over -# it -rm -rf var/* opt srv share - -# ca-certificates are in /etc drop the source -rm -rf usr/share/ca-certificates - -# No bash, no need for completions -rm -rf usr/share/bash-completion - -# No zsh, no need for comletions -rm -rf usr/share/zsh/vendor-completions - -# drop gcc-6 python helpers -rm -rf usr/share/gcc-6 - -# Drop sysvinit leftovers -rm -rf etc/init.d -rm -rf etc/rc[0-6S].d - -# Drop upstart helpers -rm -rf etc/init - -# Various xtables helpers -rm -rf usr/lib/xtables - -# Drop all locales -# TODO: only remaining locale is actually "C". Should we really remove it? -rm -rf usr/lib/locale/* - -# partition helpers -rm usr/sbin/*fdisk - -# local compiler -rm usr/bin/localedef - -# Systemd dns resolver -find usr etc -name '*systemd-resolve*' -prune -exec rm -r {} \; - -# Systemd network configuration -find usr etc -name '*networkd*' -prune -exec rm -r {} \; - -# systemd ntp client -find usr etc -name '*timesyncd*' -prune -exec rm -r {} \; - -# systemd hw database manager -find usr etc -name '*systemd-hwdb*' -prune -exec rm -r {} \; - -# No need for fuse -find usr etc -name '*fuse*' -prune -exec rm -r {} \; - -# lsb init function leftovers -rm -rf usr/lib/lsb - -# Only needed when adding libraries -rm usr/sbin/ldconfig* - -# Games, unused -rmdir usr/games - -# Remove pam module to authenticate against a DB -# plus libdb-5.3.so that is only used by this pam module -rm usr/lib/*/security/pam_userdb.so -rm usr/lib/*/libdb-5.3.so - -# remove NSS support for nis, nisplus and hesiod -rm usr/lib/*/libnss_hesiod* -rm usr/lib/*/libnss_nis* - -rm bin/tar diff --git a/src/gallium/drivers/panfrost/ci/debian-install.sh b/src/gallium/drivers/panfrost/ci/debian-install.sh deleted file mode 100644 index 91bc58cbc46..00000000000 --- a/src/gallium/drivers/panfrost/ci/debian-install.sh +++ /dev/null @@ -1,180 +0,0 @@ -#!/bin/bash - -set -e -set -o xtrace - -PANFROST_CI_DIR=/tmp/clone/src/gallium/drivers/panfrost/ci - -############### Install packages for building -dpkg --add-architecture ${DEBIAN_ARCH} -echo 'deb-src https://deb.debian.org/debian testing main' > /etc/apt/sources.list.d/deb-src.list -apt-get update -apt-get -y install ca-certificates -apt-get -y install --no-install-recommends \ - crossbuild-essential-${DEBIAN_ARCH} \ - meson \ - g++ \ - git \ - ccache \ - pkg-config \ - python3-mako \ - python-numpy \ - python-six \ - python-mako \ - python3-pip \ - python3-setuptools \ - python3-six \ - python3-wheel \ - python3-jinja2 \ - bison \ - flex \ - gettext \ - cmake \ - bc \ - libssl-dev \ - lavacli \ - csvkit \ - curl \ - unzip \ - wget \ - debootstrap \ - procps \ - qemu-user-static \ - cpio \ - clang-8 \ - llvm-8 \ - libclang-8-dev \ - llvm-8-dev \ - gdc-9 \ - lld-8 \ - nasm \ - libegl1-mesa-dev \ - \ - libdrm-dev:${DEBIAN_ARCH} \ - libx11-dev:${DEBIAN_ARCH} \ - libxxf86vm-dev:${DEBIAN_ARCH} \ - libexpat1-dev:${DEBIAN_ARCH} \ - libsensors-dev:${DEBIAN_ARCH} \ - libxfixes-dev:${DEBIAN_ARCH} \ - libxdamage-dev:${DEBIAN_ARCH} \ - libxext-dev:${DEBIAN_ARCH} \ - x11proto-dev:${DEBIAN_ARCH} \ - libx11-xcb-dev:${DEBIAN_ARCH} \ - libxcb-dri2-0-dev:${DEBIAN_ARCH} \ - libxcb-glx0-dev:${DEBIAN_ARCH} \ - libxcb-xfixes0-dev:${DEBIAN_ARCH} \ - libxcb-dri3-dev:${DEBIAN_ARCH} \ - libxcb-present-dev:${DEBIAN_ARCH} \ - libxcb-randr0-dev:${DEBIAN_ARCH} \ - libxcb-sync-dev:${DEBIAN_ARCH} \ - libxrandr-dev:${DEBIAN_ARCH} \ - libxshmfence-dev:${DEBIAN_ARCH} \ - libelf-dev:${DEBIAN_ARCH} \ - zlib1g-dev:${DEBIAN_ARCH} \ - libglvnd-core-dev:${DEBIAN_ARCH} \ - libgles2-mesa-dev:${DEBIAN_ARCH} \ - libegl1-mesa-dev:${DEBIAN_ARCH} \ - libpng-dev:${DEBIAN_ARCH} - -############### Cross-build dEQP -mkdir -p /artifacts/rootfs/deqp - -git config --global user.email "[email protected]" -git config --global user.name "Mesa CI" -# XXX: Use --depth 1 once we can drop the cherry-picks. -git clone \ - https://github.com/KhronosGroup/VK-GL-CTS.git \ - -b opengl-es-cts-3.2.5.1 \ - /VK-GL-CTS -cd /VK-GL-CTS -# Fix surfaceless build -git cherry-pick -x 22f41e5e321c6dcd8569c4dad91bce89f06b3670 -git cherry-pick -x 1daa8dff73161ea60ead965bd6c9f2a0a2165648 - -# surfaceless links against libkms and such despite not using it. -sed -i '/gbm/d' targets/surfaceless/surfaceless.cmake -sed -i '/libkms/d' targets/surfaceless/surfaceless.cmake -sed -i '/libgbm/d' targets/surfaceless/surfaceless.cmake - -python3 external/fetch_sources.py - -cd /artifacts/rootfs/deqp -cmake -G Ninja \ - -DDEQP_TARGET=surfaceless \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_C_COMPILER=${GCC_ARCH}-gcc \ - -DCMAKE_CXX_COMPILER=${GCC_ARCH}-g++ \ - /VK-GL-CTS -ninja -rm -rf /artifacts/rootfs/deqp/external -rm -rf /artifacts/rootfs/deqp/modules/gles31 -rm -rf /artifacts/rootfs/deqp/modules/internal -rm -rf /artifacts/rootfs/deqp/executor -rm -rf /artifacts/rootfs/deqp/execserver -rm -rf /artifacts/rootfs/deqp/modules/egl -rm -rf /artifacts/rootfs/deqp/framework -find . -name CMakeFiles | xargs rm -rf -find . -name lib\*.a | xargs rm -rf -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.23/battery-0.1.23-x86_64-linux.tar.gz -tar xzvf battery-0.1.23-x86_64-linux.tar.gz -rm battery-0.1.23-x86_64-linux.tar.gz -mv battery /usr/local/bin -rm -rf /battery - -mkdir -p /volt -cd /volt -mkdir -p Watt Volta dEQP -wget -qO- https://github.com/VoltLang/Watt/archive/v0.1.3.tar.gz | tar -xz --strip-components=1 -C ./Watt -wget -qO- https://github.com/VoltLang/Volta/archive/v0.1.3.tar.gz | tar -xz --strip-components=1 -C ./Volta -wget -qO- https://github.com/Wallbraker/dEQP/archive/v0.1.4.tar.gz | tar -xz --strip-components=1 -C ./dEQP -battery config --release --lto Volta Watt -battery build -battery config --arch ${VOLT_ARCH} --cmd-volta Volta/volta Volta/rt Watt dEQP -battery build -rm /usr/local/bin/battery -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.3-rc8.tar.gz" -export ARCH=${KERNEL_ARCH} -export CROSS_COMPILE="${GCC_ARCH}-" - -mkdir -p /kernel -wget -qO- ${KERNEL_URL} | tar -xz --strip-components=1 -C /kernel -cd /kernel -./scripts/kconfig/merge_config.sh ${DEFCONFIG} ${PANFROST_CI_DIR}/${KERNEL_ARCH}.config -make -j12 ${KERNEL_IMAGE_NAME} dtbs -cp arch/${KERNEL_ARCH}/boot/${KERNEL_IMAGE_NAME} /artifacts/. -cp ${DEVICE_TREES} /artifacts/. -rm -rf /kernel - - -############### Create rootfs -cp ${PANFROST_CI_DIR}/create-rootfs.sh /artifacts/rootfs/. -mkdir -p /artifacts/rootfs/bin -cp /usr/bin/qemu-aarch64-static /artifacts/rootfs/bin -cp /usr/bin/qemu-arm-static /artifacts/rootfs/bin - -set +e -debootstrap --variant=minbase --arch=${DEBIAN_ARCH} testing /artifacts/rootfs/ http://deb.debian.org/debian -cat /artifacts/rootfs/debootstrap/debootstrap.log -set -e -chroot /artifacts/rootfs sh /create-rootfs.sh - -rm /artifacts/rootfs/bin/qemu-arm-static -rm /artifacts/rootfs/bin/qemu-aarch64-static -rm /artifacts/rootfs/create-rootfs.sh - diff --git a/src/gallium/drivers/panfrost/ci/deqp-runner.sh b/src/gallium/drivers/panfrost/ci/deqp-runner.sh deleted file mode 100644 index 11faf235056..00000000000 --- a/src/gallium/drivers/panfrost/ci/deqp-runner.sh +++ /dev/null @@ -1,109 +0,0 @@ -#!/bin/sh - -DEQP_OPTIONS="--deqp-surface-width=256 --deqp-surface-height=256" -DEQP_OPTIONS="$DEQP_OPTIONS --deqp-visibility=hidden" -DEQP_OPTIONS="$DEQP_OPTIONS --deqp-log-images=disable" -DEQP_OPTIONS="$DEQP_OPTIONS --deqp-watchdog=enable" -DEQP_OPTIONS="$DEQP_OPTIONS --deqp-crashhandler=enable" -DEQP_OPTIONS="$DEQP_OPTIONS --deqp-surface-type=pbuffer" - -export LIBGL_DRIVERS_PATH=/mesa/lib/dri/ -export LD_LIBRARY_PATH=/mesa/lib/ -export MESA_GLES_VERSION_OVERRIDE=3.0 - -DEVFREQ_GOVERNOR=`echo /sys/devices/platform/*.gpu/devfreq/devfreq0/governor` -echo performance > $DEVFREQ_GOVERNOR - -cd /deqp/modules/gles2 - -# Generate test case list file -./deqp-gles2 $DEQP_OPTIONS --deqp-runmode=stdout-caselist | grep "TEST: dEQP-GLES2" | cut -d ' ' -f 2 > /tmp/case-list.txt - -# Disable for now tests that are very slow, either by just using lots of CPU or by crashing -FLIP_FLOPS=" - dEQP-GLES2.performance - dEQP-GLES2.stress - dEQP-GLES2.functional.fbo.render.depth. - dEQP-GLES2.functional.flush_finish. - " - -# These pass or fail seemingly at random -FLIP_FLOPS="$FLIP_FLOPS - dEQP-GLES2.performance - dEQP-GLES2.stress - dEQP-GLES2.functional.fbo.render.depth. - dEQP-GLES2.functional.flush_finish. - dEQP-GLES2.functional.clipping.triangle_vertex.clip_three.clip_neg_x_neg_z_and_pos_x_pos_z_and_neg_x_neg_y_pos_z - dEQP-GLES2.functional.clipping.triangle_vertex.clip_three.clip_pos_y_pos_z_and_neg_x_neg_y_pos_z_and_pos_x_pos_y_neg_z - dEQP-GLES2.functional.fbo.render.color.blend_rbo_rgb5_a1 - dEQP-GLES2.functional.fbo.render.color.blend_rbo_rgb5_a1_depth_component16 - dEQP-GLES2.functional.fbo.render.color.blend_rbo_rgba4 - dEQP-GLES2.functional.fbo.render.color.blend_rbo_rgba4_depth_component16 - dEQP-GLES2.functional.fbo.render.color.blend_npot_rbo_rgb5_a1 - dEQP-GLES2.functional.fbo.render.color.blend_npot_rbo_rgb5_a1_depth_component16 - dEQP-GLES2.functional.fbo.render.color.blend_npot_rbo_rgba4 - dEQP-GLES2.functional.fbo.render.color.blend_npot_rbo_rgba4_depth_component16 - dEQP-GLES2.functional.fbo.render.color_clear.rbo_rgb5_a1 - dEQP-GLES2.functional.fbo.render.color_clear.rbo_rgb5_a1_depth_component16 - dEQP-GLES2.functional.fbo.render.color_clear.rbo_rgb5_a1_stencil_index8 - dEQP-GLES2.functional.fbo.render.color_clear.rbo_rgba4_depth_component16 - dEQP-GLES2.functional.fbo.render.color_clear.rbo_rgba4_stencil_index8 - dEQP-GLES2.functional.fbo.render.recreate_depthbuffer. - dEQP-GLES2.functional.fbo.render.recreate_stencilbuffer. - dEQP-GLES2.functional.fbo.render.shared_colorbuffer_clear.rbo_rgb5_a1 - dEQP-GLES2.functional.fbo.render.shared_colorbuffer_clear.rbo_rgba4 - dEQP-GLES2.functional.fbo.render.shared_colorbuffer_clear.tex2d_rgb - dEQP-GLES2.functional.fbo.render.shared_colorbuffer_clear.tex2d_rgba - dEQP-GLES2.functional.fbo.render.shared_colorbuffer.rbo_rgb5_a1 - dEQP-GLES2.functional.fbo.render.shared_colorbuffer.rbo_rgba4 - dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgb5_a1_depth_component16 - dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgba4_depth_component16 - dEQP-GLES2.functional.fbo.render.stencil_clear.rbo_rgb5_a1_stencil_index8 - dEQP-GLES2.functional.fbo.render.stencil.npot_rbo_rgb5_a1_stencil_index8 - dEQP-GLES2.functional.fbo.render.stencil.npot_rbo_rgba4_stencil_index8 - dEQP-GLES2.functional.fbo.render.stencil.rbo_rgb5_a1_stencil_index8 - dEQP-GLES2.functional.fbo.render.stencil.rbo_rgba4_stencil_index8 - dEQP-GLES2.functional.lifetime.attach.deleted_input.renderbuffer_framebuffer - dEQP-GLES2.functional.lifetime.attach.deleted_output.renderbuffer_framebuffer - dEQP-GLES2.functional.polygon_offset.fixed16_factor_0_slope - dEQP-GLES2.functional.polygon_offset.fixed16_factor_1_slope - dEQP-GLES2.functional.shaders.invariance.highp.loop_4 - dEQP-GLES2.functional.shaders.matrix.mul.dynamic_highp_mat4_vec4_vertex - dEQP-GLES2.functional.shaders.matrix.mul.dynamic_highp_vec4_mat4_fragment - dEQP-GLES2.functional.shaders.operator.common_functions.smoothstep.mediump_vec3_vertex - dEQP-GLES2.functional.shaders.random.all_features.fragment.12 - dEQP-GLES2.functional.shaders.random.all_features.fragment.37 - dEQP-GLES2.functional.texture.units.2_units.mixed.1 - dEQP-GLES2.functional.texture.units.2_units.mixed.3 - dEQP-GLES2.functional.texture.units.2_units.only_2d.2 - dEQP-GLES2.functional.texture.units.4_units.mixed.5 - dEQP-GLES2.functional.texture.units.4_units.only_2d.0 - dEQP-GLES2.functional.texture.units.8_units.only_cube.2 - dEQP-GLES2.functional.texture.units.all_units.mixed.6 - dEQP-GLES2.functional.texture.units.all_units.only_cube.4 - dEQP-GLES2.functional.texture.units.all_units.only_cube.7 - dEQP-GLES2.functional.texture.units.all_units.only_cube.8 - " - -for test in $FLIP_FLOPS; do sed -i "/$test/d" /tmp/case-list.txt; done - -/deqp/deqp-volt --cts-build-dir=/deqp \ - --threads=8 \ - --test-names-file=/tmp/case-list.txt \ - --results-file=/tmp/results.txt \ - --no-passed-results \ - --regression-file=/deqp/expected-failures.txt \ - --no-rerun-tests \ - --print-regression \ - --no-print-fail \ - --no-print-quality \ - --no-colour-term \ - $DEQP_OPTIONS - -if [ $? -ne 0 ]; then - echo "Regressions detected" - echo "deqp: fail" -else - echo "No regressions detected" - echo "deqp: pass" -fi diff --git a/src/gallium/drivers/panfrost/ci/expected-failures.txt b/src/gallium/drivers/panfrost/ci/expected-failures.txt deleted file mode 100644 index 7e7dbd62307..00000000000 --- a/src/gallium/drivers/panfrost/ci/expected-failures.txt +++ /dev/null @@ -1,874 +0,0 @@ -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.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.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/generate_lava.py b/src/gallium/drivers/panfrost/ci/generate_lava.py deleted file mode 100755 index ab1597f1fe3..00000000000 --- a/src/gallium/drivers/panfrost/ci/generate_lava.py +++ /dev/null @@ -1,25 +0,0 @@ -#!/usr/bin/env python3 - -from jinja2 import Environment, FileSystemLoader -import argparse - -parser = argparse.ArgumentParser() -parser.add_argument("--template") -parser.add_argument("--base-artifacts-url") -parser.add_argument("--arch") -parser.add_argument("--device-type") -parser.add_argument("--kernel-image-name") -parser.add_argument("--gpu-version") -args = parser.parse_args() - -env = Environment(loader = FileSystemLoader('.'), trim_blocks=True, lstrip_blocks=True) -template = env.get_template(args.template) - -values = {} -values['base_artifacts_url'] = args.base_artifacts_url -values['arch'] = args.arch -values['device_type'] = args.device_type -values['kernel_image_name'] = args.kernel_image_name -values['gpu_version'] = args.gpu_version - -print(template.render(values)) diff --git a/src/gallium/drivers/panfrost/ci/gitlab-ci.yml b/src/gallium/drivers/panfrost/ci/gitlab-ci.yml deleted file mode 100644 index 4a32fcb9276..00000000000 --- a/src/gallium/drivers/panfrost/ci/gitlab-ci.yml +++ /dev/null @@ -1,179 +0,0 @@ -variables: - LAVA_DEBIAN_VERSION: testing-slim - LAVA_IMAGE_TAG: "lava-2019-09-18-1" - -include: - - project: 'wayland/ci-templates' - ref: 1f7f57c64ff4ebbf7292e3b7a13600518b8cb24c - file: '/templates/debian.yml' - -# When to automatically run the CI -.ci-run-policy: - only: - - branches@mesa/mesa - - merge_requests - - /^ci([-/].*)?$/ - retry: - max: 2 - when: - - runner_system_failure - -# Build Docker image with deqp, the rootfs and the build deps for Mesa -.lava-container: - extends: - - .debian@container-ifnot-exists - - .ci-run-policy - stage: containers - variables: - GIT_STRATEGY: none # no need to pull the whole tree for rebuilding the image - DEBIAN_TAG: '${DEBIAN_ARCH}-${LAVA_IMAGE_TAG}' - DEBIAN_EXEC: 'DEBIAN_ARCH=${DEBIAN_ARCH} - GCC_ARCH=${GCC_ARCH} - KERNEL_ARCH=${KERNEL_ARCH} - VOLT_ARCH=${VOLT_ARCH} - DEFCONFIG=${DEFCONFIG} - DEVICE_TREES=${DEVICE_TREES} - KERNEL_IMAGE_NAME=${KERNEL_IMAGE_NAME} - bash src/gallium/drivers/panfrost/ci/debian-install.sh' - DEBIAN_VERSION: ${LAVA_DEBIAN_VERSION} - -lava-container:armhf: - extends: .lava-container - variables: - DEBIAN_ARCH: "armhf" - GCC_ARCH: "arm-linux-gnueabihf" - KERNEL_ARCH: "arm" - VOLT_ARCH: "armhf" - DEFCONFIG: "arch/arm/configs/multi_v7_defconfig" - DEVICE_TREES: "arch/arm/boot/dts/rk3288-veyron-jaq.dtb" - KERNEL_IMAGE_NAME: "zImage" - -lava-container:arm64: - extends: .lava-container - variables: - DEBIAN_ARCH: "arm64" - GCC_ARCH: "aarch64-linux-gnu" - KERNEL_ARCH: "arm64" - VOLT_ARCH: "aarch64" - DEFCONFIG: "arch/arm64/configs/defconfig" - DEVICE_TREES: "arch/arm64/boot/dts/rockchip/rk3399-gru-kevin.dtb" - KERNEL_IMAGE_NAME: "Image" - -.lava-build: - stage: build - image: $CI_REGISTRY_IMAGE/debian/$LAVA_DEBIAN_VERSION:$DEBIAN_ARCH-$LAVA_IMAGE_TAG - cache: - paths: - - ccache - before_script: - - mkdir -p results mesa-build - - mkdir -p ccache - script: - - export CCACHE_BASEDIR=$CI_PROJECT_DIR - - export CCACHE_DIR=$CI_PROJECT_DIR/ccache - - export PATH="/usr/lib/ccache:$PATH" - - ccache -s - - # Build Mesa - - /usr/share/meson/debcrossgen --arch ${DEBIAN_ARCH} -o /tmp/cross_file.txt - - meson . mesa-build - --cross-file /tmp/cross_file.txt - --libdir /artifacts/rootfs/mesa/lib/ - --buildtype release - -D gallium-drivers=kmsro,panfrost - -D dri-drivers= - -D prefix=/artifacts/rootfs/mesa - -D glx=disabled - -D gbm=false - -D egl=true - -D platforms=surfaceless - -D osmesa=none - -D dri3=false - -D gallium-vdpau=false - -D gallium-xvmc=false - -D gallium-omx=disabled - -D gallium-va=false - -D gallium-xa=false - -D gallium-nine=false - -D llvm=false - - ninja -C mesa-build install - - du -sh /artifacts/rootfs/mesa/* - - rm -rf /artifacts/rootfs/mesa/include - - # 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 - - # Copy kernel and DT - - cp /artifacts/${KERNEL_IMAGE_NAME} /artifacts/*.dtb $CI_PROJECT_DIR/results/. - - # Generate LAVA job - - cd $CI_PROJECT_DIR - - src/gallium/drivers/panfrost/ci/generate_lava.py - --template src/gallium/drivers/panfrost/ci/lava-deqp.yml.jinja2 - --arch ${DEBIAN_ARCH} - --base-artifacts-url $CI_PROJECT_URL/-/jobs/$CI_JOB_ID/artifacts/raw/results - --device-type ${DEVICE_TYPE} - --kernel-image-name ${KERNEL_IMAGE_NAME} - > results/lava-deqp.yml - - cp src/gallium/drivers/panfrost/ci/expected-failures.txt results/. - artifacts: - when: always - paths: - - results/ - -lava-build:armhf: - extends: .lava-build - needs: ["lava-container:armhf"] - variables: - DEBIAN_ARCH: "armhf" - GCC_ARCH: "arm-linux-gnueabihf" - DEVICE_TYPE: "rk3288-veyron-jaq" - KERNEL_IMAGE_NAME: "zImage" - -lava-build:arm64: - extends: .lava-build - needs: ["lava-container:arm64"] - variables: - DEBIAN_ARCH: "arm64" - GCC_ARCH: "aarch64-linux-gnu" - DEVICE_TYPE: "rk3399-gru-kevin" - KERNEL_IMAGE_NAME: "Image" - -.lava-test: - stage: test - tags: - - idle-lava - image: $CI_REGISTRY_IMAGE/debian/$LAVA_DEBIAN_VERSION:arm64-$LAVA_IMAGE_TAG # Any of the images will be fine - variables: - GIT_STRATEGY: none # no need to pull the whole tree for submitting the job - script: - - 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 - - result=`lavacli results $lava_job_id 0_deqp deqp | head -1` - - echo $result - - # Don't error out on RK3288 - - '[[ "$result" == "pass" || -f results/rk3288-veyron-jaq.dtb ]]' - artifacts: - when: always - paths: - - results/ - -lava-test:armhf: - extends: .lava-test - needs: ["lava-build:armhf"] - dependencies: - - lava-build:armhf - -lava-test:arm64: - extends: .lava-test - needs: ["lava-build:arm64"] - dependencies: - - lava-build:arm64 - diff --git a/src/gallium/drivers/panfrost/ci/lava-deqp.yml.jinja2 b/src/gallium/drivers/panfrost/ci/lava-deqp.yml.jinja2 deleted file mode 100644 index 64508cd9476..00000000000 --- a/src/gallium/drivers/panfrost/ci/lava-deqp.yml.jinja2 +++ /dev/null @@ -1,60 +0,0 @@ -job_name: panfrost-deqp -device_type: {{ device_type }} -timeouts: - job: - minutes: 40 - action: - minutes: 10 - actions: - power-off: - seconds: 30 -priority: 75 -visibility: public -actions: -- deploy: - timeout: - minutes: 10 - to: tftp - kernel: - url: {{ base_artifacts_url }}/{{ kernel_image_name }} - ramdisk: - url: {{ base_artifacts_url }}/panfrost-rootfs-{{ arch }}.cpio.gz - compression: gz - dtb: - url: {{ base_artifacts_url }}/{{ device_type }}.dtb - os: oe -- boot: - timeout: - minutes: 5 - method: depthcharge - commands: ramdisk - prompts: - - '#' -- test: - timeout: - minutes: 60 - definitions: - - repository: - metadata: - format: Lava-Test Test Definition 1.0 - name: igt - description: "IGT test plan" - os: - - oe - scope: - - functional - run: - steps: - - mount -t proc none /proc - - mount -t sysfs none /sys - - mount -t devtmpfs none /dev - - mkdir -p /dev/pts - - mount -t devpts devpts /dev/pts - - echo 3 > /proc/sys/kernel/printk - - sh /deqp/deqp-runner.sh - - cat /proc/loadavg - parse: - pattern: '(?P<test_case_id>\S*):\s+(?P<result>(pass|fail))' - from: inline - name: deqp - path: inline/lava-deqp.yaml |