| Index: src/core/SkBitmapProcState.cpp
|
| diff --git a/src/core/SkBitmapProcState.cpp b/src/core/SkBitmapProcState.cpp
|
| index 6ed83002d9008f448a278e71f93eb9c2ab79ba33..1ec47fb602fdfc9b9e4912e584fe500ce85fa99b 100644
|
| --- a/src/core/SkBitmapProcState.cpp
|
| +++ b/src/core/SkBitmapProcState.cpp
|
| @@ -24,14 +24,14 @@
|
| extern const SkBitmapProcState::SampleProc16 gSkBitmapProcStateSample16_neon[];
|
| extern const SkBitmapProcState::SampleProc32 gSkBitmapProcStateSample32_neon[];
|
| extern void S16_D16_filter_DX_neon(const SkBitmapProcState&, const uint32_t*, int, uint16_t*);
|
| -extern void Clamp_S16_D16_filter_DX_shaderproc_neon(const SkBitmapProcState&, int, int, uint16_t*, int);
|
| -extern void Repeat_S16_D16_filter_DX_shaderproc_neon(const SkBitmapProcState&, int, int, uint16_t*, int);
|
| +extern void Clamp_S16_D16_filter_DX_shaderproc_neon(const void *, int, int, uint16_t*, int);
|
| +extern void Repeat_S16_D16_filter_DX_shaderproc_neon(const void *, int, int, uint16_t*, int);
|
| extern void SI8_opaque_D32_filter_DX_neon(const SkBitmapProcState&, const uint32_t*, int, SkPMColor*);
|
| -extern void SI8_opaque_D32_filter_DX_shaderproc_neon(const SkBitmapProcState&, int, int, uint32_t*, int);
|
| -extern void Clamp_SI8_opaque_D32_filter_DX_shaderproc_neon(const SkBitmapProcState&, int, int, uint32_t*, int);
|
| +extern void SI8_opaque_D32_filter_DX_shaderproc_neon(const void *, int, int, uint32_t*, int);
|
| +extern void Clamp_SI8_opaque_D32_filter_DX_shaderproc_neon(const void*, int, int, uint32_t*, int);
|
| #endif
|
|
|
| -extern void Clamp_S32_opaque_D32_nofilter_DX_shaderproc(const SkBitmapProcState&, int, int, uint32_t*, int);
|
| +extern void Clamp_S32_opaque_D32_nofilter_DX_shaderproc(const void*, int, int, uint32_t*, int);
|
|
|
| #define NAME_WRAP(x) x
|
| #include "SkBitmapProcState_filter.h"
|
| @@ -391,10 +391,11 @@ bool SkBitmapProcState::chooseScanlineProcs(bool trivialMatrix, bool clampClamp,
|
| return true;
|
| }
|
|
|
| -static void Clamp_S32_D32_nofilter_trans_shaderproc(const SkBitmapProcState& s,
|
| +static void Clamp_S32_D32_nofilter_trans_shaderproc(const void* sIn,
|
| int x, int y,
|
| SkPMColor* SK_RESTRICT colors,
|
| int count) {
|
| + const SkBitmapProcState& s = *static_cast<const SkBitmapProcState*>(sIn);
|
| SkASSERT(((s.fInvType & ~SkMatrix::kTranslate_Mask)) == 0);
|
| SkASSERT(s.fInvKy == 0);
|
| SkASSERT(count > 0 && colors != nullptr);
|
| @@ -465,10 +466,11 @@ static inline int sk_int_mirror(int x, int n) {
|
| return x;
|
| }
|
|
|
| -static void Repeat_S32_D32_nofilter_trans_shaderproc(const SkBitmapProcState& s,
|
| +static void Repeat_S32_D32_nofilter_trans_shaderproc(const void* sIn,
|
| int x, int y,
|
| SkPMColor* SK_RESTRICT colors,
|
| int count) {
|
| + const SkBitmapProcState& s = *static_cast<const SkBitmapProcState*>(sIn);
|
| SkASSERT(((s.fInvType & ~SkMatrix::kTranslate_Mask)) == 0);
|
| SkASSERT(s.fInvKy == 0);
|
| SkASSERT(count > 0 && colors != nullptr);
|
| @@ -505,10 +507,11 @@ static void Repeat_S32_D32_nofilter_trans_shaderproc(const SkBitmapProcState& s,
|
| }
|
| }
|
|
|
| -static void S32_D32_constX_shaderproc(const SkBitmapProcState& s,
|
| +static void S32_D32_constX_shaderproc(const void* sIn,
|
| int x, int y,
|
| SkPMColor* SK_RESTRICT colors,
|
| int count) {
|
| + const SkBitmapProcState& s = *static_cast<const SkBitmapProcState*>(sIn);
|
| SkASSERT((s.fInvType & ~(SkMatrix::kTranslate_Mask | SkMatrix::kScale_Mask)) == 0);
|
| SkASSERT(s.fInvKy == 0);
|
| SkASSERT(count > 0 && colors != nullptr);
|
| @@ -618,7 +621,7 @@ static void S32_D32_constX_shaderproc(const SkBitmapProcState& s,
|
| sk_memset32(colors, color, count);
|
| }
|
|
|
| -static void DoNothing_shaderproc(const SkBitmapProcState&, int x, int y,
|
| +static void DoNothing_shaderproc(const void*, int x, int y,
|
| SkPMColor* SK_RESTRICT colors, int count) {
|
| // if we get called, the matrix is too tricky, so we just draw nothing
|
| sk_memset32(colors, 0, count);
|
| @@ -811,8 +814,9 @@ int SkBitmapProcState::maxCountForBufferSize(size_t bufferSize) const {
|
|
|
| ///////////////////////
|
|
|
| -void Clamp_S32_opaque_D32_nofilter_DX_shaderproc(const SkBitmapProcState& s, int x, int y,
|
| +void Clamp_S32_opaque_D32_nofilter_DX_shaderproc(const void* sIn, int x, int y,
|
| SkPMColor* SK_RESTRICT dst, int count) {
|
| + const SkBitmapProcState& s = *static_cast<const SkBitmapProcState*>(sIn);
|
| SkASSERT((s.fInvType & ~(SkMatrix::kTranslate_Mask |
|
| SkMatrix::kScale_Mask)) == 0);
|
|
|
|
|