5c612ade3b
This sample attempts to re-create an image's alpha channel by drawing it one pixel at a time and timing how long each pixel takes to draw. The "abc" text should appear twice normally, and the third and fourth versions are reconstructed from timing, one by timing 1:1 pixel draws, the other by timing 1x1:1024x1024 upscale into an offscreen. It's not meant to be an exact reconstruction, but you can easily see the shapes, particularly at -O0, -O1, and -Os. Auto-vectorization from -O2/-O3 do a good amount to cover up the problem. The legacy CPU backend is the main place to look. I haven't been able to reconstruct any images using SkRasterPipelineBlitter or SkVMBlitter, and while on the GPU I do see non-random patterns in the timing, it appears to be the same single pattern across devices, OSes, GPUs, GPU APIs and content... I assume it's something like our resource caching policy. This can't really be a GM, given how it draws non-deterministically. Bug: chromium:1088224 Change-Id: I2ec79c8dd407ecb104fd9bf0c8039cb6dd1fe436 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313466 Commit-Queue: Mike Klein <mtklein@google.com> Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Mike Reed <reed@google.com> |
||
---|---|---|
.. | ||
toolchain | ||
__init__.py | ||
bench.gni | ||
BUILD.gn | ||
BUILDCONFIG.gn | ||
call.py | ||
checkdir.py | ||
checkpath.py | ||
codesign_ios.py | ||
compile_ib_files.py | ||
compile_processors.py | ||
copy_git_directory.py | ||
core.gni | ||
cp.py | ||
create_sksl_fp.py | ||
dehydrate_sksl.py | ||
effects_imagefilters.gni | ||
effects.gni | ||
find_headers.py | ||
find_msvc.py | ||
find_xcode_sysroot.py | ||
flutter_defines.gni | ||
fuchsia_defines.gni | ||
gen_plist_ios.py | ||
gm.gni | ||
gn_meta_sln.py | ||
gn_to_bp_utils.py | ||
gn_to_bp.py | ||
gn_to_cmake.py | ||
gpu.gni | ||
highest_version_dir.py | ||
ios.gni | ||
is_clang.py | ||
make_gm_gni.py | ||
opts.gni | ||
pdf.gni | ||
push_to_android.py | ||
rm.py | ||
run_sksllex.py | ||
samples.gni | ||
shared_sources.gni | ||
skia.gni | ||
sksl.gni | ||
tests.gni | ||
utils.gni | ||
xps.gni |