Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
4fba9b3
ui updates for demo and ci for flutter app
amikhail48 Jun 7, 2025
f9682cd
fixes to ui ci yaml
amikhail48 Jun 7, 2025
80600c1
Bump to flutter version
amikhail48 Jun 7, 2025
7b719ae
fix dart formatting
amikhail48 Jun 7, 2025
b3db7d7
Fix dart formatting
amikhail48 Jun 7, 2025
42c6233
fix flutter analyze
amikhail48 Jun 7, 2025
190df4e
More ci fixes
amikhail48 Jun 7, 2025
9af4033
Fix CI error
amikhail48 Jun 7, 2025
1818b1b
Final fix to UI CI
amikhail48 Jun 7, 2025
29add15
Implemented integration test for ai model server
amikhail48 Jun 7, 2025
4191f1b
Fix to CI
amikhail48 Jun 7, 2025
7634d79
Demoed end to end ai server
amikhail48 Jun 13, 2025
ad6107a
Fix build
amikhail48 Jun 13, 2025
df0a86c
Simplifying context construction
amikhail48 Jun 14, 2025
2e290c0
Fixed elusive overflow issue
amikhail48 Jun 14, 2025
e41d91e
Changing debug print format
amikhail48 Jun 15, 2025
f4da666
Adding vxPublish and vxUnPublish to liteRT target
amikhail48 Jun 15, 2025
8630e25
Update type pairs to support strings for tensor and object array objects
amikhail48 Jun 15, 2025
5e08632
Added support for tensor object xml import
amikhail48 Jun 15, 2025
34504da
UI updates for tunable object array attributes and their children
amikhail48 Jun 15, 2025
1491fb9
fix ci
amikhail48 Jun 15, 2025
c12dc6b
Updates to xml export
amikhail48 Jun 15, 2025
19794ad
Adding support for importing object arrays with objects of different …
amikhail48 Jun 15, 2025
ea09088
Dart format update
amikhail48 Jun 15, 2025
8f66e08
Fix CI
amikhail48 Jun 15, 2025
a92ae8b
Fixed error in object array import
amikhail48 Jun 15, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 5 additions & 9 deletions .clang-format
Original file line number Diff line number Diff line change
Expand Up @@ -145,22 +145,18 @@ IfMacros:
- KJ_IF_MAYBE
IncludeBlocks: Regroup
IncludeCategories:
- Regex: '^<ext/.*\.h>'
Priority: 2
SortPriority: 0
CaseSensitive: false
- Regex: '^<.*\.h>'
- Regex: '^<[a-z][a-z0-9]*>'
Priority: 1
SortPriority: 0
CaseSensitive: false
- Regex: '^<.*'
CaseSensitive: true
- Regex: '^<.*>'
Priority: 2
SortPriority: 0
CaseSensitive: false
CaseSensitive: true
- Regex: '.*'
Priority: 3
SortPriority: 0
CaseSensitive: false
CaseSensitive: true
IncludeIsMainRegex: '([-_](test|unittest))?$'
IncludeIsMainSourceRegex: ''
IndentAccessModifiers: true
Expand Down
10 changes: 9 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,12 +27,20 @@ jobs:
restore-keys: |
${{ runner.os }}-bazel-cache-

# Install dependencies (project has additional setup requirements)
# Install dependencies
- name: Install Dependencies
run: |
sudo apt-get update
sudo apt-get install -y libxml2-dev ocl-icd-opencl-dev gdb

- name: Setup model server
run: |
curl -fsSL https://ollama.com/install.sh | sh
ollama serve &
sleep 5
ollama pull llama3:8b
curl -s http://localhost:11434/api/tags || exit 1

# Checks-out your repository under $GITHUB_WORKSPACE, which is the CWD for
# the rest of the steps
- uses: actions/checkout@v4
Expand Down
52 changes: 52 additions & 0 deletions .github/workflows/ui.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
name: UI CI

on:
push:
branches: [ main ]
pull_request:
branches: [ main ]

