diff options
author | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
---|---|---|
committer | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
commit | 5f8de423f190bbb79a62f804151bc24824fa32d8 (patch) | |
tree | 10027f336435511475e392454359edea8e25895d /gfx/skia/skia/src/opts/SkOpts_sse41.cpp | |
parent | 49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff) | |
download | UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.lz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.xz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.zip |
Add m-esr52 at 52.6.0
Diffstat (limited to 'gfx/skia/skia/src/opts/SkOpts_sse41.cpp')
-rw-r--r-- | gfx/skia/skia/src/opts/SkOpts_sse41.cpp | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/gfx/skia/skia/src/opts/SkOpts_sse41.cpp b/gfx/skia/skia/src/opts/SkOpts_sse41.cpp new file mode 100644 index 000000000..3a37834c7 --- /dev/null +++ b/gfx/skia/skia/src/opts/SkOpts_sse41.cpp @@ -0,0 +1,81 @@ +/* + * Copyright 2015 Google Inc. + * + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +#include "SkOpts.h" + +#define SK_OPTS_NS sse41 +#include "SkBlurImageFilter_opts.h" +#include "SkBlitRow_opts.h" +#include "SkBlend_opts.h" +#include "SkRasterPipeline_opts.h" + +namespace SkOpts { + void Init_sse41() { + box_blur_xx = sse41::box_blur_xx; + box_blur_xy = sse41::box_blur_xy; + box_blur_yx = sse41::box_blur_yx; + srcover_srgb_srgb = sse41::srcover_srgb_srgb; + blit_row_s32a_opaque = sse41::blit_row_s32a_opaque; + + #define STAGE(stage, kCallNext) \ + stages_4 [SkRasterPipeline::stage] = stage_4 <SK_OPTS_NS::stage, kCallNext>; \ + stages_1_3[SkRasterPipeline::stage] = stage_1_3<SK_OPTS_NS::stage, kCallNext> + + STAGE(store_565 , false); + STAGE(store_srgb, false); + STAGE(store_f16 , false); + + STAGE(load_s_565 , true); + STAGE(load_s_srgb, true); + STAGE(load_s_f16 , true); + + STAGE(load_d_565 , true); + STAGE(load_d_srgb, true); + STAGE(load_d_f16 , true); + + STAGE(scale_u8, true); + + STAGE(lerp_u8 , true); + STAGE(lerp_565 , true); + STAGE(lerp_constant_float, true); + + STAGE(constant_color, true); + + #undef STAGE + + #define STAGE(stage) \ + stages_4 [SkRasterPipeline::stage] = SK_OPTS_NS::stage; \ + stages_1_3[SkRasterPipeline::stage] = SK_OPTS_NS::stage + + STAGE(dst); + STAGE(dstatop); + STAGE(dstin); + STAGE(dstout); + STAGE(dstover); + STAGE(srcatop); + STAGE(srcin); + STAGE(srcout); + STAGE(srcover); + STAGE(clear); + STAGE(modulate); + STAGE(multiply); + STAGE(plus_); + STAGE(screen); + STAGE(xor_); + STAGE(colorburn); + STAGE(colordodge); + STAGE(darken); + STAGE(difference); + STAGE(exclusion); + STAGE(hardlight); + STAGE(lighten); + STAGE(overlay); + STAGE(softlight); + #undef STAGE + + } +} |