aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkDraw.cpp
diff options
context:
space:
mode:
authorGravatar reed <reed@google.com>2016-03-03 18:18:25 -0800
committerGravatar Commit bot <commit-bot@chromium.org>2016-03-03 18:18:25 -0800
commit773ceda51ca120b686ba2d1aff1b6d5173143be0 (patch)
tree5faf3b331ea786b46841cdd3f2f0fedf3562ad16 /src/core/SkDraw.cpp
parentf98bc6d618fb7317abff05b3b4351ff24e4fb560 (diff)
Enforce 16byte alignment in shader contexts (patchset #1 id:1 of https://codereview.chromium.org/1759653004/ )"
Diffstat (limited to 'src/core/SkDraw.cpp')
-rw-r--r--src/core/SkDraw.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/core/SkDraw.cpp b/src/core/SkDraw.cpp
index cff4252579..e9b0677c33 100644
--- a/src/core/SkDraw.cpp
+++ b/src/core/SkDraw.cpp
@@ -1698,8 +1698,6 @@ class SkTriColorShader : public SkShader {
public:
SkTriColorShader() {}
- size_t contextSize(const ContextRec&) const override;
-
class TriColorShaderContext : public SkShader::Context {
public:
TriColorShaderContext(const SkTriColorShader& shader, const ContextRec&);
@@ -1722,6 +1720,7 @@ public:
Factory getFactory() const override { sk_throw(); return nullptr; }
protected:
+ size_t onContextSize(const ContextRec&) const override;
Context* onCreateContext(const ContextRec& rec, void* storage) const override {
return new (storage) TriColorShaderContext(*this, rec);
}
@@ -1772,9 +1771,10 @@ SkTriColorShader::TriColorShaderContext::TriColorShaderContext(const SkTriColorS
SkTriColorShader::TriColorShaderContext::~TriColorShaderContext() {}
-size_t SkTriColorShader::contextSize(const ContextRec&) const {
- return sizeof(TriColorShaderContext);
+size_t SkTriColorShader::onContextSize(const ContextRec&) const {
+ return SkAlign16(sizeof(TriColorShaderContext));
}
+
void SkTriColorShader::TriColorShaderContext::shadeSpan(int x, int y, SkPMColor dstC[], int count) {
const int alphaScale = Sk255To256(this->getPaintAlpha());