diff options
author | 2014-07-21 08:03:14 -0700 | |
---|---|---|
committer | 2014-07-21 08:03:14 -0700 | |
commit | 63e99f7a03b2ac90ae7a00232674fd39c0bdcc68 (patch) | |
tree | 9fcb7021404fdae422202dfff1e4a4e12106fb8c /src/effects/SkPerlinNoiseShader.cpp | |
parent | 3f8540346df30f2b681bcffd42edac15d609aec4 (diff) |
Allow GrGLEffects to produce variable length keys.
R=robertphillips@google.com, jvanverth@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/385713005
Diffstat (limited to 'src/effects/SkPerlinNoiseShader.cpp')
-rw-r--r-- | src/effects/SkPerlinNoiseShader.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/effects/SkPerlinNoiseShader.cpp b/src/effects/SkPerlinNoiseShader.cpp index e4811627b2..f0b9f67712 100644 --- a/src/effects/SkPerlinNoiseShader.cpp +++ b/src/effects/SkPerlinNoiseShader.cpp @@ -499,7 +499,7 @@ public: virtual void emitCode(GrGLShaderBuilder*, const GrDrawEffect&, - EffectKey, + const GrEffectKey&, const char* outputColor, const char* inputColor, const TransformedCoordsArray&, @@ -507,7 +507,7 @@ public: virtual void setData(const GrGLUniformManager&, const GrDrawEffect&) SK_OVERRIDE; - static inline EffectKey GenKey(const GrDrawEffect&, const GrGLCaps&); + static inline void GenKey(const GrDrawEffect&, const GrGLCaps&, GrEffectKeyBuilder* b); private: @@ -647,7 +647,7 @@ GrGLPerlinNoise::GrGLPerlinNoise(const GrBackendEffectFactory& factory, const Gr void GrGLPerlinNoise::emitCode(GrGLShaderBuilder* builder, const GrDrawEffect&, - EffectKey key, + const GrEffectKey& key, const char* outputColor, const char* inputColor, const TransformedCoordsArray& coords, @@ -900,10 +900,10 @@ void GrGLPerlinNoise::emitCode(GrGLShaderBuilder* builder, outputColor, outputColor, outputColor, outputColor); } -GrGLEffect::EffectKey GrGLPerlinNoise::GenKey(const GrDrawEffect& drawEffect, const GrGLCaps&) { +void GrGLPerlinNoise::GenKey(const GrDrawEffect& drawEffect, const GrGLCaps&, GrEffectKeyBuilder* b) { const GrPerlinNoiseEffect& turbulence = drawEffect.castEffect<GrPerlinNoiseEffect>(); - EffectKey key = turbulence.numOctaves(); + uint32_t key = turbulence.numOctaves(); key = key << 3; // Make room for next 3 bits @@ -923,7 +923,7 @@ GrGLEffect::EffectKey GrGLPerlinNoise::GenKey(const GrDrawEffect& drawEffect, co key |= 0x4; // Flip the 3rd bit if tile stitching is on } - return key; + b->add32(key); } void GrGLPerlinNoise::setData(const GrGLUniformManager& uman, const GrDrawEffect& drawEffect) { |