5 #ifndef FLUTTER_IMPELLER_RENDERER_BACKEND_GLES_BLIT_PASS_GLES_H_
6 #define FLUTTER_IMPELLER_RENDERER_BACKEND_GLES_BLIT_PASS_GLES_H_
19 public std::enable_shared_from_this<BlitPassGLES> {
27 std::vector<std::unique_ptr<BlitEncodeGLES>> commands_;
28 std::shared_ptr<ReactorGLES> reactor_;
30 bool is_valid_ =
false;
32 explicit BlitPassGLES(std::shared_ptr<ReactorGLES> reactor);
35 bool IsValid()
const override;
38 void OnSetLabel(std::string_view label)
override;
41 bool EncodeCommands()
const override;
44 bool ResizeTexture(
const std::shared_ptr<Texture>& source,
45 const std::shared_ptr<Texture>& destination)
override;
48 bool OnCopyTextureToTextureCommand(std::shared_ptr<Texture> source,
49 std::shared_ptr<Texture> destination,
52 std::string_view label)
override;
55 bool OnCopyTextureToBufferCommand(std::shared_ptr<Texture> source,
56 std::shared_ptr<DeviceBuffer> destination,
58 size_t destination_offset,
59 std::string_view label)
override;
62 bool OnCopyBufferToTextureCommand(
BufferView source,
63 std::shared_ptr<Texture> destination,
64 IRect destination_region,
65 std::string_view label,
68 bool convert_to_read)
override;
71 bool OnGenerateMipmapCommand(std::shared_ptr<Texture> texture,
72 std::string_view label)
override;
Blit passes encode blit into the underlying command buffer.