aboutsummaryrefslogtreecommitdiff
path: root/include/armnn/backends/ICustomAllocator.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'include/armnn/backends/ICustomAllocator.hpp')
-rw-r--r--include/armnn/backends/ICustomAllocator.hpp18
1 files changed, 13 insertions, 5 deletions
diff --git a/include/armnn/backends/ICustomAllocator.hpp b/include/armnn/backends/ICustomAllocator.hpp
index 1d4df0cb86..92cbcc2641 100644
--- a/include/armnn/backends/ICustomAllocator.hpp
+++ b/include/armnn/backends/ICustomAllocator.hpp
@@ -7,6 +7,7 @@
#include <cstddef>
#include <memory>
+#include <armnn/MemorySources.hpp>
namespace armnn
{
@@ -23,13 +24,20 @@ public:
* @param[in] alignment Alignment that the returned pointer should comply with
*
* @return A pointer to the allocated memory
+ * The returned pointer must be host write accessible
*/
- virtual void *allocate(size_t size, size_t alignment) = 0;
- /** Interface to be implemented by the child class to free the allocated tensor */
- virtual void free(void *ptr) = 0;
+ virtual void* allocate(size_t size, size_t alignment) = 0;
- // Utility Function to define the Custom Memory Allocators capabilities
- virtual bool SupportsProtectedMemory() = 0;
+ /** Interface to be implemented by the child class to free the allocated bytes */
+ virtual void free(void* ptr) = 0;
+
+ // Used to specify what type of memory is being allocated by this allocator.
+ // Supported types are:
+ // MemorySource::Malloc
+ // Unsupported types are:
+ // MemorySource::DmaBuf
+ // MemorySource::DmaBufProtected
+ virtual armnn::MemorySource GetMemorySourceType() = 0;
};
} // namespace armnn \ No newline at end of file