mirror of
https://github.com/status-im/Vulkan-Docs.git
synced 2025-02-21 10:38:09 +00:00
Merge misc. tweaks from private repository.
This commit is contained in:
parent
b5dd7d2278
commit
4a0e310d04
@ -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.
|
||||
|
@ -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.
|
||||
|
@ -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')
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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[]
|
||||
|
@ -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[]
|
||||
|
@ -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>
|
||||
|
@ -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);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user