Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
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
10#include "flutter/impeller/renderer/backend/gles/reactor_gles.h"
11#include "flutter/impeller/renderer/render_pass.h"
12
13namespace impeller {
14
15class RenderPassGLES final
16 : public RenderPass,
17 public std::enable_shared_from_this<RenderPassGLES> {
18 public:
19 // |RenderPass|
20 ~RenderPassGLES() override;
21
22 private:
23 friend class CommandBufferGLES;
24
25 ReactorGLES::Ref reactor_;
26 std::string label_;
27 bool is_valid_ = false;
28
29 RenderPassGLES(std::shared_ptr<const Context> context,
30 const RenderTarget& target,
31 ReactorGLES::Ref reactor);
32
33 // |RenderPass|
34 bool IsValid() const override;
35
36 // |RenderPass|
37 void OnSetLabel(std::string label) override;
38
39 // |RenderPass|
40 bool OnEncodeCommands(const Context& context) const override;
41
42 RenderPassGLES(const RenderPassGLES&) = delete;
43
44 RenderPassGLES& operator=(const RenderPassGLES&) = delete;
45};
46
47} // namespace impeller
48
49#endif // FLUTTER_IMPELLER_RENDERER_BACKEND_GLES_RENDER_PASS_GLES_H_
To do anything rendering related with Impeller, you need a context.
Definition context.h:46
std::shared_ptr< ReactorGLES > Ref
bool IsValid() const override
bool OnEncodeCommands(const Context &context) const override
void OnSetLabel(std::string label) override
Render passes encode render commands directed as one specific render target into an underlying comman...
Definition render_pass.h:33
uint32_t * target