2016-07-10 18:13:41 -07:00
|
|
|
// Copyright (c) 2014-2016 Khronos Group. This work is licensed under a
|
|
|
|
// Creative Commons Attribution 4.0 International License; see
|
|
|
|
// http://creativecommons.org/licenses/by/4.0/
|
|
|
|
|
2016-02-16 01:53:44 -08:00
|
|
|
vkFreeMemory(3)
|
2016-07-10 18:13:41 -07:00
|
|
|
===============
|
2016-02-16 01:53:44 -08:00
|
|
|
|
|
|
|
Name
|
|
|
|
----
|
|
|
|
vkFreeMemory - Free GPU memory
|
|
|
|
|
|
|
|
C Specification
|
|
|
|
---------------
|
|
|
|
|
2016-07-10 18:13:41 -07:00
|
|
|
// refBegin vkFreeMemory Free GPU memory
|
|
|
|
|
|
|
|
To free a memory object, call:
|
|
|
|
|
2016-02-16 01:53:44 -08:00
|
|
|
include::../protos/vkFreeMemory.txt[]
|
|
|
|
|
2016-07-10 18:13:41 -07:00
|
|
|
|
2016-02-16 01:53:44 -08:00
|
|
|
Parameters
|
|
|
|
----------
|
|
|
|
|
2016-07-10 18:13:41 -07:00
|
|
|
* pname:device is the logical device that owns the memory.
|
|
|
|
* pname:memory is the sname:VkDeviceMemory object to be freed.
|
|
|
|
* pname:pAllocator controls host memory allocation as described in
|
|
|
|
the <<memory-allocation, Memory Allocation>> chapter.
|
2016-02-16 01:53:44 -08:00
|
|
|
|
|
|
|
|
|
|
|
Description
|
|
|
|
-----------
|
|
|
|
|
2016-07-10 18:13:41 -07:00
|
|
|
Before freeing a memory object, an application must: ensure the
|
|
|
|
memory object is no longer in use by the device--for example by command
|
|
|
|
buffers queued for execution. The memory can: remain bound to images or
|
|
|
|
buffers at the time the memory object is freed, but any further use of them
|
|
|
|
(on host or device) for anything other than destroying those objects will
|
|
|
|
result in undefined behavior. If there are still any bound images or
|
|
|
|
buffers, the memory may: not be immediately released by the implementation,
|
|
|
|
but must: be released by the time all bound images and buffers have been
|
|
|
|
destroyed. Once memory is released, it is returned to the heap from which it
|
|
|
|
was allocated.
|
|
|
|
|
|
|
|
How memory objects are bound to Images and Buffers is described in detail in
|
|
|
|
the <<resources-association, Resource Memory Association>> section.
|
|
|
|
|
|
|
|
If a memory object is mapped at the time it is freed, it is implicitly
|
|
|
|
unmapped.
|
2016-02-16 01:53:44 -08:00
|
|
|
|
|
|
|
include::../validity/protos/vkFreeMemory.txt[]
|
|
|
|
|
2016-07-10 18:13:41 -07:00
|
|
|
|
2016-02-16 01:53:44 -08:00
|
|
|
See Also
|
|
|
|
--------
|
|
|
|
|
2016-07-10 18:13:41 -07:00
|
|
|
slink:VkAllocationCallbacks, slink:VkDevice, slink:VkDeviceMemory
|
|
|
|
|
|
|
|
|
|
|
|
Document Notes
|
|
|
|
--------------
|
|
|
|
|
|
|
|
For more information, see the Vulkan Specification at URL
|
|
|
|
|
|
|
|
https://www.khronos.org/registry/vulkan/specs/1.0/xhtml/vkspec.html#vkFreeMemory
|
|
|
|
|
|
|
|
This page is extracted from the Vulkan Specification.
|
|
|
|
Fixes and changes should be made to the Specification,not directly.
|
2016-02-16 01:53:44 -08:00
|
|
|
|
|
|
|
include::footer.txt[]
|
2016-07-10 18:13:41 -07:00
|
|
|
|