Jon Leech eaea7d2709 Change log for September 6, 2016 Vulkan 1.0.26 spec update:
* 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.
2016-09-06 06:17:27 -07:00

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