|
Blender V5.0
|
Namespaces | |
| namespace | build |
| namespace | procedure_optimization |
| namespace | tests |
Classes | |
| class | MultiFunction |
| class | CustomMF_GenericConstant |
| class | CustomMF_GenericConstantArray |
| class | CustomMF_Constant |
| class | CustomMF_DefaultOutput |
| class | CustomMF_GenericCopy |
| class | Context |
| class | ContextBuilder |
| class | DataType |
| struct | ParamTag |
| class | ParamType |
| class | ParamsBuilder |
| class | Params |
| class | InstructionCursor |
| class | Variable |
| class | Instruction |
| class | CallInstruction |
| class | BranchInstruction |
| class | DestructInstruction |
| class | DummyInstruction |
| class | ReturnInstruction |
| struct | Parameter |
| struct | ConstParameter |
| class | Procedure |
| class | ProcedureBuilder |
| class | ProcedureExecutor |
| struct | Signature |
| class | SignatureBuilder |
| class | ProcedureDotExport |
| struct | VariableValue |
| struct | VariableValue_GVArray |
| struct | VariableValue_Span |
| struct | VariableValue_GVVectorArray |
| struct | VariableValue_GVectorArray |
| struct | VariableValue_OneSingle |
| struct | VariableValue_OneVector |
| class | ValueAllocator |
| class | VariableState |
| class | VariableStates |
| struct | InstructionIndices |
| struct | NextInstructionInfo |
| class | InstructionScheduler |
Typedefs | |
| using | ExecutionHints = MultiFunction::ExecutionHints |
| using | IndicesSplitVectors = std::array<Vector<int64_t>, 2> |
Enumerations | |
| enum class | ParamCategory { SingleInput , VectorInput , SingleOutput , VectorOutput , SingleMutable , VectorMutable } |
| enum class | InstructionType { Call , Branch , Destruct , Dummy , Return } |
| enum class | ParamFlag { None = 0 , SupportsUnusedOutput = 1 << 0 } |
Definition at line 12 of file multi_function.cc.
| using blender::fn::multi_function::IndicesSplitVectors = std::array<Vector<int64_t>, 2> |
Definition at line 22 of file multi_function_procedure_executor.cc.
|
strong |
Every instruction has exactly one of these types.
| Enumerator | |
|---|---|
| Call | |
| Branch | |
| Destruct | |
| Dummy | |
| Return | |
Definition at line 25 of file FN_multi_function_procedure.hh.
|
strong |
| Enumerator | |
|---|---|
| SingleInput | |
| VectorInput | |
| SingleOutput | |
| VectorOutput | |
| SingleMutable | |
| VectorMutable | |
Definition at line 27 of file FN_multi_function_param_type.hh.
|
strong |
Definition at line 20 of file FN_multi_function_signature.hh.
|
static |
Definition at line 68 of file multi_function.cc.
References blender::fn::multi_function::ParamsBuilder::add_ignored_single_output(), blender::fn::multi_function::ParamsBuilder::add_readonly_single_input(), blender::fn::multi_function::ParamsBuilder::add_single_mutable(), blender::fn::multi_function::ParamsBuilder::add_uninitialized_single_output(), BLI_assert_unreachable, blender::fn::multi_function::ParamType::category(), blender::GMutableSpan::is_empty(), blender::fn::multi_function::Signature::params, blender::fn::multi_function::Params::readonly_single_input(), blender::fn::multi_function::Params::single_mutable(), SingleInput, SingleMutable, SingleOutput, blender::GMutableSpan::slice(), blender::GVArray::slice(), SupportsUnusedOutput, blender::fn::multi_function::Params::uninitialized_single_output(), blender::fn::multi_function::Params::uninitialized_single_output_if_required(), VectorInput, VectorMutable, and VectorOutput.
Referenced by blender::fn::multi_function::MultiFunction::call_auto().
Definition at line 58 of file multi_function.cc.
Referenced by blender::fn::multi_function::MultiFunction::call_auto().
|
static |
Definition at line 40 of file multi_function.cc.
References blender::fn::multi_function::MultiFunction::ExecutionHints::allocates_array, BLI_system_thread_count(), mask(), blender::fn::multi_function::MultiFunction::ExecutionHints::min_grain_size, and blender::fn::multi_function::MultiFunction::ExecutionHints::uniform_execution_time.
Referenced by blender::fn::multi_function::MultiFunction::call_auto().
| blender::fn::multi_function::ENUM_OPERATORS | ( | ParamFlag | , |
| ParamFlag::SupportsUnusedOutput | ) |
References SupportsUnusedOutput.
|
static |
Definition at line 969 of file multi_function_procedure_executor.cc.
References mask(), blender::index_mask::IndexMask::size(), and state.
Referenced by execute_call_instruction().
|
static |
Definition at line 1037 of file multi_function_procedure_executor.cc.
References BLI_assert_unreachable, evaluate_as_one(), fill_params(), fill_params__one(), blender::fn::multi_function::CallInstruction::fn(), blender::fn::multi_function::VariableStates::full_mask(), gather_parameter_variable_states(), mask(), params, and blender::Vector< T, InlineBufferCapacity, Allocator >::resize().
Referenced by blender::fn::multi_function::ProcedureExecutor::call().
|
static |
Definition at line 1019 of file multi_function_procedure_executor.cc.
References blender::fn::multi_function::VariableStates::add_as_param(), mask(), and params.
Referenced by execute_call_instruction().
|
static |
Definition at line 1001 of file multi_function_procedure_executor.cc.
References blender::fn::multi_function::VariableStates::add_as_param__one(), mask(), and params.
Referenced by execute_call_instruction().
|
static |
Definition at line 984 of file multi_function_procedure_executor.cc.
References blender::fn::multi_function::VariableStates::get_variable_state(), and blender::fn::multi_function::CallInstruction::params().
Referenced by execute_call_instruction().
|
static |
Definition at line 24 of file multi_function.cc.
References blender::fn::multi_function::ParamType::data_type(), ELEM, i, blender::fn::multi_function::ParamType::interface_type(), blender::fn::multi_function::DataType::is_vector(), blender::fn::multi_function::ParamType::Mutable, and blender::fn::multi_function::ParamType::Output.
Referenced by blender::fn::multi_function::MultiFunction::call_auto().