Index: src/gpu/gl/GrGLProgramEffects.h |
diff --git a/src/gpu/gl/GrGLProgramEffects.h b/src/gpu/gl/GrGLProgramEffects.h |
index 79afa0a1688ad69544b0e58a228fa32f3bb2f0bc..dd3feab8435147f1aebc99572ffc573901349948 100644 |
--- a/src/gpu/gl/GrGLProgramEffects.h |
+++ b/src/gpu/gl/GrGLProgramEffects.h |
@@ -39,7 +39,10 @@ public: |
* which must be different for every GrEffect subclass. It can fail if an effect uses too many |
* textures, attributes, etc for the space allotted in the meta-key. |
*/ |
- static bool GenEffectMetaKey(const GrDrawEffect&, const GrGLCaps&, GrEffectKeyBuilder*); |
+ static bool GenEffectMetaKey(const GrEffectStage&, |
+ bool, |
+ const GrGLCaps&, |
+ GrEffectKeyBuilder*); |
virtual ~GrGLProgramEffects(); |
@@ -114,9 +117,9 @@ protected: |
/** |
* Helpers for GenEffectMetaKey. |
*/ |
- static uint32_t GenAttribKey(const GrEffect&); |
- static uint32_t GenTransformKey(const GrDrawEffect&); |
- static uint32_t GenTextureKey(const GrDrawEffect&, const GrGLCaps&); |
+ static uint32_t GenAttribKey(const GrEffect*); |
+ static uint32_t GenTransformKey(const GrEffectStage&, bool useExplicitLocalCoords); |
+ static uint32_t GenTextureKey(const GrEffect*, const GrGLCaps&); |
GrGLProgramEffects(int reserveCount) |
: fGLEffects(reserveCount) |
@@ -128,12 +131,12 @@ protected: |
* appends the necessary data to the TextureSamplerArray* object so effects can add texture |
* lookups to their code. This method is only meant to be called during the construction phase. |
*/ |
- void emitSamplers(GrGLProgramBuilder*, const GrEffect*, TextureSamplerArray*); |
+ void emitSamplers(GrGLProgramBuilder*, const GrEffect&, TextureSamplerArray*); |
/** |
* Helper for setData(). Binds all the textures for an effect. |
*/ |
- void bindTextures(GrGpuGL*, const GrEffect*, int effectIdx); |
+ void bindTextures(GrGpuGL*, const GrEffect&, int effectIdx); |
struct Sampler { |
SkDEBUGCODE(Sampler() : fTextureUnit(-1) {}) |
@@ -212,14 +215,15 @@ private: |
* TransformedCoordsArray* object, which is in turn passed to the effect's emitCode() function. |
*/ |
void emitTransforms(GrGLFullProgramBuilder*, |
- const GrDrawEffect&, |
+ const GrEffectStage&, |
TransformedCoordsArray*); |
/** |
* Helper for setData(). Sets all the transform matrices for an effect. |
*/ |
- void setTransformData(GrGpuGL* gpu, const GrGLProgramDataManager&, const GrDrawEffect&, int effectIdx); |
- void setPathTransformData(GrGpuGL* gpu, const GrGLProgramDataManager&, const GrDrawEffect&, |
+ void setTransformData(GrGpuGL* gpu, const GrGLProgramDataManager&, const GrEffectStage&, |
+ int effectIdx); |
+ void setPathTransformData(GrGpuGL* gpu, const GrGLProgramDataManager&, const GrEffectStage&, |
int effectIdx); |
struct Transform { |
@@ -307,13 +311,13 @@ private: |
* effect's emitCode() function. |
*/ |
void setupPathTexGen(GrGLFragmentOnlyProgramBuilder*, |
- const GrDrawEffect&, |
+ const GrEffectStage&, |
TransformedCoordsArray*); |
/** |
* Helper for setData(). Sets the PathTexGen state for each transform in an effect. |
*/ |
- void setPathTexGenState(GrGpuGL*, const GrDrawEffect&, int effectIdx); |
+ void setPathTexGenState(GrGpuGL*, const GrEffectStage&, int effectIdx); |
struct Transforms { |
Transforms(uint32_t transformKey, int texCoordIndex) |