#include <command_queue_vk.h>
Public Member Functions | |
CommandQueueVK (const std::weak_ptr< ContextVK > &context) | |
~CommandQueueVK () override | |
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. More... | |
![]() | |
CommandQueue () | |
virtual | ~CommandQueue () |
Additional Inherited Members | |
![]() | |
using | CompletionCallback = std::function< void(CommandBuffer::Status)> |
Definition at line 14 of file command_queue_vk.h.
|
explicit |
Definition at line 18 of file command_queue_vk.cc.
|
overridedefault |
|
overridevirtual |
Submit one or more command buffer objects to be encoded and executed on the GPU.
The order of the provided buffers determines the ordering in which they are submitted.
The returned status only indicates if the command buffer was successfully submitted. Successful completion of the command buffer can only be checked in the optional completion callback.
Only the Metal and Vulkan backends can give a status beyond successful encoding. This callback may be called more than once and potentially on a different thread.
If [block_on_schedule] is true, this function will not return until the command buffer has been scheduled. This only impacts the Metal backend.
Reimplemented from impeller::CommandQueue.
Definition at line 23 of file command_queue_vk.cc.
References impeller::BackendCast< CommandBufferVK, CommandBuffer >::Cast(), impeller::CommandBufferVK::EndCommandBuffer(), impeller::CommandBufferVK::GetCommandBuffer(), impeller::CommandBuffer::kCompleted, impeller::CommandBuffer::kError, and VALIDATION_LOG.