Flutter Impeller
render_pass_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_RENDER_PASS_GLES_H_
6 #define FLUTTER_IMPELLER_RENDERER_BACKEND_GLES_RENDER_PASS_GLES_H_
7 
8 #include <memory>
9 
12 
13 namespace impeller {
14 
15 class RenderPassGLES final
16  : public RenderPass,
17  public std::enable_shared_from_this<RenderPassGLES> {
18  public:
19  // |RenderPass|
20  ~RenderPassGLES() override;
21 
22  static void ResetGLState(const ProcTableGLES& gl);
23 
24  private:
25  friend class CommandBufferGLES;
26 
27  std::shared_ptr<ReactorGLES> reactor_;
28  std::string label_;
29  bool is_valid_ = false;
30 
31  RenderPassGLES(std::shared_ptr<const Context> context,
32  const RenderTarget& target,
33  std::shared_ptr<ReactorGLES> reactor);
34 
35  // |RenderPass|
36  bool IsValid() const override;
37 
38  // |RenderPass|
39  void OnSetLabel(std::string_view label) override;
40 
41  // |RenderPass|
42  bool OnEncodeCommands(const Context& context) const override;
43 
44  RenderPassGLES(const RenderPassGLES&) = delete;
45 
46  RenderPassGLES& operator=(const RenderPassGLES&) = delete;
47 };
48 
49 } // namespace impeller
50 
51 #endif // FLUTTER_IMPELLER_RENDERER_BACKEND_GLES_RENDER_PASS_GLES_H_
To do anything rendering related with Impeller, you need a context.
Definition: context.h:65
static void ResetGLState(const ProcTableGLES &gl)
Render passes encode render commands directed as one specific render target into an underlying comman...
Definition: render_pass.h:30