2016-02-16 09:53:44 +00:00
|
|
|
# Copyright (c) 2015-2016 The Khronos Group Inc.
|
|
|
|
# Copyright notice at https://www.khronos.org/registry/speccopyright.html
|
2016-07-11 01:13:41 +00:00
|
|
|
#
|
|
|
|
# The 'normative' macros below (can: through shouldnot:) serve mostly
|
|
|
|
# to tag that those terms have been validated against their normative
|
|
|
|
# definitions. They ignore any arguments, and don't yet do anything
|
|
|
|
# but expand to their names.
|
|
|
|
#
|
|
|
|
# The remaining macros tag API terms:
|
|
|
|
# d*: C macro #defines
|
|
|
|
# elink: enumerated type names
|
|
|
|
# ename:/etext: enumerant names
|
|
|
|
# f*: functions/prototypes
|
|
|
|
# h*: handles
|
|
|
|
# p*: function parameters and structure members
|
|
|
|
# s*: structs
|
|
|
|
# t*: other types (function pointers)
|
|
|
|
# These macros expand in ways determined by the name following = in the
|
|
|
|
# macro definition:
|
|
|
|
#
|
|
|
|
# 'link' macros format as code and create an xref/link to the target
|
|
|
|
# 'code' macros format as code, but do not link
|
|
|
|
# 'strong' macros format as <strong>, and do not link
|
|
|
|
# 'param' macros format as <parameter>, and do not link
|
2016-02-16 09:53:44 +00:00
|
|
|
|
|
|
|
[attributes]
|
|
|
|
author="Khronos Group"
|
|
|
|
max-width="1024px"
|
|
|
|
|
|
|
|
[macros]
|
|
|
|
(?su)(?P<name>can):(?P<arg>\w*)=normative
|
|
|
|
(?su)(?P<name>cannot):(?P<arg>\w*)=normative
|
|
|
|
(?su)(?P<name>may):(?P<arg>\w*)=normative
|
|
|
|
(?su)(?P<name>must):(?P<arg>\w*)=normative
|
|
|
|
(?su)(?P<name>mustnot):(?P<arg>\w*)=mustnot
|
|
|
|
(?su)(?P<name>optional):(?P<arg>\w*)=normative
|
|
|
|
(?su)(?P<name>optionally):(?P<arg>\w*)=normative
|
|
|
|
(?su)(?P<name>recommend):(?P<arg>\w*)=normative
|
|
|
|
(?su)(?P<name>required):(?P<arg>\w*)=normative
|
|
|
|
(?su)(?P<name>should):(?P<arg>\w*)=normative
|
|
|
|
(?su)(?P<name>shouldnot):(?P<arg>\w*)=shouldnot
|
2016-07-11 01:13:41 +00:00
|
|
|
(?su)(?P<name>flink):(?P<target>\w+)=link
|
|
|
|
(?su)(?P<name>fname):(?P<target>\w+)=strong
|
|
|
|
(?su)(?P<name>ftext):(?P<target>[\w*]+(\.[\w*]+)*)=strong
|
|
|
|
(?su)(?P<name>sname):(?P<target>\w+)=code
|
|
|
|
(?su)(?P<name>slink):(?P<target>\w+)=link
|
|
|
|
(?su)(?P<name>stext):(?P<target>[\w*]+(\.[\w*]+)*)=code
|
|
|
|
(?su)(?P<name>dname):(?P<target>\w+)=code
|
|
|
|
(?su)(?P<name>dlink):(?P<target>\w+)=link
|
|
|
|
(?su)(?P<name>ename):(?P<target>\w+)=code
|
|
|
|
(?su)(?P<name>elink):(?P<target>\w+)=link
|
|
|
|
(?su)(?P<name>etext):(?P<target>[\w*]+(\.[\w*]+)*)=code
|
|
|
|
(?su)(?P<name>pname):(?P<target>(\w[\w.]*)*\w+)=param
|
|
|
|
(?su)(?P<name>ptext):(?P<target>[\w*]+(\.[\w*]+)*)=param
|
|
|
|
(?su)(?P<name>tlink):(?P<target>\w+)=link
|
|
|
|
(?su)(?P<name>tname):(?P<target>\w+)=strong
|
Change log for July 15, 2016 Vulkan 1.0.21 spec update:
* Bump API patch number and header version number to 21 for this update.
Github Issues:
* Clarify how <<features-supported-sample-counts,sample count queries>>
relate to the limits in slink:VkPhysicalDeviceLimits. (public issue
185).
* Clarify in the <<interfaces-iointerfaces,Shader Input and Output
Interfaces>> section that shader output variables have undefined values
until the shader writes to them (public issue 240).
* Specify the implicit value of image parameters that cannot be set in
slink:VkSwapchainCreateInfo::pname:flags, pname:imageType,
pname:mipLevels, pname:samples, pname:tiling, and pname:initialLayout
(public issue 243).
* Make use of code:NULL and code:VK_NULL_HANDLE consistent in the
VK_KHR_swapchain extension (public issue 276).
Internal Issues:
* Clarify that presenting an image to a display surface swapchain applies
the display surface's mode, and that destroying a display surface
swapchain may reset the display's mode, in the VK_KHR_display_swapchain
extension (internal issue 247).
* Better describe what a slink:VkSurfaceKHR is, and that creating one does
not set a mode, in the VK_KHR_display extension. This is a round-about
way of pointing out that mode setting is not covered by the extension,
but rather is performed as a side effect of presentation (internal issue
247).
* Add more valid usage statements to flink:vkQueuePresentKHR command when
the VK_KHR_display_swapchain extension is present (internal issue
247).
* Add more includes to the VK_KHR_swapchain extension to better document
interactions with VK_KHR_display_swapchain (internal issue 247).
* Clarify restrictions on location aliasing in the
<<fxvertex,Fixed-Function Vertex Processing>> section (internal issue
370).
* Add mathematical description of blitting to flink:vkCmdBlitImage, and
link it to the <<textures,Image Operations>> chapter. Use mathematical
notation for ranges of texel coordinates in the <<textures,Image
Operations>> chapter. Fixed miscellaneous validity statements for
flink:vkCmdBlit and slink:VkImageBlit (internal issue 382).
Other Commits:
* Added a valid usage rule to flink:VkGraphicsPipelineCreateInfo that the
ename:VK_PRIMITIVE_TOPOLOGY_PATCH_LIST topology must only be used when
tessellation shaders are used.
* Expand the style guide into a formal "Procedures and Conventions"
document. Add a API Naming Conventions section, move most of the API
Specification Appendix C (Layers and Extensions) content into the new
document, and define the resulting procedures as mandatory (where
relevant). This more clearly separates use vs. specification of Vulkan
APIs.
* Update vk_platform.h to handle 32-bit ARMv8 binaries.
* Various minor cleanups to the Makefile and build process.
2016-07-16 02:05:43 +00:00
|
|
|
(?su)(?P<name>basetype):(?P<target>\w+)=link
|
2016-07-11 01:13:41 +00:00
|
|
|
(?su)(?P<name>code):(?P<target>\w+)=strong
|
2016-02-16 09:53:44 +00:00
|
|
|
|
|
|
|
[normative-inlinemacro]
|
|
|
|
ifdef::basebackend-docbook[]
|
|
|
|
<phrase role="normative">{name}</phrase>
|
|
|
|
endif::basebackend-docbook[]
|
|
|
|
ifdef::basebackend-html[]
|
|
|
|
<span role="normative">{name}</span>
|
|
|
|
endif::basebackend-html[]
|
|
|
|
|
|
|
|
[mustnot-inlinemacro]
|
|
|
|
ifdef::basebackend-docbook[]
|
|
|
|
<phrase role="normative">must not</phrase>
|
|
|
|
endif::basebackend-docbook[]
|
|
|
|
ifdef::basebackend-html[]
|
|
|
|
<span role="normative">must not</span>
|
|
|
|
endif::basebackend-html[]
|
|
|
|
|
|
|
|
[shouldnot-inlinemacro]
|
|
|
|
ifdef::basebackend-docbook[]
|
|
|
|
<phrase role="normative">should not</phrase>
|
|
|
|
endif::basebackend-docbook[]
|
|
|
|
ifdef::basebackend-html[]
|
|
|
|
<span role="normative">should not</span>
|
|
|
|
endif::basebackend-html[]
|
|
|
|
|
2016-07-11 01:13:41 +00:00
|
|
|
[link-inlinemacro]
|
2016-02-16 09:53:44 +00:00
|
|
|
ifdef::basebackend-docbook[]
|
2016-07-11 01:13:41 +00:00
|
|
|
<code><link linkend="{target}.html">{target}</link></code>
|
2016-02-16 09:53:44 +00:00
|
|
|
endif::basebackend-docbook[]
|
|
|
|
ifdef::basebackend-html[]
|
2016-07-11 01:13:41 +00:00
|
|
|
<code><a href="{target}.html">{target}</a></code>
|
2016-02-16 09:53:44 +00:00
|
|
|
endif::basebackend-html[]
|
|
|
|
|
2016-07-11 01:13:41 +00:00
|
|
|
[code-inlinemacro]
|
2016-02-16 09:53:44 +00:00
|
|
|
ifdef::basebackend-docbook[]
|
2016-07-11 01:13:41 +00:00
|
|
|
<code>{target}</code>
|
2016-02-16 09:53:44 +00:00
|
|
|
endif::basebackend-docbook[]
|
|
|
|
ifdef::basebackend-html[]
|
|
|
|
<code>{target}</code>
|
|
|
|
endif::basebackend-html[]
|
|
|
|
|
2016-07-11 01:13:41 +00:00
|
|
|
[strong-inlinemacro]
|
2016-02-16 09:53:44 +00:00
|
|
|
ifdef::basebackend-docbook[]
|
2016-07-11 01:13:41 +00:00
|
|
|
<emphasis role="strong"><code>{target}</code></emphasis>
|
2016-02-16 09:53:44 +00:00
|
|
|
endif::basebackend-docbook[]
|
|
|
|
ifdef::basebackend-html[]
|
|
|
|
<code>{target}</code>
|
|
|
|
endif::basebackend-html[]
|
|
|
|
|
2016-07-11 01:13:41 +00:00
|
|
|
[param-inlinemacro]
|
2016-02-16 09:53:44 +00:00
|
|
|
ifdef::basebackend-docbook[]
|
|
|
|
<parameter>{target}</parameter>
|
|
|
|
endif::basebackend-docbook[]
|
|
|
|
ifdef::basebackend-html[]
|
|
|
|
<code>{target}</code>
|
|
|
|
endif::basebackend-html[]
|