/* * Copyright 2015 Google Inc. * * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ #ifndef GrGLVaryingHandler_DEFINED #define GrGLVaryingHandler_DEFINED #include "glsl/GrGLSLVarying.h" #include "GrTypesPriv.h" #include "gl/GrGLProgramDataManager.h" class GrGLVaryingHandler : public GrGLSLVaryingHandler { public: GrGLVaryingHandler(GrGLSLProgramBuilder* program) : INHERITED(program), fPathProcVaryingInfos(kVaryingsPerBlock) {} // This function is used by the NVPR PathProcessor to add a varying directly into the fragment // shader since there is no vertex shader. VaryingHandle addPathProcessingVarying(const char* name, GrGLSLVarying*); private: void onFinalize() override; GrGLProgramDataManager::VaryingInfoArray fPathProcVaryingInfos; friend class GrGLProgramBuilder; typedef GrGLSLVaryingHandler INHERITED; }; #endif