Add a GrGpuGL reference for GrGLProgram/GrGLUniformManager
Updates GrGLProgram and GrGLUniformManager to keep a GrGpuGL reference
instead of one for GrGLContextInfo. No change in functionality, this
is in preparation to support fixed function GL calls for vertexless
shaders.
R=bsalomon@google.com
Author: cdalton@nvidia.com
Review URL: https://chromiumcodereview.appspot.com/23636011
git-svn-id: http://skia.googlecode.com/svn/trunk@11111 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/gpu/gl/GrGLProgram.h b/src/gpu/gl/GrGLProgram.h
index e39e9bf..283ac03 100644
--- a/src/gpu/gl/GrGLProgram.h
+++ b/src/gpu/gl/GrGLProgram.h
@@ -37,7 +37,7 @@
public:
SK_DECLARE_INST_COUNT(GrGLProgram)
- static GrGLProgram* Create(const GrGLContext& gl,
+ static GrGLProgram* Create(GrGpuGL* gpu,
const GrGLProgramDesc& desc,
const GrEffectStage* colorStages[],
const GrEffectStage* coverageStages[]);
@@ -108,8 +108,7 @@
* GrGpuGL object to bind the textures required by the GrGLEffects. The color and coverage
* stages come from GrGLProgramDesc::Build().
*/
- void setData(GrGpuGL*,
- GrDrawState::BlendOptFlags,
+ void setData(GrDrawState::BlendOptFlags,
const GrEffectStage* colorStages[],
const GrEffectStage* coverageStages[],
const GrDeviceCoordTexture* dstCopy, // can be NULL
@@ -146,7 +145,7 @@
TextureUnitSArray fTextureUnits; // texture unit used for each entry of fSamplerUnis
};
- GrGLProgram(const GrGLContext& gl,
+ GrGLProgram(GrGpuGL* gpu,
const GrGLProgramDesc& desc,
const GrEffectStage* colorStages[],
const GrEffectStage* coverageStages[]);
@@ -179,7 +178,7 @@
const char* adjustInColor(const SkString& inColor) const;
// Helper for setData().
- void setEffectData(GrGpuGL* gpu, const GrEffectStage& stage, const EffectAndSamplers& effect);
+ void setEffectData(const GrEffectStage& stage, const EffectAndSamplers& effect);
// Helper for setData(). Makes GL calls to specify the initial color when there is not
// per-vertex colors.
@@ -209,7 +208,7 @@
SkTArray<EffectAndSamplers> fCoverageEffects;
GrGLProgramDesc fDesc;
- const GrGLContext& fContext;
+ GrGpuGL* fGpu;
GrGLUniformManager fUniformManager;
UniformHandles fUniformHandles;