vk: Update memory flushing functions to 130

This involves updating the prototype for FlushMappedMemory, adding
InvalidateMappedMemoryRanges, and removing PinSystemMemory.
This commit is contained in:
Jason Ekstrand 2015-07-07 17:22:29 -07:00
parent d5349b1b18
commit d9c2caea6a
2 changed files with 23 additions and 19 deletions

View File

@ -1236,6 +1236,14 @@ typedef struct {
VkMemoryPropertyFlags memProps; VkMemoryPropertyFlags memProps;
} VkMemoryAllocInfo; } VkMemoryAllocInfo;
typedef struct {
VkStructureType sType;
const void* pNext;
VkDeviceMemory mem;
VkDeviceSize offset;
VkDeviceSize size;
} VkMappedMemoryRange;
typedef struct { typedef struct {
VkDeviceSize size; VkDeviceSize size;
VkDeviceSize alignment; VkDeviceSize alignment;
@ -1919,8 +1927,8 @@ typedef VkResult (VKAPI *PFN_vkAllocMemory)(VkDevice device, const VkMemoryAlloc
typedef VkResult (VKAPI *PFN_vkFreeMemory)(VkDevice device, VkDeviceMemory mem); 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_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_vkUnmapMemory)(VkDevice device, VkDeviceMemory mem);
typedef VkResult (VKAPI *PFN_vkFlushMappedMemory)(VkDevice device, VkDeviceMemory mem, VkDeviceSize offset, VkDeviceSize size); typedef VkResult (VKAPI *PFN_vkFlushMappedMemoryRanges)(VkDevice device, uint32_t memRangeCount, const VkMappedMemoryRange* pMemRanges);
typedef VkResult (VKAPI *PFN_vkPinSystemMemory)(VkDevice device, const void* pSysMem, size_t memSize, VkDeviceMemory* pMem); 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_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_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); typedef VkResult (VKAPI *PFN_vkQueueBindObjectMemory)(VkQueue queue, VkObjectType objType, VkObject object, uint32_t allocationIdx, VkDeviceMemory mem, VkDeviceSize offset);
@ -2099,17 +2107,15 @@ VkResult VKAPI vkUnmapMemory(
VkDevice device, VkDevice device,
VkDeviceMemory mem); VkDeviceMemory mem);
VkResult VKAPI vkFlushMappedMemory( VkResult VKAPI vkFlushMappedMemoryRanges(
VkDevice device, VkDevice device,
VkDeviceMemory mem, uint32_t memRangeCount,
VkDeviceSize offset, const VkMappedMemoryRange* pMemRanges);
VkDeviceSize size);
VkResult VKAPI vkPinSystemMemory( VkResult VKAPI vkInvalidateMappedMemoryRanges(
VkDevice device, VkDevice device,
const void* pSysMem, uint32_t memRangeCount,
size_t memSize, const VkMappedMemoryRange* pMemRanges);
VkDeviceMemory* pMem);
VkResult VKAPI vkDestroyObject( VkResult VKAPI vkDestroyObject(
VkDevice device, VkDevice device,

View File

@ -990,24 +990,22 @@ VkResult anv_UnmapMemory(
return VK_SUCCESS; return VK_SUCCESS;
} }
VkResult anv_FlushMappedMemory( VkResult anv_FlushMappedMemoryRanges(
VkDevice device, VkDevice device,
VkDeviceMemory mem, uint32_t memRangeCount,
VkDeviceSize offset, const VkMappedMemoryRange* pMemRanges)
VkDeviceSize size)
{ {
/* clflush here for !llc platforms */ /* clflush here for !llc platforms */
return VK_SUCCESS; return VK_SUCCESS;
} }
VkResult anv_PinSystemMemory( VkResult anv_InvalidateMappedMemoryRanges(
VkDevice device, VkDevice device,
const void* pSysMem, uint32_t memRangeCount,
size_t memSize, const VkMappedMemoryRange* pMemRanges)
VkDeviceMemory* pMem)
{ {
return VK_SUCCESS; return anv_FlushMappedMemoryRanges(device, memRangeCount, pMemRanges);
} }
VkResult anv_DestroyObject( VkResult anv_DestroyObject(