mirror of
https://github.com/status-im/Vulkan-Docs.git
synced 2025-01-12 15:04:10 +00:00
64fa8ef4df
* Bump API patch number and header version number to 66 for this update. Github Issues: * Clarified how and when ename:VK_ERROR_TOO_MANY_OBJECTS is generated in flink:vkAllocate Memory, and remove incorrect valid usage statement about exceeding the API limit (public issue 356). * Minor clarification of the description of flink:vkUpdateDescriptorSetWithTemplateKHR::pname:descriptorUpdateTemplate (public issue 564). * Minor fixes for flink:vkCmdSetViewportWScalingNV (public pull request 588). * Fix random name markup issues (public pull request 603). * Fix code:BuiltIn decoration typo in the <<fxvertex-attrib, Vertex Attributes>> section (public pull request 606). * Fix synchronization language following the definition of flink:vkAcquireNextImageKHR (public issue 607). * Restore descriptions of several commands and structures missing from the generated spec due to a mistyped asciidoctor conditional (public issue 612). * Fix 1.0.41 changelog to refer to public issues 403/404 (public issue 618). Internal Issues: * Refactor valid usage statements with internal conditionals in `copies.txt`, `pipelines.txt`, `renderpass.txt`, and `resources.txt` so each branch of the conditional appears as a standalone statement which can contain a separate VUID. This should have no impact on the generated specs, but is necessary given the present state of the VU extractor and the validation layer code that consumes them (internal issue 1043). * Fix VkQueueGlobalPriorityEXT enum values missing _EXT suffix (internal issue 1045). * Clarified initial ownership of resources bound to shared memory objects, (internal issue 1068). * Fix duplicated valid usage ID tag for flink:vkCmdCopyImage, and make the required layouts include ename:VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIONAL in both cases (internal issue 1084). Other Issues: * Remove the noise functions from GLSL for SPIR-V for Vulkan in the `GL_KHR_vulkan_glsl.txt` extension. New Extensions: * `VK_EXT_external_memory_host` * `VK_EXT_external_memory_dma_buf` * `VK_EXT_queue_family_foreign`
541 lines
15 KiB
Plaintext
541 lines
15 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.
|
|
|
|
Some vendors may use an alternate author ID ending in `X` for some of their
|
|
extensions.
|
|
The exact meaning of such an author ID is defined by each vendor, and may
|
|
not be equivalent to `KHX`, but it is likely to indicate a lesser degree of
|
|
interface stability than a non-`X` extension from the same vendor.
|
|
====
|
|
|
|
// 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_external_memory_dma_buf[]
|
|
include::VK_EXT_external_memory_dma_buf.txt[]
|
|
endif::VK_EXT_external_memory_dma_buf[]
|
|
|
|
ifdef::VK_EXT_external_memory_host[]
|
|
include::VK_EXT_external_memory_host.txt[]
|
|
endif::VK_EXT_external_memory_host[]
|
|
|
|
ifdef::VK_EXT_global_priority[]
|
|
include::VK_EXT_global_priority.txt[]
|
|
endif::VK_EXT_global_priority[]
|
|
|
|
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_queue_family_foreign[]
|
|
include::VK_EXT_queue_family_foreign.txt[]
|
|
endif::VK_EXT_queue_family_foreign[]
|
|
|
|
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_image_load_store_lod[]
|
|
include::VK_AMD_shader_image_load_store_lod.txt[]
|
|
endif::VK_AMD_shader_image_load_store_lod[]
|
|
|
|
ifdef::VK_AMD_shader_info[]
|
|
include::VK_AMD_shader_info.txt[]
|
|
endif::VK_AMD_shader_info[]
|
|
|
|
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
|