Edit

kc3-lang/angle/src/libANGLE/renderer/null/ContextNULL.h

Branch :

  • Show log

    Commit

  • Author : Geoff Lang
    Date : 2016-09-23 15:56:30
    Hash : d08f3b3d
    Message : Add stubs for a NULL renderer. BUG=angleproject:1468 Change-Id: I2ed2b65a4b6f6ea3dda61c0467aef95e407cd38c Reviewed-on: https://chromium-review.googlesource.com/388844 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>

  • src/libANGLE/renderer/null/ContextNULL.h
  • //
    // Copyright 2016 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.
    //
    // ContextNULL.h:
    //    Defines the class interface for ContextNULL, implementing ContextImpl.
    //
    
    #ifndef LIBANGLE_RENDERER_NULL_CONTEXTNULL_H_
    #define LIBANGLE_RENDERER_NULL_CONTEXTNULL_H_
    
    #include "libANGLE/renderer/ContextImpl.h"
    
    namespace rx
    {
    
    class ContextNULL : public ContextImpl
    {
      public:
        ContextNULL(const gl::ContextState &state);
        ~ContextNULL() override;
    
        gl::Error initialize() override;
    
        // Flush and finish.
        gl::Error flush() override;
        gl::Error finish() override;
    
        // Drawing methods.
        gl::Error drawArrays(GLenum mode, GLint first, GLsizei count) override;
        gl::Error drawArraysInstanced(GLenum mode,
                                      GLint first,
                                      GLsizei count,
                                      GLsizei instanceCount) override;
    
        gl::Error drawElements(GLenum mode,
                               GLsizei count,
                               GLenum type,
                               const GLvoid *indices,
                               const gl::IndexRange &indexRange) override;
        gl::Error drawElementsInstanced(GLenum mode,
                                        GLsizei count,
                                        GLenum type,
                                        const GLvoid *indices,
                                        GLsizei instances,
                                        const gl::IndexRange &indexRange) override;
        gl::Error drawRangeElements(GLenum mode,
                                    GLuint start,
                                    GLuint end,
                                    GLsizei count,
                                    GLenum type,
                                    const GLvoid *indices,
                                    const gl::IndexRange &indexRange) override;
    
        // CHROMIUM_path_rendering path drawing methods.
    
        // Shader creation
        CompilerImpl *createCompiler() override;
        ShaderImpl *createShader(const gl::ShaderState &data) override;
        ProgramImpl *createProgram(const gl::ProgramState &data) override;
    
        // Framebuffer creation
        FramebufferImpl *createFramebuffer(const gl::FramebufferState &data) override;
    
        // Texture creation
        TextureImpl *createTexture(const gl::TextureState &state) override;
    
        // Renderbuffer creation
        RenderbufferImpl *createRenderbuffer() override;
    
        // Buffer creation
        BufferImpl *createBuffer() override;
    
        // Vertex Array creation
        VertexArrayImpl *createVertexArray(const gl::VertexArrayState &data) override;
    
        // Query and Fence creation
        QueryImpl *createQuery(GLenum type) override;
        FenceNVImpl *createFenceNV() override;
        FenceSyncImpl *createFenceSync() override;
    
        // Transform Feedback creation
        TransformFeedbackImpl *createTransformFeedback(
            const gl::TransformFeedbackState &state) override;
    
        // Sampler object creation
        SamplerImpl *createSampler() override;
    
        std::vector<PathImpl *> createPaths(GLsizei range) override;
    };
    
    }  // namespace rx
    
    #endif  // LIBANGLE_RENDERER_NULL_CONTEXTNULL_H_