aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkOpts.h
diff options
context:
space:
mode:
authorGravatar xiangze.zhang <xiangze.zhang@intel.com>2016-11-17 18:39:38 -0800
committerGravatar Commit bot <commit-bot@chromium.org>2016-11-17 18:39:38 -0800
commitd2265e537c8015f8115d7b5b7f6de970aa688172 (patch)
treeb58af83005d4b3754eefe5dfe33f3c321f807848 /src/core/SkOpts.h
parentf8afab96776f15c59ae0d854997216e5f1a3b332 (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.h10
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