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;
116 SkASSERT(i >= 0 && i < fVertexAttributeCnt);
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;
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)