Refine swapchain association with surface

- make **must** statement a proper VU
- fix sentence saying only one swapchain can be associated
- fix languge saying **must** not instead of **cannot**
- clarify all the cases when swapcahin cannot be created
This commit is contained in:
Petr Kraus 2018-02-26 23:03:10 +01:00
parent e1c0e426f3
commit 5c2f456426
1 changed files with 15 additions and 11 deletions

View File

@ -23,8 +23,8 @@ presentation.
An application renders to the image, and then queues the image for An application renders to the image, and then queues the image for
presentation to the surface. presentation to the surface.
A native window cannot: be associated with more than one swapchain at a A native window cannot: be associated with more than one non-retired
time. swapchain at a time.
Further, swapchains cannot: be created for native windows that have a Further, swapchains cannot: be created for native windows that have a
non-Vulkan graphics API surface associated with them. non-Vulkan graphics API surface associated with them.
@ -338,8 +338,9 @@ ifdef::VK_VERSION_1_1,VK_KHR_device_group[]
1, pname:flags must: not contain 1, pname:flags must: not contain
ename:VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR ename:VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR
endif::VK_VERSION_1_1,VK_KHR_device_group[] endif::VK_VERSION_1_1,VK_KHR_device_group[]
* [[VUID-VkSwapchainCreateInfoKHR-oldSwapchain-01674]] * If pname:oldSwapchain is not dlink:VK_NULL_HANDLE, pname:oldSwapchain
pname:oldSwapchain must: not be in the retired state must: be a non-retired swapchain associated with native window referred
to by pname:surface
* [[VUID-VkSwapchainCreateInfoKHR-imageFormat-01778]] * [[VUID-VkSwapchainCreateInfoKHR-imageFormat-01778]]
pname:imageFormat, pname:imageUsage, pname:imageExtent, and pname:imageFormat, pname:imageUsage, pname:imageExtent, and
pname:imageArrayLayers must: be supported for ename:VK_IMAGE_TYPE_2D pname:imageArrayLayers must: be supported for ename:VK_IMAGE_TYPE_2D
@ -454,14 +455,17 @@ endif::VK_VERSION_1_1,VK_KHR_device_group[]
The pname:surface must: not be destroyed until after the swapchain is The pname:surface must: not be destroyed until after the swapchain is
destroyed. destroyed.
If pname:oldSwapchain is not dlink:VK_NULL_HANDLE then pname:surface must: If pname:oldSwapchain is dlink:VK_NULL_HANDLE, and the native window
be associated with pname:oldSwapchain. referred to by pname:surface is already associated with a Vulkan swapchain,
Otherwise, the native window referred to by pname:surface must: not already ename:VK_ERROR_NATIVE_WINDOW_IN_USE_KHR must: be returned.
be associated with another swapchain, and must: not already be associated
with a non-Vulkan graphics API surface. If the native window referred to by pname:surface is already associated with
a non-Vulkan graphics API surface, ename:VK_ERROR_NATIVE_WINDOW_IN_USE_KHR
must: be returned.
The native window referred to by pname:surface must: not become associated The native window referred to by pname:surface must: not become associated
with a non-Vulkan graphics API surface before the swapchain has been with a non-Vulkan graphics API surface before all associated Vulkan
destroyed. swapchains have been destroyed.
Like core functions, several WSI functions, including Like core functions, several WSI functions, including
fname:vkCreateSwapchainKHR return ename:VK_ERROR_DEVICE_LOST if the logical fname:vkCreateSwapchainKHR return ename:VK_ERROR_DEVICE_LOST if the logical