143 lines
3.7 KiB
Plaintext
143 lines
3.7 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[]
|
|
|
|
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_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[]
|
|
|
|
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
|