jobs:
build:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- uses: subosito/flutter-action@v2
with:
flutter-version: '3.29.2'
channel: 'stable'
cache: true

- name: Install dependencies
run: |
cd ui
sudo apt-get update
sudo apt-get install -y lcov libgtk-3-dev libblkid-dev liblzma-dev
flutter pub get

- name: Verify formatting
run: |
cd ui
dart format --set-exit-if-changed .

- name: Analyze project source
run: |
cd ui
flutter analyze

- name: Build linux
run: |
cd ui
flutter build linux

- name: Build web
run: |
cd ui
flutter build web

- name: Run tests with coverage
run: |
cd ui
flutter test --coverage
genhtml coverage/lcov.info -o coverage/html
1 change: 1 addition & 0 deletions BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
cc_shared_library(
name = "openvx",
deps = [":corevx"],
visibility = ["//visibility:public"],
)

# Build library for the main project
Expand Down
5 changes: 3 additions & 2 deletions framework/include/vx_internal.h
Original file line number Diff line number Diff line change
Expand Up @@ -675,7 +675,8 @@ enum vx_ext_target_type_e {
/*! \brief The priority list of targets.
* \ingroup group_int_target
*/
enum vx_target_priority_e {
enum vx_target_priority_e
{
#if defined(EXPERIMENTAL_USE_OPENCL)
/*! \brief Defines the priority of the OpenCL Target */
VX_TARGET_PRIORITY_OPENCL,
Expand All @@ -693,7 +694,7 @@ enum vx_target_priority_e {
/*! \brief Defines the priority of the ORT target */
VX_TARGET_PRIORITY_ORT,
/*! \brief Defines the maximum priority */
VX_TARGET_PRIORITY_MAX,
VX_TARGET_PRIORITY_MAX = 10,
};

/*! \brief Defines the number of targets in the sample implementation.
Expand Down
24 changes: 5 additions & 19 deletions framework/src/vx_context.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -32,11 +32,7 @@ vx_char targetModules[][VX_MAX_TARGET_NAME] = {
#if defined(EXPERIMENTAL_USE_VENUM)
"openvx-venum",
#endif
"openvx-c_model",
"openvx-onnxRT",
"openvx-ai-server",
"openvx-liteRT",
"openvx-torch",
"openvx-c_model", "openvx-onnxRT", "openvx-ai_server", "openvx-liteRT", "openvx-torch",
};

const vx_char extensions[] =
Expand All @@ -63,7 +59,7 @@ static vx_sem_t global_lock;
/*****************************************************************************/
Context::Context()
: Reference(nullptr, VX_TYPE_CONTEXT, nullptr),
p_global_lock(nullptr),
p_global_lock(&global_lock),
reftable(),
num_references(0),
modules(),
Expand Down Expand Up @@ -93,9 +89,9 @@ Context::Context()
queues(),
#endif
imm_border(),
imm_border_policy(),
imm_border_policy(VX_BORDER_POLICY_DEFAULT_TO_UNDEFINED),
next_dynamic_user_kernel_id(0),
next_dynamic_user_library_id(0),
next_dynamic_user_library_id(1),
imm_target_enum(),
imm_target_string(),
#ifdef OPENVX_USE_OPENCL_INTEROP
Expand All @@ -108,6 +104,7 @@ Context::Context()
graph_queue(),
numGraphsQueued(0ul)
{
imm_border.mode = VX_BORDER_UNDEFINED;
}

Context::~Context()
Expand Down Expand Up @@ -758,17 +755,6 @@ VX_API_ENTRY vx_context VX_API_CALL vxCreateContext(void)
if (context)
{
vx_uint32 p = 0u, p2 = 0u, t = 0u, m = 0u;
#ifdef OPENVX_USE_OPENCL_INTEROP
context->opencl_context = nullptr;
context->opencl_command_queue = nullptr;
#endif
context->p_global_lock = &global_lock;
context->imm_border.mode = VX_BORDER_UNDEFINED;
context->imm_border_policy = VX_BORDER_POLICY_DEFAULT_TO_UNDEFINED;
context->next_dynamic_user_kernel_id = 0;
context->next_dynamic_user_library_id = 1;
context->perf_enabled = vx_false_e;

#if !DISABLE_ICD_COMPATIBILITY
context->platform = platform;
#endif
Expand Down
2 changes: 1 addition & 1 deletion framework/src/vx_image.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -367,7 +367,7 @@ vx_bool Image::isSupportedFourcc(vx_df_image code)
case VX_DF_IMAGE_VIRT:
return vx_true_e;
default:
VX_PRINT(VX_ZONE_ERROR, "Format 0x%08x is not supported\n", code);
VX_PRINT(VX_ZONE_ERROR, "Format %d is not supported\n", code);
if (code != 0) DEBUG_BREAK();
return vx_false_e;
}
Expand Down
4 changes: 4 additions & 0 deletions framework/src/vx_reference.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,10 @@ vx_bool Reference::isValidReference(vx_reference ref)
{
VX_PRINT(VX_ZONE_ERROR, "%p has already been released and garbage collected!\n", ref);
}
else if ((Context::isValidType(ref->type) == vx_false_e))
{
VX_PRINT(VX_ZONE_ERROR, "%p is not a valid typw!\n", ref);
}
else if (ref->type != VX_TYPE_CONTEXT)
{
printReference(ref);
Expand Down
64 changes: 33 additions & 31 deletions framework/src/vx_type_pairs.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -19,41 +19,43 @@
#include "vx_type_pairs.h"

const vx_enum_string_t type_pairs[] = {
{VX_STRINGERIZE(VX_TYPE_INVALID),0},
{VX_STRINGERIZE(VX_TYPE_INVALID), 0},
/* scalar objects */
{VX_STRINGERIZE(VX_TYPE_CHAR),sizeof(vx_char)*2},
{VX_STRINGERIZE(VX_TYPE_UINT8),sizeof(vx_uint8)*2},
{VX_STRINGERIZE(VX_TYPE_UINT16),sizeof(vx_uint16)*2},
{VX_STRINGERIZE(VX_TYPE_UINT32),sizeof(vx_uint32)*2},
{VX_STRINGERIZE(VX_TYPE_UINT64),sizeof(vx_uint64)*2},
{VX_STRINGERIZE(VX_TYPE_INT8),sizeof(vx_int8)*2},
{VX_STRINGERIZE(VX_TYPE_INT16),sizeof(vx_int16)*2},
{VX_STRINGERIZE(VX_TYPE_INT32),sizeof(vx_int32)*2},
{VX_STRINGERIZE(VX_TYPE_INT64),sizeof(vx_int64)*2},
{VX_STRINGERIZE(VX_TYPE_FLOAT32),sizeof(vx_float32)*2},
{VX_STRINGERIZE(VX_TYPE_FLOAT64),sizeof(vx_float64)*2},
{VX_STRINGERIZE(VX_TYPE_SIZE),sizeof(vx_size)*2},
{VX_STRINGERIZE(VX_TYPE_DF_IMAGE),sizeof(vx_df_image)*2},
{VX_STRINGERIZE(VX_TYPE_BOOL),sizeof(vx_bool)*2},
{VX_STRINGERIZE(VX_TYPE_ENUM),sizeof(vx_enum)*2},
{VX_STRINGERIZE(VX_TYPE_CHAR), sizeof(vx_char) * 2},
{VX_STRINGERIZE(VX_TYPE_UINT8), sizeof(vx_uint8) * 2},
{VX_STRINGERIZE(VX_TYPE_UINT16), sizeof(vx_uint16) * 2},
{VX_STRINGERIZE(VX_TYPE_UINT32), sizeof(vx_uint32) * 2},
{VX_STRINGERIZE(VX_TYPE_UINT64), sizeof(vx_uint64) * 2},
{VX_STRINGERIZE(VX_TYPE_INT8), sizeof(vx_int8) * 2},
{VX_STRINGERIZE(VX_TYPE_INT16), sizeof(vx_int16) * 2},
{VX_STRINGERIZE(VX_TYPE_INT32), sizeof(vx_int32) * 2},
{VX_STRINGERIZE(VX_TYPE_INT64), sizeof(vx_int64) * 2},
{VX_STRINGERIZE(VX_TYPE_FLOAT32), sizeof(vx_float32) * 2},
{VX_STRINGERIZE(VX_TYPE_FLOAT64), sizeof(vx_float64) * 2},
{VX_STRINGERIZE(VX_TYPE_SIZE), sizeof(vx_size) * 2},
{VX_STRINGERIZE(VX_TYPE_DF_IMAGE), sizeof(vx_df_image) * 2},
{VX_STRINGERIZE(VX_TYPE_BOOL), sizeof(vx_bool) * 2},
{VX_STRINGERIZE(VX_TYPE_ENUM), sizeof(vx_enum) * 2},
/* struct objects */
{VX_STRINGERIZE(VX_TYPE_COORDINATES2D),sizeof(vx_coordinates2d_t)*2},
{VX_STRINGERIZE(VX_TYPE_COORDINATES3D),sizeof(vx_coordinates3d_t)*2},
{VX_STRINGERIZE(VX_TYPE_RECTANGLE),sizeof(vx_rectangle_t)*2},
{VX_STRINGERIZE(VX_TYPE_KEYPOINT),sizeof(vx_keypoint_t)*2},
{VX_STRINGERIZE(VX_TYPE_COORDINATES2D), sizeof(vx_coordinates2d_t) * 2},
{VX_STRINGERIZE(VX_TYPE_COORDINATES3D), sizeof(vx_coordinates3d_t) * 2},
{VX_STRINGERIZE(VX_TYPE_RECTANGLE), sizeof(vx_rectangle_t) * 2},
{VX_STRINGERIZE(VX_TYPE_KEYPOINT), sizeof(vx_keypoint_t) * 2},
/* data objects */
{VX_STRINGERIZE(VX_TYPE_ARRAY),0},
{VX_STRINGERIZE(VX_TYPE_DISTRIBUTION),0},
{VX_STRINGERIZE(VX_TYPE_LUT),0},
{VX_STRINGERIZE(VX_TYPE_IMAGE),0},
{VX_STRINGERIZE(VX_TYPE_CONVOLUTION),0},
{VX_STRINGERIZE(VX_TYPE_THRESHOLD),0},
{VX_STRINGERIZE(VX_TYPE_MATRIX),0},
{VX_STRINGERIZE(VX_TYPE_SCALAR),0},
{VX_STRINGERIZE(VX_TYPE_PYRAMID),0},
{VX_STRINGERIZE(VX_TYPE_REMAP),0},
{VX_STRINGERIZE(VX_TYPE_ARRAY), 0},
{VX_STRINGERIZE(VX_TYPE_DISTRIBUTION), 0},
{VX_STRINGERIZE(VX_TYPE_LUT), 0},
{VX_STRINGERIZE(VX_TYPE_IMAGE), 0},
{VX_STRINGERIZE(VX_TYPE_CONVOLUTION), 0},
{VX_STRINGERIZE(VX_TYPE_THRESHOLD), 0},
{VX_STRINGERIZE(VX_TYPE_TENSOR), 0},
{VX_STRINGERIZE(VX_TYPE_MATRIX), 0},
{VX_STRINGERIZE(VX_TYPE_OBJECT_ARRAY), 0},
{VX_STRINGERIZE(VX_TYPE_SCALAR), 0},
{VX_STRINGERIZE(VX_TYPE_PYRAMID), 0},
{VX_STRINGERIZE(VX_TYPE_REMAP), 0},
#ifdef OPENVX_KHR_XML
{VX_STRINGERIZE(VX_TYPE_IMPORT),0},
{VX_STRINGERIZE(VX_TYPE_IMPORT), 0},
#endif
};

Expand Down
Loading