skia2/bench
Matt Sarett f489886915 Cache dst LUTs in SkColorSpaceXform
This is only useful in the rare case that the dst does not
fall into one of our main paths.

But it's a good optimization, since this does happen,
and typically, the dst won't change.

ColorCodecBench z620 --nonstd --xform_only
Without Patch 511us
With Patch    348us

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3400

Change-Id: Ibf68d9ce7072680465662922f4aa15630545e3d6
Reviewed-on: https://skia-review.googlesource.com/3400
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>
2016-10-16 14:51:57 +00:00
..
AAClipBench.cpp abstract name of clipping ops, to transtion to a more restricted set 2016-09-20 08:42:39 -07:00
AlternatingColorPatternBench.cpp Reland of "Finish conversion to sk_sp<SkShader> (patchset #2 id:20001 of https://codereview.chromium.org/1803763002/ )" 2016-03-14 12:22:10 -07:00
AndroidCodecBench.cpp change SkStreams to work with sk_sp<SkData> instead of SkData* 2016-09-12 12:01:44 -07:00
AndroidCodecBench.h Convert SkAutoTUnref<SkData> to sk_sp<SkData>. 2016-08-03 13:32:32 -07:00
BenchLogger.cpp Style Change: NULL->nullptr 2015-08-27 07:41:16 -07:00
BenchLogger.h Remove Sk prefix from some bench classes. 2014-06-19 12:32:29 -07:00
Benchmark.cpp Remove const from const int loops. 2015-10-01 09:43:39 -07:00
Benchmark.h Began logging more gpu stats from nanobench 2015-12-02 09:05:38 -08:00
BezierBench.cpp Remove const from const int loops. 2015-10-01 09:43:39 -07:00
BigPathBench.cpp Style bikeshed - remove extraneous whitespace 2016-03-29 09:03:53 -07:00
BitmapBench.cpp Factor code to rotate a canvas about a point. 2016-07-12 15:01:19 -07:00
BitmapRectBench.cpp Style bikeshed - remove extraneous whitespace 2016-03-29 09:03:53 -07:00
BitmapRegionDecoderBench.cpp change SkStreams to work with sk_sp<SkData> instead of SkData* 2016-09-12 12:01:44 -07:00
BitmapRegionDecoderBench.h Convert SkAutoTUnref<SkData> to sk_sp<SkData>. 2016-08-03 13:32:32 -07:00
BitmapScaleBench.cpp Valgrind is not a fan of uninitialized Src pixels. 2016-01-19 12:42:49 -08:00
BlurBench.cpp switch maskfilters to sk_sp 2016-04-04 10:02:58 -07:00
BlurImageFilterBench.cpp Update SkBlurImageFilter to sk_sp 2016-04-04 04:31:25 -07:00
BlurOccludedRRectBench.cpp Implement GPU occluded blur mask filter 2016-08-10 16:25:25 -07:00
BlurRectBench.cpp Style bikeshed - remove extraneous whitespace 2016-03-29 09:03:53 -07:00
BlurRectsBench.cpp switch maskfilters to sk_sp 2016-04-04 10:02:58 -07:00
BlurRoundRectBench.cpp benchmarks: Avoid brackets and commas in test names. 2016-08-29 13:33:04 -07:00
ChartBench.cpp Remove const from const int loops. 2015-10-01 09:43:39 -07:00
check_bench_regressions.py Adds dashboard link for one-line plot on each alert item. 2014-05-13 17:38:17 +00:00
ChecksumBench.cpp Use sse4.2 CRC32 instructions to hash when available. 2016-08-08 09:06:28 -07:00
ChromeBench.cpp Remove const from const int loops. 2015-10-01 09:43:39 -07:00
CmapBench.cpp Move SkTypeface to sk_sp. 2016-05-12 10:09:31 -07:00
CodecBench.cpp change SkStreams to work with sk_sp<SkData> instead of SkData* 2016-09-12 12:01:44 -07:00
CodecBench.h Convert SkAutoTUnref<SkData> to sk_sp<SkData>. 2016-08-03 13:32:32 -07:00
CodecBenchPriv.h Make CodecBench test kPremul and kUnpremul 2016-01-07 14:20:20 -08:00
ColorCodecBench.cpp Cache dst LUTs in SkColorSpaceXform 2016-10-16 14:51:57 +00:00
ColorCodecBench.h Improve naive SkColorXform to half floats 2016-07-19 09:07:55 -07:00
ColorCubeBench.cpp Reland of [2] of "switch colorfilters to sk_sp (patchset #11 id:200001 of https://codereview.chromium.o… (patchset #1 id:1 of https://codereview.chromium.org/1821103004/ ) 2016-03-22 10:17:23 -07:00
ColorFilterBench.cpp Update SkXfermodeImageFilter to sk_sp 2016-04-05 12:48:34 -07:00
ColorPrivBench.cpp Remove const from const int loops. 2015-10-01 09:43:39 -07:00
ControlBench.cpp Remove const from const int loops. 2015-10-01 09:43:39 -07:00
CoverageBench.cpp remove 'deprecated' region from SkDraw 2016-04-27 07:49:17 -07:00
DashBench.cpp Style bikeshed - remove extraneous whitespace 2016-03-29 09:03:53 -07:00
DisplacementBench.cpp Update DisplacementMapEffect to sk_sp 2016-04-15 07:17:36 -07:00
DrawBitmapAABench.cpp Remove const from const int loops. 2015-10-01 09:43:39 -07:00
DrawLatticeBench.cpp Fix nanobench crashes 2016-09-30 13:09:01 -07:00
EncoderBench.cpp Convert SkAutoTUnref<SkData> to sk_sp<SkData>. 2016-08-03 13:32:32 -07:00
FontCacheBench.cpp Remove const from const int loops. 2015-10-01 09:43:39 -07:00
FontScalerBench.cpp Remove const from const int loops. 2015-10-01 09:43:39 -07:00
FSRectBench.cpp Style bikeshed - remove extraneous whitespace 2016-03-29 09:03:53 -07:00
GameBench.cpp Reland of "Finish conversion to sk_sp<SkShader> (patchset #2 id:20001 of https://codereview.chromium.org/1803763002/ )" 2016-03-14 12:22:10 -07:00
GeometryBench.cpp Style bikeshed - remove extraneous whitespace 2016-03-29 09:03:53 -07:00
GLBench.cpp Turned on SkSL->GLSL compiler 2016-10-12 06:39:56 -07:00
GLBench.h Turned on SkSL->GLSL compiler 2016-10-12 06:39:56 -07:00
GLInstancedArraysBench.cpp Turned on SkSL->GLSL compiler 2016-10-12 06:39:56 -07:00
GLVec4ScalarBench.cpp fixed GLVec4ScalarBench 2016-10-12 11:46:07 -07:00
GLVertexAttributesBench.cpp Turned on SkSL->GLSL compiler 2016-10-12 06:39:56 -07:00
GMBench.cpp Run GM benchs in bench mode 2016-05-16 09:09:18 -07:00
GMBench.h Remove const from const int loops. 2015-10-01 09:43:39 -07:00
GradientBench.cpp Style bikeshed - remove extraneous whitespace 2016-03-29 09:03:53 -07:00
GrMemoryPoolBench.cpp Make SkRandom::next[US]Fixed1 private; update documentation for SkRandom::nextSScalar1. 2016-03-31 06:13:22 -07:00
GrMipMapBench.cpp Lots of progress on switching to SkColorSpace rather than SkColorProfileType 2016-06-16 13:03:24 -07:00
GrResourceCacheBench.cpp Refactor to separate backend object lifecycle and GpuResource budget decision 2016-04-22 01:48:29 -07:00
gUniqueGlyphIDs.h switch array to uint16_t to fix overflows 2013-06-11 19:53:19 +00:00
HairlinePathBench.cpp Remove const from const int loops. 2015-10-01 09:43:39 -07:00
HardStopGradientBench_ScaleNumColors.cpp Add HardStopGradientBench_ScaleNumHardStops.cpp 2016-07-28 10:59:49 -07:00
HardStopGradientBench_ScaleNumHardStops.cpp Add HardStopGradientBench_ScaleNumHardStops.cpp 2016-07-28 10:59:49 -07:00
HardStopGradientBench_SpecialHardStops.cpp Add new benchmark for testing special hard stop gradient cases 2016-08-03 12:12:19 -07:00
ImageBench.cpp switch surface to sk_sp 2016-03-23 18:59:25 -07:00
ImageCacheBench.cpp Remove const from const int loops. 2015-10-01 09:43:39 -07:00
ImageCacheBudgetBench.cpp More NoGPU compile fixes 2016-09-15 08:33:02 -07:00
ImageFilterCollapse.cpp Update SkColorFilterImageFilter to sk_sp 2016-04-05 11:50:42 -07:00
ImageFilterDAGBench.cpp Add a transient image filter cache to SkImage::makeWithFilter & PDF 2016-09-21 09:46:57 -07:00
InterpBench.cpp Reverse dependency between SkScalar.h and SkFixed.h. 2016-04-07 08:49:31 -07:00
LightingBench.cpp Rein in the use of SkDevice.h 2016-04-20 05:29:51 -07:00
LineBench.cpp Revert of Modify LineBench for drawing straight line (patchset #3 id:40001 of https://codereview.chromium.org/1936153002/ ) 2016-05-05 14:02:36 -07:00
MagnifierBench.cpp Update MagnifierImageFilter to sk_sp 2016-04-07 07:34:15 -07:00
MathBench.cpp *SkTCast<int*>(float*) -> memcpy 2016-09-29 15:48:04 +00:00
Matrix44Bench.cpp Remove const from const int loops. 2015-10-01 09:43:39 -07:00
MatrixBench.cpp Revert of Change mapRectScaleTranslate to pass args/ret by value (patchset #2 id:20001 of https://codereview.chromium.org/2138943002/ ) 2016-08-10 07:13:21 -07:00
MatrixConvolutionBench.cpp distinguish distinct matrixconvolution benchmarks 2016-04-12 15:52:52 -07:00
MeasureBench.cpp Add time return argument to SkCurveMeasure's getPosTan, rename to getPosTanTime 2016-08-10 07:45:31 -07:00
MemoryBench.cpp Style bikeshed - remove extraneous whitespace 2016-03-29 09:03:53 -07:00
MemsetBench.cpp Remove const from const int loops. 2015-10-01 09:43:39 -07:00
MergeBench.cpp Update SkImageSource to sk_sp 2016-04-01 09:28:51 -07:00
microbench.json Fix the other microbench schema 2014-07-25 08:30:11 -07:00
MipMapBench.cpp respect srgb gamma when building mips 2016-06-10 11:41:47 -07:00
MorphologyBench.cpp Update SkMorphology ImageFilters to sk_sp 2016-04-05 09:09:37 -07:00
MutexBench.cpp Style bikeshed - remove extraneous whitespace 2016-03-29 09:03:53 -07:00
nanobench.cpp Removed makeLinearGamma() from the public API for SkColorSpace 2016-10-13 10:45:44 -07:00
nanobench.h Lots of progress on switching to SkColorSpace rather than SkColorProfileType 2016-06-16 13:03:24 -07:00
nanobenchAndroid.cpp Style bikeshed - remove extraneous whitespace 2016-03-29 09:03:53 -07:00
nanobenchAndroid.h Simplify linkages to Android framework internals 2015-10-26 07:21:32 -07:00
pack_int_uint16_t_Bench.cpp Add a bench to measure the best way to pack from int to uint16_t with SSE. 2016-07-15 07:45:53 -07:00
PatchBench.cpp benchmarks: Avoid brackets and commas in test names. 2016-08-29 13:33:04 -07:00
PatchGridBench.cpp Style bikeshed - remove extraneous whitespace 2016-03-29 09:03:53 -07:00
PathBench.cpp Benchmark rotated rect with AA/noAA 2016-06-20 14:05:27 -07:00
PathIterBench.cpp Style bikeshed - remove extraneous whitespace 2016-03-29 09:03:53 -07:00
PDFBench.cpp SkPDF: in-place font subsetting 2016-08-18 14:22:52 -07:00
PerlinNoiseBench.cpp move setshader to sk_sp, re-using SK_SUPPORT_LEGACY_CREATESHADER_PTR 2016-03-25 09:08:00 -07:00
PictureNestingBench.cpp return pictures as sk_sp 2016-03-18 07:25:55 -07:00
PictureOverheadBench.cpp No \n in bench names. 2016-09-13 13:27:13 -07:00
PicturePlaybackBench.cpp return pictures as sk_sp 2016-03-18 07:25:55 -07:00
PremulAndUnpremulAlphaOpsBench.cpp Remove const from const int loops. 2015-10-01 09:43:39 -07:00
QuickRejectBench.cpp Optimized implementation of quickReject() 2016-08-12 08:29:08 -07:00
ReadPixBench.cpp Style bikeshed - remove extraneous whitespace 2016-03-29 09:03:53 -07:00
RecordingBench.cpp In recording benches, record to and from the same format. 2016-08-10 12:09:34 -07:00
RecordingBench.h In recording benches, record to and from the same format. 2016-08-10 12:09:34 -07:00
RectanizerBench.cpp Style bikeshed - remove extraneous whitespace 2016-03-29 09:03:53 -07:00
RectBench.cpp Revert[8] "replace SkXfermode obj with SkBlendMode enum in paints" 2016-10-05 17:33:03 -07:00
RectoriBench.cpp switch maskfilters to sk_sp 2016-04-04 10:02:58 -07:00
RefCntBench.cpp Clean up some unused atomic routines. 2016-07-27 08:40:45 -07:00
RegionBench.cpp Style bikeshed - remove extraneous whitespace 2016-03-29 09:03:53 -07:00
RegionContainBench.cpp Remove const from const int loops. 2015-10-01 09:43:39 -07:00
RepeatTileBench.cpp Style bikeshed - remove extraneous whitespace 2016-03-29 09:03:53 -07:00
ResultsWriter.h Move SkTArray to include/private. 2016-02-17 13:13:44 -08:00
RotatedRectBench.cpp Revert[8] "replace SkXfermode obj with SkBlendMode enum in paints" 2016-10-05 17:33:03 -07:00
RTreeBench.cpp Remove const from const int loops. 2015-10-01 09:43:39 -07:00
ScalarBench.cpp Style bikeshed - remove extraneous whitespace 2016-03-29 09:03:53 -07:00
ShaderMaskBench.cpp move setshader to sk_sp, re-using SK_SUPPORT_LEGACY_CREATESHADER_PTR 2016-03-25 09:08:00 -07:00
ShapesBench.cpp Begin instanced rendering for simple shapes 2016-07-07 08:49:11 -07:00
Sk4fBench.cpp Sk4f: add floor() 2016-02-09 15:41:36 -08:00
SkBlend_optsBench.cpp Turn on -Wundefined-reinterpret-cast. 2016-09-26 17:43:47 +00:00
SkGlyphCacheBench.cpp SkTypeface::MakeFromName to take SkFontStyle. 2016-05-31 11:42:37 -07:00
SkLinearBitmapPipelineBench.cpp update callers to not use SkColorProfileType 2016-06-21 10:28:14 -07:00
SKPAnimationBench.cpp Style Change: NULL->nullptr 2015-08-27 07:41:16 -07:00
SKPAnimationBench.h Make nanobench zoom animation time based 2015-06-29 14:06:10 -07:00
SKPBench.cpp switch surface to sk_sp 2016-03-23 18:59:25 -07:00
SKPBench.h Began logging more gpu stats from nanobench 2015-12-02 09:05:38 -08:00
skpbench.json Fix scale type in JSON format 2014-06-26 15:39:31 -07:00
SkRasterPipelineBench.cpp Just add the F16 bench from https://skia-review.googlesource.com/c/2860/ 2016-10-03 19:32:09 +00:00
SortBench.cpp Remove const from const int loops. 2015-10-01 09:43:39 -07:00
StrokeBench.cpp Remove const from const int loops. 2015-10-01 09:43:39 -07:00
SwizzleBench.cpp Optimize CMYK->RGBA (BGRA) transform for jpeg decodes 2016-02-08 13:26:25 -08:00
TableBench.cpp Remove const from const int loops. 2015-10-01 09:43:39 -07:00
TextBench.cpp Move SkTypeface to sk_sp. 2016-05-12 10:09:31 -07:00
TextBlobBench.cpp Use sk_sp text blob APIs 2016-09-13 10:00:23 -07:00
TileBench.cpp Style bikeshed - remove extraneous whitespace 2016-03-29 09:03:53 -07:00
TileImageFilterBench.cpp Update TileImageFilter to sk_sp 2016-04-15 07:57:40 -07:00
TopoSortBench.cpp Style bikeshed - remove extraneous whitespace 2016-03-29 09:03:53 -07:00
VertBench.cpp Remove const from const int loops. 2015-10-01 09:43:39 -07:00
WritePixelsBench.cpp Remove const from const int loops. 2015-10-01 09:43:39 -07:00
WriterBench.cpp Style bikeshed - remove extraneous whitespace 2016-03-29 09:03:53 -07:00
Xfer4fBench.cpp switch xfermodes over to sk_sp 2016-03-29 11:32:50 -07:00
XferF16Bench.cpp remove U16 support, just support F16 2016-04-14 09:02:14 -07:00
XfermodeBench.cpp Revert[8] "replace SkXfermode obj with SkBlendMode enum in paints" 2016-10-05 17:33:03 -07:00