5#ifndef FLUTTER_IMPELLER_RENDERER_BLIT_PASS_H_
6#define FLUTTER_IMPELLER_RENDERER_BLIT_PASS_H_
55 std::shared_ptr<Texture> destination,
56 std::optional<IRect> source_region = std::nullopt,
57 IPoint destination_origin = {},
58 std::string label =
"");
79 std::shared_ptr<DeviceBuffer> destination,
80 std::optional<IRect> source_region = std::nullopt,
81 size_t destination_offset = 0,
82 std::string label =
"");
100 std::shared_ptr<Texture> destination,
101 IPoint destination_origin = {},
102 std::string label =
"");
124 const std::shared_ptr<Allocator>& transients_allocator)
const = 0;
132 std::shared_ptr<Texture>
source,
133 std::shared_ptr<Texture> destination,
135 IPoint destination_origin,
136 std::string label) = 0;
139 std::shared_ptr<Texture>
source,
140 std::shared_ptr<DeviceBuffer> destination,
142 size_t destination_offset,
143 std::string label) = 0;
147 std::shared_ptr<Texture> destination,
148 IPoint destination_origin,
149 std::string label) = 0;
152 std::string label) = 0;
Blit passes encode blit into the underlying command buffer.
virtual bool EncodeCommands(const std::shared_ptr< Allocator > &transients_allocator) const =0
Encode the recorded commands to the underlying command buffer.
virtual bool OnCopyTextureToBufferCommand(std::shared_ptr< Texture > source, std::shared_ptr< DeviceBuffer > destination, IRect source_region, size_t destination_offset, std::string label)=0
virtual bool OnCopyBufferToTextureCommand(BufferView source, std::shared_ptr< Texture > destination, IPoint destination_origin, std::string label)=0
bool AddCopy(std::shared_ptr< Texture > source, std::shared_ptr< Texture > destination, std::optional< IRect > source_region=std::nullopt, IPoint destination_origin={}, std::string label="")
Record a command to copy the contents of one texture to another texture. The blit area is limited by ...
bool GenerateMipmap(std::shared_ptr< Texture > texture, std::string label="")
Record a command to generate all mip levels for a texture. No work is encoded into the command buffer...
void SetLabel(std::string label)
virtual void OnSetLabel(std::string label)=0
virtual bool IsValid() const =0
virtual bool OnGenerateMipmapCommand(std::shared_ptr< Texture > texture, std::string label)=0
virtual bool OnCopyTextureToTextureCommand(std::shared_ptr< Texture > source, std::shared_ptr< Texture > destination, IRect source_region, IPoint destination_origin, std::string label)=0