From 72254079510ec0616b711a570d83a6f1476ebc97 Mon Sep 17 00:00:00 2001 From: Jon Leech Date: Sun, 6 Sep 2020 19:44:28 -0700 Subject: [PATCH] Change log for September 7, 2020 Vulkan 1.2.153 spec update: * Update release number to 153 for this update. Github Issues: * Specification default branch for updates and PRs is now `main` instead of `master`. `master` branch still exists, but is frozen at the 1.2.152 level. If you are pulling content from this repository, please switch from `master` to `main` branch (internal issue 1351). * Fix slink:VkSubpassDependency2 link from slink:VkRenderPassCreateInfo2 (public issue 1358). Internal Issues: * Add developer documentation to the appendices for `<>`, `<>`, `<>`, `<>`, `<>`, `<>` (internal issue 2109). * Implement VUID expander treeprocessor plugin to make VUID text visible and searchable in generated outputs (internal issue 2253, 2258). * Clarify when acceleration structures can be indexed dynamically in the <> section (internal issue 2316). * Add missing valid usage statement for flink:vkImportFenceWin32HandleKHR (internal merge request 4087). * Replace badly formatted VUID for `<>` (internal merge request 4096). * Add ray tracing acceleration structures to the lists of objects where appropriate in the <> section (internal merge request 4100). * Move GLSL and SPIR-V extension references in the extension appendices into the "`Interactions and External Dependencies`" sections (internal merge request 3969). --- ChangeLog.txt | 41 +++++++++- Makefile | 9 ++- appendices/VK_AMD_gcn_shader.txt | 3 + appendices/VK_AMD_gpu_shader_half_float.txt | 5 +- appendices/VK_AMD_gpu_shader_int16.txt | 3 +- appendices/VK_AMD_shader_ballot.txt | 3 + ...K_AMD_shader_explicit_vertex_parameter.txt | 3 + appendices/VK_AMD_shader_fragment_mask.txt | 5 +- .../VK_AMD_shader_image_load_store_lod.txt | 6 +- appendices/VK_AMD_shader_trinary_minmax.txt | 3 + appendices/VK_AMD_texture_gather_bias_lod.txt | 3 +- appendices/VK_EXT_buffer_device_address.txt | 3 + .../VK_EXT_conservative_rasterization.txt | 14 ++-- appendices/VK_EXT_fragment_density_map.txt | 3 +- .../VK_EXT_fragment_shader_interlock.txt | 8 +- appendices/VK_EXT_memory_budget.txt | 22 +++++- appendices/VK_EXT_post_depth_coverage.txt | 8 +- appendices/VK_EXT_shader_atomic_float.txt | 6 +- ...EXT_shader_demote_to_helper_invocation.txt | 3 + appendices/VK_EXT_shader_stencil_export.txt | 5 +- appendices/VK_EXT_shader_subgroup_ballot.txt | 8 +- appendices/VK_EXT_shader_subgroup_vote.txt | 8 +- .../VK_EXT_shader_viewport_index_layer.txt | 9 +-- appendices/VK_GOOGLE_decorate_string.txt | 3 +- appendices/VK_GOOGLE_hlsl_functionality1.txt | 3 +- appendices/VK_GOOGLE_user_type.txt | 3 +- appendices/VK_KHR_16bit_storage.txt | 4 +- appendices/VK_KHR_8bit_storage.txt | 7 +- appendices/VK_KHR_buffer_device_address.txt | 74 ++++++++++++++++++- appendices/VK_KHR_depth_stencil_resolve.txt | 37 +++++++++- appendices/VK_KHR_draw_indirect_count.txt | 7 +- appendices/VK_KHR_multiview.txt | 38 ++++++++-- appendices/VK_KHR_ray_tracing.txt | 6 +- .../VK_KHR_sampler_ycbcr_conversion.txt | 13 +++- appendices/VK_KHR_shader_atomic_int64.txt | 5 +- appendices/VK_KHR_shader_clock.txt | 6 +- appendices/VK_KHR_shader_draw_parameters.txt | 6 +- appendices/VK_KHR_shader_float16_int8.txt | 7 +- appendices/VK_KHR_shader_float_controls.txt | 5 +- .../VK_KHR_shader_non_semantic_info.txt | 3 +- .../VK_KHR_shader_subgroup_extended_types.txt | 2 + .../VK_KHR_storage_buffer_storage_class.txt | 3 +- appendices/VK_KHR_variable_pointers.txt | 3 +- .../VK_NVX_multiview_per_view_attributes.txt | 7 +- .../VK_NV_compute_shader_derivatives.txt | 5 ++ appendices/VK_NV_cooperative_matrix.txt | 5 ++ .../VK_NV_fragment_shader_barycentric.txt | 7 +- .../VK_NV_geometry_shader_passthrough.txt | 6 +- appendices/VK_NV_mesh_shader.txt | 5 ++ appendices/VK_NV_ray_tracing.txt | 8 +- .../VK_NV_sample_mask_override_coverage.txt | 6 +- appendices/VK_NV_shader_image_footprint.txt | 5 ++ .../VK_NV_shader_subgroup_partitioned.txt | 5 ++ appendices/VK_NV_shading_rate_image.txt | 5 ++ appendices/VK_NV_viewport_array2.txt | 8 +- appendices/spirvenv.txt | 2 +- chapters/VK_KHR_swapchain/wsi.txt | 2 +- chapters/copies.txt | 2 +- chapters/fundamentals.txt | 12 +++ chapters/interfaces.txt | 3 +- chapters/renderpass.txt | 2 +- chapters/synchronization.txt | 7 ++ config/spec-macros.rb | 1 - config/spec-macros/extension.rb | 9 --- config/vuid-expander.rb | 22 ++++-- xml/vk.xml | 3 +- 66 files changed, 386 insertions(+), 167 deletions(-) diff --git a/ChangeLog.txt b/ChangeLog.txt index 0a8b4d0a61..39838af266 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -1,5 +1,4 @@ -Copyright (c) 2016-2020 The Khronos Group Inc. - +Copyright 2016-2020 The Khronos Group Inc. SPDX-License-Identifier: CC-BY-4.0 Update Log for the Vulkan-Docs repository on Github. Updates are in reverse @@ -12,6 +11,44 @@ public pull requests that have been accepted. ----------------------------------------------------- +Change log for September 7, 2020 Vulkan 1.2.153 spec update: + + * Update release number to 153 for this update. + +Github Issues: + + * Specification default branch for updates and PRs is now `main` instead + of `master`. `master` branch still exists, but is frozen at the 1.2.152 + level. If you are pulling content from this repository, please switch + from `master` to `main` branch (internal issue 1351). + * Fix slink:VkSubpassDependency2 link from slink:VkRenderPassCreateInfo2 + (public issue 1358). + +Internal Issues: + + * Add developer documentation to the appendices for + `<>`, `<>`, + `<>`, `<>`, + `<>`, `<>` (internal + issue 2109). + * Implement VUID expander treeprocessor plugin to make VUID text visible + and searchable in generated outputs (internal issue 2253, 2258). + * Clarify when acceleration structures can be indexed dynamically in the + <> section + (internal issue 2316). + * Add missing valid usage statement for flink:vkImportFenceWin32HandleKHR + (internal merge request 4087). + * Replace badly formatted VUID for `<>` + (internal merge request 4096). + * Add ray tracing acceleration structures to the lists of objects where + appropriate in the <> section (internal merge request 4100). + * Move GLSL and SPIR-V extension references in the extension appendices + into the "`Interactions and External Dependencies`" sections (internal + merge request 3969). + +----------------------------------------------------- + Change log for August 26, 2020 Vulkan 1.2.152 spec update: * Update release number to 152 for this update. diff --git a/Makefile b/Makefile index 39c2ef0d73..3c76470e7c 100644 --- a/Makefile +++ b/Makefile @@ -109,7 +109,7 @@ VERBOSE = # ADOCOPTS options for asciidoc->HTML5 output NOTEOPTS = -a editing-notes -a implementation-guide -PATCHVERSION = 152 +PATCHVERSION = 153 ifneq (,$(findstring VK_VERSION_1_2,$(VERSIONS))) SPECREVISION = 1.2.$(PATCHVERSION) else @@ -164,7 +164,7 @@ ADOCMISCOPTS = --failure-level ERROR ADOCEXTS = -r $(CURDIR)/config/spec-macros.rb -r $(CURDIR)/config/tilde_open_block.rb ADOCOPTS = -d book $(ADOCMISCOPTS) $(ATTRIBOPTS) $(NOTEOPTS) $(VERBOSE) $(ADOCEXTS) -ADOCHTMLEXTS = -r $(CURDIR)/config/katex_replace.rb -r $(CURDIR)/config/loadable_html.rb +ADOCHTMLEXTS = -r $(CURDIR)/config/katex_replace.rb -r $(CURDIR)/config/loadable_html.rb -r $(CURDIR)/config/vuid-expander.rb # ADOCHTMLOPTS relies on the relative runtime path from the output HTML # file to the katex scripts being set with KATEXDIR. This is overridden @@ -178,7 +178,8 @@ ADOCHTMLOPTS = $(ADOCHTMLEXTS) -a katexpath=$(KATEXDIR) \ -a sectanchors ADOCPDFEXTS = -r asciidoctor-pdf -r asciidoctor-mathematical \ - -r $(CURDIR)/config/asciidoctor-mathematical-ext.rb + -r $(CURDIR)/config/asciidoctor-mathematical-ext.rb \ + -r $(CURDIR)/config/vuid-expander.rb ADOCPDFOPTS = $(ADOCPDFEXTS) -a mathematical-format=svg \ -a imagesoutdir=$(PDFMATHDIR) \ -a pdf-stylesdir=config/themes -a pdf-style=pdf @@ -235,7 +236,7 @@ $(OUTDIR)/$(KATEXDIR): $(KATEXSRCDIR) # There is some complexity to try and avoid short virtual targets like 'html' # causing specs to *always* be regenerated. ROSWELL = ros -ROSWELLOPTS ?= dynamic-space-size=4000 +ROSWELLOPTS ?= dynamic-space-size=5000 CHUNKER = $(HOME)/common-lisp/asciidoctor-chunker/roswell/asciidoctor-chunker.ros CHUNKINDEX = $(CURDIR)/config/chunkindex # Only the $(ROSWELL) step is required unless the search index is to be diff --git a/appendices/VK_AMD_gcn_shader.txt b/appendices/VK_AMD_gcn_shader.txt index 441ba97682..044819a65b 100644 --- a/appendices/VK_AMD_gcn_shader.txt +++ b/appendices/VK_AMD_gcn_shader.txt @@ -10,6 +10,9 @@ include::{generated}/meta/{refprefix}VK_AMD_gcn_shader.txt[] 2016-05-30 *IP Status*:: No known IP claims. +*Interactions and External Dependencies*:: + - This extension requires + {spirv}/AMD/SPV_AMD_gcn_shader.html[`SPV_AMD_gcn_shader`] *Contributors*:: - Dominik Witczak, AMD - Daniel Rakos, AMD diff --git a/appendices/VK_AMD_gpu_shader_half_float.txt b/appendices/VK_AMD_gpu_shader_half_float.txt index f5bbe333fb..e2b23b1b74 100644 --- a/appendices/VK_AMD_gpu_shader_half_float.txt +++ b/appendices/VK_AMD_gpu_shader_half_float.txt @@ -10,6 +10,9 @@ include::{generated}/meta/{refprefix}VK_AMD_gpu_shader_half_float.txt[] 2019-04-11 *IP Status*:: No known IP claims. +*Interactions and External Dependencies*:: + - This extension requires + {spirv}/AMD/SPV_AMD_gpu_shader_half_float.html[`SPV_AMD_gpu_shader_half_float`] *Contributors*:: - Daniel Rakos, AMD - Dominik Witczak, AMD @@ -17,8 +20,6 @@ include::{generated}/meta/{refprefix}VK_AMD_gpu_shader_half_float.txt[] - Graham Sellers, AMD - Qun Lin, AMD - Rex Xu, AMD -*External Dependencies*:: - - {spirv}/AMD/SPV_AMD_gpu_shader_half_float.html[`SPV_AMD_gpu_shader_half_float`] === Description diff --git a/appendices/VK_AMD_gpu_shader_int16.txt b/appendices/VK_AMD_gpu_shader_int16.txt index cf0f877e7c..21bc2cf06a 100644 --- a/appendices/VK_AMD_gpu_shader_int16.txt +++ b/appendices/VK_AMD_gpu_shader_int16.txt @@ -11,9 +11,8 @@ include::{generated}/meta/{refprefix}VK_AMD_gpu_shader_int16.txt[] *IP Status*:: No known IP claims. *Interactions and External Dependencies*:: - - Requires the + - This extension requires {spirv}/AMD/SPV_AMD_gpu_shader_int16.html[`SPV_AMD_gpu_shader_int16`] - SPIR-V extension. *Contributors*:: - Daniel Rakos, AMD - Dominik Witczak, AMD diff --git a/appendices/VK_AMD_shader_ballot.txt b/appendices/VK_AMD_shader_ballot.txt index 35c4ee24ad..812e3e64da 100644 --- a/appendices/VK_AMD_shader_ballot.txt +++ b/appendices/VK_AMD_shader_ballot.txt @@ -10,6 +10,9 @@ include::{generated}/meta/{refprefix}VK_AMD_shader_ballot.txt[] 2016-09-19 *IP Status*:: No known IP claims. +*Interactions and External Dependencies*:: + - This extension requires + {spirv}/AMD/SPV_AMD_shader_ballot.html[`SPV_AMD_shader_ballot`] *Contributors*:: - Qun Lin, AMD - Graham Sellers, AMD diff --git a/appendices/VK_AMD_shader_explicit_vertex_parameter.txt b/appendices/VK_AMD_shader_explicit_vertex_parameter.txt index 01427a4dcb..69b8b84963 100644 --- a/appendices/VK_AMD_shader_explicit_vertex_parameter.txt +++ b/appendices/VK_AMD_shader_explicit_vertex_parameter.txt @@ -10,6 +10,9 @@ include::{generated}/meta/{refprefix}VK_AMD_shader_explicit_vertex_parameter.txt 2016-05-10 *IP Status*:: No known IP claims. +*Interactions and External Dependencies*:: + - This extension requires + {spirv}/AMD/SPV_AMD_shader_explicit_vertex_parameter.html[`SPV_AMD_shader_explicit_vertex_parameter`] *Contributors*:: - Matthaeus G. Chajdas, AMD - Qun Lin, AMD diff --git a/appendices/VK_AMD_shader_fragment_mask.txt b/appendices/VK_AMD_shader_fragment_mask.txt index f68762d838..9215767a1c 100644 --- a/appendices/VK_AMD_shader_fragment_mask.txt +++ b/appendices/VK_AMD_shader_fragment_mask.txt @@ -10,10 +10,9 @@ include::{generated}/meta/{refprefix}VK_AMD_shader_fragment_mask.txt[] 2017-08-16 *IP Status*:: No known IP claims. -*Dependencies*:: - - Requires the +*Interactions and External Dependencies*:: + - This extension requires {spirv}/AMD/SPV_AMD_shader_fragment_mask.html[`SPV_AMD_shader_fragment_mask`] - SPIR-V extension. *Contributors*:: - Aaron Hagan, AMD - Daniel Rakos, AMD diff --git a/appendices/VK_AMD_shader_image_load_store_lod.txt b/appendices/VK_AMD_shader_image_load_store_lod.txt index 1df06f3902..65f4de6864 100644 --- a/appendices/VK_AMD_shader_image_load_store_lod.txt +++ b/appendices/VK_AMD_shader_image_load_store_lod.txt @@ -9,12 +9,10 @@ include::{generated}/meta/{refprefix}VK_AMD_shader_image_load_store_lod.txt[] *Last Modified Date*:: 2017-08-21 *Interactions and External Dependencies*:: - - This extension requires the - {spirv}/AMD/SPV_AMD_shader_image_load_store_lod.html[`SPV_AMD_shader_image_load_store_lod`] - SPIR-V extension. - This extension requires + {spirv}/AMD/SPV_AMD_shader_image_load_store_lod.html[`SPV_AMD_shader_image_load_store_lod`] + - This extension provides API support for 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*:: diff --git a/appendices/VK_AMD_shader_trinary_minmax.txt b/appendices/VK_AMD_shader_trinary_minmax.txt index a75417e198..9efaf08c92 100644 --- a/appendices/VK_AMD_shader_trinary_minmax.txt +++ b/appendices/VK_AMD_shader_trinary_minmax.txt @@ -10,6 +10,9 @@ include::{generated}/meta/{refprefix}VK_AMD_shader_trinary_minmax.txt[] 2016-05-10 *IP Status*:: No known IP claims. +*Interactions and External Dependencies*:: + - This extension requires + {spirv}/AMD/SPV_AMD_shader_trinary_minmax.html[`SPV_AMD_shader_trinary_minmax`] *Contributors*:: - Matthaeus G. Chajdas, AMD - Qun Lin, AMD diff --git a/appendices/VK_AMD_texture_gather_bias_lod.txt b/appendices/VK_AMD_texture_gather_bias_lod.txt index 34e4eb65e9..0d4582055a 100644 --- a/appendices/VK_AMD_texture_gather_bias_lod.txt +++ b/appendices/VK_AMD_texture_gather_bias_lod.txt @@ -11,9 +11,8 @@ include::{generated}/meta/{refprefix}VK_AMD_texture_gather_bias_lod.txt[] *IP Status*:: No known IP claims. *Interactions and External Dependencies*:: - - Requires the + - This extension requires {spirv}/AMD/SPV_AMD_texture_gather_bias_lod.html[`SPV_AMD_texture_gather_bias_lod`] - SPIR-V extension. *Contributors*:: - Dominik Witczak, AMD - Daniel Rakos, AMD diff --git a/appendices/VK_EXT_buffer_device_address.txt b/appendices/VK_EXT_buffer_device_address.txt index 876e2061df..1e782d7877 100644 --- a/appendices/VK_EXT_buffer_device_address.txt +++ b/appendices/VK_EXT_buffer_device_address.txt @@ -10,6 +10,9 @@ include::{generated}/meta/{refprefix}VK_EXT_buffer_device_address.txt[] 2019-01-06 *IP Status*:: No known IP claims. +*Interactions and External Dependencies*:: + - This extension requires + {spirv}/EXT/SPV_EXT_physical_storage_buffer.html[`SPV_EXT_physical_storage_buffer`] *Contributors*:: - Jeff Bolz, NVIDIA - Neil Henning, AMD diff --git a/appendices/VK_EXT_conservative_rasterization.txt b/appendices/VK_EXT_conservative_rasterization.txt index 3120e2cb9d..c763384cd0 100644 --- a/appendices/VK_EXT_conservative_rasterization.txt +++ b/appendices/VK_EXT_conservative_rasterization.txt @@ -9,19 +9,19 @@ include::{generated}/meta/{refprefix}VK_EXT_conservative_rasterization.txt[] *Last Modified Date*:: 2020-06-09 *Interactions and External Dependencies*:: - - This extension requires the + - This extension requires {spirv}/EXT/SPV_EXT_fragment_fully_covered.html[`SPV_EXT_fragment_fully_covered`] - SPIR-V extension if the + if the sname:VkPhysicalDeviceConservativeRasterizationPropertiesEXT::pname:fullyCoveredFragmentShaderInputVariable feature is used. - - This extension requires the - {spirv}/KHR/SPV_KHR_post_depth_coverage.html[`SPV_KHR_post_depth_coverage`] - SPIR-V extension if the + - This extension requires + {spirv}/KHR/SPV_KHR_post_depth_coverage.html[`SPV_KHR_post_depth_coverage`]if + the sname:VkPhysicalDeviceConservativeRasterizationPropertiesEXT::pname:conservativeRasterizationPostDepthCoverage feature is used. - - This extension requires + - This extension provides API support for https://www.khronos.org/registry/OpenGL/extensions/NV/NV_conservative_raster_underestimation.txt[`GL_NV_conservative_raster_underestimation`] - for GLSL-based source languages if the + if the sname:VkPhysicalDeviceConservativeRasterizationPropertiesEXT::pname:fullyCoveredFragmentShaderInputVariable feature is used. *Contributors*:: diff --git a/appendices/VK_EXT_fragment_density_map.txt b/appendices/VK_EXT_fragment_density_map.txt index ea1ae572c7..d49657ea63 100644 --- a/appendices/VK_EXT_fragment_density_map.txt +++ b/appendices/VK_EXT_fragment_density_map.txt @@ -9,9 +9,8 @@ include::{generated}/meta/{refprefix}VK_EXT_fragment_density_map.txt[] *Last Modified Date*:: 2018-09-25 *Interactions and External Dependencies*:: - - This extension requires the + - This extension requires {spirv}/EXT/SPV_EXT_fragment_invocation_density.html[`SPV_EXT_fragment_invocation_density`] - SPIR-V extension. *Contributors*:: - Matthew Netsch, Qualcomm Technologies, Inc. - Robert VanReenen, Qualcomm Technologies, Inc. diff --git a/appendices/VK_EXT_fragment_shader_interlock.txt b/appendices/VK_EXT_fragment_shader_interlock.txt index adf33cd018..839037df1f 100644 --- a/appendices/VK_EXT_fragment_shader_interlock.txt +++ b/appendices/VK_EXT_fragment_shader_interlock.txt @@ -9,12 +9,10 @@ include::{generated}/meta/{refprefix}VK_EXT_fragment_shader_interlock.txt[] *Last Modified Date*:: 2019-05-02 *Interactions and External Dependencies*:: - - This extension requires the + - This extension requires {spirv}/EXT/SPV_EXT_fragment_shader_interlock.html[`SPV_EXT_fragment_shader_interlock`] - SPIR-V extension. - - This extension requires the - https://www.khronos.org/registry/OpenGL/extensions/ARB/ARB_fragment_shader_interlock.txt[`GL_ARB_fragment_shader_interlock`], - extensions for GLSL source languages. + - This extension provides API support for + https://www.khronos.org/registry/OpenGL/extensions/ARB/ARB_fragment_shader_interlock.txt[`GL_ARB_fragment_shader_interlock`] *Contributors*:: - Daniel Koch, NVIDIA - Graeme Leese, Broadcom diff --git a/appendices/VK_EXT_memory_budget.txt b/appendices/VK_EXT_memory_budget.txt index e2952122fa..b4d265202f 100644 --- a/appendices/VK_EXT_memory_budget.txt +++ b/appendices/VK_EXT_memory_budget.txt @@ -14,21 +14,35 @@ include::{generated}/meta/{refprefix}VK_EXT_memory_budget.txt[] === Description +While running a Vulkan application, other processes on the machine might +also be attempting to use the same device memory, which can pose problems. This extension adds support for querying the amount of memory used and the total memory budget for a memory heap. The values returned by this query are implementation-dependent and can depend on a variety of factors including operating system and system load. -The pname:heapBudget values can be used as a guideline for how much total -memory from each heap the process can use at any given time, before -allocations may start failing or causing performance degradation. +The slink:VkPhysicalDeviceMemoryBudgetPropertiesEXT::pname:heapBudget values +can be used as a guideline for how much total memory from each heap the +**current process** can use at any given time, before allocations may start +failing or causing performance degradation. The values may change based on other activity in the system that is outside the scope and control of the Vulkan implementation. +The slink:VkPhysicalDeviceMemoryBudgetPropertiesEXT::pname:heapUsage will +display the **current process** estimated heap usage. + +With this information, the idea is for an application at some interval (once +per frame, per few seconds, etc) to query pname:heapBudget and +pname:heapUsage. +From here the application can notice if it is over budget and decide how it +wants to handle the memory situation (free it, move to host memory, changing +mipmap levels, etc). +This extension is designed to be used in concert with +<> to help with this part of memory management. + include::{generated}/interfaces/VK_EXT_memory_budget.txt[] === Version History * Revision 1, 2018-10-08 (Jeff Bolz) - Initial revision - diff --git a/appendices/VK_EXT_post_depth_coverage.txt b/appendices/VK_EXT_post_depth_coverage.txt index f9fb7638c3..51829059b7 100644 --- a/appendices/VK_EXT_post_depth_coverage.txt +++ b/appendices/VK_EXT_post_depth_coverage.txt @@ -9,14 +9,12 @@ include::{generated}/meta/{refprefix}VK_EXT_post_depth_coverage.txt[] *Last Modified Date*:: 2017-07-17 *Interactions and External Dependencies*:: - - This extension requires the - {spirv}/KHR/SPV_KHR_post_depth_coverage.html[`SPV_KHR_post_depth_coverage`] - SPIR-V extension. - This extension requires + {spirv}/KHR/SPV_KHR_post_depth_coverage.html[`SPV_KHR_post_depth_coverage`] + - This extension provides API support for https://www.khronos.org/registry/OpenGL/extensions/ARB/ARB_post_depth_coverage.txt[`GL_ARB_post_depth_coverage`] - or + and https://www.khronos.org/registry/OpenGL/extensions/EXT/EXT_post_depth_coverage.txt[`GL_EXT_post_depth_coverage`] - for GLSL-based source languages. *Contributors*:: - Jeff Bolz, NVIDIA diff --git a/appendices/VK_EXT_shader_atomic_float.txt b/appendices/VK_EXT_shader_atomic_float.txt index ef978ea051..6695024673 100755 --- a/appendices/VK_EXT_shader_atomic_float.txt +++ b/appendices/VK_EXT_shader_atomic_float.txt @@ -11,12 +11,10 @@ include::{generated}/meta/{refprefix}VK_EXT_shader_atomic_float.txt[] *IP Status*:: No known IP claims. *Interactions and External Dependencies*:: - - This extension requires the + - This extension requires {spirv}/EXT/SPV_EXT_shader_atomic_float_add.html[`SPV_EXT_shader_atomic_float_add`] - SPIR-V extension. - - This extension provides API support for the + - This extension provides API support for https://github.com/KhronosGroup/GLSL/tree/master/extensions/ext/GLSL_EXT_shader_atomic_float.txt[`GL_EXT_shader_atomic_float`] - extension for GLSL-based source languages. *Contributors*:: - Vikram Kushwaha, NVIDIA - Jeff Bolz, NVIDIA diff --git a/appendices/VK_EXT_shader_demote_to_helper_invocation.txt b/appendices/VK_EXT_shader_demote_to_helper_invocation.txt index cc27aea918..2d4ab0cc78 100644 --- a/appendices/VK_EXT_shader_demote_to_helper_invocation.txt +++ b/appendices/VK_EXT_shader_demote_to_helper_invocation.txt @@ -10,6 +10,9 @@ include::{generated}/meta/{refprefix}VK_EXT_shader_demote_to_helper_invocation.t 2019-06-01 *IP Status*:: No known IP claims. +*Interactions and External Dependencies*:: + - This extension requires + {spirv}/EXT/SPV_EXT_demote_to_helper_invocation.html[`SPV_EXT_demote_to_helper_invocation`] *Contributors*:: - Jeff Bolz, NVIDIA diff --git a/appendices/VK_EXT_shader_stencil_export.txt b/appendices/VK_EXT_shader_stencil_export.txt index 48d6dd3823..afbd12fe09 100644 --- a/appendices/VK_EXT_shader_stencil_export.txt +++ b/appendices/VK_EXT_shader_stencil_export.txt @@ -11,9 +11,10 @@ include::{generated}/meta/{refprefix}VK_EXT_shader_stencil_export.txt[] *IP Status*:: No known IP claims. *Interactions and External Dependencies*:: - - Requires the + - This extension requires {spirv}/EXT/SPV_EXT_shader_stencil_export.html[`SPV_EXT_shader_stencil_export`] - SPIR-V extension. + - This extension provides API support for + https://www.khronos.org/registry/OpenGL/extensions/ARB/ARB_shader_stencil_export.txt[`GL_ARB_shader_stencil_export`] *Contributors*:: - Dominik Witczak, AMD - Daniel Rakos, AMD diff --git a/appendices/VK_EXT_shader_subgroup_ballot.txt b/appendices/VK_EXT_shader_subgroup_ballot.txt index e387725acf..bd6e65136b 100644 --- a/appendices/VK_EXT_shader_subgroup_ballot.txt +++ b/appendices/VK_EXT_shader_subgroup_ballot.txt @@ -11,12 +11,10 @@ include::{generated}/meta/{refprefix}VK_EXT_shader_subgroup_ballot.txt[] *IP Status*:: No known IP claims. *Interactions and External Dependencies*:: - - This extension requires the - {spirv}/KHR/SPV_KHR_shader_ballot.html[`SPV_KHR_shader_ballot`] SPIR-V - extension. - - This extension requires the + - This extension requires + {spirv}/KHR/SPV_KHR_shader_ballot.html[`SPV_KHR_shader_ballot`] + - This extension provides API support for https://www.khronos.org/registry/OpenGL/extensions/ARB/ARB_shader_ballot.txt[`GL_ARB_shader_ballot`] - extension for GLSL source languages. *Contributors*:: - Jeff Bolz, NVIDIA - Neil Henning, Codeplay diff --git a/appendices/VK_EXT_shader_subgroup_vote.txt b/appendices/VK_EXT_shader_subgroup_vote.txt index 5a5257c8c7..0045c78a12 100644 --- a/appendices/VK_EXT_shader_subgroup_vote.txt +++ b/appendices/VK_EXT_shader_subgroup_vote.txt @@ -11,12 +11,10 @@ include::{generated}/meta/{refprefix}VK_EXT_shader_subgroup_vote.txt[] *IP Status*:: No known IP claims. *Interactions and External Dependencies*:: - - This extension requires the - {spirv}/KHR/SPV_KHR_subgroup_vote.html[`SPV_KHR_subgroup_vote`] SPIR-V - extension. - - This extension requires the + - This extension requires + {spirv}/KHR/SPV_KHR_subgroup_vote.html[`SPV_KHR_subgroup_vote`] + - This extension provides API support for https://www.khronos.org/registry/OpenGL/extensions/ARB/ARB_shader_group_vote.txt[`GL_ARB_shader_group_vote`] - extension for GLSL source languages. *Contributors*:: - Neil Henning, Codeplay - Daniel Koch, NVIDIA Corporation diff --git a/appendices/VK_EXT_shader_viewport_index_layer.txt b/appendices/VK_EXT_shader_viewport_index_layer.txt index 8952354786..2b3193f95f 100644 --- a/appendices/VK_EXT_shader_viewport_index_layer.txt +++ b/appendices/VK_EXT_shader_viewport_index_layer.txt @@ -10,17 +10,14 @@ include::{generated}/meta/{refprefix}VK_EXT_shader_viewport_index_layer.txt[] 2017-08-08 *Interactions and External Dependencies*:: - Promoted to Vulkan 1.2 Core -*Interactions and External Dependencies*:: - - This extension requires the + - This extension requires {spirv}/EXT/SPV_EXT_shader_viewport_index_layer.html[`SPV_EXT_shader_viewport_index_layer`] - SPIR-V extension. - - This extension requires the + - This extension provides API support for https://www.khronos.org/registry/OpenGL/extensions/ARB/ARB_shader_viewport_layer_array.txt[`GL_ARB_shader_viewport_layer_array`], https://www.khronos.org/registry/OpenGL/extensions/AMD/AMD_vertex_shader_layer.txt[`GL_AMD_vertex_shader_layer`], https://www.khronos.org/registry/OpenGL/extensions/AMD/AMD_vertex_shader_viewport_index.txt[`GL_AMD_vertex_shader_viewport_index`], - or + and https://www.khronos.org/registry/OpenGL/extensions/NV/NV_viewport_array2.txt[`GL_NV_viewport_array2`] - extensions for GLSL source languages. - This extension requires the pname:multiViewport feature. - This extension interacts with the pname:tessellationShader feature. *Contributors*:: diff --git a/appendices/VK_GOOGLE_decorate_string.txt b/appendices/VK_GOOGLE_decorate_string.txt index 63c11c3509..f6777a6df0 100644 --- a/appendices/VK_GOOGLE_decorate_string.txt +++ b/appendices/VK_GOOGLE_decorate_string.txt @@ -11,9 +11,8 @@ include::{generated}/meta/{refprefix}VK_GOOGLE_decorate_string.txt[] *IP Status*:: No known IP claims. *Interactions and External Dependencies*:: - - Requires the + - This extension requires {spirv}/GOOGLE/SPV_GOOGLE_decorate_string.html[`SPV_GOOGLE_decorate_string`] - SPIR-V extension. *Contributors*:: - Hai Nguyen, Google - Neil Henning, AMD diff --git a/appendices/VK_GOOGLE_hlsl_functionality1.txt b/appendices/VK_GOOGLE_hlsl_functionality1.txt index 6cdca0d62e..c8774b7414 100644 --- a/appendices/VK_GOOGLE_hlsl_functionality1.txt +++ b/appendices/VK_GOOGLE_hlsl_functionality1.txt @@ -11,9 +11,8 @@ include::{generated}/meta/{refprefix}VK_GOOGLE_hlsl_functionality1.txt[] *IP Status*:: No known IP claims. *Interactions and External Dependencies*:: - - Requires the + - This extension requires {spirv}/GOOGLE/SPV_GOOGLE_hlsl_functionality1.html[`SPV_GOOGLE_hlsl_functionality1`] - SPIR-V extension. *Contributors*:: - Hai Nguyen, Google - Neil Henning, AMD diff --git a/appendices/VK_GOOGLE_user_type.txt b/appendices/VK_GOOGLE_user_type.txt index 49b8536576..bfb6333130 100644 --- a/appendices/VK_GOOGLE_user_type.txt +++ b/appendices/VK_GOOGLE_user_type.txt @@ -11,9 +11,8 @@ include::{generated}/meta/{refprefix}VK_GOOGLE_user_type.txt[] *IP Status*:: No known IP claims. *Interactions and External Dependencies*:: - - Requires the + - This extension requires {spirv}/GOOGLE/SPV_GOOGLE_user_type.asciidoc[`SPV_GOOGLE_user_type`] - SPIR-V extension. *Contributors*:: - Kaye Mason, Google - Hai Nguyen, Google diff --git a/appendices/VK_KHR_16bit_storage.txt b/appendices/VK_KHR_16bit_storage.txt index a51d950e51..4f25ab6b54 100644 --- a/appendices/VK_KHR_16bit_storage.txt +++ b/appendices/VK_KHR_16bit_storage.txt @@ -11,9 +11,11 @@ include::{generated}/meta/{refprefix}VK_KHR_16bit_storage.txt[] *IP Status*:: No known IP claims. *Interactions and External Dependencies*:: + - Promoted to Vulkan 1.1 Core - This extension requires {spirv}/KHR/SPV_KHR_16bit_storage.html[`SPV_KHR_16bit_storage`] - - Promoted to Vulkan 1.1 Core + - This extension provides API support for + https://github.com/KhronosGroup/GLSL/blob/master/extensions/ext/GL_EXT_shader_16bit_storage.txt[`GL_EXT_shader_16bit_storage`] *Contributors*:: - Alexander Galazin, ARM - Jan-Harald Fredriksen, ARM diff --git a/appendices/VK_KHR_8bit_storage.txt b/appendices/VK_KHR_8bit_storage.txt index f066764892..2c39284e5e 100644 --- a/appendices/VK_KHR_8bit_storage.txt +++ b/appendices/VK_KHR_8bit_storage.txt @@ -10,11 +10,12 @@ include::{generated}/meta/{refprefix}VK_KHR_8bit_storage.txt[] 2018-02-05 *Interactions and External Dependencies*:: - Promoted to Vulkan 1.2 Core -*IP Status*:: - No known IP claims. -*Interactions and External Dependencies*:: - This extension requires {spirv}/KHR/SPV_KHR_8bit_storage.html[`SPV_KHR_8bit_storage`] + - This extension provides API support for + https://github.com/KhronosGroup/GLSL/blob/master/extensions/ext/GL_EXT_shader_16bit_storage.txt[`GL_EXT_shader_16bit_storage`] +*IP Status*:: + No known IP claims. *Contributors*:: - Alexander Galazin, Arm diff --git a/appendices/VK_KHR_buffer_device_address.txt b/appendices/VK_KHR_buffer_device_address.txt index fd2c37c929..2942f92a52 100644 --- a/appendices/VK_KHR_buffer_device_address.txt +++ b/appendices/VK_KHR_buffer_device_address.txt @@ -12,6 +12,14 @@ include::{generated}/meta/{refprefix}VK_KHR_buffer_device_address.txt[] No known IP claims. *Interactions and External Dependencies*:: - Promoted to Vulkan 1.2 Core + - This extension requires + {spirv}/KHR/SPV_KHR_physical_storage_buffer.html[`SPV_KHR_physical_storage_buffer`] + - This extension provides API support for + https://github.com/KhronosGroup/GLSL/blob/master/extensions/ext/GLSL_EXT_buffer_reference.txt[`GL_EXT_buffer_reference`] + and + https://github.com/KhronosGroup/GLSL/blob/master/extensions/ext/GLSL_EXT_buffer_reference2.txt[`GL_EXT_buffer_reference2`] + and + https://github.com/KhronosGroup/GLSL/blob/master/extensions/ext/GLSL_EXT_buffer_reference_uvec2.txt[`GL_EXT_buffer_reference_uvec2`] *Contributors*:: - Jeff Bolz, NVIDIA - Neil Henning, AMD @@ -30,13 +38,41 @@ GLSL extension and {spirv}/KHR/SPV_KHR_physical_storage_buffer.html[`SPV_KHR_physical_storage_buffer`] SPIR-V extension. -This extension also allows opaque addresses for buffers and memory objects -to be queried and later supplied by a trace capture and replay tool, so that -addresses used at replay time match the addresses used when the trace was -captured. +Another way to describe this extension is that it adds "pointers to buffer +memory in shaders". +By calling flink:vkGetBufferDeviceAddress with a sname:VkBuffer, it will +return a basetype:VkDeviceAddress value which represents the address of the +start of the buffer. + +flink:vkGetBufferOpaqueCaptureAddress and +flink:vkGetDeviceMemoryOpaqueCaptureAddress allow opaque addresses for +buffers and memory objects to be queried for the current process. +A trace capture and replay tool can then supply these addresses to be used +at replay time to match the addresses used when the trace was captured. To enable tools to insert these queries, new memory allocation flags must be specified for memory objects that will be bound to buffers accessed via the code:PhysicalStorageBuffer storage class. +Note that this mechanism is intended only to support capture/replay tools, +and is not recommended for use in other applications. + +There are various use cases this extension is designed for. +It is required for ray tracing, useful for DX12 portability, and by allowing +buffer addresses to be stored in memory it enables more complex data +structures to be created. + +This extension can also be used to hardcode a dedicated debug channel into +all shaders by querying a pointer at startup and pushing that into shaders +as a run-time constant (e.g. specialization constant) that avoids impacting +other descriptor limits. + +There are examples of usage in the +https://github.com/KhronosGroup/GLSL/blob/master/extensions/ext/GLSL_EXT_buffer_reference.txt[`GL_EXT_buffer_reference`] +spec for how to use this in a high-level shading language such as GLSL. +The +https://github.com/KhronosGroup/GLSL/blob/master/extensions/ext/GLSL_EXT_buffer_reference2.txt[`GL_EXT_buffer_reference2`] +and +https://github.com/KhronosGroup/GLSL/blob/master/extensions/ext/GLSL_EXT_buffer_reference_uvec2.txt[`GL_EXT_buffer_reference_uvec2`] +extensions were also added to help cover a few additional edge cases. === Promotion to Vulkan 1.2 @@ -57,3 +93,33 @@ include::{generated}/interfaces/VK_KHR_buffer_device_address.txt[] * Revision 1, 2019-06-24 (Jan-Harald Fredriksen) - Internal revisions based on VK_EXT_buffer_device_address + +ifdef::isrefpage[] + +=== Examples + +There are various use cases this extensions is designed for. +It's required for ray tracing, useful for DX12 portability, and it allows +storing buffer addresses in memory (enabling creating more complex data +strcutures). + +This extension can also be used to hardcode a dedicated debug channel into +all shaders without impacting other descriptor limits by querying a buffer +device address at startup and pushing that into shaders as a run-time +constant (e.g. specialization constant). + +There are examples of usage in the +https://github.com/KhronosGroup/GLSL/blob/master/extensions/ext/GLSL_EXT_buffer_reference.txt[`GL_EXT_buffer_reference`] +spec for how to use this in a high-level shading language such as GLSL. +The +https://github.com/KhronosGroup/GLSL/blob/master/extensions/ext/GLSL_EXT_buffer_reference2.txt[`GL_EXT_buffer_reference2`] +and +https://github.com/KhronosGroup/GLSL/blob/master/extensions/ext/GLSL_EXT_buffer_reference_uvec2.txt[`GL_EXT_buffer_reference_uvec2`] +extensions were added to help cover a few edge cases missed by the original +`GL_EXT_buffer_reference`. + +It is important to also be aware that the capture/replay mechanisms are +meant for capture/replay tools, and should not be used general application +usage. + +endif::isrefpage[] diff --git a/appendices/VK_KHR_depth_stencil_resolve.txt b/appendices/VK_KHR_depth_stencil_resolve.txt index 97663d01b0..e69b027276 100644 --- a/appendices/VK_KHR_depth_stencil_resolve.txt +++ b/appendices/VK_KHR_depth_stencil_resolve.txt @@ -6,11 +6,11 @@ include::{generated}/meta/{refprefix}VK_KHR_depth_stencil_resolve.txt[] === Other Extension Metadata -Last Modified Date:: +*Last Modified Date*:: 2018-04-09 *Interactions and External Dependencies*:: - Promoted to Vulkan 1.2 Core -Contributors:: +*Contributors*:: - Jan-Harald Fredriksen, Arm - Andrew Garrard, Samsung Electronics - Soowan Park, Samsung Electronics @@ -23,6 +23,30 @@ This extension adds support for automatically resolving multisampled depth/stencil attachments in a subpass in a similar manner as for color attachments. +Multisampled color attachments can be resolved at the end of a subpass by +specifying pname:pResolveAttachments entries corresponding to the +pname:pColorAttachments array entries. +This does not allow for a way to map the resolve attachments to the +depth/stencil attachment. +The flink:vkCmdResolveImage command does not allow for depth/stencil images. +While there are other ways to resolve the depth/stencil attachment, they can +give sub-optimal performance. +Extending the sname:VkSubpassDescription2 in this extension allows an +application to add a pname:pDepthStencilResolveAttachment, that is similar +to the color pname:pResolveAttachments, that the +pname:pDepthStencilAttachment can be resolved into. + +Depth and stencil samples are resolved to a single value based on the +resolve mode. +The set of possible resolve modes is defined in the +elink:VkResolveModeFlagBits enum. +The ename:VK_RESOLVE_MODE_SAMPLE_ZERO_BIT mode is the only mode that is +required of all implementations (that support the extension or support +Vulkan 1.2 or higher). +Some implementations may also support averaging (the same as color sample +resolve) or taking the minimum or maximum sample, which may be more suitable +for depth/stencil resolve. + === Promotion to Vulkan 1.2 All functionality in this extension is included in core Vulkan 1.2, with the @@ -37,3 +61,12 @@ include::{generated}/interfaces/VK_KHR_depth_stencil_resolve.txt[] * Revision 1, 2018-04-09 (Jan-Harald Fredriksen) - Initial revision +ifdef::isrefpage[] + +=== Additional Resources + +* GDC 2019 +** https://www.youtube.com/watch?v=GnnEmJFFC7Q&feature=youtu.be&t=1983[`video`] +** https://www.khronos.org/assets/uploads/developers/library/2019-gdc/Vulkan-Depth-Stencil-Resolve-GDC-Mar19.pdf[`slides`] + +endif::isrefpage[] diff --git a/appendices/VK_KHR_draw_indirect_count.txt b/appendices/VK_KHR_draw_indirect_count.txt index 680384be35..1e66371318 100644 --- a/appendices/VK_KHR_draw_indirect_count.txt +++ b/appendices/VK_KHR_draw_indirect_count.txt @@ -25,8 +25,11 @@ include::{generated}/meta/{refprefix}VK_KHR_draw_indirect_count.txt[] This extension is based off the `<>` extension. This extension allows an application to source the number of draw calls for indirect draw calls from a buffer. -This enables applications to generate arbitrary amounts of draw commands and -execute them without host intervention. + +Applications might want to do culling on the GPU via a compute shader prior +to the draw. +This enables the application to generate arbitrary amounts of draw commands +and execute them without host intervention. === Promotion to Vulkan 1.2 diff --git a/appendices/VK_KHR_multiview.txt b/appendices/VK_KHR_multiview.txt index 329e08fd34..cd3c3d9c7c 100644 --- a/appendices/VK_KHR_multiview.txt +++ b/appendices/VK_KHR_multiview.txt @@ -12,23 +12,36 @@ include::{generated}/meta/{refprefix}VK_KHR_multiview.txt[] No known IP claims. *Interactions and External Dependencies*:: - Promoted to Vulkan 1.1 Core - - Requires the {spirv}/KHR/SPV_KHR_multiview.html[`SPV_KHR_multiview`] - SPIR-V extension. - - Requires + - This extension requires + {spirv}/KHR/SPV_KHR_multiview.html[`SPV_KHR_multiview`] + - This extension provides API support for https://raw.githubusercontent.com/KhronosGroup/GLSL/master/extensions/ext/GL_EXT_multiview.txt[`GL_EXT_multiview`] - for GLSL source languages. *Contributors*:: - Jeff Bolz, NVIDIA === Description This extension has the same goal as the OpenGL ES `GL_OVR_multiview` -extension - it enables rendering to multiple "`views`" by recording a single -set of commands to be executed with slightly different behavior for each -view. +extension. +Multiview is a rendering technique originally designed for VR where it is +more efficient to record a single set of commands to be executed with +slightly different behavior for each "view". + It includes a concise way to declare a render pass with multiple views, and gives implementations freedom to render the views in the most efficient way possible. +This is done with a multiview configuration specified during <> creation with the slink:VkRenderPassMultiviewCreateInfo passed +into slink:VkRenderPassCreateInfo::pname:pNext. + +This extension enables the use of the +{spirv}/KHR/SPV_KHR_multiview.html[`SPV_KHR_multiview`] shader extension +which adds a new `ViewIndex` built-in type to shaders that allow shaders to +control what to do for each view. +If using GLSL there is also a +https://raw.githubusercontent.com/KhronosGroup/GLSL/master/extensions/ext/GL_EXT_multiview.txt[`GL_EXT_multiview`] +extension that introduces a `highp int gl_ViewIndex;` built-in variable for +vertex, tessellation, geometry, and fragment shaders. === Promotion to Vulkan 1.1 @@ -51,3 +64,14 @@ include::{generated}/interfaces/VK_KHR_multiview.txt[] * Revision 1, 2016-10-28 (Jeff Bolz) - Internal revisions + +ifdef::isrefpage[] + +=== Additional Resources + +* https://devblogs.nvidia.com/turing-multi-view-rendering-vrworks['NVIDIA + blog post'] +* https://community.arm.com/developer/tools-software/graphics/b/blog/posts/optimizing-virtual-reality-understanding-multiview['ARM + blog post'] + +endif::isrefpage[] \ No newline at end of file diff --git a/appendices/VK_KHR_ray_tracing.txt b/appendices/VK_KHR_ray_tracing.txt index 383f40acb8..b391f2c333 100644 --- a/appendices/VK_KHR_ray_tracing.txt +++ b/appendices/VK_KHR_ray_tracing.txt @@ -9,16 +9,14 @@ include::{generated}/meta/{refprefix}VK_KHR_ray_tracing.txt[] *Last Modified Date*:: 2020-02-28 *Interactions and External Dependencies*:: - - This extension requires the + - This extension requires https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/KHR/SPV_KHR_ray_tracing.html[`SPV_KHR_ray_tracing`] and https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/KHR/SPV_KHR_ray_query.html[`SPV_KHR_ray_query`] - SPIR-V extensions. - - This extension requires the + - This extension provides API support for https://github.com/KhronosGroup/GLSL/blob/master/extensions/ext/GLSL_EXT_ray_tracing.txt[`GLSL_EXT_ray_tracing`] and https://github.com/KhronosGroup/GLSL/blob/master/extensions/ext/GLSL_EXT_ray_query.txt[`GLSL_EXT_ray_query`] - extensions for GLSL source languages. *Contributors*:: - Matthäus Chajdas, AMD - Greg Grebe, AMD diff --git a/appendices/VK_KHR_sampler_ycbcr_conversion.txt b/appendices/VK_KHR_sampler_ycbcr_conversion.txt index b6e0bd6cc0..f28bbdfc19 100644 --- a/appendices/VK_KHR_sampler_ycbcr_conversion.txt +++ b/appendices/VK_KHR_sampler_ycbcr_conversion.txt @@ -32,10 +32,17 @@ include::{generated}/meta/{refprefix}VK_KHR_sampler_ycbcr_conversion.txt[] === Description +The use of {YCbCr} sampler conversion is an area in 3D graphics not used by +most Vulkan developers. +It's mainly used for processing inputs from video decoders and cameras. +The use of the extension assumes basic knowledge of {YCbCr} concepts. + This extension provides the ability to perform specified color space -conversions during texture sampling operations. -It also adds a selection of multi-planar formats, including the ability to -bind memory to the planes of an image collectively or separately. +conversions during texture sampling operations for the {YCbCr} color space +natively. +It also adds a selection of multi-planar formats, image aspect plane, and +the ability to bind memory to the planes of an image collectively or +separately. === Promotion to Vulkan 1.1 diff --git a/appendices/VK_KHR_shader_atomic_int64.txt b/appendices/VK_KHR_shader_atomic_int64.txt index 2d3280b7a4..eb580ee949 100644 --- a/appendices/VK_KHR_shader_atomic_int64.txt +++ b/appendices/VK_KHR_shader_atomic_int64.txt @@ -10,12 +10,11 @@ include::{generated}/meta/{refprefix}VK_KHR_shader_atomic_int64.txt[] 2018-07-05 *Interactions and External Dependencies*:: - Promoted to Vulkan 1.2 Core -*Interactions and External Dependencies*:: - - This extension requires the + - This extension enables https://www.khronos.org/registry/OpenGL/extensions/ARB/ARB_gpu_shader_int64.txt[`GL_ARB_gpu_shader_int64`] and https://raw.githubusercontent.com/KhronosGroup/GLSL/master/extensions/ext/GL_EXT_shader_atomic_int64.txt[`GL_EXT_shader_atomic_int64`] - extensions for GLSL source languages. + for GLSL source languages. *Contributors*:: - Aaron Hagan, AMD - Daniel Rakos, AMD diff --git a/appendices/VK_KHR_shader_clock.txt b/appendices/VK_KHR_shader_clock.txt index 231b17886d..23bd2bfb73 100644 --- a/appendices/VK_KHR_shader_clock.txt +++ b/appendices/VK_KHR_shader_clock.txt @@ -13,12 +13,10 @@ include::{generated}/meta/{refprefix}VK_KHR_shader_clock.txt[] *Interactions and External Dependencies*:: - This extension requires {spirv}/KHR/SPV_KHR_shader_clock.html[`SPV_KHR_shader_clock`]. - - This extension enables + - This extension provides API support for https://www.khronos.org/registry/OpenGL/extensions/ARB/ARB_shader_clock.txt[`ARB_shader_clock`] - for GLSL source languages. - - This extension enables + and https://github.com/KhronosGroup/GLSL/blob/master/extensions/ext/GL_EXT_shader_realtime_clock.txt[`EXT_shader_realtime_clock`] - for GLSL source languages. *Contributors*:: - Aaron Hagan, AMD - Daniel Koch, NVIDIA diff --git a/appendices/VK_KHR_shader_draw_parameters.txt b/appendices/VK_KHR_shader_draw_parameters.txt index 2371e44b06..a08fdacc6c 100644 --- a/appendices/VK_KHR_shader_draw_parameters.txt +++ b/appendices/VK_KHR_shader_draw_parameters.txt @@ -11,12 +11,10 @@ include::{generated}/meta/{refprefix}VK_KHR_shader_draw_parameters.txt[] *IP Status*:: No known IP claims. *Interactions and External Dependencies*:: - - Requires the + - This extension requires {spirv}/KHR/SPV_KHR_shader_draw_parameters.html[`SPV_KHR_shader_draw_parameters`] - SPIR-V extension. - - Requires + - This extension provides API support for https://www.khronos.org/registry/OpenGL/extensions/ARB/ARB_shader_draw_parameters.txt[`GL_ARB_shader_draw_parameters`] - for GLSL source languages. - Promoted to Vulkan 1.1 Core *Contributors*:: - Daniel Koch, NVIDIA Corporation diff --git a/appendices/VK_KHR_shader_float16_int8.txt b/appendices/VK_KHR_shader_float16_int8.txt index 48798077ad..b865f329fe 100644 --- a/appendices/VK_KHR_shader_float16_int8.txt +++ b/appendices/VK_KHR_shader_float16_int8.txt @@ -10,12 +10,13 @@ include::{generated}/meta/{refprefix}VK_KHR_shader_float16_int8.txt[] 2018-03-07 *Interactions and External Dependencies*:: - Promoted to Vulkan 1.2 Core -*IP Status*:: - No known IP claims. -*Interactions and External Dependencies*:: - This extension interacts with `<>` - This extension interacts with `<>` - This extension interacts with `<>` + - This extension provides API support for + https://github.com/KhronosGroup/GLSL/blob/master/extensions/ext/GL_EXT_shader_explicit_arithmetic_types.txt[`GL_EXT_shader_explicit_arithmetic_types`] +*IP Status*:: + No known IP claims. *Contributors*:: - Alexander Galazin, Arm - Jan-Harald Fredriksen, Arm diff --git a/appendices/VK_KHR_shader_float_controls.txt b/appendices/VK_KHR_shader_float_controls.txt index 5cc02103c0..a91ff8ac32 100644 --- a/appendices/VK_KHR_shader_float_controls.txt +++ b/appendices/VK_KHR_shader_float_controls.txt @@ -10,11 +10,10 @@ include::{generated}/meta/{refprefix}VK_KHR_shader_float_controls.txt[] 2018-09-11 *Interactions and External Dependencies*:: - Promoted to Vulkan 1.2 Core -*IP Status*:: - No known IP claims. -*Interactions and External Dependencies*:: - This extension requires {spirv}/KHR/SPV_KHR_float_controls.html[`SPV_KHR_float_controls`] +*IP Status*:: + No known IP claims. *Contributors*:: - Alexander Galazin, Arm - Jan-Harald Fredriksen, Arm diff --git a/appendices/VK_KHR_shader_non_semantic_info.txt b/appendices/VK_KHR_shader_non_semantic_info.txt index fb3990c7d1..78821c72f6 100644 --- a/appendices/VK_KHR_shader_non_semantic_info.txt +++ b/appendices/VK_KHR_shader_non_semantic_info.txt @@ -11,9 +11,8 @@ include::{generated}/meta/{refprefix}VK_KHR_shader_non_semantic_info.txt[] *IP Status*:: No known IP claims. *Interactions and External Dependencies*:: - - This extension requires the + - This extension requires {spirv}/KHR/SPV_KHR_non_semantic_info.html[`SPV_KHR_non_semantic_info`] - SPIR-V extension. *Contributors*:: - Baldur Karlsson, Valve diff --git a/appendices/VK_KHR_shader_subgroup_extended_types.txt b/appendices/VK_KHR_shader_subgroup_extended_types.txt index 947e45cf38..3814572eae 100644 --- a/appendices/VK_KHR_shader_subgroup_extended_types.txt +++ b/appendices/VK_KHR_shader_subgroup_extended_types.txt @@ -12,6 +12,8 @@ include::{generated}/meta/{refprefix}VK_KHR_shader_subgroup_extended_types.txt[] No known IP claims. *Interactions and External Dependencies*:: - Promoted to Vulkan 1.2 Core + - This extension provides API support for + https://github.com/KhronosGroup/GLSL/blob/master/extensions/ext/GLSL_EXT_shader_subgroup_extended_types.txt[`GLSL_EXT_shader_subgroup_extended_types`] *Contributors*:: - Jeff Bolz, NVIDIA - Jan-Harald Fredriksen, Arm diff --git a/appendices/VK_KHR_storage_buffer_storage_class.txt b/appendices/VK_KHR_storage_buffer_storage_class.txt index 8f73c708e3..edb51fb453 100644 --- a/appendices/VK_KHR_storage_buffer_storage_class.txt +++ b/appendices/VK_KHR_storage_buffer_storage_class.txt @@ -11,9 +11,8 @@ include::{generated}/meta/{refprefix}VK_KHR_storage_buffer_storage_class.txt[] *IP Status*:: No known IP claims. *Interactions and External Dependencies*:: - - This extension requires the + - This extension requires {spirv}/KHR/SPV_KHR_storage_buffer_storage_class.html[`SPV_KHR_storage_buffer_storage_class`] - SPIR-V extension. - Promoted to Vulkan 1.1 Core *Contributors*:: - Alexander Galazin, ARM diff --git a/appendices/VK_KHR_variable_pointers.txt b/appendices/VK_KHR_variable_pointers.txt index 6113f9e0f3..8e42f7db17 100644 --- a/appendices/VK_KHR_variable_pointers.txt +++ b/appendices/VK_KHR_variable_pointers.txt @@ -11,9 +11,8 @@ include::{generated}/meta/{refprefix}VK_KHR_variable_pointers.txt[] *IP Status*:: No known IP claims. *Interactions and External Dependencies*:: - - Requires the + - This extension requires {spirv}/KHR/SPV_KHR_variable_pointers.html[`SPV_KHR_variable_pointers`] - SPIR-V extension. - Promoted to Vulkan 1.1 Core *Contributors*:: - John Kessenich, Google diff --git a/appendices/VK_NVX_multiview_per_view_attributes.txt b/appendices/VK_NVX_multiview_per_view_attributes.txt index 6114b1ad87..e5fff0a6f4 100644 --- a/appendices/VK_NVX_multiview_per_view_attributes.txt +++ b/appendices/VK_NVX_multiview_per_view_attributes.txt @@ -11,11 +11,10 @@ include::{generated}/meta/{refprefix}VK_NVX_multiview_per_view_attributes.txt[] *IP Status*:: No known IP claims. *Interactions and External Dependencies*:: - - This extension requires the + - This extension requires {spirv}/NV/SPV_NVX_multiview_per_view_attributes.html[`SPV_NVX_multiview_per_view_attributes`] - SPIR-V extension. - - This extension requires the `GL_NVX_multiview_per_view_attributes` - extension for GLSL source languages. + - This extension provides API support for + https://github.com/KhronosGroup/GLSL/blob/master/extensions/nvx/GL_NVX_multiview_per_view_attributes.txt[`GL_NVX_multiview_per_view_attributes`] - This extension interacts with `<>`. *Contributors*:: - Jeff Bolz, NVIDIA diff --git a/appendices/VK_NV_compute_shader_derivatives.txt b/appendices/VK_NV_compute_shader_derivatives.txt index bb3a8ccb81..c4db656295 100644 --- a/appendices/VK_NV_compute_shader_derivatives.txt +++ b/appendices/VK_NV_compute_shader_derivatives.txt @@ -10,6 +10,11 @@ include::{generated}/meta/{refprefix}VK_NV_compute_shader_derivatives.txt[] 2018-07-19 *IP Status*:: No known IP claims. +*Interactions and External Dependencies*:: + - This extension requires + {spirv}/NV/SPV_NV_compute_shader_derivatives.html[`SPV_NV_compute_shader_derivatives`] + - This extension provides API support for + https://github.com/KhronosGroup/GLSL/blob/master/extensions/nv/GLSL_NV_compute_shader_derivatives.txt[`GL_NV_compute_shader_derivatives`] *Contributors*:: - Pat Brown, NVIDIA diff --git a/appendices/VK_NV_cooperative_matrix.txt b/appendices/VK_NV_cooperative_matrix.txt index f1b2350481..b6a0ca5fb0 100644 --- a/appendices/VK_NV_cooperative_matrix.txt +++ b/appendices/VK_NV_cooperative_matrix.txt @@ -8,6 +8,11 @@ include::{generated}/meta/{refprefix}VK_NV_cooperative_matrix.txt[] *Last Modified Date*:: 2019-02-05 +*Interactions and External Dependencies*:: + - This extension requires + {spirv}/NV/SPV_NV_cooperative_matrix.html[`SPV_NV_cooperative_matrix`] + - This extension provides API support for + https://github.com/KhronosGroup/GLSL/blob/master/extensions/nv/GLSL_NV_cooperative_matrix.txt[`GL_NV_cooperative_matrix`] *Contributors*:: - Jeff Bolz, NVIDIA - Markus Tavenrath, NVIDIA diff --git a/appendices/VK_NV_fragment_shader_barycentric.txt b/appendices/VK_NV_fragment_shader_barycentric.txt index c077f8e8f8..8649fb2513 100644 --- a/appendices/VK_NV_fragment_shader_barycentric.txt +++ b/appendices/VK_NV_fragment_shader_barycentric.txt @@ -11,9 +11,10 @@ include::{generated}/meta/{refprefix}VK_NV_fragment_shader_barycentric.txt[] *IP Status*:: No known IP claims. *Interactions and External Dependencies*:: - - Requires the `SPV_NV_fragment_shader_barycentric` SPIR-V extension. - - Requires the `GL_NV_fragment_shader_barycentric` extension for GLSL - source languages. + - This extension requires + {spirv}/NV/SPV_NV_fragment_shader_barycentric.html[`SPV_NV_fragment_shader_barycentric`] + - This extension provides API support for + https://github.com/KhronosGroup/GLSL/blob/master/extensions/nv/GLSL_NV_fragment_shader_barycentric.txt[`GL_NV_fragment_shader_barycentric`] *Contributors*:: - Pat Brown, NVIDIA - Daniel Koch, NVIDIA diff --git a/appendices/VK_NV_geometry_shader_passthrough.txt b/appendices/VK_NV_geometry_shader_passthrough.txt index f7489dcf89..74460b5d27 100644 --- a/appendices/VK_NV_geometry_shader_passthrough.txt +++ b/appendices/VK_NV_geometry_shader_passthrough.txt @@ -9,12 +9,10 @@ include::{generated}/meta/{refprefix}VK_NV_geometry_shader_passthrough.txt[] *Last Modified Date*:: 2017-02-15 *Interactions and External Dependencies*:: - - This extension requires the + - This extension requires {spirv}/NV/SPV_NV_geometry_shader_passthrough.html[`SPV_NV_geometry_shader_passthrough`] - SPIR-V extension. - - This extension requires the + - This extension provides API support for https://www.khronos.org/registry/OpenGL/extensions/NV/NV_geometry_shader_passthrough.txt[`GL_NV_geometry_shader_passthrough`] - extension for GLSL source languages. - This extension requires the pname:geometryShader feature. *Contributors*:: - Piers Daniell, NVIDIA diff --git a/appendices/VK_NV_mesh_shader.txt b/appendices/VK_NV_mesh_shader.txt index 4291176dbc..3c20fb4512 100644 --- a/appendices/VK_NV_mesh_shader.txt +++ b/appendices/VK_NV_mesh_shader.txt @@ -8,6 +8,11 @@ include::{generated}/meta/{refprefix}VK_NV_mesh_shader.txt[] *Last Modified Date*:: 2018-07-19 +*Interactions and External Dependencies*:: + - This extension requires + {spirv}/NV/SPV_NV_mesh_shader.html[`SPV_NV_mesh_shader`] + - This extension provides API support for + https://github.com/KhronosGroup/GLSL/blob/master/extensions/nv/GLSL_NV_mesh_shader.txt[`GLSL_NV_mesh_shader`] *Contributors*:: - Pat Brown, NVIDIA - Jeff Bolz, NVIDIA diff --git a/appendices/VK_NV_ray_tracing.txt b/appendices/VK_NV_ray_tracing.txt index 2536266f48..ec56fecae6 100644 --- a/appendices/VK_NV_ray_tracing.txt +++ b/appendices/VK_NV_ray_tracing.txt @@ -9,12 +9,10 @@ include::{generated}/meta/{refprefix}VK_NV_ray_tracing.txt[] *Last Modified Date*:: 2018-11-20 *Interactions and External Dependencies*:: - - This extension requires the - {spirv}/NV/SPV_NV_ray_tracing.html[`SPV_NV_ray_tracing`] SPIR-V - extension. - - This extension requires the + - This extension requires + {spirv}/NV/SPV_NV_ray_tracing.html[`SPV_NV_ray_tracing`] + - This extension provides API support for https://github.com/KhronosGroup/GLSL/blob/master/extensions/nv/GLSL_NV_ray_tracing.txt[`GL_NV_ray_tracing`] - extension for GLSL source languages. *Contributors*:: - Eric Werness, NVIDIA - Ashwin Lele, NVIDIA diff --git a/appendices/VK_NV_sample_mask_override_coverage.txt b/appendices/VK_NV_sample_mask_override_coverage.txt index 091ff602fc..ed07d3951b 100644 --- a/appendices/VK_NV_sample_mask_override_coverage.txt +++ b/appendices/VK_NV_sample_mask_override_coverage.txt @@ -11,12 +11,10 @@ include::{generated}/meta/{refprefix}VK_NV_sample_mask_override_coverage.txt[] *IP Status*:: No known IP claims. *Interactions and External Dependencies*:: - - This extension requires the + - This extension requires {spirv}/NV/SPV_NV_sample_mask_override_coverage.html[`SPV_NV_sample_mask_override_coverage`] - SPIR-V extension. - - This extension requires the + - This extension provides API support for https://www.khronos.org/registry/OpenGL/extensions/NV/NV_sample_mask_override_coverage.txt[`GL_NV_sample_mask_override_coverage`] - extension for GLSL source languages. *Contributors*:: - Daniel Koch, NVIDIA - Jeff Bolz, NVIDIA diff --git a/appendices/VK_NV_shader_image_footprint.txt b/appendices/VK_NV_shader_image_footprint.txt index 047cb02b42..88d95b6aee 100644 --- a/appendices/VK_NV_shader_image_footprint.txt +++ b/appendices/VK_NV_shader_image_footprint.txt @@ -10,6 +10,11 @@ include::{generated}/meta/{refprefix}VK_NV_shader_image_footprint.txt[] 2018-09-13 *IP Status*:: No known IP claims. +*Interactions and External Dependencies*:: + - This extension requires + {spirv}/NV/SPV_NV_shader_image_footprint.html[`SPV_NV_shader_image_footprint`] + - This extension provides API support for + https://github.com/KhronosGroup/GLSL/blob/master/extensions/nv/GLSL_NV_shader_texture_footprint.txt[`GL_NV_shader_texture_footprint`] *Contributors*:: - Pat Brown, NVIDIA - Chris Lentini, NVIDIA diff --git a/appendices/VK_NV_shader_subgroup_partitioned.txt b/appendices/VK_NV_shader_subgroup_partitioned.txt index d15ede2159..a056356214 100644 --- a/appendices/VK_NV_shader_subgroup_partitioned.txt +++ b/appendices/VK_NV_shader_subgroup_partitioned.txt @@ -8,6 +8,11 @@ include::{generated}/meta/{refprefix}VK_NV_shader_subgroup_partitioned.txt[] *Last Modified Date*:: 2018-03-17 +*Interactions and External Dependencies*:: + - This extension requires + {spirv}/NV/SPV_NV_shader_subgroup_partitioned.html[`SPV_NV_shader_subgroup_partitioned`] + - This extension provides API support for + https://github.com/KhronosGroup/GLSL/blob/master/extensions/nv/GL_NV_shader_subgroup_partitioned.txt[`GL_NV_shader_subgroup_partitioned`] *Contributors*:: - Jeff Bolz, NVIDIA diff --git a/appendices/VK_NV_shading_rate_image.txt b/appendices/VK_NV_shading_rate_image.txt index 18ecbe8039..ec4dbb8e53 100644 --- a/appendices/VK_NV_shading_rate_image.txt +++ b/appendices/VK_NV_shading_rate_image.txt @@ -8,6 +8,11 @@ include::{generated}/meta/{refprefix}VK_NV_shading_rate_image.txt[] *Last Modified Date*:: 2019-07-18 +*Interactions and External Dependencies*:: + - This extension requires + {spirv}/NV/SPV_NV_shading_rate.html[`SPV_NV_shading_rate`] + - This extension provides API support for + https://github.com/KhronosGroup/GLSL/blob/master/extensions/nv/GLSL_NV_shading_rate_image.txt[`GL_NV_shading_rate_image`] *Contributors*:: - Pat Brown, NVIDIA - Carsten Rohde, NVIDIA diff --git a/appendices/VK_NV_viewport_array2.txt b/appendices/VK_NV_viewport_array2.txt index a1ff8cd5b2..6efa621dfa 100644 --- a/appendices/VK_NV_viewport_array2.txt +++ b/appendices/VK_NV_viewport_array2.txt @@ -9,12 +9,10 @@ include::{generated}/meta/{refprefix}VK_NV_viewport_array2.txt[] *Last Modified Date*:: 2017-02-15 *Interactions and External Dependencies*:: - - This extension requires the - {spirv}/NV/SPV_NV_viewport_array2.html[`SPV_NV_viewport_array2`] SPIR-V - extension. - - This extension requires the + - This extension requires + {spirv}/NV/SPV_NV_viewport_array2.html[`SPV_NV_viewport_array2`] + - This extension provides API support for https://www.khronos.org/registry/OpenGL/extensions/NV/NV_viewport_array2.txt[`GL_NV_viewport_array2`] - extension for GLSL source languages. - This extension requires the pname:geometryShader and pname:multiViewport features. - This extension interacts with the pname:tessellationShader feature. diff --git a/appendices/spirvenv.txt b/appendices/spirvenv.txt index 93ae67e6d5..e6dcc5ab75 100644 --- a/appendices/spirvenv.txt +++ b/appendices/spirvenv.txt @@ -1076,7 +1076,7 @@ ifdef::VK_KHR_16bit_storage[] not have storage class of *PushConstant*. * If <> is ename:VK_FALSE, then objects containing an 16-bit integer element must: - not have storage class of *Input* or *Outputt*. + not have storage class of *Input* or *Output*. endif::VK_KHR_16bit_storage[] ifndef::VK_EXT_shader_atomic_float[] * Atomic instructions must: declare a scalar 32-bit integer type, or a diff --git a/chapters/VK_KHR_swapchain/wsi.txt b/chapters/VK_KHR_swapchain/wsi.txt index f60f0e906a..5e011f784e 100644 --- a/chapters/VK_KHR_swapchain/wsi.txt +++ b/chapters/VK_KHR_swapchain/wsi.txt @@ -531,7 +531,7 @@ include::{generated}/validity/structs/VkSwapchainDisplayNativeHdrCreateInfoAMD.t .Valid Usage **** - * [[VUID-VkSwapchainDisplayNativeHdrCreateInfoAMD-localDimmingEnable-XXXXX]] + * [[VUID-VkSwapchainDisplayNativeHdrCreateInfoAMD-localDimmingEnable-04449]] It is only valid to set pname:localDimmingEnable to ename:VK_TRUE if slink:VkDisplayNativeHdrSurfaceCapabilitiesAMD::pname:localDimmingSupport is supported diff --git a/chapters/copies.txt b/chapters/copies.txt index e8eaf4a9c4..2cd7cf8472 100644 --- a/chapters/copies.txt +++ b/chapters/copies.txt @@ -825,7 +825,7 @@ include::{generated}/validity/structs/VkImageBlit.txt[] -- :refpage: vkCmdResolveImage -To resolve a multisample image to a non-multisample image, call: +To resolve a multisample color image to a non-multisample color image, call: include::{generated}/api/protos/vkCmdResolveImage.txt[] diff --git a/chapters/fundamentals.txt b/chapters/fundamentals.txt index f9a0e48b83..77a176a949 100644 --- a/chapters/fundamentals.txt +++ b/chapters/fundamentals.txt @@ -334,6 +334,12 @@ endif::VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion[] ifdef::VK_NV_device_generated_commands[] * sname:VkIndirectCommandsLayoutNV endif::VK_NV_device_generated_commands[] +ifdef::VK_NV_ray_tracing[] + ** sname:VkAccelerationStructureNV +endif::VK_NV_ray_tracing[] +ifdef::VK_KHR_ray_tracing[] + ** sname:VkAccelerationStructureKHR +endif::VK_KHR_ray_tracing[] Destroying these objects will move any command buffers that are in the <>, and are using @@ -416,6 +422,12 @@ endif::VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion[] ifdef::VK_EXT_validation_cache[] ** sname:VkValidationCacheEXT endif::VK_EXT_validation_cache[] +ifdef::VK_NV_ray_tracing[] + ** sname:VkAccelerationStructureNV +endif::VK_NV_ray_tracing[] +ifdef::VK_KHR_ray_tracing[] + ** sname:VkAccelerationStructureKHR +endif::VK_KHR_ray_tracing[] * sname:VkPhysicalDevice objects cannot: be explicitly destroyed. Instead, they are implicitly destroyed when the sname:VkInstance object they are retrieved from is destroyed. diff --git a/chapters/interfaces.txt b/chapters/interfaces.txt index 07426d2008..d9954d7801 100644 --- a/chapters/interfaces.txt +++ b/chapters/interfaces.txt @@ -703,7 +703,8 @@ ifdef::VK_VERSION_1_2,VK_EXT_descriptor_indexing[] endif::VK_VERSION_1_2,VK_EXT_descriptor_indexing[] ifdef::VK_NV_ray_tracing,VK_KHR_ray_tracing[] * Acceleration structures: - ** No additional capabilities needed. + ** Dynamically uniform: Always supported. + ** Non-uniform: Always supported. endif::VK_NV_ray_tracing,VK_KHR_ray_tracing[] ifdef::VK_VERSION_1_2,VK_EXT_descriptor_indexing[] diff --git a/chapters/renderpass.txt b/chapters/renderpass.txt index 819a287d56..907fcb299d 100644 --- a/chapters/renderpass.txt +++ b/chapters/renderpass.txt @@ -1859,7 +1859,7 @@ endif::VK_KHR_create_renderpass2[] * pname:dependencyCount is the number of dependencies between pairs of subpasses. * pname:pDependencies is a pointer to an array of pname:dependencyCount - slink:VkSubpassDependency structures describing dependencies between + slink:VkSubpassDependency2 structures describing dependencies between pairs of subpasses. * pname:correlatedViewMaskCount is the number of correlation masks. * pname:pCorrelatedViewMasks is a pointer to an array of view masks diff --git a/chapters/synchronization.txt b/chapters/synchronization.txt index 242c762e8b..7c27317fbd 100644 --- a/chapters/synchronization.txt +++ b/chapters/synchronization.txt @@ -2018,6 +2018,13 @@ Applications can: import the same fence payload into multiple instances of Vulkan, into the same instance from which it was exported, and multiple times into a given Vulkan instance. +.Valid Usage +**** + * [[VUID-vkImportFenceWin32HandleKHR-fence-04448]] + pname:fence must: not be associated with any queue command that has not + yet completed execution on that queue +**** + include::{generated}/validity/protos/vkImportFenceWin32HandleKHR.txt[] -- diff --git a/config/spec-macros.rb b/config/spec-macros.rb index 625be0c79d..0d1de3dbf5 100644 --- a/config/spec-macros.rb +++ b/config/spec-macros.rb @@ -36,5 +36,4 @@ inline_macro AttrInlineMacro inline_macro TagInlineMacro inline_macro UndefinedInlineMacro - inline_macro VUIDInlineMacro end diff --git a/config/spec-macros/extension.rb b/config/spec-macros/extension.rb index 8ff7dc91fa..ce0b711358 100644 --- a/config/spec-macros/extension.rb +++ b/config/spec-macros/extension.rb @@ -234,12 +234,3 @@ def process parent, target, attributes create_inline parent, :quoted, 'undefined' end end - -class VUIDInlineMacro < SpecInlineMacroBase - named :vuid - match /vuid:([A-Za-z0-9_-]+)/ - - def process parent, target, attributes - '' + target + '
' - end -end diff --git a/config/vuid-expander.rb b/config/vuid-expander.rb index ba8eac8d8a..d556cbb4a7 100644 --- a/config/vuid-expander.rb +++ b/config/vuid-expander.rb @@ -6,16 +6,24 @@ include ::Asciidoctor -# Preprocessor hook to insert vuid: inline macro after every VUID anchor -class VUIDExpanderPreprocessor < Extensions::Preprocessor - def process document, reader - new_lines = reader.read_lines.map do | line | - line.gsub(/\[\[(VUID.*?)\]\]/, '[[\1]]vuid:\1') +class VUIDExpanderTreeprocessor < Extensions::Treeprocessor + def process document + # Find all list items inside Valid Usage sidebar blocks + document.find_by(context: :sidebar).each do |sidebar| + # Get sidebar title from instance variable to avoid side-effects from substitutions + if sidebar.title? and sidebar.instance_variable_get(:@title).start_with? "Valid Usage" + sidebar.find_by(context: :list_item) do |item| + # Get item text directly from instance variable to avoid inline substitutions + original_text = item.instance_variable_get(:@text) + # Find VUID anchor and append with matching VUID-styled text and line break + item.text = original_text.gsub(/(\[\[(VUID-[^\]]*)\]\])/, "\\1 [vuid]#\\2# +\n") + end + end end - Reader.new(new_lines) + nil end end Extensions.register do - preprocessor VUIDExpanderPreprocessor + treeprocessor VUIDExpanderTreeprocessor end diff --git a/xml/vk.xml b/xml/vk.xml index 77c0dd4cfa..5d34bab4a0 100644 --- a/xml/vk.xml +++ b/xml/vk.xml @@ -135,7 +135,7 @@ branch of the member gitlab server. // Vulkan 1.2 version number #define VK_API_VERSION_1_2 VK_MAKE_VERSION(1, 2, 0)// Patch version should always be set to 0 // Version of this file -#define VK_HEADER_VERSION 152 +#define VK_HEADER_VERSION 153 // Complete version of this file #define VK_HEADER_VERSION_COMPLETE VK_MAKE_VERSION(1, 2, VK_HEADER_VERSION) @@ -13915,6 +13915,7 @@ typedef void CAMetalLayer; +