1// Copyright 2014-2023 The Khronos Group Inc. 2// 3// SPDX-License-Identifier: CC-BY-4.0 4 5// Core versions and extensions to enable 6// Must be included before the header and attribs.adoc 7include::{generated}/specattribs.adoc[] 8 9// Define titles and title logos for either Vulkan or Vulkan SC 10ifdef::VKSC_VERSION_1_0[] 11:DocTitle: Vulkan^®^ {SC} {revnumber} - A Specification {apititle} : Based on Vulkan {baserevnumber} 12:SC: SC 13:VulkanLogo: vulkansc-unscaled.svg 14:LogoDir: vulkansc 15endif::VKSC_VERSION_1_0[] 16ifndef::VKSC_VERSION_1_0[] 17:DocTitle: Vulkan^®^ {revnumber} - A Specification {apititle} 18:SC: 19:VulkanLogo: vulkan2-unscaled.svg 20:LogoDir: vulkan 21endif::VKSC_VERSION_1_0[] 22 23// :regtitle: is explained in 24// https://discuss.asciidoctor.org/How-to-add-markup-to-author-information-in-document-title-td6488.html 25 26= {DocTitle} 27:regtitle: pass:q,r[^®^] 28The Khronos{regtitle} Vulkan {SC} Working Group 29:data-uri: 30:icons: font 31:toc2: 32:toclevels: 2 33:numbered: 34:source-highlighter: rouge 35:rouge-style: github 36:docinfo: shared-header 37:docinfodir: {config}/{LogoDir} 38:title-logo-image: image:{images}/{VulkanLogo}[top="25%"] 39:attribute-missing: warn 40 41// Various special / math symbols. This is easier to edit with than Unicode. 42include::{config}/attribs.adoc[] 43 44// Table of contents is inserted here 45toc::[] 46 47:leveloffset: 1 48 49<<<< 50 51// Preamble "chapter" 52 53include::{chapters}/preamble.adoc[] 54 55// Actual chapters 56 57:test: 0 58ifeval::["{test}"=="1"] 59 60// Include or insert trivial test markup here, to bypass building full spec 61// include::{chapters}/textest.adoc[] 62 63include::{chapters}/introduction.adoc[] 64 65endif::[] 66 67ifeval::["{test}"!="1"] 68include::{chapters}/introduction.adoc[] 69 70include::{chapters}/fundamentals.adoc[] 71 72include::{chapters}/initialization.adoc[] 73 74include::{chapters}/devsandqueues.adoc[] 75 76include::{chapters}/cmdbuffers.adoc[] 77 78include::{chapters}/synchronization.adoc[] 79 80include::{chapters}/renderpass.adoc[] 81 82include::{chapters}/shaders.adoc[] 83 84include::{chapters}/pipelines.adoc[] 85 86include::{chapters}/memory.adoc[] 87 88include::{chapters}/resources.adoc[] 89 90include::{chapters}/samplers.adoc[] 91 92include::{chapters}/descriptorsets.adoc[] 93 94include::{chapters}/interfaces.adoc[] 95 96include::{chapters}/textures.adoc[] 97 98ifdef::VK_EXT_fragment_density_map[] 99include::{chapters}/fragmentdensitymapops.adoc[] 100endif::VK_EXT_fragment_density_map[] 101 102include::{chapters}/queries.adoc[] 103 104// Transfer operations 105include::{chapters}/clears.adoc[] 106 107include::{chapters}/copies.adoc[] 108 109// Graphics Operations 110include::{chapters}/drawing.adoc[] 111 112include::{chapters}/fxvertex.adoc[] 113 114include::{chapters}/tessellation.adoc[] 115 116include::{chapters}/geometry.adoc[] 117 118ifdef::VK_NV_mesh_shader,VK_EXT_mesh_shader[] 119include::{chapters}/VK_NV_mesh_shader/mesh.adoc[] 120endif::VK_NV_mesh_shader,VK_EXT_mesh_shader[] 121 122ifdef::VK_HUAWEI_cluster_culling_shader[] 123include::{chapters}/VK_HUAWEI_cluster_culling_shader/clusterculling.adoc[] 124endif::VK_HUAWEI_cluster_culling_shader[] 125 126include::{chapters}/vertexpostproc.adoc[] 127 128include::{chapters}/primsrast.adoc[] 129 130include::{chapters}/fragops.adoc[] 131 132include::{chapters}/framebuffer.adoc[] 133 134// Compute 135include::{chapters}/dispatch.adoc[] 136 137// Device Generated Commands 138ifdef::VK_NV_device_generated_commands[] 139include::{chapters}/VK_NV_device_generated_commands/generatedcommands.adoc[] 140endif::VK_NV_device_generated_commands[] 141 142// Sparse 143include::{chapters}/sparsemem.adoc[] 144 145ifdef::VK_KHR_surface[] 146include::{chapters}/VK_KHR_surface/wsi.adoc[] 147endif::VK_KHR_surface[] 148 149// Deferred host ops 150ifdef::VK_KHR_deferred_host_operations[] 151include::{chapters}/VK_KHR_deferred_host_operations/deferred_host_operations.adoc[] 152endif::VK_KHR_deferred_host_operations[] 153 154// Private data 155ifdef::VK_VERSION_1_3,VK_EXT_private_data[] 156include::{chapters}/VK_EXT_private_data.adoc[] 157endif::VK_VERSION_1_3,VK_EXT_private_data[] 158 159// Acceleration structures 160ifdef::VK_NV_ray_tracing,VK_KHR_acceleration_structure[] 161include::{chapters}/accelstructures.adoc[] 162endif::VK_NV_ray_tracing,VK_KHR_acceleration_structure[] 163 164// Micromaps 165ifdef::VK_EXT_opacity_micromap[] 166include::{chapters}/VK_EXT_opacity_micromap/micromaps.adoc[] 167endif::VK_EXT_opacity_micromap[] 168 169// Ray traversal 170ifdef::VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline,VK_KHR_ray_query[] 171include::{chapters}/raytraversal.adoc[] 172endif::VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline,VK_KHR_ray_query[] 173 174// Ray tracing 175ifdef::VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline[] 176include::{chapters}/raytracing.adoc[] 177endif::VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline[] 178 179// Memory Decompression 180ifdef::VK_NV_memory_decompression[] 181include::{chapters}/VK_NV_memory_decompression.adoc[] 182endif::VK_NV_memory_decompression[] 183 184// Vulkan Video extensions 185ifdef::VK_KHR_video_queue[] 186include::{chapters}/video_extensions.adoc[] 187endif::VK_KHR_video_queue[] 188 189ifdef::VK_NV_optical_flow[] 190include::{chapters}/VK_NV_optical_flow/optical_flow.adoc[] 191endif::VK_NV_optical_flow[] 192 193ifdef::VK_AMDX_shader_enqueue[] 194include::{chapters}/executiongraphs.adoc[] 195endif::VK_AMDX_shader_enqueue[] 196 197ifdef::VK_NV_low_latency2[] 198include::{chapters}/VK_NV_low_latency2/low_latency2.adoc[] 199endif::VK_NV_low_latency2[] 200 201// Sort of an appendix 202include::{chapters}/extensions.adoc[] 203 204include::{chapters}/features.adoc[] 205 206include::{chapters}/limits.adoc[] 207 208include::{chapters}/formats.adoc[] 209 210include::{chapters}/capabilities.adoc[] 211 212include::{chapters}/debugging.adoc[] 213 214// Appendices 215:numbered!: 216 217include::{appendices}/spirvenv.adoc[] 218 219ifdef::VK_VERSION_1_2,VK_KHR_vulkan_memory_model[] 220include::{appendices}/memorymodel.adoc[] 221endif::VK_VERSION_1_2,VK_KHR_vulkan_memory_model[] 222 223include::{appendices}/compressedtex.adoc[] 224 225include::{appendices}/versions.adoc[] 226 227// Extension appendices are now included from extensions.adoc 228include::{appendices}/extensions.adoc[] 229 230ifdef::VK_VERSION_1_3[] 231include::{appendices}/roadmap.adoc[] 232endif::VK_VERSION_1_3[] 233 234include::{appendices}/boilerplate.adoc[] 235 236include::{appendices}/invariance.adoc[] 237 238ifdef::VKSC_VERSION_1_0[] 239include::{appendices}/vulkanscdeviations.adoc[] 240endif::VKSC_VERSION_1_0[] 241 242include::{appendices}/glossary.adoc[] 243 244include::{appendices}/credits.adoc[] 245 246endif::[] 247