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

◆ TextureExecutionContext() [1/2]

MayaFlux::Yantra::TextureExecutionContext::TextureExecutionContext ( GpuComputeConfig  config,
Portal::Graphics::ImageFormat  output_format = Portal::Graphics::ImageFormat::RGBA8,
OutputMode  mode = OutputMode::CONTAINER,
uint32_t  image_binding = 1,
std::vector< GpuBufferBinding aux_bindings = {},
GpuBufferBinding::ElementType  image_access = GpuBufferBinding::ElementType::IMAGE_SAMPLED,
uint32_t  output_binding = 0 
)
inline
Parameters
configShader path, workgroup size, push constant size.
output_formatPixel format of the storage image created per dispatch. Ignored when mode is SCALAR.
modeControls what collect_gpu_outputs / collect_result return.
image_bindingBinding index at which the input image is staged. Default 1.
aux_bindingsAdditional buffer bindings to declare.
image_accessAccess mode for the input image binding: IMAGE_SAMPLED (default) or IMAGE_STORAGE.
output_bindingBinding index for the output storage image. Ignored when mode is SCALAR. Default 0.

Definition at line 80 of file TextureExecutionContext.hpp.

85 {},
87 uint32_t output_binding = 0)
88 : Base(std::move(config))
89 , m_output_format(output_format)
91 , m_aux_bindings(std::move(aux_bindings))
92 {
93 m_image_slots.push_back({ .binding = { .set = 0,
94 .binding = image_binding,
96 .element_type = image_access } });
98 m_image_slots.push_back({ .binding = { .set = 0,
99 .binding = output_binding,
102 }
103 }
GpuExecutionContext< std::vector< Kakshya::DataVariant >, std::vector< Kakshya::DataVariant > > Base
@ SCALAR
Return SSBO readback via collect_result(); no image download.
std::vector< double > mode(std::span< const double > data, size_t n_windows, uint32_t hop_size, uint32_t window_size)
Mode per window via tolerance-bucketed frequency count.
Definition Analysis.cpp:559
ElementType
Element type the shader expects in this binding.
enum MayaFlux::Portal::Graphics::GpuBufferBinding::Direction INPUT