Flutter Engine
The Flutter Engine
impeller
renderer
command_queue.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_COMMAND_QUEUE_H_
6
#define FLUTTER_IMPELLER_RENDERER_COMMAND_QUEUE_H_
7
8
#include <functional>
9
10
#include "
fml/status.h
"
11
#include "
impeller/renderer/command_buffer.h
"
12
13
namespace
impeller
{
14
15
/// @brief An interface for submitting command buffers to the GPU for
16
/// encoding and execution.
17
class
CommandQueue
{
18
public
:
19
using
CompletionCallback
=
std::function
<void(
CommandBuffer::Status
)>;
20
21
CommandQueue
();
22
23
virtual
~CommandQueue
();
24
25
/// @brief Submit one or more command buffer objects to be encoded and
26
/// executed on the GPU.
27
///
28
/// The order of the provided buffers determines the ordering in which
29
/// they are submitted.
30
///
31
/// The returned status only indicates if the command buffer was
32
/// successfully submitted. Successful completion of the command buffer
33
/// can only be checked in the optional completion callback.
34
///
35
/// Only the Metal and Vulkan backends can give a status beyond
36
/// successful encoding. This callback may be called more than once and
37
/// potentially on a different thread.
38
virtual
fml::Status
Submit
(
39
const
std::vector<std::shared_ptr<CommandBuffer>>& buffers,
40
const
CompletionCallback
& completion_callback = {});
41
42
private
:
43
CommandQueue
(
const
CommandQueue
&) =
delete
;
44
45
CommandQueue
& operator=(
const
CommandQueue
&) =
delete
;
46
};
47
48
}
// namespace impeller
49
50
#endif
// FLUTTER_IMPELLER_RENDERER_COMMAND_QUEUE_H_
fml::Status
Definition:
status.h:35
impeller::CommandBuffer::Status
Status
Definition:
command_buffer.h:49
impeller::CommandQueue
An interface for submitting command buffers to the GPU for encoding and execution.
Definition:
command_queue.h:17
impeller::CommandQueue::CompletionCallback
std::function< void(CommandBuffer::Status)> CompletionCallback
Definition:
command_queue.h:19
impeller::CommandQueue::Submit
virtual fml::Status Submit(const std::vector< std::shared_ptr< CommandBuffer > > &buffers, const CompletionCallback &completion_callback={})
Submit one or more command buffer objects to be encoded and executed on the GPU.
Definition:
command_queue.cc:14
impeller::CommandQueue::CommandQueue
CommandQueue()
impeller::CommandQueue::~CommandQueue
virtual ~CommandQueue()
function
Dart_NativeFunction function
Definition:
fuchsia.cc:51
command_buffer.h
impeller
Definition:
texture.h:18
status.h
Generated on Sun Jun 23 2024 21:55:04 for Flutter Engine by
1.9.4