VkMemoryPropertyFlags memProps;
} VkMemoryAllocInfo;
+typedef struct {
+ VkStructureType sType;
+ const void* pNext;
+ VkDeviceMemory mem;
+ VkDeviceSize offset;
+ VkDeviceSize size;
+} VkMappedMemoryRange;
+
typedef struct {
VkDeviceSize size;
VkDeviceSize alignment;
typedef VkResult (VKAPI *PFN_vkFreeMemory)(VkDevice device, VkDeviceMemory mem);
typedef VkResult (VKAPI *PFN_vkMapMemory)(VkDevice device, VkDeviceMemory mem, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData);
typedef VkResult (VKAPI *PFN_vkUnmapMemory)(VkDevice device, VkDeviceMemory mem);
-typedef VkResult (VKAPI *PFN_vkFlushMappedMemory)(VkDevice device, VkDeviceMemory mem, VkDeviceSize offset, VkDeviceSize size);
-typedef VkResult (VKAPI *PFN_vkPinSystemMemory)(VkDevice device, const void* pSysMem, size_t memSize, VkDeviceMemory* pMem);
+typedef VkResult (VKAPI *PFN_vkFlushMappedMemoryRanges)(VkDevice device, uint32_t memRangeCount, const VkMappedMemoryRange* pMemRanges);
+typedef VkResult (VKAPI *PFN_vkInvalidateMappedMemoryRanges)(VkDevice device, uint32_t memRangeCount, const VkMappedMemoryRange* pMemRanges);
typedef VkResult (VKAPI *PFN_vkDestroyObject)(VkDevice device, VkObjectType objType, VkObject object);
typedef VkResult (VKAPI *PFN_vkGetObjectInfo)(VkDevice device, VkObjectType objType, VkObject object, VkObjectInfoType infoType, size_t* pDataSize, void* pData);
typedef VkResult (VKAPI *PFN_vkQueueBindObjectMemory)(VkQueue queue, VkObjectType objType, VkObject object, uint32_t allocationIdx, VkDeviceMemory mem, VkDeviceSize offset);
VkDevice device,
VkDeviceMemory mem);
-VkResult VKAPI vkFlushMappedMemory(
+VkResult VKAPI vkFlushMappedMemoryRanges(
VkDevice device,
- VkDeviceMemory mem,
- VkDeviceSize offset,
- VkDeviceSize size);
+ uint32_t memRangeCount,
+ const VkMappedMemoryRange* pMemRanges);
-VkResult VKAPI vkPinSystemMemory(
+VkResult VKAPI vkInvalidateMappedMemoryRanges(
VkDevice device,
- const void* pSysMem,
- size_t memSize,
- VkDeviceMemory* pMem);
+ uint32_t memRangeCount,
+ const VkMappedMemoryRange* pMemRanges);
VkResult VKAPI vkDestroyObject(
VkDevice device,
return VK_SUCCESS;
}
-VkResult anv_FlushMappedMemory(
+VkResult anv_FlushMappedMemoryRanges(
VkDevice device,
- VkDeviceMemory mem,
- VkDeviceSize offset,
- VkDeviceSize size)
+ uint32_t memRangeCount,
+ const VkMappedMemoryRange* pMemRanges)
{
/* clflush here for !llc platforms */
return VK_SUCCESS;
}
-VkResult anv_PinSystemMemory(
+VkResult anv_InvalidateMappedMemoryRanges(
VkDevice device,
- const void* pSysMem,
- size_t memSize,
- VkDeviceMemory* pMem)
+ uint32_t memRangeCount,
+ const VkMappedMemoryRange* pMemRanges)
{
- return VK_SUCCESS;
+ return anv_FlushMappedMemoryRanges(device, memRangeCount, pMemRanges);
}
VkResult anv_DestroyObject(