vulkan: Update from version 0.179.0 to 0.180.0
Change-Id: I2cbf4a8b065e8150734d76d614ab0850bc8324dc
(cherry picked from commit 2b2221bd4c5cbc2580bf7b4e487bffe36fd25c4a)
diff --git a/vulkan/api/vulkan.api b/vulkan/api/vulkan.api
index 7844f63..669a64e 100644
--- a/vulkan/api/vulkan.api
+++ b/vulkan/api/vulkan.api
@@ -27,7 +27,7 @@
// API version (major.minor.patch)
define VERSION_MAJOR 0
-define VERSION_MINOR 179
+define VERSION_MINOR 180
define VERSION_PATCH 0
// API limits
@@ -1058,6 +1058,15 @@
char[VK_MAX_DESCRIPTION] description /// Free-form description of the layer
}
+class VkSubmitInfo {
+ u32 waitSemCount
+ const VkSemaphore* pWaitSemaphores
+ u32 cmdBufferCount
+ const VkCmdBuffer* pCommandBuffers
+ u32 signalSemCount
+ const VkSemaphore* pSignalSemaphores
+}
+
class VkApplicationInfo {
VkStructureType sType /// Type of structure. Should be VK_STRUCTURE_TYPE_APPLICATION_INFO
const void* pNext /// Next structure in chain
@@ -2348,8 +2357,8 @@
@threadSafety("app")
cmd VkResult vkQueueSubmit(
VkQueue queue,
- u32 cmdBufferCount,
- const VkCmdBuffer* pCmdBuffers,
+ u32 submitCount,
+ const VkSubmitInfo* pSubmitInfo,
VkFence fence) {
queueObject := GetQueue(queue)
@@ -2358,15 +2367,15 @@
assert(fenceObject.device == queueObject.device)
}
- cmdBuffers := pCmdBuffers[0:cmdBufferCount]
- for i in (0 .. cmdBufferCount) {
- cmdBuffer := cmdBuffers[i]
- cmdBufferObject := GetCmdBuffer(cmdBuffer)
- assert(cmdBufferObject.device == queueObject.device)
-
- validate("QueueCheck", cmdBufferObject.queueFlags in queueObject.flags,
- "vkQueueSubmit: enqueued cmdBuffer requires missing queue capabilities.")
- }
+ // cmdBuffers := pCmdBuffers[0:cmdBufferCount]
+ // for i in (0 .. cmdBufferCount) {
+ // cmdBuffer := cmdBuffers[i]
+ // cmdBufferObject := GetCmdBuffer(cmdBuffer)
+ // assert(cmdBufferObject.device == queueObject.device)
+ //
+ // validate("QueueCheck", cmdBufferObject.queueFlags in queueObject.flags,
+ // "vkQueueSubmit: enqueued cmdBuffer requires missing queue capabilities.")
+ // }
return ?
}
diff --git a/vulkan/include/vulkan/vulkan.h b/vulkan/include/vulkan/vulkan.h
index eb427f8..3706b34 100644
--- a/vulkan/include/vulkan/vulkan.h
+++ b/vulkan/include/vulkan/vulkan.h
@@ -41,7 +41,7 @@
((major << 22) | (minor << 12) | patch)
// Vulkan API version supported by this file
-#define VK_API_VERSION VK_MAKE_VERSION(0, 179, 0)
+#define VK_API_VERSION VK_MAKE_VERSION(0, 180, 0)
#if defined(__cplusplus) && ((defined(_MSC_VER) && _MSC_VER >= 1800) || __cplusplus >= 201103L)
@@ -97,12 +97,12 @@
VK_DEFINE_HANDLE(VkPhysicalDevice)
VK_DEFINE_HANDLE(VkDevice)
VK_DEFINE_HANDLE(VkQueue)
+VK_DEFINE_NONDISP_HANDLE(VkSemaphore)
VK_DEFINE_HANDLE(VkCmdBuffer)
VK_DEFINE_NONDISP_HANDLE(VkFence)
VK_DEFINE_NONDISP_HANDLE(VkDeviceMemory)
VK_DEFINE_NONDISP_HANDLE(VkBuffer)
VK_DEFINE_NONDISP_HANDLE(VkImage)
-VK_DEFINE_NONDISP_HANDLE(VkSemaphore)
VK_DEFINE_NONDISP_HANDLE(VkEvent)
VK_DEFINE_NONDISP_HANDLE(VkQueryPool)
VK_DEFINE_NONDISP_HANDLE(VkBufferView)
@@ -1384,6 +1384,15 @@
} VkLayerProperties;
typedef struct {
+ uint32_t waitSemCount;
+ const VkSemaphore* pWaitSemaphores;
+ uint32_t cmdBufferCount;
+ const VkCmdBuffer* pCommandBuffers;
+ uint32_t signalSemCount;
+ const VkSemaphore* pSignalSemaphores;
+} VkSubmitInfo;
+
+typedef struct {
VkStructureType sType;
const void* pNext;
VkDeviceSize allocationSize;
@@ -2115,7 +2124,7 @@
typedef VkResult (VKAPI *PFN_vkEnumerateInstanceLayerProperties)(uint32_t* pCount, VkLayerProperties* pProperties);
typedef VkResult (VKAPI *PFN_vkEnumerateDeviceLayerProperties)(VkPhysicalDevice physicalDevice, uint32_t* pCount, VkLayerProperties* pProperties);
typedef void (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_vkQueueSubmit)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmitInfo, VkFence fence);
typedef VkResult (VKAPI *PFN_vkQueueWaitIdle)(VkQueue queue);
typedef VkResult (VKAPI *PFN_vkDeviceWaitIdle)(VkDevice device);
typedef VkResult (VKAPI *PFN_vkAllocMemory)(VkDevice device, const VkMemoryAllocInfo* pAllocInfo, VkDeviceMemory* pMem);
@@ -2330,8 +2339,8 @@
VkResult VKAPI vkQueueSubmit(
VkQueue queue,
- uint32_t cmdBufferCount,
- const VkCmdBuffer* pCmdBuffers,
+ uint32_t submitCount,
+ const VkSubmitInfo* pSubmitInfo,
VkFence fence);
VkResult VKAPI vkQueueWaitIdle(
diff --git a/vulkan/libvulkan/entry.cpp b/vulkan/libvulkan/entry.cpp
index b7c4848..2bf6aae 100644
--- a/vulkan/libvulkan/entry.cpp
+++ b/vulkan/libvulkan/entry.cpp
@@ -132,8 +132,8 @@
}
__attribute__((visibility("default")))
-VkResult vkQueueSubmit(VkQueue queue, uint32_t cmdBufferCount, const VkCmdBuffer* pCmdBuffers, VkFence fence) {
- return GetVtbl(queue).QueueSubmit(queue, cmdBufferCount, pCmdBuffers, fence);
+VkResult vkQueueSubmit(VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmitInfo, VkFence fence) {
+ return GetVtbl(queue).QueueSubmit(queue, submitCount, pSubmitInfo, fence);
}
__attribute__((visibility("default")))
diff --git a/vulkan/nulldrv/null_driver.cpp b/vulkan/nulldrv/null_driver.cpp
index 0d1b468..2bef297 100644
--- a/vulkan/nulldrv/null_driver.cpp
+++ b/vulkan/nulldrv/null_driver.cpp
@@ -709,7 +709,7 @@
return VK_SUCCESS;
}
-VkResult QueueSubmit(VkQueue queue, uint32_t cmdBufferCount, const VkCmdBuffer* pCmdBuffers, VkFence fence) {
+VkResult QueueSubmit(VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmitInfo, VkFence fence) {
return VK_SUCCESS;
}
diff --git a/vulkan/nulldrv/null_driver.h b/vulkan/nulldrv/null_driver.h
index 2679777..a1d1e05 100644
--- a/vulkan/nulldrv/null_driver.h
+++ b/vulkan/nulldrv/null_driver.h
@@ -44,7 +44,7 @@
VkResult EnumerateInstanceLayerProperties(uint32_t* pCount, VkLayerProperties* pProperties);
VkResult EnumerateDeviceLayerProperties(VkPhysicalDevice physicalDevice, uint32_t* pCount, VkLayerProperties* pProperties);
void GetDeviceQueue(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue);
-VkResult QueueSubmit(VkQueue queue, uint32_t cmdBufferCount, const VkCmdBuffer* pCmdBuffers, VkFence fence);
+VkResult QueueSubmit(VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmitInfo, VkFence fence);
VkResult QueueWaitIdle(VkQueue queue);
VkResult DeviceWaitIdle(VkDevice device);
VkResult AllocMemory(VkDevice device, const VkMemoryAllocInfo* pAllocInfo, VkDeviceMemory* pMem);