Add color filters to gpu path.
git-svn-id: http://skia.googlecode.com/svn/trunk@1297 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/gpu/src/GrGLProgram.h b/gpu/src/GrGLProgram.h
index 54818ec..3b926a7 100644
--- a/gpu/src/GrGLProgram.h
+++ b/gpu/src/GrGLProgram.h
@@ -21,6 +21,8 @@
#include "GrStringBuilder.h"
#include "GrDrawTarget.h"
+#include "SkXfermode.h"
+
class GrBinHashKeyBuilder;
class GrGLEffect;
struct ShaderCodeSegments;
@@ -107,6 +109,9 @@
bool fEmitsPointSize;
+ GrColor fColorFilterColor;
+ SkXfermode::Mode fColorFilterXfermode;
+
struct StageDesc {
enum OptFlagBits {
kNoPerspective_OptFlagBit = 0x1,
@@ -159,10 +164,12 @@
struct UniLocations {
GrGLint fViewMatrixUni;
GrGLint fColorUni;
+ GrGLint fColorFilterUni;
StageUniLocations fStages[GrDrawTarget::kNumStages];
void reset() {
fViewMatrixUni = kUnusedUniform;
fColorUni = kUnusedUniform;
+ fColorFilterUni = kUnusedUniform;
for (int s = 0; s < GrDrawTarget::kNumStages; ++s) {
fStages[s].reset();
}
@@ -217,6 +224,7 @@
// these reflect the current values of uniforms
// (GL uniform values travel with program)
GrColor fColor;
+ GrColor fColorFilterColor;
GrMatrix fTextureMatrices[GrDrawTarget::kNumStages];
// width and height used for normalized texel size
int fTextureWidth[GrDrawTarget::kNumStages];