MayaFlux 0.5.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 119 of file TextureExecutionContext.hpp.

123 : Base(std::move(config))
125 , m_output_mode(mode)
126 {
127 for (const auto& b : bindings) {
128 const bool is_image = b.element_type == GpuBufferBinding::ElementType::IMAGE_STORAGE
130 if (is_image) {
131 m_image_slots.push_back({ .binding = b });
132 } else {
133 m_aux_bindings.push_back(b);
134 }
135 }
136 }
size_t b
GpuExecutionContext< std::vector< Kakshya::DataVariant >, std::vector< Kakshya::DataVariant > > Base
bool is_image(const fs::path &filepath)
Definition Depot.cpp:108

References b, MayaFlux::is_image(), and MayaFlux::Portal::Graphics::RGBA8.

+ Here is the call graph for this function: