9692 lines
444 KiB
Plaintext
9692 lines
444 KiB
Plaintext
Copyright 2016-2021 The Khronos Group Inc.
|
|
SPDX-License-Identifier: CC-BY-4.0
|
|
|
|
Update Log for the Vulkan-Docs repository on Github. Updates are in reverse
|
|
chronological order starting with the latest public release.
|
|
|
|
This summarizes the periodic public updates, not individual commits. Updates
|
|
on Github are done as single large patches at the release point, collecting
|
|
together the resolution of many Khronos internal issues, along with any
|
|
public pull requests that have been accepted.
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for November 9, 2021 Vulkan 1.2.198 spec update:
|
|
|
|
* Update release number to 198 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Sort dependencies of "`Provided by`" comments in generated API includes,
|
|
and remove duplicates (public issue 1483, internal issue 2620).
|
|
* Remove max-width attribute from document headers, causing CSS to limit
|
|
page width in wide windows (public pull request 1660).
|
|
|
|
Internal Issues:
|
|
|
|
* Filter out `VK_VERSION_1_x` pages when generating refpage sources for a
|
|
build that does not include the corresponding core version (internal
|
|
issue 1971).
|
|
* Adjust section header level for extension appendix refpages to match
|
|
other refpages (internal issue 2151).
|
|
* Add and fix protected memory valid usage statements to require queues be
|
|
protected if any batch if a protected batch, and restrict indirect
|
|
operations when pname:protectedNoFault is supported (internal issues
|
|
2169, 2841)
|
|
* Generate refpages to SPIR-V builtins, which were marked up in the spec
|
|
source but not being extracted and built (internal issue 2395).
|
|
* Clarify VUID 04918 regarding use of code:Location decorations (internal
|
|
issue 2737).
|
|
* Remove redundant nested VK_VERSION_1_1 conditional markup from the
|
|
<<initialization>> chapter (internal issue 2851).
|
|
* Add code:IdrPicFlag to code:StdVideoDecodeH264PictureInfoFlags for
|
|
provisional video extensions (internal issue 2901).
|
|
* Fix incorrect example code in apiext:VK_HUAWEI_subpass_shading appendix
|
|
sample code (internal merge request 4889).
|
|
* Promote ename:VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT and
|
|
ename:VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT in a few
|
|
places where the etext:KHR suffixes had not been removed (internal merge
|
|
request 4902).
|
|
* Add missing format properties consistency checks for
|
|
slink:VkDrmFormatModifierPropertiesList2EXT and
|
|
slink:VkAndroidHardwareBufferFormatProperties2ANDROID.
|
|
* Minor editorial markup fixes.
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for November 2, 2021 Vulkan 1.2.197 spec update:
|
|
|
|
* Update release number to 197 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Align some of the provisional video standard headers enums and bitfields
|
|
to have predictable sizes (public issue 1571).
|
|
* Remove exporting of D3D memory handles from
|
|
slink:VkExportMemoryWin32HandleInfoKHR (public pull request 1612).
|
|
* Add language to slink:VkAccelerationStructureBuildGeometryInfoKHR
|
|
explicitly stating that source and target acceleration structures are
|
|
allowed to be the same or different during an update (public issue
|
|
1641).
|
|
* Fix typos (public pull request 1662).
|
|
* Register remaining newly introduced `vk_video` types in `vk.xml` (public
|
|
pull request 1663).
|
|
|
|
Internal Issues:
|
|
|
|
* Clarify <<resources-external-sharing, ownership transfers on external
|
|
resources>> (internal issue 2692).
|
|
* Changes to (nearly) eliminate dead internal links and improve scripts:
|
|
** Correctly generate API dependencies on extensions and core versions in
|
|
cases where "`spelling aliases`" were present
|
|
** Clean up a few incorrectly marked up links, anchors, and refpage block
|
|
alias= attributes
|
|
** Use an API alias map to substitute promoted API names for promoted-to
|
|
APIs when an older or restricted spec is being generated and the
|
|
promoted-to API is not included
|
|
* Tag sname:VkVideo{Encode,Decode}H26{4,5}ProfileEXT structures as
|
|
extending slink:VkQueryPoolCreateInfo in `vk.xml` (internal issue 2861).
|
|
* Grammar edits to slink:VkAccelerationStructureKHR (internal issue 2887).
|
|
* Change the cited title of the <<LoaderInterfaceArchitecture>> document
|
|
to "`Architecture of the Vulkan Loader Interfaces`" matching a recent
|
|
change in https://github.com/KhronosGroup/Vulkan-Loader/pull/685
|
|
(internal merge request 4823).
|
|
* Re-remove etext:VkVideoEncodeH265CapabilityFlagBitsEXT, which was
|
|
accidentally reintroduced but is still unused (internal merge request
|
|
4885).
|
|
* Update wording for
|
|
ename:VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR since it no
|
|
longer contains `"update`" (internal merge request 4886).
|
|
* Consistency edits to remove "`instance of`" when referring to a specific
|
|
structure, and use "`render pass`" instead of "`renderpass`" as a noun
|
|
(internal merge request 4896).
|
|
* Add -version option to 'makeSpec' frontend build script.
|
|
|
|
New Extensions
|
|
|
|
* `<<VK_KHR_dynamic_rendering>>`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for October 13, 2021 Vulkan 1.2.196 spec update:
|
|
|
|
* Update release number to 196 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Clarify normative language for
|
|
ename:VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT in
|
|
elink:VkImageUsageFlagBits, allowing two styles of implementation
|
|
(public issue 1616).
|
|
* Fix typo in flink:vkCmdSetScissor (public pull request 1659).
|
|
* Reorder attributes of elink:VkFormatFeatureFlags2KHR in `vk.xml` for
|
|
consistency (public pull request 1653).
|
|
|
|
Internal Issues:
|
|
|
|
* More cleanup of internal broken links in various builds of the specs.
|
|
Fix typos on xrefs and anchors, add stub pages for missing Flags and
|
|
FlagBits types, update `spirvcapgenerator.py` to put anchors with the
|
|
same table row they belong to, validate `apiext:` macro targets at build
|
|
time, and don't generate API requirements for `<type>` tags with no
|
|
`category`, eliminating spurious warnings for external types (internal
|
|
issues 2864, 2866).
|
|
* Update `htmldiff` scripts for Python3.
|
|
* Add subsection titles and anchors in the <<fxvertex, Fixed-Function
|
|
Vertex Processing>> chapter to make thematic breaks more clear (internal
|
|
merge request 4867).
|
|
|
|
New Extensions
|
|
|
|
* `<<VK_EXT_border_color_swizzle>>`
|
|
* `<<VK_EXT_video_encode_h265>>` *provisional* H.265 video encode codec extension
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for October 5, 2021 Vulkan 1.2.195 spec update:
|
|
|
|
* Update release number to 195 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Add a NOTE to flink:vkDestroyQueryPool clarifying when a query pool can
|
|
be destroyed (public issue 1647).
|
|
|
|
Internal Issues:
|
|
|
|
* Begin cleanup of internal broken links in various builds of the specs,
|
|
including generating a Ruby API map to be used by the asciidoctor macros
|
|
to validate their API name arguments; using "nofollow" on github issue
|
|
opening links to avoid link-checkers being interpreted as DOS attacks;
|
|
improved checker scripts; minor markup fixes; and using the `apiext:`
|
|
macro to replace `<<VK_KHR_extension_name>>`-style extension links
|
|
everywhere (internal issue 2831).
|
|
* Minor editorial cleanups to descriptions of
|
|
`apiext:VK_FUCHSIA_buffer_collection` APIs (internal issue 2836).
|
|
* Match `Cull Mask` SPIR-V name to pname:mask parameter name in the
|
|
<<acceleration-structure, Acceleration Structures>> chapter (internal
|
|
merge request 4844).
|
|
* Add pname:minTexelOffset and pname:maxTexelOffset limit valid usage
|
|
statements for code:OpImageSample* and code:OpImageFetch* in the
|
|
<<spirvenv-module-validation-runtime, Runtime SPIR-V Validation>>
|
|
section (internal merge request 4845).
|
|
* Add pname:maxFragmentDualSrcAttachments and
|
|
pname:maxFragmentCombinedOutputResources limit valid usage statements
|
|
for output and color attachments in the
|
|
<<spirvenv-module-validation-runtime, Runtime SPIR-V Validation>>
|
|
section (internal merge request 4847).
|
|
|
|
New Extensions
|
|
|
|
* `<<VK_KHR_format_feature_flags2>>`
|
|
* `<<VK_KHR_maintenance4>>`
|
|
* `<<VK_EXT_rgba10x6_formats>>`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for September 28, 2021 Vulkan 1.2.194 spec update:
|
|
|
|
* Update release number to 194 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Add missing `len` attribute to
|
|
slink:VkCuModuleCreateInfoNVX::pname:pData (public merge request 1646).
|
|
* Refer to dynamic state consistently from ftext:vkCmdSet* commands, and
|
|
link to the definition of dynamic state (public issue 1428, but with
|
|
expanded scope beyond the actual ask in that issue).
|
|
|
|
Internal Issues:
|
|
|
|
* Fix incorrect member name in slink:VkRenderPassCreateInfo valid usage
|
|
statement 02515 (internal issue 2824).
|
|
* Fix XML dependency for `<<VK_NV_device_generated_commands>>` (internal
|
|
issue 2818).
|
|
* Add packed formats from `<<VK_KHR_sampler_ycbcr_conversion>>`` to the
|
|
<<formats-packed, table of packed formats>> and improve description of
|
|
packed format naming conventions (internal merge request 4798).
|
|
|
|
New Extensions
|
|
|
|
* `<<VK_FUCHSIA_buffer_collection>>`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for September 21, 2021 Vulkan 1.2.193 spec update:
|
|
|
|
* Update release number to 193 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Use consistent `implicitexternsync` language in XML for
|
|
flink:vkDestroyDevice (public issue 1482).
|
|
* Clarify requirements of flink:vkGetInstanceProcAddr to match that of the
|
|
Android loader when attempting to retrieve a global function with a
|
|
non-NULL instance parameter (public issue 1605).
|
|
* Add new elink:VK_DRIVER_ID reservations for upcoming Mesa drivers
|
|
(public pull request 1642).
|
|
|
|
Internal Issues:
|
|
|
|
* Fix flink:vkCmdEndDebugUtilsLabelEXT to clarify command buffer recording
|
|
interactions with debug labels (internal issue 2777).
|
|
* Improve NOTE for acceleration structure capture / replay in
|
|
slink:VkAccelerationStructureCreateInfoKHR (internal issue 2769).
|
|
* Add "`See Also`" crosslinks to extension refpages providing aliased APIs
|
|
in API refpages (internal issue 2819).
|
|
* Fix markup for core version (`VK_VERSION_1_0`, etc.) refpages -
|
|
asciidoctor doesn't allow section headers here and this affected the
|
|
specification appendix rendering (internal issue 2826).
|
|
* Use open range notation for slink:VkSamplerCreateInfo
|
|
ptext:addressMode[UVW] descriptions (internal issue 2829).
|
|
* Replace term "`channel`" with "`component`" when discussing formats, and
|
|
update glossary to help clarify formats such as
|
|
ename:VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 and
|
|
ename:VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 (internal merge
|
|
request 4799).
|
|
* Fix some primitive_topology_list_restart VUIDs to only apply if
|
|
pname:primitiveRestartEnable is ename:VK_TRUE (internal merge request
|
|
4818).
|
|
* Fix slink:VkPhysicalDeviceShaderCorePropertiesAMD `limittype` attributes
|
|
in XML (internal merge request 4819).
|
|
* Fix accidentally duplicated VUIDs 06256 due to missing {accessMaskName}
|
|
in VUID markup (internal merge request 4829).
|
|
* Miscellaneous minor formatting and style fixes (internal merge requests
|
|
4832, 4838).
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for September 14, 2021 Vulkan 1.2.192 spec update:
|
|
|
|
* Update release number to 192 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Correctly describe slink:VkDeviceQueueInfo2::pname:pNext (public issue
|
|
1622).
|
|
* Improve behavior of contact links from extension metadata generator
|
|
(public merge request 1635).
|
|
* Require slink:VkDeviceAddress in 1.0 spec conditional markup, matching
|
|
XML (public issue 1636).
|
|
|
|
Internal Issues:
|
|
|
|
* Turn <<spirvenv-module-validation-runtime, Runtime SPIR-V Validation>>
|
|
section into formal Valid Usage statements with assigned valid usage IDs
|
|
(internal issue 1598).
|
|
* Use `pass:[~~~~]` delimiters for `[source]` blocks inside reference page
|
|
`[open]` blocks to bypass logic problem with VUID assignment script
|
|
(internal issue 2040).
|
|
* Update style guide to incorporate Khronos Inclusive Language document by
|
|
reference. Followon changes will apply the suggestions as needed
|
|
(internal issue 2293).
|
|
* Add clarifications about ray tracing transform matrices to
|
|
slink:VkAccelerationStructureGeometryTrianglesDataKHR,
|
|
slink:VkAccelerationStructureBuildOffsetInfoKHR, and the
|
|
<<ray-intersection-candidate-determination, Ray Intersection Candidate
|
|
Determination>> section (internal issue 2709).
|
|
* Clarify descriptor requirements for code:Buffer and code:Subpassdata in
|
|
the <<interfaces-resources-correspondence, Shader Resource and
|
|
Descriptor Type Correspondence>> table (internal issue 2751).
|
|
* Add aliases for versioned extensions which don't treat the trailing
|
|
version number as a separate word, such as
|
|
ename:VK_KHR_MAINTENANCE1_SPEC_VERSION ->
|
|
ename:VK_KHR_MAINTENANCE_1_SPEC_VERSION, and add a CI test in
|
|
`scripts/xml_consistency.py` to try and detect future occurrences
|
|
(internal issue 2810).
|
|
* Add missing pname:sType and pname:pNext boilerplate descriptions to spec
|
|
language for several elink:*Features structures that were missing it
|
|
(though they did have them in the XML definition of the structures)
|
|
(internal issue 2815).
|
|
* Add extension and version crosslinks to generated reference pages,
|
|
expressing the same information in the `Provided by` comments in
|
|
generated API includes (internal issue 2816).
|
|
* Move the old "`Fragment Shader Execution`" section from the <<shaders>>
|
|
chapter to the <<fragops-shader, Fragment Shading>> section of the
|
|
<<fragops>> chapter, change anchor names accordingly, and factor out
|
|
common related language from several parts of the spec into this section
|
|
(internal merge request 4765).
|
|
* Allow access to the code:PrimitiveId builtin from shaders declared with
|
|
the code:MeshShadingNV capability (internal merge request 4767).
|
|
* Make the <<features-primitiveTopologyListRestart,
|
|
pname:primitiveTopologyListRestart>> feature mandatory for
|
|
`<<VK_EXT_primitive_topology_list_restart>>` (internal merge request
|
|
4790).
|
|
* Edit <<limits-types, Required Limit Types>> table to add Vulkan 1.2
|
|
interactions for pname:filterMinmaxSingleComponentFormats and
|
|
pname:filterMinmaxImageComponentMapping limits (internal merge request
|
|
4802).
|
|
* Add ename:VK_FORMAT_R10X6_UNORM_PACK16 and
|
|
ename:VK_FORMAT_R12X4_UNORM_PACK16 to the list of 16-bit packed formats,
|
|
and fix formatting of "`wildcard`" enums containing a placeholder _i_
|
|
tag corresponding to supported integers (internal merge request 4803).
|
|
* Refactor CI scripts to use the Makefile `allchecks` target as part of CI
|
|
instead of multiple separate steps, allowing a quick local check
|
|
equivalent to that part of CI, and update that target accordingly
|
|
(internal merge request 4807).
|
|
* Make slink:VkImageCreateInfo valid usage statement 01572 apply to all
|
|
compressed formats (internal merge request 4812).
|
|
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for September 7, 2021 Vulkan 1.2.191 spec update:
|
|
|
|
* Update release number to 191 for this update.
|
|
|
|
Internal Issues:
|
|
|
|
* Update checker scripts to detect extension number conflicts in `vk.xml`,
|
|
and run the check in CI (internal issue 2612).
|
|
* Minor cleanup for the provisional video extensions, including
|
|
documenting a few undocumented enums and structure members and some
|
|
language cleanup (internal issue 2705).
|
|
* Add a NOTE to flink:vkAllocateMemory.txt about protected memory
|
|
allocation count limits (internal issue 2791).
|
|
* Use "`cube map`" rather than "`cubemap`" spelling, and add this case to
|
|
the style guide (internal merge request 4794).
|
|
|
|
New Extensions:
|
|
|
|
* `<<VK_EXT_pageable_device_local_memory>>`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for August 29, 2021 Vulkan 1.2.190 spec update:
|
|
|
|
* Update release number to 190 for this update.
|
|
* Released a few days in advance of the usual Tuesday spec updates due to
|
|
holiday meeting schedule.
|
|
|
|
Github Issues:
|
|
|
|
* Make treatment of empty etext:Vk*FlagBits types consistent in `vk.xml`
|
|
(public issue 1601 and merge request 1609)
|
|
|
|
Internal Issues:
|
|
|
|
* Add more descriptive language for transforms in the
|
|
<<ray-intersection-candidate-determination, Ray Intersection Candidate
|
|
Determination>> section (internal issue 2709).
|
|
* Update `-validate` logic in registry scripts to validate the `limittype`
|
|
attribute presence and values where required (internal issue 2606).
|
|
* Update common validity statements for access masks to allow shader
|
|
pipeline bits to be use with ename:VK_ACCELERATION_STRUCTURE_READ_BIT
|
|
(internal issue 2782).
|
|
* Fix typo in the description of code:CullDistancePerViewNV (internal
|
|
merge request 4769).
|
|
* Various fixes and simplifications for
|
|
<<spirvenv-module-validation-runtime, Runtime SPIR-V Validation>> valid
|
|
usage statements:
|
|
** Flatten markup for VK_KHR_shader_subgroup_extended_types valid usage
|
|
statements (internal issue 1598)
|
|
** Flatten markup for VK_EXT_shader_atomic_float valid usage statements
|
|
(internal issue 1598).
|
|
** Remove asciidoctor conditional check for
|
|
`VK_KHR_storage_buffer_storage_class`, not needed because the SPIR-V
|
|
specification is unified and `spirv-val` will throw an error if trying
|
|
to use code:StorageBuffer without the proper extension / version being
|
|
set (internal merge request 4779).
|
|
|
|
New Extensions:
|
|
|
|
* `<<VK_KHR_shader_integer_dot_product>>`
|
|
* `<<VK_EXT_primitive_topology_list_restart>>`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for August 17, 2021 Vulkan 1.2.189 spec update:
|
|
|
|
* Update release number to 189 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Add parent check valid usage statements to flink:vkUpdateDescriptors
|
|
(public issue 1581).
|
|
* Document the feature requirement for separate depth/stencil layouts in
|
|
the <<resources-image-layouts, Image Layouts>> section (public issue
|
|
1583).
|
|
* Revert a valid usage statement constraining
|
|
slink:VkMemoryAllocateInfo::pname:allocationSize (public issue 1595).
|
|
* Remove misleading reference to `z` from the description of image
|
|
coordinates for slink:VkSamplerCreateInfo::pname:unnormalizedCoordinates
|
|
(public issue 1602).
|
|
* Fix typo in <<fxvertex-input-extraction>> section (public pull request
|
|
1604).
|
|
* Fix comment in example for `<<VK_EXT_debug_utils>>` appendix to
|
|
correctly reference pname:objectHandle, not ptext:object (public pull
|
|
request 1606).
|
|
* Revert `vk_platform.h` path change in `vk.xml` from public pull request
|
|
1538, which was causing build issues for some projects. We will revisit
|
|
this in the future but did not want to put a problematic change into the
|
|
next SDK update (public pull request 1610).
|
|
|
|
Internal Issues:
|
|
|
|
* Use `hexapdf` for PDF optimization, rather than Ghostscript. This
|
|
improves overall PDF generation time about 15-20%, and final PDF size by
|
|
about 1/3 (internal issue 2422).
|
|
* Improve contrast for better accessibility of HTML outputs, based on
|
|
feedback from the ANDI tool. This includes updating the specification
|
|
CSS in `config/khronos.css`, switching to the rouge source code
|
|
highlighter instead of coderay, and overriding some of the rouge theme
|
|
CSS (internal issue 2784).
|
|
* Clarify that transforms are consumed only if transformData is non-null
|
|
for slink:VkAccelerationStructureBuildRangeInfoKHR.txt (internal issue
|
|
2787).
|
|
* Make spec language describing bitmasks consistent as 'Bits which can: be
|
|
set' (internal merge request 4762).
|
|
* Support `optional` attribute in the valid usage statement generator for
|
|
union types (internal merge request 4772).
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for August 10, 2021 Vulkan 1.2.188 spec update:
|
|
|
|
* Update release number to 188 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Add missing `optional="true"` attributes to pname:pNext members. Enable
|
|
`scripts/xml_consistency.py` in CI, and add check for this case (public
|
|
pull request 1597).
|
|
* Add missing markup (setting `refpage` attributes where they were needed
|
|
for commonvalidity statements) to fix some broken valid usage ID link
|
|
names (public issue 1598).
|
|
* Update valid usage statement 02650 to use "`potential format features`"
|
|
consistently with other recent changes (discussion on public
|
|
Vulkan-ValidationLayers pull request 3139).
|
|
|
|
Internal Issues:
|
|
|
|
* Clarify the role of <<ray-traversal-culling-face, face winding>> in the
|
|
context of ray intersection candidate determination and alias
|
|
ename:VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR to
|
|
ename:VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR, corresponding
|
|
to the clarifications (internal issue 2780).
|
|
* Add valid usage statement for flink:vkCmdBeginTransformFeedbackEXT
|
|
requiring a valid graphics pipeline be bound (internal issue 2785).
|
|
* Use the term <<acceleration-structure-def, "`constructed`">> to refer to
|
|
an acceleration structure that was previously built or created by
|
|
copying or deserialization of a built acceleration structure (internal
|
|
merge request 4727).
|
|
* Add explicit valid usage statements to flink:vkWaitForPresentKHR and
|
|
slink:VkPresentInfoKHR requiring the corresponding features be enabled
|
|
(internal merge request 4754).
|
|
* Remove extraneous trailing periods from some valid usage statements
|
|
(internal merge request 4759).
|
|
|
|
New Extensions:
|
|
|
|
* `<<VK_EXT_load_store_op_none>>`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for August 3, 2021 Vulkan 1.2.187 spec update:
|
|
|
|
* Update release number to 187 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Add glossary terms for "`pipeline ray tracing instructions`" and "`ray
|
|
tracing commands`" (public issue 1578).
|
|
* Limit the code:OpTypeImage code:Unknown format restriction to storage
|
|
images in the <<spirvenv-module-validation-runtime, Runtime SPIR-V
|
|
Validation>> section (public issue 1588).
|
|
* Fix slink:VkRect2D::pname:extent in a few places where it was
|
|
misreferenced as pname:offset (public pull request 1590).
|
|
|
|
Internal Issues:
|
|
|
|
* Clarify that depth values outside the range [0,1] become undefined
|
|
following the depthClamp stage of the pipeline, by rearranging the
|
|
<<fragops-depth, Depth Test>> section and adding a new "`Depth Clamping
|
|
and Range Adjustment`" subsection (internal issues 2445, 2753).
|
|
* Clarify valid usage statement 01843 for slink:VkDeviceQueueInfo2 to
|
|
match similar statement for flink:vkGetDeviceQueue, and split off part
|
|
of it into a new VU statement (internal issue 2645).
|
|
* Fix a few enumerant and member names in the provisional video extensions
|
|
to comply with the spec style guidelinse (internal issue 2710).
|
|
* Update the descriptions of flink:vkCmdDrawMultiEXT and
|
|
flink:vkCmdDrawMultiIndexedEXT to clarify how they are equivalent to
|
|
calling underlying drawing commands multiple times with different
|
|
parameters (internal issue 2757).
|
|
* Renumber VUIDs which duplicated the numeric portion of another
|
|
non-common VUID, and add a duplicate number detection test to CI to
|
|
prevent recurrences (internal issue 2764).
|
|
* Make code:SubgroupSize command scope uniform in compute dispatches
|
|
(internal issue 2773).
|
|
* Expand the list of valid image layouts for
|
|
<<attachment-type-imagelayout, input attachments>>,
|
|
<<descriptorsets-sampleimage, sampled images>>, and
|
|
<<descriptorsets-combinedimagesampler, combined image samplers>> to
|
|
include DEPTH_READ_ONLY_OPTIMAL and STENCIL_READ_ONLY_OPTIMAL (internal
|
|
issue 2774).
|
|
* Remove `flowRoot` SVG elements from a few recent image updates, as they
|
|
are not supported by the current PDF toolchain (internal issue 2778).
|
|
* Update to asciidoctor-chunker 1.0.4, adding support for `aria-label`
|
|
accessibility tags on the chunked specification forward/back section
|
|
navigation arrows (internal issue 2784).
|
|
* Clean up description of flink:vkCmdClearAttachments and remove redundant
|
|
information (internal merge request 4717).
|
|
* Add a description of each of the
|
|
flink:vkCmdWriteAccelerationStructuresPropertiesKHR::pname:queryPool
|
|
query types (internal merge request 4728).
|
|
* Add new valid usage statement to slink:VkMemoryAllocateInfo when
|
|
allocating a memory object larger than the reported limit (internal
|
|
merge request 4737).
|
|
* Add missing description of pname:layerCount member of
|
|
slink:VkFramebufferAttachmentImageInfo (internal merge request 4744).
|
|
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for July 27, 2021 Vulkan 1.2.186 spec update:
|
|
|
|
* Update release number to 186 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Reduce size and increase clarity of some SVG images for the provisional
|
|
video extensions (public issue 1537).
|
|
* Use a consistent description of pname:stride as "`byte stride`" rather
|
|
than "`distance in bytes`" in a few places (public issue 1575)
|
|
* Clarify the equivalence of flink:vkQueueWaitIdle to
|
|
fence submission (public issue 1579).
|
|
* Fix XML capabilities for new code:*Float*Atomic* SPIR-V capabilities to
|
|
require slink:VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT rather than
|
|
slink:VkPhysicalDeviceShaderAtomicFloatFeaturesEXT (public pull request
|
|
1587, although fixed internally first).
|
|
|
|
Internal Issues:
|
|
|
|
* Refactor asciidoctor conditionals imbedded within valid usage statements
|
|
so they are extracted properly to `validusage.json`, and add a CI check
|
|
to prevent this happening in the future (internal issues 1529, 2439).
|
|
* Clarify that dynamic vertex buffer object stride of 0 is allowed in
|
|
valid usage statement for flink:vkCmdBindVertexBuffers2EXT
|
|
(internal issue 2742)
|
|
* Add valid usage statement to
|
|
ftext:vkGetPhysicalDeviceSurfaceCapabilities{KHR,2EXT,2KHR},
|
|
ftext:vkGetPhysicalDeviceSurfacePresentModes{KHR,2EXT}, and
|
|
ftext:vkGetDeviceGroupSurfacePresentModes{KHR,2EXT} requiring surface /
|
|
device compatibility (internal issue 2744).
|
|
* Clarify the requirements on code:OpTypeImage for input attachments in
|
|
the <<spirvenv-module-validation, Validation Rules within a Module>> and
|
|
<<interfaces-inputattachment, Fragment Input Attachment Interface>>
|
|
sections (internal issue 2752)
|
|
* Clarify that stipple parameters are ignored when line stipple is
|
|
disabled in slink:VkPipelineRasterizationLineStateCreateInfoEXT
|
|
(internal issue 2763)
|
|
* Improve wording for the shader interface code:Location limit in the
|
|
<<spirvenv-module-validation-runtime, Runtime SPIR-V Validation>>
|
|
section (internal merge request 4693)
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for July 20, 2021 Vulkan 1.2.185 spec update:
|
|
|
|
* Update release number to 185 for this update.
|
|
* Going forward we will probably be moving the default day for spec
|
|
updates to Tuesday (Pacific time) rather than Monday.
|
|
|
|
Github Issues:
|
|
|
|
* Clarify that only *device* extensions are required to be specified in
|
|
valid usage statement for flink:vkCreateDevice (public issue 1567).
|
|
* Fix extension dependencies for `<<VK_EXT_calibrated_timestamps>>` to
|
|
include `<<VK_KHR_get_physical_device_properties2>>` (public issue
|
|
1568).
|
|
* Conditionalize xref to VkPhysicalDeviceSubgroupProperties in
|
|
`<<VK_KHR_spirv_1_4>>` appendix so it does not show up in a 1.0 spec
|
|
build (public issue 1574).
|
|
* Relax portability usage of the identity swizzle in
|
|
slink:VkImageViewCreateInfo valid usage statement 04465 (public
|
|
KhronosGroup/Vulkan-Portability issue 27).
|
|
|
|
Internal Issues:
|
|
|
|
* Document in the <<extendingvulkan-extensions-extensiondependencies,
|
|
Extension Dependencies>> section that instance extensions do not have
|
|
dependencies on device extensions, and add a similar requirement to the
|
|
description of the `requires` attribute of extension tags in the
|
|
registry schema document (internal issue 2387).
|
|
* Fix `optional` attribute in XML for
|
|
flink:vkCmdBindVertexBuffers2EXT::pname:pBuffers (internal issue 2574).
|
|
* Remove redundant valid usage statements from flink:vkCmdPipelineBarrier,
|
|
flink:vkCmdSetEvent, and flink:vkCmdResetEvent. Add missing VUs for
|
|
slink:VkSubpassDependency and slink:VkSubpassDependency2 (internal issue
|
|
2583).
|
|
* Clarify that
|
|
ename:VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR
|
|
must be supported in pname:bufferFeatures (internal issue 2686).
|
|
* Clarify that a valid function pointer pname:fp returned from
|
|
flink:vkGetInstanceProcAddr must not be `NULL` (internal issue 2720).
|
|
* Relax code:Flat, code:NoPerspective, code:Sample, and code:Centroid
|
|
storage class restriction in the
|
|
<<spirvenv-module-validation-standalone, Standalone SPIR-V Validation>>
|
|
section (internal issue 2721).
|
|
* Clarify forward progress behavior of flink:vkAcquireNextImageKHR and
|
|
flink:vkQueuePresentKHR (internal issue 2729).
|
|
* Remove duplicated language describing queue submission in the
|
|
<<fundamentals-execmodel, Execution Model>> and
|
|
<<fundamentals-queueoperation, Queue Operation>> sections (internal
|
|
issue 2736).
|
|
* Describe the new pipeline stage
|
|
ename:VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI in several sections
|
|
of the <<synchronization>> chapter where it was missing (internal issue
|
|
2745).
|
|
* Improve formatting in the <<limits>> chapter, add support for the
|
|
missing optionally: normative word macro, and replace most use of
|
|
(non-normative) "`optionally`" with normative "`can:`". Update style
|
|
guide to add more contractions and remove contractions from the spec.
|
|
add a better description of the pname:shaderDrawParameters feature
|
|
(internal merge requests 4699, 4708).
|
|
* Fix name of parameter
|
|
flink:vkGetMemoryRemoteAddressNV::pname:pMemoryGetRemoteAddressInfo to
|
|
follow Vulkan conventions (internal merge request 4704).
|
|
* Minor fixes for the <<resources-image-views-compatibility, image view
|
|
compatibility table>> and related minor spec language fixes elsewhere
|
|
(internal merge request 4709).
|
|
|
|
New Extensions:
|
|
|
|
* `<<VK_EXT_shader_atomic_float2>>`
|
|
* `<<VK_HUAWEI_invocation_mask>>`
|
|
* `<<VK_KHR_present_id>>`
|
|
* `<<VK_KHR_present_wait>>`
|
|
|
|
Miscellany:
|
|
|
|
* Happy Lunar Landing Day!
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for July 5, 2021 Vulkan 1.2.184 spec update:
|
|
|
|
* Update release number to 184 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Make description of
|
|
slink:VkSparseImageMemoryRequirements::pname:formatProperties.imageGranularity
|
|
consistent by replacing the nested structure descriptions with a simple
|
|
description of pname:formatProperties (public issue 1444).
|
|
* Update `<<VK_HUAWEI_subpass_shading>>` extension to rename
|
|
flink:vkGetSubpassShadingMaxWorkgroupSizeHUAWEI to
|
|
flink:vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI and give it a
|
|
dispatchable slink:VkDevice parameter (public issue 1564).
|
|
* Fix labelling of "`Resource`" reference block in pipeline block
|
|
diagrams (public issue 1582).
|
|
|
|
Internal Issues:
|
|
|
|
* Replace the old <<resources-image-views-compatibility>> table with a
|
|
simplified image type / image view type compatibility table, and move
|
|
the parameter compatibility portions of the table into explicit valid
|
|
usage statements (internal issue 2586).
|
|
* Define the slink:VkPipelinCacheHeaderVersionOne structure in `vk.xml`
|
|
instead of the previous "`Layout for pipeline cache header version one`"
|
|
table (internal merge request 4011).
|
|
* Make the `requires` attribute of the `spirvcapability` XML tag required
|
|
when specifying a structure, even if what's required is
|
|
`"VK_VERSION_1_0"`, to address a problem in the generated table from
|
|
these tags (internal merge request 4689).
|
|
|
|
New Extensions:
|
|
|
|
* `<<VK_NV_extermal_memory_rdma>>`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for June 28, 2021 Vulkan 1.2.183 spec update:
|
|
|
|
* Update release number to 183 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Rewrite and simplify the <<interfaces-iointerfaces-matching, Interface
|
|
Matching>> section. Clarify that results are undefined if the size of a
|
|
vector mismatches (public issue 666; internal issues 1269, 2059, 2323).
|
|
* Remove inappropriate `const` from `void *pNext` members of
|
|
`returnedonly` structures in `vk.xml` (public issue 1482, internal issue
|
|
2644).
|
|
* Add a NOTE to the <<interfaces, Shader Interfaces>> chapter that SPIR-V
|
|
execution model keywords with extension suffixes will always be present
|
|
in spec builds, even in a build not supporting any extensions, since
|
|
these keywords appear in the unified SPIR-V specification without such
|
|
qualifiers (public issue 1483, internal issue 2621).
|
|
* Modify `vk.xml` to include the Vulkan platform header via the path
|
|
`vulkan/vk_platform.h` rather than just `vk_platform.h`
|
|
(public pull request 1538).
|
|
* Add length annotations for slink:VkCuLaunchInfoNVX (public issue 1548).
|
|
* Describe slink:VkSubpassDescription::pname:pDepthStencilAttachment
|
|
correctly as a pointer to a structure, not a pointer to an array of
|
|
structures (public issue 1561).
|
|
* Fix `structextends` attribute of
|
|
slink:VkPhysicalDeviceRayTracingMotionBlurFeaturesNV, declare its
|
|
pname:pNext member correctly, and fix some typos in the related
|
|
extension language (public issue 1565, internal issue 2724).
|
|
|
|
Internal Issues:
|
|
|
|
* Add explicit valid usage statements for
|
|
flink:vkCmdClearColorImage::slink:VkClearColorValue and
|
|
slink:VkRenderPassBeginInfo::slink:VkClearValue (internal issue 2490).
|
|
* Change the term "`vertex processing {shader} stage`" to
|
|
"`pre-rasterization shader stage`" throughout the specification, link to
|
|
a single definition, and add "`pre-rasterization`" to the glossary
|
|
(internal issue 2634).
|
|
* Add an `<implicitexternsync>` constraint for
|
|
flink:vkResetCommandBuffers::pname:pool (internal issue 2646).
|
|
* Fix typo `vkCmdResetEvent` -> `vkResetEvent` in flink:vkResetEvent valid
|
|
usage statements (internal issue 2651).
|
|
* Fix wording of scope dependencies for slink:VkMemoryBarrier2KHR,
|
|
slink:VkBufferMemoryBarrier2KHR, and slink:VkImageMemoryBarrier2KHR
|
|
members pname:srcAccessMask and pname:dstAccessMask (internal issue
|
|
2654).
|
|
* Require support for pname:shaderInt64 in the <<features-requirements,
|
|
Feature Requirements>> section when pname:atomicInt64 features are
|
|
supported (internal issue 2660).
|
|
* Clarify ray tracing valid usage statements for cases where a parameter
|
|
refers to an acceleration structure that must have been built (internal
|
|
issue 2715).
|
|
* Add a NOTE clarifying shader record buffer uniformity in the
|
|
<<shader-binding-table, Shader Binding Table>> section (internal issue
|
|
2719).
|
|
* Minor clarifications and typo fixes to `<<VK_HUAWEI_subpass_shading>>`
|
|
(internal issue 2722).
|
|
* Add missing <spirvextension> entry in `vk.xml` to enable
|
|
`SPV_KHR_subgroup_uniform_control_flow`
|
|
(internal issue 2733).
|
|
* Move SPIR-V valid usage statement from the
|
|
<<spirvenv-module-validation-runtime, Runtime SPIR-V Validation>>
|
|
section to <<spirvenv-module-validation-standalone]] Standalone SPIR-V
|
|
Validation>> (internal merge request 4637).
|
|
* Add a new <<spirvenv-image-signedness, Signedness of SPIR-V Image
|
|
Accesses>> section to allow the use of unsigned Sampled Types with
|
|
code:SignExtend and signed code:Format decorations (internal merge
|
|
request 4638).
|
|
* Add missing slink:VkDeviceCreateInfo to `structextends` attribute of
|
|
slink:VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT (internal merge
|
|
request 4652).
|
|
* Remove nonexistent pname:minFragmentSize from the <<limits-minmax, Limit
|
|
Requirements>> table (internal merge request 4655).
|
|
* Fix markup typo for `<<VK_NV_fragment_shader_barycentric>>` ifdef
|
|
(internal merge request 4663).
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for June 21, 2021 Vulkan 1.2.182 spec update:
|
|
|
|
* Update release number to 182 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Add XML attributes & schema updates to link untyped Vulkan object handle
|
|
values to corresponding object types (public issue 1536).
|
|
|
|
Internal Issues:
|
|
|
|
* Automatically generate links to extension proposal documents from
|
|
extension appendices (internal issue 2713).
|
|
* Clean up wording of flink:vkCmdWriteTimestamp and
|
|
flink:vkCmdWriteTimestamp2KHR (internal issue 2425).
|
|
* Fix hpp-compile CI stage after recent changes to Vulkan-Headers
|
|
repository which generate additional header files.
|
|
|
|
New Extensions:
|
|
|
|
* `<<VK_EXT_acquire_drm_display>>` (public pull request 1529).
|
|
* `<<VK_EXT_multi_draw>>`
|
|
* `<<VK_EXT_physical_device_drm>>` (public pull request 1356).
|
|
* `<<VK_HUAWEI_subpass_shading>>`
|
|
* `<<VK_NV_ray_tracing_motion_blur>>`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for June 14, 2021 Vulkan 1.2.181 spec update:
|
|
|
|
* Update release number to 181 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Add stub slink:VkPipelineLayoutCreateFlagBits <enum> type in `vk.xml` to
|
|
reduce spurious warnings from XML processing scripts that don't respect
|
|
the `supported="disabled"` attribute, and update the registry schema
|
|
documentation to make more clear that `extension` tags with this
|
|
attribute should not be processed (public issue 1549).
|
|
|
|
Internal Issues:
|
|
|
|
* Clarify implicit conversions between the vertex input attribute
|
|
description format and the shader vertex attribute input type in the
|
|
<<fxvertex-attrib-location, Attribute Location and Component
|
|
Assignment>> and <<fxvertex-input-extraction>> sections (internal issue
|
|
902).
|
|
* Add text about the <<interfaces-alignment-requirements, base alignment
|
|
of empty structures>> (internal issue 2174).
|
|
* Clarify the use of rasterization order <<primsrast-order,
|
|
"`operations`">> (internal merge request 4582).
|
|
* Allow any pipeline barrier command for queue transfers in the
|
|
<<synchronization-queue-transfers, Queue Family Ownership Transfer>>
|
|
section (internal merge request 4596).
|
|
* Remove potentially confusing reference to
|
|
ename:VK_ERROR_INVALID_SHADER_NV in the description of
|
|
flink:vkCreateShaderModule (internal merge request 4602).
|
|
* Improve visibility of instance creation callbacks by migrating some
|
|
language from the `<<VK_EXT_debug_report>>` and `<<VK_EXT_debug_utils>>`
|
|
appendix examples to the description of slink:VkInstanceCreateInfo
|
|
(internal merge request 4614).
|
|
* Fix markup for sparse image atomic requirements in the
|
|
<<features-requirements, Feature Requirements>> section and for
|
|
slink:VkDeviceCreateInfo valid usage statements (internal merge request
|
|
4618).
|
|
* Correct the definition of
|
|
ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT
|
|
to constrain pname:chromaFilter, not pname:minFilter / pname:magFilter
|
|
(internal merge request 4623).
|
|
* Add level 3 headings in <<pipelines-cache, Pipeline Cache>> section
|
|
(internal merge request 4627).
|
|
* Clarify flink:vkCmdCopyAccelerationStructureKHR to add details on the
|
|
copy command itself, as well as the etext:CLONE and etext:COMPACT copy
|
|
modes (internal merge request 4631).
|
|
* Remove `<mask>` tags from some SVG images in the provisional video
|
|
extensions. These tags are not supported by components of the PDF
|
|
toolchain. Removing them removes many warnings from the PDF build and is
|
|
a workaround for editing the SVGs to use alternate constructs for the
|
|
intended purpose, although it also make these images in the HTML output
|
|
show the same artifacts as the PDF output.
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for June 7, 2021 Vulkan 1.2.180 spec update:
|
|
|
|
* Update release number to 180 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Add more details about zero shader group handles and draw linkage to
|
|
etext:VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL* flags (public issue 1487).
|
|
* Clarify that semaphore operations don't do work in a specific pipeline
|
|
stage in slink:VkSemaphoreSubmitInfoKHR::pname:stageMask (public issue
|
|
1501).
|
|
* Fix markup in shared valid usage statements 03766 / 03767 (public issue
|
|
1528).
|
|
|
|
Internal Issues:
|
|
|
|
* Grammatical improvements for various ray tracing sections. Add statement
|
|
that AABB intersections may be false-positives (internal issue 2597).
|
|
* Disambiguate ASTC HDR block error handling in
|
|
<<appendix-compressedtex-astc, ASTC Compressed Image Formats>> and the
|
|
following "`ASTC decode mode`" section (internal issue 2603).
|
|
* Fix some holes in `<<VK_EXT_vertex_input_dynamic_state>>`, including
|
|
adding some missing common draw validity statements; an interaction
|
|
with VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT; an interaction
|
|
with code:nullDescriptor to flink:vkCmdBindVertexBuffers2EXT; and
|
|
language to
|
|
slink:VkGraphicsPipelineCreateInfo::pname:pVertexInputState (internal
|
|
issue 2637, 2684).
|
|
* Make elink:VkAccessFlagBits and elink:VkAccessFlagBits2KHR descriptions
|
|
consistent and reorganize them in matching order (internal issue 2650).
|
|
* Add slink:VkSpecializationInfo::pname:pMapEntries valid usage
|
|
statement requiring the pname:constantID values be unique (internal
|
|
issue 2668).
|
|
* Clarify <<[[queries-wait-bit-not-set, the cases in which
|
|
flink:vkGetQueryPoolResults returns VK_NOT_READY>> (internal issue
|
|
2676).
|
|
* Add spec language and refpages for API constants. With this change all
|
|
APIs should be defined in the spec (internal issue 2698).
|
|
* Move some restrictions in the <<interfaces, Shader Interfaces>> chapter
|
|
into the <<spirvenv-module-validation-standalone, Standalone SPIR-V
|
|
Validation>> section (internal merge request 4537).
|
|
* Add missing member descriptions to slink:VkSurfaceCapabilities2EXT
|
|
(internal merge request 4544).
|
|
* Update glossary definition of "`Aspect`" to accomodate copy commands
|
|
which can operate on multiple aspects (internal merge request 4586).
|
|
* Add ename:VK_VALIDATION_FEATURE_DISABLE_SHADER_VALIDATION_CACHING_EXT
|
|
enum to provide a standard way to disable caching of shader validation
|
|
results (internal merge request 4589).
|
|
* Remove the `pipeline` attribute from `vk.xml`, and the corresponding
|
|
"`Pipeline Types`" column from the generated command properties tables.
|
|
The `queues` attribute should be used instead (internal merge request
|
|
4594).
|
|
* Fix typos and improve consistency in the provisional video extension
|
|
language (internal merge request 4598).
|
|
* Use "`implementation-dependent`" spelling consistently, and update the
|
|
style guide to match (internal merge request 4611).
|
|
* Update <<ray-intersection-candidate-determination, ray tracing
|
|
intersection equation>> for triangles to match other API. This cannot be
|
|
distinguished in practice (internal vk-gl-cts issue 2846).
|
|
|
|
New Extensions:
|
|
|
|
* `<<VK_KHR_shader_subgroup_uniform_control_flow>>`
|
|
* `<<VK_EXT_global_priority_query>>`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for May 24, 2021 Vulkan 1.2.179 spec update:
|
|
|
|
* Update release number to 179 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Require that the queried
|
|
slink:VkPhysicalDeviceExternalMemoryHostPropertiesEXT::pname:minImportedHostPointerAlignment
|
|
is a power of two (public issue 1442).
|
|
* Fix direction of enum aliasing for fragment shading rate extensions,
|
|
so NV tokens don't show up in a KHR-only specification build
|
|
(public issue 1482).
|
|
* Split the new <<fundamentals-validusage, Valid Usage>> section off from
|
|
its previous location within the <<fundamentals-errors, Errors>> section
|
|
(public pull request 1503).
|
|
* Correct some typos in stage parameter names (public pull request 1507).
|
|
* Fix minor markup issues (public pull request 1508).
|
|
* Add missiong `optional` attribute to
|
|
flink:vkGetPhysicalDeviceVideoFormatPropertiesKHR::pname:pVideoFormatPropertyCount
|
|
in `vk.xml` (public pull request 1514).
|
|
* Add additional header dependecies for external code:Std* types in the
|
|
provisional video extensions (public pull request 1515).
|
|
* Tagged slink:VkCuModuleCreateInfoNVX::pname:pName as
|
|
`len="null-terminated"` in `vk.xml` (public issue 1526).
|
|
* Fix `:anchor-prefix:` markup showing up in spec outputs due to
|
|
overzealous whitespace removal (public issue 1530).
|
|
* Protect use of `__cplusplus` macro in a preprocessor test in the headers
|
|
(public Vulkan-Headers issue 4).
|
|
|
|
Internal Issues:
|
|
|
|
* Rephrase the language describing lifetime of EDID query results for
|
|
slink:VkDisplayPropertiesKHR to be more precise (internal issue 695).
|
|
* Clarify descriptor pool size aggregation behavior for
|
|
slink:VkDescriptorPoolCreateInfo.txt (internal issue 2577).
|
|
* Make valid usage statements for slink:VkImportMemoryFdInfoKHR and
|
|
slink:VkMemoryGetFdInfoKHR properly enforce the relationship between
|
|
pname:fd and pname:handleType (internal issue 2607).
|
|
* Add missing common, non-indirect shared valid usage statements for
|
|
flink:vkCmdDispatchBase (internal issue 2625).
|
|
* Call out precision of pname:subPixelPrecisionBits clearly in the
|
|
<<vertexpostproc-viewport, Controlling the Viewport>> section (internal
|
|
issue 2635)
|
|
* Do not allow code:RayPayloadKHR on any-hit shaders in the
|
|
<<spirvenv-module-validation-standalone, Standalone SPIR-V Validation>>
|
|
section (internal issue 2640).
|
|
* Simplify specification language for sname:VkMemoryDedicatedRequirements
|
|
(internal issue 2661).
|
|
* Remove `optional="true"` attributes from XML for
|
|
slink:VkSurfaceCapabilities* members pname:supportedTransforms,
|
|
pname:supportedCompositeAlpha, and pname:supportedUsageFlags, matching
|
|
descriptions in the specification (internal issue 2666).
|
|
* Add a concurrent deferred host operation example to the
|
|
`<<VK_KHR_deferred_host_operations>>` appendix (internal issue 2677).
|
|
* Add a NOTE to slink:VkAccelerationStructureCompatibilityKHR encouraging
|
|
host-cachable memory for host acceleration structure builds (internal
|
|
issue 2682).
|
|
* Remove redundant language in basetype:VkSampleMask duplicating valid
|
|
usage statements for slink:VkGraphicsPipelineCreateInfo (internal issue
|
|
2624).
|
|
* Allow `<<VK_EXT_shader_image_atomic_int64>>` to enable the
|
|
code:shaderImageInt64Atomics SPIR-V feature in `vk.xml` (internal SPIR-V
|
|
issue 644).
|
|
* Add valid usage statement to fname:vkCmdWriteTimestamp* for the
|
|
pname:query index in pname:queryPool (internal merge request 4528).
|
|
* Add valid usage statements to flink:vkQueueSubmit2KHR for pname:fence
|
|
(internal merge request 4530).
|
|
* Add *GlCompute* to the disallowed *Output* storage classes in shared valid
|
|
usage statement 04644 for ray tracing functionality (internal merge
|
|
request 4532).
|
|
* Remove redundant code:Patch decoration shared valid usage statement 04671
|
|
(internal merge request 4530).
|
|
* Make the code:sparseImage*Atomics features a superset of the corresponding
|
|
code:shaderImage*Atomics features, in the slink:VkDeviceCreateInfo valid
|
|
usage statements and the <<features-requirements, Feature Requirements>>
|
|
section (internal merge request 4561).
|
|
* Add `specialuse="glemulation,d3demulation"` attribute to XML for
|
|
`<<VK_EXT_custom_border_color>>` (internal merge request 4564).
|
|
* Make array count and pointer-to-array parameter / member descriptions
|
|
more consistent (internal merge request 4566).
|
|
* Add third-level section headings to the <<memory-device, Device Memory>>
|
|
section for clarity (internal merge request 4567).
|
|
* Use the terminology "`drawing/dispatching command`" consistently, add it
|
|
to the style guide, and remove occasional use of "`record`" or "`perform`"
|
|
in refpage summaries of ftext:vkCmd* (internal merge request 4569).
|
|
* Use asciidoctor attributes to genericize more instances of header file
|
|
names, to enable future variant APIs (internal merge request 4581).
|
|
* Fix SVG for some images that render incorrectly in Chrome on MacOS
|
|
(internal merge request 4583).
|
|
* Move some valid usage statements for
|
|
`<<VK_QCOM_render_pass_shader_resolve>>` into
|
|
slink:VkGraphicsPipelineCreateInfo, slink:VkRenderPassCreateInfo2, and
|
|
the <<spirvenv-module-validation-standalone, Standalone SPIR-V
|
|
Validation>> section (internal merge request 4584).
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for May 10, 2021 Vulkan 1.2.178 spec update:
|
|
|
|
* Update release number to 178 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Add `optional` attribute to pname:pFragmentShadingRateAttachment member
|
|
of slink:VkFragmentShadingRateAttachmentInfoKHR, to match specification
|
|
text (public issue 1482).
|
|
* Lots of minor markup and phrasing fixes (public issue 1482).
|
|
* Additional fixes specific to ray tracing extensions, including a few
|
|
duplicate valid usage statements, incorrect descriptions of structure
|
|
members, and incorrect SPIR-V opcodes (public issue 1483).
|
|
* Fix formatting around "`Special Use`" sections in generated refpages
|
|
(public issue 1518).
|
|
|
|
Internal Issues:
|
|
|
|
* Language cleanup including removing contractions, and some wording in
|
|
more egregious violation of the style guide.
|
|
* Make parameter handling text in the
|
|
<<deferred-host-operations-requesting, Requesting Deferral>> section
|
|
consistent with the <<fundamentals>> chapter (internal issue 2018).
|
|
* Relax slink:VkCopyDescriptorSet valid usage statements to remove some
|
|
constraints on copying descriptors from sets residing in host memory
|
|
other kinds of sets (internal issue 2610).
|
|
* Clarify the definition of "`intersection`" in the
|
|
<<ray-intersection-candidate-determination, Ray Intersection Candidate
|
|
Determination>> section (internal issue 2623).
|
|
* Allow pname:stride to equal buffer size in
|
|
slink:VkStridedDeviceAddressRegionKHR (internal issue 2631).
|
|
* Fix the ray tracing shader interface table in the
|
|
<<interfaces-raypipeline, Ray Tracing Pipeline Interface>> section
|
|
(internal issue 2640).
|
|
* Try to use consistently-phrased descriptions of etext:*FlagBits* members
|
|
and parameters everywhere (internal issue 2656).
|
|
* Replace "`optional pointer`" terminology with "`NULL or a pointer`" (and
|
|
similar uses), and update the style guide accordingly (internal issue
|
|
2662).
|
|
* Modify wording of some pipeline creation valid usage statements to tidy
|
|
up cases where certain state isn't required (internal merge request
|
|
4496).
|
|
* Clarify consistent <<descriptorsets-updates-consecutive, consecutive
|
|
binding updates>> (internal merge request 4500).
|
|
* Clarify that code:scalarBlockLayout is supported on the
|
|
code:ShaderRecordBufferKHR storage class in the
|
|
<<interfaces-resources-standard-layout, Standard Buffer Layout>> section
|
|
(internal merge request 4525).
|
|
* Hide boilerplate Features and Properties text where it incorrectly
|
|
appeared outside the descriptions of feature and property structures,
|
|
respectively (internal merge request 4541).
|
|
* Add missing section headers to the
|
|
`<<VK_KHR_zero_initialize_workgroup_memory>> appendix (internal merge
|
|
request 4553).
|
|
* Add missing `R64ui` and `R64i` entries to the SPIR-V
|
|
<<spirvenv-format-type-matching tables, image format matching tables>>
|
|
for `<<VK_EXT_shader_image_atomic_int64>>` (internal
|
|
Tracker/vk-gl-cts#2885).
|
|
|
|
New Extensions:
|
|
|
|
* `<<VK_NVX_binary_import>>` (only appendix and XML - no spec language
|
|
yet).
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for April 26, 2021 Vulkan 1.2.177 spec update:
|
|
|
|
* Update release number to 177 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Add valid usage statement to flink:vkDestroyImage to prevent destruction
|
|
of presentable images acquired from flink:vkGetSwapchainImagesKHR
|
|
(public Vulkan-ValidationLayers issue 2718).
|
|
|
|
Internal Issues:
|
|
|
|
* Add proposal template for new feature development (internal issue 2529).
|
|
* Remove valid usage statement 03361 from flink:vkCmdBindVertexBuffers2EXT
|
|
(internal issue 2600).
|
|
* Finish fixing refpage formatting issues for the new video extensions
|
|
(internal issue 2611).
|
|
* Invert direction of ray space matrix to correct the
|
|
<<ray-intersection-candidate-determination, ray/triangle sidedness
|
|
test>> (internal merge request 4480).
|
|
* Fix capitalization of etext:*_EXTENSION_NAME and etext:*_SPEC_VERSION
|
|
tokens for `<<VK_QCOM_render_pass_store_ops>>` (internal merge request
|
|
4490).
|
|
* Don't generate etext:*_MAX_ENUM tokens for 64-bit flag types. Note that
|
|
these tokens are *explicitly* not part of the Vulkan API and are not
|
|
included in the Specification, only in generated headers. They are added
|
|
to enumerated types to ensure padding to 32 bits, but are completely
|
|
pointless for the 64-bit flag types, which are defined as integer
|
|
constants rather than enumerants (internal merge request 4493).
|
|
* Remove empty VK_ENABLE_BETA_EXTENSION guards from headers when disabling
|
|
extensions (internal merge request 4498).
|
|
* Reproduce valid usage statement constraining pname:query from
|
|
flink:vkCmdBeginQuery to
|
|
flink:vkCmdWriteAccelerationStructuresPropertiesKHR (internal merge
|
|
request 4520).
|
|
|
|
New Extensions:
|
|
|
|
* `<<VK_EXT_provoking_vertex>>`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for April 19, 2021 Vulkan 1.2.176 spec update:
|
|
|
|
* Update release number to 176 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Fix many typos (based on public issues 1483 & 1484).
|
|
* Fix an error in the definition of dname:VK_NULL_HANDLE which caused a
|
|
compilation error with one version of MSVC (public issue 1502).
|
|
* Remove duplicate requirement for elink:VkStructureType from
|
|
dname:VK_VERSION_1_0 block of `vk.xml` (public merge request 1504).
|
|
|
|
Internal Issues:
|
|
|
|
* Modify extension metadoc generator to include Contact information in
|
|
extension reference pages (internal issue 2611).
|
|
* Fix XML consistency checker script to add exceptions to naming patterns
|
|
for new extensions (internal merge request 4491).
|
|
* Clean up latest revision numbers in some video extension appendices to
|
|
be integers, for compatibility with the consistency checker script
|
|
(internal merge request 4492).
|
|
* Mark slink:VkIndirectCommandsLayoutCreateInfoNV pname:flags member as
|
|
`optional` in `vk.xml` (internal merge request 4501).
|
|
|
|
New Extensions:
|
|
|
|
* `<<VK_EXT_extended_dynamic_state2>>`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for April 13, 2021 Vulkan 1.2.175 spec update:
|
|
|
|
* Update release number to 175 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Specify that fragment shader invocations in the same quad scope are also
|
|
in the same primitive scope (public issue 1465).
|
|
* Fix an incorrect reference to ename:VK_SHARING_MODE_CONCURRENT to the
|
|
correct ename:VK_SHARING_MODE_EXCLUSIVE in the queue transfer wording
|
|
for slink:VkBufferMemoryBarrier2KHR (public issue 1479).
|
|
* Fix description of <<vertexpostproc-clipping, Primitive Clipping>>
|
|
(public issues 1480 and 1481).
|
|
|
|
Internal Issues:
|
|
|
|
* Use consistent language in describing <<features, feature>> and
|
|
<<limits, property (limit)>> queries. In particular, a few structures
|
|
were described as being usable to query feature support, but not to set
|
|
it. This was incorrect. All feature structures which can appear in the
|
|
pname:pNext chain of slink:VkPhysicalDeviceFeatures2 can be used to both
|
|
query and set (internal issue 2310).
|
|
* Add `limittype` attributes to the XML schema and to `vk.xml` for
|
|
structure members which are part of physical device property queries, to
|
|
annotate how the resulting properties are interpreted and replace some
|
|
manual interpretation of these properties (internal issue 2427).
|
|
* Improve slink:VkAttachmentDescription2 wording around the use of
|
|
slink:VkAttachmentDescriptionStencilLayout for specifying the stencil
|
|
aspect layout (internal issue 2496).
|
|
* Split the <<extendingvulkan-coreversions-versionnumbers, major version
|
|
field>> of a packed pname:apiVersion value, introducing a new `variant`
|
|
field. This field allows identification of APIs based on Vulkan, but not
|
|
fully compatible with Vulkan applications. Vulkan is variant 0, making
|
|
the change backwards compatible with the previous definition of
|
|
pname:apiVersion. This change was introduced to enable variants of the
|
|
Vulkan API that Khronos may release in the future, in particular the
|
|
in-development Vulkan SC API. It is purely a future-proofing measure and
|
|
no near-term further use is planned. To support this split, a set of new
|
|
macros is introduced: dname:VK_API_VERSION_VARIANT,
|
|
dname:VK_API_VERSION_MAJOR, dname:VK_API_VERSION_MINOR, and
|
|
dname:VK_API_VERSION_PATCH (internal issue 2531).
|
|
* Clarify that the slink:VkRectLayerKHR members of a
|
|
slink:VkPresentRegionKHR structure must not be transformed to align with
|
|
the swapchain's pname:pTransform. The presentation engine must do this
|
|
transform (internal issue 2571).
|
|
* Fix minor issues with exposed asciidoctor markup in spec outputs
|
|
(internal issue 2576).
|
|
* Tighten up wording around pool entries of mutable descriptor types. for
|
|
slink:VkDescriptorPoolCreateInfo (internal issue 2578).
|
|
* Expand on wording of code:FPRoundingMode valid usage statement in the
|
|
<<spirvenv-module-validation-standalone, Standalone SPIR-V Validation>>
|
|
section (internal merge request 4298).
|
|
* Document interaction with `<<VK_KHR_fragment_shading_rate>>` for
|
|
`<<VK_QCOM_render_pass_transform>>` (internal merge request 4221).
|
|
* Require compile-time constants be explicitly tagged as unsigned or float
|
|
in `vk.xml`. Modify the generator scripts and schema documentation to
|
|
require `type` attributes for such constants. This allows generating
|
|
headers compliant with MISRA section 10.4 requirements, where needed
|
|
(internal merge request 4451).
|
|
* Minor editorial fixes (internal merge request 4454).
|
|
* Disallow code:*Offset* decorations on storage images
|
|
in the <<spirvenv-module-validation-standalone, Standalone SPIR-V
|
|
Validation>> section (internal merge request 4465).
|
|
* Improve the code: macro used in spec markup to allow imbedded wildcards
|
|
separating words and a trailing wildcard (internal merge request 4466).
|
|
* Modify `vk.xml` `requires` attributes to reorder definitions of
|
|
dname:VK_DEFINE_NON_DISPATCHABLE_HANDLE and dname:VK_NULL_HANDLE. This
|
|
prevents a corner case where the app overriding the first macro
|
|
explicitly would prevent definition of dname:VK_NULL_HANDLE (internal
|
|
merge request 4476).
|
|
|
|
New Extensions:
|
|
|
|
* `<<VK_EXT_color_write_enable>>`
|
|
* `<<VK_EXT_vertex_input_dynamic_state>>`
|
|
* `<<VK_EXT_ycbcr_2plane_444_format>>`
|
|
* `<<VK_NV_inherited_viewport_scissor>>`
|
|
* Vulkan video core & codecs provisional extension package, including
|
|
** `<<VK_KHR_video_queue>>`
|
|
** `<<VK_KHR_video_decode_queue>>`
|
|
** `<<VK_KHR_video_encode_queue>>`
|
|
** `<<VK_EXT_video_decode_h264>>`
|
|
** `<<VK_EXT_video_decode_h265>>`
|
|
** `<<VK_EXT_video_encode_h264>>`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for March 29, 2021 Vulkan 1.2.174 spec update:
|
|
|
|
* Update release number to 174 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Add a common header macro dname:VK_USE_64_BIT_PTR_DEFINES to specify at
|
|
compile time whether non-dispatchable handles are declared using a
|
|
64-bit pointer type, or a 64-bit unsigned interger type. NOTE: it is
|
|
possible that the complex platform-dependent C preprocessor block will
|
|
move from vk.xml into the static (non-generated) vk_platform.h header in
|
|
the near future (partially addresses public issue 1431, in addition to
|
|
internal needs).
|
|
* Clarify code:PatchVertices documentation for tessellation shaders
|
|
(public pull request 1475).
|
|
|
|
Internal Issues:
|
|
|
|
* Add valid usage statements restricting bitfield operations to 32-bit
|
|
types in the <<spirvenv-module-validation-standalone, Standalone SPIR-V
|
|
Validation>> section (internal issue 2561).
|
|
* Update registry documentation to require providing the `type` attribute
|
|
of `enum` tags when they are specifying compile-time constants, and
|
|
change the accepted values of the attribute to a small set of C scalar
|
|
type names, instead of schema-specific names. The XML schema itself
|
|
would ideally be updated to match, but we don't know how to do that yet
|
|
(internal issue 2564). NOTE: it is possible this will affect downstream
|
|
consumers of `vk.xml`, although we consider this unlikely.
|
|
* Document in the style guide that bits reserved in corresponding 32- and
|
|
64-bit bitmasks should be reserved in both types (internal merge issue
|
|
2565).
|
|
* Add output generator options to generate MISRA-friendly headers, and
|
|
check generator scripts to avoid generating etext:RESERVED 64-bit
|
|
bitflag names specified by `disabled` extensions in `vk.xml` (internal
|
|
merge request 4239, internal issue 2572).
|
|
* Clarify that compressed copies need to round up division in the
|
|
computation `rowLength` and `imageHeight` in the sample code for the
|
|
<<copies-buffers-images-addressing, Buffer and Image Addressing>>
|
|
section (internal merge request 4439).
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for March 21, 2021 Vulkan 1.2.173 spec update:
|
|
|
|
* Update release number to 173 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Fix valid usage statement for flink:vkCmdBeginQueryIndexedEXT to allow
|
|
multiple active queries of the same type, as long as their index values
|
|
are different (public issue 1357).
|
|
* Fix tagging for slink:VkPhysicalDeviceVulkan11Features in `vk.xml`
|
|
(public issue 1437).
|
|
* Update the <<WSI Swapchain>> chapter's use of "`release`" and
|
|
"`present`" terminology (public pull request 1470).
|
|
* Migrate from Azure Pipelines to Github Actions for CI, and use updated
|
|
Khronos Docker image to build (public pull request 1473).
|
|
|
|
Internal Issues:
|
|
|
|
* Document requirements for extension <<extensions-feature-structures,
|
|
Feature Structures>> (internal issue 2503).
|
|
* Add missing valid usage statements for slink:VkAttachmentReference2 and
|
|
separate depth/stencil layouts (internal issue 2509).
|
|
* Clarify interactions between `<<VK_EXT_buffer_device_address>>` and
|
|
Vulkan 1.2 in slink:VkDeviceCreateInfo valid usage (internal issue
|
|
2530).
|
|
* Allow variation in number of acceleration structure handles following a
|
|
top-level acceleration structures for
|
|
flink:vkCmdCopyAccelerationStructureToMemoryKHR (internal issue 2538).
|
|
* Specify implementation requirement for device timestamps in the
|
|
description of elink:VkTimeDomainEXT (internal issue 2551).
|
|
* Update valid usage ID assignment and extraction scripts to handle IDs
|
|
containing function pointer names (internal issue 2557).
|
|
* Move some runtime restrictions to
|
|
<<spirvenv-module-validation-standalone Standalone SPIR-V>> valid usage
|
|
statements (internal merge request 4286).
|
|
* Use new version of the HTML asciidoctor-chunker, which runs much faster,
|
|
and a new Docker image which omits the old implementation of the chunker
|
|
(internal merge request 4391).
|
|
* Fix <<devsandqueues-devices, logical device creation language>> for
|
|
Vulkan 1.1 (internal merge request 4405).
|
|
* Modify scripts to enable platform extensions to be filtered by the
|
|
`"supported"` attribute in `vk.xml` (internal merge request 4411).
|
|
* Add common valid usage statement for draw/dispatch commands on format
|
|
support for mip filters (internal merge request 4413).
|
|
* Fix valid usage statement extractor (vu-to-json) to add padding after
|
|
inserted list items, so they don't absorb other markup that might come
|
|
after in the document (internal merge request 4423).
|
|
* Disallow shadow lookups on 3D images in the
|
|
<<spirvenv-module-validation-standalone, Standalone SPIR-V Validation>>
|
|
section. This is not supported on all hardware, and should not have been
|
|
allowed (internal merge request 4424).
|
|
|
|
New Extensions:
|
|
|
|
* `<<VK_FUCHSIA_external_memory>>`
|
|
* `<<VK_FUCHSIA_external_semaphore>>`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for March 8, 2021 Vulkan 1.2.172 spec update:
|
|
|
|
* Update release number to 172 for this update.
|
|
|
|
Internal Issues:
|
|
|
|
* Remove asciidoctor conditional markup for extensions from
|
|
<<spirvenv-module-validation-standalone, Standalone SPIR-V valid usage
|
|
statements>>, and add a note to this effect for future additions
|
|
(internal issue 2512).
|
|
* Update the descriptions (and related validation rules) of
|
|
code:uniformAndStorageBuffer8BitAccess and
|
|
code:uniformAndStorageBuffer16BitAccess to only refer to the
|
|
code:Uniform storage class; and update the 16-bit storage feature
|
|
validation rules to refer to 16-bit floating-point, similarly to the
|
|
feature descriptions. These changes are in the
|
|
<<spirvenv-module-validation-runtime, Runtime SPIR-V Validation>>
|
|
<<features-requirements, Feature Requirements>> sections (internal issue
|
|
2535).
|
|
* Ban recursion in tlink:PFN_vkDebugUtilsMessengerCallbackEXT callbacks,
|
|
for consistency of `<<VK_EXT_debug_utils_callbacks>>` with
|
|
`<<VK_EXT_device_memory_report>>` and the rules for
|
|
slink:VkAllocationCallbacks (internal issue 2537).
|
|
* Remove dependency on `<<VK_KHR_create_renderpass2>>` from `vk.xml` for
|
|
`<<VK_KHR_synchronization2>>` (internal issue 2539).
|
|
* Add the transform feedback pipeline stage as valid for
|
|
ename:VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT access (internal
|
|
merge request 4355).
|
|
* Fix typo in `<<VK_EXT_debug_utils>>` examples (internal merge request
|
|
4395).
|
|
* Fix typo to refer to "`buffer view`" rather than "`image view`" in the
|
|
valid usage statements for code:OpImageWrite (internal merge request
|
|
4398).
|
|
* Fix typo in the mandatory features section related to
|
|
`<<VK_KHR_ray_tracing_pipeline>>` (internal merge request 4406).
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for March 1, 2021 Vulkan 1.2.171 spec update:
|
|
|
|
* Update release number to 171 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Use `strictly increasing` rather than `monotonically increasing` in the
|
|
definition of <<glossary, timeline semaphores>> (public issue 1424).
|
|
* Add missing raytracing pipeline creation information from
|
|
`<<VK_KHR_pipeline_executable_properties>>` to
|
|
flink:vkGetPipelineExecutableStatisticsKHR and
|
|
flink:vkGetPipelineExecutableInternalRepresentationsKHR valid usage
|
|
statements (public issue 1433).
|
|
* Add missing `SPV_EXT_shader_atomic_float` to `vk.xml` (public issue
|
|
1447).
|
|
* Fix ename:VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL to
|
|
ename:VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT in synchronization
|
|
valid usage statement 03938 (public issue 1458).
|
|
* Correct the <<interfaces-resources-setandbinding, DescriptorSet and
|
|
Binding Assignment>> "`noteworthy example`" to refer to code:OpTypeImage
|
|
code:Samplerd=1, not code:OpTypeSampler code:Sampled=1 (public pull
|
|
request 1459).
|
|
* Clarify that the value of slink:VkViewport::pname:minDepth is not
|
|
restricted relative to pname:maxDepth (Vulkan-Headers public issue 180).
|
|
* Add valid usage statement to <<spirvenv-module-validation-standalone,
|
|
Standalone SPIR-V Validation>> specifying that push constant array
|
|
members must only be accessed with dynamically uniform indices
|
|
(SPIRV-Tools public issue 2909)
|
|
* Add valid usage statement to <<spirvenv-module-validation-standalone,
|
|
Standalone SPIR-V Validation>> specifying when the code:Flat decoration
|
|
must be used (SPIRV-Tools public issue 3154)
|
|
|
|
Internal Issues:
|
|
|
|
* Specifiy the maximum allowed pname:depthBias unit for
|
|
flink:vkCmdSetDepthBias (internal issue 2455).
|
|
* Add `"protect"` attribute to provisional extension enumerants, and emit
|
|
them with that symbol for runtime conditional inclusion from
|
|
`vulkan_core.h`. Update description of ename:VK_ENABLE_BETA_EXTENSIONS
|
|
to match (internal issue 2481).
|
|
* Add valid usage statement to slink:VkImageViewCreateInfo to ban 3D image
|
|
views when the ename:VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT is
|
|
set (internal issue 2501).
|
|
* Add explicit language for the zero hit group intersection shader to the
|
|
<<ray-intersection-confirmation, Ray Intersection Confirmation>> section
|
|
(internal issue 2505).
|
|
* Add a new <<raytraversal-ray-intersection-candidate-diagram, basic ray
|
|
diagram>> (internal issue 2518).
|
|
* Clarify that acceptable fragment shading rates are less than *or equal*
|
|
to, not just less than, in the description of the
|
|
<<primsrast-fragment-shading-rate-combining final combined shading
|
|
rate>> (internal issue 2524)
|
|
* Refer to correct barycentric coordinates for
|
|
<<ray-intersection-candidate-determination, triangle intersection
|
|
coordinates>> (internal issue 2525).
|
|
* Add valid usage statements to drawing commands to match
|
|
pname:rasterizationSamples in the pipeline state and the current
|
|
attachments (internal merge request 4332).
|
|
* Make use of ename:VK_WHOLE_SIZE consistent with sized flush in valid
|
|
usage statement for slink:VkMappedMemoryRange (internal merge request
|
|
4373).
|
|
* Fix asciidoctor ifdef markup around
|
|
ename:VK_MEMORY_HEAP_MULTI_INSTANCE_BIT (internal merge request 4383).
|
|
* Move improperly placed valid usage statements from
|
|
slink:VkImageViewCreateInfo to slink:VkImageCreateInfo (internal merge
|
|
request 4390).
|
|
* Add valid usage statements to <<spirvenv-module-validation-standalone,
|
|
Standalone SPIR-V Validation>> for pname:minTexelGatherOffset and
|
|
pname:minTexelGatherOffset.
|
|
* Make <<spirvenv-module-validation-standalone, Standalone SPIR-V
|
|
Validation>> valid usage statement 04681 unconditional, rather than
|
|
having two versions when a relevant Vulkan extension is or is not
|
|
enabled, since this is *standalone* validation.
|
|
|
|
New Extensions
|
|
|
|
* `<<VK_QNX_screen_surface>>` (public pull request 1449).
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for February 15, 2021 Vulkan 1.2.170 spec update:
|
|
|
|
* Update release number to 170 for this update.
|
|
|
|
Internal Issues:
|
|
|
|
* Add missing language for zero hit groups to the <<shader-binding-table,
|
|
Shader Binding Table>> section and related valid usage statements
|
|
(internal issue 2505).
|
|
|
|
New Extensions:
|
|
|
|
* `<<VK_KHR_synchronization2>>`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for February 2, 2021 Vulkan 1.2.169 spec update:
|
|
|
|
* Update release number to 169 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Fix typos in language in the <<vertexpostproc-renderpass-transform,
|
|
Render Pass Transform>> section (public issue 1406).
|
|
* Fix case of etext:EXTENSION_NAME and etext:SPEC_VERSION enums in
|
|
`vk.xml` for the `<<VK_QCOM_rotated_copy>>` extension (public issue
|
|
1427).
|
|
* Fix equations in the <<ray-intersection-candidate-determination, Ray
|
|
Intersection Candidate Determination>> section (public issue 1427).
|
|
* Modify examples in the `<<VK_EXT_debug_utils>>` appendix to use
|
|
flink:vkGetInstanceProcAddr (public issue 1432).
|
|
* Various typo fixes (public pull request 1434).
|
|
|
|
Internal Issues:
|
|
|
|
* Add missing query types to the the introduction of the <<queries>>
|
|
chapter (internal issue 2488).
|
|
* Tag use of union types in `vk.xml` as `noautovalidity`, since we don't
|
|
generate meaningful valid usage statements or validation layer code at
|
|
present. This removes a few nonsensical, and unimplemented valid usage
|
|
statements of form 'ptext:param must: be a valid stext:VkUnionType union
|
|
(internal issue 2490).
|
|
* Flatten inline lists in valid usage statements in the
|
|
<<spirvenv-module-validation-standalone, Standalone SPIR-V Validation>>
|
|
section so the VU extraction script can process them properly (internal
|
|
issue 2502).
|
|
* Move some common copy buffer / copy image valid usage statements to
|
|
`copy_bufferimage_to_imagebuffer_common.txt` so they can be shared
|
|
(internal merge request 4344).
|
|
* Update copyright dates to 2021 (internal merge request 4345),
|
|
* Fix typos in asciidoctor conditional markup in the
|
|
<<spirvenv-module-validation-standalone, Standalone SPIR-V Validation>>
|
|
section (internal issue 4349).
|
|
* Fix typos in SPIR-V capability names
|
|
code:WorkgroupMemoryExplicitLayout8BitAccessKHR and
|
|
code:WorkgroupMemoryExplicitLayout16BitAccessKHR (internal merge request
|
|
4359).
|
|
* Fix typo in description of
|
|
slink:VkCoarseSampleLocationNV::pname:pSampleLocations (internal merge
|
|
request 4365).
|
|
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for January 25, 2021 Vulkan 1.2.168 spec update:
|
|
|
|
* Update release number to 168 for this update.
|
|
|
|
Internal Issues:
|
|
|
|
* Change slink:VkAccelerationStructureNV resource classification to
|
|
non-linear, and slink:VkAccelerationStructureKHR is neither linear nor
|
|
non-linear. This affects the memory classification for purposes of
|
|
<<resources-bufferimagegranularity,bufferImageGranularity>> (internal
|
|
issue 2289).
|
|
* Specify which storage classes are affected by code:scalarBlockLayout in
|
|
the <<interfaces-resources-standard-layout, Standard Buffer Layout>>
|
|
section (internal merge request 4280).
|
|
* Flatten valid usage statements in the
|
|
<<spirvenv-module-validation-runtime, Runtime SPIR-V Validation>>
|
|
section so they are correctly processed by the VU extractor script
|
|
(internal merge request 4285).
|
|
|
|
New Extensions:
|
|
|
|
* `<<VK_KHR_workgroup_memory_explicit_layout>>`
|
|
* `<<VK_KHR_zero_initialize_workgroup_memory>>`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for January 19, 2021 Vulkan 1.2.167 spec update:
|
|
|
|
* Update release number to 167 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Clarify valid usage statements for slink:VkGraphicsPipelineCreateInfo
|
|
interaction with potential format features (public issue 1392).
|
|
* Use default PDF theme with a local fallback font, to provide
|
|
floor/ceiling symbols (public issue 1400).
|
|
* Fix valid usage statements to clarify that
|
|
flink:vkCmdWriteAccelerationStructuresPropertiesNV only accepts
|
|
ename:VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV (public
|
|
Vulkan-ValidationLayers issue 2448).
|
|
* Add missing `SPV_KHR_multiview` SPIR-V extension to `vk.xml` (public
|
|
Vulkan-ValidationLayers issue 2456).
|
|
|
|
Internal Issues:
|
|
|
|
* Move Acceleration Structure chapter before Ray Traversal and Ray Tracing
|
|
chapters and reorganize asciidoctor source markup, including inlining
|
|
ray tracing sub-chapters (internal issue 2249).
|
|
* Clarify the definition of the `optional='true'` XML attribute to allow
|
|
its use with scalar types, and use it consistently in the specification
|
|
and XML; this removes a few uses of the attribute and simplifies some
|
|
valid usage statements (internal issue 2435).
|
|
* Clarify that it is not valid to create an image view using a format that
|
|
requires YCbCr conversion without passing a
|
|
slink:VkSamplerYcbcrConversion in valid usage for
|
|
slink:VkImageViewCreateInfo (internal issue 2458).
|
|
* Clarify that pipeline flags do not cause the corresponding flags to
|
|
appear in code:IncomingRayFlagsKHR variables (internal issue 2470).
|
|
* Require that pname:supportedAlpha is never zero in text and valid usage
|
|
statements for slink:VkDisplayPlaneCapabilitiesKHR and
|
|
slink:VkDisplaySurfaceCreateInfoKHR (internal issue 2471).
|
|
* Clarify that Dref values are supposed to be clamped for fixed-point
|
|
accesses in the <<textures-depth-compare-operation, Depth Compare
|
|
Operation>> section (internal issue 2474).
|
|
* Fix typo for a destination stage in an issue in the
|
|
`<<VK_EXT_transform_feedback>>` extension appendix (internal issue
|
|
2477).
|
|
* Restrict code:OpImageQueryLod, code:OpImageQuerySizeLod, and
|
|
code:OpImageQueryLevels to require a sampler (not storage image) in the
|
|
<<spirvenv-module-validation-standalone, Standalone SPIR-V Validation>>
|
|
section (internal issue 2478).
|
|
* Allow
|
|
flink:vkGetAccelerationStructureBuildSizesKHR::pname:pMaxPrimitiveCounts
|
|
to be zero by setting the `optional` attribute in the XML (internal
|
|
issue 2480).
|
|
* Update description of
|
|
slink:VkDeviceMemoryReportCallbackDataEXT::pname:objectType for
|
|
consistency with description of other parameters (internal issue 2485).
|
|
* Add a valid usage statement to slink:VkRayTracingPipelineCreateInfoKHR
|
|
requiring that all linked pipelines have the same set of flags specified
|
|
from the etext:VK_PIPELINE_CREATE_RAY_TRACING_* bits (internal issue
|
|
2489).
|
|
* Add valid usage statements to flink:vkCmdBeginQuery /
|
|
flink:vkCmdBeginQueryIndexedEXT to disallow use with pools created with
|
|
ename:VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR /
|
|
ename:VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR types
|
|
(internal issue 2493).
|
|
* Fix normative language for valid usage statements in the <<spirvenv,
|
|
Vulkan Environment for SPIR-V>> appendix (internal merge request 4265).
|
|
* Remove a few cases where `_KHR` suffixes were left on promoted
|
|
extensions in valid usage statements (internal merge request 4293)
|
|
* Update and futureproof a previously hardwired reference to Vulkan 1.1 in
|
|
the <<introduction-conventions, Document Conventions>> section (internal
|
|
merge request 4295).
|
|
* Add code:PhysicalStorageBuffer as a valid atomic storage class in the
|
|
<<spirvenv-module-validation-standalone, Standalone SPIR-V Validation>>
|
|
section (internal merge request 4296).
|
|
* Clean up phrasing of valid usage statements in the
|
|
<<spirvenv-module-validation-standalone, Standalone SPIR-V Validation>>
|
|
section (internal merge request 4297).
|
|
* Add shared valid usage statement for buffer copy commands requiring
|
|
pname:bufferRowLength to fit in a signed 32-bit integer (internal merge
|
|
request 4302).
|
|
* Add dname:VK_NO_STDDEF_H to allow apps to prevent including
|
|
`<stddef.h>`, and document it in the <<boilerplate, API Boilerplate>>
|
|
appendix (internal merge request 4312).
|
|
* Fix typo `SkipTrianglesKHR` -> `SkipAABBsKHR` in the
|
|
<<ray-traversal-culling-primitive, Ray Primitive Culling>> section
|
|
(internal merge request 4315).
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for January 4, 2021 Vulkan 1.2.166 spec update:
|
|
|
|
* Update release number to 166 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Add an Issue to the appendix for `<<VK_EXT_debug_report>>` discussing
|
|
how to compare handles returned by the debug report callback to
|
|
application handles (public issue 368).
|
|
* Specify the purpose of ename:VK_LOD_CLAMP_NONE in the description of
|
|
slink:VkSamplerCreateInfo::pname:maxLod (public issue 663).
|
|
* Clarify in the <<extendingvulkan-extensions-extensiondependencies,
|
|
Extension Dependencies>> section that extensions may depend on both
|
|
other extensions, and specific core API versions. Together with previous
|
|
changes to this section, this should close out the original issue
|
|
(public issue 865).
|
|
|
|
Internal Issues:
|
|
|
|
* Add descriptions of image queries to the <<textures, Image Operations
|
|
Overview>> and <<textures-queries, Image Query Instructions>> sections
|
|
(internal issues 2416 and 2423).
|
|
* Allow axis swapping to be carried through clamping in the
|
|
<<primsrast-fragment-shading-rate-combining, Combining the Fragment
|
|
Shading Rates>> section (internal issue 2420).
|
|
* Move even-size requirements for planar formats to valid usage statements
|
|
for slink:VkImageCreateInfo and slink:VkImageViewCreateInfo, and tweak
|
|
descriptions of <<formats-definition, the corresponding formats>>
|
|
accordingly (internal issue 2434).
|
|
* Remove asciidoctor conditional macros from markup for
|
|
slink:VkSamplerCreateInfo valid usage statement 01079 (internal issue
|
|
2440).
|
|
* Clarify behavior of the <<features-alphaToOne, pname:alphaToOne>>
|
|
feature by linking the enable to the corresponding <<fragops-covg,
|
|
Multisample Coverage>> fragment operation language, and specifying in
|
|
the introduction to the <<fragops, Fragment Operations>> chapter that
|
|
"`replacing`" a fragment shader output occurs whether or not the shader
|
|
actually wrote that output (internal issue 2448).
|
|
* Modify XML for
|
|
slink:VkPipelineViewportShadingRateImageStateCreateInfoNV::pname:viewportCount
|
|
to allow pname:viewportCount == 0 (internal issue 2449).
|
|
* Remove "`built as`" requirement from valid usage statement 03579 for
|
|
slink:VkWriteDescriptorSetAccelerationStructureKHR (internal issue
|
|
2466).
|
|
* Remove incorrect valid usage statement 03655 for
|
|
slink:VkAccelerationStructureGeometryTrianglesDataKHR (internal issue
|
|
2467).
|
|
* Add location limits for mesh shaders to the
|
|
<<interfaces-iointerfaces-limits, Shader Input and Output Locations>>
|
|
table (internal merge request 3428).
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for December 14, 2020 Vulkan 1.2.165 spec update:
|
|
|
|
* Update release number to 165 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Fix interaction between imageless framebuffers and
|
|
slink:VkImageViewUsageCreateInfo for slink:VkRenderPassBeginInfo,
|
|
elink:VkImageUsageFlagBits, and in the
|
|
<<resources-image-inherited-usage>> section (public issue 1391).
|
|
* Fix `vk.xml` `optional` / `noautovalidity` attributes and corresponding
|
|
explicit valid usage statements for
|
|
slink:VkBuildAccelerationStructureModeKHR (public issue 1405).
|
|
* Remove redundant / incomplete handle comments from `vk.xml` for
|
|
elink:VkObjectType enumerants (public merge request 1412).
|
|
|
|
Internal Issues:
|
|
|
|
* Create valid usage statements from constraints in the
|
|
<<spirvenv-module-validation-standalone, Standalone SPIR-V Validation>>
|
|
section (internal issue 2394).
|
|
* Fix valid usage staement 01256 for slink:VkDisplaySurfaceCreateInfoKHR
|
|
(internal issue 2404).
|
|
* Expand and clarify the event race condition warning for
|
|
flink:vkCmdWaitEvents to include two additional scenarios in which the
|
|
effect and/or state of an event becomes undefined without additional
|
|
synchronization operations (internal issue 2411).
|
|
* Update valid usage statement for flink:vkSetLocalDimmingAMD (internal
|
|
issue 2446).
|
|
* Recast slink:VkStridedDeviceAddressRegionKHR valid usage statements in
|
|
terms of size being non-zero, instead of pname:deviceAddress (internal
|
|
issue 2450).
|
|
* Add missing ename:VK_SHARING_MODE_CONCURRENT valid usage statement for
|
|
flink:vkQueueSubmit (internal merge request 4244).
|
|
* Add limits related to local size to the
|
|
<<spirvenv-module-validation-runtime, Runtime SPIR-V Validation>>
|
|
section (internal merge request 4255).
|
|
* Fix typo in description of
|
|
slink:VkDescriptorUpdateTemplateEntry::pname:dstArrayElement (internal
|
|
merge request 4260).
|
|
* Remove repeated "`all`" from slink:VkGraphicsPipelineCreateInfo valid
|
|
usage statements (internal merge request 4266).
|
|
* Fix internal xrefs to the SPIR-V capabilities tables, which broke as a
|
|
side effect of generating the table instead of handcoding it (internal
|
|
merge request 4270).
|
|
* Fix normative language for code:WorkgroupSize (internal merge request
|
|
4272).
|
|
* Restore `len` attribute to `vk.xml` after its recent accidental removal
|
|
from slink:VkDescriptorSetAllocateInfo::pname:pSetLayouts (internal
|
|
merge request 4275).
|
|
* Remove trailing periods from SPIR-V valid usage statements (internal
|
|
merge request 4284).
|
|
* Base PDF theme on builtin fallback theme, simplifying it and adding
|
|
support for some math characters not found in the default theme
|
|
(internal merge request 4287).
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for December 7, 2020 Vulkan 1.2.164 spec update:
|
|
|
|
* Update release number to 164 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Reserve vendor ID for PoCL (public pull request 1411).
|
|
|
|
Internal Issues:
|
|
|
|
* Add valid usage statements to ray tracing commands requiring they be
|
|
given a ray tracing pipeline, and removing support for
|
|
ename:ACCELERATION_STRUCTURE_TYPE_GENERIC in
|
|
flink:vkCmdBuildAccelerationStructureNV (internal issue 2271).
|
|
* Add valid usage statements disallowing the use of protected command
|
|
buffers with Ray Tracing Pipelines and Ray Query instructions (internal
|
|
issue 2409).
|
|
* Move the un-numbered glossary / abbreviations / prefixes pseudo-chapters
|
|
into a single appendix, so the table of contents looks cleaner (internal
|
|
issue 2437).
|
|
* Remove redundant valid usage statement from
|
|
slink:VkCommandBufferAllocateInfo (internal merge request 4229).
|
|
* Add missing <<features-inlineUniformBlock>> valid usage statement to
|
|
slink:VkDescriptorSetLayoutBinding (internal merge request 4246).
|
|
* Tweak example of Docker image invocation in `BUILD.adoc` (internal merge
|
|
request 4249).
|
|
* Capitalize code:LaunchIdKHR the same as in SPIR-V. code:LaunchSizeKHR
|
|
and code:LaunchIdKHR are accessible in the code:CallableKHR shader stage
|
|
(internal merge request 4252).
|
|
* Remove unreachable (redundant) valid usage statements from
|
|
flink:vkCmdBeginRenderPass and flink:vkCmdBeginRenderPass2 (internal
|
|
merge request 4254).
|
|
* Add missing `objtypeenum` attribute to `vk.xml` for slink:VkInstance
|
|
(internal merge request 4263).
|
|
* Change the chunked HTML target to use a more robust method of inserting
|
|
additional Javascript and HTML to support the searchbox.
|
|
|
|
New Extensions:
|
|
|
|
* `<<VK_NV_acquire_winrt_display>>`
|
|
* `<<VK_VALVE_mutable_descriptor_type>>`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for November 30, 2020 Vulkan 1.2.163 spec update:
|
|
|
|
* Update release number to 163 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Add XML mapping between VK_OBJECT_TYPE_* names and object type names
|
|
(public issue 1379).
|
|
* Remove *_READ_BIT from .srcAccessMask in code samples (public issue
|
|
1389).
|
|
* Fix example code for slink:VkPushConstantRange to take
|
|
elink:VkShaderStageFlags, not elink:VkPipelineStageFlags (public pull
|
|
request 1393).
|
|
* Add missing :refpage: attribute to slink:VkBlitImageInfo2KHR (public
|
|
issue 1407).
|
|
* Remove extraneous newline from texel block size table (public issue
|
|
1409).
|
|
|
|
Internal Issues:
|
|
|
|
* Update style guide to require `optional="true"` be set on pname:pNext
|
|
structure members (internal issue 2428).
|
|
* Sort conditionals in ifdef:: output of spirvcapgenerator for stability
|
|
(internal issue 2430).
|
|
* Fix slink:VkGraphicsPipelineShaderGroupsCreateInfoNV VU 02886
|
|
(internal merge request 4225).
|
|
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for November 23, 2020 Vulkan 1.2.162 spec update:
|
|
|
|
* Update release number to 162 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Mark pname:pNext pointers as `optional="true"` in `vk.xml` (public pull
|
|
request 1396).
|
|
* Make a formerly implicit slink:VkSubpassDescriptionDepthStencilResolve
|
|
valid usage statement explicit (public Vulkan-ValidationLayers issue
|
|
2311).
|
|
|
|
Internal Issues:
|
|
|
|
* Clarify lifetime of push constants in the flink:vkCmdPushConstants
|
|
description (internal issue 2168).
|
|
* Clarify that flink:vkGetDeviceProcAddr is not intended to return
|
|
physical device-level commands (internal issue 2344).
|
|
* Tweak CI test for SPEC_VERSION to always succeed when the branch name
|
|
exists, but the extension is disabled (internal merge request 4219).
|
|
|
|
New Extensions:
|
|
|
|
* Add final (non-provisional) versions of the Vulkan Ray Tracing
|
|
extensions (internal merge request 4143):
|
|
** `<<VK_KHR_acceleration_structure>>`
|
|
** `<<VK_KHR_ray_tracing_pipeline>>`
|
|
** `<<VK_KHR_ray_query>>`
|
|
** `<<VK_KHR_pipeline_library>>`
|
|
** `<<VK_KHR_deferred_host_operations>>`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for November 16, 2020 Vulkan 1.2.161 spec update:
|
|
|
|
* Update release number to 161 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Add some missing types to the table of handle type <->
|
|
etext:VK_OBJECT_TYPE_* enums in the debugging chapter (in response to a
|
|
comment on public issue 1379).
|
|
|
|
Internal Issues:
|
|
|
|
* Move copyright statement into its own "`Preamble`" chapter to simplify
|
|
preprocessing for chunked HTML target and make PDF / single-page HTML
|
|
consistent with the chunked output (internal issue 2384).
|
|
* Clarify that slink:VkExternalMemoryBufferCreateInfo::pname:handleTypes
|
|
and slink:VkExternalMemoryImageCreateInfo::pname:handleTypes can be
|
|
zero, and fix missing `optional` attribute in `vk.xml` for the latter
|
|
case (internal issue 2388).
|
|
* Make `specialuse` attributes in source markup expand properly in
|
|
extension refpages (internal issue 2412).
|
|
* Remove as yet unused slink:VkSemaphoreCreateFlagBits type from `vk.xml`
|
|
(internal issue 2413).
|
|
* Remove unreachable valid usage statements for
|
|
slink:VkRenderPassMultiviewCreateInfo::pname:pViewMask in the
|
|
slink:VkRenderPassCreateInfo pname:pNext chain, and for
|
|
slink:VkRenderPassCreateInfo2::pname:viewMask. These statements cannot
|
|
ever be violated given that view masks cannot exceed index 31 and
|
|
pname:maxFramebufferLayers exceeds this value (internal merge request
|
|
4204).
|
|
* Only allow forward pointers for physical storage buffers in the
|
|
<<spirvenv-module-validation>> section (internal merge request 4206).
|
|
* Fix a variety of minor valid usage statement issues with the
|
|
`<<VK_KHR_fragment_shading_rate>>` extension (internal merge request
|
|
4207).
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for November 9, 2020 Vulkan 1.2.160 spec update:
|
|
|
|
* Update release number to 160 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Remove redundant input attachment valid usage statements from
|
|
slink:VkAttachmentReference2 (public issue 1378).
|
|
|
|
Internal Issues:
|
|
|
|
* Restore "`Preamble`" section containing the copyright statement to the
|
|
proper place in the chunked specification index (internal issue 2384).
|
|
* Add missing valid usage statements for
|
|
flink:vkCmdDrawIndirectByteCountEXT (internal issue 2400).
|
|
* Move vertex input example from the <<fxvertex>> chapter to the Vulkan
|
|
Guide (internal merge request 4162).
|
|
* Clarify update-after-bind limits for dynamic buffers in the
|
|
<<limits-maxDescriptorSetUpdateAfterBindUniformBuffersDynamic>> and
|
|
<<limits-maxDescriptorSetUpdateAfterBindStorageBuffersDynamic>> sections
|
|
(internal merge request 4186).
|
|
* Clarify slink:VkFramebufferCreateInfo to allow read-only use of depth
|
|
images as attachments and non-attachments (internal merge request 4191).
|
|
* Remove redundant valid usage statement from slink:VkWriteDescriptorSet
|
|
(internal merge request 4196).
|
|
* Remove redundant valid usage statement from flink:vkFreeDescriptorSets
|
|
(internal merge request 4198).
|
|
* Fix typo in slink:VkDisplaySurfaceCreateInfoKHR valid usage statement
|
|
(internal merge request 4199).
|
|
* Remove redundant pname:firstViewport / pname:firstScissor limit checks
|
|
in valid usage statements for flink:vkCmdSetViewportWScalingNV,
|
|
flink:vkCmdSetScissor, flink:vkCmdSetExclusiveScissorNV,
|
|
flink:vkCmdSetViewportShadingRatePaletteNV, and flink:vkCmdSetViewport
|
|
(internal merge request 4200).
|
|
|
|
New Extensions:
|
|
|
|
* `<<VK_NV_fragment_shading_rate_enums>>`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for November 1, 2020 Vulkan 1.2.159 spec update:
|
|
|
|
* Update release number to 159 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Clarify handle uniqueness with private data in the
|
|
<<fundamentals-objectmodel-overview, Object Model>> section (public
|
|
issue 1349).
|
|
* Make ename:VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_KHR
|
|
an alias of
|
|
ename:VK_PERFORMANCE_COUNTER_DESCRIPTION_PERFORMANCE_IMPACTING_BIT_KHR
|
|
and ename:VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_KHR
|
|
an alias of
|
|
ename:VK_PERFORMANCE_COUNTER_DESCRIPTION_CONCURRENTLY_IMPACTED_BIT_KHR,
|
|
for backwards compatibility while complying with naming conventions
|
|
(public issue 1367).
|
|
* Make ename:VK_SURFACE_COUNTER_VBLANK_EXT an alias of
|
|
ename:VK_SURFACE_COUNTER_VBLANK_BIT_EXT for backwards compatibility
|
|
while complying with naming conventions (public issue 1368).
|
|
* Add a note to the <<memory-model-synchronizes-with, Synchronizes-With>>
|
|
section that fragment shader interlock instructions don't perform
|
|
implicit availability or visibility operations (public issue 1383).
|
|
|
|
Internal Issues:
|
|
|
|
* Dynamically generate SPIR-V <<spirvenv-capabilities-table,
|
|
Capabilities>> and <<spirvenv-extensions-table, Extensions>> tables from
|
|
new tags in `vk.xml`, exposing this information for other projects
|
|
downstream (internal issue 2156).
|
|
* Clarify when a <<renderpass-feedbackloop, feedback loop>> creates a data
|
|
race (internal issue 2296).
|
|
* Remove un-needed `noautovalidity` attributes on pname:pNext structure
|
|
members, including a few cases where they were actually suppressing
|
|
appropriate autogenerated validity statements (internal issue 2335;
|
|
similar purpose to closed public PR 1339).
|
|
* Clarify treatment of most-negative signed normalized fixed-point values
|
|
in the <<fundamentals-fixedfpconv, Conversion from Normalized
|
|
Fixed-Point to Floating-Point>> section (internal issue 2367).
|
|
* Clarify that enabling an extension cannot change existing implementation
|
|
behavior in the introduction to the <<extendingvulkan-extensions,
|
|
Extensions>> chapter (internal issue 2375).
|
|
* Add missing valid usage statement to flink:vkCreatePrivateDataSlotEXT
|
|
(internal issue 2379).
|
|
* Fix a misplaced asciidoctor `endif::` for flink:vkCreateSwapchainKHR
|
|
(internal merge request 4177).
|
|
* Add missing pname:aspectMask valid usage statement to
|
|
slink:VkSubpassDescription2, matching
|
|
slink:VkInputAttachmentAspectReference (internal merge request 4177).
|
|
* Clarify <<interfaces, SPIR-V rules on decorations>> (internal
|
|
spirv/SPIR-V issue 444).
|
|
* Add missing `<<VK_VERSION_1_2>>` to all
|
|
`<<VK_EXT_separate_stencil_usage>>` conditional markup (internal
|
|
vulkansc/vulkansc issue 58).
|
|
|
|
New Extensions:
|
|
|
|
* `<<VK_QCOM_rotated_copy_commands>>` (internal merge request 4132).
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for October 19, 2020 Vulkan 1.2.158 spec update:
|
|
|
|
* Update release number to 158 for this update.
|
|
|
|
Internal Issues:
|
|
|
|
* Clarify that linear filtering can be used with comparison sampling
|
|
in valid usage statements for dispatched draw commands
|
|
(internal issue 2365).
|
|
* Add valid usage statement for flink:vkGetQueryPoolResults requiring
|
|
pname:stride to be large enough for a single performance query result
|
|
(internal issue 2380).
|
|
* Move input attachment imageLayout to valid usage reference section,
|
|
and refer to the <<attachment-type-imagelayout>> section
|
|
to reduce complexity of valid usage statement
|
|
(internal merge request 4117).
|
|
* Update issues list for `<<VK_QCOM_render_pass_transform>>`
|
|
(internal merge request 4175).
|
|
* Add valid usage statement for
|
|
slink:VkPipelineColorBlendStateCreateInfo::pname:attachmentCount (public
|
|
Vulkan-ValidationLayers issue 2197).
|
|
|
|
New Extensions:
|
|
|
|
* `<<VK_KHR_fragment_shading_rate>>`
|
|
* `<<VK_KHR_shader_terminate_invocation>>`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for October 12, 2020 Vulkan 1.2.157 spec update:
|
|
|
|
* Update release number to 157 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Fix `<<VK_KHR_shader_draw_parameters>>` missing as a feature alias
|
|
(based on public pull request 1310).
|
|
* Remove unnecessary sentence about device extensions implemented by
|
|
layers in the flink:vkCreateDevice description (based on public pull
|
|
request 1350).
|
|
* Fix parenthesis in equation in the
|
|
<<textures-texel-anisotropic-filtering, Texel Anisotropic Filtering>>
|
|
section (public merge request 1365).
|
|
* Add missing types to `vk.xml` for `<<VK_EXT_device_memory_report>>`
|
|
(public issue 1374).
|
|
* Add slink:VkBufferImageCopy valid usage statement for
|
|
ename:VK_IMAGE_ASPECT_DEPTH_BIT and ename:VK_IMAGE_ASPECT_STENCIL_BIT
|
|
pname:aspectMask values (public Vulkan-ValidationLayers issue 2113).
|
|
|
|
Internal Issues:
|
|
|
|
* Remove unused etext:VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT
|
|
token
|
|
(internal issue 2275).
|
|
* Clarify the specific stage requirement for synchronization
|
|
between flink:vkCmdResetEvent and flink:vkCmdWaitEvents
|
|
(internal merge request 4152).
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for October 5, 2020 Vulkan 1.2.156 spec update:
|
|
|
|
* Update release number to 156 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Define memory import/export using the glossary term _payload_, rather
|
|
than "`the same underlying memory`", for slink:VkFence,
|
|
<<synchronization-semaphores-payloads, the semaphore payload section>>,
|
|
and many places in the <<memory, Memory Allocation>> chapter (public
|
|
issue 1145).
|
|
|
|
New Extensions:
|
|
|
|
* `<<VK_EXT_device_memory_report>>`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for September 28, 2020 Vulkan 1.2.155 spec update:
|
|
|
|
* Update release number to 155 for this update.
|
|
|
|
New Extensions:
|
|
|
|
* `<<VK_EXT_shader_image_atomic_int64>>`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for September 7, 2020 Vulkan 1.2.153 spec update:
|
|
|
|
* Update release number to 153 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Specification default branch for updates and PRs is now `main` instead
|
|
of `master`. `master` branch still exists, but is frozen at the 1.2.152
|
|
level. If you are pulling content from this repository, please switch
|
|
from `master` to `main` branch (internal issue 1351).
|
|
* Fix slink:VkSubpassDependency2 link from slink:VkRenderPassCreateInfo2
|
|
(public issue 1358).
|
|
|
|
Internal Issues:
|
|
|
|
* Add developer documentation to the appendices for
|
|
`<<VK_EXT_memory_budget>>`, `<<VK_KHR_buffer_device_address>>`,
|
|
`<<VK_KHR_depth_stencil_resolve>>`, `<<VK_KHR_draw_indirect_count>>`,
|
|
`<<VK_KHR_multiview>>`, `<<VK_KHR_sampler_ycbcr_conversion>>` (internal
|
|
issue 2109).
|
|
* Implement VUID expander treeprocessor plugin to make VUID text visible
|
|
and searchable in generated outputs (internal issue 2253, 2258).
|
|
* Clarify when acceleration structures can be indexed dynamically in the
|
|
<<interfaces-resources-descset, Descriptor Set Interface>> section
|
|
(internal issue 2316).
|
|
* Add missing valid usage statement for flink:vkImportFenceWin32HandleKHR
|
|
(internal merge request 4087).
|
|
* Replace badly formatted VUID for `<<VK_AMD_display_native_hdr>>`
|
|
(internal merge request 4096).
|
|
* Add ray tracing acceleration structures to the lists of objects where
|
|
appropriate in the <<fundamentals-objectmodel-lifetime, Object
|
|
Lifetime>> section (internal merge request 4100).
|
|
* Move GLSL and SPIR-V extension references in the extension appendices
|
|
into the "`Interactions and External Dependencies`" sections (internal
|
|
merge request 3969).
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for August 26, 2020 Vulkan 1.2.152 spec update:
|
|
|
|
* Update release number to 152 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Add attachment image layout valid usage statements for
|
|
slink:VkSubpassDescription and slink:VkSubpassDescription2 (public issue
|
|
1316).
|
|
* Clarify and generalize use of "`graphics commands`" in the
|
|
<<descriptorsets>> and <<pipelines>> chapters (public issue 1322).
|
|
* Fix description of handle returned in slink:VkDeviceQueueInfo2 (public
|
|
pull request 1347).
|
|
|
|
Internal Issues:
|
|
|
|
* Promote valid usage statements requiring multiple parameters of a copy
|
|
command from the structure parameter descriptions to the command itself,
|
|
significantly restructuring some of the common validity files (internal
|
|
issue 2034).
|
|
* Add details of clamping and quantization behavior for border colors that
|
|
are outside the normal range for slink:VkSamplerCreateInfo and in the
|
|
<<textures-operation-validation, Instruction/Sampler/Image View
|
|
Validation>> and <<textures-texel-replacement, Texel Replacement>>
|
|
sections (internal issue 2281).
|
|
* Clarify in the <<spirvenv-module-validation-standalone, Standalone
|
|
SPIR-V Validation>> section that the value of code:XfbBuffer cannot
|
|
differ for members of the same block (internal issue 2307).
|
|
* Add valid usage blocks to the <<interfaces>> chapter where discussing
|
|
allowed uses of built-in SPIR-V variables (internal merge requests 3933,
|
|
4090).
|
|
* Refactor <<spirvenv-module-validation-standalone, Standalone SPIR-V
|
|
Validation>> constraints to single statement phrases not using ifdef::ed
|
|
asciidoctor markup, and move some of them down to the
|
|
<<spirvenv-module-validation-runtime, Runtime SPIR-V Validation>>
|
|
section (internal merge request 4054).
|
|
* Fix XML attributes for some `<<VK_INTEL_performance_query>>` interfaces
|
|
(internal merge request 4061).
|
|
* Fix the "`Differences relative to `VK_KHR_shader_float16_int8``"
|
|
paragraph in the <<versions-1.2, Version 1.2>> appendix (internal merge
|
|
request 4062).
|
|
* Fix several valid usage statements for
|
|
flink:vkCmdBindTransformFeedbackBuffersEXT (public
|
|
KhronosGroup/Vulkan-ValidationLayers issue 2105).
|
|
* Clarify `shader_read_only` layout restrictions for
|
|
slink:VkWriteDescriptorSet and elink:VkImageLayout (internal merge
|
|
request 4060).
|
|
* Clarify wording for required 4444 and {YCbCr} formats in the
|
|
<<formats-mandatory-features-subbyte, Mandatory format support: sub-byte
|
|
channels>> and <<formats-requiring-sampler-ycbcr-conversion, Formats
|
|
requiring sampler {YCbCr} conversion for ename:VK_IMAGE_ASPECT_COLOR_BIT
|
|
image views>> tables (internal merge request 4066).
|
|
* Move a feature valid usage statement from flink:vkCmdDrawIndexedIndirect
|
|
to its proper home in flink:vkCmdDrawIndexedIndirectCount, matching what
|
|
the validation layer already does (internal merge request 4070).
|
|
* Split valid usage statement for slink:VkWriteDescriptorSet into one
|
|
statement for each descriptor type for image layout requirements
|
|
(internal merge request 4071).
|
|
* Add the a <<valid-imageview-imageusage>> definition to capture which
|
|
elink:VkImageUsageFlagBits must be set when creating a
|
|
sname:VkImageView, and use that definition to simplify
|
|
slink:VkImageViewCreateInfo valid usage statements (internal merge
|
|
request 4073).
|
|
* Remove redundant valid usage statement 03269 for slink:VkPresentInfoKHR
|
|
(internal merge request 4084).
|
|
* Move valid usage statement from slink:VkProtectedSubmitInfo to
|
|
slink:VkSubmitInfo (internal merge request 4085).
|
|
* Update reference to pname:framebufferIntegerColorSampleCounts from the
|
|
description of the <<limits-framebufferColorSampleCounts>> feature if
|
|
Vulkan 1.2 is supported (internal merge request 4088).
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for August 17, 2020 Vulkan 1.2.151 spec update:
|
|
|
|
* Update release number to 151 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Clarify that the <<memory-protected-memory,Protected Memory>> is not
|
|
cross-physical device (public issue 1335).
|
|
|
|
Internal Issues:
|
|
|
|
* Improve the layout of the <<Standard sample locations>> table to avoid
|
|
overflow in the HTML output (internal issue 1354).
|
|
* Also build core-only HTML spec in internal CI, to try and catch
|
|
extension ifdef errors (should probably also do this in Azure CI on
|
|
github) (internal issue 1770).
|
|
* Add internal CI test for un-tagged uses of "`undefined`", to help make
|
|
sure we've carefully considered all such uses (internal issue 2270).
|
|
* Add style guide section "`Commands which Return Error Codes`" to give
|
|
guidance on assigning error codes and when to use
|
|
ename:VK_ERROR_OUT_OF_HOST_MEMORY (internal issue 2290).
|
|
* Use the term "`reference monitor`" instead of "`mastering display`" for
|
|
the `<<VK_EXT_hdr_metadata>>` extension (internal issue 2291).
|
|
* Explicitly state that SPIR-V modules must be valid after specialization
|
|
in slink:VkPipelineShaderStageCreateInfo and the
|
|
<<spirvenv-module-validation-runtime, Runtime SPIR-V Validation>>
|
|
section (internal issue 2302).
|
|
* Add slink:VkShaderModuleCreateInfo valid usage statements to match the
|
|
SPIR-V capabilities (internal merge request 4047).
|
|
* Add missing features to the <<[spirvenv-module-validation-runtime,
|
|
Runtime SPIR-V Validation>> section (internal merge request 4048).
|
|
* Update slink:VkPhysicalDeviceVulkan11Properties to follow the same
|
|
renaming of "`subgroups`" to "`groups`" previously done for
|
|
slink:VkPhysicalDeviceSubgroupProperties (internal merge request 4050).
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for August 10, 2020 Vulkan 1.2.150 spec update:
|
|
|
|
* Update release number to 150 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Remove ename:VK_ERROR_TOO_MANY_OBJECTS as a required error code for
|
|
flink:vkAllocateMemory and and flink:vkCreateSampler, and note that
|
|
while it may still occur as a historical artifact, exceeding
|
|
implementation limits will result in undefined behavior (public issue
|
|
1295).
|
|
* Allow duplicate slink:VkDebugUtilsMessengerCreateInfoEXT structs in
|
|
pname:pNext chain (public issue 1329)
|
|
* Fix typo in slink:VkSubmitInfo valid usage statement 04120 (public merge
|
|
request 1336).
|
|
* Remove `KHR` suffix from some names promoted to core, in the
|
|
<<renderpass, Render Pass>> chapter (public merge request 1341).
|
|
|
|
Internal Issues:
|
|
|
|
* Add ename:VK_ERROR_OUT_OF_HOST_MEMORY to `vk.xml` as a possible error
|
|
code for some additional commands returing elink:VkResult, and add a
|
|
note to the description of elink:VkResult giving some guidance on which
|
|
commands may and may not return that error code (internal issue 2063).
|
|
* Make a handful of terminology changes which move this repository closer
|
|
to the conventions of the AOSP
|
|
https://source.android.com/setup/contribute/respectful-code[Coding with
|
|
Respect] document (internal issue 2282).
|
|
* Update `<<VK_MVK_ios_surface>>` and `<<VK_MVK_macos_surface>>`
|
|
documentation and mark them as deprecated and replaced by
|
|
`<<VK_EXT_metal_surface>>` (internal merge request 4024).
|
|
* Add a section to the style guide on markup for the copyright and license
|
|
block on files in the repository (internal merge request 4036).
|
|
* Add ename:VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT to
|
|
`<<VK_EXT_validation_features>>` to enable synchronization validation
|
|
(internal merge request 4037).
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for August 3, 2020 Vulkan 1.2.149 spec update:
|
|
|
|
* Update release number to 149 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Fix valid usage statements to clarify interactions between
|
|
`<<VK_EXT_extended_dynamic_state>>` and the old viewport related
|
|
extensions `<<VK_NV_clip_space_w_scaling>>`,
|
|
`<<VK_NV_shading_rate_image>>` (for the palettes),
|
|
`<<VK_NV_viewport_swizzle>>`, and `<<VK_NV_scissor_exclusive>>` (public
|
|
issue 1296).
|
|
|
|
Internal Issues:
|
|
|
|
* Clarify wording around non-uniform and non-constant descriptor access in
|
|
<<interfaces-resources-descset, Descriptor Set Interface>> (internal
|
|
issue 2163).
|
|
* Add a missing code:StorageBuffer reference in the <<interface-resources,
|
|
Shader Resource Interface>> section (internal issue 2191).
|
|
* Refactor common valid usage statements for flink:vkBindBufferMemory,
|
|
slink:VkBindBufferMemoryInfo, flink:vkBindImageMemory, and
|
|
slink:VkBindImageMemoryInfo (internal issue 2260).
|
|
* Copy over import/export behavior for sync file descriptor value `-1`
|
|
from slink:VkImportFenceFdInfoKHR to slink:VkImportSemaphoreFdInfoKHR
|
|
(internal issue 2274).
|
|
* State that a deriviative group is a quad scope instance in the
|
|
<<shaders-derivative-operations, Derivative Operations>> section
|
|
(internal merge request 4025)
|
|
|
|
New Extensions:
|
|
|
|
* `<<VK_EXT_4444_formats>>`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for July 19, 2020 Vulkan 1.2.148 spec update:
|
|
|
|
* Update release number to 148 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Move description of slink:VkPhysicalDevicePerformanceQueryFeaturesKHR to
|
|
the <<features>> chapter (public merge request 1312).
|
|
* Fix a few broken internal and external links, and add stub description
|
|
of empty elink:VkPipelineCompilerControlFlagsAMD type (public merge
|
|
request 1313).
|
|
|
|
Internal Issues:
|
|
|
|
* Fix a few new places where "`undefined`" was used imprecisely, by
|
|
clarifying the difference between undefined results and undefined
|
|
behavior (internal issue 543).
|
|
* Add valid usage statement to common indirect draw valid usage statements
|
|
requiring that the pname:countBufferOffset to the count being used lie
|
|
within the pname:countBuffer (internal issue 1309).
|
|
* Add <<interfaces-raypipeline, Ray Tracing Pipeline Interface>> section
|
|
(internal issues 2094, 2237).
|
|
* Add valid usage statement to flink:vkCmdBeginTransformFeedbackEXT to
|
|
require that the last vertex processing stage of the bound graphics
|
|
pipeline be declared with the code:Xfb execution mode (internal issue
|
|
2124).
|
|
* Do not allow flink:vkWaitForFences or flink:kWaitSemaphores to return
|
|
timeouts before the period has expired, even though this is valid in
|
|
some other synchronisation APIs (internal issue 2146).
|
|
* Add elink:VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT as an alias
|
|
of elink:VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT for clarity
|
|
when interacting with D3D11 fences (internal issue 2175).
|
|
* Ignore slink:VkMemoryAllocateInfo::pname:allocationSize when importing
|
|
D3D resources (internal issue 2176).
|
|
* Clarify the definition of flink:vkCmdBindVertexBuffers2EXT::pname:pSizes
|
|
(internal issue 2262).
|
|
* Fix markup error in slink:VkDescriptorSetLayoutBindingFlagsCreateInfo
|
|
(internal merge request 3998).
|
|
* Remove un-needed dependency of `<<VK_EXT_filter_cubic>>` on
|
|
`<<VK_IMG_filter_cubic>>` (internal merge request 4000).
|
|
* Minor textual clarifications in ray tracing extensions (internal merge
|
|
request 4017).
|
|
* Modify the validity generator so that, when generating valid usage for
|
|
array lengths with a chain of parameters (e.g. pname:pFoo->bar), don'
|
|
non-zero values are not required if any parameter in the chain is
|
|
optional, and consider the last parameter only when deciding the type of
|
|
the parameter (internal merge request 4021).
|
|
* Fix a typo in the `<<VK_EXT_fragment_density_map2>>` extension appendix
|
|
markup that caused refpage build warnings, and modify CI and
|
|
`BUILD.adoc` to use `makeSpec` instead of the old `makeAllExts` script
|
|
(internal merge request 4023).
|
|
|
|
New Extensions:
|
|
|
|
* `<<VK_EXT_image_robustness>>`
|
|
* `<<VK_EXT_shader_atomic_float>>`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for July 13, 2020 Vulkan 1.2.147 spec update:
|
|
|
|
* Update release number to 147 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Allow physical-device-level structures in pname:pNext chains (public
|
|
merge request 1303).
|
|
* Remove elink:VkRenderPassCreateFlags from dependencies of
|
|
`<<VK_QCOM_render_pass_transform>>` (public merge request 1311)
|
|
|
|
Internal Issues:
|
|
|
|
* Require that variables with code:HitAttributeKHR storage class must:
|
|
<<spirvenv-module-validation-standalone, only be written in intersection
|
|
shaders>> (internal issue 2103).
|
|
* Specify that acceleration structure scratch buffer accesses from
|
|
acceleration structure build should be synchronized with the
|
|
ename:VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR pipeline
|
|
stage and an access mask of
|
|
ename:VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR or
|
|
ename:VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR (internal issue
|
|
2173).
|
|
* Improve description of 3D blitting in flink:vkCmdBlitImage (internal
|
|
issue 2212).
|
|
* Split <<fragops-coverage-reduction, Coverage Reduction>> section into
|
|
multiple steps when multi-pixel fragments are involved: first per-pixel
|
|
coverage is separated out, then per-sample coverage is generated for
|
|
each color sample from per-pixel coverage. dditionally, the definition
|
|
of "`color sample mask`" and discussions of it have been removed in
|
|
favour of the per-color-sample coverage. (internal merge request 3951).
|
|
* Modify slink:VkSamplerYcbcrConversionCreateInfo valid usage statements,
|
|
as well as the <<textures-chroma-reconstruction, Chroma Reconstruction>>
|
|
section, to make it clear the values of pname:xChromaOffset and
|
|
pname:yChromaOffset are only validated when chroma channels are
|
|
downsampled (internal merge request 3959).
|
|
* Allow flink:vkGetBufferMemoryRequrements and
|
|
flink:vkGetBufferMemoryRequrements2 to be called for an Android Hardware
|
|
Buffer backed slink:VkBuffer, before it is been bound to memory
|
|
(internal merge request 3982).
|
|
* Remove *Draft* status from `<<VK_EXT_private_data>>` (internal merge
|
|
request 3982).
|
|
* Move valid usage statement from slink:VkProtectedSubmitInfo to
|
|
slink:VkSubmitInfo (internal merge request 3987).
|
|
* Add valid usage statements for protected buffers to
|
|
slink:VkBindBufferMemoryInfo and slink:VkBindImageMemoryInfo
|
|
(internal merge request 3988).
|
|
* Add valid usage statement to slink:VkImageCreateInfo requiring that
|
|
images with linear tiling cannot have sparse residency (internal merge
|
|
request 3988).
|
|
* Clarify that the ptext:maxPerStageDesciptorUpdateAfterBind*
|
|
<<limits-required, Required Limits>> must be at least the corresponding
|
|
non- ptext:UpdateAfterBind limits (internal merge request 3992).
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for July 3, 2020 Vulkan 1.2.146 spec update:
|
|
|
|
* Update release number to 146 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Fix valid usage generation script for optional bitmasks in a
|
|
non-optional array (public pull request 1228).
|
|
* Add lunr to `package.json` and update the locally cached copy (public
|
|
pull request 1238).
|
|
* Require that newly released extensions have etext:*_SPEC_VERSION `1`
|
|
(public issue 1263).
|
|
* Add to the NOTE in slink:VkPhysicalDeviceIDProperties, advising
|
|
implementations on returning unique pname:deviceUUID values and avoiding
|
|
hardwired values, especially 0 (public issue 1273).
|
|
* Add noscript fallback for HTML output (public pull request 1289).
|
|
* Fix duplicated VUIDs in flink:vkCmdExecuteGeneratedCommandsNV (public
|
|
pull request 1304).
|
|
* Fix link markup in <<ray-traversal, Ray Traversal>> chapter, nested link
|
|
markup, and linear equation markup in
|
|
<<textures-unnormalized-to-integer>> (public pull requests 1305, 1306,
|
|
1307).
|
|
|
|
Internal Issues:
|
|
|
|
* Add comments to extending enums in the generated API interfaces showing
|
|
which core version and/or extensions provide the enum, matching recent
|
|
changes to show this information for commands and structures (internal
|
|
issue 1431).
|
|
* Only allow code:Invocation memory scope in the
|
|
<<spirvenv-module-validation-standalone, Standalone SPIR-V Validation>>
|
|
section when memory semantics is *None* (internal issue 1782).
|
|
* Make reflow script handle literal block delimiters and lines containing
|
|
only whitespace properly (internal issues 2039, 2042).
|
|
* Clarify definition of <<limits-maxFragmentCombinedOutputResources,
|
|
pname:maxFragmentCombinedOutputResources>> (internal issue 2236).
|
|
* Add missing `errorcodes=` XML attributes for some
|
|
`<<VK_EXT_display_control>>` commands.
|
|
* Clarify <<features-extentperimagetype, allowed extent values based on
|
|
image type>> and the related <<limits-maxImageDimension1D>>,
|
|
<<limits-maxImageDimension2D>>, <<limits-maxImageDimension3D>>,
|
|
<<limits-maxImageDimensionCube>> limits (internal merge request 3922).
|
|
* Remove redundant valid usage statement
|
|
VUID-VkFramebufferCreateInfo-flags-03188 (internal merge request 3934).
|
|
* Update style guide to recommend new extension spec language be contained
|
|
in existing asciidoctor files, unless it's of enough scope to create a
|
|
and new chapter (internal merge request 3955).
|
|
|
|
New Extensions:
|
|
|
|
* `<<VK_EXT_directfb_surface>>` (public pull requests 1292, 1294).
|
|
* `<<VK_EXT_fragment_density_map2>>` (internal merge request 3914).
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for June 20, 2020 Vulkan 1.2.145 spec update:
|
|
|
|
* Update release number to 145 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Fix `<<VK_EXT_conservative_rasterization>>` interactions with external
|
|
SPIR-V and GLSL functionality in the extension appendix (public issue
|
|
1288).
|
|
|
|
Internal Issues:
|
|
|
|
* Break SPIR-V validation into two sections,
|
|
<<spirvenv-module-validation-standalone, Standalone SPIR-V Validation>>
|
|
and <<spirvenv-module-validation-runtime, Runtime SPIR-V Validation>>
|
|
(internal issue 1598).
|
|
* Add VkFormat enums for ASTC 3D formats to `vk.xml`. These values are
|
|
slotted into the reserved, and still disabled extension 289. They will
|
|
not appear in the published `vulkan_core.h` header and there is no
|
|
published extension utilizing them, but this allows external projects
|
|
such as KTX2 to use these values as part of their internal cross-API
|
|
formats by generating a header including this disabled extension
|
|
(internal merge requests 1662, 2216).
|
|
* Synchronize that shader binding table accesses from ray tracing
|
|
pipelines should be synchronized with the
|
|
ename:VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR pipeline stage and an
|
|
access mask of ename:VK_ACCESS_SHADER_READ_BIT (internal issue 1749).
|
|
* Validate that 3D image views are not used as attachments in
|
|
slink:VkFramebufferCreateInfo and slink:VkRenderPassAttachmentBeginInfo
|
|
(internal issue 2142).
|
|
* Increase the number of conditions recognized as build errors by the
|
|
valid usage extraction plugin (internal issue 2215).
|
|
* Relax slink:VkImportAndroidHardwareBufferInfoANDROID valid usage
|
|
statement 01881 to support external formats (internal issue 2220).
|
|
* Clearly define what "`optional capabilities`" means in the
|
|
<<spirvenv-capabilities, Capabilities>> section, and specify that if
|
|
*any* of the required core versions and/or extensions for a capability
|
|
is enabled, then it is valid to use that capability (internal merge
|
|
request 3827).
|
|
* Add ename:VK_FORMAT_B5G5R5_UNORM_PACK16 and
|
|
ename:VK_FORMAT_B5G5R5A1_UNORM_PACK16 to
|
|
`<<VK_EXT_custom_border_color>>` as exceptions when
|
|
<features-customBorderColorWithoutFormat>> is enabled (internal merge
|
|
request 3833).
|
|
* Add new <<spirvenv-format-type-matching, Image Format and Type
|
|
Matching>> section and refer to it from elsewhere in the spec,
|
|
clarifying rules regarding types for image operations (internal merge
|
|
request 3916).
|
|
* Fix typo sname:VkImageFormatProperties -> slink:VkFormatProperties
|
|
(internal merge request 3921).
|
|
* Move <<sparsememory-examples, sparse image examples>> to the Vulkan
|
|
Guide (internal merge request 3930).
|
|
* Fix typo in slink:VkAccelerationStructureBuildOffsetInfoKHR valid usage
|
|
statement 03553 (internal merge request 3938).
|
|
* Support <remove> tags for extending enumerants in XML (internal merge
|
|
request 3942).
|
|
|
|
New Extensions:
|
|
|
|
* `<<VK_EXT_extended_dynamic_state>>`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for June 8, 2020 Vulkan 1.2.144 spec update:
|
|
|
|
* Update release number to 144 for this update.
|
|
|
|
Internal Issues:
|
|
|
|
* Require `volatile` semantics for loading <<builtin-volatile-semantics,
|
|
certain variables used in ray pipeline stages>> in the
|
|
<<spirvenv-module-validation, Validation Rules within a Module>> and
|
|
also the <<ray-tracing-shader-call, Shader Call Instructions>> section
|
|
(internal issue 1924).
|
|
* Created new <<potential-format-features, Potential Format Features>>
|
|
section and corresponding glossary term, use the new term where
|
|
appropriate, and add some related valid usage statements to
|
|
flink:vkCmdBeginRenderPass, flink:vkCmdBeginRenderPass2,
|
|
slink:VkSubpassDescription, and slink:VkSubpassDescription2 (internal
|
|
issue 2031).
|
|
* Add interaction with `<<VK_KHR_ray_tracing>>` and corresponding `NV`
|
|
extension to flink:vkUpdateDescriptorSetWithTemplate (internal issue
|
|
2193).
|
|
* Resolve collisions in common VUID names using `{stageMaskName}`
|
|
qualifiers as part of the name and make fixes to
|
|
`config/vu-to-json/extension.rb` to match (internal issue 2215).
|
|
* Replace `shutil.move` operations with `copy` / `remove` in the base
|
|
`generator.py` code, working around a problem with bind mounts while
|
|
using the Khronos docker build image with `podman` instead of `docker`
|
|
(internal merge request 3872).
|
|
* Add a new <<spirvenv-extensions, SPIR-V Extensions>> subsection
|
|
containing a table showing the corresponding Vulkan extension or core
|
|
API required to support each of the SPIR-V extensions, replacing a
|
|
harder-to-read list of extensions (internal merge request 3876).
|
|
* Remove two redundant valid usage statements from flik:vkCmdResolveImage
|
|
(internal merge request 3878).
|
|
* Make repository REUSE-compliant, and run the `reuse` license checker as
|
|
part of internal CI. While most files now have SPDX license identifier
|
|
tags, some licenses are recorded in `.reuse/dep5` instead. Note that
|
|
this does not change licenses in the repository (aside from adding some
|
|
to files missing them), just insures that every file *has* an explicit
|
|
license (internal merge request 3904).
|
|
* Clarify that code:ImageMSArray is supported as part of the
|
|
<<features-shaderStorageImageMultisample>> feature (internal merge
|
|
request 3905).
|
|
* Reorganize some valid usage statements for flink:vkCmdBlitImage,
|
|
flink:vkCmdCopyBuffer, flink:vkCmdCopyBufferToImage,
|
|
flink:vkCmdCopyImage, flink:vkCmdCopyImageToBuffer, and
|
|
flink:vkCmdResolveImage as common valid usage statements, for
|
|
future-proofing (internal merge requests 3906, 3907, 3908, 3909, 3910).
|
|
* Add two valid usage statements to flink:vkAllocateMemory and
|
|
flink:vkCreateSampler for allocation limits of slink:VkDeviceMemory and
|
|
elink:VkSamplers, respectively (internal merge request 3923).
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for June 8, 2020 Vulkan 1.2.143 spec update:
|
|
|
|
* Update release number to 143 for this update.
|
|
* Reorganize some valid usage statements for slink:VkBufferMemoryBarrier,
|
|
and for commands with elink:VkPipelineStageFlags parameters, as common
|
|
valid usage statements, for future-proofing (internal merge requests
|
|
3863, 3867).
|
|
|
|
Github Issues:
|
|
|
|
* Move `translate_math.js` to the `scripts/` directory (public pull
|
|
request 1286).
|
|
* Minor cleanup of math markup (public pull request 1287).
|
|
|
|
Internal Issues:
|
|
|
|
* Misc. licensing updates (internal issue 1017):
|
|
** Replace the "`Exceptions`" clause on `vk.xml` with a dual Apache-2.0 OR
|
|
MIT license, with agreement of downstream developers known to be
|
|
affected by it. This enables use of `vk.xml` in GPLed projects under a
|
|
more widely used licensing scheme.
|
|
** Use `SPDX-License-Identifier` tags in place of longer license text.
|
|
This does not change the license terms on files other than `vk.xml`,
|
|
but makes license statements in most files more compact.
|
|
** Reorganize repository documentation (README.adoc, COPYING.adoc,
|
|
LICENSE.adoc, CONTRIBUTING.adoc, CODE_OF_CONDUCT.adoc, and BUILD.adoc)
|
|
with a more widely used split of information; make all of these files
|
|
Asciidoctor instead of Markdown format for consistency with the rest of
|
|
the repository; describe use of SPDX identifiers; and point to full
|
|
license text of the various OSS licenses used in the repository.
|
|
* Add new <<resources-image-views-identity-mappings, text describing the
|
|
identity swizzle>> incorporating the existing "`Component Mappings
|
|
Equivalent To ename:VK_COMPONENT_SWIZZLE_IDENTITY`" table, and refer to
|
|
this text in place of explicit references to
|
|
ename:VK_COMPONENT_SWIZZLE_IDENTITY in many places (internal merge
|
|
request 3399).
|
|
* Require code:storageBuffer16BitAccess capability if
|
|
`<<VK_KHR_16bit_storage>>` is enabled (internal merge request 3709).
|
|
* Added XML schema and generator script extensions to support 64-bit flags
|
|
and corresponding bitmasks (internal merge request 3718).
|
|
* Correct <<interfaces-resources-standard-layout, Standard Buffer Layout>>
|
|
alignment rules (internal merge request 3750).
|
|
* Relax non-strict line constraints in the <<primsrast-lines-basic>> and
|
|
<<primsrast-lines-bresenham>> sections (internal merge request 3792).
|
|
* Add missing `structextends` attribute to the
|
|
slink:VkPhysicalDevicePrivateDataFeaturesEXT definition in `vk.xml`
|
|
(internal merge request 3873).
|
|
* Move slink:VkImageFormatListCreateInfo valid usage statements to
|
|
flink:vkCreateImageView (internal merge request 3879).
|
|
* Update valid usage statements for slink:VkImageViewASTCDecodeModeEXT to
|
|
allow ASTC HDR formats (internal merge request 3881).
|
|
* Add missing extension dependency to
|
|
`<<VK_KHR_pipeline_executable_properties>>` definition in `vk.xml`
|
|
(internal merge request 3882).
|
|
* Require the <<features-customBorderColors>> feature be enabled when
|
|
using etext:VK_BORDER_COLOR_* in slink:VkSamplerCreateInfo (internal
|
|
merge request 3884).
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for June 1, 2020 Vulkan 1.2.142 spec update:
|
|
|
|
* Update release number to 142 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Add boilerplate descriptions of reserved bitmask types (public pull
|
|
request 1265).
|
|
* Move dynamic state valid usage statements from
|
|
slink:VkPipelineViewportExclusiveScissorStateCreateInfoNV and
|
|
VkPipelineViewportShadingRateImageStateCreateInfoNV to
|
|
slink:VkGraphicsPipelineCreateInfo, where they are testable, and make
|
|
corresponding tweaks in `vk.xml` (public pull request 1268).
|
|
* Add missing flink:vkDestroyPrivateDataSlotEXT explicit valid usage
|
|
statement (public pull request 1269).
|
|
* Cast arguments of dlink:VK_MAKE_VERSION macro to code:uint32_t to avoid
|
|
compiler warnings (public pull request 1279).
|
|
|
|
Internal Issues:
|
|
|
|
* Update <<fundamentals-validusage-pNext, description of pname:pNext
|
|
chains>> to allow structures in the chain to be defined by either core
|
|
versions or extensions. Add the new term "`extending structure`" to the
|
|
glossary to describe such structures, and use it in place of "`extension
|
|
structure`". Update the style guide accordingly (internal issue 1083).
|
|
* Add a comment to the beginning of generated API includes showing which
|
|
combinations of API core versions and extensions provide that API, based
|
|
on the explicit requirements in the API XML. This does not yet document
|
|
enumerants introduced by extending a base enum type (internal issue
|
|
1431).
|
|
* Relax the restriction that slink:VkBufferImageCopy::pname:bufferOffset
|
|
must be a multiple of 4 for flink:vkCmdCopyBufferToImage and
|
|
flink:vkCmdCopyImageToBuffer when run on graphics or compute queues, but
|
|
not on transfer queues (internal issue 1701).
|
|
* Document the types of "`special use`" extensions in the new
|
|
<<extendingvulkan-compatibility-specialuse, Special Use Extensions>>
|
|
section, summarize special uses in the generated metadata for extension
|
|
appendices, and link back to the new section from each special use
|
|
extension (internal issue 1938).
|
|
* Clarify behavior of flink:vkGetDeferredOperationMaxConcurrencyKHR,
|
|
allowing it to return zero for competed operations (internal issue 2036).
|
|
* Allow flink:vkGetInstanceProcAddr to resolve itself with a `NULL`
|
|
pname:instance (internal issue 2057).
|
|
* Modify the valid usage statement ID assignment script to track a range
|
|
of unused IDs for each extension branch under development, instead of
|
|
only allowing VUID assignment in `master` and `devel` branches (internal
|
|
issue 2100).
|
|
* Add `selector` and `selection` attributes for unions in XML, to enable
|
|
automatic generation of validation code (internal issue 2140).
|
|
* Fix validity generator for stext:Vk*Flags types that are aliases,
|
|
correcting generation of implicit valid usage for
|
|
slink:VkAccelerationStructureInfoNV::pname:flags. Remove
|
|
`noautovalidity` attribute for this member, as well as the previously
|
|
written explicit valid usage (internal issue 2140).
|
|
* Fix description of slink:VkTextureLODGatherFormatPropertiesAMD (internal
|
|
issue 2189).
|
|
* Remove redundant text about variables being explicitly laid out in the
|
|
<<interfaces-resources-layout, Offset and Stride Assignment>> section
|
|
(internal merge request 3691).
|
|
* Fix conflicting slink:VkSamplerYcbcrConversionCreateInfo valid usage
|
|
statements (internal merge request 3716).
|
|
* Fix use of code:AHARDWAREBUFFER_USAGE_GPU_COLOR_OUTPUT to
|
|
code:AHARDWAREBUFFER_USAGE_GPU_FRAMEBUFFER in valid usage statement
|
|
02386 for slink:VkMemoryAllocateInfo (internal merge request 3808).
|
|
* Add missing `externsync` XML attributes for ftext:vkCmd* commands
|
|
(internal merge request 3825).
|
|
* Add missing `extends` attribute to
|
|
slink:VkDevicePrivateDataCreateInfoEXT XML (internal merge request
|
|
3834).
|
|
* Add code:RayGeometryIndexKHR to the `<<VK_KHR_ray_tracing>>` list of
|
|
built-in variables (internal merge request 3853).
|
|
* Restrict slink:VkBufferViewCreateInfo with ename:VK_WHOLE_SIZE, and
|
|
round down results of division in calculating the test in the
|
|
corresponding valid usage statements (internal merge request 3858).
|
|
* Miscellaneous cleanup and reorganization of synchronization language in
|
|
multiple places, and add the
|
|
<<synchronization-image-barrier-layout-transition-order>> section
|
|
(internal merge request 3861).
|
|
* Redefine ename:VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT and
|
|
ename:VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT as pseudo-stages in multiple
|
|
places (internal merge request 3862).
|
|
* Reorganize some valid usage statements, especially but not limited to
|
|
stage mask parameters for slink:VkImageMemoryBarrier,
|
|
slink:VkPipelineStageFlags, flink:vkCmdPipelineBarrier,
|
|
flink:vkCmdResetEvent, flink:vkCmdSetEvent, flink:vkCmdWaitEvents,
|
|
flink:vkCmdWriteBufferMarkerAMD, and flink:vkCmdWriteTimestamp as common
|
|
valid usage statements, for future-proofing (internal merge requests
|
|
3864, 3865, 3866, 3867, 3868).
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for May 15, 2020 Vulkan 1.2.141 spec update:
|
|
|
|
* Update release number to 141 for this update.
|
|
* *Note*: Using the default build options, specification outputs will now
|
|
be created in `gen/out/` instead of `out/`, and header files will be
|
|
created in `gen/include/vulkan` instead of `include/vulkan`. This can be
|
|
overridden using the `-genpath` option to the frontend scripts like
|
|
`makeAllExts` and `makeSpec`, or by specifying `GENERATED=*path*` on the
|
|
make command line when invoking it directly.
|
|
|
|
Github Issues:
|
|
|
|
* Assign new elink:VkDriverId and elink:VkVendorId enums for Mesa (public
|
|
issue 1256).
|
|
|
|
Internal Issues:
|
|
|
|
* Fix a typo in the <<fragops-stencil, Stencil Test>> section, removing a
|
|
sentence fragment accidentally left over from an earlier merge conflict
|
|
resolution (internal issue 2158).
|
|
* Typo fixes for flink:vkGetRayTracingShaderGroupHandlesKHR and
|
|
flink:vkGetRayTracingCaptureReplayShaderGroupHandlesKHR valid usage
|
|
statements (internal merge request 3831).
|
|
* Add a `requiredBy` dictionary to the generated `vkapi.py` showing which
|
|
core versions or extensions require each API (internal merge request
|
|
3832).
|
|
* Allow specifying multiple API names for and tags in registry processing
|
|
scripts. Update the registry schema documentation accordingly, and
|
|
remove the redundant `xml_supported_name_of_api` method from the
|
|
VulkanConventions object (internal merge request 3836).
|
|
* Consolidate generated intermediate files and output documents into
|
|
$(GENERATED) directory, add -genpath option to scripts requiring them,
|
|
and modify Makefile accordingly. Add a new `makeSpec` script which
|
|
combines and extends the functionality of the `makeExt`, `makeKHR`, and
|
|
`makeAllExts` scripts (internal merge requests 3837, 3838, 3840, 3841).
|
|
* Add "`runtime`" to style guide and use that spelling consistently
|
|
(internal merge request 3843).
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for May 3, 2020 Vulkan 1.2.140 spec update:
|
|
|
|
* Update release number to 140 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Add `vk.xml` `noautovalidity` attribute to
|
|
flink:vkCmdBindTransformFeedbackBuffersEXT::pname:pSizes to cause change
|
|
in the generation of implicit valid usage statement for
|
|
pname:bindingCount (public issue 1227).
|
|
* Remove the special tokens (not part of the Vulkan API) suffixed with
|
|
etext:*_BEGIN_RANGE etext:*_END_RANGE, and etext:*_RANGE_SIZE from the
|
|
generated C headers, after consultation with downstream components and
|
|
ISVs and advanced warning to the developer community (public issue 1230,
|
|
internal issue 872).
|
|
|
|
*Note* if you absolutely require these tokens for some reason, you can
|
|
still build a version of the header which restores them. Edit
|
|
`scripts/genvk.py` to add the parameter `genEnumBeginEndRange = True` to
|
|
the `CGeneratorOptions` objects for the header file targets you want to
|
|
restore. See the version of `genvk.py` in the 1.2.139 spec update for an
|
|
example.
|
|
* Add valid usage statement to slink:VkApplicationInfo requiring that
|
|
pname:apiVersion be greater than or equal to dlink:VK_API_VERSION_1_0
|
|
(public pull request 1252).
|
|
* Add \<implicitexternsync> tags to `vk.xml` for flink:vkDestroyDevice
|
|
slink:VkQueue objects received from pname:device (public pull request
|
|
1255).
|
|
* Fix typo in slink:VkBufferMemoryBarrier language (public pull request
|
|
1257).
|
|
|
|
Internal Issues:
|
|
|
|
* Automatically generate interface lists for extension appendices from
|
|
`vk.xml` using a new interface generator script, and update the style
|
|
guide's description of these appendices accordingly (internal issue
|
|
977, internal merge request 3819).
|
|
* Add transitive language to the <<formats-compatible-planes, Compatible
|
|
formats of planes of multi-planar formats>> section to pull in format
|
|
compatibility classes as well (internal issue 1615).
|
|
* Add valid usage statements to ftext:vkCmdBuildAccelerationStructure*KHR,
|
|
flink:vkCmdCopyAccelerationStructureToMemoryKHR, and
|
|
flink:vkCmdCopyMemoryToAccelerationStructureKHR for structure builds
|
|
bound to device memory (internal issue 2033).
|
|
* Don't generate etext:*_MAX_ENUM values in documentation generators,
|
|
since they're not part of the API, and only meaningful on compiled
|
|
headers (internal issue 2056).
|
|
* Remove special lifetime rules for pipelines in the
|
|
<<fundamentals-objectmodel-lifetime-cmdbuffers>> section (internal issue
|
|
2068).
|
|
* Improve valid usage statements for ftext:vkCmdTraceRays*, share more
|
|
common VUs between ftext:vkTraceRays*, and add ftext:vkCmdTracerays* VUs
|
|
for bound buffers. Improve documentation for the
|
|
pname:raygenShaderBindingOffset parameters and fork `NV` and `KHR` valid
|
|
usage statements, since the shader binding table is described
|
|
differently (internal issues 2075, 2136).
|
|
* Clarify lifetime of acceleration structure build inputs for
|
|
flink:vkCreateAccelerationStructureKHR (internal issue 2077).
|
|
* Add a Note to the <<framebuffer-blending, Blending>> section to stop
|
|
claiming that blending is ignored for all integer formats (internal
|
|
issue 2098).
|
|
* Mark handle parameters of some ftext:vkDestroy* commands as `optional`
|
|
and `externsync="true"` in `vk.xml` (internal issue 2129).
|
|
* Add missing `:refpage:` attributes for ray tracing common valid usage
|
|
statements (internal issue 2141).
|
|
* Redefine fragment to include the possibility of it covering multiple
|
|
pixels. This affects many parts of the specification including the
|
|
<<pipelines, Pipelines>>, <<primsrast, Rasterization>>, and <<fragops,
|
|
Fragment Operations>> chapters, the `<<VK_EXT_post_depth_coverage>>`
|
|
appendix, the `Coverage*` and `Sample Index` glossary entries, the
|
|
code:SampleId and code:SampleMask definitions in the
|
|
<<interfaces-builtin-variables, Built-In Variables>> section, and the
|
|
<<shaders-fragment-execution, Fragment Shader Execution>>,
|
|
<<shaders-fragment-earlytest, Early Fragment Tests>>, and
|
|
<<textures-texel-coordinate-systems, Texel Coordinate Systems>> sections
|
|
(internal merge request 3568).
|
|
* Refactor `scripts/genvk.py` script to specify generator and generator
|
|
options to the `Registry` object before loading XML. This allows
|
|
generator options to influence behavior such as reparenting enum
|
|
elements from feature/extension elmements to the enums they are being
|
|
added to, which is desirable for generating complete feature lists for
|
|
an extension or core version (internal merge request 3789).
|
|
* Raise a fatal error (instead of a warning) in `scripts/generator.py`
|
|
when two enumerants that are not aliased have the same value, so that CI
|
|
will fail (internal merge request 3807).
|
|
* Remove accidentally duplicated slink:VkSubpassDependency2 valid usage
|
|
statement 03093 (internal merge request 3826).
|
|
|
|
New Extensions:
|
|
|
|
* `<<VK_EXT_private_data>>`
|
|
* `<<VK_EXT_custom_border_color>>`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for April 26, 2020 Vulkan 1.2.139 spec update:
|
|
|
|
* Update release number to 139 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Configure Github CI with Azure pipelines and the Khronos Docker build
|
|
image (public pull request 1141).
|
|
* Move NOTE in flink:vkEnumerateInstanceVersion prior to valid usage
|
|
statements (public pull request 1237).
|
|
* Add `implicitexternsyncparams` to flink:vkDestroyInstance for
|
|
slink:VkPhysicalDevice objects (public pull request 1244).
|
|
* Note in the style guide that extension names are used as preprocessor
|
|
symbols in all the generated Vulkan headers (public pull request 1245).
|
|
* Move NOTE about app use of `switch` statements and Vulkan API enums from
|
|
the style guide into the <<fundamentals-validusage-enums, Valid Usage
|
|
for Enumerated Types>> section (public pull request 1246).
|
|
* Modify generator script to use Unix newlines on all platforms (public
|
|
pull request 1250).
|
|
|
|
Internal Issues:
|
|
|
|
* Allow ename:VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT error to be
|
|
generated by flink:vkQueuePresentKHR (internal issue 1932).
|
|
* Update references to the SPIR-V Specification to version 1.5.3 (internal
|
|
issue 1957).
|
|
* Add a \<comment> explaining why the bitfields defined for
|
|
slink:VkAccelerationStructureInstanceKHR in `vk.xml` are non-normative
|
|
(internal issue 1975).
|
|
* Add valid usage statement for flink:vkBindImageMemory2::pname:pBindInfos
|
|
to prevent binding disjoint memory twice (internal merge request 3696).
|
|
* Add valid usage statements to flink:vkGetBufferMemoryRequirements,
|
|
flink:vkGetImageMemoryRequirements, and
|
|
slink:VkBufferMemoryRequirementsInfo2 requiring that external Android
|
|
hardware buffers be bound to memory (internal merge request 3717).
|
|
* Fix implicit valid usage statement generation script for handle
|
|
parameters with `optional="false,true"` XML attributes (internal merge
|
|
request 3753).
|
|
|
|
New Extensions:
|
|
|
|
* `<<VK_EXT_robustness2>>`
|
|
* `<<VK_QCOM_render_pass_shader_resolve>>`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for April 16, 2020 Vulkan 1.2.138 spec update:
|
|
|
|
* Update release number to 138 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Use correctly tagged normative term macros in various places (public
|
|
pull request 1217).
|
|
* Fix C arrow markup in parameter descriptions (public pull request 1222).
|
|
|
|
Internal Issues:
|
|
|
|
* Add language to the <<features-requirements, Feature Requirements>>
|
|
section, the <<versions, Core Revisions>> appendix, and the applicable
|
|
extensions to require major feature bits if the corresponding extension
|
|
is supported (internal issue 1961).
|
|
* Allow slink:VkAccelerationStructureCreateInfoKHR::pname:maxGeometryCount
|
|
= 0, and clarify that exactly one of pname:compactedSize and
|
|
pname:maxGeometryCount must: be zero. (internal issue 2079).
|
|
* Add `allowduplicate` attribute to XML `type` tags to enable future
|
|
structures which can allow multiple copies of a structure in their
|
|
pname:pNext chain (internal issue 2090).
|
|
* Add the glossary term "`format features`", and make minor clarifications
|
|
to uses of this term in several places in the <<resources, Resource
|
|
Creation>> chapter and the
|
|
<<resources-sampler-ycbcr-conversion-format-features, Sampler Ycbcr
|
|
Conversion Format Features>> section (internal merge request 3727).
|
|
* Add a constraint to the <<memory-external-android-hardware-buffer,
|
|
Android Hardware Buffer>> section requiring that bound slink:VkImage or
|
|
slink:VkBuffer objects be created with the
|
|
ename:VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID
|
|
flag set, and corresponding valid usage statements to
|
|
flink:vkBindBufferMemory, slink:VkBindBufferMemoryInfo,
|
|
flink:vkBindImageMemory, and slink:VkBindImageMemoryInfo (internal merge
|
|
request 3732).
|
|
* Fix pname:memoryTypes ordering description for device coherent memory
|
|
(ename:VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD) in the
|
|
<<memory-device-bitmask-list>> section (internal merge request 3738).
|
|
* Replace code:AHARDWAREBUFFER_USAGE_GPU_COLOR_OUTPUT with
|
|
code:AHARDWAREBUFFER_USAGE_GPU_FRAMEBUFFER in the
|
|
<<memory-external-android-hardware-buffer-usage, AHardwareBuffer Usage
|
|
Equivalence>> table, and add
|
|
ename:VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT flag for this case
|
|
(internal merge request 3741).
|
|
* Add more references to `NV` and `KHR` ray tracing pipelines in
|
|
discussions of creating pipelines, or generalize text so they need not
|
|
all be mentioned by name (internal merge request 3743).
|
|
* Allow *ShaderCallKHR* memory scope in ray tracing shaders, in the
|
|
<<spirvenv-module-validation, Validation Rules within a Module>>
|
|
appendix (internal merge request 3744).
|
|
* Use Khronos Dockerhub image for spec builds in internal CI (internal
|
|
merge request 3748).
|
|
* Add the `<<VK_KHR_dedicated_allocation>>` extension as a dependency of
|
|
`<<VK_ANDROID_external_memory_android_hardware_buffer>>` (internal merge
|
|
request 3751).
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for April 06, 2020 Vulkan 1.2.137 spec update:
|
|
|
|
* Update release number to 137 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Incorporate several changes to the specification build process and HTML
|
|
load-time scripts which pre-render KaTeX math, pre-fetch fonts, and
|
|
perform several other optimizations which can significantly improve load
|
|
time for the single-page HTML specification. In our internal evaluation
|
|
these changes appear to primarily help when using Chrome or Chromium,
|
|
with smaller improvements for Firefox and Safari. Speedups seem more
|
|
significant on Linux, Windows, and Android platforms, while MacOS
|
|
browsers may benefit less (public pull requests 702, 704, and 708).
|
|
* Clarify that code:OpVariable is decorated with code:Location, not
|
|
code:OpTypeStruct in the <<interfaces-iointerfaces-locations, Location
|
|
Assignment>> section (public issue 1203).
|
|
* Add a NOTE about the WSI origin location in the description of
|
|
flink:vkQueuePresentKHR (public pull request 1208).
|
|
* Add the `null-terminated` attribute to
|
|
slink:VkPerformanceValueDataINTEL::pname:valueString in `vk.xml` (public
|
|
pull request 1209).
|
|
* Mark slink:VkPhysicalDeviceVulkan11Properties and
|
|
slink:VkPhysicalDeviceVulkan12Properties structures as `returnedonly` in
|
|
`vk.xml` (public pull request 1210).
|
|
* Create explicit valid usage statements from text in the description of
|
|
slink:VkValidationFeaturesEXT (public pull request 1212).
|
|
* Update style guide to add "`user`" to the list of words *not* to use,
|
|
instead recommending "`application`" (public pull request 1213).
|
|
* Fix typos where `ext:` was used in the style guide instead of the new
|
|
`apiext:` asciidoctor macro (public pull request 1214).
|
|
* Miscellaneous minor markup and editing fixes (public pull request 1215).
|
|
* Remove etext:KHR from promoted ename:VK_MAX_DRIVER_NAME_SIZE in the
|
|
description of slink:VkPhysicalDeviceDriverProperties (public pull
|
|
request 1218).
|
|
* Correct use of `NULL` to dlink:VK_NULL_HANDLE in the
|
|
<<acceleration-structure-inactive-prims, Inactive Primitives and
|
|
Instances>> section (public pull request 1219).
|
|
* Remove trailing periods on valid usage statement text, as required by
|
|
the style guide, and add `scripts/deperiodize_vuids.py` to do this in
|
|
the future if needed (public pull request 1220).
|
|
|
|
Internal Issues:
|
|
|
|
* Provide a warning in the repository `README.adoc` of pending header
|
|
changes to remove etext:VK_*_BEGIN_RANGE, etext:VK_*_END_RANGE, and
|
|
etext:VK_*_RANGE_SIZE tokens (internal issue 872).
|
|
* Describe the meaning of code:Device for the `<<VK_KHR_shader_clock>>`
|
|
extension in the <<shaders-scope-device, Device>>,
|
|
<<shaders-scope-queue-family, Queue Family>>, and
|
|
<<shaders-scope-command, Command>> sections of the shader
|
|
<<shaders-scope, Scope>> section (internal issue 1955).
|
|
* Allow slink:VkDebugUtilsObjectNameInfoEXT::pname:pObjectName to be
|
|
either NULL or an empty string to remove a previously set name (internal
|
|
issue #2019).
|
|
* Add missing VK_ERROR_OUT_OF_HOST_MEMORY error code in `vk.xml` for
|
|
flink:vkEnumerateInstanceVersion (internal issue 2029).
|
|
* Require code:R32i or code:R32ui image format for
|
|
code:OpImageTexelPointer atomic operations in the
|
|
<<spirvenv-module-validation, Validation Rules within a Module>> section
|
|
(internal issue 2049).
|
|
* Remove the `<pattern>` element from images used in the specification, to
|
|
avoid complaints from prawn-svg during PDF spec builds (internal issue
|
|
2053).
|
|
* Clarify usable sample counts for empty subpasses in the
|
|
<<features-variableMultisampleRate>> section and the related
|
|
flink:vkCmdBindPipeline valid usage statement, as well as in the
|
|
<<limits-framebufferNoAttachmentsSampleCounts>>
|
|
<<renderpass-noattachments>> sections (internal issue 2066).
|
|
* Clarify pname:aspectMask usage in render passes in
|
|
slink:VkGraphicsPipelineCreateInfo valid usage statement 01565 and in
|
|
slink:VkAttachmentReference2 (internal merge request 3664).
|
|
* Remove unused etext:VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_KHR
|
|
token from `vk.xml` and the `<<VK_KHR_ray_tracing>>` appendix
|
|
(internal merge request 3680).
|
|
* Require <<features-subgroup-extended-types,
|
|
pname:shaderSubgroupExtendedTypes>> for Vulkan 1.2 (internal merge
|
|
request 3680).
|
|
* Generate symlinks from refpage aliases to the API they're aliasing
|
|
(internal merge request 3694).
|
|
* Add an alias from the old ename:VK_ANDROID_NATIVE_BUFFER_EXTENSION_NAME
|
|
token (internal merge request 3697).
|
|
* Add `scripts/compImages.sh` to compare all images in two git branches of
|
|
the specification (internal merge request 3699).
|
|
* Improve valid usage statements for `<<VK_NV_device_generated_commands>>`
|
|
in flink:vkCmdExecuteGeneratedCommandsNV,
|
|
slink:VkGeneratedCommandsInfoNV,
|
|
flink:vkCmdPreprocessGeneratedCommandsNV,
|
|
slink:VkIndirectCommandsStreamNV, slink:VkIndirectCommandsLayoutTokenNV
|
|
and slink:VkGraphicsPipelineCreateInfo (internal merge request 3702).
|
|
* Clarify differences between `<<VK_NV_ray_tracing>>` and
|
|
`<<VK_KHR_ray_tracing>>` for
|
|
slink:VkPipelineCreationFeedbackCreateInfoEXT pipeline creation,
|
|
pname:shaderGroupHandleSize and pname:maxRecursionDepth limit
|
|
requirement differences, and detangle `SPV_KHR/NV_ray_tracing` in the
|
|
<<spirvenv-capabilities-table, List of SPIR-V Capabilities and enabling
|
|
features or extensions>> (internal merge request 3710).
|
|
* Add flink:vkGetImageViewAddressNVX and
|
|
slink:VkImageViewAddressPropertiesNVX to `<<VK_NVX_image_view_handle>>`
|
|
(internal merge request 3710).
|
|
* Shorten 'make' output by reducing redundant logging output from refpage
|
|
build targets (internal merge request 3729).
|
|
* Replace sname: macro with slink: everywhere except language actually
|
|
describing the structure in the macro argument (internal merge request
|
|
3728).
|
|
* Add flink:vkGetBufferMemoryRequirements2 and
|
|
flink:vkGetImageMemoryRequirements2 to the commands for which the
|
|
implementation makes guarantees about certain properties of the memory
|
|
requirements in the <<resources-association, Resource Memory
|
|
Association>> section, following the description of
|
|
slink:VkMemoryRequirements (internal merge request 3730).
|
|
* Add valid usage statements for
|
|
`<<VK_ANDROID_external_memory_android_hardware_buffer>>` (internal merge
|
|
request 3731).
|
|
* Add requirements on the
|
|
slink:VkAccelerationStructureMemoryRequirementsInfoKHR acceleration
|
|
structure for which memory type bits must be exposed (internal
|
|
advisorypanel issue 28).
|
|
|
|
New Extensions:
|
|
|
|
* `<<VK_QCOM_render_pass_store_ops>>`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for March 24, 2020 Vulkan 1.2.136 spec update:
|
|
|
|
* Update release number to 136 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Generate per-extension refpages from the extension appendices in the
|
|
specification instead of the old, minimal generated refpages, and update
|
|
the registry index to point to these refpages instead of the
|
|
specification (public issue 1195, internal issue 1999).
|
|
* Rename ename:VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO_INTEL to
|
|
ename:VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL
|
|
to match the similar renaming of sname:VkQueryPoolCreateInfoINTEL to
|
|
slink:VkQueryPoolPerformanceQueryCreateInfoINTEL (public issue 1207,
|
|
internal issue 2048).
|
|
|
|
Internal Issues:
|
|
|
|
* Add a new <<resources-sampler-ycbcr-conversion-format-features, Sampler
|
|
Ycbcr Conversion Format Features>> section, and update
|
|
elink:VkFormatFeatureFlagBits and valid usage statements for
|
|
slink:VkSamplerCreateInfo and slink:VkSamplerYcbcrConversionCreateInfo
|
|
to refer to it (internal issue 1963).
|
|
* Comment out reserved but unused ename:VK_ACCESS_RESERVED_31_BIT_KHR to
|
|
avoid generator script warnings (internal issue 2016).
|
|
* Fix some `<<VK_KHR_ray_tracing>>` valid usage IDs that were broken in
|
|
the 1.2.135 update (internal issue 2044).
|
|
* Remove `const` qualifier from
|
|
sname:VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV::pname:pNext
|
|
in `vk.xml` (internal issue 2047).
|
|
* Remove `flowRoot` elements supported only by Inkscape from some of the
|
|
images, and update a couple to 96 DPI from 90 DPI due to current
|
|
Inkscape's insistence. This reduces warnings from prawn-svg during PDF
|
|
builds (internal issue 2053).
|
|
* Remove reference in the <<devsandqueues-lost-device, Lost Device>>
|
|
section to a non-existent list of functions returning
|
|
ename:VK_ERROR_DEVICE_LOST (internal merge request 3667).
|
|
* Add valid usage statements to slink:VkImageViewCreateInfo for cube and
|
|
cube array image view (internal merge request 3682).
|
|
* Remove redundant valid usage statement 00228 from flink:vkCmdBlitImage
|
|
(internal merge request 3684).
|
|
* Document the Khronos-provided Docker image, whose use is recommended
|
|
when building documents and generated files from this repository
|
|
(internal merge request 3686).
|
|
* Rename ename:VK_PIPELINE_COMPILE_REQUIRED_EXT from
|
|
ename:VK_ERROR_PIPELINE_COMPILE_REQUIRED_EXT and add an alias from the
|
|
old name, since it is not actually an error code. Add it to the
|
|
`successcodes` attributes of appropriate commands in `vk.xml` (internal
|
|
merge request 3687).
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for March 17, 2020 Vulkan 1.2.135 spec update:
|
|
|
|
* Update release number to 135 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Add missing dependencies of slink:VkExportMemoryWin32HandleInfoKHR on
|
|
slink:VkExportMemoryAllocateInfo in the slink:VkMemoryAllocateInfo
|
|
pname:pNext chain; slink:VkExportFenceWin32HandleInfoKHR on
|
|
slink:VkExportFenceCreateInfo in the slink:VkFenceCreateInfo pname:pNext
|
|
chain; and slink:VkExportSemaphoreWin32HandleInfoKHR on
|
|
slink:VkExportSemaphoreCreateInfo in the slink:VkSemaphoreCreateInfo
|
|
pname:pNext chain (public issue 1095).
|
|
* Update the <<spirvenv-module-validation, Validation Rules within a
|
|
Module>> section of the SPIR-V environment appendix to allow the
|
|
code:PhysicalStorageBuffer64 addressing model (public issue 1199).
|
|
* Fix markup in parameters section of
|
|
flink:vkGetPhysicalDeviceXcbPresentationSupportKHR (public pull request
|
|
1201).
|
|
* Amend rules in the <<extensions-vendor-id, Registering a Vendor ID with
|
|
Khronos>> section of the style guide to allow other Khronos APIs such as
|
|
OpenCL to reserve vendor IDs here so they can be shared with those APIs
|
|
(public KhronosGroup/OpenCL-Docs pull request 203).
|
|
|
|
Internal Issues:
|
|
|
|
* Clarify layer loading order for slink:VkInstanceCreateInfo and in the
|
|
<<extendingvulkan-layers, Layers>> chapter following the specification
|
|
of slink:VkLayerProperties (internal issue 1986).
|
|
* Simplify markup for SPIR-V versions required by different Vulkan
|
|
versions in the <<spirvenv, Vulkan Environment for SPIR-V>> appendix
|
|
(internal issue 2011).
|
|
* Rename sname:VkQueryPoolCreateInfoINTEL to
|
|
slink:VkQueryPoolPerformanceQueryCreateInfoINTEL in the
|
|
`<<VK_INTEL_performance_query>>` extension (internal issue 2022).
|
|
* Add ename:VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT to
|
|
elink:VkValidationFeatureEnableEXT to specify that layers will process
|
|
code:debugPrintfEXT operations (internal issue 2023).
|
|
* Fix conflicting language in slink:VkSamplerYcbcrConversionCreateInfo
|
|
valid usage statement 01653 (internal merge request 3629).
|
|
* Add missing valid usage statement for slink:VkSparseImageMemoryBindInfo
|
|
to require slink:VkImage objects created with the
|
|
ename:VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT flag set (internal merge
|
|
request 3633).
|
|
* Remove redundant valid usage statement 00122 from flink:vkCmdCopyImage
|
|
(internal merge request 3643).
|
|
* Fix several places where `VULKAN_1_1` was used in asciidoctor
|
|
conditional markup instead of `VK_VULKAN_1_1` (internal merge request
|
|
3654).
|
|
* Fix conditional markup around slink:VkImageViewCreateInfo valid usage
|
|
statement 01018 to ensure it doesn't overlap a similar valid usage
|
|
statement written for another combination of enabled extensions and
|
|
versions (internal merge request 3655).
|
|
* Remove redundant valid usage statement from flink:vkCmdCopyImage that
|
|
was already covered by statements for slink:VkImageCopy. Eventually this
|
|
will be inverted so the statements are located with flink:vkCmdCopyImage
|
|
but that requires more work and is deferred (internal merge request
|
|
3656).
|
|
* Clarify wording of slink:VkImageMemoryBarrier valid usage statement
|
|
01671 and add a missing statement (internal merge request 3657).
|
|
* Minor fixes to the style guide to bring it up to date with respect to
|
|
the asciidoctor client, assignment of valid usage ID tags, and proper
|
|
placement of valid usage statements (internal merge request 3662).
|
|
* Add missing valid usage statements to slink:VkSubpassDescription2 based
|
|
on comparable statements for slink:VkSubpassDescription (internal merge
|
|
request 3663).
|
|
|
|
New Extensions
|
|
|
|
* Ray Tracing package of extensions, including
|
|
** `<<VK_KHR_deferred_host_operations>>`
|
|
** `<<VK_KHR_pipeline_library>>`
|
|
** `<<VK_KHR_ray_tracing>>`
|
|
* `<<VK_EXT_pipeline_creation_cache_control>>`
|
|
* `<<VK_NV_device_diagnostics_config>>`
|
|
* `<<VK_NV_device_generated_commands>>` (replacing
|
|
`VK_NVX_device_generated_commands`, which was an experimental vendor
|
|
extension and has been removed from the Specification and `vk.xml`).
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for March 6, 2020 Vulkan 1.2.134 spec update:
|
|
|
|
* Update release number to 134 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Fix flink:vkGetPhysicalDeviceToolPropertiesEXT implicit array valid
|
|
usage statements, rewrite for consistency, and explicitly state lifetime
|
|
of retrieved results (public pull request 1148).
|
|
* Change use of "`happens before`" to glossary term "`happens-before`"
|
|
(public pull request 1170).
|
|
* Use glossary terms "`release operation`" / "`acquire operation`" instead
|
|
of similar colloquial language (public pull request 1171).
|
|
* Fix minor spelling errors and duplicated words (public pull request
|
|
1174).
|
|
* Remove duplicate "`to`" word (public pull request 1176).
|
|
* Rephrase description of signaling / unsignaling for slink:VkEvent
|
|
(public pull request 1179).
|
|
* Update asciidoctor extension handling of C arrow operator to avoid need
|
|
for escaping it in custom macros, and corresponding fixes to markup in
|
|
the spec and to the style guide (public pull request 1186).
|
|
* Move layout transition NOTE in the
|
|
<<synchronization-image-layout-transitions, Image Layout Transitions>>
|
|
section below the corresponding normative paragraph (public pull request
|
|
1190).
|
|
* Change the parent handle types of slink:VkDisplayKHR and
|
|
slink:VkDisplayModeKHR in `vk.xml` (public pull request 1194).
|
|
* Add missing `len` attribute for
|
|
flink:vkQueueSignalReleaseImageANDROID::pname:pWaitSemaphores parameter
|
|
in `vk.xml` (public pull request 1196).
|
|
|
|
Internal Issues:
|
|
|
|
* Link to HTML preview of `SPV_KHR_non_semantic_info` link in the
|
|
`<<VK_KHR_shader_non_semantic_info>>` appendix, instead of asciidoctor
|
|
source document (internal merge request 3614).
|
|
* Improve registry schema documentation description of allowed <enum> tags
|
|
inside <remove> tags (internal merge request 3614).
|
|
|
|
* Clarify behavior when reading or writing image formats with padding
|
|
("`X`" components) in the "`Common Operation`" section of the <<copies>>
|
|
chapter, and that padding components are unused in the elink:VkFormat
|
|
description of such formats (internal issue 1122).
|
|
* Clarify that flink:vkGetDeviceProcAddr can be used for device-level
|
|
commands from instance extensions (internal issue 1960).
|
|
* Add a note to the <<primsrast-lines-bresenham, Bresenham Line Segment
|
|
Rasterization>> section clarifying that line rasterization does not
|
|
depend on sample locations (internal issue 1855).
|
|
* Add a new header macro dlink:VK_HEADER_VERSION_COMPLETE which provides
|
|
the complete version (major, minor, and patch/release) of the Vulkan
|
|
headers at compile time, and document the intended use cases for this
|
|
macro (internal issue 1990).
|
|
* Remove `optional` attribute from
|
|
slink:VkDebugUtilsObjectNameInfoEXT::pname:pObjectName in `vk.xml`,
|
|
making the string required (internal issue 2002).
|
|
* Add a missing `structextends` attribute for
|
|
slink:VkQueryPoolCreateInfoINTEL in `vk.xml` (internal merge request
|
|
3599).
|
|
* Clarify when implicit subpass dependencies are introduced in the
|
|
definition of slink:VkSubpassDependency (internal merge request 3603).
|
|
* Update several valid usage statements for flink:vkCmdResetQueryPool,
|
|
flink:vkCmdBeginQuery, and flink:vkCmdBeginQueryIndexedEXT which
|
|
interact with the presence of flink:vkCmdResetQueryPool commands in a
|
|
command buffer, and restrict the VUs to performance queries (internal
|
|
merge request 3604).
|
|
* Simplify a hard-to-parse sentence in the <<textures-RGB-sexp, RGB to
|
|
Shared Exponent Conversion>> section (internal merge request 3606).
|
|
* Add a `pdfwidth` attribute to markup for images inside tables, to work
|
|
around a crash occurring in recent versions of asciidoctor-pdf (internal
|
|
merge request 3626).
|
|
|
|
New Extensions
|
|
|
|
* `<<VK_QCOM_render_pass_transform>>`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for February 15, 2020 Vulkan 1.2.133 spec update:
|
|
|
|
* Update release number to 133 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Clarify language describing the <<commandbuffers-lifecycle, command
|
|
buffer lifecycle>> (public pull request 1152).
|
|
* Add anchor handles to chapters and VUID statements in the HTML outputs
|
|
(public pull request 1157).
|
|
* Update declaration of flink:vkCmdDrawIndexedIndirectCountAMD to alias
|
|
the core function rather than the KHR extension function (public pull
|
|
request 1165).
|
|
* Remove redundant NOTE discussing
|
|
ename:VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT after the description
|
|
of slink:VkCommandBufferInheritanceInfo.txt (public pull request 1167).
|
|
* Reserved vendor ID for Codeplay (public pull request #1167).
|
|
|
|
Internal Issues:
|
|
|
|
* Restrict flag bits to bit positions 0..30. Add language to the
|
|
<<fundamentals-validusage-flags, Valid Usage for Flags>> section
|
|
expressing the restriction; to the registry documentation where the
|
|
`bitpos` attribute is defined; and finally, add a test to the generator
|
|
scripts that warns of bits 31 and higher being used (internal issue
|
|
1945).
|
|
* Clarify dynamic indexing of sampler objects in the
|
|
<<interfaces-resources-descset, Descriptor Set Interface>> section, to
|
|
be controlled by the same feature as sampled images (internal issue
|
|
1951).
|
|
* Make the effect of query reset commands requiring multiple passes to
|
|
complete explicit, by disallowing resets of the same query from the same
|
|
primary command buffer in the description of flink:vkCmdResetQueryPool
|
|
and the valid usage statements for ftext:vkCmdBeginQuery* (internal
|
|
issue 1965).
|
|
* Update interaction between elink:VkFormatFeatureFlagBits affecting
|
|
slink:VkSamplerYcbcrConversionCreateInfo::pname:forceExplicitReconstruction
|
|
(internal merge request 3533).
|
|
* Generate implicit pname:sType-unique valid usage statements from
|
|
`validitygenerator.py` even for pname:pNext chains with only a single
|
|
valid structure type, to enable validation layers work (internal merge
|
|
request 3534).
|
|
* Clean up wording of some flink:vkBindImageMemory valid usage statements
|
|
(internal merge request 3547).
|
|
* Mark the `VK_EXT_shader_subgroup_vote` and
|
|
`VK_EXT_shader_subgroup_ballot` as deprecated in `vk.xml` (internal
|
|
merge request 3558).
|
|
* Tighten slink:VkSamplerYcbcrConversionCreateInfo::pname:chromaFilter
|
|
valid usage restriction to be ename:VK_FILTER_NEAREST instead of
|
|
ename:VK_FILTER_LINAER, now that other filters exist (internal merge
|
|
request 3561).
|
|
* Add valid usage statements to slink:VkCommandPoolCreateInfo and
|
|
slink:VkDeviceQueueCreateInfo requiring that the corresponding
|
|
ename:VK_COMMAND_POOL_CREATE_PROTECTED_BIT and
|
|
ename:VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT not be set if the protected
|
|
memory feature is not enabled. Previously this restriction was described
|
|
for the elink:VkCommandPoolCreateFlagBits and
|
|
elink:VkDeviceQueueCreateFlagBits types containing those flags, but not
|
|
in valid usage statements (internal merge request 3563).
|
|
* Fix conditional markup in the <<shaders-scope-device>> and
|
|
<<shaders-scope-queue-family>> sections to apply to Vulkan 1.2, as well
|
|
as `VK_KHR_vulkan_memory_model` (internal merge request 3570).
|
|
* Add performance queries to the list in the introduction of the
|
|
<<supported query types, queries>> chapter (internal merge request
|
|
3577).
|
|
|
|
New Extensions
|
|
|
|
* `<<VK_KHR_shader_non_semantic_info>>`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for January 20, 2020 Vulkan 1.2.132 spec update:
|
|
|
|
* Update release number to 132 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Move and reword a NOTE in the <<extendingvulkan-extensions, Extensions>>
|
|
section (public pull request 1131).
|
|
* Change redundant description of application error when using
|
|
flink:vkMapMemory into a non-normative NOTE (public pull request 1143).
|
|
* Remove redundant valid usage statement for flink:vkCmdExecuteCommands
|
|
(public pull request 1151).
|
|
* Remove redundant command buffer
|
|
ename:VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT language in
|
|
flink:vkCmdExecuteCommands valid usage statements (public pull request
|
|
1153).
|
|
* Add flink:vkBeginCommandBuffer valid usage statement to prevent using a
|
|
primary command buffer with both the
|
|
ename:VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT and
|
|
ename:VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT flags (public pull
|
|
request 1154).
|
|
* Add slink:VkRenderPassBeginInfo valid usage statements for
|
|
pname:renderArea (public pull request 1159).
|
|
* Add missing valid usage statements for flink:vkCmdBeginRenderPass when
|
|
`VK_KHR_separate_depth_stencil_layouts` is enabled (public
|
|
KhronosGroup/Vulkan-ValidationLayers issue 1470).
|
|
|
|
Internal Issues:
|
|
|
|
* Clarify the definition of "`transfer commands`" for
|
|
<<synchronization-pipeline-stages-transfer,
|
|
ename:VK_PIPELINE_STAGE_TRANSFER_BIT>> (internal issue 816).
|
|
* Clarify VK_ATTACHMENT_STORE_OP_DONT_CARE and reorder render pass chapter
|
|
(internal issue 1098).
|
|
* Clarify that <<pipelines-dynamic-state, Dynamic State>> can be set
|
|
before pipeline bind, and update valid usage statements accordingly
|
|
(internal issue 1624).
|
|
* Clarify the behavior of floating-point divide by zero in the
|
|
<<spirvenv-precision-operation, Precision and Operation of SPIR-V
|
|
Instructions>> section (internal issue 1669).
|
|
* Add a valid usage statement to flink:vkCmdResetQueryPool which allows
|
|
not calling flink:vkCmdEndQuery if a prior flink:vmCmdResetQuery command
|
|
was called (internal issue 1700).
|
|
* Refactor specification of shader scopes into the new <<shaders-scope,
|
|
Scope>> section, and modify other references to this language
|
|
accordingly. Also describe quad invocation groups properly, with
|
|
derivative and quad group operations referencing the description, and
|
|
call out helper invocations as being able to become spontaneously
|
|
inactive. Simplify parts of the texturing chapter accordingly (internal
|
|
issues 1824, 1884, 1885, 1911).
|
|
* Stop claiming that semaphore signals are ordered between different queue
|
|
commands in the <<synchronization-signal-operation-order>> section
|
|
(internal merge request 3542).
|
|
* Move a valid usage statement from slink:VkBindImagePlaneMemoryInfo to
|
|
flink:vkBindImageMemory2, where it can be determined (internal merge
|
|
request 3548).
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for January 15, 2020 Vulkan 1.2.131 spec update:
|
|
|
|
* Vulkan 1.2 initial release. Update release number to 131 for this
|
|
update. The patch number will be used for all Vulkan 1.x spec updates,
|
|
and continue to increment continuously from the previous Vulkan 1.1.130
|
|
update.
|
|
|
|
Github Issues:
|
|
|
|
* Use the attributes {prime}, {YCbCr}, and {RGBprime} for better markup of
|
|
prime symbols, and ease of changing the markup for the commonly used
|
|
color format names (public issue 636).
|
|
* Expand the <<extendingvulkan-extensions-extensiondependencies, Extension
|
|
Dependencies>> section to acknowledge that extension dependencies are
|
|
usually, but not always satisfied by promoted versions of the
|
|
dependencies, and point to the extension and version appendices for more
|
|
information (public issue 1085).
|
|
* Clarify the <<features-shaderStorageImageExtendedFormats,
|
|
pname:shaderStorageImageExtendedFormats>> feature and add corresponding
|
|
formats to the <<formats-mandatory-features-2byte>>,
|
|
<<formats-mandatory-features-10bit>>,
|
|
<<formats-mandatory-features-16bit>>, and
|
|
<<formats-mandatory-features-64bit>> tables (public pull request 1098).
|
|
* Fix issue 2 wording in the `<<VK_KHR_surface>>` appendix (public pull
|
|
request 1100).
|
|
* Fix valid usage statements for
|
|
slink:VkSwapchainCreateInfoKhr::pname:minImageCount interactions with
|
|
`<<VK_KHR_shared_presentable_image>>` (public pull request 1101).
|
|
* Change the etext:VK_QUERY_SCOPE_* tokens in the
|
|
slink:VkPerformanceCounterScopeKHR to aliases of new
|
|
etext:VK_PERFORMANCE_COUNTER_SCOPE_* tokens, following the naming
|
|
conventions for enumerants (public issue 1130).
|
|
* Move `NV` extension pipe stages in elink:VkShaderStageFlagBits so they
|
|
are not included in enmae:VK_SHADER_STAGE_ALL_GRAPHICS (public pull
|
|
request 1133).
|
|
* Clarify the introduction of the "`Surface Queries`" section of the
|
|
<<wsi, Window System Integration>> chapter (public pull request 1135).
|
|
* Fix macros that consume codelike text like pname:foo\->bar (public pull
|
|
request 1149).
|
|
|
|
Internal Issues:
|
|
|
|
* Add a new <<fundamentals-errorcodes, error code>>,
|
|
ename:VK_ERROR_UNKNOWN, that can be returned by any function that has
|
|
error returns (internal issue 1654).
|
|
* Remove the `<<VK_EXT_filter_cubic>>` requirement to cubic filter the
|
|
formats etext:*USCALED_PACKED32, etext:*SSCALED_PACKED32,
|
|
etext:*UINT_PACK32, and etext:*SINT_PACK32 in the
|
|
<<features-required-format-support, Required Format Support>> section
|
|
(internal issue 1934).
|
|
* Add a missing valid usage statement for
|
|
`<<VK_KHR_buffer_device_address>>` to slink:VkBindBufferMemoryInfo,
|
|
based on a similar statement for flink:vkBindBufferMemory (internal
|
|
merge request 3512).
|
|
* Fix some 'name:' macros to the correct 'pname:' (internal merge request
|
|
3529).
|
|
* Changes to script tools to stay relatively aligned with OpenXR scripts
|
|
(internal merge request 3530).
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for December 9, 2019 Vulkan 1.1.130 spec update:
|
|
|
|
* Update release number to 130
|
|
|
|
Github Issues:
|
|
|
|
* Mark slink:VkPipelineExecutableInternalRepresentationKHR as
|
|
`returnedonly` in `vk.xml` (public pull request 1092).
|
|
* Use 'slink:' in autogenerated valid usage statements instead of 'sname:'
|
|
(public pull request 1093).
|
|
* Split flink:vkGetQueryPoolResults VU statement 00815, which had
|
|
disallowed internal asciidoctor conditionals into two (public issue
|
|
1094).
|
|
* Minor markup and editing fixes (public pull request 1099).
|
|
* Hide outdated valid usage statement when not building with timeline
|
|
semaphore extension (public pull request 1121).
|
|
* Add `<<VK_NV_glsl_shader>>` deprecation note (public pull request 1125).
|
|
* Add SPV and GLSL links to `<<VK_KHR_multiview>>` (public pull request
|
|
1128).
|
|
|
|
Internal Issues:
|
|
|
|
* Clarify and consistently refer to the shader interface matching rules in
|
|
the <<interfaces, Shader Interfaces>> chapter (internal issue 1067).
|
|
* Clarify that inner array dimensions can't be sized with specialization
|
|
constants in the <<spirvenv-module-validation, Validation Rules within a
|
|
Module>> section (internal issue 1739).
|
|
* Use consistent markup for nested access (members, array references,
|
|
pointers) to structure members and function parameters (internal issues
|
|
503, 1765).
|
|
* Make slink:VkDeviceQueueInfo2::flags optional in `vk.xml` to remove an
|
|
inappropriate valid usage statement (internal issue 1805).
|
|
* Fix API name assignment for valid usage blocks in `scripts/reflow.py`
|
|
(internal issue 1809).
|
|
* Make spec language more internally consistent by fixing remaining cases
|
|
where the term "`an instance of (structurename)`" was used, and
|
|
expanding the style guide rules for describing pname:pNext chains along
|
|
with corresponding edits it (internal issue 1814).
|
|
* Disallow code:Workgroup memory and execution scope and code:Workgroup
|
|
storage class in all but compute, mesh, and task shaders in the
|
|
<<spirvenv-module-validation, Validation Rules within a Module>>
|
|
section. There is an exception for code:Workgroup execution scope in
|
|
tessellation control shaders because we do not have a more appropriate
|
|
scope for patch barriers (internal issue 1905).
|
|
* Restore 'Promoted to Vulkan 1.1 Core' comments in extension appendices,
|
|
which were accidentally removed in spec revision 1.1.129 (internal issue
|
|
1914).
|
|
* Add some minor markup fixes as well as new valid usage statements for
|
|
slink:VkAttachmentDescription, slink:VkAttachmentDescription2KHR, and
|
|
slink:VkAttachmentReference2KHR (internal merge request 3493).
|
|
|
|
New Extensions
|
|
|
|
* `<<VK_EXT_tooling_info>>`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for November 25, 2019 Vulkan 1.1.129 spec update:
|
|
|
|
* Update release number to 129
|
|
|
|
Github Issues:
|
|
|
|
* Rename "`pixel shaders`" to "`fragment shaders`" (public issue 1082).
|
|
* Fix some markup in external semaphore extension (public pull request
|
|
1083).
|
|
* Fix styleguide em-dash example (public pull request 1088).
|
|
* Update `.gitignore` to include some additional static refpages (public
|
|
pull request 1089).
|
|
* Restructure query language in <<wsi, Window System Integration (WSI)>>
|
|
chapter - split into sections, reordered orphaned paragraphs, simplify
|
|
language (public pull request 1090).
|
|
|
|
Internal Issues:
|
|
|
|
* Remove NVIDIA contributors from `<<VK_KHR_performance_query>>` (internal
|
|
merge request 3481).
|
|
|
|
New Extensions
|
|
|
|
* `<<VK_KHR_buffer_device_address>>`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for November 18, 2019 Vulkan 1.1.128 spec update:
|
|
|
|
* Update release number to 128
|
|
|
|
Github Issues:
|
|
|
|
* Fix valid usage condition for
|
|
flink:vkAllocationMemory::pname:pAllocateInfo (public issue 1032).
|
|
* Change explicit valid usage statements for queue transfer operations in
|
|
flink:vkCmdWaitEvents and flink:vkCmdPipelineBarrier, and corresponding
|
|
language in the <<synchronization-queue-transfers-release>> section, to
|
|
incorporate access masks and clarify when queue transfer ops occur
|
|
(public pull request 1046).
|
|
* Ignore disabled bits in valid usage statements (public pull request
|
|
1062).
|
|
* Fix some broken HTML links (public pull request 1063).
|
|
* Change ename:VK_PIPELINE_CREATE_DISPATCH_BASE to an alias of new token
|
|
ename:VK_PIPELINE_CREATE_DISPATCH_BASE_BIT, to follow the naming
|
|
conventions for bitmasks (public issue 1075).
|
|
|
|
Internal Issues:
|
|
|
|
* Add valid usage statement to flink:vkQueueSubmit for attempted use of a
|
|
resource currently not available for use (internal issue 1751).
|
|
* Make it invalid for an implementation to return anything but
|
|
ename:VK_SUCCESS for the flink:vkFreeDescriptorSets and
|
|
flink:vkResetDescriptorPool commands (internal issue 1781).
|
|
* Add a note clarifying the relationship between
|
|
code:SubgroupLocalInvocationId and code:LocalInvocationId or
|
|
code:LocalInvocationIndex to the <<interfaces-builtin-variables-sgli,
|
|
code:SubgroupLocalInvocationId>> description (internal issue 1810).
|
|
* Add valid usage statements for scissor regions to
|
|
slink:VkPipelineViewportStateCreateInfo based on similar statements for
|
|
flink:vkCmdSetScissor, and generalize all these VUs to cover each
|
|
element of the pname:pScissors array (internal issue 1861).
|
|
* Fix the basis matrix for <<textures-texel-cubic-filtering, Texel Cubic
|
|
Filtering>> (internal issue 1878).
|
|
* Make the
|
|
slink:VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT::pname:pNext
|
|
member non-const, like other feature structures (internal issue 1880).
|
|
* Document that aggregate load/store may access padding bytes in the
|
|
<<memory-model-memory-location, Memory Location>> appendix (internal
|
|
cross-api/memory-model issue 113).
|
|
* Clarify in the description of elink:VkDescriptorBindingFlagBitsEXT that
|
|
ename:VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT descriptors allow
|
|
for updating different descriptors in the same set at the same time on
|
|
multiple threads (internal merge request 3419).
|
|
* Clarify that resolve attachments don't need to be compatible in the
|
|
<<renderpass-compatibility, Render Pass Compatibility>> section
|
|
(internal merge request 3422).
|
|
* Add Visual Studio folders to `.gitignore` (internal merge request 3450).
|
|
* Add language to
|
|
slink:sname:VkPipelineCoverageModulationStateCreateInfoNV documenting
|
|
that coverage modulation has no effect when using the
|
|
ename:VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV reduction mode, clarifying
|
|
an interaction with `<<VK_NV_coverage_reduction_mode>>` (internal merge
|
|
request 3456).
|
|
|
|
New Extensions
|
|
|
|
* `<<VK_KHR_performance_query>>`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for November 4, 2019 Vulkan 1.1.127 spec update:
|
|
|
|
* Update release number to 127
|
|
|
|
Github Issues:
|
|
|
|
* Consistently use the feature name pname:pipelineExecutableInfo as found
|
|
in `vk.xml` and the generated header files, instead of
|
|
pname:pipelineExecutableProperties as sometimes used in the
|
|
specification text (public issue 1061).
|
|
* Clarify the definition of the code:PrimitiveId returned by a
|
|
`<<VK_NV_ray_tracing>>` shader (public issue 1068).
|
|
|
|
Internal Issues:
|
|
|
|
* Remove unused `draw_renderpass_validation.txt` valid usage text
|
|
(internal issue 1869).
|
|
* Require <<features-features-timelineSemaphore, pname:timelineSemaphore>>
|
|
if the `<<VK_KHR_timeline_semaphore>>` extension is supported (internal
|
|
issue 1873).
|
|
* Fix typos in slink:VkBindBufferMemoryInfo valid usage statement 02791
|
|
and various slink:VkSparseMemoryBind VUs (internal merge request 3411).
|
|
* Minor non-semantic markup and diagram fixes (internal merge request
|
|
3417).
|
|
* Clarify that <<interfaces-iointerfaces-locations, Location>> values are
|
|
physical slots, not a virtual table that just imposes an overall maximum
|
|
on the number of locations that can be used (internal merge request
|
|
3426).
|
|
* Add links to GLSL specs from the `<<VK_KHR_shader_clock>>` appendix, as
|
|
well as expected mappings for GLSL builtins (internal merge request
|
|
3429).
|
|
|
|
New Extensions
|
|
|
|
* `<<VK_KHR_separate_depth_stencil_layouts>>`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for October 21, 2019 Vulkan 1.1.126 spec update:
|
|
|
|
* Update release number to 126
|
|
|
|
Github Issues:
|
|
|
|
* Update the elink:VkAccessFlagBits etext:VK_ACCESS_MEMORY_* flags
|
|
definition to make clear that ename:VK_ACCESS_MEMORY_READ_BIT and
|
|
ename:VK_ACCESS_MEMORY_WRITE_BIT are meant to be equivalent to setting
|
|
all applicable etext:READ and etext:WRITE access flags, and update the
|
|
<<synchronization-access-types-supported, supported access types>> table
|
|
accordingly (public pull request 1014).
|
|
* Remove misleading NOTE in the <<synchronization-dependencies-chains>>
|
|
section (public pull request 1048).
|
|
* Clarify the memory mapping NOTE about invalidation described for
|
|
flink:vkInvalidateMappedMemoryRanges (public pull request 1049).
|
|
* Fix label for flink:vkCmdWaitEvents VUID 02803 (public pull request
|
|
1056).
|
|
* Styleguide fixes to several NOTES in the <<synchronization>> chapter
|
|
(public pull request 1057).
|
|
* Markup fix to <<features-features-timelineSemaphore>> section (public
|
|
pull request 1058).
|
|
* Convert some external links to `https` protocol (public pull request
|
|
1064).
|
|
* Remove unsupported nested links inside table captions (public pull
|
|
request 1067 + followon tweak to make 'allchecks' target pass).
|
|
|
|
Internal Issues:
|
|
|
|
* Restrict the SPIR-V code:Invariant decoration to only be used with
|
|
code:Output variables in the <<spirvenv-module-validation, Validation
|
|
Rules within a Module>> section (internal issue 1832).
|
|
* Clarify that the <<features-independentResolve, independentResolve>>
|
|
feature implies support for the <<features-independentResolveNone,
|
|
independentResolveNone>> feature (internal issue 1848).
|
|
* Clarify self-contradictory language for slink:VkSubpassDescription to
|
|
say that resolves only happen within the render area (internal issue
|
|
1850).
|
|
* Add valid usage statements for slink:VkMemoryAllocateInfo and
|
|
corresponding language to elink:VkExternalMemoryFeatureFlagBitsKHR to
|
|
restrict implementations and applications from using both an external
|
|
host memory allocation and dedicated allocation (internal merge request
|
|
3375).
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for October 13, 2019 Vulkan 1.1.125 spec update:
|
|
|
|
* Update release number to 125.
|
|
|
|
Github Issues:
|
|
|
|
* Allow slink:VkRenderPassFragmentDensityMapCreateInfoEXT to extend
|
|
slink:VkRenderPassCreateInfo2KHR in `vk.xml` (public issue 1027).
|
|
* Fix markup in `<<VK_EXT_external_memory_dma_buf>>` appendix (public pull
|
|
request 1051).
|
|
* Update .gitignore (public pull request 1052).
|
|
|
|
Internal Issues:
|
|
|
|
* Disallowed slink:VkEvent from participating in queue family ownership
|
|
transfers in the <<devsandqueues-index, Queue Family Index>> section
|
|
(internal issue 1691).
|
|
* Relax language describing default NT handle access rights for
|
|
slink:VkExportMemoryWin32HandleInfoKHR and
|
|
slink:VkExportSemaphoreWin32HandleInfoKHR (internal issue 1838).
|
|
* Fix markup for slink:VkDeviceCreateInfo valid usage statement 00372 to
|
|
remove imbedded asciidoctor conditionals by splitting it into two VUs
|
|
(internal issue 1846).
|
|
* Clarify lifetime of samplers used as immutable samplers in
|
|
slink:VkDescriptorSetLayoutBinding (internal issue 1849).
|
|
* Add a valid usage statement prohibiting flink:vkCmdBeginQuery on
|
|
timestamp queries (internal issue 1851).
|
|
* Correct some <<Precision of GLSL.std.450 Instructions, SPIR-V
|
|
instruction precisions>> (internal merge request 3391).
|
|
* Fix a typo in flink:vkQueueBindSparse valid usage statement 03245
|
|
(internal merge request 3394).
|
|
|
|
New Extensions
|
|
|
|
* `<<VK_KHR_spirv_1_4>>`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for October 6, 2019 Vulkan 1.1.124 spec update:
|
|
|
|
* Update release number to 124.
|
|
|
|
Github Issues:
|
|
|
|
* Fix Makefile SPECREMARK macro to work when not building in a git tree
|
|
(public issue 992).
|
|
* Ignore pname:aspectMask for unused attachments in
|
|
slink:VkSubpassDescription2KHR valid usage statements (public pull
|
|
request 1028).
|
|
* Minor markup / spelling fixes (public pull requests 1035, 1045).
|
|
|
|
Internal Issues:
|
|
|
|
* Fix markup in Valid Usage statement for slink:VkCreateFramebuffer
|
|
(internal issue 1823).
|
|
* Add a new <<synchronization-signal-operation-order, _signal operation
|
|
order_>> section to the synchronization chapter which describes in
|
|
detail the ordering guarantees provided by the API between fence and
|
|
semaphore signal operations (internal merge request 3368).
|
|
* Move generated `appendix/meta/` files into the Makefile GENERATED
|
|
directory (internal merge request 3381).
|
|
|
|
New Extensions
|
|
|
|
* `<<VK_KHR_shader_clock>>`
|
|
* `<<VK_KHR_timeline_semaphore>>`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for September 15, 2019 Vulkan 1.1.123 spec update:
|
|
|
|
* Update release number to 123.
|
|
|
|
Github Issues:
|
|
|
|
* Add missing aspect mask descriptions to elink:VkImageAspectFlagBits
|
|
(public pull request 1029).
|
|
* Modify validity generator script to not check validity of ignored values
|
|
in same-parent valid usage statements (public pull request 1030).
|
|
* Make slink:VkDescriptorUpdateTemplateCreateInfo::pname:descriptorSetLayout
|
|
`noautovalidity` in `vk.xml` (public pull request 1031).
|
|
* Fix footnote markup in the <<vkGetDeviceProcAddr behavior>> table
|
|
(public pull request 1034).
|
|
|
|
Internal Issues:
|
|
|
|
* Require that <<interfaces-builtin-variables-sgs, code:SubgroupSize>> be
|
|
a power of two (internal issue 1499).
|
|
* Clarify that shaderFloat64 and shaderInt64 enable all storage classes,
|
|
while shaderFloat16, shaderInt8, and shaderInt16 only enable
|
|
non-interface storage classes. in the <<features-shaderFloat64>>,
|
|
<<features-shaderInt64>>, and <<features-shaderInt16>> descriptions and
|
|
for slink:VkPhysicalDeviceShaderFloat16Int8FeaturesKHR (internal issue
|
|
1582).
|
|
* Fix broken asciidoctor conditional logic in the
|
|
<<spirvenv-module-validation, Validation Rules within a Module>>
|
|
section, and add style guide language to help avoid this problem in the
|
|
future (internal issue 1808).
|
|
* Modify VUID assignment script to use the first API include in a block as
|
|
part of the VUID name rather than the last one, so the VUID is based on
|
|
the promoted API name (internal issue 1809).
|
|
* Cleanup string descriptions to consistently refer to "`null-terminated
|
|
UTF-8`" strings (internal issue 1813).
|
|
* Clarify the purpose of the
|
|
slink:VkPhysicalDeviceLimits::ptext:maxDescriptorSet* limits (internal
|
|
merge request 3357).
|
|
* Fix the slink:VkPhysicalDeviceRayTracingPropertiesNV limits for
|
|
pname:maxGeometryCount, pname:maxInstanceCount, and
|
|
pname:maxTriangleCount in the <<limits-required, Required Limits>>
|
|
section (internal issue 3372).
|
|
* Update SPIR-V image op sign-matching rules in the
|
|
<<spirvenv-module-validation, Validation Rules within a Module>>
|
|
section, the <<formats-numericformat>> table, and the
|
|
<<interfaces-resources-descset, Descriptor Set Interface>> section
|
|
(internal spirv/SPIR-V issue 332).
|
|
|
|
New Extensions
|
|
|
|
* `<<VK_KHR_shader_subgroup_extended_types>>`
|
|
* `<<VK_GOOGLE_user_type>>`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for September 8, 2019 Vulkan 1.1.122 spec update:
|
|
|
|
* Update release number to 122.
|
|
|
|
Internal Issues:
|
|
|
|
* Add style guide language on not using standalone `+` signs (internal
|
|
issue 736); not using leading whitespace for markup (internal issue
|
|
747); and on keeping descriptions of a single API in a contiguous block
|
|
of markup (internal issue 949), and apply them to the specification.
|
|
* Add a glossary definition of "`constant integral expression`", pointing
|
|
to the SPIR-V "`constant instruction`" definition (internal issue 1225).
|
|
* Many minor edits to improve writing style consistency and capture
|
|
additional style guidelines (internal issue 1553).
|
|
* Clarify that <<fragops-depth-write, depth writes are not performed>> if
|
|
there is no depth framebuffer attachment (internal issue 1771).
|
|
* Allow implementations to use rectangular line style of interpolation for
|
|
<<primsrast-lines-bresenham, wide Bresenham lines>>, though replicating
|
|
attributes is still preferred. Clarify that code:FragCoord is not
|
|
replicated (internal issue 1772).
|
|
* Resolve a contradiction in valid usage statements for
|
|
slink:VkImageCreateInfo and slink:VkImageStencilUsageCreateInfoEXT
|
|
(internal issue 1773).
|
|
* Add style guide discussion of markup for indented equations, and use
|
|
markup workaround for asciidoctor 2 compatibility (internal issue 1793).
|
|
* Deprecate the `<<VK_EXT_validation_flags>>` extension in `vk.xml` and
|
|
the extension appendix (internal issue 1801).
|
|
* Add a new checker script `scripts/xml_consistency.py`. This is not
|
|
currently run as part of internal CI (internal merge request 3285).
|
|
* Correct "`an`" -> "`a`" prepositions where needed (internal merge
|
|
request 3334).
|
|
* Clarify that the <<features-uniformBufferStandardLayout,
|
|
pname:uniformBufferStandardLayout>> feature is only required when the
|
|
extension defining it is supported (internal merge request 3341).
|
|
* Bring scripts into closer sync with OpenXR, mainly through conversion of
|
|
comments to docstrings where appropriate, and add gen-scripts-docs.sh
|
|
(internal merge request 3324).
|
|
* Correct pname:maxDrawMeshTasksCount to 2^16^-1 in the <<limits-required,
|
|
Required Limits>> table (internal merge requests 3361).
|
|
|
|
New Extensions
|
|
|
|
* `<<VK_IMG_format_pvrtc>>` (public issue 512).
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for August 25, 2019 Vulkan 1.1.121 spec update:
|
|
|
|
* Update release number to 121.
|
|
|
|
Github Issues:
|
|
|
|
* Add missing `structextends` attribute in `vk.xml` for
|
|
slink:VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR (public
|
|
issue 1018).
|
|
* Change attributes of flink:vkCmdCopyAccelerationStructureNV,
|
|
flink:vkCmdWriteAccelerationStructuresPropertiesNV,
|
|
flink:vkCmdBuildAccelerationStructureNV, and flink:vkCmdTraceRaysNV to
|
|
require that these commands execute outside renderpasses (public issue
|
|
1021).
|
|
* Add an issue to the `<<VK_EXT_buffer_device_address>>` appendix
|
|
discussing the introduction of new names and aliasing by equivalent old
|
|
names (public pull request 1024).
|
|
|
|
Internal Issues:
|
|
|
|
* Protect the `VK_KHR_sampler_mirror_clamp_to_edge` extension with
|
|
asciidoctor conditionals, and remove it from the core-only specification
|
|
builds, where it had previously been force-included in the Makefile. It
|
|
is now treated like any other extension (internal issue 1776).
|
|
* Edit some asciidoctor anchor names starting with `features-features-` to
|
|
just start with `features-`, since the old chapters was split into 3
|
|
pieces. There are still some mild naming inconsistencies with anchors
|
|
which may be addressed in the future (internal issue 1792).
|
|
* Add `KHR` alias for the non-suffixed extension token
|
|
ename:VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE, for compatibility
|
|
with naming rules for extensions (internal issue 1796).
|
|
* Clarify requirements for external memory in NOTEs for
|
|
sname:VkExternalMemoryBufferCreateInfo, and valid usage statements for
|
|
flink:vkBindBufferMemory, slink:VkBindBufferMemoryInfo,
|
|
flink:vkBindImageMemory, and slink:VkBindImageMemoryInfo (internal merge
|
|
request 3301).
|
|
* Make extension version numbers in `vk.xml` and extension appendices
|
|
consistent. In a few cases, we could not recover history at this
|
|
granularity, and left the summary of a version's change undefined
|
|
(internal merge request 3323).
|
|
* Fix invocation of `CodeInlineMacro` in the Ruby extension backing the
|
|
`code:` macro, which was delegating to the wrong base class (internal
|
|
merge request 3331).
|
|
* Modify `reg.py` to do a better job of recognizing equivalent <enum>
|
|
definitions.
|
|
* Add a `sortorder` attribute to XML feature and extension tags.
|
|
|
|
New Extensions
|
|
|
|
* `<<VK_AMD_device_coherent_memory>>`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for August 17, 2019 Vulkan 1.1.120 spec update:
|
|
|
|
* Update release number to 120.
|
|
|
|
Github Issues:
|
|
|
|
* Add slink:VkAccelerationStructureTypeNV explicitly to extension XML for
|
|
`<<VK_NV_ray_tracing>>` (public issue 848).
|
|
* Add missing valid usage statements for feature flags in
|
|
slink:VkCommandBufferInheritanceInfo (public pull request 1017).
|
|
|
|
Internal Issues:
|
|
|
|
* Clarify behavior of non-premultiplied destination colors for
|
|
`<<VK_EXT_blend_operation_advanced>>` prior to the definition of
|
|
slink:VkBlendOverlapEXT (internal issue 1766).
|
|
* Fix the confusing phrasing "`no other queue must: be (doing something)`"
|
|
for flink:vkQueuePresentKHR, flink:vkQueueSubmit, and
|
|
flink:vkQueueBindSparse (internal issue 1774).
|
|
* Add `<<VK_EXT_validation_features>>` flag to enable best practices
|
|
checks, which will soon be available in the validation layer (internal
|
|
issue 1779).
|
|
* Specify allowed characters for VUID tag name components in the style
|
|
guide (internal issue 1788).
|
|
* Update links to SPIR-V extension specifications, and parameterize their
|
|
markup in case the URLs change in the future (internal issue 1797).
|
|
* Fix an off-by-one error in the valid usage statement for
|
|
slink:VkPipelineExecutableInfoKHR (internal merge request 3303).
|
|
* Clean up markup indentation not matching the style guide (internal merge
|
|
request 3314).
|
|
* Minor script updates to allow refpage aliases, generate a dynamic TOC
|
|
for refpages, generate Apache rewrite rules for aliases, open external
|
|
links from refpages in a new window, and synchronize with the OpenCL
|
|
scripts. This will shortly enable a paned navigation setup for refpages,
|
|
similar to the OpenCL 2.2 refpages (internal merge request 3322).
|
|
* Script updates to add tests to the checker, refactor and reformat code,
|
|
generate better text for some valid usage statements, use more Pythonic
|
|
idioms, and synchronize with the OpenXR scripts (internal merge request
|
|
3239).
|
|
* Script updates and minor fixes in spec language to not raise checker
|
|
errors for refpage markup of pages not existing in the API, such as
|
|
VKAPI_NO_STDINT_H. Remove corresponding suppression of some
|
|
check_spec_links.py tests from .gitlab-ci.yml and 'allchecks' target
|
|
(internal merge request 3315).
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for August 11, 2019 Vulkan 1.1.119 spec update:
|
|
|
|
* Update release number to 119.
|
|
* A new extension was accidentally left out of the 1.1.118 spec update.
|
|
This update corrects that oversight.
|
|
|
|
New Extensions:
|
|
|
|
* `<<VK_KHR_pipeline_executable_properties>>`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for August 11, 2019 Vulkan 1.1.118 spec update:
|
|
|
|
* Update release number to 118.
|
|
|
|
Github Issues:
|
|
|
|
* Update `BUILD.adoc` to specifically require asciidoctor 1.5.8, and make
|
|
that change to the gitlab CI script (public issue 968).
|
|
* Remove redundant slink:VkSubpassDependency and
|
|
slink:VkSubpassDependency2KHR valid usage statements
|
|
(public pull request 995).
|
|
* Clarify the <<vkGetInstanceProcAddr behavior>> and <<vkGetDeviceProcAddr
|
|
behavior>> tables (public pull request 1004).
|
|
* Fix use of nonexistent
|
|
slink:VkSamplerYcbcrConversionImageFormatProperties::pname:maxCombinedImageSamplerDescriptorCount
|
|
(public pull request 1010).
|
|
* Use compatible pathlib for python2 (public pull request 1012).
|
|
|
|
Internal Issues:
|
|
|
|
* Mark the <<VK_KHR_vulkan_memory_model>> extension as no longer
|
|
provisional in `vk.xml` (internal issue 1369).
|
|
* Clarify that use-defined code:Input and code:Output variables cannot be
|
|
code:Boolean in the <<interfaces-iointerfaces-user, User-defined
|
|
Variable Interface>> section (internal issue 1663).
|
|
* Fix naming inconsistencies in
|
|
slink:VkPhysicalDevicePerformanceQueryFeaturesKHR,
|
|
slink:VkPhysicalDevicePerformanceQueryPropertiesKHR,
|
|
slink:VkQueryPoolPerformanceCreateInfoKHR, and associated enumerants
|
|
(internal issue 1746).
|
|
* Use ACM reference style for normative references (internal merge request
|
|
3256).
|
|
* Explicitly list the features changed in Vulkan 1.1 in the
|
|
<<features-requirements, Feature Requirements>> section and the
|
|
<<versions, Core Revisions (Informative)>> appendix (internal merge
|
|
request 3274).
|
|
* Add the slink:VkPhysicalDeviceSubgroupSizeControlFeaturesEXT structure
|
|
to the <<VK_EXT_subgroup_size_control>> extension, which was
|
|
accidentally omitted in the initial release of the extension (internal
|
|
merge request 3287).
|
|
* Add missing slink:VkImageUsageFlag description for
|
|
ename:VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT (internal merge
|
|
request 3292).
|
|
* Add valid usage statements to slink:VkAccelerationStructureInfoNV and
|
|
flink:vkGetAccelerationStructureHandleNV to clarify usage of
|
|
acceleration structure handle and geometries (internal merge request
|
|
3292).
|
|
|
|
New Extensions:
|
|
|
|
* `<<VK_AMD_shader_core_properties2>>`
|
|
* `<<VK_AMD_pipeline_compiler_control>>`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for July 28, 2019 Vulkan 1.1.117 spec update:
|
|
|
|
* Update release number to 117.
|
|
|
|
Github Issues:
|
|
|
|
* Add ename:VK_STENCIL_FACE_FRONT_AND_BACK for naming consistency, and
|
|
alias the old ename:VK_STENCIL_FRONT_AND_BACK for backwards
|
|
compatibility (public issue 991).
|
|
* Fix minor issues with valid usage statements for
|
|
flink:vkCreateFramebuffer, slink:VkFramebufferCreateInfo, and
|
|
slink:VkRenderPassBeginInfo when the `<<VK_KHR_imageless_framebuffer>>`
|
|
extension is enabled (public issue 998).
|
|
* Clarify the subpass dependency requirement in the
|
|
<<renderpass-layout-transitions>> section to eliminate the need for a
|
|
subpass dependency for either the same or different layouts as long as
|
|
they're both read-only (relates to
|
|
https://github.com/KhronosGroup/Vulkan-ValidationLayers/issues/948).
|
|
|
|
Internal Issues:
|
|
|
|
* Document that <<extendingvulkan-compatibility-promotion, backwards
|
|
compatibility aliases are not promoted>> as part of promoting an
|
|
extension (internal issue 1677).
|
|
* Update VK_ANDROID_native_buffer extension to spec version 8 (internal
|
|
issue 1753).
|
|
* Add missing section to the <<VK_KHR_shader_controls_v4_incompatibility,
|
|
VK_KHR_shader_float_controls>> extension appendix describing
|
|
the reason for the breaking API change in version 4 of the extension,
|
|
and correct the version to 4 in `vk.xml` (internal merge request
|
|
3275).
|
|
* Add valid usage statements to slink:VkAccelerationStructureInfoNV
|
|
requiring the ename:VK_BUFFER_USAGE_RAY_TRACING_BIT_NV usage flag for
|
|
buffers used in acceleration structure building.
|
|
|
|
New Extensions:
|
|
|
|
* `<<VK_EXT_line_rasterization>>`
|
|
* `<<VK_EXT_texture_compression_astc_hdr>>`
|
|
* `<<VK_EXT_index_type_uint8>>`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for July 20, 2019 Vulkan 1.1.116 spec update:
|
|
|
|
* Happy 50th Lunar Landing Day!
|
|
* Update release number to 116.
|
|
|
|
Internal Issues:
|
|
|
|
* Clarify that flink:vkCmdBeginQuery is the same as
|
|
flink:vkCmdBeginQueryIndexEXT with index = 0, and that
|
|
flink:vkCmdEndQuery is the same as flink:vkCmdEndQueryIndexEXT with
|
|
index = 0 (internal issue 1735).
|
|
* Clarify that when copying the depth aspect between buffers and images
|
|
via slink:VkBufferImage Copy, the depth values in buffer memory must be
|
|
in range if the `<<VK_EXT_depth_range_unrestricted>>` extension is not
|
|
enabled (internal issue 1737).
|
|
* Minor language tweaks in the <<spirvenv-module-validation, Validation
|
|
Rules within a Module>> section (internal issue 1744).
|
|
* Change the slink:VkPhysicalDeviceFloatControlsPropertiesKHR structure in
|
|
the `<<VK_KHR_shader_controls>>` extension. This is a rare case of
|
|
breaking the interface of an existing extension to acknowledge the
|
|
reality of divergent vendor implementations that could not be described
|
|
properly otherwise, and the breaking change is considered acceptable
|
|
given the expected low use of the extension (internal issue 1734).
|
|
Specific changes:
|
|
** Added the slink:VkShaderFloatControlsIndependenceKHR enumeration to
|
|
describe the three possible behaviors.
|
|
** Renamed pname:separateDenormSettings to
|
|
pname:denormBehaviorIndependence.
|
|
** Renamed pname:separateRoundingModeSettings to
|
|
pname:roundingModeIndependence
|
|
* Add a missing valid usage statement for
|
|
slink:VkQueryPoolCreateInfo::pname:queryCount (internal issue 1742).
|
|
* Update the `<<VK_NV_shading_rate_image>>` appendix to list all
|
|
interfaces defined by the extension.
|
|
* Add a valid usage statement to
|
|
slink:VkWriteDescriptorSetAccelerationStructureNV to clarify that
|
|
acceleration structure descriptors must be top level structures.
|
|
|
|
New Extensions:
|
|
|
|
* `<<VK_EXT_subgroup_size_control>>`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for July 14, 2019 Vulkan 1.1.115 spec update:
|
|
|
|
* Update release number to 115.
|
|
|
|
GitHub issues:
|
|
|
|
* Add valid usage statements to slink:VkWriteDescriptorSet and
|
|
slink:VkCopyDescriptorSet specifying that updating immutable descriptors
|
|
with ename:VK_DESCRIPTOR_TYPE_SAMPLER is invalid, and that updating
|
|
ename:VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER ignores the update's
|
|
samplers (public issue 985).
|
|
* Document that the `manhtmlpages` target requires building with all
|
|
extensions enabled, in `BUILD.adoc` (public issue 992).
|
|
* Fix reference to the wrong subpass in valid usage statement for
|
|
slink:VkRenderPassCreateInfo (public pull request 994).
|
|
|
|
Internal Issues:
|
|
|
|
* Rename slink:VkPhysicalDeviceShaderIntegerFunctions2INTEL and
|
|
ename:VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS2_FEATURES_INTEL
|
|
for consistency with global naming conventions, and to help code
|
|
generation in other projects (internal issue 1685).
|
|
* Update valid usage statements for image code:Offset / code:ConstOffset
|
|
usage in the <<textures-gather, Texel Gathering>> and
|
|
<<spirvenv-module-validation, Validation Rules within a Module>>
|
|
sections, and for the <<limits-minTexelGatherOffset>> and
|
|
<<limits-maxTexelGatherOffset>> limits (internal issue 1723).
|
|
* Require code:code:OpGroupNonUniformBroadcast to take a constant `Id`
|
|
operand in the <<spirvenv-module-validation, Validation Rules within a
|
|
Module>> sections (internal issue 1726).
|
|
* Note that the swapchain specified in slink:VkImageSwapchainCreateInfoKHR
|
|
when creating an image must match the one specified in
|
|
slink:VkBindImageMemorySwapchainInfoKHR when binding memory to the image
|
|
(internal issue 1729).
|
|
* Remove stext:KHR suffix from some structure cross-references that were
|
|
promoted to Vulkan 1.1 (internal issue 1730).
|
|
* Fix structure name in `structextends` attribute for
|
|
slink:VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT in `vk.xml`
|
|
(internal issue 1740).
|
|
* Fix an error in the code:ClipColor() pseudocode for
|
|
<<VK_EXT_blend_operation_advanced>> (internal issue 1741).
|
|
* Add a row for
|
|
ename:VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV to the
|
|
description of elink:VkQueryType, and make a few related minor text
|
|
cleanups.
|
|
* Rename slink:VkPhysicalDeviceFloat16Int8FeaturesKHR to
|
|
slink:VkPhysicalDeviceShaderFloat16Int8FeaturesKHR for consistency,
|
|
retaining aliases of the old structure name and structure type enum for
|
|
backwards compatibility.
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for July 7, 2019 Vulkan 1.1.114 spec update:
|
|
|
|
* Update release number to 114.
|
|
|
|
Internal Issues:
|
|
|
|
* Fix extension appendix for `<<VK_INTEL_performance_query>>` to remove
|
|
duplicate citation of ename:VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL
|
|
(internal merge request 3234).
|
|
|
|
New Extensions:
|
|
|
|
* `<<VK_KHR_imageless_framebuffer>>`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for June 30, 2019 Vulkan 1.1.113 spec update:
|
|
|
|
* Update release number to 113.
|
|
|
|
Github Issues:
|
|
|
|
* Fix typo in `<<VK_EXT_global_priority>>` appendix (public issue 979).
|
|
|
|
Internal Issues:
|
|
|
|
* Expand the explanation of
|
|
slink:VkSamplerYcbcrConversionImageFormatPropertiesKHR::pname:combinedImageSamplerDescriptorCount,
|
|
and explain how it interacts with slink:VkWriteDescriptorSet,
|
|
slink:VkDescriptorSetLayoutBinding::pname:descriptorCount, and
|
|
slink:VkDescriptorPoolSize::pname:descriptorCount (internal issue 1643).
|
|
* Clarify restrictions on components for code:OpImageGather in the
|
|
<<spirvenv-module-validation, Validation Rules within a Module>> section
|
|
(internal issue 1707).
|
|
* Clarify the descriptions of <<limits-computeUnitsPerShaderArray,
|
|
pname:computeUnitsPerShaderArray>> and <<limits-wavefrontSize,
|
|
pname:wavefrontSize>> fields in
|
|
slink:VkPhysicalDeviceShaderCorePropertiesAMD.
|
|
|
|
New Extensions:
|
|
|
|
* `<<VK_EXT_texel_buffer_alignment>>`
|
|
* `<<VK_EXT_shader_demote_to_helper_invocation>>`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for June 23, 2019 Vulkan 1.1.112 spec update:
|
|
|
|
* Update release number to 112.
|
|
|
|
Github Issues:
|
|
|
|
* Clarify that it is possible to use the <<memory-host, Host Memory>>
|
|
pname:pfnReallocation callback to free memory in any case that
|
|
pname:pfnFree could be used (public issue 973).
|
|
|
|
Internal Issues:
|
|
|
|
* Clarify range and precision of code:OpImageQueryLod in the discussion of
|
|
scale factor and level-of-detail operation in the
|
|
<<textures-normalized-operations, Normalized Texel Coordinate
|
|
Operations>> section (internal issues 926, 1719).
|
|
* Fix framebuffer layer valid usage statements for
|
|
slink:VkRenderPassCreateInfo, slink:VkRenderPassCreateInfo2KHR, and
|
|
slink:VkFramebufferCreateInfo (internal issue 1670).
|
|
* Refactor common valid usage statements for flink:vkCmdBeginQuery and
|
|
flink:vkCmdBeginQueryIndexedEXT (internal issue 1682).
|
|
* Prohibit the ename:ename:VK_SAMPLER_YCBCR_RANGE_ITU_NARROW range from
|
|
being used in slink:VkSamplerYcbcrConversionCreateInfo for formats with
|
|
a bit depth less than 8 (internal issue 1688).
|
|
* Add missing interactions with `<<VK_EXT_host_query_reset_usage>>` in the
|
|
<<queries, Queries>> chapter (internal issue 1692).
|
|
* Clean up error output from the `optimize-pdf` build script on success.
|
|
* Fix an internal link to the <<spirvenv-correctly-rounded, Correctly
|
|
Rounded>> section in the SPIR-V appendix by adding and referring to that
|
|
anchor.
|
|
* Fix extension version numbers in `vk.xml` for `VK_EXT_filter_cubic` and
|
|
`VK_IMG_filter_cubic`.
|
|
* Specify division precision for negative numbers, and remove statement
|
|
that trigonometric functions have undefined precision, in the
|
|
<<spirvenv-precision-operation, Precision and Operation of SPIR-V
|
|
Instructions>> appendix.
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for June 10, 2019 Vulkan 1.1.111 spec update:
|
|
|
|
* Update release number to 111.
|
|
|
|
Github Issues:
|
|
|
|
* Clean up flink:vkGetPhysicalDeviceSurfaceFormatsKHR and
|
|
flink:vkGetPhysicalDeviceSurfaceFormats2KHR to drop the
|
|
ename:VK_FORMAT_UNDEFINED case, require callers pass a supported
|
|
surface, and rearrange some validation-related language (public issue
|
|
207).
|
|
* Allow dynamic and nonuniform indexing of acceleration structures in the
|
|
<<interfaces-resources-descset, Descriptor Set Interface>> section
|
|
(public KhronosGroup/glslang issue 1766).
|
|
|
|
Internal Issues:
|
|
|
|
* Clarify when images require the use of YCbCr samplers for
|
|
slink:VkWriteDescriptorSet and slink:VkImageViewCreateInfo (internal
|
|
issue 1639).
|
|
* Remove the "`block`" language around <<features-robustBufferAccess,
|
|
vectorizing and robust buffer access>> (internal issue 1642).
|
|
* Allow code:OpTypeImageFormat == code:Unknown for input attachments in
|
|
the <<interfaces-resources-descset, Descriptor Set Interface>> section
|
|
(internal issue 1645).
|
|
* Fix asciidoctor conditionals around
|
|
ename:VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT in the
|
|
<<fundamentals-errorcodes>> section (internal issue 1679).
|
|
* Remove error codes from `vk.xml` for
|
|
flink:vkUninitializePerformanceApiINTEL, which has a `void` return type
|
|
(internal issue 1704).
|
|
* Various subgroup-related fixes in the <<spirvenv-capabilities,
|
|
Capabilities>>, <<shaders-subgroup-arithmetic, Arithmetic Subgroup
|
|
Operations>>, <<shaders-subgroup-clustered, Clustered Subgroup
|
|
Operations>>, and <<shaders-subgroup-partitioned, Partitioned Subgroup
|
|
Operations>> sections (internal merge request 3164).
|
|
* Fix asciidoctor markup affecting math rendering in the <<Precision of
|
|
core SPIR-V Instructions>> table (internal merge request 3166).
|
|
* Fix incorrect reference to flink:vkGetPhysicalDeviceFeatures2KHR in the
|
|
description of slink:VkPhysicalDeviceASTCDecodeFeaturesEXT (internal
|
|
merge request 3169).
|
|
* Fix a non-sentence in the introduction to the <<textures, Image
|
|
Operations Overview>> section (internal merge request 3184).
|
|
* Minor markup, grammar, and typo fixes for the
|
|
`<<NV_shader_sm_builtins>>` extension spec language (internal merge
|
|
request 3189).
|
|
* Clarify that 1D and 1D array format support is optional for cubic
|
|
filters, immediately following the <<formats-mandatory-features-astc,
|
|
Mandatory ASTC LDR format support>> table (internal merge request 3194).
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for June 2, 2019 Vulkan 1.1.110 spec update:
|
|
|
|
* Update release number to 110.
|
|
|
|
Github Issues:
|
|
|
|
* Fix typo (public pull request 972).
|
|
* Rename Pastel driver ID to SwiftShader (public pull request 974).
|
|
|
|
New Extensions:
|
|
|
|
* `<<VK_EXT_fragment_shader_interlock>>`
|
|
* `<<VK_NV_shader_sm_builtins>>`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for May 24, 2019 Vulkan 1.1.109 spec update:
|
|
|
|
* Update release number to 109.
|
|
|
|
Github Issues:
|
|
|
|
* Require matching for physical devices to be in a device group in the
|
|
<<devsandqueues-devices, Devices>> section (public issue 695).
|
|
* Fix typo in an equation in the <<fragmentdensitymap-fetch-density-value,
|
|
Fetch Density Value>> section (public issue 954).
|
|
* Fix styleguide links (public pull request 965).
|
|
|
|
Internal Issues:
|
|
|
|
* Allow <<renderpass-compatibility, compatibility of single-subpass
|
|
renderpasses>> with different resolve attachments (internal issue 1464).
|
|
* Add some missing empty flags types to API spec so custom refpage
|
|
generation doesn't break (internal issue 1607).
|
|
* Add a "`SPIR-V Sampled Type`" column to the <<formats-numericformat,
|
|
Interpretation of Numeric Formats>> table, and clarify the requirement
|
|
that the code:OpTypeImage sampled type match the bound image's numeric
|
|
format for slink:VkClearColorValue and in the
|
|
<<interfaces-resources-descset, Descriptor Set Interface>> section
|
|
(internal issue 1646).
|
|
* Fix a typo in the <<tessellation-quad-tessellation, Quad Tessellation>>
|
|
section which should refer to rectangles, not triangles (internal issue
|
|
1667).
|
|
* Clarify the definition of time domains in elink:VkTimeDomainEXT
|
|
(internal merge request 3110).
|
|
* Add R10X6 and R12X4 formats to the <<formats-mandatory-features-10bit>>
|
|
table (internal merge request 3137).
|
|
* Don't require extern sync on wait/signal semaphores in `vk.xml` for
|
|
flink:vkQueueSubmit and flink:vkQueueBindSparse (internal merge request
|
|
3116).
|
|
* Improve phrasing of compute and mesh shader size related to
|
|
code:LocalSize and code:WorkgroupSize in
|
|
slink:VkPhysicalDeviceMeshShaderPropertiesNV and
|
|
slink:VkPhysicalDeviceMaintenance3Properties (internal merge request
|
|
3156).
|
|
* Make the flink:vkCmdBindShadingRateImageNV pname:imageView parameter
|
|
optional in `vk.xml` (internal merge request 3157).
|
|
|
|
New Extensions:
|
|
|
|
* `<<VK_INTEL_performance_query>>`
|
|
* `<<VK_INTEL_shader_integer_functions2>>`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for May 13, 2019 Vulkan 1.1.108 spec update:
|
|
|
|
* Update release number to 108.
|
|
|
|
Internal Issues:
|
|
|
|
* Clarify that only external resources can be bound to external memory in
|
|
valid usage statements for flink:vkBindBufferMemory,
|
|
flink:vkBindImageMemory, slink:VkSparseMemoryBind, and
|
|
slink:VkSparseImageMemoryBind (internal issue 1496).
|
|
* Move all `vk.xml`requirements for
|
|
flink:vkGetDeviceGroupSurfacePresentModes2EXT into
|
|
`<<VK_EXT_full_screen_exclusive>>` (internal issue 1622).
|
|
* Add some missing valid usage statements for
|
|
flink:vkCmdEndQueryIndexedEXT (internal issue 1638).
|
|
* Specify rules for defining "`New Flags and Bitmask Types`" in that
|
|
section of the style guide (internal issue 1649).
|
|
* Add a comment to the `vk.xml` extension block for
|
|
`VK_ANDROID_native_buffer` explaining why the extension is tagged
|
|
`"disabled"` (internal issue 1657).
|
|
* Fix typos in the description of slink:VkImageViewCreateInfo (internal
|
|
issue 1661).
|
|
* Modify valid usage statements for slink:VkImageViewCreateInfo to fix the
|
|
description about the restriction for pname:baseArrayLayer and
|
|
pname:layerCount from pname:extent.depth to the depth of mipmap level
|
|
while creating a 2D array image view on a 3D image.
|
|
* Forbid structures that contain opaque types (images or samplers) in the
|
|
SPIR-V <<spirvenv-module-validation, Validation Rules within a Module>>
|
|
section.
|
|
* Minor editorial changes for the `VK_EXT_swapchain_colorspace` extension
|
|
in the description of slink:VkColorSpace KHR and `vk.xml`, including:
|
|
** Consistently specify which function (OETF or Inverse-EOTF) is being
|
|
defined;
|
|
** Remove the Display P3 EOTF, since no other EOTFs are defined;
|
|
** Include luminance range for the HLG OETF;
|
|
** Remove a duplicated paragraph; and,
|
|
** Rename ename:VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT, leaving the old
|
|
ename:VK_COLOR_SPACE_DCI_P3_LINEAR_EXT token as an alias.
|
|
|
|
New Extensions:
|
|
|
|
* `<<VK_NV_framebuffer_mixed_samples_coverage_reduction_mode>>`
|
|
* `<<VK_KHR_uniform_buffer_standard_layout>>`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for April 16, 2019 Vulkan 1.1.107 spec update:
|
|
|
|
* Update release number to 107.
|
|
|
|
Public Issues:
|
|
|
|
* Fix revision date for the `<<VK_AMD_gpu_shader_half_float>>` appendix
|
|
(public issue 617).
|
|
* Make <<synchronization-pipeline-barriers-subpass-self-dependencies,
|
|
subpass self-dependencies>> less restrictive (public issue 777).
|
|
* Fix the `<<VK_EXT_full_screen_exclusive>>` dependency on
|
|
`<<VK_KHR_win32_surface>>` in `vk.xml` (public pull request 849).
|
|
* Remove single-page (`apispec.html`) refpage sub-targets from the
|
|
Makefile `allman` target and the build instructions. The target is still
|
|
present in the Makefile, but we have not been actively maintaining the
|
|
single-page document and do not promise it will work. The full
|
|
Specification and the individual API reference pages are what we support
|
|
and publish at present (public issue 949).
|
|
|
|
Internal Issues:
|
|
|
|
* De-duplicate common valid usage statements shared by multiple commands
|
|
or structures by using asciidoctor includes and dynamically assigning
|
|
part of the valid usage ID based on which command or structure they're
|
|
being applied to (internal issue 779).
|
|
* Add reference pages for constructs not part of the formal API, such as
|
|
platform calling convention macros, and script changes supporting them
|
|
This required suppressing some check_spec_links warning classes in order
|
|
to pass CI, until a more sophisticated fix can be done (internal issue
|
|
888).
|
|
* Change math notation for the elink:VkPrimitiveTopology descriptions to
|
|
use short forms `v` and `p` instead of `vertex` and `primitive`,
|
|
increasing legibility (internal issue 1611).
|
|
* Rewrite generated file includes relative to a globally specified path,
|
|
fixing some issues with refpage generation (internal issue 1630).
|
|
* Update contributor list for `<<VK_EXT_calibrated_timestamps>>`.
|
|
* Fix use of pathlin in `scripts/generator.py` so the script will work on
|
|
Windows under Python 3.5 (internal merge request 3107).
|
|
* Add missing conditionals around the
|
|
<<descriptorsets-accelerationstructure, Acceleration Structure>>
|
|
section (internal merge request 3108).
|
|
* More script synchronization with OpenXR spec repository (internal merge
|
|
request 3109).
|
|
* Mark the `<<VK_AMD_gpu_shader_half_float>>` and
|
|
`<<VK_AMD_gpu_shader_int16>>` extensions as deprecated in `vk.xml` and
|
|
the corresponding extension appendices (internal merge request 3112).
|
|
|
|
New Extensions:
|
|
|
|
* `<<VK_EXT_headless_surface>>`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for April 7, 2019 Vulkan 1.1.106 spec update:
|
|
|
|
* Update release number to 106.
|
|
|
|
Public Issues:
|
|
|
|
* Add searchbox and generate search index for the chunked HTML target.
|
|
Note that doing this requires several new toolchain components to build
|
|
the `chunked` target (public issue 578 / internal issue 1352).
|
|
* Remove descriptions of flink:vkCreateSampler sampler constraints which
|
|
were repeated in the valid usage statements (public pull request 648).
|
|
* Fix sense of conditional around a valid usage statement in the
|
|
<<copies>> chapter (public issue 942).
|
|
|
|
Internal Issues:
|
|
|
|
* Add missing pname:extent.width and pname:extent.height valid usage
|
|
statements for flink:vkCmdClearAttachments (internal issue 1583).
|
|
* Fix some inconsistencies in structures and corresponding pname:sType
|
|
enumerant names by renaming
|
|
sname:VkPhysicalDeviceShaderDrawParameterFeatures ->
|
|
slink:slink:VkPhysicalDeviceShaderDrawParametersFeatures;
|
|
sname:VkPhysicalDeviceVariablePointerFeatures ->
|
|
slink:VkPhysicalDeviceVariablePointerFeatures;
|
|
sname:VkPhysicalDeviceVariablePointerFeaturesKHR ->
|
|
slink:VkPhysicalDeviceVariablePointerFeaturesKHR;
|
|
sname:VkPhysicalDeviceBufferAddressFeaturesEXT ->
|
|
slink:VkPhysicalDeviceBufferDeviceAddressFeaturesEXT;
|
|
etext:VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES
|
|
->
|
|
ename:VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES;
|
|
etext:VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES ->
|
|
ename:VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES;
|
|
etext:VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR ->
|
|
ename:VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR;
|
|
and etext:VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT
|
|
->
|
|
ename:VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT.
|
|
The old names are still available as aliases for backwards
|
|
compatibility. This change required introducing valid XML markup which
|
|
externally written XML processing scripts may need to be modified to
|
|
accomodate, to support multiple aliases of a single command or token
|
|
name (internal issue 1592).
|
|
* Add slink:VkDevice as the first parameter to flink:vkSetLocalDimmingAMD
|
|
(internal issue 1618).
|
|
* Improve CI header compilation tests to test all Vulkan platform
|
|
includes, using fake platform headers where needed, and change the
|
|
`allchecks` Makefile target to use the more comprehensive
|
|
`check_spec_links.py` script instead of the retired `checkinc` and
|
|
`checklinks` targets.
|
|
* Move descriptions of the ASTC compressed texture decode mode from the
|
|
<<appendix-compressedtex-astc,appendix>> to the recently updated
|
|
external Khronos Data Format Specification.
|
|
* Fix minor markup and spelling issues in the `VK_NV_ray_tracing`
|
|
extension.
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for March 19, 2019 Vulkan 1.1.105 spec update (GDC edition):
|
|
|
|
* Update release number to 105.
|
|
|
|
Public Issues:
|
|
|
|
* Fix contractions and other markup issues (public pull request 935).
|
|
|
|
New Extensions:
|
|
|
|
* Google Games Platform
|
|
** New `ggp` platform and associated header file `vulkan_ggp.h`
|
|
** `VK_GGP_frame_token`
|
|
** `VK_GGP_stream_descriptor_surface`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for March 18, 2019 Vulkan 1.1.104 spec update:
|
|
|
|
* Update release number to 104.
|
|
|
|
Public Issues:
|
|
|
|
* Remove the incorrect line from "`Initial`" to "`Invalid`" state in the
|
|
<<commandbuffer-lifecycle-diagram, Lifecycle of a command buffer>>
|
|
diagram (public issue 881).
|
|
* Add Fuchsia platform to <<boilerplate-wsi-header-table, Window System
|
|
Extensions and Headers>> table (public pull request 933).
|
|
* Change the type of
|
|
slink:VkBufferDeviceAddressCreateInfoEXT::pname:deviceAddress from
|
|
basetype:VkDeviceSize to basetype:VkDeviceAddress. These are both
|
|
typedefs of code:uint64_t, so it is an ABI-compatible change (public
|
|
issue 934).
|
|
|
|
Internal Issues:
|
|
|
|
* Remove generated header files and update the CI tests to build a copy of
|
|
the headers for use by the hpp-generate / hpp-compile CI stages. Targets
|
|
to generate the headers will not be removed, but keeping these generated
|
|
files in the repository increased the frequency of conflicts between
|
|
branches when merging to master (internal issue 745).
|
|
* Reword "`undefined: behavior if *action*" to "`must: not do *action*`"
|
|
in the places the old terminology was used, and add a new
|
|
<<writing-undefined, Describing Undefined Behavior>> section of the
|
|
style guide to explain how to write such language in the future
|
|
(internal issue 1579).
|
|
* Move almost all Python scripts into the toplevel `scripts/` directory.
|
|
Apply extensive internal edits to clean up and simplify the scripts, and
|
|
try to follow PEP8 guidelines. Generalize the scripts with the use of a
|
|
Conventions object controlling many aspects of output generation, to
|
|
enable their use in other Khronos projects with similar requirements.
|
|
Autogenerate extension interface refpages (these are experimental and
|
|
may be retired going forward).
|
|
|
|
New Extensions:
|
|
|
|
* `VK_AMD_display_native_hdr`
|
|
* `VK_EXT_full_screen_exclusive` (internal issue 1439)
|
|
* `VK_EXT_host_query_reset`
|
|
* `VK_EXT_pipeline_creation_feedback` (internal issue 1560)
|
|
* `VK_KHR_surface_protected_capabilities` (internal issue 1520)
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for March 11, 2019 Vulkan 1.1.103 spec update:
|
|
|
|
* Update release number to 103.
|
|
|
|
Public Issues:
|
|
|
|
* Remove (unnecessary) scoped modification order case from the memory
|
|
model <<memory-model-location-ordered, location-ordered>> definition
|
|
(public pull request 924).
|
|
* Add an <<memory-model-acyclicity, acyclicity>> axiom to the memory model
|
|
(public pull request 927).
|
|
|
|
Internal Issues:
|
|
|
|
* Fix reversed logic of slink:VkFormatProperties discussion of multi-plane
|
|
formats and ename:VK_FORMAT_FEATURE_DISJOINT_BIT (internal issue 1493).
|
|
* Clarify how slink:VkImageStencilUsageCreateInfoEXT works, including new
|
|
valid usage statements for flink:vkCmdClearDepthStencilImage, and the
|
|
<<copies, Common Operation>> section of the Copy Commands chapter
|
|
(internal issue 1565).
|
|
* Update <<spirvenv-precision-operation, Precision and Operation of SPIR-V
|
|
Instructions>> section to require that denorms be preserved by several
|
|
instructions that don't perform any mathematical operations (internal
|
|
issue 1584).
|
|
* Remove duplicate valid usage statement from flink:vkAcquireNextImageKHR
|
|
(internal merge request 3062).
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for March 3, 2019 Vulkan 1.1.102 spec update:
|
|
|
|
* Update release number to 102.
|
|
|
|
Public Issues:
|
|
|
|
* Simplify flink:vkGetImageMemoryRequirements constraint for
|
|
ename:VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT (public pull request 817).
|
|
* Fix typo in markup of the <<textures-texel-coordinate-systems-diagrams,
|
|
Texel Coordinate Systems, Corner Sampling>> image that was generating
|
|
complaints from chunked HTML output generation (public pull request
|
|
928).
|
|
|
|
Internal Issues:
|
|
|
|
* Split the old <<features, Features>> chapter into four chapters:
|
|
<<features, Features>>, <<limits, Limits>>, <<formats, Formats>>, and
|
|
<<capabilities, Capabilities>>, with minor edits to the introductory
|
|
paragraph of each chapter. Anchor names in these chapters were changed,
|
|
with corresponding effects to xrefs to these anchors elsewhere in spec
|
|
markup . The purpose is to make the chunked HTML spec output load faster
|
|
on what was previously a single, gigantic chapter (internal issue 1554).
|
|
* Add ename:VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_NV, to the supported
|
|
pipeline stages for ename:VK_ACCESS_UNIFORM_READ,
|
|
ename:VK_ACCESS_SHADER_READ, and ename:VK_ACCESS_SHADER_WRITE in the
|
|
<<synchronization-access-types-supported>> table.
|
|
* Correct legal name of Google, LLC in vk.xml <tags> section and a
|
|
copyright statement.
|
|
* Clarify that Vulkan treats the Android
|
|
code:AHARDWAREBUFFER_FORMAT_R8G8B8X8_UNORM format as RGBA, and the
|
|
application is responsible for forcing the X/A component to be read as
|
|
1.0, in the <<memory-external-android-hardware-buffer-formats>> table.
|
|
* Clarify the vertex order of various primitive topologies, and define the
|
|
order of transform feedback vertex capture based on that. This involves
|
|
a lot of refactoring and cleanup in the <<drawing-primitive-topologies,
|
|
Primitive Topologies>>, <<geometry-input, Geometry Shader Input
|
|
Primitives>> sections, and <<vertexpostproc-transform-feedback Transform
|
|
Feedback>> sections, and numerous places in the <<tessellation>>
|
|
chapter,
|
|
|
|
New Extensions:
|
|
|
|
* `VK_EXT_metal_surface`
|
|
* `VK_EXT_ycbcr_image_arrays` (internal issue 1361).
|
|
* `VK_NVX_image_view_handle`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for February 17, 2019 Vulkan 1.1.101 spec update:
|
|
|
|
* Update release number to 101.
|
|
|
|
Public Issues:
|
|
|
|
* Make clear that memory types for imported host memory must be host
|
|
visible in slink:VkMemoryHostPointerPropertiesEXT.txt (public issue
|
|
897).
|
|
* Make <<interfaces-resources-layout, WARNING block>> into a NOTE block,
|
|
per the styleguide (public pull request 916).
|
|
|
|
Internal Issues:
|
|
|
|
* Make <<textures-output-format-conversion, computation of derivatives in
|
|
non-uniform flow control>> have undefined behavior (internal issue
|
|
1367).
|
|
* Make behavior, not just values, undefined for
|
|
<<textures-layout-validation, reads from inconsistent YCbCr layouts>>
|
|
(internal issue 1366).
|
|
* Consolidate version and extension behavior documentation in the
|
|
<<extended-functionality, Extended Functionality>> appendix, While a
|
|
great deal of text was moved from other parts of the Specification into
|
|
the appendix, this just serves to simplify and make consistent
|
|
discussions of versions and extensions (internal issue 1473).
|
|
* Add limits for slink:VkPhysicalDeviceRayTracingPropertiesNV in the
|
|
<<features-limits-types, Required Limit Types>> and
|
|
<<features-limits-required, Required Limits>> tables (internal issue
|
|
1511).
|
|
* Disallow <<memory-protected-memory, indirect calls within protected
|
|
command buffers>> by adding valid usage statements for the related
|
|
indirect dispatch and draw commands (internal issue 1513).
|
|
* Add valid usage stataements to slink:VkGraphicsPipelineCreateInfo,
|
|
slink:VkSubpassDescription, slink:VkSubpassDescription2KHR,
|
|
slink:VkSubpassDescriptionDepthStencilResolveKHR, and
|
|
slink:VkImageViewCreateInfo preventing the creation of a renderpass with
|
|
attachments in formats that are not supported for rendering (internal
|
|
issue 1552).
|
|
* Qualify valid usage statements for
|
|
slink:VkAttachmentReference::pname:layout parameter so restrictions only
|
|
apply if an attachment is ename:VK_ATTACHMENT_UNUSED (internal issue
|
|
1561).
|
|
* Add valid usage statement for flink:vkCmdDrawIndirectByteCountEXT
|
|
restricting pname:vertexStride to be positive (internal issue 1566).
|
|
* Make the `VK_EXT_sample_locations` extension depend on
|
|
`VK_KHR_get_physical_device_properties2` in `vk.xml`.
|
|
* Rearrange and simplify the <<interfaces-resources-layout, block layout
|
|
rules>>.
|
|
|
|
New Extensions:
|
|
|
|
* `VK_NV_cooperative_matrix`
|
|
* `VK_EXT_depth_clip_enable` (internal issue 1485).
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for February 10, 2019 Vulkan 1.1.100 spec update:
|
|
|
|
* Update release number to 100.
|
|
|
|
Public Issues:
|
|
|
|
* Clarify that scoped modification order only relates to
|
|
<<memory-model-atomic-operation, atomic writes>> (public pull request
|
|
906).
|
|
* Remove `readme.txt` reference from `xml/README.adoc` (public pull
|
|
request 907).
|
|
* Add missing slink:VkShaderResourceUsageAMD to the <<VK_AMD_shader_info>>
|
|
appendix (public pull request 908).
|
|
* Fix markup for <<VK_EXT_filter_cubic>> appendix (public pull request
|
|
911).
|
|
* Fix typo "`attachment`" (public pull request 914).
|
|
* Alias the enums for `VK_IMG_filter_cubic` properly to the corresponding
|
|
`VK_EXT_filter_cubic` enums, so they appear in the corresponding
|
|
enumerated types, instead of as #defines (Vulkan-Headers issue 40).
|
|
|
|
Internal Issues:
|
|
|
|
* Remove nested conditionals in valid usage statements for
|
|
slink:VkFramebufferCreateInfo and flink:vkCmdPipelineBarrier by
|
|
duplicating statements along ifdef/ifndef paths for
|
|
VK_KHR_depth_stencil_resolve (internal issue 1527).
|
|
* Clarify allowed values of <<spirv-precision-operation, SPIR-V operations
|
|
near infinity>>. For very large results of operations the allowed range
|
|
of return values as defined in the spec didn't include the largest
|
|
finite number. In some rounding modes (eg. RTZ) the largest finite
|
|
number is the correctly rounded result, so it should be allowed.
|
|
* Require descriptor types to match in slink:VkCopyDescriptorSet.
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for February 3, 2019 Vulkan 1.1.99 spec update:
|
|
|
|
* Update release number to 99.
|
|
|
|
Public Issues:
|
|
|
|
* Add missing pname:pMemoryHostPointerProperties description to
|
|
flink:vkGetMemoryHostPointerPropertiesEXT.txt (public pull request 896).
|
|
* Minor markup fixes (public pull request 900).
|
|
* Minor update to `khronos.css` and markup fixes (originally proposed in
|
|
public pull request 901, but done via an internal MR).
|
|
|
|
Internal Issues:
|
|
|
|
* Document restrictions on image queries for {YCbCr} formats in the
|
|
<<formats-requiring-sampler-ycbcr-conversion>> table as well as
|
|
for slink:sname:VkImageFormatProperties and slink:VkImageCreateInfo
|
|
(internal issue 1361).
|
|
* Correct type of the code:FragSizeEXT built-in in the
|
|
<<interfaces-builtin-variables, Built-In Variables>> section (internal
|
|
issue 1526).
|
|
* Clean up math in the <<textures, Image Operations>> chapter by
|
|
refactoring, using better naming conventions, updating diagrams to use
|
|
the correct orientation, etc. (internal merge request 2968).
|
|
* Fix minor typos for slink:VkImageCreateInfo and
|
|
slink:VkImageStencilUsageCreateInfoEXT.
|
|
* Add missing documentation for tlink:VkResolveModeFlagsKHR.
|
|
* Fix extension dependency of pname:scalarBlockLayout in the
|
|
<<features-features-requirements, Feature Requirements>> section.
|
|
* Fix indexing math for shader binding table calculations in the
|
|
<<shader-binding-table-indexing-rules, Indexing Rules>> section, and use
|
|
spelling "`any-hit`" consistently.
|
|
* Reconcile valid usage statement and text for sampled image layouts in
|
|
slink:VkWriteDescriptorSet
|
|
(https://github.com/KhronosGroup/Vulkan-ValidationLayers/issues/551).
|
|
* Make SPIR-V code:OpConvertUToPtr and code:OpConvertPtrToU operations
|
|
require a 64-bit integer for physical storage buffer pointers in the
|
|
<<spirvenv-module-validation, Validation Rules within a Module>>
|
|
section.
|
|
* Update to KaTeX 10.0.
|
|
|
|
New Extensions:
|
|
|
|
* `VK_EXT_filter_cubic`
|
|
* `VK_NV_dedicated_allocation_image_aliasing`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for January 13, 2019 Vulkan 1.1.98 spec update:
|
|
|
|
* Update release number to 98.
|
|
|
|
Public Issues:
|
|
|
|
* Fix missing markup in flink:vkDestroyPipelineLayout valid usage
|
|
statement (pull request 882).
|
|
* Add missing contributors for `<<VK_EXT_buffer_device_address>>` (public
|
|
pull request 891).
|
|
|
|
Internal Issues:
|
|
|
|
* Detect nested bullet points in valid usage blocks and warn about them
|
|
during VUID assignment (internal issue 1382).
|
|
* Update the style guide to document the process for reserving new bits in
|
|
bitmask types (internal issue 1411).
|
|
* Clarify for slink:VkApplicationInfo::pname:apiVersion and in the
|
|
<<fundamentals-validusage-versions, Valid Usage for Newer Core
|
|
Versions>> section when it is valid for an application to use a certain
|
|
version of Vulkan API functionality (for an instance and for a
|
|
device/physical device); and when the validation layers must generate an
|
|
error (internal issue 1412).
|
|
* Add optional <<memory-model-availability-visibility, transitive
|
|
availability/visibility operations to the memory model, including a new
|
|
pname:vulkanMemoryModelAvailabilityVisibilityChains feature for
|
|
slink:VkPhysicalDeviceVulkanMemoryModelFeaturesKHR (internal issue
|
|
1460).
|
|
* Add the code:StorageBuffer storage class to those in the
|
|
<<interfaces-resources-descset, Descriptor Set Interface>> (internal
|
|
issue 1480).
|
|
* Add missing `returnedonly` tags for a number of returned extension
|
|
structures that can be passed in pname:pNext chains (internal issue
|
|
1515).
|
|
* Clean up and rearrange some spec language for
|
|
slink:VkRenderPassCreateInfo and slink:VkAttachmentReference.txt
|
|
(internal issue 1522).
|
|
* Correctly round the code:OpVectorTimesScalar and
|
|
code:OpMatrixTimesScalar SPIR-V operations in the <<Precision of core
|
|
SPIR-V Instructions>> table (internal merge request 2996).
|
|
* Work around cases in flink:vkCmdBeginTransformFeedbackEXT,
|
|
flink:vkCmdEndTransformFeedbackEXT, and
|
|
slink:VkPipelineCoverageModulationStateCreateInfoNV where an array
|
|
parameter is `optional` but the length is not in `vk.xml`. This is an
|
|
interim fix using `noautovalidity` + handcoded VU replacing those that
|
|
should be autogenerated (internal issue 2944 and
|
|
https://github.com/KhronosGroup/Vulkan-ValidationLayers/issues/480).
|
|
* Remove redundant capability validation of the code:float16 and code:int8
|
|
SPIR-V capabilities from the <<spirvenv-capabilities, Capabilities>>
|
|
section, since they are already covered in the preceding table.
|
|
* Update check_spec_links script, including validation for reference page
|
|
open blocks. Fix errors identified by the script.
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for January 05, 2019 Vulkan 1.1.97 spec update:
|
|
|
|
* Update release number to 97.
|
|
|
|
Public Issues:
|
|
|
|
* Add a special case to the <<renderpass-compatibility, Render Pass
|
|
Compatibility>> rules allowing single-subpass renderpasses to be
|
|
compatible even if they have different resolve attachment references
|
|
(public issue 835).
|
|
* Fix the miss shader binding table record address rule in the
|
|
<<shader-binding-table-indexing-rules, Miss Shaders>> section to index
|
|
by code:missIndex, not code:sbtOffset (public issue 875).
|
|
|
|
Internal Issues:
|
|
|
|
* Add a missing anchor to the elink:VkSamplerCreateFlagBits language
|
|
(internal issue 1483).
|
|
* Add missing implicit valid usage include for slink:VkHdrMetadataEXT and
|
|
corresponding `noautovalidity` attributes in `vk.xml` for the
|
|
externally-defined metadata properties (internal issue 1514).
|
|
* Remove restrictions on the `mask` parameter of SPIR-V's
|
|
code:OpGroupNonUniformXor in the <<spirvenv-module-validation,
|
|
Validation Rules within a Module>> appendix (internal merge request
|
|
2971).
|
|
* Restore `noautovalidity` attribute for
|
|
slink:VkPipelineViewportWScalingStateCreateInfoNV::pname:pViewportWScalings
|
|
in `vk.xml` (internal merge request 2975).
|
|
* Update copyright dates on Khronos-copyrighted files to 2019 (internal
|
|
merge request 2980).
|
|
|
|
New Extensions:
|
|
|
|
* `VK_KHR_depth_stencil_resolve`
|
|
* `VK_EXT_buffer_device_address`
|
|
* `VK_EXT_memory_budget`
|
|
* `VK_EXT_memory_priority`
|
|
* `VK_EXT_validation_features`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for December 16, 2018 Vulkan 1.1.96 spec update:
|
|
|
|
* Update release number to 96.
|
|
|
|
Public Issues:
|
|
|
|
* Fix typo in `vk.xml` for `structextends` attribute of
|
|
slink:VkPhysicalDeviceShadingRateImagePropertiesNV (public PR 870).
|
|
* Fix links in optimized PDF output (public PR 879).
|
|
|
|
Internal Issues:
|
|
|
|
* Add a link to GitHub contributors in the <<credits, Other Credits>>
|
|
section (internal issue 808).
|
|
* Clarify the behavior of command aliases described in the <<versions,
|
|
Core Revisions>> and <<initialization-functionpointers, Command Function
|
|
Pointers>> sections and the registry schema document with respect to
|
|
whether they are or are not the same entry point, and what the behaviour
|
|
of the ftext:vkGet*ProcAddr commands is for each alias (internal issue
|
|
1462).
|
|
* Update slink:VkPipelineShaderStageCreateInfo valid usage statements for
|
|
writing to code:Layer and code:viewportIndex to apply to any vertex
|
|
processing stage (internal issue 1475).
|
|
* Make sparse image creation optional for {YCbCr} formats in the
|
|
<<features-required-format-support, Required Format Support>> section
|
|
and the <<formats-requiring-sampler-ycbcr-conversion, Formats
|
|
requiring sampler {YCbCr} conversion for
|
|
ename:VK_IMAGE_ASPECT_COLOR_BIT image views>> table (internal issue
|
|
1476).
|
|
* Modify the valid usage statement for
|
|
flink:vkCmdDrawIndirectByteCountEXT::pname:vertexStride to use the
|
|
pname:maxTransformFeedbackBufferDataStride limit rather than the
|
|
pname:maxVertexInputBindingStride limit, which is a better match for
|
|
transform feedback related operations (internal issue 1487).
|
|
* Changed all members of slink:VkPhysicalDevicePCIBusInfoPropertiesEXT to
|
|
have the `uint32_t` type. This is an imcompatible change to an EXT
|
|
that's very recently released; although this is against usual Vulkan WG
|
|
policy, we discussed and consider this an acceptable risk, but have
|
|
polled the mesa-dev list in case there are use cases we missed (internal
|
|
issue 1492).
|
|
* Set spec vetsion to 1 for `VK_GOOGLE_hlsl_functionality1` and
|
|
`VK_GOOGLE_decorate_string` in `vk.xml` (internal MR 2948).
|
|
* Remove redundant valid usage statement `VkImageCreateInfo-pNext-02395`
|
|
(internal MR 2950).
|
|
* Add `check_spec_links.py` script, use it in Gitlab CI, and fix many
|
|
minor markup issues discovered by the script (internal MR 2955).
|
|
* Update `BUILD.md` to the current Ruby version (2.5.3), and make some
|
|
corresponding updates to per-platform build instructions (internal MR
|
|
2956).
|
|
* Fix binding numbers and other details in
|
|
flink:vkUpdateDescriptorSetWithTemplate.txt example code blocks
|
|
(internal MR 2960).
|
|
* Remove some nautovalidity="true" in `vk.xml` for NV extensions where
|
|
it's clearly wrong (internal MR 2970).
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for December 3, 2018 Vulkan 1.1.95 spec update:
|
|
|
|
* Update release number to 95.
|
|
|
|
Public Issues:
|
|
|
|
* Fix valid usage and XML issues found in public issues 789 and 790 for
|
|
the `VK_EXT_debug_utils` extension (public pull request 794).
|
|
* Replace references to `VK_NV_dedicated_allocation` with links to the
|
|
corresponding slink:slink:VkMemoryDedicatedRequirements and
|
|
slink:slink:VkMemoryDedicatedAllocateInfo structures in the description
|
|
of elink:VkExternalMemoryFeatureFlagBits (public issue 801).
|
|
* Fix miscellaneous minor markup and spelling issues in
|
|
`VK_NV_ray_tracing` extension (public pull request 860).
|
|
* Remove "returnedonly" from XML for
|
|
slink:VkPhysicalDeviceInlineUniformBlockFeaturesEXT and
|
|
slink:VkPhysicalDeviceVulkanMemoryModelFeaturesKHR (public issue 862).
|
|
|
|
Internal Issues:
|
|
|
|
* Add to the description of the
|
|
<<features-limits-maxComputeSharedMemorySize,
|
|
pname:maxCompureSharedMemorySize>> feature to state the shared variables
|
|
should be packed at least as tightly as std430 (internal issue 1386).
|
|
* Fix and clarify various references to image and image view usage in
|
|
flink:vkCmdBindShadingRateImageNV, flink:vkCmdBeginRenderPass, and
|
|
slink:VkImageStencilUsageCreateInfoEXT (internal issue 1432).
|
|
* Require that the slink:VkImage mipmap chain match the Android hardware
|
|
buffer mipmap chain for slink:VkMemoryAllocateInfo (internal issue
|
|
1479).
|
|
* Fix the definition of slink:VkSwapchainCreateInfoKHR valid usage
|
|
statement 01778 (Vulkan-ValidationLayers!15)
|
|
* Fix descriptions of <<interfaces-builtin-variables-launchid,
|
|
code:LaunchIDNV>> and <<interfaces-builtin-variables-launchsize,
|
|
code:LaunchSizeNV>> to code:uvec3.
|
|
|
|
New Extensions:
|
|
|
|
* `VK_KHR_shader_float16_int8`
|
|
* `VK_KHR_shader_float_controls`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for November 25, 2018 Vulkan 1.1.94 spec update:
|
|
|
|
* Update release number to 94.
|
|
|
|
Public Issues:
|
|
|
|
* Use the terms "`texel block`" and "`texel block size`" instead of "`data
|
|
element`" and "`element size`", and define "`element`" as an array slot.
|
|
In addition to the terminology changes, retitled the <<texel-block-size,
|
|
Representation and Texel Block Size>> section and added texel block size
|
|
/ no. of texels/block information to the
|
|
<<features-formats-compatibility, Compatible Formats>> table. There is
|
|
some additional work underway to make sure the compatibility language
|
|
makes sense for all of uncompressed, compressed, and multiplanar formats
|
|
(public issue 763).
|
|
* Cleanup `VK_NV_ray_tracing` language (public issues 858, 859).
|
|
|
|
Internal Issues:
|
|
|
|
* Specify in <<shaders-invocationgroups, Invocation and Derivative
|
|
Groups>> and <<textures-output-format-conversion, Texel Output Format
|
|
Conversion>> that derivative groups are quads when code:SubgroupSize >=
|
|
4 (internal issue 1390).
|
|
* Make the type of slink:VkDescriptorUpdateTemplateCreateInfo::pNext
|
|
`const` following pattern for the other stext:Vk*CreateInfo structures
|
|
(internal issue 1459).
|
|
* Specify that flink:vkCmdClearAttachments executes as a drawing command,
|
|
rather than a transfer command (internal issue 1463).
|
|
* Update `VK_NV_ray_tracing` to use code:InstanceId instead of
|
|
code:InstanceIndex.
|
|
|
|
New Extensions:
|
|
|
|
* `VK_KHR_swapchain_mutable_format`
|
|
* `VK_EXT_fragment_density_map`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for November 18, 2018 Vulkan 1.1.93 spec update:
|
|
|
|
* Update release number to 93.
|
|
|
|
Public Issues:
|
|
|
|
* Add spec language for ename:VK_INDEX_TYPE_NONE_NV and fix up
|
|
slink:VkAccelerationStructureTypeNV (public issue 848).
|
|
* Add missing suffix in description of slink:VkSubpassDescription2KHR
|
|
parameters (public pull request 851).
|
|
* Fix miscellaneous typos (public pull request 855).
|
|
* Add driver ID for Pastel (public pull request 856).
|
|
* Add missing include directive for slink:VkMemoryWin32HandlePropertiesKHR
|
|
implicit valid usage statements (public pull request 857).
|
|
|
|
Internal Issues:
|
|
|
|
* Restrict the storage classes permitted for SPIR-V atomics to what is
|
|
actually supported, in the <<spirvenv-module-validation, Validation
|
|
Rules within a Module>> section (internal issue 1123).
|
|
* Add a missing Valid Usage statement to slink:VkRenderPassCreateInfo for
|
|
the case pname:stencilLoadOp == ename:VK_LOAD_OP_CLEAR, pname:layout ==
|
|
ename:VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL (internal issue
|
|
1408).
|
|
* Modify optimize-pdf script and Makefile to retain non-optimized original
|
|
PDF on errors (internal issue 1435).
|
|
* Add <<spirvenv-module-validation, SPIR-V validation rules>> stating that
|
|
only the listed code:BuiltIn decorations are permitted, and only when
|
|
relevante features and extensions are enabled (internal issue 1449).
|
|
* Remove some duplicated Valid Usage IDs created via cut & paste error
|
|
(internal issue 1455).
|
|
* Build HTML output for extension reference pages (internal issue 1461).
|
|
** Improve genRef.py handling of aliases defined inside other refpages.
|
|
** Emit aliases in pygenerator.py.
|
|
** Add XML noautovalidity flag for VkRenderPassCreateFlags until there
|
|
are some corresponding FlagBits defined.
|
|
** Corrected types= attribute on some refpage blocks to 'flags'
|
|
** Added refpage blocks for some missing types detected by CI tests.
|
|
* Fixed many Valid Usage statement issues in slink:VkRenderPassCreateInfo,
|
|
slink:VkSubpassDescription, slink:VkSubpassDescription2KHR,
|
|
slink:VkSubpassDependency2KHR, flink:vkCmdBeginRenderPass,
|
|
flink:vkCmdBeginRenderPass2KHR, and slink:VkRenderPassBeginInfo
|
|
discovered while adding `VK_KHR_create_renderpass2` to the validation
|
|
layers.
|
|
|
|
New Extensions:
|
|
|
|
* `VK_EXT_scalar_block_layout`
|
|
* `VK_EXT_separate_stencil_usage`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for November 12, 2018 Vulkan 1.1.92 spec update:
|
|
|
|
* Update release number to 92.
|
|
|
|
Public Issues:
|
|
|
|
* Move and modify valid usage statements dealing with pname:aspectMask in
|
|
flink:vkCmdClearColorImage, flink:vkCmdClearDepthStencilImage, and
|
|
slink:VkClearAttachment, so they are in places where all necessary
|
|
information is available (public issue 529).
|
|
* Fix math markup in <<textures-texel-anisotropic-filtering, Texel
|
|
Anisotropic Filtering>> (public pull request 840).
|
|
* Fix misspellings (public pull request 845).
|
|
|
|
Internal Issues:
|
|
|
|
* Add installation instructions and a Makefile "`chunked`" target for
|
|
chunked HTML generation (internal issue 1352).
|
|
* Fix pipeline mesh diagram style; also fix a minor bug in the classic
|
|
pipeline diagram where vertex/index buffers wrongly fed into the vertex
|
|
shader (internal issue 1436).
|
|
* Make asciidoctor ERROR output raise an error, and don't suppress
|
|
executed command output from CI make invocation (internal issue 1454).
|
|
* Minor typo fixes and clarifications for `VK_NV_raytracing`.
|
|
* Cleanup extension-specific properties
|
|
** Remove duplicated documentation for pname:maxDiscardRectangles,
|
|
pname:pointClippingBehavior, and pname:maxVertexAttribDivisor (they
|
|
shouldn't be documented with the other members of
|
|
slink:VkPhysicalDeviceLimits at all).
|
|
** Remove duplicate anchor for pname:maxVertexAttribDivisor
|
|
** Consistently document stext:VkPhysicalDevice<Extension>PropertiesKHR
|
|
*** Always document pname:sType/pname:pNext (was inconsistent before)
|
|
*** Always mention chaining to slink:VkPhysicalDeviceProperties2 (and not
|
|
as slink:VkPhysicalDeviceProperties2KHR)
|
|
*** Always include Valid Usage statements last
|
|
* Update Makefile 'checklinks' target and associated scripts, and fix
|
|
markup problems identified by checkLinks.py, so that we can rely on the
|
|
checklinks script as part of Gitlab CI.
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for November 4, 2018 Vulkan 1.1.91 spec update:
|
|
|
|
* Update release number to 91.
|
|
|
|
Public Issues:
|
|
|
|
* Update Ubuntu subsystem build instructions in `BUILD.adoc` (public pull
|
|
request 624).
|
|
* Delete the `VK_KHR_mir_surface` extension from the Specification and
|
|
XML, due to EOL of the only driver known to have supported it, and
|
|
near-EOL of Mir itself (public issue 814).
|
|
* Fix options for some figures that were using old ones (public pull
|
|
request 841).
|
|
* Fix various accidentally repeated words (public pull request 843).
|
|
* Use `time.process_time()`, introduced in Python 3.3, in the scripts
|
|
instead of `time.clock()`, which will be removed in Python 3.8 (public
|
|
pull request 844).
|
|
|
|
Internal Issues:
|
|
|
|
* Update valid usage statements for
|
|
`VK_ANDROID_external_memory_android_hardware_buffer` in
|
|
slink:VkMemoryAllocateInfo,
|
|
slink:VkImportAndroidHardwareBufferInfoANDROID, and
|
|
flink:vkGetAndroidHardwareBufferPropertiesANDROID to actually be
|
|
verifiable (internal issue 1419).
|
|
* Update valid usage statements for
|
|
`VK_ANDROID_external_memory_android_hardware_buffer` in
|
|
slink:VkMemoryAllocateInfo, slink:VkImageCreateInfo, and
|
|
slink:VkImageViewCreateInfo to move valid usage statements in
|
|
doubly-nested bullet points up one level, accomodating limitations of
|
|
the valid usage extraction script that creates `validusage.json`
|
|
(internal issue 1434).
|
|
* Fix typo etext:VK_ACCESS_SHADING_RATE_IMAGE_BIT_NV to the correct
|
|
ename:VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV.
|
|
* Add missing etext:VK_STRUCTURE_TYPE_* tokens to appendices for
|
|
extensions missing them.
|
|
|
|
New Extensions:
|
|
|
|
* `VK_AMD_memory_overallocation_behavior`
|
|
* `VK_NV_ray_tracing`, replacing `VK_NVX_raytracing`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for October 28, 2018 Vulkan 1.1.90 spec update:
|
|
|
|
* Update release number to 90.
|
|
|
|
Public Issues:
|
|
|
|
* Tag flink:vkQueueWaitIdle as `externsync` in `vk.xml` (public pull
|
|
request 815).
|
|
* Update README (public pull request 834).
|
|
* `VK_NV_framebuffer_mixed_samples` and `VK_AMD_mixed_attachment_samples`
|
|
had confusing and contradictory valid usage statements when read in the
|
|
all-extensions spec build. Change them to explicitly mention which
|
|
extension each is for (public issue Vulkan-ValidationLayers/issues/353).
|
|
|
|
Internal Issues:
|
|
|
|
* Update `COPYING.md` to clarify how externally generated Vulkan
|
|
Specifications (for translations, annotations, or other reasons) must be
|
|
copyrighted, and acknowledge the Exception Clause on the `vk.xml`
|
|
license (internal issue 1079).
|
|
* Specify that flink:vkGetPhysicalDeviceImageFormatProperties may: return
|
|
pname:maxMipLevels 1 if the format is ycbcr (internal issue 1361).
|
|
* Clarify previously underspecified language for
|
|
flink:vkCmdPushConstants::pname:pStageFlags regarding use of push
|
|
constants across multiple pipelines (internal issue 1403).
|
|
* Fix typo in XML/headers for
|
|
ename:VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT,
|
|
which was previously
|
|
etext:VK_STRUCTURE_TYPE_IMAGE_EXCPLICIT_DRM_FORMAT_MODIFIER_CREATE_INFO_EXT
|
|
(internal issue 1428).
|
|
* Fix markup of equations that were sporadically breaking the
|
|
`optimize-pdf` step of PDF generation, due (apparently) to inconsistent
|
|
treatment of unwrapped multicharacter terms by different LaTeX parsers
|
|
(internal issue 1435).
|
|
* For the <<memory-model-synchronizes-with synchronizes-with>> memory
|
|
model relation cases involving a release barrier plus relaxed atomic
|
|
write, treat the atomic as if it were a release atomic and allow the
|
|
acquire side to read from its hypothetical release sequence. This is
|
|
more consistent with how C++ defines synchronization for release fences
|
|
(internal issue cross-api/memory-model#72).
|
|
* Minor editorial changes to the <<memory-model, memory model>> appendix
|
|
based on external feedback.
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for October 21, 2018 Vulkan 1.1.89 spec update:
|
|
|
|
* Update release number to 89.
|
|
|
|
Public Issues:
|
|
|
|
* Clarify the reference to <<features-limits-mipmapPrecisionBits, mipmap
|
|
precision bits>> in the <<textures-image-level-selection, Image Level(s)
|
|
Selection>> section (public issue 660).
|
|
* Update <<debugging-object-types,VkObjectType and Vulkan Handle
|
|
Relationship>> table with missing types (public pull request 820).
|
|
* Miscellaneous minor markup cleanup (public pull request 822).
|
|
* Fix copy/paste bugs in the description of how implicit
|
|
availability/visibility operations for atomics/barriers are ordered in
|
|
the <<memory-model-availability-visibility-semantics, Availability and
|
|
Visibility Semantics>> section (public issue 823).
|
|
* Add ename:VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV bit missing from
|
|
the mesh shading list of the <<synchronization-pipeline-graphics,
|
|
graphics pipeline>> (public issue 824).
|
|
|
|
Internal Issues:
|
|
|
|
* Clarify that only statically used members of a push constant block need
|
|
to be in the push constant range, and stop referring to block members as
|
|
"`variables`" in the <<interfaces-resources-pushconst, Push Constant
|
|
Interface>> section. This is related to
|
|
https://github.com/KhronosGroup/Vulkan-ValidationLayers/issues/340
|
|
(internal issue 1401).
|
|
* Clarify interaction between flink:vkCmdSetDeviceMask and render pass
|
|
control commands in the slink:VkDeviceGroupRenderPassBeginInfo section
|
|
(internal issue 1416).
|
|
* Miscellaneous minor markup cleanup.
|
|
* Remove types defined by `"disabled"` extensions from
|
|
validextensionstructs in the XML processing scripts, so downstream code
|
|
generators don't emit them.
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for October 13, 2018 Vulkan 1.1.88 spec update:
|
|
|
|
* Update release number to 88.
|
|
|
|
Public Issues:
|
|
|
|
* Make clear that
|
|
tname:PFN_vkDebugUtilsMessengerCallbackEXT::pname:messageTypes is a
|
|
bitmask, and correct a typo in the spelling of
|
|
slink:VkDebugUtilsMessengerCreateInfoEXT.txt::pname:messageType (public
|
|
pull request 800).
|
|
* Make an ABI-compatible change of the type of
|
|
slink:VkPhysicalDeviceDriverPropertiesKHR::pname:driverID to use the new
|
|
elink:VkDriverIdKHR type (public issue 811).
|
|
|
|
Internal Issues:
|
|
|
|
* Clarify for the <<features-features-shaderStorageImageExtendedFormats>>
|
|
feature and in the <<spirvenv-capabilities-table>> that the feature
|
|
means that all of the formats are supported, and that otherwise the
|
|
features can be queried per-format (internal issue 1273).
|
|
* Clarified interactions of `VK_EXT_external_memory_host` with host cache
|
|
management commands and structures flink:vkMapMemory,
|
|
flink:vkFlushMappedMemoryRanges, slink:VkMappedMemoryRange, and
|
|
flink:vkUnmapMemory using the new glossary term "`Host Mapped Device
|
|
Memory`" (internal issue 1385).
|
|
* Update the language for flink:vkCreateViSurfaceNN.txt describing the
|
|
pname:currentExtent of a VI surface to more accurately reflect current
|
|
capabilities, replacing "`undefined`" with more explicit behavior
|
|
(internal issue 1410).
|
|
|
|
New Extensions:
|
|
|
|
* `VK_EXT_calibrated_timestamps`
|
|
* `VK_EXT_image_drm_format_modifier` (this extension was previously
|
|
disabled in vk.xml, and has now been enabled after some changes to fix
|
|
performance issues).
|
|
* `VK_EXT_pci_bus_info`
|
|
* `VK_EXT_transform_feedback`
|
|
* `VK_GOOGLE_hlsl_functionality1`, exposing support for
|
|
`SPV_GOOGLE_hlsl_functionality1`.
|
|
* `VK_GOOGLE_decorate_string`, exposing support for
|
|
`SPV_GOOGLE_decorate_string`.
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for October 7, 2018 Vulkan 1.1.87 spec update:
|
|
|
|
* Update release number to 87.
|
|
|
|
Public Issues:
|
|
|
|
* Merge flink:vkCmdPipelineBarrier self-dependency barrier VUs referring
|
|
to the same subpass dependency (public pull request 756).
|
|
* Describe default value of `"optional"` attribute in the registry schema
|
|
document (public issue 769)
|
|
* Fix links in <<VK_NVX_raytracing>> extension (public pull request 805).
|
|
* Mark the <<VK_KHR_mir_surface>> extension obsolete (see public issue 814
|
|
- does not close this, however).
|
|
* Fix missing endif in Image Creation block (public issue 817).
|
|
|
|
Internal Issues:
|
|
|
|
* Clarify that the compressed texture formats corresponding to
|
|
<<features-features-textureCompressionETC2>>,
|
|
<<features-features-textureCompressionASTC_LDR>>, and
|
|
<<features-features-textureCompressionBC>> is not contingent on the
|
|
feature bits, and may be supported even if the features are not enabled
|
|
(internal issue 663).
|
|
* Clarify that code:FragStencilRefEXT is output only in the
|
|
<<interfaces-builtin-variables, Built-In Variables>> section (internal
|
|
issue 1173).
|
|
* Identify and correct many overly-aggressive uses of "`undefined`", and
|
|
narrow them down, where straightforward to do so. Mark such resolved
|
|
uses of "`undefined`" with the custom undefined: macro. Add a new
|
|
<<writing-undefined, Describing Undefined Behavior>> section (internal
|
|
issue 1267).
|
|
* Don't require code:inline_uniform_block descriptors to be populated
|
|
before use in the flink:vkAllocateDescriptorSets section (internal issue
|
|
1380).
|
|
* Allow suppressing inline SVG images by controlling this with an
|
|
attribute set in the Makefile, rather than the explicit [%inline]
|
|
directive (internal issue 1391).
|
|
* Mark 'Khronos' as a registered trademark in several places, now that it
|
|
is one.
|
|
* Fix typo in the <<VK_KHR_shader_atomic_int64>> appendix using the GLSL
|
|
naming of the compare exchange op when referring to the SPIR-V op.
|
|
* Specify in the flink:vkGetPhysicalDeviceQueueFamilyProperties section
|
|
that all implementations must support at least one queue family, and
|
|
that every queue family must contain at least one queue.
|
|
* Make slink:VkPipelineDynamicStateCreateInfo::pname:dynamicStateCount,
|
|
slink:VkSampleLocationsInfoEXT::pname:sampleLocationsPerPixel, and
|
|
slink:VkSampleLocationsInfoEXT::pname:sampleLocationsCount optional, to
|
|
fix bogus implicit valid usage checks that were causing failures in the
|
|
conformance tests.
|
|
* Fix vendor tag in reserved extension 237 constants. Does not affect
|
|
anything since it's just a placeholder, but this should avoid further
|
|
comments.
|
|
* Minor markup fixes in some extension appendices.
|
|
|
|
New Extensions:
|
|
|
|
* `<<VK_FUCHSIA_imagepipe_surface>>`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for September 29, 2018 Vulkan 1.1.86 spec update:
|
|
|
|
* Update release number to 86.
|
|
|
|
Internal Issues:
|
|
|
|
* Add new <<resources-image-creation-limits, Image Creation Limits>>
|
|
section and reference that from valid usage statements, reducing
|
|
combinatorial complexity of extension-dependent VUs. Also fixes some
|
|
underspecified limits (such as pname:maxMipLevels) in the VUs for
|
|
slink:VkImageCreateInfo when
|
|
slink:VkExternalMemoryImageCreateInfo::pname:externalMemoryHandles
|
|
contains multiple bits, and fixes incorrectly (and underspecified)
|
|
limits when an Android external format is used (internal issue 1370).
|
|
* Remove unused "`Fragment Area Granularity`" glossary entry accidentally
|
|
introduced in the 1.1.85 update.
|
|
|
|
New Extensions:
|
|
|
|
* `VK_KHR_driver_properties`
|
|
* `VK_KHR_shader_atomic_int64`
|
|
* The specification sources contain text for another extension,
|
|
`VK_EXT_image_drm_format_modifier`, but this extension is not yet
|
|
complete, and is marked disabled in `vk.xml`. The extension will be
|
|
enabled, and become part of the spec, only when the authors decide it is
|
|
ready.
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for September 19, 2018 Vulkan 1.1.85 spec update:
|
|
|
|
* Update release number to 85.
|
|
|
|
Public Issues:
|
|
|
|
* Add self-dependency ename:VK_DEPENDENCY_BY_REGION_BIT valid usage
|
|
statements for slink:VkSubpassDependency(public pull request 778).
|
|
* Apply fix from pull request 742 to slink:VkSubpassDependency and
|
|
slink:VkSubpassDependency2 (public pull request 779).
|
|
* Specify the units of slink:VkBufferImageCopy::pname:bufferRowLength and
|
|
pname:bufferImageHeight as texels (public pull request 781).
|
|
* Better specify promoted parameter mapping in the
|
|
`<<VK_KHR_create_renderpass2>>` appendix (public pull request 782).
|
|
|
|
Internal Issues:
|
|
|
|
* Only include the <<fundamentals-validusage-versions, Valid Usage for
|
|
Newer Core Versions>> section in Vulkan 1.1 or later (internal issue
|
|
1381).
|
|
|
|
Other Issues:
|
|
|
|
* Clean up redundant valid usage language for the
|
|
`VK_ANDROID_external_memory_android_hardware_buffer` extension
|
|
interaction with slink:VkImageCreateInfo.
|
|
* Fix error in a flag name within valid usage statements for
|
|
slink:VkMemoryAllocateInfo.
|
|
* Clarify that memory types are not totally ordered in
|
|
slink:VkPhysicalDeviceMemoryProperties.
|
|
* For slink:VkWriteDescriptorSetInlineUniformBlockEXT, set
|
|
structextends="VkWriteDescriptorSet" in `vk.xml`, and make
|
|
slink:VkDescriptorSetLayoutBindingFlagsCreateInfoEXT::pname:pBindingFlags
|
|
optional.
|
|
* Add documentation of 'provisional' XML attribute to registry.txt.
|
|
|
|
New Extensions:
|
|
|
|
* `VK_NV_compute_shader_derivatives`
|
|
* `VK_NV_corner_sampled_image`
|
|
* `VK_NV_fragment_shader_barycentric`
|
|
* `VK_NV_mesh_shader`
|
|
* `VK_NV_representative_fragment_test`
|
|
* `VK_NV_scissor_exclusive`
|
|
* `VK_NV_shader_image_footprint`
|
|
* `VK_NV_shading_rate_image`
|
|
* `VK_NVX_raytracing`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for September 8, 2018 Vulkan 1.1.84 spec update:
|
|
|
|
* Update release number to 84.
|
|
|
|
Public Issues:
|
|
|
|
* Fix code sample in the `<<VK_EXT_debug_utils>>` extension (public issue
|
|
751).
|
|
* Fix misleading comment in `vk.xml` for
|
|
slink:VkDescriptorBufferInfo::pname:buffer (public pull request 762).
|
|
* Fix formatting of deprecation attributes in schema doc (public pull
|
|
request 767).
|
|
* Change `can` to `may` in the description of
|
|
elink:VkSparseImageFormatFlagBits, which are return values from queries
|
|
(public pull request 768).
|
|
* Prettify generated contact list in extension appendices, adding logos
|
|
and a New Issue link (public pull request 770).
|
|
* Enable sRGB conversion based on the image view format, not the image
|
|
format, in the <<textures-format-conversion, Format Conversion>> section
|
|
(public pull request 773).
|
|
* Fix typo in equation in the <<primsrast-lines-basic, Basic Line Segment
|
|
Rasterization>> section (public pull request 780).
|
|
* Fix special characters in GitHub contacts links (public pull request
|
|
783).
|
|
* Make clean_pdf target remove pdf folder (public pull request 784).
|
|
* Fix styleguide bad markup of block continuation (public pull request
|
|
792).
|
|
|
|
Other Issues:
|
|
|
|
* Allow a zero vertex attribute divisor in the
|
|
`<<VK_EXT_vertex_attribute_divisor>>` extension, exposed via the
|
|
slink:VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT feature.
|
|
* Add missing `structextends="VkDeviceCreateInfo"` to
|
|
slink:VkPhysicalDeviceShaderDrawParameterFeatures and
|
|
slink:VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT.
|
|
|
|
New Extensions:
|
|
|
|
* `VK_KHR_memory_model`
|
|
* `VK_EXT_astc_decode_mode`
|
|
* `VK_EXT_inline_uniform_block`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for August 13, 2018 Vulkan 1.1.83 spec update:
|
|
|
|
* Update release number to 83.
|
|
|
|
Public Issues:
|
|
|
|
* Use [%inline] directive for all SVGs to reduce file size (public pull
|
|
request 734).
|
|
* Convert XML `value` aliases into <alias> tags (public pull request
|
|
747).
|
|
* Fix metadoc script showing non-selected extensions (public pull request
|
|
748).
|
|
* Reapply public pull request 742 to make
|
|
ename:VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT part of the
|
|
graphices pipeline (public pull request 749).
|
|
* Fix numerous typos related to accidental duplication of words (public
|
|
pull request 760).
|
|
* Fix `vk.xml` contact typos (public pull request 761).
|
|
|
|
|
|
Internal Issues:
|
|
|
|
* Add images to the <<Standard sample locations>> table (internal issue
|
|
1115).
|
|
* Add a definition of "`Inherited from`" precision in the
|
|
<<spirvenv-precision-operation, Precision and Operation of SPIR-V
|
|
Instructions>> section (internal issue 1314).
|
|
* Clarify that both built-in and user-defined variables count against the
|
|
location limits for shader interfaces in the
|
|
<<interfaces-iointerfaces-locations, Location Assignment>> section
|
|
(internal issue 1316).
|
|
* Merge "`required`" capabilities into the <<spirvenv-capabilities-table,
|
|
list of optional: SPIR-V capabilities>> (internal issue 1320).
|
|
* Relax the layout matching rules of descriptors referring to only a
|
|
single aspect of a depth/stencil image, by reference to the new
|
|
<<resources-image-layouts-matching-rule, Image Layout Matching Rules>>
|
|
section (internal issue 1346).
|
|
* Revert extension metadoc generator warning about name mismatches to a
|
|
diagnostic, due to annoying warnings in build output for conscious
|
|
choices we've made (internal issue 1351).
|
|
|
|
Other Issues:
|
|
|
|
* Reserve bits for pending vendor extensions.
|
|
* Make Vulkan consistent with SPIR-V regarding code:DepthReplacing and
|
|
code:FragDepth in the <<interfaces-builtin-variables, Built-In
|
|
Variables>> section.
|
|
* Add missing ChangeLog entries for the previous three spec updates.
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for July 30, 2018 Vulkan 1.1.82 spec update:
|
|
|
|
* Update release number to 82.
|
|
|
|
Public Issues:
|
|
|
|
* Add flink:vkDestroyPipelineLayout valid usage statement that the layout
|
|
must not have been used with command buffers still in the recording
|
|
state (public issue 730).
|
|
* Correct <unused> tag for elink:VkResult in `vk.xml` (public merge
|
|
request 746).
|
|
|
|
Internal Issues:
|
|
|
|
* Add a valid usage statement to flink:vkQueueSubmit, and similar language
|
|
to the definitions of <<synchronization-queue-transfers-acquire, acquire
|
|
operations>> requiring that an acquire operation follow a previous
|
|
release of the same subresource (internal issue 1290).
|
|
* Add <<resources-image-format-features,Image Format Features>> and
|
|
<<resources-image-view-format-features,Image View Format Features>>
|
|
sections that precisely define the slink:VkFormatFeatures supported by
|
|
images and image views, and rewrite valid usage statements to reference
|
|
these sections instead of duplicating language (internal issue 1310).
|
|
* Reword and consolidate synchronization valid usage statements for
|
|
flink:vkCmdPipelineBarrier such that they correctly account for mutiple
|
|
possible self-dependencies (internal issue 1322).
|
|
* Change order of <<Standard sample locations>> for 2xMSAA (internal issue
|
|
1347).
|
|
* Add definitions of "`<<Correctly Rounded>>`" and "`<<ULP>>`" in the
|
|
SPIR-V environment appendix, and "`Units in the Last Place (ULP)`" in
|
|
the glossary.
|
|
|
|
New Extensions:
|
|
|
|
* `VK_NV_device_diagnostic_checkpoints`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for July 23, 2018 Vulkan 1.1.81 spec update:
|
|
|
|
* Update release number to 81.
|
|
|
|
Public Issues:
|
|
|
|
* Fix missing "`valid`" phrasing in some obscure cases (public pull
|
|
request 605).
|
|
* Replace improper use of cannot: referring to the implementation in the
|
|
description of the
|
|
<<features-limits-maxUpdateAfterBindDescriptorsInAllPools,
|
|
pname:maxUpdateAfterBindDescriptorsInAllPools>> limit (public pull
|
|
request 738).
|
|
* Reorder description of bits in elink:VkPipelineStageFlagBits and the
|
|
<<synchronization-pipeline-stages-supported, Supported pipeline stage
|
|
flags>> table to match their definition order (public pull request 740).
|
|
* Add description of ename:VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT
|
|
to elink:VkBufferUsageFlagBits (public pull request 741).
|
|
* Fix value usage statement for slink:VkSubpassDependency stage mask
|
|
parameters (public pull request 742).
|
|
* Fix visible markup in registry schema document (public pull request
|
|
#745).
|
|
|
|
Internal Issues:
|
|
|
|
* Make the <<geometry-invocations, geometry shader invocation
|
|
description>> and <<shaders-geometry-execution, Geometry Shader
|
|
Execution>> descriptions consistent with other pipeline stages (internal
|
|
issue 1325).
|
|
* Mark the `VK_NV_glsl_shader` extension as deprecated.
|
|
* Adjust the per-instance vertex attribute offset formula specified by
|
|
`VK_EXT_vertex_attribute_divisor` for
|
|
slink:VkVertexInputBindingDivisorDescriptionEXT so that the interaction
|
|
between pname:firstInstance and pname:divisor matches the OpenGL
|
|
convention (internal issue 1333).
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for July 7, 2018 Vulkan 1.1.80 spec update:
|
|
|
|
* Update release number to 80.
|
|
|
|
Public Issues:
|
|
|
|
* Remove unused "`API Order`" term from glossary (public issue 657).
|
|
* Dynamically generate the extension appendix includes based on
|
|
information in `vk.xml`, including new metadata tags describing
|
|
deprecated, obsoleted, and promoted extensions (public pull request
|
|
690).
|
|
|
|
Internal Issues:
|
|
|
|
* Add valid usage statements to flink:vkCmdBindDescriptorSets to keep
|
|
offsets + range less than or equal to the buffer size (internal issue
|
|
1174).
|
|
|
|
New Extensions:
|
|
|
|
* `VK_EXT_conditional_render`
|
|
* `VK_KHR_create_renderpass2` (public issue 736)
|
|
* `VK_KHR_8bit_storage` (public issue 737)
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for July 1, 2018 Vulkan 1.1.79 spec update:
|
|
|
|
* Update release number to 79.
|
|
|
|
Public Issues:
|
|
|
|
* Add a note to the <<features-required-format-support, Required Format
|
|
Support>> section clarifying that the required formats don't depend on
|
|
the used flags (public issue 671).
|
|
* Add a valid usage statement for flink:vkUpdateDescriptors that was
|
|
previously described for slink:VkImageSubresourceRange, but not as a
|
|
valid usage statement (public issue 713).
|
|
* Modify implicit valid usage generator script to not emit 'must: not be
|
|
0' for a parameter that is a pointer to a flags field, such as
|
|
pname:pPeerMemoryFeatures (public issue 729).
|
|
|
|
Internal Issues:
|
|
|
|
* Add definitions of "`obsoleted`" and "`deprecated`", and modify the
|
|
definition of "`promoted`" in the <<glossary, Glossary>> (internal issue
|
|
988).
|
|
* Add language for integer texel output conversions (the conversion is
|
|
undefined) to the <<textures-output-format-conversion]] Texel Output
|
|
Format Conversion>> section. Simplify and clarify the floating-point
|
|
conversion language in the <<fundamentals-general, General
|
|
Requirements>> section and the new <<fundamentals-fp-conversion,
|
|
Floating-Point Format Conversions>> section, and remove obsolete
|
|
language in the format-specific floating-point sections (internal issue
|
|
1275).
|
|
* Add the elink:VkVendorId enumerated type to the Vulkan API / XML /
|
|
header, so reserved Khronos vendor IDs can be referred to symbolically
|
|
by clients. Note that only Khronos vendor IDs (e.g. non-PCI vendor IDs)
|
|
are defined (internal issue 1299).
|
|
* Fix typo in the <<fig-non-strict-lines, Non strict lines>> table
|
|
(internal issue 1315).
|
|
* Clean up and simplify the
|
|
<<formats-requiring-sampler-ycbcr-conversion, YCbCr format
|
|
properties>> table and use symbols consistently with other tables. Add a
|
|
column for the number of planes.
|
|
* Add code:Float16 to the <<spirvenv-capabilities-table, List of optional
|
|
SPIR-V capabilities>> for the `VK_AMD_gpu_shader_half_float` extension.
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for June 18, 2018 Vulkan 1.1.78 spec update:
|
|
|
|
* Update release number to 78.
|
|
|
|
Public Issues:
|
|
|
|
* Change markup so parameter descriptions include links to structures,
|
|
instead of just their names (public issue 697).
|
|
* Resume publishing updated Vulkan 1.0 + KHR extensions and Vulkan 1.0 +
|
|
all extensions versions of the specification (public issue 722).
|
|
* Reapply fixes from public pull request 698 for
|
|
`VK_ANDROID_external_memory_android_hardware_buffer`, which accidentally
|
|
were reverted at some point (public pull request 724).
|
|
* Fix undefined format valid usage statements for slink:VkImageCreateInfo
|
|
in the presence of the
|
|
`VK_ANDROID_external_memory_android_hardware_buffer` extension (public
|
|
pull request 725).
|
|
* Miscellaneous markup consistency fixes (public pull request 728).
|
|
|
|
Internal Issues:
|
|
|
|
* When building specifications containing vendor extensions, add terms to
|
|
the Khronos spec copyright specifying that the result is not a ratified
|
|
specification (internal issue 739).
|
|
* Change the value of the
|
|
pname:maxDescriptorSetUpdateAfterBindUniformBuffers minimum limit to 72
|
|
(6 times pname:maxPerStageDescriptorUpdateAfterBindUniformBuffers) in
|
|
the <<features-limits-required, Required Limits>> table (internal issue
|
|
1300).
|
|
|
|
Other Issues:
|
|
|
|
* Fix link to resource image view compatibility table in the valid usage
|
|
statements for slink:VkImageFormatListCreateInfoKHR (internal pull
|
|
request 2711).
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for June 10, 2018 Vulkan 1.1.77 spec update:
|
|
|
|
* Update release number to 77.
|
|
|
|
Public Issues:
|
|
|
|
* Remove redundant asciidoctor ifdef in slink:VkDeviceCreateInfo valid
|
|
usage statement (public pull request 718).
|
|
|
|
Internal Issues:
|
|
|
|
* Require that the returned slink:VkMemoryRequirements::pname:alignment
|
|
reflect the minimum alignment requirements for the buffer's usages, and
|
|
make dynamic offset alignment valid usage more explicit for
|
|
flink:vkBindBufferMemory and flink:vkCmdBindDescriptorSets (internal
|
|
issue 1170).
|
|
* Explicitly state that objects of type code:OpTypeImage,
|
|
code:OpTypeSampler, and code:OpTypeSampledImage must not be stored to in
|
|
the <<spirvenv-module-validation, Validation Rules within a Module>>
|
|
section (internal issue 1262).
|
|
* Clarify rules about validating descriptor set/binding against storage
|
|
class and descriptor type in the <<spirvenv-module-validation,
|
|
Validation Rules within a Module>> section, and add an anchor for and
|
|
references to the <<interfaces-resources-storage-class-correspondence,
|
|
Shader Resource and Storage Class Correspondence>> table (internal issue
|
|
1266).
|
|
* Use correct spelling of SPIR-V decoration code:NonWritable in several
|
|
places (internal issue 1298).
|
|
|
|
Other Issues:
|
|
|
|
* Update specification links to files in the old
|
|
KhronosGroup/Vulkan-LoaderAndValidationLayers repository with
|
|
corresponding links into the new repositories that replace it.
|
|
* Move validity requirement for slink:VkSamplerCreateInfo into the valid
|
|
usage block instead of the body text, and give it a VUID.
|
|
* Use the full name of the "`style guide`" in a reference in the
|
|
description of slink:vkGetPhysicalDeviceProperties, update the
|
|
<<vulkan-styleguide, link to that document>>, and use the full name
|
|
in the registry index page.
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for May 25, 2018 Vulkan 1.1.76 spec update:
|
|
|
|
* Update release number to 76.
|
|
|
|
Internal Issues:
|
|
|
|
* Add an exception clause to the license on `vk.xml`, enabling its use
|
|
with GPL-based projects (internal issue 1017).
|
|
* Remove the generated `vulkan_ext.[ch]` files, which are no longer
|
|
supported. Add `src/ext_loader/README.md` explaining why, and update
|
|
files in `xml/` to not generate them by default (internal issue 1268)
|
|
|
|
Other Issues:
|
|
|
|
* Fix typos in valid usage statements for the
|
|
ftext:vkDrawIndexedIndirectCount* commands, replacing
|
|
sizeof(VkDrawIndirectComment) with sizeof(VkDrawIndexedIndirectCommand).
|
|
* Modify the <<spirvenv-module-validation, Validation Rules within a
|
|
Module>> section to require code:NonReadable or code:NonWriteable in
|
|
SPIR-V code for images with an image format of code:Unknown if one of
|
|
the requisite code:shaderImageReadWithoutFormat or
|
|
code:shaderImageWriteWithoutFormat features is disabled.
|
|
|
|
New Extensions:
|
|
|
|
* `VK_KHR_get_display_properties2`
|
|
* `VK_KHR_draw_indirect_count`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for May 16, 2018 Vulkan 1.1.75 spec update:
|
|
|
|
* 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.
|
|
|
|
-----------------------------------------------------
|
|
|
|
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.
|
|
|
|
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`".
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for April 5, 2018 Vulkan 1.1.72 spec update:
|
|
|
|
* 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`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for March 16, 2018 Vulkan 1.1.71 spec update:
|
|
|
|
* 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`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for March 7, 2018 Vulkan 1.1.70 spec update:
|
|
|
|
* 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 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`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for February 19, 2018 Vulkan 1.0.69 spec update:
|
|
|
|
* 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`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for January 15, 2018 Vulkan 1.0.68 spec update:
|
|
|
|
* 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.
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for January 5, 2018 Vulkan 1.0.67 spec update:
|
|
|
|
* 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`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for November 27, 2017 Vulkan 1.0.66 spec update:
|
|
|
|
* Bump API patch number and header version number to 66 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Clarified how and when ename:VK_ERROR_TOO_MANY_OBJECTS is generated in
|
|
flink:vkAllocate Memory, and remove incorrect valid usage statement
|
|
about exceeding the API limit (public issue 356).
|
|
* Minor clarification of the description of
|
|
flink:vkUpdateDescriptorSetWithTemplateKHR::pname:descriptorUpdateTemplate
|
|
(public issue 564).
|
|
* Minor fixes for flink:vkCmdSetViewportWScalingNV (public pull request
|
|
588).
|
|
* Fix random name markup issues (public pull request 603).
|
|
* Fix code:BuiltIn decoration typo in the <<fxvertex-attrib, Vertex
|
|
Attributes>> section (public pull request 606).
|
|
* Fix synchronization language following the definition of
|
|
flink:vkAcquireNextImageKHR (public issue 607).
|
|
* Restore descriptions of several commands and structures missing from the
|
|
generated spec due to a mistyped asciidoctor conditional (public issue
|
|
612).
|
|
* Fix 1.0.41 changelog to refer to public issues 403/404 (public issue
|
|
618).
|
|
|
|
Internal Issues:
|
|
|
|
* Refactor valid usage statements with internal conditionals in
|
|
`copies.txt`, `pipelines.txt`, `renderpass.txt`, and `resources.txt` so
|
|
each branch of the conditional appears as a standalone statement which
|
|
can contain a separate VUID. This should have no impact on the generated
|
|
specs, but is necessary given the present state of the VU extractor and
|
|
the validation layer code that consumes them (internal issue 1043).
|
|
* Fix VkQueueGlobalPriorityEXT enum values missing _EXT suffix (internal
|
|
issue 1045).
|
|
* Clarified initial ownership of resources bound to shared memory objects,
|
|
(internal issue 1068).
|
|
* Fix duplicated valid usage ID tag for flink:vkCmdCopyImage, and make the
|
|
required layouts include ename:VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL in
|
|
both cases (internal issue 1084).
|
|
|
|
Other Issues:
|
|
|
|
* Remove the noise functions from GLSL for SPIR-V for Vulkan in the
|
|
`GL_KHR_vulkan_glsl.txt` extension.
|
|
|
|
New Extensions:
|
|
|
|
* `VK_EXT_external_memory_host`
|
|
* `VK_EXT_external_memory_dma_buf`
|
|
* `VK_EXT_queue_family_foreign`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for October 27, 2017 Vulkan 1.0.65 spec update:
|
|
|
|
* Bump API patch number and header version number to 65 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Replaced inaccurate "`pixel`" with "`texel`" or "`compressed texel
|
|
block`" as appropriate in the <<sparsememory, Sparse Resources>> chapter
|
|
(public issue 86).
|
|
* Attempt to clarify security/integrity guarantees in the
|
|
<<fundamentals-errors, Errors>> section (public issue 147).
|
|
* Update the <<memory-device,Device Memory>> section with clarifications
|
|
and markup fixes (public pull request 194).
|
|
* Fix typo VkDeviceCreateInfo -> slink:VkDebugMarkerObjectNameInfoEXT in
|
|
sample code for `VK_EXT_debug_marker` extension (public pull request
|
|
227).
|
|
* Clarified slink:VkFramebufferCreateInfo language regarding concurrent
|
|
use of attachment resources during a render pass instance (public issue
|
|
299).
|
|
* Added overlap rules for destination regions in <<copies,copy commands>>.
|
|
Also unified the sparse and non-sparse source-destination overlap rules,
|
|
since the non-sparse rules were technically inaccurate in the face of
|
|
aliasing in flink:vkBindMemory2 - the new rules are true regardless
|
|
(public issue 317).
|
|
* Clarified the <<features-features-samplerAnisotropy,
|
|
pname:samplerAnisotropy feature>> to only affect the
|
|
slink:VkSamplerCreateInfo::pname:anisotropyEnable value, and that
|
|
pname:maxAnisotropy is ignored when pname:anisotropyEnable is VK_FALSE
|
|
(public issue 503).
|
|
* Clarify pointer valid usage statements to use "`valid pointer to valid
|
|
_object_`" terminology and update the
|
|
<<fundamentals-validusage-pointers,Valid Usage for Pointers>> section
|
|
accordingly (public pull request 547).
|
|
* Some operations that use integer coordinates can also accept a LOD to
|
|
sample from. Add a description of that selection and the validity
|
|
conditions in the new <<textures-integer-coordinate-operations, Integer
|
|
Texel Coordinate Operations>> section (public issue 548).
|
|
* Update stext:VkImageSubresource* valid usage statements (public pull
|
|
request 550).
|
|
* Added text tying ename:VK_OUT_OF_POOL_MEMORY error for
|
|
flink:vkAllocateDescriptorSets to the number of descriptor types in the
|
|
allocating pool. Removed redundant "`length`" text about number of
|
|
descriptors returned (public issue 582).
|
|
* Update slink:VkSwapchainCreateInfoKHR descriptions (public pull request
|
|
585).
|
|
* Update slink:VkPipelineViewportWScalingStateCreateInfoNV and related
|
|
structures' valid usage statements (public pull request 587).
|
|
* Change some dates to conform to ISO 8601 as specified in the style guide
|
|
(public pull request 601).
|
|
* Fix some math markup problems and be more consistent in use of asciidoc
|
|
math markup (public pull request 602).
|
|
|
|
Internal Issues:
|
|
|
|
* Clarified that attribute reads from incomplete vertex buffer elements
|
|
are considered out of bounds accesses, in the
|
|
slink:VkPhysicalDeviceFeatures and flink:vkCmdBindVertexBuffers.txt
|
|
sections (internal issue 842).
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for October 20, 2017 Vulkan 1.0.64 spec update:
|
|
|
|
* Bump API patch number and header version number to 64 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Add chapter name to the PDF page footer (public pull request 458).
|
|
* Fix several mistaken references to the nonexistent etext:VK_DEVICE_LOST
|
|
status to etext:VK_ERROR_DEVICE_LOST (public pull request 502).
|
|
* Fix description of the tlink:PFN_vkDebugReportCallbackEXT debug report
|
|
callback function pointer to match the validation layer behavior (public
|
|
issue 534).
|
|
* Document experimental KHX extensions and alternate vendor author IDs
|
|
also ending in X in more detail in the <<extensions, Layers &
|
|
Extensions>> appendix, the extensions section of the style guide, and
|
|
the registry schema description document (public issues 536, 580).
|
|
* Fix references to ptext:pDepthStencil to properly refer to
|
|
pname:pDepthStencilState or pname:pRasterizationState as appropriate in
|
|
the slink:VkGraphicsPipelineCreateInfo description (public issue 542).
|
|
* Fix wrong parameter name in slink:VkPipelineMultisampleStateCreateInfo
|
|
valid usage (public pull request 571).
|
|
|
|
Internal Issues:
|
|
|
|
* Update the style guide to describe how to write LaTeX math expressions
|
|
in table cells (internal issue 908).
|
|
* Define how framebuffer-local dependencies work between subpasses with
|
|
the same or different numbers of samples, in the
|
|
slink:VkSubpassDescription and <<synchronization-framebuffer-regions,
|
|
Framebuffer Region Dependencies>> sections. This clarifies which samples
|
|
in an input attachment you are allowed to access after a
|
|
framebuffer-local dependency (internal issue 915).
|
|
* Specify which storage classes can have an initializer in the
|
|
<<spirvenv-module-validation, Validation Rules within a Module>> section
|
|
(internal issue 1023).
|
|
* Use "LOD" consistently for "level-of-detail", to eliminate spelling
|
|
inconsistencies. The term is already standardized in the Glossary
|
|
(internal issue 1027).
|
|
|
|
Other Issues:
|
|
|
|
* Fix false positives in Makefile dependencies when rules fail, by
|
|
deleting partially-made targets.
|
|
|
|
New Extensions:
|
|
|
|
* `VK_AMD_shader_info`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for October 13, 2017 Vulkan 1.0.63 spec update:
|
|
|
|
* Bump API patch number and header version number to 63 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Add missing valid usage statements for ptext:maxDescriptorSets*,
|
|
ptext:maxPerStageDescriptorInputAttachments, and
|
|
ptext:maxPerStageResources to slink:VkPipelineLayoutCreateInfo.txt,
|
|
flink:VkComputePipelineCreateInfo, and
|
|
flink:VkGraphicsPipelineCreateInfo (public issue 546).
|
|
* Fix typos in ftext:vkCmdDraw*AMD descriptions (public pull request 549).
|
|
* Fixed flink:vkCmdWriteTimestamp so it is not unnecessarily restricted to
|
|
queues supporting graphics or compute operations (public issue 558).
|
|
* Improvements to valid usage generator for output `*Flags` pointer
|
|
parameters and for some `void *` parameters (public pull requests 560,
|
|
562).
|
|
* Document `altlen` attribute in XML schema as valid C99 syntax and tweak
|
|
`vk.xml` to match (public pull request 566).
|
|
* Clarify when pname:fence is signaled by flink:vkQueueSubmit in a more
|
|
obvious place (public issue 577).
|
|
|
|
Internal Issues:
|
|
|
|
* Specify a list of supported SPIR-V Storage Classes in the
|
|
<<spirvenv-module-validation, Validation Rules within a Module>>
|
|
appendix (internal SPIR-V issue 166).
|
|
* Relax the shared semaphore wait timeout requirement in the
|
|
<<synchronization-semaphores-importing, Importing Semaphore Payloads>>
|
|
section (internal issue 820).
|
|
* Update the <<textures-image-level-selection, Image Level(s) Selection>>
|
|
equations so that the parameters returned by the level-of-detail query
|
|
appear explicitly, also fixing the issue that linear filtering would
|
|
select a level below the base level for magnification (internal issue
|
|
926).
|
|
* Disallow creation of a swapchain with zero pname:imageExtent in
|
|
slink:VkSurfaceCapabilitiesKHR and slink:VkSwapchainCreateInfoKHR
|
|
(internal issue 1020).
|
|
|
|
Other Issues:
|
|
|
|
* Clarify in <<textures-operation-validation,Image View Validation>> that
|
|
the layout of subresources in an image view must have a layout that
|
|
matches that written into the descriptor, and that this section is about
|
|
validating image views, not images.
|
|
|
|
New Extensions:
|
|
|
|
* `VK_EXT_global_priority`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for October 6, 2017 Vulkan 1.0.62 spec update:
|
|
|
|
* Bump API patch number and header version number to 62 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Move asciidoc conditionals for `VK_KHR_maintenance1` in
|
|
slink:VkDescriptorSetAllocateInfo so valid usage statements for
|
|
`VK_KHR_push_descriptor` aren't accidentally removed when the first
|
|
extension isn't enabled (public issue 573).
|
|
|
|
Internal Issues:
|
|
|
|
* Specify constraints on concurrent access to fences that share payload in
|
|
the <<synchronization-fences-importing, Importing Fence Payloads>> and
|
|
<<synchronization-semaphores-waiting-state, Semaphore State Requirements
|
|
For Wait Operations>> sections (internal issue 820).
|
|
* Define the term "`retired swapchain`", reorganize some swapchain
|
|
language, and improve language for pname:oldSwapchain in
|
|
flink:VkSwapchainCreateInfoKHR, the <<swapchain-wsi-image-create-info>>
|
|
table, flink:vkDestroySwapchainKHR, and flink:vkAcquireNextImage2KHX
|
|
(internal issue 869).
|
|
* Describe in the <<writing-arrays, Describing Properties of Array
|
|
Elements>> section of the style guide how and when to use "`each`" and
|
|
"`any`" to refer to properties of array elements, and make those uses in
|
|
the specification consistent (internal issue 884).
|
|
* Clarified that events cannot be used for cross-queue synchronization in
|
|
the <<synchronization-events, Events>> section and for
|
|
flink:vkCmdWaitEvents (internal issue 970).
|
|
* Add success and error codes to +vk.xml+ for
|
|
flink:vkCreateValidationCacheEXT (internal issue 995).
|
|
* Clarify aspect mask usage for image memory barriers of multi-plane
|
|
images in slink:VkImageSubresourceRange, slink:VkImageMemoryBarrier, and
|
|
the <<textures-layout-validation, Layout Validation>> section (internal
|
|
issue 996).
|
|
|
|
Other Issues:
|
|
|
|
* Fixed typo in flink:VkRenderPassSampleLocationsBeginInfoEXT (renamed
|
|
field pname:pSubpassSampleLocations to
|
|
pname:pPostSubpassSampleLocations).
|
|
* Add missing buffer usage requirements for indirect draws in
|
|
flink:vkCmdDrawIndirect, flink:vkCmdDrawIndirectCountAMD,
|
|
flink:vkCmdDrawIndexedIndirect, and
|
|
flink:vkCmdDrawIndexedIndirectCountAMD.
|
|
* Modify Makefile to allow specification to build in git "`detached HEAD`"
|
|
state.
|
|
* Update valid usage ID generation script to allow recursively operating
|
|
on all `.txt` files in a specified directory, and move the `startVUID`
|
|
tracking information into a separate python file that is automatically
|
|
updated by the script.
|
|
* Fixed errors in API example code for
|
|
flink:vkUpdateDescriptorSetWithTemplateKHR and
|
|
flink:vkCmdPushDescriptorSetWithTemplateKHR.
|
|
|
|
New Extensions:
|
|
|
|
* Add +vk.xml+ entries for pending `VK_ANDROID_native_buffer` extension
|
|
(note, this extension is not yet enabled).
|
|
* `VK_AMD_shader_image_load_store_lod`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for September 15, 2017 Vulkan 1.0.61 spec update:
|
|
|
|
* Bump API patch number and header version number to 61 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Provide alternate length attributes (altlen=) in the XML schema, for
|
|
those using length attributes to generate code instead of documentation
|
|
(public issue 555).
|
|
* Fix erroneous references to `latex:` being used for asciidoc math
|
|
markup, rather than `latexmath:` (public pull request 556).
|
|
* Add author ID to XML for Kazan software renderer (public pull request
|
|
557).
|
|
|
|
Internal Issues:
|
|
|
|
* Add the <<fundamentals-abi,Application Binary Interface>> section
|
|
describing platform ABI requirements and recommendations, add examples
|
|
of function and function pointer declarations to the
|
|
<<boilerplate-platform-specific-calling-conventions, Platform-Specific
|
|
Calling Conventions>> section, and remove related language that existed
|
|
elsewhere in the specification (internal issue 64).
|
|
* Describe where to document valid usage interactions of chained
|
|
structures in the style guide, and fix one case now appearing in
|
|
slink:VkBufferCreateInfo instead of the child
|
|
slink:VkDedicatedAllocationBufferCreateInfoNV structure (internal issue
|
|
715).
|
|
* Add example to the style guide of describing enumerated types which are
|
|
empty when the spec is built without relevant extensions enabled, and
|
|
apply it to existing examples for
|
|
elink:VkDescriptorSetLayoutCreateFlagBits and
|
|
elink:VkSubpassDescriptionFlagBits (internal issue 864).
|
|
* Add a note to the <<fundamentals-validusage-enums, Valid Usage for
|
|
Enumerated Types>> section that the special values suffixed with
|
|
etext:_BEGIN_RANGE, etext:_END_RANGE, etext:_RANGE_SIZE and
|
|
etext:_MAX_ENUM are not part of the API and should: not be used by
|
|
applications (internal issue 872).
|
|
* Added note to flink:vkCmdUpdateBuffers explaining the performance
|
|
penalty for copies done in this way, and why the upper copy limit is
|
|
what it is (internal issue 952).
|
|
* Update `VK_KHX_device_group` to split some functionality into the new
|
|
`VK_KHR_bind_memory2` extension, and rename that functionality (internal
|
|
issue 969).
|
|
* Remove *Status* fields from extension appendices, since they are by
|
|
definition published and complete by the time they reach the public
|
|
github repository (internal issue 973).
|
|
|
|
Other Issues:
|
|
|
|
* Update Data Format specification dependency to version 1.2 and change
|
|
references to DF sections accordingly.
|
|
* Update XML to make the pname:pAllocator parameter of
|
|
flink:vkRegisterDeviceEventEXT and flink:vkRegisterDisplayEventEXT in
|
|
the `VK_EXT_display_control` extension as optional.
|
|
|
|
New Extensions:
|
|
|
|
* `VK_KHR_bind_memory2`
|
|
* `VK_KHR_image_format_list`
|
|
* `VK_KHR_maintenance2`
|
|
* `VK_KHR_sampler_ycbcr_conversion`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for September 5, 2017 Vulkan 1.0.60 spec update:
|
|
|
|
* Bump API patch number and header version number to 60 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Document that <<queries-timestamps, Timestamp Queries>> can only be
|
|
meaningfully compared when they are written from the same queue (public
|
|
issue 216).
|
|
* Document that the `<extension>` tag `type` attribute is required for
|
|
non-disabled extensions (derived from, but does not close public issue
|
|
354).
|
|
* Clean up registry schema length attribute descriptions to be consistent
|
|
and correct (public issue 555).
|
|
|
|
Internal Issues:
|
|
|
|
* Replace as much of the hand-written extension appendix metadata as
|
|
possible with asciidoc includes generated from corresponding attributes
|
|
of +vk.xml+, and enhance the style guide to match. This avoids
|
|
inconsistencies between +vk.xml+ and the appendices, and produces a more
|
|
uniform style (internal issue 137).
|
|
* Remove the generated extDependency.{py,sh} files from the tree and
|
|
create them dynamically on demand instead, reducing merge conflicts
|
|
(internal issue 713).
|
|
* Add a prototype tool for generating in-place difference markup for
|
|
sections guarded by asciidoc conditionals, and new syntax for open
|
|
blocks to support it (internal issue 833).
|
|
* Remove unnecessary restriction of etext:*SYNC_FD_BIT_KHR external handle
|
|
types to the same physical device in the
|
|
slink:VkPhysicalDeviceIDPropertiesKHR,
|
|
flink:VkImportMemoryWin32HandleInfoKHR,
|
|
slink:VkImportFenceWin32HandleInfoKHR, slink:VkImportFenceFdInfoKHR,
|
|
slink:VkImportSemaphoreWin32HandleInfoKHR,
|
|
slink:VkImportSemaphoreFdInfoKHR
|
|
<<external-memory-handle-types-compatibility, External memory handle
|
|
types compatibility>>, <<external-semaphore-handle-types-compatibility,
|
|
External semaphore handle types compatibility>>, and
|
|
<<external-fence-handle-types-compatibility, External fence handle types
|
|
compatibility>> sections (internal issue 956).
|
|
|
|
Other Issues:
|
|
|
|
* Remove dependency of +VK_KHX_device_group+ on +VK_KHR_swapchain+ (there
|
|
is an interaction, but not a strict dependency), and add a new
|
|
`extension` attribute to the `<require` XML tag to allow classifying a
|
|
subset of interfaces of an extension as requiring another extension.
|
|
Update the registry schema and documentation accordingly.
|
|
|
|
New Extensions:
|
|
|
|
* `VK_AMD_shader_fragment_mask` (and related `GL_AMD_shader_fragment_mask`
|
|
GLSL extension)
|
|
* `VK_EXT_sample_locations`
|
|
* `VK_EXT_validation_cache`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for August 19, 2017 Vulkan 1.0.59 spec update:
|
|
|
|
* Bump API patch number and header version number to 59 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Fix a few missing Implicit Valid Usage statements to indicate that a
|
|
common parent of two objects is required (public issue 497).
|
|
* Clarify render pass synchronization language for
|
|
slink:VkSubpassDependency and <<renderpass,render passes>> (public
|
|
issue 531).
|
|
* Rename ename:VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT to
|
|
ename:VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT for consistency, and
|
|
add an alias for backwards compatibility (public issue 539).
|
|
|
|
Internal Issues:
|
|
|
|
* Add an explanation to the <<interfaces-builtin-variables-layer,
|
|
code:Layer>> description explaining that writing to invalid layers
|
|
results may or may not result in primitives being processed and fragment
|
|
shaders being run, and gives undefined results in the framebuffer
|
|
(internal issue 614)
|
|
* Add valid usage statement for slink:VkDescriptorSetLayoutBinding
|
|
requiring that input attachment descriptor bindings must not use
|
|
non-fragment stages (internal issue 933).
|
|
|
|
Other Issues:
|
|
|
|
* Makes description of pname:loadOp and pname:storeOp easier to read in
|
|
the <<renderpass-load-store-ops>> section.
|
|
|
|
New Extensions:
|
|
|
|
* `VK_EXT_shader_stencil_export`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for August 14, 2017 Vulkan 1.0.58 spec update:
|
|
|
|
* Bump API patch number and header version number to 58 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Update the <<interfaces-resources-descset,Descriptor Set Interface>>
|
|
section to allow multiple variables with the same descriptor set/binding
|
|
decorations, and require that all variables that are statically used
|
|
must be consistent with the pipeline layout. Allow
|
|
ename:VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER to be used with texture
|
|
and sampler variables (public issues 522, 524).
|
|
|
|
Internal Issues:
|
|
|
|
* Replace networkx package used for extension dependency generation with a
|
|
homegrown network dependency traverser (internal issue 713).
|
|
* Specify in the <<interfaces-fragmentoutput, Fragment Output Interface>>
|
|
section that if a fragment shader writes integers that cannot be
|
|
represented in the format of the colour attachment, then the result is
|
|
undefined (internal issue 893).
|
|
* Separate malformed valid usage statement for
|
|
slink:VkPipelineRasterizationStateCreateInfo into two (internal issue
|
|
918).
|
|
* Fix cases where the term 'pNext chain' is incorrectly used in reference
|
|
to functions, rather than their parameters. Replace 'pNext list' with
|
|
'pNext chain'. Fixed typo in the example code of
|
|
+VK_KHR_dedicated_allocation+ (internal issue 944).
|
|
* Fix typo in elink:VkExternalSemaphoreHandleTypeFlagBitsKHR enum
|
|
descriptions, replacing
|
|
etext:VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_FENCE_FD_BIT_KHR with
|
|
ename:VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR, and make the
|
|
description more consistent with
|
|
VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT_KHR (internal issue 950).
|
|
|
|
Other Issues:
|
|
|
|
* Clarify how pipeline stage masks affect
|
|
<<synchronization-pipeline-stages-masks, access and synchronization
|
|
scopes>>.
|
|
* Clarify that dedicated allocations do not allow aliasing in the
|
|
flink:vkBindBufferMemory and flink:vkBindImageMemory valid usage
|
|
statements.
|
|
* Correct specification of pname:dynamicCount for push_constant token in
|
|
slink:VkIndirectCommandsLayoutNVX.
|
|
|
|
New Extensions:
|
|
|
|
* `VK_EXT_shader_viewport_index_layer`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for August 1, 2017 Vulkan 1.0.57 spec update:
|
|
|
|
* Bump API patch number and header version number to 57 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Fix error in description of ename:VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK
|
|
block size (public issue 342).
|
|
* Update documentation of ename:VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT
|
|
to explicitly mention both graphics and compute pipelines (public issue
|
|
525).
|
|
|
|
Internal Issues:
|
|
|
|
* Document that
|
|
slink:VkPhysicalDeviceLimits::pname:framebufferColorSampleCounts does
|
|
not cover integer formats (internal issue 550).
|
|
* Add a note under slink:VkImageViewCreateInfo describing how values meant
|
|
for one format can be sanitized when used via another format (internal
|
|
issue 927).
|
|
* Add valid usage statements to ftext:vkCmd* documenting that image
|
|
subresources used as attachments must not be accessed as non-attachments
|
|
in a render pass (internal issue 929).
|
|
* Remove obsolete 'validextensionstructs' attribute from +vk.xml+, the XML
|
|
schema, and the schema documentation (internal issue 946).
|
|
|
|
New Extensions:
|
|
|
|
* `VK_AMD_mixed_attachment_samples`
|
|
* `VK_EXT_post_depth_coverage`
|
|
* `VK_KHR_relaxed_block_layout`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for July 21, 2017 Vulkan 1.0.56 spec update:
|
|
|
|
* Bump API patch number and header version number to 56 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Add valid usage statements for commands introduced by
|
|
`VK_EXT_debug_report` and `VK_EXT_debug_marker` extensions, regarding
|
|
the valid pname:object and pname:objectType values (public issue 495).
|
|
* Modify `GL_KHR_vulkan_glsl` specification to document that uniform and
|
|
buffer block arrays each take only a single binding (public issue 514).
|
|
* Add `KHX` author tag to +vk.xml+ (public issue 526).
|
|
|
|
Internal Issues:
|
|
|
|
* Document use of code: macro for non-Vulkan APIs in the style guide
|
|
(internal issue 863).
|
|
* Document that reference page open block delimiters must not contain
|
|
asciidoc section markup in the style guide (internal issue 898).
|
|
* Fix <<spirvenv,SPIR-V appendix>> to say
|
|
code:VariablePointersStorageBuffer instead of
|
|
code:VariablePointersUniformBufferBlock (internal issue 928).
|
|
|
|
Other Commits:
|
|
|
|
* Add missing extension structures to dependency attributes in +vk.xml+.
|
|
|
|
New Extenions:
|
|
|
|
* `VK_EXT_depth_range_unrestricted`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for July 15, 2017 Vulkan 1.0.55 spec update:
|
|
|
|
* Bump API patch number and header version number to 55 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Removed unintended optional parameter in +vk.xml+ from the
|
|
pname:pWaitSemaphores member of slink:VkPresentInfoKHR, which resulted
|
|
in the generation of an incorrect implicit valid usage clause allowing
|
|
pname:pWaitSemaphores to be NULL even when pname:waitSemaphoreCount is
|
|
non-zero (public issue 491).
|
|
* Add missing attribute to +vk.xml+ documenting that
|
|
slink:VkSwapchainCounterCreateInfoEXT extends
|
|
slink:VkSwapchainCreateInfo (public issue 510).
|
|
* Add const qualifier for some `VK_EXT_debug_market` extension command
|
|
parameters that were missing it (public issue 513).
|
|
* Fix definition of q and level~base~ in
|
|
<<textures-image-level-selection,Image Level(s) Selection>> (public
|
|
issue 515).
|
|
* Clarify lifetime requirement for slink:VkRenderPass objects used in
|
|
object creation (public issue 516).
|
|
* Fix link to floating/normalized fixed-point conversion from
|
|
<<interfaces-fragmentoutput,Fragment Output Interface>> (public issue
|
|
521).
|
|
|
|
Internal Issues:
|
|
|
|
* Update the style guide to include the general structure of a Vulkan
|
|
command name, the specific rule for using "`Get`" vs. "`Enumerate`" in
|
|
names, and a table of verbs commonly used in command names (spinoff of
|
|
internal issue 753).
|
|
* Clarified the behavior of automatic layout transitions in case of
|
|
attachment views that are 2D or 2D array views of 3D images. In
|
|
addition, restructured the valid usage clauses corresponding to the
|
|
members of the slink:VkImageSubresourceRange structure and added missing
|
|
valid usage clauses for its pname:baseMipLevel and pname:baseArrayLayer
|
|
members (internal issues 803, 849).
|
|
* Modify `GL_KHR_vulkan_glsl` specification to allow explicit std430 on a
|
|
push_constant declaration (internal issue 919).
|
|
|
|
Other Commits:
|
|
|
|
* Modify <<synchronization-framebuffer-regions, Framebuffer Region
|
|
Dependencies>> to use synchronization scope terminology.
|
|
* Add ename:VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT to the
|
|
`VK_EXT_swapchain_colorspace` extension.
|
|
* Replace XML comments with `comment` attributes and/or tags, to enable
|
|
tools which transform the XML without loss of information.
|
|
* Replace `validextensionstructs` with `structextends`, which is tagged in
|
|
the child structure instead of the parent. This makes it slightly
|
|
simpler to add new structs to the XML, causes fewer merge conflicts, and
|
|
the information is kept localized to the extension structures where it
|
|
belongs. The old `validextensionstructs` attributes will be retained
|
|
until we're certain this doesn't cause problems with known consumers of
|
|
+vk.xml+.
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for July 13, 2017 Vulkan 1.0.54 spec update:
|
|
|
|
* Bump API patch number and header version number to 54 for this update.
|
|
|
|
Github Issues:
|
|
|
|
Internal Issues:
|
|
|
|
* Fix tessellation domain to have an upper-left origin in the
|
|
<<img-tessellation-topology-ul, tessellation toplogy image>> and related
|
|
language. CTS and all implementations were already doing this, it was
|
|
just a documentation bug that it was flipped to lower-left (internal
|
|
issue 603).
|
|
* Add a section to the style guide describing how VUID tags are changed
|
|
and removed when the corresponding Valid Usage statements are modified
|
|
(internal issue 829).
|
|
* Add explicit Valid Usage statement to
|
|
slink:VkPipelineDynamicStateCreateInfo to require that members of
|
|
pname:pDynamicStates must be unique (internal issue 851).
|
|
|
|
New Extensions:
|
|
|
|
* `VK_KHR_16bit_storage`
|
|
* `VK_KHR_dedicated_allocation`
|
|
* `VK_KHR_external_fence`
|
|
* `VK_KHR_external_fence_capabilities`
|
|
* `VK_KHR_external_fence_fd`
|
|
* `VK_KHR_external_fence_win32`
|
|
* `VK_KHR_get_memory_requirements2`
|
|
* `VK_KHR_storage_buffer_storage_class`
|
|
* `VK_KHR_variable_pointers`
|
|
|
|
Extensions Promoted From KHX To KHR Status:
|
|
|
|
* `VK_KHR_external_memory`
|
|
* `VK_KHR_external_memory_capabilities`
|
|
* `VK_KHR_external_memory_fd`
|
|
* `VK_KHR_external_memory_win32`
|
|
* `VK_KHR_external_semaphore`
|
|
* `VK_KHR_external_semaphore_capabilities`
|
|
* `VK_KHR_external_semaphore_fd`
|
|
* `VK_KHR_external_semaphore_win32`
|
|
* `VK_KHR_win32_keyed_mutex`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for June 24, 2017 Vulkan 1.0.53 spec update:
|
|
|
|
* Bump API patch number and header version number to 53 for this update.
|
|
|
|
Github Issues:
|
|
|
|
Internal Issues:
|
|
|
|
* Clarify mappings of coordinates for mutable, compatible image views in
|
|
slink:VkImageViewCreateInfo (internal issue 815).
|
|
* Make ename:VK_BIND_SFR_BIT require a logical device with multiple
|
|
physical devices, so that standard sparse image block dimensions are
|
|
only required on systems that support multi-GPU (internal issue 835).
|
|
* Convert all files from use of // refBegin .. // refEnd comments to
|
|
delimit ref pages, to use of open blocks, and update style guide
|
|
accordingly (internal issue 839).
|
|
* Add valid usage for slink:VkWriteDescriptorSet when performing updates
|
|
to a ename:VK_STORAGE_IMAGE descriptor with layout
|
|
ename:VK_IMAGE_LAYOUT_GENERAL.
|
|
* Add a hack to the validity generator script to support an odd
|
|
interaction between flink:vkCmdFillBuffer and an extension (internal
|
|
issue 853).
|
|
* Remove redundant text describing slink:VkBufferCreateInfo::pname:usage,
|
|
which was already covered by implicit valid usage (internal issue 854).
|
|
* Update implicit validity generator script to properly handle the
|
|
pname:sType and pname:pNext members of "returnedonly" structures
|
|
(internal issue 874).
|
|
* Note that slink:VkApplicationInfo::pname:pApplicationName &
|
|
slink:VkApplicationInfo::pname:pEngineName are optional, and add missing
|
|
implicit valid usage statements for flink:vkDestroyInstance.
|
|
* Added missing valid usage for flink:vkCmdWriteTimestamp to require a
|
|
timestamp query pool.
|
|
* Simplify and/or split "`non-atomic`" valid usage statements.
|
|
|
|
New Extensions:
|
|
|
|
* `VK_AMD_gpu_shader_int16`
|
|
* `VK_EXT_blend_operation_advanced`
|
|
* `VK_EXT_sampler_filter_minmax`
|
|
* `VK_NV_framebuffer_mixed_samples`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for June 13, 2017 Vulkan 1.0.52 spec update:
|
|
|
|
* Bump API patch number and header version number to 52 for this update.
|
|
|
|
Github Issues:
|
|
|
|
Internal Issues:
|
|
|
|
* Clarify behavior when non-coherent memory has
|
|
<<memory-device-unmap-does-not-flush, not been flushed before being
|
|
unmapped>> (internal issue 819).
|
|
* Fix description of code:WorkgroupSize builtin to note it decorates an
|
|
object, not a variable (internal issue 836).
|
|
* Fix asciidoc attributes so that trailing '{plus}' symbols in [eq] style
|
|
equations are rendered properly (internal issue 845).
|
|
* Add language to the "`Extension Handles, Objects, Enums, and Typedefs`"
|
|
section of the Procedures and Conventions document stating that any new
|
|
handle type requires a corresponding entry in the elink:VkObjectType
|
|
enumerated type (internal issue 856).
|
|
* Update style guide to use slink macro for Vulkan handle type names, and
|
|
define narrow conditions under which to use the *name and *text macros
|
|
instead of *link (internal issue 886).
|
|
* Add a dependency of the <<VK_KHX_device_group,VK_KHX_device_group>>
|
|
extension on VK_KHX_device_group_creation to +vk.xml+ and the extension
|
|
appendix.
|
|
* Change the copyright on Vulkan specification asciidoc *source* files to
|
|
CC-BY 4.0, and update the proprietary Khronos copyright applied to the
|
|
generated *output* formats (internal issue 327). This enables broader
|
|
re-use and modification of the Vulkan specification sources, while not
|
|
affecting the Reciprocal IP License between Vulkan Adopters and Working
|
|
Group Members.
|
|
|
|
New Extensions:
|
|
|
|
* `VK_NV_fill_rectangle`
|
|
* `VK_NV_fragment_coverage_to_color`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for June 4, 2017 Vulkan 1.0.51 spec update:
|
|
|
|
* Bump API patch number and header version number to 51 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Add Valid Usage statement to flink:vkCmdResolveImage to require that
|
|
source and destination image formats match (public issue 492).
|
|
* Specify that a code:char* parameter must: be a valid null-terminated
|
|
string in the <<fundamentals-implicit-validity, implicit valid usage>>
|
|
section (public issue 494).
|
|
* Removed unnecessary VU for slink:VkPhysicalDeviceFeatures which is
|
|
covered by ename:VK_ERROR_FEATURE_NOT_PRESENT already (public issue
|
|
496).
|
|
* Clarify valid usage of pname:pQueueFamilyIndices in
|
|
slink:VkBufferCreateInfo, slink:VkImageCreateInfo, and
|
|
slink:VkSwapchainCreateInfoKHR (public issue 501).
|
|
* Document that dependencies of enabled extensions must also be enabled in
|
|
the <<extended-functionality-extensions-dependencies, Extension
|
|
Dependencies>> section (public issue 507).
|
|
|
|
Internal Issues:
|
|
|
|
* Change slink:VkMappedMemoryRange valid usage to allow pname:offset +
|
|
pname:size == size of the allocation. Also, if ename:VK_WHOLE_SIZE is
|
|
used, require the end of the mapping to be aligned to a multiple of
|
|
pname:nonCoherentAtomSize (internal issue 611).
|
|
* Add issue to `VK_KHR_win32_surface` about reusing window objects from a
|
|
different graphics API or Vulkan ICD (internal issue 639).
|
|
* Require locations on user in/out in `GL_KHR_vulkan_glsl` (internal issue
|
|
783).
|
|
* Added version info to the json validation output, and updated the schema
|
|
to match (internal issue 838).
|
|
* Restructure enumerated type descriptions separately from the command or
|
|
structure they are used in, allowing better reference page generation
|
|
(internal issue 841).
|
|
* Re-sort extension appendices to be in alphabetical order within each
|
|
author ID section.
|
|
* Fix enum naming and clarify behavior for
|
|
`VK_NVX_device_generated_commands` extension.
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for May 20, 2017 Vulkan 1.0.50 spec update:
|
|
|
|
* Bump API patch number and header version number to 50 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Fix numerous minor issues with the VK_EXT_debug_report extension (public
|
|
issues 478, 483, 486, 489, 490).
|
|
|
|
Internal Issues:
|
|
|
|
* Update flink:vkAllocateDescriptorSets to specify conditions under which
|
|
to return ename:VK_ERROR_FRAGMENTED_POOL or
|
|
ename:VK_ERROR_OUT_OF_POOL_MEMORY instead of
|
|
out-of-host/out-of-device-memory, and improve the
|
|
<<fundamentals-errorcodes, description of those errors (internal issue
|
|
654).
|
|
* Add a NOTE documenting that flink:vkAcquireNextImageKHR can only signal
|
|
a single semaphore, and how to deal with that when multiple physical
|
|
devices in a logical device need to wait on it (internal issue 730).
|
|
* Improve description of pname:pNext chains of
|
|
slink:VkPhysicalDeviceImageFormatInfo2KHR and
|
|
slink:VkImageFormatProperties2KHR (internal issue 814).
|
|
* Clean up math markup issues in the <<textures, Image Operations>>
|
|
chapter (internal issue 818).
|
|
* Update validusage target to use more robust code for preprocessing, by
|
|
making direct use of Asciidoctor's preprocessor. Added uniqueItems check
|
|
to JSON vu schema and add clean_validusage target (internal issue 826).
|
|
* Update style guide to prohibit writing non-self-contained (on a single
|
|
bullet point) Valid Usage statements, and modify offending Valid Usage
|
|
statements in the Specification to match, to assist with automatic
|
|
extraction for the validation layers (internal issue 828).
|
|
* Add ename:VK_VALIDATION_CHECK_SHADERS_EXT to elink:VkValidationCheckEXT
|
|
of the `VK_EXT_validation_flags` extension, to selectively disable
|
|
shader validation.
|
|
* Remove duplicate valid usage statement for slink:VkImageMemoryBarrier.
|
|
* Modify reflow.py script to place VUID tag anchors standalone on a line
|
|
following their corresponding bullet point, and reflow the spec text
|
|
accordingly (this had been pending since the initial tag deployment).
|
|
|
|
New Extensions:
|
|
|
|
* `VK_AMD_texture_gather_bias_lod`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for May 12, 2017 Vulkan 1.0.49 spec update:
|
|
|
|
* Bump API patch number and header version number to 49 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Modify reference page extraction script to make internal links to spec
|
|
anchors refer to the core specification instead of being dangling links
|
|
(public issue 455).
|
|
* Fix GL_KHR_vulkan_glsl typo and add a nor-normative mapping to the newly
|
|
published StorageBuffer class (public issue 466).
|
|
* Both flink:vkEnumerateInstanceExtensionProperties and
|
|
flink:vkEnumerateDeviceExtensionProperties return
|
|
ename:VK_ERROR_LAYER_NOT_PRESENT, which covers the error case of an
|
|
application providing a layer name that wasn't returned by
|
|
ftext:vkEnumerate{Instance|Device}LayerProperties (public issue 487).
|
|
* The specification for flink:VkApplicationInfo::apiVersion says that the
|
|
driver must return ename:VK_ERROR_INCOMPATIBLE_DRIVER in the case that
|
|
pname:apiVersion specifies a non-supported version. That means that the
|
|
valid usage should not also state that, and so the VU statement is
|
|
removed. The VU had language about "`an effective substitute`" that
|
|
would have been lost, and so it was moved to the pname:apiVersion
|
|
description (public issue 488).
|
|
|
|
Internal Issues:
|
|
|
|
* Modify implicit validity generator script to assign asciidoc anchors to
|
|
all valid usage statements it generates, and reflow.py script to insert
|
|
Valid Usage ID (VUID) tags into the specification source files for
|
|
explicit valid usage statements. This has no semantic effects on the
|
|
specification, but will support the validation layer's detection of
|
|
valid usage violations and allow it to link into the corresponding part
|
|
of the specification (internal issue 583).
|
|
* Assign VUID tags to all explicit VU statements and document
|
|
the process and tag format in the style guide (internal issue 583).
|
|
* Clarify the rules of whether to structure new functionality as instance
|
|
extensions, device extensions, or both in the
|
|
<<extended-functionality-instance-extensions-and-devices, Instance
|
|
Extensions and Device Extensions>> section (internal issue 749).
|
|
* Require that SPIR-V run-time arrays are only used with the
|
|
code:BufferBlock decoration (internal issue 750).
|
|
* Fix implicit and explicit valid usage statements for
|
|
slink:VkWriteDescriptorSet::pname:dstSet (internal issue 767)
|
|
* Fix SPIR-V code sample for ename:VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER
|
|
in the <<descriptorsets-uniformtexelbuffer, Uniform Texel Buffer>>
|
|
section (internal issue 770).
|
|
* Clarify that disabling depth testing also disables depth writes in the
|
|
<<fragops-ds-state, Depth and Stencil Operations>> section (internal
|
|
issue 775).
|
|
* flink:VkDescriptorImageInfo::pname:imageLayout must match the actual
|
|
imageLayout at the time the image is accessed. This was in the spec
|
|
text, but needed an associated valid usage statement.
|
|
* Note that only 32-bit atomic operations are supported in the
|
|
<<spirvenv-module-validation, Validation Rules within a Module>>
|
|
section.
|
|
* Note that code:UniformConstant variables must not have initializers in
|
|
the <<spirvenv-module-validation, Validation Rules within a Module>>
|
|
section.
|
|
* Add a new elink:VkObjectType enumeration to the core API, promoted from
|
|
elink:VkDebugObjectTypeEXT, since it is used for much more than just the
|
|
debug_report extension.
|
|
|
|
New Extensions:
|
|
|
|
* `VK_KHR_get_surface_capabilities2`
|
|
* `VK_KHR_shared_presentable_image`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for April 15, 2017 Vulkan 1.0.48 spec update:
|
|
|
|
* Bump API patch number and header version number to 48 for this update.
|
|
|
|
Internal Issues:
|
|
|
|
* Add missing VU statements for flink:vkUpdateDescriptorSets (internal
|
|
issue 333).
|
|
* Correct swapped ifdef/ifndef blocks for `VK_KHR_maintenance1` extension
|
|
(internal issue 776).
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for April 8, 2017 Vulkan 1.0.47 spec update:
|
|
|
|
* Bump API patch number and header version number to 47 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Allow <<synchronization-pipeline-barriers-subpass-self-dependencies,
|
|
self-dependencies>> (also described for slink:VkSubpassDependency) to
|
|
have earlier stages depend on later stages if all stages are
|
|
framebuffer-space (public issue 125).
|
|
* Clarify when pipeline state structures are ignored in the
|
|
slink:VkGraphicsPipelineCreateInfo strucure, when the tessellation
|
|
structure must be valid, and remove 'if `NULL`' descriptions from the
|
|
valid usage statements (public issue 445).
|
|
* Remove the obsolete "validextensionstructs" attribute for
|
|
flink:VkPresentRegionsKHR. This caused a pname:pNext valid usage
|
|
statement to be generated which wasn't consistent with what is stated in
|
|
the spec (public issue 481).
|
|
|
|
Internal Issues:
|
|
|
|
* Clarify facingness of non-polygon fragments for slink:VkStencilOpState
|
|
and in the code:FrontFacing <<interfaces-builtin-variables,built-in
|
|
variable description>>. Define 'facingness' of a fragment as a distinct
|
|
term from facingness of a polygon (internal issue 662).
|
|
* Clarify that the texture compression features (e.g.
|
|
pname:textureCompressionBC) means that all formats of that type
|
|
(<<features-features-textureCompressionASTC_LDR,ASTC>>,
|
|
<<features-features-textureCompressionETC2,ETC2>>,
|
|
<<features-features-textureCompressionBC,BC>>) are supported, and that
|
|
support for individual formats may: queried separately (internal issue
|
|
663).
|
|
* Clarify in the valid usage for slink:VkBindImageMemoryInfoKHX that each
|
|
SFR rectangle must be a multiple of the sparse block size for each
|
|
aspect, e.g. in a depth/stencil image using separate depth/stencil
|
|
planes (internal issue 721).
|
|
* Re-remove KHX variants of KHR structure types after promotion (internal
|
|
issue 762).
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for March 31, 2017 Vulkan 1.0.46 spec update:
|
|
|
|
* Bump API patch number and header version number to 46 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Add language to the <<fundamentals-validusage-enums, Valid Usage for
|
|
Enumerated Types>> section allowing values to be returned from Vulkan
|
|
that are not present in extensions explicitly enabled by the
|
|
application, similar to existing language for bit flags in the
|
|
<<fundamentals-validusage-flags, Valid Usage for Flags>> section (public
|
|
issue 442).
|
|
* *Important*: run `gem update --pre asciidoctor-pdf` before trying to
|
|
build this version of the spec - 1.5.0.alpha15 is required for this
|
|
change. Removes the monkey patch currently used to draw valid usage
|
|
blocks across multiple pages which had numerous issues. A fixed version
|
|
was incorporated into Asciidoctor-PDF for the latest release, so the
|
|
monkey patch or any variant thereof is no longer required (public issue
|
|
465).
|
|
|
|
Internal Issues:
|
|
|
|
* Add ename:VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT
|
|
to `VK_EXT_debug_report` extension
|
|
* Fix ptext:pNext member of
|
|
slink:VkPhysicalDeviceDiscardRectanglePropertiesEXT to be a non-const
|
|
pointer. Properties structures return values, so the chain should be
|
|
non-const.
|
|
* Explicitly remove gl_NumSamples from the `GL_KHR_vulkan_glsl` extension,
|
|
against 1.0 (internal issue 612).
|
|
* Add Valid Usage statements requiring that each structure type valid in a
|
|
ptext:pNext chain must: not appear more than once in a chain (internal
|
|
issue 752).
|
|
* Use ename:VK_USE_PLATFORM_WIN32_KHX in the
|
|
`VK_KHX_external_memory_win32` extension, rather than etext:_KHR
|
|
(internal issue 754).
|
|
|
|
New Extensions:
|
|
|
|
* `VK_KHR_incremental_present`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for March 24, 2017 Vulkan 1.0.45 spec update:
|
|
|
|
* Bump API patch number and header version number to 45 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Defined the lifetime of the memory pointed to by
|
|
slink:VkDisplayPropertiesKHR::pname:displayName to be equal to that of
|
|
its associated display handle (public issue 460).
|
|
* Correct several cases where the sparse memory feature name
|
|
pname:residencyNonResidentStrict was written as
|
|
pname:sparseResidencyNonResidentStrict (public issue 475).
|
|
|
|
Internal Issues:
|
|
|
|
* Fix ptext:pNext member of slink:VkPhysicalDeviceGroupPropertiesKHX to be
|
|
a non-const pointer. Properties structures return values, so the chain
|
|
should be non-const.
|
|
* Clarify definition of memory aliasing to consistently use the terms
|
|
"linear" and "non-linear" when referring to resources, and define what
|
|
those terms mean.
|
|
* Modified XML schema and implicit validity scripts to generate language
|
|
for all ptext:pNext values in a ptext:pNext chain instead of just the
|
|
top level struct, and made `noautovalidity` functional for ptext:sType
|
|
and ptext:pNext (internal issue 535).
|
|
* Add more detail for BT2020 and scRGB color spaces in
|
|
`VK_EXT_swapchain_colorspace` extension (internal issue 632).
|
|
* Add naming rules for Extension Structure Names (structures added to the
|
|
ptext:pNext chain of a base structure) to the style guide (internal
|
|
issue 706).
|
|
* Define the glossary term "ptext:pNext chain", and use it consistently in
|
|
the spec (internal issue 744).
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for March 17, 2017 Vulkan 1.0.44 spec update:
|
|
|
|
* Bump API patch number and header version number to 44 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Fix description of <<features-extentperimagetype, Allowed Extent Values
|
|
Based On Image Type>> (public issue 290).
|
|
* Better specify VK_DEVICE_LOST behavior around flink:vkQueueSubmit,
|
|
flink:vkWaitForFences, and flink:vkGetFenceStatus (public issue 423).
|
|
* Clarify definition of flink:vkGetQueryPoolResults::pname:queryCount
|
|
(public issue 441).
|
|
* Simplify and clean up normative language. Remove shall and replace
|
|
recommend and variants with should wherever possible (public issue 448).
|
|
* Fix all dangling internal cross-references in the 1.0-extensions
|
|
specification, and add scripts/checkXrefs to find these in the future
|
|
(public issue 456).
|
|
* Reverse order of ChangeLog.txt entries so the most recent version is
|
|
documented first (public issue 463)
|
|
* Removes "become invalid" which clashes with invalid state for command
|
|
buffers. (public issue 467)
|
|
* Disallowed pending state in spec text for vkResetCommandBuffer, matching
|
|
valid usage (public issue 468)
|
|
* Removes sentence describing invalid state "like initial state". (public
|
|
issue 469)
|
|
* Disallows begin command buffer from resetting command buffers in the
|
|
"recording" state. (public issue 470)
|
|
* Removes mention of state from description of
|
|
VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT (public issue 471)
|
|
* Removed extra valid usage statement in VkSubmitInfo (public issue 472)
|
|
|
|
Internal Issues:
|
|
|
|
* Clarify description of the pname:imageLayout member of
|
|
sname:VkDescriptorImageInfo.
|
|
* Fix typos where etext:VK_VIEW_TYPE* was used instead of
|
|
etext:VK_IMAGE_VIEW_TYPE.
|
|
* Removed the <<VK_KHR_display>> and <<VK_KHR_display_swapchain>> example
|
|
code from the specification and noted it has been moved to the Vulkan
|
|
SDK cube demo (internal issue 179).
|
|
* Reorder VkExternalMemoryHandleTypeFlagBitsNV description (internal issue
|
|
480).
|
|
* Clarify than an implementation is
|
|
<<fundamentals-validusage-flags,permitted to return 'undefined' bit
|
|
flags>> in a bitfield (internal issue 640).
|
|
* Break Valid Usage statements describing unrelated parameters into
|
|
separate statements, and add a style guide entry to follow this approach
|
|
(internal issue 685).
|
|
* Move valid usage statement for slink:VkImageCreateInfo from spec body to
|
|
the explicit valid usage block (internal issue 693).
|
|
* Fix typos in the descriptions of slink:VkDisplaySurfaceCreateInfoKHR,
|
|
flink:vkCreateDisplayModeKHR, and
|
|
flink:vkGetDisplayPlaneSupportedDisplaysKHR in the <<display,Presenting
|
|
Directly to Display Devices>> section (internal issue 698, 704, 716).
|
|
* Clarified that mandatory depth/stencil formats are only a requirement
|
|
for 2D images (internal issue 719).
|
|
* Clarify that variables decorated with DeviceIndex/ViewIndex must be in
|
|
the Input storage class (internal issue 733).
|
|
* Work around generator script problem with removal of Unicode literals
|
|
from Python 3.0-3.2 using `future` package (internal issue 737).
|
|
* Remove nonexistent structure type enums from vk.xml (internal issue
|
|
738).
|
|
* Fix validextensionstructs attributes for structures in the pname:pNext
|
|
chain for VkPresentInfoKHR, fixing implicit valid usage statements for
|
|
those structures (internal issue 740).
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for March 10, 2017 Vulkan 1.0.43 spec update:
|
|
|
|
* Bump API patch number and header version number to 43 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Make clearer that color write mask is applied regardless of whether
|
|
blending is enabled, by referring to the
|
|
<<framebuffer-color-write-mask,Color Write Mask>> section (public issue
|
|
241).
|
|
* Fix public issue 414:
|
|
** Added two new command buffer states (invalid, pending), and an explicit
|
|
"command buffer lifecycle" section to explain them.
|
|
** Replaced "pending execution" with "in the pending state".
|
|
** Replaced a bunch of "this will invalidate the command buffer" language
|
|
with "this will move the command buffer to the invalid state", and added
|
|
validation language for what state those command buffers should be in.
|
|
** Added additional validation language about what state a command buffer
|
|
should be in for various commands that affect it.
|
|
** Added invalidation language to destroy commands in the lifetimes section
|
|
of fundamentals.
|
|
** Added command buffers to list of objects which must not be deleted
|
|
whilst a (primary) command buffer is in the recording or pending state.
|
|
* Update `GL_KHR_vulkan_glsl` extension to allow anonymous push constant
|
|
blocks (public issue 428).
|
|
|
|
Internal Issues:
|
|
|
|
* Document rules about extension interactions in the style guide (internal
|
|
issue 579).
|
|
* Require ename:VK_PRESENT_MODE_MAILBOX_KHR support in queries of surfaces
|
|
created with flink:vkCreateWaylandSurfaceKHR using the
|
|
VK_KHR_wayland_surface extension (internal issue 666).
|
|
* Remove Valid Usage constraints for flink:vkAllocateDescriptorSets when
|
|
the `VK_KHR_maintainance1` extension is present (internal issue 686).
|
|
* Remove undocumented KHX-variants of vkGetPhysicalDeviceProperties2KHR
|
|
and vkGetPhysicalDeviceImageFormatProperties2KHR from the
|
|
<<VK_KHX_external_memory_capabilities>> and
|
|
<<VK_KHX_external_semaphore_capabilities>> extensions.
|
|
|
|
New Extensions:
|
|
|
|
* `VK_EXT_hdr_metadata`
|
|
* `VK_GOOGLE_display_timing`
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for February 27, 2017 Vulkan 1.0.42 spec update:
|
|
|
|
* Bump API patch number and header version number to 42 for this update
|
|
(the first anniversary edition).
|
|
|
|
Github Issues:
|
|
|
|
* Changed asciidoctor macros so cross-page links in the standalone
|
|
reference pages function properly (public issue 462).
|
|
|
|
Internal Issues:
|
|
|
|
* Clarified host visibility discussion for slink:VkMemoryType,
|
|
flink:vkInvalidateMappedMemoryRanges, elink:VkAccessFlagBits, and the
|
|
<<synchronization-framebuffer-regions,Framebuffer Region Dependencies>>
|
|
section, removing duplicated information and adding a central definition
|
|
in the access types section (internal issue 552).
|
|
* Change description of
|
|
slink:vkGetPhysicalDeviceSurfacePresentModesKHR::pname:pPresentModes to
|
|
return an array of values, not structures (internal issue 699).
|
|
|
|
New Extensions:
|
|
|
|
* Add a NOTE to the <<extensions,Layers & Extensions>> chapter describing
|
|
the experimental status of `KHX` extensions.
|
|
* Add new Khronos, Khronos Experimental, and vendor Vulkan extensions for
|
|
release at GDC:
|
|
** VK_KHR_descriptor_update_template
|
|
** VK_KHR_push_descriptor
|
|
** VK_KHX_device_group
|
|
** VK_KHX_device_group_creation
|
|
** VK_KHX_external_memory
|
|
** VK_KHX_external_memory_capabilities
|
|
** VK_KHX_external_memory_fd
|
|
** VK_KHX_external_memory_win32
|
|
** VK_KHX_external_semaphore
|
|
** VK_KHX_external_semaphore_capabilities
|
|
** VK_KHX_external_semaphore_fd
|
|
** VK_KHX_external_semaphore_win32
|
|
** VK_KHX_multiview
|
|
** VK_KHX_win32_keyed_mutex
|
|
** VK_EXT_discard_rectangles
|
|
** VK_MVK_ios_surface
|
|
** VK_MVK_macos_surface
|
|
** VK_NVX_multiview_per_view_attributes
|
|
** VK_NV_clip_space_w_scaling
|
|
** VK_NV_geometry_shader_passthrough
|
|
** VK_NV_sample_mask_override_coverage
|
|
** VK_NV_viewport_array2
|
|
** VK_NV_viewport_swizzle
|
|
* Add new GLSL vendor extensions to support new builtin variables:
|
|
** GL_EXT_device_group
|
|
** GL_EXT_multiview
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for February 17, 2017 Vulkan 1.0.41 spec update:
|
|
|
|
* Bump API patch number and header version number to 41 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Made all uses of `NULL` vs. code:VK_NULL_HANDLE consistent (public issue
|
|
276).
|
|
* Clarify render pass compatibility in different usage scenarios (public
|
|
issues 403 and 404).
|
|
* Add valid usage statements to slink:VkFramebufferCreateInfo requiring
|
|
that the width, height, and number of layers of the framebuffer all be
|
|
nonzero (public issue 432).
|
|
* Allow `offset` and `align` in any GLSL version for the
|
|
`GL_KHR_vulkan_glsl` extension (public issue 435).
|
|
* Specify lifetime of string objects passed to the
|
|
tlink:PFN_vkDebugReportCallbackEXT user callback in the
|
|
+VK_EXT_debug_report+ extension (public issue 446).
|
|
* Fix inter-page links in multi-file reference pages (public issue 454).
|
|
|
|
Internal Issues:
|
|
|
|
* Update valid usage language for slink:VkImageCreateInfo to disallow
|
|
creating images that have ename:VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT
|
|
set without other attachment usage bits
|
|
(ename:VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT,
|
|
ename:VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT, or
|
|
ename:VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT) (internal issue 540).
|
|
* Disable `VK_EXT_swapchain_colorspace` extension until internal issues
|
|
640 and 661 are mutually resolved.
|
|
* Allow alternative mipmap level selection when [eq]#lambda == 0.5# during
|
|
texture <<textures-image-level-selection,Image Level(s) Selection>>
|
|
(internal issue 680).
|
|
|
|
Other Issues:
|
|
|
|
* Add a clarification to the style guide that the extension revision
|
|
number is treated as a patch number, so that changes to published
|
|
extensions should only include bug fixes and spec clarifications.
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for February 10, 2017 Vulkan 1.0.40 spec update:
|
|
|
|
* Bump API patch number and header version number to 40 for this update.
|
|
* There is a major build change in this release. We are now using the
|
|
Ruby-based ``asciidoctor'' implementation, rather than the Python-based
|
|
``asciidoc'' implementation, to process the specification. While the
|
|
actual specification markup changes were minimal, this requires a new
|
|
set of build tools and a very different installation process, especially
|
|
because we now use an experimental direct-to-PDF backend for Asciidoctor
|
|
instead of Docbook->dblatex->PDF. It is no longer possible to build the
|
|
Specification using asciidoc. See doc/specs/vulkan/README.adoc
|
|
for some guidance on installing the new toolchain components.
|
|
* There are some minor rendering issues in the PDF output due to teething
|
|
problems with the asciidoctor toolchain, especially with mathematical
|
|
equations. We are aware of these and working on them.
|
|
|
|
Github Issues:
|
|
|
|
* Updated sample code for the <<sparsememory-examples-basic,sparse
|
|
resource binding example>> (public issue 97).
|
|
* Modify line and point clipping behavior in the
|
|
<<vertexpostproc-clipping, Primitive Clipping>> section to allow for
|
|
pop-free behavior. The ability to check for which behavior is
|
|
implemented may be added a future feature or extension (public issue
|
|
113).
|
|
* Unify the discussions of implicit ordering throughout the spec, in
|
|
particular in the new sections <<drawing-primitive-order, Primitive
|
|
Order>>, <<primsrast-order, Rasterization Order>>, and
|
|
<<synchronization-implicit, Implicit Synchronization Guarantees>>; the
|
|
discussion of <<synchronization-submission-order, submission order>>;
|
|
and references elsewhere to these sections (public issue 133).
|
|
* Clarify <<descriptorsets-compatibility,Pipeline Layout Compatibility>>
|
|
language and introduce the term ``identically defined'' (public issue
|
|
164).
|
|
* Add a dependency to the +VK_EXT_debug_marker+ extension that's needed to
|
|
reuse the object type enum from +VK_EXT_debug_report+, and moves the
|
|
definition of that enum into +VK_EXT_debug_report+ where it should be
|
|
(public issue 409).
|
|
* Remove redundant valid usage statement from slink:VkImageBlit (public
|
|
issue 421).
|
|
* Update GL_KHR_vulkan_glsl to allow the ternary operator to result in a
|
|
specialization constant (public issue 424).
|
|
* Fix valid usage for flink:VkPipelineShaderStageCreateInfo (public issue
|
|
426).
|
|
* Correct typo in New Objects list for <<VK_EXT_debug_report>> (public
|
|
issue 447).
|
|
|
|
Internal Issues:
|
|
|
|
* Moved to asciidoctor for spec builds (internal issue 121).
|
|
* Update style guide to describe where to put new extensions-specific
|
|
asciidoc files, and what to name them (internal issue 626).
|
|
* Add src/spec/indexExt.py to autogenerate registry index entries linking
|
|
into the 1.0-extensions specification, instead of maintaining the index
|
|
manually. (internal issue 642).
|
|
* Autogenerate extension dependencies and lists of all extensions and all
|
|
KHR extensions from the "supported" attributes in +vk.xml+. Execute
|
|
+make config/extDependency.sh+ from +doc/specs/vulkan+ when a supported
|
|
extension is added to vk.xml, to regenerate the dependency script. The
|
|
consequence is that specifying a single extension to the +makeExt+
|
|
script will automatically enable all extensions it depends on as well,
|
|
and that the +makeAllExts+ and +makeKHR+ scripts do not need to be
|
|
updated when a new extension is supported (internal issue 648).
|
|
* Put extension appendices all at the same asciidoc section level, so KHR
|
|
WSI extensions show up in the HTML index (internal issue 648).
|
|
|
|
Other Issues:
|
|
|
|
* Imbed images in the generated HTML specs instead of loading them from
|
|
the images/ directory.
|
|
* Fix missing EXT in extension name
|
|
(ename:VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME).
|
|
* Add new +VK_EXT_SMPTE_2086_metadata+ extension.
|
|
* In the <<platformCreateSurface_xlib,Xlib Surface>> section of the
|
|
`VK_KHR_xlib_surface` specification, add language warning users that
|
|
they always need to call code:XinitThreads.
|
|
* Use the term "presentable image" (rather than "swapchain image")
|
|
consistently in `VK_KHR_swapchain` and related extensions, and add a
|
|
glossary term defining it.
|
|
* Relocate the valid usage for samples of
|
|
flink:vkGetPhysicalDeviceSparseImageFormatProperties2KHR::pname:pFormatInfo
|
|
to be below the flink:VkPhysicalDeviceSparseImageFormatInfo2KHR
|
|
structure.
|
|
|
|
-----------------------------------------------------
|
|
|
|
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.
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for December 16, 2016 Vulkan 1.0.38 spec update:
|
|
|
|
* Bump API patch number and header version number to 38 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Make ename:VK_PIPELINE_STAGE_HOST_BIT invalid for all stage masks,
|
|
except for flink:vkCmdWaitEvents (public issue 261).
|
|
|
|
Internal Issues:
|
|
|
|
* Added validation language for flink:vkQueueBindSparse,
|
|
slink:VkPresentInfoKHR, and slink:VkSubmitInfo, and a note to the
|
|
<<synchronization-semaphores-waiting,Semaphore Waiting and Unsignaling>>
|
|
section to clarify that semaphores must be signaled and waited on in a
|
|
1:1 fashion (internal issue 546).
|
|
* Modify valid usage for slink:VkBufferImageCopy to only require
|
|
pname:bufferOffset to be a multiple of the image format's element size
|
|
when the format is not depth/stencil (internal issue 594).
|
|
|
|
Other Issues:
|
|
|
|
* Vulkan is now a registered trademark symbol, and this is reflected in
|
|
documents and copyright statements.
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for December 10, 2016 Vulkan 1.0.37 spec update:
|
|
|
|
* Bump API patch number and header version number to 37 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Add usability guarantees on the values returned by
|
|
flink:vkGetPhysicalDeviceSurfaceCapabilitiesKHR in the
|
|
slink:VkSurfaceCapabilitiesKHR structure and by
|
|
flink:vkGetPhysicalDeviceSurfaceFormatsKHR in the
|
|
pname:pSurfaceFormatCount parameter (public issue 385).
|
|
* Add elink:VkDebugReportObjectTypeEXT enumerants for new object types
|
|
introduced by new extensions (public issue 408).
|
|
* Add +VK_NVX_device_generated_commands+ etext:ACCESS bits and define how
|
|
they are used (public issue 415).
|
|
* Fix indentation for slink:VkDebugReportCallbackCreateInfoEXT member
|
|
descriptions (public issue 419).
|
|
|
|
Internal Issues:
|
|
|
|
* Expand requirements memory binding of non-sparse images and buffers from
|
|
the <<resources-association,Resource Memory Association>> section into
|
|
valid usage statements for all of the applicable API calls (internal
|
|
issue 508).
|
|
* Explicitly state that valid usage of flink:vkCreateImage requires that
|
|
flink:vkGetPhysicalDeviceImageFormatProperties would return
|
|
ename:VK_SUCCESS for the requested image configuration (internal issue
|
|
598).
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for December 1, 2016 Vulkan 1.0.36 spec update:
|
|
|
|
* Bump API patch number and header version number to 36 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Fix "recorded with" terminology in the valid usage language for the
|
|
flink:vkCmdExecuteCommands::pname:pCommandBuffers parameter (public
|
|
issue 390).
|
|
* Modify +genvk.py+ to support specifying extensions to remove from output
|
|
generators, allowing the extension loader +vulkan_ext.c+ to be created
|
|
without WSI extensions which are statically exported by the Vulkan
|
|
loader (public issue 412).
|
|
* Added validation language for slink:VkSubpassDependency and in the
|
|
<<synchronization-access-types-supported,supported access types>>
|
|
section to catch access masks that include bits which are not supported
|
|
by pipeline stages in the stage masks (partially addresses
|
|
github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers/issues/1006 ).
|
|
|
|
Internal Issues:
|
|
|
|
* Added validation language for flink:vkCmdWaitEvents,
|
|
flink:vkQueueSubmit, flink:VkRenderPassCreateInfo, and in the
|
|
<<synchronization-pipeline-stages-supported>> section to prevent
|
|
recording stage dependencies that aren't supported on the queue
|
|
(internal issue 516).
|
|
* Make a few changes that generalize spec language for use with possible
|
|
future extensions by adding glossary terms and generalizing ``feature''
|
|
to ``feature or extension'' where relevant (internal issues 448, 590).
|
|
* Added "pipeline type" attribute to +vk.xml+ for relevant commands and
|
|
utilize it in automatic generation of the Command Properties table
|
|
(internal issue 517).
|
|
* Specify that WSI implementations must provide both UNORM and sRGB
|
|
formats in the description of slink:VkColorSpaceKHR (internal issue
|
|
529).
|
|
* Remove nesting of explicit valid usage statements where it is not
|
|
meaningful (internal issue 583).
|
|
|
|
Other Issues:
|
|
|
|
* Add validity language requiring that
|
|
slink:VkPushConstantRange::pname:offset be a multiple of 4, as stated in
|
|
the spec language.
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for November 25, 2016 Vulkan 1.0.35 spec update:
|
|
|
|
* Bump API patch number and header version number to 35 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Document in the <<memory-device-hostaccess,Host Access>> section that
|
|
mapping and unmapping does not invalidate or flush the mapped memory
|
|
(public issues 27, 126).
|
|
* Redefine the entire <<synchronization>> chapter in terms of consistent
|
|
and well defined terminology, that's called out at the start of the
|
|
chapter. This terminology is applied equally to all synchronization
|
|
types, including subpass dependencies, submissions, and much of the
|
|
implicit ordering stuff dotted around the spec. Key terms are laid out
|
|
in the <<synchronization-dependencies,Execution and Memory
|
|
Dependencies>> section at the top of the rewritten chapter (public
|
|
issues 128, 131, 132, 217, 299, 300, 302, 306, 322, 346, 347, 371, 407).
|
|
* Specify order of submission for batches in the
|
|
<<vkQueueSubmit,vkQueueSubmit>> and
|
|
<<vkQueueBindSparse,vkQueueBindSparse>> commands (public issue 371).
|
|
* Add valid usage statements to each of the WSI extension sections
|
|
indicating that the WSI-specific structure parameters must be valid, and
|
|
remove automatically generated valid usage statements now covered by the
|
|
manual sections (public issue 383).
|
|
* Clarify render pass compatibility for flink:vkCmdExecuteCommands (public
|
|
issue 390).
|
|
|
|
Internal Issues:
|
|
|
|
* Update +vk.xml+ to make previously explicit valid usage statements for
|
|
<<vkDebugReportMessageEXT,vkDebugReportMessageEXT>> implicit instead
|
|
(internal issue 553).
|
|
* Add valid usage statement for slink:VkCreateImageInfo preventing
|
|
creation of 1D sparse images (internal issue 573).
|
|
* Fix Python scripts to always read/write files in utf-8 encoding, and a
|
|
logic error in reflib.py which could cause a fatal error for
|
|
malstructured asciidoc (internal issues 578, 586).
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for November 18, 2016 Vulkan 1.0.34 spec update:
|
|
|
|
* Bump API patch number and header version number to 34 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Allow vkUpdateDescriptorSets overflow to skip empty bindings. Clarify
|
|
that unused bindings have a descriptorCount of zero. Improve some valid
|
|
usage for vkUpdateDescriptorSets (public issue 256).
|
|
* Require that slink:VkImageSubresourceRange always define a non-empty
|
|
range of the resource (public issue 303).
|
|
* Added valid usage for slink:VkPresentInfoKHR on the layout of presented
|
|
images (public issue 397).
|
|
|
|
Internal Issues:
|
|
|
|
* Add dependency in src/spec/Makefile so specversion.txt is regenerated
|
|
when needed (internal issue 462).
|
|
* Shorten the table of contents in the single-page ref page HTML output.
|
|
Still working on the PDF (internal issue 536).
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for November 11, 2016 Vulkan 1.0.33 spec update:
|
|
|
|
* Bump API patch number and header version number to 33 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Added implicit external synchronization parameters to
|
|
vkBegin/EndCommandBuffer, and fixed missing command pool host
|
|
synchronization from per-command lists (public issue 398).
|
|
* Started using git tags including the spec release number, such as
|
|
'v1.0.32-core', instead of tags including the date of release, such as
|
|
'v1.0-core-20161025' (public issue 405).
|
|
|
|
Internal Issues:
|
|
|
|
* Add validity constraint for
|
|
slink:VkImportMemoryWin32HandleInfoNV::pname:handle (internal issue
|
|
#480).
|
|
* Add scripts to compare two Vulkan HTML specifications, derived from W3
|
|
htmldiff service (internal issue 525).
|
|
* Relax requirement that memoryTypeBits can't depend on format, to allow
|
|
it to differ only for depth/stencil formats (internal issue 544).
|
|
* Add a new generator script to create a simple extension loader for
|
|
Vulkan based on +vk.xml+ (internal issue 558).
|
|
* Add the overlooked requirement that buffer and image memory
|
|
alignment requirements must be a power of two in the
|
|
<<resources-association,Resource Memory Association>> section
|
|
(internal issue 569).
|
|
|
|
Other Issues:
|
|
|
|
* Add a naming rule to the style guide for members of extension structures
|
|
defining array lengths which are the same as array lengths of the core
|
|
structure they are chained from.
|
|
* Add a new generator to create a simple extension loader in
|
|
+src/ext_loader/vulkan_ext.[ch]+ from +vk.xml+. This code can be
|
|
included in your project, and is expected to be packaged in the Vulkan
|
|
SDK provided by LunarG in the future.
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for October 25, 2016 Vulkan 1.0.32 spec update:
|
|
|
|
* Bump API patch number and header version number to 32 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Add automatic visibility operations to the presentation engineE when
|
|
doing a queue present in flink:vkAcquireNextImageKHR. Removed all
|
|
references to MEMORY_READ that referenced WSI - they no longer make
|
|
sense (some aspects of public issues 128, 131, 132, 261, and 298).
|
|
* Document valid non-boolean +externsync+ attribute values for <param>
|
|
tags in +vk.xml+ (public issue 265).
|
|
* Add valid usage to slink:VkImageCreateInfo requiring that
|
|
pname:arrayLayers be 1 for images of type ename:VK_IMAGE_TYPE_3D
|
|
(public issue 319).
|
|
* Add missing captions to figures in the <<textures,Image Operations>>
|
|
chapter (public issue 334).
|
|
* Clarify WSI interaction with exclusive sharing mode (public issue
|
|
344).
|
|
* Added explicit language clarifying the allowed queue usage of
|
|
resources created with ename:VK_SHARING_MODE_CONCURRENT (public
|
|
issue 386).
|
|
* Require that the
|
|
slink:VkDescriptorSetLayoutCreateInfo::pname:binding members of the
|
|
pname:pBindings array passed to
|
|
flink:vkDescriptorSetLayoutCreateInfo all be distinct (public issue
|
|
391).
|
|
|
|
Internal Issues:
|
|
|
|
* Remove empty validity blocks from +vk.xml+ and suppressed broken
|
|
validity statements and added missing statements to explicit
|
|
validity. Doesn't affect output, other than some statements
|
|
appearing in another block now (internal issue 513).
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for October 14, 2016 Vulkan 1.0.31 spec update:
|
|
|
|
* Bump API patch number and header version number to 31 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Clarifying wording of slink:VkGraphicsPipelineCreateInfo parameters and
|
|
adding Valid Usage statements on render pass compatibility to the
|
|
<<drawing,drawing commands>> (public issue 375).
|
|
* Replace 'texel size' with 'element size', and add a definition to the
|
|
glossary (public issue 382).
|
|
* Clarify the description of ename:VK_ERROR_NATIVE_WINDOW_IN_USE_KHR to
|
|
make it accurate, but still generic (non-exhaustive). Remove two Valid
|
|
Usage statements describing error situations that will return
|
|
ename:VK_ERROR_NATIVE_WINDOW_IN_USE_KHR (public issue 387).
|
|
* Fix refBegin tag for elink:VkDebugReportFlagBitsEXT (public issue 392).
|
|
* The <<interfaces-builtin-variables,built-in variable>> code:PrimitiveId
|
|
in a fragment shader needs the code:Input storage class (public issue
|
|
393).
|
|
|
|
Internal Issues:
|
|
|
|
* Unused ({y,z} and {height,depth} for 1D, z and depth for 2D) offsets
|
|
must be 0 and unused extents must be 1. Added basic offset and extent
|
|
valid usage for slink:VkImageResolve to match that of slink:VkImageCopy
|
|
(internal issue 413).
|
|
* Describe what flink:vkGetPhysicalDeviceImageFormatProperties returns for
|
|
pname:sampleCounts when for pname:usage only includes transfer-related
|
|
flags (internal issue 478).
|
|
* Remove mention of
|
|
slink:VkPhysicalDeviceLimits::pname:maxImageArrayLayers from the valid
|
|
usage for slink:VkImageCreateInfo::pname:arrayLayers (internal issue
|
|
520).
|
|
* Tag usages of ``dynamically uniform'' as glossary terms and add a
|
|
glossary entry pointing to the SPIR-V Specification's definition of the
|
|
term (internal issue 531).
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for October 7, 2016 Vulkan 1.0.30 spec update:
|
|
|
|
* Bump API patch number and header version number to 30 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Document missing pname:sType and pname:pNext parameters for
|
|
slink:VkCommandBufferInheritanceInfo (public issue 224).
|
|
* As promised, we are removing the example code, from the appendix, for
|
|
the VK_KHR_surface and VK_KHR_swapchain extensions. The cube demo
|
|
(shipped in the official Khronos SDK) has been updated, and is the
|
|
example code that we want people to look at for how to use these two
|
|
extensions (public issues 279, 308, and 311).
|
|
* Clarify the formats for which the slink:VkClearColorValue pname:float32
|
|
member is used. Also clean up related language for flink:vkCmdBlitImage
|
|
(public issue 369).
|
|
* Reword the <<invariance, Invariance>> appendix chapter to better match
|
|
Vulkan terminology (public issue 372).
|
|
|
|
Internal Issues:
|
|
|
|
* Update slink:VkMemoryRequirements to not require a host_visible memory
|
|
type exists that can be bound to sparse buffers (internal issue 494).
|
|
* Modify the <<features-supported-sample-counts,Supported Sample Counts>>
|
|
language to allow multisampled depth-stencil images (internal issue
|
|
521).
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for September 30, 2016 Vulkan 1.0.29 spec update:
|
|
|
|
* Bump API patch number and header version number to 29 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Remove redundant constraint on
|
|
slink:VkCommandBufferInheritanceInfo::pname:queryFlags (public issue
|
|
224).
|
|
* Fix typo and remove link in Note in the
|
|
<<extended-functionality-instance-extensions-and-devices, Instance
|
|
Extensions and Device Extensions>> section (public issue 359).
|
|
* Fix erroneous validation statement for the pname:layout member of
|
|
slink:VkComputePipelineCreateInfo (public issue 362).
|
|
|
|
Internal Issues:
|
|
|
|
* Restore long figure captions using asciidoc sidebar blocks, due to
|
|
restrictions of asciidoc syntax (internal issue 101).
|
|
* Replace most latexmath equations with comparable markup in straight
|
|
asciidoc, which significantly improves time required to fully load and
|
|
process the HTML forms of the Specification. There are known minor font
|
|
and alignment inconsistencies with MathJax and PDF rendering of
|
|
latexmath equations. Please do not file github issues about these. We
|
|
are aware of the inconsistencies and will make refinements over time,
|
|
while the performance improvements are compelling in at least some major
|
|
browsers (internal issue 313).
|
|
* Move handcoded validity statements from +vk.xml+ into the Specification
|
|
body, easing work in the single-branch model. Specify the distinction
|
|
between these explicit statements, and the implicit validity statements
|
|
inferred from vk.xml. Validity statements now appear in two blocks for
|
|
each command and structure - handcoded "Valid Usage" and the implicit
|
|
"Valid Usage (Implicit)" (internal issue 392).
|
|
* Add the +returnedonly="false"+ attribute to WSI output structures,
|
|
removing incorrectly generated implicit validity statements for
|
|
slink:VkDisplayPropertiesKHR, slink:VkDisplayPlanePropertiesKHR,
|
|
slink:VkDisplayModePropertiesKHR, slink:VkDisplayPlaneCapabilitiesKHR,
|
|
slink:VkSurfaceCapabilitiesKHR, and slink:VkSurfaceFormatKHR structures
|
|
(internal issue 486).
|
|
* Update slink:VkImageLayout to require the
|
|
ename:VK_IMAGE_USAGE_SAMPLED_BIT be set for sampled depth/stencil images
|
|
(internal issue 487).
|
|
* Use an explicit format specifier string for the date command invocation
|
|
in the +Makefile+ instead of the shorthand -R option, which doesn't work
|
|
on BSD and MaxOS X date commands (internal issue 500).
|
|
|
|
Other Issues:
|
|
|
|
* Use the terms ``allocation scope'' and ``extension scope'' instead of
|
|
just ``scope'', and add them to the glossary.
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for September 23, 2016 Vulkan 1.0.28 spec update:
|
|
|
|
* Bump API patch number and header version number to 28 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Minor spelling and typography cleanup, add definitions of
|
|
ename:VK_FALSE and ename:VK_TRUE as just what their names say
|
|
(public issues 220, 318, 325, 365; internal issues 451, 496)
|
|
* Clarify that the pname:maxDescriptorSet limits in the
|
|
<<features-limits-required,Required Limits>> table are n *
|
|
maxPerStage limit (where n=number of supported stages) (public issue
|
|
254).
|
|
* Minor cleanup to <<boilerplate-platform-macros,Platform-Specific
|
|
Macro Definitions>> appendix (public issue 314).
|
|
* Add valid usage statement to slink:VkPipelineLayoutCreateInfo
|
|
disallowing multiple push constant ranges for the same shader stage
|
|
(public issue 340).
|
|
* Clarify the elink:VkSharingMode description of what executing the
|
|
"same" barriers means in case of ownership transfer (public issue
|
|
347).
|
|
* Rename copyright.txt and add COPYING.md to try and reduce confusion
|
|
about applicable copyrights (public issue 350).
|
|
* Extend the table in the <<boilerplate-wsi-header, Window System-Specific
|
|
Header Control>> section to describe the external headers included when
|
|
each etext:VK_USE_PLATFORM_* macro is defined (public issue 376).
|
|
|
|
Internal Issues:
|
|
|
|
* Add "Revision History" to the PDF outputs following the table of
|
|
contents, to match HTML outputs (internal issue 43).
|
|
* Clarified that flink:vkMapMemory may fail due to virtual address
|
|
space limitations (internal issue 346).
|
|
* Add +refBody+ comment markup for ref page autoextraction when required
|
|
(internal issue 400).
|
|
* Document proper use of "mipmap" and "mip" in the style guide API
|
|
naming rules, matching the spelling rules (internal issue 471).
|
|
* Tweak the <<extensions,Layers and Extensions>> appendix to note that
|
|
the Specification may be built with arbitrary combinations of
|
|
extensions (internal issue 483).
|
|
* Remove incorrect statement allowing
|
|
slink:VkClearAttachment::pname:colorAttachment to be >=
|
|
slink:VkSubpassDescription::pname:colorAttachmentCount (internal
|
|
issue 488).
|
|
* The <<features-limits-viewportboundsrange,viewportBoundsRange>> is
|
|
expressed in terms of the pname:maxViewportDimensions but this is
|
|
actually two values. Clarify that it's based on the larger of the two
|
|
(if they differ) (internal issue 499).
|
|
|
|
Other Issues:
|
|
|
|
* Reflowed text of the entire spec using the 'reflow' Makefile target, to
|
|
(hopefully) reduce future internal git churn as edits are made and
|
|
extensions added in return for one-time pain. This has no perceptible
|
|
effect on the spec outputs, but considerable changes on the asciidoc
|
|
source (internal issue 367).
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for September 16, 2016 Vulkan 1.0.27 spec update:
|
|
|
|
* Bump API patch number and header version number to 27 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Weaken flink:vkGetPipelineCacheData invariance conditions; previous
|
|
conditions were stronger than agreed and can't be guaranteed (public
|
|
issue 280).
|
|
* Add link to "Vulkan Loader Specification and Architecture Overview"
|
|
document to Normative References section (public issue 359).
|
|
|
|
Internal Issues:
|
|
|
|
* Be more clear in the <<interfaces-resources-layout-std140, uniform
|
|
buffer layout>> section that block offsets can be out of order
|
|
(internal issue 396).
|
|
* Document that extension authors should add support for their extensions
|
|
to the validation layers (internal issue 398).
|
|
* Clarify that the valid range of depth clear values should be limited
|
|
to the 0..1 range and that copies to depth aspect must also be in this
|
|
range (internal issue 412).
|
|
* Specify ``a'' vs. ``an'' use in the style guide (internal issue 432).
|
|
* Increase the maximum pname:nonCoherentAtomSize value in the
|
|
<<features-limits-required,Required Limits>> section from 128 to 256
|
|
(internal issue 435).
|
|
* Fix vk_platform.h for compiler errors on some Android platforms
|
|
(internal issue 441).
|
|
* Clarify that slink:VkPhysicalDeviceFeatures::pname:pEnabledFeatures ==
|
|
`NULL` disables all features, including the "required" feature
|
|
pname:robustBufferAccess (internal issue 479).
|
|
|
|
Other Issues:
|
|
|
|
* Expand style guide and make it more self-consistent.
|
|
* Use ISO 8601 date format everywhere.
|
|
* Emphasise the correct way of using
|
|
slink:VkSurfaceCapabilitiesKHR::pname:maxImageCount.
|
|
* Added +VK_EXT_validation_flags+ extension for validation flag mechanism.
|
|
* Fix an <<credits,author credit>> to include their current employer.
|
|
|
|
-----------------------------------------------------
|
|
|
|
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.
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for August 26, 2016 Vulkan 1.0.25 spec update:
|
|
|
|
* Bump API patch number and header version number to 25 for this update.
|
|
* Structurally change the specification so that multiple extensions are
|
|
included in the +1.0+ git branch, and specifications will include or not
|
|
include those extensions at build time based on options passed to the
|
|
Makefile. See +doc/specs/vulkan/README.html+ and the ``Layers and
|
|
Extensions'' section of the ``Vulkan Documentation and Extensions''
|
|
document for more information on this change.
|
|
* Register and publish new extensions in the single-branch form:
|
|
** +VK_NV_external_memory_capabilities+
|
|
** +VK_NV_external_memory+
|
|
** +VK_NV_external_memory_win32+
|
|
** +VK_NV_win32_keyed_mutex+
|
|
|
|
Github Issues:
|
|
|
|
* Clarify description of GetInstanceProcAddr and GetDeviceProcAddr (public
|
|
issue 212).
|
|
* Add SPIR-V <<textures-operation-validation, instruction validation>> for
|
|
single-sampled images (public issue 316).
|
|
* Fix spelling of ``tesselation'' in a few places and note it as an
|
|
exception to the American spelling rules convention (public issue
|
|
327).
|
|
* Fix Makefile to create output directory for ``styleguide''
|
|
target (public issue 329).
|
|
* Fix numerous minor issues with incorrectly tags on enumerant names and
|
|
table titles (public issue 330).
|
|
* Generate specversion.txt date in UTC time and RFC 2822 format
|
|
(public issue 335).
|
|
* Convert link to the SPIR-V Specification for
|
|
flink:VkShaderModuleCreateInfo into an internal link to the normative
|
|
reference (public issue 336).
|
|
* Add ename:VK_ERROR_OUT_OF_MEMORY error code to
|
|
flink:vkCreateDebugReportCallbackEXT (public issue 337).
|
|
|
|
Internal Issues:
|
|
|
|
* Update style guide regarding use of code:NULL and dname:VK_NULL_HANDLE
|
|
(internal issue 393).
|
|
* Change the definition of latexmath:[$q$] in the
|
|
<<textures-image-level-selection,texture image level selection>> section
|
|
to be the index of the maximum defined level for the view, not the
|
|
number of levels in the view (internal issue 406).
|
|
* Allow developers to override dname:VK_DEFINE_NON_DISPATCHABLE_HANDLE
|
|
with their own binary-compatible definition (internal issue 439).
|
|
* Fix +vk_platform.h+ conditional logic causing compile failure with some
|
|
Android compilers (internal issue 441).
|
|
* Implement the single-branch model as described above (internal issue
|
|
461).
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for August 12, 2016 Vulkan 1.0.24 spec update:
|
|
|
|
* Bump API patch number and header version number to 24 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Fix type mismatch in swapchain image equivalency table (public issue
|
|
289).
|
|
* Fix a copy-and-paste error in the description of
|
|
flink:vkGetSwapchainImagesKHR::pname:pSwapchainImages, that said it
|
|
was an array of ``sname:VkSwapchainImageKHR structures'' instead of
|
|
an array of ``sname:VkImage handles'' (public issue 292).
|
|
* Specify that ename:VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT is only valid
|
|
for ename:VK_IMAGE_TYPE_2D images (public issue 293).
|
|
* Add a valid usage statement to flink:vkCmdExecuteCommands saying
|
|
that when called outside a render pass instance, the secondary
|
|
command buffers must not have been created with the
|
|
ename:VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT (public issue
|
|
297).
|
|
* Fix description of +VK_NO_STDINT_H+ in the
|
|
<<boilerplate-platform-macros,platform macros>> section (public
|
|
issue 314).
|
|
|
|
Internal Issues:
|
|
|
|
* Normalize the language for the remaining built-in variables in the
|
|
<<interfaces-builtin-variables,Built-In Variables>> section. Fix
|
|
code:FrontFacing and code:HelperInvocation, as they should be of
|
|
code:boolean type rather than code:integer (internal issue 323).
|
|
* Clarify that when ename:VK_WHOLE_SIZE is used for a buffer
|
|
descriptor range, the effective range must still be within the max
|
|
buffer range (internal issue 426).
|
|
* Clarify that command buffers and descriptor sets are allocated
|
|
rather than created. Also clarify when the recording state of a
|
|
command buffer is relevant (internal issue 434).
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for August 5, 2016 Vulkan 1.0.23 spec update:
|
|
|
|
* Bump API patch number and header version number to 23 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Add explicit valid value attributes to pname:sType members in vk.xml
|
|
(public issue 34).
|
|
* Clarify usage of flink:vkGetInstanceProcAddr and
|
|
flink:vkGetDeviceProcAddr (public issue 225).
|
|
* Fix a copy-and-paste error in the description of
|
|
pname:pSwapchainImageCount saying that it was the count of ``format
|
|
pairs'' instead of ``swapchain images'' (public issue 292).
|
|
* flink:vkCmdExecuteCommandBuffers requires all command buffers to be
|
|
allocated from command pools created for the same queue family (public
|
|
issue 296).
|
|
* Remove bogus +optional+ attribute for
|
|
flink:vkEnumerateDeviceLayerProperties::pname:physicalDevice from vk.xml
|
|
(public issue 301).
|
|
* Clean up the <<resources-image-views-compatibility,image and image view
|
|
compatibility table>> reference and contents. Use full enumerant names.
|
|
Refer to pname:layerCount in the ``view parameters'' column instead of
|
|
pname:arrayLayers. Require N >= 1 for the cube array subview row, not
|
|
just arrayLayers >= 6 N (public issue 304).
|
|
* Modify description of <<resources-memory-aliasing,memory aliasing>> to
|
|
be consistent with the description of
|
|
<<resources-bufferimagegranularity,buffer image granularity>> (public
|
|
issue 307).
|
|
|
|
Internal Issues:
|
|
|
|
* Describe remaining +vk_platform.h+ macros in the <<boilerplate,API
|
|
Boilerplate>> appendix (internal issue 6).
|
|
* Clarify
|
|
<<features-features-robustBufferAccess,pname:robustBufferAccess>>
|
|
feature behavior; what memory can be accessed, how bounds checking is
|
|
performed, and allowing for vectorization (internal issue 332).
|
|
* Document markup for automatic extraction of reference pages from the
|
|
spec sources in the style guide (internal issue 395).
|
|
* Allow flink:vkCreateDisplayModeKHR to return
|
|
ename:VK_ERROR_INITIALIZAION_FAILED_KHR if the user requests mode
|
|
parameters that the specified display does not support (internal issue
|
|
411).
|
|
* Remove atomic counters (atomic_uint style) from KHR_vulkan_glsl, and
|
|
more clearly remove the subroutine keyword alongside it (internal issue
|
|
421).
|
|
* Clarify behavior of flink:vkCmdBindDescriptorSets for descriptor sets
|
|
not contained in the layout (internal issue 427).
|
|
|
|
Other Commits:
|
|
|
|
* Change the order in which members of sname:VkAttachmentDescription and
|
|
sname:VkPipelineInputAssemblyStateCreateInfo are described to match
|
|
their order in the structures.
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for July 22, 2016 Vulkan 1.0.22 spec update:
|
|
|
|
* Bump API patch number and header version number to 22 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Translate the subpass self-dependency language into concrete
|
|
validity statements, and added a validity statement about the
|
|
restrictions on layout parameters (public issue 267).
|
|
* Add validity requirement that
|
|
slink:VkAttachmentDescription::pname:finalLayout and
|
|
slink:VkAttachmentReference::pname:layout must not be
|
|
ename:VK_IMAGE_LAYOUT_UNDEFINED or
|
|
ename:VK_IMAGE_LAYOUT_PREINITIALIZED (public issue 268).
|
|
* Clarify that slink:VkSubpassDescription::pname:pResolveAttachments
|
|
layouts are used. Make language consistent with other attachment
|
|
arrays (public issue 270).
|
|
* Changed 64-bit definition for
|
|
dname:VK_DEFINE_NON_DISPATCHABLE_HANDLE to work for x32 platform in
|
|
+vk.xml+ and the resulting +vulkan.h+ (public issue 282).
|
|
* Add missing error return code for
|
|
flink:vkEnumerateInstanceExtensionProperties and
|
|
flink:vkEnumerateDeviceExtensionProperties (public issue 285)
|
|
* Fix several cases of stext::VkStructName.memberName markup to
|
|
stext::VkStructName::pname:memberName, to match other usage in the
|
|
spec, and describe this markup in the style guide (public issue
|
|
286).
|
|
* Modified validity language generation script to avoid redundant
|
|
common ancestor language if covered by generic parent language, and
|
|
used `Both' instead of `Each' when appropriate (public issue 288).
|
|
|
|
Internal Issues:
|
|
|
|
* Add language about behavior of flink:vkAllocateDescriptorSets when
|
|
allocation fails due to fragmentation, a new error
|
|
ename:VK_ERROR_FRAGMENTED_POOL, and a Note explaining the situation
|
|
(internal issue 309).
|
|
* For the features of code:PointSize, code:ClipDistance, and
|
|
code:CullDistance, the SPIR-V capability is required to be declared
|
|
on use (read or write) rather than on decoration (internal issue
|
|
359).
|
|
* Have desktop versions of GLSL respect precision qualification
|
|
(code:mediump and code:lowp) when compiling for Vulkan. These will
|
|
get translated to SPIR-V's code:RelaxedPrecision decoration as they
|
|
do with OpenGL ES versions of GLSL (ESSL). The default precision of
|
|
all types is code:highp when using a desktop version (internal issue
|
|
360).
|
|
* Add validity statement for slink:VkImageCreateInfo specifying that
|
|
multisampled images must be two-dimensional, optimally tiled, and
|
|
with a single mipmap level (internal issue 369).
|
|
* Add validity statements to slink:VkImageViewCreateInfo disallowing
|
|
creation of images or image views with no supported features. Made
|
|
some slink:VkImageViewCreateInfo validity statements more precise
|
|
and consistent. Added a Note to the <<features,features>> chapter
|
|
about formats with no features (internal issue 371).
|
|
* Remove +manpages+ from default build targets. Nroff outputs
|
|
containing imbedded latexmath will not render properly. Fixing this
|
|
is a lot of work for limited use cases (internal issue 401).
|
|
|
|
Other Commits:
|
|
|
|
* Fix flink:vkRenderPassBeginInfo::pname:clearValueCount validity
|
|
statement to be based on attachment indices rather than the number
|
|
of cleared attachments
|
|
(Vulkan-LoaderAndValidationLayers/issues/601).
|
|
* Convert registry documentation from LaTeX to asciidoc source and
|
|
rename from +src/spec/readme.tex+ to +src/spec/registry.txt+.
|
|
* Fix lack of Oxford commas in validity language.
|
|
* Lots of cleanup of generator scripts and Makefiles to move extension
|
|
list for generator into the script arguments instead of the body of
|
|
genvk.py, and express better dependencies between XML, scripts, and
|
|
generated files.
|
|
|
|
-----------------------------------------------------
|
|
|
|
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.
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for July 8, 2016 Vulkan 1.0.20 spec update:
|
|
|
|
* Bump API patch number and header version number to 20 for this
|
|
update.
|
|
|
|
Github Issues:
|
|
|
|
* Replaced existing reference pages by text automatically extracted from
|
|
the specification source, or generated from vk.xml in some cases. This
|
|
is not a complete solution for the reference pages, but puts them in a
|
|
much better state. The ref pages (only) are now placed under a CC BY
|
|
open source license, which is more current than the obsolete license
|
|
previously used. Various minor tweaks to the Specification sources were
|
|
made to enable this, and a new ``API Boilerplate'' chapter added to
|
|
include definitions of all the entities in the API and +vulkan.h+ which
|
|
were not already described in some form in the document.
|
|
|
|
Further improvements to the pages should not edit them directly, but
|
|
instead concentrate on the specification source from which the ref pages
|
|
are being extracted (public issues 44, 55, 160; internal issue 389).
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for July 1, 2016 Vulkan 1.0.19 spec update:
|
|
|
|
* Bump API patch number and header version number to 19 for this
|
|
update.
|
|
|
|
Github Issues:
|
|
|
|
* Clarified how flink:vkGetImageSubresourceLayout interacts with image
|
|
layouts (public issue 247).
|
|
* Remove ename:VK_IMAGE_LAYOUT_PREINITIALIZED from valid usage rule for
|
|
slink:VkImageMemoryBarrier::pname:oldLayout. It is only valid if it is
|
|
the current layout (public issue 248).
|
|
* Modify valid usage for flink:vkBindBufferMemory so implementations are
|
|
free to require a different backing memory size than the buffer size
|
|
(public issue 251).
|
|
* Clarify that filtering rules for flink:vkCmdBlitImage always apply, and
|
|
are usually no-ops if the formats are the same (public issue 253).
|
|
* Remove 'non-sparse' from description of
|
|
flink:vkGetBufferMemoryRequirements and
|
|
flink:vkGetImageMemoryRequirements (public issue 257).
|
|
* Remove ename:VK_ERROR_LAYER_NOT_PRESENT error code from
|
|
flink:vkCreateDevice (public issue 259).
|
|
* Change "must: not" to "should: not" in constraint on when
|
|
flink:vkAcquireNextImageKHR is called in the VK_KHR_swapchain branch
|
|
(public issue 262).
|
|
* Change type of flink:vkCmdUpdateBuffer::pname:pData from
|
|
basetype:uint32_t* to basetype:void* (public issue 263).
|
|
* Change should: to must: in description of where additional segments are
|
|
placed in the <<[tessellation-tessellator-spacing,Tessellator Spacing>>
|
|
section (public issue 264).
|
|
|
|
Internal Issues:
|
|
|
|
* Normalize the language of all the compute shader built-ins in the
|
|
<<interfaces-builtin-variables,Built-in Variables>> section (internal
|
|
issue 323).
|
|
* Remove definition of presentation engine internal queue lengths
|
|
associated with ename:VK_PRESENT_MODE_FIFO_KHR and
|
|
ename:VK_PRESENT_MODE_FIFO_RELAXED_KHR in the <<Window System
|
|
Integration,wsi>> chapter (internal issue 374).
|
|
* The language of a Note was too broad, and implied that loaders for a
|
|
given OS would statically export functions for WSI extensions that
|
|
were not relevant to (or supported on) the OS. Also, removed
|
|
"Khronos-provided" since the Android loader is not (internal issue 380)
|
|
|
|
Other Commits:
|
|
|
|
* Add ename:VK_INCOMPLETE to list of return values for
|
|
flink:vkGetPipelineCacheData. Spec says this value is returnable, but it
|
|
was not listed in the error codes.
|
|
* Fix "correponds" typo in member definitions for
|
|
slink:VkSubpassDescription.
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for June 24, 2016 Vulkan 1.0.18 spec update:
|
|
|
|
* Bump API patch number and header version number to 18 for this
|
|
update.
|
|
|
|
Github Issues:
|
|
|
|
* Added "queue operation" terminology, and modified spec to actually
|
|
use this terminology (public issue 155). The act of submitting a
|
|
piece of work to a queue now generates "operations" for the queue to
|
|
execute, including operations to wait on/signal semaphores and
|
|
fences. Synchronization waits on these operations, making execution
|
|
dependency chains more obvious for semaphores and fences (though
|
|
additional work is still needed here). These changes include:
|
|
** Overview of "queue submission" commands in chapter
|
|
<<devsandqueues-submission>>.
|
|
** Updated descriptions for fence and semaphore waits and signals in
|
|
the synchronization chapter <<synchronization-semaphores-waiting>>,
|
|
<<synchronization-semaphores-signaling>> and
|
|
<<synchronization-fences-waiting>>.
|
|
** Clarifications to semaphore and fence operation within queue
|
|
submission functions.
|
|
** New glossary terms.
|
|
** Moved device idle and queue wait idle to synchronization chapter in
|
|
order to describe them in terms of other synchronization
|
|
primitives.
|
|
** Clarifications to semaphore and fence operation allowed removal of
|
|
the "implicit ordering guarantees" section, as this information is
|
|
now wholly covered where these primitives are described.
|
|
*** The "host writes" section of this is still there for now - in its
|
|
own section. This could probably be merged into other sections
|
|
later.
|
|
*** Modified fundamentals chapter on queue ordering to make sense in
|
|
context of the new changes, and avoid duplication.
|
|
<<fundamentals-queueoperation>>
|
|
* Added "aspect" and "component" definitions to the glossary, and made
|
|
sure these terms are referenced correctly (public issue 163).
|
|
* Update valid usage for ftext:vkGet*ProcAddr to only include
|
|
conditions that must be met to get a valid result. In particular,
|
|
it is okay to call flink:vkGetDeviceProcAddr with any string and will
|
|
get a code:NULL if that string is not a core Vulkan function or an
|
|
enabled extension function (addresses but does not fully close
|
|
public issue 214).
|
|
* Change the WSI extension dependencies to refer to version 1.0 of the
|
|
Vulkan API, instead of the pre-1.0-release internal revisions
|
|
numbers (public issue 238).
|
|
* Specified that <<interfaces-fragmentoutput,undeclared fragment
|
|
shader outputs>> result in undefined values input to the blending
|
|
unit or color attachment (public issue 240).
|
|
* Fix latexmath:[$\leq$] operators turning into Unicode left arrow symbols
|
|
(public issue 245).
|
|
|
|
Internal Issues:
|
|
|
|
* Better documented that the registry XML "optional" tag for values
|
|
only applies when that value is the size of an array (internal issue
|
|
335).
|
|
* Add a stronger definition for the valid usages of
|
|
VkSpecializationMapEntry.size in the
|
|
<<pipelines-specialization-constants,Specialization Constants>>
|
|
section (internal issue 345).
|
|
* Change code:OpName to code:OpDecorate (along with appropriate
|
|
syntax) for vertex shader built-ins (internal issue 368).
|
|
* Add missing ref pages (those which are not currently stubs) to
|
|
apispec.txt for the single-page version of the ref pages (internal
|
|
issue 378).
|
|
|
|
Other Commits:
|
|
|
|
* Fix example in the <<descriptorsets,Descriptor Sets>> section to use
|
|
M, N, and I, describing set, binding, and index, consistently
|
|
throughout the example code.
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for June 17, 2016 Vulkan 1.0.17 spec update:
|
|
|
|
* Bump API patch number and header version number to 17 for this
|
|
update.
|
|
|
|
Github Issues:
|
|
|
|
* Update description of vertex shader reuse in
|
|
<<shaders-vertex-execution>> (public issue 106).
|
|
* Simplify validity language around pname:ppEnabledExtensionNames and
|
|
pname:ppEnabledLayerNames (in the <<initialization-instances>> and
|
|
<<devsandqueues-device-creation>> sections) (public issue 214).
|
|
* Add missing validity rule to flink:vkCmdBeginRenderPass requiring
|
|
compatibility between slink:VkAttachmentDescription pname:initalLayout
|
|
members and the corresponding attached framebuffer images (public issue
|
|
233).
|
|
* Fix Unicode arrows appearing in output instead of relational operators
|
|
(public issue 239).
|
|
* Correctly describe the required number of elements for
|
|
code:TessLevelInner and code:TessLevelOuter arrays in the
|
|
<<interfaces-builtin-variables,Built-In Variables>> section as two and
|
|
four, respectively, instead of the other way around, and refer to this
|
|
section from the <<tessellation,Tessellation>> chapter (public issue
|
|
246).
|
|
|
|
Internal Issues:
|
|
|
|
* Document deprecation of ename:VK_COLORSPACE_SRGB_NONLINEAR_KHR in the
|
|
VK_KHR_surface extension, and of
|
|
ename:VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT in the
|
|
VK_EXT_debug_report extension (internal issue 328).
|
|
* Added language to define what a valid usage statement is and should be,
|
|
with a note about some apparent weirdnesses this might entail (internal
|
|
issue 357).
|
|
|
|
Other Commits:
|
|
|
|
* Added missing ename:VK_ERROR_DEVICE_LOST error to
|
|
flink:vkQueueBindSparse.
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for June 10, 2016 Vulkan 1.0.16 spec update:
|
|
|
|
* Bump API patch number and header version number to 16 for this
|
|
update.
|
|
|
|
Github Issues:
|
|
|
|
* Clarify that integer border values are meant to be 0/1, and that
|
|
integer texture lookups are sign-extended in the
|
|
<<textures-format-conversion,Format Conversion>> and
|
|
<<textures-texel-replacement,Texel Replacement>> sections (public
|
|
issue 52).
|
|
* Add logic to generate spec boilerplate without using the 'git'
|
|
command-line client, needed when building from a tarball or another
|
|
source of the Vulkan tree rather than a cloned git repo. Remove
|
|
boilerplate as part of 'clean' target (public issue 195).
|
|
* Document that color writes and clears to unused attachments have no
|
|
effect for slink:VkClearAttachment and
|
|
elink:VkColorComponentFlagBits (public issue 198).
|
|
* Fixed flink:vkCmdExecuteCommands validity statement for
|
|
sname:VkCommandBufferInheritanceInfo::pname:framebuffer. If used, it
|
|
must match the framebuffer in the current renderpass instance
|
|
(public issue 226).
|
|
* Added valid usage language to require for all functions that set
|
|
dynamic state that the currently bound graphics pipeline has the
|
|
corresponding dynamic state enabled (public issue 235).
|
|
|
|
Internal Issues:
|
|
|
|
* Clarify for flink:vkEnumerateInstanceExtensionProperties, in the
|
|
<<extended-functionality-instance-extensions-and-devices, Instance
|
|
Extensions and Device Extensions>> section, and in the
|
|
<<glossary,Glossary>> section when functionality should be exposed
|
|
as an instance extension, as a device extension, or as both
|
|
(internal issue 109).
|
|
* Place WorkgroupSize in alphabetical order in the
|
|
<<interfaces-builtin-variables,Built-in Variables>> section
|
|
(internal issue 323).
|
|
* Corrects valid usage in vkEndRenderPass to only affect primary
|
|
render passes, as secondaries may be entirely within a render pass,
|
|
and should be able to be ended (previous language disallowed that)
|
|
(internal issue 338).
|
|
* Fix relational operator from <= to >= in the
|
|
<<features-extentperimagetype,Allowed Extent Values>> section
|
|
(internal issue 343).
|
|
* Disallow recursion under SPIR-V entry points in the
|
|
<<spirvenv-module-validation,Validation Rules within a Module>>
|
|
section (internal SPIR-V issue 37).
|
|
|
|
Other Commits:
|
|
|
|
* Use standard Python ElementTree package instead of lxml.etree in
|
|
header / validation layer / include autogeneration from XML,
|
|
reducing platform dependencies.
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for May 27, 2016 Vulkan 1.0.15 spec update:
|
|
|
|
* Bump API patch number and header version number to 15 for this
|
|
update.
|
|
|
|
Github Issues:
|
|
|
|
* Fixed the <<glossary,Glossary>> entry for Fragment Input Attachment
|
|
Interface to specify code:UniformConstant storage class (public issue
|
|
156).
|
|
* Disallow lazily allocated memory for buffers in the description of
|
|
slink:VkMemoryRequirements::pname:memoryTypeBits (public issue 196).
|
|
* Add numbered figure captions (public issue 219).
|
|
* Fix output variable names in the <<fundamentals-fpfixedconv,Conversion
|
|
from Floating-Point to Normalized Fixed-Point>> section and related
|
|
minor normative language and markup cleanup (public issue 220).
|
|
|
|
Internal Issues:
|
|
|
|
* Fix reference to nonexistent etext:VK_IMAGE_LAYOUT_TRANSFER_{SRC,DST}BIT
|
|
to the actual etext:VK_IMAGE_LAYOUT{SRC,DST}_OPTIMAL (internal issue
|
|
296).
|
|
* Update the <<sparsememory-sparse-memory-aliasing,Sparse Resource
|
|
Implementation Guidelines>> to refer to the correct feature names
|
|
(internal issue 305).
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for May 20, 2016 Vulkan 1.0.14 spec update:
|
|
|
|
* Bump API patch number and header version number to 14 for this
|
|
update.
|
|
|
|
Github Issues:
|
|
|
|
* Fix validity language for sname:VkCommandBufferAllocateInfo to
|
|
impose range limits on pname:commandBufferCount (public issue 178).
|
|
* Fix validity language for flink:vkCmdExecuteCommands to refer to the
|
|
correct structure names (public issue 179).
|
|
* Fix two copy-and-paste errors in the WSI queries, where the wrong
|
|
term was used for what was being returned (public issue 206).
|
|
* Add a note in the documentation of
|
|
flink:vkGetPhysicalDeviceSurfaceFormatsKHR, about what it means if
|
|
ename:VK_FORMAT_UNDEFINED is returned (public issue 207).
|
|
|
|
Internal Issues:
|
|
|
|
* Clarify the usage and correct the name for the bitmask referenced in
|
|
<<queries-pipestats,Pipeline Statistics Queries>> (internal issue
|
|
334).
|
|
|
|
Other Commits:
|
|
|
|
* Fix the names of decorations listed in the
|
|
<<interfaces-builtin-variables,Built-in Variables>> section such
|
|
that they match the SPIR-V specification.
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for May 13, 2016 Vulkan 1.0.13 spec update:
|
|
|
|
* Bump API patch number and header version number to 13 for this
|
|
update.
|
|
|
|
Github Issues:
|
|
|
|
* Improve the description of ename:VK_PRESENT_MODE_FIFO_RELAXED_KHR in the
|
|
VK_KHR_surface extension (public issue 174).
|
|
* Clarify use of etext:*_SIMULTANEOUS_USE_BIT for secondary command
|
|
buffers (public issue 182).
|
|
* Fix typos in VK_KHR_wayland_surface extension where code:wl_device was
|
|
used instead of code:wl_display (public issue 193).
|
|
* Replaced {apiname} with ``Vulkan'' in XML validity statements (public
|
|
issue 199).
|
|
* Fix dead links for WSI handle types (public issue 200).
|
|
* Use "signaled" instead of "signalled" spelling everywhere (public issue
|
|
201).
|
|
* Move readme.pdf target directory for XML schema documentation into the
|
|
target generation directory, instead of leaving it checked into the spec
|
|
source tree (public issue 203).
|
|
* Fix duplicate 'which which' typo in description of
|
|
elink:VkCommandPoolResetFlagBits (public issue 204).
|
|
* Move the <<Programmable Primitive Shading>> section up one level, out of
|
|
the <<drawing-primitive-topologies,Primitive Topologies>> section
|
|
(public issue 209).
|
|
|
|
Internal Issues:
|
|
|
|
* Clarify in the <<pipelines-cache,Pipeline Cache>> section that
|
|
implementations should not manage the size of pipeline cache (internal
|
|
issue 192).
|
|
* Deprecate the concept of device layers and associated commands (internal
|
|
issue 255).
|
|
* Remove ename:VK_INCOMPLETE from the list of possible result codes of
|
|
flink:vkGetPhysicalDeviceSurfaceCapabilitiesKHR (internal issue 314).
|
|
* Add missing std140/std430 rule: the base alignment of a member following
|
|
a structure is a multiple of the structure's base alignment (internal
|
|
issue 321).
|
|
* Fixes naming of the single elink:VkColorSpaceKHR enum from
|
|
ename:VK_COLORSPACE_SRGB_NONLINEAR_KHR to
|
|
ename:VK_COLOR_SPACE_SRGB_NONLINEAR_KHR in XML/header and the
|
|
VK_KHR_swapchain and VK_KHR_surface extensions to match the style of the
|
|
typename (space and color are two words, not one) (internal issue 322).
|
|
* Make it clear that code:LocalInvocationID should only be applied to an
|
|
input variable and normalize the language describing
|
|
code:LocalInvocationID to the language for other compute shader
|
|
variables in the <<interfaces-builtin-variables,Built-in Variables>>
|
|
section, and add normative language (internal issue 323).
|
|
* Clarify in the <<fundamentals-returncodes,Return Codes>> section that
|
|
the result pointer may be modified for specific commands, even if a
|
|
runtime error is returned (internal issue 324).
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for April 29, 2016 Vulkan 1.0.12 spec update:
|
|
|
|
* Bump API patch number and header version number to 12 for this
|
|
update.
|
|
|
|
Github Issues:
|
|
|
|
* Change valid usage statements intended to be "sub-points" to
|
|
be actual sub-points (public issue 66).
|
|
* Replace double negation in description of
|
|
slink:VkRenderPassBeginInfo::pname:pClearValues (based on public
|
|
merge 142).
|
|
* Cleanup minor typos in spec, ref pages and XML, including those
|
|
proposed in public pull requests 144, 150, 151, 167, 168, 181, and
|
|
186.
|
|
* Use *strict subset* in describing the partial order of memory
|
|
property types for slink:VkMemoryType, and update the style guide
|
|
accordingly (public issue 190).
|
|
* Fix various "a image" -> "an image" typos (public issue 191).
|
|
* Note in the <<fundamentals-validusage,Valid Usage>> and
|
|
<<extensions-interactions,Extension Interactions>> sections that
|
|
structures defined by extensions which may be passed in structure
|
|
chains using the ptext:pNext member must include initial
|
|
ptext:sType and ptext:pNext members (public issue 192).
|
|
|
|
Internal Issues:
|
|
|
|
* Remove duplicate language from the description of the pname:fence
|
|
parameter to flink:vkQueueSubmit and improve validity language
|
|
(internal issue 91).
|
|
* Added documentation for "optional" attribute to XML readme.tex/pdf
|
|
(internal issue 149).
|
|
* Clarify the host-side data validity rules and behavior of
|
|
flink:vkFlushMappedMemoryRanges and
|
|
flink:vkInvalidateMappedMemoryRanges (internal issue 266).
|
|
|
|
Other Commits:
|
|
|
|
* Added clarification to flink:vkCmdFillBuffer regarding the use of
|
|
ename:VK_WHOLE_SIZE.
|
|
* Fixed and documented implementation of "validextensionstructs"
|
|
attribute. in XML processing scripts and readme.tex/pdf.
|
|
* Add missing validity statements to flink:vkResetEvent and
|
|
flink:vkCmdResetEvent.
|
|
* Fix validity for the
|
|
ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT flag.
|
|
Correct all the draw/dispatch commands to mention optimally tiled
|
|
images as well as linear tiled images, and say image VIEWS instead
|
|
of images. Add validity statement to flink:vkCmdBlitImage
|
|
* Replace the {apiname} macro with hardcoded "Vulkan", now that we have
|
|
committed to that name.
|
|
* Add the VK_AMD_rasterization_order extension to vk.xml.
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for April 22, 2016 Vulkan 1.0.11 spec update:
|
|
|
|
* Bump API patch number and header version number to 11 for this
|
|
update.
|
|
|
|
Github Issues:
|
|
|
|
* Clarify the WSI extension language by switching from the fuzzier
|
|
"ownership" language to more-consistent "acquire" language (public
|
|
issue 117).
|
|
* Clarify that memory barriers apply to all commands in the dependency
|
|
chains in the flink:vkGetRenderAreaGranularity command and the
|
|
<<synchronization-execution-and-memory-dependencies,Execution And
|
|
Memory Dependencies>> section (public issue 132).
|
|
* Clarify that a queue family is a set of queues in the
|
|
<<fundamentals-execmodel,Execution Model>> section (public issue
|
|
166).
|
|
* Removed requirement from valid usage language that
|
|
VkPresentInfoKHR::waitSemaphoreCount must be greater than 0 (public
|
|
issue 171).
|
|
* Fix broken internal links, describe structures consistently, use
|
|
consistent style for SPIR-V codewords, and tag normative terms that
|
|
were missing asciidoc tags (public issue 183 and ancillary
|
|
markup/normative language fixes).
|
|
* Fix typos for slink:VkPhysicalDeviceLimits member names in
|
|
slink:VkImageCreateInfo validity language (public issue 184).
|
|
|
|
Internal Issues:
|
|
|
|
* Document that the requested patch version number specified as part
|
|
of slink:VkApplicationInfo::pname:apiVersion is ignored when
|
|
creating an instance (internal issue 176).
|
|
* Clarify handling of extension structs in the
|
|
<<fundamentals-validusageValid Usage>> section (internal issue 254).
|
|
* Update required slink:VkImageFormatProperties::pname:maxMipLevels to
|
|
be limited to the maximum allowed mipmap pyramid size corresponding
|
|
to the actual maximum supported size for the format (internal issue
|
|
256).
|
|
* Modify the <<features-extentperimagetype,Allowed Extent Values Based
|
|
On Image Type>> section so the allowed maximum extent is the maximum
|
|
image dimension supported for each dimension of the type of texture
|
|
being queried (internal issue 257).
|
|
* Clarify in the <<spirvenv-module-validation,Validation Rules within
|
|
a Module>> section that at least one of the code:LocalSize execution
|
|
mode or code:WorkgroupSize decoration is required for each compute
|
|
shader entry point in a shader module (internal issue 279).
|
|
* Add validity rules for formats in flink:vkCmdClearColorImage and
|
|
flink:vkCmdClearDepthStencilImage (internal issue 283).
|
|
* Clarify that slink:VkImageFormatProperties::pname:maxResourceSize is
|
|
an upper bound, and that it may not be possible to create an image
|
|
anywhere near that size (internal issue 284).
|
|
|
|
Other Commits:
|
|
|
|
* Fix various minor markup errors reported by validation scripts.
|
|
* Change copyright from Khronos Free Use License to Apache 2.0 license
|
|
on relevant script/XML/header files. This does not affect the
|
|
specification source copyright.
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for April 15, 2016 Vulkan 1.0.10 spec update:
|
|
|
|
* Bump API patch number and header version number to 10 for this
|
|
update.
|
|
|
|
Github Issues:
|
|
|
|
* Slightly tweak the <<memory-allocation,Host Memory>> allocator language
|
|
so that an application wrapping the standard C alloc/free/realloc
|
|
functions is still correct - the previous language was too strong with
|
|
regards to freeing memory. Also made certain scenarios clearer - an
|
|
implementation may now continue without error if an allocation failed
|
|
and it is able to continue correctly (public issue 21).
|
|
* Require that etext:VK_*_CREATE_SPARSE_BINDING_BIT is set when the
|
|
corresponding etext:VK_*_CREATE_SPARSE_RESIDENCY_BIT is used, in the
|
|
<<sparsememory-miptail,Mip Tail Regions>> section and related commands
|
|
flink:vkCreateBuffer and flink:vkCreateImage (public issue 84).
|
|
* Update the <<features,Features, Limits, and Formats>> chapter to clarify
|
|
interactions between optional features and dynamic state for the
|
|
pname:depthBiasClamp and pname:wideLines features (public issue 89).
|
|
* Describe the code:WorkgroupSize builtin in the
|
|
<<interfaces-builtin-variables,Built-In Variables>> section, and update
|
|
the <<compute-shaders,Compute Shaders>> section to further clarify how
|
|
to set the number of workgroups to execute in a compute shader (public
|
|
issue 145).
|
|
* Use the term *image subresource* everywhere instead of *subresource*,
|
|
except for the special case of *host-accessible subresource*, which may
|
|
be either an image subresource or buffer range (public issue 120)
|
|
* Add a note to the <<features,Features, Limits, and Formats>> section
|
|
about extensibility of structures (Public issue 165).
|
|
* Fix return code flink:vkAcquireNextImageKHR when the timeout parameter
|
|
is 0 to ename:VK_NOT_READY instead of ename:VK_TIMEOUT (public issue
|
|
170).
|
|
* Fix typo in slink:VkLayerProperties::pname:apiVersion field (public
|
|
issue 172).
|
|
|
|
Internal Issues:
|
|
|
|
* Fix a few minor internally-detected typos.
|
|
* Minor formatting tweaks to pseudocode in the <<resources,Resource
|
|
Creation>> chapter (internal issue 179).
|
|
* Fix typo in the definition of point sampling for
|
|
elink:VkCullModeFlagBits (internal issue 268).
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for April 8, 2016 Vulkan 1.0.9 spec update:
|
|
|
|
* Bump API patch number and header version number to 9 for this
|
|
update.
|
|
|
|
Github Issues:
|
|
|
|
* Fix memory type preorder definition and clarify example list and source
|
|
code for slink:VkMemoryRequirements and slink:VkMemoryHeap (public issue
|
|
26).
|
|
* Ensure slink:VkAllocationCallbacks are properly defined (public issue
|
|
73).
|
|
* Clarify the WSI extension language by switching from the fuzzier
|
|
"ownership" language to more-consistent "acquire" language (public issue
|
|
117).
|
|
* Add language allowing allocation and freeing of memory scoped to the
|
|
duration of any API command in the <<memory-allocation,Memory
|
|
Allocation>> section (public issue 136).
|
|
* Clarify the explicit location assignment always overrides the inherited
|
|
location in the <<interfaces-iointerfaces-locations,Location
|
|
Assignment>> section, even for the first member of a block (public issue
|
|
141).
|
|
* Fixed references to
|
|
slink:VkCommandBufferInheritanceInfo::pname:pipelineStatistics (public
|
|
issue 158).
|
|
* Fix name of slink:VkBufferCopy::pname:size field in validity language
|
|
for flink:vkCmdCopyBuffer (public issue 162).
|
|
|
|
Internal Issues:
|
|
|
|
* Update GL_KHR_vulkan_glsl specification to clarify disallowance of
|
|
spec-const arrays in initializers (internal issue 248).
|
|
* Clarify <<interfaces-iointerfaces-matching,Interface Matching>> section
|
|
to state that user-defined variable interface must match too (internal
|
|
issue 250).
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for April 1, 2016 Vulkan 1.0.8 spec update:
|
|
|
|
* Bump API patch number and header version number to 8 for this
|
|
update.
|
|
|
|
Github Issues:
|
|
|
|
* Specify in the validity language for flink:vkBeginCommandBuffer that
|
|
pname:commandBuffer must not currently be pending execution (public
|
|
issue 96).
|
|
* Describe depth comparison using the correct temporary variable names
|
|
in the <<textures-depth-compare-operation,Depth Compare Operation>>
|
|
section (public issue 100).
|
|
* Clarify the order of descriptor update operations in the
|
|
flink:vkUpdateDescriptorSets command (public issue 115).
|
|
* Specify in the VK_KHR_swapchain extension that
|
|
flink:vkAcquireNextImageKHR's pname:semaphore and pname:fence
|
|
parameters cannot both be sname:VK_NULL_HANDLE (partly addresses,
|
|
but does not fully close, public issue 117 / internal issue 246).
|
|
* Change reference to the "lifetime" of a Vulkan command to
|
|
"duration", and define the "duration" term (public issue 135).
|
|
* Added valid usage language for slink:VkImageLayout to require both
|
|
pname:height and pname:depth to be 1 for 1D images and pname:depth
|
|
to be 1 for 2D images (public issue 137).
|
|
* Fix SPIR-V example code in the
|
|
<<descriptorsets-inputattachment,Input Attachment>> section to
|
|
properly decorate the code:InputAttachmentIndex (public issue 139).
|
|
* Fix reference to nonexistent pname:imageInfo in the description of
|
|
flink:VkWriteDescriptorSet to refer to pname:pImageInfo (public
|
|
issue 140).
|
|
|
|
Internal Issues:
|
|
|
|
* Link to the fixed-function vertex chapter from the drawing chapter
|
|
(internal issue 110)
|
|
* Fix typo in slink:VkImageCreateInfo validity language:
|
|
ptext:maxExtent.sampleCounts -> pname:sampleCounts (internal issue
|
|
249).
|
|
* Explain why the non-core token etext:VK_IMAGE_LAYOUT_PRESENT_SRC_KHR
|
|
is used in the example in the
|
|
<<synchronization-semaphores,Semaphores>> section (internal issue
|
|
251).
|
|
* Attempt to clarify in the VK_KHR_android_surface extension's
|
|
<<platformQuerySupport_android,Android Platform Support>> section
|
|
that there is no Android-specific WSI query, and why (internal issue
|
|
252).
|
|
|
|
Other Commits:
|
|
|
|
* Add missing language about ename:VK_INCOMPLETE being returned from
|
|
array queries when the passed array is too short, in the
|
|
VK_KHR_display, VK_KHR_swapchain, and VK_KHR_surface extensions.
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for March 25, 2016 Vulkan 1.0.7 spec update:
|
|
|
|
* Bump API patch number and header version number to 7 for this
|
|
update.
|
|
|
|
Github Issues:
|
|
|
|
* Fix slink:VkSpecializationMapEntry example to avoid C/C++ strict
|
|
aliasing issues (public issue 14).
|
|
* Clarify the meaning of "matching" in flink:vkCmdBindDescriptorSets
|
|
validity language (public issue 33).
|
|
* Add stub reference pages so xrefs to not-yet-written pages do not
|
|
generate 404 errors. However, the actual content of these pages
|
|
still needs to be filled in as time allows (public issue 44, but
|
|
does not close that issue out).
|
|
* Remove incorrect validity statement for
|
|
flink:vkGetImageSparseMemoryRequirements (public issue 85).
|
|
* Reword the
|
|
<<features-limits-bufferImageGranularity,bufferImageGranularity>>
|
|
feature in terms of "aliasing", and clarify that it applies to
|
|
bindings in the same memory object (public issue 90).
|
|
* Clarify the relationship of the slink:VkPhysicalDeviceLimits
|
|
pname:maxViewportDimensions and pname:viewportBoundsRange limits
|
|
(public issue 92).
|
|
* Specify sparse unbound texture replacement in the
|
|
<<textures-texel-replacement,Texel Replacement>> section
|
|
independently of robust buffer access language (public issue 100).
|
|
* Add the <<fundamentals-architecture-model,Architecture Model>>
|
|
section to explain architecture constraints Vulkan has chosen to
|
|
accept in order to enable portable and performant code (public issue
|
|
122).
|
|
* State that an object must not be destroyed until *all* (not *any*)
|
|
uses of that object have completed (public issue 123).
|
|
* Minor editorial cleanup (public issues 129, 134, 146, 148).
|
|
* Add validity language for layer and extension names to
|
|
slink:VkDeviceCreateInfo matching that used for
|
|
slink:VkInstanceCreateInfo (public issue 130).
|
|
* Clean up terminology for the case when the bits set in one bitmask
|
|
are a subset of the bits set in another bitmask (public issue 138).
|
|
* Document that input attachments are UniformConstant not Input, in
|
|
the <<interfaces-inputattachment,Fragment Input Attachment
|
|
Interface>> section (public glslang bug 169).
|
|
|
|
Internal Issues:
|
|
|
|
* Add max enum values to "flag bits" enums (internal issue 136).
|
|
* Clarify language around the various uses of the term "block" in the
|
|
<<appendix-compressedtex-bc,Block Compressed Image Formats>> section
|
|
(internal issue 202).
|
|
* Removed "expand" dependency from <enums> groups in vk.xml and added
|
|
auto-generation code in the scripts to infer it instead, to ensure
|
|
consistency. This caused renaming of sname:VkColorSpaceKHR and
|
|
sname:VkPresentModeKHR etext:BEGIN_RANGE (etc.) tokens, but those
|
|
tokens are metadata, not part of the API, and the Vulkan WG is OK
|
|
with this change. This change adds ranges to two additional enums
|
|
that were missing them due to not defining the "expand" attribute
|
|
(internal issue 217).
|
|
* Tweak makefile to generate ref page nroff (.3) files in the right
|
|
output directory, working around an a2x limitation (internal issue
|
|
223).
|
|
|
|
Other Commits:
|
|
|
|
* Add validity requirements for flink:vkCmdCopyQueryPoolResults
|
|
pname:dstBuffer parameter.
|
|
* Fix ref page build to generate .3 targets in the right output
|
|
directory.
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for March 10, 2016 Vulkan 1.0.6 spec update:
|
|
|
|
* Bump API patch number and header version number to 6 for this
|
|
update.
|
|
|
|
Github Issues:
|
|
|
|
* Define 'invocation group' for compute and graphics shaders. Cleanup
|
|
definition and use of 'workgroup', and add glossary entries (public
|
|
issue 1).
|
|
* Various minor editorial fixes (public issue 33).
|
|
* Clarify locations for block members in the
|
|
<<interfaces-iointerfaces-locations,Location Assignment>>
|
|
section (public issue 45).
|
|
* Editorial fixes for <<commandbuffer-allocation,Command Buffer
|
|
Allocation>> section (public issues 54, 59).
|
|
* Clarify behavior of depth test in the <<fragops-depth,Depth Test>>
|
|
section (public issues 80, 81).
|
|
* Remove discussion of return codes from
|
|
flink:vkGetPhysicalDeviceSparseImageFormatProperties and
|
|
flink:vkGetImageSparseMemoryRequirements, which do not return values
|
|
(public issue 82).
|
|
* Allow flink:vkCmdDrawIndirect and flink:vkCmdDrawIndexedIndirect
|
|
pname:drawCount of 0, as well as 1, when the multiDrawIndirect
|
|
feature is not supported (public issue 88).
|
|
* Remove confusing wording in the <<features-limits,Limits>>
|
|
section describing the slink:VkPhysicalDeviceLimits
|
|
pname:minTexelBufferOffsetAlignment,
|
|
pname:minUniformBufferOffsetAlignment, and
|
|
pname:minStorageBufferOffsetAlignment members as both minimums and
|
|
maximums (public issue 91).
|
|
* Clarified that only the RGB components should be affected in places
|
|
where sRGB is referred to in the spec, such as ASTC formats. Minor
|
|
re-wording to avoid "color space" when actively incorrect, now that
|
|
we refer to the Data Format Spec which actually makes a distinction
|
|
between color space and transfer function (public issue 94).
|
|
* Treat pname:pPropertyCount == 0 consistently in
|
|
flink:vkEnumerateInstanceLayerProperties and
|
|
flink:vkEnumerateDeviceLayerProperties (public issue 99)
|
|
* Cleanup minor editorial issues in chapters 14-17 (public issue 100).
|
|
* Clarify definition of flink:vkEnumerateInstanceExtensionProperties
|
|
and flink:vkEnumerateDeviceExtensionProperties (public issue 101).
|
|
* Define the flink:vkEnumerateInstanceExtensionProperties and
|
|
flink:vkEnumerateDeviceExtensionProperties pname:pLayerName
|
|
parameter to be a pointer to a null-terminated UTF-8 string (public
|
|
issue 101).
|
|
* Rearrange "Missing information" references in mandatory format
|
|
tables (public issue 101).
|
|
* Clarify that the enumerated extensions returned by
|
|
flink:vkEnumerateInstanceExtensionProperties and
|
|
flink:vkEnumerateDeviceExtensionProperties will only include
|
|
extensions provided by the platform or extensions implemented in
|
|
implicitly enabled layers (public issue 101).
|
|
* Miscellaneous editorial fixes. Include the Vulkan spec patch number
|
|
in the PDF title. Fix label on <<fig-non-strict-lines,Non
|
|
strict lines>> diagram. Use more easily distinguished symbols in
|
|
tables in the <<features-required-format-support,Required
|
|
Format Support>> section. Do not require FQDNs used as layer names be
|
|
encoded in lower case if not possible, in the
|
|
<<extensions-naming-conventions, Extension and Layer Naming
|
|
Conventions>> section (public issues 101, 119, 121).
|
|
|
|
Internal Issues:
|
|
|
|
* Fixed excessive spacing in tables in XHTML (internal issue 18).
|
|
* Clarify that ename:VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT
|
|
applies to secondary command buffers. Previously spec only referred
|
|
to the members of pname:pCommandBuffers being affected by this bit.
|
|
Added a separate slink:VkSubmitInfo Valid Usage restriction
|
|
specifying that ename:VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT
|
|
also applies to any secondary command buffers that are recorded into
|
|
the primary command buffers in pname:pCommandBuffers (internal issue
|
|
106).
|
|
* Clarify that slink:VkDeviceCreateInfo::pname:pEnabledFeatures can be
|
|
NULL (internal issue 117).
|
|
* Remove "the value of" where it is redundant (e.g. speaking of an API
|
|
parameter, struct member, or SPIR-V variable, but not when speaking
|
|
of color components) (internal issue 175).
|
|
* Forced patch version to always be 0 in the header. Add a
|
|
"VK_API_VERSION_<major>_<minor>" macro for people to use to do the
|
|
right thing. Add a VK_HEADER_VERSION which captures the header
|
|
release number independent of the spec patch number (internal issue
|
|
176).
|
|
* Correct description of
|
|
slink:VkPipelineShaderStageCreateInfo::pname:pName to "a pointer to
|
|
a null-terminated UTF-8 string" (internal issue 197).
|
|
|
|
Other Commits:
|
|
|
|
* Updated DataFormat spec reference to the new date for revision 5 of
|
|
that spec.
|
|
* Fixed KEEP option (to retain LaTeX intermediate files) in the
|
|
Makefile to be included when edited there, as well as set on the
|
|
command line.
|
|
* Reserve and add "VK_IMG_filter_cubic" to the registry, and implement
|
|
script functionality to add and remove validity from existing
|
|
functions. Includes schema and readme changes.
|
|
* Update GL_KHR_vulkan_glsl so push_constants do not have descriptor
|
|
sets.
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for March 4, 2016 Vulkan 1.0.5 spec update:
|
|
|
|
* Bump API patch number to 5 for this update.
|
|
|
|
Github Issues:
|
|
|
|
* Correctly describe slink:VkPhysicalDeviceProperties pname:deviceName
|
|
member as a string, not a pointer to a string. Also one typo fix for
|
|
"hetereogeneous" (public issue 4).
|
|
* Replace maynot: macro with may: not, and "may: or maynot:" with
|
|
"may:" (public issue 4).
|
|
* Clarify that redundantly setting the state of a fence or event has
|
|
no effect (public issue 4).
|
|
* Minor fixes to ref pages to track descriptions of memory bits that
|
|
changed in the core spec. Fix name of a member in the description of
|
|
sname:sname:VkPipelineMultisampleStateCreateInfo (public issues 8,
|
|
13).
|
|
* Remove redundant validity statement for
|
|
sname:VkGraphicsPipelineCreateInfo::pname:stageCount (public issue
|
|
14).
|
|
* Fix typos in chapters 7-9 (public issue 14).
|
|
* Clarify the example demonstrating the behavior of
|
|
code:OpMemoryBarrier in the
|
|
<<shaders-execution-memory-ordering,shader memory acces
|
|
ordering>> section (public issue 16).
|
|
* Specify that freeing mapped memory implicitly unmaps the memory in
|
|
the description of flink:vkFreeMemory (public issue 17).
|
|
* Forbid allocation callbacks from calling into the API in the
|
|
<<memory-allocation,memory allocation>> section (public issue
|
|
20).
|
|
* Add missing validity rules about size being greater than 0 and
|
|
offset being less than size of object. Fix
|
|
flink:VkMappedMemoryRange's misinterpretation of offset (public
|
|
issues 27, 31).
|
|
* Add validity rule disallowing overlapping source/destination
|
|
descriptors in flink:VkCopyDescriptorSet (public issue 32).
|
|
* Clarify that array and matrix stride has to be a multiple of the
|
|
base alignment of the array or matrix in the
|
|
<<interfaces-resources-layout,Offset and Stride Assignment>>
|
|
section (public issue 38).
|
|
* Correct parenthesis floor nesting error in equation for
|
|
<<textures-RGB-sexp,RGB to shared exponent conversion>>.
|
|
Clarify case of when exp' is forced to 0, avoiding log2(0) undefined
|
|
problem (public issue 40).
|
|
* Remove redundant statement from the code:FragDepth description in
|
|
the <<interfaces-builtin-variables,Built-In Variables>>
|
|
section (public issue 47).
|
|
* Define the clamping of the
|
|
<<textures-level-of-detail-operation,bias added to the scale
|
|
factor>> by linking to the slink:VkPhysicalDevice feature
|
|
pname:maxSamplerLodBias (public issue 64).
|
|
* Fix typo "optimal linear resources" and clarify the set of resources
|
|
<<features-limits-bufferImageGranularity,the
|
|
pname:bufferImageGranularity resource>> applies to (public issue
|
|
67).
|
|
* Replace 'descriptor accessed by a pipeline' language for
|
|
sname:VkDescriptorSetAllocateInfo with more precise phrasing about
|
|
binding a descriptor set before a command that invokes work using
|
|
that set (public issue 69).
|
|
* tstripadj.svg contained an Inkscape tag which caused Firefox and IE
|
|
11 to fail to render it, and was illegal SVG. Generating Plain SVG
|
|
from the Inkscape SVG source fixes this (public issue 70).
|
|
* Fix validity for sname:VkVertexInputBindingDescription and
|
|
sname:VkVertexInputAttributeDescription numbers (public issue 72).
|
|
|
|
Internal Issues:
|
|
|
|
* Clarify the meaning of
|
|
ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT in
|
|
elink:VkFormatFeatureFlagBits with respect to depth compare
|
|
(internal issue 107).
|
|
* Added a note explaining that ename:VK_QUEUE_TRANSFER_BIT may or may
|
|
not be reported for a queue family that already supports
|
|
ename:VK_QUEUE_GRAPHICS_BIT or ename:VK_QUEUE_COMPUTE_BIT as the
|
|
former is a strict subset of the latter ones (internal issue 116).
|
|
* Add validity language for sname:VkDescriptorSetAllocateInfo about
|
|
exceeding the descriptor pool capacity (internal issue 140).
|
|
* Add ename:VK_INCOMPLETE success code for
|
|
flink:vkEnumeratePhysicalDevices query (internal issue 163).
|
|
|
|
Other Commits:
|
|
|
|
* Add the VK_NV_glsl_shader extension definitions to the API.
|
|
* Update GL_KHR_vulkan_glsl with 1) origin_upper_left as default 2)
|
|
specialization array constant semantics.
|
|
* Corrected/updated Data Format Specification date.
|
|
|
|
-----------------------------------------------------
|
|
|
|
Change log for February 25, 2015 Vulkan 1.0.4 spec update:
|
|
|
|
* Bump API patch number from 3 to 4 for the first public update to the
|
|
spec. Add patch number to the spec title (this will be done
|
|
automatically from XML, later).
|
|
* Fixes for numerous editorial issues. Regularize descriptions of
|
|
variable-length array queries. Properly tag enumerants so they come
|
|
out in the right font (many were mislabeled in usage tags in vk.xml,
|
|
or not tagged). Spelling and markup corrections (public issue 4).
|
|
* Fix typos and clearly separate description of different types of
|
|
memory areas (public issue 5).
|
|
* Use standards-compliant preprocessor guard symbols on headers
|
|
(public issue 7).
|
|
* Note that Github users cannot currently set labels on issues, and
|
|
recommend a fallback approach (public issue 15).
|
|
* Use latexmath prefix on len= attributes (public issue 29).
|
|
* Make flink:vkCmdUpdateBuffer pname:dataSize limit consistent (public
|
|
issue 65).
|
|
* Add VK_KHR_mirror_clamp_to_edge extension to core API branch, as an
|
|
optional feature not introducing new commands or enums (internal
|
|
issue 104).
|
|
* Cleanup invariance language inherited from the GL specification to
|
|
not refer to nonexistent (GL-specific) state (internal issue 111).
|
|
* Modify the flink:vkCmdDrawIndexed pname:vertexOffset definition to
|
|
not be the "base offset within the index buffer" but rather the
|
|
"value added to the vertex index before indexing into the vertex
|
|
buffer" (internal issue 118).
|
|
* Fix drawing chapter in the "Programmable Primitive Shading" section
|
|
where it described categories of drawing commands. It referenced
|
|
flink:vkCmdDrawIndexed twice. Replace the second reference with
|
|
flink:vkCmdDrawIndexedIndirect (internal issue 119).
|
|
* Typo fixed in <<sparsememory-examples-advanced,Advanced Sparse
|
|
Resources>> sparse memory example (internal issue 122).
|
|
* Add flink:VkDisplayPlaneAlphaFlagsKHR to <require> section of
|
|
VK_KHR_display extension (internal issue 125)
|
|
* Add missing optional="false,true" to
|
|
flink:vkGetImageSparseMemoryRequirements
|
|
pname:pSparseMemoryRequirementCount parameter (internal issue 132)
|
|
* Rename ename:VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT to
|
|
ename:VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT
|
|
(internal issue 133)
|
|
* Fix a handful of broken cross-references in the
|
|
<<samplers,Samplers>> chapter (internal issue 134).
|
|
* Fix "Input Attachement" GLSL example to use correct syntax (internal
|
|
issue 135).
|
|
* Update XML schema and documentation to accommodate recently added
|
|
attributes for validity. Add some introductory material describing
|
|
design choices and pointing to the public repository to file issues.
|
|
* Put include of validity in the core spec extensions chapter on its
|
|
own line, so that asciidoc is happy.
|
|
* Fix vertexOffset language to specify that it is the value added to
|
|
the vertex index before indexing into the vertex buffer, not the
|
|
base offset within the index buffer.
|
|
* Fix error in the description of flink:vkCmdNextSubpass.
|
|
|
|
-----------------------------------------------------
|
|
|
|
February 16, 2016 - Vulkan 1.0 initial public release
|
|
|