VkMappedMemoryRange
The VkMappedMemoryRange
structure is defined as:
typedef struct VkMappedMemoryRange {
VkStructureType sType;
const void* pNext;
VkDeviceMemory memory;
VkDeviceSize offset;
VkDeviceSize size;
} VkMappedMemoryRange;
sType
is a VkStructureType value identifying this structure.pNext
isNULL
or a pointer to a structure extending this structure.memory
is the memory object to which this range belongs.offset
is the zero-based byte offset from the beginning of the memory object.size
is either the size of range, orVK_WHOLE_SIZE
to affect the range fromoffset
to the end of the current mapping of the allocation.
Valid Usage
VUID-VkMappedMemoryRange-memory-00684
memory
must be currently host mapped
VUID-VkMappedMemoryRange-size-00685
If size
is not equal to VK_WHOLE_SIZE
, offset
and
size
must specify a range contained within the currently mapped
range of memory
VUID-VkMappedMemoryRange-size-00686
If size
is equal to VK_WHOLE_SIZE
, offset
must be
within the currently mapped range of memory
VUID-VkMappedMemoryRange-offset-00687
offset
must be a multiple of
VkPhysicalDeviceLimits::nonCoherentAtomSize
VUID-VkMappedMemoryRange-size-01389
If size
is equal to VK_WHOLE_SIZE
, the end of the current
mapping of memory
must either be a multiple of
VkPhysicalDeviceLimits::nonCoherentAtomSize
bytes from the
beginning of the memory object, or be equal to the end of the memory
object
VUID-VkMappedMemoryRange-size-01390
If size
is not equal to VK_WHOLE_SIZE
, size
must
either be a multiple of
VkPhysicalDeviceLimits::nonCoherentAtomSize
, or offset
plus size
must equal the size of memory
Valid Usage (Implicit)
VUID-VkMappedMemoryRange-sType-sType
sType
must be VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE
VUID-VkMappedMemoryRange-pNext-pNext
pNext
must be NULL
VUID-VkMappedMemoryRange-memory-parameter
memory
must be a valid VkDeviceMemory handle