5 #ifndef FLUTTER_IMPELLER_RENDERER_BACKEND_VULKAN_BLIT_PASS_VK_H_
6 #define FLUTTER_IMPELLER_RENDERER_BACKEND_VULKAN_BLIT_PASS_VK_H_
15 class CommandEncoderVK;
16 class CommandBufferVK;
26 std::shared_ptr<CommandBufferVK> command_buffer_;
29 explicit BlitPassVK(std::shared_ptr<CommandBufferVK> command_buffer,
33 bool IsValid()
const override;
36 void OnSetLabel(std::string_view label)
override;
39 bool EncodeCommands()
const override;
42 bool ResizeTexture(
const std::shared_ptr<Texture>& source,
43 const std::shared_ptr<Texture>& destination)
override;
46 bool ConvertTextureToShaderRead(
47 const std::shared_ptr<Texture>& texture)
override;
50 bool OnCopyTextureToTextureCommand(std::shared_ptr<Texture> source,
51 std::shared_ptr<Texture> destination,
54 std::string_view label)
override;
57 bool OnCopyTextureToBufferCommand(std::shared_ptr<Texture> source,
58 std::shared_ptr<DeviceBuffer> destination,
60 size_t destination_offset,
61 std::string_view label)
override;
64 bool OnCopyBufferToTextureCommand(
BufferView source,
65 std::shared_ptr<Texture> destination,
66 IRect destination_region,
67 std::string_view label,
70 bool convert_to_read)
override;
72 bool OnGenerateMipmapCommand(std::shared_ptr<Texture> texture,
73 std::string_view label)
override;
Blit passes encode blit into the underlying command buffer.
A non-exhaustive set of driver specific workarounds.