aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/jumper
diff options
context:
space:
mode:
authorGravatar Ethan Nicholas <ethannicholas@google.com>2018-03-27 14:10:52 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2018-03-27 18:39:13 +0000
commit26a9aad63b60c9cbbdfa87c212a4e76ce55e7373 (patch)
treed4a42afd75bdff6c7815be7bf78b42cab742df19 /src/jumper
parent3560b58de36988e1fba54d9ac341735ab849e913 (diff)
initial SkSLJIT checkin
Docs-Preview: https://skia.org/?cl=112204 Bug: skia: Change-Id: I10042a0200db00bd8ff8078467c409b1cf191f50 Reviewed-on: https://skia-review.googlesource.com/112204 Commit-Queue: Ethan Nicholas <ethannicholas@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
Diffstat (limited to 'src/jumper')
-rw-r--r--src/jumper/SkJumper.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/jumper/SkJumper.cpp b/src/jumper/SkJumper.cpp
index d14d83a776..c9c060877e 100644
--- a/src/jumper/SkJumper.cpp
+++ b/src/jumper/SkJumper.cpp
@@ -22,7 +22,8 @@ SkRasterPipeline::StartPipelineFn SkRasterPipeline::build_pipeline(void** ip) co
st->stage == SkRasterPipeline::clamp_1) {
continue; // No-ops in lowp.
}
- if (auto fn = SkOpts::stages_lowp[st->stage]) {
+ SkOpts::StageFn fn;
+ if (!st->rawFunction && (fn = SkOpts::stages_lowp[st->stage])) {
if (st->ctx) {
*--ip = st->ctx;
}
@@ -42,7 +43,11 @@ SkRasterPipeline::StartPipelineFn SkRasterPipeline::build_pipeline(void** ip) co
if (st->ctx) {
*--ip = st->ctx;
}
- *--ip = (void*)SkOpts::stages_highp[st->stage];
+ if (st->rawFunction) {
+ *--ip = (void*)st->stage;
+ } else {
+ *--ip = (void*)SkOpts::stages_highp[st->stage];
+ }
}
return SkOpts::start_pipeline_highp;
}