class CommandBufferPool
Defined at line 23 of file ../../src/ui/lib/escher/impl/command_buffer_pool.h
Manages the lifecycle of CommandBuffers.
Not thread-safe.
Public Methods
void CommandBufferPool (vk::Devicedevice,vk::Queuequeue,uint32_tqueue_family_index,CommandBufferSequencer *sequencer,boolsupports_graphics_and_compute,booluse_protected_memory)
The CommandBufferPool does not take ownership of the device and queue.
Defined at line 16 of file ../../src/ui/lib/escher/impl/command_buffer_pool.cc
vk::Device device ()
Defined at line 46 of file ../../src/ui/lib/escher/impl/command_buffer_pool.h
vk::Queue queue ()
Defined at line 47 of file ../../src/ui/lib/escher/impl/command_buffer_pool.h
void ~CommandBufferPool ()
If there are still any pending buffers, this will block until they are
finished.
Defined at line 56 of file ../../src/ui/lib/escher/impl/command_buffer_pool.cc
CommandBuffer * GetCommandBuffer ()
Get a ready-to-use CommandBuffer; a new one will be allocated if necessary.
If a callback is provided, it will be run at some time after the buffer
has finished running on the GPU.
Defined at line 82 of file ../../src/ui/lib/escher/impl/command_buffer_pool.cc
bool Cleanup ()
Do periodic housekeeping. Return true if cleanup was complete, i.e. all
pending command buffers are now finished. A call made from inside a
`CommandBufferFinishedCallback` does no work and returns false because the
active `Cleanup()` call on the stack finishes the drain, so callers must
not retry from inside a callback.
Defined at line 108 of file ../../src/ui/lib/escher/impl/command_buffer_pool.cc