diff options
author | Ethan Nicholas <ethannicholas@google.com> | 2018-03-27 14:10:52 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2018-03-27 18:39:13 +0000 |
commit | 26a9aad63b60c9cbbdfa87c212a4e76ce55e7373 (patch) | |
tree | d4a42afd75bdff6c7815be7bf78b42cab742df19 /src/jumper | |
parent | 3560b58de36988e1fba54d9ac341735ab849e913 (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.cpp | 9 |
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; } |