diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 7c0ed0048e2..2dec40bd511 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -486,7 +486,7 @@ fedora/x86_build: variables: GIT_STRATEGY: fetch KERNEL_URL: *kernel-rootfs-url - MESA_ROOTFS_TAG: &kernel-rootfs "2021-12-02-piglit" + MESA_ROOTFS_TAG: &kernel-rootfs "2021-12-22-skqp" DISTRIBUTION_TAG: &distribution-tag-arm "${MESA_ROOTFS_TAG}--${MESA_ARTIFACTS_TAG}--${MESA_TEMPLATES_COMMIT}" script: - .gitlab-ci/container/lava_build.sh diff --git a/.gitlab-ci/common/generate-env.sh b/.gitlab-ci/common/generate-env.sh index bcb11407903..232d54c420c 100755 --- a/.gitlab-ci/common/generate-env.sh +++ b/.gitlab-ci/common/generate-env.sh @@ -87,6 +87,8 @@ for var in \ PIGLIT_RESULTS \ PIGLIT_TESTS \ PIPELINE_ARTIFACTS_BASE \ + SKQP_ASSETS_DIR \ + SKQP_BACKENDS \ TU_DEBUG \ VK_CPU \ VK_DRIVER \ diff --git a/.gitlab-ci/container/build-skqp.sh b/.gitlab-ci/container/build-skqp.sh new file mode 100755 index 00000000000..eaa049d452a --- /dev/null +++ b/.gitlab-ci/container/build-skqp.sh @@ -0,0 +1,82 @@ +#!/bin/bash + +create_gn_args() { + 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 + + # The following patch transforms download_model.py from python2 to python3. + git apply "${DOWNLOAD_MODEL_PATCH_FILE}" + python3 tools/skqp/download_model.py + + # Copy resources from skia to skqp directory + python3 tools/skqp/setup_resources +) + +set -ex + +SCRIPT_DIR=$(realpath "$(dirname "$0")") +FETCH_GN_PATCH_FILE="${SCRIPT_DIR}/build-skqp_fetch-gn.patch" +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) + +# 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}" + +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 + +mkdir -p "${SKQP_OUT_DIR}" +mkdir -p "${SKQP_INSTALL_DIR}" + +create_gn_args + +# Build and install skqp binaries +bin/gn gen "${SKQP_OUT_DIR}" + +for BINARY in "${SKQP_BINARIES[@]}" +do + /usr/bin/ninja -C "${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 +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_base.gn b/.gitlab-ci/container/build-skqp_base.gn new file mode 100644 index 00000000000..1b2e93e6a99 --- /dev/null +++ b/.gitlab-ci/container/build-skqp_base.gn @@ -0,0 +1,25 @@ +cc = "gcc" +cxx = "g++" + +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" ] + +is_debug = false + +skia_enable_fontmgr_android = false +skia_enable_fontmgr_empty = true +skia_enable_pdf = false +skia_enable_skottie = false + +skia_skqp_global_error_tolerance = 8 +skia_tools_require_resources = true + +skia_use_dng_sdk = false +skia_use_expat = true +skia_use_icu = false +skia_use_libheif = false +skia_use_lua = false +skia_use_piex = false +skia_use_vulkan = true + +target_os = "linux" diff --git a/.gitlab-ci/container/build-skqp_download_model.patch b/.gitlab-ci/container/build-skqp_download_model.patch new file mode 100644 index 00000000000..b6d3a8a03b1 --- /dev/null +++ b/.gitlab-ci/container/build-skqp_download_model.patch @@ -0,0 +1,22 @@ +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 new file mode 100644 index 00000000000..d3332fc16eb --- /dev/null +++ b/.gitlab-ci/container/build-skqp_fetch-gn.patch @@ -0,0 +1,13 @@ +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/create-rootfs.sh b/.gitlab-ci/container/create-rootfs.sh index 674fd62e457..95acd5e5462 100644 --- a/.gitlab-ci/container/create-rootfs.sh +++ b/.gitlab-ci/container/create-rootfs.sh @@ -3,7 +3,11 @@ set -ex if [ $DEBIAN_ARCH = arm64 ]; then - ARCH_PACKAGES="firmware-qcom-media" + ARCH_PACKAGES="firmware-qcom-media + libfontconfig1 + libgl1 + libglu1-mesa + " elif [ $DEBIAN_ARCH = amd64 ]; then ARCH_PACKAGES="firmware-amd-graphics libelf1 diff --git a/.gitlab-ci/container/lava_build.sh b/.gitlab-ci/container/lava_build.sh index 9c4fb35d5b8..76336f5769d 100755 --- a/.gitlab-ci/container/lava_build.sh +++ b/.gitlab-ci/container/lava_build.sh @@ -82,8 +82,12 @@ apt-get install -y --no-remove \ glslang-tools \ libdrm-dev \ libegl1-mesa-dev \ + libfontconfig-dev \ libgbm-dev \ + libgl-dev \ libgles2-mesa-dev \ + libglu1-mesa-dev \ + libglx-dev \ libpng-dev \ libssl-dev \ libudev-dev \ @@ -93,11 +97,14 @@ apt-get install -y --no-remove \ libx11-xcb-dev \ libxcb-dri2-0-dev \ libxkbcommon-dev \ + ninja-build \ patch \ + python-is-python3 \ python3-distutils \ python3-mako \ python3-numpy \ python3-serial \ + unzip \ wget @@ -141,6 +148,13 @@ DEQP_TARGET=surfaceless . .gitlab-ci/container/build-deqp.sh mv /deqp /lava-files/rootfs-${DEBIAN_ARCH}/. +############### Build SKQP +if [[ "$DEBIAN_ARCH" = "arm64" ]]; then + SKQP_ARCH="arm64" . .gitlab-ci/container/build-skqp.sh + mv /skqp /lava-files/rootfs-${DEBIAN_ARCH}/. +fi + + ############### Build piglit PIGLIT_OPTS="-DPIGLIT_BUILD_DMA_BUF_TESTS=ON" . .gitlab-ci/container/build-piglit.sh mv /piglit /lava-files/rootfs-${DEBIAN_ARCH}/. diff --git a/.gitlab-ci/skqp-runner.sh b/.gitlab-ci/skqp-runner.sh new file mode 100755 index 00000000000..bfb156ac387 --- /dev/null +++ b/.gitlab-ci/skqp-runner.sh @@ -0,0 +1,85 @@ +#!/bin/sh + +copy_tests_files() ( + SKQP_BACKEND="${1}" + SKQP_FILE_PREFIX="${INSTALL}/${GPU_VERSION}-skqp" + + if echo "${SKQP_BACKEND}" | grep -qE 'gl(es)?' + then + SKQP_RENDER_TESTS_FILE="${SKQP_FILE_PREFIX}-${SKQP_BACKEND}_rendertests.txt" + cp "${SKQP_RENDER_TESTS_FILE}" "${SKQP_ASSETS_DIR}"/skqp/rendertests.txt + return 0 + fi + + # The unittests.txt path is hardcoded inside assets directory, + # that is why it needs to be a special case. + if echo "${SKQP_BACKEND}" | grep -qE "unitTest" + then + cp "${SKQP_FILE_PREFIX}_unittests.txt" "${SKQP_ASSETS_DIR}"/skqp/unittests.txt + fi +) + +set -ex + +# Needed so configuration files can contain paths to files in /install +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 +fi + +SKQP_ASSETS_DIR=/skqp/assets +SKQP_RESULTS_DIR="${SKQP_RESULTS_DIR:-results}" + +mkdir "${SKQP_ASSETS_DIR}"/skqp + +SKQP_EXITCODE=0 +for SKQP_BACKEND in ${SKQP_BACKENDS} +do + set -e + copy_tests_files "${SKQP_BACKEND}" + + set +e + SKQP_BACKEND_RESULTS_DIR="${SKQP_RESULTS_DIR}"/"${SKQP_BACKEND}" + mkdir -p "${SKQP_BACKEND_RESULTS_DIR}" + /skqp/skqp "${SKQP_ASSETS_DIR}" '' "${SKQP_BACKEND_RESULTS_DIR}" "${SKQP_BACKEND}_" + BACKEND_EXITCODE=$? + + if [ ! $BACKEND_EXITCODE -eq 0 ] + then + echo "skqp failed on ${SKQP_BACKEND} tests with ${BACKEND_EXITCODE} exit code." + fi + + # Propagate error codes to leverage the final job result + SKQP_EXITCODE=$(( SKQP_EXITCODE | BACKEND_EXITCODE )) +done + +set +x + +# Unit tests produce empty HTML reports, guide the user to check the TXT file. +if echo "${SKQP_BACKENDS}" | grep -qE "unitTest" +then + # Remove the empty HTML report to avoid confusion + rm -f "${SKQP_RESULTS_DIR}"/unitTest/report.html + + echo "See skqp unit test results at:" + echo "https://$CI_PROJECT_ROOT_NAMESPACE.pages.freedesktop.org/-/$CI_PROJECT_NAME/-/jobs/$CI_JOB_ID/artifacts/${SKQP_RESULTS_DIR}/unitTest/unit_tests.txt" +fi + +for REPORT in "${SKQP_RESULTS_DIR}"/**/report.html +do + BACKEND_NAME=$(echo "${REPORT}" | sed 's@.*/\([^/]*\)/report.html@\1@') + echo "See skqp ${BACKEND_NAME} render tests report at:" + echo "https://$CI_PROJECT_ROOT_NAMESPACE.pages.freedesktop.org/-/$CI_PROJECT_NAME/-/jobs/$CI_JOB_ID/artifacts/${REPORT}" +done + +# If there is no report available, tell the user that something is wrong. +if [ ! -f "${REPORT}" ] +then + echo "No skqp report available. Probably some fatal error has occured during the skqp execution." +fi + +exit $SKQP_EXITCODE diff --git a/src/freedreno/ci/freedreno-a630-skqp-gl_rendertests.txt b/src/freedreno/ci/freedreno-a630-skqp-gl_rendertests.txt new file mode 100644 index 00000000000..e6dadac499e --- /dev/null +++ b/src/freedreno/ci/freedreno-a630-skqp-gl_rendertests.txt @@ -0,0 +1,223 @@ +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 +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 +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,-1 +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,24506 +imageblurrepeatmode,-1 +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,-1 +modecolorfilters,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 +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,-1 +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,-1 +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,8454 +tablecolorfilter,2100 +textblobblockreordering,0 +textblobcolortrans,0 +textfilter_color,50164 +textfilter_image,28032 +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,-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 new file mode 100644 index 00000000000..9311cbe375b --- /dev/null +++ b/src/freedreno/ci/freedreno-a630-skqp-gles_rendertests.txt @@ -0,0 +1,223 @@ +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 diff --git a/src/freedreno/ci/freedreno-a630-skqp_unittests.txt b/src/freedreno/ci/freedreno-a630-skqp_unittests.txt new file mode 100644 index 00000000000..6c451689490 --- /dev/null +++ b/src/freedreno/ci/freedreno-a630-skqp_unittests.txt @@ -0,0 +1,508 @@ +AbandonedContextImage +AdvancedBlendTest +ApplyGamma +AsyncReadPixelsContextShutdown +BasicDrawOpAtlas +BlurMaskBiggerThanDest +BulkFillRectTest +BulkTextureRectTest +CharacterizationFBO0nessTest +CharacterizationVkSCBnessTest +ClearOp +ClipStack_SWMask +ColorTypeBackendAllocationTest +ComposedImageFilterBounds_Gpu +ComposedImageFilterOffset_Gpu +CompressedBackendAllocationTest +CopySurface +DDLCompatibilityTest +DDLCreateCharacterizationFailures +DDLInvalidRecorder +DDLMakeRenderTargetTest +DDLMultipleDDLs +DDLNonTextureabilityTest +DDLOperatorEqTest +DDLSkSurfaceFlush +DDLSurfaceCharacterizationTest +DDLTextureFlagsTest +DDLWrapBackendTest +DMSAA_aa_dst_read_after_dmsaa +DMSAA_dst_read +DMSAA_dst_read_with_existing_barrier +DMSAA_dual_source_blend_disable +DMSAA_preserve_contents +DSLBitwiseAnd +DSLBitwiseNot +DSLBitwiseOr +DSLBitwiseXor +DSLBlock +DSLBool +DSLBreak +DSLBuiltins +DSLCall +DSLComma +DSLContinue +DSLDeclare +DSLDeclareGlobal +DSLDecrement +DSLDiscard +DSLDivide +DSLDo +DSLES3Types +DSLEqual +DSLErrorLineNumbers +DSLExtension +DSLFlags +DSLFloat +DSLFor +DSLFunction +DSLGreaterThan +DSLGreaterThanOrEqual +DSLHalf +DSLIf +DSLImportOnly +DSLIncrement +DSLIndex +DSLInlining +DSLInt +DSLInterfaceBlock +DSLLayout +DSLLessThan +DSLLessThanOrEqual +DSLLogicalAnd +DSLLogicalNot +DSLLogicalOr +DSLLogicalXor +DSLMatrices +DSLMinus +DSLMod +DSLModifiers +DSLModifiersDeclaration +DSLMultiply +DSLNotEqual +DSLPlus +DSLPrototypes +DSLRTAdjust +DSLReleaseUnused +DSLReturn +DSLRuntimeEffectSimple_GPU +DSLSampleShader +DSLSelect +DSLShl +DSLShort +DSLShr +DSLStartup +DSLStruct +DSLSwitch +DSLSwizzle +DSLType +DSLUInt +DSLUShort +DSLVarSwap +DSLWhile +DSLWrapper +DefaultPathRendererTest +DeferredProxyTest +DefferredProxyConversionTest +EGLImageTest +ES2BlendWithNoTexture +EmptySurfaceSemaphoreTest +ExtendedSkColorTypeTests_gpu +FlushFinishedProcTest +FlushSubmittedProcTest +FullScreenClearWithLayers +GLBackendAllocationTest +GLReadPixelsUnbindPBO +GLTextureParameters +GPUMemorySize +GpuDrawPath +GpuRectanizer +Gr1x1TextureMipMappedTest +GrAtlasTextOpPreparation +GrBackendTextureImageMipMappedTest +GrContextDump +GrContextFactory_abandon +GrContextFactory_executorAndTaskGroup +GrContextFactory_sharedContexts +GrContext_abandonContext +GrContext_colorTypeSupportedAsImage +GrContext_colorTypeSupportedAsSurface +GrContext_maxSurfaceSamplesForColorType +GrContext_oomed +GrDDLImage_MakeSubset +GrDrawCollapsedPath +GrDrawOpAtlasConfig_Basic +GrImageSnapshotMipMappedTest +GrManyDependentsMipMappedTest +GrMeshTest +GrPipelineDynamicStateTest +GrPorterDuff +GrSkSLFP_Specialized +GrSkSLFP_UniformArray +GrSlug_empty +GrSurface +GrSurfaceRenderability +GrTextBlobMoveAround +GrTextBlobScaleAnimation +GrTextureMipMapInvalidationTest +GrThreadSafeCache10View +GrThreadSafeCache11Verts +GrThreadSafeCache11View +GrThreadSafeCache12Verts +GrThreadSafeCache12View +GrThreadSafeCache13Verts +GrThreadSafeCache13View +GrThreadSafeCache14 +GrThreadSafeCache15Verts +GrThreadSafeCache15View +GrThreadSafeCache16Verts +GrThreadSafeCache1Verts +GrThreadSafeCache1View +GrThreadSafeCache2Verts +GrThreadSafeCache2View +GrThreadSafeCache3Verts +GrThreadSafeCache3View +GrThreadSafeCache4Verts +GrThreadSafeCache4View +GrThreadSafeCache4_5Verts +GrThreadSafeCache4_5View +GrThreadSafeCache4_75Verts +GrThreadSafeCache4_75View +GrThreadSafeCache5Verts +GrThreadSafeCache5View +GrThreadSafeCache6Verts +GrThreadSafeCache6View +GrThreadSafeCache7Verts +GrThreadSafeCache7View +GrThreadSafeCache8Verts +GrThreadSafeCache8View +GrThreadSafeCache9Verts +GrThreadSafeCache9View +GrWrappedMipMappedTest +HalfFloatAlphaTextureTest +HalfFloatRGBATextureTest +ImageAsyncReadPixels +ImageBackendAccessAbandoned_Gpu +ImageEncode_Gpu +ImageFilterBlurLargeImage_Gpu +ImageFilterCache_GPUBacked +ImageFilterCache_ImageBackedGPU +ImageFilterClippedPictureImageFilter_Gpu +ImageFilterCropRect_Gpu +ImageFilterFailAffectsTransparentBlack_Gpu +ImageFilterHugeBlur_Gpu +ImageFilterMakeWithFilter_Gpu +ImageFilterMatrixConvolutionBigKernel_Gpu +ImageFilterMergeResultSize_Gpu +ImageFilterNegativeBlurSigma_Gpu +ImageFilterZeroBlurSigma_Gpu +ImageFlush +ImageIsOpaqueTest_Gpu +ImageLegacyBitmap_Gpu +ImageNewShader_GPU +ImagePeek_Gpu +ImageReadPixels_Gpu +ImageScalePixels_Gpu +InitialTextureClear +LazyProxyFailedInstantiationTest +LazyProxyReleaseTest +LazyProxyTest +MatrixColorFilter_TransparentBlack +MorphologyFilterRadiusWithMirrorCTM_Gpu +OpChainTest +OpsTaskFlushCount +OverbudgetFlush +OverdrawSurface_Gpu +PathTest_CrBug1232834 +PinnedImageTest +PorterDuffNoDualSourceBlending +PreinstantiatedProxyConversionTest +PremulAlphaRoundTrip_Gpu +ProcessorCloneTest +ProcessorRefTest +Programs +PromiseImageNullFulfill +PromiseImageTest +PromiseImageTextureFullCache +PromiseImageTextureShutdown +ProxyRefTest +PurgeToMakeHeadroom +ReadOnlyTexture +ReadPixels_InvalidRowBytes_Gpu +RectangleTexture +ReimportImageTextureWithMipLevels +RepeatedClippedBlurTest +ReplaceSurfaceBackendTexture +ResourceAllocatorMemoryBudgetTest +ResourceAllocatorStressTest +ResourceAllocatorTest +ResourceCacheCache +ResourceCacheMisc +ResourceCacheStencilBuffers +ResourceCacheWrappedResources +ResourceMessagesAfterAbandon +SRGBReadWritePixels +SkImage_CrossContextGrayAlphaConfigs +SkImage_Gpu2Cpu +SkImage_MakeCrossContextFromPixmapRelease +SkImage_NewFromTextureRelease +SkImage_makeNonTextureImage +SkImage_makeTextureImage +SkRemoteGlyphCache_CacheMissReporting +SkRemoteGlyphCache_DrawTextAsDFT +SkRemoteGlyphCache_DrawTextAsMaskWithPathFallback +SkRemoteGlyphCache_DrawTextAsPath +SkRemoteGlyphCache_DrawTextXY +SkRemoteGlyphCache_ReleaseTypeFace +SkRemoteGlyphCache_StrikeSerialization +SkRemoteGlyphCache_TypefaceWithNoPaths +SkRuntimeBlender_GPU +SkRuntimeEffectSimple_GPU +SkRuntimeEffect_Blender_GPU +SkRuntimeShaderImageFilter_GPU +SkRuntimeStructNameReuse_GPU +SkSLArrayCast_GPU +SkSLArrayComparison_GPU +SkSLArrayConstructors_GPU +SkSLArrayFollowedByScalar_GPU +SkSLArrayNarrowingConversions_GPU +SkSLArraySizeFolding_GPU +SkSLArrayTypes_GPU +SkSLAssignmentOps_GPU +SkSLAssignment_GPU +SkSLBoolFolding_GPU +SkSLCastFolding_GPU +SkSLCastsRoundTowardZero_GPU +SkSLCommaMixedTypes_GPU +SkSLConstArray_GPU +SkSLConstVariableComparison_GPU +SkSLConstantIf_GPU +SkSLCross +SkSLDeadIfStatement_GPU +SkSLDeadLoopVariable_GPU +SkSLDeadReturn_GPU +SkSLDeadStripFunctions_GPU +SkSLDependentInitializers_GPU +SkSLDoWhileBodyMustBeInlinedIntoAScope_GPU +SkSLDoWhileControlFlow_GPU +SkSLDoWhileTestCannotBeInlined_GPU +SkSLEmptyBlocksES2_GPU +SkSLEmptyBlocksES3_GPU +SkSLFloatFolding_GPU +SkSLForBodyMustBeInlinedIntoAScope_GPU +SkSLForInitializerExpressionsCanBeInlined_GPU +SkSLForLoopControlFlow_GPU +SkSLForWithReturnInsideCannotBeInlined_GPU +SkSLForWithoutReturnInsideCanBeInlined_GPU +SkSLFunctionArgTypeMatch_GPU +SkSLFunctionPrototype_GPU +SkSLFunctionReturnTypeMatch_GPU +SkSLFunctions_GPU +SkSLGeometricIntrinsics_GPU +SkSLHelloWorld_GPU +SkSLHexUnsigned_GPU +SkSLHex_GPU +SkSLIfBodyMustBeInlinedIntoAScope_GPU +SkSLIfElseBodyMustBeInlinedIntoAScope_GPU +SkSLIfElseChainWithReturnsCanBeInlined_GPU +SkSLIfTestCanBeInlined_GPU +SkSLIfWithReturnsCanBeInlined_GPU +SkSLInlineKeywordOverridesThreshold_GPU +SkSLInlineThreshold_GPU +SkSLInlineWithModifiedArgument_GPU +SkSLInlineWithNestedBigCalls_GPU +SkSLInlineWithUnmodifiedArgument_GPU +SkSLInlineWithUnnecessaryBlocks_GPU +SkSLInlinerAvoidsVariableNameOverlap_GPU +SkSLInlinerElidesTempVarForReturnsInsideBlock_GPU +SkSLInlinerUsesTempVarForMultipleReturns_GPU +SkSLInlinerUsesTempVarForReturnsInsideBlockWithVar_GPU +SkSLIntFoldingES2_GPU +SkSLIntFoldingES3_GPU +SkSLIntrinsicAbsFloat_GPU +SkSLIntrinsicCeil_GPU +SkSLIntrinsicClampInt_GPU +SkSLIntrinsicClampUInt_GPU +SkSLIntrinsicDFdx_GPU +SkSLIntrinsicDFdy_GPU +SkSLIntrinsicDeterminant_GPU +SkSLIntrinsicFloatBitsToInt_GPU +SkSLIntrinsicFloatBitsToUint_GPU +SkSLIntrinsicFwidth_GPU +SkSLIntrinsicIntBitsToFloat_GPU +SkSLIntrinsicIsInf_GPU +SkSLIntrinsicMatrixCompMultES2_GPU +SkSLIntrinsicMatrixCompMultES3_GPU +SkSLIntrinsicMaxFloat_GPU +SkSLIntrinsicMinFloat_GPU +SkSLIntrinsicModf_GPU +SkSLIntrinsicOuterProduct_GPU +SkSLIntrinsicRoundEven_GPU +SkSLIntrinsicRound_GPU +SkSLIntrinsicSignFloat_GPU +SkSLIntrinsicStep_GPU +SkSLIntrinsicTranspose_GPU +SkSLIntrinsicTrunc_GPU +SkSLIntrinsicUintBitsToFloat_GPU +SkSLLoopFloat_GPU +SkSLLoopInt_GPU +SkSLMatricesNonsquare_GPU +SkSLMatrices_GPU +SkSLMatrixEquality_GPU +SkSLMatrixFoldingES3_GPU +SkSLMatrixScalarSplat_GPU +SkSLMatrixToVectorCast_GPU +SkSLMultipleAssignments_GPU +SkSLNegation_GPU +SkSLNoInline_GPU +SkSLNumberCasts_GPU +SkSLOperatorsES2_GPU +SkSLOperatorsES3_GPU +SkSLOssfuzz36852_GPU +SkSLPrecisionQualifiers_GPU +SkSLQualifierOrder_GPU +SkSLResizeMatrixNonsquare_GPU +SkSLResizeMatrix_GPU +SkSLReturnsValueOnEveryPathES2_GPU +SkSLReturnsValueOnEveryPathES3_GPU +SkSLScalarConversionConstructorsES2_GPU +SkSLScalarConversionConstructorsES3_GPU +SkSLScopedSymbol_GPU +SkSLSelfAssignment_GPU +SkSLShortCircuitBoolFolding_GPU +SkSLShortCircuitEvaluationsCannotInlineRightHandSide_GPU +SkSLStackingVectorCasts_GPU +SkSLStaticIf_GPU +SkSLStaticSwitchInline_GPU +SkSLStaticSwitch_GPU +SkSLStructArrayFollowedByScalar_GPU +SkSLStructsCanBeInlinedSafely_GPU +SkSLStructsInFunctions_GPU +SkSLSwitchDefaultOnly_GPU +SkSLSwitchWithFallthrough_GPU +SkSLSwitchWithLoops_GPU +SkSLSwitch_GPU +SkSLSwizzleBoolConstants_GPU +SkSLSwizzleByConstantIndex_GPU +SkSLSwizzleByIndex_GPU +SkSLSwizzleCanBeInlinedDirectly_GPU +SkSLSwizzleConstants_GPU +SkSLSwizzleFolding_GPU +SkSLSwizzleLTRB_GPU +SkSLSwizzleOpt_GPU +SkSLSwizzleScalarBool_GPU +SkSLSwizzleScalarInt_GPU +SkSLSwizzleScalar_GPU +SkSLTernaryAsLValueEntirelyFoldable_GPU +SkSLTernaryAsLValueFoldableTest_GPU +SkSLTernaryExpression_GPU +SkSLTernaryResultsCannotBeInlined_GPU +SkSLTernaryTestCanBeInlined_GPU +SkSLTrivialArgumentsInlineDirectly_GPU +SkSLUnaryPositiveNegative_GPU +SkSLUniformArray_GPU +SkSLUnusedVariables_GPU +SkSLVectorConstructors_GPU +SkSLVectorScalarFolding_GPU +SkSLVectorToMatrixCast_GPU +SkSLVectorVectorFolding_GPU +SkSLWhileBodyMustBeInlinedIntoAScope_GPU +SkSLWhileLoopControlFlow_GPU +SkSLWhileTestCannotBeInlined_GPU +SkSL_ES2Conformance_Pass_GPU +SkTraceMemoryDump_ownedGLBuffer +SkTraceMemoryDump_ownedGLRenderTarget +SkTraceMemoryDump_ownedGLTexture +SkTraceMemoryDump_ownedGLTextureRenderTarget +SkTraceMemoryDump_unownedGLRenderTarget +SkTraceMemoryDump_unownedGLTexture +SkipCopyTaskTest +SkipOpsTaskTest +SmallBoxBlurBug +SoftwarePathRendererCacheTest +SpecialImage_GPUDevice +SpecialImage_Gpu +SpecialSurface_Gpu1 +SrcSrcOverBatchTest +SurfaceAbandonPostFlush_Gpu +SurfaceAsyncReadPixels +SurfaceAttachStencil_Gpu +SurfaceBackendAccessAbandoned_Gpu +SurfaceBackendHandleAccessIDs_Gpu +SurfaceBackendSurfaceAccessCopyOnWrite_Gpu +SurfaceBudget +SurfaceCRBug263329_Gpu +SurfaceCanvasPeek_Gpu +SurfaceClear_Gpu +SurfaceContextReadPixels +SurfaceContextWritePixels +SurfaceContextWritePixelsMipped +SurfaceCopyOnWrite_Gpu +SurfaceDrawContextTest +SurfaceEmpty_Gpu +SurfaceNoCanvas_Gpu +SurfacePartialDraw_Gpu +SurfaceSemaphores +SurfaceSnapshotAlphaType_Gpu +SurfaceWrappedWithRelease_Gpu +SurfaceWriteableAfterSnapshotRelease_Gpu +SurfacepeekTexture_Gpu +TestGpuAllContexts +TestGpuFactory +TestGpuRenderingContexts +TestMockContext +TextBlobAbnormal +TextBlobCache +TextBlobJaggedGlyph +TextBlobSmoothScroll +TextBlobStressAbnormal +TextBlobStressCache +TextureBindingsResetTest +TextureOpTest +TextureProxyTest +TextureStripAtlasManagerColorFilterTest +TextureStripAtlasManagerGradientTest +TransferPixelsFromTextureTest +TransferPixelsToTextureTest +TriangulatingPathRendererCacheTest +TriangulatingPathRendererTests +UnpremulTextureImage +VertexAttributeCount +VkBackendAllocationTest +VkBackendSurfaceMutableStateTest +VkDRMModifierTest +VkDrawableImportTest +VkDrawableTest +VkImageLayoutTest +VkProtectedContext_AsyncReadFromProtectedSurface +VkProtectedContext_CreateNonprotectedTextureInProtectedContext +VkProtectedContext_CreateProtectedContext +VkProtectedContext_CreateProtectedSkSurface +VkProtectedContext_CreateProtectedTextureInNonprotectedContext +VkProtectedContext_DDLMakeRenderTargetTest +VkProtectedContext_DDLSurfaceCharacterizationTest +VkProtectedContext_DrawProtectedImageOnProtectedSurface +VkProtectedContext_DrawRectangle +VkProtectedContext_DrawRectangleWithAntiAlias +VkProtectedContext_DrawRectangleWithBlendMode +VkProtectedContext_DrawRectangleWithFilter +VkProtectedContext_DrawThinPath +VkProtectedContext_ReadFromProtectedSurface +VkProtectedContext_SaveLayer +VkWrapTests +VulkanPriorityExtension +WrappedProxyTest +WrappedSurfaceCopyOnWrite +WritePixelsMSAA_Gpu +WritePixelsNonTextureMSAA_Gpu +WritePixelsNonTexture_Gpu +WritePixelsPendingIO +WritePixels_Gpu +WritePixels_InvalidRowBytes_Gpu +XfermodeImageFilterCroppedInput_Gpu +ZeroSizedProxyTest +crbug_1271431 +makeBackendTexture +skbug12214 +skbug5221_GPU +skbug6653