* Update release number to 75.
Github Issues:
* Use Github handles (e.g. @handle) for contact information in vk.xml,
when available (partial fix for public issue 630).
* Add size invariance guarantee to slink:VkMemoryRequirements for
buffer/image memory requirements (public issue 661).
* Correct scope (conditional constructs) in valid usage statement for
slink:VkBindImageMemoryInfo (public pull request 684).
* Clean up minor markup issues and typos in the
`VK_ANDROID_external_memory_android_hardware_buffer` extension appendix
(public pull request 698).
* Modify registry processing script to avoid irrelevant warnings of benign
enumerant redefinitions (public pull request 705).
* Fix some duplicate words and some misspelled "`stagess`" (public pull
request 712)
Internal Issues:
* Enable continuous integration tests on the internal Khronos gitlab
server by adding a .gitlab-ci.yml file. Note: this does not implement CI
on the public Github repository (internal issue 408).
* Add link from description of depth clamping in the <<fragops-depth,
depth test>> section to the
slink:VkPipelineRasterizationStateCreateInfo::pname:depthClampEnable
parameter which enables it, making it easily searchable / findable
(internal issue 1125).
* Clarify that arrays of arrays of descriptors are not allowed in the
<<interfaces-resources-descset, Descriptor Set Interface>> and
<<interfaces-resources-setandbinding, DescriptorSet and Binding
Assignment>> sections (internal issue 1192).
* Comment out some redundant nested asciidoctor conditionals in the
slink:VkImageViewCreateInfo valid usage block, and explain in all cases
why the redundant conditional exist and are commented out (internal
issue 1231).
* Move a valid usage statement from slink:VkCommandPoolCreateInfo to the
parent flink:vkCreateCommandPool, where the device queue is known
(internal issue 1233).
* Add new slink:VkBaseInStructure and slink:VkBaseOutStructure types which
can be used by extensions and implementations for handling Vulkan
sType/pNext style structures in a more generic way (internal issue
1265).
* Clarify that
slink:VkAndroidHardwareBufferFormatPropertiesANDROID::pname:formatFeatures
only applies to external-format images. Add references to this in valid
usage statements that previously only referred to
slink:VkFormatProperties (internal issue 1244).
* Fix the description of elink:VkPipelineCreateFlagBits enumerant
ename:VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT to match the
name (internal issue 1279).
* Add a NOTE to the <<interfaces-resources-setandbinding, DescriptorSet
and Binding Assignment>> section making it clear that variables sharing
a storage class may use identical descriptor set and bindings.
Specifically state the sometimes misunderstood ability to have one or
more differently typed image descriptors sharing a descriptor set and
binding (internal SPIR-V issue 264).
* Make DynamicIndexing features and capabilities also control the
uniformity of the descriptor used in memory access instructions in the
<<interfaces-resources-descset, Descriptor Set Interface>> section. This
makes them also apply to variable_pointer usage, which can bypass the
array indexing operation (internal SPIR-V issue 289).
Other Issues:
* Correct flink:vkCmdBlitImage limitations on cubic blits to be 2D only,
not 3D.
* Update valid usage statements for slink:VkRenderPassCreateInfo and
slink:VkInputAttachmentAspectReference.
* Move YCbCr-related VU statements from slink:VkDescriptorImageInfo to
slink:VkWriteDescriptorSet, where all needed information is known, and
remove redundant statements.
* Move SPIR-V restriction that images be of either sampled or storage
types from the <<interfaces-resources-descset, Descriptor Set
Interface>> section to the <<spirvenv-module-validation, Validation
Rules within a Module>> section of the SPIR-V appendix.
* 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.
With the addition of the 'extnumber' key update comparison to skip over
the extnumber as well as extname in order to avoid a bunch of
irrelevant warnings.
* Update release number to 73.
Github Issues:
* Refine swapchain association with surface for slink:VkSwapchainKHR, with
matching valid usage statements for slink:VkSwapchainCreateInfoKHR and
discussion following the <<swapchain-wsi-image-create-info>> table
(public issue 637).
* Re-remove several valid usage statements from slink:VkImageCreateInfo
that had previously been removed at the time that
ename:VK_IMAGE_CREATE_EXTENDED_USAGE_BIT was introduced. These
statements had incorrectly been restored due to an glitch while merging
from the old `1.0` branch to the current `master` branch (public issue
683).
Internal Issues:
* Fix reference page generation and configure build to generate reference
pages 1.1 with all extensions, rather than core only, as was the case
for the 1.0 ref pages (internal issues 484, 1056, 1205).
* Require that
slink:VkMemoryDedicatedRequirements::pname:prefersDedicateAllocation is
ename:VK_TRUE when
slink:VkMemoryDedicatedRequirements::pname:requiresDedicateAllocation is
ename:VK_TRUE (internal issue 1222).
* Fix Ruby extension code so `diff_html` Makefile target works (internal
issue 1230).
* Update `genRelease` script to generate 1.1 + all extensions reference
pages - but not the single-page HTML / PDF versions, which are even
larger than the API spec (internal issue 1245).
Other Issues:
* Add missing attributes to `vk.xml` for `VK_ANDROID_native_buffer`.
* Specify that the slink:VkAttachmentDescription::pname:format member is
the format of the image *view* that will be used for the attachment.
* Use core sname:VkPhysicalDeviceFeatures2 in the `structextends` `vk.xml`
attribute for sname:VkPhysicalDeviceDescriptorIndexingFeaturesEXT and
sname:VkPhysicalDeviceDescriptorIndexingPropertiesEXT, rather than the
KHR equivalent it was promoted from.
* Fix the "`Fragment Input Attachment Interface`" glossary entry to match
the specification body.
* Clarify the interaction of sRGB images used as storage or texel buffers
with <<textures-output-format-conversion, Texel Output Format
Conversion>>.
* Moved three valid usage statements from
slink:VkRenderPassMultiviewCreateInfo up to
slink:VkRenderPassCreateInfo, and added a new valid usage statement for
slink:VkRenderPassInputAttachmentAspectCreateInfo.
* Added valid usage statements for slink:VkBufferMemoryBarrier and
slink:VkImageMemoryBarrier reflecting the global requirement that
"`non-sparse resources must be bound to memory before being recorded to
command`".
New Extensions:
- requires impls to honor resolution in #659
- addresses some confusion in Vulkan-LoaderAndValidationLayers/#2366
- require impls to support dependencies
- previously VU exluded if 1.1 or VK_KHR_device_group,
but if swapchain ext. not defined memory param should
be valid too =>
now excluded iff VK_KHR_swapchain is defined too
- make **must** statement a proper VU
- fix sentence saying only one swapchain can be associated
- fix languge saying **must** not instead of **cannot**
- clarify all the cases when swapcahin cannot be created
* Update release number to 72.
Github Issues:
* Restructure the repository to put the specification `Makefile` and
associated spec source material at the top level, `vk.xml` and
associated scripts material in `xml/`, and generated include and source
files in `include/vulkan/` and `src/ext_loader/`, respectively (public
issue 436).
* Add missing bullet point markup to flink:vkCmdCopyImage valid usage
statement, so it gets a VUID assigned (public issue 627).
* Fix broken links in a couple of extension appendices (public pull
request 665).
* Add the \<platform> tag to the index in section 4.1 of the registry
schema documentation, and add the protect= attribute of \<extension>
tags to the comments in `registry.rnc` (public issues 673, 678).
* Add missing valid usage statements for sparse image interactions to
flink:VkImageCreateInfo (public pull request 675).
* Fix improper usage and grammar of "`can: not`" (public pull request
681).
* Remove duplicate spec language and NOTE on present layout between the
flink:vkAcquireNextImageKHR and flink:vkAcquireNextImage2KHR commands
(public pull request 685).
* Fix some typos and markup issues (public pull request 689; public issues
642, 667, 687).
* Fix typo etext:VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FENCE_FD_BIT ->
ename:VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT in the
<<external-semaphore-handle-types-compatibility, External semaphore
handle types compatibility>> table (public pull request 691).
Internal Issues:
* Remove the need for the "`noautovalidity`" attribute on extension
structures in `vk.xml`. It is now implied by the "`structextends`"
attribute instead (internal issue 942).
* Replace uses of "`currently bound`" with "`bound`", since "`currently`"
is redundant and distracting, and add a corresponding rule to the style
guide (internal issue 993).
* Fixed subtle issues with the last updates to flink:vkAcquireNextImageKHR
language that had resulted in ambiguities (internal issue 1178).
* Make it clear that only one query of a given type is allowed at a time
by reordering valid usage statements for flink:vkCmdBeginQuery and
flink:vkCmdEndQuery, and removing redundant ones (internal issue 1213).
* Swapped OL1 and OL3 in `tessparamUL.svg` to match previous version, and
fixed where "`(no edge)`" appears (internal issue 1215).
Other Issues:
* Fixed a minor problem with the valid usage statement extraction script,
and corresponding markup in the spec source.
New Extensions:
* `VK_AMD_shader_core_properties`
* `VK_EXT_descriptor_indexing`
* `VK_NV_shader_subgroup_partitioned`
associated material at the top level, vk.xml and associated material in
xml/, and generated include and source files in include/vulkan/ and
src/ext_loader/, respectively (public issue 436).
* First public update for Vulkan 1.1.
Github Issues:
* Refer to standard sparse image block shape format tables explicitly in
the <<sparsememory-standard-shapes, Standard Sparse Image Block Shapes>>
section (public issue 93).
* Add the missing definition of the code:LocalInvocationIndex decoration
in the <<interfaces-builtin-variables, Built-In Variables>> section
(public issue 532).
* Clarify dynamic state definition in the introduction to the <<pipelines,
Pipelines>> section and the new <<pipelines-dynamic-state, Dynamic
State>> subsection (public issue 620).
* Clarified deprecation statement in the `VK_AMD_negative_viewport_height`
appendix (public issue 674).
* Fix parameter descriptions for flink:vkCreateIndirectCommandsLayoutNVX
(public issue 677).
Internal Issues:
* Remove description of <<primsrast-points, rasterization point size>>
being taken from the tessellation control shader, since there are no
circumstances under which you can have TCS without TES (internal issue
522).
* Define <<copies-images-format-size-compatibility, _size-compatible_
image formats>> for flink:vkCmdCopyImage, add it to the glossary, and
use that definition for slink:VkImageViewCreateInfo (internal issue
771).
* Change brief descriptions of enumerant names, and of parameters which
are enumerants, from "`enum *indicates*`" to "`enum *specifies*`" for
consistency, and add a markup style guide rule (internal issue 862).
* Clarify how execution dependencies interact with
<<synchronization-submission-order, submission order>> at numerous
places in the <<renderpass, Render Pass>> and <<synchronization,
Synchronization>> chapters (internal issue 1062).
* Clarify statement in the <<interfaces-resources-setandbinding,
DescriptorSet and Binding Assignment>> section that only interface
variables statically used by the entry point used in a pipeline must be
present in the descriptor set layout (internal issue 1172).
* Flip sparse image diagrams with partially full mip levels vertically, to
match graph origins of other image diagrams (internal issue 1176).
* Update new SVG diagrams to have consistent style and base font size,
increase consistency of primitive topology diagrams, and add a section
to the style guide on creating and editing images in a consistent style
(internal issue 1177).
* Resolve problems with valid usage statement extraction by fixing
existing VUID tags for interfaces promoted to version 1.1 and fixing
conditional directives around
VUID-VkMemoryDedicatedAllocateInfo-image-01797 (internal issue 1184).
* Strip `KHR` suffixes from a few interfaces promoted to Vulkan 1.1 that
were missed previously (internal issue 1185).
* Restrict code:OpImageQuerySizeLod and code:OpImageQueryLevels to only
work on code:Image operands with their code:Sampled operand set to 1. In
other words, these operations are not defined to work with storage
images (internal issue 1193).
* Recycle extension slot for extension #82 in `vk.xml`. This extension was
never published (internal issue 1195).
* Add an issue to the `VK_KHR_maintenance1` appendix noting that zero
height viewports are allowed when this extension is enabled (internal
issue 1202).
* Fix slink:VkDescriptorSetLayoutBinding description so that shader stages
always use descriptor bindings, not the other way around (internal issue
1206).
* Fix field name for
slink:VkInputAttachmentAspectReference::pname:inputAttachmentIndex
(internal issue 1210).
Other Issues:
* Fix a few broken links in the <<versions-1.1, Version 1.1>> appendix.
* Replace a few old refBegin/refEnd tags with open block markup around
interfaces, and remove old KHX VUID tags that were breaking the valid
usage statement extraction.
* Fix error codes accidentally tagged as success codes in `vk.xml` for
flink:vkGetSwapchainCounterEXT.
* Added valid usage statements for ftext:vkBind*Memory2 input structures
stext:VkBind*MemoryInfo, and fix a pname:image -> pname:buffer typo in a
couple of places.
* Fix swapped descriptions of elink:VkDescriptorType enums
ename:VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE and
ename:VK_DESCRIPTOR_TYPE_STORAGE_IMAGE (reported via tweet).
New Extensions:
* `VK_ANDROID_external_memory_android_hardware_buffer`
* Vulkan 1.1 initial release. Bump API patch number and header version
number to 70 for this update. The patch number will be used for both
Vulkan 1.1 and Vulkan 1.0 updates, and continues to increment
continuously from the previous Vulkan 1.0.69 update.
NOTE: We are not publishing an updated 1.0.70 specification, or 1.1
reference pages, along with 1.1.70. There are still minor issues to work
out with those build targets. However, we will soon generate all three
types of documents as part of the regular spec update cycle.
NOTE: The GitHub KhronosGroup/Vulkan-Docs repository now maintains the
current specification in the `master` branch. The `1.0` branch is out of
date and will not be maintained, since we will be generating both 1.1
and 1.0 specifications from the `master` branch in the future.
Github Issues:
* Clarify how mapped memory ranges are flushed in
flink:vkFlushMappedMemoryRanges (public issue 127).
* Specify that <<synchronization-pipeline-stages, Pipeline Stages>> are a
list of tasks that each command performs, rather than necessarily being
discrete pieces of hardware that one task flows through. Add a
"`synchronization command`" pipeline type which all synchronization
command execute (it's just TOP + BOTTOM), with an explanatory note
(public issue 554).
Internal Issues:
* Regenerate all images used in the spec in Inkscape with a consistent
look-and-feel, and adjust image size attributes so they're all legible,
and not too large with respect to the spec body text (internal issue
701).
* Document in the <<extensions,extensions>> appendix and in the style
guide that `KHX` extensions are no longer supported or used in the
Vulkan 1.1 timeframe (internal issue 714).
* Remove the leftover equations_temp directory after PDF build completes
(internal issue 925).
* Update the <<credits, Credits (Informative)>> appendix to include
contributors to Vulkan 1.1, and to list them according to the API
version(s) they contributed to (internal issue 987).
* Add a NOTE to the introduction explaining that interfaces defined by
extensions which were promoted to Vulkan 1.1 are now expressed as
aliases of the Vulkan 1.1 type (internal issue 991).
* Instrument spec source conditionals so spec can be built with 1.1
features, extensions promoted to 1.1, or both (internal issues 992,
998).
* Modify the XML schema and tools to support explicit aliasing of types,
structures, and commands, and use this to express the promotion of 1.0
extensions to 1.1 core features, by making the extension interfaces
aliases of the core features they were promoted to. Mark up promoted
interfaces to allow still generating 1.0 + extension specifications
(internal issue 991).
* Platform names, along with corresponding preprocessor symbols to enable
extensions specific to those platforms, are now reserved in vk.xml using
the <platform> tag. Update the registry schema and schema specification
to match (internal issue 1011).
* Updated the <<textures-texel-replacement, Texel Replacement>> section to
clarify that reads from invalid texels for image resources result in
undefined values (internal issue 1014).
* Modify description of patch version so it continues to increment across
minor version changes (internal issue 1033).
* Clarify and unify language describing physical device-level core and
extension functionality in the <<fundamentals-validusage-extensions,
Valid Usage for Extensions>>, <<fundamentals-validusage-versions, Valid
Usage for Newer Core Versions>>, <<initialization-functionpointers
Command Function Pointers>>, <<initialization-phys-dev-extensions,
Extending Physical Device From Device Extensions>>
<<extended-functionality-instance-extensions-and-devices, Instance
Extensions and Device Extensions>> sections and for
flink:vkGetPhysicalDeviceImageFormatProperties2. This documents that
instance-level functionality is tied to the loader, and independent of
the ICD; physical device-level functionality is tied to the ICD, and
associated with device extensions; physical devices are treated more
uniformly between core and extensions; and instance and physical
versions can be different (internal issue 1048).
* Updated the <<commandbuffers-lifecycle, Command Buffer Lifecycle>>
section to clarify the ability for pending command buffers to transition
to the invalid state after submission, and add a command buffer
lifecycle diagram (internal issue 1050).
* Clarify that some flink:VkDescriptorUpdateTemplateCreateInfo parameters
are ignored when push descriptors are not supported (internal issue
1054).
* Specify that flink:vkCreateImage will return an error if the image is
too large, in a NOTE in the slink:VkImageFormatProperties description
(internal issue 1078).
* Remove near-duplicate NOTEs about when to query function pointers
dynamically in the <<initialization, Initialization>> chapter and
replace by extending the NOTE in the <<fundamentals-abi, Application
Binary Interface>> section (internal issue 1085).
* Restore missing references to "`Sparse Resource Features`" in the
flink:VkBufferCreateFlagBits description (internal issue 1086).
* Tidy up definitions of descriptor types in the `GL_KHR_vulkan_glsl`
specification, the <<descriptorsets, Resource Descriptors>> section and
its subsections, and the <<interfaces-resources-descset, Descriptor Set
Interface>> for consistency, reduction of duplicate information, and
removal of GLSL correspondance/examples (internal issue 1090).
* Correctly describe code:PrimitiveId as an Input for tessellation control
and evaluation shaders, not an Output (internal issue 1109).
* Relax the requirements on chroma offsets for nearest filtering in
<<textures-implict-reconstruction, Implicit Reconstruction>> (internal
issue 1116).
Other Issues:
* Clarify the intended relationship between specification language and
certain terms defined in the Khronos Intellectual Property Rights
policy. Specific changes include:
** Rewrote IP/Copyright preamble and introduction to better agree with
normative language both as laid out in the introduction, and the
Khronos IPR policy.
** Added notion of fully informative sections, which are now tagged with
"`(Informative)`" in their titles.
** Removed non-normative uses of the phrase "`not required`"
** Clarified the distinction between terms "`optional`" and "`not
required:`" as they relate to the IPR Policy, and updated specification
text to use terms consistent with the intent.
** Reduced additions to RFC 2119, and ensured the specification agreed
with the leaner language.
** Removed the terms "`hardware`", "`software`", "`CPU`", and "`GPU`" from
normative text.
** Moved several paragraphs that should not have been normative to
informative notes.
** Clarified a number of definitions in the Glossary.
** Updated the document writing guide to match new terminology changes.
* Explicitly state in the <<fundamentals-objectmodel-lifetime-acquire,
application memory lifetime>> language that that for objects other than
descriptor sets, a slink:VkDescriptorSetLayout object used in the
creation of another object (such as slink:VkPipelineLayout or
slink:VkDescriptorUpdateTemplateKHR) is only in use during the creation
of that object and can be safely destroyed afterwards.
* Updated the <<textures-scale-factor, Scale Factor Operation>> section to
use the ratio of anisotropy, rather than the integer sample rate, to
perform the LOD calculation. The spec still allows use of the sample
rate as the value used to calculate the LOD, but no longer requires it.
* Update `vulkan_ext.c` to include all platform-related definitions from
the Vulkan platform headers, following the split of the headers into
platform-specific and non-platform-specific files.
* Fix bogus anchor name in the <<commandbuffers, Command Buffers>> chapter
which accidentally duplicated an anchor in the pipelines chapter. There
were no reference to this anchor, fortunately.
* Add valid usage statement for slink:VkWriteDescriptorSet and
slink:VkCopyDescriptorSet requiring that the slink:VkDescriptorSetLayout
used to allocate the source and destination sets must not have been
destroyed at the time flink:vkUpdateDescriptorSets is called.
* Document mapping of subgroup barrier functions to SPIR-V, and clarify a
place where subgroupBarrier sounds like it's execution-only in the
standalone `GL_KHR_shader_subgroup` specification.
* Use an HTML stylesheet derived from the Asciidoctor `colony` theme, with
the default Arial font family replaced by the sans-serif Noto font
family.
* Numerous minor updates to README.adoc, build scripts, Makefiles, and
registry and style guide specifications to support Vulkan 1.1 outputs,
use them as defaults, and remove mention of `KHX` extensions, which are
no longer supported.
New Extensions:
* `VK_EXT_vertex_attrib_divisor`
* Bump API patch number and header version number to 69 for this update.
Github Issues:
* Clean up description of synchronization for flink:vkAcquireNextImageKHR
(public issue 626).
* Move valid usage statements requiring offset and extent to respect image
transfer granularity requirements of the queue family they are submitted
against from slink:VkImageCopy and slink:VkBufferImageCopy to the
corresponding flink:vkCmdCopyImage, flink:vkCmdCopyBufferToImage, and
flink:vkCmdCopyImageToBuffer commands, where are relevant information is
known (public issue 654).
* Clarify that flink:vkGetDeviceProcAddr only supports device-level
commands (public issue 655).
Internal Issues:
* Associate each elink:VkDescriptorType with a type of descriptor, and
link to descriptions of those types (internal issue 860).
* Rework valid usage extraction script to better utilize and respond to
spec markup, and fix some spec markup accordingly (internal issues 846,
909, 945).
* Rephrase flink:vkCmdPushConstants valid usage to allow overlapping push
constant ranges in different shader stages (internal issue 1103).
* Fix problem with diff_html target in extension.rb (internal issue 1104).
* Modify valid usage statements for slink:VkClearDepthStencilValue,
slink:VkGraphicsPipelineCreateInfo, slink:VkViewport, and
flink:vkCmdSetDepthBounds, and the description of vkCmdSetDepthBias, to
clarify that clamping is applied if and only if the
`VK_EXT_depth_range_unrestricted` is not enabled (internal issue 1124),
in versions of the specification built with that extension included.
* Resolve contradictions and use of undefined "`per-sample shading`" term
in the <<primsrast-sampleshading, Sample Shading>> and
<<shaders-fragment-execution, Fragment Shader Execution>> sections; for
the <<features-features-sampleRateShading, sampleRateShading feature>>;
for code:FragCoord, code:SampleId, and code:SamplePosition; and for
slink:sname:VkPipelineMultisampleStateCreateInfo (internal issue 1134).
* Clarify the meaning of the ptext:maxDescriptorSet* limits in footnote 8
of the <<features-limits-required,Required Limits>> table (internal
issue 1139).
* Fix broken NOTE markup in slink:VkSamplerCreateInfo.txt (internal issue
1140).
* Remove extend comparison language from valid usage statement for
slink:VkImageCreateInfo, turning it into a simple validation of
pname:mipLevels against pname:maxMipLevels (internal issue 1151).
* Update valid usage statements for slink:VkImageCopy when the
`VK_KHR_maintenance1` extension is enabled to allow multi-slice 2D <->
3D copies when the pnaem:extent.depth parameter specifies the number of
layers being copied, and matches the
slink:VkImageSubresourceLayers.layerCount of the 2D image (internal
issue 1152).
* Rephrase memory / control barrier rules in the
<<spirvenv-module-validation, Validation Rules within a Module>> section
to avoid "`not use none`", which could be misconstrued to allow no
synchronization semantics, and only storage class semantics (internal
issue 1154).
Other Issues:
* Move GLSL extension specifications to the KhronosGroup/GLSL repository
on Github.
* Add missing description of ename:VK_FILTER_CUBIC_IMG enum to
slink:VkFilter.
* Update description of code:PrimitiveId in the
<<interfaces-builtin-variables,Built-In Variables>> section to clarify
its behavior.
* Disallow disjoint images from being used with dedicated-memory images in
slink:VkMemoryDedicatedAllocateInfoKHR.
* Update README to suggest older versions of "mathematical" and
"ruby-gems" packages for use on Cygwin.
* Fix typos
New Extensions:
* `VK_AMD_buffer_marker`
* Bump API patch number and header version number to 68 for this update.
Github Issues:
* Added more details in the
<<extended-functionality-extensions-compatibility, Extension
Compatibility>> section, allowing explicit incompatibilities, and
simplify corresponding language in the style guide, which now defers to
the API Specification on this point (public issue 638).
* Fix typo in description of slink:VkCommandBufferLevel::pname:level
(public issue 651).
* Only include extension-dependent valid usage statement for
slink:VkImageSubresourceRange, and note that the extension names for
header files described in the <<boilerplate-wsi-header, Window
System-Specific Header Control>> section are only valid links, when the
specification being viewed is built with the corresponding extensions
enabled (public issue 652).
Internal Issues:
* Add language to elink:VkResult specifying that when commands return an
error, output parameter contents are undefined instead of unmodified
(except for pname:sType and pname:pNext). Note that this is a behavior
change. Add notes calling out slink:VkImageFormatProperties as an
exception (internal issue 1118).
* Add "`general-purpose`" to the style guide, and correct existing uses of
"`general purpose`" as an adjective (internal issue 1121).
* Add the ename:VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT token
for the `VK_EXT_validation_cache` extension, following the same naming
pattern as other tokens in the extension, but keep the old
ename:VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT token around for
backwards compatibility (internal issue 1126).
Other Issues:
* Specify that flink:vkCmdSetDiscardRectangleEXT does not affect copies or
clears, matching existing language for the scissor rectangle test.
* Move the <<boilerplate-sType, pname:sType>> definition from the
boilerplate appendix to the Fundamentals chapter, putting it together
with the valid usage of pname:sType rather than having the definition
split across two places.
* Inline all of the etext:Vk*Flags definitions, moving each one from the
boilerplate appendix to appear either after the corresponding
etext:Vk*FlagBits value if one is defined, or after the first structure
that includes them if not.
* Bump API patch number and header version number to 67 for this update.
* Update copyright dates to 2018
Github Issues:
* Fix texture lookup functions in `GL_KHR_vulkan_glsl` specification
(public pull request 363).
* Clarify the state waited semaphores are left in when a call to
flink:vkQueuePresentKHR fails (public issue 572).
* Cleanup descriptions of slink:VkObjectTablePushConstantEntryNVX and
slink:VkObjectTableDescriptorSetEntryNVX (public issue 583)
* Remove redundant flink:vkCmdSetDiscardRectangleEXT valid usage
statements (public pull 586).
* Make dynamic state array length valid usage statements implicit for
flink:vkCmdSetViewportWScalingNV, flink:vkCmdSetDiscardRectangleEXT, and
flink:vkCmdSetViewport (public pull 589).
* Clarify meaning of window extent (0,0) in slink:VkSwapchainKHR for the
Windows and X11 platforms, in their respective extensions (public issue
590).
* Allow flink:vkGetPastPresentationTimingGOOGLE to return
ename:VK_INCOMPLETE (public issue 604).
* Add synchronization valid usage statements to flink:vkAcquireNextImage
(public pull 611).
* Fix some broken external links and internal xrefs (public pull 613).
* Clean up slink:VkViewport valid usage statements in the presence or
absence of relevant extensions (public pull 623).
* Remove
ename:VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR
token from VK_KHR_maintenance2 from the non-extension VU path for
slink:VkGraphicsPipelineCreateInfo (public issue 628).
* Miscellaneous minor markup fixes - extension name strings (public pull
631), Notes (pull 633), queue names emitted by generator scripts (pull
634), block formatting in slink:VkDescriptorUpdateTemplateEntryKHR (pull
635), ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG (pull
641), quotes and apostrophes (pull 643),
* Miscellaneous minor grammar fixes (public pull 644).
* Fix markup macros so usage like ptext:*Src* works (public pull 647).
Internal Issues:
* Clarify in the `VK_KHR_surface` and `VK_KHR_swapchain` extensions that
parameter combinations which aren't supported for normal images are also
unsupported for presentable images, even if the parameter values are
individually supported as reported by the surface capability queries
(internal issue 1029).
* Fixed XML typo in the valid value field of the pname:sType member of
slink:VkPhysicalDeviceExternalMemoryHostPropertiesEXT (internal issue
1100).
Other Issues:
* Add memory semantics validity rules to the <<spirvenv-module-validation,
Validation Rules within a Module>> section of the SPIR-V environment
appendix, and specify that sequentiality consistency is not supported.
This forbids certain cases like "`Load+Release`" that we don't expect to
ever be meaningful.
* Document mapping of OpenGL Shading Language barriers to SPIR-V scope and
semantics in the `GL_KHR_vulkan_glsl` specification.
New Extensions:
* `VK_EXT_conservative_rasterization`