| Index: src/gpu/gl/GrGLProgramDesc.h
|
| ===================================================================
|
| --- src/gpu/gl/GrGLProgramDesc.h (revision 8462)
|
| +++ src/gpu/gl/GrGLProgramDesc.h (working copy)
|
| @@ -39,7 +39,8 @@
|
| void setRandom(SkMWCRandom*,
|
| const GrGpuGL* gpu,
|
| const GrTexture* dummyDstTexture,
|
| - const GrEffectStage stages[GrDrawState::kNumStages]);
|
| + const GrEffectStage stages[GrDrawState::kNumStages],
|
| + int currAttribIndex);
|
|
|
| /**
|
| * Builds a program descriptor from a GrDrawState. Whether the primitive type is points, the
|
| @@ -76,35 +77,34 @@
|
| kDualSrcOutputCnt
|
| };
|
|
|
| - // should the FS discard if the coverage is zero (to avoid stencil manipulation)
|
| - bool fDiscardIfZeroCoverage;
|
| -
|
| - // stripped of bits that don't affect program generation
|
| - GrAttribBindings fAttribBindings;
|
| -
|
| /** Non-zero if this stage has an effect */
|
| GrGLEffect::EffectKey fEffectKeys[GrDrawState::kNumStages];
|
|
|
| - // To enable experimental geometry shader code (not for use in
|
| - // production)
|
| -#if GR_GL_EXPERIMENTAL_GS
|
| - bool fExperimentalGS;
|
| -#endif
|
| + // To enable experimental geometry shader code (not for use in
|
| + // production)
|
| +#if GR_GL_EXPERIMENTAL_GS
|
| + bool fExperimentalGS;
|
| +#endif
|
| +
|
| GrGLShaderBuilder::DstReadKey fDstRead; // set by GrGLShaderBuilder if there
|
| // are effects that must read the dst.
|
| // Otherwise, 0.
|
|
|
| + // should the FS discard if the coverage is zero (to avoid stencil manipulation)
|
| + SkBool8 fDiscardIfZeroCoverage;
|
| +
|
| uint8_t fColorInput; // casts to enum ColorInput
|
| uint8_t fCoverageInput; // casts to enum ColorInput
|
| uint8_t fDualSrcOutput; // casts to enum DualSrcOutput
|
| +
|
| int8_t fFirstCoverageStage;
|
| SkBool8 fEmitsPointSize;
|
| uint8_t fColorFilterXfermode; // casts to enum SkXfermode::Mode
|
|
|
| int8_t fPositionAttributeIndex;
|
| + int8_t fLocalCoordAttributeIndex;
|
| int8_t fColorAttributeIndex;
|
| int8_t fCoverageAttributeIndex;
|
| - int8_t fLocalCoordsAttributeIndex;
|
|
|
| // GrGLProgram and GrGLShaderBuilder read the private fields to generate code. TODO: Move all
|
| // code generation to GrGLShaderBuilder (and maybe add getters rather than friending).
|
|
|