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

◆ readback_aux()

void MayaFlux::Yantra::GpuDispatchCore::readback_aux ( GpuChannelResult result)
protected

Read back all OUTPUT bindings that have explicit size overrides into the aux map of a GpuChannelResult.

Parameters
resultGpuChannelResult to write aux entries into.

Definition at line 350 of file GpuDispatchCore.cpp.

351{
352 for (size_t i = 0; i < m_bindings.size(); ++i) {
353 if (m_bindings[i].skip_auto_readback)
354 continue;
355
356 const auto dir = m_bindings[i].direction;
357 const auto et = m_bindings[i].element_type;
360
363 && !is_image
364 && i < m_output_size_overrides.size()
365 && m_output_size_overrides[i] > 0) {
366 const size_t sz = m_output_size_overrides[i];
367 std::vector<uint8_t> raw(sz);
368 m_resources.download(i, reinterpret_cast<float*>(raw.data()), sz);
369 result.aux[i] = std::move(raw);
370 }
371 }
372}
std::vector< GpuBufferBinding > m_bindings
std::vector< size_t > m_output_size_overrides
void download(size_t index, float *dest, size_t byte_size)
bool is_image(const fs::path &filepath)
Definition Depot.cpp:108

References MayaFlux::Yantra::GpuChannelResult::aux, MayaFlux::Yantra::GpuResourceManager::download(), MayaFlux::Yantra::GpuBufferBinding::IMAGE_SAMPLED, MayaFlux::Yantra::GpuBufferBinding::IMAGE_STORAGE, MayaFlux::Yantra::GpuBufferBinding::INPUT_OUTPUT, MayaFlux::is_image(), m_bindings, m_output_size_overrides, m_resources, and MayaFlux::Yantra::GpuBufferBinding::OUTPUT.

Referenced by dispatch_core(), and dispatch_core_chained().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: