Compare commits
	
		
			12 Commits
		
	
	
		
			20.2
			...
			chadv/revi
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | 3678509c33 | ||
|  | 90a334630e | ||
|  | 2f79a872ba | ||
|  | 8f0b7a5ac0 | ||
|  | 267478be79 | ||
|  | fb323b1832 | ||
|  | d83cf1dbbc | ||
|  | f9d9a8908c | ||
|  | bfe70c24e6 | ||
|  | 291d4ba283 | ||
|  | 38690c43b8 | ||
|  | 235b3ba48e | 
| @@ -1,66 +0,0 @@ | ||||
| goto %1 | ||||
|  | ||||
| :install | ||||
| rem Check pip | ||||
| python --version | ||||
| python -m pip install --upgrade pip | ||||
| python -m pip --version | ||||
| if "%buildsystem%" == "scons" ( | ||||
|     rem Install Mako | ||||
|     python -m pip install Mako==1.1.3 | ||||
|     rem Install pywin32 extensions, needed by SCons | ||||
|     python -m pip install pypiwin32 | ||||
|     rem Install python wheels, necessary to install SCons via pip | ||||
|     python -m pip install wheel | ||||
|     rem Install SCons | ||||
|     python -m pip install scons==3.1.2 | ||||
|     call scons --version | ||||
| ) else ( | ||||
|     python -m pip install Mako meson | ||||
|     meson --version | ||||
|  | ||||
|     rem Install pkg-config, which meson requires even on windows | ||||
|     cinst -y pkgconfiglite | ||||
| ) | ||||
|  | ||||
| rem Install flex/bison | ||||
| set WINFLEXBISON_ARCHIVE=win_flex_bison-%WINFLEXBISON_VERSION%.zip | ||||
| if not exist "%WINFLEXBISON_ARCHIVE%" appveyor DownloadFile "https://github.com/lexxmark/winflexbison/releases/download/v%WINFLEXBISON_VERSION%/%WINFLEXBISON_ARCHIVE%" | ||||
| 7z x -y -owinflexbison\ "%WINFLEXBISON_ARCHIVE%" > nul | ||||
| set Path=%CD%\winflexbison;%Path% | ||||
| win_flex --version | ||||
| win_bison --version | ||||
| rem Download and extract LLVM | ||||
| if not exist "%LLVM_ARCHIVE%" appveyor DownloadFile "https://people.freedesktop.org/~jrfonseca/llvm/%LLVM_ARCHIVE%" | ||||
| 7z x -y "%LLVM_ARCHIVE%" > nul | ||||
| if "%buildsystem%" == "scons" ( | ||||
|     mkdir llvm\bin | ||||
|     set LLVM=%CD%\llvm | ||||
| ) else ( | ||||
|     move llvm subprojects\ | ||||
|     copy .appveyor\llvm-wrap.meson subprojects\llvm\meson.build | ||||
| ) | ||||
| goto :eof | ||||
|  | ||||
| :build_script | ||||
| if "%buildsystem%" == "scons" ( | ||||
|     call scons -j%NUMBER_OF_PROCESSORS% MSVC_VERSION=14.2 machine=x86 llvm=1 | ||||
| ) else ( | ||||
|     call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\Tools\VsDevCmd.bat" -arch=x86 | ||||
|     rem We use default-library as static to affect any wraps (such as expat and zlib) | ||||
|     rem it would be better if we could set subprojects buildtype independently, | ||||
|     rem but I haven't written that patch yet :) | ||||
|     call meson builddir --backend=vs2017 --default-library=static -Dbuild-tests=true -Db_vscrt=mtd --buildtype=release -Dllvm=true -Dgallium-drivers=swrast -Dosmesa=gallium | ||||
|     pushd builddir | ||||
|     call msbuild mesa.sln /m | ||||
|     popd | ||||
| ) | ||||
| goto :eof | ||||
|  | ||||
| :test_script | ||||
| if "%buildsystem%" == "scons" ( | ||||
|     call scons -j%NUMBER_OF_PROCESSORS% MSVC_VERSION=14.2 machine=x86 llvm=1 check | ||||
| ) else ( | ||||
|     call meson test -C builddir | ||||
| ) | ||||
| goto :eof | ||||
| @@ -1,36 +0,0 @@ | ||||
| # A meson.build file for binary wrapping the LLVM used in the appvyeor CI | ||||
| project('llvm', ['cpp']) | ||||
|  | ||||
| cpp = meson.get_compiler('cpp') | ||||
|  | ||||
| _deps = [] | ||||
| _search = join_paths(meson.current_source_dir(), 'lib') | ||||
| foreach d : ['LLVMAnalysis', 'LLVMAsmParser', 'LLVMAsmPrinter', | ||||
|              'LLVMBinaryFormat', 'LLVMBitReader', 'LLVMBitWriter', | ||||
|              'LLVMCodeGen', 'LLVMCore', 'LLVMCoroutines', 'LLVMCoverage', | ||||
|              'LLVMDebugInfoCodeView', 'LLVMDebugInfoDWARF', | ||||
|              'LLVMDebugInfoMSF', 'LLVMDebugInfoPDB', 'LLVMDemangle', | ||||
|              'LLVMDlltoolDriver', 'LLVMExecutionEngine', 'LLVMGlobalISel', | ||||
|              'LLVMInstCombine', 'LLVMInstrumentation', 'LLVMInterpreter', | ||||
|              'LLVMipo', 'LLVMIRReader', 'LLVMLibDriver', 'LLVMLineEditor', | ||||
|              'LLVMLinker', 'LLVMLTO', 'LLVMMCDisassembler', 'LLVMMCJIT', | ||||
|              'LLVMMC', 'LLVMMCParser', 'LLVMMIRParser', 'LLVMObjCARCOpts', | ||||
|              'LLVMObject', 'LLVMObjectYAML', 'LLVMOption', 'LLVMOrcJIT', | ||||
|              'LLVMPasses', 'LLVMProfileData', 'LLVMRuntimeDyld', | ||||
|              'LLVMScalarOpts', 'LLVMSelectionDAG', 'LLVMSupport', | ||||
|              'LLVMSymbolize', 'LLVMTableGen', 'LLVMTarget', | ||||
|              'LLVMTransformUtils', 'LLVMVectorize', 'LLVMX86AsmParser', | ||||
|              'LLVMX86AsmPrinter', 'LLVMX86CodeGen', 'LLVMX86Desc', | ||||
|              'LLVMX86Disassembler', 'LLVMX86Info', 'LLVMX86Utils', | ||||
|              'LLVMXRay'] | ||||
|   _deps += cpp.find_library(d, dirs : _search) | ||||
| endforeach | ||||
|  | ||||
| dep_llvm = declare_dependency( | ||||
|   include_directories : include_directories('include'), | ||||
|   dependencies : _deps, | ||||
|   version : '5.0.1', | ||||
| ) | ||||
|  | ||||
| has_rtti = false | ||||
| irbuilder_h = files('include/llvm/IR/IRBuilder.h') | ||||
| @@ -32,10 +32,6 @@ indent_size = 2 | ||||
| indent_style = space | ||||
| indent_size = 2 | ||||
|  | ||||
| [*.html] | ||||
| indent_style = space | ||||
| indent_size = 2 | ||||
|  | ||||
| [*.patch] | ||||
| trim_trailing_whitespace = false | ||||
|  | ||||
|   | ||||
							
								
								
									
										4
									
								
								.gitattributes
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								.gitattributes
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | ||||
| *.dsp -crlf | ||||
| *.dsw -crlf | ||||
| *.sln -crlf | ||||
| *.vcproj -crlf | ||||
							
								
								
									
										1464
									
								
								.gitlab-ci.yml
									
									
									
									
									
								
							
							
						
						
									
										1464
									
								
								.gitlab-ci.yml
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -1,2 +0,0 @@ | ||||
| [*.sh] | ||||
| indent_size = 2 | ||||
| @@ -1,14 +0,0 @@ | ||||
| #!/bin/sh | ||||
|  | ||||
| while true; do | ||||
|   devcds=`find /sys/devices/virtual/devcoredump/ -name data` | ||||
|   for i in $devcds; do | ||||
|     echo "Found a devcoredump at $i." | ||||
|     if cp $i /results/first.devcore; then | ||||
|       echo 1 > $i | ||||
|       echo "Saved to the job artifacts at /first.devcore" | ||||
|       exit 0 | ||||
|     fi | ||||
|   done | ||||
|   sleep 10 | ||||
| done | ||||
| @@ -1,105 +0,0 @@ | ||||
| #!/bin/bash | ||||
|  | ||||
| # Boot script for Chrome OS devices attached to a servo debug connector, using | ||||
| # NFS and TFTP to boot. | ||||
|  | ||||
| # We're run from the root of the repo, make a helper var for our paths | ||||
| BM=$CI_PROJECT_DIR/install/bare-metal | ||||
|  | ||||
| # Runner config checks | ||||
| if [ -z "$BM_SERIAL" ]; then | ||||
|   echo "Must set BM_SERIAL in your gitlab-runner config.toml [[runners]] environment" | ||||
|   echo "This is the CPU serial device." | ||||
|   exit 1 | ||||
| fi | ||||
|  | ||||
| if [ -z "$BM_SERIAL_EC" ]; then | ||||
|   echo "Must set BM_SERIAL in your gitlab-runner config.toml [[runners]] environment" | ||||
|   echo "This is the EC serial device for controlling board power" | ||||
|   exit 1 | ||||
| fi | ||||
|  | ||||
| if [ ! -d /nfs ]; then | ||||
|   echo "NFS rootfs directory needs to be mounted at /nfs by the gitlab runner" | ||||
|   exit 1 | ||||
| fi | ||||
|  | ||||
| if [ ! -d /tftp ]; then | ||||
|   echo "TFTP directory for this board needs to be mounted at /tftp by the gitlab runner" | ||||
|   exit 1 | ||||
| fi | ||||
|  | ||||
| # job config checks | ||||
| if [ -z "$BM_KERNEL" ]; then | ||||
|   echo "Must set BM_KERNEL to your board's kernel FIT image" | ||||
|   exit 1 | ||||
| fi | ||||
|  | ||||
| if [ -z "$BM_ROOTFS" ]; then | ||||
|   echo "Must set BM_ROOTFS to your board's rootfs directory in the job's variables" | ||||
|   exit 1 | ||||
| fi | ||||
|  | ||||
| if [ -z "$BM_CMDLINE" ]; then | ||||
|   echo "Must set BM_CMDLINE to your board's kernel command line arguments" | ||||
|   exit 1 | ||||
| fi | ||||
|  | ||||
| set -ex | ||||
|  | ||||
| # Clear out any previous run's artifacts. | ||||
| rm -rf results/ | ||||
| mkdir -p results | ||||
| find artifacts/ -name serial\*.txt  | xargs rm -f | ||||
|  | ||||
| # Create the rootfs in the NFS directory.  rm to make sure it's in a pristine | ||||
| # state, since it's volume-mounted on the host. | ||||
| rsync -a --delete $BM_ROOTFS/ /nfs/ | ||||
| mkdir -p /nfs/results | ||||
| . $BM/rootfs-setup.sh /nfs | ||||
|  | ||||
| # Set up the TFTP kernel/cmdline.  When we support more than one board with | ||||
| # this method, we'll need to do some check on the runner name or something. | ||||
| rm -rf /tftp/* | ||||
| cp $BM_KERNEL /tftp/vmlinuz | ||||
| echo "$BM_CMDLINE" > /tftp/cmdline | ||||
|  | ||||
| # Start watching serials, and power up the device. | ||||
| $BM/serial-buffer.py $BM_SERIAL_EC | tee serial-ec-output.txt | sed -u 's|^|SERIAL-EC> |g' & | ||||
| $BM/serial-buffer.py $BM_SERIAL | tee serial-output.txt | sed -u 's|^|SERIAL-CPU> |g'  & | ||||
| while [ ! -e serial-output.txt ]; do | ||||
|   sleep 1 | ||||
| done | ||||
| # Flush any partial commands in the EC's prompt, then ask for a reboot. | ||||
| $BM/write-serial.py $BM_SERIAL_EC "" | ||||
| $BM/write-serial.py $BM_SERIAL_EC reboot | ||||
|  | ||||
| # This is emitted right when the bootloader pauses to check for input.  Emit a | ||||
| # ^N character to request network boot, because we don't have a | ||||
| # direct-to-netboot firmware on cheza. | ||||
| $BM/expect-output.sh serial-output.txt -f "load_archive: loading locale_en.bin" | ||||
| $BM/write-serial.py $BM_SERIAL `printf '\016'` | ||||
|  | ||||
| # Wait for the device to complete the deqp run | ||||
| $BM/expect-output.sh serial-output.txt \ | ||||
|     -f "bare-metal result" \ | ||||
|     -e "---. end Kernel panic" \ | ||||
|     -e "POWER_GOOD not seen in time" | ||||
|  | ||||
| # power down the CPU on the device | ||||
| $BM/write-serial.py $BM_SERIAL_EC 'power off' | ||||
|  | ||||
| set -ex | ||||
|  | ||||
| # Bring artifacts back from the NFS dir to the build dir where gitlab-runner | ||||
| # will look for them.  Note that results/ may already exist, so be careful | ||||
| # with cp. | ||||
| mkdir -p results | ||||
| cp -Rp /nfs/results/. results/ | ||||
|  | ||||
| set +e | ||||
| if grep -q "bare-metal result: pass" serial-output.txt; then | ||||
|    exit 0 | ||||
| else | ||||
|    exit 1 | ||||
| fi | ||||
| @@ -1,30 +0,0 @@ | ||||
| #!/bin/bash | ||||
|  | ||||
| set -e | ||||
|  | ||||
| STRINGS=$(mktemp) | ||||
| ERRORS=$(mktemp) | ||||
|  | ||||
| trap "rm $STRINGS; rm $ERRORS;" EXIT | ||||
|  | ||||
| FILE=$1 | ||||
| shift 1 | ||||
|  | ||||
| while getopts "f:e:" opt; do | ||||
|   case $opt in | ||||
|     f) echo "$OPTARG" >> $STRINGS;; | ||||
|     e) echo "$OPTARG" >> $STRINGS ; echo "$OPTARG" >> $ERRORS;; | ||||
|   esac | ||||
| done | ||||
| shift $((OPTIND -1)) | ||||
|  | ||||
| echo "Waiting for $FILE to say one of following strings" | ||||
| cat $STRINGS | ||||
|  | ||||
| while ! egrep -wf $STRINGS $FILE; do | ||||
|   sleep 2 | ||||
| done | ||||
|  | ||||
| if egrep -wf $ERRORS $FILE; then | ||||
|   exit 1 | ||||
| fi | ||||
| @@ -1,127 +0,0 @@ | ||||
| #!/bin/bash | ||||
|  | ||||
| BM=$CI_PROJECT_DIR/install/bare-metal | ||||
|  | ||||
| if [ -z "$BM_SERIAL" -a -z "$BM_SERIAL_SCRIPT" ]; then | ||||
|   echo "Must set BM_SERIAL OR BM_SERIAL_SCRIPT in your gitlab-runner config.toml [[runners]] environment" | ||||
|   echo "BM_SERIAL:" | ||||
|   echo "  This is the serial device to talk to for waiting for fastboot to be ready and logging from the kernel." | ||||
|   echo "BM_SERIAL_SCRIPT:" | ||||
|   echo "  This is a shell script to talk to for waiting for fastboot to be ready and logging from the kernel." | ||||
|   exit 1 | ||||
| fi | ||||
|  | ||||
| if [ -z "$BM_POWERUP" ]; then | ||||
|   echo "Must set BM_POWERUP in your gitlab-runner config.toml [[runners]] environment" | ||||
|   echo "This is a shell script that should reset the device and begin its boot sequence" | ||||
|   echo "such that it pauses at fastboot." | ||||
|   exit 1 | ||||
| fi | ||||
|  | ||||
| if [ -z "$BM_POWERDOWN" ]; then | ||||
|   echo "Must set BM_POWERDOWN in your gitlab-runner config.toml [[runners]] environment" | ||||
|   echo "This is a shell script that should power off the device." | ||||
|   exit 1 | ||||
| fi | ||||
|  | ||||
| if [ -z "$BM_FASTBOOT_SERIAL" ]; then | ||||
|   echo "Must set BM_FASTBOOT_SERIAL in your gitlab-runner config.toml [[runners]] environment" | ||||
|   echo "This must be the a stable-across-resets fastboot serial number." | ||||
|   exit 1 | ||||
| fi | ||||
|  | ||||
| if [ -z "$BM_KERNEL" ]; then | ||||
|   echo "Must set BM_KERNEL to your board's kernel vmlinuz or Image.gz in the job's variables:" | ||||
|   exit 1 | ||||
| fi | ||||
|  | ||||
| if [ -z "$BM_DTB" ]; then | ||||
|   echo "Must set BM_DTB to your board's DTB file in the job's variables:" | ||||
|   exit 1 | ||||
| fi | ||||
|  | ||||
| if [ -z "$BM_ROOTFS" ]; then | ||||
|   echo "Must set BM_ROOTFS to your board's rootfs directory in the job's variables:" | ||||
|   exit 1 | ||||
| fi | ||||
|  | ||||
| if [ -z "$BM_WEBDAV_IP" -o -z "$BM_WEBDAV_PORT" ]; then | ||||
|   echo "BM_WEBDAV_IP and/or BM_WEBDAV_PORT is not set - no results will be uploaded from DUT!" | ||||
|   WEBDAV_CMDLINE="" | ||||
| else | ||||
|   WEBDAV_CMDLINE="webdav=http://$BM_WEBDAV_IP:$BM_WEBDAV_PORT" | ||||
| fi | ||||
|  | ||||
| set -ex | ||||
|  | ||||
| # Clear out any previous run's artifacts. | ||||
| rm -rf results/ | ||||
| mkdir -p results | ||||
| find artifacts/ -name serial\*.txt  | xargs rm -f | ||||
|  | ||||
| # Create the rootfs in a temp dir | ||||
| rsync -a --delete $BM_ROOTFS/ rootfs/ | ||||
| . $BM/rootfs-setup.sh rootfs | ||||
|  | ||||
| # Finally, pack it up into a cpio rootfs.  Skip the vulkan CTS since none of | ||||
| # these devices use it and it would take up space in the initrd. | ||||
| pushd rootfs | ||||
| find -H | \ | ||||
|   egrep -v "external/(openglcts|vulkancts|amber|glslang|spirv-tools)" | | ||||
|   egrep -v "traces-db|apitrace|renderdoc|python" | \ | ||||
|   cpio -H newc -o | \ | ||||
|   xz --check=crc32 -T4 - > $CI_PROJECT_DIR/rootfs.cpio.gz | ||||
| popd | ||||
|  | ||||
| cat $BM_KERNEL $BM_DTB > Image.gz-dtb | ||||
|  | ||||
| abootimg \ | ||||
|   --create artifacts/fastboot.img \ | ||||
|   -k Image.gz-dtb \ | ||||
|   -r rootfs.cpio.gz \ | ||||
|   -c cmdline="$BM_CMDLINE $WEBDAV_CMDLINE" | ||||
| rm Image.gz-dtb | ||||
|  | ||||
| # Start nginx to get results from DUT | ||||
| if [ -n "$WEBDAV_CMDLINE" ]; then | ||||
|   ln -s `pwd`/results /results | ||||
|   sed -i s/80/$BM_WEBDAV_PORT/g /etc/nginx/sites-enabled/default | ||||
|   sed -i s/www-data/root/g /etc/nginx/nginx.conf | ||||
|   nginx | ||||
| fi | ||||
|  | ||||
| # Start watching serial, and power up the device. | ||||
| if [ -n "$BM_SERIAL" ]; then | ||||
|   $BM/serial-buffer.py $BM_SERIAL | tee artifacts/serial-output.txt & | ||||
| else | ||||
|   PATH=$BM:$PATH $BM_SERIAL_SCRIPT | tee artifacts/serial-output.txt & | ||||
| fi | ||||
|  | ||||
| while [ ! -e artifacts/serial-output.txt ]; do | ||||
|   sleep 1 | ||||
| done | ||||
| PATH=$BM:$PATH $BM_POWERUP | ||||
|  | ||||
| # Once fastboot is ready, boot our image. | ||||
| $BM/expect-output.sh artifacts/serial-output.txt \ | ||||
|   -f "fastboot: processing commands" \ | ||||
|   -f "Listening for fastboot command on" \ | ||||
|   -e "data abort" | ||||
|  | ||||
| fastboot boot -s $BM_FASTBOOT_SERIAL artifacts/fastboot.img | ||||
|  | ||||
| # Wait for the device to complete the deqp run | ||||
| $BM/expect-output.sh artifacts/serial-output.txt \ | ||||
|     -f "bare-metal result" \ | ||||
|     -e "---. end Kernel panic" | ||||
|  | ||||
| # power down the device | ||||
| PATH=$BM:$PATH $BM_POWERDOWN | ||||
|  | ||||
| set +e | ||||
| if grep -q "bare-metal result: pass" artifacts/serial-output.txt; then | ||||
|    exit 0 | ||||
| else | ||||
|    exit 1 | ||||
| fi | ||||
|  | ||||
| @@ -1,10 +0,0 @@ | ||||
| #!/bin/bash | ||||
|  | ||||
| relay=$1 | ||||
|  | ||||
| if [ -z "$relay" ]; then | ||||
|     echo "Must supply a relay arg" | ||||
|     exit 1 | ||||
| fi | ||||
|  | ||||
| $CI_PROJECT_DIR/install/bare-metal/google-power-relay.py off $relay | ||||
| @@ -1,19 +0,0 @@ | ||||
| #!/usr/bin/python3 | ||||
|  | ||||
| import sys | ||||
| import serial | ||||
|  | ||||
| mode = sys.argv[1] | ||||
| relay = sys.argv[2] | ||||
|  | ||||
| # our relays are "off" means "board is powered". | ||||
| mode_swap = { | ||||
|      "on" : "off", | ||||
|      "off" : "on", | ||||
| } | ||||
| mode = mode_swap[mode] | ||||
|  | ||||
| ser = serial.Serial('/dev/ttyACM0', 115200, timeout=2) | ||||
| command = "relay {} {}\n\r".format(mode, relay) | ||||
| ser.write(command.encode()) | ||||
| ser.close() | ||||
| @@ -1,12 +0,0 @@ | ||||
| #!/bin/bash | ||||
|  | ||||
| relay=$1 | ||||
|  | ||||
| if [ -z "$relay" ]; then | ||||
|     echo "Must supply a relay arg" | ||||
|     exit 1 | ||||
| fi | ||||
|  | ||||
| $CI_PROJECT_DIR/install/bare-metal/google-power-relay.py off $relay | ||||
| sleep 5 | ||||
| $CI_PROJECT_DIR/install/bare-metal/google-power-relay.py on $relay | ||||
| @@ -1,49 +0,0 @@ | ||||
| #!/bin/sh | ||||
|  | ||||
| set -ex | ||||
|  | ||||
| mount -t proc none /proc | ||||
| mount -t sysfs none /sys | ||||
| mount -t devtmpfs none /dev || echo possibly already mounted | ||||
| mkdir -p /dev/pts | ||||
| mount -t devpts devpts /dev/pts | ||||
| mount -t tmpfs tmpfs /tmp | ||||
|  | ||||
| . /set-job-env-vars.sh | ||||
|  | ||||
| # Store Mesa's disk cache under /tmp, rather than sending it out over NFS. | ||||
| export XDG_CACHE_HOME=/tmp | ||||
|  | ||||
| echo "nameserver 8.8.8.8" > /etc/resolv.conf | ||||
|  | ||||
| # Not all DUTs have network | ||||
| sntp -sS pool.ntp.org || true | ||||
|  | ||||
| # Overwrite traces.yml file with the baremetal version | ||||
| cp /install/traces-baremetal.yml /install/traces.yml | ||||
|  | ||||
| # Start a little daemon to capture the first devcoredump we encounter.  (They | ||||
| # expire after 5 minutes, so we poll for them). | ||||
| ./capture-devcoredump.sh & | ||||
|  | ||||
| if sh $BARE_METAL_TEST_SCRIPT; then | ||||
|   OK=1 | ||||
| else | ||||
|   OK=0 | ||||
| fi | ||||
|  | ||||
| # upload artifacts via webdav | ||||
| WEBDAV=$(cat /proc/cmdline | tr " " "\n" | grep webdav | cut -d '=' -f 2 || true) | ||||
| if [ -n "$WEBDAV" ]; then | ||||
|   find /results -type f -exec curl -T {} $WEBDAV/{} \; | ||||
| fi | ||||
|  | ||||
| if [ $OK -eq 1 ]; then | ||||
|     echo "bare-metal result: pass" | ||||
| else | ||||
|     echo "bare-metal result: fail" | ||||
| fi | ||||
|  | ||||
| # Wait until the job would have timed out anyway, so we don't spew a "init | ||||
| # exited" panic. | ||||
| sleep 6000 | ||||
| @@ -1,20 +0,0 @@ | ||||
| server { | ||||
|     listen 80 default_server; | ||||
|     listen [::]:80 default_server; | ||||
|  | ||||
|     server_name _; | ||||
|  | ||||
|     location / { | ||||
|         dav_methods     PUT; | ||||
|         dav_ext_methods PROPFIND OPTIONS; | ||||
|         dav_access      user:rw group:rw all:r; | ||||
|  | ||||
|         client_body_temp_path   /tmp; | ||||
|         client_max_body_size    0; | ||||
|         create_full_put_path    on; | ||||
|  | ||||
|         root /results; | ||||
|  | ||||
|         autoindex     on; | ||||
|     } | ||||
| } | ||||
| @@ -1,63 +0,0 @@ | ||||
| #!/bin/bash | ||||
|  | ||||
| rootfs_dst=$1 | ||||
|  | ||||
| mkdir -p $rootfs_dst/results | ||||
|  | ||||
| # Set up the init script that brings up the system. | ||||
| cp $BM/init.sh $rootfs_dst/init | ||||
|  | ||||
| cp $BM/capture-devcoredump.sh $rootfs_dst/ | ||||
|  | ||||
| set +x | ||||
| # Pass through relevant env vars from the gitlab job to the baremetal init script | ||||
| touch $rootfs_dst/set-job-env-vars.sh | ||||
| chmod +x $rootfs_dst/set-job-env-vars.sh | ||||
| for var in \ | ||||
|     BARE_METAL_TEST_SCRIPT \ | ||||
|     CI_COMMIT_BRANCH \ | ||||
|     CI_COMMIT_TITLE \ | ||||
|     CI_JOB_JWT \ | ||||
|     CI_JOB_ID \ | ||||
|     CI_JOB_URL \ | ||||
|     CI_MERGE_REQUEST_SOURCE_BRANCH_NAME \ | ||||
|     CI_MERGE_REQUEST_TITLE \ | ||||
|     CI_NODE_INDEX \ | ||||
|     CI_NODE_TOTAL \ | ||||
|     CI_PIPELINE_ID \ | ||||
|     CI_PROJECT_PATH \ | ||||
|     CI_RUNNER_DESCRIPTION \ | ||||
|     DEQP_CASELIST_FILTER \ | ||||
|     DEQP_EXPECTED_FAILS \ | ||||
|     DEQP_EXPECTED_RENDERER \ | ||||
|     DEQP_NO_SAVE_RESULTS \ | ||||
|     DEQP_PARALLEL \ | ||||
|     DEQP_RUN_SUFFIX \ | ||||
|     DEQP_SKIPS \ | ||||
|     DEQP_VER \ | ||||
|     DEVICE_NAME \ | ||||
|     FD_MESA_DEBUG \ | ||||
|     FLAKES_CHANNEL \ | ||||
|     IR3_SHADER_DEBUG \ | ||||
|     MESA_GL_VERSION_OVERRIDE \ | ||||
|     MESA_GLSL_VERSION_OVERRIDE \ | ||||
|     MESA_GLES_VERSION_OVERRIDE \ | ||||
|     NIR_VALIDATE \ | ||||
|     TRACIE_NO_UNIT_TESTS \ | ||||
|     TRACIE_UPLOAD_TO_MINIO \ | ||||
|     TU_DEBUG \ | ||||
|     VK_DRIVER \ | ||||
|     ; do | ||||
|   val=`echo ${!var} | sed 's|"||g'` | ||||
|   if [ -n "$val" ]; then | ||||
|     echo "export $var=\"${val}\"" >> $rootfs_dst/set-job-env-vars.sh | ||||
|   fi | ||||
| done | ||||
| echo "Variables passed through:" | ||||
| cat $rootfs_dst/set-job-env-vars.sh | ||||
| set -x | ||||
|  | ||||
| # Add the Mesa drivers we built, and make a consistent symlink to them. | ||||
| mkdir -p $rootfs_dst/$CI_PROJECT_DIR | ||||
| tar -C $rootfs_dst/$CI_PROJECT_DIR/ -xf $CI_PROJECT_DIR/artifacts/install.tar | ||||
| ln -sf $CI_PROJECT_DIR/install $rootfs_dst/install | ||||
| @@ -1,46 +0,0 @@ | ||||
| #!/usr/bin/python3 | ||||
|  | ||||
| # Copyright © 2020 Google LLC | ||||
| # | ||||
| # Permission is hereby granted, free of charge, to any person obtaining a | ||||
| # copy of this software and associated documentation files (the "Software"), | ||||
| # to deal in the Software without restriction, including without limitation | ||||
| # the rights to use, copy, modify, merge, publish, distribute, sublicense, | ||||
| # and/or sell copies of the Software, and to permit persons to whom the | ||||
| # Software is furnished to do so, subject to the following conditions: | ||||
| # | ||||
| # The above copyright notice and this permission notice (including the next | ||||
| # paragraph) shall be included in all copies or substantial portions of the | ||||
| # Software. | ||||
| # | ||||
| # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||||
| # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||||
| # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL | ||||
| # THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||||
| # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||||
| # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS | ||||
| # IN THE SOFTWARE. | ||||
|  | ||||
| # Tiny script to read bytes from serial, and write the output to stdout, with a | ||||
| # buffer in between so we don't lose serial output from its buffer. | ||||
| # | ||||
| # We don't use 'cu' because it requires stdin to be hooked up and I never | ||||
| # managed to make that work without getting blocked somewhere.  We don't use | ||||
| # 'conserver' because it's non-free. | ||||
|  | ||||
| import sys | ||||
| import serial | ||||
| import select | ||||
| import os | ||||
| import posix | ||||
|  | ||||
| dev=sys.argv[1] | ||||
|  | ||||
| ser = serial.Serial(dev, 115200, timeout=10) | ||||
|  | ||||
| while True: | ||||
|     bytes = ser.read() | ||||
|     sys.stdout.buffer.write(bytes) | ||||
|     sys.stdout.flush() | ||||
|  | ||||
| ser.close() | ||||
| @@ -1,11 +0,0 @@ | ||||
| #!/usr/bin/python3 | ||||
|  | ||||
| import sys | ||||
| import serial | ||||
|  | ||||
| dev = sys.argv[1] | ||||
| command = sys.argv[2] + '\n' | ||||
|  | ||||
| ser = serial.Serial(dev, 115200, timeout=5) | ||||
| ser.write(command.encode()) | ||||
| ser.close() | ||||
| @@ -1,33 +0,0 @@ | ||||
| #!/bin/bash | ||||
|  | ||||
| set -ex | ||||
|  | ||||
| # Need an unreleased version of Waffle for surfaceless support in apitrace | ||||
| # Replace this build with the Debian package once that's possible | ||||
|  | ||||
| WAFFLE_VERSION="e3c995d9a2693b687501715b6550619922346089" | ||||
| git clone https://gitlab.freedesktop.org/mesa/waffle.git --single-branch --no-checkout /waffle | ||||
| pushd /waffle | ||||
| git checkout "$WAFFLE_VERSION" | ||||
| cmake -B_build -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_BUILD_TYPE=Release $EXTRA_CMAKE_ARGS . | ||||
| make -C _build install | ||||
| mkdir -p build/lib build/bin | ||||
| cp _build/lib/libwaffle-1.so build/lib/libwaffle-1.so.0 | ||||
| cp _build/bin/wflinfo build/bin/wflinfo | ||||
| ${STRIP_CMD:-strip} build/lib/* build/bin/* | ||||
| find . -not -path './build' -not -path './build/*' -delete | ||||
| popd | ||||
|  | ||||
| APITRACE_VERSION="9.0" | ||||
|  | ||||
| git clone https://github.com/apitrace/apitrace.git --single-branch --no-checkout /apitrace | ||||
| pushd /apitrace | ||||
| git checkout "$APITRACE_VERSION" | ||||
| cmake -G Ninja -B_build -H. -DCMAKE_BUILD_TYPE=Release -DENABLE_GUI=False -DENABLE_WAFFLE=on -DWaffle_DIR=/usr/local/lib/cmake/Waffle/ $EXTRA_CMAKE_ARGS | ||||
| ninja -C _build | ||||
| mkdir build | ||||
| cp _build/apitrace build | ||||
| cp _build/eglretrace build | ||||
| ${STRIP_CMD:-strip} build/* | ||||
| find . -not -path './build' -not -path './build/*' -delete | ||||
| popd | ||||
| @@ -1,10 +0,0 @@ | ||||
| #!/bin/bash | ||||
|  | ||||
| set -ex | ||||
|  | ||||
| git clone https://gitlab.freedesktop.org/mesa/parallel-deqp-runner.git --depth 1 -b mesa-ci-2020-06-15 /parallel-deqp-runner | ||||
| pushd /parallel-deqp-runner | ||||
| meson build/ $EXTRA_MESON_ARGS | ||||
| ninja -C build install | ||||
| popd | ||||
| rm -rf /parallel-deqp-runner | ||||
| @@ -1,68 +0,0 @@ | ||||
| #!/bin/bash | ||||
|  | ||||
| git config --global user.email "mesa@example.com" | ||||
| git config --global user.name "Mesa CI" | ||||
| git clone \ | ||||
|     --depth 1 \ | ||||
|     https://github.com/KhronosGroup/VK-GL-CTS.git \ | ||||
|     -b opengl-es-cts-3.2.6.1 \ | ||||
|     /VK-GL-CTS | ||||
| pushd /VK-GL-CTS | ||||
|  | ||||
| # 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 | ||||
|  | ||||
| # --insecure is due to SSL cert failures hitting sourceforge for zlib and | ||||
| # libpng (sigh).  The archives get their checksums checked anyway, and git | ||||
| # always goes through ssh or https. | ||||
| python3 external/fetch_sources.py --insecure | ||||
|  | ||||
| mkdir -p /deqp | ||||
|  | ||||
| # Save the testlog stylesheets: | ||||
| cp doc/testlog-stylesheet/testlog.{css,xsl} /deqp | ||||
| popd | ||||
|  | ||||
| pushd /deqp | ||||
| cmake -G Ninja \ | ||||
|       -DDEQP_TARGET=surfaceless               \ | ||||
|       -DCMAKE_BUILD_TYPE=Release              \ | ||||
|       $EXTRA_CMAKE_ARGS                       \ | ||||
|       /VK-GL-CTS | ||||
| ninja | ||||
|  | ||||
| # Copy out the mustpass lists we want from a bunch of other junk. | ||||
| mkdir /deqp/mustpass | ||||
| for gles in gles2 gles3 gles31; do | ||||
|     cp \ | ||||
|         /deqp/external/openglcts/modules/gl_cts/data/mustpass/gles/aosp_mustpass/3.2.6.x/$gles-master.txt \ | ||||
|         /deqp/mustpass/$gles-master.txt | ||||
| done | ||||
| cp \ | ||||
|     /deqp/external/openglcts/modules/gl_cts/data/mustpass/gl/khronos_mustpass/4.6.1.x/*-master.txt \ | ||||
|     /deqp/mustpass/. | ||||
|  | ||||
|  | ||||
|  | ||||
| # Save *some* executor utils, but otherwise strip things down | ||||
| # to reduct deqp build size: | ||||
| mkdir /deqp/executor.save | ||||
| cp /deqp/executor/testlog-to-* /deqp/executor.save | ||||
| rm -rf /deqp/executor | ||||
| mv /deqp/executor.save /deqp/executor | ||||
|  | ||||
| ls /deqp/external | grep -v openglcts | xargs rm -rf | ||||
| rm -rf /deqp/modules/internal | ||||
| rm -rf /deqp/execserver | ||||
| rm -rf /deqp/modules/egl | ||||
| rm -rf /deqp/framework | ||||
| rm -rf /deqp/external/openglcts/modules/gl_cts/data/mustpass | ||||
| rm -rf /deqp/external/openglcts/modules/cts-runner | ||||
| rm -rf /deqp/external/vulkancts/modules/vulkan/vk-build-programs | ||||
| find -iname '*cmake*' -o -name '*ninja*' -o -name '*.o' -o -name '*.a' | xargs rm -rf | ||||
| ${STRIP_CMD:-strip} modules/*/deqp-* external/openglcts/modules/glcts | ||||
| du -sh * | ||||
| rm -rf /VK-GL-CTS | ||||
| popd | ||||
| @@ -1,60 +0,0 @@ | ||||
| #!/bin/bash | ||||
|  | ||||
| set -ex | ||||
|  | ||||
| git config --global user.email "mesa@example.com" | ||||
| git config --global user.name "Mesa CI" | ||||
| git clone \ | ||||
|     https://github.com/KhronosGroup/VK-GL-CTS.git \ | ||||
|     -b vulkan-cts-1.2.3.0 \ | ||||
|     --depth 1 \ | ||||
|     /VK-GL-CTS | ||||
| pushd /VK-GL-CTS | ||||
|  | ||||
| # --insecure is due to SSL cert failures hitting sourceforge for zlib and | ||||
| # libpng (sigh).  The archives get their checksums checked anyway, and git | ||||
| # always goes through ssh or https. | ||||
| python3 external/fetch_sources.py --insecure | ||||
|  | ||||
| mkdir -p /deqp | ||||
|  | ||||
| # Save the testlog stylesheets: | ||||
| cp doc/testlog-stylesheet/testlog.{css,xsl} /deqp | ||||
| popd | ||||
|  | ||||
| pushd /deqp | ||||
| cmake -G Ninja \ | ||||
|       -DDEQP_TARGET=${DEQP_TARGET:-x11_glx} \ | ||||
|       -DCMAKE_BUILD_TYPE=Release \ | ||||
|       $EXTRA_CMAKE_ARGS \ | ||||
|       /VK-GL-CTS | ||||
| ninja | ||||
|  | ||||
| # Copy out the mustpass lists we want. | ||||
| mkdir /deqp/mustpass | ||||
| cp /VK-GL-CTS/external/vulkancts/mustpass/master/vk-default.txt \ | ||||
|    /deqp/mustpass/vk-master.txt | ||||
|  | ||||
| for gles in gles2 gles3 gles31; do | ||||
|     cp \ | ||||
|         /deqp/external/openglcts/modules/gl_cts/data/mustpass/gles/aosp_mustpass/3.2.6.x/$gles-master.txt \ | ||||
|         /deqp/mustpass/$gles-master.txt | ||||
| done | ||||
|  | ||||
| # Save *some* executor utils, but otherwise strip things down | ||||
| # to reduct deqp build size: | ||||
| mkdir /deqp/executor.save | ||||
| cp /deqp/executor/testlog-to-* /deqp/executor.save | ||||
| rm -rf /deqp/executor | ||||
| mv /deqp/executor.save /deqp/executor | ||||
|  | ||||
| rm -rf /deqp/modules/internal | ||||
| rm -rf /deqp/execserver | ||||
| rm -rf /deqp/modules/egl | ||||
| rm -rf /deqp/framework | ||||
| find -iname '*cmake*' -o -name '*ninja*' -o -name '*.o' -o -name '*.a' | xargs rm -rf | ||||
| ${STRIP_CMD:-strip} external/vulkancts/modules/vulkan/deqp-vk | ||||
| ${STRIP_CMD:-strip} modules/*/deqp-* | ||||
| du -sh * | ||||
| rm -rf /VK-GL-CTS | ||||
| popd | ||||
| @@ -1,14 +0,0 @@ | ||||
| #!/bin/bash | ||||
|  | ||||
| set -ex | ||||
|  | ||||
| git clone https://github.com/ValveSoftware/Fossilize.git | ||||
| cd Fossilize | ||||
| git checkout 6b5b570008c9ab5269e341f04c811fe49a1bb72c | ||||
| git submodule update --init | ||||
| mkdir build | ||||
| cd build | ||||
| cmake .. -DCMAKE_BUILD_TYPE=Release -G Ninja | ||||
| ninja -C . install | ||||
| cd ../.. | ||||
| rm -rf Fossilize | ||||
| @@ -1,21 +0,0 @@ | ||||
| #!/bin/bash | ||||
|  | ||||
| set -ex | ||||
|  | ||||
| GFXRECONSTRUCT_VERSION=57c588c04af631d1d6d381a48e2b9283f9d9d528 | ||||
|  | ||||
| # Using the "dev" branch by now because it solves a crash and will allow us to | ||||
| # use the gfxreconstruct-info tool | ||||
| git clone https://github.com/LunarG/gfxreconstruct.git --single-branch -b dev --no-checkout /gfxreconstruct | ||||
| pushd /gfxreconstruct | ||||
| git checkout "$GFXRECONSTRUCT_VERSION" | ||||
| git submodule update --init | ||||
| git submodule update | ||||
| cmake -G Ninja -B_build -H. -DCMAKE_BUILD_TYPE=Release | ||||
| ninja -C _build gfxrecon-replay gfxrecon-info | ||||
| mkdir -p build/bin | ||||
| install _build/tools/replay/gfxrecon-replay build/bin | ||||
| install _build/tools/info/gfxrecon-info build/bin | ||||
| strip build/bin/* | ||||
| find . -not -path './build' -not -path './build/*' -delete | ||||
| popd | ||||
| @@ -1,14 +0,0 @@ | ||||
| #!/bin/bash | ||||
|  | ||||
| set -ex | ||||
|  | ||||
| export LIBDRM_VERSION=libdrm-2.4.102 | ||||
|  | ||||
| wget https://dri.freedesktop.org/libdrm/$LIBDRM_VERSION.tar.xz | ||||
| tar -xvf $LIBDRM_VERSION.tar.xz && rm $LIBDRM_VERSION.tar.xz | ||||
| cd $LIBDRM_VERSION | ||||
| meson build -D vc4=true -D freedreno=true -D etnaviv=true $EXTRA_MESON_ARGS | ||||
| ninja -C build install | ||||
| cd .. | ||||
| rm -rf $LIBDRM_VERSION | ||||
|  | ||||
| @@ -1,13 +0,0 @@ | ||||
| #!/bin/bash | ||||
|  | ||||
| set -ex | ||||
|  | ||||
| git clone https://gitlab.freedesktop.org/mesa/piglit.git --single-branch --no-checkout /piglit | ||||
| pushd /piglit | ||||
| git checkout 404862743cf8a7b37a4e3a93b4ba1858d59cd4ab | ||||
| patch -p1 <$OLDPWD/.gitlab-ci/piglit/disable-vs_in.diff | ||||
| cmake -G Ninja -DCMAKE_BUILD_TYPE=Release | ||||
| ninja | ||||
| find -name .git -o -name '*ninja*' -o -iname '*cmake*' -o -name '*.[chao]' | xargs rm -rf | ||||
| rm -rf target_api | ||||
| popd | ||||
| @@ -1,17 +0,0 @@ | ||||
| #!/bin/bash | ||||
|  | ||||
| set -ex | ||||
|  | ||||
| RENDERDOC_VERSION=da02e88201dc3b64316fc33ce6ff69cc729689aa | ||||
|  | ||||
| git clone https://github.com/baldurk/renderdoc.git --single-branch --no-checkout /renderdoc | ||||
| pushd /renderdoc | ||||
| git checkout "$RENDERDOC_VERSION" | ||||
| cmake -G Ninja -B_build -H. -DENABLE_QRENDERDOC=false -DCMAKE_BUILD_TYPE=Release $EXTRA_CMAKE_ARGS | ||||
| ninja -C _build | ||||
| mkdir -p build/lib | ||||
| ${STRIP_CMD:-strip} _build/lib/*.so | ||||
| cp _build/lib/renderdoc.so build/lib | ||||
| cp _build/lib/librenderdoc.so build/lib | ||||
| find . -not -path './build' -not -path './build/*' -delete | ||||
| popd | ||||
| @@ -1,20 +0,0 @@ | ||||
| #!/bin/bash | ||||
|  | ||||
| set -ex | ||||
|  | ||||
| mkdir -p /epoxy | ||||
| pushd /epoxy | ||||
| wget -qO- https://github.com/anholt/libepoxy/releases/download/1.5.4/libepoxy-1.5.4.tar.xz | tar -xJ --strip-components=1 | ||||
| meson build/ $EXTRA_MESON_ARGS | ||||
| ninja -C build install | ||||
| popd | ||||
| rm -rf /epoxy | ||||
|  | ||||
| VIRGLRENDERER_VERSION=43148d1115a12219a0560a538c9872d07c28c558 | ||||
| git clone https://gitlab.freedesktop.org/virgl/virglrenderer.git --single-branch --no-checkout /virglrenderer | ||||
| pushd /virglrenderer | ||||
| git checkout "$VIRGLRENDERER_VERSION" | ||||
| meson build/ $EXTRA_MESON_ARGS | ||||
| ninja -C build install | ||||
| popd | ||||
| rm -rf /virglrenderer | ||||
| @@ -1,29 +0,0 @@ | ||||
| #!/bin/bash | ||||
|  | ||||
| set -ex | ||||
|  | ||||
| VULKANTOOLS_VERSION=1862c6a47b64cd09156205d7f7e6b3bfcea76390 | ||||
|  | ||||
| git clone https://github.com/LunarG/VulkanTools.git --single-branch --no-checkout /VulkanTools | ||||
| pushd /VulkanTools | ||||
| git checkout "$VULKANTOOLS_VERSION" | ||||
| ./update_external_sources.sh | ||||
| mkdir _build | ||||
| ./scripts/update_deps.py --dir=_build --config=release --generator=Ninja | ||||
| cmake -G Ninja -B_build -H. \ | ||||
|       -DCMAKE_BUILD_TYPE=Release \ | ||||
|       -DCMAKE_INSTALL_PREFIX=/VulkanTools/build \ | ||||
|       -DBUILD_TESTS=OFF \ | ||||
|       -DBUILD_VLF=OFF \ | ||||
|       -DBUILD_VKTRACE=OFF \ | ||||
|       -DBUILD_VIA=OFF \ | ||||
|       -DBUILD_VKTRACE_REPLAY=OFF \ | ||||
|       -C_build/helper.cmake | ||||
| ninja -C _build VkLayer_screenshot VkLayer_screenshot-staging-json | ||||
| mkdir -p build/etc/vulkan/explicit_layer.d | ||||
| mkdir build/lib | ||||
| install _build/layersvt/staging-json/VkLayer_screenshot.json build/etc/vulkan/explicit_layer.d | ||||
| install _build/layersvt/libVkLayer_screenshot.so build/lib | ||||
| strip build/lib/* | ||||
| find . -not -path './build' -not -path './build/*' -delete | ||||
| popd | ||||
| @@ -1,5 +0,0 @@ | ||||
| #!/bin/bash | ||||
|  | ||||
| arch=arm64 | ||||
|  | ||||
| . .gitlab-ci/container/baremetal_build.sh | ||||
| @@ -1,55 +0,0 @@ | ||||
| #!/bin/bash | ||||
|  | ||||
| set -e | ||||
| set -o xtrace | ||||
|  | ||||
| apt-get -y install ca-certificates | ||||
| sed -i -e 's/http:\/\/deb/https:\/\/deb/g' /etc/apt/sources.list | ||||
| echo 'deb https://deb.debian.org/debian buster-backports main' >/etc/apt/sources.list.d/backports.list | ||||
| apt-get update | ||||
| apt-get -y install \ | ||||
| 	abootimg \ | ||||
| 	android-sdk-ext4-utils \ | ||||
| 	autoconf \ | ||||
| 	automake \ | ||||
| 	bc \ | ||||
| 	bison \ | ||||
| 	ccache \ | ||||
| 	cmake \ | ||||
| 	debootstrap \ | ||||
| 	fastboot \ | ||||
| 	flex \ | ||||
| 	g++ \ | ||||
| 	git \ | ||||
| 	lavacli \ | ||||
| 	libdrm-dev \ | ||||
| 	libelf-dev \ | ||||
| 	libexpat1-dev \ | ||||
| 	llvm-8-dev \ | ||||
| 	pkg-config \ | ||||
| 	python \ | ||||
| 	python3-mako \ | ||||
| 	python3-pil \ | ||||
| 	python3-requests \ | ||||
| 	python3-pip \ | ||||
| 	python3-setuptools \ | ||||
| 	unzip \ | ||||
| 	wget \ | ||||
| 	xz-utils \ | ||||
| 	zlib1g-dev | ||||
|  | ||||
| pip3 install git+http://gitlab.freedesktop.org/freedesktop/ci-templates@6f5af7e5574509726c79109e3c147cee95e81366 | ||||
|  | ||||
| apt install -y --no-remove -t buster-backports \ | ||||
|     meson | ||||
|  | ||||
| arch=armhf | ||||
| . .gitlab-ci/container/cross_build.sh | ||||
|  | ||||
| . .gitlab-ci/container/container_pre_build.sh | ||||
|  | ||||
| # dependencies where we want a specific version | ||||
| EXTRA_MESON_ARGS= | ||||
| . .gitlab-ci/build-libdrm.sh | ||||
|  | ||||
| . .gitlab-ci/container/container_post_build.sh | ||||
| @@ -1,45 +0,0 @@ | ||||
| #!/bin/bash | ||||
|  | ||||
| set -e | ||||
| set -o xtrace | ||||
|  | ||||
| ############### Install packages for building | ||||
| apt-get install -y ca-certificates | ||||
| sed -i -e 's/http:\/\/deb/https:\/\/deb/g' /etc/apt/sources.list | ||||
| echo 'deb https://deb.debian.org/debian buster-backports main' >/etc/apt/sources.list.d/backports.list | ||||
| apt-get update | ||||
|  | ||||
| apt-get install -y --no-remove \ | ||||
|         abootimg \ | ||||
|         android-sdk-ext4-utils \ | ||||
|         bc \ | ||||
|         bison \ | ||||
|         bzip2 \ | ||||
|         ccache \ | ||||
|         cmake \ | ||||
|         cpio \ | ||||
|         g++ \ | ||||
|         debootstrap \ | ||||
|         fastboot \ | ||||
|         flex \ | ||||
|         git \ | ||||
|         netcat \ | ||||
|         nginx-full \ | ||||
|         python3-distutils \ | ||||
|         python3-minimal \ | ||||
|         python3-serial \ | ||||
|         python3.7 \ | ||||
|         pkg-config \ | ||||
|         procps \ | ||||
|         rsync \ | ||||
|         u-boot-tools \ | ||||
|         unzip | ||||
|  | ||||
| apt install -t buster-backports -y --no-remove \ | ||||
|     meson | ||||
|  | ||||
| # setup nginx | ||||
| sed -i '/gzip_/ s/#\ //g' /etc/nginx/nginx.conf | ||||
| cp .gitlab-ci/bare-metal/nginx-default-site  /etc/nginx/sites-enabled/default | ||||
|  | ||||
| . .gitlab-ci/container/container_post_build.sh | ||||
| @@ -1,60 +0,0 @@ | ||||
| #!/bin/bash | ||||
|  | ||||
| set -e | ||||
| set -o xtrace | ||||
|  | ||||
| ROOTFS=/lava-files/rootfs-${arch} | ||||
|  | ||||
| dpkg --add-architecture $arch | ||||
| apt-get update | ||||
|  | ||||
| # Cross-build test deps | ||||
| BAREMETAL_EPHEMERAL=" \ | ||||
|         autoconf \ | ||||
|         automake \ | ||||
|         crossbuild-essential-$arch \ | ||||
|         git-lfs \ | ||||
|         libdrm-dev:$arch \ | ||||
|         libboost-dev:$arch \ | ||||
|         libegl1-mesa-dev:$arch \ | ||||
|         libelf-dev:$arch \ | ||||
|         libexpat1-dev:$arch \ | ||||
|         libffi-dev:$arch \ | ||||
|         libgbm-dev:$arch \ | ||||
|         libgles2-mesa-dev:$arch \ | ||||
|         libpciaccess-dev:$arch \ | ||||
|         libpcre3-dev:$arch \ | ||||
|         libpng-dev:$arch \ | ||||
|         libpython3-dev:$arch \ | ||||
|         libstdc++6:$arch \ | ||||
|         libtinfo-dev:$arch \ | ||||
|         libegl1-mesa-dev:$arch \ | ||||
|         libvulkan-dev:$arch \ | ||||
|         libxcb-keysyms1-dev:$arch \ | ||||
|         libpython3-dev:$arch \ | ||||
|         python3-dev \ | ||||
|         qt5-default \ | ||||
|         qt5-qmake \ | ||||
|         qtbase5-dev:$arch \ | ||||
|         " | ||||
|  | ||||
| apt-get install -y --no-remove $BAREMETAL_EPHEMERAL | ||||
|  | ||||
| mkdir /var/cache/apt/archives/$arch | ||||
|  | ||||
| ############### Create cross-files | ||||
|  | ||||
| . .gitlab-ci/create-cross-file.sh $arch | ||||
|  | ||||
| . .gitlab-ci/container/container_pre_build.sh | ||||
|  | ||||
| ############### Create rootfs | ||||
| KERNEL_URL=https://gitlab.freedesktop.org/drm/msm/-/archive/drm-msm-fixes-2020-06-25/msm-drm-msm-fixes-2020-06-25.tar.gz | ||||
|  | ||||
| DEBIAN_ARCH=$arch INCLUDE_VK_CTS=1 . .gitlab-ci/container/lava_build.sh | ||||
|  | ||||
| ccache --show-stats | ||||
|  | ||||
| . .gitlab-ci/container/container_post_build.sh | ||||
|  | ||||
| apt-get purge -y $BAREMETAL_EPHEMERAL | ||||
| @@ -1,5 +0,0 @@ | ||||
| #!/bin/sh | ||||
|  | ||||
| apt-get autoremove -y --purge | ||||
|  | ||||
| ccache --show-stats | ||||
| @@ -1,24 +0,0 @@ | ||||
| #!/bin/sh | ||||
|  | ||||
| # Common setup among container builds before we get to building code. | ||||
|  | ||||
| export CCACHE_COMPILERCHECK=content | ||||
| export CCACHE_COMPRESS=true | ||||
| export CCACHE_DIR=/cache/mesa/ccache | ||||
| export PATH=/usr/lib/ccache:$PATH | ||||
|  | ||||
| # CMake ignores $PATH, so we have to force CC/GCC to the ccache versions. | ||||
| # Watch out, you can't have spaces in here because the renderdoc build fails. | ||||
| export CC="/usr/lib/ccache/gcc" | ||||
| export CXX="/usr/lib/ccache/g++" | ||||
|  | ||||
| ccache --show-stats | ||||
|  | ||||
| # Make a wrapper script for ninja to always include the -j flags | ||||
| echo '#!/bin/sh -x' > /usr/local/bin/ninja | ||||
| echo '/usr/bin/ninja -j${FDO_CI_CONCURRENT:-4} "$@"' >> /usr/local/bin/ninja | ||||
| chmod +x /usr/local/bin/ninja | ||||
|  | ||||
| # Set MAKEFLAGS so that all make invocations in container builds include the | ||||
| # flags (doesn't apply to non-container builds, but we don't run make there) | ||||
| export MAKEFLAGS="-j${FDO_CI_CONCURRENT:-4}" | ||||
| @@ -1,48 +0,0 @@ | ||||
| #!/bin/bash | ||||
|  | ||||
| set -e | ||||
| set -o xtrace | ||||
|  | ||||
| export DEBIAN_FRONTEND=noninteractive | ||||
|  | ||||
| # Ephemeral packages (installed for this script and removed again at the end) | ||||
| STABLE_EPHEMERAL=" \ | ||||
|         libpciaccess-dev:$arch | ||||
|         " | ||||
|  | ||||
| dpkg --add-architecture $arch | ||||
| apt-get update | ||||
|  | ||||
| apt-get install -y --no-remove \ | ||||
|         $STABLE_EPHEMERAL \ | ||||
|         crossbuild-essential-$arch \ | ||||
|         libelf-dev:$arch \ | ||||
|         libexpat1-dev:$arch \ | ||||
|         libffi-dev:$arch \ | ||||
|         libstdc++6:$arch \ | ||||
|         libtinfo-dev:$arch \ | ||||
|         wget | ||||
|  | ||||
| if [[ $arch == "armhf" ]]; then | ||||
|         LLVM=llvm-7-dev | ||||
| else | ||||
|         LLVM=llvm-8-dev | ||||
| fi | ||||
|  | ||||
| apt-get install -y --no-remove -t buster-backports \ | ||||
|         $LLVM:$arch | ||||
|  | ||||
| . .gitlab-ci/create-cross-file.sh $arch | ||||
|  | ||||
|  | ||||
| . .gitlab-ci/container/container_pre_build.sh | ||||
|  | ||||
|  | ||||
| # dependencies where we want a specific version | ||||
| EXTRA_MESON_ARGS="--cross-file=/cross_file-${arch}.txt -D libdir=lib/$(dpkg-architecture -A $arch -qDEB_TARGET_MULTIARCH)" | ||||
| . .gitlab-ci/build-libdrm.sh | ||||
|  | ||||
| apt-get purge -y \ | ||||
|         $STABLE_EPHEMERAL | ||||
|  | ||||
| . .gitlab-ci/container/container_post_build.sh | ||||
| @@ -1,5 +0,0 @@ | ||||
| #!/bin/bash | ||||
|  | ||||
| arch=i386 | ||||
|  | ||||
| . .gitlab-ci/container/cross_build.sh | ||||
| @@ -1,239 +0,0 @@ | ||||
| #!/bin/bash | ||||
|  | ||||
| set -e | ||||
| set -o xtrace | ||||
|  | ||||
| check_minio() | ||||
| { | ||||
|     MINIO_PATH="minio-packet.freedesktop.org/mesa-lava/$1/${DISTRIBUTION_TAG}/${DEBIAN_ARCH}" | ||||
|     if wget -q --method=HEAD "https://${MINIO_PATH}/done"; then | ||||
|         exit | ||||
|     fi | ||||
| } | ||||
|  | ||||
| # If remote files are up-to-date, skip rebuilding them | ||||
| check_minio "mesa/mesa" | ||||
| check_minio "${CI_PROJECT_PATH}" | ||||
|  | ||||
| . .gitlab-ci/container/container_pre_build.sh | ||||
|  | ||||
| if [[ "$DEBIAN_ARCH" = "arm64" ]]; then | ||||
|     GCC_ARCH="aarch64-linux-gnu" | ||||
|     KERNEL_ARCH="arm64" | ||||
|     DEFCONFIG="arch/arm64/configs/defconfig" | ||||
|     DEVICE_TREES="arch/arm64/boot/dts/rockchip/rk3399-gru-kevin.dtb arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dtb arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dtb arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dtb arch/arm64/boot/dts/qcom/apq8016-sbc.dtb" | ||||
|     KERNEL_IMAGE_NAME="Image" | ||||
| elif [[ "$DEBIAN_ARCH" = "armhf" ]]; then | ||||
|     GCC_ARCH="arm-linux-gnueabihf" | ||||
|     KERNEL_ARCH="arm" | ||||
|     DEFCONFIG="arch/arm/configs/multi_v7_defconfig" | ||||
|     DEVICE_TREES="arch/arm/boot/dts/rk3288-veyron-jaq.dtb arch/arm/boot/dts/sun8i-h3-libretech-all-h3-cc.dtb" | ||||
|     KERNEL_IMAGE_NAME="zImage" | ||||
|     . .gitlab-ci/create-cross-file.sh armhf | ||||
| else | ||||
|     GCC_ARCH="x86_64-linux-gnu" | ||||
|     KERNEL_ARCH="x86_64" | ||||
|     DEFCONFIG="arch/x86/configs/x86_64_defconfig" | ||||
|     DEVICE_TREES="" | ||||
|     KERNEL_IMAGE_NAME="bzImage" | ||||
| fi | ||||
|  | ||||
| # Determine if we're in a cross build. | ||||
| if [[ -e /cross_file-$DEBIAN_ARCH.txt ]]; then | ||||
|     EXTRA_MESON_ARGS="--cross-file /cross_file-$DEBIAN_ARCH.txt" | ||||
|     EXTRA_CMAKE_ARGS="-DCMAKE_TOOLCHAIN_FILE=/toolchain-$DEBIAN_ARCH.cmake" | ||||
|  | ||||
|     export ARCH=${KERNEL_ARCH} | ||||
|     export CROSS_COMPILE="${GCC_ARCH}-" | ||||
| fi | ||||
|  | ||||
| apt-get update | ||||
| apt-get install -y automake \ | ||||
|                    git \ | ||||
|                    bc \ | ||||
|                    cmake \ | ||||
|                    wget \ | ||||
|                    debootstrap \ | ||||
|                    libboost-dev \ | ||||
|                    libegl1-mesa-dev \ | ||||
|                    libgbm-dev \ | ||||
|                    libgles2-mesa-dev \ | ||||
|                    libpcre3-dev \ | ||||
|                    libpng-dev \ | ||||
|                    libpython3-dev \ | ||||
|                    libssl-dev \ | ||||
|                    libvulkan-dev \ | ||||
|                    libxcb-keysyms1-dev \ | ||||
|                    python3-dev \ | ||||
|                    python3-distutils \ | ||||
|                    python3-serial \ | ||||
|                    qt5-default \ | ||||
|                    qt5-qmake \ | ||||
|                    qtbase5-dev | ||||
|  | ||||
|  | ||||
| if [[ "$DEBIAN_ARCH" = "armhf" ]]; then | ||||
| 	apt-get install -y libboost-dev:armhf \ | ||||
| 		libegl1-mesa-dev:armhf \ | ||||
| 		libelf-dev:armhf \ | ||||
| 		libgbm-dev:armhf \ | ||||
| 		libgles2-mesa-dev:armhf \ | ||||
| 		libpcre3-dev:armhf \ | ||||
| 		libpng-dev:armhf \ | ||||
| 		libpython3-dev:armhf \ | ||||
| 		libvulkan-dev:armhf \ | ||||
| 		libxcb-keysyms1-dev:armhf \ | ||||
|                qtbase5-dev:armhf | ||||
| fi | ||||
|  | ||||
| ############### Build dEQP runner | ||||
| . .gitlab-ci/build-cts-runner.sh | ||||
| mkdir -p /lava-files/rootfs-${DEBIAN_ARCH}/usr/bin | ||||
| mv /usr/local/bin/deqp-runner /lava-files/rootfs-${DEBIAN_ARCH}/usr/bin/. | ||||
|  | ||||
|  | ||||
| ############### Build dEQP | ||||
| STRIP_CMD="${GCC_ARCH}-strip" | ||||
| if [ -n "$INCLUDE_VK_CTS" ]; then | ||||
|    DEQP_TARGET=surfaceless . .gitlab-ci/build-deqp-vk.sh | ||||
| else | ||||
|    . .gitlab-ci/build-deqp-gl.sh | ||||
| fi | ||||
|  | ||||
| mv /deqp /lava-files/rootfs-${DEBIAN_ARCH}/. | ||||
|  | ||||
|  | ||||
| ############### Build apitrace | ||||
| . .gitlab-ci/build-apitrace.sh | ||||
| mkdir -p /lava-files/rootfs-${DEBIAN_ARCH}/apitrace | ||||
| mv /apitrace/build /lava-files/rootfs-${DEBIAN_ARCH}/apitrace | ||||
| rm -rf /apitrace | ||||
|  | ||||
| mkdir -p /lava-files/rootfs-${DEBIAN_ARCH}/waffle | ||||
| mv /waffle/build /lava-files/rootfs-${DEBIAN_ARCH}/waffle | ||||
| rm -rf /waffle | ||||
|  | ||||
|  | ||||
| ############### Build renderdoc | ||||
| EXTRA_CMAKE_ARGS+=" -DENABLE_XCB=false" | ||||
| . .gitlab-ci/build-renderdoc.sh | ||||
| mkdir -p /lava-files/rootfs-${DEBIAN_ARCH}/renderdoc | ||||
| mv /renderdoc/build /lava-files/rootfs-${DEBIAN_ARCH}/renderdoc | ||||
| rm -rf /renderdoc | ||||
|  | ||||
|  | ||||
| ############### Build libdrm | ||||
| EXTRA_MESON_ARGS+=" -D prefix=/libdrm" | ||||
| . .gitlab-ci/build-libdrm.sh | ||||
| mkdir -p /lava-files/rootfs-${DEBIAN_ARCH}/usr/lib/$GCC_ARCH | ||||
| find /libdrm/ -name lib\*\.so\* | xargs cp -t /lava-files/rootfs-${DEBIAN_ARCH}/usr/lib/$GCC_ARCH/. | ||||
| rm -rf /libdrm | ||||
|  | ||||
|  | ||||
| ############### Cross-build kernel | ||||
| mkdir -p kernel | ||||
| wget -qO- ${KERNEL_URL} | tar -xz --strip-components=1 -C kernel | ||||
| pushd kernel | ||||
| ./scripts/kconfig/merge_config.sh ${DEFCONFIG} ../.gitlab-ci/${KERNEL_ARCH}.config | ||||
| make ${KERNEL_IMAGE_NAME} | ||||
| for image in ${KERNEL_IMAGE_NAME}; do | ||||
|     cp arch/${KERNEL_ARCH}/boot/${image} /lava-files/. | ||||
| done | ||||
| if [[ -n ${DEVICE_TREES} ]]; then | ||||
|     make dtbs | ||||
|     cp ${DEVICE_TREES} /lava-files/. | ||||
| fi | ||||
|  | ||||
| if [[ ${DEBIAN_ARCH} = "arm64" ]] && which mkimage > /dev/null; then | ||||
|     make Image.lzma | ||||
|     mkimage \ | ||||
|         -f auto \ | ||||
|         -A arm \ | ||||
|         -O linux \ | ||||
|         -d arch/arm64/boot/Image.lzma \ | ||||
|         -C lzma\ | ||||
|         -b arch/arm64/boot/dts/qcom/sdm845-cheza-r3.dtb \ | ||||
|         /lava-files/cheza-kernel | ||||
| fi | ||||
|  | ||||
| popd | ||||
| rm -rf kernel | ||||
|  | ||||
| ############### Create rootfs | ||||
| set +e | ||||
| debootstrap \ | ||||
|     --variant=minbase \ | ||||
|     --arch=${DEBIAN_ARCH} \ | ||||
|      --components main,contrib,non-free \ | ||||
|     buster \ | ||||
|     /lava-files/rootfs-${DEBIAN_ARCH}/ \ | ||||
|     http://deb.debian.org/debian | ||||
|  | ||||
| cat /lava-files/rootfs-${DEBIAN_ARCH}/debootstrap/debootstrap.log | ||||
| set -e | ||||
|  | ||||
| cp .gitlab-ci/create-rootfs.sh /lava-files/rootfs-${DEBIAN_ARCH}/. | ||||
| cp .gitlab-ci/container/llvm-snapshot.gpg.key /lava-files/rootfs-${DEBIAN_ARCH}/. | ||||
| chroot /lava-files/rootfs-${DEBIAN_ARCH} sh /create-rootfs.sh | ||||
| rm /lava-files/rootfs-${DEBIAN_ARCH}/create-rootfs.sh | ||||
| rm /lava-files/rootfs-${DEBIAN_ARCH}/llvm-snapshot.gpg.key | ||||
| du -ah /lava-files/rootfs-${DEBIAN_ARCH} | sort -h | tail -100 | ||||
| pushd /lava-files/rootfs-${DEBIAN_ARCH} | ||||
|   tar cvzf /lava-files/lava-rootfs.tgz . | ||||
| popd | ||||
|  | ||||
| if [ ${DEBIAN_ARCH} = arm64 ]; then | ||||
|     # Pull down a specific build of qcomlt/release/qcomlt-5.4 8c79b3d12355 | ||||
|     # ("Merge tag 'v5.4.23' into release/qcomlt-5.4"), where I used the | ||||
|     # .config from | ||||
|     # http://snapshots.linaro.org/96boards/dragonboard820c/linaro/debian/457/config-5.4.0-qcomlt-arm64 | ||||
|     # with the following merged in: | ||||
|     # | ||||
|     # CONFIG_DRM=y | ||||
|     # CONFIG_DRM_MSM=y | ||||
|     # CONFIG_ATL1C=y | ||||
|     # | ||||
|     # Reason: 5.5 has a big stack of oopses and warns on db820c.  4.14-5.4 | ||||
|     # linaro kernel binaries (see above .config link) have these as modules | ||||
|     # and distributed the modules only in the debian system, not the initrd, | ||||
|     # so they're very hard to extract (involving simg2img and loopback | ||||
|     # mounting).  4.11 is missing d72fea538fe6 ("drm/msm: Fix the check for | ||||
|     # the command size") so it can't actually run fredreno.  qcomlt-4.14 is | ||||
|     # unstable at boot (~10% instaboot rate).  The 5.4 qcomlt kernel with msm | ||||
|     # built in seems like the easiest way to go. | ||||
|     wget https://people.freedesktop.org/~anholt/qcomlt-5.4-msm-build/Image.gz -O Image.gz \ | ||||
|          -O /lava-files/db820c-kernel | ||||
|     wget https://people.freedesktop.org/~anholt/qcomlt-5.4-msm-build/apq8096-db820c.dtb \ | ||||
|          -O /lava-files/db820c.dtb | ||||
|  | ||||
|     # Make a gzipped copy of the Image for db410c. | ||||
|     gzip -k /lava-files/Image | ||||
|  | ||||
|     # Add missing a630 firmware, added to debian packge in apr 2020 | ||||
|     wget https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/qcom/a630_gmu.bin \ | ||||
|          -O /lava-files/rootfs-arm64/lib/firmware/qcom/a630_gmu.bin | ||||
|     wget https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/qcom/a630_sqe.fw \ | ||||
|          -O /lava-files/rootfs-arm64/lib/firmware/qcom/a630_sqe.fw | ||||
| fi | ||||
|  | ||||
| . .gitlab-ci/container/container_post_build.sh | ||||
|  | ||||
| ############### Upload the files! | ||||
| if [ -n "$UPLOAD_FOR_LAVA" ]; then | ||||
|     ci-fairy minio login $CI_JOB_JWT | ||||
|     FILES_TO_UPLOAD="lava-rootfs.tgz \ | ||||
|                      $KERNEL_IMAGE_NAME" | ||||
|  | ||||
|     if [[ -n $DEVICE_TREES ]]; then | ||||
|         FILES_TO_UPLOAD="$FILES_TO_UPLOAD $(basename -a $DEVICE_TREES)" | ||||
|     fi | ||||
|  | ||||
|     for f in $FILES_TO_UPLOAD; do | ||||
|         ci-fairy minio cp /lava-files/$f \ | ||||
|             minio://${MINIO_PATH}/$f | ||||
|     done | ||||
|  | ||||
|     touch /lava-files/done | ||||
|     ci-fairy minio cp /lava-files/done minio://${MINIO_PATH}/done | ||||
| fi | ||||
|  | ||||
| @@ -1,52 +0,0 @@ | ||||
| -----BEGIN PGP PUBLIC KEY BLOCK----- | ||||
| Version: GnuPG v1.4.12 (GNU/Linux) | ||||
|  | ||||
| mQINBFE9lCwBEADi0WUAApM/mgHJRU8lVkkw0CHsZNpqaQDNaHefD6Rw3S4LxNmM | ||||
| EZaOTkhP200XZM8lVdbfUW9xSjA3oPldc1HG26NjbqqCmWpdo2fb+r7VmU2dq3NM | ||||
| R18ZlKixiLDE6OUfaXWKamZsXb6ITTYmgTO6orQWYrnW6ckYHSeaAkW0wkDAryl2 | ||||
| B5v8aoFnQ1rFiVEMo4NGzw4UX+MelF7rxaaregmKVTPiqCOSPJ1McC1dHFN533FY | ||||
| Wh/RVLKWo6npu+owtwYFQW+zyQhKzSIMvNujFRzhIxzxR9Gn87MoLAyfgKEzrbbT | ||||
| DhqqNXTxS4UMUKCQaO93TzetX/EBrRpJj+vP640yio80h4Dr5pAd7+LnKwgpTDk1 | ||||
| G88bBXJAcPZnTSKu9I2c6KY4iRNbvRz4i+ZdwwZtdW4nSdl2792L7Sl7Nc44uLL/ | ||||
| ZqkKDXEBF6lsX5XpABwyK89S/SbHOytXv9o4puv+65Ac5/UShspQTMSKGZgvDauU | ||||
| cs8kE1U9dPOqVNCYq9Nfwinkf6RxV1k1+gwtclxQuY7UpKXP0hNAXjAiA5KS5Crq | ||||
| 7aaJg9q2F4bub0mNU6n7UI6vXguF2n4SEtzPRk6RP+4TiT3bZUsmr+1ktogyOJCc | ||||
| Ha8G5VdL+NBIYQthOcieYCBnTeIH7D3Sp6FYQTYtVbKFzmMK+36ERreL/wARAQAB | ||||
| tD1TeWx2ZXN0cmUgTGVkcnUgLSBEZWJpYW4gTExWTSBwYWNrYWdlcyA8c3lsdmVz | ||||
| dHJlQGRlYmlhbi5vcmc+iQI4BBMBAgAiBQJRPZQsAhsDBgsJCAcDAgYVCAIJCgsE | ||||
| FgIDAQIeAQIXgAAKCRAVz00Yr090Ibx+EADArS/hvkDF8juWMXxh17CgR0WZlHCC | ||||
| 9CTBWkg5a0bNN/3bb97cPQt/vIKWjQtkQpav6/5JTVCSx2riL4FHYhH0iuo4iAPR | ||||
| udC7Cvg8g7bSPrKO6tenQZNvQm+tUmBHgFiMBJi92AjZ/Qn1Shg7p9ITivFxpLyX | ||||
| wpmnF1OKyI2Kof2rm4BFwfSWuf8Fvh7kDMRLHv+MlnK/7j/BNpKdozXxLcwoFBmn | ||||
| l0WjpAH3OFF7Pvm1LJdf1DjWKH0Dc3sc6zxtmBR/KHHg6kK4BGQNnFKujcP7TVdv | ||||
| gMYv84kun14pnwjZcqOtN3UJtcx22880DOQzinoMs3Q4w4o05oIF+sSgHViFpc3W | ||||
| R0v+RllnH05vKZo+LDzc83DQVrdwliV12eHxrMQ8UYg88zCbF/cHHnlzZWAJgftg | ||||
| hB08v1BKPgYRUzwJ6VdVqXYcZWEaUJmQAPuAALyZESw94hSo28FAn0/gzEc5uOYx | ||||
| K+xG/lFwgAGYNb3uGM5m0P6LVTfdg6vDwwOeTNIExVk3KVFXeSQef2ZMkhwA7wya | ||||
| KJptkb62wBHFE+o9TUdtMCY6qONxMMdwioRE5BYNwAsS1PnRD2+jtlI0DzvKHt7B | ||||
| MWd8hnoUKhMeZ9TNmo+8CpsAtXZcBho0zPGz/R8NlJhAWpdAZ1CmcPo83EW86Yq7 | ||||
| BxQUKnNHcwj2ebkCDQRRPZQsARAA4jxYmbTHwmMjqSizlMJYNuGOpIidEdx9zQ5g | ||||
| zOr431/VfWq4S+VhMDhs15j9lyml0y4ok215VRFwrAREDg6UPMr7ajLmBQGau0Fc | ||||
| bvZJ90l4NjXp5p0NEE/qOb9UEHT7EGkEhaZ1ekkWFTWCgsy7rRXfZLxB6sk7pzLC | ||||
| DshyW3zjIakWAnpQ5j5obiDy708pReAuGB94NSyb1HoW/xGsGgvvCw4r0w3xPStw | ||||
| F1PhmScE6NTBIfLliea3pl8vhKPlCh54Hk7I8QGjo1ETlRP4Qll1ZxHJ8u25f/ta | ||||
| RES2Aw8Hi7j0EVcZ6MT9JWTI83yUcnUlZPZS2HyeWcUj+8nUC8W4N8An+aNps9l/ | ||||
| 21inIl2TbGo3Yn1JQLnA1YCoGwC34g8QZTJhElEQBN0X29ayWW6OdFx8MDvllbBV | ||||
| ymmKq2lK1U55mQTfDli7S3vfGz9Gp/oQwZ8bQpOeUkc5hbZszYwP4RX+68xDPfn+ | ||||
| M9udl+qW9wu+LyePbW6HX90LmkhNkkY2ZzUPRPDHZANU5btaPXc2H7edX4y4maQa | ||||
| xenqD0lGh9LGz/mps4HEZtCI5CY8o0uCMF3lT0XfXhuLksr7Pxv57yue8LLTItOJ | ||||
| d9Hmzp9G97SRYYeqU+8lyNXtU2PdrLLq7QHkzrsloG78lCpQcalHGACJzrlUWVP/ | ||||
| fN3Ht3kAEQEAAYkCHwQYAQIACQUCUT2ULAIbDAAKCRAVz00Yr090IbhWEADbr50X | ||||
| OEXMIMGRLe+YMjeMX9NG4jxs0jZaWHc/WrGR+CCSUb9r6aPXeLo+45949uEfdSsB | ||||
| pbaEdNWxF5Vr1CSjuO5siIlgDjmT655voXo67xVpEN4HhMrxugDJfCa6z97P0+ML | ||||
| PdDxim57uNqkam9XIq9hKQaurxMAECDPmlEXI4QT3eu5qw5/knMzDMZj4Vi6hovL | ||||
| wvvAeLHO/jsyfIdNmhBGU2RWCEZ9uo/MeerPHtRPfg74g+9PPfP6nyHD2Wes6yGd | ||||
| oVQwtPNAQD6Cj7EaA2xdZYLJ7/jW6yiPu98FFWP74FN2dlyEA2uVziLsfBrgpS4l | ||||
| tVOlrO2YzkkqUGrybzbLpj6eeHx+Cd7wcjI8CalsqtL6cG8cUEjtWQUHyTbQWAgG | ||||
| 5VPEgIAVhJ6RTZ26i/G+4J8neKyRs4vz+57UGwY6zI4AB1ZcWGEE3Bf+CDEDgmnP | ||||
| LSwbnHefK9IljT9XU98PelSryUO/5UPw7leE0akXKB4DtekToO226px1VnGp3Bov | ||||
| 1GBGvpHvL2WizEwdk+nfk8LtrLzej+9FtIcq3uIrYnsac47Pf7p0otcFeTJTjSq3 | ||||
| krCaoG4Hx0zGQG2ZFpHrSrZTVy6lxvIdfi0beMgY6h78p6M9eYZHQHc02DjFkQXN | ||||
| bXb5c6gCHESH5PXwPU4jQEE7Ib9J6sbk7ZT2Mw== | ||||
| =j+4q | ||||
| -----END PGP PUBLIC KEY BLOCK----- | ||||
| @@ -1,8 +0,0 @@ | ||||
| #!/bin/bash | ||||
|  | ||||
| arch=ppc64el | ||||
|  | ||||
| . .gitlab-ci/container/cross_build.sh | ||||
|  | ||||
| apt-get install -y --no-remove \ | ||||
|         libvulkan-dev:$arch | ||||
| @@ -1,5 +0,0 @@ | ||||
| #!/bin/bash | ||||
|  | ||||
| arch=s390x | ||||
|  | ||||
| . .gitlab-ci/container/cross_build.sh | ||||
| @@ -1,97 +0,0 @@ | ||||
| #!/bin/bash | ||||
|  | ||||
| set -e | ||||
| set -o xtrace | ||||
|  | ||||
| export DEBIAN_FRONTEND=noninteractive | ||||
|  | ||||
| apt-get install -y \ | ||||
|         ca-certificates \ | ||||
|         gnupg \ | ||||
|         python3-pip \ | ||||
|         python3-setuptools \ | ||||
|         unzip \ | ||||
|         wget | ||||
|  | ||||
| # Upstream LLVM package repository | ||||
| apt-key add .gitlab-ci/container/llvm-snapshot.gpg.key | ||||
| echo "deb https://apt.llvm.org/buster/ llvm-toolchain-buster-9 main" >/etc/apt/sources.list.d/llvm9.list | ||||
|  | ||||
| sed -i -e 's/http:\/\/deb/https:\/\/deb/g' /etc/apt/sources.list | ||||
| echo 'deb https://deb.debian.org/debian buster-backports main' >/etc/apt/sources.list.d/backports.list | ||||
|  | ||||
| apt-get update | ||||
|  | ||||
| apt-get install -y --no-remove \ | ||||
|         $STABLE_EPHEMERAL \ | ||||
|         bison \ | ||||
|         ccache \ | ||||
|         clang-9 \ | ||||
|         dpkg-cross \ | ||||
|         flex \ | ||||
|         g++ \ | ||||
|         g++-mingw-w64-x86-64 \ | ||||
|         gcc \ | ||||
|         git \ | ||||
|         libclang-9-dev \ | ||||
|         libclc-dev \ | ||||
|         libelf-dev \ | ||||
|         libepoxy-dev \ | ||||
|         libexpat1-dev \ | ||||
|         libgtk-3-dev \ | ||||
|         libomxil-bellagio-dev \ | ||||
|         libpciaccess-dev \ | ||||
|         libunwind-dev \ | ||||
|         libva-dev \ | ||||
|         libvdpau-dev \ | ||||
|         libvulkan-dev \ | ||||
|         libx11-dev \ | ||||
|         libx11-xcb-dev \ | ||||
|         libxdamage-dev \ | ||||
|         libxext-dev \ | ||||
|         libxml2-utils \ | ||||
|         libxrandr-dev \ | ||||
|         libxrender-dev \ | ||||
|         libxshmfence-dev \ | ||||
|         libxvmc-dev \ | ||||
|         libxxf86vm-dev \ | ||||
|         libz-mingw-w64-dev \ | ||||
|         llvm-9-dev \ | ||||
|         pkg-config \ | ||||
|         python-mako \ | ||||
|         python3-mako \ | ||||
|         python3-pil \ | ||||
|         python3-pip \ | ||||
|         python3-requests \ | ||||
|         python3-setuptools \ | ||||
|         qemu-user \ | ||||
|         scons \ | ||||
|         wine64-development \ | ||||
|         x11proto-dri2-dev \ | ||||
|         x11proto-gl-dev \ | ||||
|         x11proto-randr-dev \ | ||||
|         xz-utils \ | ||||
|         zlib1g-dev | ||||
|  | ||||
| apt-get install -y --no-remove -t buster-backports \ | ||||
|         libclang-8-dev \ | ||||
|         libllvm8 \ | ||||
|         meson | ||||
|  | ||||
| # Needed for ci-fairy, this revision is able to upload files to MinIO | ||||
| pip3 install git+http://gitlab.freedesktop.org/freedesktop/ci-templates@6f5af7e5574509726c79109e3c147cee95e81366 | ||||
|  | ||||
| # for the vulkan overlay layer and ACO tests | ||||
| wget https://github.com/KhronosGroup/glslang/releases/download/SDK-candidate-26-Jul-2020/glslang-master-linux-Release.zip | ||||
| unzip glslang-master-linux-Release.zip bin/glslangValidator | ||||
| install -m755 bin/glslangValidator /usr/local/bin/ | ||||
| rm bin/glslangValidator glslang-master-linux-Release.zip | ||||
|  | ||||
|  | ||||
| ############### Uninstall ephemeral packages | ||||
|  | ||||
| apt-get purge -y \ | ||||
|         gnupg \ | ||||
|         unzip | ||||
|  | ||||
| . .gitlab-ci/container/container_post_build.sh | ||||
| @@ -1,115 +0,0 @@ | ||||
| #!/bin/bash | ||||
|  | ||||
| set -e | ||||
| set -o xtrace | ||||
|  | ||||
| export DEBIAN_FRONTEND=noninteractive | ||||
|  | ||||
| # Ephemeral packages (installed for this script and removed again at the end) | ||||
| STABLE_EPHEMERAL=" \ | ||||
|       autoconf \ | ||||
|       automake \ | ||||
|       autotools-dev \ | ||||
|       bzip2 \ | ||||
|       cmake \ | ||||
|       gnupg \ | ||||
|       libgbm-dev \ | ||||
|       libtool \ | ||||
|       make \ | ||||
|       unzip \ | ||||
|       wget \ | ||||
|       " | ||||
|  | ||||
| # We need multiarch for Wine | ||||
| dpkg --add-architecture i386 | ||||
| apt-get update | ||||
|  | ||||
| apt-get install -y --no-remove \ | ||||
|       $STABLE_EPHEMERAL \ | ||||
|       libarchive-dev \ | ||||
|       liblua5.3-dev \ | ||||
|       libxml2-dev \ | ||||
|       wine-development \ | ||||
|       wine32-development | ||||
|  | ||||
| apt-get install -y --no-remove -t buster-backports \ | ||||
|       llvm-8-dev | ||||
|  | ||||
|  | ||||
| . .gitlab-ci/container/container_pre_build.sh | ||||
|  | ||||
|  | ||||
| # Debian's pkg-config wrapers for mingw are broken, and there's no sign that | ||||
| # they're going to be fixed, so we'll just have to fix it ourselves | ||||
| # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=930492 | ||||
| cat >/usr/local/bin/x86_64-w64-mingw32-pkg-config <<EOF | ||||
| #!/bin/sh | ||||
|  | ||||
| PKG_CONFIG_LIBDIR=/usr/x86_64-w64-mingw32/lib/pkgconfig pkg-config \$@ | ||||
| EOF | ||||
| chmod +x /usr/local/bin/x86_64-w64-mingw32-pkg-config | ||||
|  | ||||
|  | ||||
| # dependencies where we want a specific version | ||||
| export              XORG_RELEASES=https://xorg.freedesktop.org/releases/individual | ||||
| export               XCB_RELEASES=https://xcb.freedesktop.org/dist | ||||
| export           WAYLAND_RELEASES=https://wayland.freedesktop.org/releases | ||||
|  | ||||
| export         XORGMACROS_VERSION=util-macros-1.19.0 | ||||
| export           XCBPROTO_VERSION=xcb-proto-1.13 | ||||
| export             LIBXCB_VERSION=libxcb-1.13 | ||||
| export         LIBWAYLAND_VERSION=wayland-1.15.0 | ||||
| export  WAYLAND_PROTOCOLS_VERSION=wayland-protocols-1.12 | ||||
|  | ||||
| wget $XORG_RELEASES/util/$XORGMACROS_VERSION.tar.bz2 | ||||
| tar -xvf $XORGMACROS_VERSION.tar.bz2 && rm $XORGMACROS_VERSION.tar.bz2 | ||||
| cd $XORGMACROS_VERSION; ./configure; make install; cd .. | ||||
| rm -rf $XORGMACROS_VERSION | ||||
|  | ||||
| wget $XCB_RELEASES/$XCBPROTO_VERSION.tar.bz2 | ||||
| tar -xvf $XCBPROTO_VERSION.tar.bz2 && rm $XCBPROTO_VERSION.tar.bz2 | ||||
| cd $XCBPROTO_VERSION; ./configure; make install; cd .. | ||||
| rm -rf $XCBPROTO_VERSION | ||||
|  | ||||
| wget $XCB_RELEASES/$LIBXCB_VERSION.tar.bz2 | ||||
| tar -xvf $LIBXCB_VERSION.tar.bz2 && rm $LIBXCB_VERSION.tar.bz2 | ||||
| cd $LIBXCB_VERSION; ./configure; make install; cd .. | ||||
| rm -rf $LIBXCB_VERSION | ||||
|  | ||||
| . .gitlab-ci/build-libdrm.sh | ||||
|  | ||||
| wget $WAYLAND_RELEASES/$LIBWAYLAND_VERSION.tar.xz | ||||
| tar -xvf $LIBWAYLAND_VERSION.tar.xz && rm $LIBWAYLAND_VERSION.tar.xz | ||||
| cd $LIBWAYLAND_VERSION; ./configure --enable-libraries --without-host-scanner --disable-documentation --disable-dtd-validation; make install; cd .. | ||||
| rm -rf $LIBWAYLAND_VERSION | ||||
|  | ||||
| wget $WAYLAND_RELEASES/$WAYLAND_PROTOCOLS_VERSION.tar.xz | ||||
| tar -xvf $WAYLAND_PROTOCOLS_VERSION.tar.xz && rm $WAYLAND_PROTOCOLS_VERSION.tar.xz | ||||
| cd $WAYLAND_PROTOCOLS_VERSION; ./configure; make install; cd .. | ||||
| rm -rf $WAYLAND_PROTOCOLS_VERSION | ||||
|  | ||||
|  | ||||
| # The version of libglvnd-dev in debian is too old | ||||
| # Check this page to see when this local compilation can be dropped in favour of the package: | ||||
| # https://packages.debian.org/libglvnd-dev | ||||
| GLVND_VERSION=1.3.2 | ||||
| wget https://gitlab.freedesktop.org/glvnd/libglvnd/-/archive/v$GLVND_VERSION/libglvnd-v$GLVND_VERSION.tar.gz | ||||
| tar -xvf libglvnd-v$GLVND_VERSION.tar.gz && rm libglvnd-v$GLVND_VERSION.tar.gz | ||||
| pushd libglvnd-v$GLVND_VERSION; ./autogen.sh; ./configure; make install; popd | ||||
| rm -rf libglvnd-v$GLVND_VERSION | ||||
|  | ||||
|  | ||||
| pushd /usr/local | ||||
| git clone https://gitlab.freedesktop.org/mesa/shader-db.git --depth 1 | ||||
| rm -rf shader-db/.git | ||||
| cd shader-db | ||||
| make | ||||
| popd | ||||
|  | ||||
|  | ||||
| ############### Uninstall the build software | ||||
|  | ||||
| apt-get purge -y \ | ||||
|       $STABLE_EPHEMERAL | ||||
|  | ||||
| . .gitlab-ci/container/container_post_build.sh | ||||
| @@ -1,69 +0,0 @@ | ||||
| #!/bin/bash | ||||
|  | ||||
| set -e | ||||
| set -o xtrace | ||||
|  | ||||
| export DEBIAN_FRONTEND=noninteractive | ||||
|  | ||||
| apt-get install -y \ | ||||
|       apt-transport-https \ | ||||
|       ca-certificates | ||||
|  | ||||
| sed -i -e 's/http:\/\/deb/https:\/\/deb/g' /etc/apt/sources.list | ||||
| echo 'deb https://deb.debian.org/debian stretch-backports main' >/etc/apt/sources.list.d/backports.list | ||||
|  | ||||
| apt-get update | ||||
|  | ||||
| # Use newer packages from backports by default | ||||
| cat >/etc/apt/preferences <<EOF | ||||
| Package: * | ||||
| Pin: release a=stretch-backports | ||||
| Pin-Priority: 500 | ||||
| EOF | ||||
|  | ||||
| apt-get dist-upgrade -y | ||||
|  | ||||
| apt-get install -y --no-remove \ | ||||
|       bison \ | ||||
|       bzip2 \ | ||||
|       ccache \ | ||||
|       flex \ | ||||
|       g++ \ | ||||
|       gcc \ | ||||
|       git \ | ||||
|       libclang-3.9-dev \ | ||||
|       libclang-4.0-dev \ | ||||
|       libclang-5.0-dev \ | ||||
|       libclang-6.0-dev \ | ||||
|       libclang-7-dev \ | ||||
|       libclc-dev \ | ||||
|       libdrm-dev \ | ||||
|       libelf-dev \ | ||||
|       libepoxy-dev \ | ||||
|       libexpat1-dev \ | ||||
|       libpng-dev \ | ||||
|       libunwind-dev \ | ||||
|       llvm-3.9-dev \ | ||||
|       llvm-4.0-dev \ | ||||
|       llvm-5.0-dev \ | ||||
|       llvm-6.0-dev \ | ||||
|       llvm-7-dev \ | ||||
|       ninja-build \ | ||||
|       pkg-config \ | ||||
|       python-mako \ | ||||
|       python3-mako \ | ||||
|       python3-pip \ | ||||
|       python3-setuptools \ | ||||
|       python3-wheel \ | ||||
|       scons \ | ||||
|       xz-utils \ | ||||
|       zlib1g-dev | ||||
|  | ||||
| # We need at least 0.52.0, which is not in stretch | ||||
| python3 -m pip install meson>=0.52 | ||||
|  | ||||
| . .gitlab-ci/container/container_pre_build.sh | ||||
|  | ||||
| ############### Uninstall unused packages | ||||
|  | ||||
| . .gitlab-ci/container/container_post_build.sh | ||||
| @@ -1,61 +0,0 @@ | ||||
| #!/bin/bash | ||||
|  | ||||
| set -e | ||||
| set -o xtrace | ||||
|  | ||||
| export DEBIAN_FRONTEND=noninteractive | ||||
|  | ||||
| apt-get install -y \ | ||||
|       ca-certificates \ | ||||
|       gnupg | ||||
|  | ||||
| # Upstream LLVM package repository | ||||
| apt-key add .gitlab-ci/container/llvm-snapshot.gpg.key | ||||
| echo "deb https://apt.llvm.org/buster/ llvm-toolchain-buster-9 main" >/etc/apt/sources.list.d/llvm9.list | ||||
|  | ||||
| sed -i -e 's/http:\/\/deb/https:\/\/deb/g' /etc/apt/sources.list | ||||
| echo 'deb https://deb.debian.org/debian buster-backports main' >/etc/apt/sources.list.d/backports.list | ||||
|  | ||||
| apt-get update | ||||
| apt-get dist-upgrade -y | ||||
|  | ||||
| apt-get install -y --no-remove \ | ||||
|       git \ | ||||
|       git-lfs \ | ||||
|       libexpat1 \ | ||||
|       libllvm9 \ | ||||
|       liblz4-1 \ | ||||
|       libpcre32-3 \ | ||||
|       libpng16-16 \ | ||||
|       libpython3.7 \ | ||||
|       libvulkan1 \ | ||||
|       libwayland-client0 \ | ||||
|       libwayland-server0 \ | ||||
|       libxcb-ewmh2 \ | ||||
|       libxcb-randr0 \ | ||||
|       libxcb-keysyms1 \ | ||||
|       libxcb-xfixes0 \ | ||||
|       libxkbcommon0 \ | ||||
|       libxrandr2 \ | ||||
|       libxrender1 \ | ||||
|       python \ | ||||
|       python3-mako \ | ||||
|       python3-numpy \ | ||||
|       python3-pil \ | ||||
|       python3-pytest \ | ||||
|       python3-requests \ | ||||
|       python3-six \ | ||||
|       python3-yaml \ | ||||
|       python3.7 \ | ||||
|       qt5-default \ | ||||
|       qt5-qmake \ | ||||
|       vulkan-tools \ | ||||
|       waffle-utils \ | ||||
|       xauth \ | ||||
|       xvfb \ | ||||
|       zlib1g | ||||
|  | ||||
| apt-get purge -y \ | ||||
|       gnupg | ||||
|  | ||||
| apt-get autoremove -y --purge | ||||
| @@ -1,76 +0,0 @@ | ||||
| #!/bin/bash | ||||
|  | ||||
| set -e | ||||
| set -o xtrace | ||||
|  | ||||
| export DEBIAN_FRONTEND=noninteractive | ||||
|  | ||||
| # Ephemeral packages (installed for this script and removed again at the end) | ||||
| STABLE_EPHEMERAL=" \ | ||||
|       autoconf \ | ||||
|       automake \ | ||||
|       ccache \ | ||||
|       cmake \ | ||||
|       g++ \ | ||||
|       libgbm-dev \ | ||||
|       libgles2-mesa-dev \ | ||||
|       libpcre3-dev \ | ||||
|       libpciaccess-dev \ | ||||
|       libpng-dev \ | ||||
|       libvulkan-dev \ | ||||
|       libwaffle-dev \ | ||||
|       libxcb-keysyms1-dev \ | ||||
|       libxkbcommon-dev \ | ||||
|       libxrender-dev \ | ||||
|       make \ | ||||
|       meson \ | ||||
|       patch \ | ||||
|       pkg-config \ | ||||
|       python3-distutils \ | ||||
|       python3.7-dev \ | ||||
|       wget \ | ||||
|       xz-utils \ | ||||
|       " | ||||
|  | ||||
| apt-get install -y --no-remove \ | ||||
|       $STABLE_EPHEMERAL | ||||
|  | ||||
|  | ||||
| . .gitlab-ci/container/container_pre_build.sh | ||||
|  | ||||
| ############### Build virglrenderer | ||||
|  | ||||
| . .gitlab-ci/build-virglrenderer.sh | ||||
|  | ||||
| ############### Build piglit | ||||
|  | ||||
| . .gitlab-ci/build-piglit.sh | ||||
|  | ||||
| ############### Build dEQP runner | ||||
|  | ||||
| . .gitlab-ci/build-cts-runner.sh | ||||
|  | ||||
| ############### Build dEQP GL | ||||
|  | ||||
| . .gitlab-ci/build-deqp-gl.sh | ||||
|  | ||||
| ############### Build apitrace | ||||
|  | ||||
| . .gitlab-ci/build-apitrace.sh | ||||
|  | ||||
| ############### Build renderdoc | ||||
|  | ||||
| . .gitlab-ci/build-renderdoc.sh | ||||
|  | ||||
| ############### Build libdrm | ||||
|  | ||||
| . .gitlab-ci/build-libdrm.sh | ||||
|  | ||||
| ############### Uninstall the build software | ||||
|  | ||||
| ccache --show-stats | ||||
|  | ||||
| apt-get purge -y \ | ||||
|       $STABLE_EPHEMERAL | ||||
|  | ||||
| apt-get autoremove -y --purge | ||||
| @@ -1,137 +0,0 @@ | ||||
| #!/bin/bash | ||||
|  | ||||
| set -e | ||||
| set -o xtrace | ||||
|  | ||||
| export DEBIAN_FRONTEND=noninteractive | ||||
|  | ||||
| # Ephemeral packages (installed for this script and removed again at the end) | ||||
| STABLE_EPHEMERAL=" \ | ||||
|       ccache \ | ||||
|       cmake \ | ||||
|       g++ \ | ||||
|       libgbm-dev \ | ||||
|       libgles2-mesa-dev \ | ||||
|       liblz4-dev \ | ||||
|       libpng-dev \ | ||||
|       libvulkan-dev \ | ||||
|       libxcb-ewmh-dev \ | ||||
|       libxkbcommon-dev \ | ||||
|       libxrandr-dev \ | ||||
|       libxrender-dev \ | ||||
|       libzstd-dev \ | ||||
|       meson \ | ||||
|       p7zip \ | ||||
|       pkg-config \ | ||||
|       python3-distutils \ | ||||
|       wget \ | ||||
|       " | ||||
|  | ||||
| # Unfortunately, gfxreconstruct needs the -dev packages: | ||||
| # https://github.com/LunarG/gfxreconstruct/issues/402 | ||||
| apt-get install -y --no-remove \ | ||||
|       libwayland-dev \ | ||||
|       libx11-xcb-dev \ | ||||
|       libxcb-keysyms1-dev \ | ||||
|       libxcb1-dev \ | ||||
|       $STABLE_EPHEMERAL | ||||
|  | ||||
| # We need multiarch for Wine | ||||
| dpkg --add-architecture i386 | ||||
|  | ||||
| apt-get update | ||||
|  | ||||
| apt-get install -y --no-remove \ | ||||
|       wine \ | ||||
|       wine32 \ | ||||
|       wine64 | ||||
|  | ||||
|  | ||||
| ############### Set up Wine env variables | ||||
|  | ||||
| export WINEDEBUG="-all" | ||||
| export WINEPREFIX="/dxvk-wine64" | ||||
|  | ||||
| ############### Install DXVK | ||||
|  | ||||
| DXVK_VERSION="1.6" | ||||
|  | ||||
| # We don't want crash dialogs | ||||
| cat >crashdialog.reg <<EOF | ||||
| Windows Registry Editor Version 5.00 | ||||
|  | ||||
| [HKEY_CURRENT_USER\Software\Wine\WineDbg] | ||||
| "ShowCrashDialog"=dword:00000000 | ||||
|  | ||||
| EOF | ||||
|  | ||||
| # Set the wine prefix and disable the crash dialog | ||||
| wine regedit crashdialog.reg | ||||
| rm crashdialog.reg | ||||
|  | ||||
| # DXVK's setup often fails with: | ||||
| # "${WINEPREFIX}: Not a valid wine prefix." | ||||
| # and that is just spit because of checking the existance of the | ||||
| # system.reg file, which fails. | ||||
| # Just giving it a bit more of time for it to be created solves the | ||||
| # problem ... | ||||
| test -f  "${WINEPREFIX}/system.reg" || sleep 2 | ||||
|  | ||||
| wget "https://github.com/doitsujin/dxvk/releases/download/v${DXVK_VERSION}/dxvk-${DXVK_VERSION}.tar.gz" | ||||
| tar xzpf dxvk-"${DXVK_VERSION}".tar.gz | ||||
| dxvk-"${DXVK_VERSION}"/setup_dxvk.sh install | ||||
| rm -rf dxvk-"${DXVK_VERSION}" | ||||
| rm dxvk-"${DXVK_VERSION}".tar.gz | ||||
|  | ||||
| ############### Install Windows' apitrace binaries | ||||
|  | ||||
| APITRACE_VERSION="9.0" | ||||
| APITRACE_VERSION_DATE="20191126" | ||||
|  | ||||
| wget "https://github.com/apitrace/apitrace/releases/download/${APITRACE_VERSION}/apitrace-${APITRACE_VERSION}.${APITRACE_VERSION_DATE}-win64.7z" | ||||
| 7zr x "apitrace-${APITRACE_VERSION}.${APITRACE_VERSION_DATE}-win64.7z" \ | ||||
|       "apitrace-${APITRACE_VERSION}.${APITRACE_VERSION_DATE}-win64/bin/apitrace.exe" \ | ||||
|       "apitrace-${APITRACE_VERSION}.${APITRACE_VERSION_DATE}-win64/bin/d3dretrace.exe" | ||||
| mv "apitrace-${APITRACE_VERSION}.${APITRACE_VERSION_DATE}-win64" /apitrace-msvc-win64 | ||||
| rm "apitrace-${APITRACE_VERSION}.${APITRACE_VERSION_DATE}-win64.7z" | ||||
|  | ||||
| # Add the apitrace path to the registry | ||||
| wine \ | ||||
|     reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment" \ | ||||
|     /v Path \ | ||||
|     /t REG_EXPAND_SZ \ | ||||
|     /d "C:\windows\system32;C:\windows;C:\windows\system32\wbem;Z:\apitrace-msvc-win64\bin" \ | ||||
|     /f | ||||
|  | ||||
| ############### Building ... | ||||
|  | ||||
| . .gitlab-ci/container/container_pre_build.sh | ||||
|  | ||||
| ############### Build dEQP runner | ||||
|  | ||||
| . .gitlab-ci/build-cts-runner.sh | ||||
|  | ||||
| ############### Build Fossilize | ||||
|  | ||||
| . .gitlab-ci/build-fossilize.sh | ||||
|  | ||||
| ############### Build dEQP VK | ||||
|  | ||||
| . .gitlab-ci/build-deqp-vk.sh | ||||
|  | ||||
| ############### Build gfxreconstruct | ||||
|  | ||||
| . .gitlab-ci/build-gfxreconstruct.sh | ||||
|  | ||||
| ############### Build VulkanTools | ||||
|  | ||||
| . .gitlab-ci/build-vulkantools.sh | ||||
|  | ||||
| ############### Uninstall the build software | ||||
|  | ||||
| ccache --show-stats | ||||
|  | ||||
| apt-get purge -y \ | ||||
|       $STABLE_EPHEMERAL | ||||
|  | ||||
| apt-get autoremove -y --purge | ||||
| @@ -1,34 +0,0 @@ | ||||
| #!/bin/bash | ||||
|  | ||||
| arch=$1 | ||||
| cross_file="/cross_file-$arch.txt" | ||||
| /usr/share/meson/debcrossgen --arch $arch -o "$cross_file" | ||||
| # Explicitly set ccache path for cross compilers | ||||
| sed -i "s|/usr/bin/\([^-]*\)-linux-gnu\([^-]*\)-g|/usr/lib/ccache/\\1-linux-gnu\\2-g|g" "$cross_file" | ||||
| if [ "$arch" = "i386" ]; then | ||||
|     # Work around a bug in debcrossgen that should be fixed in the next release | ||||
|     sed -i "s|cpu_family = 'i686'|cpu_family = 'x86'|g" "$cross_file" | ||||
| fi | ||||
| # Rely on qemu-user being configured in binfmt_misc on the host | ||||
| sed -i -e '/\[properties\]/a\' -e "needs_exe_wrapper = False" "$cross_file" | ||||
|  | ||||
| # Set up cmake cross compile toolchain file for dEQP builds | ||||
| toolchain_file="/toolchain-$arch.cmake" | ||||
| if [[ "$arch" = "arm64" ]]; then | ||||
|     GCC_ARCH="aarch64-linux-gnu" | ||||
|     DE_CPU="DE_CPU_ARM_64" | ||||
|     CMAKE_ARCH=arm | ||||
| elif [[ "$arch" = "armhf" ]]; then | ||||
|     GCC_ARCH="arm-linux-gnueabihf" | ||||
|     DE_CPU="DE_CPU_ARM" | ||||
|     CMAKE_ARCH=arm | ||||
| fi | ||||
|  | ||||
| if [[ -n "$GCC_ARCH" ]]; then | ||||
|     echo "set(CMAKE_SYSTEM_NAME Linux)" > "$toolchain_file" | ||||
|     echo "set(CMAKE_SYSTEM_PROCESSOR arm)" >> "$toolchain_file" | ||||
|     echo "set(CMAKE_C_COMPILER /usr/lib/ccache/$GCC_ARCH-gcc)" >> "$toolchain_file" | ||||
|     echo "set(CMAKE_CXX_COMPILER /usr/lib/ccache/$GCC_ARCH-g++)" >> "$toolchain_file" | ||||
|     echo "set(ENV{PKG_CONFIG} \"/usr/bin/$GCC_ARCH-pkg-config\")" >> "$toolchain_file" | ||||
|     echo "set(DE_CPU $DE_CPU)" >> "$toolchain_file" | ||||
| fi | ||||
| @@ -1 +0,0 @@ | ||||
| u_format_test | ||||
| @@ -1,4 +0,0 @@ | ||||
| lp_test_arit | ||||
| roundeven | ||||
| u_format_test | ||||
| u_half_test | ||||
| @@ -1,4 +0,0 @@ | ||||
| lp_test_arit | ||||
| lp_test_format | ||||
| lp_test_printf | ||||
| u_format_test | ||||
							
								
								
									
										214
									
								
								.gitlab-ci/debian-install.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										214
									
								
								.gitlab-ci/debian-install.sh
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,214 @@ | ||||
| #!/bin/bash | ||||
|  | ||||
| set -e | ||||
| set -o xtrace | ||||
|  | ||||
| export DEBIAN_FRONTEND=noninteractive | ||||
|  | ||||
| CROSS_ARCHITECTURES="armhf arm64 i386" | ||||
| for arch in $CROSS_ARCHITECTURES; do | ||||
|     dpkg --add-architecture $arch | ||||
| done | ||||
|  | ||||
| apt-get install -y \ | ||||
|       apt-transport-https \ | ||||
|       ca-certificates \ | ||||
|       curl \ | ||||
|       wget \ | ||||
|       unzip \ | ||||
|       gnupg \ | ||||
|       software-properties-common | ||||
|  | ||||
| curl -fsSL https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add - | ||||
| add-apt-repository "deb https://apt.llvm.org/stretch/ llvm-toolchain-stretch-7 main" | ||||
| add-apt-repository "deb https://apt.llvm.org/stretch/ llvm-toolchain-stretch-8 main" | ||||
|  | ||||
| sed -i -e 's/http:\/\/deb/https:\/\/deb/g' /etc/apt/sources.list | ||||
| echo 'deb https://deb.debian.org/debian stretch-backports main' >/etc/apt/sources.list.d/backports.list | ||||
| echo 'deb https://deb.debian.org/debian jessie main' >/etc/apt/sources.list.d/jessie.list | ||||
|  | ||||
| apt-get update | ||||
| apt-get install -y -t stretch-backports \ | ||||
|       llvm-3.4-dev \ | ||||
|       llvm-3.9-dev \ | ||||
|       libclang-3.9-dev \ | ||||
|       llvm-4.0-dev \ | ||||
|       libclang-4.0-dev \ | ||||
|       llvm-5.0-dev \ | ||||
|       libclang-5.0-dev \ | ||||
|       llvm-6.0-dev \ | ||||
|       libclang-6.0-dev \ | ||||
|       llvm-7-dev \ | ||||
|       libclang-7-dev \ | ||||
|       llvm-8-dev \ | ||||
|       libclang-8-dev \ | ||||
|       g++ \ | ||||
|       clang-8 | ||||
|  | ||||
| # Install remaining packages from Debian buster to get newer versions | ||||
| add-apt-repository "deb https://deb.debian.org/debian/ buster main" | ||||
| add-apt-repository "deb https://deb.debian.org/debian/ buster-updates main" | ||||
| apt-get update | ||||
| apt-get install -y \ | ||||
|       bzip2 \ | ||||
|       zlib1g-dev \ | ||||
|       pkg-config \ | ||||
|       libxrender-dev \ | ||||
|       libxdamage-dev \ | ||||
|       libxxf86vm-dev \ | ||||
|       gcc \ | ||||
|       libclc-dev \ | ||||
|       libxvmc-dev \ | ||||
|       libomxil-bellagio-dev \ | ||||
|       xz-utils \ | ||||
|       libexpat1-dev \ | ||||
|       libx11-xcb-dev \ | ||||
|       libelf-dev \ | ||||
|       libunwind-dev \ | ||||
|       libglvnd-dev \ | ||||
|       python-mako \ | ||||
|       python3-mako \ | ||||
|       meson \ | ||||
|       scons | ||||
|  | ||||
| # autotools build deps | ||||
| apt-get install -y \ | ||||
|       automake \ | ||||
|       libtool \ | ||||
|       bison \ | ||||
|       flex \ | ||||
|       gettext \ | ||||
|       make | ||||
|  | ||||
| # Cross-build Mesa deps | ||||
| for arch in $CROSS_ARCHITECTURES; do | ||||
|     apt-get install -y \ | ||||
|             libdrm-dev:${arch} \ | ||||
|             libexpat1-dev:${arch} \ | ||||
|             libelf-dev:${arch} | ||||
| done | ||||
| apt-get install -y \ | ||||
|         dpkg-dev \ | ||||
|         gcc-aarch64-linux-gnu \ | ||||
|         g++-aarch64-linux-gnu \ | ||||
|         gcc-arm-linux-gnueabihf \ | ||||
|         g++-arm-linux-gnueabihf \ | ||||
|         gcc-i686-linux-gnu \ | ||||
|         g++-i686-linux-gnu | ||||
|  | ||||
| # for 64bit windows cross-builds | ||||
| apt-get install -y mingw-w64 | ||||
|  | ||||
| # for the vulkan overlay layer | ||||
| wget https://github.com/KhronosGroup/glslang/releases/download/master-tot/glslang-master-linux-Release.zip | ||||
| unzip glslang-master-linux-Release.zip bin/glslangValidator | ||||
| install -m755 bin/glslangValidator /usr/local/bin/ | ||||
| rm bin/glslangValidator glslang-master-linux-Release.zip | ||||
|  | ||||
|  | ||||
| # dependencies where we want a specific version | ||||
| export              XORG_RELEASES=https://xorg.freedesktop.org/releases/individual | ||||
| export               XCB_RELEASES=https://xcb.freedesktop.org/dist | ||||
| export           WAYLAND_RELEASES=https://wayland.freedesktop.org/releases | ||||
|  | ||||
| export         XORGMACROS_VERSION=util-macros-1.19.0 | ||||
| export            GLPROTO_VERSION=glproto-1.4.17 | ||||
| export          DRI2PROTO_VERSION=dri2proto-2.8 | ||||
| export       LIBPCIACCESS_VERSION=libpciaccess-0.13.4 | ||||
| export             LIBDRM_VERSION=libdrm-2.4.99 | ||||
| export           XCBPROTO_VERSION=xcb-proto-1.13 | ||||
| export         RANDRPROTO_VERSION=randrproto-1.3.0 | ||||
| export          LIBXRANDR_VERSION=libXrandr-1.3.0 | ||||
| export             LIBXCB_VERSION=libxcb-1.13 | ||||
| export       LIBXSHMFENCE_VERSION=libxshmfence-1.3 | ||||
| export           LIBVDPAU_VERSION=libvdpau-1.1 | ||||
| export              LIBVA_VERSION=libva-1.7.0 | ||||
| export         LIBWAYLAND_VERSION=wayland-1.15.0 | ||||
| export  WAYLAND_PROTOCOLS_VERSION=wayland-protocols-1.8 | ||||
|  | ||||
| wget $XORG_RELEASES/util/$XORGMACROS_VERSION.tar.bz2 | ||||
| tar -xvf $XORGMACROS_VERSION.tar.bz2 && rm $XORGMACROS_VERSION.tar.bz2 | ||||
| cd $XORGMACROS_VERSION; ./configure; make install; cd .. | ||||
| rm -rf $XORGMACROS_VERSION | ||||
|  | ||||
| wget $XORG_RELEASES/proto/$GLPROTO_VERSION.tar.bz2 | ||||
| tar -xvf $GLPROTO_VERSION.tar.bz2 && rm $GLPROTO_VERSION.tar.bz2 | ||||
| cd $GLPROTO_VERSION; ./configure; make install; cd .. | ||||
| rm -rf $GLPROTO_VERSION | ||||
|  | ||||
| wget $XORG_RELEASES/proto/$DRI2PROTO_VERSION.tar.bz2 | ||||
| tar -xvf $DRI2PROTO_VERSION.tar.bz2 && rm $DRI2PROTO_VERSION.tar.bz2 | ||||
| cd $DRI2PROTO_VERSION; ./configure; make install; cd .. | ||||
| rm -rf $DRI2PROTO_VERSION | ||||
|  | ||||
| wget $XCB_RELEASES/$XCBPROTO_VERSION.tar.bz2 | ||||
| tar -xvf $XCBPROTO_VERSION.tar.bz2 && rm $XCBPROTO_VERSION.tar.bz2 | ||||
| cd $XCBPROTO_VERSION; ./configure; make install; cd .. | ||||
| rm -rf $XCBPROTO_VERSION | ||||
|  | ||||
| wget $XCB_RELEASES/$LIBXCB_VERSION.tar.bz2 | ||||
| tar -xvf $LIBXCB_VERSION.tar.bz2 && rm $LIBXCB_VERSION.tar.bz2 | ||||
| cd $LIBXCB_VERSION; ./configure; make install; cd .. | ||||
| rm -rf $LIBXCB_VERSION | ||||
|  | ||||
| wget $XORG_RELEASES/lib/$LIBPCIACCESS_VERSION.tar.bz2 | ||||
| tar -xvf $LIBPCIACCESS_VERSION.tar.bz2 && rm $LIBPCIACCESS_VERSION.tar.bz2 | ||||
| cd $LIBPCIACCESS_VERSION; ./configure; make install; cd .. | ||||
| rm -rf $LIBPCIACCESS_VERSION | ||||
|  | ||||
| wget https://dri.freedesktop.org/libdrm/$LIBDRM_VERSION.tar.bz2 | ||||
| tar -xvf $LIBDRM_VERSION.tar.bz2 && rm $LIBDRM_VERSION.tar.bz2 | ||||
| cd $LIBDRM_VERSION; ./configure --enable-vc4 --enable-freedreno --enable-etnaviv-experimental-api; make install; cd .. | ||||
| rm -rf $LIBDRM_VERSION | ||||
|  | ||||
| wget $XORG_RELEASES/proto/$RANDRPROTO_VERSION.tar.bz2 | ||||
| tar -xvf $RANDRPROTO_VERSION.tar.bz2 && rm $RANDRPROTO_VERSION.tar.bz2 | ||||
| cd $RANDRPROTO_VERSION; ./configure; make install; cd .. | ||||
| rm -rf $RANDRPROTO_VERSION | ||||
|  | ||||
| wget $XORG_RELEASES/lib/$LIBXRANDR_VERSION.tar.bz2 | ||||
| tar -xvf $LIBXRANDR_VERSION.tar.bz2 && rm $LIBXRANDR_VERSION.tar.bz2 | ||||
| cd $LIBXRANDR_VERSION; ./configure; make install; cd .. | ||||
| rm -rf $LIBXRANDR_VERSION | ||||
|  | ||||
| wget $XORG_RELEASES/lib/$LIBXSHMFENCE_VERSION.tar.bz2 | ||||
| tar -xvf $LIBXSHMFENCE_VERSION.tar.bz2 && rm $LIBXSHMFENCE_VERSION.tar.bz2 | ||||
| cd $LIBXSHMFENCE_VERSION; ./configure; make install; cd .. | ||||
| rm -rf $LIBXSHMFENCE_VERSION | ||||
|  | ||||
| wget https://people.freedesktop.org/~aplattner/vdpau/$LIBVDPAU_VERSION.tar.bz2 | ||||
| tar -xvf $LIBVDPAU_VERSION.tar.bz2 && rm $LIBVDPAU_VERSION.tar.bz2 | ||||
| cd $LIBVDPAU_VERSION; ./configure; make install; cd .. | ||||
| rm -rf $LIBVDPAU_VERSION | ||||
|  | ||||
| wget https://www.freedesktop.org/software/vaapi/releases/libva/$LIBVA_VERSION.tar.bz2 | ||||
| tar -xvf $LIBVA_VERSION.tar.bz2 && rm $LIBVA_VERSION.tar.bz2 | ||||
| cd $LIBVA_VERSION; ./configure --disable-wayland --disable-dummy-driver; make install; cd .. | ||||
| rm -rf $LIBVA_VERSION | ||||
|  | ||||
| wget $WAYLAND_RELEASES/$LIBWAYLAND_VERSION.tar.xz | ||||
| tar -xvf $LIBWAYLAND_VERSION.tar.xz && rm $LIBWAYLAND_VERSION.tar.xz | ||||
| cd $LIBWAYLAND_VERSION; ./configure --enable-libraries --without-host-scanner --disable-documentation --disable-dtd-validation; make install; cd .. | ||||
| rm -rf $LIBWAYLAND_VERSION | ||||
|  | ||||
| wget $WAYLAND_RELEASES/$WAYLAND_PROTOCOLS_VERSION.tar.xz | ||||
| tar -xvf $WAYLAND_PROTOCOLS_VERSION.tar.xz && rm $WAYLAND_PROTOCOLS_VERSION.tar.xz | ||||
| cd $WAYLAND_PROTOCOLS_VERSION; ./configure; make install; cd .. | ||||
| rm -rf $WAYLAND_PROTOCOLS_VERSION | ||||
|  | ||||
| # Use ccache to speed up builds | ||||
| apt-get install -y ccache | ||||
|  | ||||
| # We need xmllint to validate the XML files in Mesa | ||||
| apt-get install -y libxml2-utils | ||||
|  | ||||
| # Remove unused packages | ||||
| apt-get purge -y \ | ||||
|       automake \ | ||||
|       libtool \ | ||||
|       curl \ | ||||
|       unzip \ | ||||
|       wget \ | ||||
|       gnupg \ | ||||
|       software-properties-common | ||||
| apt-get autoremove -y --purge | ||||
| @@ -1,10 +0,0 @@ | ||||
| # Note: skips lists for CI are just a list of lines that, when | ||||
| # non-zero-length and not starting with '#', will regex match to | ||||
| # delete lines from the test list.  Be careful. | ||||
|  | ||||
| # Skip the perf/stress tests to keep runtime manageable | ||||
| dEQP-GLES[0-9]*.performance.* | ||||
| dEQP-GLES[0-9]*.stress.* | ||||
|  | ||||
| # These are really slow on tiling architectures (including llvmpipe). | ||||
| dEQP-GLES[0-9]*.functional.flush_finish.* | ||||
| @@ -1,493 +0,0 @@ | ||||
| dEQP-GLES2.functional.clipping.line.wide_line_clip_viewport_center | ||||
| dEQP-GLES2.functional.clipping.line.wide_line_clip_viewport_corner | ||||
| dEQP-GLES2.functional.clipping.point.wide_point_clip | ||||
| dEQP-GLES2.functional.clipping.point.wide_point_clip_viewport_center | ||||
| dEQP-GLES2.functional.clipping.point.wide_point_clip_viewport_corner | ||||
| 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.fbo.render.recreate_depthbuffer.rebind_rbo_rgb565_depth_component16 | ||||
| dEQP-GLES2.functional.fbo.render.recreate_depthbuffer.rebind_rbo_rgb5_a1_depth_component16 | ||||
| dEQP-GLES2.functional.fbo.render.recreate_depthbuffer.rebind_rbo_rgba4_depth_component16 | ||||
| dEQP-GLES2.functional.fbo.render.recreate_depthbuffer.rebind_tex2d_rgba_depth_component16 | ||||
| dEQP-GLES2.functional.fbo.render.recreate_depthbuffer.rebind_tex2d_rgb_depth_component16 | ||||
| dEQP-GLES2.functional.fbo.render.recreate_stencilbuffer.rebind_rbo_rgb565_stencil_index8 | ||||
| dEQP-GLES2.functional.fbo.render.recreate_stencilbuffer.rebind_rbo_rgb5_a1_stencil_index8 | ||||
| dEQP-GLES2.functional.fbo.render.recreate_stencilbuffer.rebind_rbo_rgba4_stencil_index8 | ||||
| dEQP-GLES2.functional.fbo.render.recreate_stencilbuffer.rebind_tex2d_rgba_stencil_index8 | ||||
| dEQP-GLES2.functional.fbo.render.recreate_stencilbuffer.rebind_tex2d_rgb_stencil_index8 | ||||
| dEQP-GLES2.functional.polygon_offset.fixed16_displacement_with_units | ||||
| dEQP-GLES2.functional.texture.filtering.2d.linear_nearest_clamp_l8_npot | ||||
| dEQP-GLES2.functional.texture.filtering.2d.linear_nearest_clamp_rgb888_npot | ||||
| dEQP-GLES2.functional.texture.filtering.2d.linear_nearest_clamp_rgba4444_npot | ||||
| dEQP-GLES2.functional.texture.filtering.2d.linear_nearest_clamp_rgba8888_npot | ||||
| dEQP-GLES2.functional.texture.filtering.2d.nearest_linear_clamp_l8_npot | ||||
| dEQP-GLES2.functional.texture.filtering.2d.nearest_linear_clamp_rgb888_npot | ||||
| dEQP-GLES2.functional.texture.filtering.2d.nearest_linear_clamp_rgba4444_npot | ||||
| dEQP-GLES2.functional.texture.filtering.2d.nearest_linear_clamp_rgba8888_npot | ||||
| dEQP-GLES2.functional.texture.filtering.cube.linear_nearest_clamp_l8_npot | ||||
| dEQP-GLES2.functional.texture.filtering.cube.linear_nearest_clamp_rgb888_npot | ||||
| dEQP-GLES2.functional.texture.filtering.cube.linear_nearest_clamp_rgba4444_npot | ||||
| dEQP-GLES2.functional.texture.filtering.cube.linear_nearest_clamp_rgba8888_npot | ||||
| dEQP-GLES2.functional.texture.filtering.cube.nearest_linear_clamp_l8_npot | ||||
| dEQP-GLES2.functional.texture.filtering.cube.nearest_linear_clamp_rgb888_npot | ||||
| dEQP-GLES2.functional.texture.filtering.cube.nearest_linear_clamp_rgba4444_npot | ||||
| dEQP-GLES2.functional.texture.filtering.cube.nearest_linear_clamp_rgba8888_npot | ||||
|  | ||||
| dEQP-GLES3.functional.clipping.line.wide_line_clip_viewport_center | ||||
| dEQP-GLES3.functional.clipping.line.wide_line_clip_viewport_corner | ||||
| dEQP-GLES3.functional.clipping.point.wide_point_clip | ||||
| dEQP-GLES3.functional.clipping.point.wide_point_clip_viewport_center | ||||
| dEQP-GLES3.functional.clipping.point.wide_point_clip_viewport_corner | ||||
| dEQP-GLES3.functional.draw.instancing.draw_arrays_instanced_grid_100x100 | ||||
| dEQP-GLES3.functional.draw.instancing.draw_arrays_instanced_grid_32x32 | ||||
| dEQP-GLES3.functional.draw.instancing.draw_elements_instanced_grid_100x100 | ||||
| dEQP-GLES3.functional.draw.instancing.draw_elements_instanced_grid_32x32 | ||||
| dEQP-GLES3.functional.draw.random.124 | ||||
| dEQP-GLES3.functional.fbo.blit.depth_stencil.depth24_stencil8_basic | ||||
| dEQP-GLES3.functional.fbo.blit.depth_stencil.depth24_stencil8_scale | ||||
| dEQP-GLES3.functional.fbo.blit.depth_stencil.depth24_stencil8_stencil_only | ||||
| dEQP-GLES3.functional.fbo.blit.depth_stencil.depth32f_stencil8_basic | ||||
| dEQP-GLES3.functional.fbo.blit.depth_stencil.depth32f_stencil8_scale | ||||
| dEQP-GLES3.functional.fbo.blit.depth_stencil.depth32f_stencil8_stencil_only | ||||
| dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_mag_reverse_dst_x | ||||
| dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_mag_reverse_dst_y | ||||
| dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_mag_reverse_src_x | ||||
| dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_mag_reverse_src_y | ||||
| dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_min | ||||
| dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_min_reverse_dst_x | ||||
| dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_min_reverse_dst_y | ||||
| dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_min_reverse_src_dst_x | ||||
| dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_min_reverse_src_dst_y | ||||
| dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_min_reverse_src_x | ||||
| dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_min_reverse_src_y | ||||
| dEQP-GLES3.functional.fbo.color.blend.r8_src_over | ||||
| dEQP-GLES3.functional.fbo.depth.basic.depth24_stencil8 | ||||
| dEQP-GLES3.functional.fbo.depth.basic.depth32f_stencil8 | ||||
| dEQP-GLES3.functional.fbo.depth.basic.depth_component16 | ||||
| dEQP-GLES3.functional.fbo.depth.basic.depth_component24 | ||||
| dEQP-GLES3.functional.fbo.depth.basic.depth_component32f | ||||
| dEQP-GLES3.functional.fbo.depth.depth_test_clamp.depth24_stencil8 | ||||
| dEQP-GLES3.functional.fbo.depth.depth_test_clamp.depth32f_stencil8 | ||||
| dEQP-GLES3.functional.fbo.depth.depth_test_clamp.depth_component16 | ||||
| dEQP-GLES3.functional.fbo.depth.depth_test_clamp.depth_component24 | ||||
| dEQP-GLES3.functional.fbo.depth.depth_test_clamp.depth_component32f | ||||
| dEQP-GLES3.functional.fbo.depth.depth_write_clamp.depth24_stencil8 | ||||
| dEQP-GLES3.functional.fbo.depth.depth_write_clamp.depth32f_stencil8 | ||||
| dEQP-GLES3.functional.fbo.depth.depth_write_clamp.depth_component16 | ||||
| dEQP-GLES3.functional.fbo.depth.depth_write_clamp.depth_component24 | ||||
| dEQP-GLES3.functional.fbo.depth.depth_write_clamp.depth_component32f | ||||
| dEQP-GLES3.functional.fbo.invalidate.sub.unbind_blit_color | ||||
| dEQP-GLES3.functional.fbo.invalidate.sub.unbind_blit_depth | ||||
| dEQP-GLES3.functional.fbo.invalidate.sub.unbind_blit_msaa_color | ||||
| dEQP-GLES3.functional.fbo.invalidate.sub.unbind_blit_msaa_depth | ||||
| dEQP-GLES3.functional.fbo.invalidate.sub.unbind_blit_msaa_depth_stencil | ||||
| dEQP-GLES3.functional.fbo.invalidate.sub.unbind_blit_msaa_stencil | ||||
| dEQP-GLES3.functional.fbo.invalidate.whole.unbind_blit_color | ||||
| dEQP-GLES3.functional.fbo.invalidate.whole.unbind_blit_depth | ||||
| dEQP-GLES3.functional.fbo.invalidate.whole.unbind_blit_msaa_color | ||||
| dEQP-GLES3.functional.fbo.invalidate.whole.unbind_blit_msaa_depth | ||||
| dEQP-GLES3.functional.fbo.invalidate.whole.unbind_blit_msaa_depth_stencil | ||||
| dEQP-GLES3.functional.fbo.invalidate.whole.unbind_blit_msaa_stencil | ||||
| dEQP-GLES3.functional.fbo.msaa.2_samples.depth24_stencil8 | ||||
| dEQP-GLES3.functional.fbo.msaa.2_samples.depth32f_stencil8 | ||||
| dEQP-GLES3.functional.fbo.msaa.2_samples.depth_component16 | ||||
| dEQP-GLES3.functional.fbo.msaa.2_samples.depth_component24 | ||||
| dEQP-GLES3.functional.fbo.msaa.2_samples.depth_component32f | ||||
| dEQP-GLES3.functional.fbo.msaa.2_samples.r11f_g11f_b10f | ||||
| dEQP-GLES3.functional.fbo.msaa.2_samples.r16f | ||||
| dEQP-GLES3.functional.fbo.msaa.2_samples.r8 | ||||
| dEQP-GLES3.functional.fbo.msaa.2_samples.rg16f | ||||
| dEQP-GLES3.functional.fbo.msaa.2_samples.rg8 | ||||
| dEQP-GLES3.functional.fbo.msaa.2_samples.rgb10_a2 | ||||
| dEQP-GLES3.functional.fbo.msaa.2_samples.rgb565 | ||||
| dEQP-GLES3.functional.fbo.msaa.2_samples.rgb5_a1 | ||||
| dEQP-GLES3.functional.fbo.msaa.2_samples.rgb8 | ||||
| dEQP-GLES3.functional.fbo.msaa.2_samples.rgba4 | ||||
| dEQP-GLES3.functional.fbo.msaa.2_samples.rgba8 | ||||
| dEQP-GLES3.functional.fbo.msaa.2_samples.srgb8_alpha8 | ||||
| dEQP-GLES3.functional.fbo.msaa.2_samples.stencil_index8 | ||||
| dEQP-GLES3.functional.fbo.msaa.4_samples.depth24_stencil8 | ||||
| dEQP-GLES3.functional.fbo.msaa.4_samples.depth32f_stencil8 | ||||
| dEQP-GLES3.functional.fbo.msaa.4_samples.depth_component16 | ||||
| dEQP-GLES3.functional.fbo.msaa.4_samples.depth_component24 | ||||
| dEQP-GLES3.functional.fbo.msaa.4_samples.depth_component32f | ||||
| dEQP-GLES3.functional.fbo.msaa.4_samples.r11f_g11f_b10f | ||||
| dEQP-GLES3.functional.fbo.msaa.4_samples.r16f | ||||
| dEQP-GLES3.functional.fbo.msaa.4_samples.r8 | ||||
| dEQP-GLES3.functional.fbo.msaa.4_samples.rg16f | ||||
| dEQP-GLES3.functional.fbo.msaa.4_samples.rg8 | ||||
| dEQP-GLES3.functional.fbo.msaa.4_samples.rgb10_a2 | ||||
| dEQP-GLES3.functional.fbo.msaa.4_samples.rgb565 | ||||
| dEQP-GLES3.functional.fbo.msaa.4_samples.rgb5_a1 | ||||
| dEQP-GLES3.functional.fbo.msaa.4_samples.rgb8 | ||||
| dEQP-GLES3.functional.fbo.msaa.4_samples.rgba4 | ||||
| dEQP-GLES3.functional.fbo.msaa.4_samples.rgba8 | ||||
| dEQP-GLES3.functional.fbo.msaa.4_samples.srgb8_alpha8 | ||||
| dEQP-GLES3.functional.fbo.msaa.4_samples.stencil_index8 | ||||
| dEQP-GLES3.functional.fbo.render.recreate_depth_stencil.tex2d_rgba8_depth_rbo_depth_component16 | ||||
| dEQP-GLES3.functional.fbo.render.recreate_depth_stencil.tex2d_rgba8_depth_rbo_depth_component24 | ||||
| dEQP-GLES3.functional.fbo.render.recreate_depth_stencil.tex2d_rgba8_depth_rbo_depth_component32f | ||||
| dEQP-GLES3.functional.fbo.render.recreate_depth_stencil.tex2d_rgba8_depth_stencil_rbo_depth24_stencil8 | ||||
| dEQP-GLES3.functional.fbo.render.recreate_depth_stencil.tex2d_rgba8_depth_stencil_rbo_depth32f_stencil8 | ||||
| dEQP-GLES3.functional.fbo.render.recreate_depth_stencil.tex2d_rgba8_depth_stencil_tex2d_depth24_stencil8 | ||||
| dEQP-GLES3.functional.fbo.render.recreate_depth_stencil.tex2d_rgba8_depth_stencil_tex2d_depth32f_stencil8 | ||||
| dEQP-GLES3.functional.fbo.render.recreate_depth_stencil.tex2d_rgba8_depth_tex2d_depth_component16 | ||||
| dEQP-GLES3.functional.fbo.render.recreate_depth_stencil.tex2d_rgba8_depth_tex2d_depth_component24 | ||||
| dEQP-GLES3.functional.fbo.render.recreate_depth_stencil.tex2d_rgba8_depth_tex2d_depth_component32f | ||||
| dEQP-GLES3.functional.fbo.render.recreate_depth_stencil.tex2d_rgba8_stencil_rbo_stencil_index8 | ||||
| dEQP-GLES3.functional.fbo.render.shared_colorbuffer.rbo_r8 | ||||
| dEQP-GLES3.functional.fbo.render.shared_colorbuffer.rbo_r8_depth_rbo_depth24_stencil8 | ||||
| dEQP-GLES3.functional.fbo.render.shared_colorbuffer.rbo_r8_depth_stencil_rbo_depth24_stencil8 | ||||
| dEQP-GLES3.functional.fbo.render.shared_colorbuffer.tex2d_r8 | ||||
| dEQP-GLES3.functional.fbo.render.shared_colorbuffer.tex2d_r8_depth_rbo_depth24_stencil8 | ||||
| dEQP-GLES3.functional.fbo.render.shared_colorbuffer.tex2d_r8_depth_stencil_rbo_depth24_stencil8 | ||||
| dEQP-GLES3.functional.lifetime.attach.deleted_input.buffer_vertex_array | ||||
| dEQP-GLES3.functional.lifetime.attach.deleted_output.buffer_transform_feedback | ||||
| dEQP-GLES3.functional.multisample.fbo_max_samples.proportionality_alpha_to_coverage | ||||
| dEQP-GLES3.functional.multisample.fbo_max_samples.proportionality_sample_coverage | ||||
| dEQP-GLES3.functional.multisample.fbo_max_samples.proportionality_sample_coverage_inverted | ||||
| dEQP-GLES3.functional.multisample.fbo_max_samples.sample_coverage_invert | ||||
| dEQP-GLES3.functional.negative_api.buffer.blit_framebuffer_multisample | ||||
| dEQP-GLES3.functional.negative_api.buffer.read_pixels_fbo_format_mismatch | ||||
| dEQP-GLES3.functional.negative_api.vertex_array.draw_elements_instanced | ||||
| dEQP-GLES3.functional.negative_api.vertex_array.draw_range_elements | ||||
| dEQP-GLES3.functional.occlusion_query.depth_clear | ||||
| dEQP-GLES3.functional.occlusion_query.depth_clear_stencil_write | ||||
| dEQP-GLES3.functional.occlusion_query.depth_clear_stencil_write_stencil_clear | ||||
| dEQP-GLES3.functional.occlusion_query.depth_write | ||||
| dEQP-GLES3.functional.occlusion_query.depth_write_depth_clear | ||||
| dEQP-GLES3.functional.occlusion_query.depth_write_depth_clear_stencil_clear | ||||
| dEQP-GLES3.functional.occlusion_query.depth_write_depth_clear_stencil_write | ||||
| dEQP-GLES3.functional.occlusion_query.depth_write_depth_clear_stencil_write_stencil_clear | ||||
| dEQP-GLES3.functional.occlusion_query.depth_write_stencil_clear | ||||
| dEQP-GLES3.functional.occlusion_query.depth_write_stencil_write | ||||
| dEQP-GLES3.functional.occlusion_query.depth_write_stencil_write_stencil_clear | ||||
| dEQP-GLES3.functional.occlusion_query.scissor | ||||
| dEQP-GLES3.functional.occlusion_query.scissor_depth_clear_stencil_write | ||||
| dEQP-GLES3.functional.occlusion_query.scissor_depth_clear_stencil_write_stencil_clear | ||||
| dEQP-GLES3.functional.occlusion_query.scissor_depth_write_depth_clear | ||||
| dEQP-GLES3.functional.occlusion_query.scissor_depth_write_stencil_write | ||||
| dEQP-GLES3.functional.occlusion_query.scissor_depth_write_stencil_write_stencil_clear | ||||
| dEQP-GLES3.functional.occlusion_query.scissor_stencil_write | ||||
| dEQP-GLES3.functional.occlusion_query.scissor_stencil_write_stencil_clear | ||||
| dEQP-GLES3.functional.occlusion_query.stencil_clear | ||||
| dEQP-GLES3.functional.occlusion_query.stencil_write | ||||
| dEQP-GLES3.functional.occlusion_query.stencil_write_stencil_clear | ||||
| dEQP-GLES3.functional.polygon_offset.fixed16_displacement_with_units | ||||
| dEQP-GLES3.functional.polygon_offset.fixed16_render_with_units | ||||
| dEQP-GLES3.functional.rasterization.fbo.rbo_multisample_max.interpolation.lines_wide | ||||
| dEQP-GLES3.functional.rasterization.fbo.rbo_multisample_max.interpolation.triangles | ||||
| dEQP-GLES3.functional.rasterization.fbo.rbo_multisample_max.primitives.lines_wide | ||||
| dEQP-GLES3.functional.rasterization.fbo.rbo_multisample_max.primitives.points | ||||
| dEQP-GLES3.functional.rasterization.fbo.rbo_singlesample.interpolation.triangles | ||||
| dEQP-GLES3.functional.rasterization.fbo.rbo_singlesample.primitives.points | ||||
| dEQP-GLES3.functional.rasterization.fbo.texture_2d.interpolation.triangles | ||||
| dEQP-GLES3.functional.rasterization.fbo.texture_2d.primitives.points | ||||
| dEQP-GLES3.functional.rasterization.flatshading.lines_wide | ||||
| dEQP-GLES3.functional.rasterization.flatshading.triangles | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.fastest.fbo_msaa4.float_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.fastest.fbo_msaa4.float_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.fastest.fbo_msaa4.vec2_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.fastest.fbo_msaa4.vec2_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.fastest.fbo_msaa4.vec3_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.fastest.fbo_msaa4.vec3_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.fastest.fbo_msaa4.vec4_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.fastest.fbo_msaa4.vec4_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa2.float_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa2.float_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa2.vec2_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa2.vec2_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa2.vec3_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa2.vec3_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa2.vec4_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa2.vec4_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa4.float_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa4.float_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa4.vec2_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa4.vec2_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa4.vec3_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa4.vec3_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa4.vec4_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa4.vec4_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.nicest.fbo_msaa4.float_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.nicest.fbo_msaa4.float_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.nicest.fbo_msaa4.vec2_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.nicest.fbo_msaa4.vec2_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.nicest.fbo_msaa4.vec3_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.nicest.fbo_msaa4.vec3_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.nicest.fbo_msaa4.vec4_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.nicest.fbo_msaa4.vec4_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.texture.msaa4.float_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.texture.msaa4.float_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.texture.msaa4.vec2_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.texture.msaa4.vec2_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.texture.msaa4.vec3_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.texture.msaa4.vec3_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.texture.msaa4.vec4_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.texture.msaa4.vec4_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.fastest.fbo_msaa4.float_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.fastest.fbo_msaa4.float_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.fastest.fbo_msaa4.vec2_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.fastest.fbo_msaa4.vec2_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.fastest.fbo_msaa4.vec3_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.fastest.fbo_msaa4.vec3_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.fastest.fbo_msaa4.vec4_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.fastest.fbo_msaa4.vec4_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa2.float_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa2.float_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa2.vec2_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa2.vec2_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa2.vec3_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa2.vec3_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa2.vec4_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa2.vec4_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa4.float_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa4.float_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa4.vec2_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa4.vec2_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa4.vec3_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa4.vec3_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa4.vec4_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa4.vec4_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.nicest.fbo_msaa4.float_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.nicest.fbo_msaa4.float_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.nicest.fbo_msaa4.vec2_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.nicest.fbo_msaa4.vec2_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.nicest.fbo_msaa4.vec3_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.nicest.fbo_msaa4.vec3_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.nicest.fbo_msaa4.vec4_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.nicest.fbo_msaa4.vec4_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.texture.msaa4.float_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.texture.msaa4.float_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.texture.msaa4.vec2_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.texture.msaa4.vec2_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.texture.msaa4.vec3_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.texture.msaa4.vec3_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.texture.msaa4.vec4_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.texture.msaa4.vec4_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.fastest.fbo_msaa4.float_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.fastest.fbo_msaa4.float_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.fastest.fbo_msaa4.vec2_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.fastest.fbo_msaa4.vec2_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.fastest.fbo_msaa4.vec3_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.fastest.fbo_msaa4.vec3_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.fastest.fbo_msaa4.vec4_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.fastest.fbo_msaa4.vec4_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa2.float_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa2.float_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa2.vec2_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa2.vec2_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa2.vec3_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa2.vec3_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa2.vec4_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa2.vec4_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa4.float_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa4.float_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa4.vec2_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa4.vec2_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa4.vec3_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa4.vec3_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa4.vec4_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa4.vec4_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.fbo_msaa4.float_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.fbo_msaa4.float_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.fbo_msaa4.vec2_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.fbo_msaa4.vec2_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.fbo_msaa4.vec3_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.fbo_msaa4.vec3_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.fbo_msaa4.vec4_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.fbo_msaa4.vec4_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.texture.msaa4.float_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.texture.msaa4.float_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.texture.msaa4.vec2_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.texture.msaa4.vec2_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.texture.msaa4.vec3_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.texture.msaa4.vec3_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.texture.msaa4.vec4_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.texture.msaa4.vec4_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.fastest.fbo_msaa4.float_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.fastest.fbo_msaa4.float_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.fastest.fbo_msaa4.vec2_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.fastest.fbo_msaa4.vec2_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.fastest.fbo_msaa4.vec3_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.fastest.fbo_msaa4.vec3_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.fastest.fbo_msaa4.vec4_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.fastest.fbo_msaa4.vec4_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa2.float_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa2.float_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa2.vec2_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa2.vec2_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa2.vec3_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa2.vec3_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa2.vec4_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa2.vec4_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa4.float_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa4.float_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa4.vec2_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa4.vec2_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa4.vec3_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa4.vec3_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa4.vec4_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa4.vec4_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.nicest.fbo_msaa4.float_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.nicest.fbo_msaa4.float_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.nicest.fbo_msaa4.vec2_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.nicest.fbo_msaa4.vec2_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.nicest.fbo_msaa4.vec3_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.nicest.fbo_msaa4.vec3_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.nicest.fbo_msaa4.vec4_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.nicest.fbo_msaa4.vec4_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.fastest.fbo_msaa4.float_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.fastest.fbo_msaa4.float_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.fastest.fbo_msaa4.vec2_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.fastest.fbo_msaa4.vec2_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.fastest.fbo_msaa4.vec3_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.fastest.fbo_msaa4.vec3_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.fastest.fbo_msaa4.vec4_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.fastest.fbo_msaa4.vec4_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa2.float_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa2.float_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa2.vec2_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa2.vec2_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa2.vec3_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa2.vec3_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa2.vec4_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa2.vec4_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa4.float_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa4.float_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa4.vec2_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa4.vec2_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa4.vec3_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa4.vec3_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa4.vec4_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa4.vec4_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.nicest.fbo_msaa4.float_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.nicest.fbo_msaa4.float_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.nicest.fbo_msaa4.vec2_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.nicest.fbo_msaa4.vec2_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.nicest.fbo_msaa4.vec3_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.nicest.fbo_msaa4.vec3_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.nicest.fbo_msaa4.vec4_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.nicest.fbo_msaa4.vec4_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.fastest.fbo_msaa4.float_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.fastest.fbo_msaa4.float_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.fastest.fbo_msaa4.vec2_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.fastest.fbo_msaa4.vec2_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.fastest.fbo_msaa4.vec3_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.fastest.fbo_msaa4.vec3_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.fastest.fbo_msaa4.vec4_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.fastest.fbo_msaa4.vec4_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa2.float_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa2.float_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa2.vec2_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa2.vec2_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa2.vec3_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa2.vec3_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa2.vec4_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa2.vec4_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa4.float_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa4.float_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa4.vec2_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa4.vec2_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa4.vec3_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa4.vec3_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa4.vec4_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa4.vec4_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.fbo_msaa4.float_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.fbo_msaa4.float_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.fbo_msaa4.vec2_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.fbo_msaa4.vec2_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.fbo_msaa4.vec3_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.fbo_msaa4.vec3_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.fbo_msaa4.vec4_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.fbo_msaa4.vec4_mediump | ||||
| dEQP-GLES3.functional.shaders.linkage.varying.rules.differing_interpolation_2 | ||||
| dEQP-GLES3.functional.shaders.texture_functions.texturegradoffset.isampler2d_vertex | ||||
| dEQP-GLES3.functional.shaders.texture_functions.texturegradoffset.isampler3d_vertex | ||||
| dEQP-GLES3.functional.shaders.texture_functions.texturegradoffset.sampler2darray_fixed_vertex | ||||
| dEQP-GLES3.functional.shaders.texture_functions.texturegradoffset.sampler2darrayshadow_vertex | ||||
| dEQP-GLES3.functional.shaders.texture_functions.texturegradoffset.sampler3d_fixed_vertex | ||||
| dEQP-GLES3.functional.shaders.texture_functions.textureprojgradoffset.sampler2dshadow_vertex | ||||
| dEQP-GLES3.functional.shaders.texture_functions.textureprojgradoffset.sampler3d_float_vertex | ||||
| dEQP-GLES3.functional.shaders.texture_functions.textureprojgradoffset.usampler3d_vertex | ||||
| dEQP-GLES3.functional.shaders.texture_functions.textureprojlodoffset.sampler2dshadow_vertex | ||||
| dEQP-GLES3.functional.shaders.texture_functions.textureprojoffset.sampler2dshadow_vertex | ||||
| dEQP-GLES3.functional.state_query.fbo.framebuffer_attachment_component_type | ||||
| dEQP-GLES3.functional.state_query.integers.max_samples_getfloat | ||||
| dEQP-GLES3.functional.state_query.integers.max_samples_getinteger64 | ||||
| dEQP-GLES3.functional.state_query.rbo.renderbuffer_component_size_color | ||||
| dEQP-GLES3.functional.texture.mipmap.cube.max_level.linear_nearest | ||||
| dEQP-GLES3.functional.texture.specification.random_teximage2d.cube_3 | ||||
| dEQP-GLES3.functional.texture.units.2_units.mixed.1 | ||||
| dEQP-GLES3.functional.texture.units.2_units.mixed.9 | ||||
| dEQP-GLES3.functional.texture.units.2_units.only_3d.5 | ||||
| dEQP-GLES3.functional.texture.units.2_units.only_3d.9 | ||||
| dEQP-GLES3.functional.texture.units.2_units.only_cube.2 | ||||
| dEQP-GLES3.functional.texture.units.4_units.mixed.1 | ||||
| dEQP-GLES3.functional.texture.units.4_units.mixed.9 | ||||
| dEQP-GLES3.functional.texture.units.4_units.only_2d.0 | ||||
| dEQP-GLES3.functional.texture.units.4_units.only_2d_array.0 | ||||
| dEQP-GLES3.functional.texture.units.4_units.only_3d.0 | ||||
| dEQP-GLES3.functional.texture.units.4_units.only_3d.1 | ||||
| dEQP-GLES3.functional.texture.units.4_units.only_3d.5 | ||||
| dEQP-GLES3.functional.texture.units.4_units.only_3d.7 | ||||
| dEQP-GLES3.functional.texture.units.4_units.only_3d.9 | ||||
| dEQP-GLES3.functional.texture.units.4_units.only_cube.2 | ||||
| dEQP-GLES3.functional.texture.units.8_units.mixed.6 | ||||
| dEQP-GLES3.functional.texture.units.8_units.mixed.7 | ||||
| dEQP-GLES3.functional.texture.units.8_units.mixed.8 | ||||
| dEQP-GLES3.functional.texture.units.8_units.only_2d.0 | ||||
| dEQP-GLES3.functional.texture.units.8_units.only_2d.6 | ||||
| dEQP-GLES3.functional.texture.units.8_units.only_2d_array.0 | ||||
| dEQP-GLES3.functional.texture.units.8_units.only_2d_array.6 | ||||
| dEQP-GLES3.functional.texture.units.8_units.only_3d.6 | ||||
| dEQP-GLES3.functional.texture.units.8_units.only_3d.8 | ||||
| dEQP-GLES3.functional.texture.units.8_units.only_cube.1 | ||||
| dEQP-GLES3.functional.texture.units.8_units.only_cube.2 | ||||
| dEQP-GLES3.functional.texture.units.all_units.mixed.0 | ||||
| dEQP-GLES3.functional.texture.units.all_units.mixed.5 | ||||
| dEQP-GLES3.functional.texture.units.all_units.mixed.6 | ||||
| dEQP-GLES3.functional.texture.units.all_units.mixed.8 | ||||
| dEQP-GLES3.functional.texture.units.all_units.mixed.9 | ||||
| dEQP-GLES3.functional.texture.units.all_units.only_2d.0 | ||||
| dEQP-GLES3.functional.texture.units.all_units.only_2d.6 | ||||
| dEQP-GLES3.functional.texture.units.all_units.only_2d_array.0 | ||||
| dEQP-GLES3.functional.texture.units.all_units.only_2d_array.5 | ||||
| dEQP-GLES3.functional.texture.units.all_units.only_2d_array.6 | ||||
| dEQP-GLES3.functional.texture.units.all_units.only_3d.5 | ||||
| dEQP-GLES3.functional.texture.units.all_units.only_3d.6 | ||||
| dEQP-GLES3.functional.texture.units.all_units.only_cube.1 | ||||
| dEQP-GLES3.functional.texture.units.all_units.only_cube.2 | ||||
| dEQP-GLES3.functional.transform_feedback.interpolation.centroid.highp_vec4_lines_interleaved | ||||
| dEQP-GLES3.functional.transform_feedback.interpolation.centroid.highp_vec4_lines_separate | ||||
| dEQP-GLES3.functional.transform_feedback.interpolation.centroid.highp_vec4_triangles_interleaved | ||||
| dEQP-GLES3.functional.transform_feedback.interpolation.centroid.highp_vec4_triangles_separate | ||||
| dEQP-GLES3.functional.transform_feedback.interpolation.centroid.lowp_vec4_lines_interleaved | ||||
| dEQP-GLES3.functional.transform_feedback.interpolation.centroid.lowp_vec4_lines_separate | ||||
| dEQP-GLES3.functional.transform_feedback.interpolation.centroid.lowp_vec4_triangles_interleaved | ||||
| dEQP-GLES3.functional.transform_feedback.interpolation.centroid.lowp_vec4_triangles_separate | ||||
| dEQP-GLES3.functional.transform_feedback.interpolation.centroid.mediump_vec4_lines_interleaved | ||||
| dEQP-GLES3.functional.transform_feedback.interpolation.centroid.mediump_vec4_lines_separate | ||||
| dEQP-GLES3.functional.transform_feedback.interpolation.centroid.mediump_vec4_triangles_interleaved | ||||
| dEQP-GLES3.functional.transform_feedback.interpolation.centroid.mediump_vec4_triangles_separate | ||||
| dEQP-GLES3.functional.transform_feedback.random.interleaved.lines.10 | ||||
| dEQP-GLES3.functional.transform_feedback.random.interleaved.lines.4 | ||||
| dEQP-GLES3.functional.transform_feedback.random.interleaved.lines.8 | ||||
| dEQP-GLES3.functional.transform_feedback.random.interleaved.lines.9 | ||||
| dEQP-GLES3.functional.transform_feedback.random.interleaved.triangles.1 | ||||
| dEQP-GLES3.functional.transform_feedback.random.interleaved.triangles.3 | ||||
| dEQP-GLES3.functional.transform_feedback.random.interleaved.triangles.8 | ||||
| dEQP-GLES3.functional.transform_feedback.random.separate.lines.10 | ||||
| dEQP-GLES3.functional.transform_feedback.random.separate.lines.2 | ||||
| dEQP-GLES3.functional.transform_feedback.random.separate.lines.4 | ||||
| dEQP-GLES3.functional.transform_feedback.random.separate.lines.7 | ||||
| dEQP-GLES3.functional.transform_feedback.random.separate.triangles.10 | ||||
| dEQP-GLES3.functional.transform_feedback.random.separate.triangles.3 | ||||
| dEQP-GLES3.functional.transform_feedback.random.separate.triangles.4 | ||||
| dEQP-GLES3.functional.transform_feedback.random.separate.triangles.5 | ||||
| dEQP-GLES3.functional.transform_feedback.random.separate.triangles.6 | ||||
| dEQP-GLES3.functional.transform_feedback.random.separate.triangles.7 | ||||
| dEQP-GLES3.functional.transform_feedback.random.separate.triangles.8 | ||||
| dEQP-GLES3.functional.transform_feedback.random.separate.triangles.9 | ||||
| dEQP-GLES3.functional.vertex_arrays.single_attribute.first.byte.first6_offset16_stride32_quads5 | ||||
| dEQP-GLES3.functional.vertex_arrays.single_attribute.normalize.int2_10_10_10.components4_quads256 | ||||
| dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_copy.stride4_short_quads256 | ||||
| @@ -1,23 +0,0 @@ | ||||
| # Note: skips lists for CI are just a list of lines that, when | ||||
| # non-zero-length and not starting with '#', will regex match to | ||||
| # delete lines from the test list.  Be careful. | ||||
|  | ||||
| # Skip the perf/stress tests to keep runtime manageable | ||||
| dEQP-GLES[0-9]*.performance.* | ||||
| dEQP-GLES[0-9]*.stress.* | ||||
|  | ||||
| # These are really slow on tiling architectures (including llvmpipe). | ||||
| dEQP-GLES[0-9]*.functional.flush_finish.* | ||||
|  | ||||
| # Flaky results | ||||
| dEQP-GLES3.functional.occlusion_query.stencil_write | ||||
| dEQP-GLES3.functional.rasterization.fbo.rbo_.* | ||||
| dEQP-GLES3.functional.rasterization.fbo.texture_2d.interpolation.triangles | ||||
| dEQP-GLES3.functional.rasterization.fbo.texture_2d.primitives.points | ||||
| dEQP-GLES3.functional.rasterization.flatshading.lines_wide | ||||
| dEQP-GLES3.functional.rasterization.flatshading.triangles | ||||
| dEQP-GLES3.functional.shaders.linkage.varying.interpolation.centroid | ||||
| dEQP-GLES3.functional.shaders.texture_functions.texturegradoffset.* | ||||
| dEQP-GLES3.functional.shaders.texture_functions.textureprojgradoffset.* | ||||
| dEQP-GLES3.functional.texture.units.4_units.only_3d.* | ||||
| dEQP-GLES3.functional.vertex_arrays.single_attribute.* | ||||
| @@ -1,67 +0,0 @@ | ||||
| dEQP-GLES2.functional.clipping.line.wide_line_clip_viewport_center | ||||
| dEQP-GLES2.functional.clipping.line.wide_line_clip_viewport_corner | ||||
| dEQP-GLES2.functional.clipping.point.wide_point_clip | ||||
| dEQP-GLES2.functional.clipping.point.wide_point_clip_viewport_center | ||||
| dEQP-GLES2.functional.clipping.point.wide_point_clip_viewport_corner | ||||
| 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.texture.specification.basic_copytexsubimage2d.2d_alpha | ||||
| dEQP-GLES2.functional.texture.specification.basic_copytexsubimage2d.2d_luminance | ||||
| dEQP-GLES2.functional.texture.specification.basic_copytexsubimage2d.2d_rgb | ||||
| dEQP-GLES2.functional.texture.specification.basic_copytexsubimage2d.2d_rgba | ||||
| dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_mag_reverse_dst_y | ||||
| dEQP-GLES3.functional.transform_feedback.array.interleaved.lines.lowp_float | ||||
| dEQP-GLES3.functional.transform_feedback.array.interleaved.lines.mediump_int | ||||
| dEQP-GLES3.functional.transform_feedback.array.interleaved.points.highp_mat3x2 | ||||
| dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles.highp_mat2x3 | ||||
| dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles.lowp_uvec3 | ||||
| dEQP-GLES3.functional.transform_feedback.array.separate.lines.highp_mat3x4 | ||||
| dEQP-GLES3.functional.transform_feedback.array.separate.points.lowp_mat2 | ||||
| dEQP-GLES3.functional.transform_feedback.array.separate.points.mediump_uint | ||||
| dEQP-GLES3.functional.transform_feedback.array.separate.triangles.lowp_vec3 | ||||
| dEQP-GLES3.functional.transform_feedback.array.separate.triangles.mediump_ivec3 | ||||
| dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines.highp_uvec4 | ||||
| dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points.highp_vec2 | ||||
| dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points.lowp_ivec3 | ||||
| dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles.lowp_int | ||||
| dEQP-GLES3.functional.transform_feedback.array_element.separate.lines.highp_vec4 | ||||
| dEQP-GLES3.functional.transform_feedback.array_element.separate.lines.lowp_uint | ||||
| dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines.lowp_mat2x4 | ||||
| dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines.mediump_uvec3 | ||||
| dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points.highp_int | ||||
| dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points.mediump_float | ||||
| dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles.highp_mat4x3 | ||||
| dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines.highp_ivec3 | ||||
| dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines.mediump_vec3 | ||||
| dEQP-GLES3.functional.transform_feedback.basic_types.separate.points.lowp_mat4x2 | ||||
| dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles.lowp_mat3 | ||||
| dEQP-GLES3.functional.transform_feedback.interpolation.smooth.highp_vec4_triangles_separate | ||||
| dEQP-GLES3.functional.transform_feedback.position.lines_separate | ||||
| dEQP-GLES3.functional.transform_feedback.random.interleaved.lines.3 | ||||
| dEQP-GLES3.functional.transform_feedback.random.separate.points.3 | ||||
| dEQP-GLES31.functional.image_load_store.cube.format_reinterpret.r32i_rgba8 | ||||
| dEQP-GLES31.functional.image_load_store.cube.format_reinterpret.rgba32f_rgba32ui | ||||
| dEQP-GLES31.functional.image_load_store.cube.format_reinterpret.rgba8_snorm_r32ui | ||||
| dEQP-GLES31.functional.image_load_store.cube.format_reinterpret.rgba8i_r32f | ||||
| dEQP-GLES31.functional.image_load_store.cube.load_store.r32f_single_layer | ||||
| dEQP-GLES31.functional.image_load_store.cube.load_store.rgba32i_single_layer | ||||
| dEQP-GLES31.functional.image_load_store.cube.load_store.rgba8_snorm_single_layer | ||||
| dEQP-GLES31.functional.image_load_store.early_fragment_tests.early_fragment_tests_stencil_fbo | ||||
| dEQP-GLES31.functional.layout_binding.image.image2d.fragment_binding_single | ||||
| dEQP-GLES31.functional.layout_binding.image.image3d.fragment_binding_single | ||||
| dEQP-GLES31.functional.program_interface_query.program_input.location.interface_blocks.in.named_block.var_struct_explicit_location | ||||
| dEQP-GLES31.functional.program_interface_query.program_input.resource_list.interface_blocks.in.named_block_explicit_location.var_struct | ||||
| dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.in.named_block_explicit_location.struct.uint | ||||
| dEQP-GLES31.functional.separate_shader.random.119 | ||||
| dEQP-GLES31.functional.separate_shader.random.59 | ||||
| dEQP-GLES31.functional.separate_shader.random.69 | ||||
| dEQP-GLES31.functional.separate_shader.random.79 | ||||
| dEQP-GLES31.functional.separate_shader.random.99 | ||||
| dEQP-GLES31.functional.texture.border_clamp.formats.compressed_rgb8_punchthrough_alpha1_etc2.linear_size_tile_multiple | ||||
| dEQP-GLES31.functional.texture.border_clamp.formats.luminance.nearest_size_pot | ||||
| dEQP-GLES31.functional.texture.border_clamp.per_axis_wrap_mode.texture_2d.unorm_color.gather.s_mirrored_repeat_t_clamp_to_border_pot | ||||
| dEQP-GLES31.functional.texture.border_clamp.sampler.unorm_depth | ||||
| dEQP-GLES31.functional.texture.texture_buffer.modify.bufferdata.buffer_size_131071 | ||||
| dEQP-GLES31.functional.texture.texture_buffer.render.as_index_array_as_fragment_texture.offset_7_alignments | ||||
| dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_index_array_as_fragment_texture.offset_1_alignments | ||||
| dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_texture_as_fragment_texture.range_size_98304 | ||||
| dEQP-GLES31.functional.texture.texture_buffer.state_query.max_texture_buffer_size_getinteger | ||||
| @@ -1,17 +0,0 @@ | ||||
| # Note: skips lists for CI are just a list of lines that, when | ||||
| # non-zero-length and not starting with '#', will regex match to | ||||
| # delete lines from the test list.  Be careful. | ||||
|  | ||||
| # Skip the perf/stress tests to keep runtime manageable | ||||
| dEQP-GLES[0-9]*.performance.* | ||||
| dEQP-GLES[0-9]*.stress.* | ||||
|  | ||||
| # These are really slow on tiling architectures (including llvmpipe). | ||||
| dEQP-GLES[0-9]*.functional.flush_finish.* | ||||
|  | ||||
| # unstable results (probably related to the iommu faults). | ||||
| dEQP-GLES3.functional.texture.filtering.3d.* | ||||
| dEQP-GLES3.functional.texture.vertex.3d.filtering.* | ||||
| dEQP-GLES3.functional.fbo.invalidate.sub.unbind_blit_msaa_stencil | ||||
| dEQP-GLES3.functional.fbo.invalidate.whole.unbind_blit_msaa_stencil | ||||
| dEQP-GLES31.functional.ubo.2_level_struct_array.single_buffer.packed_instance_array_fragment | ||||
| @@ -1,87 +0,0 @@ | ||||
|  | ||||
| dEQP-GLES31.functional.blend_equation_advanced.barrier.colorburn | ||||
| dEQP-GLES31.functional.blend_equation_advanced.barrier.colordodge | ||||
| dEQP-GLES31.functional.blend_equation_advanced.barrier.darken | ||||
| dEQP-GLES31.functional.blend_equation_advanced.barrier.difference | ||||
| dEQP-GLES31.functional.blend_equation_advanced.barrier.exclusion | ||||
| dEQP-GLES31.functional.blend_equation_advanced.barrier.hardlight | ||||
| dEQP-GLES31.functional.blend_equation_advanced.barrier.hsl_color | ||||
| dEQP-GLES31.functional.blend_equation_advanced.barrier.hsl_hue | ||||
| dEQP-GLES31.functional.blend_equation_advanced.barrier.hsl_luminosity | ||||
| dEQP-GLES31.functional.blend_equation_advanced.barrier.hsl_saturation | ||||
| dEQP-GLES31.functional.blend_equation_advanced.barrier.lighten | ||||
| dEQP-GLES31.functional.blend_equation_advanced.barrier.multiply | ||||
| dEQP-GLES31.functional.blend_equation_advanced.barrier.overlay | ||||
| dEQP-GLES31.functional.blend_equation_advanced.barrier.screen | ||||
| dEQP-GLES31.functional.blend_equation_advanced.barrier.softlight | ||||
| dEQP-GLES31.functional.blend_equation_advanced.basic.colorburn | ||||
| dEQP-GLES31.functional.blend_equation_advanced.basic.colordodge | ||||
| dEQP-GLES31.functional.blend_equation_advanced.basic.darken | ||||
| dEQP-GLES31.functional.blend_equation_advanced.basic.difference | ||||
| dEQP-GLES31.functional.blend_equation_advanced.basic.exclusion | ||||
| dEQP-GLES31.functional.blend_equation_advanced.basic.hardlight | ||||
| dEQP-GLES31.functional.blend_equation_advanced.basic.hsl_color | ||||
| dEQP-GLES31.functional.blend_equation_advanced.basic.hsl_hue | ||||
| dEQP-GLES31.functional.blend_equation_advanced.basic.hsl_luminosity | ||||
| dEQP-GLES31.functional.blend_equation_advanced.basic.hsl_saturation | ||||
| dEQP-GLES31.functional.blend_equation_advanced.basic.lighten | ||||
| dEQP-GLES31.functional.blend_equation_advanced.basic.multiply | ||||
| dEQP-GLES31.functional.blend_equation_advanced.basic.overlay | ||||
| dEQP-GLES31.functional.blend_equation_advanced.basic.screen | ||||
| dEQP-GLES31.functional.blend_equation_advanced.basic.softlight | ||||
| dEQP-GLES31.functional.blend_equation_advanced.msaa.colorburn | ||||
| dEQP-GLES31.functional.blend_equation_advanced.msaa.colordodge | ||||
| dEQP-GLES31.functional.blend_equation_advanced.msaa.darken | ||||
| dEQP-GLES31.functional.blend_equation_advanced.msaa.difference | ||||
| dEQP-GLES31.functional.blend_equation_advanced.msaa.exclusion | ||||
| dEQP-GLES31.functional.blend_equation_advanced.msaa.hardlight | ||||
| dEQP-GLES31.functional.blend_equation_advanced.msaa.hsl_color | ||||
| dEQP-GLES31.functional.blend_equation_advanced.msaa.hsl_hue | ||||
| dEQP-GLES31.functional.blend_equation_advanced.msaa.hsl_luminosity | ||||
| dEQP-GLES31.functional.blend_equation_advanced.msaa.hsl_saturation | ||||
| dEQP-GLES31.functional.blend_equation_advanced.msaa.lighten | ||||
| dEQP-GLES31.functional.blend_equation_advanced.msaa.multiply | ||||
| dEQP-GLES31.functional.blend_equation_advanced.msaa.overlay | ||||
| dEQP-GLES31.functional.blend_equation_advanced.msaa.screen | ||||
| dEQP-GLES31.functional.blend_equation_advanced.msaa.softlight | ||||
| dEQP-GLES31.functional.blend_equation_advanced.srgb.colorburn | ||||
| dEQP-GLES31.functional.blend_equation_advanced.srgb.colordodge | ||||
| dEQP-GLES31.functional.blend_equation_advanced.srgb.darken | ||||
| dEQP-GLES31.functional.blend_equation_advanced.srgb.difference | ||||
| dEQP-GLES31.functional.blend_equation_advanced.srgb.exclusion | ||||
| dEQP-GLES31.functional.blend_equation_advanced.srgb.hardlight | ||||
| dEQP-GLES31.functional.blend_equation_advanced.srgb.hsl_color | ||||
| dEQP-GLES31.functional.blend_equation_advanced.srgb.hsl_hue | ||||
| dEQP-GLES31.functional.blend_equation_advanced.srgb.hsl_luminosity | ||||
| dEQP-GLES31.functional.blend_equation_advanced.srgb.hsl_saturation | ||||
| dEQP-GLES31.functional.blend_equation_advanced.srgb.lighten | ||||
| dEQP-GLES31.functional.blend_equation_advanced.srgb.multiply | ||||
| dEQP-GLES31.functional.blend_equation_advanced.srgb.overlay | ||||
| dEQP-GLES31.functional.blend_equation_advanced.srgb.screen | ||||
| dEQP-GLES31.functional.blend_equation_advanced.srgb.softlight | ||||
| dEQP-GLES31.functional.compute.basic.shared_var_single_group | ||||
| dEQP-GLES31.functional.draw_buffers_indexed.overwrite_common.common_advanced_blend_eq_buffer_advanced_blend_eq | ||||
| dEQP-GLES31.functional.draw_buffers_indexed.overwrite_common.common_blend_eq_buffer_advanced_blend_eq | ||||
| dEQP-GLES31.functional.draw_buffers_indexed.overwrite_common.common_separate_blend_eq_buffer_advanced_blend_eq | ||||
| dEQP-GLES31.functional.draw_buffers_indexed.overwrite_indexed.common_advanced_blend_eq_buffer_advanced_blend_eq | ||||
| dEQP-GLES31.functional.draw_buffers_indexed.overwrite_indexed.common_advanced_blend_eq_buffer_blend_eq | ||||
| dEQP-GLES31.functional.draw_buffers_indexed.overwrite_indexed.common_advanced_blend_eq_buffer_separate_blend_eq | ||||
| dEQP-GLES31.functional.draw_buffers_indexed.overwrite_indexed.common_separate_blend_eq_buffer_blend_eq | ||||
| dEQP-GLES31.functional.image_load_store.early_fragment_tests.early_fragment_tests_depth_fbo | ||||
| dEQP-GLES31.functional.ssbo.layout.3_level_array.std140.column_major_mat4x2 | ||||
| dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std430.mat3 | ||||
| dEQP-GLES31.functional.ssbo.layout.random.arrays_of_arrays.6 | ||||
| dEQP-GLES31.functional.ssbo.layout.unsized_struct_array.per_block_buffer.shared_instance_array | ||||
| dEQP-GLES31.functional.stencil_texturing.render.depth24_stencil8_draw | ||||
| dEQP-GLES31.functional.stencil_texturing.render.depth32f_stencil8_clear | ||||
| dEQP-GLES31.functional.stencil_texturing.render.depth32f_stencil8_draw | ||||
| dEQP-GLES31.functional.tessellation.invariance.inner_triangle_set.quads_fractional_even_spacing | ||||
| dEQP-GLES31.functional.tessellation.invariance.tess_coord_component_range.triangles_fractional_odd_spacing_cw | ||||
| dEQP-GLES31.functional.texture.multisample.samples_1.use_texture_depth_2d | ||||
| dEQP-GLES31.functional.texture.multisample.samples_1.use_texture_depth_2d_array | ||||
| dEQP-GLES31.functional.texture.multisample.samples_2.use_texture_depth_2d | ||||
| dEQP-GLES31.functional.texture.multisample.samples_2.use_texture_depth_2d_array | ||||
| dEQP-GLES31.functional.texture.multisample.samples_3.use_texture_depth_2d | ||||
| dEQP-GLES31.functional.texture.multisample.samples_3.use_texture_depth_2d_array | ||||
| dEQP-GLES31.functional.texture.multisample.samples_4.use_texture_depth_2d | ||||
| dEQP-GLES31.functional.texture.multisample.samples_4.use_texture_depth_2d_array | ||||
| @@ -1,15 +0,0 @@ | ||||
| # Possibly https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/2035 related | ||||
| 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-VK.binding_model.descriptorset_random.sets4.constant.ubolimitlow.sbolimithigh.imglimithigh.noiub.uab.frag.ialimitlow.0 | ||||
| dEQP-VK.draw.output_location.array.b8g8r8a8-unorm-mediump-output-vec3 | ||||
| dEQP-VK.glsl.linkage.varying.struct.mat3x2 | ||||
| dEQP-VK.graphicsfuzz.mat-array-deep-control-flow | ||||
| dEQP-VK.spirv_assembly.instruction.compute.float_controls.fp32.input_args.negate_denorm_preserve | ||||
| dEQP-VK.spirv_assembly.instruction.compute.float_controls.fp32.input_args.rounding_rtz_out_prod | ||||
| dEQP-VK.spirv_assembly.instruction.graphics.opquantize.carry_bit_geom | ||||
| dEQP-VK.subgroups.builtin_var.graphics.subgroupinvocationid | ||||
|  | ||||
| # not sure what's wrong here | ||||
| dEQP-VK.tessellation.invariance.outer_edge_index_independence.triangles_equal_spacing_ccw_point_mode | ||||
| dEQP-VK.tessellation.invariance.primitive_set.isolines_fractional_odd_spacing_ccw_point_mode | ||||
| @@ -1,37 +0,0 @@ | ||||
| # Note: skips lists for CI are just a list of lines that, when | ||||
| # non-zero-length and not starting with '#', will regex match to | ||||
| # delete lines from the test list.  Be careful. | ||||
|  | ||||
| # Skip the perf/stress tests to keep runtime manageable | ||||
| dEQP-GLES[0-9]*.performance.* | ||||
| dEQP-GLES[0-9]*.stress.* | ||||
|  | ||||
| # These are really slow on tiling architectures (including llvmpipe). | ||||
| dEQP-GLES[0-9]*.functional.flush_finish.* | ||||
|  | ||||
| # Flakes reported more than once during Jan-Feb 2020 | ||||
| dEQP-GLES31.functional.layout_binding.ssbo.fragment_binding_array | ||||
|  | ||||
| # This started failing, despite passing locally (and generating identical | ||||
| # cmdstream as before.  Not sure what is going on, but adding it to skips | ||||
| # for now | ||||
| dEQP-GLES31.functional.compute.shared_var.atomic.compswap.lowp_int | ||||
|  | ||||
| # Non-sysmem flakes | ||||
| dEQP-VK.pipeline.spec_constant.compute.composite.matrix.mat3x2 | ||||
|  | ||||
| # Fails NIR_VALIDATE so probably flaky | ||||
| dEQP-VK.memory_model.write_after_read.core11.u32.coherent.fence_fence.atomicwrite.workgroup.payload_nonlocal.workgroup.guard_local.buffer.comp | ||||
|  | ||||
| # Sysmem flake: this one is fairly frequent, but if you enable it then | ||||
| # it moves to dEQP-VK.renderpass.dedicated_allocation.attachment.3.393 | ||||
| # | ||||
| #dEQP-VK.renderpass.suballocation.attachment_allocation.grow_shrink.89 | ||||
|  | ||||
| # At least some of the separate_channels tests fail on sysmem due to an | ||||
| # interaction of use of a UBWC buffer as both a render target and a | ||||
| # texture.  Stores are done through both paths in separate channels, | ||||
| # and the UBWC updates don't get synced.  The current a650 blob also | ||||
| # fails these tests and qcom apparently noted the failure at one point | ||||
| # https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/2017 | ||||
| dEQP-VK.renderpass.*separate_channels.* | ||||
| @@ -1,66 +0,0 @@ | ||||
| dEQP-GLES2.functional.clipping.line.wide_line_clip_viewport_center | ||||
| dEQP-GLES2.functional.clipping.line.wide_line_clip_viewport_corner | ||||
| dEQP-GLES2.functional.clipping.triangle_vertex.clip_two.clip_neg_x_neg_y_pos_z_and_pos_x_pos_y_neg_z | ||||
| dEQP-GLES2.functional.clipping.triangle_vertex.clip_two.clip_neg_x_pos_y_pos_z_and_pos_x_neg_y_neg_z | ||||
| dEQP-GLES2.functional.clipping.triangle_vertex.clip_two.clip_pos_x_neg_y_pos_z_and_neg_x_pos_y_neg_z | ||||
| dEQP-GLES2.functional.clipping.triangle_vertex.clip_two.clip_pos_x_pos_y_pos_z_and_neg_x_neg_y_neg_z | ||||
| dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgb565_depth_component16 | ||||
| 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.shared_depthbuffer.tex2d_rgba_depth_component16 | ||||
| dEQP-GLES2.functional.fbo.render.shared_depthbuffer.tex2d_rgb_depth_component16 | ||||
| dEQP-GLES2.functional.fragment_ops.depth_stencil.random.0 | ||||
| dEQP-GLES2.functional.fragment_ops.depth_stencil.random.1 | ||||
| dEQP-GLES2.functional.fragment_ops.depth_stencil.random.10 | ||||
| dEQP-GLES2.functional.fragment_ops.depth_stencil.random.11 | ||||
| dEQP-GLES2.functional.fragment_ops.depth_stencil.random.12 | ||||
| dEQP-GLES2.functional.fragment_ops.depth_stencil.random.13 | ||||
| dEQP-GLES2.functional.fragment_ops.depth_stencil.random.14 | ||||
| dEQP-GLES2.functional.fragment_ops.depth_stencil.random.15 | ||||
| dEQP-GLES2.functional.fragment_ops.depth_stencil.random.16 | ||||
| dEQP-GLES2.functional.fragment_ops.depth_stencil.random.17 | ||||
| dEQP-GLES2.functional.fragment_ops.depth_stencil.random.18 | ||||
| dEQP-GLES2.functional.fragment_ops.depth_stencil.random.19 | ||||
| dEQP-GLES2.functional.fragment_ops.depth_stencil.random.2 | ||||
| dEQP-GLES2.functional.fragment_ops.depth_stencil.random.20 | ||||
| dEQP-GLES2.functional.fragment_ops.depth_stencil.random.21 | ||||
| dEQP-GLES2.functional.fragment_ops.depth_stencil.random.22 | ||||
| dEQP-GLES2.functional.fragment_ops.depth_stencil.random.23 | ||||
| dEQP-GLES2.functional.fragment_ops.depth_stencil.random.24 | ||||
| dEQP-GLES2.functional.fragment_ops.depth_stencil.random.3 | ||||
| dEQP-GLES2.functional.fragment_ops.depth_stencil.random.4 | ||||
| dEQP-GLES2.functional.fragment_ops.depth_stencil.random.5 | ||||
| dEQP-GLES2.functional.fragment_ops.depth_stencil.random.6 | ||||
| dEQP-GLES2.functional.fragment_ops.depth_stencil.random.7 | ||||
| dEQP-GLES2.functional.fragment_ops.depth_stencil.random.8 | ||||
| dEQP-GLES2.functional.fragment_ops.depth_stencil.random.9 | ||||
| dEQP-GLES2.functional.fragment_ops.depth_stencil.write_mask.stencil | ||||
| dEQP-GLES2.functional.shaders.loops.do_while_dynamic_iterations.vector_counter_fragment | ||||
| dEQP-GLES2.functional.shaders.loops.for_dynamic_iterations.vector_counter_fragment | ||||
| dEQP-GLES2.functional.shaders.loops.while_dynamic_iterations.vector_counter_fragment | ||||
| dEQP-GLES2.functional.shaders.random.all_features.fragment.37 | ||||
| dEQP-GLES2.functional.shaders.random.exponential.fragment.11 | ||||
| dEQP-GLES2.functional.shaders.random.exponential.fragment.12 | ||||
| dEQP-GLES2.functional.shaders.random.exponential.fragment.14 | ||||
| dEQP-GLES2.functional.shaders.random.exponential.fragment.37 | ||||
| dEQP-GLES2.functional.shaders.random.exponential.fragment.5 | ||||
| dEQP-GLES2.functional.shaders.random.exponential.fragment.74 | ||||
| dEQP-GLES2.functional.shaders.random.texture.fragment.28 | ||||
| dEQP-GLES2.functional.shaders.random.trigonometric.fragment.65 | ||||
| dEQP-GLES2.functional.shaders.texture_functions.fragment.texture2d_bias | ||||
| dEQP-GLES2.functional.shaders.texture_functions.fragment.texture2dproj_vec4_bias | ||||
| dEQP-GLES2.functional.shaders.texture_functions.fragment.texturecube_bias | ||||
| dEQP-GLES2.functional.texture.filtering.2d.linear_mipmap_linear_linear_clamp_rgba8888 | ||||
| dEQP-GLES2.functional.texture.filtering.2d.linear_mipmap_linear_linear_mirror_rgba8888 | ||||
| dEQP-GLES2.functional.texture.filtering.2d.linear_mipmap_linear_nearest_clamp_rgba8888 | ||||
| dEQP-GLES2.functional.texture.filtering.2d.linear_mipmap_linear_nearest_mirror_rgba8888 | ||||
| dEQP-GLES2.functional.texture.mipmap.cube.basic.linear_linear | ||||
| dEQP-GLES2.functional.texture.mipmap.cube.basic.linear_nearest | ||||
| dEQP-GLES2.functional.texture.mipmap.cube.bias.linear_linear | ||||
| dEQP-GLES2.functional.texture.mipmap.cube.bias.linear_nearest | ||||
| dEQP-GLES2.functional.texture.mipmap.cube.projected.linear_linear | ||||
| dEQP-GLES2.functional.texture.mipmap.cube.projected.linear_nearest | ||||
| dEQP-GLES2.functional.texture.specification.basic_copytexsubimage2d.2d_rgb | ||||
| dEQP-GLES2.functional.texture.specification.basic_copytexsubimage2d.2d_rgba | ||||
| dEQP-GLES2.functional.texture.specification.basic_copytexsubimage2d.cube_rgb | ||||
| dEQP-GLES2.functional.texture.specification.basic_copytexsubimage2d.cube_rgba | ||||
| @@ -1,38 +0,0 @@ | ||||
| # Note: skips lists for CI are just a list of lines that, when | ||||
| # non-zero-length and not starting with '#', will regex match to | ||||
| # delete lines from the test list.  Be careful. | ||||
|  | ||||
| # Skip the perf/stress tests to keep runtime manageable | ||||
| dEQP-GLES[0-9]*.performance | ||||
| dEQP-GLES[0-9]*.stress | ||||
|  | ||||
| # These are really slow on tiling architectures (including llvmpipe). | ||||
| dEQP-GLES[0-9]*.functional.flush_finish | ||||
|  | ||||
| # Flaky | ||||
| 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.default_vertex_attrib.* | ||||
| dEQP-GLES2.functional.fbo.completeness.size.distinct | ||||
| dEQP-GLES2.functional.negative_api.shader.uniform_matrixfv_invalid_transpose | ||||
| dEQP-GLES2.functional.negative_api.texture.generatemipmap_zero_level_array_compressed | ||||
| dEQP-GLES2.functional.shaders.builtin_variable.frontfacing | ||||
| dEQP-GLES2.functional.shaders.random.exponential.fragment.94 | ||||
| dEQP-GLES2.functional.shaders.random.all_features.fragment.55 | ||||
| dEQP-GLES2.functional.shaders.random.trigonometric.fragment.1 | ||||
| dEQP-GLES2.functional.shaders.random.trigonometric.fragment.69 | ||||
|  | ||||
| # Hangs / OOM | ||||
| dEQP-GLES2.functional.shaders.indexing.varying_array.vec4_dynamic_loop_write_static_read | ||||
| dEQP-GLES2.functional.shaders.indexing.varying_array.vec4_dynamic_loop_write_dynamic_read | ||||
| dEQP-GLES2.functional.shaders.indexing.varying_array.vec4_dynamic_loop_write_static_loop_read | ||||
| dEQP-GLES2.functional.shaders.indexing.varying_array.vec4_dynamic_loop_write_dynamic_loop_read | ||||
|  | ||||
| dEQP-GLES2.functional.shaders.indexing.tmp_array.vec4_dynamic_loop_write_static_read_vertex | ||||
| dEQP-GLES2.functional.shaders.indexing.tmp_array.vec4_dynamic_loop_write_dynamic_read_vertex | ||||
| dEQP-GLES2.functional.shaders.indexing.tmp_array.vec4_dynamic_loop_write_static_loop_read_vertex | ||||
| dEQP-GLES2.functional.shaders.indexing.tmp_array.vec4_dynamic_loop_write_dynamic_loop_read_vertex | ||||
|  | ||||
| dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat4_dynamic_loop_write_static_read_vertex | ||||
| dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat4_dynamic_loop_write_dynamic_read_vertex | ||||
| dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat4_dynamic_loop_write_static_loop_read_vertex | ||||
| dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat4_dynamic_loop_write_dynamic_loop_read_vertex | ||||
| @@ -1,78 +0,0 @@ | ||||
| dEQP-GLES2.functional.clipping.line.wide_line_clip_viewport_center | ||||
| dEQP-GLES2.functional.clipping.line.wide_line_clip_viewport_corner | ||||
| dEQP-GLES2.functional.clipping.point.wide_point_clip | ||||
| dEQP-GLES2.functional.clipping.point.wide_point_clip_viewport_center | ||||
| dEQP-GLES2.functional.clipping.point.wide_point_clip_viewport_corner | ||||
| dEQP-GLES2.functional.clipping.triangle_vertex.clip_two.clip_neg_y_neg_z_and_neg_x_neg_y_pos_z | ||||
| dEQP-GLES2.functional.clipping.triangle_vertex.clip_two.clip_pos_y_pos_z_and_neg_x_neg_y_neg_z | ||||
| dEQP-GLES2.functional.fbo.render.color_clear.rbo_rgba4 | ||||
| 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.depth.rbo_rgba4_depth_component16 | ||||
| dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgba4 | ||||
| dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgba4_stencil_index8 | ||||
| dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgba4 | ||||
| dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgba4_stencil_index8 | ||||
| dEQP-GLES2.functional.fbo.render.recreate_depthbuffer.no_rebind_rbo_rgba4_depth_component16 | ||||
| dEQP-GLES2.functional.fbo.render.recreate_depthbuffer.rebind_rbo_rgba4_depth_component16 | ||||
| dEQP-GLES2.functional.fbo.render.recreate_stencilbuffer.no_rebind_rbo_rgba4_stencil_index8 | ||||
| dEQP-GLES2.functional.fbo.render.recreate_stencilbuffer.rebind_rbo_rgba4_stencil_index8 | ||||
| dEQP-GLES2.functional.fbo.render.shared_colorbuffer.rbo_rgba4 | ||||
| dEQP-GLES2.functional.fbo.render.shared_colorbuffer.rbo_rgba4_depth_component16 | ||||
| dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgba4_depth_component16 | ||||
| dEQP-GLES2.functional.polygon_offset.default_displacement_with_units | ||||
| dEQP-GLES2.functional.polygon_offset.fixed16_displacement_with_units | ||||
| dEQP-GLES2.functional.rasterization.interpolation.basic.line_loop_wide | ||||
| dEQP-GLES2.functional.rasterization.interpolation.basic.line_strip_wide | ||||
| dEQP-GLES2.functional.rasterization.interpolation.basic.lines_wide | ||||
| dEQP-GLES2.functional.rasterization.interpolation.projected.line_loop_wide | ||||
| dEQP-GLES2.functional.rasterization.interpolation.projected.line_strip_wide | ||||
| dEQP-GLES2.functional.rasterization.interpolation.projected.lines_wide | ||||
| dEQP-GLES2.functional.texture.filtering.2d.linear_mipmap_linear_linear_clamp_rgba8888 | ||||
| dEQP-GLES2.functional.texture.filtering.2d.linear_mipmap_linear_linear_mirror_etc1 | ||||
| dEQP-GLES2.functional.texture.filtering.2d.linear_mipmap_linear_linear_mirror_rgba8888 | ||||
| dEQP-GLES2.functional.texture.filtering.2d.linear_mipmap_linear_linear_repeat_etc1 | ||||
| dEQP-GLES2.functional.texture.filtering.2d.linear_mipmap_linear_linear_repeat_rgba8888 | ||||
| dEQP-GLES2.functional.texture.filtering.2d.linear_mipmap_linear_nearest_clamp_rgba8888 | ||||
| dEQP-GLES2.functional.texture.filtering.2d.linear_mipmap_linear_nearest_mirror_etc1 | ||||
| dEQP-GLES2.functional.texture.filtering.2d.linear_mipmap_linear_nearest_mirror_rgba8888 | ||||
| dEQP-GLES2.functional.texture.filtering.2d.linear_mipmap_linear_nearest_repeat_etc1 | ||||
| dEQP-GLES2.functional.texture.filtering.2d.linear_mipmap_linear_nearest_repeat_l8 | ||||
| dEQP-GLES2.functional.texture.filtering.2d.linear_mipmap_linear_nearest_repeat_rgb888 | ||||
| dEQP-GLES2.functional.texture.filtering.2d.linear_mipmap_linear_nearest_repeat_rgba4444 | ||||
| dEQP-GLES2.functional.texture.filtering.2d.linear_mipmap_linear_nearest_repeat_rgba8888 | ||||
| dEQP-GLES2.functional.texture.filtering.2d.nearest_mipmap_linear_linear_clamp_rgba8888 | ||||
| dEQP-GLES2.functional.texture.filtering.2d.nearest_mipmap_linear_linear_mirror_etc1 | ||||
| dEQP-GLES2.functional.texture.filtering.2d.nearest_mipmap_linear_linear_mirror_rgba8888 | ||||
| dEQP-GLES2.functional.texture.filtering.2d.nearest_mipmap_linear_linear_repeat_etc1 | ||||
| dEQP-GLES2.functional.texture.filtering.2d.nearest_mipmap_linear_linear_repeat_rgba8888 | ||||
| dEQP-GLES2.functional.texture.filtering.2d.nearest_mipmap_linear_nearest_clamp_rgba8888 | ||||
| dEQP-GLES2.functional.texture.filtering.2d.nearest_mipmap_linear_nearest_mirror_etc1 | ||||
| dEQP-GLES2.functional.texture.filtering.2d.nearest_mipmap_linear_nearest_mirror_rgba8888 | ||||
| dEQP-GLES2.functional.texture.filtering.2d.nearest_mipmap_linear_nearest_repeat_etc1 | ||||
| dEQP-GLES2.functional.texture.filtering.2d.nearest_mipmap_linear_nearest_repeat_l8 | ||||
| dEQP-GLES2.functional.texture.filtering.2d.nearest_mipmap_linear_nearest_repeat_rgb888 | ||||
| dEQP-GLES2.functional.texture.filtering.2d.nearest_mipmap_linear_nearest_repeat_rgba4444 | ||||
| dEQP-GLES2.functional.texture.filtering.2d.nearest_mipmap_linear_nearest_repeat_rgba8888 | ||||
| dEQP-GLES2.functional.texture.mipmap.2d.affine.linear_linear_repeat | ||||
| dEQP-GLES2.functional.texture.mipmap.2d.affine.nearest_linear_clamp | ||||
| dEQP-GLES2.functional.texture.mipmap.2d.affine.nearest_linear_mirror | ||||
| dEQP-GLES2.functional.texture.mipmap.2d.affine.nearest_linear_repeat | ||||
| dEQP-GLES2.functional.texture.mipmap.2d.basic.linear_linear_repeat | ||||
| dEQP-GLES2.functional.texture.mipmap.2d.basic.linear_linear_repeat_non_square | ||||
| dEQP-GLES2.functional.texture.mipmap.2d.basic.nearest_linear_clamp | ||||
| dEQP-GLES2.functional.texture.mipmap.2d.basic.nearest_linear_clamp_non_square | ||||
| dEQP-GLES2.functional.texture.mipmap.2d.basic.nearest_linear_mirror | ||||
| dEQP-GLES2.functional.texture.mipmap.2d.basic.nearest_linear_mirror_non_square | ||||
| dEQP-GLES2.functional.texture.mipmap.2d.basic.nearest_linear_repeat | ||||
| dEQP-GLES2.functional.texture.mipmap.2d.basic.nearest_linear_repeat_non_square | ||||
| dEQP-GLES2.functional.texture.mipmap.2d.projected.linear_linear_repeat | ||||
| dEQP-GLES2.functional.texture.mipmap.2d.projected.nearest_linear_clamp | ||||
| dEQP-GLES2.functional.texture.mipmap.2d.projected.nearest_linear_mirror | ||||
| dEQP-GLES2.functional.texture.mipmap.2d.projected.nearest_linear_repeat | ||||
| dEQP-GLES2.functional.texture.mipmap.cube.basic.linear_linear | ||||
| dEQP-GLES2.functional.texture.mipmap.cube.basic.linear_nearest | ||||
| dEQP-GLES2.functional.texture.mipmap.cube.bias.linear_linear | ||||
| dEQP-GLES2.functional.texture.mipmap.cube.bias.linear_nearest | ||||
| dEQP-GLES2.functional.texture.mipmap.cube.projected.linear_linear | ||||
| dEQP-GLES2.functional.texture.mipmap.cube.projected.linear_nearest | ||||
| @@ -1,28 +0,0 @@ | ||||
| dEQP-GLES2.functional.depth_stencil_clear.depth_stencil_masked | ||||
| dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb565_depth_component16 | ||||
| dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb565_stencil_index8 | ||||
| dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb5_a1_depth_component16 | ||||
| dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb5_a1_stencil_index8 | ||||
| dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgba4_depth_component16 | ||||
| dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgba4_stencil_index8 | ||||
| dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgb_depth_component16 | ||||
| dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgb_stencil_index8 | ||||
| dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgba_depth_component16 | ||||
| dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_tex2d_rgba_stencil_index8 | ||||
| dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb565_depth_component16 | ||||
| dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb565_stencil_index8 | ||||
| dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb5_a1_depth_component16 | ||||
| dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgb5_a1_stencil_index8 | ||||
| dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgba4_depth_component16 | ||||
| dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgba4_stencil_index8 | ||||
| dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgb_depth_component16 | ||||
| dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgb_stencil_index8 | ||||
| dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgba_depth_component16 | ||||
| dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_tex2d_rgba_stencil_index8 | ||||
| dEQP-GLES2.functional.fbo.render.shared_colorbuffer.rbo_rgb5_a1_depth_component16 | ||||
| dEQP-GLES2.functional.fbo.render.shared_colorbuffer.rbo_rgba4_depth_component16 | ||||
| dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgb565_depth_component16 | ||||
| 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.shared_depthbuffer.tex2d_rgb_depth_component16 | ||||
| dEQP-GLES2.functional.fbo.render.shared_depthbuffer.tex2d_rgba_depth_component16 | ||||
| @@ -1,17 +0,0 @@ | ||||
| # Note: skips lists for CI are just a list of lines that, when | ||||
| # non-zero-length and not starting with '#', will regex match to | ||||
| # delete lines from the test list.  Be careful. | ||||
|  | ||||
| # Skip the perf/stress tests to keep runtime manageable | ||||
| dEQP-GLES[0-9]*.performance.* | ||||
| dEQP-GLES[0-9]*.stress.* | ||||
|  | ||||
| # These are really slow on tiling architectures (including llvmpipe). | ||||
| dEQP-GLES[0-9]*.functional.flush_finish.* | ||||
|  | ||||
| # XXX: Why does this flake? | ||||
| 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 | ||||
|  | ||||
| # Needs investigation | ||||
| dEQP-GLES2.functional.fbo.render.shared_colorbuffer.rbo_rgb565_depth_component16 | ||||
| dEQP-GLES2.functional.fbo.render.shared_colorbuffer.tex2d_rgba_depth_component16 | ||||
| @@ -1,11 +0,0 @@ | ||||
| # Note: skips lists for CI are just a list of lines that, when | ||||
| # non-zero-length and not starting with '#', will regex match to | ||||
| # delete lines from the test list.  Be careful. | ||||
|  | ||||
| # Skip the perf/stress tests to keep runtime manageable | ||||
| dEQP-GLES[0-9]*.performance.* | ||||
| dEQP-GLES[0-9]*.stress.* | ||||
|  | ||||
| # These are really slow on tiling architectures (including llvmpipe). | ||||
| dEQP-GLES[0-9]*.functional.flush_finish.* | ||||
|  | ||||
| @@ -1,13 +0,0 @@ | ||||
| # Note: skips lists for CI are just a list of lines that, when | ||||
| # non-zero-length and not starting with '#', will regex match to | ||||
| # delete lines from the test list.  Be careful. | ||||
|  | ||||
| # Skip the perf/stress tests to keep runtime manageable | ||||
| dEQP-GLES[0-9]*.performance.* | ||||
| dEQP-GLES[0-9]*.stress.* | ||||
|  | ||||
| # These are really slow on tiling architectures (including llvmpipe). | ||||
| dEQP-GLES[0-9]*.functional.flush_finish.* | ||||
|  | ||||
| # XXX: Why does this flake? | ||||
| 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 | ||||
| @@ -1,44 +0,0 @@ | ||||
| dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_mag | ||||
| dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_mag_reverse_dst_x | ||||
| dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_mag_reverse_dst_y | ||||
| dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_mag_reverse_src_dst_x | ||||
| dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_mag_reverse_src_dst_y | ||||
| dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_mag_reverse_src_x | ||||
| dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_mag_reverse_src_y | ||||
| dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_min | ||||
| dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_min_reverse_dst_x | ||||
| dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_min_reverse_dst_y | ||||
| dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_min_reverse_src_dst_x | ||||
| dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_min_reverse_src_dst_y | ||||
| dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_min_reverse_src_x | ||||
| dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_min_reverse_src_y | ||||
| dEQP-GLES3.functional.fbo.invalidate.sub.unbind_blit_msaa_color | ||||
| dEQP-GLES3.functional.fbo.invalidate.sub.unbind_blit_msaa_depth | ||||
| dEQP-GLES3.functional.fbo.invalidate.sub.unbind_blit_msaa_stencil | ||||
| dEQP-GLES3.functional.fbo.invalidate.whole.unbind_blit_msaa_color | ||||
| dEQP-GLES3.functional.fbo.invalidate.whole.unbind_blit_msaa_depth | ||||
| dEQP-GLES3.functional.fbo.invalidate.whole.unbind_blit_msaa_stencil | ||||
| dEQP-GLES3.functional.fbo.msaa.2_samples.depth24_stencil8 | ||||
| dEQP-GLES3.functional.fbo.msaa.2_samples.depth32f_stencil8 | ||||
| dEQP-GLES3.functional.fbo.msaa.2_samples.depth_component16 | ||||
| dEQP-GLES3.functional.fbo.msaa.2_samples.depth_component24 | ||||
| dEQP-GLES3.functional.fbo.msaa.2_samples.depth_component32f | ||||
| dEQP-GLES3.functional.fbo.msaa.2_samples.r16f | ||||
| dEQP-GLES3.functional.fbo.msaa.2_samples.rg16f | ||||
| dEQP-GLES3.functional.fbo.msaa.2_samples.rgba16f | ||||
| dEQP-GLES3.functional.fbo.msaa.2_samples.stencil_index8 | ||||
| dEQP-GLES3.functional.fbo.msaa.4_samples.depth24_stencil8 | ||||
| dEQP-GLES3.functional.fbo.msaa.4_samples.depth32f_stencil8 | ||||
| dEQP-GLES3.functional.fbo.msaa.4_samples.depth_component16 | ||||
| dEQP-GLES3.functional.fbo.msaa.4_samples.depth_component24 | ||||
| dEQP-GLES3.functional.fbo.msaa.4_samples.depth_component32f | ||||
| dEQP-GLES3.functional.fbo.msaa.4_samples.r16f | ||||
| dEQP-GLES3.functional.fbo.msaa.4_samples.r32f | ||||
| dEQP-GLES3.functional.fbo.msaa.4_samples.rg16f | ||||
| dEQP-GLES3.functional.fbo.msaa.4_samples.rg32f | ||||
| dEQP-GLES3.functional.fbo.msaa.4_samples.rgba16f | ||||
| dEQP-GLES3.functional.fbo.msaa.4_samples.rgba32f | ||||
| dEQP-GLES3.functional.fbo.msaa.4_samples.stencil_index8 | ||||
| dEQP-GLES3.functional.fence_sync.client_wait_sync_finish | ||||
| dEQP-GLES3.functional.draw.random.156 | ||||
| dEQP-GLES3.functional.draw.random.208 | ||||
| @@ -1,13 +0,0 @@ | ||||
| # Note: skips lists for CI are just a list of lines that, when | ||||
| # non-zero-length and not starting with '#', will regex match to | ||||
| # delete lines from the test list.  Be careful. | ||||
|  | ||||
| # Skip the perf/stress tests to keep runtime manageable | ||||
| dEQP-GLES[0-9]*.performance.* | ||||
| dEQP-GLES[0-9]*.stress.* | ||||
|  | ||||
| # These are really slow on tiling architectures (including llvmpipe). | ||||
| dEQP-GLES[0-9]*.functional.flush_finish.* | ||||
|  | ||||
| # XXX: Why does this flake? | ||||
| 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 | ||||
| @@ -1,11 +0,0 @@ | ||||
| # Note: skips lists for CI are just a list of lines that, when | ||||
| # non-zero-length and not starting with '#', will regex match to | ||||
| # delete lines from the test list.  Be careful. | ||||
|  | ||||
| # Skip the perf/stress tests to keep runtime manageable | ||||
| dEQP-GLES[0-9]*.performance.* | ||||
| dEQP-GLES[0-9]*.stress.* | ||||
|  | ||||
| # These are really slow on tiling architectures (including llvmpipe). | ||||
| dEQP-GLES[0-9]*.functional.flush_finish.* | ||||
|  | ||||
| @@ -1,3 +0,0 @@ | ||||
| # Exclude WSI related tests. | ||||
| dEQP-VK.image.swapchain_mutable.* | ||||
| dEQP-VK.wsi.* | ||||
| @@ -1,29 +0,0 @@ | ||||
| # Interesting failures... | ||||
| dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_16_64_6.samples_2.d32_sfloat_s8_uint.stencil_max | ||||
| dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_16_64_6.samples_2.d32_sfloat_s8_uint.stencil_min | ||||
| dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_16_64_6.samples_2.d32_sfloat_s8_uint.stencil_zero | ||||
| dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_16_64_6.samples_2.d32_sfloat_s8_uint_separate_layouts.stencil_max | ||||
| dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_16_64_6.samples_2.d32_sfloat_s8_uint_separate_layouts.stencil_min | ||||
| dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_16_64_6.samples_2.d32_sfloat_s8_uint_separate_layouts.stencil_zero | ||||
| dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_16_64_6.samples_4.d32_sfloat_s8_uint.stencil_max | ||||
| dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_16_64_6.samples_4.d32_sfloat_s8_uint.stencil_min | ||||
| dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_16_64_6.samples_4.d32_sfloat_s8_uint.stencil_zero | ||||
| dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_16_64_6.samples_4.d32_sfloat_s8_uint_separate_layouts.stencil_max | ||||
| dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_16_64_6.samples_4.d32_sfloat_s8_uint_separate_layouts.stencil_min | ||||
| dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_16_64_6.samples_4.d32_sfloat_s8_uint_separate_layouts.stencil_zero | ||||
| dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_16_64_6.samples_8.d32_sfloat_s8_uint.stencil_max | ||||
| dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_16_64_6.samples_8.d32_sfloat_s8_uint.stencil_min | ||||
| dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_16_64_6.samples_8.d32_sfloat_s8_uint.stencil_zero | ||||
| dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_16_64_6.samples_8.d32_sfloat_s8_uint_separate_layouts.stencil_max | ||||
| dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_16_64_6.samples_8.d32_sfloat_s8_uint_separate_layouts.stencil_min | ||||
| dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_16_64_6.samples_8.d32_sfloat_s8_uint_separate_layouts.stencil_zero | ||||
|  | ||||
| dEQP-VK.rasterization.flatshading.line_strip_wide | ||||
| dEQP-VK.rasterization.flatshading.non_strict_line_strip_wide | ||||
| dEQP-VK.rasterization.flatshading.non_strict_lines_wide | ||||
| dEQP-VK.rasterization.interpolation.basic.line_strip_wide | ||||
| dEQP-VK.rasterization.interpolation.basic.non_strict_line_strip_wide | ||||
| dEQP-VK.rasterization.interpolation.basic.non_strict_lines_wide | ||||
| dEQP-VK.rasterization.interpolation.projected.lines_wide | ||||
| dEQP-VK.rasterization.interpolation.projected.non_strict_line_strip_wide | ||||
| dEQP-VK.rasterization.interpolation.projected.non_strict_lines_wide | ||||
| @@ -1,9 +0,0 @@ | ||||
| dEQP-VK.rasterization.flatshading.line_strip_wide | ||||
| dEQP-VK.rasterization.flatshading.non_strict_line_strip_wide | ||||
| dEQP-VK.rasterization.flatshading.non_strict_lines_wide | ||||
| dEQP-VK.rasterization.interpolation.basic.line_strip_wide | ||||
| dEQP-VK.rasterization.interpolation.basic.non_strict_line_strip_wide | ||||
| dEQP-VK.rasterization.interpolation.basic.non_strict_lines_wide | ||||
| dEQP-VK.rasterization.interpolation.projected.lines_wide | ||||
| dEQP-VK.rasterization.interpolation.projected.non_strict_line_strip_wide | ||||
| dEQP-VK.rasterization.interpolation.projected.non_strict_lines_wide | ||||
| @@ -1,9 +0,0 @@ | ||||
| dEQP-VK.rasterization.flatshading.line_strip_wide | ||||
| dEQP-VK.rasterization.flatshading.non_strict_line_strip_wide | ||||
| dEQP-VK.rasterization.flatshading.non_strict_lines_wide | ||||
| dEQP-VK.rasterization.interpolation.basic.line_strip_wide | ||||
| dEQP-VK.rasterization.interpolation.basic.non_strict_line_strip_wide | ||||
| dEQP-VK.rasterization.interpolation.basic.non_strict_lines_wide | ||||
| dEQP-VK.rasterization.interpolation.projected.lines_wide | ||||
| dEQP-VK.rasterization.interpolation.projected.non_strict_line_strip_wide | ||||
| dEQP-VK.rasterization.interpolation.projected.non_strict_lines_wide | ||||
| @@ -1,11 +0,0 @@ | ||||
| dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.never_zerodepthbounds_depthdisabled_stencilenabled | ||||
| dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.never_zerodepthbounds_depthdisabled_stencilenabled | ||||
| dEQP-VK.rasterization.flatshading.line_strip_wide | ||||
| dEQP-VK.rasterization.flatshading.non_strict_line_strip_wide | ||||
| dEQP-VK.rasterization.flatshading.non_strict_lines_wide | ||||
| dEQP-VK.rasterization.interpolation.basic.line_strip_wide | ||||
| dEQP-VK.rasterization.interpolation.basic.non_strict_line_strip_wide | ||||
| dEQP-VK.rasterization.interpolation.basic.non_strict_lines_wide | ||||
| dEQP-VK.rasterization.interpolation.projected.lines_wide | ||||
| dEQP-VK.rasterization.interpolation.projected.non_strict_line_strip_wide | ||||
| dEQP-VK.rasterization.interpolation.projected.non_strict_lines_wide | ||||
| @@ -1,9 +0,0 @@ | ||||
| dEQP-VK.rasterization.flatshading.line_strip_wide | ||||
| dEQP-VK.rasterization.flatshading.non_strict_line_strip_wide | ||||
| dEQP-VK.rasterization.flatshading.non_strict_lines_wide | ||||
| dEQP-VK.rasterization.interpolation.basic.line_strip_wide | ||||
| dEQP-VK.rasterization.interpolation.basic.non_strict_line_strip_wide | ||||
| dEQP-VK.rasterization.interpolation.basic.non_strict_lines_wide | ||||
| dEQP-VK.rasterization.interpolation.projected.lines_wide | ||||
| dEQP-VK.rasterization.interpolation.projected.non_strict_line_strip_wide | ||||
| dEQP-VK.rasterization.interpolation.projected.non_strict_lines_wide | ||||
| @@ -1,31 +0,0 @@ | ||||
| # Disable a TON of tests to keep the run around 5-10 minutes because my runner is | ||||
| # slow. | ||||
| dEQP-VK.api.* | ||||
| dEQP-VK.binding_model.* | ||||
| dEQP-VK.clipping.* | ||||
| dEQP-VK.compute.* | ||||
| dEQP-VK.conditional_rendering.* | ||||
| dEQP-VK.descriptor_indexing.* | ||||
| dEQP-VK.device_group.* | ||||
| dEQP-VK.fragment_operations.* | ||||
| dEQP-VK.fragment_shader_interlock.* | ||||
| dEQP-VK.graphicsfuzz.* | ||||
| dEQP-VK.image.* | ||||
| dEQP-VK.imageless_framebuffer.* | ||||
| dEQP-VK.info.* | ||||
| dEQP-VK.memory.* | ||||
| dEQP-VK.memory_model.* | ||||
| dEQP-VK.multiview.* | ||||
| dEQP-VK.pipeline.* | ||||
| dEQP-VK.protected_memory.* | ||||
| dEQP-VK.query_pool.* | ||||
| dEQP-VK.robustness.* | ||||
| dEQP-VK.sparse_resources.* | ||||
| dEQP-VK.spirv_assembly.* | ||||
| dEQP-VK.subgroups.* | ||||
| dEQP-VK.synchronization.* | ||||
| dEQP-VK.texture.* | ||||
| dEQP-VK.transform_feedback.* | ||||
| dEQP-VK.ubo.* | ||||
| dEQP-VK.wsi.* | ||||
| dEQP-VK.ycbcr.* | ||||
| @@ -1,9 +0,0 @@ | ||||
| dEQP-VK.rasterization.flatshading.line_strip_wide | ||||
| dEQP-VK.rasterization.flatshading.non_strict_line_strip_wide | ||||
| dEQP-VK.rasterization.flatshading.non_strict_lines_wide | ||||
| dEQP-VK.rasterization.interpolation.basic.line_strip_wide | ||||
| dEQP-VK.rasterization.interpolation.basic.non_strict_line_strip_wide | ||||
| dEQP-VK.rasterization.interpolation.basic.non_strict_lines_wide | ||||
| dEQP-VK.rasterization.interpolation.projected.lines_wide | ||||
| dEQP-VK.rasterization.interpolation.projected.non_strict_line_strip_wide | ||||
| dEQP-VK.rasterization.interpolation.projected.non_strict_lines_wide | ||||
| @@ -1,3 +0,0 @@ | ||||
| # This subset of CTS seems to randomly hangs on RAVEN only. | ||||
| # This needs to be investigated and fixed! | ||||
| dEQP-VK.synchronization.* | ||||
| @@ -1,9 +0,0 @@ | ||||
| dEQP-VK.rasterization.flatshading.line_strip_wide | ||||
| dEQP-VK.rasterization.flatshading.non_strict_line_strip_wide | ||||
| dEQP-VK.rasterization.flatshading.non_strict_lines_wide | ||||
| dEQP-VK.rasterization.interpolation.basic.line_strip_wide | ||||
| dEQP-VK.rasterization.interpolation.basic.non_strict_line_strip_wide | ||||
| dEQP-VK.rasterization.interpolation.basic.non_strict_lines_wide | ||||
| dEQP-VK.rasterization.interpolation.projected.lines_wide | ||||
| dEQP-VK.rasterization.interpolation.projected.non_strict_line_strip_wide | ||||
| dEQP-VK.rasterization.interpolation.projected.non_strict_lines_wide | ||||
| @@ -1,331 +0,0 @@ | ||||
| #!/bin/sh | ||||
|  | ||||
| set -ex | ||||
|  | ||||
| DEQP_OPTIONS="$DEQP_OPTIONS --deqp-surface-width=256 --deqp-surface-height=256" | ||||
| DEQP_OPTIONS="$DEQP_OPTIONS --deqp-surface-type=pbuffer" | ||||
| DEQP_OPTIONS="$DEQP_OPTIONS --deqp-gl-config-name=rgba8888d24s8ms0" | ||||
| DEQP_OPTIONS="$DEQP_OPTIONS --deqp-visibility=hidden" | ||||
|  | ||||
| # deqp's shader cache (for vulkan) is not multiprocess safe for a common | ||||
| # filename, see: | ||||
| # https://gitlab.freedesktop.org/mesa/parallel-deqp-runner/-/merge_requests/13 | ||||
| DEQP_OPTIONS="$DEQP_OPTIONS --deqp-shadercache=disable" | ||||
|  | ||||
| if [ -z "$DEQP_VER" ]; then | ||||
|    echo 'DEQP_VER must be set to something like "gles2", "gles31" or "vk" for the test run' | ||||
|    exit 1 | ||||
| fi | ||||
|  | ||||
| if [ "$DEQP_VER" = "vk" ]; then | ||||
|    if [ -z "$VK_DRIVER" ]; then | ||||
|       echo 'VK_DRIVER must be to something like "radeon" or "intel" for the test run' | ||||
|       exit 1 | ||||
|    fi | ||||
| fi | ||||
|  | ||||
| if [ -z "$DEQP_SKIPS" ]; then | ||||
|    echo 'DEQP_SKIPS must be set to something like "deqp-default-skips.txt"' | ||||
|    exit 1 | ||||
| fi | ||||
|  | ||||
| INSTALL=`pwd`/install | ||||
|  | ||||
| # Set up the driver environment. | ||||
| export LD_LIBRARY_PATH=`pwd`/install/lib/ | ||||
| export EGL_PLATFORM=surfaceless | ||||
| export VK_ICD_FILENAMES=`pwd`/install/share/vulkan/icd.d/"$VK_DRIVER"_icd.`uname -m`.json | ||||
|  | ||||
| # the runner was failing to look for libkms in /usr/local/lib for some reason | ||||
| # I never figured out. | ||||
| export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib | ||||
|  | ||||
| RESULTS=`pwd`/results | ||||
| mkdir -p $RESULTS | ||||
|  | ||||
| # Generate test case list file. | ||||
| if [ "$DEQP_VER" = "vk" ]; then | ||||
|    cp /deqp/mustpass/vk-master.txt /tmp/case-list.txt | ||||
|    DEQP=/deqp/external/vulkancts/modules/vulkan/deqp-vk | ||||
| elif [ "$DEQP_VER" = "gles2" -o "$DEQP_VER" = "gles3" -o "$DEQP_VER" = "gles31" ]; then | ||||
|    cp /deqp/mustpass/$DEQP_VER-master.txt /tmp/case-list.txt | ||||
|    DEQP=/deqp/modules/$DEQP_VER/deqp-$DEQP_VER | ||||
|    SUITE=dEQP | ||||
| else | ||||
|    cp /deqp/mustpass/$DEQP_VER-master.txt /tmp/case-list.txt | ||||
|    DEQP=/deqp/external/openglcts/modules/glcts | ||||
|    SUITE=KHR | ||||
| fi | ||||
|  | ||||
| # If the job is parallel, take the corresponding fraction of the caselist. | ||||
| # Note: N~M is a gnu sed extension to match every nth line (first line is #1). | ||||
| if [ -n "$CI_NODE_INDEX" ]; then | ||||
|    sed -ni $CI_NODE_INDEX~$CI_NODE_TOTAL"p" /tmp/case-list.txt | ||||
| fi | ||||
|  | ||||
| if [ -n "$DEQP_CASELIST_FILTER" ]; then | ||||
|     sed -ni "/$DEQP_CASELIST_FILTER/p" /tmp/case-list.txt | ||||
| fi | ||||
|  | ||||
| if [ ! -s /tmp/case-list.txt ]; then | ||||
|     echo "Caselist generation failed" | ||||
|     exit 1 | ||||
| fi | ||||
|  | ||||
| if [ -n "$DEQP_EXPECTED_FAILS" ]; then | ||||
|     XFAIL="--xfail-list $INSTALL/$DEQP_EXPECTED_FAILS" | ||||
| fi | ||||
|  | ||||
| set +e | ||||
|  | ||||
| if [ -n "$DEQP_PARALLEL" ]; then | ||||
|    JOB="--job $DEQP_PARALLEL" | ||||
| elif [ -n "$FDO_CI_CONCURRENT" ]; then | ||||
|    JOB="--job $FDO_CI_CONCURRENT" | ||||
| else | ||||
|    JOB="--job 4" | ||||
| fi | ||||
|  | ||||
| run_cts() { | ||||
|     deqp=$1 | ||||
|     caselist=$2 | ||||
|     output=$3 | ||||
|     deqp-runner \ | ||||
|         --deqp $deqp \ | ||||
|         --output $output \ | ||||
|         --caselist $caselist \ | ||||
|         --exclude-list $INSTALL/$DEQP_SKIPS \ | ||||
|         --compact-display false \ | ||||
|         $XFAIL \ | ||||
|         $JOB \ | ||||
| 	--allow-flakes true \ | ||||
| 	$DEQP_RUNNER_OPTIONS \ | ||||
|         -- \ | ||||
|         $DEQP_OPTIONS | ||||
| } | ||||
|  | ||||
| report_flakes() { | ||||
|     if [ -z "$FLAKES_CHANNEL" ]; then | ||||
|         return 0 | ||||
|     fi | ||||
|     flakes=$1 | ||||
|     # The nick needs to be something unique so that multiple runners | ||||
|     # connecting at the same time don't race for one nick and get blocked. | ||||
|     # freenode has a 16-char limit on nicks (9 is the IETF standard, but | ||||
|     # various servers extend that).  So, trim off the common prefixes of the | ||||
|     # runner name, and append the job ID so that software runners with more | ||||
|     # than one concurrent job (think swrast) don't collide.  For freedreno, | ||||
|     # that gives us a nick as long as db410c-N-JJJJJJJJ, and it'll be a while | ||||
|     # before we make it to 9-digit jobs (we're at 7 so far). | ||||
|     runner=`echo $CI_RUNNER_DESCRIPTION | sed 's|mesa-||' | sed 's|google-freedreno-||g'` | ||||
|     bot="$runner-$CI_JOB_ID" | ||||
|     channel="$FLAKES_CHANNEL" | ||||
|     ( | ||||
|     echo NICK $bot | ||||
|     echo USER $bot unused unused :Gitlab CI Notifier | ||||
|     sleep 10 | ||||
|     echo "JOIN $channel" | ||||
|     sleep 1 | ||||
|     desc="Flakes detected in job: $CI_JOB_URL on $CI_RUNNER_DESCRIPTION" | ||||
|     if [ -n "$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME" ]; then | ||||
|         desc="$desc on branch $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME ($CI_MERGE_REQUEST_TITLE)" | ||||
|     elif [ -n "$CI_COMMIT_BRANCH" ]; then | ||||
|         desc="$desc on branch $CI_COMMIT_BRANCH ($CI_COMMIT_TITLE)" | ||||
|     fi | ||||
|     echo "PRIVMSG $channel :$desc" | ||||
|     for flake in `cat $flakes`; do | ||||
|         echo "PRIVMSG $channel :$flake" | ||||
|     done | ||||
|     echo "PRIVMSG $channel :See $CI_JOB_URL/artifacts/browse/results/" | ||||
|     echo "QUIT" | ||||
|     ) | nc irc.freenode.net 6667 > /dev/null | ||||
|  | ||||
| } | ||||
|  | ||||
| extract_xml_result() { | ||||
|     testcase=$1 | ||||
|     shift 1 | ||||
|     qpas=$* | ||||
|     start="#beginTestCaseResult $testcase" | ||||
|  | ||||
|     # Pick the first QPA mentioning our testcase | ||||
|     qpa=`grep -l "$start" $qpas | head -n 1` | ||||
|  | ||||
|     # If we found one, go extract just that testcase's contents from the QPA | ||||
|     # to a new QPA, then do testlog-to-xml on that. | ||||
|     if [ -n "$qpa" ]; then | ||||
|         while IFS= read -r line; do | ||||
|             if [ "$line" = "$start" ]; then | ||||
|                 dst="$testcase.qpa" | ||||
|                 echo "#beginSession" > $dst | ||||
|                 echo "$line" >> $dst | ||||
|                 while IFS= read -r line; do | ||||
|                     if [ "$line" = "#endTestCaseResult" ]; then | ||||
|                         echo "$line" >> $dst | ||||
|                         echo "#endSession" >> $dst | ||||
|                         /deqp/executor/testlog-to-xml $dst "$RESULTS/$testcase$DEQP_RUN_SUFFIX.xml" | ||||
|                         # copy the stylesheets here so they only end up in artifacts | ||||
|                         # if we have one or more result xml in artifacts | ||||
|                         cp /deqp/testlog.css "$RESULTS/" | ||||
|                         cp /deqp/testlog.xsl "$RESULTS/" | ||||
|                         return 0 | ||||
|                     fi | ||||
|                     echo "$line" >> $dst | ||||
|                 done | ||||
|                 return 1 | ||||
|             fi | ||||
|         done < $qpa | ||||
|     fi | ||||
| } | ||||
|  | ||||
| extract_xml_results() { | ||||
|     qpas=$* | ||||
|     while IFS= read -r testcase; do | ||||
|         testcase=${testcase%,*} | ||||
|         extract_xml_result $testcase $qpas | ||||
|     done | ||||
| } | ||||
|  | ||||
| # Generate junit results | ||||
| generate_junit() { | ||||
|     results=$1 | ||||
|     echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>" | ||||
|     echo "<testsuites>" | ||||
|     echo "<testsuite name=\"$DEQP_VER-$CI_NODE_INDEX\">" | ||||
|     while read line; do | ||||
|         testcase=${line%,*} | ||||
|         result=${line#*,} | ||||
|         # avoid counting Skip's in the # of tests: | ||||
|         if [ "$result" = "Skip" ]; then | ||||
|             continue; | ||||
|         fi | ||||
|         echo "<testcase name=\"$testcase\">" | ||||
|         if [ "$result" != "Pass" ]; then | ||||
|             echo "<failure type=\"$result\">" | ||||
|             echo "$result: See $CI_JOB_URL/artifacts/results/$testcase.xml" | ||||
|             echo "</failure>" | ||||
|         fi | ||||
|         echo "</testcase>" | ||||
|     done < $results | ||||
|     echo "</testsuite>" | ||||
|     echo "</testsuites>" | ||||
| } | ||||
|  | ||||
| parse_renderer() { | ||||
|     RENDERER=`grep -A1 TestCaseResult.\*info.renderer $RESULTS/deqp-info.qpa | grep '<Text' | sed 's|.*<Text>||g' | sed 's|</Text>||g'` | ||||
|     VERSION=`grep -A1 TestCaseResult.\*info.version $RESULTS/deqp-info.qpa | grep '<Text' | sed 's|.*<Text>||g' | sed 's|</Text>||g'` | ||||
|     echo "Renderer: $RENDERER" | ||||
|     echo "Version: $VERSION " | ||||
|  | ||||
|     if ! echo $RENDERER | grep -q $DEQP_EXPECTED_RENDERER; then | ||||
|         echo "Expected GL_RENDERER $DEQP_EXPECTED_RENDERER" | ||||
|         exit 1 | ||||
|     fi | ||||
| } | ||||
|  | ||||
| check_renderer() { | ||||
|     echo "Capturing renderer info for GLES driver sanity checks" | ||||
|     # If you're having trouble loading your driver, uncommenting this may help | ||||
|     # debug. | ||||
|     # export EGL_LOG_LEVEL=debug | ||||
|     VERSION=`echo $DEQP_VER | tr '[a-z]' '[A-Z]'` | ||||
|     $DEQP $DEQP_OPTIONS --deqp-case=$SUITE-$VERSION.info.\* --deqp-log-filename=$RESULTS/deqp-info.qpa | ||||
|     parse_renderer | ||||
| } | ||||
|  | ||||
| check_vk_device_name() { | ||||
|     echo "Capturing device info for VK driver sanity checks" | ||||
|     $DEQP $DEQP_OPTIONS --deqp-case=dEQP-VK.info.device --deqp-log-filename=$RESULTS/deqp-info.qpa | ||||
|     DEVICENAME=`grep deviceName $RESULTS/deqp-info.qpa | sed 's|deviceName: ||g'` | ||||
|     echo "deviceName: $DEVICENAME" | ||||
|     if [ -n "$DEQP_EXPECTED_RENDERER" -a $DEVICENAME != "$DEQP_EXPECTED_RENDERER" ]; then | ||||
|         echo "Expected deviceName $DEQP_EXPECTED_RENDERER" | ||||
|         exit 1 | ||||
|     fi | ||||
| } | ||||
|  | ||||
| # wrapper to supress +x to avoid spamming the log | ||||
| quiet() { | ||||
|     set +x | ||||
|     "$@" | ||||
|     set -x | ||||
| } | ||||
|  | ||||
| if [ "$GALLIUM_DRIVER" = "virpipe" ]; then | ||||
|     # deqp is to use virpipe, and virgl_test_server llvmpipe | ||||
|     export GALLIUM_DRIVER="$GALLIUM_DRIVER" | ||||
|  | ||||
|     VTEST_ARGS="--use-egl-surfaceless" | ||||
|     if [ "$VIRGL_HOST_API" = "GLES" ]; then | ||||
|         VTEST_ARGS="$VTEST_ARGS --use-gles" | ||||
|     fi | ||||
|  | ||||
|     GALLIUM_DRIVER=llvmpipe \ | ||||
|     GALLIVM_PERF="nopt,no_filter_hacks" \ | ||||
|     virgl_test_server $VTEST_ARGS >$RESULTS/vtest-log.txt 2>&1 & | ||||
|  | ||||
|     sleep 1 | ||||
| fi | ||||
|  | ||||
| if [ $DEQP_VER = vk ]; then | ||||
|     quiet check_vk_device_name | ||||
| else | ||||
|     quiet check_renderer | ||||
| fi | ||||
|  | ||||
| RESULTSFILE=$RESULTS/cts-runner-results$DEQP_RUN_SUFFIX.txt | ||||
| UNEXPECTED_RESULTSFILE=$RESULTS/cts-runner-unexpected-results$DEQP_RUN_SUFFIX.txt | ||||
| FLAKESFILE=$RESULTS/cts-runner-flakes$DEQP_RUN_SUFFIX.txt | ||||
|  | ||||
| run_cts $DEQP /tmp/case-list.txt $RESULTSFILE | ||||
| DEQP_EXITCODE=$? | ||||
|  | ||||
| echo "System load: $(cut -d' ' -f1-3 < /proc/loadavg)" | ||||
| echo "# of CPU cores: $(cat /proc/cpuinfo | grep processor | wc -l)" | ||||
|  | ||||
| # junit is disabled, because it overloads gitlab.freedesktop.org to parse it. | ||||
| #quiet generate_junit $RESULTSFILE > $RESULTS/results.xml | ||||
|  | ||||
| if [ $DEQP_EXITCODE -ne 0 ]; then | ||||
|     # preserve caselist files in case of failures: | ||||
|     cp /tmp/deqp_runner.*.txt $RESULTS/ | ||||
|     egrep -v ",Pass|,Skip|,ExpectedFail" $RESULTSFILE > $UNEXPECTED_RESULTSFILE | ||||
|  | ||||
|     if [ -z "$DEQP_NO_SAVE_RESULTS" ]; then | ||||
|         echo "Some unexpected results found (see cts-runner-results.txt in artifacts for full results):" | ||||
|         head -n 50 $UNEXPECTED_RESULTSFILE | ||||
|  | ||||
|         # Save the logs for up to the first 50 unexpected results: | ||||
|         head -n 50 $UNEXPECTED_RESULTSFILE | quiet extract_xml_results /tmp/*.qpa | ||||
|     else | ||||
|         echo "Unexpected results found:" | ||||
|         cat $UNEXPECTED_RESULTSFILE | ||||
|     fi | ||||
|  | ||||
|     count=`cat $UNEXPECTED_RESULTSFILE | wc -l` | ||||
|  | ||||
|     # Re-run fails to detect flakes.  But use a small threshold, if | ||||
|     # something was fundamentally broken, we don't want to re-run | ||||
|     # the entire caselist | ||||
| else | ||||
|     grep ",Flake" $RESULTSFILE > $FLAKESFILE | ||||
|  | ||||
|     count=`cat $FLAKESFILE | wc -l` | ||||
|     if [ $count -gt 0 ]; then | ||||
|         echo "Some flakes found (see cts-runner-flakes.txt in artifacts for full results):" | ||||
|         head -n 50 $FLAKESFILE | ||||
|  | ||||
|         if [ -z "$DEQP_NO_SAVE_RESULTS" ]; then | ||||
|             # Save the logs for up to the first 50 flakes: | ||||
|             head -n 50 $FLAKESFILE | quiet extract_xml_results /tmp/*.qpa | ||||
|         fi | ||||
|  | ||||
|         # Report the flakes to IRC channel for monitoring (if configured): | ||||
|         quiet report_flakes $FLAKESFILE | ||||
|     else | ||||
|         # no flakes, so clean-up: | ||||
|         rm $FLAKESFILE | ||||
|     fi | ||||
| fi | ||||
|  | ||||
| exit $DEQP_EXITCODE | ||||
| @@ -1,787 +0,0 @@ | ||||
| dEQP-GLES2.functional.clipping.line.wide_line_clip_viewport_center | ||||
| dEQP-GLES2.functional.clipping.line.wide_line_clip_viewport_corner | ||||
| dEQP-GLES2.functional.clipping.point.wide_point_clip | ||||
| dEQP-GLES2.functional.clipping.point.wide_point_clip_viewport_center | ||||
| dEQP-GLES2.functional.clipping.point.wide_point_clip_viewport_corner | ||||
| dEQP-GLES2.functional.clipping.triangle_vertex.clip_two.clip_neg_y_neg_z_and_neg_x_neg_y_pos_z | ||||
| dEQP-GLES2.functional.clipping.triangle_vertex.clip_two.clip_pos_y_pos_z_and_neg_x_neg_y_neg_z | ||||
| dEQP-GLES2.functional.polygon_offset.default_displacement_with_units | ||||
| dEQP-GLES2.functional.polygon_offset.fixed16_displacement_with_units | ||||
| dEQP-GLES2.functional.rasterization.interpolation.basic.line_loop_wide | ||||
| dEQP-GLES2.functional.rasterization.interpolation.basic.line_strip_wide | ||||
| dEQP-GLES2.functional.rasterization.interpolation.basic.lines_wide | ||||
| dEQP-GLES2.functional.rasterization.interpolation.projected.line_loop_wide | ||||
| dEQP-GLES2.functional.rasterization.interpolation.projected.line_strip_wide | ||||
| dEQP-GLES2.functional.rasterization.interpolation.projected.lines_wide | ||||
| dEQP-GLES2.functional.rasterization.limits.points | ||||
| dEQP-GLES2.functional.rasterization.primitives.points | ||||
| dEQP-GLES3.functional.clipping.line.wide_line_clip_viewport_center | ||||
| dEQP-GLES3.functional.clipping.line.wide_line_clip_viewport_corner | ||||
| dEQP-GLES3.functional.clipping.point.wide_point_clip | ||||
| dEQP-GLES3.functional.clipping.point.wide_point_clip_viewport_center | ||||
| dEQP-GLES3.functional.clipping.point.wide_point_clip_viewport_corner | ||||
| dEQP-GLES3.functional.clipping.triangle_vertex.clip_two.clip_neg_y_neg_z_and_neg_x_neg_y_pos_z | ||||
| dEQP-GLES3.functional.clipping.triangle_vertex.clip_two.clip_pos_y_pos_z_and_neg_x_neg_y_neg_z | ||||
| dEQP-GLES3.functional.draw.random.124 | ||||
| dEQP-GLES3.functional.fbo.depth.depth_test_clamp.depth24_stencil8 | ||||
| dEQP-GLES3.functional.fbo.depth.depth_test_clamp.depth32f_stencil8 | ||||
| dEQP-GLES3.functional.fbo.depth.depth_test_clamp.depth_component16 | ||||
| dEQP-GLES3.functional.fbo.depth.depth_test_clamp.depth_component24 | ||||
| dEQP-GLES3.functional.fbo.depth.depth_test_clamp.depth_component32f | ||||
| dEQP-GLES3.functional.fbo.depth.depth_write_clamp.depth32f_stencil8 | ||||
| dEQP-GLES3.functional.fbo.depth.depth_write_clamp.depth_component32f | ||||
| dEQP-GLES3.functional.fbo.invalidate.sub.unbind_blit_msaa_color | ||||
| dEQP-GLES3.functional.fbo.invalidate.sub.unbind_blit_msaa_depth | ||||
| dEQP-GLES3.functional.fbo.invalidate.sub.unbind_blit_msaa_depth_stencil | ||||
| dEQP-GLES3.functional.fbo.invalidate.sub.unbind_blit_msaa_stencil | ||||
| dEQP-GLES3.functional.fbo.invalidate.whole.unbind_blit_msaa_color | ||||
| dEQP-GLES3.functional.fbo.invalidate.whole.unbind_blit_msaa_depth | ||||
| dEQP-GLES3.functional.fbo.invalidate.whole.unbind_blit_msaa_depth_stencil | ||||
| dEQP-GLES3.functional.fbo.invalidate.whole.unbind_blit_msaa_stencil | ||||
| dEQP-GLES3.functional.fbo.msaa.2_samples.depth24_stencil8 | ||||
| dEQP-GLES3.functional.fbo.msaa.2_samples.depth32f_stencil8 | ||||
| dEQP-GLES3.functional.fbo.msaa.2_samples.depth_component16 | ||||
| dEQP-GLES3.functional.fbo.msaa.2_samples.depth_component24 | ||||
| dEQP-GLES3.functional.fbo.msaa.2_samples.depth_component32f | ||||
| dEQP-GLES3.functional.fbo.msaa.2_samples.r11f_g11f_b10f | ||||
| dEQP-GLES3.functional.fbo.msaa.2_samples.r16f | ||||
| dEQP-GLES3.functional.fbo.msaa.2_samples.r8 | ||||
| dEQP-GLES3.functional.fbo.msaa.2_samples.rg16f | ||||
| dEQP-GLES3.functional.fbo.msaa.2_samples.rg8 | ||||
| dEQP-GLES3.functional.fbo.msaa.2_samples.rgb10_a2 | ||||
| dEQP-GLES3.functional.fbo.msaa.2_samples.rgb565 | ||||
| dEQP-GLES3.functional.fbo.msaa.2_samples.rgb5_a1 | ||||
| dEQP-GLES3.functional.fbo.msaa.2_samples.rgb8 | ||||
| dEQP-GLES3.functional.fbo.msaa.2_samples.rgba4 | ||||
| dEQP-GLES3.functional.fbo.msaa.2_samples.rgba8 | ||||
| dEQP-GLES3.functional.fbo.msaa.2_samples.srgb8_alpha8 | ||||
| dEQP-GLES3.functional.fbo.msaa.2_samples.stencil_index8 | ||||
| dEQP-GLES3.functional.fbo.msaa.4_samples.depth24_stencil8 | ||||
| dEQP-GLES3.functional.fbo.msaa.4_samples.depth32f_stencil8 | ||||
| dEQP-GLES3.functional.fbo.msaa.4_samples.depth_component16 | ||||
| dEQP-GLES3.functional.fbo.msaa.4_samples.depth_component24 | ||||
| dEQP-GLES3.functional.fbo.msaa.4_samples.depth_component32f | ||||
| dEQP-GLES3.functional.fbo.msaa.4_samples.r11f_g11f_b10f | ||||
| dEQP-GLES3.functional.fbo.msaa.4_samples.r16f | ||||
| dEQP-GLES3.functional.fbo.msaa.4_samples.r8 | ||||
| dEQP-GLES3.functional.fbo.msaa.4_samples.rg16f | ||||
| dEQP-GLES3.functional.fbo.msaa.4_samples.rg8 | ||||
| dEQP-GLES3.functional.fbo.msaa.4_samples.rgb10_a2 | ||||
| dEQP-GLES3.functional.fbo.msaa.4_samples.rgb565 | ||||
| dEQP-GLES3.functional.fbo.msaa.4_samples.rgb5_a1 | ||||
| dEQP-GLES3.functional.fbo.msaa.4_samples.rgb8 | ||||
| dEQP-GLES3.functional.fbo.msaa.4_samples.rgba4 | ||||
| dEQP-GLES3.functional.fbo.msaa.4_samples.rgba8 | ||||
| dEQP-GLES3.functional.fbo.msaa.4_samples.srgb8_alpha8 | ||||
| dEQP-GLES3.functional.fbo.msaa.4_samples.stencil_index8 | ||||
| dEQP-GLES3.functional.multisample.fbo_max_samples.proportionality_alpha_to_coverage | ||||
| dEQP-GLES3.functional.multisample.fbo_max_samples.proportionality_sample_coverage | ||||
| dEQP-GLES3.functional.multisample.fbo_max_samples.proportionality_sample_coverage_inverted | ||||
| dEQP-GLES3.functional.multisample.fbo_max_samples.sample_coverage_invert | ||||
| dEQP-GLES3.functional.negative_api.buffer.blit_framebuffer_multisample | ||||
| dEQP-GLES3.functional.negative_api.buffer.read_pixels_fbo_format_mismatch | ||||
| dEQP-GLES3.functional.polygon_offset.default_displacement_with_units | ||||
| dEQP-GLES3.functional.polygon_offset.fixed16_displacement_with_units | ||||
| dEQP-GLES3.functional.polygon_offset.fixed24_displacement_with_units | ||||
| dEQP-GLES3.functional.polygon_offset.float32_displacement_with_units | ||||
| dEQP-GLES3.functional.rasterization.fbo.rbo_multisample_max.interpolation.lines_wide | ||||
| dEQP-GLES3.functional.rasterization.fbo.rbo_multisample_max.primitives.lines_wide | ||||
| dEQP-GLES3.functional.rasterization.fbo.rbo_singlesample.interpolation.lines_wide | ||||
| dEQP-GLES3.functional.rasterization.fbo.rbo_singlesample.primitives.points | ||||
| dEQP-GLES3.functional.rasterization.fbo.texture_2d.interpolation.lines_wide | ||||
| dEQP-GLES3.functional.rasterization.fbo.texture_2d.primitives.points | ||||
| dEQP-GLES3.functional.rasterization.interpolation.basic.line_loop_wide | ||||
| dEQP-GLES3.functional.rasterization.interpolation.basic.line_strip_wide | ||||
| dEQP-GLES3.functional.rasterization.interpolation.basic.lines_wide | ||||
| dEQP-GLES3.functional.rasterization.interpolation.projected.line_loop_wide | ||||
| dEQP-GLES3.functional.rasterization.interpolation.projected.line_strip_wide | ||||
| dEQP-GLES3.functional.rasterization.interpolation.projected.lines_wide | ||||
| dEQP-GLES3.functional.rasterization.primitives.points | ||||
| dEQP-GLES3.functional.rasterizer_discard.basic.write_depth_points | ||||
| dEQP-GLES3.functional.rasterizer_discard.basic.write_stencil_points | ||||
| dEQP-GLES3.functional.rasterizer_discard.fbo.write_depth_points | ||||
| dEQP-GLES3.functional.rasterizer_discard.fbo.write_stencil_points | ||||
| dEQP-GLES3.functional.rasterizer_discard.scissor.write_depth_points | ||||
| dEQP-GLES3.functional.rasterizer_discard.scissor.write_stencil_points | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.fastest.fbo_msaa4.float_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.fastest.fbo_msaa4.float_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.fastest.fbo_msaa4.vec2_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.fastest.fbo_msaa4.vec2_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.fastest.fbo_msaa4.vec3_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.fastest.fbo_msaa4.vec3_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.fastest.fbo_msaa4.vec4_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.fastest.fbo_msaa4.vec4_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa2.float_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa2.float_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa2.vec2_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa2.vec2_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa2.vec3_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa2.vec3_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa2.vec4_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa2.vec4_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa4.float_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa4.float_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa4.vec2_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa4.vec2_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa4.vec3_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa4.vec3_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa4.vec4_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa4.vec4_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.nicest.fbo_msaa4.float_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.nicest.fbo_msaa4.float_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.nicest.fbo_msaa4.vec2_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.nicest.fbo_msaa4.vec2_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.nicest.fbo_msaa4.vec3_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.nicest.fbo_msaa4.vec3_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.nicest.fbo_msaa4.vec4_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.nicest.fbo_msaa4.vec4_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.texture.msaa4.float_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.texture.msaa4.float_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.texture.msaa4.vec2_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.texture.msaa4.vec2_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.texture.msaa4.vec3_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.texture.msaa4.vec3_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.texture.msaa4.vec4_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdx.texture.msaa4.vec4_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.fastest.fbo_msaa4.float_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.fastest.fbo_msaa4.float_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.fastest.fbo_msaa4.vec2_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.fastest.fbo_msaa4.vec2_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.fastest.fbo_msaa4.vec3_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.fastest.fbo_msaa4.vec3_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.fastest.fbo_msaa4.vec4_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.fastest.fbo_msaa4.vec4_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa2.float_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa2.float_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa2.vec2_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa2.vec2_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa2.vec3_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa2.vec3_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa2.vec4_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa2.vec4_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa4.float_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa4.float_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa4.vec2_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa4.vec2_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa4.vec3_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa4.vec3_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa4.vec4_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa4.vec4_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.nicest.fbo_msaa4.float_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.nicest.fbo_msaa4.float_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.nicest.fbo_msaa4.vec2_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.nicest.fbo_msaa4.vec2_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.nicest.fbo_msaa4.vec3_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.nicest.fbo_msaa4.vec3_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.nicest.fbo_msaa4.vec4_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.nicest.fbo_msaa4.vec4_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.texture.msaa4.float_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.texture.msaa4.float_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.texture.msaa4.vec2_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.texture.msaa4.vec2_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.texture.msaa4.vec3_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.texture.msaa4.vec3_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.texture.msaa4.vec4_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.dfdy.texture.msaa4.vec4_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.fastest.fbo_msaa4.float_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.fastest.fbo_msaa4.float_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.fastest.fbo_msaa4.vec2_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.fastest.fbo_msaa4.vec2_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.fastest.fbo_msaa4.vec3_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.fastest.fbo_msaa4.vec3_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.fastest.fbo_msaa4.vec4_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.fastest.fbo_msaa4.vec4_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa2.float_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa2.float_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa2.vec2_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa2.vec2_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa2.vec3_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa2.vec3_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa2.vec4_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa2.vec4_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa4.float_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa4.float_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa4.vec2_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa4.vec2_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa4.vec3_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa4.vec3_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa4.vec4_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa4.vec4_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.fbo_msaa4.float_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.fbo_msaa4.float_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.fbo_msaa4.vec2_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.fbo_msaa4.vec2_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.fbo_msaa4.vec3_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.fbo_msaa4.vec3_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.fbo_msaa4.vec4_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.fbo_msaa4.vec4_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.texture.msaa4.float_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.texture.msaa4.float_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.texture.msaa4.vec2_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.texture.msaa4.vec2_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.texture.msaa4.vec3_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.texture.msaa4.vec3_mediump | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.texture.msaa4.vec4_highp | ||||
| dEQP-GLES3.functional.shaders.derivate.fwidth.texture.msaa4.vec4_mediump | ||||
| dEQP-GLES3.functional.state_query.integers.max_samples_getfloat | ||||
| dEQP-GLES3.functional.state_query.integers.max_samples_getinteger64 | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_linear_clamp_clamp_mirror | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_linear_clamp_clamp_repeat | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_linear_clamp_mirror_mirror | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_linear_clamp_mirror_repeat | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_linear_clamp_repeat_mirror | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_linear_clamp_repeat_repeat | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_linear_mirror_clamp_mirror | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_linear_mirror_clamp_repeat | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_linear_mirror_mirror_mirror | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_linear_mirror_mirror_repeat | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_linear_mirror_repeat_mirror | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_linear_mirror_repeat_repeat | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_linear_repeat_clamp_mirror | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_linear_repeat_clamp_repeat | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_linear_repeat_mirror_mirror | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_linear_repeat_mirror_repeat | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_linear_repeat_repeat_mirror | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_linear_repeat_repeat_repeat | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_mipmap_linear_linear_clamp_clamp_repeat | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_mipmap_linear_linear_clamp_mirror_repeat | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_mipmap_linear_linear_clamp_repeat_repeat | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_mipmap_linear_linear_mirror_clamp_repeat | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_mipmap_linear_linear_mirror_mirror_repeat | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_mipmap_linear_linear_mirror_repeat_repeat | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_mipmap_linear_linear_repeat_clamp_mirror | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_mipmap_linear_linear_repeat_clamp_repeat | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_mipmap_linear_linear_repeat_mirror_mirror | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_mipmap_linear_linear_repeat_mirror_repeat | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_mipmap_linear_linear_repeat_repeat_mirror | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_mipmap_linear_linear_repeat_repeat_repeat | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_mipmap_linear_nearest_repeat_clamp_mirror | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_mipmap_linear_nearest_repeat_clamp_repeat | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_mipmap_linear_nearest_repeat_mirror_mirror | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_mipmap_linear_nearest_repeat_mirror_repeat | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_mipmap_linear_nearest_repeat_repeat_mirror | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_mipmap_linear_nearest_repeat_repeat_repeat | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_mipmap_nearest_linear_clamp_clamp_repeat | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_mipmap_nearest_linear_clamp_mirror_repeat | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_mipmap_nearest_linear_clamp_repeat_repeat | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_mipmap_nearest_linear_mirror_clamp_repeat | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_mipmap_nearest_linear_mirror_mirror_repeat | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_mipmap_nearest_linear_mirror_repeat_repeat | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_mipmap_nearest_linear_repeat_clamp_mirror | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_mipmap_nearest_linear_repeat_clamp_repeat | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_mipmap_nearest_linear_repeat_mirror_mirror | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_mipmap_nearest_linear_repeat_mirror_repeat | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_mipmap_nearest_linear_repeat_repeat_mirror | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_mipmap_nearest_linear_repeat_repeat_repeat | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_mipmap_nearest_nearest_repeat_clamp_mirror | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_mipmap_nearest_nearest_repeat_clamp_repeat | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_mipmap_nearest_nearest_repeat_mirror_mirror | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_mipmap_nearest_nearest_repeat_mirror_repeat | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_mipmap_nearest_nearest_repeat_repeat_mirror | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_mipmap_nearest_nearest_repeat_repeat_repeat | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_nearest_clamp_clamp_mirror | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_nearest_clamp_clamp_repeat | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_nearest_clamp_mirror_mirror | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_nearest_clamp_mirror_repeat | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_nearest_clamp_repeat_mirror | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_nearest_clamp_repeat_repeat | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_nearest_mirror_clamp_mirror | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_nearest_mirror_clamp_repeat | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_nearest_mirror_mirror_mirror | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_nearest_mirror_mirror_repeat | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_nearest_mirror_repeat_mirror | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_nearest_mirror_repeat_repeat | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_nearest_repeat_clamp_mirror | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_nearest_repeat_clamp_repeat | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_nearest_repeat_mirror_mirror | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_nearest_repeat_mirror_repeat | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_nearest_repeat_repeat_mirror | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.linear_nearest_repeat_repeat_repeat | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.nearest_linear_clamp_clamp_repeat | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.nearest_linear_clamp_mirror_repeat | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.nearest_linear_clamp_repeat_repeat | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.nearest_linear_mirror_clamp_repeat | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.nearest_linear_mirror_mirror_repeat | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.nearest_linear_mirror_repeat_repeat | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.nearest_linear_repeat_clamp_mirror | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.nearest_linear_repeat_clamp_repeat | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.nearest_linear_repeat_mirror_mirror | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.nearest_linear_repeat_mirror_repeat | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.nearest_linear_repeat_repeat_mirror | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.nearest_linear_repeat_repeat_repeat | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.nearest_mipmap_linear_linear_clamp_clamp_repeat | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.nearest_mipmap_linear_linear_clamp_mirror_repeat | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.nearest_mipmap_linear_linear_clamp_repeat_repeat | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.nearest_mipmap_linear_linear_mirror_clamp_repeat | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.nearest_mipmap_linear_linear_mirror_mirror_repeat | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.nearest_mipmap_linear_linear_mirror_repeat_repeat | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.nearest_mipmap_linear_linear_repeat_clamp_mirror | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.nearest_mipmap_linear_linear_repeat_clamp_repeat | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.nearest_mipmap_linear_linear_repeat_mirror_mirror | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.nearest_mipmap_linear_linear_repeat_mirror_repeat | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.nearest_mipmap_linear_linear_repeat_repeat_mirror | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.nearest_mipmap_linear_linear_repeat_repeat_repeat | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.nearest_mipmap_nearest_linear_clamp_clamp_repeat | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.nearest_mipmap_nearest_linear_clamp_mirror_repeat | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.nearest_mipmap_nearest_linear_clamp_repeat_repeat | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.nearest_mipmap_nearest_linear_mirror_clamp_repeat | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.nearest_mipmap_nearest_linear_mirror_mirror_repeat | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.nearest_mipmap_nearest_linear_mirror_repeat_repeat | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.nearest_mipmap_nearest_linear_repeat_clamp_mirror | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.nearest_mipmap_nearest_linear_repeat_clamp_repeat | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.nearest_mipmap_nearest_linear_repeat_mirror_mirror | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.nearest_mipmap_nearest_linear_repeat_mirror_repeat | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.nearest_mipmap_nearest_linear_repeat_repeat_mirror | ||||
| dEQP-GLES3.functional.texture.filtering.3d.combinations.nearest_mipmap_nearest_linear_repeat_repeat_repeat | ||||
| dEQP-GLES3.functional.texture.filtering.3d.formats.r11f_g11f_b10f_linear | ||||
| dEQP-GLES3.functional.texture.filtering.3d.formats.r11f_g11f_b10f_linear_mipmap_linear | ||||
| dEQP-GLES3.functional.texture.filtering.3d.formats.r11f_g11f_b10f_linear_mipmap_nearest | ||||
| dEQP-GLES3.functional.texture.filtering.3d.formats.r11f_g11f_b10f_nearest_mipmap_linear | ||||
| dEQP-GLES3.functional.texture.filtering.3d.formats.r11f_g11f_b10f_nearest_mipmap_nearest | ||||
| dEQP-GLES3.functional.texture.filtering.3d.formats.rgb10_a2_linear | ||||
| dEQP-GLES3.functional.texture.filtering.3d.formats.rgb10_a2_linear_mipmap_linear | ||||
| dEQP-GLES3.functional.texture.filtering.3d.formats.rgb10_a2_linear_mipmap_nearest | ||||
| dEQP-GLES3.functional.texture.filtering.3d.formats.rgb10_a2_nearest_mipmap_linear | ||||
| dEQP-GLES3.functional.texture.filtering.3d.formats.rgb10_a2_nearest_mipmap_nearest | ||||
| dEQP-GLES3.functional.texture.filtering.3d.formats.rgb565_linear | ||||
| dEQP-GLES3.functional.texture.filtering.3d.formats.rgb565_linear_mipmap_linear | ||||
| dEQP-GLES3.functional.texture.filtering.3d.formats.rgb565_linear_mipmap_nearest | ||||
| dEQP-GLES3.functional.texture.filtering.3d.formats.rgb565_nearest_mipmap_linear | ||||
| dEQP-GLES3.functional.texture.filtering.3d.formats.rgb565_nearest_mipmap_nearest | ||||
| dEQP-GLES3.functional.texture.filtering.3d.formats.rgb5_a1_linear | ||||
| dEQP-GLES3.functional.texture.filtering.3d.formats.rgb5_a1_linear_mipmap_linear | ||||
| dEQP-GLES3.functional.texture.filtering.3d.formats.rgb5_a1_linear_mipmap_nearest | ||||
| dEQP-GLES3.functional.texture.filtering.3d.formats.rgb5_a1_nearest_mipmap_linear | ||||
| dEQP-GLES3.functional.texture.filtering.3d.formats.rgb5_a1_nearest_mipmap_nearest | ||||
| dEQP-GLES3.functional.texture.filtering.3d.formats.rgb9_e5_linear | ||||
| dEQP-GLES3.functional.texture.filtering.3d.formats.rgb9_e5_linear_mipmap_linear | ||||
| dEQP-GLES3.functional.texture.filtering.3d.formats.rgb9_e5_linear_mipmap_nearest | ||||
| dEQP-GLES3.functional.texture.filtering.3d.formats.rgb9_e5_nearest_mipmap_linear | ||||
| dEQP-GLES3.functional.texture.filtering.3d.formats.rgb9_e5_nearest_mipmap_nearest | ||||
| dEQP-GLES3.functional.texture.filtering.3d.formats.rgba16f_linear | ||||
| dEQP-GLES3.functional.texture.filtering.3d.formats.rgba16f_linear_mipmap_linear | ||||
| dEQP-GLES3.functional.texture.filtering.3d.formats.rgba16f_linear_mipmap_nearest | ||||
| dEQP-GLES3.functional.texture.filtering.3d.formats.rgba16f_nearest_mipmap_linear | ||||
| dEQP-GLES3.functional.texture.filtering.3d.formats.rgba16f_nearest_mipmap_nearest | ||||
| dEQP-GLES3.functional.texture.filtering.3d.formats.rgba4_linear | ||||
| dEQP-GLES3.functional.texture.filtering.3d.formats.rgba4_linear_mipmap_linear | ||||
| dEQP-GLES3.functional.texture.filtering.3d.formats.rgba4_linear_mipmap_nearest | ||||
| dEQP-GLES3.functional.texture.filtering.3d.formats.rgba4_nearest_mipmap_linear | ||||
| dEQP-GLES3.functional.texture.filtering.3d.formats.rgba4_nearest_mipmap_nearest | ||||
| dEQP-GLES3.functional.texture.filtering.3d.formats.rgba8_linear | ||||
| dEQP-GLES3.functional.texture.filtering.3d.formats.rgba8_linear_mipmap_linear | ||||
| dEQP-GLES3.functional.texture.filtering.3d.formats.rgba8_linear_mipmap_nearest | ||||
| dEQP-GLES3.functional.texture.filtering.3d.formats.rgba8_nearest_mipmap_linear | ||||
| dEQP-GLES3.functional.texture.filtering.3d.formats.rgba8_nearest_mipmap_nearest | ||||
| dEQP-GLES3.functional.texture.filtering.3d.formats.rgba8_snorm_linear | ||||
| dEQP-GLES3.functional.texture.filtering.3d.formats.rgba8_snorm_linear_mipmap_linear | ||||
| dEQP-GLES3.functional.texture.filtering.3d.formats.rgba8_snorm_linear_mipmap_nearest | ||||
| dEQP-GLES3.functional.texture.filtering.3d.formats.rgba8_snorm_nearest_mipmap_linear | ||||
| dEQP-GLES3.functional.texture.filtering.3d.formats.rgba8_snorm_nearest_mipmap_nearest | ||||
| dEQP-GLES3.functional.texture.filtering.3d.formats.srgb8_alpha8_linear | ||||
| dEQP-GLES3.functional.texture.filtering.3d.formats.srgb8_alpha8_linear_mipmap_linear | ||||
| dEQP-GLES3.functional.texture.filtering.3d.formats.srgb8_alpha8_linear_mipmap_nearest | ||||
| dEQP-GLES3.functional.texture.filtering.3d.formats.srgb8_alpha8_nearest_mipmap_linear | ||||
| dEQP-GLES3.functional.texture.filtering.3d.formats.srgb8_alpha8_nearest_mipmap_nearest | ||||
| dEQP-GLES3.functional.texture.filtering.3d.formats.srgb_r8_linear | ||||
| dEQP-GLES3.functional.texture.filtering.3d.formats.srgb_r8_linear_mipmap_linear | ||||
| dEQP-GLES3.functional.texture.filtering.3d.formats.srgb_r8_linear_mipmap_nearest | ||||
| dEQP-GLES3.functional.texture.filtering.3d.formats.srgb_r8_nearest_mipmap_linear | ||||
| dEQP-GLES3.functional.texture.filtering.3d.formats.srgb_r8_nearest_mipmap_nearest | ||||
| dEQP-GLES3.functional.texture.filtering.3d.sizes.128x32x64_linear | ||||
| dEQP-GLES3.functional.texture.filtering.3d.sizes.128x32x64_linear_mipmap_linear | ||||
| dEQP-GLES3.functional.texture.filtering.3d.sizes.128x32x64_linear_mipmap_nearest | ||||
| dEQP-GLES3.functional.texture.filtering.3d.sizes.128x32x64_nearest_mipmap_linear | ||||
| dEQP-GLES3.functional.texture.filtering.3d.sizes.128x32x64_nearest_mipmap_nearest | ||||
| dEQP-GLES3.functional.texture.filtering.3d.sizes.63x63x63_linear | ||||
| dEQP-GLES3.functional.texture.filtering.3d.sizes.63x63x63_linear_mipmap_linear | ||||
| dEQP-GLES3.functional.texture.filtering.3d.sizes.63x63x63_linear_mipmap_nearest | ||||
| dEQP-GLES3.functional.texture.filtering.3d.sizes.63x63x63_nearest_mipmap_linear | ||||
| dEQP-GLES3.functional.texture.filtering.3d.sizes.63x63x63_nearest_mipmap_nearest | ||||
| dEQP-GLES3.functional.texture.vertex.3d.filtering.linear_linear_clamp | ||||
| dEQP-GLES3.functional.texture.vertex.3d.filtering.linear_linear_mirror | ||||
| dEQP-GLES3.functional.texture.vertex.3d.filtering.linear_linear_repeat | ||||
| dEQP-GLES3.functional.texture.vertex.3d.filtering.linear_mipmap_linear_linear_clamp | ||||
| dEQP-GLES3.functional.texture.vertex.3d.filtering.linear_mipmap_linear_linear_mirror | ||||
| dEQP-GLES3.functional.texture.vertex.3d.filtering.linear_mipmap_linear_linear_repeat | ||||
| dEQP-GLES3.functional.texture.vertex.3d.filtering.linear_mipmap_linear_nearest_clamp | ||||
| dEQP-GLES3.functional.texture.vertex.3d.filtering.linear_mipmap_linear_nearest_mirror | ||||
| dEQP-GLES3.functional.texture.vertex.3d.filtering.linear_mipmap_linear_nearest_repeat | ||||
| dEQP-GLES3.functional.texture.vertex.3d.filtering.linear_mipmap_nearest_linear_repeat | ||||
| dEQP-GLES3.functional.texture.vertex.3d.filtering.linear_nearest_clamp | ||||
| dEQP-GLES3.functional.texture.vertex.3d.filtering.linear_nearest_mirror | ||||
| dEQP-GLES3.functional.texture.vertex.3d.filtering.linear_nearest_repeat | ||||
| dEQP-GLES3.functional.texture.vertex.3d.filtering.nearest_linear_repeat | ||||
| dEQP-GLES3.functional.texture.vertex.3d.filtering.nearest_mipmap_linear_linear_repeat | ||||
| dEQP-GLES3.functional.texture.vertex.3d.filtering.nearest_mipmap_nearest_linear_repeat | ||||
| dEQP-GLES3.functional.texture.vertex.3d.wrap.clamp_clamp_clamp | ||||
| dEQP-GLES3.functional.texture.vertex.3d.wrap.clamp_clamp_mirror | ||||
| dEQP-GLES3.functional.texture.vertex.3d.wrap.clamp_clamp_repeat | ||||
| dEQP-GLES3.functional.texture.vertex.3d.wrap.clamp_mirror_mirror | ||||
| dEQP-GLES3.functional.texture.vertex.3d.wrap.clamp_mirror_repeat | ||||
| dEQP-GLES3.functional.texture.vertex.3d.wrap.clamp_repeat_mirror | ||||
| dEQP-GLES3.functional.texture.vertex.3d.wrap.clamp_repeat_repeat | ||||
| dEQP-GLES3.functional.texture.vertex.3d.wrap.mirror_clamp_clamp | ||||
| dEQP-GLES3.functional.texture.vertex.3d.wrap.mirror_clamp_mirror | ||||
| dEQP-GLES3.functional.texture.vertex.3d.wrap.mirror_clamp_repeat | ||||
| dEQP-GLES3.functional.texture.vertex.3d.wrap.mirror_mirror_mirror | ||||
| dEQP-GLES3.functional.texture.vertex.3d.wrap.mirror_mirror_repeat | ||||
| dEQP-GLES3.functional.texture.vertex.3d.wrap.mirror_repeat_mirror | ||||
| dEQP-GLES3.functional.texture.vertex.3d.wrap.mirror_repeat_repeat | ||||
| dEQP-GLES3.functional.texture.vertex.3d.wrap.repeat_clamp_clamp | ||||
| dEQP-GLES3.functional.texture.vertex.3d.wrap.repeat_clamp_mirror | ||||
| dEQP-GLES3.functional.texture.vertex.3d.wrap.repeat_clamp_repeat | ||||
| dEQP-GLES3.functional.texture.vertex.3d.wrap.repeat_mirror_clamp | ||||
| dEQP-GLES3.functional.texture.vertex.3d.wrap.repeat_mirror_mirror | ||||
| dEQP-GLES3.functional.texture.vertex.3d.wrap.repeat_mirror_repeat | ||||
| dEQP-GLES3.functional.texture.vertex.3d.wrap.repeat_repeat_clamp | ||||
| dEQP-GLES3.functional.texture.vertex.3d.wrap.repeat_repeat_mirror | ||||
| dEQP-GLES3.functional.texture.vertex.3d.wrap.repeat_repeat_repeat | ||||
| dEQP-GLES3.functional.texture.wrap.astc_8x8.repeat_repeat_linear_divisible | ||||
| dEQP-GLES3.functional.texture.wrap.astc_8x8.repeat_repeat_linear_not_divisible | ||||
| dEQP-GLES3.functional.texture.wrap.astc_8x8_srgb.repeat_repeat_linear_divisible | ||||
| dEQP-GLES3.functional.texture.wrap.astc_8x8_srgb.repeat_repeat_linear_not_divisible | ||||
| dEQP-GLES3.functional.vertex_arrays.single_attribute.normalize.int2_10_10_10.components4_quads1 | ||||
| dEQP-GLES3.functional.vertex_arrays.single_attribute.normalize.int2_10_10_10.components4_quads256 | ||||
| dEQP-GLES31.functional.debug.error_filters.case_29 | ||||
| dEQP-GLES31.functional.debug.negative_coverage.callbacks.buffer.read_pixels_fbo_format_mismatch | ||||
| dEQP-GLES31.functional.debug.negative_coverage.get_error.buffer.blit_framebuffer_multisample | ||||
| dEQP-GLES31.functional.debug.negative_coverage.get_error.buffer.read_pixels_fbo_format_mismatch | ||||
| dEQP-GLES31.functional.debug.negative_coverage.log.buffer.read_pixels_fbo_format_mismatch | ||||
| dEQP-GLES31.functional.draw_base_vertex.draw_elements_instanced_base_vertex.line_loop.instanced_attributes | ||||
| dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.0 | ||||
| dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.1 | ||||
| dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.10 | ||||
| dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.11 | ||||
| dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.12 | ||||
| dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.14 | ||||
| dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.16 | ||||
| dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.17 | ||||
| dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.19 | ||||
| dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.2 | ||||
| dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.3 | ||||
| dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.4 | ||||
| dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.5 | ||||
| dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.6 | ||||
| dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.7 | ||||
| dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.8 | ||||
| dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.9 | ||||
| dEQP-GLES31.functional.draw_buffers_indexed.random.max_required_draw_buffers.0 | ||||
| dEQP-GLES31.functional.draw_buffers_indexed.random.max_required_draw_buffers.1 | ||||
| dEQP-GLES31.functional.draw_buffers_indexed.random.max_required_draw_buffers.14 | ||||
| dEQP-GLES31.functional.draw_buffers_indexed.random.max_required_draw_buffers.15 | ||||
| dEQP-GLES31.functional.draw_buffers_indexed.random.max_required_draw_buffers.16 | ||||
| dEQP-GLES31.functional.draw_buffers_indexed.random.max_required_draw_buffers.17 | ||||
| dEQP-GLES31.functional.draw_buffers_indexed.random.max_required_draw_buffers.19 | ||||
| dEQP-GLES31.functional.draw_buffers_indexed.random.max_required_draw_buffers.2 | ||||
| dEQP-GLES31.functional.draw_buffers_indexed.random.max_required_draw_buffers.4 | ||||
| dEQP-GLES31.functional.draw_buffers_indexed.random.max_required_draw_buffers.5 | ||||
| dEQP-GLES31.functional.draw_buffers_indexed.random.max_required_draw_buffers.7 | ||||
| dEQP-GLES31.functional.draw_buffers_indexed.random.max_required_draw_buffers.9 | ||||
| dEQP-GLES31.functional.draw_indirect.draw_arrays_indirect.line_strip.multiple_attributes | ||||
| dEQP-GLES31.functional.fbo.no_attachments.interaction.17x512ms4_default_16x16ms2 | ||||
| dEQP-GLES31.functional.fbo.no_attachments.interaction.1x1ms0_default_2048x2048ms4 | ||||
| dEQP-GLES31.functional.fbo.no_attachments.interaction.2048x2048ms4_default_1x1ms0 | ||||
| dEQP-GLES31.functional.fbo.no_attachments.interaction.256x256ms0_default_512x512ms2 | ||||
| dEQP-GLES31.functional.fbo.no_attachments.interaction.256x256ms2_default_128x512ms0 | ||||
| dEQP-GLES31.functional.fbo.no_attachments.multisample.samples2 | ||||
| dEQP-GLES31.functional.fbo.no_attachments.multisample.samples3 | ||||
| dEQP-GLES31.functional.fbo.no_attachments.multisample.samples4 | ||||
| dEQP-GLES31.functional.fbo.no_attachments.random.1 | ||||
| dEQP-GLES31.functional.fbo.no_attachments.random.11 | ||||
| dEQP-GLES31.functional.fbo.no_attachments.random.14 | ||||
| dEQP-GLES31.functional.fbo.no_attachments.random.15 | ||||
| dEQP-GLES31.functional.fbo.no_attachments.random.4 | ||||
| dEQP-GLES31.functional.fbo.no_attachments.random.9 | ||||
| dEQP-GLES31.functional.geometry_shading.query.primitives_generated_amplification | ||||
| dEQP-GLES31.functional.geometry_shading.query.primitives_generated_instanced | ||||
| dEQP-GLES31.functional.geometry_shading.query.primitives_generated_no_amplification | ||||
| dEQP-GLES31.functional.geometry_shading.query.primitives_generated_no_geometry | ||||
| dEQP-GLES31.functional.geometry_shading.query.primitives_generated_partial_primitives | ||||
| dEQP-GLES31.functional.image_load_store.early_fragment_tests.early_fragment_tests_stencil | ||||
| dEQP-GLES31.functional.image_load_store.early_fragment_tests.early_fragment_tests_stencil_fbo | ||||
| dEQP-GLES31.functional.image_load_store.early_fragment_tests.no_early_fragment_tests_depth | ||||
| dEQP-GLES31.functional.image_load_store.early_fragment_tests.no_early_fragment_tests_depth_fbo | ||||
| dEQP-GLES31.functional.shaders.opaque_type_indexing.ubo.dynamically_uniform_geometry | ||||
| dEQP-GLES31.functional.state_query.integer.max_framebuffer_samples_getfloat | ||||
| dEQP-GLES31.functional.state_query.integer.max_framebuffer_samples_getinteger | ||||
| dEQP-GLES31.functional.state_query.integer.max_framebuffer_samples_getinteger64 | ||||
| dEQP-GLES31.functional.state_query.texture.texture_2d_multisample.texture_immutable_format_float | ||||
| dEQP-GLES31.functional.state_query.texture.texture_2d_multisample.texture_immutable_format_integer | ||||
| dEQP-GLES31.functional.state_query.texture.texture_2d_multisample.texture_immutable_format_pure_int | ||||
| dEQP-GLES31.functional.state_query.texture.texture_2d_multisample.texture_immutable_format_pure_uint | ||||
| dEQP-GLES31.functional.state_query.texture.texture_2d_multisample.texture_immutable_levels_float | ||||
| dEQP-GLES31.functional.state_query.texture.texture_2d_multisample.texture_immutable_levels_integer | ||||
| dEQP-GLES31.functional.state_query.texture.texture_2d_multisample.texture_immutable_levels_pure_int | ||||
| dEQP-GLES31.functional.state_query.texture.texture_2d_multisample.texture_immutable_levels_pure_uint | ||||
| dEQP-GLES31.functional.state_query.texture.texture_2d_multisample_array.texture_immutable_format_float | ||||
| dEQP-GLES31.functional.state_query.texture.texture_2d_multisample_array.texture_immutable_format_integer | ||||
| dEQP-GLES31.functional.state_query.texture.texture_2d_multisample_array.texture_immutable_format_pure_int | ||||
| dEQP-GLES31.functional.state_query.texture.texture_2d_multisample_array.texture_immutable_format_pure_uint | ||||
| dEQP-GLES31.functional.state_query.texture.texture_2d_multisample_array.texture_immutable_levels_float | ||||
| dEQP-GLES31.functional.state_query.texture.texture_2d_multisample_array.texture_immutable_levels_integer | ||||
| dEQP-GLES31.functional.state_query.texture.texture_2d_multisample_array.texture_immutable_levels_pure_int | ||||
| dEQP-GLES31.functional.state_query.texture.texture_2d_multisample_array.texture_immutable_levels_pure_uint | ||||
| dEQP-GLES31.functional.texture.border_clamp.depth_compare_mode.depth32f_stencil8.linear_size_npot | ||||
| dEQP-GLES31.functional.texture.border_clamp.depth_compare_mode.depth32f_stencil8.linear_size_pot | ||||
| dEQP-GLES31.functional.texture.filtering.cube_array.combinations.nearest_linear_clamp_repeat | ||||
| dEQP-GLES31.functional.texture.filtering.cube_array.combinations.nearest_linear_mirror_repeat | ||||
| dEQP-GLES31.functional.texture.filtering.cube_array.combinations.nearest_linear_repeat_clamp | ||||
| dEQP-GLES31.functional.texture.filtering.cube_array.combinations.nearest_linear_repeat_mirror | ||||
| dEQP-GLES31.functional.texture.filtering.cube_array.combinations.nearest_linear_repeat_repeat | ||||
| dEQP-GLES31.functional.texture.filtering.cube_array.combinations.nearest_mipmap_linear_linear_clamp_repeat | ||||
| dEQP-GLES31.functional.texture.filtering.cube_array.combinations.nearest_mipmap_linear_linear_mirror_repeat | ||||
| dEQP-GLES31.functional.texture.filtering.cube_array.combinations.nearest_mipmap_linear_linear_repeat_clamp | ||||
| dEQP-GLES31.functional.texture.filtering.cube_array.combinations.nearest_mipmap_linear_linear_repeat_repeat | ||||
| dEQP-GLES31.functional.texture.filtering.cube_array.combinations.nearest_mipmap_linear_nearest_clamp_repeat | ||||
| dEQP-GLES31.functional.texture.filtering.cube_array.combinations.nearest_mipmap_linear_nearest_mirror_repeat | ||||
| dEQP-GLES31.functional.texture.filtering.cube_array.combinations.nearest_mipmap_linear_nearest_repeat_clamp | ||||
| dEQP-GLES31.functional.texture.filtering.cube_array.combinations.nearest_mipmap_linear_nearest_repeat_mirror | ||||
| dEQP-GLES31.functional.texture.filtering.cube_array.combinations.nearest_mipmap_nearest_linear_clamp_repeat | ||||
| dEQP-GLES31.functional.texture.filtering.cube_array.combinations.nearest_mipmap_nearest_linear_mirror_repeat | ||||
| dEQP-GLES31.functional.texture.filtering.cube_array.combinations.nearest_mipmap_nearest_linear_repeat_clamp | ||||
| dEQP-GLES31.functional.texture.filtering.cube_array.combinations.nearest_mipmap_nearest_linear_repeat_mirror | ||||
| dEQP-GLES31.functional.texture.filtering.cube_array.combinations.nearest_mipmap_nearest_nearest_repeat_clamp | ||||
| dEQP-GLES31.functional.texture.filtering.cube_array.combinations.nearest_mipmap_nearest_nearest_repeat_mirror | ||||
| dEQP-GLES31.functional.texture.filtering.cube_array.combinations.nearest_mipmap_nearest_nearest_repeat_repeat | ||||
| dEQP-GLES31.functional.texture.filtering.cube_array.combinations.nearest_nearest_repeat_mirror | ||||
| dEQP-GLES31.functional.texture.filtering.cube_array.formats.rgb10_a2_linear_mipmap_linear | ||||
| dEQP-GLES31.functional.texture.filtering.cube_array.formats.rgb10_a2_nearest | ||||
| dEQP-GLES31.functional.texture.filtering.cube_array.formats.rgb10_a2_nearest_mipmap_linear | ||||
| dEQP-GLES31.functional.texture.filtering.cube_array.formats.rgb10_a2_nearest_mipmap_nearest | ||||
| dEQP-GLES31.functional.texture.filtering.cube_array.formats.rgb565_nearest | ||||
| dEQP-GLES31.functional.texture.filtering.cube_array.formats.rgb565_nearest_mipmap_linear | ||||
| dEQP-GLES31.functional.texture.filtering.cube_array.formats.rgb5_a1_nearest | ||||
| dEQP-GLES31.functional.texture.filtering.cube_array.formats.rgb5_a1_nearest_mipmap_linear | ||||
| dEQP-GLES31.functional.texture.filtering.cube_array.formats.rgb9_e5_nearest_mipmap_linear | ||||
| dEQP-GLES31.functional.texture.filtering.cube_array.formats.rgb9_e5_nearest_mipmap_nearest | ||||
| dEQP-GLES31.functional.texture.filtering.cube_array.formats.rgba16f_nearest_mipmap_linear | ||||
| dEQP-GLES31.functional.texture.filtering.cube_array.formats.rgba16f_nearest_mipmap_nearest | ||||
| dEQP-GLES31.functional.texture.filtering.cube_array.formats.rgba4_nearest | ||||
| dEQP-GLES31.functional.texture.filtering.cube_array.formats.rgba4_nearest_mipmap_linear | ||||
| dEQP-GLES31.functional.texture.filtering.cube_array.formats.rgba8_nearest_mipmap_linear | ||||
| dEQP-GLES31.functional.texture.filtering.cube_array.formats.rgba8_nearest_mipmap_nearest | ||||
| dEQP-GLES31.functional.texture.filtering.cube_array.formats.rgba8_snorm_nearest | ||||
| dEQP-GLES31.functional.texture.filtering.cube_array.formats.rgba8_snorm_nearest_mipmap_nearest | ||||
| dEQP-GLES31.functional.texture.filtering.cube_array.formats.sr8_nearest_mipmap_nearest | ||||
| dEQP-GLES31.functional.texture.filtering.cube_array.formats.srgb8_alpha8_nearest | ||||
| dEQP-GLES31.functional.texture.filtering.cube_array.formats.srgb8_alpha8_nearest_mipmap_linear | ||||
| dEQP-GLES31.functional.texture.filtering.cube_array.sizes.128x128x12_linear | ||||
| dEQP-GLES31.functional.texture.filtering.cube_array.sizes.128x128x12_linear_mipmap_linear | ||||
| dEQP-GLES31.functional.texture.filtering.cube_array.sizes.128x128x12_linear_mipmap_nearest | ||||
| dEQP-GLES31.functional.texture.filtering.cube_array.sizes.128x128x12_nearest_mipmap_linear | ||||
| dEQP-GLES31.functional.texture.filtering.cube_array.sizes.128x128x12_nearest_mipmap_nearest | ||||
| dEQP-GLES31.functional.texture.filtering.cube_array.sizes.63x63x18_nearest_mipmap_nearest | ||||
| dEQP-GLES31.functional.texture.filtering.cube_array.sizes.64x64x12_nearest_mipmap_linear | ||||
| dEQP-GLES31.functional.texture.filtering.cube_array.sizes.64x64x12_nearest_mipmap_nearest | ||||
| dEQP-GLES31.functional.texture.filtering.cube_array.sizes.8x8x6_nearest | ||||
| dEQP-GLES31.functional.texture.gather.basic.cube.rgba8.no_corners.size_pot.clamp_to_edge_repeat | ||||
| dEQP-GLES31.functional.texture.gather.basic.cube.rgba8.no_corners.size_pot.mirrored_repeat_clamp_to_edge | ||||
| dEQP-GLES31.functional.texture.gather.basic.cube.rgba8.no_corners.size_pot.repeat_mirrored_repeat | ||||
| dEQP-GLES31.functional.texture.gather.basic.cube.rgba8i.no_corners.size_pot.clamp_to_edge_repeat | ||||
| dEQP-GLES31.functional.texture.gather.basic.cube.rgba8i.no_corners.size_pot.mirrored_repeat_clamp_to_edge | ||||
| dEQP-GLES31.functional.texture.gather.basic.cube.rgba8i.no_corners.size_pot.repeat_mirrored_repeat | ||||
| dEQP-GLES31.functional.texture.gather.basic.cube.rgba8ui.no_corners.size_pot.clamp_to_edge_repeat | ||||
| dEQP-GLES31.functional.texture.gather.basic.cube.rgba8ui.no_corners.size_pot.mirrored_repeat_clamp_to_edge | ||||
| dEQP-GLES31.functional.texture.gather.basic.cube.rgba8ui.no_corners.size_pot.repeat_mirrored_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.base_level.level_1 | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.base_level.level_2 | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.filter_mode.min_linear_mag_linear | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.filter_mode.min_linear_mipmap_linear_mag_linear | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.filter_mode.min_linear_mipmap_nearest_mag_linear | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.filter_mode.min_nearest_mipmap_linear_mag_linear | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.filter_mode.min_nearest_mipmap_nearest_mag_linear | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.size_npot.compare_greater.clamp_to_edge_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.size_npot.compare_greater.mirrored_repeat_clamp_to_edge | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.size_npot.compare_greater.repeat_mirrored_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.size_npot.compare_less.clamp_to_edge_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.size_npot.compare_less.mirrored_repeat_clamp_to_edge | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.size_npot.compare_less.repeat_mirrored_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.size_pot.compare_greater.clamp_to_edge_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.size_pot.compare_greater.mirrored_repeat_clamp_to_edge | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.size_pot.compare_greater.repeat_mirrored_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.size_pot.compare_less.clamp_to_edge_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.size_pot.compare_less.mirrored_repeat_clamp_to_edge | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.size_pot.compare_less.repeat_mirrored_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.base_level.level_1 | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.base_level.level_2 | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.filter_mode.min_linear_mag_linear | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.filter_mode.min_linear_mipmap_linear_mag_linear | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.filter_mode.min_linear_mipmap_nearest_mag_linear | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.filter_mode.min_nearest_mipmap_linear_mag_linear | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.filter_mode.min_nearest_mipmap_nearest_mag_linear | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.size_npot.clamp_to_edge_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.size_npot.mirrored_repeat_clamp_to_edge | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.size_npot.repeat_mirrored_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.size_pot.clamp_to_edge_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.size_pot.mirrored_repeat_clamp_to_edge | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.size_pot.repeat_mirrored_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.texture_swizzle.alpha_zero_one_red | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.texture_swizzle.blue_alpha_zero_one | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.texture_swizzle.green_blue_alpha_zero | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.texture_swizzle.one_red_green_blue | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.texture_swizzle.red_green_blue_alpha | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.texture_swizzle.zero_one_red_green | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8i.base_level.level_1 | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8i.base_level.level_2 | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8i.filter_mode.min_nearest_mipmap_nearest_mag_nearest | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8i.size_npot.clamp_to_edge_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8i.size_npot.mirrored_repeat_clamp_to_edge | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8i.size_npot.repeat_mirrored_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8i.size_pot.clamp_to_edge_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8i.size_pot.mirrored_repeat_clamp_to_edge | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8i.size_pot.repeat_mirrored_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8i.texture_swizzle.alpha_zero_one_red | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8i.texture_swizzle.blue_alpha_zero_one | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8i.texture_swizzle.green_blue_alpha_zero | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8i.texture_swizzle.one_red_green_blue | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8i.texture_swizzle.red_green_blue_alpha | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8i.texture_swizzle.zero_one_red_green | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8ui.base_level.level_1 | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8ui.base_level.level_2 | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8ui.filter_mode.min_nearest_mipmap_nearest_mag_nearest | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8ui.size_npot.clamp_to_edge_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8ui.size_npot.mirrored_repeat_clamp_to_edge | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8ui.size_npot.repeat_mirrored_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8ui.size_pot.clamp_to_edge_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8ui.size_pot.mirrored_repeat_clamp_to_edge | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8ui.size_pot.repeat_mirrored_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8ui.texture_swizzle.alpha_zero_one_red | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8ui.texture_swizzle.blue_alpha_zero_one | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8ui.texture_swizzle.green_blue_alpha_zero | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8ui.texture_swizzle.one_red_green_blue | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8ui.texture_swizzle.red_green_blue_alpha | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8ui.texture_swizzle.zero_one_red_green | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.base_level.level_1 | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.base_level.level_2 | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.filter_mode.min_linear_mag_linear | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.filter_mode.min_linear_mipmap_linear_mag_linear | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.filter_mode.min_linear_mipmap_nearest_mag_linear | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.filter_mode.min_nearest_mipmap_linear_mag_linear | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.filter_mode.min_nearest_mipmap_nearest_mag_linear | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.size_npot.compare_greater.clamp_to_edge_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.size_npot.compare_greater.mirrored_repeat_clamp_to_edge | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.size_npot.compare_greater.repeat_mirrored_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.size_npot.compare_less.clamp_to_edge_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.size_npot.compare_less.mirrored_repeat_clamp_to_edge | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.size_npot.compare_less.repeat_mirrored_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.size_pot.compare_greater.clamp_to_edge_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.size_pot.compare_greater.mirrored_repeat_clamp_to_edge | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.size_pot.compare_greater.repeat_mirrored_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.size_pot.compare_less.clamp_to_edge_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.size_pot.compare_less.mirrored_repeat_clamp_to_edge | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.size_pot.compare_less.repeat_mirrored_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.base_level.level_1 | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.base_level.level_2 | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.filter_mode.min_linear_mag_linear | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.filter_mode.min_linear_mipmap_linear_mag_linear | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.filter_mode.min_linear_mipmap_nearest_mag_linear | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.filter_mode.min_nearest_mipmap_linear_mag_linear | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.filter_mode.min_nearest_mipmap_nearest_mag_linear | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.size_npot.clamp_to_edge_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.size_npot.mirrored_repeat_clamp_to_edge | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.size_npot.repeat_mirrored_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.size_pot.clamp_to_edge_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.size_pot.mirrored_repeat_clamp_to_edge | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.size_pot.repeat_mirrored_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.texture_swizzle.alpha_zero_one_red | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.texture_swizzle.blue_alpha_zero_one | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.texture_swizzle.green_blue_alpha_zero | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.texture_swizzle.one_red_green_blue | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.texture_swizzle.red_green_blue_alpha | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.texture_swizzle.zero_one_red_green | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8i.base_level.level_1 | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8i.base_level.level_2 | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8i.filter_mode.min_nearest_mipmap_nearest_mag_nearest | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8i.size_npot.clamp_to_edge_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8i.size_npot.mirrored_repeat_clamp_to_edge | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8i.size_npot.repeat_mirrored_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8i.size_pot.clamp_to_edge_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8i.size_pot.mirrored_repeat_clamp_to_edge | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8i.size_pot.repeat_mirrored_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8i.texture_swizzle.alpha_zero_one_red | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8i.texture_swizzle.blue_alpha_zero_one | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8i.texture_swizzle.green_blue_alpha_zero | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8i.texture_swizzle.one_red_green_blue | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8i.texture_swizzle.red_green_blue_alpha | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8i.texture_swizzle.zero_one_red_green | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8ui.base_level.level_1 | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8ui.base_level.level_2 | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8ui.filter_mode.min_nearest_mipmap_nearest_mag_nearest | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8ui.size_npot.clamp_to_edge_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8ui.size_npot.mirrored_repeat_clamp_to_edge | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8ui.size_npot.repeat_mirrored_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8ui.size_pot.clamp_to_edge_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8ui.size_pot.mirrored_repeat_clamp_to_edge | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8ui.size_pot.repeat_mirrored_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8ui.texture_swizzle.alpha_zero_one_red | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8ui.texture_swizzle.blue_alpha_zero_one | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8ui.texture_swizzle.green_blue_alpha_zero | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8ui.texture_swizzle.one_red_green_blue | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8ui.texture_swizzle.red_green_blue_alpha | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8ui.texture_swizzle.zero_one_red_green | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.depth32f.size_npot.compare_greater.clamp_to_edge_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.depth32f.size_npot.compare_greater.mirrored_repeat_clamp_to_edge | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.depth32f.size_npot.compare_greater.repeat_mirrored_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.depth32f.size_npot.compare_less.clamp_to_edge_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.depth32f.size_npot.compare_less.mirrored_repeat_clamp_to_edge | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.depth32f.size_npot.compare_less.repeat_mirrored_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.depth32f.size_pot.compare_greater.clamp_to_edge_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.depth32f.size_pot.compare_greater.mirrored_repeat_clamp_to_edge | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.depth32f.size_pot.compare_greater.repeat_mirrored_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.depth32f.size_pot.compare_less.clamp_to_edge_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.depth32f.size_pot.compare_less.mirrored_repeat_clamp_to_edge | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.depth32f.size_pot.compare_less.repeat_mirrored_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8.size_npot.clamp_to_edge_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8.size_npot.mirrored_repeat_clamp_to_edge | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8.size_npot.repeat_mirrored_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8.size_pot.clamp_to_edge_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8.size_pot.mirrored_repeat_clamp_to_edge | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8.size_pot.repeat_mirrored_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8i.size_npot.clamp_to_edge_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8i.size_npot.mirrored_repeat_clamp_to_edge | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8i.size_npot.repeat_mirrored_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8i.size_pot.clamp_to_edge_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8i.size_pot.mirrored_repeat_clamp_to_edge | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8i.size_pot.repeat_mirrored_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8ui.size_npot.clamp_to_edge_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8ui.size_npot.mirrored_repeat_clamp_to_edge | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8ui.size_npot.repeat_mirrored_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8ui.size_pot.clamp_to_edge_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8ui.size_pot.mirrored_repeat_clamp_to_edge | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8ui.size_pot.repeat_mirrored_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.depth32f.size_npot.compare_greater.clamp_to_edge_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.depth32f.size_npot.compare_greater.mirrored_repeat_clamp_to_edge | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.depth32f.size_npot.compare_greater.repeat_mirrored_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.depth32f.size_npot.compare_less.clamp_to_edge_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.depth32f.size_npot.compare_less.mirrored_repeat_clamp_to_edge | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.depth32f.size_npot.compare_less.repeat_mirrored_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.depth32f.size_pot.compare_greater.clamp_to_edge_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.depth32f.size_pot.compare_greater.mirrored_repeat_clamp_to_edge | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.depth32f.size_pot.compare_greater.repeat_mirrored_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.depth32f.size_pot.compare_less.clamp_to_edge_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.depth32f.size_pot.compare_less.mirrored_repeat_clamp_to_edge | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.depth32f.size_pot.compare_less.repeat_mirrored_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8.size_npot.clamp_to_edge_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8.size_npot.mirrored_repeat_clamp_to_edge | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8.size_npot.repeat_mirrored_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8.size_pot.clamp_to_edge_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8.size_pot.mirrored_repeat_clamp_to_edge | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8.size_pot.repeat_mirrored_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8i.size_npot.clamp_to_edge_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8i.size_npot.mirrored_repeat_clamp_to_edge | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8i.size_npot.repeat_mirrored_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8i.size_pot.clamp_to_edge_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8i.size_pot.mirrored_repeat_clamp_to_edge | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8i.size_pot.repeat_mirrored_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8ui.size_npot.clamp_to_edge_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8ui.size_npot.mirrored_repeat_clamp_to_edge | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8ui.size_npot.repeat_mirrored_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8ui.size_pot.clamp_to_edge_repeat | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8ui.size_pot.mirrored_repeat_clamp_to_edge | ||||
| dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8ui.size_pot.repeat_mirrored_repeat | ||||
| dEQP-GLES31.functional.texture.multisample.samples_1.sample_mask_and_alpha_to_coverage | ||||
| dEQP-GLES31.functional.texture.multisample.samples_1.sample_mask_and_sample_coverage | ||||
| dEQP-GLES31.functional.texture.multisample.samples_1.sample_mask_and_sample_coverage_and_alpha_to_coverage | ||||
| dEQP-GLES31.functional.texture.multisample.samples_1.sample_mask_non_effective_bits | ||||
| dEQP-GLES31.functional.texture.multisample.samples_1.sample_mask_only | ||||
| @@ -1,19 +0,0 @@ | ||||
| # Note: skips lists for CI are just a list of lines that, when | ||||
| # non-zero-length and not starting with '#', will regex match to | ||||
| # delete lines from the test list.  Be careful. | ||||
|  | ||||
| # Skip the perf/stress tests to keep runtime manageable | ||||
| dEQP-GLES[0-9]*.performance.* | ||||
| dEQP-GLES[0-9]*.stress.* | ||||
|  | ||||
| # These are really slow on tiling architectures (including llvmpipe). | ||||
| dEQP-GLES[0-9]*.functional.flush_finish.* | ||||
|  | ||||
| # Random failures | ||||
| dEQP-GLES31.functional.draw_buffers_indexed.overwrite_indexed.common_color_mask_buffer_color_mask | ||||
| dEQP-GLES31.functional.fbo.no_attachments.maximums.all | ||||
| dEQP-GLES31.functional.fbo.no_attachments.maximums.size | ||||
| dEQP-GLES31.functional.geometry_shading.input.basic_primitive.points | ||||
| dEQP-GLES31.functional.shaders.builtin_functions.*geometry | ||||
| dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_expression.geometry.usampler3d | ||||
| dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.dynamically_uniform.geometry.sampler2darray | ||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -1,126 +0,0 @@ | ||||
| dEQP-GLES2.functional.clipping.line.wide_line_clip_viewport_center | ||||
| dEQP-GLES2.functional.clipping.line.wide_line_clip_viewport_corner | ||||
| dEQP-GLES2.functional.clipping.point.wide_point_clip | ||||
| dEQP-GLES2.functional.clipping.point.wide_point_clip_viewport_center | ||||
| dEQP-GLES2.functional.clipping.point.wide_point_clip_viewport_corner | ||||
| dEQP-GLES2.functional.clipping.triangle_vertex.clip_two.clip_neg_y_neg_z_and_neg_x_neg_y_pos_z | ||||
| dEQP-GLES2.functional.clipping.triangle_vertex.clip_two.clip_pos_y_pos_z_and_neg_x_neg_y_neg_z | ||||
| dEQP-GLES2.functional.draw.random.10 | ||||
| dEQP-GLES2.functional.draw.random.42 | ||||
| dEQP-GLES2.functional.fbo.render.color_clear.rbo_rgba4 | ||||
| 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.depth.rbo_rgba4_depth_component16 | ||||
| dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgba4 | ||||
| dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgba4_stencil_index8 | ||||
| dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgba4 | ||||
| dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.rebind_rbo_rgba4_stencil_index8 | ||||
| dEQP-GLES2.functional.fbo.render.recreate_depthbuffer.no_rebind_rbo_rgba4_depth_component16 | ||||
| dEQP-GLES2.functional.fbo.render.recreate_depthbuffer.rebind_rbo_rgba4_depth_component16 | ||||
| dEQP-GLES2.functional.fbo.render.recreate_stencilbuffer.no_rebind_rbo_rgba4_stencil_index8 | ||||
| dEQP-GLES2.functional.fbo.render.recreate_stencilbuffer.rebind_rbo_rgba4_stencil_index8 | ||||
| dEQP-GLES2.functional.fbo.render.shared_colorbuffer.rbo_rgba4 | ||||
| dEQP-GLES2.functional.fbo.render.shared_colorbuffer.rbo_rgba4_depth_component16 | ||||
| dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgba4_depth_component16 | ||||
| dEQP-GLES2.functional.polygon_offset.default_displacement_with_units | ||||
| dEQP-GLES2.functional.polygon_offset.fixed16_displacement_with_units | ||||
| dEQP-GLES2.functional.rasterization.interpolation.basic.line_loop_wide | ||||
| dEQP-GLES2.functional.rasterization.interpolation.basic.line_strip_wide | ||||
| dEQP-GLES2.functional.rasterization.interpolation.basic.lines_wide | ||||
| dEQP-GLES2.functional.rasterization.interpolation.projected.line_loop_wide | ||||
| dEQP-GLES2.functional.rasterization.interpolation.projected.line_strip_wide | ||||
| dEQP-GLES2.functional.rasterization.interpolation.projected.lines_wide | ||||
| dEQP-GLES3.functional.clipping.line.wide_line_clip_viewport_center | ||||
| dEQP-GLES3.functional.clipping.line.wide_line_clip_viewport_corner | ||||
| dEQP-GLES3.functional.clipping.point.wide_point_clip | ||||
| dEQP-GLES3.functional.clipping.point.wide_point_clip_viewport_center | ||||
| dEQP-GLES3.functional.clipping.point.wide_point_clip_viewport_corner | ||||
| dEQP-GLES3.functional.clipping.triangle_vertex.clip_two.clip_neg_y_neg_z_and_neg_x_neg_y_pos_z | ||||
| dEQP-GLES3.functional.clipping.triangle_vertex.clip_two.clip_pos_y_pos_z_and_neg_x_neg_y_neg_z | ||||
| dEQP-GLES3.functional.draw.random.105 | ||||
| dEQP-GLES3.functional.draw.random.114 | ||||
| dEQP-GLES3.functional.draw.random.124 | ||||
| dEQP-GLES3.functional.draw.random.135 | ||||
| dEQP-GLES3.functional.draw.random.144 | ||||
| dEQP-GLES3.functional.draw.random.155 | ||||
| dEQP-GLES3.functional.draw.random.174 | ||||
| dEQP-GLES3.functional.draw.random.206 | ||||
| dEQP-GLES3.functional.draw.random.31 | ||||
| dEQP-GLES3.functional.draw.random.43 | ||||
| dEQP-GLES3.functional.draw.random.84 | ||||
| dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_mag | ||||
| dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_mag_reverse_dst_x | ||||
| dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_mag_reverse_src_dst_x | ||||
| dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_mag_reverse_src_dst_y | ||||
| dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_mag_reverse_src_x | ||||
| dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_min | ||||
| dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_min_reverse_dst_x | ||||
| dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_min_reverse_src_dst_x | ||||
| dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_min_reverse_src_dst_y | ||||
| dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_min_reverse_src_x | ||||
| dEQP-GLES3.functional.fbo.depth.depth_test_clamp.depth24_stencil8 | ||||
| dEQP-GLES3.functional.fbo.depth.depth_test_clamp.depth32f_stencil8 | ||||
| dEQP-GLES3.functional.fbo.depth.depth_test_clamp.depth_component16 | ||||
| dEQP-GLES3.functional.fbo.depth.depth_test_clamp.depth_component24 | ||||
| dEQP-GLES3.functional.fbo.depth.depth_test_clamp.depth_component32f | ||||
| dEQP-GLES3.functional.fbo.depth.depth_write_clamp.depth32f_stencil8 | ||||
| dEQP-GLES3.functional.fbo.depth.depth_write_clamp.depth_component32f | ||||
| dEQP-GLES3.functional.polygon_offset.default_displacement_with_units | ||||
| dEQP-GLES3.functional.polygon_offset.default_render_with_units | ||||
| dEQP-GLES3.functional.polygon_offset.fixed16_displacement_with_units | ||||
| dEQP-GLES3.functional.polygon_offset.fixed16_render_with_units | ||||
| dEQP-GLES3.functional.polygon_offset.fixed24_displacement_with_units | ||||
| dEQP-GLES3.functional.polygon_offset.fixed24_render_with_units | ||||
| dEQP-GLES3.functional.polygon_offset.float32_displacement_with_units | ||||
| dEQP-GLES3.functional.rasterization.fbo.rbo_multisample_4.interpolation.lines | ||||
| dEQP-GLES3.functional.rasterization.fbo.rbo_multisample_4.primitives.lines | ||||
| dEQP-GLES3.functional.rasterization.fbo.rbo_multisample_4.primitives.points | ||||
| dEQP-GLES3.functional.rasterization.fbo.rbo_multisample_max.interpolation.lines | ||||
| dEQP-GLES3.functional.rasterization.fbo.rbo_multisample_max.primitives.lines | ||||
| dEQP-GLES3.functional.rasterization.fbo.rbo_multisample_max.primitives.points | ||||
| dEQP-GLES3.functional.rasterization.fbo.rbo_singlesample.interpolation.lines_wide | ||||
| dEQP-GLES3.functional.rasterization.fbo.texture_2d.interpolation.lines_wide | ||||
| dEQP-GLES3.functional.rasterization.interpolation.basic.line_loop_wide | ||||
| dEQP-GLES3.functional.rasterization.interpolation.basic.line_strip_wide | ||||
| dEQP-GLES3.functional.rasterization.interpolation.basic.lines_wide | ||||
| dEQP-GLES3.functional.rasterization.interpolation.projected.line_loop_wide | ||||
| dEQP-GLES3.functional.rasterization.interpolation.projected.line_strip_wide | ||||
| dEQP-GLES3.functional.rasterization.interpolation.projected.lines_wide | ||||
| dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.8 | ||||
| dEQP-GLES31.functional.draw_buffers_indexed.random.max_required_draw_buffers.4 | ||||
| dEQP-GLES31.functional.draw_buffers_indexed.random.max_required_draw_buffers.9 | ||||
| dEQP-GLES31.functional.draw_indirect.random.20 | ||||
| dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer.48 | ||||
| KHR-GL30.transform_feedback.api_errors_test | ||||
| KHR-GL30.transform_feedback.capture_vertex_interleaved_test | ||||
| KHR-GL30.transform_feedback.capture_vertex_separate_test | ||||
| KHR-GL30.transform_feedback.discard_vertex_test | ||||
| KHR-GL30.transform_feedback.draw_xfb_instanced_test | ||||
| KHR-GL30.transform_feedback.draw_xfb_stream_instanced_test | ||||
| KHR-GL30.transform_feedback.get_xfb_varying | ||||
| KHR-GL30.transform_feedback.query_vertex_interleaved_test | ||||
| KHR-GL30.transform_feedback.query_vertex_separate_test | ||||
| KHR-GL31.CommonBugs.CommonBug_ParenthesisInLayoutQualifierIntegerValue | ||||
| KHR-GL31.transform_feedback.capture_vertex_interleaved_test | ||||
| KHR-GL31.transform_feedback.capture_vertex_separate_test | ||||
| KHR-GL31.transform_feedback.discard_vertex_test | ||||
| KHR-GL31.transform_feedback.draw_xfb_instanced_test | ||||
| KHR-GL32.transform_feedback.draw_xfb_stream_test | ||||
| KHR-GL31.transform_feedback.draw_xfb_stream_instanced_test | ||||
| KHR-GL31.transform_feedback.query_vertex_interleaved_test | ||||
| KHR-GL31.transform_feedback.query_vertex_separate_test | ||||
| KHR-GL32.CommonBugs.CommonBug_ParenthesisInLayoutQualifierIntegerValue | ||||
| KHR-GL32.transform_feedback.capture_vertex_interleaved_test | ||||
| KHR-GL32.transform_feedback.capture_vertex_separate_test | ||||
| KHR-GL32.transform_feedback.discard_vertex_test | ||||
| KHR-GL32.transform_feedback.draw_xfb_instanced_test | ||||
| KHR-GL32.transform_feedback.draw_xfb_stream_test | ||||
| KHR-GL32.transform_feedback.draw_xfb_stream_instanced_test | ||||
| KHR-GL32.transform_feedback_overflow_query_ARB.advanced-single-stream-interleaved-attribs | ||||
| KHR-GL32.transform_feedback_overflow_query_ARB.advanced-single-stream-separate-attribs | ||||
| KHR-GL32.transform_feedback_overflow_query_ARB.basic-single-stream-interleaved-attribs | ||||
| KHR-GL32.transform_feedback_overflow_query_ARB.basic-single-stream-separate-attribs | ||||
| KHR-GL32.transform_feedback_overflow_query_ARB.multiple-streams-multiple-buffers-per-stream | ||||
| KHR-GL32.transform_feedback_overflow_query_ARB.multiple-streams-one-buffer-per-stream | ||||
| KHR-GL32.transform_feedback.query_vertex_interleaved_test | ||||
| KHR-GL32.transform_feedback.query_vertex_separate_test | ||||
| @@ -1 +0,0 @@ | ||||
| ../docs/ci | ||||
| @@ -1,36 +0,0 @@ | ||||
| #!/bin/bash | ||||
|  | ||||
| set +e | ||||
| set -o xtrace | ||||
|  | ||||
| # if we run this script outside of gitlab-ci for testing, ensure | ||||
| # we got meaningful variables | ||||
| CI_PROJECT_DIR=${CI_PROJECT_DIR:-$(mktemp -d)/mesa} | ||||
|  | ||||
| if [[ -e $CI_PROJECT_DIR/.git ]] | ||||
| then | ||||
|     echo "Repository already present, skip cache download" | ||||
|     exit | ||||
| fi | ||||
|  | ||||
| TMP_DIR=$(mktemp -d) | ||||
|  | ||||
| echo "Downloading archived master..." | ||||
| /usr/bin/wget -O $TMP_DIR/mesa.tar.gz \ | ||||
|               https://minio-packet.freedesktop.org/git-cache/mesa/mesa/mesa.tar.gz | ||||
|  | ||||
| # check wget error code | ||||
| if [[ $? -ne 0 ]] | ||||
| then | ||||
|     echo "Repository cache not available" | ||||
|     exit | ||||
| fi | ||||
|  | ||||
| set -e | ||||
|  | ||||
| rm -rf "$CI_PROJECT_DIR" | ||||
| echo "Extracting tarball into '$CI_PROJECT_DIR'..." | ||||
| mkdir -p "$CI_PROJECT_DIR" | ||||
| tar xzf "$TMP_DIR/mesa.tar.gz" -C "$CI_PROJECT_DIR" | ||||
| rm -rf "$TMP_DIR" | ||||
| chmod a+w "$CI_PROJECT_DIR" | ||||
| @@ -1,20 +0,0 @@ | ||||
| #!/bin/sh | ||||
|  | ||||
| set -ex | ||||
|  | ||||
| if [ -z "$VK_DRIVER" ]; then | ||||
|    echo 'VK_DRIVER must be to something like "radeon" or "intel" for the test run' | ||||
|    exit 1 | ||||
| fi | ||||
|  | ||||
| INSTALL=`pwd`/install | ||||
|  | ||||
| # Set up the driver environment. | ||||
| export LD_LIBRARY_PATH=`pwd`/install/lib/ | ||||
| export VK_ICD_FILENAMES=`pwd`/install/share/vulkan/icd.d/"$VK_DRIVER"_icd.x86_64.json | ||||
|  | ||||
| # To store Fossilize logs on failure. | ||||
| RESULTS=`pwd`/results | ||||
| mkdir -p results | ||||
|  | ||||
| "$INSTALL/fossils/fossils.sh" "$INSTALL/fossils.yml" "$RESULTS" | ||||
| @@ -1,10 +0,0 @@ | ||||
| fossils-db: | ||||
|   repo: "https://gitlab.freedesktop.org/hakzsam/fossils-db" | ||||
|   commit: "5626cedcb58bd95a7b79a9664651818aea92b21c" | ||||
|  | ||||
| fossils: | ||||
|   - path: sascha-willems/database.foz | ||||
|   - path: parallel-rdp/small_subgroup.foz | ||||
|   - path: parallel-rdp/small_uber_subgroup.foz | ||||
|   - path: parallel-rdp/subgroup.foz | ||||
|   - path: parallel-rdp/uber_subgroup.foz | ||||
| @@ -1,77 +0,0 @@ | ||||
| #!/usr/bin/env bash | ||||
|  | ||||
| FOSSILS_SCRIPT_DIR="$(dirname "$(readlink -f "$0")")" | ||||
| FOSSILS_YAML="$(readlink -f "$1")" | ||||
| FOSSILS_RESULTS="$2" | ||||
|  | ||||
| clone_fossils_db() | ||||
| { | ||||
|     local repo="$1" | ||||
|     local commit="$2" | ||||
|     rm -rf fossils-db | ||||
|     git clone --no-checkout "$repo" fossils-db | ||||
|     (cd fossils-db; git reset "$commit" || git reset "origin/$commit") | ||||
| } | ||||
|  | ||||
| query_fossils_yaml() | ||||
| { | ||||
|     python3 "$FOSSILS_SCRIPT_DIR/query_fossils_yaml.py" \ | ||||
|         --file "$FOSSILS_YAML" "$@" | ||||
| } | ||||
|  | ||||
| create_clean_git() | ||||
| { | ||||
|     rm -rf .clean_git | ||||
|     cp -R .git .clean_git | ||||
| } | ||||
|  | ||||
| restore_clean_git() | ||||
| { | ||||
|     rm -rf .git | ||||
|     cp -R .clean_git .git | ||||
| } | ||||
|  | ||||
| fetch_fossil() | ||||
| { | ||||
|     local fossil="${1//,/?}" | ||||
|     echo -n "[fetch_fossil] Fetching $1... " | ||||
|     local output=$(git lfs pull -I "$fossil" 2>&1) | ||||
|     local ret=0 | ||||
|     if [[ $? -ne 0 || ! -f "$1" ]]; then | ||||
|         echo "ERROR" | ||||
|         echo "$output" | ||||
|         ret=1 | ||||
|     else | ||||
|         echo "OK" | ||||
|     fi | ||||
|     restore_clean_git | ||||
|     return $ret | ||||
| } | ||||
|  | ||||
| if [[ -n "$(query_fossils_yaml fossils_db_repo)" ]]; then | ||||
|     clone_fossils_db "$(query_fossils_yaml fossils_db_repo)" \ | ||||
|                      "$(query_fossils_yaml fossils_db_commit)" | ||||
|     cd fossils-db | ||||
| else | ||||
|     echo "Warning: No fossils-db entry in $FOSSILS_YAML, assuming fossils-db is current directory" | ||||
| fi | ||||
|  | ||||
| # During git operations various git objects get created which | ||||
| # may take up significant space. Store a clean .git instance, | ||||
| # which we restore after various git operations to keep our | ||||
| # storage consumption low. | ||||
| create_clean_git | ||||
|  | ||||
| for fossil in $(query_fossils_yaml fossils) | ||||
| do | ||||
|     fetch_fossil "$fossil" || exit $? | ||||
|     fossilize-replay --num-threads 4 $fossil 1>&2 2> $FOSSILS_RESULTS/fossil_replay.txt | ||||
|     if [ $? != 0 ]; then | ||||
|         echo "Replay of $fossil failed" | ||||
|         grep "pipeline crashed or hung" $FOSSILS_RESULTS/fossil_replay.txt | ||||
|         exit 1 | ||||
|     fi | ||||
|     rm $fossil | ||||
| done | ||||
|  | ||||
| exit $ret | ||||
| @@ -1,69 +0,0 @@ | ||||
| #!/usr/bin/python3 | ||||
|  | ||||
| # Copyright (c) 2019 Collabora Ltd | ||||
| # Copyright (c) 2020 Valve Corporation | ||||
| # | ||||
| # Permission is hereby granted, free of charge, to any person obtaining a | ||||
| # copy of this software and associated documentation files (the "Software"), | ||||
| # to deal in the Software without restriction, including without limitation | ||||
| # the rights to use, copy, modify, merge, publish, distribute, sublicense, | ||||
| # and/or sell copies of the Software, and to permit persons to whom the | ||||
| # Software is furnished to do so, subject to the following conditions: | ||||
| # | ||||
| # The above copyright notice and this permission notice shall be included | ||||
| # in all copies or substantial portions of the Software. | ||||
| # | ||||
| # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS | ||||
| # OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||||
| # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL | ||||
| # THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR | ||||
| # OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, | ||||
| # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | ||||
| # OTHER DEALINGS IN THE SOFTWARE. | ||||
| # | ||||
| # SPDX-License-Identifier: MIT | ||||
|  | ||||
| import argparse | ||||
| import yaml | ||||
|  | ||||
| def cmd_fossils_db_repo(args): | ||||
|     with open(args.file, 'r') as f: | ||||
|         y = yaml.safe_load(f) | ||||
|     print(y['fossils-db']['repo']) | ||||
|  | ||||
| def cmd_fossils_db_commit(args): | ||||
|     with open(args.file, 'r') as f: | ||||
|         y = yaml.safe_load(f) | ||||
|     print(y['fossils-db']['commit']) | ||||
|  | ||||
| def cmd_fossils(args): | ||||
|     with open(args.file, 'r') as f: | ||||
|         y = yaml.safe_load(f) | ||||
|  | ||||
|     fossils = list(y['fossils']) | ||||
|     if len(fossils) == 0: | ||||
|         return | ||||
|  | ||||
|     print('\n'.join((t['path'] for t in fossils))) | ||||
|  | ||||
| def main(): | ||||
|     parser = argparse.ArgumentParser() | ||||
|     parser.add_argument('--file', required=True, | ||||
|                         help='the name of the yaml file') | ||||
|  | ||||
|     subparsers = parser.add_subparsers(help='sub-command help') | ||||
|  | ||||
|     parser_fossils_db_repo = subparsers.add_parser('fossils_db_repo') | ||||
|     parser_fossils_db_repo.set_defaults(func=cmd_fossils_db_repo) | ||||
|  | ||||
|     parser_fossils_db_commit = subparsers.add_parser('fossils_db_commit') | ||||
|     parser_fossils_db_commit.set_defaults(func=cmd_fossils_db_commit) | ||||
|  | ||||
|     parser_fossils = subparsers.add_parser('fossils') | ||||
|     parser_fossils.set_defaults(func=cmd_fossils) | ||||
|  | ||||
|     args = parser.parse_args() | ||||
|     args.func(args) | ||||
|  | ||||
| if __name__ == "__main__": | ||||
|     main() | ||||
| @@ -1,49 +0,0 @@ | ||||
| #!/usr/bin/env python3 | ||||
|  | ||||
| from jinja2 import Environment, FileSystemLoader | ||||
| import argparse | ||||
| import os | ||||
| import datetime | ||||
|  | ||||
| parser = argparse.ArgumentParser() | ||||
| parser.add_argument("--template") | ||||
| parser.add_argument("--pipeline-info") | ||||
| parser.add_argument("--base-artifacts-url") | ||||
| parser.add_argument("--mesa-url") | ||||
| parser.add_argument("--device-type") | ||||
| parser.add_argument("--dtb", nargs='?', default="") | ||||
| parser.add_argument("--kernel-image-name") | ||||
| parser.add_argument("--kernel-image-type", nargs='?', default="") | ||||
| parser.add_argument("--gpu-version") | ||||
| parser.add_argument("--boot-method") | ||||
| parser.add_argument("--lava-tags", nargs='?', default="") | ||||
| parser.add_argument("--env-vars", nargs='?', default="") | ||||
| parser.add_argument("--deqp-version") | ||||
| parser.add_argument("--ci-node-index") | ||||
| parser.add_argument("--ci-node-total") | ||||
| parser.add_argument("--job-type") | ||||
| args = parser.parse_args() | ||||
|  | ||||
| env = Environment(loader = FileSystemLoader(os.path.dirname(args.template)), trim_blocks=True, lstrip_blocks=True) | ||||
| template = env.get_template(os.path.basename(args.template)) | ||||
|  | ||||
| env_vars = "%s CI_NODE_INDEX=%s CI_NODE_TOTAL=%s" % (args.env_vars, args.ci_node_index, args.ci_node_total) | ||||
|  | ||||
| values = {} | ||||
| values['pipeline_info'] = args.pipeline_info | ||||
| values['base_artifacts_url'] = args.base_artifacts_url | ||||
| values['mesa_url'] = args.mesa_url | ||||
| values['device_type'] = args.device_type | ||||
| values['dtb'] = args.dtb | ||||
| values['kernel_image_name'] = args.kernel_image_name | ||||
| values['kernel_image_type'] = args.kernel_image_type | ||||
| values['gpu_version'] = args.gpu_version | ||||
| values['boot_method'] = args.boot_method | ||||
| values['tags'] = args.lava_tags | ||||
| values['env_vars'] = env_vars | ||||
| values['deqp_version'] = args.deqp_version | ||||
|  | ||||
| f = open(os.path.splitext(os.path.basename(args.template))[0], "w") | ||||
| f.write(template.render(values)) | ||||
| f.close() | ||||
|  | ||||
| @@ -1,106 +0,0 @@ | ||||
| job_name: mesa-deqp-{{ deqp_version }}-{{ gpu_version }} {{ pipeline_info }} | ||||
| device_type: {{ device_type }} | ||||
| context: | ||||
|   extra_nfsroot_args: " init=/init rootwait" | ||||
| timeouts: | ||||
|   job: | ||||
|     minutes: 40 | ||||
|   action: | ||||
|    minutes: 10 | ||||
|   actions: | ||||
|     power-off: | ||||
|       seconds: 30 | ||||
| priority: 75 | ||||
| visibility: public | ||||
| {% if tags %} | ||||
| {% set lavatags = tags.split(',') %} | ||||
| tags: | ||||
| {% for tag in lavatags %} | ||||
|   - {{ tag }} | ||||
| {% endfor %} | ||||
| {% endif %} | ||||
| actions: | ||||
| - deploy: | ||||
|     timeout: | ||||
|       minutes: 10 | ||||
|     to: tftp | ||||
|     kernel: | ||||
|       url: {{ base_artifacts_url }}/{{ kernel_image_name }} | ||||
| {% if kernel_image_type %} | ||||
|       {{ kernel_image_type }} | ||||
| {% endif %} | ||||
|     nfsrootfs: | ||||
|       url: {{ base_artifacts_url }}/lava-rootfs.tgz | ||||
|       compression: gz | ||||
| {% if dtb %} | ||||
|     dtb: | ||||
|       url: {{ base_artifacts_url }}/{{ dtb }}.dtb | ||||
| {% endif %} | ||||
|     os: oe | ||||
| - boot: | ||||
|     timeout: | ||||
|       minutes: 5 | ||||
|     method: {{ boot_method }} | ||||
| {% if boot_method == "fastboot" %} | ||||
| {# | ||||
|    For fastboot, LAVA doesn't know how to unpack the rootfs/apply overlay/repack, | ||||
|    so we transfer the overlay over the network after boot. | ||||
| #} | ||||
|     transfer_overlay: | ||||
|       download_command: wget -S --progress=dot:giga | ||||
|       unpack_command: tar -C / -xzf | ||||
| {% else %} | ||||
|     commands: nfs | ||||
| {% endif %} | ||||
|     prompts: | ||||
|       - 'lava-shell:' | ||||
| - test: | ||||
|     timeout: | ||||
|       minutes: 60 | ||||
|     definitions: | ||||
|     - repository: | ||||
|         metadata: | ||||
|           format: Lava-Test Test Definition 1.0 | ||||
|           name: deqp | ||||
|           description: "Mesa dEQP test plan" | ||||
|           os: | ||||
|           - oe | ||||
|           scope: | ||||
|           - functional | ||||
|         run: | ||||
|           steps: | ||||
|           - mount -t proc none /proc | ||||
|           - mount -t sysfs none /sys  | ||||
|           - mount -t devtmpfs none /dev || echo possibly already mounted | ||||
|           - mkdir -p /dev/pts | ||||
|           - mount -t devpts devpts /dev/pts | ||||
|           - echo "nameserver 8.8.8.8" > /etc/resolv.conf | ||||
|           - for i in 1 2 3; do sntp -sS pool.ntp.org && break || sleep 2; done | ||||
|  | ||||
|  | ||||
| {% if env_vars %} | ||||
|           - export {{ env_vars }} | ||||
| {% endif %} | ||||
|  | ||||
|           # deqp-runner.sh assumes some stuff is in pwd | ||||
|           - cd / | ||||
|  | ||||
|           - wget -S --progress=dot:giga -O- {{ mesa_url }} | tar -xz | ||||
|  | ||||
|           - export DEQP_NO_SAVE_RESULTS=1 | ||||
|           - 'export DEQP_RUNNER_OPTIONS="--shuffle false"' | ||||
|           - export DEQP_EXPECTED_FAILS=deqp-{{ gpu_version }}-fails.txt | ||||
|           - export DEQP_SKIPS=deqp-{{ gpu_version }}-skips.txt | ||||
|           - export DEQP_VER={{ deqp_version }} | ||||
|           - export LIBGL_DRIVERS_PATH=`pwd`/install/lib/dri | ||||
|  | ||||
|           - "if sh /install/deqp-runner.sh; then | ||||
|                   echo 'deqp: pass'; | ||||
|              else | ||||
|                   echo 'deqp: fail'; | ||||
|              fi" | ||||
|         parse: | ||||
|           pattern: '(?P<test_case_id>\S*):\s+(?P<result>(pass|fail))' | ||||
|       from: inline | ||||
|       name: deqp | ||||
|       path: inline/mesa-deqp.yaml | ||||
| @@ -1,301 +0,0 @@ | ||||
| variables: | ||||
|   DISTRIBUTION_TAG: "2020-08-03-nfs-2" | ||||
|  | ||||
| .kernel+rootfs: | ||||
|   stage: container-2 | ||||
|   extends: | ||||
|     - .ci-run-policy | ||||
|   variables: | ||||
|     GIT_STRATEGY: fetch | ||||
|     KERNEL_URL: "https://gitlab.freedesktop.org/tomeu/linux/-/archive/v5.5-panfrost-fixes/linux-v5.5-panfrost-fixes.tar.gz" | ||||
|     UPLOAD_FOR_LAVA: 1 | ||||
|   script: | ||||
|     - .gitlab-ci/container/lava_build.sh | ||||
|  | ||||
| kernel+rootfs_amd64: | ||||
|   extends: | ||||
|     - .use-x86_build-base | ||||
|     - .kernel+rootfs | ||||
|   image: "$CI_REGISTRY_IMAGE/debian/x86_build-base:$BASE_TAG" | ||||
|   variables: | ||||
|     DEBIAN_ARCH: "amd64" | ||||
|  | ||||
| kernel+rootfs_arm64: | ||||
|   extends: | ||||
|     - .use-arm_build | ||||
|     - .kernel+rootfs | ||||
|   tags: | ||||
|     - aarch64 | ||||
|   variables: | ||||
|     DEBIAN_ARCH: "arm64" | ||||
|  | ||||
| kernel+rootfs_armhf: | ||||
|   extends: | ||||
|     - kernel+rootfs_arm64 | ||||
|   variables: | ||||
|     DEBIAN_ARCH: "armhf" | ||||
|  | ||||
| .lava-test: | ||||
|   extends: | ||||
|     - .ci-run-policy | ||||
|   # Cancel job if a newer commit is pushed to the same branch | ||||
|   interruptible: true | ||||
|   variables: | ||||
|     GIT_STRATEGY: none # testing doesn't build anything from source | ||||
|     ENV_VARS: "DEQP_PARALLEL=6" | ||||
|     FIXED_ENV_VARS: "CI_PIPELINE_ID=${CI_PIPELINE_ID} CI_JOB_ID=${CI_JOB_ID} CI_PROJECT_PATH=${CI_PROJECT_PATH} CI_JOB_JWT=${CI_JOB_JWT} TRACIE_NO_UNIT_TESTS=1 TRACIE_UPLOAD_TO_MINIO=1" | ||||
|     DEQP_VERSION: gles2 | ||||
|     ARTIFACTS_PREFIX: "https://minio-packet.freedesktop.org/mesa-lava/" | ||||
|     MESA_URL: "https://minio-packet.freedesktop.org/artifacts/${CI_PROJECT_PATH}/${CI_PIPELINE_ID}/mesa-${ARCH}.tar.gz" | ||||
|   script: | ||||
|     # Try to use the kernel and rootfs built in mainline first, to save cycles | ||||
|     - > | ||||
|       if wget -q --method=HEAD "${ARTIFACTS_PREFIX}/mesa/mesa/${DISTRIBUTION_TAG}/${ARCH}/done"; then | ||||
|         ARTIFACTS_URL="${ARTIFACTS_PREFIX}/mesa/mesa/${DISTRIBUTION_TAG}/${ARCH}" | ||||
|       else | ||||
|         ARTIFACTS_URL="${ARTIFACTS_PREFIX}/${CI_PROJECT_PATH}/${DISTRIBUTION_TAG}/${ARCH}" | ||||
|       fi | ||||
|     - > | ||||
|       artifacts/generate_lava.py \ | ||||
|         --template artifacts/lava-${TEST_SUITE}.yml.jinja2 \ | ||||
|         --pipeline-info "$CI_PIPELINE_URL on $CI_COMMIT_REF_NAME ${CI_NODE_INDEX}/${CI_NODE_TOTAL}" \ | ||||
|         --base-artifacts-url ${ARTIFACTS_URL} \ | ||||
|         --mesa-url ${MESA_URL} \ | ||||
|         --device-type ${DEVICE_TYPE} \ | ||||
|         --dtb ${DTB} \ | ||||
|         --env-vars "${ENV_VARS} ${FIXED_ENV_VARS}" \ | ||||
|         --deqp-version ${DEQP_VERSION} \ | ||||
|         --kernel-image-name ${KERNEL_IMAGE_NAME} \ | ||||
|         --kernel-image-type "${KERNEL_IMAGE_TYPE}" \ | ||||
|         --gpu-version ${GPU_VERSION} \ | ||||
|         --boot-method ${BOOT_METHOD} \ | ||||
|         --lava-tags "${LAVA_TAGS}" \ | ||||
|         --ci-node-index "${CI_NODE_INDEX}" \ | ||||
|         --ci-node-total "${CI_NODE_TOTAL}" | ||||
|     - lava_job_id=`lavacli jobs submit lava-${TEST_SUITE}.yml` || lavacli jobs submit lava-${TEST_SUITE}.yml | ||||
|     - echo $lava_job_id | ||||
|     - rm -rf artifacts/* | ||||
|     - cp lava-${TEST_SUITE}.yml artifacts/. | ||||
|     - lavacli jobs logs $lava_job_id | tee artifacts/lava-${TEST_SUITE}-$lava_job_id.log | ||||
|     - lavacli jobs show $lava_job_id | ||||
|     - result=`lavacli results $lava_job_id 0_${TEST_SUITE} ${TEST_SUITE} | head -1` | ||||
|     - echo $result | ||||
|     - '[[ "$result" == "pass" ]]' | ||||
|   artifacts: | ||||
|     name: "mesa_${CI_JOB_NAME}" | ||||
|     when: always | ||||
|     paths: | ||||
|       - artifacts/ | ||||
|  | ||||
| .lava-test:armhf: | ||||
|   variables: | ||||
|     ARCH: armhf | ||||
|     KERNEL_IMAGE_NAME: zImage | ||||
|     KERNEL_IMAGE_TYPE: "type:\ zimage" | ||||
|     BOOT_METHOD: u-boot | ||||
|     TEST_SUITE: "deqp" | ||||
|   extends: | ||||
|     - .lava-test | ||||
|     - .use-arm_build | ||||
|   needs: | ||||
|     - kernel+rootfs_armhf | ||||
|     - meson-armhf | ||||
|  | ||||
| .lava-test:arm64: | ||||
|   variables: | ||||
|     ARCH: arm64 | ||||
|     KERNEL_IMAGE_NAME: Image | ||||
|     KERNEL_IMAGE_TYPE: "type:\ image" | ||||
|     BOOT_METHOD: u-boot | ||||
|     TEST_SUITE: "deqp" | ||||
|   extends: | ||||
|     - .lava-test | ||||
|     - .use-arm_build | ||||
|   dependencies: | ||||
|     - meson-arm64 | ||||
|   needs: | ||||
|     - kernel+rootfs_arm64 | ||||
|     - meson-arm64 | ||||
|  | ||||
| .lava-test:amd64: | ||||
|   variables: | ||||
|     ARCH: amd64 | ||||
|     KERNEL_IMAGE_NAME: bzImage | ||||
|     KERNEL_IMAGE_TYPE: "type:\ zimage" | ||||
|     BOOT_METHOD: u-boot | ||||
|     TEST_SUITE: "deqp" | ||||
|   extends: | ||||
|     - .lava-test | ||||
|     - .use-arm_build | ||||
|   needs: | ||||
|     - kernel+rootfs_amd64 | ||||
|     - arm_build | ||||
|     - meson-testing | ||||
|  | ||||
| .lava-traces:amd64: | ||||
|   variables: | ||||
|     TEST_SUITE: "tracie" | ||||
|   extends: | ||||
|     - .lava-test:amd64 | ||||
|  | ||||
| .lava-traces:armhf: | ||||
|   variables: | ||||
|     TEST_SUITE: "tracie" | ||||
|   extends: | ||||
|     - .lava-test:armhf | ||||
|  | ||||
| .lava-traces:arm64: | ||||
|   variables: | ||||
|     TEST_SUITE: "tracie" | ||||
|   extends: | ||||
|     - .lava-test:arm64 | ||||
|  | ||||
| panfrost-t720-gles2:arm64: | ||||
|   extends: | ||||
|     - .lava-test:arm64 | ||||
|     - .panfrost-rules | ||||
|   variables: | ||||
|     DEVICE_TYPE: sun50i-h6-pine-h64 | ||||
|     DTB: ${DEVICE_TYPE} | ||||
|     GPU_VERSION: panfrost-t720 | ||||
|     ENV_VARS: "PAN_MESA_DEBUG=gles3 DEQP_PARALLEL=6 DEQP_EXPECTED_RENDERER=T720" | ||||
|   tags: | ||||
|     - mesa-ci-aarch64-lava-collabora | ||||
|  | ||||
| panfrost-t760-gles2:armhf: | ||||
|   extends: | ||||
|     - .lava-test:armhf | ||||
|     - .panfrost-rules | ||||
|   variables: | ||||
|     DEVICE_TYPE: rk3288-veyron-jaq | ||||
|     DTB: ${DEVICE_TYPE} | ||||
|     GPU_VERSION: panfrost-t760 | ||||
|     BOOT_METHOD: depthcharge | ||||
|     KERNEL_IMAGE_TYPE: "" | ||||
|     ENV_VARS: "PAN_MESA_DEBUG=gles3 DEQP_PARALLEL=6 DEQP_EXPECTED_RENDERER=T760" | ||||
|   tags: | ||||
|     - mesa-ci-aarch64-lava-collabora | ||||
|  | ||||
| .panfrost-t760-traces:armhf: | ||||
|   extends: | ||||
|     - .lava-traces:armhf | ||||
|     - .panfrost-rules | ||||
|   variables: | ||||
|     DEVICE_TYPE: rk3288-veyron-jaq | ||||
|     DTB: ${DEVICE_TYPE} | ||||
|     GPU_VERSION: panfrost-t760 | ||||
|     BOOT_METHOD: depthcharge | ||||
|     KERNEL_IMAGE_TYPE: "" | ||||
|     ENV_VARS: "PAN_MESA_DEBUG=deqp MESA_GLES_VERSION_OVERRIDE=3.1 MESA_GL_VERSION_OVERRIDE=3.3 MESA_GLSL_VERSION_OVERRIDE=330" | ||||
|   tags: | ||||
|     - mesa-ci-aarch64-lava-collabora | ||||
|  | ||||
| .lava-rk3399-gru-kevin: | ||||
|   extends: | ||||
|     - .panfrost-rules | ||||
|   variables: | ||||
|     DEVICE_TYPE: rk3399-gru-kevin | ||||
|     DTB: ${DEVICE_TYPE} | ||||
|     GPU_VERSION: panfrost-t860 | ||||
|     BOOT_METHOD: depthcharge | ||||
|     KERNEL_IMAGE_TYPE: "" | ||||
|   tags: | ||||
|     - mesa-ci-aarch64-lava-collabora | ||||
|  | ||||
| panfrost-t860-gles2:arm64: | ||||
|   extends: | ||||
|     - .lava-test:arm64 | ||||
|     - .lava-rk3399-gru-kevin | ||||
|   variables: | ||||
|     ENV_VARS: "PAN_MESA_DEBUG=gles3 DEQP_PARALLEL=6 DEQP_EXPECTED_RENDERER=T860" | ||||
|  | ||||
| panfrost-t860-gles3:arm64: | ||||
|   parallel: 2 | ||||
|   extends: | ||||
|     - .lava-test:arm64 | ||||
|     - .lava-rk3399-gru-kevin | ||||
|   variables: | ||||
|     DEQP_VERSION: gles3 | ||||
|     ENV_VARS: "PAN_MESA_DEBUG=gles3 DEQP_PARALLEL=6 DEQP_EXPECTED_RENDERER=T860" | ||||
|  | ||||
| panfrost-t860-traces:arm64: | ||||
|   extends: | ||||
|     - .lava-traces:arm64 | ||||
|     - .lava-rk3399-gru-kevin | ||||
|   variables: | ||||
|     ENV_VARS: "PAN_MESA_DEBUG=deqp MESA_GLES_VERSION_OVERRIDE=3.1 MESA_GL_VERSION_OVERRIDE=3.3 MESA_GLSL_VERSION_OVERRIDE=330" | ||||
|  | ||||
| .panfrost-t820-gles2:arm64: | ||||
|   extends: | ||||
|     - .lava-test:arm64 | ||||
|     - .panfrost-rules | ||||
|   variables: | ||||
|     DEVICE_TYPE: meson-gxm-khadas-vim2 | ||||
|     DTB: ${DEVICE_TYPE} | ||||
|     GPU_VERSION: panfrost-t820 | ||||
|     LAVA_TAGS: panfrost | ||||
|     ENV_VARS: "PAN_MESA_DEBUG=gles3 DEQP_PARALLEL=6 DEQP_EXPECTED_RENDERER=T820" | ||||
|   tags: | ||||
|     - mesa-ci-aarch64-lava-baylibre | ||||
|  | ||||
| .lima-mali400-test:armhf: | ||||
|   parallel: 2 | ||||
|   extends: | ||||
|     - .lava-test:armhf | ||||
|     - .lima-rules | ||||
|   variables: | ||||
|     DEVICE_TYPE: sun8i-h3-libretech-all-h3-cc | ||||
|     DTB: ${DEVICE_TYPE} | ||||
|     GPU_VERSION: lima | ||||
|     ENV_VARS: "DEQP_PARALLEL=3 DEQP_EXPECTED_RENDERER=Mali400" | ||||
|   tags: | ||||
|     - mesa-ci-aarch64-lava-baylibre | ||||
|  | ||||
| .lima-mali450-test:arm64: | ||||
|   extends: | ||||
|     - .lava-test:arm64 | ||||
|     - .lima-rules | ||||
|   variables: | ||||
|     DEVICE_TYPE: meson-gxl-s905x-libretech-cc | ||||
|     DTB: ${DEVICE_TYPE} | ||||
|     GPU_VERSION: lima | ||||
|     ENV_VARS: "DEQP_PARALLEL=6 DEQP_EXPECTED_RENDERER=Mali450" | ||||
|   tags: | ||||
|     - mesa-ci-aarch64-lava-baylibre | ||||
|  | ||||
| # Commented out while waiting for more DUTs to come online | ||||
| .radeonsi-stoney-gles2:amd64: | ||||
|   extends: | ||||
|     - .lava-test:amd64 | ||||
|     - .radeonsi-rules | ||||
|   variables: | ||||
|     DEVICE_TYPE: hp-11A-G6-EE-grunt | ||||
|     DTB: "" | ||||
|     GPU_VERSION: radeonsi-stoney | ||||
|     BOOT_METHOD: depthcharge | ||||
|     KERNEL_IMAGE_TYPE: "" | ||||
|     ENV_VARS: "DEQP_PARALLEL=4 DEQP_EXPECTED_RENDERER=STONEY NIR_VALIDATE=0" | ||||
|   tags: | ||||
|     - mesa-ci-aarch64-lava-collabora | ||||
|  | ||||
| # Commented out while waiting for more DUTs to come online | ||||
| .radeonsi-stoney-gles3:amd64: | ||||
|   extends: | ||||
|     - .radeonsi-stoney-gles2:amd64 | ||||
|   variables: | ||||
|     DEQP_VERSION: gles3 | ||||
|   tags: | ||||
|     - mesa-ci-aarch64-lava-collabora | ||||
|  | ||||
| radeonsi-stoney-traces:amd64: | ||||
|   extends: | ||||
|     - .lava-traces:amd64 | ||||
|     - .radeonsi-rules | ||||
|   variables: | ||||
|     DEVICE_TYPE: hp-11A-G6-EE-grunt | ||||
|     DTB: "" | ||||
|     GPU_VERSION: radeonsi-stoney | ||||
|     BOOT_METHOD: depthcharge | ||||
|     KERNEL_IMAGE_TYPE: "" | ||||
|   tags: | ||||
|     - mesa-ci-aarch64-lava-collabora | ||||
| @@ -1,104 +0,0 @@ | ||||
| job_name: mesa-tracie-{{ gpu_version }} {{ pipeline_info }} | ||||
| device_type: {{ device_type }} | ||||
| context: | ||||
|   extra_nfsroot_args: " init=/init rootwait" | ||||
| timeouts: | ||||
|   job: | ||||
|     minutes: 40 | ||||
|   action: | ||||
|    minutes: 10 | ||||
|   actions: | ||||
|     power-off: | ||||
|       seconds: 30 | ||||
| priority: 75 | ||||
| visibility: public | ||||
| {% if tags %} | ||||
| {% set lavatags = tags.split(',') %} | ||||
| tags: | ||||
| {% for tag in lavatags %} | ||||
|   - {{ tag }} | ||||
| {% endfor %} | ||||
| {% endif %} | ||||
| actions: | ||||
| - deploy: | ||||
|     timeout: | ||||
|       minutes: 10 | ||||
|     to: tftp | ||||
|     kernel: | ||||
|       url: {{ base_artifacts_url }}/{{ kernel_image_name }} | ||||
| {% if kernel_image_type %} | ||||
|       {{ kernel_image_type }} | ||||
| {% endif %} | ||||
|     nfsrootfs: | ||||
|       url: {{ base_artifacts_url }}/lava-rootfs.tgz | ||||
|       compression: gz | ||||
| {% if dtb %} | ||||
|     dtb: | ||||
|       url: {{ base_artifacts_url }}/{{ dtb }}.dtb | ||||
| {% endif %} | ||||
|     os: oe | ||||
| - boot: | ||||
|     timeout: | ||||
|       minutes: 5 | ||||
|     method: {{ boot_method }} | ||||
| {% if boot_method == "fastboot" %} | ||||
| {# | ||||
|    For fastboot, LAVA doesn't know how to unpack the rootfs/apply overlay/repack, | ||||
|    so we transfer the overlay over the network after boot. | ||||
| #} | ||||
|     transfer_overlay: | ||||
|       download_command: wget -S --progress=dot:giga | ||||
|       unpack_command: tar -C / -xzf | ||||
| {% else %} | ||||
|     commands: nfs | ||||
| {% endif %} | ||||
|     prompts: | ||||
|       - 'lava-shell:' | ||||
| - test: | ||||
|     timeout: | ||||
|       minutes: 60 | ||||
|     definitions: | ||||
|     - repository: | ||||
|         metadata: | ||||
|           format: Lava-Test Test Definition 1.0 | ||||
|           name: tracie | ||||
|           description: "Mesa tracie test plan" | ||||
|           os: | ||||
|           - oe | ||||
|           scope: | ||||
|           - functional | ||||
|         run: | ||||
|           steps: | ||||
|           - mount -t proc none /proc | ||||
|           - mount -t sysfs none /sys | ||||
|           - mount -t devtmpfs none /dev || echo possibly already mounted | ||||
|           - mkdir -p /dev/pts | ||||
|           - mount -t devpts devpts /dev/pts | ||||
|           - echo "nameserver 8.8.8.8" > /etc/resolv.conf | ||||
|           - for i in 1 2 3; do sntp -sS pool.ntp.org && break || sleep 2; done | ||||
|  | ||||
|           # amdgpu failed to find its firmware during boot, rebind | ||||
|           - echo 0000:00:01.0 > /sys/bus/pci/drivers/amdgpu/bind || true | ||||
|  | ||||
| {% if env_vars %} | ||||
|           - export {{ env_vars }} | ||||
| {% endif %} | ||||
|           # tracie-runner.sh assumes some stuff is in pwd | ||||
|           - cd / | ||||
|  | ||||
|           - wget -S --progress=dot:giga -O- {{ mesa_url }} | tar -xz | ||||
|  | ||||
|           - export PYTHONPATH=$(python3 -c "import sys;print(\":\".join(sys.path))") | ||||
|           - export LIBGL_DRIVERS_PATH=`pwd`/install/lib/dri | ||||
|           - export DEVICE_NAME="gl-{{ gpu_version }}" | ||||
|  | ||||
|           - "if sh /install/tracie-runner-gl.sh; then | ||||
|                   echo 'tracie: pass'; | ||||
|              else | ||||
|                   echo 'tracie: fail'; | ||||
|              fi" | ||||
|         parse: | ||||
|           pattern: '(?P<test_case_id>\S*):\s+(?P<result>(pass|fail))' | ||||
|       from: inline | ||||
|       name: tracie | ||||
|       path: inline/mesa-tracie.yaml | ||||
| @@ -1,13 +0,0 @@ | ||||
| call "C:\Program Files (x86)\Microsoft Visual Studio\%VERSION%\Common7\Tools\VsDevCmd.bat" -arch=%ARCH% | ||||
|  | ||||
| del /Q /S _build | ||||
| meson _build ^ | ||||
|         -Dbuild-tests=true ^ | ||||
|         -Db_vscrt=mtd ^ | ||||
|         -Dbuildtype=release ^ | ||||
|         -Dllvm=false ^ | ||||
|         -Dgallium-drivers=swrast ^ | ||||
|         -Dosmesa=gallium | ||||
| meson configure _build | ||||
| ninja -C _build | ||||
| ninja -C _build test | ||||
| @@ -3,50 +3,21 @@ | ||||
| set -e | ||||
| set -o xtrace | ||||
|  | ||||
| CROSS_FILE=/cross_file-"$CROSS".txt | ||||
|  | ||||
| # We need to control the version of llvm-config we're using, so we'll | ||||
| # tweak the cross file or generate a native file to do so. | ||||
| # generate a native file to do so. This requires meson >=0.49 | ||||
| if test -n "$LLVM_VERSION"; then | ||||
|     LLVM_CONFIG="llvm-config-${LLVM_VERSION}" | ||||
|     echo -e "[binaries]\nllvm-config = '`which $LLVM_CONFIG`'" > native.file | ||||
|     if [ -n "$CROSS" ]; then | ||||
|         sed -i -e '/\[binaries\]/a\' -e "llvm-config = '`which $LLVM_CONFIG`'" $CROSS_FILE | ||||
|     fi | ||||
|     $LLVM_CONFIG --version | ||||
| else | ||||
|     rm -f native.file | ||||
|     touch native.file | ||||
| fi | ||||
|  | ||||
| # cross-xfail-$CROSS, if it exists, contains a list of tests that are expected | ||||
| # to fail for the $CROSS configuration, one per line. you can then mark those | ||||
| # tests in their meson.build with: | ||||
| # | ||||
| # test(..., | ||||
| #      should_fail: meson.get_cross_property('xfail', '').contains(t), | ||||
| #     ) | ||||
| # | ||||
| # where t is the name of the test, and the '' is the string to search when | ||||
| # not cross-compiling (which is empty, because for amd64 everything is | ||||
| # expected to pass). | ||||
| if [ -n "$CROSS" ]; then | ||||
|     CROSS_XFAIL=.gitlab-ci/cross-xfail-"$CROSS" | ||||
|     if [ -s "$CROSS_XFAIL" ]; then | ||||
|         sed -i \ | ||||
|             -e '/\[properties\]/a\' \ | ||||
|             -e "xfail = '$(tr '\n' , < $CROSS_XFAIL)'" \ | ||||
|             "$CROSS_FILE" | ||||
|     fi | ||||
| fi | ||||
|  | ||||
| rm -rf _build | ||||
| meson _build --native-file=native.file \ | ||||
|       --wrap-mode=nofallback \ | ||||
|       ${CROSS+--cross "$CROSS_FILE"} \ | ||||
|       -D prefix=`pwd`/install \ | ||||
|       -D libdir=lib \ | ||||
|       -D buildtype=${BUILDTYPE:-debug} \ | ||||
|       ${CROSS} \ | ||||
|       -D buildtype=debug \ | ||||
|       -D build-tests=true \ | ||||
|       -D libunwind=${UNWIND} \ | ||||
|       ${DRI_LOADERS} \ | ||||
| @@ -54,10 +25,10 @@ meson _build --native-file=native.file \ | ||||
|       ${GALLIUM_ST} \ | ||||
|       -D gallium-drivers=${GALLIUM_DRIVERS:-[]} \ | ||||
|       -D vulkan-drivers=${VULKAN_DRIVERS:-[]} \ | ||||
|       -D I-love-half-baked-turnips=true \ | ||||
|       ${EXTRA_OPTION} | ||||
| cd _build | ||||
| meson configure | ||||
| ninja | ||||
| ninja -j4 | ||||
| LC_ALL=C.UTF-8 ninja test | ||||
| ninja install | ||||
| cd .. | ||||
| DESTDIR=$PWD/../install ninja install | ||||
|   | ||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user