AMD OpenVX Extension API

AMD OpenVX Extension API#

MIVisionX: Extension: AMD OpenVX Extension API
Extension: AMD OpenVX Extension API

AMD OpenVX Extension to enhance base, vision, and neural network feature sets. More...

Data Structures

struct  AgoImageFormatDescription
 AMD data structure for image format information. More...
 
struct  AgoTargetAffinityInfo
 AMD data structure to specify target affinity. More...
 
struct  AgoContextTextMacroInfo
 AMD data structure to set a text macro. More...
 
struct  AgoGraphImportInfo
 AMD data structure to import a graph from a text.text: "macro <macro-name>" to use a pre-defined macro "file <file-name>" to load from a file otherwise use the text as is. More...
 
struct  AgoGraphExportInfo
 AMD data structure to export a graph to a text. More...
 
struct  AgoGraphPerfInternalInfo
 AMD data structure to get internal performance data. More...
 
struct  AgoNodeMergeRule_t
 AMD data structure to specify node merge rule. More...
 

Macros

#define AGO_TARGET_AFFINITY_CPU   0x0010
 AMD target affinity enumerations for AgoTargetAffinityInfo.device_type.
 
#define AGO_TARGET_AFFINITY_GPU   0x0020
 AMD target affinity enumerations for AgoTargetAffinityInfo.device_type.
 
#define AGO_TARGET_AFFINITY_APU   0x0030
 AMD target affinity enumerations for AgoTargetAffinityInfo.device_type.
 
#define AGO_MAX_PARAMS   32
 AMD internal parameters. [TODO: This needs to be moved to ago_internal.h].
 
#define VX_MAX_STRING_BUFFER_SIZE_AMD   256
 Maximum size of scalar string buffer. The local buffers used for accessing scalar strings should be of size VX_MAX_STRING_BUFFER_SIZE_AMD and the maximum allowed string length is VX_MAX_STRING_BUFFER_SIZE_AMD-1.
 
#define VX_CONTEXT_ATTRIBUTE_NONLINEAR_MAX_DIMENSION   VX_CONTEXT_NONLINEAR_MAX_DIMENSION
 The attributes for vx_context.
 
#define VX_GRAPH_ATTRIBUTE_STATE   VX_GRAPH_STATE
 The attributes for vx_graph.
 
#define VX_OBJECT_ARRAY_ATTRIBUTE_ITEMTYPE   VX_OBJECT_ARRAY_ITEMTYPE
 The attributes for vx_object_array.
 

Typedefs

typedef struct _vx_tensor_t * vx_tensor
 The multidimensional data object (Tensor). More...
 
typedef struct AgoNodeMergeRule_t AgoNodeMergeRule
 AMD data structure to specify node merge rule.
 

Enumerations

enum  ago_type_public_e {
  VX_TYPE_STRING_AMD = 0x011 , AGO_TYPE_KEYPOINT_XYS = VX_TYPE_VENDOR_STRUCT_START , AGO_TYPE_MEANSTDDEV_DATA = VX_TYPE_VENDOR_OBJECT_START , AGO_TYPE_MINMAXLOC_DATA ,
  AGO_TYPE_CANNY_STACK , AGO_TYPE_SCALE_MATRIX
}
 The type enumeration lists all the AMD specific types in OpenVX. More...
 
