8#ifndef GrGLProgramBuilder_DEFINED
9#define GrGLProgramBuilder_DEFINED
63 bool compileAndAttachShaders(
const std::string& glsl,
70 void computeCountsAndStrides(
GrGLuint programID,
72 bool bindAttribLocations);
75 const std::string shaders[],
79 void bindProgramResourceLocations(
GrGLuint programID);
80 void resolveProgramResourceLocations(
GrGLuint programID,
bool force);
93 std::unique_ptr<GrGLProgram::Attribute[]> fAttributes;
94 int fVertexAttributeCnt;
95 int fInstanceAttributeCnt;
97 size_t fInstanceStride;
const GrCaps * caps() const override
static bool PrecompileProgram(GrDirectContext *, GrGLPrecompiledProgram *, const SkData &)
static sk_sp< GrGLProgram > CreateProgram(GrDirectContext *, const GrProgramDesc &, const GrProgramInfo &, const GrGLPrecompiledProgram *=nullptr)
GrGLSLProgramBuilder(const GrProgramDesc &, const GrProgramInfo &)
GrGLPrecompiledProgram(GrGLuint programID=0, SkSL::Program::Interface intf=SkSL::Program::Interface())
SkSL::Program::Interface fInterface