Merge misc. tweaks from private repository.

This commit is contained in:
Jon Leech 2016-04-21 01:13:08 -07:00
parent e7c865374c
commit 42326b8ba2
6 changed files with 24 additions and 26 deletions

View File

@ -19,13 +19,10 @@ include::../../protos/vkCreateXlibSurfaceKHR.txt[]
include::../../validity/protos/vkCreateXlibSurfaceKHR.txt[]
The definition of sname:VkXlibSurfaceCreateInfoKHR is:
The sname:VkXlibSurfaceCreateInfoKHR structure is defined as:
include::../../structs/VkXlibSurfaceCreateInfoKHR.txt[]
The members of sname:VkXlibSurfaceCreateInfoKHR have the following
meanings:
* pname:sType is the type of this structure and must: be
ename:VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR.
* pname:pNext is `NULL` or a pointer to an extension-specific structure.
@ -35,22 +32,23 @@ meanings:
include::../../validity/structs/VkXlibSurfaceCreateInfoKHR.txt[]
With Xlib, pname:minImageExtent, pname:maxImageExtent, and pname:currentExtent
are the window size. Therefore, a swapchain's pname:imageExtent must: match the
window's size.
With Xlib, pname:minImageExtent, pname:maxImageExtent, and
pname:currentExtent are the window size. Therefore, a swapchain's
pname:imageExtent must: match the window's size.
Some :apiname: functions may: send protocol over the specified Xlib Display
connection when using a swapchain or presentable images created from a VkSurface
referring to an Xlib window. Applications must: therefore ensure the display
connection is available to :apiname: for the duration of any functions that
manipulate such swapchains or their presentable images, and any functions that
build or queue command buffers that operate on such presentable images.
Specifically, applications using :apiname: with Xlib-based swapchains must:
connection when using a swapchain or presentable images created from a
VkSurface referring to an Xlib window. Applications must: therefore ensure
the display connection is available to :apiname: for the duration of any
functions that manipulate such swapchains or their presentable images, and
any functions that build or queue command buffers that operate on such
presentable images. Specifically, applications using :apiname: with
Xlib-based swapchains must:
* Call XInitThreads() before calling any other Xlib functions if they intend
to use :apiname: in multiple threads, or use :apiname: and Xlib in separate
threads.
* Call XInitThreads() before calling any other Xlib functions if they
intend to use :apiname: in multiple threads, or use :apiname: and Xlib
in separate threads.
* Avoid holding a server grab on a display connection while waiting for
:apiname: operations to complete using a swapchain derived from a different
display connection referring to the same X server instance. Failing to do
so may: result in deadlock.
:apiname: operations to complete using a swapchain derived from a
different display connection referring to the same X server instance.
Failing to do so may: result in deadlock.

View File

@ -18,8 +18,8 @@ endif::doctype-manpage[]
* pname:dstOffset must: be less than the size of pname:dstBuffer
* pname:firstQuery must: be less than the number of queries in pname:queryPool
* The sum of pname:firstQuery and pname:queryCount must: be less than or equal to the number of queries in pname:queryPool
* If ename:VK_QUERY_RESULT_64_BIT is not set in pname:flags then pname:dstOffset and pname:stride must: be multiples of `4`
* If ename:VK_QUERY_RESULT_64_BIT is set in pname:flags then pname:dstOffset and pname:stride must: be multiples of `8`
* If ename:VK_QUERY_RESULT_64_BIT is not set in pname:flags then pname:dstOffset and pname:stride must be multiples of `4`
* If ename:VK_QUERY_RESULT_64_BIT is set in pname:flags then pname:dstOffset and pname:stride must be multiples of `8`
* pname:dstBuffer must: have enough storage, from pname:dstOffset, to contain the result of each query, as described <<queries-operation-memorylayout,here>>
* pname:dstBuffer must: have been created with ename:VK_BUFFER_USAGE_TRANSFER_DST_BIT usage flag
* If the pname:queryType used to create pname:queryPool was ename:VK_QUERY_TYPE_TIMESTAMP, pname:flags mustnot: contain ename:VK_QUERY_RESULT_PARTIAL_BIT