enum  vx_context_attribute_amd_e {
  VX_CONTEXT_ATTRIBUTE_AMD_OPENCL_CONTEXT = VX_ATTRIBUTE_BASE(VX_ID_AMD, VX_TYPE_CONTEXT) + 0x01 , VX_CONTEXT_ATTRIBUTE_AMD_AFFINITY = VX_ATTRIBUTE_BASE(VX_ID_AMD, VX_TYPE_CONTEXT) + 0x02 , VX_CONTEXT_ATTRIBUTE_AMD_SET_TEXT_MACRO = VX_ATTRIBUTE_BASE(VX_ID_AMD, VX_TYPE_CONTEXT) + 0x03 , VX_CONTEXT_ATTRIBUTE_AMD_SET_MERGE_RULE = VX_ATTRIBUTE_BASE(VX_ID_AMD, VX_TYPE_CONTEXT) + 0x04 ,
  VX_CONTEXT_MAX_TENSOR_DIMENSIONS = VX_ATTRIBUTE_BASE(VX_ID_AMD, VX_TYPE_CONTEXT) + 0x05 , VX_CONTEXT_CL_QUEUE_PROPERTIES = VX_ATTRIBUTE_BASE(VX_ID_AMD, VX_TYPE_CONTEXT) + 0x06 , VX_CONTEXT_ATTRIBUTE_AMD_HIP_DEVICE = VX_ATTRIBUTE_BASE(VX_ID_AMD, VX_TYPE_CONTEXT) + 0x07
}
 The AMD context attributes list. More...
 
enum  vx_kernel_attribute_amd_e {
  VX_KERNEL_ATTRIBUTE_AMD_QUERY_TARGET_SUPPORT = VX_ATTRIBUTE_BASE(VX_ID_AMD, VX_TYPE_KERNEL) + 0x01 , VX_KERNEL_ATTRIBUTE_AMD_OPENCL_CODEGEN_CALLBACK = VX_ATTRIBUTE_BASE(VX_ID_AMD, VX_TYPE_KERNEL) + 0x02 , VX_KERNEL_ATTRIBUTE_AMD_NODE_REGEN_CALLBACK = VX_ATTRIBUTE_BASE(VX_ID_AMD, VX_TYPE_KERNEL) + 0x03 , VX_KERNEL_ATTRIBUTE_AMD_OPENCL_GLOBAL_WORK_UPDATE_CALLBACK = VX_ATTRIBUTE_BASE(VX_ID_AMD, VX_TYPE_KERNEL) + 0x04 ,
  VX_KERNEL_ATTRIBUTE_AMD_GPU_BUFFER_ACCESS_ENABLE = VX_ATTRIBUTE_BASE(VX_ID_AMD, VX_TYPE_KERNEL) + 0x05 , VX_KERNEL_ATTRIBUTE_AMD_GPU_BUFFER_UPDATE_CALLBACK = VX_ATTRIBUTE_BASE(VX_ID_AMD, VX_TYPE_KERNEL) + 0x06
}
 The AMD kernel attributes list. More...
 
enum  vx_graph_attribute_amd_e {
  VX_GRAPH_ATTRIBUTE_AMD_AFFINITY = VX_ATTRIBUTE_BASE(VX_ID_AMD, VX_TYPE_GRAPH) + 0x01 , VX_GRAPH_ATTRIBUTE_AMD_IMPORT_FROM_TEXT = VX_ATTRIBUTE_BASE(VX_ID_AMD, VX_TYPE_GRAPH) + 0x02 , VX_GRAPH_ATTRIBUTE_AMD_EXPORT_TO_TEXT = VX_ATTRIBUTE_BASE(VX_ID_AMD, VX_TYPE_GRAPH) + 0x03 , VX_GRAPH_ATTRIBUTE_AMD_OPTIMIZER_FLAGS = VX_ATTRIBUTE_BASE(VX_ID_AMD, VX_TYPE_GRAPH) + 0x04 ,
  VX_GRAPH_ATTRIBUTE_AMD_PERFORMANCE_INTERNAL_LAST = VX_ATTRIBUTE_BASE(VX_ID_AMD, VX_TYPE_GRAPH) + 0x05 , VX_GRAPH_ATTRIBUTE_AMD_PERFORMANCE_INTERNAL_AVG = VX_ATTRIBUTE_BASE(VX_ID_AMD, VX_TYPE_GRAPH) + 0x06 , VX_GRAPH_ATTRIBUTE_AMD_PERFORMANCE_INTERNAL_PROFILE = VX_ATTRIBUTE_BASE(VX_ID_AMD, VX_TYPE_GRAPH) + 0x07 , VX_GRAPH_ATTRIBUTE_AMD_OPENCL_COMMAND_QUEUE = VX_ATTRIBUTE_BASE(VX_ID_AMD, VX_TYPE_GRAPH) + 0x08 ,
  VX_GRAPH_ATTRIBUTE_AMD_CPU_NUM_THREADS = VX_ATTRIBUTE_BASE(VX_ID_AMD, VX_TYPE_GRAPH) + 0x09
}
 The AMD graph attributes list. More...
 
