Closed Bug 1941461 Opened 1 month ago Closed 1 month ago

[wpt-sync] Sync PR 50064 - WebNN: Support notEqual operator

Categories

(Testing :: web-platform-tests, task, P4)

task

Tracking

(firefox136 fixed)

RESOLVED FIXED
136 Branch
Tracking Status
firefox136 --- fixed

People

(Reporter: wpt-sync, Unassigned)

References

()

Details

(Whiteboard: [wptsync downstream])

Sync web-platform-tests PR 50064 into mozilla-central (this bug is closed when the sync is complete).

PR: https://github.com/web-platform-tests/wpt/pull/50064
Details from upstream follow.

Miao Bin <bin.miao@intel.com> wrote:

WebNN: Support notEqual operator

This CL adds IDL and mojo definition of notEqual operator according to
the spec issue [1] and implements it on DirectML, CoreML and TFLite
backends.

This CL also fixes the implementation of element-wise binary in the
TFLite backend, where we missed to convert the output of some logical
operators (such as equal, greater and lesser etc.) from bool to uint8.

[1] https://github.com/webmachinelearning/webnn/issues/375

Bug: 382526991,382527250,382526992
Change-Id: I1c782b030cf80e330f99fc0e6e7649d98c0a33d4
Cq-Include-Trybots: luci.chromium.try:win11-blink-rel, mac14.arm64-blink-rel, mac15.arm64-blink-rel, linux-blink-rel
Reviewed-on: https://chromium-review.googlesource.com/6086505
WPT-Export-Revision: e4e9418c3b88319a80c31ab8afb9767995a700e6

CI Results

Ran 0 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI

Total 12 tests and 38 subtests

Status Summary

Firefox

OK : 12
FAIL: 126

Chrome

OK : 12
PASS: 204
FAIL: 96

Safari

OK : 12
FAIL: 126

Links

GitHub PR Head
GitHub PR Base

Details

