mirror of
https://github.com/status-im/Vulkan-Docs.git
synced 2025-02-03 01:53:40 +00:00
104 lines
4.1 KiB
Plaintext
104 lines
4.1 KiB
Plaintext
vkGetPhysicalDeviceMemoryProperties(3)
|
|
======================================
|
|
|
|
Name
|
|
----
|
|
vkGetPhysicalDeviceMemoryProperties - Reports memory information for the specified physical device.
|
|
|
|
C Specification
|
|
---------------
|
|
|
|
include::../protos/vkGetPhysicalDeviceMemoryProperties.txt[]
|
|
|
|
Parameters
|
|
----------
|
|
|
|
pname:physicalDevice::
|
|
A handle to the physical device about which information is to be retrieved.
|
|
|
|
pname:pMemoryProperties::
|
|
A pointer to a structure that is to receive the memory information.
|
|
|
|
Description
|
|
-----------
|
|
|
|
fname:vkGetPhysicalDeviceMemoryProperties retrieves information about the memory of the physical
|
|
device whose handle is given in pname:physicalDevice. pname:pMemoryProperties should point to an
|
|
instance of the sname:VkPhysicalDeviceMemoryProperties structure, into which will be stored the
|
|
information about the device. The definition of sname:VkPhysicalDeviceMemoryProperties is as
|
|
follows.
|
|
|
|
include::../structs/VkPhysicalDeviceMemoryProperties.txt[]
|
|
|
|
* pname:memoryTypeCount will be filled with the number of memory types supported by
|
|
the device.
|
|
|
|
* pname:memoryTypes is an array of ename:VK_MAX_MEMORY_TYPES instances of the
|
|
slink:VkMemoryType structures. Upon return from fname:vkGetPhysicalDeviceMemoryProperties,
|
|
the first pname:memoryTypeCount elements of pname:memoryTypes will contain valid data.
|
|
|
|
* pname:memoryHeapCount will be filled with the number of memory heaps supported by
|
|
the device.
|
|
|
|
* pname:memoryHeaps is an array of ename:VK_MAX_MEMORY_HEAPS slink:VkMemoryHeap
|
|
structures which describe the heaps available to the device.
|
|
|
|
The definition of the slink:VkMemoryType structure is as follows:
|
|
|
|
include::../structs/VkMemoryType.txt[]
|
|
|
|
* pname:propertyFlags is a bitfield made up from members of the elink:VkMemoryPropertyFlagBits
|
|
enumeration, which is described below.
|
|
|
|
* pname:heapIndex is the index into the ptext:memoryHeaps array returned through this
|
|
command from which the memory type will be allocated.
|
|
|
|
The elink:VkMemoryPropertyFlagBits enumeration, which forms the available bits for use in the
|
|
pname:propertyFlags member of the slink:VkMemoryType structure is defined as follows:
|
|
|
|
include::../enums/VkMemoryPropertyFlagBits.txt[]
|
|
|
|
* ename:VK_MEMORY_PROPERTY_DEVICE_ONLY represents the case where no bits are set and signifies
|
|
that the memory is private to the device.
|
|
|
|
* ename:VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT indicates that memory with this property is visible
|
|
to the host. That is, a valid host address may be obtained and allocations from this memory
|
|
type may be mapped.
|
|
|
|
* ename:VK_MEMORY_PROPERTY_HOST_NON_COHERENT_BIT indicates that accesses to mapped memory of this
|
|
type is not coherent with accesses to the same memory by the device. Such access must be marhsalled
|
|
using calls to flink:vkFlushMappedMemoryRanges or by unmapping the memory.
|
|
|
|
* ename:VK_MEMORY_PROPERTY_HOST_UNCACHED_BIT indicates that data stored in memory of this type is not
|
|
cached by the host and as such, it is likely that reads from such regions by the host will
|
|
be suboptimal.
|
|
|
|
* ename:VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT indicates that allocations from this type of memory
|
|
may be made on an as-needed basis. In general, allocations from this type of memory will almost
|
|
always succeed and return quickly, but first access to such a region may take longer than expected.
|
|
|
|
The definition of the slink:VkMemoryHeap structure is as follows:
|
|
|
|
include::../structs/VkMemoryHeap.txt[]
|
|
|
|
* pname:size specifies the size in bytes of the memory heap.
|
|
|
|
* pname:flags is a bitfield made up of the members of the
|
|
elink:VkMemoryHeapFlagBits enumeration, the definition of which is:
|
|
|
|
include::../enums/VkMemoryHeapFlagBits.txt[]
|
|
|
|
* If the ptext:flags member of slink:VkMemoryHeap contains ename:VK_MEMORY_HEAP_HOST_LOCAL_BIT,
|
|
then the memory for that heap is located closer to the host than to the device in NUMA (Non-Unified
|
|
Memory Architecture) systems. Even in unified architectures, this flag may indicate that access
|
|
to this heap is more efficient from the host than from the device.
|
|
|
|
include::../validity/protos/vkGetPhysicalDeviceMemoryProperties.txt[]
|
|
|
|
See Also
|
|
--------
|
|
|
|
flink:vkGetPhysicalDeviceProperties
|
|
|
|
include::footer.txt[]
|