Use SkArenaAlloc in the SkAutoBlitterChoose code.
- Added default implementation of onMakeContext to support use in android.
Searches for uses:
"public SkShader" package:^chromium$ -file:^src/third_party/skia
package:^aosp.* "public SkShader" -file:external/skia -file:.*third_party/skia
package:^android$ "public SkShader" -file:external/skia -file:.*third_party/skia
... shows that no subclass overrides onCreateContext.
TBR=reed@google.com
TBR=mtklein@google.com
Change-Id: I8bd5f57a79534574e344b165d31dccee41c31767
Reviewed-on: https://skia-review.googlesource.com/8140
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Herb Derby <herb@google.com>
diff --git a/bench/SkLinearBitmapPipelineBench.cpp b/bench/SkLinearBitmapPipelineBench.cpp
index a0ed605..29f2889 100644
--- a/bench/SkLinearBitmapPipelineBench.cpp
+++ b/bench/SkLinearBitmapPipelineBench.cpp
@@ -7,6 +7,8 @@
#include <memory>
#include "Benchmark.h"
+
+#include "SkArenaAlloc.h"
#include "SkBitmapProcShader.h"
#include "SkColor.h"
#include "SkArenaAlloc.h"
@@ -199,12 +201,11 @@
SkAutoTMalloc<SkPMColor> buffer4b(width*height);
- uint32_t storage[kSkBlitterContextSize];
+ SkArenaAlloc alloc{kSkBlitterContextSize * sizeof(uint32_t)};
const SkShader::ContextRec rec(fPaint, fM, nullptr,
SkShader::ContextRec::kPMColor_DstType,
nullptr);
- SkASSERT(fPaint.getShader()->contextSize(rec) <= sizeof(storage));
- SkShader::Context* ctx = fPaint.getShader()->createContext(rec, storage);
+ SkShader::Context* ctx = fPaint.getShader()->makeContext(rec, &alloc);
int count = 100;