enum  vx_node_attribute_amd_e { VX_NODE_ATTRIBUTE_AMD_AFFINITY = VX_ATTRIBUTE_BASE(VX_ID_AMD, VX_TYPE_NODE) + 0x01 , VX_NODE_ATTRIBUTE_AMD_OPENCL_COMMAND_QUEUE = VX_ATTRIBUTE_BASE(VX_ID_AMD, VX_TYPE_NODE) + 0x02 , VX_NODE_ATTRIBUTE_AMD_HIP_STREAM = VX_ATTRIBUTE_BASE(VX_ID_AMD, VX_TYPE_NODE) + 0x03 , VX_NODE_ATTRIBUTE_AMD_CPU_NUM_THREADS = VX_ATTRIBUTE_BASE(VX_ID_AMD, VX_TYPE_NODE) + 0x04 }
 The AMD node attributes list. More...
 
enum  vx_image_attribute_amd_e {
  VX_IMAGE_ATTRIBUTE_AMD_OPENCL_BUFFER = VX_ATTRIBUTE_BASE(VX_ID_AMD, VX_TYPE_IMAGE) + 0x01 , VX_IMAGE_ATTRIBUTE_AMD_GPU_BUFFER_OFFSET = VX_ATTRIBUTE_BASE(VX_ID_AMD, VX_TYPE_IMAGE) + 0x02 , VX_IMAGE_ATTRIBUTE_AMD_ENABLE_USER_BUFFER_GPU = VX_ATTRIBUTE_BASE(VX_ID_AMD, VX_TYPE_IMAGE) + 0x03 , VX_IMAGE_ATTRIBUTE_AMD_GPU_BUFFER_STRIDE = VX_ATTRIBUTE_BASE(VX_ID_AMD, VX_TYPE_IMAGE) + 0x04 ,
  VX_IMAGE_ATTRIBUTE_AMD_HOST_BUFFER = VX_ATTRIBUTE_BASE(VX_ID_AMD, VX_TYPE_IMAGE) + 0x05 , VX_IMAGE_ATTRIBUTE_AMD_HIP_BUFFER = VX_ATTRIBUTE_BASE(VX_ID_AMD, VX_TYPE_IMAGE) + 0x06
}
 The AMD image attributes list. More...
 
enum  vx_tensor_attribute_amd_e {
  VX_TENSOR_STRIDE_GPU = VX_ATTRIBUTE_BASE(VX_ID_AMD, VX_TYPE_TENSOR) + 0x5 , VX_TENSOR_OFFSET_GPU = VX_ATTRIBUTE_BASE(VX_ID_AMD, VX_TYPE_TENSOR) + 0x6 , VX_TENSOR_BUFFER_OPENCL = VX_ATTRIBUTE_BASE(VX_ID_AMD, VX_TYPE_TENSOR) + 0x7 , VX_TENSOR_BUFFER_HIP = VX_ATTRIBUTE_BASE(VX_ID_AMD, VX_TYPE_TENSOR) + 0x8 ,
  VX_TENSOR_MEMORY_TYPE = VX_ATTRIBUTE_BASE(VX_ID_AMD, VX_TYPE_TENSOR) + 0x9 , VX_TENSOR_BUFFER_HOST = VX_ATTRIBUTE_BASE(VX_ID_AMD, VX_TYPE_TENSOR) + 0x10
}
 The AMD tensor data attributes. More...
 
