[wpt-sync] Sync PR 50064 - WebNN: Support notEqual operator
Categories
(Testing :: web-platform-tests, task, P4)
Tracking
(firefox136 fixed)
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
Assignee | ||
Comment 1•1 month ago
|
||
Assignee | ||
Comment 2•1 month ago
|
||
Assignee | ||
Comment 3•1 month ago
|
||
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
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
)
- assert_implements(navigator.ml, 'missing navigator.ml'):
- /webnn/conformance_tests/not_equal.https.any.html?gpu [wpt.fyi]
- assert_implements(navigator.ml, 'missing navigator.ml'):
FAIL
(Safari:FAIL
)
- assert_implements(navigator.ml, 'missing navigator.ml'):
- /webnn/conformance_tests/not_equal.https.any.worker.html?cpu [wpt.fyi]
- assert_implements(navigator.ml, 'missing navigator.ml'):
FAIL
(Safari:FAIL
)
- assert_implements(navigator.ml, 'missing navigator.ml'):
- /webnn/conformance_tests/not_equal.https.any.worker.html?gpu [wpt.fyi]
- assert_implements(navigator.ml, 'missing navigator.ml'):
FAIL
(Safari:FAIL
)
- assert_implements(navigator.ml, 'missing navigator.ml'):
- /webnn/conformance_tests/not_equal.https.any.html?npu [wpt.fyi]
- assert_implements(navigator.ml, 'missing navigator.ml'):
FAIL
(Safari:FAIL
)
- assert_implements(navigator.ml, 'missing navigator.ml'):
- /webnn/conformance_tests/not_equal.https.any.html?cpu [wpt.fyi]
- assert_implements(navigator.ml, 'missing navigator.ml'):
FAIL
(Safari:FAIL
)
- assert_implements(navigator.ml, 'missing navigator.ml'):
- /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
)
- assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator"):
- /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
)
- assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator"):
- /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
)
- assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator"):
- /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
)
- assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator"):
- /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
)
- assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator"):
- /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
)
- assert_not_equals(navigator.ml, undefined, "ml property is defined on navigator"):
Comment 5•1 month ago
|
||
bugherder |
Description
•