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

◆ stage_container()

void MayaFlux::Yantra::TextureExecutionContext::stage_container ( const Kakshya::TextureContainer &  container,
uint32_t  layer = 0,
vk::Sampler  sampler = nullptr 
)
inline

Stage a TextureContainer layer at the declared input image binding.

Convenience for callers that hold a container and want explicit control over layer and sampler rather than relying on Datum.container resolution. Always stages as IMAGE_SAMPLED regardless of the input slot's declared access mode.

Parameters
containerSource TextureContainer.
layerArray layer index (default 0).
samplerVulkan sampler. Defaults to linear when nullptr.

Definition at line 345 of file TextureExecutionContext.hpp.

349 {
350 auto& slot = input_slot();
351 auto img = container_image(container, layer);
352 auto s = sampler
353 ? sampler
356 slot.image = img;
357 m_pending_container = nullptr;
358 }
vk::Sampler get_default_linear()
Get a default linear sampler.
void stage_image_at(size_t binding_index, std::shared_ptr< Core::VKImage > image, GpuBufferBinding::ElementType kind, vk::Sampler sampler=nullptr)
Register a VKImage at an explicit binding index.
std::shared_ptr< Kakshya::TextureContainer > m_pending_container
ImageSlot & input_slot()
Find the declared input image slot.
std::shared_ptr< Core::VKImage > container_image(const Kakshya::TextureContainer &container, uint32_t layer)
The container's pixels as a GPU image, without allocating one per call.