enum  vx_array_attribute_amd_e { VX_ARRAY_BUFFER_OPENCL = VX_ATTRIBUTE_BASE(VX_ID_AMD, VX_TYPE_ARRAY) + 0x9 , VX_ARRAY_BUFFER_HIP = VX_ATTRIBUTE_BASE(VX_ID_AMD, VX_TYPE_ARRAY) + 0x10 , VX_ARRAY_BUFFER = VX_ATTRIBUTE_BASE(VX_ID_AMD, VX_TYPE_ARRAY) + 0x11 , VX_ARRAY_OFFSET_GPU = VX_ATTRIBUTE_BASE(VX_ID_AMD, VX_TYPE_ARRAY) + 0x12 }
 The AMD array data attributes. More...
 
enum  vx_directive_amd_e {
  VX_DIRECTIVE_AMD_READ_ONLY = VX_ENUM_BASE(VX_ID_AMD, VX_ENUM_DIRECTIVE) + 0x01 , VX_DIRECTIVE_AMD_COPY_TO_OPENCL = VX_ENUM_BASE(VX_ID_AMD, VX_ENUM_DIRECTIVE) + 0x02 , VX_DIRECTIVE_AMD_ENABLE_PROFILE_CAPTURE = VX_ENUM_BASE(VX_ID_AMD, VX_ENUM_DIRECTIVE) + 0x03 , VX_DIRECTIVE_AMD_DISABLE_PROFILE_CAPTURE = VX_ENUM_BASE(VX_ID_AMD, VX_ENUM_DIRECTIVE) + 0x04 ,
  VX_DIRECTIVE_AMD_DISABLE_GPU_FLUSH = VX_ENUM_BASE(VX_ID_AMD, VX_ENUM_DIRECTIVE) + 0x05 , VX_DIRECTIVE_AMD_COPY_TO_HIPMEM = VX_ENUM_BASE(VX_ID_AMD, VX_ENUM_DIRECTIVE) + 0x02
}
 These enumerations are given to the vxDirective API to enable/disable platform optimizations and/or features. Directives are not optional and usually are vendor-specific, by defining a vendor range of directives and starting their enumeration from there. More...
 
enum  vx_memory_type_amd_e { VX_MEMORY_TYPE_OPENCL = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_MEMORY_TYPE) + 0x2 , VX_MEMORY_TYPE_HIP = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_MEMORY_TYPE) + 0x3 }
 An enumeration of additional memory type imports. More...
 
enum  vx_color_space_amd_e { VX_COLOR_SPACE_BT2020 = VX_ENUM_BASE(VX_ID_AMD, VX_ENUM_COLOR_SPACE) + 0x1 }
 The image color space list used by the VX_IMAGE_SPACE attribute of a vx_image. More...
 
enum  vx_df_image_amd_e {
  VX_DF_IMAGE_U1_AMD = VX_DF_IMAGE('U', '0', '0', '1') , VX_DF_IMAGE_F16_AMD = VX_DF_IMAGE('F', '0', '1', '6') , VX_DF_IMAGE_F32_AMD = VX_DF_IMAGE('F', '0', '3', '2') , VX_DF_IMAGE_F64_AMD = VX_DF_IMAGE('F', '0', '6', '4') ,
  VX_DF_IMAGE_F32x3_AMD = VX_DF_IMAGE('F', '3', '3', '2')
}
 Based on the VX_DF_IMAGE definition. More...
 
enum  vx_scalar_attribute_amd_e { VX_SCALAR_BUFFER = VX_ATTRIBUTE_BASE(VX_ID_AMD, VX_TYPE_SCALAR) + 0x1 }
 scalar data attributes. More...
 

Functions

VX_API_ENTRY vx_status VX_API_CALL vxGetReferenceName (vx_reference ref, vx_char name[], vx_size size)
 Retrieve the name of a reference. More...
 
VX_API_ENTRY vx_status VX_API_CALL vxSetModuleInternalData (vx_context context, const vx_char *module, void *ptr, vx_size size)
 Set module internal data. More...
 
VX_API_ENTRY vx_status VX_API_CALL vxGetModuleInternalData (vx_context context, const vx_char *module, void **ptr, vx_size *size)
 Retrieve module internal data. More...
 
VX_API_ENTRY vx_status VX_API_CALL vxSetModuleHandle (vx_node node, const vx_char *module, void *ptr)
 Set module handle. More...
 
