Skip to content

Commit

Permalink
Change log for October 6, 2017 Vulkan 1.0.62 spec update:
Browse files Browse the repository at this point in the history
  * 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).
  * Fixed errors in API example code for
    flink:vkUpdateDescriptorSetWithTemplateKHR and
    flink:vkCmdPushDescriptorSetWithTemplateKHR (public issue 577).

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:vlCmdDrawIndexedIndirectCountAMD.
  * 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.

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`
  • Loading branch information
oddhack committed Oct 7, 2017
1 parent d893b6a commit 6012d13
Show file tree
Hide file tree
Showing 36 changed files with 1,147 additions and 541 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ __pycache__
doc/specs/vulkan/api
doc/specs/vulkan/hostsynctable
doc/specs/vulkan/validity
doc/specs/vulkan/appendices/meta

# Files generated by extraction from spec source
doc/specs/vulkan/man/PFN*.txt
Expand Down
63 changes: 63 additions & 0 deletions ChangeLog.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,69 @@ public issues.

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

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).
* Fixed errors in API example code for
flink:vkUpdateDescriptorSetWithTemplateKHR and
flink:vkCmdPushDescriptorSetWithTemplateKHR (public issue 577).

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:vlCmdDrawIndexedIndirectCountAMD.
* 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.

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.
Expand Down
10 changes: 2 additions & 8 deletions doc/specs/vulkan/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -87,25 +87,19 @@ VERBOSE =
# $(EXTENSIONS))
# ADOCOPTS options for asciidoc->HTML5 output
NOTEOPTS = -a editing-notes -a implementation-guide
SPECREVISION = 1.0.61
SPECREVISION = 1.0.62
# Spell out RFC2822 format as not all date commands support -R
SPECDATE = $(shell echo `date -u "+%a, %d %b %Y %T %z"`)

# Generate Asciidoc attributes for spec remark
GITHEAD := ../../../.git/logs/HEAD
ifeq ($(wildcard $(GITHEAD)),)
# If GITHEAD does not exist, don't include branch info.
SPECREMARK = Git branch information not available
else
# Could use `git log -1 --format="%cd"` to get branch commit date
# This used to be a dependency in the spec html/pdf targets,
# but that's likely to lead to merge conflicts. Just regenerate
# when pushing a new spec for review to the sandbox.
# The dependency on HEAD is per the suggestion in
# http://neugierig.org/software/blog/2014/11/binary-revisions.html
SPECREMARK = from git branch: $(shell echo `git symbolic-ref --short HEAD`) \
SPECREMARK = from git branch: $(shell echo `git symbolic-ref --short HEAD 2> /dev/null || echo Git branch information not available`) \
commit: $(shell echo `git log -1 --format="%H"`)
endif

ATTRIBOPTS = -a revnumber="$(SPECREVISION)" \
-a revdate="$(SPECDATE)" \
Expand Down
26 changes: 26 additions & 0 deletions doc/specs/vulkan/appendices/VK_AMD_shader_image_load_store_lod.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
include::meta/VK_AMD_shader_image_load_store_lod.txt[]

*Last Modified Date*::
08/21/2017
*Interactions and External Dependencies*::
- This extension requires the
https://www.khronos.org/registry/spir-v/extensions/AMD/SPV_AMD_shader_image_load_store_lod.html[+SPV_AMD_shader_image_load_store_lod+]
SPIR-V extension.
- This extension requires
https://www.khronos.org/registry/OpenGL/extensions/AMD/AMD_shader_image_load_store_lod.txt[+GL_AMD_shader_image_load_store_lod+]
for GLSL-based source languages.
*IP Status*::
No known IP claims.
*Contributors*::
- Dominik Witczak, AMD
- Qun Lin, AMD
- Rex Xu, AMD

This extension adds support for the following SPIR-V extension in Vulkan:

* https://www.khronos.org/registry/spir-v/extensions/AMD/SPV_AMD_shader_image_load_store_lod.html[+SPV_AMD_shader_image_load_store_lod+]

=== Version History

* Revision 1, 2017-08-21 (Dominik Witczak)
- Initial draft
4 changes: 4 additions & 0 deletions doc/specs/vulkan/appendices/extensions.txt
Original file line number Diff line number Diff line change
Expand Up @@ -375,6 +375,10 @@ ifdef::VK_AMD_shader_fragment_mask[]
include::VK_AMD_shader_fragment_mask.txt[]
endif::VK_AMD_shader_fragment_mask[]

ifdef::VK_AMD_shader_image_load_store_lod[]
include::VK_AMD_shader_image_load_store_lod.txt[]
endif::VK_AMD_shader_image_load_store_lod[]

ifdef::VK_AMD_shader_trinary_minmax[]
include::VK_AMD_shader_trinary_minmax.txt[]
endif::VK_AMD_shader_trinary_minmax[]
Expand Down
7 changes: 7 additions & 0 deletions doc/specs/vulkan/appendices/glossary.txt
Original file line number Diff line number Diff line change
Expand Up @@ -977,6 +977,13 @@ Resolve Attachment::
multisample resolve operation from the corresponding color attachment at
the end of the subpass.

Retired Swapchain::
A swapchain that has been used as the pname:oldSwapchain parameter to
flink:vkCreateSwapchainKHR.
Images cannot be acquired from a retired swapchain, however images that
were acquired (but not presented) before the swapchain was retired can:
be presented.

Sampled Image::
A descriptor type that represents an image view, and supports filtered
(sampled) and unfiltered read-only acccess in a shader.
Expand Down
9 changes: 9 additions & 0 deletions doc/specs/vulkan/appendices/spirvenv.txt
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,10 @@ ifdef::VK_KHX_device_group[]
[[spirvenv-capabilities-table-devicegroup]]
| code:DeviceGroup | <<VK_KHX_device_group,VK_KHX_device_group>>
endif::VK_KHX_device_group[]
ifdef::VK_AMD_shader_image_load_store_lod[]
[[spirvenv-capabilities-table-imagereadwritelodamd]]
| code:ImageReadWriteLodAMD | <<VK_AMD_shader_image_load_store_lod,VK_AMD_shader_image_load_store_lod>>
endif::VK_AMD_shader_image_load_store_lod[]
ifdef::VK_AMD_texture_gather_bias_lod[]
[[spirvenv-capabilities-table-imagegatherbiaslodamd]]
| code:ImageGatherBiasLodAMD | <<VK_AMD_texture_gather_bias_lod,VK_AMD_texture_gather_bias_lod>>
Expand Down Expand Up @@ -174,6 +178,11 @@ The application can: pass a SPIR-V module to flink:vkCreateShaderModule that
uses the +SPV_AMD_shader_ballot+ SPIR-V extension.
endif::VK_AMD_shader_ballot[]

ifdef::VK_AMD_shader_image_load_store_lod[]
The application can: pass a SPIR-V module to flink:vkCreateShaderModule that
uses the +SPV_AMD_shader_image_load_store_lod+ SPIR-V extension.
endif::VK_AMD_shader_image_load_store_lod[]

ifdef::VK_AMD_shader_trinary_minmax[]
The application can: pass a SPIR-V module to flink:vkCreateShaderModule that
uses the +SPV_AMD_shader_trinary_minmax+ SPIR-V extension.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ as well as weights [eq]#{alpha}# and [eq]#{beta}#.
++++++++++++++++++++++++
\begin{aligned}
i_{0} & = \left \lfloor u - \frac{3}{2} \right \rfloor & i_{1} & = i_{0} + 1 & i_{2} & = i_{1} + 1 & i_{3} & = i_{2} + 1 \\[1em]
j_{0} & = \left \lfloor u - \frac{3}{2} \right \rfloor & j_{1} & = j_{0} + 1 & j_{2} & = j_{1} + 1 & j_{3} & = j_{2} + 1 \\
j_{0} & = \left \lfloor v - \frac{3}{2} \right \rfloor & j_{1} & = j_{0} + 1 & j_{2} & = j_{1} + 1 & j_{3} & = j_{2} + 1 \\
\\
\alpha & = \mathbin{frac} \left ( u - \frac{1}{2} \right ) \\[1em]
\beta & = \mathbin{frac} \left ( v - \frac{1}{2} \right )
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
If a swapchain associated with a display surface is destroyed and there are
no valid descendants of that swapchain, the implementation must: either
revert any display resources modified by presenting images with the
swapchain to their state prior to the first present performed with the
swapchain and its ancestors, or leave such resources in their current state.
When a swapchain associated with a display surface is destroyed, if the
image most recently presented to the display surface is from the swapchain
being destroyed, then either any display resources modified by presenting
images from any swapchain associated with the display surface must: be
reverted by the implementation to their state prior to the first present
performed on one of these swapchains, or such resources must: be left in
their current state.
Loading

0 comments on commit 6012d13

Please sign in to comment.