blitters for sRGB and float16
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1697863002
Review URL: https://codereview.chromium.org/1697863002
diff --git a/src/core/SkCoreBlitters.h b/src/core/SkCoreBlitters.h
index d2559f5..06e106d 100644
--- a/src/core/SkCoreBlitters.h
+++ b/src/core/SkCoreBlitters.h
@@ -49,6 +49,7 @@
uint32_t fShaderFlags;
const SkShader* fShader;
SkShader::Context* fShaderContext;
+ bool fConstInY;
private:
// illegal
@@ -177,7 +178,6 @@
SkBlitRow::Proc32 fProc32;
SkBlitRow::Proc32 fProc32Blend;
bool fShadeDirectlyIntoDevice;
- bool fConstInY;
// illegal
SkARGB32_Shader_Blitter& operator=(const SkARGB32_Shader_Blitter&);
@@ -185,29 +185,13 @@
typedef SkShaderBlitter INHERITED;
};
-class SkARGB32_Shader4f_Blitter : public SkARGB32_Shader_Blitter {
-public:
- SkARGB32_Shader4f_Blitter(const SkPixmap& device, const SkPaint& paint,
- SkShader::Context* shaderContext);
- virtual ~SkARGB32_Shader4f_Blitter();
- void blitH(int x, int y, int width) override;
- void blitV(int x, int y, int height, SkAlpha alpha) override;
- void blitRect(int x, int y, int width, int height) override;
- void blitAntiH(int x, int y, const SkAlpha[], const int16_t[]) override;
- void blitMask(const SkMask&, const SkIRect&) override;
-
-private:
- SkXfermode::PM4fState fState;
- SkXfermode::PM4fProc1 fProc1;
- SkXfermode::PM4fProcN fProcN;
- SkPM4f* fBuffer;
- bool fConstInY;
-
- // illegal
- SkARGB32_Shader4f_Blitter& operator=(const SkARGB32_Shader4f_Blitter&);
-
- typedef SkARGB32_Shader_Blitter INHERITED;
-};
+SkBlitter* SkBlitter_ARGB32_Create(const SkPixmap& device, const SkPaint& paint,
+ SkShader::Context* shaderContext,
+ SkTBlitterAllocator* allocator);
+
+SkBlitter* SkBlitter_ARGB64_Create(const SkPixmap& device, const SkPaint& paint,
+ SkShader::Context* shaderContext,
+ SkTBlitterAllocator* allocator);
///////////////////////////////////////////////////////////////////////////////