make legacy shadercontext optional

Current savings : 96K on intel mac

Breaks -- these subclass don't have a pipeline
- emboss
- perlinnoise

For now, shadercontext is still on -- clients must opt-out with SK_DISABLE_LEGACY_SHADERCONTEXT

Bug: skia:
Change-Id: Idd14cae4013e8de92f16b0707f8b8d43bb6d11dd
Reviewed-on: https://skia-review.googlesource.com/c/162362
Auto-Submit: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
diff --git a/src/shaders/gradients/SkLinearGradient.h b/src/shaders/gradients/SkLinearGradient.h
index d100a1c..73af165 100644
--- a/src/shaders/gradients/SkLinearGradient.h
+++ b/src/shaders/gradients/SkLinearGradient.h
@@ -24,8 +24,10 @@
 protected:
     SkLinearGradient(SkReadBuffer& buffer);
     void flatten(SkWriteBuffer& buffer) const override;
+#ifdef SK_ENABLE_LEGACY_SHADERCONTEXT
     Context* onMakeContext(const ContextRec&, SkArenaAlloc*) const override;
     Context* onMakeBurstPipelineContext(const ContextRec&, SkArenaAlloc*) const override;
+#endif
 
     void appendGradientStages(SkArenaAlloc* alloc, SkRasterPipeline* tPipeline,
                               SkRasterPipeline* postPipeline) const final;