@@ -51,24 +51,37 @@ interface MLContext {
5151
5252dictionary MLOpSupportLimits {
5353 MLInputOperandLayout preferredInputLayout;
54- MLSupportLimits input;
55- MLSupportLimits constant;
56- MLSupportLimits output;
54+ [EnforceRange] unsigned long long maxTensorByteLength;
55+ MLDataTypeLimits input;
56+ MLDataTypeLimits constant;
57+ MLDataTypeLimits output;
5758};
5859
59- dictionary MLSupportLimits {
60- sequence<MLOperandDataType> dataTypes;
60+ typedef sequence<MLOperandDataType> MLDataTypeList;
61+
62+ dictionary MLDataTypeLimits {
63+ MLDataTypeList dataTypes;
64+ };
65+
66+ dictionary MLRankRange {
67+ unsigned long min;
68+ unsigned long max;
69+ };
70+
71+ dictionary MLTensorLimits {
72+ MLDataTypeList dataTypes;
73+ MLRankRange rankRange;
6174};
6275
6376dictionary MLBinarySupportLimits {
64- MLSupportLimits a;
65- MLSupportLimits b;
66- MLSupportLimits output;
77+ MLTensorLimits a;
78+ MLTensorLimits b;
79+ MLDataTypeLimits output;
6780};
6881
6982dictionary MLSingleInputSupportLimits {
70- MLSupportLimits input;
71- MLSupportLimits output;
83+ MLTensorLimits input;
84+ MLDataTypeLimits output;
7285};
7386
7487[SecureContext, Exposed=(Window, Worker)]
@@ -175,12 +188,12 @@ partial interface MLGraphBuilder {
175188};
176189
177190dictionary MLBatchNormalizationSupportLimits {
178- MLSupportLimits input;
179- MLSupportLimits mean;
180- MLSupportLimits variance;
181- MLSupportLimits scale;
182- MLSupportLimits bias;
183- MLSupportLimits output;
191+ MLTensorLimits input;
192+ MLTensorLimits mean;
193+ MLTensorLimits variance;
194+ MLTensorLimits scale;
195+ MLTensorLimits bias;
196+ MLDataTypeLimits output;
184197};
185198
186199partial dictionary MLOpSupportLimits {
@@ -217,8 +230,8 @@ partial interface MLGraphBuilder {
217230};
218231
219232dictionary MLConcatSupportLimits {
220- MLSupportLimits inputs;
221- MLSupportLimits output;
233+ MLTensorLimits inputs;
234+ MLDataTypeLimits output;
222235};
223236
224237partial dictionary MLOpSupportLimits {
@@ -249,10 +262,10 @@ partial interface MLGraphBuilder {
249262};
250263
251264dictionary MLConv2dSupportLimits {
252- MLSupportLimits input;
253- MLSupportLimits filter;
254- MLSupportLimits bias;
255- MLSupportLimits output;
265+ MLTensorLimits input;
266+ MLTensorLimits filter;
267+ MLTensorLimits bias;
268+ MLDataTypeLimits output;
256269};
257270
258271partial dictionary MLOpSupportLimits {
@@ -353,8 +366,8 @@ partial interface MLGraphBuilder {
353366};
354367
355368dictionary MLLogicalNotSupportLimits {
356- MLSupportLimits a;
357- MLSupportLimits output;
369+ MLTensorLimits a;
370+ MLDataTypeLimits output;
358371};
359372
360373partial dictionary MLOpSupportLimits {
@@ -411,15 +424,15 @@ partial interface MLGraphBuilder {
411424 optional MLOperatorOptions options = {});
412425};
413426
414- dictionary MLQuantizationSupportLimits {
415- MLSupportLimits input;
416- MLSupportLimits scale;
417- MLSupportLimits zeroPoint;
418- MLSupportLimits output;
427+ dictionary MLQuantizeDequantizeLinearSupportLimits {
428+ MLTensorLimits input;
429+ MLTensorLimits scale;
430+ MLTensorLimits zeroPoint;
431+ MLDataTypeLimits output;
419432};
420433
421434partial dictionary MLOpSupportLimits {
422- MLQuantizationSupportLimits dequantizeLinear;
435+ MLQuantizeDequantizeLinearSupportLimits dequantizeLinear;
423436};
424437
425438partial interface MLGraphBuilder {
@@ -430,7 +443,7 @@ partial interface MLGraphBuilder {
430443};
431444
432445partial dictionary MLOpSupportLimits {
433- MLQuantizationSupportLimits quantizeLinear;
446+ MLQuantizeDequantizeLinearSupportLimits quantizeLinear;
434447};
435448
436449dictionary MLEluOptions : MLOperatorOptions {
@@ -466,9 +479,9 @@ partial interface MLGraphBuilder {
466479};
467480
468481dictionary MLGatherSupportLimits {
469- MLSupportLimits input;
470- MLSupportLimits indices;
471- MLSupportLimits output;
482+ MLTensorLimits input;
483+ MLTensorLimits indices;
484+ MLDataTypeLimits output;
472485};
473486
474487partial dictionary MLOpSupportLimits {
@@ -516,10 +529,10 @@ partial interface MLGraphBuilder {
516529};
517530
518531dictionary MLGemmSupportLimits {
519- MLSupportLimits a;
520- MLSupportLimits b;
521- MLSupportLimits c;
522- MLSupportLimits output;
532+ MLTensorLimits a;
533+ MLTensorLimits b;
534+ MLTensorLimits c;
535+ MLDataTypeLimits output;
523536};
524537
525538partial dictionary MLOpSupportLimits {
@@ -564,13 +577,13 @@ partial interface MLGraphBuilder {
564577};
565578
566579dictionary MLGruSupportLimits {
567- MLSupportLimits input;
568- MLSupportLimits weight;
569- MLSupportLimits recurrentWeight;
570- MLSupportLimits bias;
571- MLSupportLimits recurrentBias;
572- MLSupportLimits initialHiddenState;
573- MLSupportLimits outputs;
580+ MLTensorLimits input;
581+ MLTensorLimits weight;
582+ MLTensorLimits recurrentWeight;
583+ MLTensorLimits bias;
584+ MLTensorLimits recurrentBias;
585+ MLTensorLimits initialHiddenState;
586+ MLDataTypeLimits outputs;
574587};
575588
576589partial dictionary MLOpSupportLimits {
@@ -595,13 +608,13 @@ partial interface MLGraphBuilder {
595608};
596609
597610dictionary MLGruCellSupportLimits {
598- MLSupportLimits input;
599- MLSupportLimits weight;
600- MLSupportLimits recurrentWeight;
601- MLSupportLimits hiddenState;
602- MLSupportLimits bias;
603- MLSupportLimits recurrentBias;
604- MLSupportLimits output;
611+ MLTensorLimits input;
612+ MLTensorLimits weight;
613+ MLTensorLimits recurrentWeight;
614+ MLTensorLimits hiddenState;
615+ MLTensorLimits bias;
616+ MLTensorLimits recurrentBias;
617+ MLDataTypeLimits output;
605618};
606619
607620partial dictionary MLOpSupportLimits {
@@ -642,10 +655,10 @@ partial interface MLGraphBuilder {
642655};
643656
644657dictionary MLNormalizationSupportLimits {
645- MLSupportLimits input;
646- MLSupportLimits scale;
647- MLSupportLimits bias;
648- MLSupportLimits output;
658+ MLTensorLimits input;
659+ MLTensorLimits scale;
660+ MLTensorLimits bias;
661+ MLDataTypeLimits output;
649662};
650663
651664partial dictionary MLOpSupportLimits {
@@ -720,15 +733,15 @@ partial interface MLGraphBuilder {
720733};
721734
722735dictionary MLLstmSupportLimits {
723- MLSupportLimits input;
724- MLSupportLimits weight;
725- MLSupportLimits recurrentWeight;
726- MLSupportLimits bias;
727- MLSupportLimits recurrentBias;
728- MLSupportLimits peepholeWeight;
729- MLSupportLimits initialHiddenState;
730- MLSupportLimits initialCellState;
731- MLSupportLimits outputs;
736+ MLTensorLimits input;
737+ MLTensorLimits weight;
738+ MLTensorLimits recurrentWeight;
739+ MLTensorLimits bias;
740+ MLTensorLimits recurrentBias;
741+ MLTensorLimits peepholeWeight;
742+ MLTensorLimits initialHiddenState;
743+ MLTensorLimits initialCellState;
744+ MLDataTypeLimits outputs;
732745};
733746
734747partial dictionary MLOpSupportLimits {
@@ -754,15 +767,15 @@ partial interface MLGraphBuilder {
754767};
755768
756769dictionary MLLstmCellSupportLimits {
757- MLSupportLimits input;
758- MLSupportLimits weight;
759- MLSupportLimits recurrentWeight;
760- MLSupportLimits hiddenState;
761- MLSupportLimits cellState;
762- MLSupportLimits bias;
763- MLSupportLimits recurrentBias;
764- MLSupportLimits peepholeWeight;
765- MLSupportLimits outputs;
770+ MLTensorLimits input;
771+ MLTensorLimits weight;
772+ MLTensorLimits recurrentWeight;
773+ MLTensorLimits hiddenState;
774+ MLTensorLimits cellState;
775+ MLTensorLimits bias;
776+ MLTensorLimits recurrentBias;
777+ MLTensorLimits peepholeWeight;
778+ MLDataTypeLimits outputs;
766779};
767780
768781partial dictionary MLOpSupportLimits {
@@ -834,9 +847,9 @@ partial interface MLGraphBuilder {
834847};
835848
836849dictionary MLPreluSupportLimits {
837- MLSupportLimits input;
838- MLSupportLimits slope;
839- MLSupportLimits output;
850+ MLTensorLimits input;
851+ MLTensorLimits slope;
852+ MLDataTypeLimits output;
840853};
841854
842855partial dictionary MLOpSupportLimits {
@@ -936,10 +949,10 @@ partial interface MLGraphBuilder {
936949};
937950
938951dictionary MLScatterSupportLimits {
939- MLSupportLimits input;
940- MLSupportLimits indices;
941- MLSupportLimits updates;
942- MLSupportLimits output;
952+ MLTensorLimits input;
953+ MLTensorLimits indices;
954+ MLTensorLimits updates;
955+ MLDataTypeLimits output;
943956};
944957
945958partial dictionary MLOpSupportLimits {
@@ -1018,8 +1031,8 @@ partial interface MLGraphBuilder {
10181031};
10191032
10201033dictionary MLSplitSupportLimits {
1021- MLSupportLimits input;
1022- MLSupportLimits outputs;
1034+ MLTensorLimits input;
1035+ MLDataTypeLimits outputs;
10231036};
10241037
10251038partial dictionary MLOpSupportLimits {
@@ -1077,10 +1090,10 @@ partial interface MLGraphBuilder {
10771090};
10781091
10791092dictionary MLWhereSupportLimits {
1080- MLSupportLimits condition;
1081- MLSupportLimits trueValue;
1082- MLSupportLimits falseValue;
1083- MLSupportLimits output;
1093+ MLTensorLimits condition;
1094+ MLTensorLimits trueValue;
1095+ MLTensorLimits falseValue;
1096+ MLDataTypeLimits output;
10841097};
10851098
10861099partial dictionary MLOpSupportLimits {
0 commit comments