diff --git a/include/vulkan/vulkan_core.h b/include/vulkan/vulkan_core.h index 2cafcddf5ed..a28661f4530 100644 --- a/include/vulkan/vulkan_core.h +++ b/include/vulkan/vulkan_core.h @@ -43,7 +43,7 @@ extern "C" { #define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3ff) #define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xfff) // Version of this file -#define VK_HEADER_VERSION 73 +#define VK_HEADER_VERSION 76 #define VK_NULL_HANDLE 0 @@ -350,6 +350,11 @@ typedef enum VkStructureType { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR = 1000119000, VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR = 1000119001, VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR = 1000119002, + VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR = 1000121000, + VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR = 1000121001, + VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR = 1000121002, + VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR = 1000121003, + VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR = 1000121004, VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK = 1000122000, VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK = 1000123000, VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT = 1000128000, @@ -2715,6 +2720,16 @@ typedef struct VkDrawIndirectCommand { uint32_t firstInstance; } VkDrawIndirectCommand; +typedef struct VkBaseOutStructure { + VkStructureType sType; + struct VkBaseOutStructure* pNext; +} VkBaseOutStructure; + +typedef struct VkBaseInStructure { + VkStructureType sType; + const struct VkBaseInStructure* pNext; +} VkBaseInStructure; + typedef VkResult (VKAPI_PTR *PFN_vkCreateInstance)(const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance); typedef void (VKAPI_PTR *PFN_vkDestroyInstance)(VkInstance instance, const VkAllocationCallbacks* pAllocator); @@ -5572,6 +5587,70 @@ typedef VkPhysicalDeviceVariablePointerFeatures VkPhysicalDeviceVariablePointerF +#define VK_KHR_get_display_properties2 1 +#define VK_KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION 1 +#define VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_display_properties2" + +typedef struct VkDisplayProperties2KHR { + VkStructureType sType; + void* pNext; + VkDisplayPropertiesKHR displayProperties; +} VkDisplayProperties2KHR; + +typedef struct VkDisplayPlaneProperties2KHR { + VkStructureType sType; + void* pNext; + VkDisplayPlanePropertiesKHR displayPlaneProperties; +} VkDisplayPlaneProperties2KHR; + +typedef struct VkDisplayModeProperties2KHR { + VkStructureType sType; + void* pNext; + VkDisplayModePropertiesKHR displayModeProperties; +} VkDisplayModeProperties2KHR; + +typedef struct VkDisplayPlaneInfo2KHR { + VkStructureType sType; + const void* pNext; + VkDisplayModeKHR mode; + uint32_t planeIndex; +} VkDisplayPlaneInfo2KHR; + +typedef struct VkDisplayPlaneCapabilities2KHR { + VkStructureType sType; + void* pNext; + VkDisplayPlaneCapabilitiesKHR capabilities; +} VkDisplayPlaneCapabilities2KHR; + + +typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayProperties2KHR* pProperties); +typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPlaneProperties2KHR* pProperties); +typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModeProperties2KHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModeProperties2KHR* pProperties); +typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilities2KHR)(VkPhysicalDevice physicalDevice, const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo, VkDisplayPlaneCapabilities2KHR* pCapabilities); + +#ifndef VK_NO_PROTOTYPES +VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayProperties2KHR( + VkPhysicalDevice physicalDevice, + uint32_t* pPropertyCount, + VkDisplayProperties2KHR* pProperties); + +VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceDisplayPlaneProperties2KHR( + VkPhysicalDevice physicalDevice, + uint32_t* pPropertyCount, + VkDisplayPlaneProperties2KHR* pProperties); + +VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayModeProperties2KHR( + VkPhysicalDevice physicalDevice, + VkDisplayKHR display, + uint32_t* pPropertyCount, + VkDisplayModeProperties2KHR* pProperties); + +VKAPI_ATTR VkResult VKAPI_CALL vkGetDisplayPlaneCapabilities2KHR( + VkPhysicalDevice physicalDevice, + const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo, + VkDisplayPlaneCapabilities2KHR* pCapabilities); +#endif + #define VK_KHR_dedicated_allocation 1 #define VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION 3 #define VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_KHR_dedicated_allocation" @@ -5727,6 +5806,33 @@ VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSupportKHR( VkDescriptorSetLayoutSupport* pSupport); #endif +#define VK_KHR_draw_indirect_count 1 +#define VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION 1 +#define VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_KHR_draw_indirect_count" + +typedef void (VKAPI_PTR *PFN_vkCmdDrawIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); +typedef void (VKAPI_PTR *PFN_vkCmdDrawIndexedIndirectCountKHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride); + +#ifndef VK_NO_PROTOTYPES +VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirectCountKHR( + VkCommandBuffer commandBuffer, + VkBuffer buffer, + VkDeviceSize offset, + VkBuffer countBuffer, + VkDeviceSize countBufferOffset, + uint32_t maxDrawCount, + uint32_t stride); + +VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirectCountKHR( + VkCommandBuffer commandBuffer, + VkBuffer buffer, + VkDeviceSize offset, + VkBuffer countBuffer, + VkDeviceSize countBufferOffset, + uint32_t maxDrawCount, + uint32_t stride); +#endif + #define VK_EXT_debug_report 1 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT) diff --git a/src/vulkan/registry/vk.xml b/src/vulkan/registry/vk.xml index 3b19b3a7079..7018bbe8421 100644 --- a/src/vulkan/registry/vk.xml +++ b/src/vulkan/registry/vk.xml @@ -15,8 +15,24 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ------------------------------------------------------------------------- +---- Exceptions to the Apache 2.0 License: ---- +As an exception, if you use this Software to generate code and portions of +this Software are embedded into the generated code as a result, you may +redistribute such product without providing attribution as would otherwise +be required by Sections 4(a), 4(b) and 4(d) of the License. + +In addition, if you combine or link code generated by this Software with +software that is licensed under the GPLv2 or the LGPL v2.0 or 2.1 +("`Combined Software`") and if a court of competent jurisdiction determines +that the patent provision (Section 3), the indemnity provision (Section 9) +or other Section of the License conflicts with the conditions of the +applicable GPL or LGPL license, you may retroactively and prospectively +choose to deem waived or otherwise exclude such Section(s) of the License, +but only in their entirety and only with respect to the Combined Software. + + + This file, vk.xml, is the Vulkan API Registry. It is a critically important and normative part of the Vulkan Specification, including a canonical machine-readable definition of the API, parameter and member validation @@ -50,30 +66,30 @@ server. - - - + + + - - + + - - - + + + - + - - + + - - + + @@ -137,7 +153,7 @@ server. // Vulkan 1.1 version number #define VK_API_VERSION_1_1 VK_MAKE_VERSION(1, 1, 0)// Patch version should always be set to 0 // Version of this file -#define VK_HEADER_VERSION 73 +#define VK_HEADER_VERSION 76 #define VK_DEFINE_HANDLE(object) typedef struct object##_T* object; @@ -547,6 +563,14 @@ server. void* pUserData); Struct types + + VkStructureType sType + struct VkBaseOutStructure* pNext + + + VkStructureType sType + const struct VkBaseInStructure* pNext + int32_t x int32_t y @@ -2520,6 +2544,32 @@ server. void* pNext VkSurfaceFormatKHR surfaceFormat + + VkStructureType sType + void* pNext + VkDisplayPropertiesKHR displayProperties + + + VkStructureType sType + void* pNext + VkDisplayPlanePropertiesKHR displayPlaneProperties + + + VkStructureType sType + void* pNext + VkDisplayModePropertiesKHR displayModeProperties + + + VkStructureType sType + const void* pNext + VkDisplayModeKHR mode + uint32_t planeIndex + + + VkStructureType sType + void* pNext + VkDisplayPlaneCapabilitiesKHR capabilities + VkStructureType sType void* pNext @@ -5813,6 +5863,31 @@ server. uint32_t* pSurfaceFormatCount VkSurfaceFormat2KHR* pSurfaceFormats + + VkResult vkGetPhysicalDeviceDisplayProperties2KHR + VkPhysicalDevice physicalDevice + uint32_t* pPropertyCount + VkDisplayProperties2KHR* pProperties + + + VkResult vkGetPhysicalDeviceDisplayPlaneProperties2KHR + VkPhysicalDevice physicalDevice + uint32_t* pPropertyCount + VkDisplayPlaneProperties2KHR* pProperties + + + VkResult vkGetDisplayModeProperties2KHR + VkPhysicalDevice physicalDevice + VkDisplayKHR display + uint32_t* pPropertyCount + VkDisplayModeProperties2KHR* pProperties + + + VkResult vkGetDisplayPlaneCapabilities2KHR + VkPhysicalDevice physicalDevice + const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo + VkDisplayPlaneCapabilities2KHR* pCapabilities + void vkGetBufferMemoryRequirements2 VkDevice device @@ -6007,6 +6082,26 @@ server. const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo struct AHardwareBuffer** pBuffer + + void vkCmdDrawIndirectCountKHR + VkCommandBuffer commandBuffer + VkBuffer buffer + VkDeviceSize offset + VkBuffer countBuffer + VkDeviceSize countBufferOffset + uint32_t maxDrawCount + uint32_t stride + + + void vkCmdDrawIndexedIndirectCountKHR + VkCommandBuffer commandBuffer + VkBuffer buffer + VkDeviceSize offset + VkBuffer countBuffer + VkDeviceSize countBufferOffset + uint32_t maxDrawCount + uint32_t stride + @@ -6231,6 +6326,8 @@ server. + + @@ -6562,7 +6659,7 @@ server. - + @@ -6577,7 +6674,7 @@ server. - + @@ -6653,7 +6750,7 @@ server. - + @@ -6664,7 +6761,7 @@ server. - + @@ -6675,7 +6772,7 @@ server. - + @@ -6686,7 +6783,7 @@ server. - + @@ -6697,7 +6794,7 @@ server. - + @@ -6708,7 +6805,7 @@ server. - + @@ -6719,7 +6816,7 @@ server. - + @@ -6731,7 +6828,7 @@ server. - + @@ -6752,27 +6849,27 @@ server. - + - + - + - + @@ -6780,19 +6877,19 @@ server. - + - + - + @@ -6801,25 +6898,25 @@ server. - + - + - + - + @@ -6837,25 +6934,25 @@ server. - + - + - + - + @@ -6867,43 +6964,43 @@ server. - + - + - + - + - + - + - + @@ -6911,7 +7008,7 @@ server. - + @@ -6923,31 +7020,31 @@ server. - + - + - + - + - + @@ -6961,7 +7058,7 @@ server. - + @@ -6971,25 +7068,25 @@ server. - + - + - + - + @@ -7025,13 +7122,13 @@ server. - + - + @@ -7044,7 +7141,7 @@ server. - + @@ -7091,7 +7188,7 @@ server. - + @@ -7099,7 +7196,7 @@ server. - + @@ -7130,7 +7227,7 @@ server. - + @@ -7199,7 +7296,7 @@ server. - + @@ -7227,25 +7324,25 @@ server. - + - + - + - + @@ -7257,7 +7354,7 @@ server. - + @@ -7347,7 +7444,7 @@ server. - + @@ -7418,7 +7515,7 @@ server. - + @@ -7432,19 +7529,19 @@ server. - + - + - + @@ -7452,7 +7549,7 @@ server. - + @@ -7534,7 +7631,7 @@ server. - + @@ -7593,7 +7690,7 @@ server. - + @@ -7608,7 +7705,7 @@ server. - + @@ -7631,7 +7728,7 @@ server. - + @@ -7641,7 +7738,7 @@ server. - + @@ -7652,7 +7749,7 @@ server. - + @@ -7672,7 +7769,7 @@ server. - + @@ -7690,13 +7787,13 @@ server. - + - + @@ -7716,7 +7813,7 @@ server. - + @@ -7768,7 +7865,7 @@ server. - + @@ -7791,7 +7888,7 @@ server. - + @@ -7802,7 +7899,7 @@ server. - + @@ -7816,7 +7913,7 @@ server. - + @@ -7879,7 +7976,7 @@ server. - + @@ -7887,10 +7984,24 @@ server. - + - - + + + + + + + + + + + + + + + + @@ -7943,7 +8054,7 @@ server. - + @@ -7971,7 +8082,7 @@ server. - + @@ -7992,7 +8103,7 @@ server. - + @@ -8004,13 +8115,13 @@ server. - + - + @@ -8040,7 +8151,7 @@ server. - + @@ -8058,7 +8169,7 @@ server. - + @@ -8076,7 +8187,7 @@ server. - + @@ -8099,7 +8210,7 @@ server. - + @@ -8134,7 +8245,7 @@ server. - + @@ -8194,7 +8305,7 @@ server. - + @@ -8203,19 +8314,19 @@ server. - + - + - + @@ -8225,14 +8336,14 @@ server. - + - + @@ -8327,7 +8438,7 @@ server. - + @@ -8346,7 +8457,7 @@ server. - + @@ -8371,7 +8482,7 @@ server. - + @@ -8426,7 +8537,7 @@ server. - + @@ -8437,31 +8548,33 @@ server. - + - - + + + + - + - + - + - + @@ -8477,25 +8590,25 @@ server. - + - + - + - + @@ -8512,38 +8625,38 @@ server. - + - + - + - + - + - + @@ -8557,25 +8670,25 @@ server. - + - + - + - + @@ -8622,29 +8735,95 @@ server. - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +