aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/opts/SkRasterPipeline_opts.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/opts/SkRasterPipeline_opts.h')
-rw-r--r--src/opts/SkRasterPipeline_opts.h30
1 files changed, 4 insertions, 26 deletions
diff --git a/src/opts/SkRasterPipeline_opts.h b/src/opts/SkRasterPipeline_opts.h
index b15ebf36d8..2b5b2e56c1 100644
--- a/src/opts/SkRasterPipeline_opts.h
+++ b/src/opts/SkRasterPipeline_opts.h
@@ -9,7 +9,6 @@
#define SkRasterPipeline_opts_DEFINED
#include "SkColorPriv.h"
-#include "SkColorLookUpTable.h"
#include "SkColorSpaceXform_A2B.h"
#include "SkColorSpaceXformPriv.h"
#include "SkHalf.h"
@@ -796,29 +795,6 @@ STAGE_CTX(table_g, const SkTableTransferFn*) { g = table(g, *ctx); }
STAGE_CTX(table_b, const SkTableTransferFn*) { b = table(b, *ctx); }
STAGE_CTX(table_a, const SkTableTransferFn*) { a = table(a, *ctx); }
-STAGE_CTX(color_lookup_table, const SkColorLookUpTable*) {
- const SkColorLookUpTable* colorLUT = ctx;
- SkASSERT(3 == colorLUT->inputChannels() || 4 == colorLUT->inputChannels());
- SkASSERT(3 == colorLUT->outputChannels());
- float result[3][N];
- for (int i = 0; i < N; ++i) {
- const float in[4] = { r[i], g[i], b[i], a[i] };
- float out[3];
- colorLUT->interp(out, in);
- for (int j = 0; j < colorLUT->outputChannels(); ++j) {
- result[j][i] = out[j];
- }
- }
- r = SkNf::Load(result[0]);
- g = SkNf::Load(result[1]);
- b = SkNf::Load(result[2]);
- if (4 == colorLUT->inputChannels()) {
- // we must set the pixel to opaque, as the alpha channel was used
- // as input before this.
- a = 1.f;
- }
-}
-
STAGE(lab_to_xyz) {
const auto lab_l = r * 100.0f;
const auto lab_a = g * 255.0f - 128.0f;
@@ -1099,8 +1075,10 @@ STAGE_CTX(shader_adapter, SkShader::Context*) {
}
STAGE_CTX(callback, const void*) {
- auto c = (const SkJumper_CallbackCtx*)ctx;
- c->fn(c->arg, tail ? tail : N);
+ auto c = (SkJumper_CallbackCtx*)ctx;
+ SkNf::Store4(c->rgba, r,g,b,a);
+ c->fn(c, tail ? tail : N);
+ SkNf::Load4(c->read_from, &r,&g,&b,&a);
}
SI Fn enum_to_Fn(SkRasterPipeline::StockStage st) {