159 lines
4.2 KiB
Plaintext
159 lines
4.2 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 a set of extensions chosen when
|
|
this document was built.
|
|
Versions of the Specification published in the Registry include:
|
|
|
|
* Core API + mandatory extensions required of all Vulkan implementations.
|
|
* Core API + all registered and published Khronos (+KHR+) extensions.
|
|
* Core API + all registered and published extensions.
|
|
|
|
Extensions are grouped as Khronos, multivendor +EXT+, 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[]
|
|
|
|
ifdef::VK_EXT_validation_flags[]
|
|
include::VK_EXT_validation_flags.txt[]
|
|
endif::VK_EXT_validation_flags[]
|
|
|
|
// :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_gpu_shader_half_float[]
|
|
include::VK_AMD_gpu_shader_half_float.txt[]
|
|
endif::VK_AMD_gpu_shader_half_float[]
|
|
|
|
ifdef::VK_AMD_rasterization_order[]
|
|
include::VK_AMD_rasterization_order.txt[]
|
|
endif::VK_AMD_rasterization_order[]
|
|
|
|
ifdef::VK_AMD_shader_ballot[]
|
|
include::VK_AMD_shader_ballot.txt[]
|
|
endif::VK_AMD_shader_ballot[]
|
|
|
|
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[]
|
|
|
|
ifdef::VK_AMD_negative_viewport_height[]
|
|
include::VK_AMD_negative_viewport_height.txt[]
|
|
endif::VK_AMD_negative_viewport_height[]
|
|
|
|
// :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
|