ci: Build skqp on ARM64 images

This commit makes `kernel+rootfs_arm64` job build and install skqp on
ARM64 devices rootfs.

Skia repository has a tool to prepare skqp models located at
`tools/skqp/cut-release`, which get files from [Skia
Gold](https://skia.org/docs/dev/testing/skiagold/), generate
files.checksum, rendertests.txt and unittests.txt. One gives a range of
commits to let `cut-release` find the right resources to prepare skqp
for the user. However, it is failing, since it fails when trying to get
image packages from a range of commits via HTTPS from the host
https://public-gold.skia.org but it responds with error 404 every time.
I tried a range a thousand of commits, yet it still does not give
results. The workaround employed was to recover the most recent
`files.checksum` and `rendertests.txt` files from the git history and
generate `unittests.txt` from `list_gpu_unit_tests` binary.

`skqp` runs two lists of tests, `rendertests.txt` and `unittests.txt`.
Both must be located inside the `skqp` assets folder.  The first list
uses GL and GLES to test rendering scenarios. The second runs some unit
tests that do not render an image per se.

In order to make the first `a630_skqp` to be green, the crashing tests
were removed from the test lists and the expectations of the failing
ones were updated.

It is worth noting that `rendertests.txt` can bring some detail about
each test expectation, so each test can have a max pixel error count, to
tell `skqp` that it is OK to have at most that number of errors for that
test. See also:
https://github.com/google/skia/blob/main/tools/skqp/README_ALGORITHM.md

As each render backend has a different error count, two different
`rendertests.txt` files were created,
`src/freedreno/ci/freedreno-a630-skqp-gl_rendertests.txt`,
`src/freedreno/ci/freedreno-a630-skqp-gles_rendertests.txt` and
, which one refers to GL and GLES tests respectfully.
The unit tests file for a630 is located at
`src/freedreno/ci/freedreno-a630-skqp_unittests.txt`

```
aaclip
domain
formats
highcontrastfilter
rectangle_texture
yuv_make_color_space
```

```
ProcessorOptimizationValidationTest
VkProtectedContext_CreateNonprotectedContext
VkYCbcrSampler_DrawImageWithYcbcrSampler
VkYCbcrSampler_NoYcbcrSurface
```

Each test was updated with the max_error count equal to the first run result.

```
analytic_antialias_inverse
async_rescale_and_read_dog_down
async_rescale_and_read_dog_up
async_rescale_and_read_rose
async_rescale_and_read_text_down
async_rescale_and_read_text_up
async_rescale_and_read_text_up_large
async_rescale_and_read_yuv420_rose
complexclip2_path_bw
encode-platform
imageblur_large
lcdtextsize
onebadarc
onefailarc
scale-pixels
surfaceprops
textfilter_color
textfilter_image
```

Considering all the following tests results as wrong.

```
async_rescale_and_read_no_bleed
backdrop_imagefilter_croprect_persp
complexclip2
imageblurrepeatmode
mixerCF
overdrawcolorfilter
patch_alpha
patch_primitive
rrect_clip_bw
scaledemoji_rendering
yuv_splitter
```

v2:
  a) add link to HTML report on job log
  b) remove extraneous spaces diff
  c) remove unnecessary conditions from build-skqp.sh
  d) use fixed skqp source commit SHA

v3:
  a) Use only main skia repository to fetch models and build skqp
  b) Use list_gpu_unit_tests binary to create a base unittests.txt file
  c) Remove crashing tests
  d) Set failing tests expectations for the first skqp run

v4:
  a) Remove clang dependency
  b) Separate each skqp backend result into its folder
  c) Regroup a630_skqp in one job

v5:
  a) Separate tests files per driver

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5580
Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14146>
This commit is contained in:
Guilherme Gallo 2021-12-07 11:13:00 -03:00 committed by Marge Bot
parent a255f6f823
commit 8992cf5ab8
12 changed files with 1203 additions and 2 deletions

View File

@ -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

View File

@ -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 \

View File

@ -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

View File

@ -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"

View File

@ -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)

View File

@ -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(

View File

@ -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

View File

@ -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}/.

85
.gitlab-ci/skqp-runner.sh Executable file
View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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