Implement highQualityFilter16 so GM doesn't crash when you give it resources.
Testing consisted of:
1) ninja -C out/Debug gm && gm -i resources --match mandrill_512 -w /tmp/gm
2) notice that gm didn't segfault
3) look in /tmp/gm and see a bunch of handsome monkeys
BUG=skia:1517
R=humper@google.com
Review URL: https://codereview.chromium.org/22801016
git-svn-id: http://skia.googlecode.com/svn/trunk@10917 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/core/SkBitmapProcState.h b/src/core/SkBitmapProcState.h
index e138ed2..3a1d7ba 100644
--- a/src/core/SkBitmapProcState.h
+++ b/src/core/SkBitmapProcState.h
@@ -166,7 +166,9 @@
SkBitmapFilter* fBitmapFilter;
- ShaderProc32 chooseBitmapFilterProc();
+ // If supported, sets fShaderProc32 and fShaderProc16 and returns true,
+ // otherwise returns false.
+ bool setBitmapFilterProcs();
// Return false if we failed to setup for fast translate (e.g. overflow)
bool setupForTranslate();
@@ -208,9 +210,9 @@
void S32_alpha_D32_filter_DX(const SkBitmapProcState& s, const uint32_t xy[],
int count, SkPMColor colors[]);
void S32_opaque_D32_filter_DXDY(const SkBitmapProcState& s,
- const uint32_t xy[], int count, SkPMColor colors[]);
+ const uint32_t xy[], int count, SkPMColor colors[]);
void S32_alpha_D32_filter_DXDY(const SkBitmapProcState& s,
- const uint32_t xy[], int count, SkPMColor colors[]);
+ const uint32_t xy[], int count, SkPMColor colors[]);
void ClampX_ClampY_filter_scale(const SkBitmapProcState& s, uint32_t xy[],
int count, int x, int y);
void ClampX_ClampY_nofilter_scale(const SkBitmapProcState& s, uint32_t xy[],
@@ -220,10 +222,12 @@
void ClampX_ClampY_nofilter_affine(const SkBitmapProcState& s,
uint32_t xy[], int count, int x, int y);
void S32_D16_filter_DX(const SkBitmapProcState& s,
- const uint32_t* xy, int count, uint16_t* colors);
+ const uint32_t* xy, int count, uint16_t* colors);
-void highQualityFilter(const SkBitmapProcState &s, int x, int y,
- SkPMColor *SK_RESTRICT colors, int count);
+void highQualityFilter32(const SkBitmapProcState &s, int x, int y,
+ SkPMColor *SK_RESTRICT colors, int count);
+void highQualityFilter16(const SkBitmapProcState &s, int x, int y,
+ uint16_t *SK_RESTRICT colors, int count);
#endif