diff options
| author | Ian Elliott <ian@lunarg.com> | 2015-08-06 16:22:51 -0600 |
|---|---|---|
| committer | Ian Elliott <ian@lunarg.com> | 2015-08-11 16:55:19 -0600 |
| commit | 69c8bf1c2a689e3d953d3b9829a93d40b75dc402 (patch) | |
| tree | f346ccb0be4b08727bf5812353dbc431f834637c /include | |
| parent | 5a51fd5013946c14e0f45126671da5aa6a8e4590 (diff) | |
| download | usermoji-69c8bf1c2a689e3d953d3b9829a93d40b75dc402.tar.xz | |
WSI: Update swapchain headers to to version 13 and 45.
Update "vk_wsi_device_swapchain.h" to version 45.
Update "vk_wsi_swapchain.h" to version 13.
Diffstat (limited to 'include')
| -rw-r--r-- | include/vk_wsi_device_swapchain.h | 85 | ||||
| -rw-r--r-- | include/vk_wsi_swapchain.h | 2 |
2 files changed, 40 insertions, 47 deletions
diff --git a/include/vk_wsi_device_swapchain.h b/include/vk_wsi_device_swapchain.h index c6e4db27..6af785e0 100644 --- a/include/vk_wsi_device_swapchain.h +++ b/include/vk_wsi_device_swapchain.h @@ -29,7 +29,7 @@ #include "vulkan.h" -#define VK_WSI_DEVICE_SWAPCHAIN_REVISION 40 +#define VK_WSI_DEVICE_SWAPCHAIN_REVISION 45 #define VK_WSI_DEVICE_SWAPCHAIN_EXTENSION_NUMBER 2 #define VK_WSI_DEVICE_SWAPCHAIN_EXTENSION_NAME "VK_WSI_device_swapchain" @@ -51,7 +51,7 @@ VK_DEFINE_NONDISP_HANDLE(VkSwapChainWSI); // Extend VkStructureType enum with extension specific constants #define VK_STRUCTURE_TYPE_SWAP_CHAIN_CREATE_INFO_WSI VK_WSI_DEVICE_SWAPCHAIN_ENUM(VkStructureType, 0) -#define VK_STRUCTURE_TYPE_QUEUE_PRESENT_INFO_WSI VK_WSI_DEVICE_SWAPCHAIN_ENUM(VkStructureType, 1) +#define VK_STRUCTURE_TYPE_PRESENT_INFO_WSI VK_WSI_DEVICE_SWAPCHAIN_ENUM(VkStructureType, 1) // Extend VkImageLayout enum with extension specific constants #define VK_IMAGE_LAYOUT_PRESENT_SOURCE_WSI VK_WSI_DEVICE_SWAPCHAIN_ENUM(VkImageLayout, 2) @@ -92,26 +92,6 @@ typedef enum VkSurfaceTransformFlagBitsWSI_ } VkSurfaceTransformFlagBitsWSI; typedef VkFlags VkSurfaceTransformFlagsWSI; -typedef enum VkSurfaceInfoTypeWSI_ -{ - VK_SURFACE_INFO_TYPE_PROPERTIES_WSI = 0, - VK_SURFACE_INFO_TYPE_FORMATS_WSI = 1, - VK_SURFACE_INFO_TYPE_PRESENT_MODES_WSI = 2, - VK_SURFACE_INFO_TYPE_BEGIN_RANGE_WSI = VK_SURFACE_INFO_TYPE_PROPERTIES_WSI, - VK_SURFACE_INFO_TYPE_END_RANGE_WSI = VK_SURFACE_INFO_TYPE_PRESENT_MODES_WSI, - VK_SURFACE_INFO_TYPE_NUM_WSI = (VK_SURFACE_INFO_TYPE_PRESENT_MODES_WSI - VK_SURFACE_INFO_TYPE_PROPERTIES_WSI + 1), - VK_SURFACE_INFO_TYPE_MAX_ENUM_WSI = 0x7FFFFFFF -} VkSurfaceInfoTypeWSI; - -typedef enum VkSwapChainInfoTypeWSI_ -{ - VK_SWAP_CHAIN_INFO_TYPE_IMAGES_WSI = 0, - VK_SWAP_CHAIN_INFO_TYPE_BEGIN_RANGE_WSI = VK_SWAP_CHAIN_INFO_TYPE_IMAGES_WSI, - VK_SWAP_CHAIN_INFO_TYPE_END_RANGE_WSI = VK_SWAP_CHAIN_INFO_TYPE_IMAGES_WSI, - VK_SWAP_CHAIN_INFO_TYPE_NUM_WSI = (VK_SWAP_CHAIN_INFO_TYPE_IMAGES_WSI - VK_SWAP_CHAIN_INFO_TYPE_IMAGES_WSI + 1), - VK_SWAP_CHAIN_INFO_TYPE_MAX_ENUM_WSI = 0x7FFFFFFF -} VkSwapChainInfoTypeWSI; - typedef enum VkPresentModeWSI_ { VK_PRESENT_MODE_IMMEDIATE_WSI = 0, @@ -123,6 +103,12 @@ typedef enum VkPresentModeWSI_ VK_PRESENT_MODE_MAX_ENUM_WSI = 0x7FFFFFFF } VkPresentModeWSI; +typedef enum VkColorSpaceWSI_ +{ + VK_COLORSPACE_SRGB_NONLINEAR_WSI = 0x00000000, + VK_COLORSPACE_MAX_ENUM_WSI = 0x7FFFFFFF +} VkColorSpaceWSI; + // ------------------------------------------------------------------------------------------------ // Flags @@ -146,15 +132,11 @@ typedef struct VkSurfacePropertiesWSI_ VkImageUsageFlags supportedUsageFlags;// Supported image usage flags for the surface } VkSurfacePropertiesWSI; -typedef struct VkSurfaceFormatPropertiesWSI_ -{ - VkFormat format; // Supported rendering format for the surface -} VkSurfaceFormatPropertiesWSI; - -typedef struct VkSurfacePresentModePropertiesWSI_ +typedef struct VkSurfaceFormatWSI_ { - VkPresentModeWSI presentMode; // Supported presention mode for the surface -} VkSurfacePresentModePropertiesWSI; + VkFormat format; // Supported pair of rendering format + VkColorSpaceWSI colorSpace; // and colorspace for the surface +} VkSurfaceFormatWSI; typedef struct VkSwapChainCreateInfoWSI_ { @@ -165,11 +147,16 @@ typedef struct VkSwapChainCreateInfoWSI_ uint32_t minImageCount; // Minimum number of presentation images the application needs VkFormat imageFormat; // Format of the presentation images + VkColorSpaceWSI imageColorSpace; // Colorspace of the presentation images VkExtent2D imageExtent; // Dimensions of the presentation images VkImageUsageFlags imageUsageFlags; // Bits indicating how the presentation images will be used VkSurfaceTransformWSI preTransform; // The transform, relative to the device's natural orientation, applied to the image content prior to presentation uint32_t imageArraySize; // Determines the number of views for multiview/stereo presentation + VkSharingMode sharingMode; // Sharing mode used for the presentation images + uint32_t queueFamilyCount; // Number of queue families having access to the images in case of concurrent sharing mode + const uint32_t* pQueueFamilyIndices; // Array of queue family indices having access to the images in case of concurrent sharing mode + VkPresentModeWSI presentMode; // Which presentation mode to use for presents on this swap chain. VkSwapChainWSI oldSwapChain; // Existing swap chain to replace, if any. @@ -177,14 +164,9 @@ typedef struct VkSwapChainCreateInfoWSI_ VkBool32 clipped; // Specifies whether presentable images may be affected by window clip regions. } VkSwapChainCreateInfoWSI; -typedef struct VkSwapChainImagePropertiesWSI_ -{ - VkImage image; // Persistent swap chain image handle -} VkSwapChainImagePropertiesWSI; - typedef struct VkPresentInfoWSI_ { - VkStructureType sType; // Must be VK_STRUCTURE_TYPE_QUEUE_PRESENT_INFO_WSI + VkStructureType sType; // Must be VK_STRUCTURE_TYPE_PRESENT_INFO_WSI const void* pNext; // Pointer to next structure uint32_t swapChainCount; // Number of swap chains to present in this call const VkSwapChainWSI* swapChains; // Swap chains to present an image from. @@ -194,10 +176,12 @@ typedef struct VkPresentInfoWSI_ // ------------------------------------------------------------------------------------------------ // Function types -typedef VkResult (VKAPI *PFN_vkGetSurfaceInfoWSI)(VkDevice device, const VkSurfaceDescriptionWSI* pSurfaceDescription, VkSurfaceInfoTypeWSI infoType, size_t* pDataSize, void* pData); +typedef VkResult (VKAPI *PFN_vkGetSurfacePropertiesWSI)(VkDevice device, const VkSurfaceDescriptionWSI* pSurfaceDescription, VkSurfacePropertiesWSI* pSurfaceProperties); +typedef VkResult (VKAPI *PFN_vkGetSurfaceFormatsWSI)(VkDevice device, const VkSurfaceDescriptionWSI* pSurfaceDescription, uint32_t* pCount, VkSurfaceFormatWSI* pSurfaceFormats); +typedef VkResult (VKAPI *PFN_vkGetSurfacePresentModesWSI)(VkDevice device, const VkSurfaceDescriptionWSI* pSurfaceDescription, uint32_t* pCount, VkPresentModeWSI* pPresentModes); typedef VkResult (VKAPI *PFN_vkCreateSwapChainWSI)(VkDevice device, const VkSwapChainCreateInfoWSI* pCreateInfo, VkSwapChainWSI* pSwapChain); typedef VkResult (VKAPI *PFN_vkDestroySwapChainWSI)(VkDevice device, VkSwapChainWSI swapChain); -typedef VkResult (VKAPI *PFN_vkGetSwapChainInfoWSI)(VkDevice device, VkSwapChainWSI swapChain, VkSwapChainInfoTypeWSI infoType, size_t* pDataSize, void* pData); +typedef VkResult (VKAPI *PFN_vkGetSwapChainImagesWSI)(VkDevice device, VkSwapChainWSI swapChain, uint32_t* pCount, VkImage* pSwapChainImages); typedef VkResult (VKAPI *PFN_vkAcquireNextImageWSI)(VkDevice device, VkSwapChainWSI swapChain, uint64_t timeout, VkSemaphore semaphore, uint32_t* pImageIndex); typedef VkResult (VKAPI *PFN_vkQueuePresentWSI)(VkQueue queue, VkPresentInfoWSI* pPresentInfo); @@ -206,12 +190,22 @@ typedef VkResult (VKAPI *PFN_vkQueuePresentWSI)(VkQueue queue, VkPresentInfoWSI* #ifdef VK_PROTOTYPES -VkResult VKAPI vkGetSurfaceInfoWSI( +VkResult VKAPI vkGetSurfacePropertiesWSI( + VkDevice device, + const VkSurfaceDescriptionWSI* pSurfaceDescription, + VkSurfacePropertiesWSI* pSurfaceProperties); + +VkResult VKAPI vkGetSurfaceFormatsWSI( + VkDevice device, + const VkSurfaceDescriptionWSI* pSurfaceDescription, + uint32_t* pCount, + VkSurfaceFormatWSI* pSurfaceFormats); + +VkResult VKAPI vkGetSurfacePresentModesWSI( VkDevice device, const VkSurfaceDescriptionWSI* pSurfaceDescription, - VkSurfaceInfoTypeWSI infoType, - size_t* pDataSize, - void* pData); + uint32_t* pCount, + VkPresentModeWSI* pPresentModes); VkResult VKAPI vkCreateSwapChainWSI( VkDevice device, @@ -222,12 +216,11 @@ VkResult VKAPI vkDestroySwapChainWSI( VkDevice device, VkSwapChainWSI swapChain); -VkResult VKAPI vkGetSwapChainInfoWSI( +VkResult VKAPI vkGetSwapChainImagesWSI( VkDevice device, VkSwapChainWSI swapChain, - VkSwapChainInfoTypeWSI infoType, - size_t* pDataSize, - void* pData); + uint32_t* pCount, + VkImage* pSwapChainImages); VkResult VKAPI vkAcquireNextImageWSI( VkDevice device, diff --git a/include/vk_wsi_swapchain.h b/include/vk_wsi_swapchain.h index 64704d47..010b285b 100644 --- a/include/vk_wsi_swapchain.h +++ b/include/vk_wsi_swapchain.h @@ -29,7 +29,7 @@ #include "vulkan.h" -#define VK_WSI_SWAPCHAIN_REVISION 12 +#define VK_WSI_SWAPCHAIN_REVISION 13 #define VK_WSI_SWAPCHAIN_EXTENSION_NUMBER 1 #define VK_WSI_SWAPCHAIN_EXTENSION_NAME "VK_WSI_swapchain" |
