CoreFlow 1.0.0
A modern orchestration and execution runtime
|
#include <vx_target.h>
Public Member Functions | |
Target (vx_context context, vx_reference scope) | |
Construct a new Target object. | |
~Target ()=default | |
Destroy the Target object. | |
vx_status | initializeTarget (vx_kernel_description_t *kernels[], vx_uint32 numkernels) |
Initializes a target's kernels list. | |
vx_status | deinitializeTarget () |
Deinitializes a target's kernels list. | |
vx_uint32 | findTargetIndex () |
Find target's index within context. | |
vx_kernel | findKernelByEnum (vx_enum enumeration) |
Find kernel belonging to this target module by enum. | |
vx_uint32 | refCount () const |
Returns the reference count of the object. | |
vx_enum | dataType () const |
Returns the type of the reference. | |
const vx_char * | refName () const |
Returns the name of the reference. | |
void | setName (const vx_char *name) |
Sets the name of the reference. | |
vx_uint32 | incrementReference (vx_reftype_e refType) |
Increments the ref count. | |
vx_uint32 | decrementReference (vx_reftype_e refType) |
Decrements the ref count. | |
vx_uint32 | totalReferenceCount () |
Returns the total reference count of the object. | |
void | initReferenceForDelay (vx_delay delay, vx_int32 index) |
Used to initialize any vx_reference as a delay element. | |
virtual void | destruct () |
Destruct reference. | |
Static Public Member Functions | |
static void | printTarget (vx_target target, vx_uint32 index) |
Prints Target Information for Debugging. | |
static vx_bool | matchTargetNameWithString (const vx_char *target_name, const vx_char *target_string) |
Match target name with specified target string. | |
static const vx_char * | reverse_strstr (const vx_char *string, const vx_char *substr) |
Find the last occurrence of a substring in a string. | |
static vx_reference | createReference (vx_context context, vx_enum type, vx_reftype_e refType, vx_reference scope) |
Used to create a reference. | |
static void | printReference (vx_reference ref) |
Prints the values of a reference. | |
static vx_bool | isValidReference (vx_reference ref) |
Used to validate everything but vx_context, vx_image and vx_buffer. | |
static vx_bool | isValidReference (vx_reference ref, vx_enum type) |
Used to validate everything but vx_context, vx_image and vx_buffer. | |
static vx_size | sizeOfType (vx_enum type) |
Returns the number of bytes in the internal structure for a given type. | |
static vx_status | releaseReference (vx_reference *ref, vx_enum type, vx_reftype_e reftype, vx_destructor_f special_destructor) |
Used to destroy a reference. | |
Public Attributes | |
vx_bool | enabled |
A quick checking method to see if the target is usable. | |
vx_char | name [VX_MAX_TARGET_NAME] |
The name of the target. | |
vx_module_t | module |
The handle to the module which contains the target interface. | |
vx_target_funcs_t | funcs |
The table of function pointers to target. | |
vx_uint32 | priority |
Used to determine precidence when more than once core supports a kernel. | |
vx_uint32 | num_kernels |
The number of supported kernels on this target. | |
vx_kernel | kernels [VX_INT_MAX_KERNELS] |
The supported kernels on this target. | |
void * | reserved |
Target Specific Private Data. | |
struct _vx_platform * | platform |
Platform for ICD compatibility. | |
vx_uint32 | magic |
Used to validate references, must be set to VX_MAGIC. | |
vx_enum | type |
Set to an enum value in vx_type_e. | |
vx_context | context |
Pointer to the top level context. If this reference is the context, this will be NULL. | |
vx_reference | scope |
The pointer to the object's scope parent. When virtual objects are scoped within a graph, this will point to that parent graph. This is left generic to allow future scoping variations. By default scope should be the same as context. | |
vx_uint32 | external_count |
The count of the number of users with this reference. When greater than 0, this can not be freed. When zero, the value can be considered inaccessible. | |
vx_uint32 | internal_count |
The count of the number of framework references. When greater than 0, this can not be freed. | |
vx_uint32 | read_count |
The number of times the object has been read (in some portion) | |
vx_uint32 | write_count |
The number of times the object has been written to (in some portion) | |
vx_sem_t | lock |
The reference lock which is used to protect access to "in-fly" data. | |
vx_uint32 | index |
A field which can be used to store a temporary, per-graph index. | |
vx_bool | extracted |
This indicates if the object was extracted from another object. | |
vx_bool | is_virtual |
This indicates if the object is virtual or not. | |
vx_delay | delay |
vx_int32 | delay_slot_index |
vx_bool | is_accessible |
This indicates that if the object is virtual whether it is accessible at the moment or not. | |
|
inherited |
Pointer to the top level context. If this reference is the context, this will be NULL.
|
inherited |
|
inherited |
vx_bool coreflow::Target::enabled |
A quick checking method to see if the target is usable.
|
inherited |
The count of the number of users with this reference. When greater than 0, this can not be freed. When zero, the value can be considered inaccessible.
|
inherited |
This indicates if the object was extracted from another object.
vx_target_funcs_t coreflow::Target::funcs |
The table of function pointers to target.
|
inherited |
A field which can be used to store a temporary, per-graph index.
|
inherited |
The count of the number of framework references. When greater than 0, this can not be freed.
|
inherited |
This indicates that if the object is virtual whether it is accessible at the moment or not.
|
inherited |
This indicates if the object is virtual or not.
vx_kernel coreflow::Target::kernels[VX_INT_MAX_KERNELS] |
The supported kernels on this target.
|
inherited |
The reference lock which is used to protect access to "in-fly" data.
|
inherited |
Used to validate references, must be set to VX_MAGIC.
vx_module_t coreflow::Target::module |
The handle to the module which contains the target interface.
vx_char coreflow::Target::name[VX_MAX_TARGET_NAME] |
The name of the target.
vx_uint32 coreflow::Target::num_kernels |
The number of supported kernels on this target.
|
inherited |
Platform for ICD compatibility.
vx_uint32 coreflow::Target::priority |
Used to determine precidence when more than once core supports a kernel.
|
inherited |
The number of times the object has been read (in some portion)
void* coreflow::Target::reserved |
Target Specific Private Data.
|
inherited |
The pointer to the object's scope parent. When virtual objects are scoped within a graph, this will point to that parent graph. This is left generic to allow future scoping variations. By default scope should be the same as context.
|
inherited |
The number of times the object has been written to (in some portion)