Loading vulkan/api/vulkan.api +4 −2 Original line number Diff line number Diff line Loading @@ -27,7 +27,7 @@ import platform "platform.api" // API version (major.minor.patch) define VERSION_MAJOR 0 define VERSION_MINOR 203 define VERSION_MINOR 204 define VERSION_PATCH 0 // API limits Loading Loading @@ -2110,6 +2110,7 @@ class VkPhysicalDeviceLimits { u32 maxPerStageDescriptorStorageBuffers /// max num of storage buffers allowed per-stage in a descriptor set u32 maxPerStageDescriptorSampledImages /// max num of sampled images allowed per-stage in a descriptor set u32 maxPerStageDescriptorStorageImages /// max num of storage images allowed per-stage in a descriptor set u32 maxPerStageDescriptorInputAttachments u32 maxDescriptorSetSamplers /// max num of samplers allowed in all stages in a descriptor set u32 maxDescriptorSetUniformBuffers /// max num of uniform buffers allowed in all stages in a descriptor set u32 maxDescriptorSetUniformBuffersDynamic /// max num of dynamic uniform buffers allowed in all stages in a descriptor set Loading @@ -2117,6 +2118,7 @@ class VkPhysicalDeviceLimits { u32 maxDescriptorSetStorageBuffersDynamic /// max num of dynamic storage buffers allowed in all stages in a descriptor set u32 maxDescriptorSetSampledImages /// max num of sampled images allowed in all stages in a descriptor set u32 maxDescriptorSetStorageImages /// max num of storage images allowed in all stages in a descriptor set u32 maxDescriptorSetInputAttachments /// vertex stage limits u32 maxVertexInputAttributes /// max num of vertex input attribute slots u32 maxVertexInputBindings /// max num of vertex input binding slots Loading Loading @@ -2318,7 +2320,7 @@ class VkPresentInfoKHR { u32 swapchainCount const VkSwapchainKHR* pSwapchains const u32* imageIndices const VkResult* pResults VkResult* pResults } @extension("VK_KHR_display") Loading vulkan/include/vulkan/vk_android_native_buffer.h +10 −10 Original line number Diff line number Diff line Loading @@ -47,39 +47,39 @@ typedef struct { int usage; } VkNativeBufferANDROID; typedef VkResult (VKAPI *PFN_vkGetSwapchainGrallocUsageANDROID)(VkDevice device, VkFormat format, VkImageUsageFlags imageUsage, int* grallocUsage); typedef VkResult (VKAPI *PFN_vkAcquireImageANDROID)(VkDevice device, VkImage image, int nativeFenceFd, VkSemaphore semaphore); typedef VkResult (VKAPI *PFN_vkQueueSignalReleaseImageANDROID)(VkQueue queue, VkImage image, int* pNativeFenceFd); typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainGrallocUsageANDROID)(VkDevice device, VkFormat format, VkImageUsageFlags imageUsage, int* grallocUsage); typedef VkResult (VKAPI_PTR *PFN_vkAcquireImageANDROID)(VkDevice device, VkImage image, int nativeFenceFd, VkSemaphore semaphore); typedef VkResult (VKAPI_PTR *PFN_vkQueueSignalReleaseImageANDROID)(VkQueue queue, VkImage image, int* pNativeFenceFd); // -- DEPRECATED -- typedef VkResult (VKAPI *PFN_vkImportNativeFenceANDROID)(VkDevice device, VkSemaphore semaphore, int nativeFenceFd); typedef VkResult (VKAPI *PFN_vkQueueSignalNativeFenceANDROID)(VkQueue queue, int* pNativeFenceFd); typedef VkResult (VKAPI_PTR *PFN_vkImportNativeFenceANDROID)(VkDevice device, VkSemaphore semaphore, int nativeFenceFd); typedef VkResult (VKAPI_PTR *PFN_vkQueueSignalNativeFenceANDROID)(VkQueue queue, int* pNativeFenceFd); // ---------------- #ifdef VK_PROTOTYPES VkResult VKAPI vkGetSwapchainGrallocUsageANDROID( VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainGrallocUsageANDROID( VkDevice device, VkFormat format, VkImageUsageFlags imageUsage, int* grallocUsage ); VkResult VKAPI vkAcquireImageANDROID( VKAPI_ATTR VkResult VKAPI_CALL vkAcquireImageANDROID( VkDevice device, VkImage image, int nativeFenceFd, VkSemaphore semaphore ); VkResult VKAPI vkQueueSignalReleaseImageANDROID( VKAPI_ATTR VkResult VKAPI_CALL vkQueueSignalReleaseImageANDROID( VkQueue queue, VkImage image, int* pNativeFenceFd ); // -- DEPRECATED -- VkResult VKAPI vkImportNativeFenceANDROID( VKAPI_ATTR VkResult VKAPI_CALL vkImportNativeFenceANDROID( VkDevice device, VkSemaphore semaphore, int nativeFenceFd ); VkResult VKAPI vkQueueSignalNativeFenceANDROID( VKAPI_ATTR VkResult VKAPI_CALL vkQueueSignalNativeFenceANDROID( VkQueue queue, int* pNativeFenceFd ); Loading vulkan/include/vulkan/vk_debug_report_lunarg.h +8 −8 Original line number Diff line number Diff line Loading @@ -112,7 +112,7 @@ typedef enum _DEBUG_REPORT_ERROR // ------------------------------------------------------------------------------------------------ // Vulkan function pointers typedef VkBool32 (*PFN_vkDbgMsgCallback)( typedef VkBool32 (VKAPI_PTR *PFN_vkDbgMsgCallback)( VkFlags msgFlags, VkDbgObjectType objType, uint64_t srcObject, Loading @@ -125,25 +125,25 @@ typedef VkBool32 (*PFN_vkDbgMsgCallback)( // ------------------------------------------------------------------------------------------------ // API functions typedef VkResult (VKAPI *PFN_vkDbgCreateMsgCallback)(VkInstance instance, VkFlags msgFlags, const PFN_vkDbgMsgCallback pfnMsgCallback, void* pUserData, VkDbgMsgCallback* pMsgCallback); typedef VkResult (VKAPI *PFN_vkDbgDestroyMsgCallback)(VkInstance instance, VkDbgMsgCallback msgCallback); typedef VkResult (VKAPI_PTR *PFN_vkDbgCreateMsgCallback)(VkInstance instance, VkFlags msgFlags, const PFN_vkDbgMsgCallback pfnMsgCallback, void* pUserData, VkDbgMsgCallback* pMsgCallback); typedef VkResult (VKAPI_PTR *PFN_vkDbgDestroyMsgCallback)(VkInstance instance, VkDbgMsgCallback msgCallback); #ifdef VK_PROTOTYPES // DebugReport extension entrypoints VkResult VKAPI vkDbgCreateMsgCallback( VKAPI_ATTR VkResult VKAPI_CALL vkDbgCreateMsgCallback( VkInstance instance, VkFlags msgFlags, const PFN_vkDbgMsgCallback pfnMsgCallback, void* pUserData, VkDbgMsgCallback* pMsgCallback); VkResult VKAPI vkDbgDestroyMsgCallback( VKAPI_ATTR VkResult VKAPI_CALL vkDbgDestroyMsgCallback( VkInstance instance, VkDbgMsgCallback msgCallback); // DebugReport utility callback functions void VKAPI vkDbgStringCallback( VKAPI_ATTR void VKAPI_CALL vkDbgStringCallback( VkFlags msgFlags, VkDbgObjectType objType, uint64_t srcObject, Loading @@ -153,7 +153,7 @@ void VKAPI vkDbgStringCallback( const char* pMsg, void* pUserData); void VKAPI vkDbgStdioCallback( VKAPI_ATTR void VKAPI_CALL vkDbgStdioCallback( VkFlags msgFlags, VkDbgObjectType objType, uint64_t srcObject, Loading @@ -163,7 +163,7 @@ void VKAPI vkDbgStdioCallback( const char* pMsg, void* pUserData); void VKAPI vkDbgBreakCallback( VKAPI_ATTR void VKAPI_CALL vkDbgBreakCallback( VkFlags msgFlags, VkDbgObjectType objType, uint64_t srcObject, Loading vulkan/include/vulkan/vk_platform.h +31 −3 Original line number Diff line number Diff line Loading @@ -39,12 +39,40 @@ extern "C" *************************************************************************************************** */ /* Platform-specific calling convention macros. * * Platforms should define these so that Vulkan clients call Vulkan commands * with the same calling conventions that the Vulkan implementation expects. * * VKAPI_ATTR - Placed before the return type in function declarations. * Useful for C++11 and GCC/Clang-style function attribute syntax. * VKAPI_CALL - Placed after the return type in function declarations. * Useful for MSVC-style calling convention syntax. * VKAPI_PTR - Placed between the '(' and '*' in function pointer types. * * Function declaration: VKAPI_ATTR void VKAPI_CALL vkCommand(void); * Function pointer type: typedef void (VKAPI_PTR *PFN_vkCommand)(void); */ #if defined(_WIN32) // On Windows, VKAPI should equate to the __stdcall convention #define VKAPI __stdcall // On Windows, Vulkan commands use the stdcall convention #define VKAPI_ATTR #define VKAPI_CALL __stdcall #define VKAPI_PTR VKAPI_CALL #elif defined(__ANDROID__) && defined(__ARM_EABI__) && !defined(__ARM_ARCH_7A__) // Android does not support Vulkan in native code using the "armeabi" ABI. #error "Vulkan requires the 'armeabi-v7a' or 'armeabi-v7a-hard' ABI on 32-bit ARM CPUs" #elif defined(__ANDROID__) && defined(__ARM_ARCH_7A__) // On Android/ARMv7a, Vulkan functions use the armeabi-v7a-hard calling // convention, even if the application's native code is compiled with the // armeabi-v7a calling convention. #define VKAPI_ATTR __attribute__((pcs("aapcs-vfp"))) #define VKAPI_CALL #define VKAPI_PTR VKAPI_ATTR #else // On other platforms, use the default calling convention #define VKAPI #define VKAPI_ATTR #define VKAPI_CALL #define VKAPI_PTR #endif #include <stddef.h> Loading Loading
vulkan/api/vulkan.api +4 −2 Original line number Diff line number Diff line Loading @@ -27,7 +27,7 @@ import platform "platform.api" // API version (major.minor.patch) define VERSION_MAJOR 0 define VERSION_MINOR 203 define VERSION_MINOR 204 define VERSION_PATCH 0 // API limits Loading Loading @@ -2110,6 +2110,7 @@ class VkPhysicalDeviceLimits { u32 maxPerStageDescriptorStorageBuffers /// max num of storage buffers allowed per-stage in a descriptor set u32 maxPerStageDescriptorSampledImages /// max num of sampled images allowed per-stage in a descriptor set u32 maxPerStageDescriptorStorageImages /// max num of storage images allowed per-stage in a descriptor set u32 maxPerStageDescriptorInputAttachments u32 maxDescriptorSetSamplers /// max num of samplers allowed in all stages in a descriptor set u32 maxDescriptorSetUniformBuffers /// max num of uniform buffers allowed in all stages in a descriptor set u32 maxDescriptorSetUniformBuffersDynamic /// max num of dynamic uniform buffers allowed in all stages in a descriptor set Loading @@ -2117,6 +2118,7 @@ class VkPhysicalDeviceLimits { u32 maxDescriptorSetStorageBuffersDynamic /// max num of dynamic storage buffers allowed in all stages in a descriptor set u32 maxDescriptorSetSampledImages /// max num of sampled images allowed in all stages in a descriptor set u32 maxDescriptorSetStorageImages /// max num of storage images allowed in all stages in a descriptor set u32 maxDescriptorSetInputAttachments /// vertex stage limits u32 maxVertexInputAttributes /// max num of vertex input attribute slots u32 maxVertexInputBindings /// max num of vertex input binding slots Loading Loading @@ -2318,7 +2320,7 @@ class VkPresentInfoKHR { u32 swapchainCount const VkSwapchainKHR* pSwapchains const u32* imageIndices const VkResult* pResults VkResult* pResults } @extension("VK_KHR_display") Loading
vulkan/include/vulkan/vk_android_native_buffer.h +10 −10 Original line number Diff line number Diff line Loading @@ -47,39 +47,39 @@ typedef struct { int usage; } VkNativeBufferANDROID; typedef VkResult (VKAPI *PFN_vkGetSwapchainGrallocUsageANDROID)(VkDevice device, VkFormat format, VkImageUsageFlags imageUsage, int* grallocUsage); typedef VkResult (VKAPI *PFN_vkAcquireImageANDROID)(VkDevice device, VkImage image, int nativeFenceFd, VkSemaphore semaphore); typedef VkResult (VKAPI *PFN_vkQueueSignalReleaseImageANDROID)(VkQueue queue, VkImage image, int* pNativeFenceFd); typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainGrallocUsageANDROID)(VkDevice device, VkFormat format, VkImageUsageFlags imageUsage, int* grallocUsage); typedef VkResult (VKAPI_PTR *PFN_vkAcquireImageANDROID)(VkDevice device, VkImage image, int nativeFenceFd, VkSemaphore semaphore); typedef VkResult (VKAPI_PTR *PFN_vkQueueSignalReleaseImageANDROID)(VkQueue queue, VkImage image, int* pNativeFenceFd); // -- DEPRECATED -- typedef VkResult (VKAPI *PFN_vkImportNativeFenceANDROID)(VkDevice device, VkSemaphore semaphore, int nativeFenceFd); typedef VkResult (VKAPI *PFN_vkQueueSignalNativeFenceANDROID)(VkQueue queue, int* pNativeFenceFd); typedef VkResult (VKAPI_PTR *PFN_vkImportNativeFenceANDROID)(VkDevice device, VkSemaphore semaphore, int nativeFenceFd); typedef VkResult (VKAPI_PTR *PFN_vkQueueSignalNativeFenceANDROID)(VkQueue queue, int* pNativeFenceFd); // ---------------- #ifdef VK_PROTOTYPES VkResult VKAPI vkGetSwapchainGrallocUsageANDROID( VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainGrallocUsageANDROID( VkDevice device, VkFormat format, VkImageUsageFlags imageUsage, int* grallocUsage ); VkResult VKAPI vkAcquireImageANDROID( VKAPI_ATTR VkResult VKAPI_CALL vkAcquireImageANDROID( VkDevice device, VkImage image, int nativeFenceFd, VkSemaphore semaphore ); VkResult VKAPI vkQueueSignalReleaseImageANDROID( VKAPI_ATTR VkResult VKAPI_CALL vkQueueSignalReleaseImageANDROID( VkQueue queue, VkImage image, int* pNativeFenceFd ); // -- DEPRECATED -- VkResult VKAPI vkImportNativeFenceANDROID( VKAPI_ATTR VkResult VKAPI_CALL vkImportNativeFenceANDROID( VkDevice device, VkSemaphore semaphore, int nativeFenceFd ); VkResult VKAPI vkQueueSignalNativeFenceANDROID( VKAPI_ATTR VkResult VKAPI_CALL vkQueueSignalNativeFenceANDROID( VkQueue queue, int* pNativeFenceFd ); Loading
vulkan/include/vulkan/vk_debug_report_lunarg.h +8 −8 Original line number Diff line number Diff line Loading @@ -112,7 +112,7 @@ typedef enum _DEBUG_REPORT_ERROR // ------------------------------------------------------------------------------------------------ // Vulkan function pointers typedef VkBool32 (*PFN_vkDbgMsgCallback)( typedef VkBool32 (VKAPI_PTR *PFN_vkDbgMsgCallback)( VkFlags msgFlags, VkDbgObjectType objType, uint64_t srcObject, Loading @@ -125,25 +125,25 @@ typedef VkBool32 (*PFN_vkDbgMsgCallback)( // ------------------------------------------------------------------------------------------------ // API functions typedef VkResult (VKAPI *PFN_vkDbgCreateMsgCallback)(VkInstance instance, VkFlags msgFlags, const PFN_vkDbgMsgCallback pfnMsgCallback, void* pUserData, VkDbgMsgCallback* pMsgCallback); typedef VkResult (VKAPI *PFN_vkDbgDestroyMsgCallback)(VkInstance instance, VkDbgMsgCallback msgCallback); typedef VkResult (VKAPI_PTR *PFN_vkDbgCreateMsgCallback)(VkInstance instance, VkFlags msgFlags, const PFN_vkDbgMsgCallback pfnMsgCallback, void* pUserData, VkDbgMsgCallback* pMsgCallback); typedef VkResult (VKAPI_PTR *PFN_vkDbgDestroyMsgCallback)(VkInstance instance, VkDbgMsgCallback msgCallback); #ifdef VK_PROTOTYPES // DebugReport extension entrypoints VkResult VKAPI vkDbgCreateMsgCallback( VKAPI_ATTR VkResult VKAPI_CALL vkDbgCreateMsgCallback( VkInstance instance, VkFlags msgFlags, const PFN_vkDbgMsgCallback pfnMsgCallback, void* pUserData, VkDbgMsgCallback* pMsgCallback); VkResult VKAPI vkDbgDestroyMsgCallback( VKAPI_ATTR VkResult VKAPI_CALL vkDbgDestroyMsgCallback( VkInstance instance, VkDbgMsgCallback msgCallback); // DebugReport utility callback functions void VKAPI vkDbgStringCallback( VKAPI_ATTR void VKAPI_CALL vkDbgStringCallback( VkFlags msgFlags, VkDbgObjectType objType, uint64_t srcObject, Loading @@ -153,7 +153,7 @@ void VKAPI vkDbgStringCallback( const char* pMsg, void* pUserData); void VKAPI vkDbgStdioCallback( VKAPI_ATTR void VKAPI_CALL vkDbgStdioCallback( VkFlags msgFlags, VkDbgObjectType objType, uint64_t srcObject, Loading @@ -163,7 +163,7 @@ void VKAPI vkDbgStdioCallback( const char* pMsg, void* pUserData); void VKAPI vkDbgBreakCallback( VKAPI_ATTR void VKAPI_CALL vkDbgBreakCallback( VkFlags msgFlags, VkDbgObjectType objType, uint64_t srcObject, Loading
vulkan/include/vulkan/vk_platform.h +31 −3 Original line number Diff line number Diff line Loading @@ -39,12 +39,40 @@ extern "C" *************************************************************************************************** */ /* Platform-specific calling convention macros. * * Platforms should define these so that Vulkan clients call Vulkan commands * with the same calling conventions that the Vulkan implementation expects. * * VKAPI_ATTR - Placed before the return type in function declarations. * Useful for C++11 and GCC/Clang-style function attribute syntax. * VKAPI_CALL - Placed after the return type in function declarations. * Useful for MSVC-style calling convention syntax. * VKAPI_PTR - Placed between the '(' and '*' in function pointer types. * * Function declaration: VKAPI_ATTR void VKAPI_CALL vkCommand(void); * Function pointer type: typedef void (VKAPI_PTR *PFN_vkCommand)(void); */ #if defined(_WIN32) // On Windows, VKAPI should equate to the __stdcall convention #define VKAPI __stdcall // On Windows, Vulkan commands use the stdcall convention #define VKAPI_ATTR #define VKAPI_CALL __stdcall #define VKAPI_PTR VKAPI_CALL #elif defined(__ANDROID__) && defined(__ARM_EABI__) && !defined(__ARM_ARCH_7A__) // Android does not support Vulkan in native code using the "armeabi" ABI. #error "Vulkan requires the 'armeabi-v7a' or 'armeabi-v7a-hard' ABI on 32-bit ARM CPUs" #elif defined(__ANDROID__) && defined(__ARM_ARCH_7A__) // On Android/ARMv7a, Vulkan functions use the armeabi-v7a-hard calling // convention, even if the application's native code is compiled with the // armeabi-v7a calling convention. #define VKAPI_ATTR __attribute__((pcs("aapcs-vfp"))) #define VKAPI_CALL #define VKAPI_PTR VKAPI_ATTR #else // On other platforms, use the default calling convention #define VKAPI #define VKAPI_ATTR #define VKAPI_CALL #define VKAPI_PTR #endif #include <stddef.h> Loading