aboutsummaryrefslogtreecommitdiffhomepage
path: root/gm/beziereffects.cpp
diff options
context:
space:
mode:
authorGravatar Mike Klein <mtklein@chromium.org>2017-01-09 10:20:13 -0500
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-01-09 17:01:26 +0000
commita7080264d11235d6f469d355b14a7647cba8eb75 (patch)
tree8ee121d44a3dfd947f8bb6804aa742842afba4c5 /gm/beziereffects.cpp
parent003312a211e65f35e402d6fe80a32e23d4c94ac4 (diff)
SkSplicer
I think I may have cracked the compile-ahead-of-time-splice-at-runtime nut. This compiles stages ahead of time using clang, then splices them together at runtime. This means the stages can be written in simple C++, with some mild restrictions. This performs identically to our Xbyak experiment, and already supports more stages. As written this stands alone from SkRasterPipeline_opts.h, but I'm fairly confident that the bulk (the STAGE implementations) can ultimately be shared. As of PS 25 or so, this also supports all the stages used by bench/SkRasterPipelineBench.cpp: SkRasterPipeline_… 400 …f16_compile 1x …f16_run 1.38x …srgb_compile 1.89x …srgb_run 2.21x That is, ~30% faster than baseline for f16, ~15% faster for sRGB. Change-Id: I1ec7dcb769613713ce56978c58038f606f87d63d Reviewed-on: https://skia-review.googlesource.com/6733 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
Diffstat (limited to 'gm/beziereffects.cpp')
0 files changed, 0 insertions, 0 deletions