diff --git a/.gitlab-ci/container/build-skqp.sh b/.gitlab-ci/container/build-skqp.sh index eaa049d452a..dd31c3f7f3c 100755 --- a/.gitlab-ci/container/build-skqp.sh +++ b/.gitlab-ci/container/build-skqp.sh @@ -1,61 +1,76 @@ #!/bin/bash +# +# Copyright (C) 2022 Collabora Limited +# Author: Guilherme Gallo +# +# 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. + create_gn_args() { + # gn can be configured to cross-compile skia and its tools + # It is important to set the target_cpu to guarantee the intended target + # machine cp "${BASE_ARGS_GN_FILE}" "${SKQP_OUT_DIR}"/args.gn echo "target_cpu = \"${SKQP_ARCH}\"" >> "${SKQP_OUT_DIR}"/args.gn } -download_skqp_models() ( - # The download_model.py script needs a checksum file to know what models - # version to download. - # This is the most recent commit available in the skia repository with a - # valid files.checksum - SKIA_LAST_SKQP_CUT_COMMIT_SHA=ccf5f0d75b6a6b54756f2c62d57e3730eed8aa45 - git fetch origin "${SKIA_LAST_SKQP_CUT_COMMIT_SHA}:refs/remotes/origin/${SKIA_LAST_SKQP_CUT_COMMIT_SHA}" - git checkout "${SKIA_LAST_SKQP_CUT_COMMIT_SHA}" -- \ - platform_tools/android/apps/skqp/src/main/assets/files.checksum +download_skia_source() { + if [ -z ${SKIA_DIR+x} ] + then + return 1 + fi - # The following patch transforms download_model.py from python2 to python3. - git apply "${DOWNLOAD_MODEL_PATCH_FILE}" - python3 tools/skqp/download_model.py + # Skia cloned from https://android.googlesource.com/platform/external/skqp + # has all needed assets tracked on git-fs + SKQP_REPO=https://android.googlesource.com/platform/external/skqp + SKQP_BRANCH=android-cts-10.0_r11 - # Copy resources from skia to skqp directory - python3 tools/skqp/setup_resources -) + git clone --branch "${SKQP_BRANCH}" --depth 1 "${SKQP_REPO}" "${SKIA_DIR}" +} set -ex SCRIPT_DIR=$(realpath "$(dirname "$0")") -FETCH_GN_PATCH_FILE="${SCRIPT_DIR}/build-skqp_fetch-gn.patch" +SKQP_PATCH_DIR="${SCRIPT_DIR}" BASE_ARGS_GN_FILE="${SCRIPT_DIR}/build-skqp_base.gn" -DOWNLOAD_MODEL_PATCH_FILE="${SCRIPT_DIR}/build-skqp_download_model.patch" SKQP_ARCH=${SKQP_ARCH:-x64} SKIA_DIR=${SKIA_DIR:-$(mktemp -d)} -SKQP_DIR=${SKQP_DIR:-$(mktemp -d)} SKQP_OUT_DIR=${SKIA_DIR}/out/${SKQP_ARCH} SKQP_INSTALL_DIR=/skqp SKQP_ASSETS_DIR="${SKQP_INSTALL_DIR}/assets" -# Build list_gpu_unit_tests to update the unittests.txt file properly to the -# target hardware. -SKQP_BINARIES=(skqp list_gpu_unit_tests) +SKQP_BINARIES=(skqp) -# Using a recent release version to mitigate instability during test phase -SKIA_COMMIT_SHA="canvaskit/0.32.0" - -git clone 'https://skia.googlesource.com/skia/' \ - --single-branch \ - -b "${SKIA_COMMIT_SHA}" \ - "${SKIA_DIR}" +download_skia_source pushd "${SKIA_DIR}" -git apply "${FETCH_GN_PATCH_FILE}" -# Fetch some needed build tools needed to build skia/skqp -# Basically, it clones repositories with commits SHAs from -# ${SKIA_DIR}/DEPS directory -python3 tools/git-sync-deps +# Apply all skqp patches for Mesa CI +cat "${SKQP_PATCH_DIR}"/*.patch | + patch -p1 + +# Fetch some needed build tools needed to build skia/skqp. +# Basically, it clones repositories with commits SHAs from ${SKIA_DIR}/DEPS +# directory. +python tools/git-sync-deps mkdir -p "${SKQP_OUT_DIR}" mkdir -p "${SKQP_INSTALL_DIR}" @@ -68,15 +83,15 @@ bin/gn gen "${SKQP_OUT_DIR}" for BINARY in "${SKQP_BINARIES[@]}" do /usr/bin/ninja -C "${SKQP_OUT_DIR}" "${BINARY}" + # Strip binary, since gn is not stripping it even when `is_debug == false` + ${STRIP_CMD:-strip} "${SKQP_OUT_DIR}/${BINARY}" install -m 0755 "${SKQP_OUT_DIR}/${BINARY}" "${SKQP_INSTALL_DIR}" done -# Acquire assets and move them to the target directory. -download_skqp_models +# Move assets to the target directory, which will reside in rootfs. mv platform_tools/android/apps/skqp/src/main/assets/ "${SKQP_ASSETS_DIR}" popd -rm -Rf "${SKQP_DIR}" rm -Rf "${SKIA_DIR}" set +ex diff --git a/.gitlab-ci/container/build-skqp_BUILD.gn.patch b/.gitlab-ci/container/build-skqp_BUILD.gn.patch new file mode 100644 index 00000000000..a1e82af6ba9 --- /dev/null +++ b/.gitlab-ci/container/build-skqp_BUILD.gn.patch @@ -0,0 +1,13 @@ +diff --git a/BUILD.gn b/BUILD.gn +index d2b1407..7b60c90 100644 +--- a/BUILD.gn ++++ b/BUILD.gn +@@ -144,7 +144,7 @@ config("skia_public") { + + # Skia internal APIs, used by Skia itself and a few test tools. + config("skia_private") { +- visibility = [ ":*" ] ++ visibility = [ "*" ] + + include_dirs = [ + "include/private", diff --git a/.gitlab-ci/container/build-skqp_base.gn b/.gitlab-ci/container/build-skqp_base.gn index 1b2e93e6a99..3df11647a3a 100644 --- a/.gitlab-ci/container/build-skqp_base.gn +++ b/.gitlab-ci/container/build-skqp_base.gn @@ -1,8 +1,30 @@ -cc = "gcc" -cxx = "g++" +cc = "clang" +cxx = "clang++" extra_cflags = [ "-DSK_ENABLE_DUMP_GPU", "-DSK_BUILD_FOR_SKQP" ] -extra_cflags_cc = [ "-static", "-Wno-error", "-Wno-macro-redefined", "-Wno-suggest-destructor-override", "-Wno-suggest-override" ] +extra_cflags_cc = [ + "-Wno-error", + + # skqp build process produces a lot of compilation warnings, silencing + # most of them to remove clutter and avoid the CI job log to exceed the + # maximum size + + # GCC flags + "-Wno-redundant-move", + "-Wno-suggest-override", + "-Wno-class-memaccess", + "-Wno-deprecated-copy", + "-Wno-uninitialized", + + # Clang flags + "-Wno-macro-redefined", + "-Wno-anon-enum-enum-conversion", + "-Wno-suggest-destructor-override", + "-Wno-return-std-move-in-c++11", + "-Wno-extra-semi-stmt", + ] + +cc_wrapper = "ccache" is_debug = false diff --git a/.gitlab-ci/container/build-skqp_download_model.patch b/.gitlab-ci/container/build-skqp_download_model.patch deleted file mode 100644 index b6d3a8a03b1..00000000000 --- a/.gitlab-ci/container/build-skqp_download_model.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/tools/skqp/download_model.py b/tools/skqp/download_model.py -index fb0020e481..a5d8a03754 100755 ---- a/tools/skqp/download_model.py -+++ b/tools/skqp/download_model.py -@@ -10,7 +10,7 @@ import os - import shutil - import sys - import tempfile --import urllib2 -+import urllib.request, urllib.error, urllib.parse - - def checksum(path): - if not os.path.exists(path): -@@ -33,7 +33,7 @@ def download(md5, path): - pass # ignore race condition - url = 'https://storage.googleapis.com/skia-skqp-assets/' + md5 - with open(path, 'wb') as o: -- shutil.copyfileobj(urllib2.urlopen(url), o) -+ shutil.copyfileobj(urllib.request.urlopen(url), o) - - def tmp(prefix): - fd, path = tempfile.mkstemp(prefix=prefix) diff --git a/.gitlab-ci/container/build-skqp_fetch-gn.patch b/.gitlab-ci/container/build-skqp_fetch-gn.patch deleted file mode 100644 index d3332fc16eb..00000000000 --- a/.gitlab-ci/container/build-skqp_fetch-gn.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/bin/fetch-gn b/bin/fetch-gn -index b4bb14c630..59c4591a30 100755 ---- a/bin/fetch-gn -+++ b/bin/fetch-gn -@@ -23,7 +23,7 @@ os.chdir(os.path.join(os.path.dirname(__file__), os.pardir)) - gnzip = os.path.join(tempfile.mkdtemp(), 'gn.zip') - with open(gnzip, 'wb') as f: - OS = {'darwin': 'mac', 'linux': 'linux', 'linux2': 'linux', 'win32': 'windows'}[sys.platform] -- cpu = {'amd64': 'amd64', 'arm64': 'arm64', 'x86_64': 'amd64'}[platform.machine().lower()] -+ cpu = {'amd64': 'amd64', 'arm64': 'arm64', 'x86_64': 'amd64', 'aarch64': 'arm64'}[platform.machine().lower()] - - rev = 'd62642c920e6a0d1756316d225a90fd6faa9e21e' - url = 'https://chrome-infra-packages.appspot.com/dl/gn/gn/{}-{}/+/git_revision:{}'.format( diff --git a/.gitlab-ci/container/build-skqp_fetch_gn.patch b/.gitlab-ci/container/build-skqp_fetch_gn.patch new file mode 100644 index 00000000000..545cf2af765 --- /dev/null +++ b/.gitlab-ci/container/build-skqp_fetch_gn.patch @@ -0,0 +1,68 @@ +diff --git a/bin/fetch-gn b/bin/fetch-gn +index d5e94a2..59c4591 100755 +--- a/bin/fetch-gn ++++ b/bin/fetch-gn +@@ -5,39 +5,44 @@ + # Use of this source code is governed by a BSD-style license that can be + # found in the LICENSE file. + +-import hashlib + import os ++import platform + import shutil + import stat + import sys +-import urllib2 ++import tempfile ++import zipfile ++ ++if sys.version_info[0] < 3: ++ from urllib2 import urlopen ++else: ++ from urllib.request import urlopen + + os.chdir(os.path.join(os.path.dirname(__file__), os.pardir)) + +-dst = 'bin/gn.exe' if 'win32' in sys.platform else 'bin/gn' ++gnzip = os.path.join(tempfile.mkdtemp(), 'gn.zip') ++with open(gnzip, 'wb') as f: ++ OS = {'darwin': 'mac', 'linux': 'linux', 'linux2': 'linux', 'win32': 'windows'}[sys.platform] ++ cpu = {'amd64': 'amd64', 'arm64': 'arm64', 'x86_64': 'amd64', 'aarch64': 'arm64'}[platform.machine().lower()] + +-sha1 = '2f27ff0b6118e5886df976da5effa6003d19d1ce' if 'linux' in sys.platform else \ +- '9be792dd9010ce303a9c3a497a67bcc5ac8c7666' if 'darwin' in sys.platform else \ +- 'eb69be2d984b4df60a8c21f598135991f0ad1742' # Windows ++ rev = 'd62642c920e6a0d1756316d225a90fd6faa9e21e' ++ url = 'https://chrome-infra-packages.appspot.com/dl/gn/gn/{}-{}/+/git_revision:{}'.format( ++ OS,cpu,rev) ++ f.write(urlopen(url).read()) + +-def sha1_of_file(path): +- h = hashlib.sha1() +- if os.path.isfile(path): +- with open(path, 'rb') as f: +- h.update(f.read()) +- return h.hexdigest() ++gn = 'gn.exe' if 'win32' in sys.platform else 'gn' ++with zipfile.ZipFile(gnzip, 'r') as f: ++ f.extract(gn, 'bin') + +-if sha1_of_file(dst) != sha1: +- with open(dst, 'wb') as f: +- f.write(urllib2.urlopen('https://chromium-gn.storage-download.googleapis.com/' + sha1).read()) ++gn = os.path.join('bin', gn) + +- os.chmod(dst, stat.S_IRUSR | stat.S_IWUSR | stat.S_IXUSR | +- stat.S_IRGRP | stat.S_IXGRP | +- stat.S_IROTH | stat.S_IXOTH ) ++os.chmod(gn, stat.S_IRUSR | stat.S_IWUSR | stat.S_IXUSR | ++ stat.S_IRGRP | stat.S_IXGRP | ++ stat.S_IROTH | stat.S_IXOTH ) + + # We'll also copy to a path that depot_tools' GN wrapper will expect to find the binary. + copy_path = 'buildtools/linux64/gn' if 'linux' in sys.platform else \ + 'buildtools/mac/gn' if 'darwin' in sys.platform else \ + 'buildtools/win/gn.exe' + if os.path.isdir(os.path.dirname(copy_path)): +- shutil.copy(dst, copy_path) ++ shutil.copy(gn, copy_path) diff --git a/.gitlab-ci/container/build-skqp_git-sync-deps.patch b/.gitlab-ci/container/build-skqp_git-sync-deps.patch new file mode 100644 index 00000000000..d088349ad32 --- /dev/null +++ b/.gitlab-ci/container/build-skqp_git-sync-deps.patch @@ -0,0 +1,142 @@ +Patch based from diff with skia repository from commit +013397884c73959dc07cb0a26ee742b1cdfbda8a + +Adds support for Python3, but removes the constraint of only SHA based refs in +DEPS +diff --git a/tools/git-sync-deps b/tools/git-sync-deps +index c7379c0b5c..f63d4d9ccf 100755 +--- a/tools/git-sync-deps ++++ b/tools/git-sync-deps +@@ -43,7 +43,7 @@ def git_executable(): + A string suitable for passing to subprocess functions, or None. + """ + envgit = os.environ.get('GIT_EXECUTABLE') +- searchlist = ['git'] ++ searchlist = ['git', 'git.bat'] + if envgit: + searchlist.insert(0, envgit) + with open(os.devnull, 'w') as devnull: +@@ -94,21 +94,25 @@ def is_git_toplevel(git, directory): + try: + toplevel = subprocess.check_output( + [git, 'rev-parse', '--show-toplevel'], cwd=directory).strip() +- return os.path.realpath(directory) == os.path.realpath(toplevel) ++ return os.path.realpath(directory) == os.path.realpath(toplevel.decode()) + except subprocess.CalledProcessError: + return False + + +-def status(directory, checkoutable): +- def truncate(s, length): ++def status(directory, commithash, change): ++ def truncate_beginning(s, length): ++ return s if len(s) <= length else '...' + s[-(length-3):] ++ def truncate_end(s, length): + return s if len(s) <= length else s[:(length - 3)] + '...' ++ + dlen = 36 +- directory = truncate(directory, dlen) +- checkoutable = truncate(checkoutable, 40) +- sys.stdout.write('%-*s @ %s\n' % (dlen, directory, checkoutable)) ++ directory = truncate_beginning(directory, dlen) ++ commithash = truncate_end(commithash, 40) ++ symbol = '>' if change else '@' ++ sys.stdout.write('%-*s %s %s\n' % (dlen, directory, symbol, commithash)) + + +-def git_checkout_to_directory(git, repo, checkoutable, directory, verbose): ++def git_checkout_to_directory(git, repo, commithash, directory, verbose): + """Checkout (and clone if needed) a Git repository. + + Args: +@@ -117,8 +121,7 @@ def git_checkout_to_directory(git, repo, checkoutable, directory, verbose): + repo (string) the location of the repository, suitable + for passing to `git clone`. + +- checkoutable (string) a tag, branch, or commit, suitable for +- passing to `git checkout` ++ commithash (string) a commit, suitable for passing to `git checkout` + + directory (string) the path into which the repository + should be checked out. +@@ -129,7 +132,12 @@ def git_checkout_to_directory(git, repo, checkoutable, directory, verbose): + """ + if not os.path.isdir(directory): + subprocess.check_call( +- [git, 'clone', '--quiet', repo, directory]) ++ [git, 'clone', '--quiet', '--no-checkout', repo, directory]) ++ subprocess.check_call([git, 'checkout', '--quiet', commithash], ++ cwd=directory) ++ if verbose: ++ status(directory, commithash, True) ++ return + + if not is_git_toplevel(git, directory): + # if the directory exists, but isn't a git repo, you will modify +@@ -145,11 +153,11 @@ def git_checkout_to_directory(git, repo, checkoutable, directory, verbose): + with open(os.devnull, 'w') as devnull: + # If this fails, we will fetch before trying again. Don't spam user + # with error infomation. +- if 0 == subprocess.call([git, 'checkout', '--quiet', checkoutable], ++ if 0 == subprocess.call([git, 'checkout', '--quiet', commithash], + cwd=directory, stderr=devnull): + # if this succeeds, skip slow `git fetch`. + if verbose: +- status(directory, checkoutable) # Success. ++ status(directory, commithash, False) # Success. + return + + # If the repo has changed, always force use of the correct repo. +@@ -159,18 +167,24 @@ def git_checkout_to_directory(git, repo, checkoutable, directory, verbose): + + subprocess.check_call([git, 'fetch', '--quiet'], cwd=directory) + +- subprocess.check_call([git, 'checkout', '--quiet', checkoutable], cwd=directory) ++ subprocess.check_call([git, 'checkout', '--quiet', commithash], cwd=directory) + + if verbose: +- status(directory, checkoutable) # Success. ++ status(directory, commithash, True) # Success. + + + def parse_file_to_dict(path): + dictionary = {} +- execfile(path, dictionary) ++ with open(path) as f: ++ exec('def Var(x): return vars[x]\n' + f.read(), dictionary) + return dictionary + + ++def is_sha1_sum(s): ++ """SHA1 sums are 160 bits, encoded as lowercase hexadecimal.""" ++ return len(s) == 40 and all(c in '0123456789abcdef' for c in s) ++ ++ + def git_sync_deps(deps_file_path, command_line_os_requests, verbose): + """Grab dependencies, with optional platform support. + +@@ -204,19 +218,19 @@ def git_sync_deps(deps_file_path, command_line_os_requests, verbose): + raise Exception('%r is parent of %r' % (other_dir, directory)) + list_of_arg_lists = [] + for directory in sorted(dependencies): +- if not isinstance(dependencies[directory], basestring): ++ if not isinstance(dependencies[directory], str): + if verbose: +- print 'Skipping "%s".' % directory ++ sys.stdout.write( 'Skipping "%s".\n' % directory) + continue + if '@' in dependencies[directory]: +- repo, checkoutable = dependencies[directory].split('@', 1) ++ repo, commithash = dependencies[directory].split('@', 1) + else: +- raise Exception("please specify commit or tag") ++ raise Exception("please specify commit") + + relative_directory = os.path.join(deps_file_directory, directory) + + list_of_arg_lists.append( +- (git, repo, checkoutable, relative_directory, verbose)) ++ (git, repo, commithash, relative_directory, verbose)) + + multithread(git_checkout_to_directory, list_of_arg_lists) + diff --git a/.gitlab-ci/container/build-skqp_is_clang.py.patch b/.gitlab-ci/container/build-skqp_is_clang.py.patch new file mode 100644 index 00000000000..af6f6cff3c0 --- /dev/null +++ b/.gitlab-ci/container/build-skqp_is_clang.py.patch @@ -0,0 +1,13 @@ +diff --git a/gn/BUILDCONFIG.gn b/gn/BUILDCONFIG.gn +index 454334a..1797594 100644 +--- a/gn/BUILDCONFIG.gn ++++ b/gn/BUILDCONFIG.gn +@@ -80,7 +80,7 @@ if (current_cpu == "") { + is_clang = is_android || is_ios || is_mac || + (cc == "clang" && cxx == "clang++") || clang_win != "" + if (!is_clang && !is_win) { +- is_clang = exec_script("gn/is_clang.py", ++ is_clang = exec_script("//gn/is_clang.py", + [ + cc, + cxx, diff --git a/.gitlab-ci/container/lava_build.sh b/.gitlab-ci/container/lava_build.sh index 6a2b4ee6318..c9b5871873b 100755 --- a/.gitlab-ci/container/lava_build.sh +++ b/.gitlab-ci/container/lava_build.sh @@ -76,12 +76,14 @@ apt-get install -y --no-remove \ ${ARCH_PACKAGES} \ automake \ bc \ + clang \ cmake \ debootstrap \ git \ glslang-tools \ libdrm-dev \ libegl1-mesa-dev \ + libxext-dev \ libfontconfig-dev \ libgbm-dev \ libgl-dev \ diff --git a/.gitlab-ci/skqp-runner.sh b/.gitlab-ci/skqp-runner.sh index bfb156ac387..cde0af4cf91 100755 --- a/.gitlab-ci/skqp-runner.sh +++ b/.gitlab-ci/skqp-runner.sh @@ -1,4 +1,26 @@ #!/bin/sh +# +# Copyright (C) 2022 Collabora Limited +# Author: Guilherme Gallo +# +# 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. copy_tests_files() ( SKQP_BACKEND="${1}" @@ -27,8 +49,8 @@ ln -sf "$CI_PROJECT_DIR"/install /install INSTALL=${PWD}/install if [ -z "$GPU_VERSION" ]; then - echo 'GPU_VERSION must be set to something like "llvmpipe" or "freedreno-a630" (the name used in .gitlab-ci/gpu-version-*.txt)' - exit 1 + echo 'GPU_VERSION must be set to something like "llvmpipe" or "freedreno-a630" (the name used in .gitlab-ci/gpu-version-*.txt)' + exit 1 fi SKQP_ASSETS_DIR=/skqp/assets diff --git a/src/freedreno/ci/freedreno-a630-skqp-gl_rendertests.txt b/src/freedreno/ci/freedreno-a630-skqp-gl_rendertests.txt index e6dadac499e..12354a71b75 100644 --- a/src/freedreno/ci/freedreno-a630-skqp-gl_rendertests.txt +++ b/src/freedreno/ci/freedreno-a630-skqp-gl_rendertests.txt @@ -1,25 +1,18 @@ 3x3bitmaprect,0 AnimCodecPlayer,0 -BlurBigSigma,0 PlusMergesAA,0 all_bitmap_configs,0 all_variants_8888,0 alpha_image,0 alphagradients,0 -analytic_antialias_inverse,1823 +analytic_antialias_inverse,0 androidblendmodes,0 animatedGif,0 annotated_text,0 -arcto_skbug_9272,0 arithmode,0 -async_rescale_and_read_dog_down,2020 -async_rescale_and_read_dog_up,11860 -async_rescale_and_read_no_bleed,-1 -async_rescale_and_read_rose,1958 -async_rescale_and_read_text_down,49366 -async_rescale_and_read_text_up,142227 -async_rescale_and_read_yuv420_rose,42704 -backdrop_imagefilter_croprect_persp,-1 +atlastext,0 +bigbitmaprect_i,0 +bigbitmaprect_s,0 bitmap-image-srgb-legacy,0 bitmap_premul,0 bitmapcopy,0 @@ -29,23 +22,24 @@ bitmapshaders,0 bleed_downscale,0 blend,0 blob_rsxform,0 -blur2rectsnonninepatch,0 +blur2rectsnonninepatch,-1 blurSmallRadii,0 -blurrect_compare,0 +blurcircles2,0 blurrect_gallery,0 bug339297,0 +bug339297_as_clip,-1 bug583299,0 bug591993,0 bug593049,0 +bug6083,-1 bug6643,0 bug6783,0 bug7792,0 -bug9331,0 check_small_sigma_offset,0 chrome_gradtext1,0 clip_region,0 clipdrawdraw,0 -cliperror,0 +cliperror,-1 clipped-bitmap-shaders-clamp,0 clipped-bitmap-shaders-clamp-hq,0 clipped-bitmap-shaders-mirror,0 @@ -60,28 +54,31 @@ coloremoji_blendmodes,0 colorfilteralpha8,0 colorfilterimagefilter,0 colorfilterimagefilter_layer,0 +colorfiltershader,0 +colormatrix,0 colorwheel,0 colorwheelnative,0 +combinemaskfilter,0 compare_atlas_vertices,0 -complexclip2,-1 +complexclip2,0 +complexclip2_path_bw,0 complexclip4_bw,0 complexclip_blur_tiled,0 composeshader,0 composeshader_alpha,0 composeshader_bitmap,0 -composeshader_bitmap2,0 -composeshader_bitmap_lm,0 +composeshader_grid,0 copyTo4444,0 copy_on_write_retain,0 copy_on_write_savelayer,0 crbug_691386,0 crbug_899512,0 crbug_905548,0 -crbug_908646,0 crbug_918512,0 -crbug_938592,0 croppedrects,0 +dashtextcaps,-1 degenerate_gradients,0 +discard,0 distantclip,0 draw-atlas-colors,0 draw_bitmap_rect_skbug4734,0 @@ -89,16 +86,13 @@ drawregion,0 emptystroke,0 encode,0 encode-alpha-jpeg,0 -encode-platform,186173 +encode-platform,0 encode-srgb-jpg,0 encode-srgb-png,0 encode-srgb-webp,0 extractalpha,0 fadefilter,0 fast_slow_blurimagefilter,0 -fiddle,0 -fontmgr_iter,0 -fontmgr_match,0 format4444,0 gammagradienttext,0 gammatext,0 @@ -114,55 +108,77 @@ gradient_matrix,0 gradients_interesting,0 gradients_many,0 gradients_many_nodither,0 +gradtext,0 grayscalejpg,0 hardstop_gradients,0 -image-surface,768 +highcontrastfilter,0 +image-surface,0 image_subset,0 +imagealphathreshold,0 imagealphathreshold_crop,0 imagealphathreshold_surface,0 -imageblur_large,24506 -imageblurrepeatmode,-1 +imageblur2,0 +imageblur_large,0 +imageblurclampmode,0 +imageblurrepeatmode,0 imageblurtiled,0 +imagefiltersgraph,0 imagemasksubset,0 imagesrc2_high,0 imagesrc2_med,0 imagesrc2_none,0 jpg-color-cube,0 -labyrinth_butt,0 -labyrinth_square,0 +largeglyphblur,-1 lattice2,0 lattice_alpha,0 lcdblendmodes,0 -lcdtext,0 -lcdtextsize,1257 +lcdtextsize,0 lightingcolorfilter,0 +lightingshader,0 linear_gradient,0 linear_gradient_nodither,0 linear_gradient_tiny,0 localmatriximagefilter,0 localmatriximageshader,0 localmatriximageshader_filtering,0 -longlinedash,0 makeRasterImage,0 makecolorspace,0 makecolortypeandspace,0 +megalooper_0x0,0 +megalooper_1x4,0 +megalooper_4x1,0 mipmap_gray8_srgb,0 mipmap_srgb,0 -mixerCF,-1 +mixershader,0 modecolorfilters,0 +multipicturedraw_biglayer_simple,0 +multipicturedraw_biglayer_tiled,0 +multipicturedraw_invpathclip_simple,0 +multipicturedraw_invpathclip_tiled,0 +multipicturedraw_noclip_simple,0 +multipicturedraw_noclip_tiled,0 +multipicturedraw_pathclip_simple,0 +multipicturedraw_pathclip_tiled,0 +multipicturedraw_rectclip_simple,0 +multipicturedraw_rectclip_tiled,0 +multipicturedraw_rrectclip_simple,0 +multipicturedraw_rrectclip_tiled,0 +multipicturedraw_sierpinski_simple,0 +multipicturedraw_sierpinski_tiled,0 nested_bw,0 -nested_flipY_bw,0 not_native32_bitmap_config,0 offsetimagefilter,0 -onebadarc,3600 -overdraw_canvas,0 -overdrawcolorfilter,-1 -patch_alpha,-1 -patch_primitive,-1 +onebadarc,0 +orientation,0 +overdrawcolorfilter,0 +patch_alpha,0 +patch_alpha_test,0 +patch_primitive,0 path_huge_aa,0 pdf_crbug_772685,0 +perlinnoise,0 perlinnoise_localmatrix,0 -picture_cull_rect,0 +picture_savelayer,0 pictureimagegenerator,0 pictures,0 pictureshadercache,0 @@ -172,21 +188,20 @@ radial_gradient2,0 radial_gradient2_nodither,0 radial_gradient3,0 radial_gradient3_nodither,0 -rasterallocator,0 +readpixelscodec,0 +readpixelspicture,0 recordopts,0 -reinterpretcolorspace,0 repeated_bitmap,0 -rrect_clip_bw,-1 +rrect_clip_bw,0 rrect_draw_bw,0 -runtime_shader,0 -runtimefunctions,0 -save_behind,0 -scale-pixels,31488 +savelayer_clipped,0 +savelayer_unclipped,0 scaled_tilemode_bitmap,0 scaled_tilemode_gradient,0 -scaledemoji_rendering,-1 +scaled_tilemodes,0 +scaledemoji,0 +scaledemojipos,0 scalepixels_unpremul,0 -shallow_angle_path_arcto,0 shallow_gradient_conical,0 shallow_gradient_conical_nodither,0 shallow_gradient_linear,0 @@ -195,29 +210,39 @@ shallow_gradient_radial,0 shallow_gradient_radial_nodither,0 shallow_gradient_sweep,0 shallow_gradient_sweep_nodither,0 +showmiplevels2_255x255,0 +showmiplevels2_255x256,0 +showmiplevels2_256x255,0 +showmiplevels2_256x256,0 +showmiplevels_255,0 +showmiplevels_256,0 +simpleaaclip_aaclip,0 simpleshapes_bw,0 skbug_5321,0 -skbug_8955,0 +small_color_stop,0 spritebitmap,0 +srcmode,0 srgb_colorfilter,0 strokerect_anisotropic_5408,0 strokes_zoomed,0 surface_underdraw,0 surfacenew,0 -surfaceprops,8454 -tablecolorfilter,2100 +surfaceprops,0 +tablecolorfilter,0 +textblob_intercepts,0 textblobblockreordering,0 textblobcolortrans,0 -textfilter_color,50164 -textfilter_image,28032 +textfilter_color,0 +textfilter_image,0 tiled_picture_shader,0 tilemode_bitmap,0 -tilemodes_alpha,0 tinybitmap,0 +tosrgb_colorfilter,0 transparency_check,0 typefacestyles,0 unpremul,0 +wacky_yuv_formats,0 +wacky_yuv_formats_cs,0 +xfermodes2,0 xfermodes3,0 -yuv420_odd_dim,0 -yuv_splitter,-1 zerolinedash,0 diff --git a/src/freedreno/ci/freedreno-a630-skqp-gles_rendertests.txt b/src/freedreno/ci/freedreno-a630-skqp-gles_rendertests.txt deleted file mode 100644 index 9311cbe375b..00000000000 --- a/src/freedreno/ci/freedreno-a630-skqp-gles_rendertests.txt +++ /dev/null @@ -1,223 +0,0 @@ -3x3bitmaprect,0 -AnimCodecPlayer,0 -BlurBigSigma,0 -PlusMergesAA,0 -all_bitmap_configs,0 -all_variants_8888,0 -alpha_image,0 -alphagradients,0 -analytic_antialias_inverse,1857 -androidblendmodes,0 -animatedGif,0 -annotated_text,0 -arcto_skbug_9272,0 -arithmode,0 -async_rescale_and_read_dog_down,1948 -async_rescale_and_read_dog_up,12147 -async_rescale_and_read_no_bleed,94928 -async_rescale_and_read_rose,2000 -async_rescale_and_read_text_down,49285 -async_rescale_and_read_text_up,142332 -async_rescale_and_read_yuv420_rose,42619 -backdrop_imagefilter_croprect_persp,113126 -bitmap-image-srgb-legacy,0 -bitmap_premul,0 -bitmapcopy,0 -bitmaprect_rounding,0 -bitmaprecttest,0 -bitmapshaders,0 -bleed_downscale,0 -blend,0 -blob_rsxform,0 -blur2rectsnonninepatch,0 -blurSmallRadii,0 -blurrect_compare,0 -blurrect_gallery,0 -bug339297,0 -bug583299,0 -bug591993,0 -bug593049,0 -bug6643,0 -bug6783,0 -bug7792,0 -bug9331,0 -check_small_sigma_offset,0 -chrome_gradtext1,0 -clip_region,0 -clipdrawdraw,0 -cliperror,0 -clipped-bitmap-shaders-clamp,0 -clipped-bitmap-shaders-clamp-hq,0 -clipped-bitmap-shaders-mirror,0 -clipped-bitmap-shaders-mirror-hq,0 -clipped-bitmap-shaders-tile,0 -clipped-bitmap-shaders-tile-hq,0 -clippedcubic,0 -color4f,0 -color4shader,0 -colorcomposefilter_alpha,0 -coloremoji_blendmodes,0 -colorfilteralpha8,0 -colorfilterimagefilter,0 -colorfilterimagefilter_layer,0 -colorwheel,0 -colorwheelnative,0 -compare_atlas_vertices,0 -complexclip2,1751236 -complexclip4_bw,0 -complexclip_blur_tiled,0 -composeshader,0 -composeshader_alpha,0 -composeshader_bitmap,0 -composeshader_bitmap2,0 -composeshader_bitmap_lm,0 -copyTo4444,0 -copy_on_write_retain,0 -copy_on_write_savelayer,0 -crbug_691386,0 -crbug_899512,0 -crbug_905548,0 -crbug_908646,0 -crbug_918512,0 -crbug_938592,0 -croppedrects,0 -degenerate_gradients,0 -distantclip,0 -draw-atlas-colors,0 -draw_bitmap_rect_skbug4734,0 -drawregion,0 -emptystroke,0 -encode,0 -encode-alpha-jpeg,0 -encode-platform,186173 -encode-srgb-jpg,0 -encode-srgb-png,0 -encode-srgb-webp,0 -extractalpha,0 -fadefilter,0 -fast_slow_blurimagefilter,0 -fiddle,0 -fontmgr_iter,0 -fontmgr_match,0 -format4444,0 -gammagradienttext,0 -gammatext,0 -giantbitmap_clamp_point_rotate,0 -giantbitmap_clamp_point_scale,0 -giantbitmap_mirror_point_rotate,0 -giantbitmap_mirror_point_scale,0 -giantbitmap_repeat_point_rotate,0 -giantbitmap_repeat_point_scale,0 -gpusamplerstress,0 -gradient_many_stops,0 -gradient_matrix,0 -gradients_interesting,0 -gradients_many,0 -gradients_many_nodither,0 -grayscalejpg,0 -hardstop_gradients,0 -image-surface,768 -image_subset,0 -imagealphathreshold_crop,0 -imagealphathreshold_surface,0 -imageblur_large,12830 -imageblurrepeatmode,659930 -imageblurtiled,0 -imagemasksubset,0 -imagesrc2_high,0 -imagesrc2_med,0 -imagesrc2_none,0 -jpg-color-cube,0 -labyrinth_butt,0 -labyrinth_square,0 -lattice2,0 -lattice_alpha,0 -lcdblendmodes,0 -lcdtext,0 -lcdtextsize,1257 -lightingcolorfilter,0 -linear_gradient,0 -linear_gradient_nodither,0 -linear_gradient_tiny,0 -localmatriximagefilter,0 -localmatriximageshader,0 -localmatriximageshader_filtering,0 -longlinedash,0 -makeRasterImage,0 -makecolorspace,0 -makecolortypeandspace,0 -mipmap_gray8_srgb,0 -mipmap_srgb,0 -mixerCF,13510369 -modecolorfilters,0 -nested_bw,0 -nested_flipY_bw,0 -not_native32_bitmap_config,0 -offsetimagefilter,0 -onebadarc,3600 -overdraw_canvas,0 -overdrawcolorfilter,5120000 -patch_alpha,36627501 -patch_primitive,37012426 -path_huge_aa,0 -pdf_crbug_772685,0 -perlinnoise_localmatrix,0 -picture_cull_rect,0 -pictureimagegenerator,0 -pictures,0 -pictureshadercache,0 -pictureshadertile,0 -radial_gradient,0 -radial_gradient2,0 -radial_gradient2_nodither,0 -radial_gradient3,0 -radial_gradient3_nodither,0 -rasterallocator,0 -recordopts,0 -reinterpretcolorspace,0 -repeated_bitmap,0 -rrect_clip_bw,8696919 -rrect_draw_bw,0 -runtime_shader,0 -runtimefunctions,0 -save_behind,0 -scale-pixels,31488 -scaled_tilemode_bitmap,0 -scaled_tilemode_gradient,0 -scaledemoji_rendering,8819460 -scalepixels_unpremul,0 -shallow_angle_path_arcto,0 -shallow_gradient_conical,0 -shallow_gradient_conical_nodither,0 -shallow_gradient_linear,0 -shallow_gradient_linear_nodither,0 -shallow_gradient_radial,0 -shallow_gradient_radial_nodither,0 -shallow_gradient_sweep,0 -shallow_gradient_sweep_nodither,0 -simpleshapes_bw,0 -skbug_5321,0 -skbug_8955,0 -spritebitmap,0 -srgb_colorfilter,0 -strokerect_anisotropic_5408,0 -strokes_zoomed,0 -surface_underdraw,0 -surfacenew,0 -surfaceprops,8433 -tablecolorfilter,285 -textblobblockreordering,0 -textblobcolortrans,0 -textfilter_color,50164 -textfilter_image,28090 -tiled_picture_shader,0 -tilemode_bitmap,0 -tilemodes_alpha,0 -tinybitmap,0 -transparency_check,0 -typefacestyles,0 -unpremul,0 -xfermodes3,0 -yuv420_odd_dim,0 -yuv_splitter,419859 -zerolinedash,0