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