develop/amd_openvx/openvx/include/vx_ext_amd.h Source File

develop/amd_openvx/openvx/include/vx_ext_amd.h Source File#

MIVisionX: develop/amd_openvx/openvx/include/vx_ext_amd.h Source File
vx_ext_amd.h
Go to the documentation of this file.
1/*
2Copyright (c) 2015 - 2024 Advanced Micro Devices, Inc. All rights reserved.
3
4Permission is hereby granted, free of charge, to any person obtaining a copy
5of this software and associated documentation files (the "Software"), to deal
6in the Software without restriction, including without limitation the rights
7to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8copies of the Software, and to permit persons to whom the Software is
9furnished to do so, subject to the following conditions:
10
11The above copyright notice and this permission notice shall be included in
12all copies or substantial portions of the Software.
13
14THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20THE SOFTWARE.
21*/
22
23#ifndef _VX_EXT_AMD_H_
24#define _VX_EXT_AMD_H_
25
26#include <VX/vx.h>
27#include <VX/vx_khr_nn.h>
28#ifdef __cplusplus
29#include <string>
30#endif
31
43#define AGO_TARGET_AFFINITY_CPU 0x0010 // CPU
47#define AGO_TARGET_AFFINITY_GPU 0x0020 // GPU
51#define AGO_TARGET_AFFINITY_APU 0x0030 // APU
52
56#define AGO_MAX_PARAMS 32
57#define AGO_MERGE_RULE_MAX_FIND 4
58#define AGO_MERGE_RULE_MAX_REPLACE 4
59#define AGO_MERGE_RULE_SOLITARY_FLAG 0x20
60#define AGO_TARGET_AFFINITY_GPU_INFO_DEVICE_MASK 0x0F
61#define AGO_TARGET_AFFINITY_GPU_INFO_SVM_MASK 0xF0
62#define AGO_TARGET_AFFINITY_GPU_INFO_SVM_ENABLE 0x10
63#define AGO_TARGET_AFFINITY_GPU_INFO_SVM_AS_CLMEM 0x20
64#define AGO_TARGET_AFFINITY_GPU_INFO_SVM_NO_FGS 0x40
65
72#define VX_MAX_STRING_BUFFER_SIZE_AMD 256
73
77#define VX_NN_ACTIVATION_LEAKY_RELU (VX_ENUM_BASE(VX_ID_AMD, VX_ENUM_NN_ACTIVATION_FUNCTION_TYPE) + 0x9)
78
82#define VX_CONTEXT_ATTRIBUTE_NONLINEAR_MAX_DIMENSION VX_CONTEXT_NONLINEAR_MAX_DIMENSION
83#define VX_CONTEXT_ATTRIBUTE_IMMEDIATE_BORDER_POLICY VX_CONTEXT_IMMEDIATE_BORDER_POLICY
84
89#define VX_GRAPH_ATTRIBUTE_STATE VX_GRAPH_STATE
90
94#define VX_OBJECT_ARRAY_ATTRIBUTE_ITEMTYPE VX_OBJECT_ARRAY_ITEMTYPE
95#define VX_OBJECT_ARRAY_ATTRIBUTE_NUMITEMS VX_OBJECT_ARRAY_NUMITEMS
96
121
142
161
186
201
222
243
258
282
294
304
310{
312 VX_DF_IMAGE_U1_AMD = VX_DF_IMAGE('U', '0', '0', '1'),
314 VX_DF_IMAGE_F16_AMD = VX_DF_IMAGE('F', '0', '1', '6'),
316 VX_DF_IMAGE_F32_AMD = VX_DF_IMAGE('F', '0', '3', '2'),
318 VX_DF_IMAGE_F64_AMD = VX_DF_IMAGE('F', '0', '6', '4'),
320 VX_DF_IMAGE_F32x3_AMD = VX_DF_IMAGE('F', '3', '3', '2'),
321};
322
332
336typedef struct
337{
338 vx_size components;
339 vx_size planes;
340 vx_size pixelSizeInBitsNum;
341 vx_color_space_e colorSpace;
342 vx_channel_range_e channelRange;
343 vx_size pixelSizeInBitsDenom;
345
349typedef struct
350{
351 vx_uint32 device_type; // shall be AGO_TARGET_AFFINITY_CPU or AGO_TARGET_AFFINITY_GPU
352 vx_uint32 device_info; // reserved -- shall be initialized to ZERO and shall not be modified
353 vx_uint32 group; // reserved -- shall be initialized to ZERO and shall not be modified
354 vx_uint32 reserved; // reserved -- shall be initialized to ZERO and shall not be modified
356
360typedef struct
361{
362 vx_char macroName[256];
363 vx_char *text;
365
373typedef struct
374{
375 vx_char *text;
376 vx_uint32 num_ref;
377 vx_reference *ref;
378 vx_int32 dumpToConsole;
379 void(VX_CALLBACK *data_registry_callback_f)(void *obj, vx_reference ref, const char *name, const char *app_params);
380 void *data_registry_callback_obj;
382
386typedef struct
387{
388 vx_char fileName[256];
389 vx_uint32 num_ref;
390 vx_reference *ref;
391 vx_char comment[64];
393
397typedef struct
398{
399 vx_uint64 kernel_enqueue;
400 vx_uint64 kernel_wait;
401 vx_uint64 buffer_read;
402 vx_uint64 buffer_write;
404
408typedef struct AgoNodeMergeRule_t
409{
410 struct
411 {
412 vx_enum kernel_id;
413 vx_uint32 arg_spec[AGO_MAX_PARAMS];
414 } find[AGO_MERGE_RULE_MAX_FIND];
415 struct
416 {
417 vx_enum kernel_id;
418 vx_uint32 arg_spec[AGO_MAX_PARAMS];
419 } replace[AGO_MERGE_RULE_MAX_REPLACE];
421
422#ifdef __cplusplus
427typedef vx_status(VX_CALLBACK *amd_kernel_query_target_support_f)(vx_graph graph, vx_node node,
428 vx_bool use_opencl_1_2, // [input] false: OpenCL driver is 2.0+; true: OpenCL driver is 1.2
429 vx_uint32 &supported_target_affinity // [output] must be set to AGO_TARGET_AFFINITY_CPU or AGO_TARGET_AFFINITY_GPU or (AGO_TARGET_AFFINITY_CPU | AGO_TARGET_AFFINITY_GPU)
430);
431
445typedef vx_status(VX_CALLBACK *amd_kernel_opencl_codegen_callback_f)(
446 vx_node node, // [input] node
447 const vx_reference parameters[], // [input] parameters
448 vx_uint32 num, // [input] number of parameters
449 bool opencl_load_function, // [input] false: normal OpenCL kernel; true: reserved
450 char opencl_kernel_function_name[64], // [output] kernel_name for clCreateKernel()
451 std::string &opencl_kernel_code, // [output] string for clCreateProgramWithSource()
452 std::string &opencl_build_options, // [output] options for clBuildProgram()
453 vx_uint32 &opencl_work_dim, // [output] work_dim for clEnqueueNDRangeKernel()
454 vx_size opencl_global_work[], // [output] global_work[] for clEnqueueNDRangeKernel()
455 vx_size opencl_local_work[], // [output] local_work[] for clEnqueueNDRangeKernel()
456 vx_uint32 &opencl_local_buffer_usage_mask, // [output] reserved: must be ZERO
457 vx_uint32 &opencl_local_buffer_size_in_bytes // [output] reserved: must be ZERO
458);
459
463typedef vx_status(VX_CALLBACK *amd_drama_add_node_f)(vx_node node, vx_enum kernel_id, vx_reference *paramList, vx_uint32 paramCount);
464typedef vx_status(VX_CALLBACK *amd_kernel_node_regen_callback_f)(vx_node node, amd_drama_add_node_f add_node_f, vx_bool &replace_original);
465
471typedef vx_status(VX_CALLBACK *amd_kernel_opencl_global_work_update_callback_f)(
472 vx_node node, // [input] node
473 const vx_reference parameters[], // [input] parameters
474 vx_uint32 num, // [input] number of parameters
475 vx_uint32 opencl_work_dim, // [input] work_dim for clEnqueueNDRangeKernel()
476 vx_size opencl_global_work[], // [output] global_work[] for clEnqueueNDRangeKernel()
477 const vx_size opencl_local_work[] // [input] local_work[] for clEnqueueNDRangeKernel()
478);
479
485typedef vx_status(VX_CALLBACK *amd_kernel_gpu_buffer_update_callback_f)(
486 vx_node node, // [input] node
487 const vx_reference parameters[], // [input] parameters
488 vx_uint32 num // [input] number of parameters
489);
490
494typedef struct
495{
496 amd_kernel_gpu_buffer_update_callback_f gpu_buffer_update_callback_f;
497 vx_uint32 gpu_buffer_update_param_index;
498} AgoKernelGpuBufferUpdateInfo;
499
500#if defined(AMD_FP16_SUPPORT)
503#if __has_include(<half/half.hpp>)
504 #include <half/half.hpp>
505#else
506 #include <half.hpp>
507#endif
508typedef half_float::half vx_float16;
509#endif
510#endif
511
512#ifdef __cplusplus
513extern "C"
514{
515#endif
516
532
548 VX_API_ENTRY vx_status VX_API_CALL vxSetModuleInternalData(vx_context context, const vx_char *module, void *ptr, vx_size size);
549
565 VX_API_ENTRY vx_status VX_API_CALL vxGetModuleInternalData(vx_context context, const vx_char *module, void **ptr, vx_size *size);
566
581 VX_API_ENTRY vx_status VX_API_CALL vxSetModuleHandle(vx_node node, const vx_char *module, void *ptr);
582
597 VX_API_ENTRY vx_status VX_API_CALL vxGetModuleHandle(vx_node node, const vx_char *module, void **ptr);
598
615
629
640 VX_API_ENTRY vx_status VX_API_CALL vxAliasTensor(vx_tensor tensorMaster, vx_size offset, vx_tensor tensor);
641
648 VX_API_ENTRY vx_bool VX_API_CALL vxIsTensorAliased(vx_tensor tensorMaster, vx_size offset, vx_tensor tensor);
649
650#ifdef __cplusplus
651}
652#endif
653
654#endif
vx_tensor_attribute_amd_e
The AMD tensor data attributes.
Definition vx_ext_amd.h:228
vx_array_attribute_amd_e
The AMD array data attributes.
Definition vx_ext_amd.h:248
vx_color_space_amd_e
The image color space list used by the VX_IMAGE_SPACE attribute of a vx_image.
Definition vx_ext_amd.h:300
vx_memory_type_amd_e
An enumeration of additional memory type imports.
Definition vx_ext_amd.h:288
vx_df_image_amd_e
Based on the VX_DF_IMAGE definition.
Definition vx_ext_amd.h:310
VX_API_ENTRY vx_status VX_API_CALL vxSetModuleHandle(vx_node node, const vx_char *module, void *ptr)
Set module handle.
vx_kernel_attribute_amd_e
The AMD kernel attributes list.
Definition vx_ext_amd.h:147
VX_API_ENTRY vx_status VX_API_CALL vxSetContextImageFormatDescription(vx_context context, vx_df_image format, const AgoImageFormatDescription *desc)
Set custom image format description.
VX_API_ENTRY vx_status VX_API_CALL vxGetContextImageFormatDescription(vx_context context, vx_df_image format, AgoImageFormatDescription *desc)
Get custom image format description.
vx_graph_attribute_amd_e
The AMD graph attributes list.
Definition vx_ext_amd.h:166
#define AGO_MAX_PARAMS
AMD internal parameters. [TODO: This needs to be moved to ago_internal.h].
Definition vx_ext_amd.h:56
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.
VX_API_ENTRY vx_status VX_API_CALL vxAliasTensor(vx_tensor tensorMaster, vx_size offset, vx_tensor tensor)
vxAliasTensor.
vx_image_attribute_amd_e
The AMD image attributes list.
Definition vx_ext_amd.h:206
vx_node_attribute_amd_e
The AMD node attributes list.
Definition vx_ext_amd.h:191
vx_directive_amd_e
These enumerations are given to the vxDirective API to enable/disable platform optimizations and/or f...
Definition vx_ext_amd.h:268
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.
VX_API_ENTRY vx_status VX_API_CALL vxGetModuleHandle(vx_node node, const vx_char *module, void **ptr)
Retrieve module handle.
struct AgoNodeMergeRule_t AgoNodeMergeRule
AMD data structure to specify node merge rule.
VX_API_ENTRY vx_bool VX_API_CALL vxIsTensorAliased(vx_tensor tensorMaster, vx_size offset, vx_tensor tensor)
vxIsTensorAliased.
vx_scalar_attribute_amd_e
scalar data attributes.
Definition vx_ext_amd.h:328
vx_context_attribute_amd_e
The AMD context attributes list.
Definition vx_ext_amd.h:126
ago_type_public_e
The type enumeration lists all the AMD specific types in OpenVX.
Definition vx_ext_amd.h:101
VX_API_ENTRY vx_status VX_API_CALL vxGetReferenceName(vx_reference ref, vx_char name[], vx_size size)
Retrieve the name of a reference.
@ VX_TENSOR_BUFFER_HIP
HIP buffer. cl_mem.
Definition vx_ext_amd.h:236
@ VX_TENSOR_OFFSET_GPU
GPU buffer offset. vx_size.
Definition vx_ext_amd.h:232
@ VX_TENSOR_BUFFER_OPENCL
OpenCL buffer. cl_mem.
Definition vx_ext_amd.h:234
@ VX_TENSOR_STRIDE_GPU
GPU buffer strides (array of vx_size).
Definition vx_ext_amd.h:230
@ VX_TENSOR_MEMORY_TYPE
Queries memory type if created using vxCreateTensorFromHandle. If vx_tensor was not created using vxC...
Definition vx_ext_amd.h:239
@ VX_TENSOR_BUFFER_HOST
Sync with user specified host buffer.
Definition vx_ext_amd.h:241
@ VX_ARRAY_OFFSET_GPU
TODO:.
Definition vx_ext_amd.h:256
@ VX_ARRAY_BUFFER
TODO:.
Definition vx_ext_amd.h:254
@ VX_ARRAY_BUFFER_OPENCL
OpenCL buffer. cl_mem.
Definition vx_ext_amd.h:250
@ VX_ARRAY_BUFFER_HIP
HIP buffer. hip_mem.
Definition vx_ext_amd.h:252
@ VX_COLOR_SPACE_BT2020
Use to indicate that the BT.2020 coefficients are used for conversions.
Definition vx_ext_amd.h:302
@ VX_MEMORY_TYPE_OPENCL
The memory type to import from the OpenCL.
Definition vx_ext_amd.h:290
@ VX_MEMORY_TYPE_HIP
The memory type to import from the HIP.
Definition vx_ext_amd.h:292
@ VX_DF_IMAGE_F32_AMD
AMD image with 32-bit floating-point (float).
Definition vx_ext_amd.h:316
@ VX_DF_IMAGE_F32x3_AMD
AMD image with THREE 32-bit floating-point channels in one buffer.
Definition vx_ext_amd.h:320
@ VX_DF_IMAGE_F16_AMD
AMD image with 16-bit floating-point (half).
Definition vx_ext_amd.h:314
@ VX_DF_IMAGE_F64_AMD
AMD image with 64-bit floating-point (double).
Definition vx_ext_amd.h:318
@ VX_DF_IMAGE_U1_AMD
AMD image with 1-bit data.
Definition vx_ext_amd.h:312
@ VX_KERNEL_ATTRIBUTE_AMD_QUERY_TARGET_SUPPORT
Kernel callback for query target support. Use a amd_kernel_query_target_support_f parameter.
Definition vx_ext_amd.h:149
@ VX_KERNEL_ATTRIBUTE_AMD_GPU_BUFFER_ACCESS_ENABLE
Kernel flag to enable OpenCL buffer access (default OFF). Use a vx_bool parameter.
Definition vx_ext_amd.h:157
@ VX_KERNEL_ATTRIBUTE_AMD_GPU_BUFFER_UPDATE_CALLBACK
Kernel callback for GPU buffer update. Use a AgoKernelGpuBufferUpdateInfo parameter.
Definition vx_ext_amd.h:159
@ VX_KERNEL_ATTRIBUTE_AMD_OPENCL_CODEGEN_CALLBACK
Kernel callback for OpenCL code generation. Use a amd_kernel_opencl_codegen_callback_f parameter.
Definition vx_ext_amd.h:151
@ VX_KERNEL_ATTRIBUTE_AMD_NODE_REGEN_CALLBACK
Kernel callback for node regeneration. Use a amd_kernel_node_regen_callback_f parameter.
Definition vx_ext_amd.h:153
@ 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 param...
Definition vx_ext_amd.h:155
@ VX_GRAPH_ATTRIBUTE_AMD_PERFORMANCE_INTERNAL_PROFILE
Graph internal performance profile. Use a char * fileName parameter.
Definition vx_ext_amd.h:180
@ VX_GRAPH_ATTRIBUTE_AMD_CPU_NUM_THREADS
CPU num_threads to be used in RPP. Use a vx_uint32 parameter.
Definition vx_ext_amd.h:184
@ VX_GRAPH_ATTRIBUTE_AMD_EXPORT_TO_TEXT
Export a graph into a text file. Use a AgoGraphExportInfo parameter.
Definition vx_ext_amd.h:172
@ VX_GRAPH_ATTRIBUTE_AMD_OPTIMIZER_FLAGS
Graph optimizer flags. Use a vx_uint32 parameter.
Definition vx_ext_amd.h:174
@ VX_GRAPH_ATTRIBUTE_AMD_PERFORMANCE_INTERNAL_LAST
Graph last performance (internal). Use a AgoGraphPerfInternalInfo parameter.
Definition vx_ext_amd.h:176
@ VX_GRAPH_ATTRIBUTE_AMD_OPENCL_COMMAND_QUEUE
OpenCL command queue. Use a cl_command_queue parameter.
Definition vx_ext_amd.h:182
@ VX_GRAPH_ATTRIBUTE_AMD_PERFORMANCE_INTERNAL_AVG
Graph avg performance (internal). Use a AgoGraphPerfInternalInfo parameter.
Definition vx_ext_amd.h:178
@ VX_GRAPH_ATTRIBUTE_AMD_AFFINITY
Graph affinity. Use a AgoNodeAffinityInfo parameter.
Definition vx_ext_amd.h:168
@ VX_GRAPH_ATTRIBUTE_AMD_IMPORT_FROM_TEXT
Imports a graph from a text file. Use a AgoGraphImportInfo parameter.
Definition vx_ext_amd.h:170
@ VX_IMAGE_ATTRIBUTE_AMD_OPENCL_BUFFER
Sync with user specified OpenCL buffer. Use a cl_mem parameter.
Definition vx_ext_amd.h:208
@ VX_IMAGE_ATTRIBUTE_AMD_HIP_BUFFER
Sync with user specified hip memory.
Definition vx_ext_amd.h:220
@ VX_IMAGE_ATTRIBUTE_AMD_GPU_BUFFER_OFFSET
GPU buffer offset. Use a cl_uint parameter.
Definition vx_ext_amd.h:210
@ 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 ...
Definition vx_ext_amd.h:214
@ VX_IMAGE_ATTRIBUTE_AMD_GPU_BUFFER_STRIDE
GPU buffer stride. Use a cl_uint parameter.
Definition vx_ext_amd.h:216
@ VX_IMAGE_ATTRIBUTE_AMD_HOST_BUFFER
Sync with user specified host buffer. Use a cl_mem parameter.
Definition vx_ext_amd.h:218
@ VX_NODE_ATTRIBUTE_AMD_HIP_STREAM
HIP stream. TBD.
Definition vx_ext_amd.h:197
@ VX_NODE_ATTRIBUTE_AMD_AFFINITY
Node affinity. Use a AgoTargetAffinityInfo parameter.
Definition vx_ext_amd.h:193
@ VX_NODE_ATTRIBUTE_AMD_OPENCL_COMMAND_QUEUE
OpenCL command queue. Use a cl_command_queue parameter.
Definition vx_ext_amd.h:195
@ VX_NODE_ATTRIBUTE_AMD_CPU_NUM_THREADS
TBD.
Definition vx_ext_amd.h:199
@ VX_DIRECTIVE_AMD_COPY_TO_HIPMEM
Data object copy to HIP memory.
Definition vx_ext_amd.h:280
@ VX_DIRECTIVE_AMD_ENABLE_PROFILE_CAPTURE
Enable performance profile capture.
Definition vx_ext_amd.h:274
@ VX_DIRECTIVE_AMD_DISABLE_PROFILE_CAPTURE
Disable performance profile capture.
Definition vx_ext_amd.h:276
@ VX_DIRECTIVE_AMD_COPY_TO_OPENCL
Data object copy to OpenCL.
Definition vx_ext_amd.h:272
@ VX_DIRECTIVE_AMD_DISABLE_GPU_FLUSH
Disable node level flush for a graph.
Definition vx_ext_amd.h:278
@ VX_DIRECTIVE_AMD_READ_ONLY
Data object is readonly after this directive is given.
Definition vx_ext_amd.h:270
@ VX_SCALAR_BUFFER
scalar's buffer
Definition vx_ext_amd.h:330
@ VX_CONTEXT_ATTRIBUTE_AMD_OPENCL_CONTEXT
OpenCL context. Use a cl_context parameter.
Definition vx_ext_amd.h:128
@ VX_CONTEXT_ATTRIBUTE_AMD_HIP_DEVICE
HIP context. Use a cl_context parameter.
Definition vx_ext_amd.h:140
@ VX_CONTEXT_ATTRIBUTE_AMD_SET_MERGE_RULE
Set a merge rule. Use a AgoNodeMergeRule parameter.
Definition vx_ext_amd.h:134
@ VX_CONTEXT_CL_QUEUE_PROPERTIES
CL_QUEUE_PROPERTIES to be used for creating OpenCL command queue. Use a cl_command_queue_properties p...
Definition vx_ext_amd.h:138
@ VX_CONTEXT_ATTRIBUTE_AMD_AFFINITY
Context affinity. Use a AgoTargetAffinityInfo parameter.
Definition vx_ext_amd.h:130
@ VX_CONTEXT_ATTRIBUTE_AMD_SET_TEXT_MACRO
Set a text macro definition. Use a AgoContextMacroInfo parameter.
Definition vx_ext_amd.h:132
@ VX_CONTEXT_MAX_TENSOR_DIMENSIONS
Tensor Data max num of dimensions supported by HW.
Definition vx_ext_amd.h:136
@ AGO_TYPE_MINMAXLOC_DATA
AGO data structure for AGO MinMaxLoc kernels.
Definition vx_ext_amd.h:113
@ VX_TYPE_STRING_AMD
AMD scalar data type for string.
Definition vx_ext_amd.h:104
@ AGO_TYPE_MEANSTDDEV_DATA
AGO data structure for AGO MeanStdDev kernels.
Definition vx_ext_amd.h:110
@ AGO_TYPE_SCALE_MATRIX
AGO data structure for AGO Scale kernels.
Definition vx_ext_amd.h:119
@ AGO_TYPE_KEYPOINT_XYS
AGO struct data type for keypoint XYS.
Definition vx_ext_amd.h:107
@ AGO_TYPE_CANNY_STACK
AGO data structure for AGO Canny kernels.
Definition vx_ext_amd.h:116
AMD data structure to set a text macro.
Definition vx_ext_amd.h:361
AMD data structure to export a graph to a text.
Definition vx_ext_amd.h:387
AMD data structure to import a graph from a text.text: "macro <macro-name>" to use a pre-defined macr...
Definition vx_ext_amd.h:374
AMD data structure to get internal performance data.
Definition vx_ext_amd.h:398
AMD data structure for image format information.
Definition vx_ext_amd.h:337
AMD data structure to specify node merge rule.
Definition vx_ext_amd.h:409
AMD data structure to specify target affinity.
Definition vx_ext_amd.h:350
The top level OpenVX Header.
The Khronos Extension for Deep Convolutional Networks Functions.
struct _vx_context * vx_context
An opaque reference to the implementation context.
Definition vx_types.h:225
struct _vx_reference * vx_reference
A generic opaque reference to any object within OpenVX.
Definition vx_types.h:152
uint32_t vx_uint32
A 32-bit unsigned value.
Definition vx_types.h:89
vx_color_space_e
The image color space list used by the VX_IMAGE_SPACE attribute of a vx_image.
Definition vx_types.h:1344
vx_channel_range_e
The image channel range list used by the VX_IMAGE_RANGE attribute of a vx_image.
Definition vx_types.h:1361
uint32_t vx_df_image
Used to hold a VX_DF_IMAGE code to describe the pixel format and color space.
Definition vx_types.h:169
@ VX_TYPE_VENDOR_STRUCT_START
A vendor-defined struct base index.
Definition vx_types.h:375
@ VX_TYPE_NODE
A vx_node.
Definition vx_types.h:390
@ VX_TYPE_SCALAR
A vx_scalar. Used when a completely generic type is needed for kernel validation.
Definition vx_types.h:400
@ VX_TYPE_TENSOR
A vx_tensor.
Definition vx_types.h:409
@ VX_TYPE_CONTEXT
A vx_context.
Definition vx_types.h:388
@ VX_TYPE_ARRAY
A vx_array.
Definition vx_types.h:401
@ VX_TYPE_VENDOR_OBJECT_START
A vendor-defined object base index.
Definition vx_types.h:377
@ VX_TYPE_KERNEL
A vx_kernel.
Definition vx_types.h:391
@ VX_TYPE_IMAGE
A vx_image.
Definition vx_types.h:402
@ VX_TYPE_GRAPH
A vx_graph.
Definition vx_types.h:389
size_t vx_size
A wrapper of size_t to keep the naming convention uniform.
Definition vx_types.h:164
struct _vx_tensor * vx_tensor
The multidimensional data object (Tensor).
Definition vx_types.h:294
@ VX_ENUM_COLOR_SPACE
Color Space.
Definition vx_types.h:571
@ VX_ENUM_DIRECTIVE
Directive Values.
Definition vx_types.h:568
@ VX_ENUM_MEMORY_TYPE
The memory type enumeration.
Definition vx_types.h:579
vx_enum vx_status
A formal status type with known fixed size.
Definition vx_types.h:453
int32_t vx_enum
Sets the standard enumeration type size to be a fixed quantity.
Definition vx_types.h:159
#define VX_ENUM_BASE(vendor, id)
Defines the manner in which to combine the Vendor and Object IDs to get the base value of the enumera...
Definition vx_types.h:558
struct _vx_graph * vx_graph
An opaque reference to a graph.
Definition vx_types.h:218
struct _vx_node * vx_node
An opaque reference to a kernel node.
Definition vx_types.h:211
int32_t vx_int32
A 32-bit signed value.
Definition vx_types.h:109
char vx_char
An 8-bit ASCII character.
Definition vx_types.h:74
#define VX_ATTRIBUTE_BASE(vendor, object)
Defines the manner in which to combine the Vendor and Object IDs to get the base value of the enumera...
Definition vx_types.h:541
uint64_t vx_uint64
A 64-bit unsigned value.
Definition vx_types.h:94
#define VX_API_CALL
Defines calling convention for OpenVX API.
Definition vx_types.h:60
vx_enum vx_bool
A formal boolean type with known fixed size.
Definition vx_types.h:319
#define VX_DF_IMAGE(a, b, c, d)
Converts a set of four chars into a uint32_t container of a VX_DF_IMAGE code.
Definition vx_types.h:534
#define VX_CALLBACK
Defines calling convention for user callbacks.
Definition vx_types.h:67
@ VX_ID_KHRONOS
The Khronos Group.
Definition vx_vendors.h:34
@ VX_ID_AMD
Advanced Micro Devices.
Definition vx_vendors.h:47