Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
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`
  • Loading branch information
oddhack committed Mar 4, 2019
1 parent 6298007 commit 35e7bee
Show file tree
Hide file tree
Showing 77 changed files with 11,253 additions and 9,355 deletions.
64 changes: 56 additions & 8 deletions ChangeLog.txt
Expand Up @@ -8,6 +8,54 @@ public pull requests that have been accepted.

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

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.
Expand Down Expand Up @@ -839,7 +887,7 @@ 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
* Convert XML `value` aliases into <alias> tags (public pull request
747).
* Fix metadoc script showing non-selected extensions (public pull request
748).
Expand Down Expand Up @@ -891,7 +939,7 @@ 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
* Correct <unused> tag for elink:VkResult in `vk.xml` (public merge
request 746).

Internal Issues:
Expand Down Expand Up @@ -1322,8 +1370,8 @@ Github Issues:
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>
* 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).
Expand Down Expand Up @@ -2230,15 +2278,15 @@ 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
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,
* 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
Expand All @@ -2250,7 +2298,7 @@ Internal Issues:
Other Issues:

* Makes description of pname:loadOp and pname:storeOp easier to read in
the \<\<renderpass-load-store-ops>> section.
the <<renderpass-load-store-ops>> section.

New Extensions:

Expand Down Expand Up @@ -3097,7 +3145,7 @@ Github Issues:
<<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>>
* 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
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Expand Up @@ -115,7 +115,7 @@ VERBOSE =
# ADOCOPTS options for asciidoc->HTML5 output

NOTEOPTS = -a editing-notes -a implementation-guide
PATCHVERSION = 101
PATCHVERSION = 102
ifneq (,$(findstring VK_VERSION_1_1,$(VERSIONS)))
SPECREVISION = 1.1.$(PATCHVERSION)
else
Expand Down
43 changes: 43 additions & 0 deletions appendices/VK_EXT_metal_surface.txt
@@ -0,0 +1,43 @@
include::meta/VK_EXT_metal_surface.txt[]

*Last Modified Date*::
2018-10-01
*IP Status*::
No known IP claims.
*Contributors*::
- Dzmitry Malyshau, Mozilla Corp.

The `VK_EXT_metal_surface` extension is an instance extension.
It provides a mechanism to create a slink:VkSurfaceKHR object (defined by
the `<<VK_KHR_surface>>` extension) from dlink:CAMetalLayer, which is the
native rendering surface of Apple's Metal framework.

=== New Object Types

None.

=== New Enum Constants

* Extending elink:VkStructureType:
** ename:VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT

=== New Enums

None.

=== New Structures

* slink:VkMetalSurfaceCreateInfoEXT

=== New Functions

* flink:vkCreateMetalSurfaceEXT

=== Issues

None.

=== Version History

* Revision 1, 2018-10-01 (Dzmitry Malyshau)
- Initial version
37 changes: 37 additions & 0 deletions appendices/VK_EXT_ycbcr_image_arrays.txt
@@ -0,0 +1,37 @@
// 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/

include::meta/VK_EXT_ycbcr_image_arrays.txt[]

Last Modified Date::
2019-01-15
Contributors::
- Piers Daniell, NVIDIA

This extension allows images of a format that requires
<<formats-requiring-sampler-ycbcr-conversion, Y'C~B~C~R~ conversion>> to be
created with multiple array layers, which is otherwise restricted.

=== New Enum Constants

* Extending elink:VkStructureType:
** ename:VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT

=== New Enums

None.

=== New Structures

* slink:VkPhysicalDeviceYcbcrImageArraysFeaturesEXT

=== New Functions

None.

=== Version History

* Revision 1, 2019-01-15 (Piers Daniell)
- Initial revision

4 changes: 2 additions & 2 deletions appendices/VK_KHR_shader_draw_parameters.txt
Expand Up @@ -79,8 +79,8 @@ None.
=== Promotion to Vulkan 1.1

All functionality in this extension is included in core Vulkan 1.1, however
a <<features-features-shaderDrawParameters,feature bit was added>> to
distinguish whether it's actually available or not.
a <<features-shaderDrawParameters,feature bit was added>> to distinguish
whether it's actually available or not.

=== Issues

Expand Down
2 changes: 1 addition & 1 deletion appendices/VK_KHR_variable_pointers.txt
Expand Up @@ -53,7 +53,7 @@ The second, code:VariablePointers, is optional.

All functionality in this extension is included in core Vulkan 1.1, with the
KHR suffix omitted, however support for the
<<features-features-variablePointersStorageBuffer,
<<features-variablePointersStorageBuffer,
pname:variablePointersStorageBuffer>> feature is made optional.
The original type, enum and command names are still available as aliases of
the core functionality.
Expand Down
4 changes: 2 additions & 2 deletions appendices/VK_MVK_ios_surface.txt
Expand Up @@ -14,8 +14,8 @@ include::meta/VK_MVK_ios_surface.txt[]
The `VK_MVK_ios_surface` extension is an instance extension.
It provides a mechanism to create a slink:VkSurfaceKHR object (defined by
the `<<VK_KHR_surface>>` extension) that refers to a code:UIView, the native
surface type of iOS, which is underpinned by a code:CAMetalLayer, to support
rendering to the surface using Apple's Metal framework.
surface type of iOS, which is underpinned by a dlink:CAMetalLayer, to
support rendering to the surface using Apple's Metal framework.

=== New Object Types

Expand Down
2 changes: 1 addition & 1 deletion appendices/VK_MVK_macos_surface.txt
Expand Up @@ -14,7 +14,7 @@ include::meta/VK_MVK_macos_surface.txt[]
The `VK_MVK_macos_surface` extension is an instance extension.
It provides a mechanism to create a slink:VkSurfaceKHR object (defined by
the `<<VK_KHR_surface>>` extension) that refers to an code:NSView, the
native surface type of macOS, which is underpinned by a code:CAMetalLayer,
native surface type of macOS, which is underpinned by a dlink:CAMetalLayer,
to support rendering to the surface using Apple's Metal framework.

=== New Object Types
Expand Down
42 changes: 42 additions & 0 deletions appendices/VK_NVX_image_view_handle.txt
@@ -0,0 +1,42 @@
include::meta/VK_NVX_image_view_handle.txt[]

*Last Modified Date*::
2018-12-07
*Contributors*::
- Eric Werness, NVIDIA
- Jeff Bolz, NVIDIA
- Daniel Koch, NVIDIA

This extension allows applications to query an opaque handle from an image
view for use as a sampled image or storage image.
This provides no direct functionality itself.

=== New Object Types

None.

=== New Enum Constants

* Extending elink:VkStructureType:
** ename:VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX

=== New Enums

None.

=== New Structures

* slink:VkImageViewHandleInfoNVX

=== New Functions

* flink:vkGetImageViewHandleNVX

=== Issues

None.

=== Version History

* Revision 1, 2018-12-07 (Eric Werness)
- Internal revisions
19 changes: 11 additions & 8 deletions appendices/boilerplate.txt
Expand Up @@ -271,22 +271,25 @@ endif::VK_NV_external_memory_win32[]
ifdef::VK_NV_win32_keyed_mutex[]
`<<VK_NV_win32_keyed_mutex>>`
endif::VK_NV_win32_keyed_mutex[]
| Microsoft Windows | `vulkan_win32.h` | `<windows.h>` | dname:VK_USE_PLATFORM_WIN32_KHR
| `<<VK_KHR_xcb_surface>>` | X11 Xcb | `vulkan_xcb.h` | `<xcb/xcb.h>` | dname:VK_USE_PLATFORM_XCB_KHR
| `<<VK_KHR_xlib_surface>>` | X11 Xlib | `vulkan_xlib.h` | `<X11/Xlib.h>` | dname:VK_USE_PLATFORM_XLIB_KHR
| Microsoft Windows | `vulkan_win32.h` | `<windows.h>` | dname:VK_USE_PLATFORM_WIN32_KHR
| `<<VK_KHR_xcb_surface>>` | X11 Xcb | `vulkan_xcb.h` | `<xcb/xcb.h>` | dname:VK_USE_PLATFORM_XCB_KHR
| `<<VK_KHR_xlib_surface>>` | X11 Xlib | `vulkan_xlib.h` | `<X11/Xlib.h>` | dname:VK_USE_PLATFORM_XLIB_KHR
ifdef::VK_EXT_acquire_xlib_display[]
| `<<VK_EXT_acquire_xlib_display>>` | X11 XRAndR | `vulkan_xlib_xrandr.h` | `<X11/Xlib.h>`,
`<X11/extensions{wbro}/Xrandr.h>` | dname:VK_USE_PLATFORM_XLIB_XRANDR_EXT
| `<<VK_EXT_acquire_xlib_display>>` | X11 XRAndR | `vulkan_xlib_xrandr.h` | `<X11/Xlib.h>`,
`<X11/extensions{wbro}/Xrandr.h>` | dname:VK_USE_PLATFORM_XLIB_XRANDR_EXT
endif::VK_EXT_acquire_xlib_display[]
ifdef::VK_MVK_ios_surface[]
| `<<VK_MVK_ios_surface>>` | iOS | `vulkan_ios.h` | None | dname:VK_USE_PLATFORM_IOS_MVK
| `<<VK_MVK_ios_surface>>` | iOS | `vulkan_ios.h` | None | dname:VK_USE_PLATFORM_IOS_MVK
endif::VK_MVK_ios_surface[]
ifdef::VK_MVK_macos_surface[]
| `<<VK_MVK_macos_surface>>` | macOS | `vulkan_macos.h` | None | dname:VK_USE_PLATFORM_MACOS_MVK
| `<<VK_MVK_macos_surface>>` | macOS | `vulkan_macos.h` | None | dname:VK_USE_PLATFORM_MACOS_MVK
endif::VK_MVK_macos_surface[]
ifdef::VK_NN_vi_surface[]
| `<<VK_NN_vi_surface>>` | VI | `vulkan_vi.h` | None | dname:VK_USE_PLATFORM_VI_NN
| `<<VK_NN_vi_surface>>` | VI | `vulkan_vi.h` | None | dname:VK_USE_PLATFORM_VI_NN
endif::VK_NN_vi_surface[]
ifdef::VK_EXT_metal_surface[]
| `<<VK_EXT_metal_surface>>` | Metal on CoreAnimation | `vulkan_metal.h` | None | dname:VK_USE_PLATFORM_METAL_EXT
endif::VK_EXT_metal_surface[]
|====

[NOTE]
Expand Down
2 changes: 1 addition & 1 deletion appendices/glossary.txt
Expand Up @@ -939,7 +939,7 @@ Multi-planar::
A _multi-planar format_ (or "`planar format`") is an image format
consisting of more than one _plane_, identifiable with a etext:_2PLANE
or etext:_3PLANE component to the format name and listed in
<<features-formats-requiring-sampler-ycbcr-conversion>>.
<<formats-requiring-sampler-ycbcr-conversion>>.
A _multi-planar image_ (or "`planar image`") is an image of a
multi-planar format.
endif::VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion[]
Expand Down

0 comments on commit 35e7bee

Please sign in to comment.