Flutter Engine
The Flutter Engine
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 [[nodiscard]] bool BindProgram() const;
28
29 [[nodiscard]] bool UnbindProgram() const;
30
32
33 [[nodiscard]] bool BuildVertexDescriptor(const ProcTableGLES& gl,
34 GLuint program);
35
36 private:
38
39 ReactorGLES::Ref reactor_;
40 HandleGLES handle_;
41 std::unique_ptr<BufferBindingsGLES> buffer_bindings_;
42 bool is_valid_ = false;
43
44 // |Pipeline|
45 bool IsValid() const override;
46
48 std::weak_ptr<PipelineLibrary> library,
50
51 PipelineGLES(const PipelineGLES&) = delete;
52
53 PipelineGLES& operator=(const PipelineGLES&) = delete;
54};
55
56} // namespace impeller
57
58#endif // FLUTTER_IMPELLER_RENDERER_BACKEND_GLES_PIPELINE_GLES_H_
Sets up stage bindings for single draw call in the OpenGLES backend.
const HandleGLES & GetProgramHandle() const
BufferBindingsGLES * GetBufferBindings() const
bool UnbindProgram() const
bool BindProgram() 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:49
std::shared_ptr< ReactorGLES > Ref
Definition: reactor_gles.h:86
gl
Definition: malisc.py:41