<!--
{
  "availability" : [
    "iOS: 7.0.0 -",
    "iPadOS: 7.0.0 -",
    "macCatalyst: 13.1.0 -",
    "macOS: 10.9.0 -",
    "tvOS: -",
    "visionOS: 1.0.0 -",
    "watchOS: 2.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "Accelerate",
  "identifier" : "/documentation/Accelerate/kvImageNoAllocate",
  "metadataVersion" : "0.1.0",
  "role" : "Global Variable",
  "symbol" : {
    "kind" : "Global Variable",
    "modules" : [
      "Accelerate"
    ],
    "preciseIdentifier" : "c:@Ea@kvImageNoFlags@kvImageNoAllocate"
  },
  "title" : "kvImageNoAllocate"
}
-->

# kvImageNoAllocate

A flag that prevents vImage from allocating additional storage.

```
var kvImageNoAllocate: Int { get }
```

## Discussion

When you set this flag, vImage uses the memory provided to the buffer rather than allocating new memory. For example, instead of overwriting a buffer’s [`data`](/documentation/Accelerate/vImage_Buffer/data) property with a newly allocated pointer to memory, vImage uses the memory pointed to by the [`data`](/documentation/Accelerate/vImage_Buffer/data) property directly. In other cases, it may cause the function to assume ownership of a buffer, rather than allocating a copy. You are responsible for making sure the buffer that you allocate is large enough to hold the image. Most vImage functions do not allocate memory and assume that the buffer’s data is already allocated, and, in the case of source image buffers, contain valid pixel data.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)