MayaFlux 0.4.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ transition_layout()

void MayaFlux::Portal::Graphics::TextureLoom::transition_layout ( const std::shared_ptr< Core::VKImage > &  image,
vk::ImageLayout  old_layout,
vk::ImageLayout  new_layout,
uint32_t  mip_levels = 1,
uint32_t  array_layers = 1,
vk::ImageAspectFlags  aspect_mask = vk::ImageAspectFlagBits::eColor 
)

Transition a VKImage to a new Vulkan layout via an immediate submission.

Parameters
imageImage to transition. Must be initialised.
old_layoutCurrent layout of the image.
new_layoutTarget layout.
mip_levelsNumber of mip levels covered by the transition.
array_layersNumber of array layers covered by the transition.
aspect_maskImage aspect flags (colour, depth, stencil).

Delegates to BackendResourceManager and updates the image's tracked layout. Use before binding an image to a compute shader descriptor or before upload/download operations that require a specific layout.

Definition at line 519 of file TextureLoom.cpp.

526{
527 if (!is_initialized() || !image) {
529 "Invalid parameters for transition_vk_image_layout");
530 return;
531 }
532
534 image->get_image(),
535 old_layout,
536 new_layout,
537 mip_levels, array_layers, aspect_mask);
538
539 image->set_current_layout(new_layout);
540}
#define MF_ERROR(comp, ctx,...)
IO::ImageData image
void transition_image_layout(vk::Image image, vk::ImageLayout old_layout, vk::ImageLayout new_layout, uint32_t mip_levels=1, uint32_t array_layers=1, vk::ImageAspectFlags aspect_flags=vk::ImageAspectFlagBits::eColor)
Transition image layout using a pipeline barrier.
Core::BackendResourceManager * m_resource_manager
bool is_initialized() const
Check if manager is initialized.
@ ImageProcessing
Image processing tasks (filters, transformations)
@ Portal
High-level user-facing API layer.

References image, MayaFlux::Journal::ImageProcessing, is_initialized(), m_resource_manager, MF_ERROR, MayaFlux::Journal::Portal, and MayaFlux::Core::BackendResourceManager::transition_image_layout().

+ Here is the call graph for this function: