| Flutter Impeller |

blit_command_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_BLIT_COMMAND_GLES_H_
6 #define FLUTTER_IMPELLER_RENDERER_BACKEND_GLES_BLIT_COMMAND_GLES_H_
7
8 #include "impeller/base/backend_cast.h"
9 #include "impeller/renderer/backend/gles/reactor_gles.h"
10 #include "impeller/renderer/blit_command.h"
11
12 namespace impeller {
13
14 /// Mixin for dispatching GLES commands.
15 struct BlitEncodeGLES : BackendCast<BlitEncodeGLES, BlitCommand> {
16 virtual ~BlitEncodeGLES();
17
18 virtual std::string GetLabel() const = 0;
19
20 [[nodiscard]] virtual bool Encode(const ReactorGLES& reactor) const = 0;
21 };
22
23 struct BlitCopyTextureToTextureCommandGLES
24 : public BlitEncodeGLES,
25 public BlitCopyTextureToTextureCommand {
26 ~BlitCopyTextureToTextureCommandGLES() override;
27
28 std::string GetLabel() const override;
29
30 [[nodiscard]] bool Encode(const ReactorGLES& reactor) const override;
31 };
32
33 struct BlitCopyTextureToBufferCommandGLES
34 : public BlitEncodeGLES,
35 public BlitCopyTextureToBufferCommand {
36 ~BlitCopyTextureToBufferCommandGLES() override;
37
38 std::string GetLabel() const override;
39
40 [[nodiscard]] bool Encode(const ReactorGLES& reactor) const override;
41 };
42
43 struct BlitGenerateMipmapCommandGLES : public BlitEncodeGLES,
44 public BlitGenerateMipmapCommand {
45 ~BlitGenerateMipmapCommandGLES() override;
46
47 std::string GetLabel() const override;
48
49 [[nodiscard]] bool Encode(const ReactorGLES& reactor) const override;
50 };
51
52 } // namespace impeller
53
54 #endif // FLUTTER_IMPELLER_RENDERER_BACKEND_GLES_BLIT_COMMAND_GLES_H_
impeller::BlitGenerateMipmapCommand
Definition: blit_command.h:38
impeller::BlitCopyTextureToTextureCommandGLES::Encode
bool Encode(const ReactorGLES &reactor) const override
Definition: blit_command_gles.cc:66
impeller::BlitGenerateMipmapCommandGLES
Definition: blit_command_gles.h:43
blit_command.h
impeller::BlitEncodeGLES::Encode
virtual bool Encode(const ReactorGLES &reactor) const =0
impeller::BlitCopyTextureToTextureCommandGLES::~BlitCopyTextureToTextureCommandGLES
~BlitCopyTextureToTextureCommandGLES() override
impeller::BlitCopyTextureToBufferCommand
Definition: blit_command.h:25
impeller::BlitGenerateMipmapCommandGLES::Encode
bool Encode(const ReactorGLES &reactor) const override
Definition: blit_command_gles.cc:164
backend_cast.h
impeller::BlitCopyTextureToBufferCommandGLES::GetLabel
std::string GetLabel() const override
Definition: blit_command_gles.cc:123
impeller::BlitEncodeGLES::GetLabel
virtual std::string GetLabel() const =0
impeller::BlitEncodeGLES
Mixin for dispatching GLES commands.
Definition: blit_command_gles.h:15
impeller::BlitCopyTextureToBufferCommandGLES::Encode
bool Encode(const ReactorGLES &reactor) const override
Definition: blit_command_gles.cc:127
impeller::BlitGenerateMipmapCommandGLES::GetLabel
std::string GetLabel() const override
Definition: blit_command_gles.cc:160
impeller::BlitCopyTextureToTextureCommandGLES
Definition: blit_command_gles.h:23
reactor_gles.h
impeller::BlitCopyTextureToBufferCommandGLES::~BlitCopyTextureToBufferCommandGLES
~BlitCopyTextureToBufferCommandGLES() override
impeller::BackendCast
Definition: backend_cast.h:13
impeller::ReactorGLES
The reactor attempts to make thread-safe usage of OpenGL ES easier to reason about.
Definition: reactor_gles.h:56
impeller::BlitGenerateMipmapCommandGLES::~BlitGenerateMipmapCommandGLES
~BlitGenerateMipmapCommandGLES() override
impeller::BlitCopyTextureToTextureCommandGLES::GetLabel
std::string GetLabel() const override
Definition: blit_command_gles.cc:62
impeller
Definition: aiks_context.cc:10
impeller::BlitCopyTextureToBufferCommandGLES
Definition: blit_command_gles.h:33
impeller::BlitCopyTextureToTextureCommand
Definition: blit_command.h:18
impeller::BlitEncodeGLES::~BlitEncodeGLES
virtual ~BlitEncodeGLES()