aboutsummaryrefslogtreecommitdiffhomepage
path: root/site/user
diff options
context:
space:
mode:
authorGravatar Mike Klein <mtklein@chromium.org>2018-02-27 10:37:40 -0500
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2018-03-07 14:40:10 +0000
commit22e536e3a1a09405d1c0e6f071717a726d86e8d4 (patch)
tree1fbcfdd6a6c60e612e22038770ae7eeb8e306ee4 /site/user
parent25d07fc354f9150f6d2292be27554db4fc454ad6 (diff)
make SkJumper stages normal Skia code
Enough clients are using Clang now that we can say, use Clang to build if you want these software pipeline stages to go fast. This lets us drop the offline build aspect of SkJumper stages, instead building as part of Skia using the SkOpts framework. I think everything should work, except I've (temporarily) removed AVX-512 support. I will put this back in a follow up. I have had to drop Windows down to __vectorcall and our narrower stage calling convention that keeps the d-registers on the stack. I tried forcing sysv_abi, but that crashed Clang. :/ Added a TODO to up the same narrower stage calling convention for lowp stages... we just *don't* today, for no good reason. Change-Id: Iaaa792ffe4deab3508d2dc5d0008c163c24b3383 Reviewed-on: https://skia-review.googlesource.com/110641 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Herb Derby <herb@google.com> Reviewed-by: Florin Malita <fmalita@chromium.org>
Diffstat (limited to 'site/user')
-rw-r--r--site/user/build.md12
1 files changed, 12 insertions, 0 deletions
diff --git a/site/user/build.md b/site/user/build.md
index 1ddcfd812f..c9d17b4ec1 100644
--- a/site/user/build.md
+++ b/site/user/build.md
@@ -33,6 +33,18 @@ link Skia against the headers and libaries found on the system paths.
use `extra_cflags` and `extra_ldflags` to add include or library paths if
needed.
+A note on software backend performance
+--------------------------------------
+
+A number of routines in Skia's software backend have been written to run
+fastest when compiled by Clang. If you depend on software rasterization, image
+decoding, or color space conversion and compile Skia with GCC, MSVC or another
+compiler, you will see dramatically worse performance than if you use Clang.
+
+This choice was only a matter of prioritization; there is nothing fundamentally
+wrong with non-Clang compilers. So if this is a serious issue for you, please
+let us know on the mailing list.
+
Quickstart
----------