New Tests That Don't Pass

  • /webnn/conformance_tests/not_equal.https.any.worker.html?npu [wpt.fyi]
    • assert_implements(navigator.ml, 'missing navigator.ml'): FAIL (Safari: FAIL)
  • /webnn/conformance_tests/not_equal.https.any.html?gpu [wpt.fyi]
    • assert_implements(navigator.ml, 'missing navigator.ml'): FAIL (Safari: FAIL)
  • /webnn/conformance_tests/not_equal.https.any.worker.html?cpu [wpt.fyi]
    • assert_implements(navigator.ml, 'missing navigator.ml'): FAIL (Safari: FAIL)
  • /webnn/conformance_tests/not_equal.https.any.worker.html?gpu [wpt.fyi]
    • assert_implements(navigator.ml, 'missing navigator.ml'): FAIL (Safari: FAIL)
  • /webnn/conformance_tests/not_equal.https.any.html?npu [wpt.fyi]
    • assert_implements(navigator.ml, 'missing navigator.ml'): FAIL (Safari: FAIL)
  • /webnn/conformance_tests/not_equal.https.any.html?cpu [wpt.fyi]
    • assert_implements(navigator.ml, 'missing navigator.ml'): FAIL (Safari: FAIL)
  • /webnn/validation_tests/elementwise-logical.https.any.worker.html?gpu [wpt.fyi]
    • assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator"): FAIL (Chrome: PASS, Safari: FAIL)
    • [equal] throw if first input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [equal] throw if second input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [greater] throw if first input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [greater] throw if second input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [greaterOrEqual] throw if first input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [greaterOrEqual] throw if second input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [lesser] throw if first input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [lesser] throw if second input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [lesserOrEqual] throw if first input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [lesserOrEqual] throw if second input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [notEqual] throw if first input is from another builder: FAIL (Chrome: FAIL, Safari: FAIL)
    • [notEqual] throw if second input is from another builder: FAIL (Chrome: FAIL, Safari: FAIL)
    • [logicalAnd] throw if first input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [logicalAnd] throw if second input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [logicalOr] throw if first input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [logicalOr] throw if second input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [logicalXor] throw if first input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [logicalXor] throw if second input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [logicalNot] throw if input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
  • /webnn/validation_tests/elementwise-logical.https.any.html?gpu [wpt.fyi]
    • assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator"): FAIL (Chrome: PASS, Safari: FAIL)
    • [equal] throw if first input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [equal] throw if second input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [greater] throw if first input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [greater] throw if second input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [greaterOrEqual] throw if first input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [greaterOrEqual] throw if second input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [lesser] throw if first input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [lesser] throw if second input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [lesserOrEqual] throw if first input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [lesserOrEqual] throw if second input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [notEqual] throw if first input is from another builder: FAIL (Chrome: FAIL, Safari: FAIL)
    • [notEqual] throw if second input is from another builder: FAIL (Chrome: FAIL, Safari: FAIL)
    • [logicalAnd] throw if first input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [logicalAnd] throw if second input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [logicalOr] throw if first input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [logicalOr] throw if second input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [logicalXor] throw if first input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [logicalXor] throw if second input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [logicalNot] throw if input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
  • /webnn/validation_tests/elementwise-logical.https.any.worker.html?cpu [wpt.fyi]
    • assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator"): FAIL (Chrome: PASS, Safari: FAIL)
    • [equal] throw if first input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [equal] throw if second input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [greater] throw if first input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [greater] throw if second input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [greaterOrEqual] throw if first input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [greaterOrEqual] throw if second input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [lesser] throw if first input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [lesser] throw if second input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [lesserOrEqual] throw if first input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [lesserOrEqual] throw if second input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [notEqual] throw if first input is from another builder: FAIL (Chrome: FAIL, Safari: FAIL)
    • [notEqual] throw if second input is from another builder: FAIL (Chrome: FAIL, Safari: FAIL)
    • [logicalAnd] throw if first input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [logicalAnd] throw if second input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [logicalOr] throw if first input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [logicalOr] throw if second input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [logicalXor] throw if first input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [logicalXor] throw if second input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [logicalNot] throw if input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
  • /webnn/validation_tests/elementwise-logical.https.any.html?cpu [wpt.fyi]
    • assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator"): FAIL (Chrome: PASS, Safari: FAIL)
    • [equal] throw if first input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [equal] throw if second input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [greater] throw if first input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [greater] throw if second input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [greaterOrEqual] throw if first input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [greaterOrEqual] throw if second input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [lesser] throw if first input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [lesser] throw if second input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [lesserOrEqual] throw if first input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [lesserOrEqual] throw if second input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [notEqual] throw if first input is from another builder: FAIL (Chrome: FAIL, Safari: FAIL)
    • [notEqual] throw if second input is from another builder: FAIL (Chrome: FAIL, Safari: FAIL)
    • [logicalAnd] throw if first input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [logicalAnd] throw if second input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [logicalOr] throw if first input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [logicalOr] throw if second input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [logicalXor] throw if first input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [logicalXor] throw if second input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [logicalNot] throw if input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
  • /webnn/validation_tests/elementwise-logical.https.any.html?npu [wpt.fyi]
    • assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator"): FAIL (Chrome: PASS, Safari: FAIL)
    • [equal] throw if first input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [equal] throw if second input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [greater] throw if first input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [greater] throw if second input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [greaterOrEqual] throw if first input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [greaterOrEqual] throw if second input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [lesser] throw if first input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [lesser] throw if second input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [lesserOrEqual] throw if first input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [lesserOrEqual] throw if second input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [notEqual] throw if first input is from another builder: FAIL (Chrome: FAIL, Safari: FAIL)
    • [notEqual] throw if second input is from another builder: FAIL (Chrome: FAIL, Safari: FAIL)
    • [logicalAnd] throw if first input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [logicalAnd] throw if second input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [logicalOr] throw if first input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [logicalOr] throw if second input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [logicalXor] throw if first input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [logicalXor] throw if second input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [logicalNot] throw if input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
  • /webnn/validation_tests/elementwise-logical.https.any.worker.html?npu [wpt.fyi]
    • assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator"): FAIL (Chrome: PASS, Safari: FAIL)
    • [equal] throw if first input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [equal] throw if second input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [greater] throw if first input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [greater] throw if second input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [greaterOrEqual] throw if first input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [greaterOrEqual] throw if second input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [lesser] throw if first input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [lesser] throw if second input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [lesserOrEqual] throw if first input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [lesserOrEqual] throw if second input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [notEqual] throw if first input is from another builder: FAIL (Chrome: FAIL, Safari: FAIL)
    • [notEqual] throw if second input is from another builder: FAIL (Chrome: FAIL, Safari: FAIL)
    • [logicalAnd] throw if first input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [logicalAnd] throw if second input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [logicalOr] throw if first input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [logicalOr] throw if second input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [logicalXor] throw if first input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [logicalXor] throw if second input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
    • [logicalNot] throw if input is from another builder: FAIL (Chrome: PASS, Safari: FAIL)
Pushed by wptsync@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/1a6cdcfea1e3 [wpt PR 50064] - WebNN: Support notEqual operator, a=testonly
Status: NEW → RESOLVED
Closed: 1 month ago
Resolution: --- → FIXED
Target Milestone: --- → 136 Branch
You need to log in before you can comment on or make changes to this bug.