mirror of
https://github.com/IllusionMan1212/ndk-odin.git
synced 2026-10-24 10:12:30 +00:00
more progress. removed the unions because they have a bigger size than the foreign procs expects and that messes things up
This commit is contained in:
+143
-165
@@ -18,14 +18,14 @@ foreign android {
|
|||||||
* is no longer needed.
|
* is no longer needed.
|
||||||
*
|
*
|
||||||
* Available since NNAPI feature level 4.
|
* Available since NNAPI feature level 4.
|
||||||
* Available since API feature level 30.
|
* Available since API level 30.
|
||||||
*
|
*
|
||||||
* @param desc The {@link ANeuralNetworksMemoryDesc} to be created.
|
* @param desc The {@link ANeuralNetworksMemoryDesc} to be created.
|
||||||
* Set to NULL if unsuccessful.
|
* Set to NULL if unsuccessful.
|
||||||
*
|
*
|
||||||
* @return ANEURALNETWORKS_NO_ERROR if successful.
|
* @return ANEURALNETWORKS_NO_ERROR if successful.
|
||||||
*/
|
*/
|
||||||
int ANeuralNetworksMemoryDesc_create :: proc(desc: ^^ANeuralNetworksMemoryDesc)
|
ANeuralNetworksMemoryDesc_create :: proc(desc: ^^ANeuralNetworksMemoryDesc) -> NNResultCode ---
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Destroy a memory descriptor.
|
* Destroy a memory descriptor.
|
||||||
@@ -36,11 +36,12 @@ foreign android {
|
|||||||
* See {@link ANeuralNetworksMemoryDesc} for information on multithreaded usage.
|
* See {@link ANeuralNetworksMemoryDesc} for information on multithreaded usage.
|
||||||
*
|
*
|
||||||
* Available since NNAPI feature level 4.
|
* Available since NNAPI feature level 4.
|
||||||
|
* Available since API level 30.
|
||||||
*
|
*
|
||||||
* @param desc The memory descriptor to be destroyed. Passing NULL is acceptable and
|
* @param desc The memory descriptor to be destroyed. Passing NULL is acceptable and
|
||||||
* results in no operation.
|
* results in no operation.
|
||||||
*/
|
*/
|
||||||
void ANeuralNetworksMemoryDesc_free(ANeuralNetworksMemoryDesc* desc) __NNAPI_INTRODUCED_IN(30);
|
ANeuralNetworksMemoryDesc_free :: proc(desc: ^ANeuralNetworksMemoryDesc) ---
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Specify that a memory object will be playing the role of an input to an execution created from a
|
* Specify that a memory object will be playing the role of an input to an execution created from a
|
||||||
@@ -68,6 +69,7 @@ foreign android {
|
|||||||
* See {@link ANeuralNetworksMemoryDesc} for information on multithreaded usage.
|
* See {@link ANeuralNetworksMemoryDesc} for information on multithreaded usage.
|
||||||
*
|
*
|
||||||
* Available since NNAPI feature level 4.
|
* Available since NNAPI feature level 4.
|
||||||
|
* Available since API level 30.
|
||||||
*
|
*
|
||||||
* @param desc The memory descriptor to be modified.
|
* @param desc The memory descriptor to be modified.
|
||||||
* @param compilation The compilation object. It must already have been finished by calling
|
* @param compilation The compilation object. It must already have been finished by calling
|
||||||
@@ -84,10 +86,7 @@ foreign android {
|
|||||||
*
|
*
|
||||||
* @return ANEURALNETWORKS_NO_ERROR if successful.
|
* @return ANEURALNETWORKS_NO_ERROR if successful.
|
||||||
*/
|
*/
|
||||||
int ANeuralNetworksMemoryDesc_addInputRole(ANeuralNetworksMemoryDesc* desc,
|
ANeuralNetworksMemoryDesc_addInputRole :: proc(desc: ^ANeuralNetworksMemoryDesc, compilation: ^ANeuralNetworksCompilation, index: u32, frequency: f32) -> NNResultCode ---
|
||||||
const ANeuralNetworksCompilation* compilation,
|
|
||||||
uint32_t index, float frequency)
|
|
||||||
__NNAPI_INTRODUCED_IN(30);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Specify that a memory object will be playing the role of an output to an execution created from a
|
* Specify that a memory object will be playing the role of an output to an execution created from a
|
||||||
@@ -115,6 +114,7 @@ foreign android {
|
|||||||
* See {@link ANeuralNetworksMemoryDesc} for information on multithreaded usage.
|
* See {@link ANeuralNetworksMemoryDesc} for information on multithreaded usage.
|
||||||
*
|
*
|
||||||
* Available since NNAPI feature level 4.
|
* Available since NNAPI feature level 4.
|
||||||
|
* Available since API level 30.
|
||||||
*
|
*
|
||||||
* @param desc The memory descriptor to be modified.
|
* @param desc The memory descriptor to be modified.
|
||||||
* @param compilation The compilation object. It must already have been finished by calling
|
* @param compilation The compilation object. It must already have been finished by calling
|
||||||
@@ -131,10 +131,7 @@ foreign android {
|
|||||||
*
|
*
|
||||||
* @return ANEURALNETWORKS_NO_ERROR if successful.
|
* @return ANEURALNETWORKS_NO_ERROR if successful.
|
||||||
*/
|
*/
|
||||||
int ANeuralNetworksMemoryDesc_addOutputRole(ANeuralNetworksMemoryDesc* desc,
|
ANeuralNetworksMemoryDesc_addOutputRole :: proc(desc: ^ANeuralNetworksMemoryDesc, compilation: ^ANeuralNetworksCompilation, index: u32, frequency: f32) -> NNResultCode ---
|
||||||
const ANeuralNetworksCompilation* compilation,
|
|
||||||
uint32_t index, float frequency)
|
|
||||||
__NNAPI_INTRODUCED_IN(30);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the dimensional information of the memory descriptor.
|
* Set the dimensional information of the memory descriptor.
|
||||||
@@ -151,6 +148,7 @@ foreign android {
|
|||||||
* See {@link ANeuralNetworksMemoryDesc} for information on multithreaded usage.
|
* See {@link ANeuralNetworksMemoryDesc} for information on multithreaded usage.
|
||||||
*
|
*
|
||||||
* Available since NNAPI feature level 4.
|
* Available since NNAPI feature level 4.
|
||||||
|
* Available since API level 30.
|
||||||
*
|
*
|
||||||
* @param desc The memory descriptor to be modified.
|
* @param desc The memory descriptor to be modified.
|
||||||
* @param rank The number of dimensions. Must be 0 for scalars.
|
* @param rank The number of dimensions. Must be 0 for scalars.
|
||||||
@@ -159,8 +157,7 @@ foreign android {
|
|||||||
*
|
*
|
||||||
* @return ANEURALNETWORKS_NO_ERROR if successful.
|
* @return ANEURALNETWORKS_NO_ERROR if successful.
|
||||||
*/
|
*/
|
||||||
int ANeuralNetworksMemoryDesc_setDimensions(ANeuralNetworksMemoryDesc* desc, uint32_t rank,
|
ANeuralNetworksMemoryDesc_setDimensions :: proc(desc: ^ANeuralNetworksMemoryDesc, rank: u32, dimensions: [^]u32) -> NNResultCode ---
|
||||||
const uint32_t* dimensions) __NNAPI_INTRODUCED_IN(30);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Indicate that we have finished modifying a memory descriptor. Required before calling
|
* Indicate that we have finished modifying a memory descriptor. Required before calling
|
||||||
@@ -171,12 +168,13 @@ foreign android {
|
|||||||
* See {@link ANeuralNetworksMemoryDesc} for information on multithreaded usage.
|
* See {@link ANeuralNetworksMemoryDesc} for information on multithreaded usage.
|
||||||
*
|
*
|
||||||
* Available since NNAPI feature level 4.
|
* Available since NNAPI feature level 4.
|
||||||
|
* Available since API level 30.
|
||||||
*
|
*
|
||||||
* @param desc The memory descriptor to be finished.
|
* @param desc The memory descriptor to be finished.
|
||||||
*
|
*
|
||||||
* @return ANEURALNETWORKS_NO_ERROR if successful.
|
* @return ANEURALNETWORKS_NO_ERROR if successful.
|
||||||
*/
|
*/
|
||||||
int ANeuralNetworksMemoryDesc_finish(ANeuralNetworksMemoryDesc* desc) __NNAPI_INTRODUCED_IN(30);
|
ANeuralNetworksMemoryDesc_finish :: proc(desc: ^ANeuralNetworksMemoryDesc) -> NNResultCode ---
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a memory object from a memory descriptor.
|
* Creates a memory object from a memory descriptor.
|
||||||
@@ -222,17 +220,17 @@ foreign android {
|
|||||||
* object.
|
* object.
|
||||||
*
|
*
|
||||||
* Available since NNAPI feature level 4.
|
* Available since NNAPI feature level 4.
|
||||||
|
* Available since API level 30.
|
||||||
*
|
*
|
||||||
* @param desc The memory descriptor.
|
* @param desc The memory descriptor.
|
||||||
* @param memory The memory object to be created.
|
* @param memory The memory object to be created.
|
||||||
* Set to NULL if unsuccessful.
|
* Set to NULL if unsuccessful.
|
||||||
*
|
*
|
||||||
* @return ANEURALNETWORKS_NO_ERROR if successful; ANEURALNETWORKS_OP_FAILED if the memory is
|
* @return ANEURALNETWORKS_NO_ERROR if successful ANEURALNETWORKS_OP_FAILED if the memory is
|
||||||
* created with unspecified dimensions or rank and it is not supported for this set of
|
* created with unspecified dimensions or rank and it is not supported for this set of
|
||||||
* roles.
|
* roles.
|
||||||
*/
|
*/
|
||||||
int ANeuralNetworksMemory_createFromDesc(const ANeuralNetworksMemoryDesc* desc,
|
ANeuralNetworksMemory_createFromDesc :: proc(desc: ^ANeuralNetworksMemoryDesc, memory: ^^ANeuralNetworksMemory) -> NNResultCode ---
|
||||||
ANeuralNetworksMemory** memory) __NNAPI_INTRODUCED_IN(30);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Copies data from one memory object to another.
|
* Copies data from one memory object to another.
|
||||||
@@ -264,14 +262,14 @@ foreign android {
|
|||||||
* logically with data layout transformation.
|
* logically with data layout transformation.
|
||||||
*
|
*
|
||||||
* Available since NNAPI feature level 4.
|
* Available since NNAPI feature level 4.
|
||||||
|
* Available since API level 30.
|
||||||
*
|
*
|
||||||
* @param src The source memory object.
|
* @param src The source memory object.
|
||||||
* @param dst The destination memory object.
|
* @param dst The destination memory object.
|
||||||
*
|
*
|
||||||
* @return ANEURALNETWORKS_NO_ERROR if successful.
|
* @return ANEURALNETWORKS_NO_ERROR if successful.
|
||||||
*/
|
*/
|
||||||
int ANeuralNetworksMemory_copy(const ANeuralNetworksMemory* src, const ANeuralNetworksMemory* dst)
|
ANeuralNetworksMemory_copy :: proc(src: ^ANeuralNetworksMemory, dst: ^ANeuralNetworksMemory) -> NNResultCode ---
|
||||||
__NNAPI_INTRODUCED_IN(30);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the number of available devices.
|
* Get the number of available devices.
|
||||||
@@ -281,8 +279,9 @@ foreign android {
|
|||||||
* @return ANEURALNETWORKS_NO_ERROR if successful.
|
* @return ANEURALNETWORKS_NO_ERROR if successful.
|
||||||
*
|
*
|
||||||
* Available since NNAPI feature level 3.
|
* Available since NNAPI feature level 3.
|
||||||
|
* Available since API level 29.
|
||||||
*/
|
*/
|
||||||
int ANeuralNetworks_getDeviceCount(uint32_t* numDevices) __NNAPI_INTRODUCED_IN(29);
|
ANeuralNetworks_getDeviceCount :: proc(numDevices: ^u32) -> NNResultCode ---
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the representation of the specified device.
|
* Get the representation of the specified device.
|
||||||
@@ -296,9 +295,9 @@ foreign android {
|
|||||||
* @return ANEURALNETWORKS_NO_ERROR if successful.
|
* @return ANEURALNETWORKS_NO_ERROR if successful.
|
||||||
*
|
*
|
||||||
* Available since NNAPI feature level 3.
|
* Available since NNAPI feature level 3.
|
||||||
|
* Available since API level 29.
|
||||||
*/
|
*/
|
||||||
int ANeuralNetworks_getDevice(uint32_t devIndex, ANeuralNetworksDevice** device)
|
ANeuralNetworks_getDevice :: proc(devIndex: u32, device: ^^ANeuralNetworksDevice) -> NNResultCode ---
|
||||||
__NNAPI_INTRODUCED_IN(29);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the name of the specified device.
|
* Get the name of the specified device.
|
||||||
@@ -316,9 +315,9 @@ foreign android {
|
|||||||
* @return ANEURALNETWORKS_NO_ERROR if successful.
|
* @return ANEURALNETWORKS_NO_ERROR if successful.
|
||||||
*
|
*
|
||||||
* Available since NNAPI feature level 3.
|
* Available since NNAPI feature level 3.
|
||||||
|
* Available since API level 29.
|
||||||
*/
|
*/
|
||||||
int ANeuralNetworksDevice_getName(const ANeuralNetworksDevice* device, const char** name)
|
ANeuralNetworksDevice_getName :: proc(device: ^ANeuralNetworksDevice, name: ^cstring) -> NNResultCode ---
|
||||||
__NNAPI_INTRODUCED_IN(29);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the type of a given device.
|
* Get the type of a given device.
|
||||||
@@ -335,9 +334,9 @@ foreign android {
|
|||||||
* @return ANEURALNETWORKS_NO_ERROR if successful.
|
* @return ANEURALNETWORKS_NO_ERROR if successful.
|
||||||
*
|
*
|
||||||
* Available since NNAPI feature level 3.
|
* Available since NNAPI feature level 3.
|
||||||
|
* Available since API level 29.
|
||||||
*/
|
*/
|
||||||
int ANeuralNetworksDevice_getType(const ANeuralNetworksDevice* device, int32_t* type)
|
ANeuralNetworksDevice_getType :: proc(device: ^ANeuralNetworksDevice, type: ^DeviceTypeCode) -> NNResultCode ---
|
||||||
__NNAPI_INTRODUCED_IN(29);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the version of the driver implementation of the specified device.
|
* Get the version of the driver implementation of the specified device.
|
||||||
@@ -365,9 +364,9 @@ foreign android {
|
|||||||
* @return ANEURALNETWORKS_NO_ERROR if successful.
|
* @return ANEURALNETWORKS_NO_ERROR if successful.
|
||||||
*
|
*
|
||||||
* Available since NNAPI feature level 3.
|
* Available since NNAPI feature level 3.
|
||||||
|
* Available since API level 29.
|
||||||
*/
|
*/
|
||||||
int ANeuralNetworksDevice_getVersion(const ANeuralNetworksDevice* device, const char** version)
|
ANeuralNetworksDevice_getVersion :: proc(device: ^ANeuralNetworksDevice, version: ^cstring) -> NNResultCode ---
|
||||||
__NNAPI_INTRODUCED_IN(29);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the NNAPI feature level of the specified NNAPI device.
|
* Get the NNAPI feature level of the specified NNAPI device.
|
||||||
@@ -392,9 +391,9 @@ foreign android {
|
|||||||
* @return ANEURALNETWORKS_NO_ERROR if successful.
|
* @return ANEURALNETWORKS_NO_ERROR if successful.
|
||||||
*
|
*
|
||||||
* Available since NNAPI feature level 3.
|
* Available since NNAPI feature level 3.
|
||||||
|
* Available since API level 29.
|
||||||
*/
|
*/
|
||||||
int ANeuralNetworksDevice_getFeatureLevel(const ANeuralNetworksDevice* device,
|
ANeuralNetworksDevice_getFeatureLevel :: proc(device: ^ANeuralNetworksDevice, featureLevel: ^FeatureLevelCode) -> NNResultCode ---
|
||||||
int64_t* featureLevel) __NNAPI_INTRODUCED_IN(29);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Wait until the device is in a live state.
|
* Wait until the device is in a live state.
|
||||||
@@ -409,8 +408,9 @@ foreign android {
|
|||||||
* @return ANEURALNETWORKS_NO_ERROR if successful.
|
* @return ANEURALNETWORKS_NO_ERROR if successful.
|
||||||
*
|
*
|
||||||
* Available since NNAPI feature level 4.
|
* Available since NNAPI feature level 4.
|
||||||
|
* Available since API level 30.
|
||||||
*/
|
*/
|
||||||
int ANeuralNetworksDevice_wait(const ANeuralNetworksDevice* device) __NNAPI_INTRODUCED_IN(30);
|
ANeuralNetworksDevice_wait :: proc(device: ^ANeuralNetworksDevice) -> NNResultCode ---
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the supported operations for a specified set of devices. If multiple devices
|
* Get the supported operations for a specified set of devices. If multiple devices
|
||||||
@@ -428,10 +428,9 @@ foreign android {
|
|||||||
* @return ANEURALNETWORKS_NO_ERROR if successful.
|
* @return ANEURALNETWORKS_NO_ERROR if successful.
|
||||||
*
|
*
|
||||||
* Available since NNAPI feature level 3.
|
* Available since NNAPI feature level 3.
|
||||||
|
* Available since API level 29.
|
||||||
*/
|
*/
|
||||||
int ANeuralNetworksModel_getSupportedOperationsForDevices(
|
ANeuralNetworksModel_getSupportedOperationsForDevices :: proc(model: ^ANeuralNetworksModel, devices: [^]^ANeuralNetworksDevice, numDevices: u32, supportedOps: [^]bool) -> NNResultCode ---
|
||||||
const ANeuralNetworksModel* model, const ANeuralNetworksDevice* const* devices,
|
|
||||||
uint32_t numDevices, bool* supportedOps) __NNAPI_INTRODUCED_IN(29);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a {@link ANeuralNetworksCompilation} to compile the given model for a specified set
|
* Create a {@link ANeuralNetworksCompilation} to compile the given model for a specified set
|
||||||
@@ -459,12 +458,9 @@ foreign android {
|
|||||||
* if the model is invalid.
|
* if the model is invalid.
|
||||||
*
|
*
|
||||||
* Available since NNAPI feature level 3.
|
* Available since NNAPI feature level 3.
|
||||||
|
* Available since API level 29.
|
||||||
*/
|
*/
|
||||||
int ANeuralNetworksCompilation_createForDevices(ANeuralNetworksModel* model,
|
ANeuralNetworksCompilation_createForDevices :: proc(model: ^ANeuralNetworksModel, devices: [^]^ANeuralNetworksDevice, numDevices: u32, compilation: ^^ANeuralNetworksCompilation) -> NNResultCode ---
|
||||||
const ANeuralNetworksDevice* const* devices,
|
|
||||||
uint32_t numDevices,
|
|
||||||
ANeuralNetworksCompilation** compilation)
|
|
||||||
__NNAPI_INTRODUCED_IN(29);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the compilation caching signature and the cache directory.
|
* Sets the compilation caching signature and the cache directory.
|
||||||
@@ -483,17 +479,16 @@ foreign android {
|
|||||||
* @param token The token provided by the user to specify a model must be of length
|
* @param token The token provided by the user to specify a model must be of length
|
||||||
* ANEURALNETWORKS_BYTE_SIZE_OF_CACHE_TOKEN. The user should ensure that
|
* ANEURALNETWORKS_BYTE_SIZE_OF_CACHE_TOKEN. The user should ensure that
|
||||||
* the token is unique to a model within the application. The NNAPI
|
* the token is unique to a model within the application. The NNAPI
|
||||||
* runtime cannot detect token collisions; a collision will result in a
|
* runtime cannot detect token collisions a collision will result in a
|
||||||
* failed execution or in a successful execution that produces incorrect
|
* failed execution or in a successful execution that produces incorrect
|
||||||
* output values.
|
* output values.
|
||||||
*
|
*
|
||||||
* @return ANEURALNETWORKS_NO_ERROR if successful.
|
* @return ANEURALNETWORKS_NO_ERROR if successful.
|
||||||
*
|
*
|
||||||
* Available since NNAPI feature level 3.
|
* Available since NNAPI feature level 3.
|
||||||
|
* Available since API level 29.
|
||||||
*/
|
*/
|
||||||
int ANeuralNetworksCompilation_setCaching(ANeuralNetworksCompilation* compilation,
|
ANeuralNetworksCompilation_setCaching :: proc(compilation: ^ANeuralNetworksCompilation, cacheDir: cstring, token: [^]byte) -> NNResultCode ---
|
||||||
const char* cacheDir, const uint8_t* token)
|
|
||||||
__NNAPI_INTRODUCED_IN(29);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Schedule synchronous evaluation of the execution.
|
* Schedule synchronous evaluation of the execution.
|
||||||
@@ -527,6 +522,7 @@ foreign android {
|
|||||||
* asynchronous execution with dependencies.
|
* asynchronous execution with dependencies.
|
||||||
*
|
*
|
||||||
* Available since NNAPI feature level 3.
|
* Available since NNAPI feature level 3.
|
||||||
|
* Available since API level 29.
|
||||||
*
|
*
|
||||||
* @param execution The execution to be scheduled and executed.
|
* @param execution The execution to be scheduled and executed.
|
||||||
*
|
*
|
||||||
@@ -534,7 +530,7 @@ foreign android {
|
|||||||
* ANEURALNETWORKS_UNMAPPABLE if the execution input or output memory cannot
|
* ANEURALNETWORKS_UNMAPPABLE if the execution input or output memory cannot
|
||||||
* be properly mapped.
|
* be properly mapped.
|
||||||
*/
|
*/
|
||||||
int ANeuralNetworksExecution_compute(ANeuralNetworksExecution* execution) __NNAPI_INTRODUCED_IN(29);
|
ANeuralNetworksExecution_compute :: proc(execution: ^ANeuralNetworksExecution) -> NNResultCode ---
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the dimensional information of the specified output operand of the model of the
|
* Get the dimensional information of the specified output operand of the model of the
|
||||||
@@ -556,10 +552,9 @@ foreign android {
|
|||||||
* ANEURALNETWORKS_BAD_DATA if the index is invalid.
|
* ANEURALNETWORKS_BAD_DATA if the index is invalid.
|
||||||
*
|
*
|
||||||
* Available since NNAPI feature level 3.
|
* Available since NNAPI feature level 3.
|
||||||
|
* Available since API level 29.
|
||||||
*/
|
*/
|
||||||
int ANeuralNetworksExecution_getOutputOperandRank(ANeuralNetworksExecution* execution,
|
ANeuralNetworksExecution_getOutputOperandRank :: proc(execution: ^ANeuralNetworksExecution, index: i32, rank: ^u32) -> NNResultCode ---
|
||||||
int32_t index, uint32_t* rank)
|
|
||||||
__NNAPI_INTRODUCED_IN(29);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the dimensional information of the specified output operand of the model of the
|
* Get the dimensional information of the specified output operand of the model of the
|
||||||
@@ -582,10 +577,9 @@ foreign android {
|
|||||||
* ANEURALNETWORKS_BAD_DATA if the index is invalid or if the target is a scalar.
|
* ANEURALNETWORKS_BAD_DATA if the index is invalid or if the target is a scalar.
|
||||||
*
|
*
|
||||||
* Available since NNAPI feature level 3.
|
* Available since NNAPI feature level 3.
|
||||||
|
* Available since API level 29.
|
||||||
*/
|
*/
|
||||||
int ANeuralNetworksExecution_getOutputOperandDimensions(ANeuralNetworksExecution* execution,
|
ANeuralNetworksExecution_getOutputOperandDimensions :: proc(execution: ^ANeuralNetworksExecution, index: i32, dimensions: [^]u32) -> NNResultCode ---
|
||||||
int32_t index, uint32_t* dimensions)
|
|
||||||
__NNAPI_INTRODUCED_IN(29);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a {@link ANeuralNetworksBurst} to apply the given compilation.
|
* Create a {@link ANeuralNetworksBurst} to apply the given compilation.
|
||||||
@@ -596,6 +590,7 @@ foreign android {
|
|||||||
* <p>The provided compilation must outlive the burst object.</p>
|
* <p>The provided compilation must outlive the burst object.</p>
|
||||||
*
|
*
|
||||||
* Available since NNAPI feature level 3.
|
* Available since NNAPI feature level 3.
|
||||||
|
* Available since API level 29.
|
||||||
*
|
*
|
||||||
* @param compilation The {@link ANeuralNetworksCompilation} to be evaluated.
|
* @param compilation The {@link ANeuralNetworksCompilation} to be evaluated.
|
||||||
* @param burst The newly created object or NULL if unsuccessful.
|
* @param burst The newly created object or NULL if unsuccessful.
|
||||||
@@ -603,18 +598,18 @@ foreign android {
|
|||||||
* @return ANEURALNETWORKS_NO_ERROR if successful, ANEURALNETWORKS_BAD_DATA
|
* @return ANEURALNETWORKS_NO_ERROR if successful, ANEURALNETWORKS_BAD_DATA
|
||||||
* if the compilation is invalid.
|
* if the compilation is invalid.
|
||||||
*/
|
*/
|
||||||
int ANeuralNetworksBurst_create(ANeuralNetworksCompilation* compilation,
|
ANeuralNetworksBurst_create :: proc(compilation: ^ANeuralNetworksCompilation, burst: ^^ANeuralNetworksBurst) -> NNResultCode ---
|
||||||
ANeuralNetworksBurst** burst) __NNAPI_INTRODUCED_IN(29);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Destroys the burst object.
|
* Destroys the burst object.
|
||||||
*
|
*
|
||||||
* Available since NNAPI feature level 3.
|
* Available since NNAPI feature level 3.
|
||||||
|
* Available since API level 29.
|
||||||
*
|
*
|
||||||
* @param burst The burst object to be destroyed. Passing NULL is acceptable and
|
* @param burst The burst object to be destroyed. Passing NULL is acceptable and
|
||||||
* results in no operation.
|
* results in no operation.
|
||||||
*/
|
*/
|
||||||
void ANeuralNetworksBurst_free(ANeuralNetworksBurst* burst) __NNAPI_INTRODUCED_IN(29);
|
ANeuralNetworksBurst_free :: proc(burst: ^ANeuralNetworksBurst) ---
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Schedule synchronous evaluation of the execution on a burst object.
|
* Schedule synchronous evaluation of the execution on a burst object.
|
||||||
@@ -652,6 +647,7 @@ foreign android {
|
|||||||
* asynchronous execution with dependencies.
|
* asynchronous execution with dependencies.
|
||||||
*
|
*
|
||||||
* Available since NNAPI feature level 3.
|
* Available since NNAPI feature level 3.
|
||||||
|
* Available since API level 29.
|
||||||
*
|
*
|
||||||
* @param burst The burst object to execute on.
|
* @param burst The burst object to execute on.
|
||||||
* @param execution The execution to be scheduled and executed. The execution
|
* @param execution The execution to be scheduled and executed. The execution
|
||||||
@@ -660,8 +656,7 @@ foreign android {
|
|||||||
*
|
*
|
||||||
* @return ANEURALNETWORKS_NO_ERROR if the execution completed normally.
|
* @return ANEURALNETWORKS_NO_ERROR if the execution completed normally.
|
||||||
*/
|
*/
|
||||||
int ANeuralNetworksExecution_burstCompute(ANeuralNetworksExecution* execution,
|
ANeuralNetworksExecution_burstCompute :: proc(execution: ^ANeuralNetworksExecution, burst: ^ANeuralNetworksBurst) -> NNResultCode ---
|
||||||
ANeuralNetworksBurst* burst) __NNAPI_INTRODUCED_IN(29);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a shared memory object from an AHardwareBuffer handle.
|
* Creates a shared memory object from an AHardwareBuffer handle.
|
||||||
@@ -687,6 +682,7 @@ foreign android {
|
|||||||
* The provided AHardwareBuffer must outlive the ANeuralNetworksMemory object.
|
* The provided AHardwareBuffer must outlive the ANeuralNetworksMemory object.
|
||||||
*
|
*
|
||||||
* Available since NNAPI feature level 3.
|
* Available since NNAPI feature level 3.
|
||||||
|
* Available since API level 29.
|
||||||
*
|
*
|
||||||
* @param ahwb The AHardwareBuffer handle.
|
* @param ahwb The AHardwareBuffer handle.
|
||||||
* @param memory The memory object to be created.
|
* @param memory The memory object to be created.
|
||||||
@@ -696,11 +692,7 @@ foreign android {
|
|||||||
*
|
*
|
||||||
* @see AHardwareBuffer
|
* @see AHardwareBuffer
|
||||||
*/
|
*/
|
||||||
#ifdef __ANDROID__
|
ANeuralNetworksMemory_createFromAHardwareBuffer :: proc(ahwb: ^AHardwareBuffer, memory: ^^ANeuralNetworksMemory) -> NNResultCode ---
|
||||||
int ANeuralNetworksMemory_createFromAHardwareBuffer(const AHardwareBuffer* ahwb,
|
|
||||||
ANeuralNetworksMemory** memory)
|
|
||||||
__NNAPI_INTRODUCED_IN(29);
|
|
||||||
#endif // __ANDROID__
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
||||||
@@ -721,14 +713,14 @@ foreign android {
|
|||||||
* See {@link ANeuralNetworksExecution} for information on execution states and multithreaded usage.
|
* See {@link ANeuralNetworksExecution} for information on execution states and multithreaded usage.
|
||||||
*
|
*
|
||||||
* Available since NNAPI feature level 3.
|
* Available since NNAPI feature level 3.
|
||||||
|
* Available since API level 29.
|
||||||
*
|
*
|
||||||
* @param execution The execution to be modified.
|
* @param execution The execution to be modified.
|
||||||
* @param measure 'true' if duration is to be measured, 'false' if not.
|
* @param measure 'true' if duration is to be measured, 'false' if not.
|
||||||
*
|
*
|
||||||
* @return ANEURALNETWORKS_NO_ERROR if successful.
|
* @return ANEURALNETWORKS_NO_ERROR if successful.
|
||||||
*/
|
*/
|
||||||
int ANeuralNetworksExecution_setMeasureTiming(ANeuralNetworksExecution* execution, bool measure)
|
ANeuralNetworksExecution_setMeasureTiming :: proc(execution: ^ANeuralNetworksExecution, measure: bool) -> NNResultCode ---
|
||||||
__NNAPI_INTRODUCED_IN(29);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the time spent in the latest computation evaluated on the specified
|
* Get the time spent in the latest computation evaluated on the specified
|
||||||
@@ -751,10 +743,9 @@ foreign android {
|
|||||||
* @return ANEURALNETWORKS_NO_ERROR if successful.
|
* @return ANEURALNETWORKS_NO_ERROR if successful.
|
||||||
*
|
*
|
||||||
* Available since NNAPI feature level 3.
|
* Available since NNAPI feature level 3.
|
||||||
|
* Available since API level 29.
|
||||||
*/
|
*/
|
||||||
int ANeuralNetworksExecution_getDuration(const ANeuralNetworksExecution* execution,
|
ANeuralNetworksExecution_getDuration :: proc(execution: ^ANeuralNetworksExecution, durationCode: DurationCode, duration: ^u64) -> NNResultCode ---
|
||||||
int32_t durationCode, uint64_t* duration)
|
|
||||||
__NNAPI_INTRODUCED_IN(29);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a shared memory object from a file descriptor.
|
* Creates a shared memory object from a file descriptor.
|
||||||
@@ -764,6 +755,7 @@ foreign android {
|
|||||||
* this shared memory.
|
* this shared memory.
|
||||||
*
|
*
|
||||||
* Available since NNAPI feature level 1.
|
* Available since NNAPI feature level 1.
|
||||||
|
* Available since API level 27.
|
||||||
*
|
*
|
||||||
* @param size The requested size in bytes.
|
* @param size The requested size in bytes.
|
||||||
* Must not be larger than the file size.
|
* Must not be larger than the file size.
|
||||||
@@ -780,8 +772,7 @@ foreign android {
|
|||||||
*
|
*
|
||||||
* @return ANEURALNETWORKS_NO_ERROR if the request completed normally.
|
* @return ANEURALNETWORKS_NO_ERROR if the request completed normally.
|
||||||
*/
|
*/
|
||||||
int ANeuralNetworksMemory_createFromFd(size_t size, int protect, int fd, size_t offset,
|
ANeuralNetworksMemory_createFromFd :: proc(size: uint, protect: i32, fd: i32, offset: uint, memory: ^^ANeuralNetworksMemory) -> NNResultCode ---
|
||||||
ANeuralNetworksMemory** memory) __NNAPI_INTRODUCED_IN(27);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Delete a memory object.
|
* Delete a memory object.
|
||||||
@@ -791,11 +782,12 @@ foreign android {
|
|||||||
* handles to this memory.
|
* handles to this memory.
|
||||||
*
|
*
|
||||||
* Available since NNAPI feature level 1.
|
* Available since NNAPI feature level 1.
|
||||||
|
* Available since API level 27.
|
||||||
*
|
*
|
||||||
* @param memory The memory object to be freed. Passing NULL is acceptable and
|
* @param memory The memory object to be freed. Passing NULL is acceptable and
|
||||||
* results in no operation.
|
* results in no operation.
|
||||||
*/
|
*/
|
||||||
void ANeuralNetworksMemory_free(ANeuralNetworksMemory* memory) __NNAPI_INTRODUCED_IN(27);
|
ANeuralNetworksMemory_free :: proc(memory: ^ANeuralNetworksMemory) ---
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create an empty {@link ANeuralNetworksModel}.
|
* Create an empty {@link ANeuralNetworksModel}.
|
||||||
@@ -817,13 +809,14 @@ foreign android {
|
|||||||
* is no longer needed.</p>
|
* is no longer needed.</p>
|
||||||
*
|
*
|
||||||
* Available since NNAPI feature level 1.
|
* Available since NNAPI feature level 1.
|
||||||
|
* Available since API level 27.
|
||||||
*
|
*
|
||||||
* @param model The {@link ANeuralNetworksModel} to be created.
|
* @param model The {@link ANeuralNetworksModel} to be created.
|
||||||
* Set to NULL if unsuccessful.
|
* Set to NULL if unsuccessful.
|
||||||
*
|
*
|
||||||
* @return ANEURALNETWORKS_NO_ERROR if successful.
|
* @return ANEURALNETWORKS_NO_ERROR if successful.
|
||||||
*/
|
*/
|
||||||
int ANeuralNetworksModel_create(ANeuralNetworksModel** model) __NNAPI_INTRODUCED_IN(27);
|
ANeuralNetworksModel_create :: proc(model: ^^ANeuralNetworksModel) -> NNResultCode ---
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Destroy a model.
|
* Destroy a model.
|
||||||
@@ -834,11 +827,12 @@ foreign android {
|
|||||||
* See {@link ANeuralNetworksModel} for information on multithreaded usage.
|
* See {@link ANeuralNetworksModel} for information on multithreaded usage.
|
||||||
*
|
*
|
||||||
* Available since NNAPI feature level 1.
|
* Available since NNAPI feature level 1.
|
||||||
|
* Available since API level 27.
|
||||||
*
|
*
|
||||||
* @param model The model to be destroyed. Passing NULL is acceptable and
|
* @param model The model to be destroyed. Passing NULL is acceptable and
|
||||||
* results in no operation.
|
* results in no operation.
|
||||||
*/
|
*/
|
||||||
void ANeuralNetworksModel_free(ANeuralNetworksModel* model) __NNAPI_INTRODUCED_IN(27);
|
ANeuralNetworksModel_free :: proc(model: ^ANeuralNetworksModel) ---
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Indicate that we have finished modifying a model. Required before
|
* Indicate that we have finished modifying a model. Required before
|
||||||
@@ -853,12 +847,13 @@ foreign android {
|
|||||||
* See {@link ANeuralNetworksModel} for information on multithreaded usage.
|
* See {@link ANeuralNetworksModel} for information on multithreaded usage.
|
||||||
*
|
*
|
||||||
* Available since NNAPI feature level 1.
|
* Available since NNAPI feature level 1.
|
||||||
|
* Available since API level 27.
|
||||||
*
|
*
|
||||||
* @param model The model to be finished.
|
* @param model The model to be finished.
|
||||||
*
|
*
|
||||||
* @return ANEURALNETWORKS_NO_ERROR if successful.
|
* @return ANEURALNETWORKS_NO_ERROR if successful.
|
||||||
*/
|
*/
|
||||||
int ANeuralNetworksModel_finish(ANeuralNetworksModel* model) __NNAPI_INTRODUCED_IN(27);
|
ANeuralNetworksModel_finish :: proc(model: ^ANeuralNetworksModel) -> NNResultCode ---
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add an operand to a model.
|
* Add an operand to a model.
|
||||||
@@ -901,6 +896,7 @@ foreign android {
|
|||||||
* See {@link ANeuralNetworksModel} for information on multithreaded usage.
|
* See {@link ANeuralNetworksModel} for information on multithreaded usage.
|
||||||
*
|
*
|
||||||
* Available since NNAPI feature level 1.
|
* Available since NNAPI feature level 1.
|
||||||
|
* Available since API level 27.
|
||||||
*
|
*
|
||||||
* @param model The model to be modified.
|
* @param model The model to be modified.
|
||||||
* @param type The {@link ANeuralNetworksOperandType} that describes the shape
|
* @param type The {@link ANeuralNetworksOperandType} that describes the shape
|
||||||
@@ -910,9 +906,7 @@ foreign android {
|
|||||||
*
|
*
|
||||||
* @return ANEURALNETWORKS_NO_ERROR if successful.
|
* @return ANEURALNETWORKS_NO_ERROR if successful.
|
||||||
*/
|
*/
|
||||||
int ANeuralNetworksModel_addOperand(ANeuralNetworksModel* model,
|
ANeuralNetworksModel_addOperand :: proc(model: ^ANeuralNetworksModel, type: ^ANeuralNetworksOperandType) -> NNResultCode ---
|
||||||
const ANeuralNetworksOperandType* type)
|
|
||||||
__NNAPI_INTRODUCED_IN(27);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets an operand to a constant value.
|
* Sets an operand to a constant value.
|
||||||
@@ -941,6 +935,7 @@ foreign android {
|
|||||||
* See {@link ANeuralNetworksModel} for information on multithreaded usage.
|
* See {@link ANeuralNetworksModel} for information on multithreaded usage.
|
||||||
*
|
*
|
||||||
* Available since NNAPI feature level 1.
|
* Available since NNAPI feature level 1.
|
||||||
|
* Available since API level 27.
|
||||||
*
|
*
|
||||||
* @param model The model to be modified.
|
* @param model The model to be modified.
|
||||||
* @param index The index of the model operand we're setting.
|
* @param index The index of the model operand we're setting.
|
||||||
@@ -949,9 +944,7 @@ foreign android {
|
|||||||
*
|
*
|
||||||
* @return ANEURALNETWORKS_NO_ERROR if successful.
|
* @return ANEURALNETWORKS_NO_ERROR if successful.
|
||||||
*/
|
*/
|
||||||
int ANeuralNetworksModel_setOperandValue(ANeuralNetworksModel* model, int32_t index,
|
ANeuralNetworksModel_setOperandValue :: proc(model: ^ANeuralNetworksModel, index: i32, buffer: rawptr, length: uint) -> NNResultCode ---
|
||||||
const void* buffer, size_t length)
|
|
||||||
__NNAPI_INTRODUCED_IN(27);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets an operand's per channel quantization parameters.
|
* Sets an operand's per channel quantization parameters.
|
||||||
@@ -963,6 +956,7 @@ foreign android {
|
|||||||
* calling {@link ANeuralNetworksModel_finish}.
|
* calling {@link ANeuralNetworksModel_finish}.
|
||||||
*
|
*
|
||||||
* Available since NNAPI feature level 3.
|
* Available since NNAPI feature level 3.
|
||||||
|
* Available since API level 29.
|
||||||
*
|
*
|
||||||
* @param model The model to be modified.
|
* @param model The model to be modified.
|
||||||
* @param index The index of the model operand we're setting.
|
* @param index The index of the model operand we're setting.
|
||||||
@@ -972,9 +966,7 @@ foreign android {
|
|||||||
*
|
*
|
||||||
* @return ANEURALNETWORKS_NO_ERROR if successful.
|
* @return ANEURALNETWORKS_NO_ERROR if successful.
|
||||||
*/
|
*/
|
||||||
int ANeuralNetworksModel_setOperandSymmPerChannelQuantParams(
|
ANeuralNetworksModel_setOperandSymmPerChannelQuantParams :: proc(model: ^ANeuralNetworksModel, index: i32, channelQuant: ^ANeuralNetworksSymmPerChannelQuantParams) -> NNResultCode ---
|
||||||
ANeuralNetworksModel* model, int32_t index,
|
|
||||||
const ANeuralNetworksSymmPerChannelQuantParams* channelQuant) __NNAPI_INTRODUCED_IN(29);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets an operand to a value stored in a memory object.
|
* Sets an operand to a value stored in a memory object.
|
||||||
@@ -1004,6 +996,7 @@ foreign android {
|
|||||||
* AHardwareBuffer usage.
|
* AHardwareBuffer usage.
|
||||||
*
|
*
|
||||||
* Available since NNAPI feature level 1.
|
* Available since NNAPI feature level 1.
|
||||||
|
* Available since API level 27.
|
||||||
*
|
*
|
||||||
* @param model The model to be modified.
|
* @param model The model to be modified.
|
||||||
* @param index The index of the model operand we're setting.
|
* @param index The index of the model operand we're setting.
|
||||||
@@ -1014,10 +1007,7 @@ foreign android {
|
|||||||
*
|
*
|
||||||
* @return ANEURALNETWORKS_NO_ERROR if successful.
|
* @return ANEURALNETWORKS_NO_ERROR if successful.
|
||||||
*/
|
*/
|
||||||
int ANeuralNetworksModel_setOperandValueFromMemory(ANeuralNetworksModel* model, int32_t index,
|
ANeuralNetworksModel_setOperandValueFromMemory :: proc(model: ^ANeuralNetworksModel, index: i32, memory: ^ANeuralNetworksMemory, offset: uint, length: uint) -> NNResultCode ---
|
||||||
const ANeuralNetworksMemory* memory,
|
|
||||||
size_t offset, size_t length)
|
|
||||||
__NNAPI_INTRODUCED_IN(27);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets an operand to a value that is a reference to another NNAPI model.
|
* Sets an operand to a value that is a reference to another NNAPI model.
|
||||||
@@ -1037,6 +1027,7 @@ foreign android {
|
|||||||
* See {@link ANeuralNetworksModel} for information on multithreaded usage.
|
* See {@link ANeuralNetworksModel} for information on multithreaded usage.
|
||||||
*
|
*
|
||||||
* Available since NNAPI feature level 4.
|
* Available since NNAPI feature level 4.
|
||||||
|
* Available since API level 30.
|
||||||
*
|
*
|
||||||
* @param model The model to be modified.
|
* @param model The model to be modified.
|
||||||
* @param index The index of the model operand we're setting.
|
* @param index The index of the model operand we're setting.
|
||||||
@@ -1044,9 +1035,7 @@ foreign android {
|
|||||||
*
|
*
|
||||||
* @return ANEURALNETWORKS_NO_ERROR if successful.
|
* @return ANEURALNETWORKS_NO_ERROR if successful.
|
||||||
*/
|
*/
|
||||||
int ANeuralNetworksModel_setOperandValueFromModel(ANeuralNetworksModel* model, int32_t index,
|
ANeuralNetworksModel_setOperandValueFromModel :: proc(model: ^ANeuralNetworksModel, index: i32, value: ^ANeuralNetworksModel) -> NNResultCode ---
|
||||||
const ANeuralNetworksModel* value)
|
|
||||||
__NNAPI_INTRODUCED_IN(30);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add an operation to a model.
|
* Add an operation to a model.
|
||||||
@@ -1067,13 +1056,11 @@ foreign android {
|
|||||||
* See {@link ANeuralNetworksModel} for information on multithreaded usage.
|
* See {@link ANeuralNetworksModel} for information on multithreaded usage.
|
||||||
*
|
*
|
||||||
* Available since NNAPI feature level 1.
|
* Available since NNAPI feature level 1.
|
||||||
|
* Available since API level 27.
|
||||||
*
|
*
|
||||||
* @return ANEURALNETWORKS_NO_ERROR if successful.
|
* @return ANEURALNETWORKS_NO_ERROR if successful.
|
||||||
*/
|
*/
|
||||||
int ANeuralNetworksModel_addOperation(ANeuralNetworksModel* model,
|
ANeuralNetworksModel_addOperation :: proc(model: ^ANeuralNetworksModel, type: ANeuralNetworksOperationType, inputCount: u32, inputs: [^]u32, outputCount: u32, outputs: [^]u32) -> NNResultCode ---
|
||||||
ANeuralNetworksOperationType type, uint32_t inputCount,
|
|
||||||
const uint32_t* inputs, uint32_t outputCount,
|
|
||||||
const uint32_t* outputs) __NNAPI_INTRODUCED_IN(27);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Specifies which operands will be the model's inputs and
|
* Specifies which operands will be the model's inputs and
|
||||||
@@ -1097,12 +1084,10 @@ foreign android {
|
|||||||
* See {@link ANeuralNetworksModel} for information on multithreaded usage.
|
* See {@link ANeuralNetworksModel} for information on multithreaded usage.
|
||||||
*
|
*
|
||||||
* Available since NNAPI feature level 1.
|
* Available since NNAPI feature level 1.
|
||||||
|
* Available since API level 27.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
int ANeuralNetworksModel_identifyInputsAndOutputs(ANeuralNetworksModel* model, uint32_t inputCount,
|
ANeuralNetworksModel_identifyInputsAndOutputs :: proc(model: ^ANeuralNetworksModel, inputCount: u32, inputs: [^]u32, outputCount: u32, outputs: [^]u32) -> NNResultCode ---
|
||||||
const uint32_t* inputs, uint32_t outputCount,
|
|
||||||
const uint32_t* outputs)
|
|
||||||
__NNAPI_INTRODUCED_IN(27);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Specifies whether {@link ANEURALNETWORKS_TENSOR_FLOAT32} is allowed to be
|
* Specifies whether {@link ANEURALNETWORKS_TENSOR_FLOAT32} is allowed to be
|
||||||
@@ -1126,11 +1111,11 @@ foreign android {
|
|||||||
* called will return an error.
|
* called will return an error.
|
||||||
*
|
*
|
||||||
* Available since NNAPI feature level 2.
|
* Available since NNAPI feature level 2.
|
||||||
|
* Available since API level 28.
|
||||||
*
|
*
|
||||||
* See {@link ANeuralNetworksModel} for information on multithreaded usage.
|
* See {@link ANeuralNetworksModel} for information on multithreaded usage.
|
||||||
*/
|
*/
|
||||||
int ANeuralNetworksModel_relaxComputationFloat32toFloat16(ANeuralNetworksModel* model, bool allow)
|
ANeuralNetworksModel_relaxComputationFloat32toFloat16 :: proc(model: ^ANeuralNetworksModel, allow: bool) -> NNResultCode ---
|
||||||
__NNAPI_INTRODUCED_IN(28);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a {@link ANeuralNetworksCompilation} to compile the given model.
|
* Create a {@link ANeuralNetworksCompilation} to compile the given model.
|
||||||
@@ -1156,6 +1141,7 @@ foreign android {
|
|||||||
* See {@link ANeuralNetworksCompilation} for information on multithreaded usage.
|
* See {@link ANeuralNetworksCompilation} for information on multithreaded usage.
|
||||||
*
|
*
|
||||||
* Available since NNAPI feature level 1.
|
* Available since NNAPI feature level 1.
|
||||||
|
* Available since API level 27.
|
||||||
*
|
*
|
||||||
* @param model The {@link ANeuralNetworksModel} to be compiled.
|
* @param model The {@link ANeuralNetworksModel} to be compiled.
|
||||||
* @param compilation The newly created object or NULL if unsuccessful.
|
* @param compilation The newly created object or NULL if unsuccessful.
|
||||||
@@ -1163,9 +1149,7 @@ foreign android {
|
|||||||
* @return ANEURALNETWORKS_NO_ERROR if successful, ANEURALNETWORKS_BAD_DATA
|
* @return ANEURALNETWORKS_NO_ERROR if successful, ANEURALNETWORKS_BAD_DATA
|
||||||
* if the model is invalid.
|
* if the model is invalid.
|
||||||
*/
|
*/
|
||||||
int ANeuralNetworksCompilation_create(ANeuralNetworksModel* model,
|
ANeuralNetworksCompilation_create :: proc(model: ^ANeuralNetworksModel, compilation: ^^ANeuralNetworksCompilation) -> NNResultCode ---
|
||||||
ANeuralNetworksCompilation** compilation)
|
|
||||||
__NNAPI_INTRODUCED_IN(27);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Destroy a compilation.
|
* Destroy a compilation.
|
||||||
@@ -1176,12 +1160,12 @@ foreign android {
|
|||||||
* See {@link ANeuralNetworksCompilation} for information on multithreaded usage.
|
* See {@link ANeuralNetworksCompilation} for information on multithreaded usage.
|
||||||
*
|
*
|
||||||
* Available since NNAPI feature level 1.
|
* Available since NNAPI feature level 1.
|
||||||
|
* Available since API level 27.
|
||||||
*
|
*
|
||||||
* @param compilation The compilation to be destroyed. Passing NULL is acceptable and
|
* @param compilation The compilation to be destroyed. Passing NULL is acceptable and
|
||||||
* results in no operation.
|
* results in no operation.
|
||||||
*/
|
*/
|
||||||
void ANeuralNetworksCompilation_free(ANeuralNetworksCompilation* compilation)
|
ANeuralNetworksCompilation_free :: proc(compilation: ^ANeuralNetworksCompilation) ---
|
||||||
__NNAPI_INTRODUCED_IN(27);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the execution preference.
|
* Sets the execution preference.
|
||||||
@@ -1192,6 +1176,7 @@ foreign android {
|
|||||||
* See {@link ANeuralNetworksCompilation} for information on multithreaded usage.
|
* See {@link ANeuralNetworksCompilation} for information on multithreaded usage.
|
||||||
*
|
*
|
||||||
* Available since NNAPI feature level 1.
|
* Available since NNAPI feature level 1.
|
||||||
|
* Available since API level 27.
|
||||||
*
|
*
|
||||||
* @param compilation The compilation to be modified.
|
* @param compilation The compilation to be modified.
|
||||||
* @param preference Either {@link ANEURALNETWORKS_PREFER_LOW_POWER},
|
* @param preference Either {@link ANEURALNETWORKS_PREFER_LOW_POWER},
|
||||||
@@ -1200,8 +1185,7 @@ foreign android {
|
|||||||
*
|
*
|
||||||
* @return ANEURALNETWORKS_NO_ERROR if successful.
|
* @return ANEURALNETWORKS_NO_ERROR if successful.
|
||||||
*/
|
*/
|
||||||
int ANeuralNetworksCompilation_setPreference(ANeuralNetworksCompilation* compilation,
|
ANeuralNetworksCompilation_setPreference :: proc(compilation: ^ANeuralNetworksCompilation, preference: PreferenceCode) -> NNResultCode ---
|
||||||
int32_t preference) __NNAPI_INTRODUCED_IN(27);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Indicate that we have finished modifying a compilation. Required before
|
* Indicate that we have finished modifying a compilation. Required before
|
||||||
@@ -1221,13 +1205,13 @@ foreign android {
|
|||||||
* See {@link ANeuralNetworksCompilation} for information on multithreaded usage.
|
* See {@link ANeuralNetworksCompilation} for information on multithreaded usage.
|
||||||
*
|
*
|
||||||
* Available since NNAPI feature level 1.
|
* Available since NNAPI feature level 1.
|
||||||
|
* Available since API level 27.
|
||||||
*
|
*
|
||||||
* @param compilation The compilation to be finished.
|
* @param compilation The compilation to be finished.
|
||||||
*
|
*
|
||||||
* @return ANEURALNETWORKS_NO_ERROR if successful.
|
* @return ANEURALNETWORKS_NO_ERROR if successful.
|
||||||
*/
|
*/
|
||||||
int ANeuralNetworksCompilation_finish(ANeuralNetworksCompilation* compilation)
|
ANeuralNetworksCompilation_finish :: proc(compilation: ^ANeuralNetworksCompilation) -> NNResultCode ---
|
||||||
__NNAPI_INTRODUCED_IN(27);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the execution priority.
|
* Set the execution priority.
|
||||||
@@ -1244,6 +1228,7 @@ foreign android {
|
|||||||
* See {@link ANeuralNetworksCompilation} for information on multithreaded usage.
|
* See {@link ANeuralNetworksCompilation} for information on multithreaded usage.
|
||||||
*
|
*
|
||||||
* Available since NNAPI feature level 4.
|
* Available since NNAPI feature level 4.
|
||||||
|
* Available since API level 30.
|
||||||
*
|
*
|
||||||
* @param compilation The compilation to be modified.
|
* @param compilation The compilation to be modified.
|
||||||
* @param priority The relative priority of the execution compared to other
|
* @param priority The relative priority of the execution compared to other
|
||||||
@@ -1252,8 +1237,7 @@ foreign android {
|
|||||||
*
|
*
|
||||||
* @return ANEURALNETWORKS_NO_ERROR if successful.
|
* @return ANEURALNETWORKS_NO_ERROR if successful.
|
||||||
*/
|
*/
|
||||||
int ANeuralNetworksCompilation_setPriority(ANeuralNetworksCompilation* compilation, int priority)
|
ANeuralNetworksCompilation_setPriority :: proc(compilation: ^ANeuralNetworksCompilation, priority: PriorityCode) -> NNResultCode ---
|
||||||
__NNAPI_INTRODUCED_IN(30);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the maximum expected duration for compiling the model.
|
* Set the maximum expected duration for compiling the model.
|
||||||
@@ -1294,9 +1278,9 @@ foreign android {
|
|||||||
* @return ANEURALNETWORKS_NO_ERROR if successful.
|
* @return ANEURALNETWORKS_NO_ERROR if successful.
|
||||||
*
|
*
|
||||||
* Available since NNAPI feature level 4.
|
* Available since NNAPI feature level 4.
|
||||||
|
* Available since API level 30.
|
||||||
*/
|
*/
|
||||||
int ANeuralNetworksCompilation_setTimeout(ANeuralNetworksCompilation* compilation,
|
ANeuralNetworksCompilation_setTimeout :: proc(compilation: ^ANeuralNetworksCompilation, duration: u64) -> NNResultCode ---
|
||||||
uint64_t duration) __NNAPI_INTRODUCED_IN(30);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a {@link ANeuralNetworksExecution} to apply the given compilation.
|
* Create a {@link ANeuralNetworksExecution} to apply the given compilation.
|
||||||
@@ -1311,6 +1295,7 @@ foreign android {
|
|||||||
* See {@link ANeuralNetworksExecution} for information on multithreaded usage.
|
* See {@link ANeuralNetworksExecution} for information on multithreaded usage.
|
||||||
*
|
*
|
||||||
* Available since NNAPI feature level 1.
|
* Available since NNAPI feature level 1.
|
||||||
|
* Available since API level 27.
|
||||||
*
|
*
|
||||||
* @param compilation The {@link ANeuralNetworksCompilation} to be evaluated.
|
* @param compilation The {@link ANeuralNetworksCompilation} to be evaluated.
|
||||||
* @param execution The newly created object or NULL if unsuccessful.
|
* @param execution The newly created object or NULL if unsuccessful.
|
||||||
@@ -1318,8 +1303,7 @@ foreign android {
|
|||||||
* @return ANEURALNETWORKS_NO_ERROR if successful, ANEURALNETWORKS_BAD_DATA
|
* @return ANEURALNETWORKS_NO_ERROR if successful, ANEURALNETWORKS_BAD_DATA
|
||||||
* if the compilation is invalid.
|
* if the compilation is invalid.
|
||||||
*/
|
*/
|
||||||
int ANeuralNetworksExecution_create(ANeuralNetworksCompilation* compilation,
|
ANeuralNetworksExecution_create :: proc(compilation: ^ANeuralNetworksCompilation, execution: ^^ANeuralNetworksExecution) -> NNResultCode ---
|
||||||
ANeuralNetworksExecution** execution) __NNAPI_INTRODUCED_IN(27);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Destroy an execution.
|
* Destroy an execution.
|
||||||
@@ -1328,7 +1312,7 @@ foreign android {
|
|||||||
* {@link ANeuralNetworksExecution_burstCompute},
|
* {@link ANeuralNetworksExecution_burstCompute},
|
||||||
* {@link ANeuralNetworksExecution_compute},
|
* {@link ANeuralNetworksExecution_compute},
|
||||||
* {@link ANeuralNetworksExecution_startCompute} or
|
* {@link ANeuralNetworksExecution_startCompute} or
|
||||||
* {@link ANeuralNetworksExecution_startComputeWithDependencies}; but if it has been scheduled,
|
* {@link ANeuralNetworksExecution_startComputeWithDependencies} but if it has been scheduled,
|
||||||
* then the application must not call {@link ANeuralNetworksExecution_free}
|
* then the application must not call {@link ANeuralNetworksExecution_free}
|
||||||
* until the execution has completed (i.e.,
|
* until the execution has completed (i.e.,
|
||||||
* {@link ANeuralNetworksExecution_burstCompute},
|
* {@link ANeuralNetworksExecution_burstCompute},
|
||||||
@@ -1338,11 +1322,12 @@ foreign android {
|
|||||||
* See {@link ANeuralNetworksExecution} for information on multithreaded usage.
|
* See {@link ANeuralNetworksExecution} for information on multithreaded usage.
|
||||||
*
|
*
|
||||||
* Available since NNAPI feature level 1.
|
* Available since NNAPI feature level 1.
|
||||||
|
* Available since API level 27.
|
||||||
*
|
*
|
||||||
* @param execution The execution to be destroyed. Passing NULL is acceptable and
|
* @param execution The execution to be destroyed. Passing NULL is acceptable and
|
||||||
* results in no operation.
|
* results in no operation.
|
||||||
*/
|
*/
|
||||||
void ANeuralNetworksExecution_free(ANeuralNetworksExecution* execution) __NNAPI_INTRODUCED_IN(27);
|
ANeuralNetworksExecution_free :: proc(execution: ^ANeuralNetworksExecution) ---
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Associate a user buffer with an input of the model of the
|
* Associate a user buffer with an input of the model of the
|
||||||
@@ -1377,6 +1362,7 @@ foreign android {
|
|||||||
* preferred buffer alignment and padding, to improve performance.
|
* preferred buffer alignment and padding, to improve performance.
|
||||||
*
|
*
|
||||||
* Available since NNAPI feature level 1.
|
* Available since NNAPI feature level 1.
|
||||||
|
* Available since API level 27.
|
||||||
*
|
*
|
||||||
* @param execution The execution to be modified.
|
* @param execution The execution to be modified.
|
||||||
* @param index The index of the input argument we are setting. It is
|
* @param index The index of the input argument we are setting. It is
|
||||||
@@ -1400,9 +1386,7 @@ foreign android {
|
|||||||
* @return ANEURALNETWORKS_NO_ERROR if successful, ANEURALNETWORKS_BAD_DATA if the
|
* @return ANEURALNETWORKS_NO_ERROR if successful, ANEURALNETWORKS_BAD_DATA if the
|
||||||
* name is not recognized or the buffer is too small for the input.
|
* name is not recognized or the buffer is too small for the input.
|
||||||
*/
|
*/
|
||||||
int ANeuralNetworksExecution_setInput(ANeuralNetworksExecution* execution, int32_t index,
|
ANeuralNetworksExecution_setInput :: proc(execution: ^ANeuralNetworksExecution, index: i32, type: ^ANeuralNetworksOperandType, buffer: rawptr, length: uint) -> NNResultCode ---
|
||||||
const ANeuralNetworksOperandType* type, const void* buffer,
|
|
||||||
size_t length) __NNAPI_INTRODUCED_IN(27);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Associate a region of a memory object with an input of the model of the
|
* Associate a region of a memory object with an input of the model of the
|
||||||
@@ -1447,6 +1431,7 @@ foreign android {
|
|||||||
* preferred memory alignment and padding, to improve performance.
|
* preferred memory alignment and padding, to improve performance.
|
||||||
*
|
*
|
||||||
* Available since NNAPI feature level 1.
|
* Available since NNAPI feature level 1.
|
||||||
|
* Available since API level 27.
|
||||||
*
|
*
|
||||||
* @param execution The execution to be modified.
|
* @param execution The execution to be modified.
|
||||||
* @param index The index of the input argument we are setting. It is
|
* @param index The index of the input argument we are setting. It is
|
||||||
@@ -1470,10 +1455,7 @@ foreign android {
|
|||||||
* @return ANEURALNETWORKS_NO_ERROR if successful, ANEURALNETWORKS_BAD_DATA if the
|
* @return ANEURALNETWORKS_NO_ERROR if successful, ANEURALNETWORKS_BAD_DATA if the
|
||||||
* name is not recognized or the buffer is too small for the input.
|
* name is not recognized or the buffer is too small for the input.
|
||||||
*/
|
*/
|
||||||
int ANeuralNetworksExecution_setInputFromMemory(ANeuralNetworksExecution* execution, int32_t index,
|
ANeuralNetworksExecution_setInputFromMemory :: proc(execution: ^ANeuralNetworksExecution, index: i32, type: ^ANeuralNetworksOperandType, memory: ^ANeuralNetworksMemory, offset: uint, length: uint) -> NNResultCode ---
|
||||||
const ANeuralNetworksOperandType* type,
|
|
||||||
const ANeuralNetworksMemory* memory, size_t offset,
|
|
||||||
size_t length) __NNAPI_INTRODUCED_IN(27);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Associate a user buffer with an output of the model of the
|
* Associate a user buffer with an output of the model of the
|
||||||
@@ -1507,6 +1489,7 @@ foreign android {
|
|||||||
* preferred buffer alignment and padding, to improve performance.
|
* preferred buffer alignment and padding, to improve performance.
|
||||||
*
|
*
|
||||||
* Available since NNAPI feature level 1.
|
* Available since NNAPI feature level 1.
|
||||||
|
* Available since API level 27.
|
||||||
*
|
*
|
||||||
* @param execution The execution to be modified.
|
* @param execution The execution to be modified.
|
||||||
* @param index The index of the output argument we are setting. It is
|
* @param index The index of the output argument we are setting. It is
|
||||||
@@ -1535,9 +1518,7 @@ foreign android {
|
|||||||
* @return ANEURALNETWORKS_NO_ERROR if successful, ANEURALNETWORKS_BAD_DATA if the
|
* @return ANEURALNETWORKS_NO_ERROR if successful, ANEURALNETWORKS_BAD_DATA if the
|
||||||
* name is not recognized or the buffer is too small for the output.
|
* name is not recognized or the buffer is too small for the output.
|
||||||
*/
|
*/
|
||||||
int ANeuralNetworksExecution_setOutput(ANeuralNetworksExecution* execution, int32_t index,
|
ANeuralNetworksExecution_setOutput :: proc(execution: ^ANeuralNetworksExecution, index: i32, type: ^ANeuralNetworksOperandType, buffer: rawptr, length: uint) -> NNResultCode ---
|
||||||
const ANeuralNetworksOperandType* type, void* buffer,
|
|
||||||
size_t length) __NNAPI_INTRODUCED_IN(27);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Associate a region of a memory object with an output of the model of the
|
* Associate a region of a memory object with an output of the model of the
|
||||||
@@ -1581,6 +1562,7 @@ foreign android {
|
|||||||
* preferred memory alignment and padding, to improve performance.
|
* preferred memory alignment and padding, to improve performance.
|
||||||
*
|
*
|
||||||
* Available since NNAPI feature level 1.
|
* Available since NNAPI feature level 1.
|
||||||
|
* Available since API level 27.
|
||||||
*
|
*
|
||||||
* @param execution The execution to be modified.
|
* @param execution The execution to be modified.
|
||||||
* @param index The index of the output argument we are setting. It is
|
* @param index The index of the output argument we are setting. It is
|
||||||
@@ -1610,10 +1592,7 @@ foreign android {
|
|||||||
* @return ANEURALNETWORKS_NO_ERROR if successful, ANEURALNETWORKS_BAD_DATA if the
|
* @return ANEURALNETWORKS_NO_ERROR if successful, ANEURALNETWORKS_BAD_DATA if the
|
||||||
* name is not recognized or the buffer is too small for the output.
|
* name is not recognized or the buffer is too small for the output.
|
||||||
*/
|
*/
|
||||||
int ANeuralNetworksExecution_setOutputFromMemory(ANeuralNetworksExecution* execution, int32_t index,
|
ANeuralNetworksExecution_setOutputFromMemory :: proc(execution: ^ANeuralNetworksExecution, index: i32, type: ^ANeuralNetworksOperandType, memory: ^ANeuralNetworksMemory, offset: uint, length: uint) -> NNResultCode ---
|
||||||
const ANeuralNetworksOperandType* type,
|
|
||||||
const ANeuralNetworksMemory* memory, size_t offset,
|
|
||||||
size_t length) __NNAPI_INTRODUCED_IN(27);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Schedule asynchronous evaluation of the execution.
|
* Schedule asynchronous evaluation of the execution.
|
||||||
@@ -1660,6 +1639,7 @@ foreign android {
|
|||||||
* asynchronous execution with dependencies.
|
* asynchronous execution with dependencies.
|
||||||
*
|
*
|
||||||
* Available since NNAPI feature level 1.
|
* Available since NNAPI feature level 1.
|
||||||
|
* Available since API level 27.
|
||||||
*
|
*
|
||||||
* @param execution The execution to be scheduled and executed.
|
* @param execution The execution to be scheduled and executed.
|
||||||
* @param event The event that will be signaled on completion. event is set to
|
* @param event The event that will be signaled on completion. event is set to
|
||||||
@@ -1667,8 +1647,7 @@ foreign android {
|
|||||||
*
|
*
|
||||||
* @return ANEURALNETWORKS_NO_ERROR if the evaluation is successfully scheduled.
|
* @return ANEURALNETWORKS_NO_ERROR if the evaluation is successfully scheduled.
|
||||||
*/
|
*/
|
||||||
int ANeuralNetworksExecution_startCompute(ANeuralNetworksExecution* execution,
|
ANeuralNetworksExecution_startCompute :: proc(execution: ^ANeuralNetworksExecution, event: ^^ANeuralNetworksEvent) -> NNResultCode ---
|
||||||
ANeuralNetworksEvent** event) __NNAPI_INTRODUCED_IN(27);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the maximum expected duration of the specified execution.
|
* Set the maximum expected duration of the specified execution.
|
||||||
@@ -1715,9 +1694,9 @@ foreign android {
|
|||||||
* @return ANEURALNETWORKS_NO_ERROR if successful.
|
* @return ANEURALNETWORKS_NO_ERROR if successful.
|
||||||
*
|
*
|
||||||
* Available since NNAPI feature level 4.
|
* Available since NNAPI feature level 4.
|
||||||
|
* Available since API level 30.
|
||||||
*/
|
*/
|
||||||
int ANeuralNetworksExecution_setTimeout(ANeuralNetworksExecution* execution, uint64_t duration)
|
ANeuralNetworksExecution_setTimeout :: proc(execution: ^ANeuralNetworksExecution, duration: u64) -> NNResultCode ---
|
||||||
__NNAPI_INTRODUCED_IN(30);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the maximum duration of WHILE loops in the specified execution.
|
* Set the maximum duration of WHILE loops in the specified execution.
|
||||||
@@ -1746,9 +1725,9 @@ foreign android {
|
|||||||
* ANEURALNETWORKS_UNEXPECTED_NULL if execution is NULL.
|
* ANEURALNETWORKS_UNEXPECTED_NULL if execution is NULL.
|
||||||
*
|
*
|
||||||
* Available since NNAPI feature level 4.
|
* Available since NNAPI feature level 4.
|
||||||
|
* Available since API level 30.
|
||||||
*/
|
*/
|
||||||
int ANeuralNetworksExecution_setLoopTimeout(ANeuralNetworksExecution* execution, uint64_t duration)
|
ANeuralNetworksExecution_setLoopTimeout :: proc(execution: ^ANeuralNetworksExecution, duration: u64) -> NNResultCode ---
|
||||||
__NNAPI_INTRODUCED_IN(30);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the default timeout value for WHILE loops.
|
* Get the default timeout value for WHILE loops.
|
||||||
@@ -1756,8 +1735,9 @@ foreign android {
|
|||||||
* @return The default timeout value in nanoseconds.
|
* @return The default timeout value in nanoseconds.
|
||||||
*
|
*
|
||||||
* Available since NNAPI feature level 4.
|
* Available since NNAPI feature level 4.
|
||||||
|
* Available since API level 30.
|
||||||
*/
|
*/
|
||||||
uint64_t ANeuralNetworks_getDefaultLoopTimeout() __NNAPI_INTRODUCED_IN(30);
|
ANeuralNetworks_getDefaultLoopTimeout :: proc() -> u64 ---
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the maximum timeout value for WHILE loops.
|
* Get the maximum timeout value for WHILE loops.
|
||||||
@@ -1765,8 +1745,9 @@ foreign android {
|
|||||||
* @return The maximum timeout value in nanoseconds.
|
* @return The maximum timeout value in nanoseconds.
|
||||||
*
|
*
|
||||||
* Available since NNAPI feature level 4.
|
* Available since NNAPI feature level 4.
|
||||||
|
* Available since API level 30.
|
||||||
*/
|
*/
|
||||||
uint64_t ANeuralNetworks_getMaximumLoopTimeout() __NNAPI_INTRODUCED_IN(30);
|
ANeuralNetworks_getMaximumLoopTimeout :: proc() -> u64 ---
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Waits until the execution completes.
|
* Waits until the execution completes.
|
||||||
@@ -1787,13 +1768,14 @@ foreign android {
|
|||||||
* See {@link ANeuralNetworksExecution} for information on execution states and multithreaded usage.
|
* See {@link ANeuralNetworksExecution} for information on execution states and multithreaded usage.
|
||||||
*
|
*
|
||||||
* Available since NNAPI feature level 1.
|
* Available since NNAPI feature level 1.
|
||||||
|
* Available since API level 27.
|
||||||
*
|
*
|
||||||
* @param event The event that will be signaled on completion.
|
* @param event The event that will be signaled on completion.
|
||||||
* @return ANEURALNETWORKS_NO_ERROR if the execution completed normally.
|
* @return ANEURALNETWORKS_NO_ERROR if the execution completed normally.
|
||||||
* ANEURALNETWORKS_UNMAPPABLE if the execution input or output memory cannot
|
* ANEURALNETWORKS_UNMAPPABLE if the execution input or output memory cannot
|
||||||
* be properly mapped.
|
* be properly mapped.
|
||||||
*/
|
*/
|
||||||
int ANeuralNetworksEvent_wait(ANeuralNetworksEvent* event) __NNAPI_INTRODUCED_IN(27);
|
ANeuralNetworksEvent_wait :: proc(event: ^ANeuralNetworksEvent) -> NNResultCode ---
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Destroys the event.
|
* Destroys the event.
|
||||||
@@ -1801,11 +1783,12 @@ foreign android {
|
|||||||
* See {@link ANeuralNetworksExecution} for information on multithreaded usage.
|
* See {@link ANeuralNetworksExecution} for information on multithreaded usage.
|
||||||
*
|
*
|
||||||
* Available since NNAPI feature level 1.
|
* Available since NNAPI feature level 1.
|
||||||
|
* Available since API level 27.
|
||||||
*
|
*
|
||||||
* @param event The event object to be destroyed. Passing NULL is acceptable and
|
* @param event The event object to be destroyed. Passing NULL is acceptable and
|
||||||
* results in no operation.
|
* results in no operation.
|
||||||
*/
|
*/
|
||||||
void ANeuralNetworksEvent_free(ANeuralNetworksEvent* event) __NNAPI_INTRODUCED_IN(27);
|
ANeuralNetworksEvent_free :: proc(event: ^ANeuralNetworksEvent) ---
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a {@link ANeuralNetworksEvent} from a sync_fence file descriptor.
|
* Create a {@link ANeuralNetworksEvent} from a sync_fence file descriptor.
|
||||||
@@ -1819,9 +1802,9 @@ foreign android {
|
|||||||
* @return ANEURALNETWORKS_NO_ERROR if successful.
|
* @return ANEURALNETWORKS_NO_ERROR if successful.
|
||||||
*
|
*
|
||||||
* Available since NNAPI feature level 4.
|
* Available since NNAPI feature level 4.
|
||||||
|
* Available since API level 30.
|
||||||
*/
|
*/
|
||||||
int ANeuralNetworksEvent_createFromSyncFenceFd(int sync_fence_fd, ANeuralNetworksEvent** event)
|
ANeuralNetworksEvent_createFromSyncFenceFd :: proc(sync_fence_fd: i32, event: ^^ANeuralNetworksEvent) -> NNResultCode ---
|
||||||
__NNAPI_INTRODUCED_IN(30);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get sync_fence file descriptor from the event.
|
* Get sync_fence file descriptor from the event.
|
||||||
@@ -1843,9 +1826,9 @@ foreign android {
|
|||||||
* @return ANEURALNETWORKS_NO_ERROR if successful.
|
* @return ANEURALNETWORKS_NO_ERROR if successful.
|
||||||
*
|
*
|
||||||
* Available since NNAPI feature level 4.
|
* Available since NNAPI feature level 4.
|
||||||
|
* Available since API level 30.
|
||||||
*/
|
*/
|
||||||
int ANeuralNetworksEvent_getSyncFenceFd(const ANeuralNetworksEvent* event, int* sync_fence_fd)
|
ANeuralNetworksEvent_getSyncFenceFd :: proc(event: ^ANeuralNetworksEvent, sync_fence_fd: ^i32) -> NNResultCode ---
|
||||||
__NNAPI_INTRODUCED_IN(30);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Schedule asynchronous evaluation of the execution with dependencies.
|
* Schedule asynchronous evaluation of the execution with dependencies.
|
||||||
@@ -1922,11 +1905,9 @@ foreign android {
|
|||||||
* @return ANEURALNETWORKS_NO_ERROR if the evaluation is successfully scheduled.
|
* @return ANEURALNETWORKS_NO_ERROR if the evaluation is successfully scheduled.
|
||||||
*
|
*
|
||||||
* Available since NNAPI feature level 4.
|
* Available since NNAPI feature level 4.
|
||||||
|
* Available since API level 30.
|
||||||
*/
|
*/
|
||||||
int ANeuralNetworksExecution_startComputeWithDependencies(
|
ANeuralNetworksExecution_startComputeWithDependencies :: proc(execution: ^ANeuralNetworksExecution, dependencies: ^^ANeuralNetworksEvent, num_dependencies: u32, duration: u64, event: ^^ANeuralNetworksEvent) -> NNResultCode ---
|
||||||
ANeuralNetworksExecution* execution, const ANeuralNetworksEvent* const* dependencies,
|
|
||||||
uint32_t num_dependencies, uint64_t duration, ANeuralNetworksEvent** event)
|
|
||||||
__NNAPI_INTRODUCED_IN(30);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the NNAPI runtime feature level.
|
* Get the NNAPI runtime feature level.
|
||||||
@@ -1946,9 +1927,9 @@ foreign android {
|
|||||||
* after NNAPI feature level 5 and API levels after S (31).
|
* after NNAPI feature level 5 and API levels after S (31).
|
||||||
*
|
*
|
||||||
* Example usage:
|
* Example usage:
|
||||||
* int device_api_level = android_get_device_api_level();
|
* int device_api_level = android_get_device_api_level()
|
||||||
* int64_t runtime_feature_level = (device_api_level < __ANDROID_API_S__) ?
|
* int64_t runtime_feature_level = (device_api_level < __ANDROID_API_S__) ?
|
||||||
* device_api_level : ANeuralNetworks_getRuntimeFeatureLevel();
|
* device_api_level : ANeuralNetworks_getRuntimeFeatureLevel()
|
||||||
*
|
*
|
||||||
* Runtime feature level is closely related to NNAPI device feature level
|
* Runtime feature level is closely related to NNAPI device feature level
|
||||||
* ({@link ANeuralNetworksDevice_getFeatureLevel}), which indicates an NNAPI device feature level
|
* ({@link ANeuralNetworksDevice_getFeatureLevel}), which indicates an NNAPI device feature level
|
||||||
@@ -1962,8 +1943,9 @@ foreign android {
|
|||||||
* It is NOT an Android API level.
|
* It is NOT an Android API level.
|
||||||
*
|
*
|
||||||
* Available since NNAPI feature level 5.
|
* Available since NNAPI feature level 5.
|
||||||
|
* Available since API level 31.
|
||||||
*/
|
*/
|
||||||
int64_t ANeuralNetworks_getRuntimeFeatureLevel() __NNAPI_INTRODUCED_IN(31);
|
ANeuralNetworks_getRuntimeFeatureLevel :: proc() -> FeatureLevelCode ---
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Specifies whether the {@link ANeuralNetworksExecution} is able to accept padded input and output
|
* Specifies whether the {@link ANeuralNetworksExecution} is able to accept padded input and output
|
||||||
@@ -1998,9 +1980,9 @@ foreign android {
|
|||||||
* {@link ANeuralNetworksExecution_setOutputFromMemory} has been called on the execution.
|
* {@link ANeuralNetworksExecution_setOutputFromMemory} has been called on the execution.
|
||||||
*
|
*
|
||||||
* Available since NNAPI feature level 5.
|
* Available since NNAPI feature level 5.
|
||||||
|
* Available since API level 31.
|
||||||
*/
|
*/
|
||||||
int ANeuralNetworksExecution_enableInputAndOutputPadding(ANeuralNetworksExecution* execution,
|
ANeuralNetworksExecution_enableInputAndOutputPadding :: proc(execution: ^ANeuralNetworksExecution, enable: bool) -> NNResultCode ---
|
||||||
bool enable) __NNAPI_INTRODUCED_IN(31);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the preferred buffer and memory alignment of an input to an execution created from a
|
* Get the preferred buffer and memory alignment of an input to an execution created from a
|
||||||
@@ -2029,10 +2011,9 @@ foreign android {
|
|||||||
* ANEURALNETWORKS_BAD_DATA if the index is out of range.
|
* ANEURALNETWORKS_BAD_DATA if the index is out of range.
|
||||||
*
|
*
|
||||||
* Available since NNAPI feature level 5.
|
* Available since NNAPI feature level 5.
|
||||||
|
* Available since API level 31.
|
||||||
*/
|
*/
|
||||||
int ANeuralNetworksCompilation_getPreferredMemoryAlignmentForInput(
|
ANeuralNetworksCompilation_getPreferredMemoryAlignmentForInput :: proc(compilation: ^ANeuralNetworksCompilation, index: u32, alignment: ^u32) -> NNResultCode ---
|
||||||
const ANeuralNetworksCompilation* compilation, uint32_t index, uint32_t* alignment)
|
|
||||||
__NNAPI_INTRODUCED_IN(31);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the preferred buffer and memory end padding of an input to an execution created from a
|
* Get the preferred buffer and memory end padding of an input to an execution created from a
|
||||||
@@ -2067,10 +2048,9 @@ foreign android {
|
|||||||
* ANEURALNETWORKS_BAD_DATA if the index is out of range.
|
* ANEURALNETWORKS_BAD_DATA if the index is out of range.
|
||||||
*
|
*
|
||||||
* Available since NNAPI feature level 5.
|
* Available since NNAPI feature level 5.
|
||||||
|
* Available since API level 31.
|
||||||
*/
|
*/
|
||||||
int ANeuralNetworksCompilation_getPreferredMemoryPaddingForInput(
|
ANeuralNetworksCompilation_getPreferredMemoryPaddingForInput :: proc(compilation: ^ANeuralNetworksCompilation, index: u32, padding: ^u32) -> NNResultCode ---
|
||||||
const ANeuralNetworksCompilation* compilation, uint32_t index, uint32_t* padding)
|
|
||||||
__NNAPI_INTRODUCED_IN(31);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the preferred buffer and memory alignment of an output to an execution created from a
|
* Get the preferred buffer and memory alignment of an output to an execution created from a
|
||||||
@@ -2099,10 +2079,9 @@ foreign android {
|
|||||||
* ANEURALNETWORKS_BAD_DATA if the index is out of range.
|
* ANEURALNETWORKS_BAD_DATA if the index is out of range.
|
||||||
*
|
*
|
||||||
* Available since NNAPI feature level 5.
|
* Available since NNAPI feature level 5.
|
||||||
|
* Available since API level 31.
|
||||||
*/
|
*/
|
||||||
int ANeuralNetworksCompilation_getPreferredMemoryAlignmentForOutput(
|
ANeuralNetworksCompilation_getPreferredMemoryAlignmentForOutput :: proc(compilation: ^ANeuralNetworksCompilation, index: u32, alignment: ^u32) -> NNResultCode ---
|
||||||
const ANeuralNetworksCompilation* compilation, uint32_t index, uint32_t* alignment)
|
|
||||||
__NNAPI_INTRODUCED_IN(31);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the preferred memory end padding of an output to an execution created from a particular
|
* Get the preferred memory end padding of an output to an execution created from a particular
|
||||||
@@ -2137,10 +2116,9 @@ foreign android {
|
|||||||
* ANEURALNETWORKS_BAD_DATA if the index is out of range.
|
* ANEURALNETWORKS_BAD_DATA if the index is out of range.
|
||||||
*
|
*
|
||||||
* Available since NNAPI feature level 5.
|
* Available since NNAPI feature level 5.
|
||||||
|
* Available since API level 31.
|
||||||
*/
|
*/
|
||||||
int ANeuralNetworksCompilation_getPreferredMemoryPaddingForOutput(
|
ANeuralNetworksCompilation_getPreferredMemoryPaddingForOutput :: proc(compilation: ^ANeuralNetworksCompilation, index: u32, padding: ^u32) -> NNResultCode ---
|
||||||
const ANeuralNetworksCompilation* compilation, uint32_t index, uint32_t* padding)
|
|
||||||
__NNAPI_INTRODUCED_IN(31);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Specifies whether the {@link ANeuralNetworksExecution} can be reused for multiple computations.
|
* Specifies whether the {@link ANeuralNetworksExecution} can be reused for multiple computations.
|
||||||
@@ -2166,7 +2144,7 @@ foreign android {
|
|||||||
* ANEURALNETWORKS_BAD_STATE if the execution is not in the preparation state.
|
* ANEURALNETWORKS_BAD_STATE if the execution is not in the preparation state.
|
||||||
*
|
*
|
||||||
* Available since NNAPI feature level 5.
|
* Available since NNAPI feature level 5.
|
||||||
|
* Available since API level 31.
|
||||||
*/
|
*/
|
||||||
int ANeuralNetworksExecution_setReusable(ANeuralNetworksExecution* execution, bool reusable)
|
ANeuralNetworksExecution_setReusable :: proc(execution: ^ANeuralNetworksExecution, reusable: bool) -> NNResultCode ---
|
||||||
__NNAPI_INTRODUCED_IN(31);
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ ANEURALNETWORKS_BYTE_SIZE_OF_CACHE_TOKEN :: 32
|
|||||||
* Aliasing to {@link OperationCode}, used in function
|
* Aliasing to {@link OperationCode}, used in function
|
||||||
* {@link ANeuralNetworksModel_addOperation}.
|
* {@link ANeuralNetworksModel_addOperation}.
|
||||||
*/
|
*/
|
||||||
ANeuralNetworksOperationType :: i32
|
ANeuralNetworksOperationType :: OperationCode
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Operand types.
|
* Operand types.
|
||||||
@@ -186,7 +186,7 @@ OperandCode :: enum i32 {
|
|||||||
*
|
*
|
||||||
* Available since NNAPI feature level 1.
|
* Available since NNAPI feature level 1.
|
||||||
*/
|
*/
|
||||||
OperationCode :: enum {
|
OperationCode :: enum i32 {
|
||||||
// Operations below are available since NNAPI feature level 1.
|
// Operations below are available since NNAPI feature level 1.
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -5871,7 +5871,7 @@ PaddingCode :: enum {
|
|||||||
*
|
*
|
||||||
* Available since NNAPI feature level 1.
|
* Available since NNAPI feature level 1.
|
||||||
*/
|
*/
|
||||||
PreferenceCode :: enum {
|
PreferenceCode :: enum i32 {
|
||||||
/**
|
/**
|
||||||
* Prefer executing in a way that minimizes battery drain.
|
* Prefer executing in a way that minimizes battery drain.
|
||||||
* This is desirable for compilations that will be executed often.
|
* This is desirable for compilations that will be executed often.
|
||||||
@@ -5894,7 +5894,7 @@ PreferenceCode :: enum {
|
|||||||
*
|
*
|
||||||
* The type of NNAPI device.
|
* The type of NNAPI device.
|
||||||
*/
|
*/
|
||||||
DeviceTypeCode :: enum {
|
DeviceTypeCode :: enum i32 {
|
||||||
/** The device type cannot be provided. */
|
/** The device type cannot be provided. */
|
||||||
UNKNOWN = 0,
|
UNKNOWN = 0,
|
||||||
/** The device does not fall into any category below. */
|
/** The device does not fall into any category below. */
|
||||||
@@ -5923,7 +5923,7 @@ DeviceTypeCode :: enum {
|
|||||||
* {@link ANeuralNetworks_getRuntimeFeatureLevel} must be compared against
|
* {@link ANeuralNetworks_getRuntimeFeatureLevel} must be compared against
|
||||||
* these enum values instead of the Android API level.
|
* these enum values instead of the Android API level.
|
||||||
*/
|
*/
|
||||||
FeatureLevelCode :: enum {
|
FeatureLevelCode :: enum i64 {
|
||||||
/** NNAPI specification available in Android O-MR1, Android NNAPI feature level 1 */
|
/** NNAPI specification available in Android O-MR1, Android NNAPI feature level 1 */
|
||||||
LEVEL_1 = 27,
|
LEVEL_1 = 27,
|
||||||
/** NNAPI specification available in Android P, Android NNAPI feature level 2 */
|
/** NNAPI specification available in Android P, Android NNAPI feature level 2 */
|
||||||
@@ -5959,7 +5959,7 @@ FeatureLevelCode :: enum {
|
|||||||
*
|
*
|
||||||
* Available since NNAPI feature level 1.
|
* Available since NNAPI feature level 1.
|
||||||
*/
|
*/
|
||||||
NNResultCode :: enum {
|
NNResultCode :: enum i32 {
|
||||||
/**
|
/**
|
||||||
* Operation was successful.
|
* Operation was successful.
|
||||||
*/
|
*/
|
||||||
@@ -6060,7 +6060,7 @@ NNResultCode :: enum {
|
|||||||
*
|
*
|
||||||
* Available since NNAPI feature level 3.
|
* Available since NNAPI feature level 3.
|
||||||
*/
|
*/
|
||||||
DurationCode :: enum {
|
DurationCode :: enum i32 {
|
||||||
// Execution time on hardware (not driver, which runs on host processor).
|
// Execution time on hardware (not driver, which runs on host processor).
|
||||||
DURATION_ON_HARDWARE = 0,
|
DURATION_ON_HARDWARE = 0,
|
||||||
// Execution time in driver (including time on hardware). Excludes overhead
|
// Execution time in driver (including time on hardware). Excludes overhead
|
||||||
@@ -6088,7 +6088,7 @@ DurationCode :: enum {
|
|||||||
*
|
*
|
||||||
* Available since NNAPI feature level 4.
|
* Available since NNAPI feature level 4.
|
||||||
*/
|
*/
|
||||||
PriorityCode :: enum {
|
PriorityCode :: enum i32 {
|
||||||
LOW = 90,
|
LOW = 90,
|
||||||
MEDIUM = 100,
|
MEDIUM = 100,
|
||||||
HIGH = 110,
|
HIGH = 110,
|
||||||
|
|||||||
+4
-25
@@ -147,27 +147,6 @@ AImageDecoderBlendOp :: enum i32 {
|
|||||||
SRC_OVER = 2,
|
SRC_OVER = 2,
|
||||||
}
|
}
|
||||||
|
|
||||||
ResultOrRepeatCount :: union {
|
|
||||||
AImageDecoderResult,
|
|
||||||
AImageDecoderRepeatCount,
|
|
||||||
i32,
|
|
||||||
}
|
|
||||||
|
|
||||||
ResultOrFrameDuration :: union {
|
|
||||||
AImageDecoderResult,
|
|
||||||
i64,
|
|
||||||
}
|
|
||||||
|
|
||||||
ResultOrFrameDisposalOp :: union {
|
|
||||||
AImageDecoderResult,
|
|
||||||
AImageDecoderFrameDisposalOp,
|
|
||||||
}
|
|
||||||
|
|
||||||
ResultOrBlendOp :: union {
|
|
||||||
AImageDecoderResult,
|
|
||||||
AImageDecoderBlendOp,
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Opaque handle for decoding images.
|
* Opaque handle for decoding images.
|
||||||
*
|
*
|
||||||
@@ -737,7 +716,7 @@ foreign android {
|
|||||||
* - {@link ANDROID_IMAGE_DECODER_BAD_PARAMETER}: The AImageDecoder
|
* - {@link ANDROID_IMAGE_DECODER_BAD_PARAMETER}: The AImageDecoder
|
||||||
* is null.
|
* is null.
|
||||||
*/
|
*/
|
||||||
AImageDecoder_getRepeatCount :: proc(decoder: ^AImageDecoder) -> ResultOrRepeatCount ---
|
AImageDecoder_getRepeatCount :: proc(decoder: ^AImageDecoder) -> i32 ---
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Advance to the next frame in the animation.
|
* Advance to the next frame in the animation.
|
||||||
@@ -864,7 +843,7 @@ foreign android {
|
|||||||
* Errors:
|
* Errors:
|
||||||
* - returns {@link ANDROID_IMAGE_DECODER_BAD_PARAMETER} if |info| is null.
|
* - returns {@link ANDROID_IMAGE_DECODER_BAD_PARAMETER} if |info| is null.
|
||||||
*/
|
*/
|
||||||
AImageDecoderFrameInfo_getDuration :: proc(info: ^AImageDecoderFrameInfo) -> ResultOrFrameDuration ---
|
AImageDecoderFrameInfo_getDuration :: proc(info: ^AImageDecoderFrameInfo) -> i64 ---
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The rectangle of the image (within 0, 0,
|
* The rectangle of the image (within 0, 0,
|
||||||
@@ -936,7 +915,7 @@ foreign android {
|
|||||||
* Errors:
|
* Errors:
|
||||||
* - {@link ANDROID_IMAGE_DECODER_BAD_PARAMETER} if |info| is null.
|
* - {@link ANDROID_IMAGE_DECODER_BAD_PARAMETER} if |info| is null.
|
||||||
*/
|
*/
|
||||||
AImageDecoderFrameInfo_getDisposeOp :: proc(info: ^AImageDecoderFrameInfo) -> ResultOrFrameDisposalOp ---
|
AImageDecoderFrameInfo_getDisposeOp :: proc(info: ^AImageDecoderFrameInfo) -> i32 ---
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return how this frame is blended with the previous frame.
|
* Return how this frame is blended with the previous frame.
|
||||||
@@ -954,7 +933,7 @@ foreign android {
|
|||||||
* Errors:
|
* Errors:
|
||||||
* - {@link ANDROID_IMAGE_DECODER_BAD_PARAMETER} if |info| is null.
|
* - {@link ANDROID_IMAGE_DECODER_BAD_PARAMETER} if |info| is null.
|
||||||
*/
|
*/
|
||||||
AImageDecoderFrameInfo_getBlendOp :: proc(info: ^AImageDecoderFrameInfo) -> ResultOrBlendOp ---
|
AImageDecoderFrameInfo_getBlendOp :: proc(info: ^AImageDecoderFrameInfo) -> i32 ---
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Whether to have AImageDecoder store the frame prior to a
|
* Whether to have AImageDecoder store the frame prior to a
|
||||||
|
|||||||
+3
-3
@@ -511,7 +511,7 @@ Keycode :: enum {
|
|||||||
MANNER_MODE = 205,
|
MANNER_MODE = 205,
|
||||||
/** 3D Mode key.
|
/** 3D Mode key.
|
||||||
* Toggles the display between 2D and 3D mode. */
|
* Toggles the display between 2D and 3D mode. */
|
||||||
3D_MODE = 206,
|
_3D_MODE = 206,
|
||||||
/** Contacts special function key.
|
/** Contacts special function key.
|
||||||
* Used to launch an address book application. */
|
* Used to launch an address book application. */
|
||||||
CONTACTS = 207,
|
CONTACTS = 207,
|
||||||
@@ -569,9 +569,9 @@ Keycode :: enum {
|
|||||||
* Goes to the top of media menu. */
|
* Goes to the top of media menu. */
|
||||||
MEDIA_TOP_MENU = 226,
|
MEDIA_TOP_MENU = 226,
|
||||||
/** '11' key. */
|
/** '11' key. */
|
||||||
11 = 227,
|
KEY_11 = 227,
|
||||||
/** '12' key. */
|
/** '12' key. */
|
||||||
12 = 228,
|
KEY_12 = 228,
|
||||||
/** Last Channel key.
|
/** Last Channel key.
|
||||||
* Goes to the last viewed channel. */
|
* Goes to the last viewed channel. */
|
||||||
LAST_CHANNEL = 229,
|
LAST_CHANNEL = 229,
|
||||||
|
|||||||
+3
-8
@@ -12,7 +12,7 @@ foreign import android "system:android"
|
|||||||
* MUST check the return from these functions to discover when
|
* MUST check the return from these functions to discover when
|
||||||
* data is available on such fds and process it.
|
* data is available on such fds and process it.
|
||||||
*/
|
*/
|
||||||
ALOOPER_PREPARE_ALLOW_NON_CALLBACKS = 1<<0
|
ALOOPER_PREPARE_ALLOW_NON_CALLBACKS :: 1<<0
|
||||||
|
|
||||||
/** Result from ALooper_pollOnce() and ALooper_pollAll(). */
|
/** Result from ALooper_pollOnce() and ALooper_pollAll(). */
|
||||||
ALooperPollResult :: enum i32 {
|
ALooperPollResult :: enum i32 {
|
||||||
@@ -41,11 +41,6 @@ ALooperPollResult :: enum i32 {
|
|||||||
ERROR = -4,
|
ERROR = -4,
|
||||||
}
|
}
|
||||||
|
|
||||||
PollResultOrIdent :: union {
|
|
||||||
ALooperPollResult,
|
|
||||||
i32,
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Flags for file descriptor events that a looper can monitor.
|
* Flags for file descriptor events that a looper can monitor.
|
||||||
*
|
*
|
||||||
@@ -174,14 +169,14 @@ foreign android {
|
|||||||
* This method does not return until it has finished invoking the appropriate callbacks
|
* This method does not return until it has finished invoking the appropriate callbacks
|
||||||
* for all file descriptors that were signalled.
|
* for all file descriptors that were signalled.
|
||||||
*/
|
*/
|
||||||
ALooper_pollOnce :: proc(timeoutMillis: i32, outFd: ^i32, outEvents: ^i32, outData: ^rawptr) -> PollResultOrIdent ---
|
ALooper_pollOnce :: proc(timeoutMillis: i32, outFd: ^i32, outEvents: ^i32, outData: ^rawptr) -> i32 ---
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Like ALooper_pollOnce(), but performs all pending callbacks until all
|
* Like ALooper_pollOnce(), but performs all pending callbacks until all
|
||||||
* data has been consumed or a file descriptor is available with no callback.
|
* data has been consumed or a file descriptor is available with no callback.
|
||||||
* This function will never return ALOOPER_POLL_CALLBACK.
|
* This function will never return ALOOPER_POLL_CALLBACK.
|
||||||
*/
|
*/
|
||||||
ALooper_pollAll :: proc(timeoutMillis: i32, outFd: ^i32, outEvents: ^i32, outData: ^rawptr) -> PollResultOrIdent ---
|
ALooper_pollAll :: proc(timeoutMillis: i32, outFd: ^i32, outEvents: ^i32, outData: ^rawptr) -> i32 ---
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Wakes the poll asynchronously.
|
* Wakes the poll asynchronously.
|
||||||
|
|||||||
@@ -14,7 +14,28 @@ foreign import android "system:android"
|
|||||||
*/
|
*/
|
||||||
net_handle_t :: distinct u64
|
net_handle_t :: distinct u64
|
||||||
|
|
||||||
|
// TODO: these should probably be put in android's libc bindings or something
|
||||||
uid_t :: u32
|
uid_t :: u32
|
||||||
|
socklen_t :: u32 // See: https://android.googlesource.com/platform/bionic/+/main/docs/32-bit-abi.md
|
||||||
|
sa_family_t :: u16
|
||||||
|
|
||||||
|
#assert(size_of(sockaddr) == 16)
|
||||||
|
sockaddr :: struct {
|
||||||
|
sa_family: sa_family_t,
|
||||||
|
sa_data: [14]byte,
|
||||||
|
}
|
||||||
|
|
||||||
|
addrinfo :: struct {
|
||||||
|
ai_flags: i32, /* AI_PASSIVE, AI_CANONNAME, AI_NUMERICHOST */
|
||||||
|
ai_family: i32, /* PF_xxx */
|
||||||
|
ai_socktype: i32, /* SOCK_xxx */
|
||||||
|
ai_protocol: i32, /* 0 or IPPROTO_xxx for IPv4 and IPv6 */
|
||||||
|
ai_addrlen: socklen_t, /* length of ai_addr */
|
||||||
|
ai_canonname: cstring, /* canonical name for hostname */
|
||||||
|
ai_addr: ^sockaddr, /* binary address */
|
||||||
|
ai_next: ^addrinfo, /* next structure in linked list */
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The value NETWORK_UNSPECIFIED indicates no specific network.
|
* The value NETWORK_UNSPECIFIED indicates no specific network.
|
||||||
|
|||||||
@@ -256,9 +256,7 @@ foreign android {
|
|||||||
* *any* thread it will send a message to the main thread of the process
|
* *any* thread it will send a message to the main thread of the process
|
||||||
* where the Java finish call will take place.
|
* where the Java finish call will take place.
|
||||||
*/
|
*/
|
||||||
// TODO: wtf is format here ?? is there an enum or constants for this proc?
|
ANativeActivity_setWindowFormat :: proc(activity: ^ANativeActivity, format: AHardwareBuffer_Format) ---
|
||||||
// I think this might be AHardwareBuffer_Format, but annoyingly so, it's u32 while this proc requires i32.
|
|
||||||
ANativeActivity_setWindowFormat :: proc(activity: ^ANativeActivity, format: i32) ---
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Change the window flags of the given activity. Calls getWindow().setFlags()
|
* Change the window flags of the given activity. Calls getWindow().setFlags()
|
||||||
|
|||||||
+6
-8
@@ -5,15 +5,15 @@ package android
|
|||||||
* Legacy window pixel format names, kept for backwards compatibility.
|
* Legacy window pixel format names, kept for backwards compatibility.
|
||||||
* New code and APIs should use AHARDWAREBUFFER_FORMAT_*.
|
* New code and APIs should use AHARDWAREBUFFER_FORMAT_*.
|
||||||
*/
|
*/
|
||||||
ANativeWindow_LegacyFormat :: enum {
|
ANativeWindow_LegacyFormat :: enum u32 {
|
||||||
// NOTE: these values must match the values from graphics/common/x.x/types.hal
|
// NOTE: these values must match the values from graphics/common/x.x/types.hal
|
||||||
|
|
||||||
/** Red: 8 bits, Green: 8 bits, Blue: 8 bits, Alpha: 8 bits. **/
|
/** Red: 8 bits, Green: 8 bits, Blue: 8 bits, Alpha: 8 bits. **/
|
||||||
RGBA_8888 = AHardwareBuffer_Format.R8G8B8A8_UNORM,
|
RGBA_8888 = u32(AHardwareBuffer_Format.R8G8B8A8_UNORM),
|
||||||
/** Red: 8 bits, Green: 8 bits, Blue: 8 bits, Unused: 8 bits. **/
|
/** Red: 8 bits, Green: 8 bits, Blue: 8 bits, Unused: 8 bits. **/
|
||||||
RGBX_8888 = AHardwareBuffer_Format.R8G8B8X8_UNORM,
|
RGBX_8888 = u32(AHardwareBuffer_Format.R8G8B8X8_UNORM),
|
||||||
/** Red: 5 bits, Green: 6 bits, Blue: 5 bits. **/
|
/** Red: 5 bits, Green: 6 bits, Blue: 5 bits. **/
|
||||||
RGB_565 = AHardwareBuffer_Format.R5G6B5_UNORM,
|
RGB_565 = u32(AHardwareBuffer_Format.R5G6B5_UNORM),
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -93,8 +93,7 @@ ANativeWindow_Buffer :: struct {
|
|||||||
stride: i32,
|
stride: i32,
|
||||||
|
|
||||||
/// The format of the buffer. One of AHardwareBuffer_Format.
|
/// The format of the buffer. One of AHardwareBuffer_Format.
|
||||||
// TODO: u32/i32 mismatch with the enum.
|
format: AHardwareBuffer_Format,
|
||||||
int32_t format,
|
|
||||||
|
|
||||||
/// The actual bits.
|
/// The actual bits.
|
||||||
bits: rawptr,
|
bits: rawptr,
|
||||||
@@ -136,8 +135,7 @@ foreign android {
|
|||||||
*
|
*
|
||||||
* \return a negative value on error.
|
* \return a negative value on error.
|
||||||
*/
|
*/
|
||||||
// TODO: should return AHardwarebuffer_Format but i32/u32 mismatch
|
ANativeWindow_getFormat :: proc(window: ^ANativeWindow) -> AHardwareBuffer_Format ---
|
||||||
ANativeWindow_getFormat :: proc(window: ^ANativeWindow) -> i32 ---
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Change the format and size of the window buffers.
|
* Change the format and size of the window buffers.
|
||||||
|
|||||||
@@ -0,0 +1,39 @@
|
|||||||
|
//+build android
|
||||||
|
package android
|
||||||
|
|
||||||
|
foreign import android "system:android"
|
||||||
|
|
||||||
|
/** Flag for an obb file, returned by AObbInfo_getFlags(). */
|
||||||
|
ObbFlags :: enum i32 {
|
||||||
|
OVERLAY = 0x0001,
|
||||||
|
}
|
||||||
|
|
||||||
|
/** {@link AObbInfo} is an opaque type representing information for obb storage. */
|
||||||
|
AObbInfo :: struct{}
|
||||||
|
|
||||||
|
foreign android {
|
||||||
|
/**
|
||||||
|
* Scan an OBB and get information about it.
|
||||||
|
*/
|
||||||
|
AObbScanner_getObbInfo :: proc(filename: cstring) -> ^AObbInfo ---
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Destroy the AObbInfo object. You must call this when finished with the object.
|
||||||
|
*/
|
||||||
|
AObbInfo_delete :: proc(obbInfo: ^AObbInfo) ---
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the package name for the OBB.
|
||||||
|
*/
|
||||||
|
AObbInfo_getPackageName :: proc(obbInfo: ^AObbInfo) -> cstring ---
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the version of an OBB file.
|
||||||
|
*/
|
||||||
|
AObbInfo_getVersion :: proc(obbInfo: ^AObbInfo) -> i32 ---
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the flags of an OBB file.
|
||||||
|
*/
|
||||||
|
AObbInfo_getFlags :: proc(obbInfo: ^AObbInfo) -> ObbFlags ---
|
||||||
|
}
|
||||||
@@ -0,0 +1,127 @@
|
|||||||
|
//+build android
|
||||||
|
package android
|
||||||
|
|
||||||
|
foreign import android "system:android"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* An opaque type representing a handle to a performance hint manager.
|
||||||
|
* It must be released after use.
|
||||||
|
*
|
||||||
|
* <p>To use:<ul>
|
||||||
|
* <li>Obtain the performance hint manager instance by calling
|
||||||
|
* {@link APerformanceHint_getManager} function.</li>
|
||||||
|
* <li>Create an {@link APerformanceHintSession} with
|
||||||
|
* {@link APerformanceHint_createSession}.</li>
|
||||||
|
* <li>Get the preferred update rate in nanoseconds with
|
||||||
|
* {@link APerformanceHint_getPreferredUpdateRateNanos}.</li>
|
||||||
|
*/
|
||||||
|
APerformanceHintManager :: struct{}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* An opaque type representing a handle to a performance hint session.
|
||||||
|
* A session can only be acquired from a {@link APerformanceHintManager}
|
||||||
|
* with {@link APerformanceHint_getPreferredUpdateRateNanos}. It must be
|
||||||
|
* freed with {@link APerformanceHint_closeSession} after use.
|
||||||
|
*
|
||||||
|
* A Session represents a group of threads with an inter-related workload such that hints for
|
||||||
|
* their performance should be considered as a unit. The threads in a given session should be
|
||||||
|
* long-life and not created or destroyed dynamically.
|
||||||
|
*
|
||||||
|
* <p>Each session is expected to have a periodic workload with a target duration for each
|
||||||
|
* cycle. The cycle duration is likely greater than the target work duration to allow other
|
||||||
|
* parts of the pipeline to run within the available budget. For example, a renderer thread may
|
||||||
|
* work at 60hz in order to produce frames at the display's frame but have a target work
|
||||||
|
* duration of only 6ms.</p>
|
||||||
|
*
|
||||||
|
* <p>After each cycle of work, the client is expected to use
|
||||||
|
* {@link APerformanceHint_reportActualWorkDuration} to report the actual time taken to
|
||||||
|
* complete.</p>
|
||||||
|
*
|
||||||
|
* <p>To use:<ul>
|
||||||
|
* <li>Update a sessions target duration for each cycle of work
|
||||||
|
* with {@link APerformanceHint_updateTargetWorkDuration}.</li>
|
||||||
|
* <li>Report the actual duration for the last cycle of work with
|
||||||
|
* {@link APerformanceHint_reportActualWorkDuration}.</li>
|
||||||
|
* <li>Release the session instance with
|
||||||
|
* {@link APerformanceHint_closeSession}.</li></ul></p>
|
||||||
|
*/
|
||||||
|
APerformanceHintSession :: struct{}
|
||||||
|
|
||||||
|
foreign android {
|
||||||
|
/**
|
||||||
|
* Acquire an instance of the performance hint manager.
|
||||||
|
*
|
||||||
|
* Available since API level 33.
|
||||||
|
*
|
||||||
|
* @return manager instance on success, nullptr on failure.
|
||||||
|
*/
|
||||||
|
APerformanceHint_getManager :: proc() -> ^APerformanceHintManager ---
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a session for the given set of threads and sets their initial target work
|
||||||
|
* duration.
|
||||||
|
*
|
||||||
|
* Available since API level 33.
|
||||||
|
*
|
||||||
|
* @param manager The performance hint manager instance.
|
||||||
|
* @param threadIds The list of threads to be associated with this session. They must be part of
|
||||||
|
* this app's thread group.
|
||||||
|
* @param size the size of threadIds.
|
||||||
|
* @param initialTargetWorkDurationNanos The desired duration in nanoseconds for the new session.
|
||||||
|
* This must be positive.
|
||||||
|
* @return manager instance on success, nullptr on failure.
|
||||||
|
*/
|
||||||
|
APerformanceHint_createSession :: proc(manager: ^APerformanceHintManager, threadIds: [^]i32, size: uint, initialTargetWorkDurationNanos: i64) -> ^APerformanceHintSession ---
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get preferred update rate information for this device.
|
||||||
|
*
|
||||||
|
* Available since API level 33.
|
||||||
|
*
|
||||||
|
* @param manager The performance hint manager instance.
|
||||||
|
* @return the preferred update rate supported by device software.
|
||||||
|
*/
|
||||||
|
APerformanceHint_getPreferredUpdateRateNanos :: proc(manager: ^APerformanceHintManager) -> i64 ---
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Updates this session's target duration for each cycle of work.
|
||||||
|
*
|
||||||
|
* Available since API level 33.
|
||||||
|
*
|
||||||
|
* @param session The performance hint session instance to update.
|
||||||
|
* @param targetDurationNanos the new desired duration in nanoseconds. This must be positive.
|
||||||
|
* @return 0 on success
|
||||||
|
* EINVAL if targetDurationNanos is not positive.
|
||||||
|
* EPIPE if communication with the system service has failed.
|
||||||
|
*/
|
||||||
|
APerformanceHint_updateTargetWorkDuration :: proc(session: ^APerformanceHintSession, targetDurationNanos: i64) -> i32 ---
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reports the actual duration for the last cycle of work.
|
||||||
|
*
|
||||||
|
* <p>The system will attempt to adjust the core placement of the threads within the thread
|
||||||
|
* group and/or the frequency of the core on which they are run to bring the actual duration
|
||||||
|
* close to the target duration.</p>
|
||||||
|
*
|
||||||
|
* Available since API level 33.
|
||||||
|
*
|
||||||
|
* @param session The performance hint session instance to update.
|
||||||
|
* @param actualDurationNanos how long the thread group took to complete its last task in
|
||||||
|
* nanoseconds. This must be positive.
|
||||||
|
* @return 0 on success
|
||||||
|
* EINVAL if actualDurationNanos is not positive.
|
||||||
|
* EPIPE if communication with the system service has failed.
|
||||||
|
*/
|
||||||
|
APerformanceHint_reportActualWorkDuration :: proc(session: ^APerformanceHintSession, actualDurationNanos: i64) -> i32 ---
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Release the performance hint manager pointer acquired via
|
||||||
|
* {@link APerformanceHint_createSession}.
|
||||||
|
*
|
||||||
|
* Available since API level 33.
|
||||||
|
*
|
||||||
|
* @param session The performance hint session instance to release.
|
||||||
|
*/
|
||||||
|
APerformanceHint_closeSession :: proc(session: ^APerformanceHintSession) ---
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,68 @@
|
|||||||
|
//+build android
|
||||||
|
package android
|
||||||
|
|
||||||
|
foreign import android "system:android"
|
||||||
|
|
||||||
|
// TODO: move to libc or something
|
||||||
|
pid_t :: i32
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Permission check results.
|
||||||
|
*
|
||||||
|
* Introduced in API 31.
|
||||||
|
*/
|
||||||
|
PermissionManagerResult :: enum i32 {
|
||||||
|
/**
|
||||||
|
* This is returned by APermissionManager_checkPermission()
|
||||||
|
* if the permission has been granted to the given package.
|
||||||
|
*/
|
||||||
|
PERMISSION_GRANTED = 0,
|
||||||
|
/**
|
||||||
|
* This is returned by APermissionManager_checkPermission()
|
||||||
|
* if the permission has not been granted to the given package.
|
||||||
|
*/
|
||||||
|
PERMISSION_DENIED = -1,
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Permission check return status values.
|
||||||
|
*
|
||||||
|
* Introduced in API 31.
|
||||||
|
*/
|
||||||
|
PermissionManagerStatus :: enum i32 {
|
||||||
|
/**
|
||||||
|
* This is returned if the permission check completed without errors.
|
||||||
|
* The output result is valid and contains one of {::PERMISSION_MANAGER_PERMISSION_GRANTED,
|
||||||
|
* ::PERMISSION_MANAGER_PERMISSION_DENIED}.
|
||||||
|
*/
|
||||||
|
OK = 0,
|
||||||
|
/**
|
||||||
|
* This is returned if the permission check encountered an unspecified error.
|
||||||
|
* The output result is unmodified.
|
||||||
|
*/
|
||||||
|
ERROR_UNKNOWN = -1,
|
||||||
|
/**
|
||||||
|
* This is returned if the permission check failed because the service is
|
||||||
|
* unavailable. The output result is unmodified.
|
||||||
|
*/
|
||||||
|
SERVICE_UNAVAILABLE = -2,
|
||||||
|
}
|
||||||
|
|
||||||
|
foreign android {
|
||||||
|
/**
|
||||||
|
* Checks whether the package with the given pid/uid has been granted a permission.
|
||||||
|
*
|
||||||
|
* Note that the Java API of Context#checkPermission() is usually faster due to caching,
|
||||||
|
* thus is preferred over this API wherever possible.
|
||||||
|
*
|
||||||
|
* Available since API level 31
|
||||||
|
*
|
||||||
|
* @param permission the permission to be checked.
|
||||||
|
* @param pid the process id of the package to be checked.
|
||||||
|
* @param uid the uid of the package to be checked.
|
||||||
|
* @param outResult output of the permission check result.
|
||||||
|
*
|
||||||
|
* @return error codes if any error happened during the check.
|
||||||
|
*/
|
||||||
|
APermissionManager_checkPermission :: proc(permission: cstring, pid: pid_t, uid: uid_t, outResult: ^PermissionManagerResult) -> PermissionManagerStatus ---
|
||||||
|
}
|
||||||
+1058
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user