Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
13 changes: 10 additions & 3 deletions .github/workflows/conformance.yml
Original file line number Diff line number Diff line change
Expand Up @@ -561,8 +561,15 @@ jobs:
# remaining Enhanced Vision symbols are exposed as link stubs in
# rustVX so the binary can build; they are not exercised here and will
# be replaced by real kernels in subsequent phases.
# Enhanced Vision — all implemented kernels.
#
# Currently covers: Copy, NonMaxSuppression, HoughLinesP,
# MatchTemplate, LBP, plus the baseline Min/Max.
#
# All 106 Enhanced Vision tests pass (36 Copy + 33 NMS + 15 HoughLinesP
# + 11 MatchTemplate + 11 LBP + Min/Max).
enhanced-vision:
name: "enhanced-vision (Phase 1 — Min/Max)"
name: "enhanced-vision (106/106 passing)"
runs-on: ubuntu-22.04
needs: build
steps:
Expand All @@ -573,13 +580,13 @@ jobs:
uses: actions/download-artifact@v4
with:
name: build-artifacts
- name: Run Enhanced Vision Phase 1 tests
- name: Run Enhanced Vision tests
run: |
chmod +x OpenVX-cts/build/bin/vx_test_conformance
cd OpenVX-cts/build
export LD_LIBRARY_PATH=${{ github.workspace }}/target/release
export VX_TEST_DATA_PATH=${{ github.workspace }}/OpenVX-cts/test_data/
timeout 120 ./bin/vx_test_conformance --filter="Min.*:Max.*"
timeout 300 ./bin/vx_test_conformance --filter="Copy.*:Nonmaxsuppression.*:Houghlinesp.*:MatchTemplate.*:LBP.*:Min.*:Max.*"

# Performance benchmark using openvx-mark, comparing rustVX against the
# Khronos OpenVX sample implementation on the SAME runner so the two
Expand Down
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,10 @@ rustVX passes the full [Khronos OpenVX 1.3 Conformance Test Suite](https://githu
|---------|----------------|---------|
| OpenVX baseline | 863 | **863 / 863** |
| Vision conformance profile | 4957 | **4957 / 4957** |
| Enhanced Vision (`vxMin`, `vxMax`) | 8 | **8 / 8** |
| **Total enabled** | **5828** | **5828 / 5828** |
| Enhanced Vision (Phase 2) | 106 | **106 / 106** |
| **Total enabled** | **5926** | **5926 / 5926** |

The remaining Enhanced Vision kernels (`Copy`, `Houghlinesp`, `BilateralFilter`, `NonMaxSuppression`, `MatchTemplate`, `LBP`, `HogCells`, `HogFeatures`, `ControlFlow`/`Select`, `Tensor*`) are tracked as follow-up phases; rustVX currently exposes them as link-only stubs so the CTS binary can be built with `-DOPENVX_USE_ENHANCED_VISION=ON`. The Phase-1 CI job filters strictly to `Min.*:Max.*`.
The remaining Enhanced Vision kernels (`BilateralFilter`, `TensorOp`, `HOGCells`, `HOGFeatures`, `ControlFlow`/`Select`, `ScalarOperation`) are tracked as follow-up phases. All implemented Enhanced Vision kernels are exercised in CI with `-DOPENVX_USE_ENHANCED_VISION=ON`.

Latest CTS run results are published on each push and pull request via the [Actions tab](https://github.com/kiritigowda/rustVX/actions).

Expand Down Expand Up @@ -254,7 +254,7 @@ GitHub Actions builds and runs the full CTS on every push and pull request. The
| **vision-features** | HarrisCorners, FastCorners, Canny | [![vision-features](https://img.shields.io/github/check-runs/kiritigowda/rustVX/main?nameFilter=vision-features&label=)](https://github.com/kiritigowda/rustVX/actions/workflows/conformance.yml?query=branch%3Amain) |
| **vision-statistics** | MeanStdDev, MinMaxLoc, Integral | [![vision-statistics](https://img.shields.io/github/check-runs/kiritigowda/rustVX/main?nameFilter=vision-statistics&label=)](https://github.com/kiritigowda/rustVX/actions/workflows/conformance.yml?query=branch%3Amain) |
| **vision-pyramid** | GaussianPyramid, LaplacianPyramid, LaplacianReconstruct, OptFlowPyrLK | [![vision-pyramid](https://img.shields.io/github/check-runs/kiritigowda/rustVX/main?nameFilter=vision-pyramid&label=)](https://github.com/kiritigowda/rustVX/actions/workflows/conformance.yml?query=branch%3Amain) |
| **enhanced-vision** (Phase 1) | Min, Max (Enhanced Vision feature set) | [![enhanced-vision](https://img.shields.io/github/check-runs/kiritigowda/rustVX/main?nameFilter=enhanced-vision&label=)](https://github.com/kiritigowda/rustVX/actions/workflows/conformance.yml?query=branch%3Amain) |
| **enhanced-vision** | Copy, NonMaxSuppression, HoughLinesP, MatchTemplate, LBP, Min, Max (106 tests) | [![enhanced-vision](https://img.shields.io/github/check-runs/kiritigowda/rustVX/main?nameFilter=enhanced-vision&label=)](https://github.com/kiritigowda/rustVX/actions/workflows/conformance.yml?query=branch%3Amain) |

See the [Actions tab](https://github.com/kiritigowda/rustVX/actions) for full run history.

Expand Down
6 changes: 6 additions & 0 deletions openvx-core/src/c_api.rs
Original file line number Diff line number Diff line change
Expand Up @@ -353,6 +353,12 @@ fn register_standard_kernels(context_id: u32) {
("org.khronos.openvx.laplacian_pyramid", 0x2A, 3),
("org.khronos.openvx.laplacian_reconstruct", 0x2B, 3),
("org.khronos.openvx.non_linear_filter", 0x2C, 4),
// Enhanced Vision kernels
("org.khronos.openvx.copy", 0x35, 3),
("org.khronos.openvx.non_max_suppression", 0x36, 4),
("org.khronos.openvx.hough_lines_p", 0x34, 8),
("org.khronos.openvx.match_template", 0x2D, 4),
("org.khronos.openvx.lbp", 0x2E, 4),
// OpenVX 1.0.2 addition
("org.khronos.openvx.weighted_average", 0x40, 4),
// OpenVX 1.1 extensions
Expand Down
Loading
Loading