skia2/bench
Mike Klein 813e8cc762 add a global may-we-JIT flag
The most interesting part of the CL is that we recheck gSkVMAllowJIT in
Program::eval() even though we've already checked it in the constructor.
This allows Viewer to toggle the JIT on and off without having to worry
about program caching. This is not something that you'd expect to come
up in practice if a program just sets gSkVMAllowJIT at the start of
main(); for real clients I think we can avoid all this with a simple
SkGraphics::allowJIT() that only lets clients opt-in, never back out.

I toyed with making '!' rotate through a tristate in Viewer, until I
realized that these really are independent bits: GMs like threshold_rt
that use both ordinary effects and SkVM-only effects demonstrate
different behavior and performance in all four modes.  So '!' continues
to toggle SkVMBlitter, and now '@' toggles the JIT.

I've left the test program default settings unchanged, with the JIT
enabled unless --nojit is passed.  Where we previously simplified the
command line by conflating --dylib with --skvm, we now conflate --dylib
with --jit.

Change-Id: If86bf524c657298c0846bcd33c706e3c3f91e788
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/308184
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2020-08-05 16:35:45 +00:00
..
AAClipBench.cpp Fix clang 12 Wsuggest-override and Wsuggest-destructor-override 2020-07-22 01:11:36 +00:00
AlternatingColorPatternBench.cpp Remove SkMin32/SkMax32 2020-02-06 17:31:51 +00:00
AndroidCodecBench.cpp Reland "Reland "SkSurface asynchronous read APIs allow client to extend pixel lifetime"" 2019-10-03 19:14:22 +00:00
AndroidCodecBench.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
BenchLogger.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
BenchLogger.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
Benchmark.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
Benchmark.h add unit scaling mode to benchmark/nanobench 2019-06-03 14:53:29 +00:00
BezierBench.cpp Fix clang 12 Wsuggest-override and Wsuggest-destructor-override 2020-07-22 01:11:36 +00:00
BigPathBench.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
BitmapBench.cpp more cleanup after removing volatile from bitmap 2020-07-12 19:37:29 +00:00
BitmapRectBench.cpp Remove SkMin32/SkMax32 2020-02-06 17:31:51 +00:00
BitmapRegionDecoderBench.cpp Move SkBitmapRegionCodec into client_utils/android 2020-05-20 20:06:48 +00:00
BitmapRegionDecoderBench.h Move SkBitmapRegionCodec into client_utils/android 2020-05-20 20:06:48 +00:00
BlendmodeBench.cpp Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
BlurBench.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
BlurImageFilterBench.cpp Update benchmarks to use new filter factories 2019-08-05 16:41:25 +00:00
BlurRectBench.cpp Fix clang 12 Wsuggest-override and Wsuggest-destructor-override 2020-07-22 01:11:36 +00:00
BlurRectsBench.cpp Revert "Reland "Revert "Use flat version of path-direction enum""" 2019-11-22 19:09:54 +00:00
BulkRectBench.cpp Migrate MakeTextureImage to take GrDirectContext 2020-07-16 16:17:28 +00:00
ChartBench.cpp Remove SkMin32/SkMax32 2020-02-06 17:31:51 +00: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 Add SkUNREACHABLE to definition of SK_ABORT. 2019-08-09 20:43:39 +00:00
ChromeBench.cpp Fix clang 12 Wsuggest-override and Wsuggest-destructor-override 2020-07-22 01:11:36 +00:00
ClearBench.cpp Track if we need stencil on GrRenderTargetContext 2019-06-27 20:29:03 +00:00
ClipMaskBench.cpp remove (unused) clipmask from savelayer 2020-06-15 14:26:44 +00:00
ClipStrategyBench.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
CmapBench.cpp Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
CodecBench.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
CodecBench.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
CodecBenchPriv.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
ColorFilterBench.cpp Add an arg to SkImage::makeSubset to take a direct context 2020-07-13 14:55:47 +00:00
ColorPrivBench.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
CompositingImagesBench.cpp Enable ClangTidy check modernize-make-unique. 2020-08-03 17:53:52 +00:00
ControlBench.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
CoverageBench.cpp GrTextContext::Options -> GrSDFTOptions 2020-06-15 17:14:04 +00:00
CreateBackendTextureBench.cpp Rename GrBackendTexture::fMipMapped -> fMipmapped 2020-07-21 15:29:06 +00:00
CTConvertBench.cpp Add a colortype conversion bench 2019-08-26 15:41:54 +00:00
CubicKLMBench.cpp Move GrPathUtils, GrRect, and GrShape into src/gpu/geometry/ 2019-06-04 13:36:05 +00:00
CubicMapBench.cpp create outer forloop to support loops=-1 2019-07-09 14:41:07 +00:00
DashBench.cpp Revert "Revert "move onto new factories for SkMatrix"" 2020-05-21 16:58:39 +00:00
DDLRecorderBench.cpp Enable ClangTidy check modernize-make-unique. 2020-08-03 17:53:52 +00:00
DisplacementBench.cpp Update benchmarks to use new filter factories 2019-08-05 16:41:25 +00:00
DrawBitmapAABench.cpp Revert "Revert "move onto new factories for SkMatrix"" 2020-05-21 16:58:39 +00:00
EncodeBench.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
FilteringBench.cpp Impl SkFilterOptions for raster-images 2020-07-10 13:08:33 +00:00
FontCacheBench.cpp Remove SkMin32/SkMax32 2020-02-06 17:31:51 +00:00
FSRectBench.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
GameBench.cpp clean up public m44 and camera api 2020-04-06 15:34:17 +00:00
GeometryBench.cpp Fix clang 12 Wsuggest-override and Wsuggest-destructor-override 2020-07-22 01:11:36 +00:00
GMBench.cpp Add a convenience to downcast contexts into GrDirectContext 2020-07-07 18:13:50 +00:00
GMBench.h Adjust how GM::gpuSetup is handled in the tools 2020-06-26 15:37:30 +00:00
GradientBench.cpp Fix clang 12 Wsuggest-override and Wsuggest-destructor-override 2020-07-22 01:11:36 +00:00
GrMemoryPoolBench.cpp Reland "Avoid loop-dependent behavior in GrMemoryPoolBench" 2020-01-08 21:09:43 +00:00
GrMipmapBench.cpp rename SkMipMap to SkMipmap 2020-07-15 13:26:13 +00:00
GrQuadBench.cpp Add GrQuad::bounds() benchmark 2020-01-22 18:23:55 +00:00
GrResourceCacheBench.cpp Add Context factories to GrDirectContext 2020-07-14 12:40:46 +00:00
gUniqueGlyphIDs.h Make header files self-sufficient 2017-02-10 01:19:52 +00:00
HairlinePathBench.cpp Revert "Revert "move onto new factories for SkMatrix"" 2020-05-21 16:58:39 +00:00
HardStopGradientBench_ScaleNumColors.cpp Update benchmarks to use new filter factories 2019-08-05 16:41:25 +00:00
HardStopGradientBench_ScaleNumHardStops.cpp Add missing #includes for referenced types, and missing headers in GN. 2020-07-27 21:00:55 +00:00
HardStopGradientBench_SpecialHardStops.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
ImageBench.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
ImageCacheBench.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
ImageCacheBudgetBench.cpp Remove SkCanvas::getGrContext calls from benches 2020-07-08 14:55:57 +00:00
ImageCycleBench.cpp Enable ClangTidy check modernize-make-unique. 2020-08-03 17:53:52 +00:00
ImageFilterCollapse.cpp Update benchmarks to use new filter factories 2019-08-05 16:41:25 +00:00
ImageFilterDAGBench.cpp Reland "Migrate SkImage::makeWithFilter to GrRecordingContext" 2020-07-22 12:58:23 +00:00
InterpBench.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
JSONBench.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
LightingBench.cpp Update benchmarks to use new filter factories 2019-08-05 16:41:25 +00:00
LineBench.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
MagnifierBench.cpp Update benchmarks to use new filter factories 2019-08-05 16:41:25 +00:00
MathBench.cpp Fix SkBitSet. 2020-05-05 20:04:11 +00:00
Matrix44Bench.cpp clean up public m44 and camera api 2020-04-06 15:34:17 +00:00
MatrixBench.cpp Remove gendered language 2020-07-28 15:02:41 +00:00
MatrixConvolutionBench.cpp Add benchmarks for large kernel matrix convolutions 2020-05-01 20:40:04 +00:00
MemsetBench.cpp Mark SkStringPrintf as SK_PRINTF_LIKE 2020-05-12 15:22:14 +00:00
MergeBench.cpp Update benchmarks to use new filter factories 2019-08-05 16:41:25 +00:00
microbench.json Fix the other microbench schema 2014-07-25 08:30:11 -07:00
MipmapBench.cpp rename SkMipMap to SkMipmap 2020-07-15 13:26:13 +00:00
MorphologyBench.cpp Update benchmarks to use new filter factories 2019-08-05 16:41:25 +00:00
MutexBench.cpp Revert "replace SkSharedMutex" 2020-04-29 18:50:39 +00:00
nanobench.cpp add a global may-we-JIT flag 2020-08-05 16:35:45 +00:00
nanobench.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
PatchBench.cpp Stop including SkVertices.h from so many places 2020-04-02 14:07:46 +00:00
PathBench.cpp Revert "Revert "move onto new factories for SkMatrix"" 2020-05-21 16:58:39 +00:00
PathIterBench.cpp Update PathIterBench to use the new RangeIter instead of RawIter 2020-05-07 17:59:20 +00:00
PathOpsBench.cpp document Make for paths, and move from pathbuilder into path 2020-07-02 13:48:09 +00:00
PathTextBench.cpp Remove SkExclusiveStrikePtr. Replace it with sk_sp<SkStrike> 2020-02-24 21:41:05 +00:00
PDFBench.cpp SkPDF: MakeShader uses Color4f 2019-05-30 14:52:29 +00:00
PerlinNoiseBench.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
PictureNestingBench.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
PictureOverheadBench.cpp remove SkLiteDL 2019-05-14 18:55:44 +00:00
PicturePlaybackBench.cpp Enable ClangTidy check modernize-make-unique. 2020-08-03 17:53:52 +00:00
PolyUtilsBench.cpp Add missing #includes for referenced types, and missing headers in GN. 2020-07-27 21:00:55 +00:00
PremulAndUnpremulAlphaOpsBench.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
QuickRejectBench.cpp Revert "Revert "move onto new factories for SkMatrix"" 2020-05-21 16:58:39 +00:00
ReadPixBench.cpp Reland "Reland "SkSurface asynchronous read APIs allow client to extend pixel lifetime"" 2019-10-03 19:14:22 +00:00
RecordingBench.cpp remove SkLiteDL 2019-05-14 18:55:44 +00:00
RecordingBench.h remove SkLiteDL 2019-05-14 18:55:44 +00:00
RectanizerBench.cpp Enable ClangTidy check modernize-make-unique. 2020-08-03 17:53:52 +00:00
RectBench.cpp more rect api simplifications 2019-08-25 10:12:57 +00:00
RefCntBench.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
RegionBench.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
RegionContainBench.cpp more rect api simplifications 2019-08-25 10:12:57 +00:00
RepeatTileBench.cpp Remove SkMin32/SkMax32 2020-02-06 17:31:51 +00:00
ResultsWriter.h Don't keep "outResultsFile" open in nanobench 2019-10-24 16:09:02 +00:00
RotatedRectBench.cpp Add SkUNREACHABLE to definition of SK_ABORT. 2019-08-09 20:43:39 +00:00
RTreeBench.cpp Add missing #includes for referenced types, and missing headers in GN. 2020-07-27 21:00:55 +00:00
ScalarBench.cpp Remove gendered language 2020-07-28 15:02:41 +00:00
ShaderMaskFilterBench.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
ShadowBench.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
ShaperBench.cpp Shaper Tests: fix g3 build 2019-05-03 18:10:46 +00:00
ShapesBench.cpp Remove SkTMin and SkTMax 2020-02-07 18:40:09 +00:00
Sk4fBench.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkGlyphCacheBench.cpp Make SkStrikeCache::Node be SkStrike. 2020-02-15 16:37:58 +00:00
SkGlyphCacheBench.h nanobench: option to execute directory of TextBlobTraces as benches 2019-10-25 13:28:49 +00:00
SKPAnimationBench.cpp Fix clang 12 Wsuggest-override and Wsuggest-destructor-override 2020-07-22 01:11:36 +00:00
SKPAnimationBench.h Fix clang 12 Wsuggest-override and Wsuggest-destructor-override 2020-07-22 01:11:36 +00:00
SKPBench.cpp Remove more references to "master" 2020-07-28 13:06:07 +00:00
SKPBench.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
skpbench.json Fix scale type in JSON format 2014-06-26 15:39:31 -07:00
SkSLBench.cpp Switch back to mallinfo in SkSL memory benchmark 2020-07-09 14:42:02 +00:00
SkSLBench.h Add heap usage of SkSL::Compiler to nanobench output 2020-07-09 00:05:28 +00:00
SkSLInterpreterBench.cpp Switch back to stack-based SkSL interpreter 2020-04-03 17:20:04 +00:00
SkVMBench.cpp remove i16x2 ops 2020-04-13 19:08:11 +00:00
SortBench.cpp Add missing #includes for referenced types, and missing headers in GN. 2020-07-27 21:00:55 +00:00
StreamBench.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
StrokeBench.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SwizzleBench.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
TableBench.cpp Fix clang 12 Wsuggest-override and Wsuggest-destructor-override 2020-07-22 01:11:36 +00:00
TessellateBench.cpp Rename GrTessellateStroke* -> GrStrokeTessellate* and friends 2020-07-31 02:24:05 +00:00
TextBlobBench.cpp Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
TileBench.cpp Fix clang 12 Wsuggest-override and Wsuggest-destructor-override 2020-07-22 01:11:36 +00:00
TileImageFilterBench.cpp Update benchmarks to use new filter factories 2019-08-05 16:41:25 +00:00
TopoSortBench.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
TypefaceBench.cpp use std::make_unique 2019-12-12 22:32:45 +00:00
VertBench.cpp extend imageshader updater to handle perspective 2019-12-19 18:56:39 +00:00
VertexColorSpaceBench.cpp Remove SkCanvas::getGrContext calls from benches 2020-07-08 14:55:57 +00:00
WritePixelsBench.cpp Rename GrColorSpaceInfo -> GrColorInfo 2019-09-30 21:53:24 +00:00
WriterBench.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00