VX_API_ENTRY vx_status VX_API_CALL vxGetModuleHandle (vx_node node, const vx_char *module, void **ptr)
 Retrieve module handle. More...
 
VX_API_ENTRY vx_status VX_API_CALL vxSetContextImageFormatDescription (vx_context context, vx_df_image format, const AgoImageFormatDescription *desc)
 Set custom image format description. More...
 
VX_API_ENTRY vx_status VX_API_CALL vxGetContextImageFormatDescription (vx_context context, vx_df_image format, AgoImageFormatDescription *desc)
 Get custom image format description. More...
 
VX_API_ENTRY vx_status VX_API_CALL vxAliasTensor (vx_tensor tensorMaster, vx_size offset, vx_tensor tensor)
 vxAliasTensor. More...
 
VX_API_ENTRY vx_bool VX_API_CALL vxIsTensorAliased (vx_tensor tensorMaster, vx_size offset, vx_tensor tensor)
 vxIsTensorAliased. More...
 

Detailed Description

AMD OpenVX Extension to enhance base, vision, and neural network feature sets.

Typedef Documentation

◆ vx_tensor

typedef struct _vx_tensor_t* vx_tensor

The multidimensional data object (Tensor).

See also
vxCreateTensor

Enumeration Type Documentation

◆ ago_type_public_e

The type enumeration lists all the AMD specific types in OpenVX.

Enumerator
VX_TYPE_STRING_AMD 

AMD scalar data type for string.

AGO_TYPE_KEYPOINT_XYS 

AGO struct data type for keypoint XYS.

AGO_TYPE_MEANSTDDEV_DATA 

AGO data structure for AGO MeanStdDev kernels.

AGO_TYPE_MINMAXLOC_DATA 

AGO data structure for AGO MinMaxLoc kernels.

AGO_TYPE_CANNY_STACK 

AGO data structure for AGO Canny kernels.

AGO_TYPE_SCALE_MATRIX 

AGO data structure for AGO Scale kernels.

◆ vx_array_attribute_amd_e

The AMD array data attributes.

Enumerator
VX_ARRAY_BUFFER_OPENCL 

OpenCL buffer. cl_mem.

VX_ARRAY_BUFFER_HIP 

HIP buffer. hip_mem.

VX_ARRAY_BUFFER 

TODO:.

VX_ARRAY_OFFSET_GPU 

TODO:.

◆ vx_color_space_amd_e

The image color space list used by the VX_IMAGE_SPACE attribute of a vx_image.

Enumerator
VX_COLOR_SPACE_BT2020 

Use to indicate that the BT.2020 coefficients are used for conversions.

◆ vx_context_attribute_amd_e

The AMD context attributes list.

Enumerator
VX_CONTEXT_ATTRIBUTE_AMD_OPENCL_CONTEXT 

OpenCL context. Use a cl_context parameter.

VX_CONTEXT_ATTRIBUTE_AMD_AFFINITY 

Context affinity. Use a AgoTargetAffinityInfo parameter.

VX_CONTEXT_ATTRIBUTE_AMD_SET_TEXT_MACRO 

Set a text macro definition. Use a AgoContextMacroInfo parameter.

VX_CONTEXT_ATTRIBUTE_AMD_SET_MERGE_RULE 

Set a merge rule. Use a AgoNodeMergeRule parameter.

VX_CONTEXT_MAX_TENSOR_DIMENSIONS 

Tensor Data max num of dimensions supported by HW.

VX_CONTEXT_CL_QUEUE_PROPERTIES 

CL_QUEUE_PROPERTIES to be used for creating OpenCL command queue. Use a cl_command_queue_properties parameter.

VX_CONTEXT_ATTRIBUTE_AMD_HIP_DEVICE 

HIP context. Use a cl_context parameter.

◆ vx_df_image_amd_e

Based on the VX_DF_IMAGE definition.

Note
Use vx_df_image to contain these values.
Enumerator
VX_DF_IMAGE_U1_AMD 

AMD image with 1-bit data.

VX_DF_IMAGE_F16_AMD 

AMD image with 16-bit floating-point (half).

