Flutter Impeller
command_queue_vk.h
Go to the documentation of this file.
1 // Copyright 2013 The Flutter Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #ifndef FLUTTER_IMPELLER_RENDERER_BACKEND_VULKAN_COMMAND_QUEUE_VK_H_
6 #define FLUTTER_IMPELLER_RENDERER_BACKEND_VULKAN_COMMAND_QUEUE_VK_H_
7 
9 
10 namespace impeller {
11 
12 class ContextVK;
13 
14 class CommandQueueVK : public CommandQueue {
15  public:
16  explicit CommandQueueVK(const std::weak_ptr<ContextVK>& context);
17 
18  ~CommandQueueVK() override;
19 
20  fml::Status Submit(const std::vector<std::shared_ptr<CommandBuffer>>& buffers,
21  const CompletionCallback& completion_callback = {},
22  bool block_on_schedule = false) override;
23 
24  private:
25  std::weak_ptr<ContextVK> context_;
26 
27  CommandQueueVK(const CommandQueueVK&) = delete;
28 
29  CommandQueueVK& operator=(const CommandQueueVK&) = delete;
30 };
31 
32 } // namespace impeller
33 
34 #endif // FLUTTER_IMPELLER_RENDERER_BACKEND_VULKAN_COMMAND_QUEUE_VK_H_
An interface for submitting command buffers to the GPU for encoding and execution.
Definition: command_queue.h:17
std::function< void(CommandBuffer::Status)> CompletionCallback
Definition: command_queue.h:19
CommandQueueVK(const std::weak_ptr< ContextVK > &context)
fml::Status Submit(const std::vector< std::shared_ptr< CommandBuffer >> &buffers, const CompletionCallback &completion_callback={}, bool block_on_schedule=false) override
Submit one or more command buffer objects to be encoded and executed on the GPU.