Merge misc. tweaks from private repository.

This commit is contained in:
Jon Leech 2016-05-13 17:06:37 -07:00
parent c247d85bec
commit f13851a589
9 changed files with 37 additions and 48 deletions

View File

@ -8,7 +8,7 @@
*IP Status*:: *IP Status*::
No known IP claims. No known IP claims.
*Dependencies*:: *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. - This extension requires VK_KHR_surface.
*Contributors*:: *Contributors*::
- Patrick Doane, Blizzard - Patrick Doane, Blizzard
@ -33,7 +33,7 @@ No known IP claims.
The VK_KHR_wayland_surface extension is an instance extension. It provides The VK_KHR_wayland_surface extension is an instance extension. It provides
a mechanism to create a slink:VkSurfaceKHR object (defined by the a mechanism to create a sname:VkSurfaceKHR object (defined by the
VK_KHR_surface extension) that refers to a Wayland wl_surface, as well as a VK_KHR_surface extension) that refers to a Wayland wl_surface, as well as a
query to determine support for rendering to the windows desktop. query to determine support for rendering to the windows desktop.

View File

@ -37,15 +37,15 @@ the window, after the first image is presented. pname:minImageExtent is
latexmath:[$(1,1)$], and pname:maxImageExtent is the maximum supported latexmath:[$(1,1)$], and pname:maxImageExtent is the maximum supported
surface size. surface size.
Some {apiname} functions may: send protocol over the specified Some Vulkan functions may: send protocol over the specified
code:wl_device connection when using a swapchain or presentable images code:wl_display connection when using a swapchain or presentable images
created from a slink:VkSurfaceKHR referring to a code:wl_surface. created from a sname:VkSurfaceKHR referring to a code:wl_surface.
Applications must: therefore ensure that both the code:wl_device and the Applications must: therefore ensure that both the code:wl_display and the
code:wl_surface remain valid for the lifetime of any slink:VkSwapchainKHR code:wl_surface remain valid for the lifetime of any sname:VkSwapchainKHR
objects created from a particular code:wl_device and code:wl_surface. Also, objects created from a particular code:wl_display and code:wl_surface. Also,
calling flink:vkQueuePresentKHR will result in {apiname} sending calling flink:vkQueuePresentKHR will result in Vulkan sending
code:wl_surface.commit requests to the underlying code:wl_surface of each code:wl_surface.commit requests to the underlying code:wl_surface of each
slink:VkSwapchainKHR objects referenced by pname:pPresentInfo. Therefore, if sname:VkSwapchainKHR objects referenced by pname:pPresentInfo. Therefore, if
the application wishes to synchronize any window changes with a particular the application wishes to synchronize any window changes with a particular
frame, such requests must: be sent to the Wayland display server prior to frame, such requests must: be sent to the Wayland display server prior to
calling flink:vkQueuePresentKHR. calling flink:vkQueuePresentKHR.

View File

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

@ -9,11 +9,9 @@
related documents. It is updated by hand periodically by Jon Leech. </p> related documents. It is updated by hand periodically by Jon Leech. </p>
<ul> <ul>
<li> The <a href="1.0/styleguide.html">Vulkan Style Guide</a> is a work in <li> The <a href="1.0/styleguide.html">Vulkan Style Guide</a> is a work
progress (but significantly complete) document, useful when writing in progress (but significantly complete) document, useful when
and modifying Specification and reference page language. </li> writing and modifying Specification and reference page language.
<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> <b> Core API Specifications </b> <li> <b> Core API Specifications </b>
<ul> <ul>
<li> <a href="1.0/xhtml/vkspec.html">Single document</a> (XHTML from 'a2x') </li> <li> <a href="1.0/xhtml/vkspec.html">Single document</a> (XHTML from 'a2x') </li>