Loading current.txt +5 −0 Original line number Diff line number Diff line Loading @@ -380,3 +380,8 @@ e362203b941f18bd4cba29a62adfa02453ed00d6be5b72cdb6c4d7e0bf394a40 android.hardwar 21757d0e5dd4b7e4bd981a4a20531bca3c32271ad9777b17b74eb5a1ea508384 android.hardware.wifi.supplicant@1.1::ISupplicantStaIface cd4330c3196bda1d642a32abfe23a7d64ebfbda721940643af6867af3b3f0aa9 android.hardware.wifi.supplicant@1.1::ISupplicantStaIfaceCallback 10ff2fae516346b86121368ce5790d5accdfcb73983246b813f3d488b66db45a android.hardware.wifi.supplicant@1.1::ISupplicantStaNetwork # ABI preserving changes to HALs during Android Q 574e8f1499436fb4075894dcae0b36682427956ecb114f17f1fe22d116a83c6b android.hardware.neuralnetworks@1.0::IPreparedModel 1a5ae9793223658174258b523763c557abad6fb917df0b8e3cc097fc89035811 android.hardware.neuralnetworks@1.0::types 4310eb8272f085914952f3bfb73a8f8bb477a80e8b93596f0ea5acb58546b66d android.hardware.neuralnetworks@1.1::types neuralnetworks/1.0/IPreparedModel.hal +6 −0 Original line number Diff line number Diff line Loading @@ -42,6 +42,12 @@ interface IPreparedModel { * execute function. This callback must be provided with the ErrorStatus of * the execution. * * If the prepared model was prepared from a model wherein all * tensor operands have fully specified dimensions, and the inputs * to the function are valid, then the execution should launch * and complete successfully (ErrorStatus::NONE). There must be * no failure unless the device itself is in a bad state. * * Multiple threads can call the execute function on the same IPreparedModel * object concurrently with different requests. * Loading neuralnetworks/1.0/types.hal +27 −15 Original line number Diff line number Diff line Loading @@ -596,8 +596,8 @@ enum OperationType : int32_t { * * 0: A 4-D tensor, of shape [batches, height, width, depth]. * * Outputs: * * 0: The output 4-D tensor, of shape * [batches, out_height, out_width, depth]. * * 0: The output 4-D tensor, of the same shape as input * [batches, height, width, depth]. */ L2_NORMALIZATION = 11, Loading Loading @@ -1282,8 +1282,8 @@ enum OperationType : int32_t { * input height and width. * * Outputs: * * 0: The output 4-D tensor, of shape [batch, height/block_size, * width/block_size, depth*block_size*block_size]. * * 0: The output 4-D tensor, of shape [batches, height/block_size, * width/block_size, depth_in*block_size*block_size]. */ SPACE_TO_DEPTH = 26, Loading Loading @@ -1410,28 +1410,36 @@ enum FusedActivationFunc : int32_t { enum OperandLifeTime : int32_t { /** * The operand is internal to the model. It's created by an operation and * consumed by other operations. * consumed by other operations. It must be an output operand of * exactly one operation. */ TEMPORARY_VARIABLE, /** * The operand is an input of the model. An operand can't be both * input and output of a model. * The operand is an input of the model. It must not be an output * operand of any operation. * * An operand can't be both input and output of a model. */ MODEL_INPUT, /** * The operand is an output of the model. * The operand is an output of the model. It must be an output * operand of exactly one operation. * * An operand can't be both input and output of a model. */ MODEL_OUTPUT, /** * The operand is a constant found in Model.operandValues. * The operand is a constant found in Model.operandValues. It must * not be an output operand of any operation. */ CONSTANT_COPY, /** * The operand is a constant that was specified via a Memory object. * The operand is a constant that was specified via a Memory * object. It must not be an output operand of any operation. */ CONSTANT_REFERENCE, Loading Loading @@ -1641,19 +1649,21 @@ struct Model { /** * All operations included in the model. * * The operations are sorted into execution order. * The operations are sorted into execution order. Every operand * with lifetime MODEL_OUTPUT or TEMPORARY_VARIABLE must be * written before it is read. */ vec<Operation> operations; /** * Input indexes of the model. * Input indexes of the model. There must be at least one. * * Each value corresponds to the index of the operand in "operands". */ vec<uint32_t> inputIndexes; /** * Output indexes of the model. * Output indexes of the model. There must be at least one. * * Each value corresponds to the index of the operand in "operands". */ Loading @@ -1668,8 +1678,7 @@ struct Model { vec<uint8_t> operandValues; /** * A collection of shared memory pools containing operand data that were * registered by the model. * A collection of shared memory pools containing operand values. * * An operand's value must be located here if and only if Operand::lifetime * equals OperandLifeTime::CONSTANT_REFERENCE. Loading Loading @@ -1721,6 +1730,9 @@ struct RequestArgument { * 1) Provides the input and output data to be used when executing the model. * 2) Specifies any updates to the input operand metadata that were left * unspecified at model preparation time. * * An output must not overlap with any other output, with an input, or * with an operand of lifetime CONSTANT_REFERENCE. */ struct Request { /** Loading neuralnetworks/1.1/types.hal +15 −8 Original line number Diff line number Diff line Loading @@ -137,13 +137,19 @@ enum OperationType : @1.0::OperationType { * * 1: A 2-D Tensor of {@link OperandType::TENSOR_INT32}, the paddings * for each spatial dimension of the input tensor. The shape of the * tensor must be {rank(input0), 2}. * padding[i, 0] specifies the number of element to be padded in the * padding[i, 0] specifies the number of elements to be padded in the * front of dimension i. * padding[i, 1] specifies the number of element to be padded after the * padding[i, 1] specifies the number of elements to be padded after the * end of dimension i. * * Outputs: * * 0: A tensor of the same {@link OperandType} as input0. * * 0: A tensor of the same {@link OperandType} as input0. The * output tensor has the same rank as input0, and each * dimension of the output tensor has the same size as the * corresponding dimension of the input tensor plus the size * of the padding: * output0.dimension[i] = * padding[i, 0] + input0.dimension[i] + padding[i, 1] */ PAD = 32, Loading Loading @@ -377,19 +383,21 @@ struct Model { /** * All operations included in the model. * * The operations are sorted into execution order. * The operations are sorted into execution order. Every operand * with lifetime MODEL_OUTPUT or TEMPORARY_VARIABLE must be * written before it is read. */ vec<Operation> operations; /** * Input indexes of the model. * Input indexes of the model. There must be at least one. * * Each value corresponds to the index of the operand in "operands". */ vec<uint32_t> inputIndexes; /** * Output indexes of the model. * Output indexes of the model. There must be at least one. * * Each value corresponds to the index of the operand in "operands". */ Loading @@ -404,8 +412,7 @@ struct Model { vec<uint8_t> operandValues; /** * A collection of shared memory pools containing operand data that were * registered by the model. * A collection of shared memory pools containing operand values. * * An operand's value must be located here if and only if Operand::lifetime * equals OperandLifeTime::CONSTANT_REFERENCE. Loading Loading
current.txt +5 −0 Original line number Diff line number Diff line Loading @@ -380,3 +380,8 @@ e362203b941f18bd4cba29a62adfa02453ed00d6be5b72cdb6c4d7e0bf394a40 android.hardwar 21757d0e5dd4b7e4bd981a4a20531bca3c32271ad9777b17b74eb5a1ea508384 android.hardware.wifi.supplicant@1.1::ISupplicantStaIface cd4330c3196bda1d642a32abfe23a7d64ebfbda721940643af6867af3b3f0aa9 android.hardware.wifi.supplicant@1.1::ISupplicantStaIfaceCallback 10ff2fae516346b86121368ce5790d5accdfcb73983246b813f3d488b66db45a android.hardware.wifi.supplicant@1.1::ISupplicantStaNetwork # ABI preserving changes to HALs during Android Q 574e8f1499436fb4075894dcae0b36682427956ecb114f17f1fe22d116a83c6b android.hardware.neuralnetworks@1.0::IPreparedModel 1a5ae9793223658174258b523763c557abad6fb917df0b8e3cc097fc89035811 android.hardware.neuralnetworks@1.0::types 4310eb8272f085914952f3bfb73a8f8bb477a80e8b93596f0ea5acb58546b66d android.hardware.neuralnetworks@1.1::types
neuralnetworks/1.0/IPreparedModel.hal +6 −0 Original line number Diff line number Diff line Loading @@ -42,6 +42,12 @@ interface IPreparedModel { * execute function. This callback must be provided with the ErrorStatus of * the execution. * * If the prepared model was prepared from a model wherein all * tensor operands have fully specified dimensions, and the inputs * to the function are valid, then the execution should launch * and complete successfully (ErrorStatus::NONE). There must be * no failure unless the device itself is in a bad state. * * Multiple threads can call the execute function on the same IPreparedModel * object concurrently with different requests. * Loading
neuralnetworks/1.0/types.hal +27 −15 Original line number Diff line number Diff line Loading @@ -596,8 +596,8 @@ enum OperationType : int32_t { * * 0: A 4-D tensor, of shape [batches, height, width, depth]. * * Outputs: * * 0: The output 4-D tensor, of shape * [batches, out_height, out_width, depth]. * * 0: The output 4-D tensor, of the same shape as input * [batches, height, width, depth]. */ L2_NORMALIZATION = 11, Loading Loading @@ -1282,8 +1282,8 @@ enum OperationType : int32_t { * input height and width. * * Outputs: * * 0: The output 4-D tensor, of shape [batch, height/block_size, * width/block_size, depth*block_size*block_size]. * * 0: The output 4-D tensor, of shape [batches, height/block_size, * width/block_size, depth_in*block_size*block_size]. */ SPACE_TO_DEPTH = 26, Loading Loading @@ -1410,28 +1410,36 @@ enum FusedActivationFunc : int32_t { enum OperandLifeTime : int32_t { /** * The operand is internal to the model. It's created by an operation and * consumed by other operations. * consumed by other operations. It must be an output operand of * exactly one operation. */ TEMPORARY_VARIABLE, /** * The operand is an input of the model. An operand can't be both * input and output of a model. * The operand is an input of the model. It must not be an output * operand of any operation. * * An operand can't be both input and output of a model. */ MODEL_INPUT, /** * The operand is an output of the model. * The operand is an output of the model. It must be an output * operand of exactly one operation. * * An operand can't be both input and output of a model. */ MODEL_OUTPUT, /** * The operand is a constant found in Model.operandValues. * The operand is a constant found in Model.operandValues. It must * not be an output operand of any operation. */ CONSTANT_COPY, /** * The operand is a constant that was specified via a Memory object. * The operand is a constant that was specified via a Memory * object. It must not be an output operand of any operation. */ CONSTANT_REFERENCE, Loading Loading @@ -1641,19 +1649,21 @@ struct Model { /** * All operations included in the model. * * The operations are sorted into execution order. * The operations are sorted into execution order. Every operand * with lifetime MODEL_OUTPUT or TEMPORARY_VARIABLE must be * written before it is read. */ vec<Operation> operations; /** * Input indexes of the model. * Input indexes of the model. There must be at least one. * * Each value corresponds to the index of the operand in "operands". */ vec<uint32_t> inputIndexes; /** * Output indexes of the model. * Output indexes of the model. There must be at least one. * * Each value corresponds to the index of the operand in "operands". */ Loading @@ -1668,8 +1678,7 @@ struct Model { vec<uint8_t> operandValues; /** * A collection of shared memory pools containing operand data that were * registered by the model. * A collection of shared memory pools containing operand values. * * An operand's value must be located here if and only if Operand::lifetime * equals OperandLifeTime::CONSTANT_REFERENCE. Loading Loading @@ -1721,6 +1730,9 @@ struct RequestArgument { * 1) Provides the input and output data to be used when executing the model. * 2) Specifies any updates to the input operand metadata that were left * unspecified at model preparation time. * * An output must not overlap with any other output, with an input, or * with an operand of lifetime CONSTANT_REFERENCE. */ struct Request { /** Loading
neuralnetworks/1.1/types.hal +15 −8 Original line number Diff line number Diff line Loading @@ -137,13 +137,19 @@ enum OperationType : @1.0::OperationType { * * 1: A 2-D Tensor of {@link OperandType::TENSOR_INT32}, the paddings * for each spatial dimension of the input tensor. The shape of the * tensor must be {rank(input0), 2}. * padding[i, 0] specifies the number of element to be padded in the * padding[i, 0] specifies the number of elements to be padded in the * front of dimension i. * padding[i, 1] specifies the number of element to be padded after the * padding[i, 1] specifies the number of elements to be padded after the * end of dimension i. * * Outputs: * * 0: A tensor of the same {@link OperandType} as input0. * * 0: A tensor of the same {@link OperandType} as input0. The * output tensor has the same rank as input0, and each * dimension of the output tensor has the same size as the * corresponding dimension of the input tensor plus the size * of the padding: * output0.dimension[i] = * padding[i, 0] + input0.dimension[i] + padding[i, 1] */ PAD = 32, Loading Loading @@ -377,19 +383,21 @@ struct Model { /** * All operations included in the model. * * The operations are sorted into execution order. * The operations are sorted into execution order. Every operand * with lifetime MODEL_OUTPUT or TEMPORARY_VARIABLE must be * written before it is read. */ vec<Operation> operations; /** * Input indexes of the model. * Input indexes of the model. There must be at least one. * * Each value corresponds to the index of the operand in "operands". */ vec<uint32_t> inputIndexes; /** * Output indexes of the model. * Output indexes of the model. There must be at least one. * * Each value corresponds to the index of the operand in "operands". */ Loading @@ -404,8 +412,7 @@ struct Model { vec<uint8_t> operandValues; /** * A collection of shared memory pools containing operand data that were * registered by the model. * A collection of shared memory pools containing operand values. * * An operand's value must be located here if and only if Operand::lifetime * equals OperandLifeTime::CONSTANT_REFERENCE. Loading