Skip to content
Permalink
Browse files

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 35e7bee5f0f50b7c1634cd205ded035acea43ad9
Showing with 11,253 additions and 9,355 deletions.
  1. +56 −8 ChangeLog.txt
  2. +1 −1 Makefile
  3. +43 −0 appendices/VK_EXT_metal_surface.txt
  4. +37 −0 appendices/VK_EXT_ycbcr_image_arrays.txt
  5. +2 −2 appendices/VK_KHR_shader_draw_parameters.txt
  6. +1 −1 appendices/VK_KHR_variable_pointers.txt
  7. +2 −2 appendices/VK_MVK_ios_surface.txt
  8. +1 −1 appendices/VK_MVK_macos_surface.txt
  9. +42 −0 appendices/VK_NVX_image_view_handle.txt
  10. +11 −8 appendices/boilerplate.txt
  11. +1 −1 appendices/glossary.txt
  12. +107 −108 appendices/spirvenv.txt
  13. +2 −3 appendices/versions.txt
  14. +4 −6 chapters/VK_EXT_blend_operation_advanced/advanced_blend.txt
  15. +54 −0 chapters/VK_EXT_metal_surface/platformCreateSurface_metal.txt
  16. +7 −0 chapters/VK_EXT_metal_surface/platformQuerySupport_metal.txt
  17. +1 −1 chapters/VK_GOOGLE_display_timing/queries.txt
  18. +3 −0 chapters/VK_KHR_surface/wsi.txt
  19. +2 −2 chapters/VK_MVK_ios_surface/platformCreateSurface_ios.txt
  20. +2 −2 chapters/VK_MVK_macos_surface/platformCreateSurface_macos.txt
  21. +32 −32 chapters/VK_NV_mesh_shader/drawing.txt
  22. +10 −10 chapters/VK_NV_ray_tracing/raytracing.txt
  23. +1,533 −0 chapters/capabilities.txt
  24. +4 −5 chapters/clears.txt
  25. +20 −21 chapters/cmdbuffers.txt
  26. +89 −99 chapters/copies.txt
  27. +21 −22 chapters/descriptorsets.txt
  28. +2 −2 chapters/devsandqueues.txt
  29. +20 −20 chapters/dispatch.txt
  30. +352 −295 chapters/drawing.txt
  31. +1 −1 chapters/extensions.txt
  32. +329 −7,831 chapters/features.txt
  33. +3,127 −0 chapters/formats.txt
  34. +14 −14 chapters/fragops.txt
  35. +15 −16 chapters/framebuffer.txt
  36. +2 −2 chapters/fundamentals.txt
  37. +4 −4 chapters/fxvertex.txt
  38. +55 −84 chapters/geometry.txt
  39. +3 −3 chapters/interfaces.txt
  40. +2,746 −0 chapters/limits.txt
  41. +17 −3 chapters/memory.txt
  42. +12 −12 chapters/pipelines.txt
  43. +36 −38 chapters/primsrast.txt
  44. +10 −10 chapters/queries.txt
  45. +38 −39 chapters/renderpass.txt
  46. +196 −143 chapters/resources.txt
  47. +9 −9 chapters/samplers.txt
  48. +4 −5 chapters/shaders.txt
  49. +24 −24 chapters/sparsemem.txt
  50. +74 −56 chapters/synchronization.txt
  51. +58 −44 chapters/tessellation.txt
  52. +13 −16 chapters/textures.txt
  53. +50 −54 chapters/vertexpostproc.txt
  54. +88 −0 images/primitive_topology_key_adjacency_edge.svg
  55. +88 −0 images/primitive_topology_key_edge.svg
  56. +115 −0 images/primitive_topology_key_provoking_vertex.svg
  57. +89 −0 images/primitive_topology_key_vertex.svg
  58. +94 −0 images/primitive_topology_key_vertex_number.svg
  59. +152 −0 images/primitive_topology_key_winding_order.svg
  60. +72 −21 images/primitive_topology_line_list.svg
  61. +72 −21 images/primitive_topology_line_list_with_adjacency.svg
  62. +103 −27 images/primitive_topology_line_strip.svg
  63. +103 −27 images/primitive_topology_line_strip_with_adjacency.svg
  64. +9 −9 images/primitive_topology_point_list.svg
  65. +108 −33 images/primitive_topology_triangle_fan.svg
  66. +71 −21 images/primitive_topology_triangle_list.svg
  67. +67 −18 images/primitive_topology_triangle_list_with_adjacency.svg
  68. +101 −26 images/primitive_topology_triangle_strip.svg
  69. +426 −74 images/primitive_topology_triangle_strip_with_adjacency.svg
  70. +3 −0 include/vulkan/vulkan.h
  71. +37 −1 include/vulkan/vulkan_core.h
  72. +66 −0 include/vulkan/vulkan_metal.h
  73. +1 −1 reflow_count.py
  74. +7 −1 vkspec.txt
  75. +2 −1 xml/Makefile
  76. +1 −0 xml/genvk.py
  77. +79 −14 xml/vk.xml
@@ -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.
@@ -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).
@@ -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:
@@ -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).
@@ -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
@@ -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:

@@ -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
@@ -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
@@ -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
@@ -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

@@ -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

@@ -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.
@@ -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

@@ -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
@@ -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
@@ -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]
@@ -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[]

0 comments on commit 35e7bee

Please sign in to comment.
You can’t perform that action at this time.