| Flutter Impeller |

blit_command.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_BLIT_COMMAND_H_
6 #define FLUTTER_IMPELLER_RENDERER_BLIT_COMMAND_H_
7
8 #include <cstdint>
9 #include "impeller/core/device_buffer.h"
10 #include "impeller/core/texture.h"
11 #include "impeller/geometry/rect.h"
12
13 namespace impeller {
14
15 struct BlitCommand {
16 std::string label;
17 };
18
19 struct BlitCopyTextureToTextureCommand : public BlitCommand {
20 std::shared_ptr<Texture> source;
21 std::shared_ptr<Texture> destination;
22 IRect source_region;
23 IPoint destination_origin;
24 };
25
26 struct BlitResizeTextureCommand : public BlitCommand {
27 std::shared_ptr<Texture> source;
28 std::shared_ptr<Texture> destination;
29 };
30
31 struct BlitCopyTextureToBufferCommand : public BlitCommand {
32 std::shared_ptr<Texture> source;
33 std::shared_ptr<DeviceBuffer> destination;
34 IRect source_region;
35 size_t destination_offset;
36 };
37
38 struct BlitCopyBufferToTextureCommand : public BlitCommand {
39 BufferView source;
40 std::shared_ptr<Texture> destination;
41 IRect destination_region;
42 uint32_t mip_level = 0;
43 uint32_t slice = 0;
44 };
45
46 struct BlitGenerateMipmapCommand : public BlitCommand {
47 std::shared_ptr<Texture> texture;
48 };
49
50 } // namespace impeller
51
52 #endif // FLUTTER_IMPELLER_RENDERER_BLIT_COMMAND_H_
texture.h
device_buffer.h
impeller
Definition: allocation.cc:12
rect.h
impeller::BlitCommand
Definition: blit_command.h:15
impeller::BlitCommand::label
std::string label
Definition: blit_command.h:16
impeller::BlitCopyBufferToTextureCommand
Definition: blit_command.h:38
impeller::BlitCopyBufferToTextureCommand::mip_level
uint32_t mip_level
Definition: blit_command.h:42
impeller::BlitCopyBufferToTextureCommand::slice
uint32_t slice
Definition: blit_command.h:43
impeller::BlitCopyBufferToTextureCommand::destination
std::shared_ptr< Texture > destination
Definition: blit_command.h:40
impeller::BlitCopyBufferToTextureCommand::source
BufferView source
Definition: blit_command.h:39
impeller::BlitCopyBufferToTextureCommand::destination_region
IRect destination_region
Definition: blit_command.h:41
impeller::BlitCopyTextureToBufferCommand
Definition: blit_command.h:31
impeller::BlitCopyTextureToBufferCommand::destination
std::shared_ptr< DeviceBuffer > destination
Definition: blit_command.h:33
impeller::BlitCopyTextureToBufferCommand::source
std::shared_ptr< Texture > source
Definition: blit_command.h:32
impeller::BlitCopyTextureToBufferCommand::source_region
IRect source_region
Definition: blit_command.h:34
impeller::BlitCopyTextureToBufferCommand::destination_offset
size_t destination_offset
Definition: blit_command.h:35
impeller::BlitCopyTextureToTextureCommand
Definition: blit_command.h:19
impeller::BlitCopyTextureToTextureCommand::destination_origin
IPoint destination_origin
Definition: blit_command.h:23
impeller::BlitCopyTextureToTextureCommand::destination
std::shared_ptr< Texture > destination
Definition: blit_command.h:21
impeller::BlitCopyTextureToTextureCommand::source_region
IRect source_region
Definition: blit_command.h:22
impeller::BlitCopyTextureToTextureCommand::source
std::shared_ptr< Texture > source
Definition: blit_command.h:20
impeller::BlitGenerateMipmapCommand
Definition: blit_command.h:46
impeller::BlitGenerateMipmapCommand::texture
std::shared_ptr< Texture > texture
Definition: blit_command.h:47
impeller::BlitResizeTextureCommand
Definition: blit_command.h:26
impeller::BlitResizeTextureCommand::destination
std::shared_ptr< Texture > destination
Definition: blit_command.h:28
impeller::BlitResizeTextureCommand::source
std::shared_ptr< Texture > source
Definition: blit_command.h:27
impeller::BufferView
Definition: buffer_view.h:19
impeller::TPoint< int64_t >
impeller::TRect
Definition: rect.h:122