@@ -556,20 +556,14 @@ jobs:
556556 export VX_TEST_DATA_PATH=${{ github.workspace }}/OpenVX-cts/test_data/
557557 timeout 300 ./bin/vx_test_conformance --filter="GaussianPyramid.*:LaplacianPyramid.*:LaplacianReconstruct.*:OptFlowPyrLK.*"
558558
559- # Enhanced Vision Phase 1 — only the kernels rustVX has actually
560- # implemented from the OpenVX 1.3 Enhanced Vision feature set. The CTS
561- # binary is built with `OPENVX_USE_ENHANCED_VISION=ON`, but this job
562- # filters strictly to the kernels Phase 1 ships (vxMin / vxMax). The
563- # remaining Enhanced Vision symbols are exposed as link stubs in
564- # rustVX so the binary can build; they are not exercised here and will
565- # be replaced by real kernels in subsequent phases.
566- # Enhanced Vision — kernels implemented on this branch.
567- #
568- # PR #36 (hog-kernels): Copy, NonMaxSuppression, HoughLinesP,
569- # MatchTemplate, LBP, HOGCells, HOGFeatures, plus baseline Min/Max.
570- # BilateralFilter is tested in its own job below.
571- enhanced-vision :
572- name : " enhanced-vision (HOG branch)"
559+ # Enhanced Vision — 6 functional groups, each run as a separate CI job.
560+ # This makes the dashboard granular and pinpoints regressions to a
561+ # specific kernel category without re-running the entire Enhanced Vision
562+ # suite.
563+
564+ # Tensor Arithmetic — 222 tests (TensorOp 214 + Min 4 + Max 4)
565+ enhanced-vision-tensor-arithmetic :
566+ name : " Enhanced-Vision: Tensor Arithmetic"
573567 runs-on : ubuntu-22.04
574568 needs : build
575569 steps :
@@ -580,18 +574,17 @@ jobs:
580574 uses : actions/download-artifact@v4
581575 with :
582576 name : build-artifacts
583- - name : Run Enhanced Vision tests
577+ - name : Run Tensor Arithmetic tests
584578 run : |
585579 chmod +x OpenVX-cts/build/bin/vx_test_conformance
586580 cd OpenVX-cts/build
587581 export LD_LIBRARY_PATH=${{ github.workspace }}/target/release
588582 export VX_TEST_DATA_PATH=${{ github.workspace }}/OpenVX-cts/test_data/
589- timeout 300 ./bin/vx_test_conformance --filter="Copy.*:Nonmaxsuppression.*:Houghlinesp.*:MatchTemplate.*:LBP.*:HogCells.*:HogFeatures .*:Min.*:Max.*"
583+ timeout 600 ./bin/vx_test_conformance --filter="TensorOp .*:Min.*:Max.*"
590584
591- # BilateralFilter — 361 tests, separated from enhanced-vision to avoid
592- # any state leakage with other enhanced-vision kernels.
593- bilateral-filter :
594- name : " bilateral-filter"
585+ # Tensor Transforms — 18 tests (Tensor 12 + TensorEnhanced 6)
586+ enhanced-vision-tensor-transforms :
587+ name : " Enhanced-Vision: Tensor Transforms"
595588 runs-on : ubuntu-22.04
596589 needs : build
597590 steps :
@@ -602,20 +595,17 @@ jobs:
602595 uses : actions/download-artifact@v4
603596 with :
604597 name : build-artifacts
605- - name : Run BilateralFilter tests
598+ - name : Run Tensor Transforms tests
606599 run : |
607600 chmod +x OpenVX-cts/build/bin/vx_test_conformance
608601 cd OpenVX-cts/build
609602 export LD_LIBRARY_PATH=${{ github.workspace }}/target/release
610603 export VX_TEST_DATA_PATH=${{ github.workspace }}/OpenVX-cts/test_data/
611- timeout 300 ./bin/vx_test_conformance --filter="BilateralFilter .*"
604+ timeout 300 ./bin/vx_test_conformance --filter="Tensor*.*:-TensorOp .*"
612605
613- # ControlFlow — 186 tests (SelectNode 11 + ScalarOperationNode 175).
614- # Runs SelectNode/0-6,9 (8 passing type variants) and all ScalarOperationNode
615- # tests. PYRAMID/THRESHOLD/REMAP variants (3 tests) are excluded due to
616- # pre-existing object-specific crashes unrelated to control flow logic.
617- controlflow :
618- name : " controlflow"
606+ # Feature Extraction — 44 tests (HOGCells 11 + HOGFeatures 11 + MatchTemplate 11 + LBP 11)
607+ enhanced-vision-feature-extraction :
608+ name : " Enhanced-Vision: Feature Extraction"
619609 runs-on : ubuntu-22.04
620610 needs : build
621611 steps :
@@ -626,25 +616,38 @@ jobs:
626616 uses : actions/download-artifact@v4
627617 with :
628618 name : build-artifacts
629- - name : Run ControlFlow SelectNode tests
619+ - name : Run Feature Extraction tests
630620 run : |
631621 chmod +x OpenVX-cts/build/bin/vx_test_conformance
632622 cd OpenVX-cts/build
633623 export LD_LIBRARY_PATH=${{ github.workspace }}/target/release
634624 export VX_TEST_DATA_PATH=${{ github.workspace }}/OpenVX-cts/test_data/
635- timeout 120 ./bin/vx_test_conformance --filter="ControlFlow.SelectNode*"
636- - name : Run ControlFlow ScalarOperationNode tests
625+ timeout 300 ./bin/vx_test_conformance --filter="HogCells.*:HogFeatures.*:MatchTemplate.*:LBP.*"
626+
627+ # Post-Processing — 84 tests (Copy 36 + NonMaxSuppression 33 + HoughLinesP 15)
628+ enhanced-vision-post-processing :
629+ name : " Enhanced-Vision: Post-Processing"
630+ runs-on : ubuntu-22.04
631+ needs : build
632+ steps :
633+ - uses : actions/checkout@v4
634+ with :
635+ submodules : recursive
636+ - name : Download build artifacts
637+ uses : actions/download-artifact@v4
638+ with :
639+ name : build-artifacts
640+ - name : Run Post-Processing tests
637641 run : |
638642 chmod +x OpenVX-cts/build/bin/vx_test_conformance
639643 cd OpenVX-cts/build
640644 export LD_LIBRARY_PATH=${{ github.workspace }}/target/release
641645 export VX_TEST_DATA_PATH=${{ github.workspace }}/OpenVX-cts/test_data/
642- timeout 300 ./bin/vx_test_conformance --filter="ControlFlow.ScalarOperationNode *"
646+ timeout 300 ./bin/vx_test_conformance --filter="Copy.*:Nonmaxsuppression.*:Houghlinesp. *"
643647
644- # Tensor ops — 226 tests (Tensor 12 + TensorOp 214), separated to keep
645- # each CI job focused and avoid state leakage with other categories.
646- tensor-ops :
647- name : " tensor-ops"
648+ # Advanced Filtering — 361 tests (BilateralFilter only)
649+ enhanced-vision-advanced-filtering :
650+ name : " Enhanced-Vision: Advanced Filtering"
648651 runs-on : ubuntu-22.04
649652 needs : build
650653 steps :
@@ -655,20 +658,35 @@ jobs:
655658 uses : actions/download-artifact@v4
656659 with :
657660 name : build-artifacts
658- - name : Run Tensor tests
661+ - name : Run BilateralFilter tests
659662 run : |
660663 chmod +x OpenVX-cts/build/bin/vx_test_conformance
661664 cd OpenVX-cts/build
662665 export LD_LIBRARY_PATH=${{ github.workspace }}/target/release
663666 export VX_TEST_DATA_PATH=${{ github.workspace }}/OpenVX-cts/test_data/
664- timeout 300 ./bin/vx_test_conformance --filter="Tensor.*"
665- - name : Run TensorOp tests
667+ timeout 300 ./bin/vx_test_conformance --filter="BilateralFilter.*"
668+
669+ # Control Flow — 186 tests (SelectNode 11 + ScalarOperationNode 175)
670+ enhanced-vision-control-flow :
671+ name : " Enhanced-Vision: Control Flow"
672+ runs-on : ubuntu-22.04
673+ needs : build
674+ steps :
675+ - uses : actions/checkout@v4
676+ with :
677+ submodules : recursive
678+ - name : Download build artifacts
679+ uses : actions/download-artifact@v4
680+ with :
681+ name : build-artifacts
682+ - name : Run Control Flow tests
666683 run : |
667684 chmod +x OpenVX-cts/build/bin/vx_test_conformance
668685 cd OpenVX-cts/build
669686 export LD_LIBRARY_PATH=${{ github.workspace }}/target/release
670687 export VX_TEST_DATA_PATH=${{ github.workspace }}/OpenVX-cts/test_data/
671- timeout 600 ./bin/vx_test_conformance --filter="TensorOp.*"
688+ timeout 120 ./bin/vx_test_conformance --filter="ControlFlow.SelectNode*"
689+ timeout 300 ./bin/vx_test_conformance --filter="ControlFlow.ScalarOperationNode*"
672690
673691 # Performance benchmark using openvx-mark, comparing rustVX against the
674692 # Khronos OpenVX sample implementation on the SAME runner so the two
@@ -696,6 +714,12 @@ jobs:
696714 - vision-features
697715 - vision-statistics
698716 - vision-pyramid
717+ - enhanced-vision-tensor-arithmetic
718+ - enhanced-vision-tensor-transforms
719+ - enhanced-vision-feature-extraction
720+ - enhanced-vision-post-processing
721+ - enhanced-vision-advanced-filtering
722+ - enhanced-vision-control-flow
699723 continue-on-error : true
700724 steps :
701725 - name : Install system dependencies
0 commit comments