9#ifndef GrGLProgram_DEFINED
10#define GrGLProgram_DEFINED
59 std::unique_ptr<GrGeometryProcessor::ProgramImpl>,
60 std::unique_ptr<GrXferProcessor::ProgramImpl>,
61 std::vector<std::unique_ptr<GrFragmentProcessor::ProgramImpl>> fps,
63 int vertexAttributeCnt,
64 int instanceAttributeCnt,
91 fRenderTargetSize.
fWidth = -1;
117 return fAttributes[
i];
122 SkASSERT(
i >= 0 &&
i < fInstanceAttributeCnt);
123 return fAttributes[
i + fVertexAttributeCnt];
132 std::unique_ptr<GrGeometryProcessor::ProgramImpl>,
133 std::unique_ptr<GrXferProcessor::ProgramImpl>,
134 std::vector<std::unique_ptr<GrFragmentProcessor::ProgramImpl>> fpImpls,
136 int vertexAttributeCnt,
137 int instanceAttributeCnt,
145 RenderTargetState fRenderTargetState;
150 std::unique_ptr<GrGeometryProcessor::ProgramImpl> fGPImpl;
151 std::unique_ptr<GrXferProcessor::ProgramImpl> fXPImpl;
152 std::vector<std::unique_ptr<GrFragmentProcessor::ProgramImpl>> fFPImpls;
154 std::unique_ptr<Attribute[]> fAttributes;
155 int fVertexAttributeCnt;
156 int fInstanceAttributeCnt;
163 int fNumTextureSamplers;
SkTBlockList< GLUniformInfo > UniformInfoArray
SkTBlockList< VaryingInfo > VaryingInfoArray
GrGLSLProgramDataManager::UniformHandle UniformHandle
int numVertexAttributes() const
int instanceStride() const
GrGLuint programID() const
const Attribute & vertexAttribute(int i) const
GrGLProgramDataManager::UniformInfoArray UniformInfoArray
void bindTextures(const GrGeometryProcessor &, const GrSurfaceProxy *const geomProcTextures[], const GrPipeline &)
int numInstanceAttributes() const
void updateUniforms(const GrRenderTarget *, const GrProgramInfo &)
const Attribute & instanceAttribute(int i) const
static sk_sp< GrGLProgram > Make(GrGLGpu *, const GrGLSLBuiltinUniformHandles &, GrGLuint programID, const UniformInfoArray &uniforms, const UniformInfoArray &textureSamplers, std::unique_ptr< GrGeometryProcessor::ProgramImpl >, std::unique_ptr< GrXferProcessor::ProgramImpl >, std::vector< std::unique_ptr< GrFragmentProcessor::ProgramImpl > > fps, std::unique_ptr< Attribute[]>, int vertexAttributeCnt, int instanceAttributeCnt, int vertexStride, int instanceStride)
GrVertexAttribType fCPUType
SkISize fRenderTargetSize
GrSurfaceOrigin fRenderTargetOrigin