class ImageLayoutUpdater
Defined at line 19 of file ../../src/ui/lib/escher/vk/image_layout_updater.h
Vulkan device images can be created only with layout eUndefined or
ePreinitialized. ImageLayoutUpdater is used to update device images to
the desired image layout.
Public Methods
std::unique_ptr<ImageLayoutUpdater> New (EscherWeakPtr escher)
Defined at line 23 of file ../../src/ui/lib/escher/vk/image_layout_updater.h
bool NeedsCommandBuffer ()
Returns true if ImageLayoutUpdater needs a command buffer, i.e. it needs to
update layout of images, or it needs to wait on/signal semaphores.
Defined at line 31 of file ../../src/ui/lib/escher/vk/image_layout_updater.h
void AddWaitSemaphore (SemaphorePtr sema, vk::PipelineStageFlags flags)
Submit() will wait on all semaphores added by AddWaitSemaphore().
Defined at line 52 of file ../../src/ui/lib/escher/vk/image_layout_updater.h
void AddSignalSemaphore (SemaphorePtr sema)
Submit() will signal all semaphores added by AddSignalSemaphore().
Defined at line 57 of file ../../src/ui/lib/escher/vk/image_layout_updater.h
void ImageLayoutUpdater (const EscherWeakPtr escher)
Defined at line 63 of file ../../src/ui/lib/escher/vk/image_layout_updater.cc
void ~ImageLayoutUpdater ()
Defined at line 69 of file ../../src/ui/lib/escher/vk/image_layout_updater.cc
void ScheduleSetImageInitialLayout (const escher::ImagePtr & image, vk::ImageLayout new_layout)
Sets image initial layout. This updates both the |layout_| stored in
|escher::Image| object and sends |ImageBarrier| to command buffer.
Defined at line 75 of file ../../src/ui/lib/escher/vk/image_layout_updater.cc
void Submit (fit::function<void ()> callback, CommandBuffer::Type type)
Submits all the |ImageBarrier| commands to a new-created command buffer.
Defined at line 141 of file ../../src/ui/lib/escher/vk/image_layout_updater.cc
void GenerateCommands (CommandBuffer * cmds)
Generate image layout update commands to the command buffer for submission.
After this function is called, the |pending_image_layout_to_set_|,
|images_to_set_| and all semaphores will be clear so that the image layout
updater will be reused again.
Defined at line 94 of file ../../src/ui/lib/escher/vk/image_layout_updater.cc