Change log for January 23, 2017 Vulkan 1.0.39 spec update:
* Bump API patch number and header version number to 39 for this update.
Github Issues:
* Clarified that only accesses via the specified buffer/image subresource
ranges are included in the access scopes (public issue 306).
* Add missing valid usage statements for flink:vkCreateComputePipelines
and flink:vkCreateGraphicsPipelines (public issue 427).
Internal Issues:
* Add a Note to the <<invariance,Invariance>> appendix about a difference
between OpenGL and Vulkan with regards to how primitives derived from
offsets are handled (internal issue 355).
* Add the +<<VK_KHR_get_physical_device_properties2>>+,
+<<VK_KHR_maintenance1>>+, and +<<VK_KHR_shader_draw_parameters>>+
extensions (internal issue 448).
* Add the +<<VK_EXT_shader_subgroup_vote>>+ and
+<<VK_EXT_shader_subgroup_ballot>>+ extensions (internal issue 449).
* Update the texture level-of-detail equation in the
<<textures-scale-factor,Scale Factor Operation>> section to better
approximate the ellipse major and minor axes (internal issue 547).
* Forbid non-explicitly allowed uses of interface decorations in the
introduction to the <<interfaces,Shader Interfaces>> chapter (internal
issue 607).
* Replace use of MathJax with KaTeX, for improved load-time performance as
well as avoiding the scrolling-and-scrolling behavior due to MathJax
asynchronous rendering when loading at an anchor inside the spec. This
change also requires moving to HTML5 output for the spec instead of
XHTML, and there is a visible difference in that the chapter navigation
index is now in a scrollable sidebar instead of at the top of the
document. We may or may not retain the nav sidebar based on feedback
(internal issue 613).
* Improve consistency of markup and formatting in extension appendices
(internal issue 631).
Other Issues:
* Add explicit valid usage statements to slink:VkImageCopy requiring that
the source and destination layer ranges be contained in their respective
source and destination images.
* Add valid usage language for swapchain of flink:vkAcquireNextImage. If
the swapchain has been replaced, then it should not be passed to
flink:vkAcquireNextImage.
* Add a valid usage statement to flink:vkCreateImageView, that the image
must have been created with an appropriate usage bit set.
* Noted that slink:VkDisplayPresentInfoKHR is a valid extension of
slink:VkPresentInfoKHR in the <<wsi_swapchain,WSI Swapchain>> section.
* Update valid usage for flink:vkCmdSetViewport and flink:vkCmdSetScissor
to account for the multiple viewport feature. If the feature is not
enabled, the parameters for these functions have required values that
are defined in the <<features-features-multiViewport,multiple
viewports>> section of the spec but were not reflected in the valid
usage text for these functions.
* Add the +<<VK_EXT_swapchain_colorspace>>+ extension defining common
color spaces.
2017-01-17 20:11:25 -08:00
|
|
|
# Copyright (c) 2015-2017 The Khronos Group Inc.
|
2016-02-16 01:53:44 -08:00
|
|
|
#
|
2016-09-16 21:22:17 -07:00
|
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
# you may not use this file except in compliance with the License.
|
|
|
|
# You may obtain a copy of the License at
|
|
|
|
#
|
|
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
#
|
|
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
# See the License for the specific language governing permissions and
|
|
|
|
# limitations under the License.
|
|
|
|
|
|
|
|
# vkspec.conf - asciidoc macros for Vulkan spec
|
|
|
|
|
Change log for September 6, 2016 Vulkan 1.0.26 spec update:
* Bump API patch number and header version number to 26 for this update.
Github Issues:
* Bring sample code in the +VK_KHR_surface+ and +VK_KHR_swapchain+
extension summary appendices up to date, and note they will be replaced
with pointers to the LunarG SDK examples in the future (public issue
279).
* Add a new <<fundamentals-commandsyntax-results-lifetime,Lifetime of
Retrieved Results>> section specifying that ftext:vkGet* and
ftext:VkEnumerate* results are invariant unless otherwise specified, and
specify behavior for individual commands which are not invariant (public
issue 280).
* Remove conflicting definition of
slink:VkDisplayPlaneCapabilitiesKHR::pname:maxSrcPosition and clean up
language of the remaining definition (public issue 351).
* Fix many minor spelling errors and add rules to the style guide to
prevent recurrences (public issue 352).
Internal Issues:
* Remove redundant descriptions of the etext:VK_USE_PLATFORM_* macros from
the <<wsi,Window System Integration>> chapter in favor of the
description in the <<boilerplate-wsi-header,Window System-Specific
Header Control>> appendix (internal issue 6).
* Replace misleading 'can: be destroyed when not X' with more correct
'must: not be destroyed while X' in the
<<fundamentals-objectmodel-lifetime,Object Lifetime>> section. Disallow
destroying a pipeline layout while a command buffer using it is
recording (internal issue 241).
* Clarify that ename:VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT is valid for
all images used as attachments in elink:VkImageUsageFlagBits and the
slink:VkImageLayout validity language (internal issue 320).
* Note that <<extended-functionality-layers,Layers>> may wrap object
handles, but that this is a generally discouraged. A link to additional
information in the documentation for layer authors is provided (issue
398)
* Replace the mustnot: and shouldnot: macros with equivalent must: not and
should: not to get rid of non-English words while still highlighting
normative language (internal issue 407).
* Disallow creating multisampled images with
ename:VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT in the slink:VkImageLayout
validity language and the <<features-supported-sample-counts,Supported
Sample Counts>> section (internal issue 445).
* Fix typo so that flink:vkCmdDrawIndexedIndirect is defined in terms of
flink:vkCmdDrawIndexed rather than flink:vkCmdDrawIndirect (internal
issue 446).
* Reorganize the per-extension information sections to all be in the
<<extensions,Layers & Extensions>> appendix. Also fix a typo in
+VK_IMG_filter_cubic+ which incorrectly identified it as a +KHR+
extension (internal issue 461).
Other Issues:
* Use asciidoc markup instead of latexmath to simplify diagrams in the
<<features-formats-non-packed,byte mapping tables>> for color formats.
* Fix a markup problem with the wildcarded enumerant names in a NOTE in
the <<textures-texel-replacement,Texel Replacement>> section.
* Fix missing attributes in the XML interface for
elink:VkExternalMemoryHandleTypeFlagBitsNV and
elink:VkExternalMemoryFeatureFlagBitsNV (KhronosGroup/Vulkan-Hpp issue
#25)
* Cleanup reference page builds so only core pages are built for releases.
2016-09-06 06:17:27 -07:00
|
|
|
# The 'normative' macros below (can: through should:) serve mostly
|
2016-02-16 01:53:44 -08:00
|
|
|
# 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.
|
|
|
|
#
|
2016-07-10 18:13:41 -07:00
|
|
|
# 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)
|
Change log for September 6, 2016 Vulkan 1.0.26 spec update:
* Bump API patch number and header version number to 26 for this update.
Github Issues:
* Bring sample code in the +VK_KHR_surface+ and +VK_KHR_swapchain+
extension summary appendices up to date, and note they will be replaced
with pointers to the LunarG SDK examples in the future (public issue
279).
* Add a new <<fundamentals-commandsyntax-results-lifetime,Lifetime of
Retrieved Results>> section specifying that ftext:vkGet* and
ftext:VkEnumerate* results are invariant unless otherwise specified, and
specify behavior for individual commands which are not invariant (public
issue 280).
* Remove conflicting definition of
slink:VkDisplayPlaneCapabilitiesKHR::pname:maxSrcPosition and clean up
language of the remaining definition (public issue 351).
* Fix many minor spelling errors and add rules to the style guide to
prevent recurrences (public issue 352).
Internal Issues:
* Remove redundant descriptions of the etext:VK_USE_PLATFORM_* macros from
the <<wsi,Window System Integration>> chapter in favor of the
description in the <<boilerplate-wsi-header,Window System-Specific
Header Control>> appendix (internal issue 6).
* Replace misleading 'can: be destroyed when not X' with more correct
'must: not be destroyed while X' in the
<<fundamentals-objectmodel-lifetime,Object Lifetime>> section. Disallow
destroying a pipeline layout while a command buffer using it is
recording (internal issue 241).
* Clarify that ename:VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT is valid for
all images used as attachments in elink:VkImageUsageFlagBits and the
slink:VkImageLayout validity language (internal issue 320).
* Note that <<extended-functionality-layers,Layers>> may wrap object
handles, but that this is a generally discouraged. A link to additional
information in the documentation for layer authors is provided (issue
398)
* Replace the mustnot: and shouldnot: macros with equivalent must: not and
should: not to get rid of non-English words while still highlighting
normative language (internal issue 407).
* Disallow creating multisampled images with
ename:VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT in the slink:VkImageLayout
validity language and the <<features-supported-sample-counts,Supported
Sample Counts>> section (internal issue 445).
* Fix typo so that flink:vkCmdDrawIndexedIndirect is defined in terms of
flink:vkCmdDrawIndexed rather than flink:vkCmdDrawIndirect (internal
issue 446).
* Reorganize the per-extension information sections to all be in the
<<extensions,Layers & Extensions>> appendix. Also fix a typo in
+VK_IMG_filter_cubic+ which incorrectly identified it as a +KHR+
extension (internal issue 461).
Other Issues:
* Use asciidoc markup instead of latexmath to simplify diagrams in the
<<features-formats-non-packed,byte mapping tables>> for color formats.
* Fix a markup problem with the wildcarded enumerant names in a NOTE in
the <<textures-texel-replacement,Texel Replacement>> section.
* Fix missing attributes in the XML interface for
elink:VkExternalMemoryHandleTypeFlagBitsNV and
elink:VkExternalMemoryFeatureFlagBitsNV (KhronosGroup/Vulkan-Hpp issue
#25)
* Cleanup reference page builds so only core pages are built for releases.
2016-09-06 06:17:27 -07:00
|
|
|
#
|
2016-07-10 18:13:41 -07:00
|
|
|
# These macros expand in ways determined by the name following = in the
|
|
|
|
# macro definition:
|
2016-02-16 01:53:44 -08:00
|
|
|
#
|
|
|
|
# 'link' macros format as code and create an xref/link to the target
|
Change log for September 6, 2016 Vulkan 1.0.26 spec update:
* Bump API patch number and header version number to 26 for this update.
Github Issues:
* Bring sample code in the +VK_KHR_surface+ and +VK_KHR_swapchain+
extension summary appendices up to date, and note they will be replaced
with pointers to the LunarG SDK examples in the future (public issue
279).
* Add a new <<fundamentals-commandsyntax-results-lifetime,Lifetime of
Retrieved Results>> section specifying that ftext:vkGet* and
ftext:VkEnumerate* results are invariant unless otherwise specified, and
specify behavior for individual commands which are not invariant (public
issue 280).
* Remove conflicting definition of
slink:VkDisplayPlaneCapabilitiesKHR::pname:maxSrcPosition and clean up
language of the remaining definition (public issue 351).
* Fix many minor spelling errors and add rules to the style guide to
prevent recurrences (public issue 352).
Internal Issues:
* Remove redundant descriptions of the etext:VK_USE_PLATFORM_* macros from
the <<wsi,Window System Integration>> chapter in favor of the
description in the <<boilerplate-wsi-header,Window System-Specific
Header Control>> appendix (internal issue 6).
* Replace misleading 'can: be destroyed when not X' with more correct
'must: not be destroyed while X' in the
<<fundamentals-objectmodel-lifetime,Object Lifetime>> section. Disallow
destroying a pipeline layout while a command buffer using it is
recording (internal issue 241).
* Clarify that ename:VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT is valid for
all images used as attachments in elink:VkImageUsageFlagBits and the
slink:VkImageLayout validity language (internal issue 320).
* Note that <<extended-functionality-layers,Layers>> may wrap object
handles, but that this is a generally discouraged. A link to additional
information in the documentation for layer authors is provided (issue
398)
* Replace the mustnot: and shouldnot: macros with equivalent must: not and
should: not to get rid of non-English words while still highlighting
normative language (internal issue 407).
* Disallow creating multisampled images with
ename:VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT in the slink:VkImageLayout
validity language and the <<features-supported-sample-counts,Supported
Sample Counts>> section (internal issue 445).
* Fix typo so that flink:vkCmdDrawIndexedIndirect is defined in terms of
flink:vkCmdDrawIndexed rather than flink:vkCmdDrawIndirect (internal
issue 446).
* Reorganize the per-extension information sections to all be in the
<<extensions,Layers & Extensions>> appendix. Also fix a typo in
+VK_IMG_filter_cubic+ which incorrectly identified it as a +KHR+
extension (internal issue 461).
Other Issues:
* Use asciidoc markup instead of latexmath to simplify diagrams in the
<<features-formats-non-packed,byte mapping tables>> for color formats.
* Fix a markup problem with the wildcarded enumerant names in a NOTE in
the <<textures-texel-replacement,Texel Replacement>> section.
* Fix missing attributes in the XML interface for
elink:VkExternalMemoryHandleTypeFlagBitsNV and
elink:VkExternalMemoryFeatureFlagBitsNV (KhronosGroup/Vulkan-Hpp issue
#25)
* Cleanup reference page builds so only core pages are built for releases.
2016-09-06 06:17:27 -07:00
|
|
|
#
|
2016-02-16 01:53:44 -08:00
|
|
|
# '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-07-10 18:13:41 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-02-16 01:53:44 -08:00
|
|
|
[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>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>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
|
2016-07-10 18:13:41 -07:00
|
|
|
(?su)(?P<name>dname):(?P<target>\w+)=code
|
|
|
|
(?su)(?P<name>dlink):(?P<target>\w+)=link
|
2016-02-16 01:53:44 -08:00
|
|
|
(?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
|
|
|
|
(?su)(?P<name>basetype):(?P<target>\w+)=code
|
|
|
|
(?su)(?P<name>code):(?P<target>\w+)=strong
|
|
|
|
|
|
|
|
[normative-inlinemacro]
|
|
|
|
ifdef::basebackend-docbook[]
|
|
|
|
<phrase role="normative">{name}</phrase>
|
|
|
|
endif::basebackend-docbook[]
|
|
|
|
ifdef::basebackend-html[]
|
|
|
|
<span role="normative">{name}</span>
|
|
|
|
endif::basebackend-html[]
|
|
|
|
|
|
|
|
[link-inlinemacro]
|
|
|
|
ifdef::basebackend-docbook[]
|
|
|
|
<code><link linkend="{target}">{target}</link></code>
|
|
|
|
endif::basebackend-docbook[]
|
|
|
|
ifdef::basebackend-html[]
|
|
|
|
<code><a href="#{target}">{target}</a></code>
|
|
|
|
endif::basebackend-html[]
|
|
|
|
|
2016-09-16 21:22:17 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-02-16 01:53:44 -08:00
|
|
|
[code-inlinemacro]
|
|
|
|
ifdef::basebackend-docbook[]
|
|
|
|
<code>{target}</code>
|
|
|
|
endif::basebackend-docbook[]
|
|
|
|
ifdef::basebackend-html[]
|
|
|
|
<code>{target}</code>
|
|
|
|
endif::basebackend-html[]
|
|
|
|
|
|
|
|
[strong-inlinemacro]
|
|
|
|
ifdef::basebackend-docbook[]
|
|
|
|
<emphasis role="strong"><code>{target}</code></emphasis>
|
|
|
|
endif::basebackend-docbook[]
|
|
|
|
ifdef::basebackend-html[]
|
|
|
|
<code>{target}</code>
|
|
|
|
endif::basebackend-html[]
|
|
|
|
|
|
|
|
[param-inlinemacro]
|
|
|
|
ifdef::basebackend-docbook[]
|
|
|
|
<parameter>{target}</parameter>
|
|
|
|
endif::basebackend-docbook[]
|
|
|
|
ifdef::basebackend-html[]
|
|
|
|
<code>{target}</code>
|
|
|
|
endif::basebackend-html[]
|