5 #ifndef FLUTTER_IMPELLER_RENDERER_BACKEND_VULKAN_COMMAND_BUFFER_VK_H_
6 #define FLUTTER_IMPELLER_RENDERER_BACKEND_VULKAN_COMMAND_BUFFER_VK_H_
8 #include "flutter/fml/macros.h"
16 class CommandEncoderFactoryVK;
17 class CommandEncoderVK;
22 public std::enable_shared_from_this<CommandBufferVK> {
27 const std::shared_ptr<CommandEncoderVK>&
GetEncoder();
32 std::shared_ptr<CommandEncoderVK> encoder_;
33 std::shared_ptr<CommandEncoderFactoryVK> encoder_factory_;
36 std::shared_ptr<CommandEncoderFactoryVK> encoder_factory);
39 void SetLabel(
const std::string& label)
const override;
42 bool IsValid()
const override;
48 void OnWaitUntilScheduled()
override;
51 std::shared_ptr<RenderPass> OnCreateRenderPass(
RenderTarget target)
override;
54 std::shared_ptr<BlitPass> OnCreateBlitPass()
override;
57 std::shared_ptr<ComputePass> OnCreateComputePass()
override;
66 #endif // FLUTTER_IMPELLER_RENDERER_BACKEND_VULKAN_COMMAND_BUFFER_VK_H_