mirror of
https://github.com/status-im/Vulkan-Docs.git
synced 2025-01-27 14:45:55 +00:00
eaea7d2709
* Bump API patch number and header version number to 26 for this update. Github Issues: * Bring sample code in the +VK_KHR_surface+ and +VK_KHR_swapchain+ extension summary appendices up to date, and note they will be replaced with pointers to the LunarG SDK examples in the future (public issue 279). * Add a new <<fundamentals-commandsyntax-results-lifetime,Lifetime of Retrieved Results>> section specifying that ftext:vkGet* and ftext:VkEnumerate* results are invariant unless otherwise specified, and specify behavior for individual commands which are not invariant (public issue 280). * Remove conflicting definition of slink:VkDisplayPlaneCapabilitiesKHR::pname:maxSrcPosition and clean up language of the remaining definition (public issue 351). * Fix many minor spelling errors and add rules to the style guide to prevent recurrences (public issue 352). Internal Issues: * Remove redundant descriptions of the etext:VK_USE_PLATFORM_* macros from the <<wsi,Window System Integration>> chapter in favor of the description in the <<boilerplate-wsi-header,Window System-Specific Header Control>> appendix (internal issue 6). * Replace misleading 'can: be destroyed when not X' with more correct 'must: not be destroyed while X' in the <<fundamentals-objectmodel-lifetime,Object Lifetime>> section. Disallow destroying a pipeline layout while a command buffer using it is recording (internal issue 241). * Clarify that ename:VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT is valid for all images used as attachments in elink:VkImageUsageFlagBits and the slink:VkImageLayout validity language (internal issue 320). * Note that <<extended-functionality-layers,Layers>> may wrap object handles, but that this is a generally discouraged. A link to additional information in the documentation for layer authors is provided (issue 398) * Replace the mustnot: and shouldnot: macros with equivalent must: not and should: not to get rid of non-English words while still highlighting normative language (internal issue 407). * Disallow creating multisampled images with ename:VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT in the slink:VkImageLayout validity language and the <<features-supported-sample-counts,Supported Sample Counts>> section (internal issue 445). * Fix typo so that flink:vkCmdDrawIndexedIndirect is defined in terms of flink:vkCmdDrawIndexed rather than flink:vkCmdDrawIndirect (internal issue 446). * Reorganize the per-extension information sections to all be in the <<extensions,Layers & Extensions>> appendix. Also fix a typo in +VK_IMG_filter_cubic+ which incorrectly identified it as a +KHR+ extension (internal issue 461). Other Issues: * Use asciidoc markup instead of latexmath to simplify diagrams in the <<features-formats-non-packed,byte mapping tables>> for color formats. * Fix a markup problem with the wildcarded enumerant names in a NOTE in the <<textures-texel-replacement,Texel Replacement>> section. * Fix missing attributes in the XML interface for elink:VkExternalMemoryHandleTypeFlagBitsNV and elink:VkExternalMemoryFeatureFlagBitsNV (KhronosGroup/Vulkan-Hpp issue #25) * Cleanup reference page builds so only core pages are built for releases.
135 lines
3.5 KiB
Plaintext
135 lines
3.5 KiB
Plaintext
// Copyright (c) 2015-2016 The Khronos Group Inc.
|
|
// Copyright notice at https://www.khronos.org/registry/speccopyright.html
|
|
|
|
[appendix]
|
|
|
|
[[extensions]]
|
|
= Layers & Extensions
|
|
|
|
Extensions to the Vulkan API can: be defined by authors, groups of
|
|
authors, and the Khronos Vulkan Working Group. In order not to compromise
|
|
the readability of the Vulkan Specification, the core Specification does
|
|
not incorporate most extensions. The online registry of extensions is
|
|
available at URL
|
|
|
|
http://www.khronos.org/registry/vulkan/
|
|
|
|
and allows generating versions of the Specification incorporating different
|
|
extensions.
|
|
|
|
Most of the content previously in this appendix does not specify *use* of
|
|
specific Vulkan extensions and layers, but rather specifies the processes by
|
|
which extensions and layers are created. As of version 1.0.21 of the Vulkan
|
|
Specification, this content has been migrated to the <<vulkan-styleguide,
|
|
Vulkan Documentation and Extensions>>
|
|
document. Authors creating extensions and layers must: follow the mandatory
|
|
procedures in that document.
|
|
|
|
The remainder of this appendix documents each registered and published
|
|
extension at a high level. Extensions are grouped as Khronos, multivendor,
|
|
and then by vendor alphabetically.
|
|
|
|
|
|
// Extension appendix sections are included here, grouped by the author ID
|
|
// Adding the section headers here means that there will usually be
|
|
// a bunch of empty sections, which is undesirable.
|
|
|
|
// == Khronos +KHR+ Extensions
|
|
//
|
|
|
|
include::VK_KHR_sampler_mirror_clamp_to_edge.txt[]
|
|
|
|
// WSI extensions are all grouped below
|
|
|
|
:leveloffset: 2
|
|
|
|
ifdef::VK_KHR_surface[]
|
|
include::VK_KHR_surface/wsi.txt[]
|
|
endif::VK_KHR_surface[]
|
|
|
|
:leveloffset: 1
|
|
|
|
|
|
// == Multivendor +EXT+ Extensions
|
|
//
|
|
// :leveloffset: 2
|
|
|
|
ifdef::VK_EXT_debug_marker[]
|
|
include::VK_EXT_debug_marker.txt[]
|
|
endif::VK_EXT_debug_marker[]
|
|
|
|
ifdef::VK_EXT_debug_report[]
|
|
include::VK_EXT_debug_report.txt[]
|
|
endif::VK_EXT_debug_report[]
|
|
|
|
// :leveloffset: 1
|
|
|
|
|
|
// == Advanced Micro Devices +AMD+ Vendor Extensions
|
|
//
|
|
// :leveloffset: 2
|
|
|
|
ifdef::VK_AMD_draw_indirect_count[]
|
|
include::VK_AMD_draw_indirect_count.txt[]
|
|
endif::VK_AMD_draw_indirect_count[]
|
|
|
|
ifdef::VK_AMD_gcn_shader[]
|
|
include::VK_AMD_gcn_shader.txt[]
|
|
endif::VK_AMD_gcn_shader[]
|
|
|
|
ifdef::VK_AMD_rasterization_order[]
|
|
include::VK_AMD_rasterization_order.txt[]
|
|
endif::VK_AMD_rasterization_order[]
|
|
|
|
ifdef::VK_AMD_shader_explicit_vertex_parameter[]
|
|
include::VK_AMD_shader_explicit_vertex_parameter.txt[]
|
|
endif::VK_AMD_shader_explicit_vertex_parameter[]
|
|
|
|
ifdef::VK_AMD_shader_trinary_minmax[]
|
|
include::VK_AMD_shader_trinary_minmax.txt[]
|
|
endif::VK_AMD_shader_trinary_minmax[]
|
|
|
|
// :leveloffset: 1
|
|
|
|
|
|
// == Imagination +IMG+ Vendor Extensions
|
|
//
|
|
// :leveloffset: 2
|
|
|
|
ifdef::VK_IMG_filter_cubic[]
|
|
include::VK_IMG_filter_cubic.txt[]
|
|
endif::VK_IMG_filter_cubic[]
|
|
|
|
// :leveloffset: 1
|
|
|
|
|
|
// == NVIDIA +NV+ Vendor Extensions
|
|
//
|
|
// :leveloffset: 2
|
|
|
|
ifdef::VK_NV_dedicated_allocation[]
|
|
include::VK_NV_dedicated_allocation.txt[]
|
|
endif::VK_NV_dedicated_allocation[]
|
|
|
|
ifdef::VK_NV_glsl_shader[]
|
|
include::VK_NV_glsl_shader.txt[]
|
|
endif::VK_NV_glsl_shader[]
|
|
|
|
ifdef::VK_NV_external_memory_capabilities[]
|
|
include::VK_NV_external_memory_capabilities.txt[]
|
|
endif::VK_NV_external_memory_capabilities[]
|
|
|
|
ifdef::VK_NV_external_memory[]
|
|
include::VK_NV_external_memory.txt[]
|
|
endif::VK_NV_external_memory[]
|
|
|
|
ifdef::VK_NV_external_memory_win32[]
|
|
include::VK_NV_external_memory_win32.txt[]
|
|
endif::VK_NV_external_memory_win32[]
|
|
|
|
ifdef::VK_NV_win32_keyed_mutex[]
|
|
include::VK_NV_win32_keyed_mutex.txt[]
|
|
endif::VK_NV_win32_keyed_mutex[]
|
|
|
|
// :leveloffset: 1
|