diff options
author | Jon Leech <oddhack@sonic.net> | 2023-11-26 21:15:11 -0800 |
---|---|---|
committer | Jon Leech <oddhack@sonic.net> | 2023-11-26 21:15:11 -0800 |
commit | dbad946f7edc9137dbb972ea8e271592e3fb9746 (patch) | |
tree | ccd0354bd9421cce4841b4149f2ee5e6ee3150d1 | |
parent | b4792eab92a1d132ef95b56a7681cc6af69b570e (diff) | |
download | gfxstream-protocols-dbad946f7edc9137dbb972ea8e271592e3fb9746.tar.gz |
Change log for November 17, 2023 Vulkan 1.3.271 spec update:
Github Issues
* Add zero stride VU for flink:vkGetQueryPoolResults and
flink:vkCmdCopyQueryPoolResults (public issue 2265).
* Move pname:timingCount to flink:vkGetLatencyMarkerInfoNV for
apiext:VK_NV_low_latency2 (public issue 2269).
Internal Issues
* Allow vkCmdBeginTransformFeedbackEXT to be called without an active
graphics pipeline bound when using shader objects (internal issue 2785).
* Autogenerate SPIR-V extension dependencies for extension appendices, and
remove explicit dependencies now (or already) generated by the scripts
(internal issue 3678).
* Consolidate synchronization VUs (internal MR 6164).
* Rewrite some spec language for apiext:VK_NV_cuda_kernel_launch to be
internally consistent and follow style guidelines (internal MR 6234).
* Fix names of apiext:VK_NV_cuda_kernnel_launch enums for use with
apiext:VK_EXT_debug_report (internal MR 6235).
* Fix common VUs for slink:VkDeviceImageSubresourceInfoKHR to insert
correct image parameter name (internal MR 6264).
* Document some missing apiext:VK_EXT_multi_draw interactions in the
extension appendix (internal MR 6276).
* Clarify descriptions of etext:*_MICROMAP_BIT_EXT pipeline flags
(internal MR 6277).
* Make pname:deviceRenderAreaCount VU language consistent (internal MR
6288).
* Make slink:VkCuModuleCreateInfoNVX::pname:dataSize `optional` in XML
(internal MR 6291).
* Add `not` XML `limittype` attribute value for features that are
supported when the capability value is false (internal MR 6292).
* Mark apiext:VK_EXT_nested_command_buffer as ratified (internal MR 6293).
* Add commonvalidity file for query result VUs (internal MR 6295).
* Autogenerate "`API Interactions`" section in extension appendices from
XML (internal MR 6297).
168 files changed, 528 insertions, 615 deletions
diff --git a/ChangeLog.adoc b/ChangeLog.adoc index e60cf75f..afa9ea7a 100644 --- a/ChangeLog.adoc +++ b/ChangeLog.adoc @@ -14,6 +14,47 @@ appears frequently in the change log. ----------------------------------------------------- +Change log for November 17, 2023 Vulkan 1.3.271 spec update: + +Github Issues + + * Add zero stride VU for flink:vkGetQueryPoolResults and + flink:vkCmdCopyQueryPoolResults (public issue 2265). + * Move pname:timingCount to flink:vkGetLatencyMarkerInfoNV for + apiext:VK_NV_low_latency2 (public issue 2269). + +Internal Issues + + * Allow vkCmdBeginTransformFeedbackEXT to be called without an active + graphics pipeline bound when using shader objects (internal issue 2785). + * Autogenerate SPIR-V extension dependencies for extension appendices, and + remove explicit dependencies now (or already) generated by the scripts + (internal issue 3678). + * Consolidate synchronization VUs (internal MR 6164). + * Rewrite some spec language for apiext:VK_NV_cuda_kernel_launch to be + internally consistent and follow style guidelines (internal MR 6234). + * Fix names of apiext:VK_NV_cuda_kernnel_launch enums for use with + apiext:VK_EXT_debug_report (internal MR 6235). + * Fix common VUs for slink:VkDeviceImageSubresourceInfoKHR to insert + correct image parameter name (internal MR 6264). + * Document some missing apiext:VK_EXT_multi_draw interactions in the + extension appendix (internal MR 6276). + * Clarify descriptions of etext:*_MICROMAP_BIT_EXT pipeline flags + (internal MR 6277). + * Make pname:deviceRenderAreaCount VU language consistent (internal MR + 6288). + * Make slink:VkCuModuleCreateInfoNVX::pname:dataSize `optional` in XML + (internal MR 6291). + * Add `not` XML `limittype` attribute value for features that are + supported when the capability value is false (internal MR 6292). + * Mark apiext:VK_EXT_nested_command_buffer as ratified (internal MR 6293). + * Add commonvalidity file for query result VUs (internal MR 6295). + * Autogenerate "`API Interactions`" section in extension appendices from + XML (internal MR 6297). + + +----------------------------------------------------- + Change log for November 9, 2023 Vulkan 1.3.270 spec update: Github Issues @@ -136,7 +136,7 @@ VERBOSE = # ADOCOPTS options for asciidoc->HTML5 output NOTEOPTS = -a editing-notes -a implementation-guide -PATCHVERSION = 270 +PATCHVERSION = 271 BASEOPTS = ifneq (,$(findstring VKSC_VERSION_1_0,$(VERSIONS))) diff --git a/appendices/VK_AMDX_shader_enqueue.adoc b/appendices/VK_AMDX_shader_enqueue.adoc index 09c2eb3c..23127183 100644 --- a/appendices/VK_AMDX_shader_enqueue.adoc +++ b/appendices/VK_AMDX_shader_enqueue.adoc @@ -8,9 +8,6 @@ include::{generated}/meta/{refprefix}VK_AMDX_shader_enqueue.adoc[] *Last Modified Date*:: 2021-07-22 -*Interactions and External Dependencies*:: - - This extension requires - {spirv}/AMD/SPV_AMDX_shader_enqueue.html[`SPV_AMDX_shader_enqueue`]. *Provisional*:: diff --git a/appendices/VK_AMD_draw_indirect_count.adoc b/appendices/VK_AMD_draw_indirect_count.adoc index 1cbeb0fd..1ebc376f 100644 --- a/appendices/VK_AMD_draw_indirect_count.adoc +++ b/appendices/VK_AMD_draw_indirect_count.adoc @@ -8,8 +8,6 @@ include::{generated}/meta/{refprefix}VK_AMD_draw_indirect_count.adoc[] *Last Modified Date*:: 2016-08-23 -*Interactions and External Dependencies*:: - - Promoted to `apiext:VK_KHR_draw_indirect_count` *IP Status*:: No known IP claims. *Contributors*:: diff --git a/appendices/VK_AMD_gcn_shader.adoc b/appendices/VK_AMD_gcn_shader.adoc index d0aece01..95b3eeea 100644 --- a/appendices/VK_AMD_gcn_shader.adoc +++ b/appendices/VK_AMD_gcn_shader.adoc @@ -11,8 +11,6 @@ include::{generated}/meta/{refprefix}VK_AMD_gcn_shader.adoc[] *IP Status*:: No known IP claims. *Interactions and External Dependencies*:: - - This extension requires - {spirv}/AMD/SPV_AMD_gcn_shader.html[`SPV_AMD_gcn_shader`] - This extension provides API support for {GLregistry}/AMD/AMD_gcn_shader.txt[`GL_AMD_gcn_shader`] *Contributors*:: diff --git a/appendices/VK_AMD_gpu_shader_half_float.adoc b/appendices/VK_AMD_gpu_shader_half_float.adoc index dcbb239d..0eb1caff 100644 --- a/appendices/VK_AMD_gpu_shader_half_float.adoc +++ b/appendices/VK_AMD_gpu_shader_half_float.adoc @@ -11,8 +11,6 @@ include::{generated}/meta/{refprefix}VK_AMD_gpu_shader_half_float.adoc[] *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`] - This extension provides API support for {GLregistry}/AMD/AMD_gpu_shader_half_float.txt[`GL_AMD_gpu_shader_half_float`] *Contributors*:: diff --git a/appendices/VK_AMD_gpu_shader_int16.adoc b/appendices/VK_AMD_gpu_shader_int16.adoc index 39d708f1..4e460a25 100644 --- a/appendices/VK_AMD_gpu_shader_int16.adoc +++ b/appendices/VK_AMD_gpu_shader_int16.adoc @@ -11,8 +11,6 @@ include::{generated}/meta/{refprefix}VK_AMD_gpu_shader_int16.adoc[] *IP Status*:: No known IP claims. *Interactions and External Dependencies*:: - - This extension requires - {spirv}/AMD/SPV_AMD_gpu_shader_int16.html[`SPV_AMD_gpu_shader_int16`] - This extension provides API support for {GLregistry}/AMD/AMD_gpu_shader_int16.txt[`GL_AMD_gpu_shader_int16`] *Contributors*:: diff --git a/appendices/VK_AMD_shader_ballot.adoc b/appendices/VK_AMD_shader_ballot.adoc index 55ba92d4..71e3b7d1 100644 --- a/appendices/VK_AMD_shader_ballot.adoc +++ b/appendices/VK_AMD_shader_ballot.adoc @@ -11,8 +11,6 @@ include::{generated}/meta/{refprefix}VK_AMD_shader_ballot.adoc[] *IP Status*:: No known IP claims. *Interactions and External Dependencies*:: - - This extension requires - {spirv}/AMD/SPV_AMD_shader_ballot.html[`SPV_AMD_shader_ballot`] - This extension provides API support for {GLregistry}/AMD/AMD_shader_ballot.txt[`GL_AMD_shader_ballot`] *Contributors*:: diff --git a/appendices/VK_AMD_shader_early_and_late_fragment_tests.adoc b/appendices/VK_AMD_shader_early_and_late_fragment_tests.adoc index b6aa3ace..fb24747b 100644 --- a/appendices/VK_AMD_shader_early_and_late_fragment_tests.adoc +++ b/appendices/VK_AMD_shader_early_and_late_fragment_tests.adoc @@ -9,8 +9,6 @@ include::{generated}/meta/{refprefix}VK_AMD_shader_early_and_late_fragment_tests *Last Modified Date*:: 2021-09-14 *Interactions and External Dependencies*:: - - This extension requires - {spirv}/AMD/SPV_AMD_shader_early_and_late_fragment_tests.html[`SPV_AMD_shader_early_and_late_fragment_tests`] - This extension interacts with `apiext:VK_EXT_shader_stencil_export` *Contributors*:: - Tobias Hector, AMD diff --git a/appendices/VK_AMD_shader_explicit_vertex_parameter.adoc b/appendices/VK_AMD_shader_explicit_vertex_parameter.adoc index 996cfc5d..515bd811 100644 --- a/appendices/VK_AMD_shader_explicit_vertex_parameter.adoc +++ b/appendices/VK_AMD_shader_explicit_vertex_parameter.adoc @@ -11,8 +11,6 @@ include::{generated}/meta/{refprefix}VK_AMD_shader_explicit_vertex_parameter.ado *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`] - This extension provides API support for {GLregistry}/AMD/AMD_shader_explicit_vertex_parameter.txt[`GL_AMD_shader_explicit_vertex_parameter`] *Contributors*:: diff --git a/appendices/VK_AMD_shader_fragment_mask.adoc b/appendices/VK_AMD_shader_fragment_mask.adoc index 714609b5..54780fd7 100644 --- a/appendices/VK_AMD_shader_fragment_mask.adoc +++ b/appendices/VK_AMD_shader_fragment_mask.adoc @@ -11,8 +11,6 @@ include::{generated}/meta/{refprefix}VK_AMD_shader_fragment_mask.adoc[] *IP Status*:: No known IP claims. *Interactions and External Dependencies*:: - - This extension requires - {spirv}/AMD/SPV_AMD_shader_fragment_mask.html[`SPV_AMD_shader_fragment_mask`] - This extension provides API support for {GLSLregistry}/amd/GL_AMD_shader_fragment_mask.txt[`GL_AMD_shader_fragment_mask`] *Contributors*:: diff --git a/appendices/VK_AMD_shader_image_load_store_lod.adoc b/appendices/VK_AMD_shader_image_load_store_lod.adoc index e241481d..9d884168 100644 --- a/appendices/VK_AMD_shader_image_load_store_lod.adoc +++ b/appendices/VK_AMD_shader_image_load_store_lod.adoc @@ -9,8 +9,6 @@ include::{generated}/meta/{refprefix}VK_AMD_shader_image_load_store_lod.adoc[] *Last Modified Date*:: 2017-08-21 *Interactions and External Dependencies*:: - - 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 {GLregistry}/AMD/AMD_shader_image_load_store_lod.txt[`GL_AMD_shader_image_load_store_lod`] *IP Status*:: diff --git a/appendices/VK_AMD_shader_trinary_minmax.adoc b/appendices/VK_AMD_shader_trinary_minmax.adoc index e0264aea..d45655c7 100644 --- a/appendices/VK_AMD_shader_trinary_minmax.adoc +++ b/appendices/VK_AMD_shader_trinary_minmax.adoc @@ -11,8 +11,6 @@ include::{generated}/meta/{refprefix}VK_AMD_shader_trinary_minmax.adoc[] *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`] - This extension provides API support for {GLregistry}/AMD/AMD_shader_trinary_minmax.txt[`GL_AMD_shader_trinary_minmax`] *Contributors*:: diff --git a/appendices/VK_AMD_texture_gather_bias_lod.adoc b/appendices/VK_AMD_texture_gather_bias_lod.adoc index 90ecbc6a..05e1a914 100644 --- a/appendices/VK_AMD_texture_gather_bias_lod.adoc +++ b/appendices/VK_AMD_texture_gather_bias_lod.adoc @@ -11,8 +11,6 @@ include::{generated}/meta/{refprefix}VK_AMD_texture_gather_bias_lod.adoc[] *IP Status*:: No known IP claims. *Interactions and External Dependencies*:: - - This extension requires - {spirv}/AMD/SPV_AMD_texture_gather_bias_lod.html[`SPV_AMD_texture_gather_bias_lod`] - This extension provides API support for {GLregistry}/AMD/AMD_texture_gather_bias_lod.txt[`GL_AMD_texture_gather_bias_lod`] *Contributors*:: diff --git a/appendices/VK_ARM_shader_core_builtins.adoc b/appendices/VK_ARM_shader_core_builtins.adoc index ef27a2f5..72c5820e 100644 --- a/appendices/VK_ARM_shader_core_builtins.adoc +++ b/appendices/VK_ARM_shader_core_builtins.adoc @@ -9,8 +9,6 @@ include::{generated}/meta/{refprefix}VK_ARM_shader_core_builtins.adoc[] *Last Modified Date*:: 2022-10-05 *Interactions and External Dependencies*:: - - This extension requires - {spirv}/ARM/SPV_ARM_core_builtins.html[`SPV_ARM_core_builtins`]. - This extension provides API support for {GLSLregistry}/arm/GLSL_ARM_shader_core_builtins.txt[`GL_ARM_shader_core_builtins`] *Contributors*:: diff --git a/appendices/VK_EXT_4444_formats.adoc b/appendices/VK_EXT_4444_formats.adoc index ff5c19c7..6bdcc7c8 100644 --- a/appendices/VK_EXT_4444_formats.adoc +++ b/appendices/VK_EXT_4444_formats.adoc @@ -8,8 +8,6 @@ include::{generated}/meta/{refprefix}VK_EXT_4444_formats.adoc[] *Last Modified Date*:: 2020-07-28 -*Interactions and External Dependencies*:: - - Promoted to Vulkan 1.3 Core *IP Status*:: No known IP claims. *Contributors*:: diff --git a/appendices/VK_EXT_buffer_device_address.adoc b/appendices/VK_EXT_buffer_device_address.adoc index 987c04bb..e854f63a 100644 --- a/appendices/VK_EXT_buffer_device_address.adoc +++ b/appendices/VK_EXT_buffer_device_address.adoc @@ -11,8 +11,6 @@ include::{generated}/meta/{refprefix}VK_EXT_buffer_device_address.adoc[] *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`] - This extension provides API support for {GLSLregistry}/ext/GLSL_EXT_buffer_reference.txt[`GLSL_EXT_buffer_reference`] and diff --git a/appendices/VK_EXT_descriptor_indexing.adoc b/appendices/VK_EXT_descriptor_indexing.adoc index ce49fd55..ebe0fd0e 100644 --- a/appendices/VK_EXT_descriptor_indexing.adoc +++ b/appendices/VK_EXT_descriptor_indexing.adoc @@ -9,9 +9,6 @@ include::{generated}/meta/{refprefix}VK_EXT_descriptor_indexing.adoc[] *Last Modified Date*:: 2017-10-02 *Interactions and External Dependencies*:: - - Promoted to Vulkan 1.2 Core - - This extension requires - {spirv}/EXT/SPV_EXT_descriptor_indexing.html[`SPV_EXT_descriptor_indexing`] - This extension provides API support for {GLSLregistry}/ext/GL_EXT_nonuniform_qualifier.txt[`GL_EXT_nonuniform_qualifier`] *Contributors*:: diff --git a/appendices/VK_EXT_extended_dynamic_state.adoc b/appendices/VK_EXT_extended_dynamic_state.adoc index d79f522f..1ffd890e 100644 --- a/appendices/VK_EXT_extended_dynamic_state.adoc +++ b/appendices/VK_EXT_extended_dynamic_state.adoc @@ -8,8 +8,6 @@ include::{generated}/meta/{refprefix}VK_EXT_extended_dynamic_state.adoc[] *Last Modified Date*:: 2019-12-09 -*Interactions and External Dependencies*:: - - Promoted to Vulkan 1.3 Core *IP Status*:: No known IP claims. *Contributors*:: diff --git a/appendices/VK_EXT_extended_dynamic_state2.adoc b/appendices/VK_EXT_extended_dynamic_state2.adoc index fa0401af..867e3dce 100644 --- a/appendices/VK_EXT_extended_dynamic_state2.adoc +++ b/appendices/VK_EXT_extended_dynamic_state2.adoc @@ -8,8 +8,6 @@ include::{generated}/meta/{refprefix}VK_EXT_extended_dynamic_state2.adoc[] *Last Modified Date*:: 2021-04-12 -*Interactions and External Dependencies*:: - - Promoted to Vulkan 1.3 Core *IP Status*:: No known IP claims. *Contributors*:: diff --git a/appendices/VK_EXT_fragment_density_map.adoc b/appendices/VK_EXT_fragment_density_map.adoc index 81205f5d..ec18fdd8 100644 --- a/appendices/VK_EXT_fragment_density_map.adoc +++ b/appendices/VK_EXT_fragment_density_map.adoc @@ -9,8 +9,6 @@ include::{generated}/meta/{refprefix}VK_EXT_fragment_density_map.adoc[] *Last Modified Date*:: 2021-09-30 *Interactions and External Dependencies*:: - - This extension requires - {spirv}/EXT/SPV_EXT_fragment_invocation_density.html[`SPV_EXT_fragment_invocation_density`] - This extension provides API support for {GLSLregistry}/ext/GLSL_EXT_fragment_invocation_density.txt[`GL_EXT_fragment_invocation_density`] *Contributors*:: diff --git a/appendices/VK_EXT_fragment_shader_interlock.adoc b/appendices/VK_EXT_fragment_shader_interlock.adoc index 0bb7f69c..9b266e28 100644 --- a/appendices/VK_EXT_fragment_shader_interlock.adoc +++ b/appendices/VK_EXT_fragment_shader_interlock.adoc @@ -9,8 +9,6 @@ include::{generated}/meta/{refprefix}VK_EXT_fragment_shader_interlock.adoc[] *Last Modified Date*:: 2019-05-02 *Interactions and External Dependencies*:: - - This extension requires - {spirv}/EXT/SPV_EXT_fragment_shader_interlock.html[`SPV_EXT_fragment_shader_interlock`] - This extension provides API support for {GLregistry}/ARB/ARB_fragment_shader_interlock.txt[`GL_ARB_fragment_shader_interlock`] *Contributors*:: diff --git a/appendices/VK_EXT_host_query_reset.adoc b/appendices/VK_EXT_host_query_reset.adoc index 8a25b26a..954ba01a 100644 --- a/appendices/VK_EXT_host_query_reset.adoc +++ b/appendices/VK_EXT_host_query_reset.adoc @@ -10,8 +10,6 @@ include::{generated}/meta/{refprefix}VK_EXT_host_query_reset.adoc[] 2019-03-06 *IP Status*:: No known IP claims. -*Interactions and External Dependencies*:: - - Promoted to Vulkan 1.2 Core *Contributors*:: - Bas Nieuwenhuizen, Google - Faith Ekstrand, Intel diff --git a/appendices/VK_EXT_image_robustness.adoc b/appendices/VK_EXT_image_robustness.adoc index 4d25d456..3e22446a 100644 --- a/appendices/VK_EXT_image_robustness.adoc +++ b/appendices/VK_EXT_image_robustness.adoc @@ -8,8 +8,6 @@ include::{generated}/meta/{refprefix}VK_EXT_image_robustness.adoc[] *Last Modified Date*:: 2020-04-27 -*Interactions and External Dependencies*:: - - Promoted to Vulkan 1.3 Core *IP Status*:: No known IP claims. *Contributors*:: diff --git a/appendices/VK_EXT_inline_uniform_block.adoc b/appendices/VK_EXT_inline_uniform_block.adoc index 9f6c6a1b..71f48b29 100644 --- a/appendices/VK_EXT_inline_uniform_block.adoc +++ b/appendices/VK_EXT_inline_uniform_block.adoc @@ -8,8 +8,6 @@ include::{generated}/meta/{refprefix}VK_EXT_inline_uniform_block.adoc[] *Last Modified Date*:: 2018-08-01 -*Interactions and External Dependencies*:: - - Promoted to Vulkan 1.3 Core *IP Status*:: No known IP claims. *Contributors*:: diff --git a/appendices/VK_EXT_mesh_shader.adoc b/appendices/VK_EXT_mesh_shader.adoc index ca54605d..d19a8659 100644 --- a/appendices/VK_EXT_mesh_shader.adoc +++ b/appendices/VK_EXT_mesh_shader.adoc @@ -9,8 +9,6 @@ include::{generated}/meta/{refprefix}VK_EXT_mesh_shader.adoc[] *Last Modified Date*:: 2022-01-20 *Interactions and External Dependencies*:: - - This extension requires - {spirv}/EXT/SPV_EXT_mesh_shader.html[`SPV_EXT_mesh_shader`] - This extension provides API support for https://github.com/KhronosGroup/GLSL/blob/master/extensions/ext/GLSL_EXT_mesh_shader.txt[`GLSL_EXT_mesh_shader`] - Interacts with Vulkan 1.1 diff --git a/appendices/VK_EXT_multi_draw.adoc b/appendices/VK_EXT_multi_draw.adoc index 2fc9a603..497d0b97 100644 --- a/appendices/VK_EXT_multi_draw.adoc +++ b/appendices/VK_EXT_multi_draw.adoc @@ -8,6 +8,9 @@ include::{generated}/meta/{refprefix}VK_EXT_multi_draw.adoc[] *Last Modified Date*:: 2021-05-19 +*Interactions and External Dependencies*:: + - Interacts with Vulkan 1.1. + - Interacts with `apiext:VK_KHR_shader_draw_parameters`. *IP Status*:: No known IP claims. *Contributors*:: diff --git a/appendices/VK_EXT_opacity_micromap.adoc b/appendices/VK_EXT_opacity_micromap.adoc index b6a720bf..0f6a8123 100644 --- a/appendices/VK_EXT_opacity_micromap.adoc +++ b/appendices/VK_EXT_opacity_micromap.adoc @@ -9,8 +9,6 @@ include::{generated}/meta/{refprefix}VK_EXT_opacity_micromap.adoc[] *Last Modified Date*:: 2022-08-24 *Interactions and External Dependencies*:: - - This extension requires - {spirv}/EXT/SPV_EXT_opacity_micromap.html[`SPV_EXT_opacity_micromap`] - This extension provides API support for {GLSLregistry}/ext/GLSL_EXT_opacity_micromap.txt[`GLSL_EXT_opacity_micromap`] *Contributors*:: diff --git a/appendices/VK_EXT_pipeline_creation_cache_control.adoc b/appendices/VK_EXT_pipeline_creation_cache_control.adoc index 46f49793..21e6da87 100644 --- a/appendices/VK_EXT_pipeline_creation_cache_control.adoc +++ b/appendices/VK_EXT_pipeline_creation_cache_control.adoc @@ -8,8 +8,6 @@ include::{generated}/meta/{refprefix}VK_EXT_pipeline_creation_cache_control.adoc *Last Modified Date*:: 2020-03-23 -*Interactions and External Dependencies*:: - - Promoted to Vulkan 1.3 Core *IP Status*:: No known IP claims. *Contributors*:: diff --git a/appendices/VK_EXT_pipeline_creation_feedback.adoc b/appendices/VK_EXT_pipeline_creation_feedback.adoc index ff8fdb20..dac4bd15 100644 --- a/appendices/VK_EXT_pipeline_creation_feedback.adoc +++ b/appendices/VK_EXT_pipeline_creation_feedback.adoc @@ -8,8 +8,6 @@ include::{generated}/meta/{refprefix}VK_EXT_pipeline_creation_feedback.adoc[] *Last Modified Date*:: 2019-03-12 -*Interactions and External Dependencies*:: - - Promoted to Vulkan 1.3 Core *IP Status*:: No known IP claims. *Contributors*:: diff --git a/appendices/VK_EXT_post_depth_coverage.adoc b/appendices/VK_EXT_post_depth_coverage.adoc index 58e9bef0..a4071fd7 100644 --- a/appendices/VK_EXT_post_depth_coverage.adoc +++ b/appendices/VK_EXT_post_depth_coverage.adoc @@ -9,8 +9,6 @@ include::{generated}/meta/{refprefix}VK_EXT_post_depth_coverage.adoc[] *Last Modified Date*:: 2017-07-17 *Interactions and External Dependencies*:: - - This extension requires - {spirv}/KHR/SPV_KHR_post_depth_coverage.html[`SPV_KHR_post_depth_coverage`] - This extension provides API support for {GLregistry}/ARB/ARB_post_depth_coverage.txt[`GL_ARB_post_depth_coverage`] and diff --git a/appendices/VK_EXT_private_data.adoc b/appendices/VK_EXT_private_data.adoc index cdf8a45f..3d3185c8 100644 --- a/appendices/VK_EXT_private_data.adoc +++ b/appendices/VK_EXT_private_data.adoc @@ -8,8 +8,6 @@ include::{generated}/meta/{refprefix}VK_EXT_private_data.adoc[] *Last Modified Date*:: 2020-03-25 -*Interactions and External Dependencies*:: - - Promoted to Vulkan 1.3 Core *IP Status*:: No known IP claims. *Contributors*:: diff --git a/appendices/VK_EXT_sampler_filter_minmax.adoc b/appendices/VK_EXT_sampler_filter_minmax.adoc index a3cea86e..209c141b 100644 --- a/appendices/VK_EXT_sampler_filter_minmax.adoc +++ b/appendices/VK_EXT_sampler_filter_minmax.adoc @@ -8,8 +8,6 @@ include::{generated}/meta/{refprefix}VK_EXT_sampler_filter_minmax.adoc[] *Last Modified Date*:: 2017-05-19 -*Interactions and External Dependencies*:: - - Promoted to Vulkan 1.2 Core *IP Status*:: No known IP claims. *Contributors*:: diff --git a/appendices/VK_EXT_scalar_block_layout.adoc b/appendices/VK_EXT_scalar_block_layout.adoc index 66f29035..3a059eff 100644 --- a/appendices/VK_EXT_scalar_block_layout.adoc +++ b/appendices/VK_EXT_scalar_block_layout.adoc @@ -8,8 +8,6 @@ include::{generated}/meta/{refprefix}VK_EXT_scalar_block_layout.adoc[] *Last Modified Date*:: 2018-11-14 -*Interactions and External Dependencies*:: - - Promoted to Vulkan 1.2 Core *Contributors*:: - Jeff Bolz - Jan-Harald Fredriksen diff --git a/appendices/VK_EXT_separate_stencil_usage.adoc b/appendices/VK_EXT_separate_stencil_usage.adoc index e9a3bc28..99f9cdaa 100644 --- a/appendices/VK_EXT_separate_stencil_usage.adoc +++ b/appendices/VK_EXT_separate_stencil_usage.adoc @@ -8,8 +8,6 @@ include::{generated}/meta/{refprefix}VK_EXT_separate_stencil_usage.adoc[] *Last Modified Date*:: 2018-11-08 -*Interactions and External Dependencies*:: - - Promoted to Vulkan 1.2 Core *IP Status*:: No known IP claims. *Contributors*:: diff --git a/appendices/VK_EXT_shader_atomic_float.adoc b/appendices/VK_EXT_shader_atomic_float.adoc index 9292ffca..ccf2917c 100644 --- a/appendices/VK_EXT_shader_atomic_float.adoc +++ b/appendices/VK_EXT_shader_atomic_float.adoc @@ -11,8 +11,6 @@ include::{generated}/meta/{refprefix}VK_EXT_shader_atomic_float.adoc[] *IP Status*:: No known IP claims. *Interactions and External Dependencies*:: - - This extension requires - {spirv}/EXT/SPV_EXT_shader_atomic_float_add.html[`SPV_EXT_shader_atomic_float_add`] - This extension provides API support for {GLSLregistry}/ext/GLSL_EXT_shader_atomic_float.txt[`GL_EXT_shader_atomic_float`] *Contributors*:: diff --git a/appendices/VK_EXT_shader_atomic_float2.adoc b/appendices/VK_EXT_shader_atomic_float2.adoc index 2ee46d35..ce3446b7 100644 --- a/appendices/VK_EXT_shader_atomic_float2.adoc +++ b/appendices/VK_EXT_shader_atomic_float2.adoc @@ -11,11 +11,6 @@ include::{generated}/meta/{refprefix}VK_EXT_shader_atomic_float2.adoc[] *IP Status*:: No known IP claims. *Interactions and External Dependencies*:: - - This extension requires the VK_EXT_shader_atomic_float extension. - - This extension requires - {spirv}/EXT/SPV_EXT_shader_atomic_float_min_max.html[`SPV_EXT_shader_atomic_float_min_max`] - and - {spirv}/EXT/SPV_EXT_shader_atomic_float16_add.html[`SPV_EXT_shader_atomic_float16_add`] - This extension provides API support for {GLSLregistry}/ext/GLSL_EXT_shader_atomic_float2.txt[`GLSL_EXT_shader_atomic_float2`] *Contributors*:: diff --git a/appendices/VK_EXT_shader_demote_to_helper_invocation.adoc b/appendices/VK_EXT_shader_demote_to_helper_invocation.adoc index 27bb4aae..29e29160 100644 --- a/appendices/VK_EXT_shader_demote_to_helper_invocation.adoc +++ b/appendices/VK_EXT_shader_demote_to_helper_invocation.adoc @@ -8,13 +8,9 @@ include::{generated}/meta/{refprefix}VK_EXT_shader_demote_to_helper_invocation.a *Last Modified Date*:: 2019-06-01 -*Interactions and External Dependencies*:: - - Promoted to Vulkan 1.3 Core *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`] - This extension provides API support for {GLSLregistry}/ext/GLSL_EXT_demote_to_helper_invocation.txt[`GL_EXT_demote_to_helper_invocation`] *Contributors*:: diff --git a/appendices/VK_EXT_shader_image_atomic_int64.adoc b/appendices/VK_EXT_shader_image_atomic_int64.adoc index a3c724aa..cf905129 100644 --- a/appendices/VK_EXT_shader_image_atomic_int64.adoc +++ b/appendices/VK_EXT_shader_image_atomic_int64.adoc @@ -11,8 +11,6 @@ include::{generated}/meta/{refprefix}VK_EXT_shader_image_atomic_int64.adoc[] *IP Status*:: No known IP claims. *Interactions and External Dependencies*:: - - This extension requires - {spirv}/EXT/SPV_EXT_shader_image_int64.html[`SPV_EXT_shader_image_int64`] - This extension provides API support for {GLSLregistry}/ext/GLSL_EXT_shader_image_int64.txt[`GLSL_EXT_shader_image_int64`] *Contributors*:: diff --git a/appendices/VK_EXT_shader_stencil_export.adoc b/appendices/VK_EXT_shader_stencil_export.adoc index a31f7ea6..aadffffb 100644 --- a/appendices/VK_EXT_shader_stencil_export.adoc +++ b/appendices/VK_EXT_shader_stencil_export.adoc @@ -11,8 +11,6 @@ include::{generated}/meta/{refprefix}VK_EXT_shader_stencil_export.adoc[] *IP Status*:: No known IP claims. *Interactions and External Dependencies*:: - - This extension requires - {spirv}/EXT/SPV_EXT_shader_stencil_export.html[`SPV_EXT_shader_stencil_export`] - This extension provides API support for {GLregistry}/ARB/ARB_shader_stencil_export.txt[`GL_ARB_shader_stencil_export`] *Contributors*:: diff --git a/appendices/VK_EXT_shader_subgroup_ballot.adoc b/appendices/VK_EXT_shader_subgroup_ballot.adoc index 283a3aeb..53098bb2 100644 --- a/appendices/VK_EXT_shader_subgroup_ballot.adoc +++ b/appendices/VK_EXT_shader_subgroup_ballot.adoc @@ -11,8 +11,6 @@ include::{generated}/meta/{refprefix}VK_EXT_shader_subgroup_ballot.adoc[] *IP Status*:: No known IP claims. *Interactions and External Dependencies*:: - - This extension requires - {spirv}/KHR/SPV_KHR_shader_ballot.html[`SPV_KHR_shader_ballot`] - This extension provides API support for {GLregistry}/ARB/ARB_shader_ballot.txt[`GL_ARB_shader_ballot`] *Contributors*:: diff --git a/appendices/VK_EXT_shader_subgroup_vote.adoc b/appendices/VK_EXT_shader_subgroup_vote.adoc index 5a18e41b..fce8267a 100644 --- a/appendices/VK_EXT_shader_subgroup_vote.adoc +++ b/appendices/VK_EXT_shader_subgroup_vote.adoc @@ -11,8 +11,6 @@ include::{generated}/meta/{refprefix}VK_EXT_shader_subgroup_vote.adoc[] *IP Status*:: No known IP claims. *Interactions and External Dependencies*:: - - This extension requires - {spirv}/KHR/SPV_KHR_subgroup_vote.html[`SPV_KHR_subgroup_vote`] - This extension provides API support for {GLregistry}/ARB/ARB_shader_group_vote.txt[`GL_ARB_shader_group_vote`] *Contributors*:: diff --git a/appendices/VK_EXT_shader_tile_image.adoc b/appendices/VK_EXT_shader_tile_image.adoc index a0d2ff94..7f8baf19 100644 --- a/appendices/VK_EXT_shader_tile_image.adoc +++ b/appendices/VK_EXT_shader_tile_image.adoc @@ -11,8 +11,6 @@ include::{generated}/meta/{refprefix}VK_EXT_shader_tile_image.adoc[] *IP Status*:: No known IP claims. *Interactions and External Dependencies*:: - - This extension requires - {spirv}/EXT/SPV_EXT_shader_tile_image.html[`SPV_EXT_shader_tile_image`] - This extension provides API support for https://raw.githubusercontent.com/KhronosGroup/GLSL/master/extensions/ext/GLSL_EXT_shader_tile_image.txt[`GL_EXT_shader_tile_image`] *Contributors*:: diff --git a/appendices/VK_EXT_shader_viewport_index_layer.adoc b/appendices/VK_EXT_shader_viewport_index_layer.adoc index 14bc773e..7c623a40 100644 --- a/appendices/VK_EXT_shader_viewport_index_layer.adoc +++ b/appendices/VK_EXT_shader_viewport_index_layer.adoc @@ -9,9 +9,6 @@ include::{generated}/meta/{refprefix}VK_EXT_shader_viewport_index_layer.adoc[] *Last Modified Date*:: 2017-08-08 *Interactions and External Dependencies*:: - - Promoted to Vulkan 1.2 Core - - This extension requires - {spirv}/EXT/SPV_EXT_shader_viewport_index_layer.html[`SPV_EXT_shader_viewport_index_layer`] - This extension provides API support for {GLregistry}/ARB/ARB_shader_viewport_layer_array.txt[`GL_ARB_shader_viewport_layer_array`], {GLregistry}/AMD/AMD_vertex_shader_layer.txt[`GL_AMD_vertex_shader_layer`], diff --git a/appendices/VK_EXT_subgroup_size_control.adoc b/appendices/VK_EXT_subgroup_size_control.adoc index 2743de7d..e4adffe2 100644 --- a/appendices/VK_EXT_subgroup_size_control.adoc +++ b/appendices/VK_EXT_subgroup_size_control.adoc @@ -8,8 +8,6 @@ include::{generated}/meta/{refprefix}VK_EXT_subgroup_size_control.adoc[] *Last Modified Date*:: 2019-03-05 -*Interactions and External Dependencies*:: - - Promoted to Vulkan 1.3 Core *Contributors*:: - Jeff Bolz, NVIDIA - Faith Ekstrand, Intel diff --git a/appendices/VK_EXT_texel_buffer_alignment.adoc b/appendices/VK_EXT_texel_buffer_alignment.adoc index 6faf8d62..553c7003 100644 --- a/appendices/VK_EXT_texel_buffer_alignment.adoc +++ b/appendices/VK_EXT_texel_buffer_alignment.adoc @@ -8,8 +8,6 @@ include::{generated}/meta/{refprefix}VK_EXT_texel_buffer_alignment.adoc[] *Last Modified Date*:: 2019-06-06 -*Interactions and External Dependencies*:: - - Promoted to Vulkan 1.3 Core *IP Status*:: No known IP claims. *Contributors*:: diff --git a/appendices/VK_EXT_texture_compression_astc_hdr.adoc b/appendices/VK_EXT_texture_compression_astc_hdr.adoc index 5eb9e9be..a52e8e66 100644 --- a/appendices/VK_EXT_texture_compression_astc_hdr.adoc +++ b/appendices/VK_EXT_texture_compression_astc_hdr.adoc @@ -8,8 +8,6 @@ include::{generated}/meta/{refprefix}VK_EXT_texture_compression_astc_hdr.adoc[] *Last Modified Date*:: 2019-05-28 -*Interactions and External Dependencies*:: - - Promoted to Vulkan 1.3 Core *IP Status*:: No known issues. *Contributors*:: diff --git a/appendices/VK_EXT_tooling_info.adoc b/appendices/VK_EXT_tooling_info.adoc index fc498fb1..ffa085c0 100644 --- a/appendices/VK_EXT_tooling_info.adoc +++ b/appendices/VK_EXT_tooling_info.adoc @@ -8,8 +8,6 @@ include::{generated}/meta/{refprefix}VK_EXT_tooling_info.adoc[] *Last Modified Date*:: 2018-11-05 -*Interactions and External Dependencies*:: - - Promoted to Vulkan 1.3 Core *Contributors*:: - Rolando Caloca - Matthaeus Chajdas diff --git a/appendices/VK_EXT_ycbcr_2plane_444_formats.adoc b/appendices/VK_EXT_ycbcr_2plane_444_formats.adoc index 82f32242..bcd918b1 100644 --- a/appendices/VK_EXT_ycbcr_2plane_444_formats.adoc +++ b/appendices/VK_EXT_ycbcr_2plane_444_formats.adoc @@ -8,8 +8,6 @@ include::{generated}/meta/{refprefix}VK_EXT_ycbcr_2plane_444_formats.adoc[] *Last Modified Date*:: 2020-07-28 -*Interactions and External Dependencies*:: - - Promoted to Vulkan 1.3 Core *IP Status*:: No known IP claims. *Contributors*:: diff --git a/appendices/VK_GOOGLE_decorate_string.adoc b/appendices/VK_GOOGLE_decorate_string.adoc index 864ad4d1..e6fce0c5 100644 --- a/appendices/VK_GOOGLE_decorate_string.adoc +++ b/appendices/VK_GOOGLE_decorate_string.adoc @@ -10,9 +10,6 @@ include::{generated}/meta/{refprefix}VK_GOOGLE_decorate_string.adoc[] 2018-07-09 *IP Status*:: No known IP claims. -*Interactions and External Dependencies*:: - - This extension requires - {spirv}/GOOGLE/SPV_GOOGLE_decorate_string.html[`SPV_GOOGLE_decorate_string`] *Contributors*:: - Hai Nguyen, Google - Neil Henning, AMD diff --git a/appendices/VK_GOOGLE_hlsl_functionality1.adoc b/appendices/VK_GOOGLE_hlsl_functionality1.adoc index 63cf0305..496c7cd2 100644 --- a/appendices/VK_GOOGLE_hlsl_functionality1.adoc +++ b/appendices/VK_GOOGLE_hlsl_functionality1.adoc @@ -10,9 +10,6 @@ include::{generated}/meta/{refprefix}VK_GOOGLE_hlsl_functionality1.adoc[] 2018-07-09 *IP Status*:: No known IP claims. -*Interactions and External Dependencies*:: - - This extension requires - {spirv}/GOOGLE/SPV_GOOGLE_hlsl_functionality1.html[`SPV_GOOGLE_hlsl_functionality1`] *Contributors*:: - Hai Nguyen, Google - Neil Henning, AMD diff --git a/appendices/VK_GOOGLE_user_type.adoc b/appendices/VK_GOOGLE_user_type.adoc index 8e5fd6b1..cec559aa 100644 --- a/appendices/VK_GOOGLE_user_type.adoc +++ b/appendices/VK_GOOGLE_user_type.adoc @@ -10,9 +10,6 @@ include::{generated}/meta/{refprefix}VK_GOOGLE_user_type.adoc[] 2019-07-09 *IP Status*:: No known IP claims. -*Interactions and External Dependencies*:: - - This extension requires - {spirv}/GOOGLE/SPV_GOOGLE_user_type.html[`SPV_GOOGLE_user_type`] *Contributors*:: - Kaye Mason, Google - Hai Nguyen, Google diff --git a/appendices/VK_HUAWEI_cluster_culling_shader.adoc b/appendices/VK_HUAWEI_cluster_culling_shader.adoc index b1f90c53..34b022da 100644 --- a/appendices/VK_HUAWEI_cluster_culling_shader.adoc +++ b/appendices/VK_HUAWEI_cluster_culling_shader.adoc @@ -9,8 +9,6 @@ include::{generated}/meta/{refprefix}VK_HUAWEI_cluster_culling_shader.adoc[] *Last Modified Date*:: 2022-11-17 *Interactions and External Dependencies*:: - - This extension requires - {spirv}/HUAWEI/SPV_HUAWEI_cluster_culling_shader.html[`SPV_HUAWEI_cluster_culling_shader`]. - This extension provides API support for {GLSLregistry}/huawei/GLSL_HUAWEI_cluster_culling_shader.txt[`GL_HUAWEI_cluster_culling_shader`]. *Contributors*:: diff --git a/appendices/VK_HUAWEI_subpass_shading.adoc b/appendices/VK_HUAWEI_subpass_shading.adoc index c6e581fd..b32e97f4 100644 --- a/appendices/VK_HUAWEI_subpass_shading.adoc +++ b/appendices/VK_HUAWEI_subpass_shading.adoc @@ -9,8 +9,6 @@ include::{generated}/meta/{refprefix}VK_HUAWEI_subpass_shading.adoc[] *Last Modified Date*:: 2021-06-01 *Interactions and External Dependencies*:: - - This extension requires - {spirv}/HUAWEI/SPV_HUAWEI_subpass_shading.html[`SPV_HUAWEI_subpass_shading`]. - This extension provides API support for {GLSLregistry}/huawei/GLSL_HUAWEI_subpass_shading.txt[`GL_HUAWEI_subpass_shading`]. *Contributors*:: diff --git a/appendices/VK_INTEL_shader_integer_functions2.adoc b/appendices/VK_INTEL_shader_integer_functions2.adoc index 44a29f95..9b2f1f44 100644 --- a/appendices/VK_INTEL_shader_integer_functions2.adoc +++ b/appendices/VK_INTEL_shader_integer_functions2.adoc @@ -11,8 +11,6 @@ include::{generated}/meta/{refprefix}VK_INTEL_shader_integer_functions2.adoc[] *IP Status*:: No known IP claims. *Interactions and External Dependencies*:: - - This extension requires - {spirv}/INTEL/SPV_INTEL_shader_integer_functions2.html[`SPV_INTEL_shader_integer_functions2`]. - This extension provides API support for {GLregistry}/INTEL/INTEL_shader_integer_functions2.txt[`GL_INTEL_shader_integer_functions2`]. *Contributors*:: @@ -28,8 +26,8 @@ environment. The added integer functions are defined by the {spirv}/INTEL/SPV_INTEL_shader_integer_functions2.html[`SPV_INTEL_shader_integer_functions2`] -SPIR-V extension and can be used with the GL_INTEL_shader_integer_functions2 -GLSL extension. +SPIR-V extension and can be used with the +`GL_INTEL_shader_integer_functions2` GLSL extension. include::{generated}/interfaces/VK_INTEL_shader_integer_functions2.adoc[] diff --git a/appendices/VK_KHR_16bit_storage.adoc b/appendices/VK_KHR_16bit_storage.adoc index 03af3dd3..8e04525f 100644 --- a/appendices/VK_KHR_16bit_storage.adoc +++ b/appendices/VK_KHR_16bit_storage.adoc @@ -11,9 +11,6 @@ include::{generated}/meta/{refprefix}VK_KHR_16bit_storage.adoc[] *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`] - This extension provides API support for {GLSLregistry}/ext/GL_EXT_shader_16bit_storage.txt[`GL_EXT_shader_16bit_storage`] *Contributors*:: diff --git a/appendices/VK_KHR_8bit_storage.adoc b/appendices/VK_KHR_8bit_storage.adoc index c5201ea3..0e82896d 100644 --- a/appendices/VK_KHR_8bit_storage.adoc +++ b/appendices/VK_KHR_8bit_storage.adoc @@ -9,9 +9,6 @@ include::{generated}/meta/{refprefix}VK_KHR_8bit_storage.adoc[] *Last Modified Date*:: 2018-02-05 *Interactions and External Dependencies*:: - - Promoted to Vulkan 1.2 Core - - This extension requires - {spirv}/KHR/SPV_KHR_8bit_storage.html[`SPV_KHR_8bit_storage`] - This extension provides API support for {GLSLregistry}/ext/GL_EXT_shader_16bit_storage.txt[`GL_EXT_shader_16bit_storage`] *IP Status*:: diff --git a/appendices/VK_KHR_bind_memory2.adoc b/appendices/VK_KHR_bind_memory2.adoc index ef8ecae7..de14330b 100644 --- a/appendices/VK_KHR_bind_memory2.adoc +++ b/appendices/VK_KHR_bind_memory2.adoc @@ -10,8 +10,6 @@ include::{generated}/meta/{refprefix}VK_KHR_bind_memory2.adoc[] 2017-09-05 *IP Status*:: No known IP claims. -*Interactions and External Dependencies*:: - - Promoted to Vulkan 1.1 Core *Contributors*:: - Jeff Bolz, NVIDIA - Tobias Hector, Imagination Technologies diff --git a/appendices/VK_KHR_buffer_device_address.adoc b/appendices/VK_KHR_buffer_device_address.adoc index 0bd4e9a0..b87f3401 100644 --- a/appendices/VK_KHR_buffer_device_address.adoc +++ b/appendices/VK_KHR_buffer_device_address.adoc @@ -11,9 +11,6 @@ include::{generated}/meta/{refprefix}VK_KHR_buffer_device_address.adoc[] *IP Status*:: 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 {GLSLregistry}/ext/GLSL_EXT_buffer_reference.txt[`GL_EXT_buffer_reference`] and diff --git a/appendices/VK_KHR_cooperative_matrix.adoc b/appendices/VK_KHR_cooperative_matrix.adoc index eb709cdb..d3d3edc6 100644 --- a/appendices/VK_KHR_cooperative_matrix.adoc +++ b/appendices/VK_KHR_cooperative_matrix.adoc @@ -9,8 +9,6 @@ include::{generated}/meta/{refprefix}VK_KHR_cooperative_matrix.adoc[] *Last Modified Date*:: 2023-05-03 *Interactions and External Dependencies*:: - - This extension requires - {spirv}/KHR/SPV_KHR_cooperative_matrix.html[`SPV_KHR_cooperative_matrix`] - This extension provides API support for {GLSLregistry}/khr/GLSL_KHR_cooperative_matrix.txt[`GLSL_KHR_cooperative_matrix`] *Contributors*:: diff --git a/appendices/VK_KHR_copy_commands2.adoc b/appendices/VK_KHR_copy_commands2.adoc index c8d634b5..b78ebe41 100644 --- a/appendices/VK_KHR_copy_commands2.adoc +++ b/appendices/VK_KHR_copy_commands2.adoc @@ -8,10 +8,6 @@ include::{generated}/meta/{refprefix}VK_KHR_copy_commands2.adoc[] *Last Modified Date*:: 2020-07-06 -*Interactions and External Dependencies*:: - - Promoted to Vulkan 1.3 Core -*Interactions and External Dependencies*:: - - None *Contributors*:: - Jeff Leger, Qualcomm - Tobias Hector, AMD diff --git a/appendices/VK_KHR_create_renderpass2.adoc b/appendices/VK_KHR_create_renderpass2.adoc index 62c87c24..040356b3 100644 --- a/appendices/VK_KHR_create_renderpass2.adoc +++ b/appendices/VK_KHR_create_renderpass2.adoc @@ -8,8 +8,6 @@ include::{generated}/meta/{refprefix}VK_KHR_create_renderpass2.adoc[] *Last Modified Date*:: 2018-02-07 -*Interactions and External Dependencies*:: - - Promoted to Vulkan 1.2 Core *Contributors*:: - Tobias Hector - Jeff Bolz diff --git a/appendices/VK_KHR_dedicated_allocation.adoc b/appendices/VK_KHR_dedicated_allocation.adoc index 1bcbdafa..45a3f34b 100644 --- a/appendices/VK_KHR_dedicated_allocation.adoc +++ b/appendices/VK_KHR_dedicated_allocation.adoc @@ -10,8 +10,6 @@ include::{generated}/meta/{refprefix}VK_KHR_dedicated_allocation.adoc[] 2017-09-05 *IP Status*:: No known IP claims. -*Interactions and External Dependencies*:: - - Promoted to Vulkan 1.1 Core *Contributors*:: - Jeff Bolz, NVIDIA - Faith Ekstrand, Intel diff --git a/appendices/VK_KHR_depth_stencil_resolve.adoc b/appendices/VK_KHR_depth_stencil_resolve.adoc index 0b9352ef..11557589 100644 --- a/appendices/VK_KHR_depth_stencil_resolve.adoc +++ b/appendices/VK_KHR_depth_stencil_resolve.adoc @@ -8,8 +8,6 @@ include::{generated}/meta/{refprefix}VK_KHR_depth_stencil_resolve.adoc[] *Last Modified Date*:: 2018-04-09 -*Interactions and External Dependencies*:: - - Promoted to Vulkan 1.2 Core *Contributors*:: - Jan-Harald Fredriksen, Arm - Andrew Garrard, Samsung Electronics diff --git a/appendices/VK_KHR_descriptor_update_template.adoc b/appendices/VK_KHR_descriptor_update_template.adoc index 4fa9b0c8..edd38006 100644 --- a/appendices/VK_KHR_descriptor_update_template.adoc +++ b/appendices/VK_KHR_descriptor_update_template.adoc @@ -12,7 +12,6 @@ include::{generated}/meta/{refprefix}VK_KHR_descriptor_update_template.adoc[] No known IP claims. *Interactions and External Dependencies*:: - Interacts with `apiext:VK_KHR_push_descriptor` - - Promoted to Vulkan 1.1 Core *Contributors*:: - Jeff Bolz, NVIDIA - Michael Worcester, Imagination Technologies diff --git a/appendices/VK_KHR_device_group.adoc b/appendices/VK_KHR_device_group.adoc index 01a73630..5d3a11ad 100644 --- a/appendices/VK_KHR_device_group.adoc +++ b/appendices/VK_KHR_device_group.adoc @@ -10,10 +10,6 @@ include::{generated}/meta/{refprefix}VK_KHR_device_group.adoc[] 2017-10-10 *IP Status*:: No known IP claims. -*Interactions and External Dependencies*:: - - This extension requires - {spirv}/KHR/SPV_KHR_device_group.html[`SPV_KHR_device_group`] - - Promoted to Vulkan 1.1 Core *Contributors*:: - Jeff Bolz, NVIDIA - Tobias Hector, Imagination Technologies diff --git a/appendices/VK_KHR_device_group_creation.adoc b/appendices/VK_KHR_device_group_creation.adoc index 41c44f92..85e01e59 100644 --- a/appendices/VK_KHR_device_group_creation.adoc +++ b/appendices/VK_KHR_device_group_creation.adoc @@ -10,8 +10,6 @@ include::{generated}/meta/{refprefix}VK_KHR_device_group_creation.adoc[] 2016-10-19 *IP Status*:: No known IP claims. -*Interactions and External Dependencies*:: - - Promoted to Vulkan 1.1 Core *Contributors*:: - Jeff Bolz, NVIDIA diff --git a/appendices/VK_KHR_draw_indirect_count.adoc b/appendices/VK_KHR_draw_indirect_count.adoc index c9b0f1bb..6ffe49d8 100644 --- a/appendices/VK_KHR_draw_indirect_count.adoc +++ b/appendices/VK_KHR_draw_indirect_count.adoc @@ -8,8 +8,6 @@ include::{generated}/meta/{refprefix}VK_KHR_draw_indirect_count.adoc[] *Last Modified Date*:: 2017-08-25 -*Interactions and External Dependencies*:: - - Promoted to Vulkan 1.2 Core *IP Status*:: No known IP claims. *Contributors*:: diff --git a/appendices/VK_KHR_driver_properties.adoc b/appendices/VK_KHR_driver_properties.adoc index 9455c8e9..3f44845c 100644 --- a/appendices/VK_KHR_driver_properties.adoc +++ b/appendices/VK_KHR_driver_properties.adoc @@ -8,8 +8,6 @@ include::{generated}/meta/{refprefix}VK_KHR_driver_properties.adoc[] *Last Modified Date*:: 2018-04-11 -*Interactions and External Dependencies*:: - - Promoted to Vulkan 1.2 Core *IP Status*:: No known IP claims. *Contributors*:: diff --git a/appendices/VK_KHR_dynamic_rendering.adoc b/appendices/VK_KHR_dynamic_rendering.adoc index de866f8e..fa30601b 100644 --- a/appendices/VK_KHR_dynamic_rendering.adoc +++ b/appendices/VK_KHR_dynamic_rendering.adoc @@ -8,8 +8,6 @@ include::{generated}/meta/{refprefix}VK_KHR_dynamic_rendering.adoc[] *Last Modified Date*:: 2021-10-06 -*Interactions and External Dependencies*:: - - Promoted to Vulkan 1.3 Core *Contributors*:: - Tobias Hector, AMD - Arseny Kapoulkine, Roblox diff --git a/appendices/VK_KHR_external_fence.adoc b/appendices/VK_KHR_external_fence.adoc index b00e63be..9e6b81ce 100644 --- a/appendices/VK_KHR_external_fence.adoc +++ b/appendices/VK_KHR_external_fence.adoc @@ -10,8 +10,6 @@ include::{generated}/meta/{refprefix}VK_KHR_external_fence.adoc[] 2017-05-08 *IP Status*:: No known IP claims. -*Interactions and External Dependencies*:: - - Promoted to Vulkan 1.1 Core *Contributors*:: - Jesse Hall, Google - James Jones, NVIDIA diff --git a/appendices/VK_KHR_external_fence_capabilities.adoc b/appendices/VK_KHR_external_fence_capabilities.adoc index 722b6867..c64a28b6 100644 --- a/appendices/VK_KHR_external_fence_capabilities.adoc +++ b/appendices/VK_KHR_external_fence_capabilities.adoc @@ -10,8 +10,6 @@ include::{generated}/meta/{refprefix}VK_KHR_external_fence_capabilities.adoc[] 2017-05-08 *IP Status*:: No known IP claims. -*Interactions and External Dependencies*:: - - Promoted to Vulkan 1.1 Core *Contributors*:: - Jesse Hall, Google - James Jones, NVIDIA diff --git a/appendices/VK_KHR_external_memory.adoc b/appendices/VK_KHR_external_memory.adoc index 07fe8add..3b19ec9a 100644 --- a/appendices/VK_KHR_external_memory.adoc +++ b/appendices/VK_KHR_external_memory.adoc @@ -13,7 +13,6 @@ include::{generated}/meta/{refprefix}VK_KHR_external_memory.adoc[] *Interactions and External Dependencies*:: - Interacts with `apiext:VK_KHR_dedicated_allocation`. - Interacts with `apiext:VK_NV_dedicated_allocation`. - - Promoted to Vulkan 1.1 Core *Contributors*:: - Faith Ekstrand, Intel - Ian Elliott, Google diff --git a/appendices/VK_KHR_external_memory_capabilities.adoc b/appendices/VK_KHR_external_memory_capabilities.adoc index 3afe0aa4..5f893f80 100644 --- a/appendices/VK_KHR_external_memory_capabilities.adoc +++ b/appendices/VK_KHR_external_memory_capabilities.adoc @@ -13,7 +13,6 @@ include::{generated}/meta/{refprefix}VK_KHR_external_memory_capabilities.adoc[] *Interactions and External Dependencies*:: - Interacts with `apiext:VK_KHR_dedicated_allocation`. - Interacts with `apiext:VK_NV_dedicated_allocation`. - - Promoted to Vulkan 1.1 Core *Contributors*:: - Ian Elliott, Google - Jesse Hall, Google diff --git a/appendices/VK_KHR_external_semaphore.adoc b/appendices/VK_KHR_external_semaphore.adoc index 7294247e..f09df09a 100644 --- a/appendices/VK_KHR_external_semaphore.adoc +++ b/appendices/VK_KHR_external_semaphore.adoc @@ -10,8 +10,6 @@ include::{generated}/meta/{refprefix}VK_KHR_external_semaphore.adoc[] 2016-10-21 *IP Status*:: No known IP claims. -*Interactions and External Dependencies*:: - - Promoted to Vulkan 1.1 Core *Contributors*:: - Faith Ekstrand, Intel - Jesse Hall, Google diff --git a/appendices/VK_KHR_external_semaphore_capabilities.adoc b/appendices/VK_KHR_external_semaphore_capabilities.adoc index 7e0eb22d..030bd864 100644 --- a/appendices/VK_KHR_external_semaphore_capabilities.adoc +++ b/appendices/VK_KHR_external_semaphore_capabilities.adoc @@ -10,8 +10,6 @@ include::{generated}/meta/{refprefix}VK_KHR_external_semaphore_capabilities.adoc 2016-10-20 *IP Status*:: No known IP claims. -*Interactions and External Dependencies*:: - - Promoted to Vulkan 1.1 Core *Contributors*:: - Jesse Hall, Google - James Jones, NVIDIA diff --git a/appendices/VK_KHR_format_feature_flags2.adoc b/appendices/VK_KHR_format_feature_flags2.adoc index b2c8bf6d..b5e1cea3 100644 --- a/appendices/VK_KHR_format_feature_flags2.adoc +++ b/appendices/VK_KHR_format_feature_flags2.adoc @@ -8,8 +8,6 @@ include::{generated}/meta/{refprefix}VK_KHR_format_feature_flags2.adoc[] *Last Modified Date*:: 2021-07-01 -*Interactions and External Dependencies*:: - - Promoted to Vulkan 1.3 Core *IP Status*:: No known IP claims. *Contributors*:: diff --git a/appendices/VK_KHR_fragment_shader_barycentric.adoc b/appendices/VK_KHR_fragment_shader_barycentric.adoc index 2edc7d68..1da7d9ef 100644 --- a/appendices/VK_KHR_fragment_shader_barycentric.adoc +++ b/appendices/VK_KHR_fragment_shader_barycentric.adoc @@ -11,8 +11,6 @@ include::{generated}/meta/{refprefix}VK_KHR_fragment_shader_barycentric.adoc[] *IP Status*:: No known IP claims. *Interactions and External Dependencies*:: - - This extension requires - {spirv}/KHR/SPV_KHR_fragment_shader_barycentric.html[`SPV_KHR_fragment_shader_barycentric`] - This extension provides API support for https://github.com/KhronosGroup/GLSL/blob/master/extensions/ext/GLSL_EXT_fragment_shader_barycentric.txt[`GL_EXT_fragment_shader_barycentric`] *Contributors*:: diff --git a/appendices/VK_KHR_fragment_shading_rate.adoc b/appendices/VK_KHR_fragment_shading_rate.adoc index ee394286..23a614c9 100644 --- a/appendices/VK_KHR_fragment_shading_rate.adoc +++ b/appendices/VK_KHR_fragment_shading_rate.adoc @@ -9,8 +9,6 @@ include::{generated}/meta/{refprefix}VK_KHR_fragment_shading_rate.adoc[] *Last Modified Date*:: 2021-09-30 *Interactions and External Dependencies*:: - - This extension requires - {spirv}/KHR/SPV_KHR_fragment_shading_rate.html[`SPV_KHR_fragment_shading_rate`]. - This extension provides API support for {GLSLregistry}/ext/GLSL_EXT_fragment_shading_rate.txt[`GL_EXT_fragment_shading_rate`] *Contributors*:: diff --git a/appendices/VK_KHR_get_memory_requirements2.adoc b/appendices/VK_KHR_get_memory_requirements2.adoc index 4a95df10..9449b1ec 100644 --- a/appendices/VK_KHR_get_memory_requirements2.adoc +++ b/appendices/VK_KHR_get_memory_requirements2.adoc @@ -10,8 +10,6 @@ include::{generated}/meta/{refprefix}VK_KHR_get_memory_requirements2.adoc[] 2017-09-05 *IP Status*:: No known IP claims. -*Interactions and External Dependencies*:: - - Promoted to Vulkan 1.1 Core *Contributors*:: - Faith Ekstrand, Intel - Jeff Bolz, NVIDIA diff --git a/appendices/VK_KHR_get_physical_device_properties2.adoc b/appendices/VK_KHR_get_physical_device_properties2.adoc index fbffdcce..d2caee9f 100644 --- a/appendices/VK_KHR_get_physical_device_properties2.adoc +++ b/appendices/VK_KHR_get_physical_device_properties2.adoc @@ -10,8 +10,6 @@ include::{generated}/meta/{refprefix}VK_KHR_get_physical_device_properties2.adoc 2017-09-05 *IP Status*:: No known IP claims. -*Interactions and External Dependencies*:: - - Promoted to Vulkan 1.1 Core *Contributors*:: - Jeff Bolz, NVIDIA - Ian Elliott, Google diff --git a/appendices/VK_KHR_image_format_list.adoc b/appendices/VK_KHR_image_format_list.adoc index 96a3ced1..1fba688c 100644 --- a/appendices/VK_KHR_image_format_list.adoc +++ b/appendices/VK_KHR_image_format_list.adoc @@ -8,8 +8,6 @@ include::{generated}/meta/{refprefix}VK_KHR_image_format_list.adoc[] *Last Modified Date*:: 2017-03-20 -*Interactions and External Dependencies*:: - - Promoted to Vulkan 1.2 Core *IP Status*:: No known IP claims. *Contributors*:: diff --git a/appendices/VK_KHR_imageless_framebuffer.adoc b/appendices/VK_KHR_imageless_framebuffer.adoc index 30ed932d..9071264d 100644 --- a/appendices/VK_KHR_imageless_framebuffer.adoc +++ b/appendices/VK_KHR_imageless_framebuffer.adoc @@ -8,8 +8,6 @@ include::{generated}/meta/{refprefix}VK_KHR_imageless_framebuffer.adoc[] *Last Modified Date*:: 2018-12-14 -*Interactions and External Dependencies*:: - - Promoted to Vulkan 1.2 Core *Contributors*:: - Tobias Hector - Graham Wihlidal diff --git a/appendices/VK_KHR_maintenance1.adoc b/appendices/VK_KHR_maintenance1.adoc index a8e26439..61070e9f 100644 --- a/appendices/VK_KHR_maintenance1.adoc +++ b/appendices/VK_KHR_maintenance1.adoc @@ -8,8 +8,6 @@ include::{generated}/meta/{refprefix}VK_KHR_maintenance1.adoc[] *Last Modified Date*:: 2018-03-13 -*Interactions and External Dependencies*:: - - Promoted to Vulkan 1.1 Core *Contributors*:: - Dan Ginsburg, Valve - Daniel Koch, NVIDIA diff --git a/appendices/VK_KHR_maintenance2.adoc b/appendices/VK_KHR_maintenance2.adoc index 622d83bd..d0b3398c 100644 --- a/appendices/VK_KHR_maintenance2.adoc +++ b/appendices/VK_KHR_maintenance2.adoc @@ -8,8 +8,6 @@ include::{generated}/meta/{refprefix}VK_KHR_maintenance2.adoc[] *Last Modified Date*:: 2017-09-05 -*Interactions and External Dependencies*:: - - Promoted to Vulkan 1.1 Core *Contributors*:: - Michael Worcester, Imagination Technologies - Stuart Smith, Imagination Technologies diff --git a/appendices/VK_KHR_maintenance3.adoc b/appendices/VK_KHR_maintenance3.adoc index 36f7cda3..6e38e38c 100644 --- a/appendices/VK_KHR_maintenance3.adoc +++ b/appendices/VK_KHR_maintenance3.adoc @@ -8,8 +8,6 @@ include::{generated}/meta/{refprefix}VK_KHR_maintenance3.adoc[] *Last Modified Date*:: 2017-09-05 -*Interactions and External Dependencies*:: - - Promoted to Vulkan 1.1 Core *Contributors*:: - Jeff Bolz, NVIDIA diff --git a/appendices/VK_KHR_maintenance4.adoc b/appendices/VK_KHR_maintenance4.adoc index 3be30bd7..86f977d0 100644 --- a/appendices/VK_KHR_maintenance4.adoc +++ b/appendices/VK_KHR_maintenance4.adoc @@ -9,7 +9,6 @@ include::{generated}/meta/{refprefix}VK_KHR_maintenance4.adoc[] *Last Modified Date*:: 2021-10-25 *Interactions and External Dependencies*:: - - Promoted to Vulkan 1.3 Core - Requires SPIR-V 1.2 for code:LocalSizeId *Contributors*:: - Lionel Duc, NVIDIA diff --git a/appendices/VK_KHR_multiview.adoc b/appendices/VK_KHR_multiview.adoc index f331c8df..d575f35e 100644 --- a/appendices/VK_KHR_multiview.adoc +++ b/appendices/VK_KHR_multiview.adoc @@ -11,9 +11,6 @@ include::{generated}/meta/{refprefix}VK_KHR_multiview.adoc[] *IP Status*:: No known IP claims. *Interactions and External Dependencies*:: - - Promoted to Vulkan 1.1 Core - - This extension requires - {spirv}/KHR/SPV_KHR_multiview.html[`SPV_KHR_multiview`] - This extension provides API support for {GLSLregistry}/ext/GL_EXT_multiview.txt[`GL_EXT_multiview`] *Contributors*:: diff --git a/appendices/VK_KHR_ray_query.adoc b/appendices/VK_KHR_ray_query.adoc index 39f91f41..53a23e83 100644 --- a/appendices/VK_KHR_ray_query.adoc +++ b/appendices/VK_KHR_ray_query.adoc @@ -9,8 +9,6 @@ include::{generated}/meta/{refprefix}VK_KHR_ray_query.adoc[] *Last Modified Date*:: 2020-11-12 *Interactions and External Dependencies*:: - - This extension requires - {spirv}/KHR/SPV_KHR_ray_query.html[`SPV_KHR_ray_query`] - This extension provides API support for {GLSLregistry}/ext/GLSL_EXT_ray_query.txt[`GLSL_EXT_ray_query`] *Contributors*:: diff --git a/appendices/VK_KHR_ray_tracing_maintenance1.adoc b/appendices/VK_KHR_ray_tracing_maintenance1.adoc index 3ac6cb15..48d5a5a6 100644 --- a/appendices/VK_KHR_ray_tracing_maintenance1.adoc +++ b/appendices/VK_KHR_ray_tracing_maintenance1.adoc @@ -9,8 +9,6 @@ include::{generated}/meta/{refprefix}VK_KHR_ray_tracing_maintenance1.adoc[] *Last Modified Date*:: 2022-02-21 *Interactions and External Dependencies*:: - - This extension requires - {spirv}/KHR/SPV_KHR_ray_cull_mask.html[`SPV_KHR_ray_cull_mask`] - This extension provides API support for {GLSLregistry}/ext/GLSL_EXT_ray_cull_mask.txt[`GLSL_EXT_ray_cull_mask`] - Interacts with `apiext:VK_KHR_ray_tracing_pipeline` diff --git a/appendices/VK_KHR_ray_tracing_pipeline.adoc b/appendices/VK_KHR_ray_tracing_pipeline.adoc index 15d3935f..3c27c264 100644 --- a/appendices/VK_KHR_ray_tracing_pipeline.adoc +++ b/appendices/VK_KHR_ray_tracing_pipeline.adoc @@ -9,8 +9,6 @@ include::{generated}/meta/{refprefix}VK_KHR_ray_tracing_pipeline.adoc[] *Last Modified Date*:: 2020-11-12 *Interactions and External Dependencies*:: - - This extension requires - {spirv}/KHR/SPV_KHR_ray_tracing.html[`SPV_KHR_ray_tracing`] - This extension provides API support for {GLSLregistry}/ext/GLSL_EXT_ray_tracing.txt[`GLSL_EXT_ray_tracing`] - This extension interacts with <<versions-1.2, Vulkan 1.2>> and diff --git a/appendices/VK_KHR_ray_tracing_position_fetch.adoc b/appendices/VK_KHR_ray_tracing_position_fetch.adoc index 39b6831f..4772ecf4 100644 --- a/appendices/VK_KHR_ray_tracing_position_fetch.adoc +++ b/appendices/VK_KHR_ray_tracing_position_fetch.adoc @@ -9,8 +9,6 @@ include::{generated}/meta/{refprefix}VK_KHR_ray_tracing_position_fetch.adoc[] *Last Modified Date*:: 2023-02-17 *Interactions and External Dependencies*:: - - This extension requires - {spirv}/KHR/SPV_KHR_ray_tracing_position_fetch.html[`SPV_KHR_ray_tracing_position_fetch`] - This extension provides API support for {GLSLregistry}/ext/GLSL_EXT_ray_tracing_position_fetch.txt[`GLSL_EXT_ray_tracing_position_fetch`] - Interacts with `apiext:VK_KHR_ray_tracing_pipeline` diff --git a/appendices/VK_KHR_relaxed_block_layout.adoc b/appendices/VK_KHR_relaxed_block_layout.adoc index 4c8b0ea8..1d7cdcfd 100644 --- a/appendices/VK_KHR_relaxed_block_layout.adoc +++ b/appendices/VK_KHR_relaxed_block_layout.adoc @@ -10,8 +10,6 @@ include::{generated}/meta/{refprefix}VK_KHR_relaxed_block_layout.adoc[] 2017-03-26 *IP Status*:: No known IP claims. -*Interactions and External Dependencies*:: - - Promoted to Vulkan 1.1 Core *Contributors*:: - John Kessenich, Google diff --git a/appendices/VK_KHR_sampler_mirror_clamp_to_edge.adoc b/appendices/VK_KHR_sampler_mirror_clamp_to_edge.adoc index 975f4753..9b211136 100644 --- a/appendices/VK_KHR_sampler_mirror_clamp_to_edge.adoc +++ b/appendices/VK_KHR_sampler_mirror_clamp_to_edge.adoc @@ -8,8 +8,6 @@ include::{generated}/meta/{refprefix}VK_KHR_sampler_mirror_clamp_to_edge.adoc[] *Last Modified Date*:: 2019-08-17 -*Interactions and External Dependencies*:: - - Promoted to Vulkan 1.2 Core *Contributors*:: - Tobias Hector, Imagination Technologies - Jon Leech, Khronos diff --git a/appendices/VK_KHR_sampler_ycbcr_conversion.adoc b/appendices/VK_KHR_sampler_ycbcr_conversion.adoc index 86566bec..3eb87b79 100644 --- a/appendices/VK_KHR_sampler_ycbcr_conversion.adoc +++ b/appendices/VK_KHR_sampler_ycbcr_conversion.adoc @@ -10,8 +10,6 @@ include::{generated}/meta/{refprefix}VK_KHR_sampler_ycbcr_conversion.adoc[] 2017-08-11 *IP Status*:: No known IP claims. -*Interactions and External Dependencies*:: - - Promoted to Vulkan 1.1 Core *Contributors*:: - Andrew Garrard, Samsung Electronics - Tobias Hector, Imagination Technologies diff --git a/appendices/VK_KHR_separate_depth_stencil_layouts.adoc b/appendices/VK_KHR_separate_depth_stencil_layouts.adoc index 2667887a..93e19b26 100644 --- a/appendices/VK_KHR_separate_depth_stencil_layouts.adoc +++ b/appendices/VK_KHR_separate_depth_stencil_layouts.adoc @@ -8,8 +8,6 @@ include::{generated}/meta/{refprefix}VK_KHR_separate_depth_stencil_layouts.adoc[ *Last Modified Date*:: 2019-06-25 -*Interactions and External Dependencies*:: - - Promoted to Vulkan 1.2 Core *Contributors*:: - Daniel Koch, NVIDIA - Jeff Bolz, NVIDIA diff --git a/appendices/VK_KHR_shader_atomic_int64.adoc b/appendices/VK_KHR_shader_atomic_int64.adoc index bad0b2ae..c2ccd000 100644 --- a/appendices/VK_KHR_shader_atomic_int64.adoc +++ b/appendices/VK_KHR_shader_atomic_int64.adoc @@ -9,7 +9,6 @@ include::{generated}/meta/{refprefix}VK_KHR_shader_atomic_int64.adoc[] *Last Modified Date*:: 2018-07-05 *Interactions and External Dependencies*:: - - Promoted to Vulkan 1.2 Core - This extension provides API support for {GLregistry}/ARB/ARB_gpu_shader_int64.txt[`GL_ARB_gpu_shader_int64`] and {GLSLregistry}/ext/GL_EXT_shader_atomic_int64.txt[`GL_EXT_shader_atomic_int64`] diff --git a/appendices/VK_KHR_shader_clock.adoc b/appendices/VK_KHR_shader_clock.adoc index 8deccb0d..50982490 100644 --- a/appendices/VK_KHR_shader_clock.adoc +++ b/appendices/VK_KHR_shader_clock.adoc @@ -11,11 +11,9 @@ include::{generated}/meta/{refprefix}VK_KHR_shader_clock.adoc[] *IP Status*:: No known IP claims. *Interactions and External Dependencies*:: - - This extension requires - {spirv}/KHR/SPV_KHR_shader_clock.html[`SPV_KHR_shader_clock`]. - This extension provides API support for - {GLregistry}/ARB/ARB_shader_clock.txt[`ARB_shader_clock`] and - {GLSLregistry}/ext/GL_EXT_shader_realtime_clock.txt[`EXT_shader_realtime_clock`] + {GLregistry}/ARB/ARB_shader_clock.txt[`GL_ARB_shader_clock`] and + {GLSLregistry}/ext/GL_EXT_shader_realtime_clock.txt[`GL_EXT_shader_realtime_clock`] *Contributors*:: - Aaron Hagan, AMD - Daniel Koch, NVIDIA diff --git a/appendices/VK_KHR_shader_draw_parameters.adoc b/appendices/VK_KHR_shader_draw_parameters.adoc index 8f242f60..93d6ddac 100644 --- a/appendices/VK_KHR_shader_draw_parameters.adoc +++ b/appendices/VK_KHR_shader_draw_parameters.adoc @@ -11,11 +11,8 @@ include::{generated}/meta/{refprefix}VK_KHR_shader_draw_parameters.adoc[] *IP Status*:: No known IP claims. *Interactions and External Dependencies*:: - - This extension requires - {spirv}/KHR/SPV_KHR_shader_draw_parameters.html[`SPV_KHR_shader_draw_parameters`] - This extension provides API support for {GLregistry}/ARB/ARB_shader_draw_parameters.txt[`GL_ARB_shader_draw_parameters`] - - Promoted to Vulkan 1.1 Core *Contributors*:: - Daniel Koch, NVIDIA Corporation - Jeff Bolz, NVIDIA diff --git a/appendices/VK_KHR_shader_float16_int8.adoc b/appendices/VK_KHR_shader_float16_int8.adoc index b4149ff2..0d56fef5 100644 --- a/appendices/VK_KHR_shader_float16_int8.adoc +++ b/appendices/VK_KHR_shader_float16_int8.adoc @@ -9,7 +9,6 @@ include::{generated}/meta/{refprefix}VK_KHR_shader_float16_int8.adoc[] *Last Modified Date*:: 2018-03-07 *Interactions and External Dependencies*:: - - Promoted to Vulkan 1.2 Core - This extension interacts with `apiext:VK_KHR_8bit_storage` - This extension interacts with `apiext:VK_KHR_16bit_storage` - This extension interacts with `apiext:VK_KHR_shader_float_controls` diff --git a/appendices/VK_KHR_shader_float_controls.adoc b/appendices/VK_KHR_shader_float_controls.adoc index 0dcae497..86a9a003 100644 --- a/appendices/VK_KHR_shader_float_controls.adoc +++ b/appendices/VK_KHR_shader_float_controls.adoc @@ -8,10 +8,6 @@ include::{generated}/meta/{refprefix}VK_KHR_shader_float_controls.adoc[] *Last Modified Date*:: 2018-09-11 -*Interactions and External Dependencies*:: - - Promoted to Vulkan 1.2 Core - - This extension requires - {spirv}/KHR/SPV_KHR_float_controls.html[`SPV_KHR_float_controls`] *IP Status*:: No known IP claims. *Contributors*:: diff --git a/appendices/VK_KHR_shader_integer_dot_product.adoc b/appendices/VK_KHR_shader_integer_dot_product.adoc index 48cad46c..38c6b544 100644 --- a/appendices/VK_KHR_shader_integer_dot_product.adoc +++ b/appendices/VK_KHR_shader_integer_dot_product.adoc @@ -9,9 +9,6 @@ include::{generated}/meta/{refprefix}VK_KHR_shader_integer_dot_product.adoc[] *Last Modified Date*:: 2021-06-16 *Interactions and External Dependencies*:: - - Promoted to Vulkan 1.3 Core - - This extension requires - {spirv}/KHR/SPV_KHR_integer_dot_product.html[`SPV_KHR_integer_dot_product`]. - This extension interacts with `apiext:VK_KHR_shader_float16_int8`. *IP Status*:: No known IP claims. diff --git a/appendices/VK_KHR_shader_non_semantic_info.adoc b/appendices/VK_KHR_shader_non_semantic_info.adoc index a2543339..115d0171 100644 --- a/appendices/VK_KHR_shader_non_semantic_info.adoc +++ b/appendices/VK_KHR_shader_non_semantic_info.adoc @@ -8,10 +8,6 @@ include::{generated}/meta/{refprefix}VK_KHR_shader_non_semantic_info.adoc[] *Last Modified Date*:: 2019-10-16 -*Interactions and External Dependencies*:: - - Promoted to Vulkan 1.3 Core - - This extension requires - {spirv}/KHR/SPV_KHR_non_semantic_info.html[`SPV_KHR_non_semantic_info`] *IP Status*:: No known IP claims. *Contributors*:: diff --git a/appendices/VK_KHR_shader_subgroup_extended_types.adoc b/appendices/VK_KHR_shader_subgroup_extended_types.adoc index 7b619a61..05e9a96f 100644 --- a/appendices/VK_KHR_shader_subgroup_extended_types.adoc +++ b/appendices/VK_KHR_shader_subgroup_extended_types.adoc @@ -11,7 +11,6 @@ include::{generated}/meta/{refprefix}VK_KHR_shader_subgroup_extended_types.adoc[ *IP Status*:: No known IP claims. *Interactions and External Dependencies*:: - - Promoted to Vulkan 1.2 Core - This extension provides API support for {GLSLregistry}/ext/GLSL_EXT_shader_subgroup_extended_types.txt[`GLSL_EXT_shader_subgroup_extended_types`] *Contributors*:: diff --git a/appendices/VK_KHR_shader_subgroup_uniform_control_flow.adoc b/appendices/VK_KHR_shader_subgroup_uniform_control_flow.adoc index fb557095..1ba751da 100644 --- a/appendices/VK_KHR_shader_subgroup_uniform_control_flow.adoc +++ b/appendices/VK_KHR_shader_subgroup_uniform_control_flow.adoc @@ -12,8 +12,6 @@ include::{generated}/meta/{refprefix}VK_KHR_shader_subgroup_uniform_control_flow No known IP claims. *Interactions and External Dependencies*:: - Requires SPIR-V 1.3. - - This extension requires - {spirv}/KHR/SPV_KHR_subgroup_uniform_control_flow.html[`SPV_KHR_subgroup_uniform_control_flow`] - This extension provides API support for {GLSLregistry}/ext/GL_EXT_subgroupuniform_qualifier.txt[`GL_EXT_subgroupuniform_qualifier`] *Contributors*:: diff --git a/appendices/VK_KHR_shader_terminate_invocation.adoc b/appendices/VK_KHR_shader_terminate_invocation.adoc index f0ed1b18..39ce1917 100644 --- a/appendices/VK_KHR_shader_terminate_invocation.adoc +++ b/appendices/VK_KHR_shader_terminate_invocation.adoc @@ -8,11 +8,6 @@ include::{generated}/meta/{refprefix}VK_KHR_shader_terminate_invocation.adoc[] *Last Modified Date*:: 2020-08-11 -*Interactions and External Dependencies*:: - - Promoted to Vulkan 1.3 Core - - Requires the - {spirv}/KHR/SPV_KHR_terminate_invocation.html[`SPV_KHR_terminate_invocation`] - SPIR-V extension. *IP Status*:: No known IP claims. *Contributors*:: diff --git a/appendices/VK_KHR_spirv_1_4.adoc b/appendices/VK_KHR_spirv_1_4.adoc index 695d4184..7965a8bf 100644 --- a/appendices/VK_KHR_spirv_1_4.adoc +++ b/appendices/VK_KHR_spirv_1_4.adoc @@ -12,7 +12,6 @@ include::{generated}/meta/{refprefix}VK_KHR_spirv_1_4.adoc[] No known IP claims. *Interactions and External Dependencies*:: - Requires SPIR-V 1.4. - - Promoted to Vulkan 1.2 Core *Contributors*:: - Alexander Galazin, Arm - David Neto, Google diff --git a/appendices/VK_KHR_storage_buffer_storage_class.adoc b/appendices/VK_KHR_storage_buffer_storage_class.adoc index 636faddd..0f6a8bce 100644 --- a/appendices/VK_KHR_storage_buffer_storage_class.adoc +++ b/appendices/VK_KHR_storage_buffer_storage_class.adoc @@ -10,10 +10,6 @@ include::{generated}/meta/{refprefix}VK_KHR_storage_buffer_storage_class.adoc[] 2017-09-05 *IP Status*:: No known IP claims. -*Interactions and External Dependencies*:: - - This extension requires - {spirv}/KHR/SPV_KHR_storage_buffer_storage_class.html[`SPV_KHR_storage_buffer_storage_class`] - - Promoted to Vulkan 1.1 Core *Contributors*:: - Alexander Galazin, ARM - David Neto, Google diff --git a/appendices/VK_KHR_synchronization2.adoc b/appendices/VK_KHR_synchronization2.adoc index 65c8db15..375eef73 100644 --- a/appendices/VK_KHR_synchronization2.adoc +++ b/appendices/VK_KHR_synchronization2.adoc @@ -9,7 +9,6 @@ include::{generated}/meta/{refprefix}VK_KHR_synchronization2.adoc[] *Last Modified Date*:: 2020-12-03 *Interactions and External Dependencies*:: - - Promoted to Vulkan 1.3 Core - Interacts with `apiext:VK_KHR_create_renderpass2` *Contributors*:: - Tobias Hector diff --git a/appendices/VK_KHR_timeline_semaphore.adoc b/appendices/VK_KHR_timeline_semaphore.adoc index 46ceca44..77ea5dde 100644 --- a/appendices/VK_KHR_timeline_semaphore.adoc +++ b/appendices/VK_KHR_timeline_semaphore.adoc @@ -15,7 +15,6 @@ include::{generated}/meta/{refprefix}VK_KHR_timeline_semaphore.adoc[] `apiext:VK_KHR_external_semaphore_capabilities` - This extension interacts with `apiext:VK_KHR_external_semaphore` - This extension interacts with `apiext:VK_KHR_external_semaphore_win32` - - Promoted to Vulkan 1.2 Core *Contributors*:: - Jeff Bolz, NVIDIA - Yuriy O'Donnell, Epic Games diff --git a/appendices/VK_KHR_uniform_buffer_standard_layout.adoc b/appendices/VK_KHR_uniform_buffer_standard_layout.adoc index 153dfca9..77056d64 100644 --- a/appendices/VK_KHR_uniform_buffer_standard_layout.adoc +++ b/appendices/VK_KHR_uniform_buffer_standard_layout.adoc @@ -8,8 +8,6 @@ include::{generated}/meta/{refprefix}VK_KHR_uniform_buffer_standard_layout.adoc[ *Last Modified Date*:: 2019-01-25 -*Interactions and External Dependencies*:: - - Promoted to Vulkan 1.2 Core *Contributors*:: - Graeme Leese, Broadcom - Jeff Bolz, NVIDIA diff --git a/appendices/VK_KHR_variable_pointers.adoc b/appendices/VK_KHR_variable_pointers.adoc index 25474647..0e892e29 100644 --- a/appendices/VK_KHR_variable_pointers.adoc +++ b/appendices/VK_KHR_variable_pointers.adoc @@ -10,10 +10,6 @@ include::{generated}/meta/{refprefix}VK_KHR_variable_pointers.adoc[] 2017-09-05 *IP Status*:: No known IP claims. -*Interactions and External Dependencies*:: - - This extension requires - {spirv}/KHR/SPV_KHR_variable_pointers.html[`SPV_KHR_variable_pointers`] - - Promoted to Vulkan 1.1 Core *Contributors*:: - John Kessenich, Google - Neil Henning, Codeplay diff --git a/appendices/VK_KHR_vulkan_memory_model.adoc b/appendices/VK_KHR_vulkan_memory_model.adoc index 4c3824c6..fe5357ac 100644 --- a/appendices/VK_KHR_vulkan_memory_model.adoc +++ b/appendices/VK_KHR_vulkan_memory_model.adoc @@ -10,10 +10,6 @@ include::{generated}/meta/{refprefix}VK_KHR_vulkan_memory_model.adoc[] 2018-12-10 *IP Status*:: No known IP claims. -*Interactions and External Dependencies*:: - - Promoted to Vulkan 1.2 Core - - This extension requires - {spirv}/KHR/SPV_KHR_vulkan_memory_model.html[`SPV_KHR_vulkan_memory_model`] *Contributors*:: - Jeff Bolz, NVIDIA - Alan Baker, Google diff --git a/appendices/VK_KHR_workgroup_memory_explicit_layout.adoc b/appendices/VK_KHR_workgroup_memory_explicit_layout.adoc index 5320b8cd..6498fa74 100644 --- a/appendices/VK_KHR_workgroup_memory_explicit_layout.adoc +++ b/appendices/VK_KHR_workgroup_memory_explicit_layout.adoc @@ -11,8 +11,6 @@ include::{generated}/meta/{refprefix}VK_KHR_workgroup_memory_explicit_layout.ado *IP Status*:: No known IP claims. *Interactions and External Dependencies*:: - - This extension requires - {spirv}/KHR/SPV_KHR_workgroup_memory_explicit_layout.html[`SPV_KHR_workgroup_memory_explicit_layout`] - This extension provides API support for {GLSLregistry}/ext/GL_EXT_shared_memory_block.txt[`GL_EXT_shared_memory_block`] *Contributors*:: diff --git a/appendices/VK_KHR_zero_initialize_workgroup_memory.adoc b/appendices/VK_KHR_zero_initialize_workgroup_memory.adoc index 9f0932b1..c9820751 100644 --- a/appendices/VK_KHR_zero_initialize_workgroup_memory.adoc +++ b/appendices/VK_KHR_zero_initialize_workgroup_memory.adoc @@ -8,8 +8,6 @@ include::{generated}/meta/{refprefix}VK_KHR_zero_initialize_workgroup_memory.ado *Last Modified Date*:: 2020-11-18 -*Interactions and External Dependencies*:: - - Promoted to Vulkan 1.3 Core *IP Status*:: No known IP claims. *Contributors*:: diff --git a/appendices/VK_NVX_multiview_per_view_attributes.adoc b/appendices/VK_NVX_multiview_per_view_attributes.adoc index 03054c92..60e2084b 100644 --- a/appendices/VK_NVX_multiview_per_view_attributes.adoc +++ b/appendices/VK_NVX_multiview_per_view_attributes.adoc @@ -11,8 +11,6 @@ include::{generated}/meta/{refprefix}VK_NVX_multiview_per_view_attributes.adoc[] *IP Status*:: No known IP claims. *Interactions and External Dependencies*:: - - This extension requires - {spirv}/NV/SPV_NVX_multiview_per_view_attributes.html[`SPV_NVX_multiview_per_view_attributes`] - This extension provides API support for {GLSLregistry}/nvx/GL_NVX_multiview_per_view_attributes.txt[`GL_NVX_multiview_per_view_attributes`] - This extension interacts with `apiext:VK_NV_viewport_array2`. diff --git a/appendices/VK_NV_compute_shader_derivatives.adoc b/appendices/VK_NV_compute_shader_derivatives.adoc index 7f9e98d8..ac5e090e 100644 --- a/appendices/VK_NV_compute_shader_derivatives.adoc +++ b/appendices/VK_NV_compute_shader_derivatives.adoc @@ -11,8 +11,6 @@ include::{generated}/meta/{refprefix}VK_NV_compute_shader_derivatives.adoc[] *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 {GLSLregistry}/nv/GLSL_NV_compute_shader_derivatives.txt[`GL_NV_compute_shader_derivatives`] *Contributors*:: diff --git a/appendices/VK_NV_cooperative_matrix.adoc b/appendices/VK_NV_cooperative_matrix.adoc index 6c36e748..7cca129c 100644 --- a/appendices/VK_NV_cooperative_matrix.adoc +++ b/appendices/VK_NV_cooperative_matrix.adoc @@ -9,8 +9,6 @@ include::{generated}/meta/{refprefix}VK_NV_cooperative_matrix.adoc[] *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 {GLSLregistry}/nv/GLSL_NV_cooperative_matrix.txt[`GL_NV_cooperative_matrix`] *Contributors*:: diff --git a/appendices/VK_NV_cuda_kernel_launch.adoc b/appendices/VK_NV_cuda_kernel_launch.adoc index f64cdff2..df6bacfc 100644 --- a/appendices/VK_NV_cuda_kernel_launch.adoc +++ b/appendices/VK_NV_cuda_kernel_launch.adoc @@ -47,13 +47,12 @@ initialization of the CUDA module. As with slink:VkPipelineCache, the binary cache depends on the hardware architecture. -Therefore the application must assume the cache might fail, and thus need to -handle falling back to the original PTX code as necessary. +The application must assume the cache might fail, and need to handle falling +back to the original PTX code as necessary. Most often, the cache will succeed if the same GPU driver and architecture is used between the cache generation from PTX and the use of this cache. -But most often, in the event of a new driver version or a if using a -different GPU But in the event of a new driver version or if using a -different GPU architecture, the cache is likely to become invalid. +In the event of a new driver version, or if using a different GPU +architecture, the cache is likely to become invalid. include::{generated}/interfaces/VK_NV_cuda_kernel_launch.adoc[] diff --git a/appendices/VK_NV_fragment_shader_barycentric.adoc b/appendices/VK_NV_fragment_shader_barycentric.adoc index a09082f6..914148ee 100644 --- a/appendices/VK_NV_fragment_shader_barycentric.adoc +++ b/appendices/VK_NV_fragment_shader_barycentric.adoc @@ -11,8 +11,6 @@ include::{generated}/meta/{refprefix}VK_NV_fragment_shader_barycentric.adoc[] *IP Status*:: No known IP claims. *Interactions and External Dependencies*:: - - This extension requires - {spirv}/NV/SPV_NV_fragment_shader_barycentric.html[`SPV_NV_fragment_shader_barycentric`] - This extension provides API support for {GLSLregistry}/nv/GLSL_NV_fragment_shader_barycentric.txt[`GL_NV_fragment_shader_barycentric`] *Contributors*:: diff --git a/appendices/VK_NV_geometry_shader_passthrough.adoc b/appendices/VK_NV_geometry_shader_passthrough.adoc index 31780011..c2c067b9 100644 --- a/appendices/VK_NV_geometry_shader_passthrough.adoc +++ b/appendices/VK_NV_geometry_shader_passthrough.adoc @@ -9,8 +9,6 @@ include::{generated}/meta/{refprefix}VK_NV_geometry_shader_passthrough.adoc[] *Last Modified Date*:: 2017-02-15 *Interactions and External Dependencies*:: - - This extension requires - {spirv}/NV/SPV_NV_geometry_shader_passthrough.html[`SPV_NV_geometry_shader_passthrough`] - This extension provides API support for {GLregistry}/NV/NV_geometry_shader_passthrough.txt[`GL_NV_geometry_shader_passthrough`] - This extension requires the pname:geometryShader feature. diff --git a/appendices/VK_NV_low_latency2.adoc b/appendices/VK_NV_low_latency2.adoc index 3461b361..93199bb6 100644 --- a/appendices/VK_NV_low_latency2.adoc +++ b/appendices/VK_NV_low_latency2.adoc @@ -40,5 +40,11 @@ Low Latency 2 does not support device groups. === Version History + * Revision 2, 2023-11-15 (Charles Hansen) + ** Update vkGetLatencyTimingsNV. + This is a breaking API change which brings behavior in line with other + array querying commands. + More background can be found in + https://github.com/KhronosGroup/Vulkan-Docs/issues/2269 * Revision 1, 2023-09-25 (Charles Hansen) ** Internal revisions diff --git a/appendices/VK_NV_mesh_shader.adoc b/appendices/VK_NV_mesh_shader.adoc index e5d18499..dc709076 100644 --- a/appendices/VK_NV_mesh_shader.adoc +++ b/appendices/VK_NV_mesh_shader.adoc @@ -9,8 +9,6 @@ include::{generated}/meta/{refprefix}VK_NV_mesh_shader.adoc[] *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 {GLSLregistry}/nv/GLSL_NV_mesh_shader.txt[`GLSL_NV_mesh_shader`] *Contributors*:: diff --git a/appendices/VK_NV_ray_tracing.adoc b/appendices/VK_NV_ray_tracing.adoc index 38e35bff..a156c09b 100644 --- a/appendices/VK_NV_ray_tracing.adoc +++ b/appendices/VK_NV_ray_tracing.adoc @@ -9,8 +9,6 @@ include::{generated}/meta/{refprefix}VK_NV_ray_tracing.adoc[] *Last Modified Date*:: 2018-11-20 *Interactions and External Dependencies*:: - - This extension requires - {spirv}/NV/SPV_NV_ray_tracing.html[`SPV_NV_ray_tracing`] - This extension provides API support for {GLSLregistry}/nv/GLSL_NV_ray_tracing.txt[`GL_NV_ray_tracing`] *Contributors*:: diff --git a/appendices/VK_NV_ray_tracing_invocation_reorder.adoc b/appendices/VK_NV_ray_tracing_invocation_reorder.adoc index 3689b685..a981e371 100644 --- a/appendices/VK_NV_ray_tracing_invocation_reorder.adoc +++ b/appendices/VK_NV_ray_tracing_invocation_reorder.adoc @@ -9,8 +9,6 @@ include::{generated}/meta/{refprefix}VK_NV_ray_tracing_invocation_reorder.adoc[] *Last Modified Date*:: 2022-11-02 *Interactions and External Dependencies*:: - - This extension requires - {spirv}/NV/SPV_NV_shader_invocation_reorder.html[`SPV_NV_shader_invocation_reorder`] - This extension provides API support for {GLSLregistry}/nv/GLSL_NV_shader_invocation_reorder.txt[`GL_NV_shader_invocation_reorder`] *Contributors*:: diff --git a/appendices/VK_NV_ray_tracing_motion_blur.adoc b/appendices/VK_NV_ray_tracing_motion_blur.adoc index 0b460d99..0a9f8809 100644 --- a/appendices/VK_NV_ray_tracing_motion_blur.adoc +++ b/appendices/VK_NV_ray_tracing_motion_blur.adoc @@ -9,8 +9,6 @@ include::{generated}/meta/{refprefix}VK_NV_ray_tracing_motion_blur.adoc[] *Last Modified Date*:: 2021-06-16 *Interactions and External Dependencies*:: - - This extension requires - {spirv}/NV/SPV_NV_ray_tracing_motion_blur.html[`SPV_NV_ray_tracing_motion_blur`] - This extension provides API support for {GLSLregistry}/nv/GLSL_NV_ray_tracing_motion_blur.txt[`GL_NV_ray_tracing_motion_blur`] *Contributors*:: diff --git a/appendices/VK_NV_sample_mask_override_coverage.adoc b/appendices/VK_NV_sample_mask_override_coverage.adoc index d559a036..c804eaca 100644 --- a/appendices/VK_NV_sample_mask_override_coverage.adoc +++ b/appendices/VK_NV_sample_mask_override_coverage.adoc @@ -11,8 +11,6 @@ include::{generated}/meta/{refprefix}VK_NV_sample_mask_override_coverage.adoc[] *IP Status*:: No known IP claims. *Interactions and External Dependencies*:: - - This extension requires - {spirv}/NV/SPV_NV_sample_mask_override_coverage.html[`SPV_NV_sample_mask_override_coverage`] - This extension provides API support for {GLregistry}/NV/NV_sample_mask_override_coverage.txt[`GL_NV_sample_mask_override_coverage`] *Contributors*:: diff --git a/appendices/VK_NV_shader_image_footprint.adoc b/appendices/VK_NV_shader_image_footprint.adoc index ead314cc..966dbb10 100644 --- a/appendices/VK_NV_shader_image_footprint.adoc +++ b/appendices/VK_NV_shader_image_footprint.adoc @@ -11,8 +11,6 @@ include::{generated}/meta/{refprefix}VK_NV_shader_image_footprint.adoc[] *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 {GLSLregistry}/nv/GLSL_NV_shader_texture_footprint.txt[`GL_NV_shader_texture_footprint`] *Contributors*:: diff --git a/appendices/VK_NV_shader_sm_builtins.adoc b/appendices/VK_NV_shader_sm_builtins.adoc index 924de5c9..e7d194d2 100644 --- a/appendices/VK_NV_shader_sm_builtins.adoc +++ b/appendices/VK_NV_shader_sm_builtins.adoc @@ -9,8 +9,6 @@ include::{generated}/meta/{refprefix}VK_NV_shader_sm_builtins.adoc[] *Last Modified Date*:: 2019-05-28 *Interactions and External Dependencies*:: - - This extension requires - {spirv}/NV/SPV_NV_shader_sm_builtins.html[`SPV_NV_shader_sm_builtins`]. - This extension provides API support for {GLSLregistry}/nv/GLSL_NV_shader_sm_builtins.txt[`GL_NV_shader_sm_builtins`] *Contributors*:: diff --git a/appendices/VK_NV_shader_subgroup_partitioned.adoc b/appendices/VK_NV_shader_subgroup_partitioned.adoc index d9227737..2c43167d 100644 --- a/appendices/VK_NV_shader_subgroup_partitioned.adoc +++ b/appendices/VK_NV_shader_subgroup_partitioned.adoc @@ -9,8 +9,6 @@ include::{generated}/meta/{refprefix}VK_NV_shader_subgroup_partitioned.adoc[] *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 {GLSLregistry}/nv/GL_NV_shader_subgroup_partitioned.txt[`GL_NV_shader_subgroup_partitioned`] *Contributors*:: diff --git a/appendices/VK_NV_shading_rate_image.adoc b/appendices/VK_NV_shading_rate_image.adoc index 99372733..850036aa 100644 --- a/appendices/VK_NV_shading_rate_image.adoc +++ b/appendices/VK_NV_shading_rate_image.adoc @@ -9,8 +9,6 @@ include::{generated}/meta/{refprefix}VK_NV_shading_rate_image.adoc[] *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 {GLSLregistry}/nv/GLSL_NV_shading_rate_image.txt[`GL_NV_shading_rate_image`] *Contributors*:: diff --git a/appendices/VK_NV_viewport_array2.adoc b/appendices/VK_NV_viewport_array2.adoc index 6837aa75..b9b7c064 100644 --- a/appendices/VK_NV_viewport_array2.adoc +++ b/appendices/VK_NV_viewport_array2.adoc @@ -9,8 +9,6 @@ include::{generated}/meta/{refprefix}VK_NV_viewport_array2.adoc[] *Last Modified Date*:: 2017-02-15 *Interactions and External Dependencies*:: - - This extension requires - {spirv}/NV/SPV_NV_viewport_array2.html[`SPV_NV_viewport_array2`] - This extension provides API support for {GLregistry}/NV/NV_viewport_array2.txt[`GL_NV_viewport_array2`] - This extension requires the pname:geometryShader and pname:multiViewport diff --git a/appendices/VK_QCOM_image_processing.adoc b/appendices/VK_QCOM_image_processing.adoc index 74a5f74f..cb7246a1 100644 --- a/appendices/VK_QCOM_image_processing.adoc +++ b/appendices/VK_QCOM_image_processing.adoc @@ -9,8 +9,6 @@ include::{generated}/meta/{refprefix}VK_QCOM_image_processing.adoc[] *Last Modified Date*:: 2022-07-08 *Interactions and External Dependencies*:: - - This extension requires - {spirv}/QCOM/SPV_QCOM_image_processing.html[`SPV_QCOM_image_processing`] - This extension provides API support for {GLSLregistry}/qcom/GLSL_QCOM_image_processing.txt[`GL_QCOM_image_processing`] diff --git a/appendices/VK_QCOM_image_processing2.adoc b/appendices/VK_QCOM_image_processing2.adoc index e23beaf4..c9f2d015 100644 --- a/appendices/VK_QCOM_image_processing2.adoc +++ b/appendices/VK_QCOM_image_processing2.adoc @@ -9,8 +9,6 @@ include::{generated}/meta/{refprefix}VK_QCOM_image_processing2.adoc[] *Last Modified Date*:: 2023-03-10 *Interactions and External Dependencies*:: - - This extension requires - {spirv}/QCOM/SPV_QCOM_image_processing2.html[`SPV_QCOM_image_processing2`] - This extension provides API support for {GLSLregistry}/qcom/GLSL_QCOM_image_processing2.txt[`GL_QCOM_image_processing2`] diff --git a/appendices/extensions.adoc b/appendices/extensions.adoc index 20c7a19c..1bbaefc5 100644 --- a/appendices/extensions.adoc +++ b/appendices/extensions.adoc @@ -40,6 +40,7 @@ alphabetically by author ID. Within each group, extensions are listed in alphabetical order by their name. + == Extension Dependencies Extensions which have dependencies on specific core versions or on other @@ -57,6 +58,12 @@ extension requires only that any extensions that extension depends on be supported at runtime. +== Extension Interactions + +Some extensions define APIs which are only supported when other extensions +or core versions are supported at runtime. +Such interactions are noted as "`API Interactions`". + include::{generated}/meta/current_extensions_appendix.adoc[] include::{generated}/meta/provisional_extensions_appendix.adoc[] include::{generated}/meta/deprecated_extensions_appendix.adoc[] diff --git a/chapters/VK_NV_cuda_kernel_launch/dispatch.adoc b/chapters/VK_NV_cuda_kernel_launch/dispatch.adoc index cb6a0e6d..ae9f6a7b 100644 --- a/chapters/VK_NV_cuda_kernel_launch/dispatch.adoc +++ b/chapters/VK_NV_cuda_kernel_launch/dispatch.adoc @@ -88,6 +88,23 @@ include::{generated}/api/structs/VkCudaLaunchInfoNV.adoc[] * pname:extraCount is reserved for future use. * pname:pExtras is reserved for future use. +Kernel parameters of pname:function are specified via pname:pParams, very +much the same way as described in +link:++https://docs.nvidia.com/cuda/cuda-driver-api/group__CUDA__EXEC.html#group__CUDA__EXEC_1gb8f3dc3031b40da29d5f9a7139e52e15++[cuLaunchKernel] + +If pname:function has N parameters, then pname:pParams must: be an array of +N pointers and pname:paramCount must: be set to N. Each of +pname:kernelParams[0] through pname:kernelParams[N-1] must: point to a +region of memory from which the actual kernel parameter will be copied. +The number of kernel parameters and their offsets and sizes are not +specified here as that information is stored in the slink:VkCudaFunctionNV +object. + +The application-owned memory pointed to by pname:pParams and +pname:kernelParams[0] through pname:kernelParams[N-1] are consumed +immediately, and may: be altered or freed after +flink:vkCmdCudaLaunchKernelNV has returned. + .Valid Usage **** * [[VUID-VkCudaLaunchInfoNV-gridDimX-09406]] @@ -114,24 +131,9 @@ include::{generated}/api/structs/VkCudaLaunchInfoNV.adoc[] include::{generated}/validity/structs/VkCudaLaunchInfoNV.adoc[] -- -Kernel parameters of pname:function are specified via pname:pParams, very -much the same way as described in -link:++https://docs.nvidia.com/cuda/cuda-driver-api/group__CUDA__EXEC.html#group__CUDA__EXEC_1gb8f3dc3031b40da29d5f9a7139e52e15++[cuLaunchKernel] - -If pname:function has N parameters, then pname:pParams must: be an array of -N pointers and pname:paramCount must: be set to N. Each of -pname:kernelParams[0] through pname:kernelParams[N-1] must: point to a -region of memory from which the actual kernel parameter will be copied. -The number of kernel parameters and their offsets and sizes are not -specified here as that information is stored in the slink:VkCudaFunctionNV -object. -The application-owned memory pointed to by pname:pParams and -pname:kernelParams[0] through pname:kernelParams[N-1] are consumed -immediately, and may: be altered or freed after -flink:vkCmdCudaLaunchKernelNV has returned. [[cudadispatch_sharing_resources]] -=== Resources sharing from Vulkan to the CUDA Kernel +=== Resource Sharing from Vulkan to the CUDA Kernel Given that one key limitation of this extension is that Vulkan cannot: access, nor bind any global resource of CUDA modules, the only way to @@ -141,15 +143,14 @@ of the function__. ifdef::VK_KHR_buffer_device_address[] You can use apiext:VK_KHR_buffer_device_address to write/read to/from a slink:VkBuffer object. -<<VK_KHR_buffer_device_address>> allows you to get the device address of the -buffer to pass it as an argument into pname:pParams. +apiext:VK_KHR_buffer_device_address allows you to get the device address of +the buffer to pass it as an argument into pname:pParams. Application-side pointer arithmetic on the device address is legal, but will not be bounds-checked on the device. The corresponding argument of the CUDA function should: be declared as a pointer of the same type as the referenced buffer. -And the CUDA code may: simply read or write to this buffer in the typical C -way. +CUDA code may: simply read or write to this buffer in the typical C way. endif::VK_KHR_buffer_device_address[] @@ -160,10 +161,10 @@ to read/write from/to a slink:VkImage. The corresponding argument of the CUDA function must: be typed as `cudaSurfaceObject_t`. - * You may: then read from it by using the CUDA surface-read functions such - as `surf3Dread`/`surf2Dread`/`surf1Dread` - * You may: then write to it by using the CUDA surface-write functions such - as `surf3Dwrite`/`surf2Dwrite`/`surf1Dwrite` + * You may: read from it by using CUDA surface-read functions such as + `surf3Dread`, `surf2Dread`, and `surf1Dread` + * You may: write to it by using CUDA surface-write functions such as + `surf3Dwrite`, `surf2Dwrite`, and `surf1Dwrite` Please refer to CUDA link:https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html%23surface-object-api-appendix[surface diff --git a/chapters/VK_NV_cuda_kernel_launch/module.adoc b/chapters/VK_NV_cuda_kernel_launch/module.adoc index e8ea51cf..3f739f13 100644 --- a/chapters/VK_NV_cuda_kernel_launch/module.adoc +++ b/chapters/VK_NV_cuda_kernel_launch/module.adoc @@ -33,11 +33,10 @@ include::{generated}/api/protos/vkCreateCudaModuleNV.adoc[] * pname:pModule is a pointer to a slink:VkCudaModuleNV handle in which the resulting CUDA module object is returned. -Once a CUDA module has been created, you may: create the function entry -point that must: refer to one function in the module. +Once a CUDA module has been created, the application may: create the +function entry point, which must: refer to one function in the module. include::{generated}/validity/protos/vkCreateCudaModuleNV.adoc[] - -- [open,refpage='VkCudaModuleCreateInfoNV',desc='Structure specifying the parameters to create a CUDA Module',type='structs'] @@ -100,9 +99,9 @@ The sname:VkCudaFunctionCreateInfoNV structure is defined as: include::{generated}/api/structs/VkCudaFunctionCreateInfoNV.adoc[] * pname:sType is a elink:VkStructureType value identifying this structure. - * pname:pNext may: be `NULL` or may: be a pointer to a structure extending - this structure. - * pname:module must: be the CUDA slink:VkCudaModuleNV module in which the + * pname:pNext is `NULL` or a pointer to a structure extending this + structure. + * pname:module is the CUDA slink:VkCudaModuleNV module in which the function resides. * pname:pName is a null-terminated UTF-8 string containing the name of the shader entry point for this stage. @@ -169,72 +168,61 @@ include::{generated}/api/protos/vkGetCudaModuleCacheNV.adoc[] * pname:pCacheData is a pointer to a buffer in which to copy the binary cache -.Valid Usage -**** - * [[VUID-vkGetCudaModuleCacheNV-pCacheSize-09414]] - pname:pCacheSize must: be a pointer containing the amount of bytes to be - copied in pname:pCacheData. - If pname:pCacheData is NULL, the function will return in this pointer - the total amount of bytes required to later perform the copy into - pname:pCacheData. - * [[VUID-vkGetCudaModuleCacheNV-pCacheData-09415]] - pname:pCacheData may: be a pointer to a buffer in which the binary cache - will be copied. - The amount of bytes copied is defined by the value in pname:pCacheSize. - This pointer may: be NULL. - In this case, the function will write the total amount of required data - in pname:pCacheSize. -**** - -include::{generated}/validity/protos/vkGetCudaModuleCacheNV.adoc[] --- - -A typical use of vkGetCudaModuleCacheNV happens in two steps: - - * First call it without with pname:pCacheData set to NULL and with a valid - pointer pname:pCacheSize. - * Another call with a valid pname:pCacheData pointing to the expected size - returned by pname:pCacheSize, and pname:pCacheSize containing the amount - in bytes to copy. +If pname:pCacheData is `NULL`, then the size of the binary cache, in bytes, +is returned in pname:pCacheSize. +Otherwise, pname:pCacheSize must: point to a variable set by the user to the +size of the buffer, in bytes, pointed to by pname:pCacheData, and on return +the variable is overwritten with the amount of data actually written to +pname:pCacheData. +If pname:pCacheSize is less than the size of the binary shader code, nothing +is written to pname:pCacheData, and ename:VK_INCOMPLETE will be returned +instead of ename:VK_SUCCESS. The returned cache may: then be used later for further initialization of the -CUDA module, by sending this cache _instead_ of the PTX code, when using +CUDA module, by sending this cache _instead_ of the PTX code when using flink:vkCreateCudaModuleNV. +[NOTE] +.Note +==== Using the binary cache instead of the original PTX code should: significantly speed up initialization of the CUDA module, given that the whole compilation and validation will not be necessary. As with slink:VkPipelineCache, the binary cache depends on the specific implementation. -Therefore the application must: assume the cache upload might fail in many +The application must: assume the cache upload might fail in many circumstances and thus may: have to get ready for falling back to the original PTX code if necessary. Most often, the cache may: succeed if the same device driver and architecture is used between the cache generation from PTX and the use of this cache. -But most of the time, in the event of a new driver version or a if using a -different device architecture, this cache may: become invalid. +In the event of a new driver version or if using a different device +architecture, this cache may: become invalid. +==== + +include::{generated}/validity/protos/vkGetCudaModuleCacheNV.adoc[] +-- [[cuda-modules-limitations]] === Limitations -CUDA and Vulkan do not use the device in the same configuration, therefore, -few limitations must be taken into account: +CUDA and Vulkan do not use the device in the same configuration. +The following limitations must: be taken into account: * It is not possible to read or write global parameters from Vulkan. The only way to share resources or send values to the PTX kernel is to pass them as arguments of the function. See <<cudadispatch_sharing_resources, Resources sharing between CUDA Kernel and Vulkan>> for more details. - * No calls to functions external to the module PTX are supported + * No calls to functions external to the module PTX are supported. * Vulkan disables some shader/kernel exceptions, which could break CUDA - kernels relying on exceptions + kernels relying on exceptions. * CUDA kernels submitted to Vulkan are limited to the amount of shared - memory you can query from physical capabilities. - It may be less than what CUDA can offer - * CUDA instruction-level preemption (CILP) does not work + memory, which can be queried from the physical capabilities. + It may be less than what CUDA can offer. + * CUDA instruction-level preemption (CILP) does not work. * CUDA Unified Memory will not work in this extension. - * CUDA Dynamic parallelism is not supported - * DispatchIndirect not available + * CUDA Dynamic parallelism is not supported. + * ftext:vk*DispatchIndirect is not available. diff --git a/chapters/VK_NV_low_latency2/low_latency2.adoc b/chapters/VK_NV_low_latency2/low_latency2.adoc index 12822ef0..85cfeed9 100644 --- a/chapters/VK_NV_low_latency2/low_latency2.adoc +++ b/chapters/VK_NV_low_latency2/low_latency2.adoc @@ -195,9 +195,6 @@ include::{generated}/api/protos/vkGetLatencyTimingsNV.adoc[] * pname:device is the device associated with pname:swapchain. * pname:swapchain is the swapchain to return data from. - * pname:pTimingCount is a pointer to an integer related to the number of - of previous frames of latency data available or queried, as described - below. * pname:pGetLatencyMarkerInfo is a pointer to a slink:VkGetLatencyMarkerInfoNV structure specifying the parameters for returning latency information. @@ -206,12 +203,6 @@ The timings returned by fname:vkGetLatencyTimingsNV contain the timestamps requested from flink:vkSetLatencyMarkerNV and additional implementation-specific markers defined in slink:VkLatencyTimingsFrameReportNV. -If pname:pTimings is `NULL`, then the maximum number of queryable frame data -is returned in pname:pTimingCount. -Otherwise, pname:pTimingCount must: point to a variable set by the user to -the number of elements in the pname:pTimings array in -pname:pGetLatencyMarkerInfo, and on return the variable is overwritten with -the number of values actually written to pname:pTimings. include::{generated}/validity/protos/vkGetLatencyTimingsNV.adoc[] -- @@ -225,9 +216,16 @@ include::{generated}/api/structs/VkGetLatencyMarkerInfoNV.adoc[] * pname:sType is a elink:VkStructureType value identifying this structure. * pname:pNext is either `NULL` or a pointer to a structure extending this structure. + * pname:timingCount is an integer related to the number of of previous + frames of latency data available or queried, as described below. * pname:pTimings is either `NULL` or a pointer to an array of slink:VkLatencyTimingsFrameReportNV structures. +If pname:pTimings is `NULL` then the maximum number of queryable frame data +is returned in pname:timingCount. +Otherwise, pname:timingCount must: be set by the user to the number of +elements in the pname:pTimings array, and on return the variable is +overwritten with the number of values actually written to pname:pTimings. The elements of pname:pTimings are arranged in the order they were requested in, with the oldest data in the first entry. diff --git a/chapters/commonvalidity/get_image_subresource_layout_common.adoc b/chapters/commonvalidity/get_image_subresource_layout_common.adoc index 35560214..89f033fd 100644 --- a/chapters/commonvalidity/get_image_subresource_layout_common.adoc +++ b/chapters/commonvalidity/get_image_subresource_layout_common.adoc @@ -4,69 +4,52 @@ // Common Valid Usage // Common to vkGetImageSubresourceLayout and vkGetImageSubresourceLayout2EXT +// Also common to VkDeviceImageSubresourceInfoKHR which has different image param * [[VUID-{refpage}-aspectMask-00997]] The pname:aspectMask member of pname:pSubresource must: only have a single bit set * [[VUID-{refpage}-mipLevel-01716]] The pname:mipLevel member of pname:pSubresource must: be less than the - pname:mipLevels specified in slink:VkImageCreateInfo when pname:image - was created + pname:mipLevels specified in pname:{imageparam} * [[VUID-{refpage}-arrayLayer-01717]] The pname:arrayLayer member of pname:pSubresource must: be less than the - pname:arrayLayers specified in slink:VkImageCreateInfo when pname:image - was created + pname:arrayLayers specified in pname:{imageparam} ifdef::VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion[] * [[VUID-{refpage}-format-08886]] - If pname:format of the pname:image is a color format, pname:tiling of - the pname:image is ename:VK_IMAGE_TILING_LINEAR or - ename:VK_IMAGE_TILING_OPTIMAL, and does not have a + If pname:format of the pname:{imageparam} is a color format, + pname:tiling of the pname:{imageparam} is ename:VK_IMAGE_TILING_LINEAR + or ename:VK_IMAGE_TILING_OPTIMAL, and does not have a <<formats-requiring-sampler-ycbcr-conversion, multi-planar image format>>, the pname:aspectMask member of pname:pSubresource must: be ename:VK_IMAGE_ASPECT_COLOR_BIT endif::VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion[] ifndef::VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion[] * [[VUID-{refpage}-format-08887]] - If pname:format of the pname:image is a color format and pname:tiling of - the pname:image is ename:VK_IMAGE_TILING_LINEAR or - ename:VK_IMAGE_TILING_OPTIMAL, the pname:aspectMask member of + If pname:format of the pname:{imageparam} is a color format and + pname:tiling of the pname:{imageparam} is ename:VK_IMAGE_TILING_LINEAR + or ename:VK_IMAGE_TILING_OPTIMAL, the pname:aspectMask member of pname:pSubresource must: be ename:VK_IMAGE_ASPECT_COLOR_BIT endif::VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion[] * [[VUID-{refpage}-format-04462]] - If pname:format of the pname:image has a depth component, the + If pname:format of the pname:{imageparam} has a depth component, the pname:aspectMask member of pname:pSubresource must: contain ename:VK_IMAGE_ASPECT_DEPTH_BIT * [[VUID-{refpage}-format-04463]] - If pname:format of the pname:image has a stencil component, the + If pname:format of the pname:{imageparam} has a stencil component, the pname:aspectMask member of pname:pSubresource must: contain ename:VK_IMAGE_ASPECT_STENCIL_BIT * [[VUID-{refpage}-format-04464]] - If pname:format of the pname:image does not contain a stencil or depth - component, the pname:aspectMask member of pname:pSubresource must: not - contain ename:VK_IMAGE_ASPECT_DEPTH_BIT or + If pname:format of the pname:{imageparam} does not contain a stencil or + depth component, the pname:aspectMask member of pname:pSubresource must: + not contain ename:VK_IMAGE_ASPECT_DEPTH_BIT or ename:VK_IMAGE_ASPECT_STENCIL_BIT ifdef::VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion[] * [[VUID-{refpage}-tiling-08717]] - If the pname:tiling of the pname:image is ename:VK_IMAGE_TILING_LINEAR - and has a <<formats-requiring-sampler-ycbcr-conversion, multi-planar - image format>>, then the pname:aspectMask member of pname:pSubresource - must: be a single valid <<formats-planes-image-aspect,multi-planar - aspect mask>> bit + If the pname:tiling of the pname:{imageparam} is + ename:VK_IMAGE_TILING_LINEAR and has a + <<formats-requiring-sampler-ycbcr-conversion, multi-planar image + format>>, then the pname:aspectMask member of pname:pSubresource must: + be a single valid <<formats-planes-image-aspect,multi-planar aspect + mask>> bit endif::VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion[] -ifdef::VK_ANDROID_external_memory_android_hardware_buffer[] - * [[VUID-{refpage}-image-01895]] - If pname:image was created with the - ename:VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID - external memory handle type, then pname:image must: be bound to memory -endif::VK_ANDROID_external_memory_android_hardware_buffer[] -ifdef::VK_EXT_image_drm_format_modifier[] - * [[VUID-{refpage}-tiling-02271]] - If the pname:tiling of the pname:image is - ename:VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT, then the pname:aspectMask - member of pname:pSubresource must: be - `VK_IMAGE_ASPECT_MEMORY_PLANE__{ibit}__BIT_EXT` and the index _i_ must: - be less than the - slink:VkDrmFormatModifierPropertiesEXT::pname:drmFormatModifierPlaneCount - associated with the image's pname:format and - slink:VkImageDrmFormatModifierPropertiesEXT::pname:drmFormatModifier -endif::VK_EXT_image_drm_format_modifier[] // Common Valid Usage diff --git a/chapters/commonvalidity/image_layout_transition_common.adoc b/chapters/commonvalidity/image_layout_transition_common.adoc index 208e33c7..efd03b85 100644 --- a/chapters/commonvalidity/image_layout_transition_common.adoc +++ b/chapters/commonvalidity/image_layout_transition_common.adoc @@ -29,16 +29,14 @@ * [[VUID-{refpage}-image-01932]] If pname:image is non-sparse then it must: be bound completely and contiguously to a single sname:VkDeviceMemory object -ifndef::VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion[] - * [[VUID-{refpage}-image-02902]] - If pname:image has a color format, then the pname:aspectMask member of - pname:subresourceRange must: be ename:VK_IMAGE_ASPECT_COLOR_BIT -endif::VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion[] -ifdef::VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion[] * [[VUID-{refpage}-image-09241]] - If pname:image has a color format that is single-plane, then the - pname:aspectMask member of pname:subresourceRange must: be + If pname:image has a color format +ifdef::VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion[] + that is single-plane, +endif::VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion[] + then the pname:aspectMask member of pname:subresourceRange must: be ename:VK_IMAGE_ASPECT_COLOR_BIT +ifdef::VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion[] * [[VUID-{refpage}-image-09242]] If pname:image has a color format and is not _disjoint_, then the pname:aspectMask member of pname:subresourceRange must: be @@ -49,13 +47,15 @@ ifdef::VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion[] at least one <<formats-planes-image-aspect,multi-planar aspect mask>> bit or ename:VK_IMAGE_ASPECT_COLOR_BIT endif::VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion[] -ifndef::VK_VERSION_1_2,VK_KHR_separate_depth_stencil_layouts[] - * [[VUID-{refpage}-image-01207]] + * [[VUID-{refpage}-image-03320]] If pname:image has a depth/stencil format with both depth and stencil - components, then the pname:aspectMask member of pname:subresourceRange - must: include both ename:VK_IMAGE_ASPECT_DEPTH_BIT and - ename:VK_IMAGE_ASPECT_STENCIL_BIT +ifdef::VK_VERSION_1_2,VK_KHR_separate_depth_stencil_layouts[] + and the <<features-separateDepthStencilLayouts, + pname:separateDepthStencilLayouts>> feature is not enabled, endif::VK_VERSION_1_2,VK_KHR_separate_depth_stencil_layouts[] + then the pname:aspectMask member of pname:subresourceRange must: include + both ename:VK_IMAGE_ASPECT_DEPTH_BIT and + ename:VK_IMAGE_ASPECT_STENCIL_BIT ifdef::VK_VERSION_1_2,VK_KHR_separate_depth_stencil_layouts[] * [[VUID-{refpage}-image-03319]] If pname:image has a depth/stencil format with both depth and stencil @@ -64,12 +64,6 @@ ifdef::VK_VERSION_1_2,VK_KHR_separate_depth_stencil_layouts[] pname:aspectMask member of pname:subresourceRange must: include either or both ename:VK_IMAGE_ASPECT_DEPTH_BIT and ename:VK_IMAGE_ASPECT_STENCIL_BIT - * [[VUID-{refpage}-image-03320]] - If pname:image has a depth/stencil format with both depth and stencil - and the <<features-separateDepthStencilLayouts, - pname:separateDepthStencilLayouts>> feature is not enabled, then the - pname:aspectMask member of pname:subresourceRange must: include both - ename:VK_IMAGE_ASPECT_DEPTH_BIT and ename:VK_IMAGE_ASPECT_STENCIL_BIT * [[VUID-{refpage}-aspectMask-08702]] If the pname:aspectMask member of pname:subresourceRange includes ename:VK_IMAGE_ASPECT_DEPTH_BIT, pname:oldLayout and pname:newLayout diff --git a/chapters/commonvalidity/query_pool_count_common.adoc b/chapters/commonvalidity/query_pool_count_common.adoc new file mode 100644 index 00000000..a91e3c2e --- /dev/null +++ b/chapters/commonvalidity/query_pool_count_common.adoc @@ -0,0 +1,10 @@ +// Copyright 2023 The Khronos Group Inc. +// +// SPDX-License-Identifier: CC-BY-4.0 + +// Common include + * pname:firstQuery must: be less than the number of queries in + pname:queryPool + * The sum of pname:firstQuery and pname:queryCount must: be less than or + equal to the number of queries in pname:queryPool +// Common include diff --git a/chapters/commonvalidity/query_results_common.adoc b/chapters/commonvalidity/query_results_common.adoc new file mode 100644 index 00000000..bca535a1 --- /dev/null +++ b/chapters/commonvalidity/query_results_common.adoc @@ -0,0 +1,30 @@ +// Copyright 2023 The Khronos Group Inc. +// +// SPDX-License-Identifier: CC-BY-4.0 + +// Common include + * If pname:queryCount is greater than 1, pname:stride must: not be zero + * If the pname:queryType used to create pname:queryPool was + ename:VK_QUERY_TYPE_TIMESTAMP, pname:flags must: not contain + ename:VK_QUERY_RESULT_PARTIAL_BIT +ifdef::VK_KHR_performance_query[] + * If the pname:queryType used to create pname:queryPool was + ename:VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR, pname:flags must: not contain + ename:VK_QUERY_RESULT_WITH_AVAILABILITY_BIT, +ifdef::VK_KHR_video_queue[] + ename:VK_QUERY_RESULT_WITH_STATUS_BIT_KHR, +endif::VK_KHR_video_queue[] + ename:VK_QUERY_RESULT_PARTIAL_BIT, or ename:VK_QUERY_RESULT_64_BIT + * If the pname:queryType used to create pname:queryPool was + ename:VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR, the pname:queryPool must: + have been recorded once for each pass as retrieved via a call to + flink:vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR +endif::VK_KHR_performance_query[] +ifdef::VK_KHR_video_queue[] + * If the pname:queryType used to create pname:queryPool was + ename:VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR, then pname:flags must: + include ename:VK_QUERY_RESULT_WITH_STATUS_BIT_KHR + * If pname:flags includes ename:VK_QUERY_RESULT_WITH_STATUS_BIT_KHR, then + it must: not include ename:VK_QUERY_RESULT_WITH_AVAILABILITY_BIT +endif::VK_KHR_video_queue[] +// Common include diff --git a/chapters/dispatch.adoc b/chapters/dispatch.adoc index 04f9c151..223a27dd 100644 --- a/chapters/dispatch.adoc +++ b/chapters/dispatch.adoc @@ -230,4 +230,4 @@ endif::VK_HUAWEI_subpass_shading[] ifdef::VK_NV_cuda_kernel_launch[] include::{chapters}/VK_NV_cuda_kernel_launch/dispatch.adoc[] -endif::VK_NV_cuda_kernel_launch[]
\ No newline at end of file +endif::VK_NV_cuda_kernel_launch[] diff --git a/chapters/features.adoc b/chapters/features.adoc index 7f746e94..d1614a8d 100644 --- a/chapters/features.adoc +++ b/chapters/features.adoc @@ -7124,11 +7124,9 @@ This structure describes the following feature: include::{chapters}/features.adoc[tag=features] include::{generated}/validity/structs/VkPhysicalDeviceDescriptorPoolOverallocationFeaturesNV.adoc[] - -- endif::VK_NV_descriptor_pool_overallocation[] - ifdef::VK_NV_cuda_kernel_launch[] [open,refpage='VkPhysicalDeviceCudaKernelLaunchFeaturesNV',desc='Structure describing whether cuda kernel launch is supported by the implementation',type='structs'] -- diff --git a/chapters/limits.adoc b/chapters/limits.adoc index e705ce03..27f00ca6 100644 --- a/chapters/limits.adoc +++ b/chapters/limits.adoc @@ -4363,7 +4363,6 @@ include::{generated}/validity/structs/VkPhysicalDeviceExtendedSparseAddressSpace endif::VK_NV_extended_sparse_address_space[] ifdef::VK_NV_cuda_kernel_launch[] - [open,refpage='VkPhysicalDeviceCudaKernelLaunchPropertiesNV',desc='Structure describing the compute capability version available',type='structs'] -- The sname:VkPhysicalDeviceCudaKernelLaunchPropertiesNV structure is defined @@ -4384,7 +4383,6 @@ include::{chapters}/limits.adoc[tag=limits_desc] include::{generated}/validity/structs/VkPhysicalDeviceCudaKernelLaunchPropertiesNV.adoc[] -- - endif::VK_NV_cuda_kernel_launch[] ifdef::VK_ANDROID_external_format_resolve[] diff --git a/chapters/pipelines.adoc b/chapters/pipelines.adoc index 4529c6d9..b5b1c1e2 100644 --- a/chapters/pipelines.adoc +++ b/chapters/pipelines.adoc @@ -4659,13 +4659,13 @@ ifdef::VK_EXT_attachment_feedback_loop_layout[] endif::VK_EXT_attachment_feedback_loop_layout[] ifdef::VK_EXT_opacity_micromap[] * ename:VK_PIPELINE_CREATE_2_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT - specifies that the pipeline can: be used with acceleration structures - which reference an opacity micromap array. + specifies that the ray tracing pipeline can: be used with acceleration + structures which reference an opacity micromap array. endif::VK_EXT_opacity_micromap[] ifdef::VK_NV_displacement_micromap[] * ename:VK_PIPELINE_CREATE_2_RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NV - specifies that the pipeline can: be used with aceleration structures - which reference a displacement micromap array. + specifies that the ray tracing pipeline can: be used with acceleration + structures which reference a displacement micromap array. endif::VK_NV_displacement_micromap[] ifdef::VK_EXT_pipeline_protected_access[] * ename:VK_PIPELINE_CREATE_2_NO_PROTECTED_ACCESS_BIT_EXT specifies that @@ -4911,13 +4911,13 @@ endif::VK_EXT_attachment_feedback_loop_dynamic_state[] endif::VK_EXT_attachment_feedback_loop_layout[] ifdef::VK_EXT_opacity_micromap[] * ename:VK_PIPELINE_CREATE_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT specifies - that the pipeline can: be used with acceleration structures which - reference an opacity micromap array. + that the ray tracing pipeline can: be used with acceleration structures + which reference an opacity micromap array. endif::VK_EXT_opacity_micromap[] ifdef::VK_NV_displacement_micromap[] * ename:VK_PIPELINE_CREATE_RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NV - specifies that the pipeline can: be used with aceleration structures - which reference a displacement micromap array. + specifies that the ray tracing pipeline can: be used with acceleration + structures which reference a displacement micromap array. endif::VK_NV_displacement_micromap[] ifdef::VK_EXT_pipeline_protected_access[] * ename:VK_PIPELINE_CREATE_NO_PROTECTED_ACCESS_BIT_EXT specifies that the diff --git a/chapters/queries.adoc b/chapters/queries.adoc index a1f967af..d7aadc91 100644 --- a/chapters/queries.adoc +++ b/chapters/queries.adoc @@ -435,12 +435,7 @@ endif::VK_KHR_performance_query[] .Valid Usage **** - * [[VUID-vkCmdResetQueryPool-firstQuery-00796]] - pname:firstQuery must: be less than the number of queries in - pname:queryPool - * [[VUID-vkCmdResetQueryPool-firstQuery-00797]] - The sum of pname:firstQuery and pname:queryCount must: be less than or - equal to the number of queries in pname:queryPool +include::{chapters}/commonvalidity/query_pool_count_common.adoc[] * [[VUID-vkCmdResetQueryPool-None-02841]] All queries used by the command must: not be active ifdef::VK_KHR_performance_query[] @@ -489,15 +484,10 @@ endif::VK_KHR_performance_query[] .Valid Usage **** +include::{chapters}/commonvalidity/query_pool_count_common.adoc[] * [[VUID-vkResetQueryPool-None-02665]] The <<features-hostQueryReset, pname:hostQueryReset>> feature must: be enabled - * [[VUID-vkResetQueryPool-firstQuery-02666]] - pname:firstQuery must: be less than the number of queries in - pname:queryPool - * [[VUID-vkResetQueryPool-firstQuery-02667]] - The sum of pname:firstQuery and pname:queryCount must: be less than or - equal to the number of queries in pname:queryPool * [[VUID-vkResetQueryPool-firstQuery-02741]] Submitted commands that refer to the range specified by pname:firstQuery and pname:queryCount in pname:queryPool must: have completed execution @@ -1222,11 +1212,10 @@ include::{chapters}/commonvalidity/no_dynamic_allocations_common.adoc[] .Valid Usage **** +include::{chapters}/commonvalidity/query_pool_count_common.adoc[] +include::{chapters}/commonvalidity/query_results_common.adoc[] * [[VUID-vkGetQueryPoolResults-None-09401]] All queries used by the command must: not be uninitialized - * [[VUID-vkGetQueryPoolResults-firstQuery-00813]] - pname:firstQuery must: be less than the number of queries in - pname:queryPool * [[VUID-vkGetQueryPoolResults-flags-02828]] If ename:VK_QUERY_RESULT_64_BIT is not set in pname:flags ifdef::VK_KHR_performance_query[] @@ -1257,40 +1246,9 @@ ifdef::VK_KHR_performance_query[] to create pname:queryPool times the size of slink:VkPerformanceCounterResultKHR endif::VK_KHR_performance_query[] - * [[VUID-vkGetQueryPoolResults-firstQuery-00816]] - The sum of pname:firstQuery and pname:queryCount must: be less than or - equal to the number of queries in pname:queryPool * [[VUID-vkGetQueryPoolResults-dataSize-00817]] pname:dataSize must: be large enough to contain the result of each query, as described <<queries-operation-memorylayout,here>> - * [[VUID-vkGetQueryPoolResults-queryType-00818]] - If the pname:queryType used to create pname:queryPool was - ename:VK_QUERY_TYPE_TIMESTAMP, pname:flags must: not contain - ename:VK_QUERY_RESULT_PARTIAL_BIT -ifdef::VK_KHR_performance_query[] - * [[VUID-vkGetQueryPoolResults-queryType-03230]] - If the pname:queryType used to create pname:queryPool was - ename:VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR, pname:flags must: not contain - ename:VK_QUERY_RESULT_WITH_AVAILABILITY_BIT, -ifdef::VK_KHR_video_queue[] - ename:VK_QUERY_RESULT_WITH_STATUS_BIT_KHR, -endif::VK_KHR_video_queue[] - ename:VK_QUERY_RESULT_PARTIAL_BIT, or ename:VK_QUERY_RESULT_64_BIT - * [[VUID-vkGetQueryPoolResults-queryType-03231]] - If the pname:queryType used to create pname:queryPool was - ename:VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR, the pname:queryPool must: - have been recorded once for each pass as retrieved via a call to - flink:vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR -endif::VK_KHR_performance_query[] -ifdef::VK_KHR_video_queue[] - * [[VUID-vkGetQueryPoolResults-queryType-04810]] - If the pname:queryType used to create pname:queryPool was - ename:VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR, then pname:flags must: - include ename:VK_QUERY_RESULT_WITH_STATUS_BIT_KHR - * [[VUID-vkGetQueryPoolResults-flags-04811]] - If pname:flags includes ename:VK_QUERY_RESULT_WITH_STATUS_BIT_KHR, then - it must: not include ename:VK_QUERY_RESULT_WITH_AVAILABILITY_BIT -endif::VK_KHR_video_queue[] **** include::{generated}/validity/protos/vkGetQueryPoolResults.adoc[] @@ -1468,17 +1426,13 @@ before using the results. .Valid Usage **** +include::{chapters}/commonvalidity/query_pool_count_common.adoc[] +include::{chapters}/commonvalidity/query_results_common.adoc[] * [[VUID-vkCmdCopyQueryPoolResults-None-09402]] All queries used by the command must: not be uninitialized when the command is executed * [[VUID-vkCmdCopyQueryPoolResults-dstOffset-00819]] pname:dstOffset must: be less than the size of pname:dstBuffer - * [[VUID-vkCmdCopyQueryPoolResults-firstQuery-00820]] - pname:firstQuery must: be less than the number of queries in - pname:queryPool - * [[VUID-vkCmdCopyQueryPoolResults-firstQuery-00821]] - The sum of pname:firstQuery and pname:queryCount must: be less than or - equal to the number of queries in pname:queryPool * [[VUID-vkCmdCopyQueryPoolResults-flags-00822]] If ename:VK_QUERY_RESULT_64_BIT is not set in pname:flags then pname:dstOffset and pname:stride must: be multiples of `4` @@ -1495,29 +1449,12 @@ before using the results. * [[VUID-vkCmdCopyQueryPoolResults-dstBuffer-00826]] If pname:dstBuffer is non-sparse then it must: be bound completely and contiguously to a single sname:VkDeviceMemory object - * [[VUID-vkCmdCopyQueryPoolResults-queryType-00827]] - If the pname:queryType used to create pname:queryPool was - ename:VK_QUERY_TYPE_TIMESTAMP, pname:flags must: not contain - ename:VK_QUERY_RESULT_PARTIAL_BIT ifdef::VK_KHR_performance_query[] * [[VUID-vkCmdCopyQueryPoolResults-queryType-03232]] If the pname:queryType used to create pname:queryPool was ename:VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR, slink:VkPhysicalDevicePerformanceQueryPropertiesKHR::pname:allowCommandBufferQueryCopies must: be ename:VK_TRUE - * [[VUID-vkCmdCopyQueryPoolResults-queryType-03233]] - If the pname:queryType used to create pname:queryPool was - ename:VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR, pname:flags must: not contain - ename:VK_QUERY_RESULT_WITH_AVAILABILITY_BIT, -ifdef::VK_KHR_video_queue[] - ename:VK_QUERY_RESULT_WITH_STATUS_BIT_KHR, -endif::VK_KHR_video_queue[] - ename:VK_QUERY_RESULT_PARTIAL_BIT, or ename:VK_QUERY_RESULT_64_BIT - * [[VUID-vkCmdCopyQueryPoolResults-queryType-03234]] - If the pname:queryType used to create pname:queryPool was - ename:VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR, the pname:queryPool must: - have been submitted once for each pass as retrieved via a call to - flink:vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR endif::VK_KHR_performance_query[] ifdef::VK_INTEL_performance_query[] * [[VUID-vkCmdCopyQueryPoolResults-queryType-02734]] @@ -1525,15 +1462,6 @@ ifdef::VK_INTEL_performance_query[] pname:queryType used to create pname:queryPool was ename:VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL endif::VK_INTEL_performance_query[] -ifdef::VK_KHR_video_queue[] - * [[VUID-vkCmdCopyQueryPoolResults-queryType-06901]] - If the pname:queryType used to create pname:queryPool was - ename:VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR, then pname:flags must: - include ename:VK_QUERY_RESULT_WITH_STATUS_BIT_KHR - * [[VUID-vkCmdCopyQueryPoolResults-flags-06902]] - If pname:flags includes ename:VK_QUERY_RESULT_WITH_STATUS_BIT_KHR, then - it must: not include ename:VK_QUERY_RESULT_WITH_AVAILABILITY_BIT -endif::VK_KHR_video_queue[] * [[VUID-vkCmdCopyQueryPoolResults-None-07429]] All queries used by the command must: not be active * [[VUID-vkCmdCopyQueryPoolResults-None-08752]] diff --git a/chapters/renderpass.adoc b/chapters/renderpass.adoc index 82512b5a..17009411 100644 --- a/chapters/renderpass.adoc +++ b/chapters/renderpass.adoc @@ -5993,14 +5993,16 @@ pass. structure specified when creating pname:framebuffer * [[VUID-VkRenderPassBeginInfo-None-08996]] ifdef::VK_VERSION_1_1,VK_KHR_device_group[] - If slink:VkDeviceGroupRenderPassBeginInfo::pname:deviceRenderAreaCount - is 0, + If the pname:pNext chain does not contain + slink:VkDeviceGroupRenderPassBeginInfo or its + pname:deviceRenderAreaCount member is equal to 0, endif::VK_VERSION_1_1,VK_KHR_device_group[] pname:renderArea.extent.width must: be greater than 0 * [[VUID-VkRenderPassBeginInfo-None-08997]] ifdef::VK_VERSION_1_1,VK_KHR_device_group[] - If slink:VkDeviceGroupRenderPassBeginInfo::pname:deviceRenderAreaCount - is 0, + If the pname:pNext chain does not contain + slink:VkDeviceGroupRenderPassBeginInfo or its + pname:deviceRenderAreaCount member is equal to 0, endif::VK_VERSION_1_1,VK_KHR_device_group[] pname:renderArea.extent.height must: be greater than 0 * [[VUID-VkRenderPassBeginInfo-pNext-02850]] diff --git a/chapters/resources.adoc b/chapters/resources.adoc index dd361f5d..ff3c48e3 100644 --- a/chapters/resources.adoc +++ b/chapters/resources.adoc @@ -3457,6 +3457,8 @@ memory, so applications must: not call flink:vkGetImageSubresourceLayout for such an image before it has been bound. endif::VK_ANDROID_external_memory_android_hardware_buffer,VK_QNX_external_memory_screen_buffer[] +:imageparam: image + .Valid Usage **** ifndef::VK_EXT_image_drm_format_modifier[] @@ -3471,6 +3473,23 @@ ifdef::VK_EXT_image_drm_format_modifier[] ename:VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT endif::VK_EXT_image_drm_format_modifier[] include::{chapters}/commonvalidity/get_image_subresource_layout_common.adoc[] +ifdef::VK_ANDROID_external_memory_android_hardware_buffer[] + * [[VUID-vkGetImageSubresourceLayout-image-09432]] + If pname:image was created with the + ename:VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID + external memory handle type, then pname:image must: be bound to memory +endif::VK_ANDROID_external_memory_android_hardware_buffer[] +ifdef::VK_EXT_image_drm_format_modifier[] + * [[VUID-vkGetImageSubresourceLayout-tiling-09433]] + If the pname:tiling of the pname:image is + ename:VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT, then the pname:aspectMask + member of pname:pSubresource must: be + `VK_IMAGE_ASPECT_MEMORY_PLANE__{ibit}__BIT_EXT` and the index _i_ must: + be less than the + slink:VkDrmFormatModifierPropertiesEXT::pname:drmFormatModifierPlaneCount + associated with the image's pname:format and + slink:VkImageDrmFormatModifierPropertiesEXT::pname:drmFormatModifier +endif::VK_EXT_image_drm_format_modifier[] **** include::{generated}/validity/protos/vkGetImageSubresourceLayout.adoc[] @@ -3656,9 +3675,28 @@ Structures chained from slink:VkImageSubresource2KHR::pname:pNext will also be updated when pname:tiling is equal to ename:VK_IMAGE_TILING_OPTIMAL. ==== +:imageparam: image + .Valid Usage **** include::{chapters}/commonvalidity/get_image_subresource_layout_common.adoc[] +ifdef::VK_ANDROID_external_memory_android_hardware_buffer[] + * [[VUID-vkGetImageSubresourceLayout2KHR-image-09434]] + If pname:image was created with the + ename:VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID + external memory handle type, then pname:image must: be bound to memory +endif::VK_ANDROID_external_memory_android_hardware_buffer[] +ifdef::VK_EXT_image_drm_format_modifier[] + * [[VUID-vkGetImageSubresourceLayout2KHR-tiling-09435]] + If the pname:tiling of the pname:image is + ename:VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT, then the pname:aspectMask + member of pname:pSubresource must: be + `VK_IMAGE_ASPECT_MEMORY_PLANE__{ibit}__BIT_EXT` and the index _i_ must: + be less than the + slink:VkDrmFormatModifierPropertiesEXT::pname:drmFormatModifierPlaneCount + associated with the image's pname:format and + slink:VkImageDrmFormatModifierPropertiesEXT::pname:drmFormatModifier +endif::VK_EXT_image_drm_format_modifier[] **** include::{generated}/validity/protos/vkGetImageSubresourceLayout2KHR.adoc[] @@ -3780,6 +3818,8 @@ include::{generated}/api/structs/VkDeviceImageSubresourceInfoKHR.adoc[] slink:VkImageSubresource2KHR structure selecting a specific image subresource for the query. +:imageparam: pCreateInfo + .Valid Usage **** include::{chapters}/commonvalidity/get_image_subresource_layout_common.adoc[] diff --git a/chapters/sparsemem.adoc b/chapters/sparsemem.adoc index 7ebe0f40..f4d6c048 100644 --- a/chapters/sparsemem.adoc +++ b/chapters/sparsemem.adoc @@ -933,7 +933,7 @@ include::{generated}/api/protos/vkGetPhysicalDeviceSparseImageFormatProperties.a * pname:physicalDevice is the physical device from which to query the sparse image format properties. * pname:format is the image format. - * pname:type is the dimensionality of image. + * pname:type is the dimensionality of the image. * pname:samples is a elink:VkSampleCountFlagBits value specifying the number of samples per texel. * pname:usage is a bitmask describing the intended usage of the image. @@ -1035,7 +1035,7 @@ endif::VK_KHR_get_physical_device_properties2[] * pname:pNext is `NULL` or a pointer to a structure extending this structure. * pname:format is the image format. - * pname:type is the dimensionality of image. + * pname:type is the dimensionality of the image. * pname:samples is a elink:VkSampleCountFlagBits value specifying the number of samples per texel. * pname:usage is a bitmask describing the intended usage of the image. diff --git a/chapters/synchronization.adoc b/chapters/synchronization.adoc index 67d003ed..c7fb0e20 100644 --- a/chapters/synchronization.adoc +++ b/chapters/synchronization.adoc @@ -4039,19 +4039,15 @@ endif::VK_NV_external_sci_sync2[] .Valid Usage **** -ifndef::VK_NV_external_sci_sync2[] - * [[VUID-vkDestroySemaphore-semaphore-01137]] - All submitted batches that refer to pname:semaphore must: have completed - execution -endif::VK_NV_external_sci_sync2[] -ifdef::VK_NV_external_sci_sync2[] * [[VUID-vkDestroySemaphore-semaphore-05149]] +ifdef::VK_NV_external_sci_sync2[] If pname:semaphore was not created with slink:VkSemaphoreSciSyncCreateInfoNV present in the slink:VkSemaphoreCreateInfo::pname:pNext chain when it was created, all +endif::VK_NV_external_sci_sync2[] +ifndef::VK_NV_external_sci_sync2[All] submitted batches that refer to pname:semaphore must: have completed execution -endif::VK_NV_external_sci_sync2[] ifndef::VKSC_VERSION_1_0[] * [[VUID-vkDestroySemaphore-semaphore-01138]] If sname:VkAllocationCallbacks were provided when pname:semaphore was diff --git a/chapters/vertexpostproc.adoc b/chapters/vertexpostproc.adoc index 2c39ffa2..0dd04187 100644 --- a/chapters/vertexpostproc.adoc +++ b/chapters/vertexpostproc.adoc @@ -346,7 +346,14 @@ feedback buffer will not be captured. containing ename:VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT * [[VUID-vkCmdBeginTransformFeedbackEXT-None-06233]] - A valid graphics pipeline must: be bound to +ifdef::VK_EXT_shader_object[] + If the <<features-shaderObject, pname:shaderObject>> feature is not + enabled, a +endif::VK_EXT_shader_object[] +ifndef::VK_EXT_shader_object[] + A +endif::VK_EXT_shader_object[] + valid graphics pipeline must: be bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS * [[VUID-vkCmdBeginTransformFeedbackEXT-None-04128]] The last diff --git a/proposals/VK_EXT_depth_bias_control.adoc b/proposals/VK_EXT_depth_bias_control.adoc index 932e0bc7..30059c99 100644 --- a/proposals/VK_EXT_depth_bias_control.adoc +++ b/proposals/VK_EXT_depth_bias_control.adoc @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: CC-BY-4.0 -= Proposal Template += VK_EXT_depth_bias_control :toc: left :refpage: https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/ :sectnums: diff --git a/proposals/VK_EXT_opacity_micromap.adoc b/proposals/VK_EXT_opacity_micromap.adoc index ec816cdf..13ef2a5f 100644 --- a/proposals/VK_EXT_opacity_micromap.adoc +++ b/proposals/VK_EXT_opacity_micromap.adoc @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: CC-BY-4.0 -= Proposal Template += VK_EXT_opacity_micromap :toc: left :refpage: https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/ :sectnums: diff --git a/proposals/VK_KHR_maintenance5.adoc b/proposals/VK_KHR_maintenance5.adoc index e8736acb..142a4a66 100644 --- a/proposals/VK_KHR_maintenance5.adoc +++ b/proposals/VK_KHR_maintenance5.adoc @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: CC-BY-4.0 -= Proposal Template += VK_KHR_maintenance5 :toc: left :refpage: https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/ :sectnums: diff --git a/proposals/VK_MSFT_layered_driver.adoc b/proposals/VK_MSFT_layered_driver.adoc index 0561f917..03aa41aa 100644 --- a/proposals/VK_MSFT_layered_driver.adoc +++ b/proposals/VK_MSFT_layered_driver.adoc @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: CC-BY-4.0 -= Proposal Template += VK_MSFT_layered_driver :toc: left :refpage: https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/ :sectnums: diff --git a/registry.adoc b/registry.adoc index ff173280..22584d0e 100644 --- a/registry.adoc +++ b/registry.adoc @@ -635,6 +635,7 @@ Explicitly specifying `optional="false"` is not supported, but Valid values: ** `"min"` and `"max"` denote minimum and maximum limits. They may also apply to arrays and `VkExtent*D`. + ** `"not"` specifies a feature is supported when false. ** `"pot"` denotes a value that has to be a power of two value. They may also apply to arrays and `VkExtent*D`. ** `"mul"` denotes a value that must be an integer multiple of this limit. diff --git a/scripts/extensionmetadocgenerator.py b/scripts/extensionmetadocgenerator.py index 6f5e0efc..1dbb22e3 100644 --- a/scripts/extensionmetadocgenerator.py +++ b/scripts/extensionmetadocgenerator.py @@ -9,7 +9,7 @@ import re import sys from functools import total_ordering from generator import GeneratorOptions, OutputGenerator, regSortFeatures, write -from parse_dependency import dependencyMarkup +from parse_dependency import dependencyMarkup, dependencyNames class ExtensionMetaDocGeneratorOptions(GeneratorOptions): """ExtensionMetaDocGeneratorOptions - subclass of GeneratorOptions. @@ -23,6 +23,7 @@ class Extension: def __init__(self, generator, # needed for logging and API conventions filename, + interface, name, number, ext_type, @@ -36,9 +37,14 @@ class Extension: specialuse, ratified ): + """Object encapsulating information from an XML <extension> tag. + Most of the parameters / members are XML tag values. + 'interface' is the actual XML <extension> element.""" + self.generator = generator self.conventions = generator.genOpts.conventions self.filename = filename + self.interface = interface self.name = name self.number = number self.ext_type = ext_type @@ -86,7 +92,7 @@ class Extension: pass # supercedingAPIVersion, supercedingExtension is None elif supercededBy.startswith(self.conventions.api_version_prefix): self.supercedingAPIVersion = supercededBy - elif supercededBy.startswith(self.conventions.api_prefix): + elif supercededBy.startswith(self.conventions.extension_name_prefix): self.supercedingExtension = supercededBy else: self.generator.logMsg('error', 'Unrecognized ' + self.deprecationType + ' attribute value \'' + supercededBy + '\'!') @@ -238,12 +244,14 @@ class Extension: if isRefpage: write('', file=fp) - def makeMetafile(self, extensions, isRefpage = False): + def makeMetafile(self, extensions, SPV_deps, isRefpage = False): """Generate a file containing extension metainformation in asciidoctor markup form. - extensions - dictionary of Extension objects for extensions spec is being generated against + - SPV_deps - dictionary of SPIR-V extension names required for each + extension and version name - isRefpage - True if generating a refpage include, False if generating a specification extension appendix include""" @@ -260,10 +268,13 @@ class Extension: write('', file=fp) self.writeTag('Name String', '`' + self.name + '`', isRefpage, fp) - self.writeTag('Extension Type', self.typeToStr(), isRefpage, fp) + if self.conventions.write_extension_type: + self.writeTag('Extension Type', self.typeToStr(), isRefpage, fp) - self.writeTag('Registered Extension Number', self.number, isRefpage, fp) - self.writeTag('Revision', self.revision, isRefpage, fp) + if self.conventions.write_extension_number: + self.writeTag('Registered Extension Number', self.number, isRefpage, fp) + if self.conventions.write_extension_revision: + self.writeTag('Revision', self.revision, isRefpage, fp) if self.conventions.xml_api_name in self.ratified.split(','): ratstatus = 'Ratified' @@ -285,8 +296,9 @@ class Extension: dependencyMarkup(self.depends) + '--', file=fp) else: - # Do not bother specifying the base Vulkan 1.0 API redundantly - True + # Do not specify the base API redundantly, but put something + # here to avoid formatting trouble. + self.writeTag(None, 'None', isRefpage, fp) if self.provisional == 'true' and self.conventions.provisional_extension_warning: write(' * *This is a _provisional_ extension and must: be used with caution.', file=fp) @@ -297,6 +309,30 @@ class Extension: ' of provisional header files for enablement and stability details.*', file=fp) write('', file=fp) + # Determine version and extension interactions from 'depends' + # attributes of <require> tags. + interacts = set() + for elem in self.interface.findall('require[@depends]'): + names = dependencyNames(elem.get('depends')) + interacts |= names + + if len(interacts) > 0: + self.writeTag('API Interactions', None, isRefpage, fp) + + def versionKey(name): + """Sort _VERSION_ names before extension names""" + return '_VERSION_' not in name + + names = sorted(sorted(interacts), key=versionKey) + for name in names: + write(f'* Interacts with {name}', file=fp) + + if self.name in SPV_deps: + self.writeTag('SPIR-V Dependencies', None, isRefpage, fp) + + for spvname in SPV_deps[self.name]: + write(f' * {self.conventions.formatSPIRVlink(spvname)}', file=fp) + if self.deprecationType: self.writeTag('Deprecation State', None, isRefpage, fp) @@ -358,10 +394,10 @@ class Extension: if handle.startswith('gitlab:'): prettyHandle = 'icon:gitlab[alt=GitLab, role="red"]' + handle.replace('gitlab:@', '') elif handle.startswith('@'): - issuePlaceholderText = '[' + self.name + '] ' + handle - issuePlaceholderText += '%0A*Here describe the issue or question you have about the ' + self.name + ' extension*' - trackerLink = 'link:++https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=' + issuePlaceholderText + '++' - prettyHandle = trackerLink + '[icon:github[alt=GitHub,role="black"]' + handle[1:] + ',window=_blank,opts=nofollow]' + issuePlaceholderText = f'[{self.name}] {handle}' + issuePlaceholderText += f'%0A*Here describe the issue or question you have about the {self.name} extension*' + trackerLink = f'link:++https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body={issuePlaceholderText}++' + prettyHandle = f'{trackerLink}[icon:github[alt=GitHub,role="black"]{handle[1:]},window=_blank,opts=nofollow]' else: prettyHandle = handle @@ -442,6 +478,8 @@ class ExtensionMetaDocOutputGenerator(OutputGenerator): # List of strings containing all vendor tags self.vendor_tags = [] self.file_suffix = '' + # SPIR-V dependencies, generated in beginFile() + self.SPV_deps = {} def newFile(self, filename): self.logMsg('diag', '# Generating include file:', filename) @@ -461,6 +499,28 @@ class ExtensionMetaDocOutputGenerator(OutputGenerator): for tag in root.findall('tags/tag'): self.vendor_tags.append(tag.get('name')) + # If there are <spirvextension> elements in the XML, generate a + # reverse map from API version and extension names to the SPV + # extensions they depend on. + + def add_dep(SPV_deps, name, spvname): + """Add spvname as a dependency of name. + name may be an API or extension name.""" + + if name not in SPV_deps: + SPV_deps[name] = set() + SPV_deps[name].add(spvname) + + for spvext in root.findall('spirvextensions/spirvextension'): + spvname = spvext.get('name') + for elem in spvext.findall('enable'): + if elem.get('version'): + version_name = elem.get('version') + add_dep(self.SPV_deps, version_name, spvname) + elif elem.get('extension'): + ext_name = elem.get('extension') + add_dep(self.SPV_deps, ext_name, spvname) + # Create subdirectory, if needed self.makeDir(self.directory) @@ -512,9 +572,9 @@ class ExtensionMetaDocOutputGenerator(OutputGenerator): # Generate metadoc extension files, in refpage and non-refpage form for ext in self.extensions.values(): - ext.makeMetafile(self.extensions, isRefpage = False) + ext.makeMetafile(self.extensions, self.SPV_deps, isRefpage = False) if self.conventions.write_refpage_include: - ext.makeMetafile(self.extensions, isRefpage = True) + ext.makeMetafile(self.extensions, self.SPV_deps, isRefpage = True) # Key to sort extensions alphabetically within 'KHR', 'EXT', vendor # extension prefixes. @@ -643,15 +703,21 @@ class ExtensionMetaDocOutputGenerator(OutputGenerator): self.logMsg('diag', 'beginFeature: ignoring non-extension feature', self.featureName) return - # These attributes must exist name = self.featureName - number = self.getAttrib(interface, 'number') - ext_type = self.getAttrib(interface, 'type') - revision = self.getSpecVersion(interface, name) + + # These attributes may be required to exist, depending on the API + number = self.getAttrib(interface, 'number', + self.conventions.write_extension_number) + ext_type = self.getAttrib(interface, 'type', + self.conventions.write_extension_type) + if self.conventions.write_extension_revision: + revision = self.getSpecVersion(interface, name) + else: + revision = None # These attributes are optional OPTIONAL = False - depends = self.getAttrib(interface, 'depends', OPTIONAL) # TODO should default to VK_VERSION_1_0? + depends = self.getAttrib(interface, 'depends', OPTIONAL) # TODO should default to base API version 1.0? contact = self.getAttrib(interface, 'contact', OPTIONAL) promotedTo = self.getAttrib(interface, 'promotedto', OPTIONAL) deprecatedBy = self.getAttrib(interface, 'deprecatedby', OPTIONAL) @@ -665,6 +731,7 @@ class ExtensionMetaDocOutputGenerator(OutputGenerator): extdata = Extension( generator = self, filename = filename, + interface = interface, name = name, number = number, ext_type = ext_type, @@ -714,6 +781,7 @@ class ExtensionMetaDocOutputGenerator(OutputGenerator): def getSpecVersion(self, elem, extname, default=None): """Determine the extension revision from the EXTENSION_NAME_SPEC_VERSION enumerant. + This only makes sense for Vulkan. - elem - <extension> element to query - extname - extension name from the <extension> 'name' attribute diff --git a/scripts/generator.py b/scripts/generator.py index 669e5d68..5fb63700 100644 --- a/scripts/generator.py +++ b/scripts/generator.py @@ -64,9 +64,8 @@ def regSortCategoryKey(feature): return 0.5 else: return 0 - if (feature.category == 'ARB' - or feature.category == 'KHR' - or feature.category == 'OES'): + + if feature.category.upper() in ['ARB', 'KHR', 'OES']: return 1 return 2 diff --git a/scripts/parse_dependency.py b/scripts/parse_dependency.py index 313b3c08..b3ef841e 100755 --- a/scripts/parse_dependency.py +++ b/scripts/parse_dependency.py @@ -52,45 +52,20 @@ import operator import pyparsing as pp import re +from apiconventions import APIConventions as APIConventions +conventions = APIConventions() + def markupPassthrough(name): """Pass a name (leaf or operator) through without applying markup""" return name -# A regexp matching Vulkan and VulkanSC core version names -# The Conventions is_api_version_name() method is similar, but does not -# return the matches. -apiVersionNamePat = re.compile(r'(VK|VKSC)_VERSION_([0-9]+)_([0-9]+)') - -def apiVersionNameMatch(name): - """Return [ apivariant, major, minor ] if name is an API version name, - or [ None, None, None ] if it is not.""" - - match = apiVersionNamePat.match(name) - if match is not None: - return [ match.group(1), match.group(2), match.group(3) ] - else: - return [ None, None, None ] - def leafMarkupAsciidoc(name): """Markup a leaf name as an asciidoc link to an API version or extension anchor. - name - version or extension name""" - (apivariant, major, minor) = apiVersionNameMatch(name) - - if apivariant is not None: - version = major + '.' + minor - if apivariant == 'VKSC': - # Vulkan SC has a different anchor pattern for version appendices - if version == '1.0': - return 'Vulkan SC 1.0' - else: - return f'<<versions-sc-{version}, Version SC {version}>>' - else: - return f'<<versions-{version}, Version {version}>>' - else: - return f'apiext:{name}' + return conventions.formatVersionOrExtension(name) def leafMarkupC(name): """Markup a leaf name as a C expression, using conventions of the @@ -344,6 +319,10 @@ def dependencyMarkup(dependency): return markupTraverse(parsed) if __name__ == "__main__": + for str in [ 'VK_VERSION_1_0', 'cl_khr_extension_name', 'XR_VERSION_3_2', 'CL_VERSION_1_0' ]: + print(f'{str} -> {conventions.formatVersionOrExtension(str)}') + import sys + sys.exit(0) termdict = { 'VK_VERSION_1_1' : True, diff --git a/scripts/scriptgenerator.py b/scripts/scriptgenerator.py index 18ce9de4..993c97d2 100644 --- a/scripts/scriptgenerator.py +++ b/scripts/scriptgenerator.py @@ -9,15 +9,19 @@ from generator import OutputGenerator, enquote, noneStr def mostOfficial(api, newapi): """Return the 'most official' of two related names, api and newapi. KHR is more official than EXT is more official than everything else. - If there is ambiguity, return api.""" + If there is ambiguity, return api. + Accommodate APIs using lower-case vendor suffixes.""" - if api[-3:] == 'KHR': + apicat = api[-3:].upper() + newapicat = newapi[-3:].upper() + + if apicat == 'KHR': return api - if newapi[-3:] == 'KHR': + if newapicat == 'KHR': return newapi; - if api[-3:] == 'EXT': + if apicat == 'EXT': return api - if newapi[-3:] == 'EXT': + if newapicat == 'EXT': return newapi; return api diff --git a/scripts/spec_tools/conventions.py b/scripts/spec_tools/conventions.py index 00d2b81d..9118feaf 100644 --- a/scripts/spec_tools/conventions.py +++ b/scripts/spec_tools/conventions.py @@ -32,12 +32,12 @@ TYPES_KNOWN_ALWAYS_VALID = set(('char', )) # Split an extension name into vendor ID and name portions -EXT_NAME_DECOMPOSE_RE = re.compile(r'[A-Z]+_(?P<vendor>[A-Z]+)_(?P<name>[\w_]+)') +EXT_NAME_DECOMPOSE_RE = re.compile(r'(?P<prefix>[A-Za-z]+)_(?P<vendor>[A-Za-z]+)_(?P<name>[\w_]+)') # Match an API version name. +# Match object includes API prefix, major, and minor version numbers. # This could be refined further for specific APIs. -API_VERSION_NAME_RE = re.compile(r'[A-Z]+_VERSION_[0-9]') - +API_VERSION_NAME_RE = re.compile(r'(?P<apivariant>[A-Za-z]+)_VERSION_(?P<major>[0-9]+)_(?P<minor>[0-9]+)') class ProseListFormats(Enum): """A connective, possibly with a quantifier.""" @@ -80,10 +80,39 @@ class ConventionsBase(abc.ABC): self._command_prefix = None self._type_prefix = None + def formatVersionOrExtension(self, name): + """Mark up an API version or extension name as a link in the spec.""" + + # Is this a version name? + match = API_VERSION_NAME_RE.match(name) + if match is not None: + return self.formatVersion(name, + match.group('apivariant'), + match.group('major'), + match.group('minor')) + else: + # If not, assumed to be an extension name. Might be worth checking. + return self.formatExtension(name) + + def formatVersion(self, name, apivariant, major, minor): + """Mark up an API version name as a link in the spec.""" + return '`<<{}>>`'.format(name) + def formatExtension(self, name): - """Mark up an extension name as a link the spec.""" + """Mark up an extension name as a link in the spec.""" return '`<<{}>>`'.format(name) + def formatSPIRVlink(self, name): + """Mark up a SPIR-V extension name as an external link in the spec. + Since these are external links, the formatting probably will be + the same for all APIs creating such links, so long as they use + the asciidoctor {spirv} attribute for the base path to the SPIR-V + extensions.""" + + (vendor, _) = self.extension_name_split(name) + + return f'{{spirv}}/{vendor}/{name}.html[{name}]' + @property @abc.abstractmethod def null(self): @@ -261,6 +290,42 @@ class ConventionsBase(abc.ABC): raise NotImplementedError @property + def extension_name_prefix(self): + """Return extension name prefix. + + Typically two uppercase letters followed by an underscore. + + Assumed to be the same as api_prefix, but some APIs use different + case conventions.""" + + return self.api_prefix + + @property + def write_contacts(self): + """Return whether contact list should be written to extension appendices""" + return False + + @property + def write_extension_type(self): + """Return whether extension type should be written to extension appendices""" + return True + + @property + def write_extension_number(self): + """Return whether extension number should be written to extension appendices""" + return True + + @property + def write_extension_revision(self): + """Return whether extension revision number should be written to extension appendices""" + return True + + @property + def write_refpage_include(self): + """Return whether refpage include should be written to extension appendices""" + return True + + @property def api_version_prefix(self): """Return API core version token prefix. @@ -375,6 +440,16 @@ class ConventionsBase(abc.ABC): documentation includes.""" return False + def extension_name_split(self, name): + """Split an extension name, returning (vendor, rest of name). + The API prefix of the name is ignored.""" + + match = EXT_NAME_DECOMPOSE_RE.match(name) + vendor = match.group('vendor') + bare_name = match.group('name') + + return (vendor, bare_name) + @abc.abstractmethod def extension_file_path(self, name): """Return file path to an extension appendix relative to a directory diff --git a/scripts/spec_tools/util.py b/scripts/spec_tools/util.py index bf258450..b4b45696 100644 --- a/scripts/spec_tools/util.py +++ b/scripts/spec_tools/util.py @@ -1,7 +1,6 @@ """Utility functions not closely tied to other spec_tools types.""" # Copyright (c) 2018-2019 Collabora, Ltd. # Copyright 2013-2023 The Khronos Group Inc. -# # SPDX-License-Identifier: Apache-2.0 diff --git a/scripts/vkconventions.py b/scripts/vkconventions.py index b4e79666..6f0edd72 100755 --- a/scripts/vkconventions.py +++ b/scripts/vkconventions.py @@ -50,9 +50,21 @@ class VulkanConventions(ConventionsBase): """Preferred spelling of NULL.""" return '`NULL`' + def formatVersion(self, name, apivariant, major, minor): + """Mark up an API version name as a link in the spec.""" + version = f'{major}.{minor}' + if apivariant == 'VKSC': + # Vulkan SC has a different anchor pattern for version appendices + if version == '1.0': + return 'Vulkan SC 1.0' + else: + return f'<<versions-sc-{version}, Version SC {version}>>' + else: + return f'<<versions-{version}, Version {version}>>' + def formatExtension(self, name): - """Mark up an extension name as a link the spec.""" - return '`apiext:{}`'.format(name) + """Mark up an extension name as a link in the spec.""" + return f'apiext:{name}' @property def struct_macro(self): diff --git a/scripts/xml_consistency.py b/scripts/xml_consistency.py index 0de982d5..889bc9a8 100755 --- a/scripts/xml_consistency.py +++ b/scripts/xml_consistency.py @@ -432,7 +432,7 @@ class Checker(XMLChecker): limittypeDiags = namedtuple('limittypeDiags', ['missing', 'invalid']) badFields = defaultdict(lambda : limittypeDiags(missing=[], invalid=[])) - validLimittypes = { 'min', 'max', 'pot', 'mul', 'bits', 'bitmask', 'range', 'struct', 'exact', 'noauto' } + validLimittypes = { 'min', 'max', 'not', 'pot', 'mul', 'bits', 'bitmask', 'range', 'struct', 'exact', 'noauto' } for member in info.getMembers(): memberName = member.findtext('name') if memberName in ['sType', 'pNext']: diff --git a/styleguide.adoc b/styleguide.adoc index 1dfdfa58..ad1ea978 100644 --- a/styleguide.adoc +++ b/styleguide.adoc @@ -38,6 +38,10 @@ include::{config}/copyright-ccby.adoc[] include::{style}/introduction.adoc[] +apiext: apiext:VK_KHR_surface + +apiext (with backquotes): `apiext:VK_KHR_surface` + include::{style}/naming.adoc[] include::{style}/extensions.adoc[] diff --git a/xml/registry.rnc b/xml/registry.rnc index 21efce80..34d71d60 100644 --- a/xml/registry.rnc +++ b/xml/registry.rnc @@ -129,7 +129,7 @@ Types = element types { # limittype - only applicable for members of VkPhysicalDeviceProperties and # VkPhysicalDeviceProperties2, their substructures, and extensions. # Specifies the type of a device limit. -# Valid values: 'min', 'max', 'pot', 'mul', 'bits', bitmask', 'range', 'struct', 'exact', 'noauto' +# Valid values: 'min', 'max', 'not', 'pot', 'mul', 'bits', bitmask', 'range', 'struct', 'exact', 'noauto' # objecttype - only applicable for members representing a handle as # a uint64_t value. Specifies the name of another member which is # a VkObjectType or VkDebugReportObjectTypeEXT value specifying @@ -175,7 +175,7 @@ branch of the member gitlab server. #define <name>VKSC_API_VERSION_1_0</name> <type>VK_MAKE_API_VERSION</type>(VKSC_API_VARIANT, 1, 0, 0)// Patch version should always be set to 0</type> <type api="vulkan" category="define">// Version of this file -#define <name>VK_HEADER_VERSION</name> 270</type> +#define <name>VK_HEADER_VERSION</name> 271</type> <type api="vulkan" category="define" requires="VK_HEADER_VERSION">// Complete version of this file #define <name>VK_HEADER_VERSION_COMPLETE</name> <type>VK_MAKE_API_VERSION</type>(0, 1, 3, VK_HEADER_VERSION)</type> <type api="vulkansc" category="define">// Version of this file @@ -1861,7 +1861,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <member limittype="bitmask"><type>VkBool32</type> <name>residencyStandard2DBlockShape</name><comment>Sparse resources support: GPU will access all 2D (single sample) sparse resources using the standard sparse image block shapes (based on pixel format)</comment></member> <member limittype="bitmask"><type>VkBool32</type> <name>residencyStandard2DMultisampleBlockShape</name><comment>Sparse resources support: GPU will access all 2D (multisample) sparse resources using the standard sparse image block shapes (based on pixel format)</comment></member> <member limittype="bitmask"><type>VkBool32</type> <name>residencyStandard3DBlockShape</name><comment>Sparse resources support: GPU will access all 3D sparse resources using the standard sparse image block shapes (based on pixel format)</comment></member> - <member limittype="bitmask"><type>VkBool32</type> <name>residencyAlignedMipSize</name><comment>Sparse resources support: Images with mip level dimensions that are NOT a multiple of the sparse image block dimensions will be placed in the mip tail</comment></member> + <member limittype="not"><type>VkBool32</type> <name>residencyAlignedMipSize</name><comment>Sparse resources support: Images with mip level dimensions that are NOT a multiple of the sparse image block dimensions will be placed in the mip tail</comment></member> <member limittype="bitmask"><type>VkBool32</type> <name>residencyNonResidentStrict</name><comment>Sparse resources support: GPU can consistently access non-resident regions of a resource, all reads return as if data is 0, writes are discarded</comment></member> </type> <type category="struct" name="VkPhysicalDeviceLimits" returnedonly="true"> @@ -7248,8 +7248,8 @@ typedef void* <name>MTLSharedEvent_id</name>; <type category="struct" name="VkCuModuleCreateInfoNVX"> <member values="VK_STRUCTURE_TYPE_CU_MODULE_CREATE_INFO_NVX"><type>VkStructureType</type> <name>sType</name></member> <member optional="true">const <type>void</type>* <name>pNext</name></member> - <member><type>size_t</type> <name>dataSize</name></member> - <member len="dataSize">const <type>void</type>* <name>pData</name></member> + <member optional="true"><type>size_t</type> <name>dataSize</name></member> + <member len="dataSize">const <type>void</type>* <name>pData</name></member> </type> <type category="struct" name="VkCuFunctionCreateInfoNVX"> <member values="VK_STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX"><type>VkStructureType</type> <name>sType</name></member> @@ -8739,7 +8739,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type category="struct" name="VkPhysicalDeviceExternalFormatResolvePropertiesANDROID" structextends="VkPhysicalDeviceProperties2" returnedonly="true"> <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FORMAT_RESOLVE_PROPERTIES_ANDROID"><type>VkStructureType</type> <name>sType</name></member> <member optional="true"><type>void</type>* <name>pNext</name></member> - <member limittype="noauto"><type>VkBool32</type> <name>nullColorAttachmentWithExternalFormatResolve</name></member> + <member limittype="not"><type>VkBool32</type> <name>nullColorAttachmentWithExternalFormatResolve</name></member> <member limittype="noauto"><type>VkChromaLocation</type> <name>externalFormatResolveChromaOffsetX</name></member> <member limittype="noauto"><type>VkChromaLocation</type> <name>externalFormatResolveChromaOffsetY</name></member> </type> @@ -8770,7 +8770,8 @@ typedef void* <name>MTLSharedEvent_id</name>; <type category="struct" name="VkGetLatencyMarkerInfoNV"> <member values="VK_STRUCTURE_TYPE_GET_LATENCY_MARKER_INFO_NV"><type>VkStructureType</type> <name>sType</name></member> <member optional="true" noautovalidity="true">const <type>void</type>* <name>pNext</name></member> - <member><type>VkLatencyTimingsFrameReportNV</type>* <name>pTimings</name></member> + <member optional="true"><type>uint32_t</type> <name>timingCount</name></member> + <member optional="true" len="timingCount"><type>VkLatencyTimingsFrameReportNV</type>* <name>pTimings</name></member> </type> <type category="struct" name="VkLatencyTimingsFrameReportNV"> <member values="VK_STRUCTURE_TYPE_LATENCY_TIMINGS_FRAME_REPORT_NV"><type>VkStructureType</type> <name>sType</name></member> @@ -15033,7 +15034,6 @@ typedef void* <name>MTLSharedEvent_id</name>; <proto><type>void</type> <name>vkGetLatencyTimingsNV</name></proto> <param><type>VkDevice</type> <name>device</name></param> <param><type>VkSwapchainKHR</type> <name>swapchain</name></param> - <param><type>uint32_t</type>* <name>pTimingCount</name></param> <param><type>VkGetLatencyMarkerInfoNV</type>* <name>pLatencyMarkerInfo</name></param> </command> <command> @@ -18438,10 +18438,18 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum bitpos="25" extends="VkBufferUsageFlagBits2KHR" name="VK_BUFFER_USAGE_2_EXECUTION_GRAPH_SCRATCH_BIT_AMDX"/> </require> </extension> - <extension name="VK_AMD_extension_136" number="136" author="AMD" contact="Mais Alnasser @malnasse" supported="disabled"> + <extension name="VK_KHR_extension_136" number="136" type="device" author="KHR" contact="Tobias Hector @tobski" supported="disabled"> <require> - <enum value="0" name="VK_AMD_EXTENSION_136_SPEC_VERSION"/> - <enum value=""VK_AMD_extension_136"" name="VK_AMD_EXTENSION_136_EXTENSION_NAME"/> + <enum value="0" name="VK_KHR_EXTENSION_136_SPEC_VERSION"/> + <enum value=""VK_KHR_extension_136"" name="VK_KHR_EXTENSION_136_EXTENSION_NAME"/> + <enum bitpos="28" extends="VkBufferUsageFlagBits" name="VK_BUFFER_USAGE_RESERVED_28_BIT_KHR"/> + <enum bitpos="29" extends="VkBufferUsageFlagBits" name="VK_BUFFER_USAGE_RESERVED_29_BIT_KHR"/> + <enum bitpos="30" extends="VkBufferUsageFlagBits" name="VK_BUFFER_USAGE_RESERVED_30_BIT_KHR"/> + </require> + <require depends="VK_KHR_maintenance5"> + <enum bitpos="28" extends="VkBufferUsageFlagBits2KHR" name="VK_BUFFER_USAGE_2_RESERVED_28_BIT_KHR"/> + <enum bitpos="29" extends="VkBufferUsageFlagBits2KHR" name="VK_BUFFER_USAGE_2_RESERVED_29_BIT_KHR"/> + <enum bitpos="30" extends="VkBufferUsageFlagBits2KHR" name="VK_BUFFER_USAGE_2_RESERVED_30_BIT_KHR"/> </require> </extension> <extension name="VK_AMD_mixed_attachment_samples" number="137" type="device" author="AMD" contact="Matthaeus G. Chajdas @anteru" supported="vulkan"> @@ -20815,8 +20823,6 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum offset="4" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUDA_KERNEL_LAUNCH_PROPERTIES_NV"/> <enum offset="0" extends="VkObjectType" name="VK_OBJECT_TYPE_CUDA_MODULE_NV"/> <enum offset="1" extends="VkObjectType" name="VK_OBJECT_TYPE_CUDA_FUNCTION_NV"/> - <enum offset="0" extends="VkDebugReportObjectTypeEXT" name="VK_DEBUG_REPORT_OBJECT_TYPE_CUDA_MODULE_NV"/> - <enum offset="1" extends="VkDebugReportObjectTypeEXT" name="VK_DEBUG_REPORT_OBJECT_TYPE_CUDA_FUNCTION_NV"/> <type name="VkCudaModuleNV"/> <type name="VkCudaFunctionNV"/> <type name="VkCudaModuleCreateInfoNV"/> @@ -20831,6 +20837,10 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkDestroyCudaFunctionNV"/> <command name="vkCmdCudaLaunchKernelNV"/> </require> + <require depends="VK_EXT_debug_report"> + <enum offset="0" extends="VkDebugReportObjectTypeEXT" name="VK_DEBUG_REPORT_OBJECT_TYPE_CUDA_MODULE_NV_EXT"/> + <enum offset="1" extends="VkDebugReportObjectTypeEXT" name="VK_DEBUG_REPORT_OBJECT_TYPE_CUDA_FUNCTION_NV_EXT"/> + </require> </extension> <extension name="VK_KHR_object_refresh" number="309" type="device" author="KHR" contact="Aidan Fabius @afabius" supported="vulkansc" ratified="vulkansc"> <require> @@ -22493,7 +22503,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value=""VK_SEC_extension_451"" name="VK_SEC_EXTENSION_451_EXTENSION_NAME"/> </require> </extension> - <extension name="VK_EXT_nested_command_buffer" number="452" type="device" depends="VK_KHR_get_physical_device_properties2" author="EXT" contact="Piers Daniell @pdaniell-nv" supported="vulkan"> + <extension name="VK_EXT_nested_command_buffer" number="452" type="device" depends="VK_KHR_get_physical_device_properties2" author="EXT" contact="Piers Daniell @pdaniell-nv" supported="vulkan" ratified="vulkan"> <require> <enum value="1" name="VK_EXT_NESTED_COMMAND_BUFFER_SPEC_VERSION"/> <enum value=""VK_EXT_nested_command_buffer"" name="VK_EXT_NESTED_COMMAND_BUFFER_EXTENSION_NAME"/> @@ -23321,7 +23331,7 @@ typedef void* <name>MTLSharedEvent_id</name>; </extension> <extension name="VK_NV_low_latency2" number="506" author="NV" depends="VK_VERSION_1_2,VK_KHR_timeline_semaphore" contact="Charles Hansen @cshansen" type="device" supported="vulkan"> <require> - <enum value="1" name="VK_NV_LOW_LATENCY_2_SPEC_VERSION"/> + <enum value="2" name="VK_NV_LOW_LATENCY_2_SPEC_VERSION"/> <enum value=""VK_NV_low_latency2"" name="VK_NV_LOW_LATENCY_2_EXTENSION_NAME"/> <enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_LATENCY_SLEEP_MODE_INFO_NV"/> <enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_LATENCY_SLEEP_INFO_NV"/> @@ -23703,6 +23713,12 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value=""VK_KHR_extension_554"" name="VK_KHR_EXTENSION_554_EXTENSION_NAME"/> </require> </extension> + <extension name="VK_IMG_extension_555" number="555" author="IMG" contact="Jarred Davies" supported="disabled"> + <require> + <enum value="0" name="VK_IMG_EXTENSION_555_SPEC_VERSION"/> + <enum value=""VK_IMG_extension_555"" name="VK_IMG_EXTENSION_555_EXTENSION_NAME"/> + </require> + </extension> </extensions> <formats> <format name="VK_FORMAT_R4G4_UNORM_PACK8" class="8-bit" blockSize="1" texelsPerBlock="1" packed="8"> @@ -25322,6 +25338,15 @@ typedef void* <name>MTLSharedEvent_id</name>; <spirvextension name="SPV_AMDX_shader_enqueue"> <enable extension="VK_AMDX_shader_enqueue"/> </spirvextension> + <spirvextension name="SPV_HUAWEI_cluster_culling_shader"> + <enable extension="VK_HUAWEI_cluster_culling_shader"/> + </spirvextension> + <spirvextension name="SPV_HUAWEI_subpass_shading"> + <enable extension="VK_HUAWEI_subpass_shading"/> + </spirvextension> + <spirvextension name="SPV_NV_ray_tracing_motion_blur"> + <enable extension="VK_NV_ray_tracing_motion_blur"/> + </spirvextension> </spirvextensions> <spirvcapabilities comment="SPIR-V Capabilities allowed in Vulkan and what is required to use it"> <spirvcapability name="Matrix"> |