diff --git a/current.txt b/current.txt index e2d14083cc..bacedfd47a 100644 --- a/current.txt +++ b/current.txt @@ -721,6 +721,7 @@ ee9dc34b9925b8367b1111c72bd6d9d375432735e451572ca5a665d8516a7744 android.hardwar eee3430cc86c97c7b407495863d8fb61da6f1a64b7721e77b9b4909b11b174e9 android.hardware.neuralnetworks@1.3::IPreparedModelCallback acf84925f8ee0a651f2ec547ac334034de266479b93af5434f6c1f25e66aba96 android.hardware.neuralnetworks@1.3::types e9080d04218e98512b63aace9ff3da52f0130238391f15cbbf7df396a3ec9072 android.hardware.neuralnetworks@1.3::types # b/155508675, b/155662254, b/155238914, b/155660285 +583dc88b41e702e940fd954edda1beb8b4151eab55a5c6d7e69e2781bce84b59 android.hardware.neuralnetworks@1.3::types # b/156918813 b454df853441c12f6e425e8a60dd29fda20f5e6e39b93d1103e4b37495db38aa android.hardware.radio@1.5::IRadio fcbb0742a88215ee7a6d7ce0825d253eb2b50391fc6c8c48667f9fd7f6d4549e android.hardware.radio@1.5::IRadioIndication b809193970a91ca637a4b0184767315601d32e3ef3d5992ffbc7a8d14a14f015 android.hardware.radio@1.5::IRadioResponse diff --git a/neuralnetworks/1.3/types.hal b/neuralnetworks/1.3/types.hal index 39ea4c24f2..3b2b14c98c 100644 --- a/neuralnetworks/1.3/types.hal +++ b/neuralnetworks/1.3/types.hal @@ -5102,11 +5102,15 @@ enum OperationType : int32_t { * The inputs and outputs of the two referenced subgraphs must agree with the * signature of this operation. That is, if the operation has (3 + n) inputs * and m outputs, both subgraphs must have n inputs and m outputs with the same - * types as the corresponding operation inputs and outputs. + * types, ranks, dimensions, scales, + * zeroPoints, and extraParams as the corresponding operation inputs and + * outputs. + * All of the operands mentioned must have fully specified dimensions. * * Inputs: * * 0: A value of type {@link OperandType::TENSOR_BOOL8} and shape [1] * that determines which of the two referenced subgraphs to execute. + * The operand must have fully specified dimensions. * * 1: A {@link OperandType::SUBGRAPH} reference to the subgraph to be * executed if the condition is true. * * 2: A {@link OperandType::SUBGRAPH} reference to the subgraph to be @@ -5165,13 +5169,17 @@ enum OperationType : int32_t { * Inputs: * * 0: A {@link OperandType::SUBGRAPH} reference to the condition * subgraph. The subgraph must have (m + k + n) inputs with - * the same types as the corresponding inputs of the WHILE operation - * and exactly one output of {@link OperandType::TENSOR_BOOL8} - * and shape [1]. + * the same types, ranks, dimensions, + * scales, zeroPoints, and extraParams as the corresponding inputs of + * the WHILE operation and exactly one output of + * {@link OperandType::TENSOR_BOOL8} and shape [1]. + * All of the operands mentioned must have fully specified dimensions. * * 1: A {@link OperandType::SUBGRAPH} reference to the body subgraph. * The subgraph must have (m + k + n) inputs and (m + k) outputs with - * the same types as the corresponding inputs and outputs of the WHILE - * operation. + * the same types, ranks, dimensions, + * scales, zeroPoints, and extraParams as the corresponding inputs and + * outputs of the WHILE operation. + * All of the operands mentioned must have fully specified dimensions. * * (m inputs): Initial values for input-output operands. * * (k inputs): Initial values for state-only operands. * * (n inputs): Values for input-only operands. @@ -5491,7 +5499,9 @@ struct Operand { * If a tensor operand's dimensions are not fully specified, the * dimensions of the operand are deduced from the operand * dimensions and values of the operation for which that operand - * is an output. + * is an output or from the corresponding {@link OperationType::IF} or + * {@link OperationType::WHILE} operation input operand dimensions in the + * case of referenced subgraph input operands. * * In the following situations, a tensor operand's dimensions must * be fully specified: @@ -5499,8 +5509,8 @@ struct Operand { * . The operand has lifetime CONSTANT_COPY or * CONSTANT_REFERENCE. * - * . The operand has lifetime SUBGRAPH_INPUT. Fully - * specified dimensions must either be present in the + * . The operand has lifetime SUBGRAPH_INPUT and belongs to the main + * subgraph. Fully specified dimensions must either be present in the * Operand or they must be provided in the corresponding * RequestArgument. * EXCEPTION: If the input is optional and omitted diff --git a/neuralnetworks/1.3/types.t b/neuralnetworks/1.3/types.t index 0a6e45e487..7220e372a7 100644 --- a/neuralnetworks/1.3/types.t +++ b/neuralnetworks/1.3/types.t @@ -264,7 +264,9 @@ struct Operand { * If a tensor operand's dimensions are not fully specified, the * dimensions of the operand are deduced from the operand * dimensions and values of the operation for which that operand - * is an output. + * is an output or from the corresponding {@link OperationType::IF} or + * {@link OperationType::WHILE} operation input operand dimensions in the + * case of referenced subgraph input operands. * * In the following situations, a tensor operand's dimensions must * be fully specified: @@ -272,8 +274,8 @@ struct Operand { * . The operand has lifetime CONSTANT_COPY or * CONSTANT_REFERENCE. * - * . The operand has lifetime SUBGRAPH_INPUT. Fully - * specified dimensions must either be present in the + * . The operand has lifetime SUBGRAPH_INPUT and belongs to the main + * subgraph. Fully specified dimensions must either be present in the * Operand or they must be provided in the corresponding * RequestArgument. * EXCEPTION: If the input is optional and omitted