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/impeller/base/config.h"
14class CommandEncoderVK;
25 std::shared_ptr<CommandBufferVK> command_buffer_;
28 explicit BlitPassVK(std::shared_ptr<CommandBufferVK> command_buffer);
31 bool IsValid()
const override;
34 void OnSetLabel(std::string label)
override;
38 const std::shared_ptr<Allocator>& transients_allocator)
const override;
41 bool ConvertTextureToShaderRead(
42 const std::shared_ptr<Texture>&
texture)
override;
45 bool OnCopyTextureToTextureCommand(std::shared_ptr<Texture>
source,
46 std::shared_ptr<Texture> destination,
49 std::string label)
override;
52 bool OnCopyTextureToBufferCommand(std::shared_ptr<Texture>
source,
53 std::shared_ptr<DeviceBuffer> destination,
55 size_t destination_offset,
56 std::string label)
override;
60 std::shared_ptr<Texture> destination,
61 IRect destination_region,
64 bool convert_to_read)
override;
66 bool OnGenerateMipmapCommand(std::shared_ptr<Texture>
texture,
67 std::string label)
override;
Blit passes encode blit into the underlying command buffer.