11 #include "flutter/fml/macros.h"
26 class TextureSourceVK;
27 class TrackedObjectsVK;
34 std::shared_ptr<CommandEncoderVK>
Create();
36 void SetLabel(
const std::string& label);
39 std::weak_ptr<const ContextVK> context_;
40 std::optional<std::string> label_;
51 std::shared_ptr<TrackedObjectsVK> tracked_objects,
52 const std::shared_ptr<QueueVK>& queue,
53 std::shared_ptr<FenceWaiterVK> fence_waiter);
61 bool Track(std::shared_ptr<SharedObjectVK>
object);
63 bool Track(std::shared_ptr<const Buffer> buffer);
65 bool IsTracking(
const std::shared_ptr<const Buffer>& texture)
const;
67 bool Track(
const std::shared_ptr<const Texture>& texture);
69 bool IsTracking(
const std::shared_ptr<const Texture>& texture)
const;
71 bool Track(std::shared_ptr<const TextureSourceVK> texture);
82 const vk::DescriptorSetLayout& layout,
83 size_t command_count);
88 std::weak_ptr<const DeviceHolder> device_holder_;
89 std::shared_ptr<TrackedObjectsVK> tracked_objects_;
90 std::shared_ptr<QueueVK> queue_;
91 const std::shared_ptr<FenceWaiterVK> fence_waiter_;
92 bool is_valid_ =
true;