View File

@ -15,8 +15,8 @@ endif::doctype-manpage[]
* pname:queryPool must: have been created, allocated or retrieved from pname:device
* Each of pname:device and pname:queryPool must: have been created, allocated or retrieved from the same sname:VkPhysicalDevice
* pname:firstQuery must: be less than the number of queries in pname:queryPool
* If ename:VK_QUERY_RESULT_64_BIT is not set in pname:flags then pname:pData and pname:stride must: be multiples of `4`
* If ename:VK_QUERY_RESULT_64_BIT is set in pname:flags then pname:pData and pname:stride must: be multiples of `8`
* If ename:VK_QUERY_RESULT_64_BIT is not set in pname:flags then pname:pData and pname:stride must be multiples of `4`
* If ename:VK_QUERY_RESULT_64_BIT is set in pname:flags then pname:pData and pname:stride must be multiples of `8`
* The sum of pname:firstQuery and pname:queryCount must: be less than or equal to the number of queries in pname:queryPool
* pname:dataSize must: be large enough to contain the result of each query, as described <<queries-operation-memorylayout,here>>
* If the pname:queryType used to create pname:queryPool was ename:VK_QUERY_TYPE_TIMESTAMP, pname:flags mustnot: contain ename:VK_QUERY_RESULT_PARTIAL_BIT

View File

@ -10,7 +10,7 @@ endif::doctype-manpage[]
* If pname:mapEntryCount is not `0`, pname:pMapEntries must: be a pointer to an array of pname:mapEntryCount sname:VkSpecializationMapEntry structures
* If pname:dataSize is not `0`, pname:pData must: be a pointer to an array of pname:dataSize bytes
* The pname:offset member of any given element of pname:pMapEntries must: be less than pname:dataSize
* For any given element of pname:pMapEntries, pname:size must: be less than or equal to pname:dataSize minus pname:offset
* For any given element of pname:pMapEntries, pname:size must be less than or equal to pname:dataSize minus pname:offset
ifndef::doctype-manpage[]
********************************************************************************
endif::doctype-manpage[]

View File

@ -25,7 +25,7 @@ endif::doctype-manpage[]
* If any input attachments are ename:VK_ATTACHMENT_UNUSED, then any pipelines bound during the subpass mustnot: accesss those input attachments from the fragment shader
* The pname:attachment member of any element of pname:pPreserveAttachments mustnot: be ename:VK_ATTACHMENT_UNUSED
* Any given element of pname:pPreserveAttachments mustnot: also be an element of any other member of the subpass description
* If any attachment is used as both an input attachment and a color or depth/stencil attachment, then each use must: use the same pname:layout
* If any attachment is used as both an input attachment and a color or depth/stencil attachment, then each use must use the same pname:layout
ifndef::doctype-manpage[]
********************************************************************************
endif::doctype-manpage[]

View File

@ -3427,7 +3427,7 @@ typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPropertiesKHR)(VkPhys
typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkDisplayPlanePropertiesKHR* pProperties);
typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneSupportedDisplaysKHR)(VkPhysicalDevice physicalDevice, uint32_t planeIndex, uint32_t* pDisplayCount, VkDisplayKHR* pDisplays);
typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayModePropertiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, uint32_t* pPropertyCount, VkDisplayModePropertiesKHR* pProperties);
typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayModeKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, const VkDisplayModeCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDisplayModeKHR* pMode);
typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayModeKHR)(VkPhysicalDevice physicalDevice, VkDisplayKHR display, const VkDisplayModeCreateInfoKHR*pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDisplayModeKHR* pMode);
typedef VkResult (VKAPI_PTR *PFN_vkGetDisplayPlaneCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkDisplayModeKHR mode, uint32_t planeIndex, VkDisplayPlaneCapabilitiesKHR* pCapabilities);
typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayPlaneSurfaceKHR)(VkInstance instance, const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);