From f572be88cc2c6a6ac67c4b302dd13b9489698a3e Mon Sep 17 00:00:00 2001 From: Jon Leech Date: Fri, 1 Apr 2016 03:07:30 -0700 Subject: [PATCH] Merge misc. tweaks from private repository --- ChangeLog.txt | 55 ------------------- .../platformQuerySupport_android.txt | 6 +- .../chapters/VK_KHR_display/display.txt | 14 ++++- .../vulkan/chapters/VK_KHR_surface/wsi.txt | 8 +++ .../vulkan/chapters/VK_KHR_swapchain/wsi.txt | 16 ++++++ 5 files changed, 39 insertions(+), 60 deletions(-) diff --git a/ChangeLog.txt b/ChangeLog.txt index 8dee0b3c..aa8697ac 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -359,58 +359,3 @@ Other Commits: * Fix ref page build to generate .3 targets in the right output directory. - ------------------------------------------------------ - -Change log for April 1, 2016 Vulkan 1.0.8 spec update: - - * Bump API patch number and header version number to 8 for this - update. - -Github Issues: - - * Specify in the validity language for flink:vkBeginCommandBuffer that - pname:commandBuffer mustnot: currently be pending execution (public - issue 96). - * Describe depth comparison using the correct temporary variable names - in the <> - section (public issue 100). - * Clarify the order of descriptor update operations in the - flink:vkUpdateDescriptorSets command (public issue 115). - * Specify in the VK_KHR_swapchain extension that - flink:vkAcquireNextImageKHR's pname:semaphore and pname:fence - parameters cannot both be sname:VK_NULL_HANDLE (partly addresses, - but does not fully close, public issue 117 / internal issue 246). - * Change reference to the "lifetime" of a Vulkan command to - "duration", and define the "duration" term (public issue 135). - * Added valid usage language for slink:VkImageLayout to require both - pname:height and pname:depth to be 1 for 1D images and pname:depth - to be 1 for 2D images (public issue 137). - * Fix SPIR-V example code in the - <> section to - properly decorate the code:InputAttachmentIndex (public issue 139). - * Fix reference to nonexistent pname:imageInfo in the description of - flink:VkWriteDescriptorSet to refer to pname:pImageInfo (public - issue 140). - -Internal Issues: - - * Link to the fixed-function vertex chapter from the drawing chapter - (internal issue #110) - * Fix typo in slink:VkImageCreateInfo validity language: - ptext:maxExtent.sampleCounts -> pname:sampleCounts (internal issue - 249). - * Explain why the non-core token etext:VK_IMAGE_LAYOUT_PRESENT_SRC_KHR - is used in the example in the - <> section (internal issue - 251). - * Attempt to clarify in the VK_KHR_android_surface extension's - <> section - that there is no Android-specific WSI query, and why (internal issue - 252). - -Other Commits: - - * Add missing language about ename:VK_INCOMPLETE being returned from - array queries when the passed array is too short, in the - VK_KHR_display, VK_KHR_swapchain, and VK_KHR_surface extensions. diff --git a/doc/specs/vulkan/chapters/VK_KHR_android_surface/platformQuerySupport_android.txt b/doc/specs/vulkan/chapters/VK_KHR_android_surface/platformQuerySupport_android.txt index ac0c47fe..e0b74db8 100644 --- a/doc/specs/vulkan/chapters/VK_KHR_android_surface/platformQuerySupport_android.txt +++ b/doc/specs/vulkan/chapters/VK_KHR_android_surface/platformQuerySupport_android.txt @@ -2,7 +2,7 @@ === Android Platform -No query is provided for Android. All physical devices must: be able to -present to the system compositor, and all queue families must: support the -necessary image layout transitions and synchronization operations. +On Android, all physical devices and queue families must: be capable +of presentation with any native window. As a result there is no +Android-specific query for these capabilities. diff --git a/doc/specs/vulkan/chapters/VK_KHR_display/display.txt b/doc/specs/vulkan/chapters/VK_KHR_display/display.txt index d90dd4e5..a62831c9 100644 --- a/doc/specs/vulkan/chapters/VK_KHR_display/display.txt +++ b/doc/specs/vulkan/chapters/VK_KHR_display/display.txt @@ -32,6 +32,10 @@ overwritten with the number of structures actually written to pname:pProperties. If the value of pname:pPropertyCount is less than the number of display devices for pname:physicalDevice, at most pname:pPropertyCount structures will be written. +If pname:pPropertyCount is smaller than the number of display devices +available for pname:physicalDevice, ename:VK_INCOMPLETE will be returned +instead of ename:VK_SUCCESS to indicate that not all the available values +were returned. include::../../validity/protos/vkGetPhysicalDeviceDisplayPropertiesKHR.txt[] @@ -137,7 +141,10 @@ array, and on return the variable is overwritten with the number of structures actually written to pname:pDisplays. If the value of pname:pDisplayCount is less than the number of display planes for pname:physicalDevice, at most pname:pDisplayCount structures will be -written. +written. If pname:pDisplayCount is smaller than the number of displays usable +with the specified pname:planeIndex for pname:physicalDevice, +ename:VK_INCOMPLETE will be returned instead of ename:VK_SUCCESS to indicate +that not all the available values were returned. include::../../validity/protos/vkGetDisplayPlaneSupportedDisplaysKHR.txt[] @@ -168,7 +175,10 @@ array, and on return the variable is overwritten with the number of structures actually written to pname:pProperties. If the value of pname:pPropertyCount is less than the number of display modes for pname:physicalDevice, at most pname:pPropertyCount structures will be -written. +written. If pname:pPropertyCount is smaller than the number of display modes +available on the specified pname:display for pname:physicalDevice, +ename:VK_INCOMPLETE will be returned instead of ename:VK_SUCCESS to indicate +that not all the available values were returned. include::../../validity/protos/vkGetDisplayModePropertiesKHR.txt[] diff --git a/doc/specs/vulkan/chapters/VK_KHR_surface/wsi.txt b/doc/specs/vulkan/chapters/VK_KHR_surface/wsi.txt index f514f7e2..7592fdf0 100644 --- a/doc/specs/vulkan/chapters/VK_KHR_surface/wsi.txt +++ b/doc/specs/vulkan/chapters/VK_KHR_surface/wsi.txt @@ -277,6 +277,10 @@ pname:pSurfaceFormats array, and on return the variable is overwritten with the number of structures actually written to pname:pSurfaceFormats. If the value of pname:pSurfaceFormatCount is less than the number of queue families supported, at most pname:pSurfaceFormatCount structures will be written. +If pname:pSurfaceFormatCount is smaller than the number of format pairs +supported for the given pname:surface, ename:VK_INCOMPLETE will be returned +instead of ename:VK_SUCCESS to indicate that not all the available values +were returned. include::../../validity/protos/vkGetPhysicalDeviceSurfaceFormatsKHR.txt[] @@ -327,6 +331,10 @@ pname:pPresentModes array, and on return the variable is overwritten with the number of structures actually written to pname:pPresentModes. If the value of pname:pPresentModeCount is less than the number of presentation modes supported, at most pname:pPresentModeCount structures will be written. +If pname:pPresentModeCount is smaller than the number of presentation modes +supported for the given pname:surface, ename:VK_INCOMPLETE will be returned +instead of ename:VK_SUCCESS to indicate that not all the available values +were returned. include::../../validity/protos/vkGetPhysicalDeviceSurfacePresentModesKHR.txt[] diff --git a/doc/specs/vulkan/chapters/VK_KHR_swapchain/wsi.txt b/doc/specs/vulkan/chapters/VK_KHR_swapchain/wsi.txt index 06ee8b88..538df729 100644 --- a/doc/specs/vulkan/chapters/VK_KHR_swapchain/wsi.txt +++ b/doc/specs/vulkan/chapters/VK_KHR_swapchain/wsi.txt @@ -222,6 +222,9 @@ variable is overwritten with the number of structures actually written to pname:pSwapchainImages. If the value of pname:pSwapchainImageCount is less than the number of presentable images for pname:swapchain, at most pname:pSwapchainImageCount structures will be written. +If pname:pSwapchainImageCount is smaller than the number of presentable +images for pname:swapchain, ename:VK_INCOMPLETE will be returned instead of +ename:VK_SUCCESS to indicate that not all the available values were returned. include::../../validity/protos/vkGetSwapchainImagesKHR.txt[] @@ -262,6 +265,14 @@ include::../../protos/vkAcquireNextImageKHR.txt[] index of the next image to use (i.e. an index into the array of images returned by fname:vkGetSwapchainImagesKHR). +When successful, fname:vkAcquireNextImageKHR retrieves the index of a +presentable image that the application will be able to use. The +presentation engine may still own the image, as the presentation engine +may be in the process of releasing the image when +fname:vkAcquireNextImageKHR returns. The application will own the image +when pname:semaphore and/or pname:fence is signaled by the presentation +engine. Additional details follow. + If pname:timeout is 0, fname:vkAcquireNextImageKHR will not block, but will either succeed or return an error. If pname:timeout is `UINT64_MAX`, the function will not return until the presentation engine will be able to @@ -336,6 +347,11 @@ will become signaled when the presentation engine has released ownership of the image. Applications can: use this to meter their frame generation work to match the presentation rate. +pname:semaphore and pname:fence must: not both be equal to +sname:VK_NULL_HANDLE. An application must: wait until either the +pname:semaphore or pname:fence is signaled before using the presentable +image. + pname:semaphore and pname:fence may: already be signaled when fname:vkAcquireNextImageKHR returns, if the image is being acquired for the first time, or if the presentation engine has already released its ownership.