VX_DF_IMAGE_F32_AMD 

AMD image with 32-bit floating-point (float).

VX_DF_IMAGE_F64_AMD 

AMD image with 64-bit floating-point (double).

VX_DF_IMAGE_F32x3_AMD 

AMD image with THREE 32-bit floating-point channels in one buffer.

◆ vx_directive_amd_e

These enumerations are given to the vxDirective API to enable/disable platform optimizations and/or features. Directives are not optional and usually are vendor-specific, by defining a vendor range of directives and starting their enumeration from there.

See also
vxDirective
Enumerator
VX_DIRECTIVE_AMD_READ_ONLY 

Data object is readonly after this directive is given.

VX_DIRECTIVE_AMD_COPY_TO_OPENCL 

Data object copy to OpenCL.

VX_DIRECTIVE_AMD_ENABLE_PROFILE_CAPTURE 

Enable performance profile capture.

VX_DIRECTIVE_AMD_DISABLE_PROFILE_CAPTURE 

Disable performance profile capture.

VX_DIRECTIVE_AMD_DISABLE_GPU_FLUSH 

Disable node level flush for a graph.

VX_DIRECTIVE_AMD_COPY_TO_HIPMEM 

Data object copy to HIP memory.

◆ vx_graph_attribute_amd_e

The AMD graph attributes list.

Enumerator
VX_GRAPH_ATTRIBUTE_AMD_AFFINITY 

Graph affinity. Use a AgoNodeAffinityInfo parameter.

VX_GRAPH_ATTRIBUTE_AMD_IMPORT_FROM_TEXT 

Imports a graph from a text file. Use a AgoGraphImportInfo parameter.

VX_GRAPH_ATTRIBUTE_AMD_EXPORT_TO_TEXT 

Export a graph into a text file. Use a AgoGraphExportInfo parameter.

VX_GRAPH_ATTRIBUTE_AMD_OPTIMIZER_FLAGS 

Graph optimizer flags. Use a vx_uint32 parameter.

VX_GRAPH_ATTRIBUTE_AMD_PERFORMANCE_INTERNAL_LAST 

Graph last performance (internal). Use a AgoGraphPerfInternalInfo parameter.

VX_GRAPH_ATTRIBUTE_AMD_PERFORMANCE_INTERNAL_AVG 

Graph avg performance (internal). Use a AgoGraphPerfInternalInfo parameter.

VX_GRAPH_ATTRIBUTE_AMD_PERFORMANCE_INTERNAL_PROFILE 

Graph internal performance profile. Use a char * fileName parameter.

VX_GRAPH_ATTRIBUTE_AMD_OPENCL_COMMAND_QUEUE 

OpenCL command queue. Use a cl_command_queue parameter.

VX_GRAPH_ATTRIBUTE_AMD_CPU_NUM_THREADS 

CPU num_threads to be used in RPP. Use a vx_uint32 parameter.

◆ vx_image_attribute_amd_e

The AMD image attributes list.

Enumerator
VX_IMAGE_ATTRIBUTE_AMD_OPENCL_BUFFER 

Sync with user specified OpenCL buffer. Use a cl_mem parameter.

VX_IMAGE_ATTRIBUTE_AMD_GPU_BUFFER_OFFSET 

GPU buffer offset. Use a cl_uint parameter.

VX_IMAGE_ATTRIBUTE_AMD_ENABLE_USER_BUFFER_GPU 

Enable user kernel's own GPU buffer for virtual images. Supports only images with single color plane and stride should match framework's internal alignment. image ROI not supported. Use a vx_bool parameter.

VX_IMAGE_ATTRIBUTE_AMD_GPU_BUFFER_STRIDE 

GPU buffer stride. Use a cl_uint parameter.

VX_IMAGE_ATTRIBUTE_AMD_HOST_BUFFER 

Sync with user specified host buffer. Use a cl_mem parameter.

VX_IMAGE_ATTRIBUTE_AMD_HIP_BUFFER 

Sync with user specified hip memory.

◆ vx_kernel_attribute_amd_e

The AMD kernel attributes list.

