void GrGLPathProgram::setTransformData(const GrPrimitiveProcessor& primProc, const GrFragmentProcessor& processor, int index, GrGLInstalledFragProc* ip) { GrGLPathProcessor* pathProc = static_cast<GrGLPathProcessor*>(fGeometryProcessor.get()->fGLProc.get()); pathProc->setTransformData(primProc, fPathProgramDataManager, index, processor.coordTransforms()); }
void GrGLNvprProgram::setTransformData(const GrPrimitiveProcessor& primProc, const GrPendingFragmentStage& proc, int index, GrGLInstalledFragProc* ip) { GrGLPathProcessor* pathProc = static_cast<GrGLPathProcessor*>(fGeometryProcessor.get()->fGLProc.get()); pathProc->setTransformData(primProc, index, proc.processor()->coordTransforms(), fGpu->glPathRendering(), fProgramID); }
GrGLProgram* createProgram(GrGLuint programID) override { // this is just for nvpr es, which has separable varyings that are plugged in after // building GrGLPathProcessor* pathProc = static_cast<GrGLPathProcessor*>(fGeometryProcessor->fGLProc.get()); pathProc->resolveSeparableVaryings(fGpu, programID); return SkNEW_ARGS(GrGLNvprProgram, (fGpu, this->desc(), fUniformHandles, programID, fUniforms, fGeometryProcessor, fXferProcessor, fFragmentProcessors.get(), &fSamplerUniforms)); }
void GrGLPathProgram::didSetData() { GrGLPathProcessor* pathProc = static_cast<GrGLPathProcessor*>(fGeometryProcessor.get()->fGLProc.get()); pathProc->didSetData(fGpu->glPathRendering()); }