Flutter Engine
 
Loading...
Searching...
No Matches
pipeline_gles.h
Go to the documentation of this file.
1// Copyright 2013 The Flutter Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef FLUTTER_IMPELLER_RENDERER_BACKEND_GLES_PIPELINE_GLES_H_
6#define FLUTTER_IMPELLER_RENDERER_BACKEND_GLES_PIPELINE_GLES_H_
7
13
14namespace impeller {
15
16class PipelineLibraryGLES;
17
18class PipelineGLES final
19 : public Pipeline<PipelineDescriptor>,
20 public BackendCast<PipelineGLES, Pipeline<PipelineDescriptor>> {
21 public:
22 // |Pipeline|
23 ~PipelineGLES() override;
24
25 const HandleGLES& GetProgramHandle() const;
26
27 const std::shared_ptr<UniqueHandleGLES> GetSharedHandle() const;
28
29 [[nodiscard]] bool BindProgram() const;
30
31 [[nodiscard]] bool UnbindProgram() const;
32
34
35 [[nodiscard]] bool BuildVertexDescriptor(const ProcTableGLES& gl,
36 GLuint program);
37
38 private:
40
41 std::shared_ptr<ReactorGLES> reactor_;
42 std::shared_ptr<UniqueHandleGLES> handle_;
43 std::unique_ptr<BufferBindingsGLES> buffer_bindings_;
44 bool is_valid_ = false;
45
46 // |Pipeline|
47 bool IsValid() const override;
48
49 PipelineGLES(std::shared_ptr<ReactorGLES> reactor,
50 std::weak_ptr<PipelineLibrary> library,
51 const PipelineDescriptor& desc,
52 std::shared_ptr<UniqueHandleGLES> handle);
53
54 PipelineGLES(const PipelineGLES&) = delete;
55
56 PipelineGLES& operator=(const PipelineGLES&) = delete;
57};
58
59} // namespace impeller
60
61#endif // FLUTTER_IMPELLER_RENDERER_BACKEND_GLES_PIPELINE_GLES_H_
Sets up stage bindings for single draw call in the OpenGLES backend.
Represents a handle to an underlying OpenGL object. Unlike OpenGL object handles, these handles can b...
Definition handle_gles.h:37
const HandleGLES & GetProgramHandle() const
const std::shared_ptr< UniqueHandleGLES > GetSharedHandle() const
BufferBindingsGLES * GetBufferBindings() const
bool BuildVertexDescriptor(const ProcTableGLES &gl, GLuint program)
Describes the fixed function and programmable aspects of rendering and compute operations performed b...
Definition pipeline.h:52