Enumerator
VX_KERNEL_ATTRIBUTE_AMD_QUERY_TARGET_SUPPORT 

Kernel callback for query target support. Use a amd_kernel_query_target_support_f parameter.

VX_KERNEL_ATTRIBUTE_AMD_OPENCL_CODEGEN_CALLBACK 

Kernel callback for OpenCL code generation. Use a amd_kernel_opencl_codegen_callback_f parameter.

VX_KERNEL_ATTRIBUTE_AMD_NODE_REGEN_CALLBACK 

Kernel callback for node regeneration. Use a amd_kernel_node_regen_callback_f parameter.

VX_KERNEL_ATTRIBUTE_AMD_OPENCL_GLOBAL_WORK_UPDATE_CALLBACK 

Kernel callback for OpenCL global work[]. Use a amd_kernel_opencl_global_work_update_callback_f parameter.

VX_KERNEL_ATTRIBUTE_AMD_GPU_BUFFER_ACCESS_ENABLE 

Kernel flag to enable OpenCL buffer access (default OFF). Use a vx_bool parameter.

VX_KERNEL_ATTRIBUTE_AMD_GPU_BUFFER_UPDATE_CALLBACK 

Kernel callback for GPU buffer update. Use a AgoKernelGpuBufferUpdateInfo parameter.

◆ vx_memory_type_amd_e

An enumeration of additional memory type imports.

Enumerator
VX_MEMORY_TYPE_OPENCL 

The memory type to import from the OpenCL.

VX_MEMORY_TYPE_HIP 

The memory type to import from the HIP.

◆ vx_node_attribute_amd_e

The AMD node attributes list.

Enumerator
VX_NODE_ATTRIBUTE_AMD_AFFINITY 

Node affinity. Use a AgoTargetAffinityInfo parameter.

VX_NODE_ATTRIBUTE_AMD_OPENCL_COMMAND_QUEUE 

OpenCL command queue. Use a cl_command_queue parameter.

VX_NODE_ATTRIBUTE_AMD_HIP_STREAM 

HIP stream. TBD.

VX_NODE_ATTRIBUTE_AMD_CPU_NUM_THREADS 

TBD.

◆ vx_scalar_attribute_amd_e

scalar data attributes.

Enumerator
VX_SCALAR_BUFFER 

scalar's buffer

◆ vx_tensor_attribute_amd_e

The AMD tensor data attributes.

Enumerator
VX_TENSOR_STRIDE_GPU 

GPU buffer strides (array of vx_size).

VX_TENSOR_OFFSET_GPU 

GPU buffer offset. vx_size.

VX_TENSOR_BUFFER_OPENCL 

OpenCL buffer. cl_mem.

VX_TENSOR_BUFFER_HIP 

HIP buffer. cl_mem.

VX_TENSOR_MEMORY_TYPE 

Queries memory type if created using vxCreateTensorFromHandle. If vx_tensor was not created using vxCreateTensorFromHandle, VX_MEMORY_TYPE_NONE is returned. Use a vx_memory_type_e parameter.

VX_TENSOR_BUFFER_HOST 

Sync with user specified host buffer.

Function Documentation

◆ vxAliasTensor()

VX_API_ENTRY vx_status VX_API_CALL vxAliasTensor ( vx_tensor  tensorMaster,
vx_size  offset,
vx_tensor  tensor 
)

vxAliasTensor.

Note
- TBD
Returns
A vx_status_e enumeration.
Return values
VX_SUCCESSNo errors.
VX_ERROR_INVALID_REFERENCEif reference is not valid.
VX_ERROR_INVALID_FORMATif format is already in use.

◆ vxGetContextImageFormatDescription()

VX_API_ENTRY vx_status VX_API_CALL vxGetContextImageFormatDescription ( vx_context  context,
vx_df_image  format,
AgoImageFormatDescription desc 
)

Get custom image format description.

Parameters
[in]contextThe context.
[in]formatThe image format.
[out]descThe image format description.
Returns
A vx_status_e enumeration.
Return values
VX_SUCCESSNo errors.
VX_ERROR_INVALID_REFERENCEif reference is not valid.
VX_ERROR_INVALID_FORMATif format is already in use.

