mirror of
https://github.com/status-im/Vulkan-Docs.git
synced 2025-01-12 23:14:20 +00:00
0cc6bba634
* Bump API patch number and header version number to 61 for this update. Github Issues: * Provide alternate length attributes (altlen=) in the XML schema, for those using length attributes to generate code instead of documentation (public issue 555). * Fix erroneous references to `latex:` being used for asciidoc math markup, rather than `latexmath:` (public pull request 556). * Add author ID to XML for Kazan software renderer (public pull request 557). Internal Issues: * Add the <<fundamentals-abi,Application Binary Interface>> section describing platform ABI requirements and recommendations, add examples of function and function pointer declarations to the <<boilerplate-platform-specific-calling-conventions, Platform-Specific Calling Conventions>> section, and remove related language that existed elsewhere in the specification (internal issue 64). * Describe where to document valid usage interactions of chained structures in the style guide, and fix one case now appearing in slink:VkBufferCreateInfo instead of the child slink:VkDedicatedAllocationBufferCreateInfoNV structure (internal issue 715). * Add example to the style guide of describing enumerated types which are empty when the spec is built without relevant extensions enabled, and apply it to existing examples for elink:VkDescriptorSetLayoutCreateFlagBits and elink:VkSubpassDescriptionFlagBits (internal issue 864). * Add a note to the <<fundamentals-validusage-enums, Valid Usage for Enumerated Types>> section that the special values suffixed with etext:_BEGIN_RANGE, etext:_END_RANGE, etext:_RANGE_SIZE and etext:_MAX_ENUM are not part of the API and should: not be used by applications (internal issue 872). * Added note to flink:vkCmdUpdateBuffers explaining the performance penalty for copies done in this way, and why the upper copy limit is what it is (internal issue 952). * Update `VK_KHX_device_group` to split some functionality into the new `VK_KHR_bind_memory2` extension, and rename that functionality (internal issue 969). * Remove *Status* fields from extension appendices, since they are by definition published and complete by the time they reach the public github repository (internal issue 973). Other Issues: * Update Data Format specification dependency to version 1.2 and change references to DF sections accordingly. * Update XML to make the pname:pAllocator parameter of flink:vkRegisterDeviceEventEXT and flink:vkRegisterDisplayEventEXT in the `VK_EXT_display_control` extension as optional. New Extensions: * `VK_KHR_bind_memory2` * `VK_KHR_image_format_list` * `VK_KHR_maintenance2` * `VK_KHR_sampler_ycbcr_conversion`
511 lines
14 KiB
Plaintext
511 lines
14 KiB
Plaintext
// Copyright (c) 2015-2017 Khronos Group. This work is licensed under a
|
|
// Creative Commons Attribution 4.0 International License; see
|
|
// http://creativecommons.org/licenses/by/4.0/
|
|
|
|
[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 `KHR`, Khronos `KHX`, multivendor `EXT`,
|
|
and then alphabetically by author ID.
|
|
Within each group, extensions are listed in alphabetical order by their
|
|
name.
|
|
|
|
[NOTE]
|
|
.Note
|
|
====
|
|
The `KHX` author ID indicates that an extension is experimental, and is
|
|
being considered for standardization in future `KHR` or core Vulkan API
|
|
versions.
|
|
Developers are encouraged to experiment with them and provide feedback, but
|
|
should: not use them as the basis for production applications.
|
|
`KHX` extensions are expected to be supported for a limited time only.
|
|
They may: change their interfaces and behavior in significant ways as a
|
|
result of feedback, and may: be withdrawn or replaced with stable `KHR` or
|
|
core functionality at any time.
|
|
Implementations of these extensions receive limited or no testing when
|
|
submitted to the Khronos conformance process.
|
|
====
|
|
|
|
// 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
|
|
//
|
|
|
|
ifdef::VK_KHR_16bit_storage[]
|
|
include::VK_KHR_16bit_storage.txt[]
|
|
endif::VK_KHR_16bit_storage[]
|
|
|
|
ifdef::VK_KHR_android_surface[]
|
|
include::VK_KHR_android_surface.txt[]
|
|
endif::VK_KHR_android_surface[]
|
|
|
|
ifdef::VK_KHR_bind_memory2[]
|
|
include::VK_KHR_bind_memory2.txt[]
|
|
endif::VK_KHR_bind_memory2[]
|
|
|
|
ifdef::VK_KHR_descriptor_update_template[]
|
|
include::VK_KHR_descriptor_update_template.txt[]
|
|
endif::VK_KHR_descriptor_update_template[]
|
|
|
|
ifdef::VK_KHR_dedicated_allocation[]
|
|
include::VK_KHR_dedicated_allocation.txt[]
|
|
endif::VK_KHR_dedicated_allocation[]
|
|
|
|
ifdef::VK_KHR_display[]
|
|
include::VK_KHR_display.txt[]
|
|
endif::VK_KHR_display[]
|
|
|
|
ifdef::VK_KHR_display_swapchain[]
|
|
include::VK_KHR_display_swapchain.txt[]
|
|
endif::VK_KHR_display_swapchain[]
|
|
|
|
ifdef::VK_KHR_external_fence[]
|
|
include::VK_KHR_external_fence.txt[]
|
|
endif::VK_KHR_external_fence[]
|
|
|
|
ifdef::VK_KHR_external_fence_capabilities[]
|
|
include::VK_KHR_external_fence_capabilities.txt[]
|
|
endif::VK_KHR_external_fence_capabilities[]
|
|
|
|
ifdef::VK_KHR_external_fence_fd[]
|
|
include::VK_KHR_external_fence_fd.txt[]
|
|
endif::VK_KHR_external_fence_fd[]
|
|
|
|
ifdef::VK_KHR_external_fence_win32[]
|
|
include::VK_KHR_external_fence_win32.txt[]
|
|
endif::VK_KHR_external_fence_win32[]
|
|
|
|
ifdef::VK_KHR_external_memory[]
|
|
include::VK_KHR_external_memory.txt[]
|
|
endif::VK_KHR_external_memory[]
|
|
|
|
ifdef::VK_KHR_external_memory_capabilities[]
|
|
include::VK_KHR_external_memory_capabilities.txt[]
|
|
endif::VK_KHR_external_memory_capabilities[]
|
|
|
|
ifdef::VK_KHR_external_memory_fd[]
|
|
include::VK_KHR_external_memory_fd.txt[]
|
|
endif::VK_KHR_external_memory_fd[]
|
|
|
|
ifdef::VK_KHR_external_memory_win32[]
|
|
include::VK_KHR_external_memory_win32.txt[]
|
|
endif::VK_KHR_external_memory_win32[]
|
|
|
|
ifdef::VK_KHR_external_semaphore[]
|
|
include::VK_KHR_external_semaphore.txt[]
|
|
endif::VK_KHR_external_semaphore[]
|
|
|
|
ifdef::VK_KHR_external_semaphore_capabilities[]
|
|
include::VK_KHR_external_semaphore_capabilities.txt[]
|
|
endif::VK_KHR_external_semaphore_capabilities[]
|
|
|
|
ifdef::VK_KHR_external_semaphore_fd[]
|
|
include::VK_KHR_external_semaphore_fd.txt[]
|
|
endif::VK_KHR_external_semaphore_fd[]
|
|
|
|
ifdef::VK_KHR_external_semaphore_win32[]
|
|
include::VK_KHR_external_semaphore_win32.txt[]
|
|
endif::VK_KHR_external_semaphore_win32[]
|
|
|
|
ifdef::VK_KHR_get_memory_requirements2[]
|
|
include::VK_KHR_get_memory_requirements2.txt[]
|
|
endif::VK_KHR_get_memory_requirements2[]
|
|
|
|
ifdef::VK_KHR_get_physical_device_properties2[]
|
|
include::VK_KHR_get_physical_device_properties2.txt[]
|
|
endif::VK_KHR_get_physical_device_properties2[]
|
|
|
|
ifdef::VK_KHR_get_surface_capabilities2[]
|
|
include::VK_KHR_get_surface_capabilities2.txt[]
|
|
endif::VK_KHR_get_surface_capabilities2[]
|
|
|
|
ifdef::VK_KHR_image_format_list[]
|
|
include::VK_KHR_image_format_list.txt[]
|
|
endif::VK_KHR_image_format_list[]
|
|
|
|
ifdef::VK_KHR_incremental_present[]
|
|
include::VK_KHR_incremental_present.txt[]
|
|
endif::VK_KHR_incremental_present[]
|
|
|
|
ifdef::VK_KHR_maintenance1[]
|
|
include::VK_KHR_maintenance1.txt[]
|
|
endif::VK_KHR_maintenance1[]
|
|
|
|
ifdef::VK_KHR_maintenance2[]
|
|
include::VK_KHR_maintenance2.txt[]
|
|
endif::VK_KHR_maintenance2[]
|
|
|
|
ifdef::VK_KHR_mir_surface[]
|
|
include::VK_KHR_mir_surface.txt[]
|
|
endif::VK_KHR_mir_surface[]
|
|
|
|
ifdef::VK_KHR_push_descriptor[]
|
|
include::VK_KHR_push_descriptor.txt[]
|
|
endif::VK_KHR_push_descriptor[]
|
|
|
|
ifdef::VK_KHR_relaxed_block_layout[]
|
|
include::VK_KHR_relaxed_block_layout.txt[]
|
|
endif::VK_KHR_relaxed_block_layout[]
|
|
|
|
include::VK_KHR_sampler_mirror_clamp_to_edge.txt[]
|
|
|
|
ifdef::VK_KHR_sampler_ycbcr_conversion[]
|
|
include::VK_KHR_sampler_ycbcr_conversion.txt[]
|
|
endif::VK_KHR_sampler_ycbcr_conversion[]
|
|
|
|
ifdef::VK_KHR_shader_draw_parameters[]
|
|
include::VK_KHR_shader_draw_parameters.txt[]
|
|
endif::VK_KHR_shader_draw_parameters[]
|
|
|
|
ifdef::VK_KHR_shared_presentable_image[]
|
|
include::VK_KHR_shared_presentable_image.txt[]
|
|
endif::VK_KHR_shared_presentable_image[]
|
|
|
|
ifdef::VK_KHR_storage_buffer_storage_class[]
|
|
include::VK_KHR_storage_buffer_storage_class.txt[]
|
|
endif::VK_KHR_storage_buffer_storage_class[]
|
|
|
|
ifdef::VK_KHR_surface[]
|
|
include::VK_KHR_surface.txt[]
|
|
endif::VK_KHR_surface[]
|
|
|
|
ifdef::VK_KHR_swapchain[]
|
|
include::VK_KHR_swapchain.txt[]
|
|
endif::VK_KHR_swapchain[]
|
|
|
|
ifdef::VK_KHR_variable_pointers[]
|
|
include::VK_KHR_variable_pointers.txt[]
|
|
endif::VK_KHR_variable_pointers[]
|
|
|
|
ifdef::VK_KHR_wayland_surface[]
|
|
include::VK_KHR_wayland_surface.txt[]
|
|
endif::VK_KHR_wayland_surface[]
|
|
|
|
ifdef::VK_KHR_win32_keyed_mutex[]
|
|
include::VK_KHR_win32_keyed_mutex.txt[]
|
|
endif::VK_KHR_win32_keyed_mutex[]
|
|
|
|
ifdef::VK_KHR_win32_surface[]
|
|
include::VK_KHR_win32_surface.txt[]
|
|
endif::VK_KHR_win32_surface[]
|
|
|
|
ifdef::VK_KHR_xcb_surface[]
|
|
include::VK_KHR_xcb_surface.txt[]
|
|
endif::VK_KHR_xcb_surface[]
|
|
|
|
ifdef::VK_KHR_xlib_surface[]
|
|
include::VK_KHR_xlib_surface.txt[]
|
|
endif::VK_KHR_xlib_surface[]
|
|
|
|
// == Khronos `KHX` Extensions
|
|
//
|
|
|
|
ifdef::VK_KHX_device_group[]
|
|
include::VK_KHX_device_group.txt[]
|
|
endif::VK_KHX_device_group[]
|
|
|
|
ifdef::VK_KHX_device_group_creation[]
|
|
include::VK_KHX_device_group_creation.txt[]
|
|
endif::VK_KHX_device_group_creation[]
|
|
|
|
ifdef::VK_KHX_multiview[]
|
|
include::VK_KHX_multiview.txt[]
|
|
endif::VK_KHX_multiview[]
|
|
|
|
// == Multivendor `EXT` Extensions
|
|
//
|
|
// :leveloffset: 2
|
|
|
|
ifdef::VK_EXT_acquire_xlib_display[]
|
|
include::VK_EXT_acquire_xlib_display.txt[]
|
|
endif::VK_EXT_acquire_xlib_display[]
|
|
|
|
ifdef::VK_EXT_blend_operation_advanced[]
|
|
include::VK_EXT_blend_operation_advanced.txt[]
|
|
endif::VK_EXT_blend_operation_advanced[]
|
|
|
|
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_depth_range_unrestricted[]
|
|
include::VK_EXT_depth_range_unrestricted.txt[]
|
|
endif::VK_EXT_depth_range_unrestricted[]
|
|
|
|
ifdef::VK_EXT_direct_mode_display[]
|
|
include::VK_EXT_direct_mode_display.txt[]
|
|
endif::VK_EXT_direct_mode_display[]
|
|
|
|
ifdef::VK_EXT_discard_rectangles[]
|
|
include::VK_EXT_discard_rectangles.txt[]
|
|
endif::VK_EXT_discard_rectangles[]
|
|
|
|
ifdef::VK_EXT_display_control[]
|
|
include::VK_EXT_display_control.txt[]
|
|
endif::VK_EXT_display_control[]
|
|
|
|
ifdef::VK_EXT_display_surface_counter[]
|
|
include::VK_EXT_display_surface_counter.txt[]
|
|
endif::VK_EXT_display_surface_counter[]
|
|
|
|
ifdef::VK_EXT_hdr_metadata[]
|
|
include::VK_EXT_hdr_metadata.txt[]
|
|
endif::VK_EXT_hdr_metadata[]
|
|
|
|
ifdef::VK_EXT_post_depth_coverage[]
|
|
include::VK_EXT_post_depth_coverage.txt[]
|
|
endif::VK_EXT_post_depth_coverage[]
|
|
|
|
ifdef::VK_EXT_sample_locations[]
|
|
include::VK_EXT_sample_locations.txt[]
|
|
endif::VK_EXT_sample_locations[]
|
|
|
|
ifdef::VK_EXT_sampler_filter_minmax[]
|
|
include::VK_EXT_sampler_filter_minmax.txt[]
|
|
endif::VK_EXT_sampler_filter_minmax[]
|
|
|
|
ifdef::VK_EXT_shader_stencil_export[]
|
|
include::VK_EXT_shader_stencil_export.txt[]
|
|
endif::VK_EXT_shader_stencil_export[]
|
|
|
|
ifdef::VK_EXT_shader_subgroup_ballot[]
|
|
include::VK_EXT_shader_subgroup_ballot.txt[]
|
|
endif::VK_EXT_shader_subgroup_ballot[]
|
|
|
|
ifdef::VK_EXT_shader_subgroup_vote[]
|
|
include::VK_EXT_shader_subgroup_vote.txt[]
|
|
endif::VK_EXT_shader_subgroup_vote[]
|
|
|
|
ifdef::VK_EXT_shader_viewport_index_layer[]
|
|
include::VK_EXT_shader_viewport_index_layer.txt[]
|
|
endif::VK_EXT_shader_viewport_index_layer[]
|
|
|
|
ifdef::VK_EXT_swapchain_colorspace[]
|
|
include::VK_EXT_swapchain_colorspace.txt[]
|
|
endif::VK_EXT_swapchain_colorspace[]
|
|
|
|
ifdef::VK_EXT_validation_flags[]
|
|
include::VK_EXT_validation_flags.txt[]
|
|
endif::VK_EXT_validation_flags[]
|
|
|
|
ifdef::VK_EXT_validation_cache[]
|
|
include::VK_EXT_validation_cache.txt[]
|
|
endif::VK_EXT_validation_cache[]
|
|
|
|
// :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_gpu_shader_int16[]
|
|
include::VK_AMD_gpu_shader_int16.txt[]
|
|
endif::VK_AMD_gpu_shader_int16[]
|
|
|
|
ifdef::VK_AMD_mixed_attachment_samples[]
|
|
include::VK_AMD_mixed_attachment_samples.txt[]
|
|
endif::VK_AMD_mixed_attachment_samples[]
|
|
|
|
ifdef::VK_AMD_negative_viewport_height[]
|
|
include::VK_AMD_negative_viewport_height.txt[]
|
|
endif::VK_AMD_negative_viewport_height[]
|
|
|
|
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_fragment_mask[]
|
|
include::VK_AMD_shader_fragment_mask.txt[]
|
|
endif::VK_AMD_shader_fragment_mask[]
|
|
|
|
ifdef::VK_AMD_shader_trinary_minmax[]
|
|
include::VK_AMD_shader_trinary_minmax.txt[]
|
|
endif::VK_AMD_shader_trinary_minmax[]
|
|
|
|
ifdef::VK_AMD_texture_gather_bias_lod[]
|
|
include::VK_AMD_texture_gather_bias_lod.txt[]
|
|
endif::VK_AMD_texture_gather_bias_lod[]
|
|
|
|
// :leveloffset: 1
|
|
|
|
|
|
// == Google `GOOGLE` Vendor Extensions
|
|
//
|
|
// :leveloffset: 2
|
|
|
|
ifdef::VK_GOOGLE_display_timing[]
|
|
include::VK_GOOGLE_display_timing.txt[]
|
|
endif::VK_GOOGLE_display_timing[]
|
|
|
|
// :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
|
|
|
|
|
|
// == MoltenVK `MVK` Vendor Extensions
|
|
//
|
|
// :leveloffset: 2
|
|
|
|
ifdef::VK_MVK_ios_surface[]
|
|
include::VK_MVK_ios_surface.txt[]
|
|
endif::VK_MVK_ios_surface[]
|
|
|
|
ifdef::VK_MVK_macos_surface[]
|
|
include::VK_MVK_macos_surface.txt[]
|
|
endif::VK_MVK_macos_surface[]
|
|
|
|
// :leveloffset: 1
|
|
|
|
|
|
// == Nintendo `NN` Vendor Extensions
|
|
//
|
|
// :leveloffset: 2
|
|
|
|
ifdef::VK_NN_vi_surface[]
|
|
include::VK_NN_vi_surface.txt[]
|
|
endif::VK_NN_vi_surface[]
|
|
|
|
|
|
// == NVIDIA `NV` Vendor Extensions
|
|
//
|
|
// :leveloffset: 2
|
|
|
|
ifdef::VK_NV_clip_space_w_scaling[]
|
|
include::VK_NV_clip_space_w_scaling.txt[]
|
|
endif::VK_NV_clip_space_w_scaling[]
|
|
|
|
ifdef::VK_NV_dedicated_allocation[]
|
|
include::VK_NV_dedicated_allocation.txt[]
|
|
endif::VK_NV_dedicated_allocation[]
|
|
|
|
ifdef::VK_NV_external_memory[]
|
|
include::VK_NV_external_memory.txt[]
|
|
endif::VK_NV_external_memory[]
|
|
|
|
ifdef::VK_NV_external_memory_capabilities[]
|
|
include::VK_NV_external_memory_capabilities.txt[]
|
|
endif::VK_NV_external_memory_capabilities[]
|
|
|
|
ifdef::VK_NV_external_memory_win32[]
|
|
include::VK_NV_external_memory_win32.txt[]
|
|
endif::VK_NV_external_memory_win32[]
|
|
|
|
ifdef::VK_NV_fill_rectangle[]
|
|
include::VK_NV_fill_rectangle.txt[]
|
|
endif::VK_NV_fill_rectangle[]
|
|
|
|
ifdef::VK_NV_fragment_coverage_to_color[]
|
|
include::VK_NV_fragment_coverage_to_color.txt[]
|
|
endif::VK_NV_fragment_coverage_to_color[]
|
|
|
|
ifdef::VK_NV_framebuffer_mixed_samples[]
|
|
include::VK_NV_framebuffer_mixed_samples.txt[]
|
|
endif::VK_NV_framebuffer_mixed_samples[]
|
|
|
|
ifdef::VK_NV_geometry_shader_passthrough[]
|
|
include::VK_NV_geometry_shader_passthrough.txt[]
|
|
endif::VK_NV_geometry_shader_passthrough[]
|
|
|
|
ifdef::VK_NV_glsl_shader[]
|
|
include::VK_NV_glsl_shader.txt[]
|
|
endif::VK_NV_glsl_shader[]
|
|
|
|
ifdef::VK_NV_sample_mask_override_coverage[]
|
|
include::VK_NV_sample_mask_override_coverage.txt[]
|
|
endif::VK_NV_sample_mask_override_coverage[]
|
|
|
|
ifdef::VK_NV_viewport_array2[]
|
|
include::VK_NV_viewport_array2.txt[]
|
|
endif::VK_NV_viewport_array2[]
|
|
|
|
ifdef::VK_NV_viewport_swizzle[]
|
|
include::VK_NV_viewport_swizzle.txt[]
|
|
endif::VK_NV_viewport_swizzle[]
|
|
|
|
ifdef::VK_NV_win32_keyed_mutex[]
|
|
include::VK_NV_win32_keyed_mutex.txt[]
|
|
endif::VK_NV_win32_keyed_mutex[]
|
|
|
|
// :leveloffset: 1
|
|
|
|
|
|
// == NVIDIA `NVX` Vendor Extensions
|
|
//
|
|
// :leveloffset: 2
|
|
|
|
ifdef::VK_NVX_device_generated_commands[]
|
|
include::VK_NVX_device_generated_commands.txt[]
|
|
endif::VK_NVX_device_generated_commands[]
|
|
|
|
ifdef::VK_NVX_multiview_per_view_attributes[]
|
|
include::VK_NVX_multiview_per_view_attributes.txt[]
|
|
endif::VK_NVX_multiview_per_view_attributes[]
|
|
|
|
// :leveloffset: 1
|