Change log for April 21, 2018 Vulkan 1.1.74 spec update:

* Update release number to 74.

Github Issues:

  * Clarify which buffer locations are accessed in
    flink:vkCmdCopyBufferToImage valid usage statements (public issue 676).
  * Refine description of <<extended-functionality-extensions-dependencies,
    extension dependencies>>, related NOTE in the
    <<extended-functionality-extensions, Extensions>> section, and
    "`Required Extensions`" glossary term (public pull request 693).
  * Add support for specifying required Vulkan core version in `vk.xml` and
    the extension metadoc generator (public issue 696).
  * Update .gitignore for directory reorganization (public pull request
    699).
  * Fix typo (public pull request 703).

Internal Issues:

  * Update valid usage of slink:VkClearRect::pname:layerCount (internal
    issue 1241).

Other Issues:

  * Fix typo in <<NV_geometry_shader_passthrough>> issues list.
This commit is contained in:
Jon Leech 2018-04-21 03:16:01 -07:00
parent 52a06ca3f6
commit c51545d33f
14 changed files with 113 additions and 16 deletions

View File

@ -8,6 +8,35 @@ public pull requests that have been accepted.
-----------------------------------------------------
Change log for April 21, 2018 Vulkan 1.1.74 spec update:
* Update release number to 74.
Github Issues:
* Clarify which buffer locations are accessed in
flink:vkCmdCopyBufferToImage valid usage statements (public issue 676).
* Refine description of <<extended-functionality-extensions-dependencies,
extension dependencies>>, related NOTE in the
<<extended-functionality-extensions, Extensions>> section, and
"`Required Extensions`" glossary term (public pull request 693).
* Add support for specifying required Vulkan core version in `vk.xml` and
the extension metadoc generator (public issue 696).
* Update .gitignore for directory reorganization (public pull request
699).
* Fix typo (public pull request 703).
Internal Issues:
* Update valid usage of slink:VkClearRect::pname:layerCount (internal
issue 1241).
Other Issues:
* Fix typo in <<NV_geometry_shader_passthrough>> issues list.
-----------------------------------------------------
Change log for April 15, 2018 Vulkan 1.1.73 spec update:
* Update release number to 73.

View File

@ -106,7 +106,7 @@ VERBOSE =
# $(EXTENSIONS))
# ADOCOPTS options for asciidoc->HTML5 output
NOTEOPTS = -a editing-notes -a implementation-guide
PATCHVERSION = 73
PATCHVERSION = 74
ifneq (,$(findstring VK_VERSION_1_1,$(VERSIONS)))
SPECREVISION = 1.1.$(PATCHVERSION)
else

View File

@ -91,7 +91,7 @@ following table.
|====
| Input Layout | Implied Output Layout
| points | `layout(points, max_vertices=1)`
| lines | `layout(line_stripo, max_vertices=2)`
| lines | `layout(line_strip, max_vertices=2)`
| triangles | `layout(triangle_strip, max_vertices=3)`
|====

View File

@ -9,10 +9,10 @@ This extension enables support for a new class of subgroup operations via
the
https://github.com/KhronosGroup/GLSL/blob/master/extensions/nv/GL_NV_shader_subgroup_partitioned.txt[+GL_NV_shader_subgroup_partitioned+]
GLSL extension and
https://www.khronos.org/registry/spir-v/extensions/NV/SPV_NV_shader_subgroup_partitioned.html[+SPV_NV_shader_subgroup_partitioned+]
http://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/NV/SPV_NV_shader_subgroup_partitioned.html[+SPV_NV_shader_subgroup_partitioned+]
SPIR-V extension.
Support for these new operations is advertised via the
elink:VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV bit.
ename:VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV bit.
This extension requires Vulkan 1.1, for general subgroup support.

View File

@ -543,6 +543,10 @@ ifdef::VK_NV_sample_mask_override_coverage[]
include::VK_NV_sample_mask_override_coverage.txt[]
endif::VK_NV_sample_mask_override_coverage[]
ifdef::VK_NV_shader_subgroup_partitioned[]
include::VK_NV_shader_subgroup_partitioned.txt[]
endif::VK_NV_shader_subgroup_partitioned[]
ifdef::VK_NV_viewport_array2[]
include::VK_NV_viewport_array2.txt[]
endif::VK_NV_viewport_array2[]

View File

@ -258,6 +258,9 @@ attachments and the command parameters.
* [[VUID-vkCmdClearAttachments-pRects-00017]]
The layers specified by each element of pname:pRects must: be contained
within every attachment that pname:pAttachments refers to
* [[VUID-vkCmdClearAttachments-layerCount-01934]]
The pname:layerCount member of each element of pname:pRects must: not be
`0`
ifdef::VK_VERSION_1_1,VK_KHR_multiview[]
* [[VUID-vkCmdClearAttachments-baseArrayLayer-00018]]
If the render pass instance this is recorded in uses multiview, then

View File

