5 #ifndef FLUTTER_IMPELLER_RENDERER_BACKEND_VULKAN_COMMAND_ENCODER_VK_H_
6 #define FLUTTER_IMPELLER_RENDERER_BACKEND_VULKAN_COMMAND_ENCODER_VK_H_
27 class TextureSourceVK;
28 class TrackedObjectsVK;
35 const std::weak_ptr<const ContextVK>& context);
37 std::shared_ptr<CommandEncoderVK>
Create();
39 void SetLabel(
const std::string& label);
42 std::weak_ptr<const ContextVK> context_;
43 std::optional<std::string> label_;
56 std::shared_ptr<TrackedObjectsVK> tracked_objects,
57 const std::shared_ptr<QueueVK>& queue,
58 std::shared_ptr<FenceWaiterVK> fence_waiter);
64 bool Track(std::shared_ptr<SharedObjectVK>
object);
66 bool Track(std::shared_ptr<const DeviceBuffer> buffer);
68 bool IsTracking(
const std::shared_ptr<const DeviceBuffer>& texture)
const;
70 bool Track(
const std::shared_ptr<const Texture>& texture);
72 bool IsTracking(
const std::shared_ptr<const Texture>& texture)
const;
74 bool Track(std::shared_ptr<const TextureSourceVK> texture);
87 const vk::DescriptorSetLayout& layout,
94 std::weak_ptr<const DeviceHolderVK> device_holder_;
95 std::shared_ptr<TrackedObjectsVK> tracked_objects_;
96 std::shared_ptr<QueueVK> queue_;
97 const std::shared_ptr<FenceWaiterVK> fence_waiter_;
98 std::shared_ptr<HostBuffer> host_buffer_;
99 bool is_valid_ =
true;
110 #endif // FLUTTER_IMPELLER_RENDERER_BACKEND_VULKAN_COMMAND_ENCODER_VK_H_