diff options
| author | Mark Lobodzinski <mark@lunarg.com> | 2015-04-16 11:44:05 -0500 |
|---|---|---|
| committer | Mark Lobodzinski <mark@lunarg.com> | 2015-04-16 11:59:33 -0500 |
| commit | da9b10937ffc73f3fb3af250b0a57e2ea67bb63e (patch) | |
| tree | c34f998675f61f4f9ed339e0400f15fac8dfe390 /include/vulkan.h | |
| parent | b582b319f9fee0cb1d3402ee73ccea5c54706be9 (diff) | |
| download | usermoji-da9b10937ffc73f3fb3af250b0a57e2ea67bb63e.tar.xz | |
vulkan: Updated vulkan.h for revision 79 -- Bug #13464
Implemented the changes required for adding fine-grained synchronization
to vkBindMemoryObject and related APIs.
Diffstat (limited to 'include/vulkan.h')
| -rw-r--r-- | include/vulkan.h | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/include/vulkan.h b/include/vulkan.h index 8d0d5d5b..2c538572 100644 --- a/include/vulkan.h +++ b/include/vulkan.h @@ -1075,6 +1075,7 @@ typedef enum VkQueueFlags_ VK_QUEUE_GRAPHICS_BIT = 0x00000001, // Queue supports graphics operations VK_QUEUE_COMPUTE_BIT = 0x00000002, // Queue supports compute operations VK_QUEUE_DMA_BIT = 0x00000004, // Queue supports DMA operations + VK_QUEUE_MEMMGR_BIT = 0x00000008, // Queue supports memory management operations VK_QUEUE_EXTENDED_BIT = 0x40000000, // Extended queue VK_MAX_ENUM(VkQueueFlags) } VkQueueFlags; @@ -1427,7 +1428,7 @@ typedef struct VkMemoryRequirements_ { VkGpuSize size; // Specified in bytes VkGpuSize alignment; // Specified in bytes - VkGpuSize granularity; // Granularity on which vkBindObjectMemoryRange can bind sub-ranges of memory specified in bytes (usually the page size) + VkGpuSize granularity; // Granularity on which vkQueueBindObjectMemoryRange can bind sub-ranges of memory specified in bytes (usually the page size) VkFlags memProps; // VkMemoryPropertyFlags } VkMemoryRequirements; @@ -2213,9 +2214,9 @@ typedef VkResult (VKAPI *PFN_vkOpenPeerMemory)(VkDevice device, const VkPeerMemo typedef VkResult (VKAPI *PFN_vkOpenPeerImage)(VkDevice device, const VkPeerImageOpenInfo* pOpenInfo, VkImage* pImage, VkGpuMemory* pMem); typedef VkResult (VKAPI *PFN_vkDestroyObject)(VkObject object); typedef VkResult (VKAPI *PFN_vkGetObjectInfo)(VkBaseObject object, VkObjectInfoType infoType, size_t* pDataSize, void* pData); -typedef VkResult (VKAPI *PFN_vkBindObjectMemory)(VkObject object, uint32_t allocationIdx, VkGpuMemory mem, VkGpuSize offset); -typedef VkResult (VKAPI *PFN_vkBindObjectMemoryRange)(VkObject object, uint32_t allocationIdx, VkGpuSize rangeOffset,VkGpuSize rangeSize, VkGpuMemory mem, VkGpuSize memOffset); -typedef VkResult (VKAPI *PFN_vkBindImageMemoryRange)(VkImage image, uint32_t allocationIdx, const VkImageMemoryBindInfo* bindInfo, VkGpuMemory mem, VkGpuSize memOffset); +typedef VkResult (VKAPI *PFN_vkQueueBindObjectMemory)(VkQueue queue, VkObject object, uint32_t allocationIdx, VkGpuMemory mem, VkGpuSize offset); +typedef VkResult (VKAPI *PFN_vkQueueBindObjectMemoryRange)(VkQueue queue, VkObject object, uint32_t allocationIdx, VkGpuSize rangeOffset,VkGpuSize rangeSize, VkGpuMemory mem, VkGpuSize memOffset); +typedef VkResult (VKAPI *PFN_vkQueueBindImageMemoryRange)(VkQueue queue, VkImage image, uint32_t allocationIdx, const VkImageMemoryBindInfo* bindInfo, VkGpuMemory mem, VkGpuSize memOffset); typedef VkResult (VKAPI *PFN_vkCreateFence)(VkDevice device, const VkFenceCreateInfo* pCreateInfo, VkFence* pFence); typedef VkResult (VKAPI *PFN_vkResetFences)(VkDevice device, uint32_t fenceCount, VkFence* pFences); typedef VkResult (VKAPI *PFN_vkGetFenceStatus)(VkFence fence); @@ -2453,13 +2454,17 @@ VkResult VKAPI vkGetObjectInfo( size_t* pDataSize, void* pData); -VkResult VKAPI vkBindObjectMemory( +// Memory namagement API functions + +VkResult VKAPI vkQueueBindObjectMemory( + VkQueue queue, VkObject object, uint32_t allocationIdx, VkGpuMemory mem, VkGpuSize memOffset); -VkResult VKAPI vkBindObjectMemoryRange( +VkResult VKAPI vkQueueBindObjectMemoryRange( + VkQueue queue, VkObject object, uint32_t allocationIdx, VkGpuSize rangeOffset, @@ -2467,7 +2472,8 @@ VkResult VKAPI vkBindObjectMemoryRange( VkGpuMemory mem, VkGpuSize memOffset); -VkResult VKAPI vkBindImageMemoryRange( +VkResult VKAPI vkQueueBindImageMemoryRange( + VkQueue queue, VkImage image, uint32_t allocationIdx, const VkImageMemoryBindInfo* bindInfo, |
