blob: 3cc3c882110a304a723db81288b15335b78a57dc [file] [log] [blame]
// Copyright 2014-2021 The Khronos Group Inc.
//
// SPDX-License-Identifier: CC-BY-4.0
// :regtitle: is explained in
// http://discuss.asciidoctor.org/How-to-add-markup-to-author-information-in-document-title-td6488.html
= Vulkan^®^ {revnumber} - A Specification {apititle}
:regtitle: pass:q,r[^®^]
The Khronos{regtitle} Vulkan Working Group
:data-uri:
:icons: font
:toc2:
:toclevels: 2
:numbered:
:source-highlighter: rouge
:rouge-style: github
// Various special / math symbols. This is easier to edit with than Unicode.
include::config/attribs.txt[]
// Table of contents is inserted here
toc::[]
:leveloffset: 1
<<<<
[[preamble]]
= Preamble
include::copyright-spec.txt[]
:test: 0
ifeval::["{test}"=="1"]
// Include or insert trivial test markup here, to bypass building full spec
// include::chapters/textest.txt[]
include::chapters/introduction.txt[]
endif::[]
ifeval::["{test}"!="1"]
include::chapters/introduction.txt[]
include::chapters/fundamentals.txt[]
include::chapters/initialization.txt[]
include::chapters/devsandqueues.txt[]
include::chapters/cmdbuffers.txt[]
include::chapters/synchronization.txt[]
include::chapters/renderpass.txt[]
include::chapters/shaders.txt[]
include::chapters/pipelines.txt[]
include::chapters/memory.txt[]
include::chapters/resources.txt[]
include::chapters/samplers.txt[]
include::chapters/descriptorsets.txt[]
include::chapters/interfaces.txt[]
include::chapters/textures.txt[]
ifdef::VK_EXT_fragment_density_map[]
include::chapters/fragmentdensitymapops.txt[]
endif::VK_EXT_fragment_density_map[]
include::chapters/queries.txt[]
// Transfer operations
include::chapters/clears.txt[]
include::chapters/copies.txt[]
// Graphics Operations
include::chapters/drawing.txt[]
include::chapters/fxvertex.txt[]
include::chapters/tessellation.txt[]
include::chapters/geometry.txt[]
ifdef::VK_NV_mesh_shader[]
include::chapters/VK_NV_mesh_shader/mesh.txt[]
endif::VK_NV_mesh_shader[]
include::chapters/vertexpostproc.txt[]
include::chapters/primsrast.txt[]
include::chapters/fragops.txt[]
include::chapters/framebuffer.txt[]
// Compute
include::chapters/dispatch.txt[]
// Device Generated Commands
ifdef::VK_NV_device_generated_commands[]
include::chapters/VK_NV_device_generated_commands/generatedcommands.txt[]
endif::VK_NV_device_generated_commands[]
// Sparse
include::chapters/sparsemem.txt[]
ifdef::VK_KHR_surface[]
include::chapters/VK_KHR_surface/wsi.txt[]
endif::VK_KHR_surface[]
// Deferred host ops
ifdef::VK_KHR_deferred_host_operations[]
include::chapters/VK_KHR_deferred_host_operations/deferred_host_operations.txt[]
endif::VK_KHR_deferred_host_operations[]
// Private data
ifdef::VK_EXT_private_data[]
include::chapters/VK_EXT_private_data.txt[]
endif::VK_EXT_private_data[]
// Acceleration structures
ifdef::VK_NV_ray_tracing,VK_KHR_acceleration_structure[]
include::chapters/accelstructures.txt[]
endif::VK_NV_ray_tracing,VK_KHR_acceleration_structure[]
// Ray traversal
ifdef::VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline,VK_KHR_ray_query[]
include::chapters/raytraversal.txt[]
endif::VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline,VK_KHR_ray_query[]
// Ray tracing
ifdef::VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline[]
include::chapters/raytracing.txt[]
endif::VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline[]
// Vulkan Video extensions
ifdef::VK_KHR_video_queue[]
include::chapters/video_extensions.txt[]
endif::VK_KHR_video_queue[]
ifdef::VK_KHR_video_decode_queue[]
include::chapters/video_decode_extensions.txt[]
endif::VK_KHR_video_decode_queue[]
ifdef::VK_EXT_video_decode_h264[]
include::chapters/video_decode_h264_extensions.txt[]
endif::VK_EXT_video_decode_h264[]
ifdef::VK_EXT_video_decode_h265[]
include::chapters/video_decode_h265_extensions.txt[]
endif::VK_EXT_video_decode_h265[]
ifdef::VK_KHR_video_encode_queue[]
include::chapters/video_encode_extensions.txt[]
endif::VK_KHR_video_encode_queue[]
ifdef::VK_EXT_video_encode_h264[]
include::chapters/video_encode_h264_extensions.txt[]
endif::VK_EXT_video_encode_h264[]
ifdef::VK_EXT_video_encode_h265[]
include::chapters/video_encode_h265_extensions.txt[]
endif::VK_EXT_video_encode_h265[]
// Sort of an appendix
include::chapters/extensions.txt[]
include::chapters/features.txt[]
include::chapters/limits.txt[]
include::chapters/formats.txt[]
include::chapters/capabilities.txt[]
include::chapters/debugging.txt[]
// Appendices
:numbered!:
include::appendices/spirvenv.txt[]
ifdef::VK_VERSION_1_2,VK_KHR_vulkan_memory_model[]
include::appendices/memorymodel.txt[]
endif::VK_VERSION_1_2,VK_KHR_vulkan_memory_model[]
include::appendices/compressedtex.txt[]
include::appendices/versions.txt[]
// Extension appendices are now included from extensions.txt
include::appendices/extensions.txt[]
include::appendices/boilerplate.txt[]
include::appendices/invariance.txt[]
include::appendices/glossary.txt[]
include::appendices/credits.txt[]
endif::[]