Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1004)

Unified Diff: src/effects/SkColorMatrixFilter.cpp

Issue 23018003: Rename GrGLUniformManager to GrGLUniform and ref GrGLUniforms directly Base URL: https://skia.googlecode.com/svn/trunk
Patch Set: Created 7 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/effects/SkBicubicImageFilter.cpp ('k') | src/effects/SkDisplacementMapEffect.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/effects/SkColorMatrixFilter.cpp
diff --git a/src/effects/SkColorMatrixFilter.cpp b/src/effects/SkColorMatrixFilter.cpp
index 3d1fd6f62749ee3350a1ebb4df4364bbf2875310..551efcbbd24ac0687cb923fadaa853725b3e517d 100644
--- a/src/effects/SkColorMatrixFilter.cpp
+++ b/src/effects/SkColorMatrixFilter.cpp
@@ -391,9 +391,10 @@ public:
GLEffect(const GrBackendEffectFactory& factory,
const GrDrawEffect&)
- : INHERITED(factory)
- , fMatrixHandle(GrGLUniformManager::kInvalidUniformHandle)
- , fVectorHandle(GrGLUniformManager::kInvalidUniformHandle) {}
+ : INHERITED(factory)
+ , fMatrixHandle(NULL)
+ , fVectorHandle(NULL) {
+ }
virtual void emitCode(GrGLShaderBuilder* builder,
const GrDrawEffect&,
@@ -401,12 +402,17 @@ public:
const char* outputColor,
const char* inputColor,
const TextureSamplerArray&) SK_OVERRIDE {
- fMatrixHandle = builder->addUniform(GrGLShaderBuilder::kFragment_ShaderType,
- kMat44f_GrSLType,
- "ColorMatrix");
- fVectorHandle = builder->addUniform(GrGLShaderBuilder::kFragment_ShaderType,
- kVec4f_GrSLType,
- "ColorMatrixVector");
+ GrGLShaderBuilder::Uniform* matrixHandle =
+ builder->addUniform(GrGLShaderBuilder::kFragment_ShaderType,
+ kMat44f_GrSLType,
+ "ColorMatrix");
+ fMatrixHandle = matrixHandle->glUniform();
+
+ GrGLShaderBuilder::Uniform* vectorHandle =
+ builder->addUniform(GrGLShaderBuilder::kFragment_ShaderType,
+ kVec4f_GrSLType,
+ "ColorMatrixVector");
+ fVectorHandle = vectorHandle->glUniform();
if (NULL == inputColor) {
// could optimize this case, but we aren't for now.
@@ -417,13 +423,13 @@ public:
builder->fsCodeAppendf("\tfloat nonZeroAlpha = max(%s.a, 0.00001);\n", inputColor);
builder->fsCodeAppendf("\t%s = %s * vec4(%s.rgb / nonZeroAlpha, nonZeroAlpha) + %s;\n",
outputColor,
- builder->getUniformCStr(fMatrixHandle),
+ matrixHandle->c_str(),
inputColor,
- builder->getUniformCStr(fVectorHandle));
+ vectorHandle->c_str());
builder->fsCodeAppendf("\t%s.rgb *= %s.a;\n", outputColor, outputColor);
}
- virtual void setData(const GrGLUniformManager& uniManager,
+ virtual void setData(const GrGLContext& context,
const GrDrawEffect& drawEffect) SK_OVERRIDE {
const ColorMatrixEffect& cme = drawEffect.castEffect<ColorMatrixEffect>();
const float* m = cme.fMatrix.fMat;
@@ -438,13 +444,13 @@ public:
GrGLfloat vec[] = {
m[4] * kScale, m[9] * kScale, m[14] * kScale, m[19] * kScale,
};
- uniManager.setMatrix4fv(fMatrixHandle, 0, 1, mt);
- uniManager.set4fv(fVectorHandle, 0, 1, vec);
+ fMatrixHandle->setMatrix4fv(context, 0, 1, mt);
+ fVectorHandle->set4fv(context, 0, 1, vec);
}
private:
- GrGLUniformManager::UniformHandle fMatrixHandle;
- GrGLUniformManager::UniformHandle fVectorHandle;
+ GrGLUniform* fMatrixHandle;
+ GrGLUniform* fVectorHandle;
};
private:
« no previous file with comments | « src/effects/SkBicubicImageFilter.cpp ('k') | src/effects/SkDisplacementMapEffect.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698