@ -866,8 +866,9 @@ endif::VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion[]
.Valid Usage
****
* [[VUID-vkCmdCopyBufferToImage-pRegions-00171]]
The buffer region specified by each element of pname:pRegions must: be a
region that is contained within pname:srcBuffer
pname:srcBuffer must: be large enough to contain all buffer locations
that are accessed according to <<copies-buffers-images-addressing,Buffer
and Image Addressing>>, for each element of pname:pRegions
* [[VUID-vkCmdCopyBufferToImage-pRegions-00172]]
The image region specified by each element of pname:pRegions must: be a
region that is contained within pname:dstImage
@ -1002,8 +1003,9 @@ ifdef::VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion[]
copied if the pname:srcImage's elink:VkFormat is a multi-planar format
endif::VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion[]
* [[VUID-vkCmdCopyImageToBuffer-pRegions-00183]]
The buffer region specified by each element of pname:pRegions must: be a
region that is contained within pname:dstBuffer
pname:dstBuffer must: be large enough to contain all buffer locations
that are accessed according to <<copies-buffers-images-addressing,Buffer
and Image Addressing>>, for each element of pname:pRegions
* [[VUID-vkCmdCopyImageToBuffer-pRegions-00184]]
The union of all source regions, and the union of all destination
regions, specified by the elements of pname:pRegions, must: not overlap
@ -1323,6 +1325,9 @@ endif::VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion[]
include::../validity/structs/VkBufferImageCopy.txt[]
--
[[copies-buffers-images-addressing]]
=== Buffer and Image Addressing
Pseudocode for image/buffer addressing is:
[source,c]

View File

@ -362,8 +362,8 @@ Each extension which has such dependencies documents them in the
If an extension is supported (as queried by
flink:vkEnumerateInstanceExtensionProperties or
flink:vkEnumerateDeviceExtensionProperties), then _required extensions_ of
that extension must: also be supported for the same instance or
physical device.
that extension must: also be supported for the same instance or physical
device.
Any device extension that has an instance extension dependency that is not
enabled by flink:vkCreateInstance is considered to be unsupported, hence it

View File

