Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a366a518 authored by Jesse Hall's avatar Jesse Hall
Browse files

vulkan: Update from version 0.179.0 to 0.180.0

Change-Id: I2cbf4a8b065e8150734d76d614ab0850bc8324dc
(cherry picked from commit 2b2221bd4c5cbc2580bf7b4e487bffe36fd25c4a)
parent 606a54e1
Loading
Loading
Loading
Loading
+21 −12
Original line number Diff line number Diff line
@@ -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 ?
}
+14 −5
Original line number Diff line number Diff line
@@ -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)
@@ -1383,6 +1383,15 @@ typedef struct {
    char                                        description[VK_MAX_DESCRIPTION];
} 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;
@@ -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(
+2 −2
Original line number Diff line number Diff line
@@ -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")))
+1 −1
Original line number Diff line number Diff line
@@ -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;
}

+1 −1
Original line number Diff line number Diff line
@@ -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);