Go to file
Mike Klein 821f5e8dfe remove mul_unorm8/mad_unorm8
I just kind of remembered that if we're doing (xy+x)/256
and x is a destination channel and y is 255-sa, then you
can get the +x for free by multiplying by 256-sa instead.

  (d * (255-sa) + d)
  (d * (255-sa + 1))
  (d * (256-sa)    )

Duh.  This is a trick we play in a lot of legacy code and
I've just now realized it's exactly equivalent to the trick
I want to play here... sigh.

Folding this math in kind of makes mul/mad_unorm8 moot.

Speed's getting good:

  I32_SWAR: 0.3  ns/px
  I32     : 0.55 ns/px
  F32     : 0.8  ns/px
  RP      : 0.8  ns/px
  Opts    : 0.2  ns/px

Change-Id: I4d10db51ea80a3258c36e97b6b334ad253804613
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/220708
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2019-06-13 18:21:44 +00:00
animations first cut at a checkbox 2009-10-21 19:41:10 +00:00
bench Interpreter: Vectorized interpreter 2019-06-13 15:50:55 +00:00
bin Add bin/try-clients to trigger client tryjobs 2019-06-11 16:55:53 +00:00
dm Make color initialization version of createBackendTexture public 2019-06-04 20:12:22 +00:00
docker Include wasm debugger in continuous build part 2 2019-04-01 19:51:43 +00:00
docs/examples PDF example 2019-05-28 17:21:59 +00:00
example Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
experimental Revert "Revert "try resolver pattern"" 2019-06-12 14:46:56 +00:00
fuzz Make fuzzing use embedded test font 2019-06-03 16:29:21 +00:00
gm Revert "Revert "try resolver pattern"" 2019-06-12 14:46:56 +00:00
gn Interpreter: Vectorized interpreter 2019-06-13 15:50:55 +00:00
include Revert "Add Ganesh support for RGBA_16161616 and RG_half" 2019-06-13 16:49:31 +00:00
infra Roll recipe dependencies (trivial). 2019-06-13 17:52:50 +00:00
modules Revert "[skottie] Use metrics for Shaper vertical alignment" 2019-06-13 18:02:01 +00:00
platform_tools rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
resources remove mul_unorm8/mad_unorm8 2019-06-13 18:21:44 +00:00
samplecode Baseline for empty text 2019-06-11 21:49:49 +00:00
site fix up relative links and spacing 2019-06-11 14:29:38 +00:00
specs [img-decode] Start on proposed new spec 2019-05-06 17:39:19 +00:00
src remove mul_unorm8/mad_unorm8 2019-06-13 18:21:44 +00:00
tests fix dst/arg aliasing issues 2019-06-13 16:53:29 +00:00
third_party third-party.gni: Search includes using -I. 2019-06-11 19:04:29 +00:00
tools remove mul_unorm8/mad_unorm8 2019-06-13 18:21:44 +00:00
.clang-format restore .clang-format 2019-03-21 15:52:32 +00:00
.clang-tidy add google-build-namespaces to clang-tidy checks 2018-12-12 16:33:59 +00:00
.gitignore clean up some .gitignores 2019-05-15 19:55:45 +00:00
.gn Basic standalone GN configs. 2016-07-21 12:25:45 -07:00
AUTHORS third-party.gni: Search includes using -I. 2019-06-11 19:04:29 +00:00
BUILD.gn Revert "Revert "try resolver pattern"" 2019-06-12 14:46:56 +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 third_party/externals/angle2 2589cdcc88ec..85fef1bc62f8 (6 commits) 2019-06-13 06:02:33 +00:00
go.mod [infra] Pin infra code using Go modules 2019-05-06 17:53:19 +00:00
go.sum [infra] Pin infra code using Go modules 2019-05-06 17:53:19 +00:00
LICENSE BUG=skia:5602 2016-09-02 11:19:34 -07:00
OWNERS add OWNERS file 2017-12-01 19:50:19 +00:00
PRESUBMIT.py add mtklein to api approvals 2019-04-02 15:16:56 +00:00
public.bzl expose xform to google3 2019-06-11 21:21:38 +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 Whitespace test 2019-05-18 13:05:29 +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.