diff options
author | xiangze.zhang <xiangze.zhang@intel.com> | 2016-11-17 18:39:38 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-11-17 18:39:38 -0800 |
commit | d2265e537c8015f8115d7b5b7f6de970aa688172 (patch) | |
tree | b58af83005d4b3754eefe5dfe33f3c321f807848 /src/core/SkOpts.h | |
parent | f8afab96776f15c59ae0d854997216e5f1a3b332 (diff) |
Port convolve functions to SkOpts
This patch moves the C++/SSE2/NEON implementations of convolve functions
into the same place and uses SkOpts framework.
Also some indentation fix.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2500113004
CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot
Review-Url: https://codereview.chromium.org/2500113004
Diffstat (limited to 'src/core/SkOpts.h')
-rw-r--r-- | src/core/SkOpts.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/core/SkOpts.h b/src/core/SkOpts.h index 1d5e333729..22be97c332 100644 --- a/src/core/SkOpts.h +++ b/src/core/SkOpts.h @@ -8,6 +8,7 @@ #ifndef SkOpts_DEFINED #define SkOpts_DEFINED +#include "SkConvolver.h" #include "SkRasterPipeline.h" #include "SkTextureCompressor.h" #include "SkTypes.h" @@ -76,6 +77,15 @@ namespace SkOpts { extern std::function<void(size_t, size_t, size_t)> (*compile_pipeline)(const SkRasterPipeline::Stage*, int); + + extern void (*convolve_vertically)(const SkConvolutionFilter1D::ConvolutionFixed* filter_values, + int filter_length, unsigned char* const* source_data_rows, + int pixel_width, unsigned char* out_row, bool has_alpha); + extern void (*convolve_4_rows_horizontally)(const unsigned char* src_data[4], + const SkConvolutionFilter1D& filter, + unsigned char* out_row[4], size_t out_row_bytes); + extern void (*convolve_horizontally)(const unsigned char* src_data, const SkConvolutionFilter1D& filter, + unsigned char* out_row, bool has_alpha); } #endif//SkOpts_DEFINED |