| // Copyright 2014-2023 The Khronos Group Inc. |
| // |
| // SPDX-License-Identifier: CC-BY-4.0 |
| |
| // Core versions and extensions to enable |
| // Must be included before the header and attribs.adoc |
| include::{generated}/specattribs.adoc[] |
| |
| // Define titles and title logos for either Vulkan or Vulkan SC |
| ifdef::VKSC_VERSION_1_0[] |
| :DocTitle: Vulkan^®^ {SC} {revnumber} - A Specification {apititle} : Based on Vulkan {baserevnumber} |
| :SC: SC |
| :VulkanLogo: vulkansc-unscaled.svg |
| :LogoDir: vulkansc |
| endif::VKSC_VERSION_1_0[] |
| ifndef::VKSC_VERSION_1_0[] |
| :DocTitle: Vulkan^®^ {revnumber} - A Specification {apititle} |
| :SC: |
| :VulkanLogo: vulkan2-unscaled.svg |
| :LogoDir: vulkan |
| endif::VKSC_VERSION_1_0[] |
| |
| // :regtitle: is explained in |
| // https://discuss.asciidoctor.org/How-to-add-markup-to-author-information-in-document-title-td6488.html |
| |
| = {DocTitle} |
| :regtitle: pass:q,r[^®^] |
| The Khronos{regtitle} Vulkan {SC} Working Group |
| :data-uri: |
| :icons: font |
| :toc2: |
| :toclevels: 2 |
| :numbered: |
| :source-highlighter: rouge |
| :rouge-style: github |
| :docinfo: shared-header |
| :docinfodir: {config}/{LogoDir} |
| :title-logo-image: image:{images}/{VulkanLogo}[top="25%"] |
| :attribute-missing: warn |
| |
| // Various special / math symbols. This is easier to edit with than Unicode. |
| include::{config}/attribs.adoc[] |
| |
| // Table of contents is inserted here |
| toc::[] |
| |
| :leveloffset: 1 |
| |
| <<<< |
| |
| // Preamble "chapter" |
| |
| include::{chapters}/preamble.adoc[] |
| |
| // Actual chapters |
| |
| :test: 0 |
| ifeval::["{test}"=="1"] |
| |
| // Include or insert trivial test markup here, to bypass building full spec |
| // include::{chapters}/textest.adoc[] |
| |
| include::{chapters}/introduction.adoc[] |
| |
| endif::[] |
| |
| ifeval::["{test}"!="1"] |
| include::{chapters}/introduction.adoc[] |
| |
| include::{chapters}/fundamentals.adoc[] |
| |
| include::{chapters}/initialization.adoc[] |
| |
| include::{chapters}/devsandqueues.adoc[] |
| |
| include::{chapters}/cmdbuffers.adoc[] |
| |
| include::{chapters}/synchronization.adoc[] |
| |
| include::{chapters}/renderpass.adoc[] |
| |
| include::{chapters}/shaders.adoc[] |
| |
| include::{chapters}/pipelines.adoc[] |
| |
| include::{chapters}/memory.adoc[] |
| |
| include::{chapters}/resources.adoc[] |
| |
| include::{chapters}/samplers.adoc[] |
| |
| include::{chapters}/descriptorsets.adoc[] |
| |
| include::{chapters}/interfaces.adoc[] |
| |
| include::{chapters}/textures.adoc[] |
| |
| ifdef::VK_EXT_fragment_density_map[] |
| include::{chapters}/fragmentdensitymapops.adoc[] |
| endif::VK_EXT_fragment_density_map[] |
| |
| include::{chapters}/queries.adoc[] |
| |
| // Transfer operations |
| include::{chapters}/clears.adoc[] |
| |
| include::{chapters}/copies.adoc[] |
| |
| // Graphics Operations |
| include::{chapters}/drawing.adoc[] |
| |
| include::{chapters}/fxvertex.adoc[] |
| |
| include::{chapters}/tessellation.adoc[] |
| |
| include::{chapters}/geometry.adoc[] |
| |
| ifdef::VK_NV_mesh_shader,VK_EXT_mesh_shader[] |
| include::{chapters}/VK_NV_mesh_shader/mesh.adoc[] |
| endif::VK_NV_mesh_shader,VK_EXT_mesh_shader[] |
| |
| ifdef::VK_HUAWEI_cluster_culling_shader[] |
| include::{chapters}/VK_HUAWEI_cluster_culling_shader/clusterculling.adoc[] |
| endif::VK_HUAWEI_cluster_culling_shader[] |
| |
| include::{chapters}/vertexpostproc.adoc[] |
| |
| include::{chapters}/primsrast.adoc[] |
| |
| include::{chapters}/fragops.adoc[] |
| |
| include::{chapters}/framebuffer.adoc[] |
| |
| // Compute |
| include::{chapters}/dispatch.adoc[] |
| |
| // Device Generated Commands |
| ifdef::VK_NV_device_generated_commands[] |
| include::{chapters}/VK_NV_device_generated_commands/generatedcommands.adoc[] |
| endif::VK_NV_device_generated_commands[] |
| |
| // Sparse |
| include::{chapters}/sparsemem.adoc[] |
| |
| ifdef::VK_KHR_surface[] |
| include::{chapters}/VK_KHR_surface/wsi.adoc[] |
| endif::VK_KHR_surface[] |
| |
| // Deferred host ops |
| ifdef::VK_KHR_deferred_host_operations[] |
| include::{chapters}/VK_KHR_deferred_host_operations/deferred_host_operations.adoc[] |
| endif::VK_KHR_deferred_host_operations[] |
| |
| // Private data |
| ifdef::VK_VERSION_1_3,VK_EXT_private_data[] |
| include::{chapters}/VK_EXT_private_data.adoc[] |
| endif::VK_VERSION_1_3,VK_EXT_private_data[] |
| |
| // Acceleration structures |
| ifdef::VK_NV_ray_tracing,VK_KHR_acceleration_structure[] |
| include::{chapters}/accelstructures.adoc[] |
| endif::VK_NV_ray_tracing,VK_KHR_acceleration_structure[] |
| |
| // Micromaps |
| ifdef::VK_EXT_opacity_micromap[] |
| include::{chapters}/VK_EXT_opacity_micromap/micromaps.adoc[] |
| endif::VK_EXT_opacity_micromap[] |
| |
| // Ray traversal |
| ifdef::VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline,VK_KHR_ray_query[] |
| include::{chapters}/raytraversal.adoc[] |
| 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.adoc[] |
| endif::VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline[] |
| |
| // Memory Decompression |
| ifdef::VK_NV_memory_decompression[] |
| include::{chapters}/VK_NV_memory_decompression.adoc[] |
| endif::VK_NV_memory_decompression[] |
| |
| // Vulkan Video extensions |
| ifdef::VK_KHR_video_queue[] |
| include::{chapters}/video_extensions.adoc[] |
| endif::VK_KHR_video_queue[] |
| |
| ifdef::VK_NV_optical_flow[] |
| include::{chapters}/VK_NV_optical_flow/optical_flow.adoc[] |
| endif::VK_NV_optical_flow[] |
| |
| ifdef::VK_AMDX_shader_enqueue[] |
| include::{chapters}/executiongraphs.adoc[] |
| endif::VK_AMDX_shader_enqueue[] |
| |
| ifdef::VK_NV_low_latency2[] |
| include::{chapters}/VK_NV_low_latency2/low_latency2.adoc[] |
| endif::VK_NV_low_latency2[] |
| |
| // Sort of an appendix |
| include::{chapters}/extensions.adoc[] |
| |
| include::{chapters}/features.adoc[] |
| |
| include::{chapters}/limits.adoc[] |
| |
| include::{chapters}/formats.adoc[] |
| |
| include::{chapters}/capabilities.adoc[] |
| |
| include::{chapters}/debugging.adoc[] |
| |
| // Appendices |
| :numbered!: |
| |
| include::{appendices}/spirvenv.adoc[] |
| |
| ifdef::VK_VERSION_1_2,VK_KHR_vulkan_memory_model[] |
| include::{appendices}/memorymodel.adoc[] |
| endif::VK_VERSION_1_2,VK_KHR_vulkan_memory_model[] |
| |
| include::{appendices}/compressedtex.adoc[] |
| |
| include::{appendices}/versions.adoc[] |
| |
| // Extension appendices are now included from extensions.adoc |
| include::{appendices}/extensions.adoc[] |
| |
| ifdef::VK_VERSION_1_3[] |
| include::{appendices}/roadmap.adoc[] |
| endif::VK_VERSION_1_3[] |
| |
| include::{appendices}/boilerplate.adoc[] |
| |
| include::{appendices}/invariance.adoc[] |
| |
| ifdef::VKSC_VERSION_1_0[] |
| include::{appendices}/vulkanscdeviations.adoc[] |
| endif::VKSC_VERSION_1_0[] |
| |
| include::{appendices}/glossary.adoc[] |
| |
| include::{appendices}/credits.adoc[] |
| |
| endif::[] |