Flutter Engine
The 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
8#include "flutter/fml/macros.h"
14
15namespace impeller {
16
17class PipelineLibraryGLES;
18
19class PipelineGLES final
20 : public Pipeline<PipelineDescriptor>,
21 public BackendCast<PipelineGLES, Pipeline<PipelineDescriptor>> {
22 public:
23 // |Pipeline|
24 ~PipelineGLES() override;
25
26 const HandleGLES& GetProgramHandle() const;
27
28 [[nodiscard]] bool BindProgram() const;
29
30 [[nodiscard]] bool UnbindProgram() const;
31
33
34 [[nodiscard]] bool BuildVertexDescriptor(const ProcTableGLES& gl,
35 GLuint program);
36
37 private:
39
40 ReactorGLES::Ref reactor_;
41 HandleGLES handle_;
42 std::unique_ptr<BufferBindingsGLES> buffer_bindings_;
43 bool is_valid_ = false;
44
45 // |Pipeline|
46 bool IsValid() const override;
47
49 std::weak_ptr<PipelineLibrary> library,
50 const PipelineDescriptor& desc);
51
52 PipelineGLES(const PipelineGLES&) = delete;
53
54 PipelineGLES& operator=(const PipelineGLES&) = delete;
55};
56
57} // namespace impeller
58
59#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 BuildVertexDescriptor(const ProcTableGLES &gl, GLuint program)
bool IsValid() const override
Describes the fixed function and programmable aspects of rendering and compute operations performed b...
Definition pipeline.h:49
std::shared_ptr< ReactorGLES > Ref