Edit

kc3-lang/angle/src/libANGLE/renderer/gl/ShaderGL.h

Branch :

  • Show log

    Commit

  • Author : Geoff Lang
    Date : 2018-05-10 13:54:54
    Hash : 422f2ce2
    Message : GL: Refactor ShaderGL to not hold renderer objects. BUG=angleproject:2464 Change-Id: I243c010e30d62e233411b1dab1d13a69b44e4b38 Reviewed-on: https://chromium-review.googlesource.com/1054214 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>

  • src/libANGLE/renderer/gl/ShaderGL.h
  • //
    // Copyright 2015 The ANGLE Project Authors. All rights reserved.
    // Use of this source code is governed by a BSD-style license that can be
    // found in the LICENSE file.
    //
    
    // ShaderGL.h: Defines the class interface for ShaderGL.
    
    #ifndef LIBANGLE_RENDERER_GL_SHADERGL_H_
    #define LIBANGLE_RENDERER_GL_SHADERGL_H_
    
    #include "libANGLE/renderer/ShaderImpl.h"
    
    namespace rx
    {
    class FunctionsGL;
    struct WorkaroundsGL;
    enum class MultiviewImplementationTypeGL;
    
    class ShaderGL : public ShaderImpl
    {
      public:
        ShaderGL(const gl::ShaderState &data,
                 GLuint shaderID,
                 MultiviewImplementationTypeGL multiviewImplementationType);
        ~ShaderGL() override;
    
        void destroy(const gl::Context *context) override;
    
        // ShaderImpl implementation
        ShCompileOptions prepareSourceAndReturnOptions(const gl::Context *context,
                                                       std::stringstream *sourceStream,
                                                       std::string *sourcePath) override;
        bool postTranslateCompile(const gl::Context *context,
                                  gl::Compiler *compiler,
                                  std::string *infoLog) override;
        std::string getDebugInfo(const gl::Context *context) const override;
    
        GLuint getShaderID() const;
    
      private:
        GLuint mShaderID;
        MultiviewImplementationTypeGL mMultiviewImplementationType;
    };
    
    }
    
    #endif // LIBANGLE_RENDERER_GL_SHADERGL_H_