Go to file
Yuqian Li 92e6cc6b2d Some performance tweaks for DAA
1. Always inline (Clang previously ignored inline and got 25% slower)
2. SIMD everywhere other than x86 gcc:
   non-SIMD is only faster in my desktop with gcc;
   with Clang on my desktop, SIMD is 50% faster than non-SIMD.
3. Allocate 4x memory instead of 2x when running out of space:
   on old Android devices with Linux kernel 3.10 (e.g., Nexus 6P, 5X),
   the alloc/memcpy will triger a major bottleneck in kernel (30% of
   the running time). Such bottleneck goes away (the kernel is no
   longer doing stupid things during alloc/memcpy) in Linux kernel
   3.18 (e.g., Pixel), and that's why DAA is much faster on Pixel than
   on Nexus 6P.

I think maybe I should adopt SkRasterPipeline for device-specific
optimizations.

Bug: skia:
Change-Id: I0408aa7671a5f1b39aad3bec25f8fc994ff5a1bb
Reviewed-on: https://skia-review.googlesource.com/30820
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Yuqian Li <liyuqian@google.com>
2017-08-10 17:56:25 +00:00
animations first cut at a checkbox 2009-10-21 19:41:10 +00:00
bench add gamma stage 2017-08-09 18:51:44 +00:00
bin add a Win/Clang build bot 2017-07-31 19:53:51 +00:00
debugger Add Make[backend] calls for creating GrContexts 2017-07-25 14:33:03 +00:00
dm simplify gm matrices 2017-08-08 12:43:19 +00:00
docs fix links and missing constructor 2017-08-04 17:25:24 +00:00
example Add Make[backend] calls for creating GrContexts 2017-07-25 14:33:03 +00:00
experimental Add Make[backend] calls for creating GrContexts 2017-07-25 14:33:03 +00:00
fuzz Remove SkTypeface::Style from fuzzers and lua. 2017-08-08 15:27:19 +00:00
gm Move GrAppliedClip into GrPipeline 2017-08-10 12:54:05 +00:00
gn Build support for 32-bit armv8-a 2017-08-10 17:31:25 +00:00
include Revert "Revert "GrContext::dump that produces JSON formatted output"" 2017-08-10 15:42:25 +00:00
infra Test non-msaa instanced rendering on Mac 2017-08-10 14:06:05 +00:00
platform_tools Enable ios on Raspberry Pi 2017-04-25 16:56:41 +00:00
resources Remove SkTypeface::Style from fuzzers and lua. 2017-08-08 15:27:19 +00:00
samplecode Remove SkTypeface::Style from fuzzers and lua. 2017-08-08 15:27:19 +00:00
site fix Vulkan doc typo 2017-08-07 16:53:19 +00:00
src Some performance tweaks for DAA 2017-08-10 17:56:25 +00:00
tests Revert "Revert "GrContext::dump that produces JSON formatted output"" 2017-08-10 15:42:25 +00:00
third_party link libwebpmux in system-webp builds 2017-08-01 14:33:38 +00:00
tools Replace interp() with clut_{3,4}D stages. 2017-08-10 14:34:35 +00:00
.clang-format Mark flatennable macros as block beginning/ending in .clang-format 2017-01-09 15:31:36 +00:00
.gitignore clang on windows support 2017-07-31 18:39:23 +00:00
.gn Basic standalone GN configs. 2016-07-21 12:25:45 -07:00
AUTHORS Added support for building for tvOS 2017-03-14 22:55:04 +00:00
BUILD.gn 15-bit lowp is dead, long live 8-bit lowp 2017-08-04 05:19:38 +00:00
codereview.settings Make uploading to Gerrit the default for Skia 2016-11-09 19:07:56 +00:00
CONTRIBUTING Fix references to https://sites.google.com/site/skiadocs/. 2015-02-03 13:12:54 -02:00
CQ_COMMITTERS Moved committer list to chrome-infra-auth and deleted it from the repo 2015-09-02 13:37:54 -07:00
DEPS Roll skia/third_party/externals/angle2/ 0f7714ecc..553590a57 (1 commit) 2017-08-10 15:45:55 +00:00
Doxyfile Make the housekeeper upload doxygen to a newer bucket 2016-10-04 13:23:57 -07:00
LICENSE BUG=skia:5602 2016-09-02 11:19:34 -07:00
PRESUBMIT.py Update CQ extra trybots after switch to Debian 2017-06-29 19:35:40 +00:00
public.bzl remove guard for google3 2017-08-10 14:44:11 +00:00
README Fix references to https://sites.google.com/site/skiadocs/. 2015-02-03 13:12:54 -02:00
README.chromium Update README.chromium. 2015-06-11 13:19:24 -07:00
whitespace.txt Revert "Revert "Make GrAtlasTextOp a non-legacy GrMeshDrawOp"" 2017-07-19 12:17:34 +00:00

Skia is a complete 2D graphic library for drawing Text, Geometries, and Images.

See full details, and build instructions, at https://skia.org.