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

◆ TextureExecutionContext() [2/2]

MayaFlux::Yantra::TextureExecutionContext::TextureExecutionContext ( GpuComputeConfig  config,
const std::vector< GpuBufferBinding > &  bindings,
OutputMode  mode = OutputMode::SCALAR 
)
inline

Construct from an explicit, fully-specified binding list.

For dispatch shapes the positional constructor's image/aux split does not fit cleanly: any combination of input image, output image, and SSBOs declared directly as GpuBufferBinding entries. mode still governs collect_gpu_outputs / collect_result; the caller is responsible for the binding list matching that mode (e.g. an OUTPUT IMAGE_STORAGE entry present whenever mode != SCALAR).

Parameters
configShader path, workgroup size, push constant size.
bindingsFull binding list, image and buffer entries mixed freely.
modeControls what collect_gpu_outputs / collect_result return.

Definition at line 124 of file TextureExecutionContext.hpp.

128 : Base(std::move(config))
129 , m_output_format(Portal::Graphics::ImageFormat::RGBA8)
131 {
132 for (const auto& b : bindings) {
133 const bool is_image = b.element_type == GpuBufferBinding::ElementType::IMAGE_STORAGE
135 if (is_image) {
136 m_image_slots.push_back({ .binding = b });
137 } else {
138 m_aux_bindings.push_back(b);
139 }
140 }
141 }
uint32_t mode
size_t b
GpuExecutionContext< std::vector< Kakshya::DataVariant >, std::vector< Kakshya::DataVariant > > Base
bool is_image(const fs::path &filepath)
Definition Depot.cpp:136

References b, and MayaFlux::is_image().

+ Here is the call graph for this function: