Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/KhronosGroup/Vulkan-Docs

The Vulkan API Specification and related tools
https://github.com/KhronosGroup/Vulkan-Docs

Last synced: 27 days ago
JSON representation

The Vulkan API Specification and related tools

Awesome Lists containing this project

README

        

// Copyright 2017-2024 The Khronos Group Inc.
// SPDX-License-Identifier: CC-BY-4.0

ifdef::env-github[]
:note-caption: :information_source:
endif::[]

= Vulkan^(R)^ and Vulkan^(R)^ SC API Documentation Project

For Vulkan^(R)^ API specific documentation see link:READMEVK.adoc[READMEVK.adoc]

For Vulkan^(R)^ SC API specific documentation see link:READMESC.adoc[READMESC.adoc]

== Directory Structure

The directory structure is as follows:

```
README.adoc This file
READMESC.adoc Readme for the Vulkan SC specification
READMEVK.adoc Readme for the Vulkan specification
BUILD.adoc Documents how to build the specifications and reference pages
CONTRIBUTING.adoc Requirements for external contributions to the repository
COPYING.adoc Copyright and licensing information
CODE_OF_CONDUCT.adoc Code of Conduct
LICENSE.adoc Summary of licenses used by files in the repository
ChangeLog.adoc Change log summary for each public Vulkan spec update
ChangeLogSC.adoc Change log summary for each public Vulkan SC spec update
Makefile, make* Makefile and helper build scripts (see BUILD.adoc)
antora/ Staging area for the docs.vulkan.org Antora 'proposals' and 'spec' modules
appendices/ Specification appendices
chapters/ Specification chapters
proposals/ Design documents for extensions
config/ Asciidoctor configuration, CSS, and index generator
images/ Images (figures, diagrams, icons)
gen/out/ Default directory for the generated documents
scripts/ Helper scripts used in specification, header, and reference page generation
style/ Sources for "styleguide" (Vulkan Documentation and Extensions: Procedures and Conventions)
xml/ XML API Registry (`vk.xml`) as well as XML for non-Vulkan
data structures used with Video extensions (`video.xml`)
registry.adoc Source for documentation of the XML format
```

== Building the Specification and Reference Pages

The document sources are marked up in Asciidoctor format, and we use
`asciidoctor` and related toolchain components to generate output documents.
See link:BUILD.adoc[BUILD.adoc] for more information on installing the
toolchain and building the Specification.

== Generating Headers and Related Files

See link:xml/README.adoc[xml/README.adoc].

The header files (`include/vulkan/vulkan*.h`) and many parts of the
specification and reference page documents are generated from descriptions
in the XML API Registry (link:xml/vk.xml[`xml/vk.xml`]).
The generated files are not checked into the repository.
If you change `vk.xml`, you can regenerate the headers by going into
`xml/` and running:

$ make clean install

The other generated files are built as required via dependencies in
the top-level `Makefile`.