Introduction

KhronosGroup/Vulkan-Docs包含了Vulkan API技术文档和相关工具。

Vulkan Version Last Updated Tag
1.0 v1.0.69-core
1.1 v1.1.130
1.2 v1.2.174 (Current)

Build

Testing Environment

  • Windows Subsystem for Linux 2.0
  • Ubuntu 20.04.2 LTS

Requirement

Vulkan-Docs的构建需要ruby环境。主要是因为它用到一个asciidoctor-mathematical的工具包, 而它又依赖mathematical, 所以正确的安装顺序是

ruby development environment
1
apt-get -qq -y install ruby-dev
required libraries by mathematical
1
apt-get -qq -y install bison flex libffi-dev libxml2-dev libgdk-pixbuf2.0-dev libcairo2-dev libpango1.0-dev
1
gem install asciidoctor-mathematical

除此之外,还需要安装

1
gem install coderay

Scripts

所有的HTMLPDF都是通过脚本基于xml/vk.xml生成的。比方要生成所有extensions相关的环境变量需要的脚本是scripts/make_ext_dependency.py.

Targets

Vulkan-Docs的构建系统基本上是make + shell + python. 它的顶层目录包含一个Makefile, 几乎包含了所有构建对象,其它的构建脚本基本上是make VAR="$VALUE" TARGET $*的调用形式。 这个Makefile里定义的目标大概有以下这些:

  • all
  • allchecks
  • alldocs
  • allman
  • allspecs
  • apiinc
  • buildmanpages
  • chunked
  • clean
  • clean_checks
  • clean_generated
  • clean_html
  • clean_man
  • clean_pdf
  • clean_validusage
  • config/extDependency.sh
  • diff_html
  • extinc
  • generated
  • hostsyncinc
  • html
  • katexinst
  • manhtml
  • manhtmlpages
  • manpdf
  • pdf
  • reflow
  • registry
  • styleguide
  • validinc
  • validusage