5 #ifndef FLUTTER_IMPELLER_RENDERER_BACKEND_VULKAN_COMMAND_ENCODER_VK_H_
6 #define FLUTTER_IMPELLER_RENDERER_BACKEND_VULKAN_COMMAND_ENCODER_VK_H_
26 class TextureSourceVK;
27 class TrackedObjectsVK;
34 const std::weak_ptr<const ContextVK>& context);
36 std::shared_ptr<CommandEncoderVK>
Create();
38 void SetLabel(
const std::string& label);
41 std::weak_ptr<const ContextVK> context_;
42 std::optional<std::string> label_;
55 std::shared_ptr<TrackedObjectsVK> tracked_objects,
56 const std::shared_ptr<QueueVK>& queue,
57 std::shared_ptr<FenceWaiterVK> fence_waiter);
65 bool Track(std::shared_ptr<SharedObjectVK>
object);
67 bool Track(std::shared_ptr<const Buffer> buffer);
69 bool IsTracking(
const std::shared_ptr<const Buffer>& texture)
const;
71 bool Track(
const std::shared_ptr<const Texture>& texture);
73 bool IsTracking(
const std::shared_ptr<const Texture>& texture)
const;
75 bool Track(std::shared_ptr<const TextureSourceVK> texture);
86 uint32_t buffer_count,
87 uint32_t sampler_count,
88 uint32_t subpass_count,
89 const std::vector<vk::DescriptorSetLayout>& layouts);
94 std::weak_ptr<const DeviceHolder> device_holder_;
95 std::shared_ptr<TrackedObjectsVK> tracked_objects_;
96 std::shared_ptr<QueueVK> queue_;
97 const std::shared_ptr<FenceWaiterVK> fence_waiter_;
98 bool is_valid_ =
true;
109 #endif // FLUTTER_IMPELLER_RENDERER_BACKEND_VULKAN_COMMAND_ENCODER_VK_H_