OSDN Git Service

vulkan: Update from version 0.179.0 to 0.180.0
authorJesse Hall <jessehall@google.com>
Fri, 20 Nov 2015 06:30:07 +0000 (22:30 -0800)
committerJesse Hall <jessehall@google.com>
Mon, 25 Jan 2016 21:49:31 +0000 (13:49 -0800)
Change-Id: I2cbf4a8b065e8150734d76d614ab0850bc8324dc
(cherry picked from commit 2b2221bd4c5cbc2580bf7b4e487bffe36fd25c4a)

vulkan/api/vulkan.api
vulkan/include/vulkan/vulkan.h
vulkan/libvulkan/entry.cpp
vulkan/nulldrv/null_driver.cpp
vulkan/nulldrv/null_driver.h

index 7844f63..669a64e 100644 (file)
@@ -27,7 +27,7 @@ import platform "platform.api"
 
 // 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 @@ class VkLayerProperties {
     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 @@ cmd void vkGetDeviceQueue(
 @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 @@ cmd VkResult vkQueueSubmit(
         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 ?
 }
index eb427f8..3706b34 100644 (file)
@@ -41,7 +41,7 @@ extern "C" {
     ((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(VkInstance)
 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 @@ typedef struct {
 } 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_vkEnumerateDeviceExtensionProperties)(VkPhysicalDev
 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 @@ void VKAPI vkGetDeviceQueue(
 
 VkResult VKAPI vkQueueSubmit(
     VkQueue                                     queue,
-    uint32_t                                    cmdBufferCount,
-    const VkCmdBuffer*                          pCmdBuffers,
+    uint32_t                                    submitCount,
+    const VkSubmitInfo*                         pSubmitInfo,
     VkFence                                     fence);
 
 VkResult VKAPI vkQueueWaitIdle(
index b7c4848..2bf6aae 100644 (file)
@@ -132,8 +132,8 @@ void vkGetDeviceQueue(VkDevice device, uint32_t queueFamilyIndex, uint32_t queue
 }
 
 __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")))
index 0d1b468..2bef297 100644 (file)
@@ -709,7 +709,7 @@ VkResult EnumerateDeviceExtensionProperties(VkPhysicalDevice physicalDevice, con
     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;
 }
 
index 2679777..a1d1e05 100644 (file)
@@ -44,7 +44,7 @@ VkResult EnumerateDeviceExtensionProperties(VkPhysicalDevice physicalDevice, con
 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);