aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/jumper/SkJumper.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/jumper/SkJumper.cpp')
-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;
}