5#ifndef FLUTTER_IMPELLER_RENDERER_BACKEND_VULKAN_BLIT_PASS_VK_H_
6#define FLUTTER_IMPELLER_RENDERER_BACKEND_VULKAN_BLIT_PASS_VK_H_
8#include "flutter/fml/macros.h"
9#include "flutter/impeller/base/config.h"
15class CommandEncoderVK;
26 std::weak_ptr<CommandBufferVK> command_buffer_;
27 std::vector<std::unique_ptr<BlitEncodeVK>> commands_;
30 explicit BlitPassVK(std::weak_ptr<CommandBufferVK> command_buffer);
40 const std::shared_ptr<Allocator>& transients_allocator)
const override;
44 std::shared_ptr<Texture> destination,
47 std::string label)
override;
51 std::shared_ptr<DeviceBuffer> destination,
53 size_t destination_offset,
54 std::string label)
override;
58 std::shared_ptr<Texture> destination,
60 std::string label)
override;
63 std::string label)
override;
void OnSetLabel(std::string label) override
bool OnCopyBufferToTextureCommand(BufferView source, std::shared_ptr< Texture > destination, IPoint destination_origin, std::string label) override
bool OnCopyTextureToBufferCommand(std::shared_ptr< Texture > source, std::shared_ptr< DeviceBuffer > destination, IRect source_region, size_t destination_offset, std::string label) override
bool EncodeCommands(const std::shared_ptr< Allocator > &transients_allocator) const override
Encode the recorded commands to the underlying command buffer.
bool OnGenerateMipmapCommand(std::shared_ptr< Texture > texture, std::string label) override
bool OnCopyTextureToTextureCommand(std::shared_ptr< Texture > source, std::shared_ptr< Texture > destination, IRect source_region, IPoint destination_origin, std::string label) override
bool IsValid() const override
Blit passes encode blit into the underlying command buffer.