aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core
diff options
context:
space:
mode:
Diffstat (limited to 'src/core')
-rw-r--r--src/core/SkRasterPipeline.cpp6
-rw-r--r--src/core/SkRasterPipeline.h2
2 files changed, 8 insertions, 0 deletions
diff --git a/src/core/SkRasterPipeline.cpp b/src/core/SkRasterPipeline.cpp
index 7b3d49d413..8d0840f7fb 100644
--- a/src/core/SkRasterPipeline.cpp
+++ b/src/core/SkRasterPipeline.cpp
@@ -27,6 +27,12 @@ void SkRasterPipeline::run(size_t x, size_t y, size_t n) const {
}
std::function<void(size_t, size_t, size_t)> SkRasterPipeline::compile() const {
+#ifdef SK_XBYAK
+ if (auto fn = this->jit()) {
+ SkDebugf("Jitted with xbyak!\n");
+ return fn;
+ }
+#endif
return SkOpts::compile_pipeline(fStages.data(), SkToInt(fStages.size()));
}
diff --git a/src/core/SkRasterPipeline.h b/src/core/SkRasterPipeline.h
index e6c99159fa..b73f62631d 100644
--- a/src/core/SkRasterPipeline.h
+++ b/src/core/SkRasterPipeline.h
@@ -126,6 +126,8 @@ public:
void append_from_srgb(SkAlphaType);
private:
+ std::function<void(size_t, size_t, size_t)> jit() const;
+
std::vector<Stage> fStages;
};