Skip to content

Commit

Permalink
Change log for January 05, 2019 Vulkan 1.1.97 spec update:
Browse files Browse the repository at this point in the history
  * 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`
  • Loading branch information
oddhack committed Jan 6, 2019
1 parent b557dd2 commit 56e0289
Show file tree
Hide file tree
Showing 193 changed files with 1,886 additions and 321 deletions.
276 changes: 276 additions & 0 deletions ChangeLog.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,282 @@ public pull requests that have been accepted.

-----------------------------------------------------

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 Y'C~B~C~R~ formats in the
<<features-required-format-support, Required Format Support>> section
and the <<features-formats-requiring-sampler-ycbcr-conversion, Formats
requiring sampler Y'C~B~C~R~ 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.
Expand Down
4 changes: 2 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright (c) 2014-2018 The Khronos Group Inc.
# Copyright (c) 2014-2019 The Khronos Group Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -115,7 +115,7 @@ VERBOSE =
# ADOCOPTS options for asciidoc->HTML5 output

NOTEOPTS = -a editing-notes -a implementation-guide
PATCHVERSION = 96
PATCHVERSION = 97
ifneq (,$(findstring VK_VERSION_1_1,$(VERSIONS)))
SPECREVISION = 1.1.$(PATCHVERSION)
else
Expand Down
4 changes: 2 additions & 2 deletions appendices/VK_EXT_astc_decode_mode.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (c) 2018 Khronos Group. This work is licensed under a
// Copyright (c) 2018-2019 Khronos Group. This work is licensed under a
// Creative Commons Attribution 4.0 International License; see
// http://creativecommons.org/licenses/by/4.0/

Expand Down Expand Up @@ -96,7 +96,7 @@ Create an image view that decodes to VK_FORMAT_R8G8B8A8_UNORM precision:
// flags, image, viewType set to application-desired values
VK_FORMAT_ASTC_8x8_UNORM_BLOCK, // format
// components, subresourceRange set to application-desired values
};
};

VkImageView imageView;
VkResult result = vkCreateImageView(
Expand Down
70 changes: 70 additions & 0 deletions appendices/VK_EXT_buffer_device_address.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
include::meta/VK_EXT_buffer_device_address.txt[]

*Last Modified Date*::
2018-11-01
*IP Status*::
No known IP claims.
*Contributors*::
- Jeff Bolz, NVIDIA

This extension allows the application to query a 64-bit buffer device
address value for a buffer, which can be used to access the buffer memory
via the code:PhysicalStorageBufferEXT storage class in the
https://github.com/KhronosGroup/GLSL/blob/master/extensions/ext/GL_EXT_buffer_reference.txt[+GL_EXT_buffer_reference+]
GLSL extension and
http://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/EXT/SPV_EXT_physical_storage_buffer.html[+SPV_EXT_physical_storage_buffer+]
SPIR-V extension.

It also allows buffer device addresses to be provided by a trace replay
tool, so that it matches the address used when the trace was captured.

=== New Object Types

None

=== New Enum Constants

* Extending elink:VkStructureType:
** ename:VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT
** ename:VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT
** ename:VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT

* Extending elink:VkBufferUsageFlagBits:
** ename:VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT

* Extending elink:VkBufferCreateFlagBits:
** ename:VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT

* Extending elink:VkResult:
** ename:VK_ERROR_INVALID_DEVICE_ADDRESS_EXT

=== New Enums

None

=== New Structures

* slink:VkPhysicalDeviceBufferAddressFeaturesEXT
* slink:VkBufferDeviceAddressInfoEXT
* slink:VkBufferDeviceAddressCreateInfoEXT

=== New Functions

* flink:vkGetBufferDeviceAddressEXT

=== New Built-In Variables

None

=== New SPIR-V Capabilities

* <<spirvenv-capabilities-table-physicalstoragebufferaddresses,code:PhysicalStorageBufferAddressesEXT>>

=== Issues

None

=== Version History

* Revision 1, 2018-11-01 (Jeff Bolz)
- Internal revisions
3 changes: 3 additions & 0 deletions appendices/VK_EXT_hdr_metadata.txt
Original file line number Diff line number Diff line change
Expand Up @@ -59,3 +59,6 @@ application can track on its own.

* Revision 1, 2016-12-27 (Courtney Goeltzenleuchter)
- Initial version

* Revision 2, 2018-12-19 (Courtney Goeltzenleuchter)
- Correct implicit validity for VkHdrMetadataEXT structure
2 changes: 1 addition & 1 deletion appendices/VK_EXT_image_drm_format_modifier.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (c) 2018 Khronos Group. This work is licensed under a
// Copyright (c) 2018-2019 Khronos Group. This work is licensed under a
// Creative Commons Attribution 4.0 International License; see
// http://creativecommons.org/licenses/by/4.0/

Expand Down
Loading

0 comments on commit 56e0289

Please sign in to comment.