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[] include::../../validity/protos/vkCreateXlibSurfaceKHR.txt[]
The definition of sname:VkXlibSurfaceCreateInfoKHR is: The sname:VkXlibSurfaceCreateInfoKHR structure is defined as:
include::../../structs/VkXlibSurfaceCreateInfoKHR.txt[] include::../../structs/VkXlibSurfaceCreateInfoKHR.txt[]
The members of sname:VkXlibSurfaceCreateInfoKHR have the following
meanings:
* pname:sType is the type of this structure and must: be * pname:sType is the type of this structure and must: be
ename:VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR. ename:VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR.
* pname:pNext is `NULL` or a pointer to an extension-specific structure. * pname:pNext is `NULL` or a pointer to an extension-specific structure.
@ -35,22 +32,23 @@ meanings:
include::../../validity/structs/VkXlibSurfaceCreateInfoKHR.txt[] include::../../validity/structs/VkXlibSurfaceCreateInfoKHR.txt[]
With Xlib, pname:minImageExtent, pname:maxImageExtent, and pname:currentExtent With Xlib, pname:minImageExtent, pname:maxImageExtent, and
are the window size. Therefore, a swapchain's pname:imageExtent must: match the pname:currentExtent are the window size. Therefore, a swapchain's
window's size. pname:imageExtent must: match the window's size.
Some :apiname: functions may: send protocol over the specified Xlib Display Some :apiname: functions may: send protocol over the specified Xlib Display
connection when using a swapchain or presentable images created from a VkSurface connection when using a swapchain or presentable images created from a
referring to an Xlib window. Applications must: therefore ensure the display VkSurface referring to an Xlib window. Applications must: therefore ensure
connection is available to :apiname: for the duration of any functions that the display connection is available to :apiname: for the duration of any
manipulate such swapchains or their presentable images, and any functions that functions that manipulate such swapchains or their presentable images, and
build or queue command buffers that operate on such presentable images. any functions that build or queue command buffers that operate on such
Specifically, applications using :apiname: with Xlib-based swapchains must: presentable images. Specifically, applications using :apiname: with
Xlib-based swapchains must:
* Call XInitThreads() before calling any other Xlib functions if they intend * Call XInitThreads() before calling any other Xlib functions if they
to use :apiname: in multiple threads, or use :apiname: and Xlib in separate intend to use :apiname: in multiple threads, or use :apiname: and Xlib
threads. in separate threads.
* Avoid holding a server grab on a display connection while waiting for * Avoid holding a server grab on a display connection while waiting for
:apiname: operations to complete using a swapchain derived from a different :apiname: operations to complete using a swapchain derived from a
display connection referring to the same X server instance. Failing to do different display connection referring to the same X server instance.
so may: result in deadlock. 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:dstOffset must: be less than the size of pname:dstBuffer
* pname:firstQuery must: be less than the number of queries in pname:queryPool * 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 * 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 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 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 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 * 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 * 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 * 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 * 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 * 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 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 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 * 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>> * 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 * 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: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 * 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 * 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[] ifndef::doctype-manpage[]
******************************************************************************** ********************************************************************************
endif::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 * 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 * 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 * 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[] ifndef::doctype-manpage[]
******************************************************************************** ********************************************************************************
endif::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_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_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_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_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); typedef VkResult (VKAPI_PTR *PFN_vkCreateDisplayPlaneSurfaceKHR)(VkInstance instance, const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);