|
MayaFlux 0.1.0
Digital-First Multimedia Processing Framework
|
|
inline |
Determines if two processing tokens are compatible for joint execution.
| preferred | The preferred processing token configuration |
| current | The current processing token configuration being evaluated |
This function implements sophisticated compatibility logic that goes beyond simple equality checking to determine if processors with different token requirements can work together in the same processing pipeline. The compatibility rules are designed to maximize processing flexibility while maintaining system stability and performance.
Rate Compatibility Rules:
Device Compatibility Rules:
Concurrency Compatibility Rules:
This flexibility enables the system to optimize processing chains by allowing compatible processors to share execution contexts while preventing configurations that would result in poor performance or execution failures.
Definition at line 139 of file BufferUtils.hpp.
References CPU_PROCESS, FRAME_RATE, GPU_PPOCESS, PARALLEL, SAMPLE_RATE, and SEQUENTIAL.
Referenced by MayaFlux::Buffers::BufferProcessingChain::add_processor_direct(), MayaFlux::Buffers::BufferProcessingChain::analyze_token_compatibility(), MayaFlux::Buffers::BufferProcessingChain::enforce_chain_token_on_processors(), MayaFlux::Buffers::RootBuffer< BufferType >::is_buffer_acceptable(), MayaFlux::Buffers::ChannelProcessor::on_attach(), MayaFlux::Buffers::FinalLimiterProcessor::on_attach(), MayaFlux::Buffers::GraphicsBatchProcessor::on_attach(), MayaFlux::Buffers::PresentProcessor::on_attach(), MayaFlux::Buffers::BufferProcessingChain::optimize_for_tokens(), MayaFlux::Buffers::BufferProcessingChain::process(), MayaFlux::Buffers::BufferProcessingChain::process_non_owning(), and MayaFlux::Buffers::BufferProcessingChain::validate_all_processors().
Here is the caller graph for this function: