Merge misc. tweaks from private repository.

This commit is contained in:
Jon Leech 2016-05-13 17:06:48 -07:00
parent b5dd7d2278
commit 4a0e310d04
9 changed files with 34 additions and 45 deletions

View File

@ -8,7 +8,7 @@
*IP Status*::
No known IP claims.
*Dependencies*::
- This extension is written against version 0.151.0 of the {apiname} API.
- This extension is written against version 0.151.0 of the Vulkan API.
- This extension requires VK_KHR_surface.
*Contributors*::
- Patrick Doane, Blizzard
@ -33,7 +33,7 @@ No known IP claims.
The VK_KHR_xlib_surface extension is an instance extension. It provides a
mechanism to create a slink:VkSurfaceKHR object (defined by the
mechanism to create a sname:VkSurfaceKHR object (defined by the
VK_KHR_surface extension) that refers to an X11 window, using the Xlib
client-side library, as well as a query to determine support for rendering via
Xlib.

View File

@ -36,19 +36,19 @@ 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
Some Vulkan 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
the display connection is available to Vulkan 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
presentable images. Specifically, applications using Vulkan 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
intend to use Vulkan in multiple threads, or use Vulkan 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
Vulkan 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,9 +18,7 @@ from datetime import *
# branch = branch or commit or tag name
# label = textual label to apply
# outdir = directory to generate specs in
# xmlTargets = targets to build in src/spec/
# specTargets = targets to build in doc/specs/vulkan/
def buildRelease(branch,label,outdir,xmlTargets,specTargets):
def buildRelease(branch,label,outdir,targets):
global root, xml, spec
print('echo Info: Generating branch=' + branch,
@ -28,6 +26,10 @@ def buildRelease(branch,label,outdir,xmlTargets,specTargets):
'outdir=' + outdir)
print('git checkout', branch)
print('echo Info: Generating headers and spec include files')
print('cd', xml)
print('make OUTDIR=' + outdir, ' clobber full_install')
print('echo Info: Cleaning spec in', outdir)
print('cd', spec)
print('rm -rf',
@ -38,15 +40,9 @@ def buildRelease(branch,label,outdir,xmlTargets,specTargets):
outdir + '/vkspec.html',
'specversion.txt')
print('echo Info: Generating headers and spec include files')
print('cd', xml)
print('make OUTDIR=' + outdir, xmlTargets)
print('echo Info: Generating spec')
print('cd', spec)
print('make specversion.txt')
print('make -j 4 OUTDIR=' + outdir, ' NOTEOPTS="-a implementation-guide"',
specTargets)
print('make -j 4 OUTDIR=' + outdir, ' NOTEOPTS="-a implementation-guide"', targets)
print('rm', outdir + '/pdf/vkspec.xml')
# Main
@ -72,15 +68,11 @@ wsibranch = '1.0-wsi_extensions'
now = datetime.today().strftime('%Y%m%d')
# Generate specs
coreXmlTargets='clobber full_install pdf_install'
coreSpecTargets='xhtml pdf styleguide manhtml manpdf manhtmlpages'
buildRelease(corebranch, corebranch, outdir + corebranch,
coreXmlTargets, coreSpecTargets)
coretargets='xhtml pdf styleguide manhtml manpdf manhtmlpages'
buildRelease(corebranch, corebranch, outdir + corebranch, coretargets)
wsiXmlTargets='clobber full_install'
wsiSpecTargets='xhtml pdf'
buildRelease(wsibranch, wsibranch, outdir + wsibranch,
wsiXmlTargets, wsiSpecTargets)
wsitargets='xhtml pdf'
buildRelease(wsibranch, wsibranch, outdir + wsibranch, wsitargets)
print('echo Info: post-generation cleanup')
@ -88,9 +80,8 @@ print('git checkout ' + corebranch)
print('echo To tag the spec branches, execute these commands:')
print('echo git checkout', corebranch)
print('echo git tag -a -m \\"Tag core API specification for', now,
'release\\"', 'v1.0-core-' + now)
print('echo git tag -a -m \\"Tag core API specification for', now, 'release\\"', 'v1.0-core-' + now)
print('echo git checkout', wsibranch)
print('echo git tag -a -m \\"Tag core+WSI API specification for', now,
'release\\"', 'v1.0-core+wsi-' + now)
print('echo git tag -a -m \\"Tag core+WSI API specification for', now, 'release\\"', 'v1.0-core+wsi-' + now)
print('echo git push --tags')

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

@ -9,11 +9,9 @@
related documents. It is updated by hand periodically by Jon Leech. </p>
<ul>
<li> The <a href="1.0/styleguide.html">Vulkan Style Guide</a> is a work in
progress (but significantly complete) document, useful when writing
and modifying Specification and reference page language. </li>
<li> The <a href="1.0/readme.pdf">XML Registry README</a> describes the
schema and some use cases for <tt>vk.xml</tt>. </li>
<li> The <a href="1.0/styleguide.html">Vulkan Style Guide</a> is a work
in progress (but significantly complete) document, useful when
writing and modifying Specification and reference page language.
<li> <b> Core API Specifications </b>
<ul>
<li> <a href="1.0/xhtml/vkspec.html">Single document</a> (XHTML from 'a2x') </li>
@ -50,13 +48,13 @@
</ul>
</li>
<li> <b> The following targets are for internal use only and are probably
not included in, or if included, not up to date in the sandbox
</b> </li>
not included in, or if included, not up to date in the sandbox
</b> </li>
<ul>
<li> Core API <a href="1.0/html/vkspec.html">Single document</a> (HTML from
'asciibook') </li>
'asciibook') </li>
<li> Core+WSI API <a href="1.0-wsi_extensions/html/vkspec.html">Single
document</a> (HTML from 'asciibook') </li>
document</a> (HTML from 'asciibook') </li>
</ul>
</li>
</ul>

View File

@ -3432,7 +3432,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);