vk/vulkan.h: Add the stuff for cross-queue resource sharing

We only have one queue, so this is currently a no-op on our implementation.
This commit is contained in:
Jason Ekstrand
2015-07-14 17:20:50 -07:00
parent 553b4434ca
commit ca7243b54e

View File

@@ -496,6 +496,15 @@ typedef enum {
VK_QUERY_TYPE_MAX_ENUM = 0x7FFFFFFF
} VkQueryType;
typedef enum {
VK_SHARING_MODE_EXCLUSIVE = 0,
VK_SHARING_MODE_CONCURRENT = 1,
VK_SHARING_MODE_BEGIN_RANGE = VK_SHARING_MODE_EXCLUSIVE,
VK_SHARING_MODE_END_RANGE = VK_SHARING_MODE_CONCURRENT,
VK_SHARING_MODE_NUM = (VK_SHARING_MODE_CONCURRENT - VK_SHARING_MODE_EXCLUSIVE + 1),
VK_SHARING_MODE_MAX_ENUM = 0x7FFFFFFF
} VkSharingMode;
typedef enum {
VK_BUFFER_VIEW_TYPE_RAW = 0,
VK_BUFFER_VIEW_TYPE_FORMATTED = 1,
@@ -1329,7 +1338,7 @@ typedef struct {
typedef void (VKAPI *PFN_vkVoidFunction)(void);
typedef struct {
uint32_t queueNodeIndex;
uint32_t queueFamilyIndex;
uint32_t queueCount;
} VkDeviceQueueCreateInfo;
@@ -1459,6 +1468,9 @@ typedef struct {
VkDeviceSize size;
VkBufferUsageFlags usage;
VkBufferCreateFlags flags;
VkSharingMode sharingMode;
uint32_t queueFamilyCount;
const uint32_t* pQueueFamilyIndices;
} VkBufferCreateInfo;
typedef struct {
@@ -1483,6 +1495,9 @@ typedef struct {
VkImageTiling tiling;
VkImageUsageFlags usage;
VkImageCreateFlags flags;
VkSharingMode sharingMode;
uint32_t queueFamilyCount;
const uint32_t* pQueueFamilyIndices;
} VkImageCreateInfo;
typedef struct {
@@ -1927,7 +1942,7 @@ typedef struct {
typedef struct {
VkStructureType sType;
const void* pNext;
uint32_t queueNodeIndex;
uint32_t queueFamilyIndex;
VkCmdBufferLevel level;
VkCmdBufferCreateFlags flags;
} VkCmdBufferCreateInfo;
@@ -2016,6 +2031,8 @@ typedef struct {
const void* pNext;
VkMemoryOutputFlags outputMask;
VkMemoryInputFlags inputMask;
uint32_t srcQueueFamilyIndex;
uint32_t destQueueFamilyIndex;
VkBuffer buffer;
VkDeviceSize offset;
VkDeviceSize size;
@@ -2049,6 +2066,8 @@ typedef struct {
VkMemoryInputFlags inputMask;
VkImageLayout oldLayout;
VkImageLayout newLayout;
uint32_t srcQueueFamilyIndex;
uint32_t destQueueFamilyIndex;
VkImage image;
VkImageSubresourceRange subresourceRange;
} VkImageMemoryBarrier;
@@ -2080,7 +2099,7 @@ typedef VkResult (VKAPI *PFN_vkGetGlobalExtensionProperties)(const char* pLayerN
typedef VkResult (VKAPI *PFN_vkGetPhysicalDeviceExtensionProperties)(VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pCount, VkExtensionProperties* pProperties);
typedef VkResult (VKAPI *PFN_vkGetGlobalLayerProperties)(uint32_t* pCount, VkLayerProperties* pProperties);
typedef VkResult (VKAPI *PFN_vkGetPhysicalDeviceLayerProperties)(VkPhysicalDevice physicalDevice, uint32_t* pCount, VkLayerProperties* pProperties);
typedef VkResult (VKAPI *PFN_vkGetDeviceQueue)(VkDevice device, uint32_t queueNodeIndex, uint32_t queueIndex, VkQueue* pQueue);
typedef VkResult (VKAPI *PFN_vkGetDeviceQueue)(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue);
typedef VkResult (VKAPI *PFN_vkQueueSubmit)(VkQueue queue, uint32_t cmdBufferCount, const VkCmdBuffer* pCmdBuffers, VkFence fence);
typedef VkResult (VKAPI *PFN_vkQueueWaitIdle)(VkQueue queue);
typedef VkResult (VKAPI *PFN_vkDeviceWaitIdle)(VkDevice device);
@@ -2300,7 +2319,7 @@ VkResult VKAPI vkGetPhysicalDeviceLayerProperties(
VkResult VKAPI vkGetDeviceQueue(
VkDevice device,
uint32_t queueNodeIndex,
uint32_t queueFamilyIndex,
uint32_t queueIndex,
VkQueue* pQueue);