Skip to content

Commit

Permalink
Change log for August 25, 2019 Vulkan 1.1.121 spec update:
Browse files Browse the repository at this point in the history
  * 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>>`
  • Loading branch information
oddhack committed Aug 25, 2019
1 parent 042faea commit 59750fe
Show file tree
Hide file tree
Showing 51 changed files with 646 additions and 210 deletions.
11 changes: 5 additions & 6 deletions .gitlab/issue_templates/Release checklist.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,12 @@ no MRs in flight that modify behavior defined by the extension and its
dependencies. Delete any of the following preconditions that are not relevant to
the extension in question_


- [ ] VAP consulted to the extent the WG considers appropriate
- [ ] CTS tests approved with three passing implementations
- [ ] Vulkan API specification merged and stable in devel
- [ ] SPIR-V specification merged and stable
- [ ] GLSL specification merged and stable
- [ ] Vulkan API specification merged and stable in devel (_MR_)
- [ ] API spec naming review complete
- [ ] CTS tests approved with three passing implementations (_gerrit cl_)
- [ ] SPIR-V specification merged and stable (_MR_)
- [ ] GLSL specification merged and stable (_MR_)

## Preconditions for submission to Promoters

Expand All @@ -47,7 +47,6 @@ where indicated. Note that these are targets and may slip._
- [ ] SPIR-V specification ratified by Promoters
- [ ] GLSL specification ratified by Promoters
- [ ] GLSLang implementation release schedule agreed: target _target-date_
- [ ] Marketing summary written and approved by Vulkan WG and PR team
- [ ] Validation layer implementation approved to merge
- [ ] Loader support approved to merge (for instance extensions)
- [ ] HLSL mapping defined
Expand Down
53 changes: 53 additions & 0 deletions ChangeLog.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,59 @@ public pull requests that have been accepted.

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

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.
Expand Down
12 changes: 5 additions & 7 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,9 @@
#
# To build the specification and reference pages with optional
# extensions included, set the $(EXTENSIONS) variable on the make
# command line to a space-separated list of extension names. The
# VK_KHR_sampler_mirror_clamp_to_edge extension which is a required part
# of Vulkan 1.0, is always included. $(EXTENSIONS) is converted into
# asciidoc and generator script arguments $(EXTATTRIBS) and
# $(EXTOPTIONS).
# command line to a space-separated list of extension names.
# $(EXTENSIONS) is converted into asciidoc and generator script
# arguments $(EXTATTRIBS) and $(EXTOPTIONS).

# If a recipe fails, delete its target file. Without this cleanup, the leftover
# file from the failed recipe can falsely satisfy dependencies on subsequent
Expand All @@ -38,7 +36,7 @@ VERSIONS := VK_VERSION_1_0 VK_VERSION_1_1
VERSIONATTRIBS := $(foreach version,$(VERSIONS),-a $(version))
VERSIONOPTIONS := $(foreach version,$(VERSIONS),-feature $(version))

EXTS := $(sort VK_KHR_sampler_mirror_clamp_to_edge $(EXTENSIONS) $(DIFFEXTENSIONS))
EXTS := $(sort $(EXTENSIONS) $(DIFFEXTENSIONS))
EXTATTRIBS := $(foreach ext,$(EXTS),-a $(ext))
EXTOPTIONS := $(foreach ext,$(EXTS),-extension $(ext))

Expand Down Expand Up @@ -121,7 +119,7 @@ VERBOSE =
# ADOCOPTS options for asciidoc->HTML5 output

NOTEOPTS = -a editing-notes -a implementation-guide
PATCHVERSION = 120
PATCHVERSION = 121
ifneq (,$(findstring VK_VERSION_1_1,$(VERSIONS)))
SPECREVISION = 1.1.$(PATCHVERSION)
else
Expand Down
32 changes: 32 additions & 0 deletions appendices/VK_AMD_device_coherent_memory.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
include::meta/VK_AMD_device_coherent_memory.txt[]

*Last Modified Date*::
2019-02-04
*Contributors*::
- Ping Fu, AMD
- Timothy Lottes, AMD
- Tobias Hector, AMD

This extension adds the device coherent and device uncached memory types.
Any device accesses to device coherent memory are automatically made visible
to any other device access.
Device uncached memory indicates to applications that caches are disabled
for a particular memory type, which guarantees device coherence.

Device coherent and uncached memory are expected to have lower performance
for general access than non-device coherent memory, but can be useful in
certain scenarios; particularly so for debugging.

=== New Enum Constants

* Extending elink:VkStructureType:
** ename:VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD

* Extending elink:VkMemoryPropertyFlagBits:
** ename:VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD
** ename:VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD

=== Version History

* Revision 1, 2019-02-04 (Tobias Hector)
- Initial revision
Original file line number Diff line number Diff line change
Expand Up @@ -156,3 +156,8 @@ In essence, these are new features added to a new Android API level, rather
than new Vulkan features.
The extension will only document how existing Vulkan features map to that
new Android feature.

=== Version History

* Revision 1, 2018-03-04 (Jesse Hall)
- Initial version
4 changes: 3 additions & 1 deletion appendices/VK_EXT_blend_operation_advanced.txt
Original file line number Diff line number Diff line change
Expand Up @@ -170,5 +170,7 @@ None.

=== Version History

* Revisions 1-2, 2017-06-12 (Jeff Bolz)
* Revision 1, 2017-06-12 (Jeff Bolz)
- Internal revisions
* Revision 2, 2017-06-12 (Jeff Bolz)
- Internal revisions
12 changes: 10 additions & 2 deletions appendices/VK_EXT_buffer_device_address.txt
Original file line number Diff line number Diff line change
Expand Up @@ -66,11 +66,19 @@ None

=== Issues

1) Where is VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT and VkPhysicalDeviceBufferAddressFeaturesEXT?
1) Where is VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT
and VkPhysicalDeviceBufferAddressFeaturesEXT?

*RESOLVED*: They were renamed as ename:VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT and slink:VkPhysicalDeviceBufferDeviceAddressFeaturesEXT accordingly for consistency. Even though, the old names can still be found in the generated header files for compatibility.
*RESOLVED*: They were renamed as
ename:VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT
and slink:VkPhysicalDeviceBufferDeviceAddressFeaturesEXT accordingly for
consistency.
Even though, the old names can still be found in the generated header files
for compatibility.

=== Version History

* Revision 1, 2018-11-01 (Jeff Bolz)
- Internal revisions
* Revision 2, 2019-01-06 (Jon Leech)
- Minor updates to appendix for publication
2 changes: 2 additions & 0 deletions appendices/VK_EXT_descriptor_indexing.txt
Original file line number Diff line number Diff line change
Expand Up @@ -98,3 +98,5 @@ None.

* Revision 1, 2017-07-26 (Jeff Bolz)
- Internal revisions
* Revision 2, 2017-10-02 (Jeff Bolz)
- ???
3 changes: 1 addition & 2 deletions appendices/VK_EXT_hdr_metadata.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
include::meta/VK_EXT_hdr_metadata.txt[]

*Last Modified Date*::
2017-03-04
2018-12-19
*IP Status*::
No known IP claims.
*Contributors*::
Expand Down Expand Up @@ -59,6 +59,5 @@ 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_headless_surface.txt
Original file line number Diff line number Diff line change
Expand Up @@ -58,5 +58,5 @@ None

=== Version History

* Revision 1
* Revision 1, 2019-03-21 (Ray Smith)
- Initial draft
2 changes: 1 addition & 1 deletion appendices/VK_EXT_image_drm_format_modifier.txt
Original file line number Diff line number Diff line change
Expand Up @@ -456,5 +456,5 @@ _requires_ the application to set pname:size to 0.

==== Version History

* Revision 1.0, 2018-08-29 (Chad Versace)
* Revision 1, 2018-08-29 (Chad Versace)
- First stable revision
2 changes: 1 addition & 1 deletion appendices/VK_KHR_device_group.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
include::meta/VK_KHR_device_group.txt[]

*Last Modified Date*::
2017-10-06
2017-10-10
*IP Status*::
No known IP claims.
*Interactions and External Dependencies*::
Expand Down
5 changes: 5 additions & 0 deletions appendices/VK_KHR_external_fence.txt
Original file line number Diff line number Diff line change
Expand Up @@ -55,3 +55,8 @@ the core functionality.
This extension borrows concepts, semantics, and language from
`<<VK_KHR_external_semaphore>>`.
That extension's issues apply equally to this extension.

=== Version History

* Revision 1, 2017-05-08 (Jesse Hall)
- Initial revision
5 changes: 5 additions & 0 deletions appendices/VK_KHR_external_fence_capabilities.txt
Original file line number Diff line number Diff line change
Expand Up @@ -60,3 +60,8 @@ the core functionality.
=== Issues

None.

=== Version History

* Revision 1, 2017-05-08 (Jesse Hall)
- Initial version
5 changes: 5 additions & 0 deletions appendices/VK_KHR_external_fence_fd.txt
Original file line number Diff line number Diff line change
Expand Up @@ -48,3 +48,8 @@ None.
This extension borrows concepts, semantics, and language from
`<<VK_KHR_external_semaphore_fd>>`.
That extension's issues apply equally to this extension.

=== Version History

* Revision 1, 2017-05-08 (Jesse Hall)
- Initial revision
5 changes: 5 additions & 0 deletions appendices/VK_KHR_external_fence_win32.txt
Original file line number Diff line number Diff line change
Expand Up @@ -63,3 +63,8 @@ instead of a slink:VkFence, and applications can check status or wait on the
D3D12 fence using non-Vulkan APIs.
The convenience of being able to do these operations on sname:VkFence
objects doesn't justify the extra API complexity.

=== Version History

* Revision 1, 2017-05-08 (Jesse Hall)
- Initial revision
5 changes: 5 additions & 0 deletions appendices/VK_KHR_external_memory.txt
Original file line number Diff line number Diff line change
Expand Up @@ -260,3 +260,8 @@ provided memory handle cannot be used to complete the requested import
operation.
However, implementations need not validate handles are of the exact type
specified by the application.

=== Version History

* Revision 1, 2016-10-20 (James Jones)
- Initial version
5 changes: 5 additions & 0 deletions appendices/VK_KHR_external_memory_capabilities.txt
Original file line number Diff line number Diff line change
Expand Up @@ -125,3 +125,8 @@ versions are not a currently supported configuration on the Windows OS.
Should support for such configurations be introduced at the OS level,
further Vulkan extensions would be needed to correlate userspace component
builds.

=== Version History

* Revision 1, 2016-10-17 (James Jones)
- Initial version
5 changes: 5 additions & 0 deletions appendices/VK_KHR_external_memory_fd.txt
Original file line number Diff line number Diff line change
Expand Up @@ -71,3 +71,8 @@ memory handles created outside of Vulkan be specified?
handle.
The size will be specified by future extensions that introduce such external
memory handle types.

=== Version History

* Revision 1, 2016-10-21 (James Jones)
- Initial revision
5 changes: 5 additions & 0 deletions appendices/VK_KHR_external_memory_win32.txt
Original file line number Diff line number Diff line change
Expand Up @@ -86,3 +86,8 @@ The size is determined by the associated image or buffer memory requirements
for external handle types that require dedicated allocations, and by the
size specified when creating the object from which the handle was exported
for other external handle types.

=== Version History

* Revision 1, 2016-10-21 (James Jones)
- Initial revision
5 changes: 5 additions & 0 deletions appendices/VK_KHR_external_semaphore.txt
Original file line number Diff line number Diff line change
Expand Up @@ -76,3 +76,8 @@ provided semaphore state handle cannot be used to complete the requested
import operation.
However, implementations need not validate handles are of the exact type
specified by the application.

=== Version History

* Revision 1, 2016-10-21 (James Jones)
- Initial revision
5 changes: 5 additions & 0 deletions appendices/VK_KHR_external_semaphore_capabilities.txt
Original file line number Diff line number Diff line change
Expand Up @@ -56,3 +56,8 @@ The original type, enum and command names are still available as aliases of
the core functionality.

=== Issues

=== Version History

* Revision 1, 2016-10-20 (James Jones)
- Initial revision
5 changes: 5 additions & 0 deletions appendices/VK_KHR_external_semaphore_fd.txt
Original file line number Diff line number Diff line change
Expand Up @@ -54,3 +54,8 @@ application, and a successful import transfers it back to the driver.
Destroying the original semaphore object will not close the file descriptor
or remove its reference to the underlying semaphore resource associated with
it.

=== Version History

* Revision 1, 2016-10-21 (Jesse Hall)
- Initial revision
5 changes: 5 additions & 0 deletions appendices/VK_KHR_external_semaphore_win32.txt
Original file line number Diff line number Diff line change
Expand Up @@ -86,3 +86,8 @@ the former is a much simpler API.
Since Vulkan tends to favor flexibility and consistency over simplicity, a
new structure specifying D3D12 fence acquire and release values is added to
the flink:vkQueueSubmit function.

=== Version History

* Revision 1, 2016-10-21 (James Jones)
- Initial revision
5 changes: 5 additions & 0 deletions appendices/VK_KHR_image_format_list.txt
Original file line number Diff line number Diff line change
Expand Up @@ -46,3 +46,8 @@ None.
None.

=== Issues

=== Version History

* Revision 1, 2017-03-20 (Jason Ekstrand)
- Initial revision
25 changes: 24 additions & 1 deletion appendices/VK_KHR_sampler_mirror_clamp_to_edge.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,10 @@
include::meta/VK_KHR_sampler_mirror_clamp_to_edge.txt[]

*Last Modified Date*::
2016-02-16
2019-08-17
*Contributors*::
- Tobias Hector, Imagination Technologies
- Jon Leech, Khronos

`VK_KHR_sampler_mirror_clamp_to_edge` extends the set of sampler address
modes to include an additional mode
Expand Down Expand Up @@ -49,7 +50,29 @@ Creating a sampler with the new address mode in each dimension
&sampler);
----------------------------------------

=== Issues

1) Why are both KHR and core versions of the
ename:VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE token present?

*RESOLVED*: This functionality was intended to be required in Vulkan 1.0.
We realized shortly before public release that not all implementations could
support it, and moved the functionality into an optional extension, but did
not apply the KHR extension suffix.
Adding a KHR-suffixed alias of the non-suffixed enum has been done to comply
with our own naming rules.

In a related change, before spec revision 1.1.121 this extension was
hardwiring into the spec Makefile so it was always included with the
Specification, even in the core-only versions.
This has now been reverted, and it is treated as any other extension.

=== Version History

* Revision 1, 2016-02-16 (Tobias Hector)
- Initial draft
* Revision 2, 2019-08-14 (Jon Leech)
- Add KHR-suffixed alias of non-suffixed enum.
* Revision 3, 2019-08-17 (Jon Leech)
- Add an issue explaining the reason for the extension API not being
suffixed with KHR.
Loading

0 comments on commit 59750fe

Please sign in to comment.