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