Go to file
Mike Reed 0c182fc77e refactor lighting imagefilter to save codesize
Goal was to just remove template args and add virtuals where needed.
Ended up having to also move a couple of classes/helpers earlier in the file, but nothing beyond that.

Size savings (on Mac laptop) : 67896

Before:
   8/8   MB	1	30.6ms	30.7ms	30.7ms	30.9ms	0%	█▁▅▁▄▃▄▁▃▃	8888	lightingspotlitspecular_large
   8/8   MB	1	34.2ms	37.6ms	38.5ms	45.9ms	9%	▂▂▃▅▁▅█▂▅▂	8888	lightingspotlitspecular_small
   8/8   MB	1	31.3ms	35ms	34.6ms	38.4ms	7%	▁▄▅▆▆▁▇▃▂█	8888	lightingdistantlitspecular_large
   8/8   MB	1	29.9ms	33.5ms	34.3ms	39.2ms	8%	▁▅█▃▄▇▄▂▄▆	8888	lightingdistantlitspecular_small
   8/8   MB	1	30.4ms	34.1ms	34.5ms	40.7ms	11%	▂▄█▃▁▅▂▅▁▇	8888	lightingpointlitspecular_large
   8/8   MB	1	29.8ms	36.2ms	34.8ms	41.4ms	12%	▂▃▅▁▅▇▂▁▆█	8888	lightingpointlitspecular_small
   8/8   MB	1	16.3ms	19.5ms	20.5ms	26.6ms	17%	▁▆▃▃█▃▂▅▁▆	8888	lightingspotlitdiffuse_large
   8/8   MB	1	17.3ms	19.3ms	19.4ms	23.3ms	10%	▄▁▂▁▆▅▁▃▂█	8888	lightingspotlitdiffuse_small
   8/8   MB	1	12.7ms	14.9ms	17ms	27.9ms	30%	▂▁█▁▂▄▂▂▂▆	8888	lightingdistantlitdiffuse_large
   8/8   MB	1	12.4ms	14.5ms	15.8ms	24.7ms	23%	▁▂▅▂▁▃█▂▃▂	8888	lightingdistantlitdiffuse_small
   8/8   MB	1	13.6ms	14.9ms	16.6ms	22.5ms	22%	▁█▅▁▆▂▁▂▁█	8888	lightingpointlitdiffuse_large
   8/8   MB	1	13.8ms	17ms	16.5ms	19.2ms	11%	▆▆▁▁▆▅▅█▃▂	8888	lightingpointlitdiffuse_small

After:
   8/8   MB	1	23.5ms	23.6ms	23.8ms	25.1ms	2%	▃▁█▁▁▂▁▂▁▁	8888	lightingspotlitspecular_large
   8/8   MB	1	23.5ms	23.6ms	23.9ms	24.9ms	2%	█▅▂▁▁▁▁▁▆▃	8888	lightingspotlitspecular_small
   8/8   MB	1	21.6ms	21.8ms	21.9ms	22.3ms	1%	█▆▃▁▄▄▃▂▄▂	8888	lightingdistantlitspecular_large
   8/8   MB	1	21.6ms	21.7ms	21.9ms	22.7ms	2%	█▅▂▂▂▁▂▂▂▃	8888	lightingdistantlitspecular_small
   8/8   MB	1	22.3ms	22.9ms	22.8ms	23.2ms	1%	▇▆▁▄▆▄▃█▄▆	8888	lightingpointlitspecular_large
   8/8   MB	1	22.1ms	22.2ms	22.5ms	23.6ms	3%	██▁▁▂▂▁▁▂▂	8888	lightingpointlitspecular_small
   8/8   MB	1	12.8ms	13ms	13ms	13.3ms	2%	▃▇█▇▁▅▄▃▂▄	8888	lightingspotlitdiffuse_large
   8/8   MB	1	12.8ms	13ms	13ms	13.2ms	1%	▄▃██▄▁▃▅▂▇	8888	lightingspotlitdiffuse_small
   8/8   MB	1	10.6ms	10.7ms	10.8ms	11.1ms	2%	▂▄██▂▁▃▃▂▂	8888	lightingdistantlitdiffuse_large
   8/8   MB	1	10.6ms	10.7ms	10.8ms	11.3ms	2%	▂▂▇█▃▁▂▅▁▂	8888	lightingdistantlitdiffuse_small
   8/8   MB	1	10.9ms	11.1ms	11.2ms	11.6ms	2%	▁▂▇▁█▃▂▂▇▁	8888	lightingpointlitdiffuse_large
   8/8   MB	1	10.9ms	11.1ms	11.1ms	11.5ms	2%	▄▃█▅▃▃▁▃▂▁	8888	lightingpointlitdiffuse_small

Bug: skia:
Change-Id: I7542a5ca1f209a732630f646b4ceb4fb08150ce4
Reviewed-on: https://skia-review.googlesource.com/20155
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2017-06-16 23:38:29 +00:00
animations first cut at a checkbox 2009-10-21 19:41:10 +00:00
bench Improve cubic KLM accuracy 2017-06-09 17:13:54 +00:00
bin bin/fetch-clang-format 2017-03-08 16:43:49 +00:00
debugger Retract GrTexture*.h & GrRenderTarget*.h from other headers 2017-06-13 17:21:41 +00:00
dm Enable SVG DM sources for vector sinks 2017-06-16 20:04:14 +00:00
example Revert "Revert "Plumb the use of GrBackendRenderTarget throughout Skia"" 2017-05-01 14:14:50 +00:00
experimental Retract GrTexture*.h & GrRenderTarget*.h from other headers 2017-06-13 17:21:41 +00:00
fuzz Revert "Revert "Delete SkGaussianEdgeShader"" 2017-05-31 14:52:12 +00:00
gm Clean up GrResourceProvider usage 2017-06-15 17:18:19 +00:00
gn Revert "Revert "Remove Gr*Gpu includes from header files."" 2017-06-16 16:17:15 +00:00
include Revert "Revert "Add API for flushing surfaces with gpu semaphores"" 2017-06-16 14:22:34 +00:00
infra [recipes] Switch to file module from recipe_engine 2017-06-16 17:41:28 +00:00
platform_tools Enable ios on Raspberry Pi 2017-04-25 16:56:41 +00:00
resources Make SkCodec more flexible about its required frame 2017-06-07 20:15:17 +00:00
samplecode Fix buffer overflow in SamplePathText 2017-06-15 15:36:39 +00:00
site Broken link in Tree Sheriffs Documentation 2017-06-09 17:56:14 +00:00
src refactor lighting imagefilter to save codesize 2017-06-16 23:38:29 +00:00
tests ICC: SkICC::WriteToICC Description Tag is function of input 2017-06-16 21:30:37 +00:00
third_party Roll ANGLE 2017-06-12 16:00:07 +00:00
tools Revert "Revert "Add API for flushing surfaces with gpu semaphores"" 2017-06-16 14:22:34 +00:00
.clang-format Mark flatennable macros as block beginning/ending in .clang-format 2017-01-09 15:31:36 +00:00
.gitignore [infra] Move Android and GPU maps into gen_tasks.go. 2017-06-14 13:17:43 +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 Revert "Revert "Update skia to use ifdefs for Vulkan code instead of dummy header"" 2017-06-14 01:43: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 ANGLE 2017-06-12 16:00:07 +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 Use Gerrit style format for footers in Presubmit 2017-05-23 20:44:36 +00:00
public.bzl Experimental change to diagnose image diffs in g3 2017-06-08 18:38:43 +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 Marker for Win AMD driver update. 2017-05-22 17:21:14 +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.