@ -43,7 +43,7 @@ extern "C" {
#define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3ff)
#define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xfff)
// Version of this file
#define VK_HEADER_VERSION 73
#define VK_HEADER_VERSION 74
#define VK_NULL_HANDLE 0

View File

@ -1,2 +1,2 @@
# The value to start tagging VU statements at, unless overridden by -nextvu
startVUID = 1934
startVUID = 1935

View File

@ -1119,6 +1119,8 @@ be implemented against.
`'disabled'`. Must be either `'device'` or `'instance'`, if present.
* attr:requires - optional. Comma-separated list of extension names this
extension requires to be supported.
* attr:requiresCore - optional. Core version of Vulkan required by the
extension, e.g. "1.1". Defaults to "1.0".
* attr:protect - optional. An additional preprocessor token used to
protect an extension definition. Usually another feature or
extension attr:name. Rarely used, for odd circumstances where the
@ -2027,6 +2029,7 @@ files and Python scripts are logged in Github history.
[[changelog]]
= Change Log
* 2018-04-15 - Add attr:requiresCore.
* 2018-03-07 - Updated for Vulkan 1.1 release.
* 2018-02-21 - Add descriptions of the attr:extnumber and attr:alias
attributes used for defining tag:enum attributes, the attr:alias

View File

@ -45,6 +45,7 @@ class ExtensionMetaDocGeneratorOptions(GeneratorOptions):
# number extension number (optional)
# type 'instance' | 'device' (optional)
# requires list of comma-separate requires Vulkan extensions (optional)
# requiresCore required core version of Vulkan (optional)
# contact name and github login or email address (optional)
#
# ---- methods ----
@ -84,6 +85,7 @@ class ExtensionMetaDocOutputGenerator(OutputGenerator):
number = self.getAttrib(interface, 'number', 'UNKNOWN')
type = self.getAttrib(interface, 'type', None)
requires = self.getAttrib(interface, 'requires', None)
requiresCore = self.getAttrib(interface, 'requiresCore', '1.0')
contact = self.getAttrib(interface, 'contact', 'UNKNOWN')
revision = self.getSpecVersion(interface, name, 'UNKNOWN')
@ -129,7 +131,7 @@ class ExtensionMetaDocOutputGenerator(OutputGenerator):
# Only Vulkan extension dependencies are coded in XML, others are explicit
write('*Extension and Version Dependencies*::', file=fp)
write(' - Requires Vulkan 1.0', file=fp)
write(' - Requires Vulkan ' + requiresCore, file=fp)
if requires != None:
for dep in requires.split(','):
write(' - Requires `<<' + dep + '>>`', file=fp)

View File

@ -417,6 +417,8 @@ Extensions = element extensions {
# type - 'device' or 'instance', if present
# requires - commas-separated list of extension names required by this
# extension
# requiresCore - core version of Vulkan required by the extension, e.g.
# "1.1". Defaults to "1.0".
# supported - profile name(s) supporting this extension, e.g. 'vulkan'
# or 'disabled' to never generate output.
# In addition, <require> / <remove> tags also support an api attribute:
@ -431,6 +433,7 @@ Extension = element extension {
attribute contact { text } ? ,
attribute type { text } ? ,
attribute requires { text } ? ,
attribute requiresCore { text } ? ,
attribute supported { StringGroup } ? ,
Comment ? ,
(

View File

@ -137,7 +137,7 @@ server.
<type category="define">// Vulkan 1.1 version number
#define <name>VK_API_VERSION_1_1</name> <type>VK_MAKE_VERSION</type>(1, 1, 0)// Patch version should always be set to 0</type>
<type category="define">// Version of this file
#define <name>VK_HEADER_VERSION</name> 73</type>
#define <name>VK_HEADER_VERSION</name> 74</type>
<type category="define">
#define <name>VK_DEFINE_HANDLE</name>(object) typedef struct object##_T* object;</type>
@ -8634,7 +8634,7 @@ server.
<enum value="&quot;VK_EXT_extension_198&quot;" name="VK_ARM_EXTENSION_198_EXTENSION_NAME"/>
</require>
</extension>
<extension name="VK_NV_shader_subgroup_partitioned" number="199" type="device" author="NV" contact="Jeff Bolz @jbolz" supported="vulkan">
<extension name="VK_NV_shader_subgroup_partitioned" number="199" type="device" requiresCore="1.1" author="NV" contact="Jeff Bolz @jbolz" supported="vulkan">
<require>
<enum value="1" name="VK_NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION"/>
<enum value="&quot;VK_NV_shader_subgroup_partitioned&quot;" name="VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME"/>
@ -8647,5 +8647,53 @@ server.
<enum value="&quot;VK_KHR_extension_200&quot;" name="VK_KHR_EXTENSION_200_EXTENSION_NAME"/>
</require>
</extension>
<extension name="VK_KHR_extension_201" number="201" type="device" author="KHR" contact="Daniel Rakos @aqnuep" supported="disabled">
<require>
<enum value="0" name="VK_KHR_EXTENSION_201_SPEC_VERSION"/>
<enum value="&quot;VK_KHR_extension_201&quot;" name="VK_KHR_EXTENSION_201_EXTENSION_NAME"/>
</require>
</extension>
<extension name="VK_NV_extension_202" number="202" author="NV" contact="Pat Brown @pbrown" supported="disabled">
<require>
<enum value="0" name="VK_NV_EXTENSION_202_SPEC_VERSION"/>
<enum value="&quot;VK_NV_extension_202&quot;" name="VK_NV_EXTENSION_202_EXTENSION_NAME"/>
</require>
</extension>
<extension name="VK_NV_extension_203" number="203" author="NV" contact="Pat Brown @pbrown" supported="disabled">
<require>
<enum value="0" name="VK_NV_EXTENSION_203_SPEC_VERSION"/>
<enum value="&quot;VK_NV_extension_203&quot;" name="VK_NV_EXTENSION_203_EXTENSION_NAME"/>
</require>
</extension>
<extension name="VK_NV_extension_204" number="204" author="NV" contact="Pat Brown @pbrown" supported="disabled">
<require>
<enum value="0" name="VK_NV_EXTENSION_204_SPEC_VERSION"/>
<enum value="&quot;VK_NV_extension_204&quot;" name="VK_NV_EXTENSION_204_EXTENSION_NAME"/>
</require>
</extension>
<extension name="VK_NV_extension_205" number="205" author="NV" contact="Pat Brown @pbrown" supported="disabled">
<require>
<enum value="0" name="VK_NV_EXTENSION_205_SPEC_VERSION"/>
<enum value="&quot;VK_NV_extension_205&quot;" name="VK_NV_EXTENSION_205_EXTENSION_NAME"/>
</require>
</extension>
<extension name="VK_NV_extension_206" number="206" author="NV" contact="Pat Brown @pbrown" supported="disabled">
<require>
<enum value="0" name="VK_NV_EXTENSION_206_SPEC_VERSION"/>
<enum value="&quot;VK_NV_extension_206&quot;" name="VK_NV_EXTENSION_206_EXTENSION_NAME"/>
</require>
</extension>
<extension name="VK_NV_extension_207" number="207" author="NV" contact="Nuno Subtil @nsubtil" supported="disabled">
<require>
<enum value="0" name="VK_NV_EXTENSION_207_SPEC_VERSION"/>
<enum value="&quot;VK_NV_extension_207&quot;" name="VK_NV_EXTENSION_207_EXTENSION_NAME"/>
</require>
</extension>
<extension name="VK_KHR_extension_208" number="208" type="device" author="KHR" contact="Daniel Rakos @aqnuep" supported="disabled">
<require>
<enum value="0" name="VK_KHR_EXTENSION_208_SPEC_VERSION"/>
<enum value="&quot;VK_KHR_extension_208&quot;" name="VK_KHR_EXTENSION_208_EXTENSION_NAME"/>
</require>
</extension>
</extensions>
</registry>