◆ vxGetModuleHandle()

VX_API_ENTRY vx_status VX_API_CALL vxGetModuleHandle ( vx_node  node,
const vx_char module,
void **  ptr 
)

Retrieve module handle.

This function is used to retrieve module specific handle of a graph from within a node.

Parameters
[in]nodeThe node.
[in]moduleThe name of the module used in vxLoadKernels.
[out]ptrThe module internal buffer.
Returns
A vx_status_e enumeration.
Return values
VX_SUCCESSNo errors.
VX_ERROR_INVALID_REFERENCEif reference is not valid.

◆ vxGetModuleInternalData()

VX_API_ENTRY vx_status VX_API_CALL vxGetModuleInternalData ( vx_context  context,
const vx_char module,
void **  ptr,
vx_size size 
)

Retrieve module internal data.

This function is used to retrieve module specific internal data. This is for use by vxUnpublishKernels().

Parameters
[in]contextThe context.
[in]moduleThe name of the module used in vxLoadKernels.
[out]ptrThe module internal buffer.
[out]sizeSize of the module internal buffer.
Returns
A vx_status_e enumeration.
Return values
VX_SUCCESSNo errors.
VX_ERROR_INVALID_REFERENCEif reference is not valid.

◆ vxGetReferenceName()

VX_API_ENTRY vx_status VX_API_CALL vxGetReferenceName ( vx_reference  ref,
vx_char  name[],
vx_size  size 
)

Retrieve the name of a reference.

This function is used to retrieve the name of a reference.

Parameters
[in]refThe reference.
[out]namePointer to copy the name of the reference.
[in]sizeSize of the name buffer.
Returns
A vx_status_e enumeration.
Return values
VX_SUCCESSNo errors.
VX_ERROR_INVALID_REFERENCEif reference is not valid.

◆ vxIsTensorAliased()

VX_API_ENTRY vx_bool VX_API_CALL vxIsTensorAliased ( vx_tensor  tensorMaster,
vx_size  offset,
vx_tensor  tensor 
)

vxIsTensorAliased.

Note
- TBD

◆ vxSetContextImageFormatDescription()

VX_API_ENTRY vx_status VX_API_CALL vxSetContextImageFormatDescription ( vx_context  context,
vx_df_image  format,
const AgoImageFormatDescription desc 
)

Set custom image format description.

This function is used to support custom image formats with single-plane by ISVs. Should be called from vxPublishKernels().

Parameters
[in]contextThe context.
[in]formatThe image format.
[in]descThe image format description.
Returns
A vx_status_e enumeration.
Return values
VX_SUCCESSNo errors.
VX_ERROR_INVALID_REFERENCEif reference is not valid.
VX_ERROR_INVALID_FORMATif format is already in use.

◆ vxSetModuleHandle()

VX_API_ENTRY vx_status VX_API_CALL vxSetModuleHandle ( vx_node  node,
const vx_char module,
void *  ptr 
)

Set module handle.

This function is used to set module specific of a graph from within a node.

Parameters
[in]nodeThe node.
[in]moduleThe name of the module used in vxLoadKernels.
[in]ptrThe module internal buffer.
Returns
A vx_status_e enumeration.
Return values
VX_SUCCESSNo errors.
VX_ERROR_INVALID_REFERENCEif reference is not valid.

◆ vxSetModuleInternalData()

VX_API_ENTRY vx_status VX_API_CALL vxSetModuleInternalData ( vx_context  context,
const vx_char module,
void *  ptr,
vx_size  size 
)

Set module internal data.

This function is used to set module specific internal data. This is for use by vxPublishKernels().

Parameters
[in]contextThe context.
[in]moduleThe name of the module used in vxLoadKernels.
[in]ptrThe module internal buffer.
[in]sizeSize of the module internal buffer.
Returns
A vx_status_e enumeration.
Return values
VX_SUCCESSNo errors.
VX_ERROR_INVALID_REFERENCEif reference is not valid.