summaryrefslogtreecommitdiff
path: root/codegen/vulkan/scripts/README.adoc
diff options
context:
space:
mode:
authorJason Macnak <natsu@google.com>2023-05-26 21:09:21 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2023-05-26 21:09:21 +0000
commitbdfbccafb89fb64b3b66f83c86b2fc0e1819c842 (patch)
tree97952257a570478249f2b04f346ac862949a4d38 /codegen/vulkan/scripts/README.adoc
parent8021abadb03f3cd525fdd339eb43843044c781db (diff)
parentea00ab3f8f6e353fa252dc65cce0ae505d731651 (diff)
downloadgfxstream-protocols-bdfbccafb89fb64b3b66f83c86b2fc0e1819c842.tar.gz
Prepare for move to hardware/google/gfxstream am: ea00ab3f8f
Original change: https://android-review.googlesource.com/c/platform/external/gfxstream-protocols/+/2597360 Change-Id: Ic90f369b1b423b7f61329482230092bf80a6994c Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
Diffstat (limited to 'codegen/vulkan/scripts/README.adoc')
-rw-r--r--codegen/vulkan/scripts/README.adoc74
1 files changed, 74 insertions, 0 deletions
diff --git a/codegen/vulkan/scripts/README.adoc b/codegen/vulkan/scripts/README.adoc
new file mode 100644
index 00000000..0a60629a
--- /dev/null
+++ b/codegen/vulkan/scripts/README.adoc
@@ -0,0 +1,74 @@
+// Copyright 2014-2021 The Khronos Group Inc.
+//
+// SPDX-License-Identifier: CC-BY-4.0
+
+= Vulkan^(R)^ Specification Repository Scripts
+
+This directory contains scripts used in building the Vulkan API
+specification and related artifacts. For the most part, these scripts are
+invoked from the top-level directory or from the API Registry in
+../xml to build generated components of the specification.
+
+Scripts in this directory include:
+
+ * `genvk.py` - Python script to generate Vulkan headers and some other
+ targets, using the generators described below.
+ * `reg.py` - Python tools to read a registry XML file and call into
+ generators to create headers and other types of output.
+ * `conventions.py`, `vkconventions.py` - API-specific parameters and
+ formatting / style conventions used by generators.
+ * `generator.py` - output generator base class.
+ ** `cgenerator.py` - C header output generator.
+ ** `docgenerator.py` - Asciidoc interface language include generator.
+ ** `extensionmetadocgenerator.py` - Generator for Asciidoc extension
+ descriptions in spec appendices.
+ ** `hostsyncgenerator.py` - Asciidoc host sync table generator.
+ ** `pygenerator.py` - Generates python encoding of the API description.
+ ** `validitygenerator.py` - Asciidoc validity language generator.
+
+ * `check_spec_links.py` - validates a variety of markup and content in the
+ Asciidoctor specification source.
+ * `make_ext_dependency.py` - generate extension dependencies in Bash and
+ Python form for use when building the specification.
+ * `genRelease`, `genspec.py` - build HTML and PDF Specifications with a
+ variety of options to control target directories, extensions included
+ while building, etc.
+ * `genRef.py`, `reflib.py` - extract API reference pages from specification
+ source into single-page source documents.
+ * `indexExt.py` - generate HTML index of all extensions for inclusion into
+ the Vulkan registry index page.
+ * `reflow.py`, `reflow_count.py` - reflow specification source text to follow
+ style guidelines, and insert Valid Usage statements where they're
+ needed.
+ * `test_check_spec_links.py`, `test_check_spec_links_api_specific.py`,
+ `test_entity_db.py` - these are from another Khronos WG repository and
+ are unused by Vulkan at present.
+
+ * `compImages.sh` - compare images in two branches.
+ * `htmldiff/htmldiff` - HTML diff script (see below).
+ * `Retired/` - contains obsolete, unused, or single-purpose scripts. Not
+ maintained.
+
+HTML Diff Script for Vulkan
+===========================
+
+This is a first cut at a script to compare Vulkan HTML specifications. Usage
+is simply 'htmldiff file1.html file2.html > diff.html'. The script does not
+copy CSS and images required by the input specs, so it's best to generate
+the output in the same directory as one of the inputs. However, the script
+must be invoked from the directory it is located within.
+
+The scripts used require Python and Perl. Additionally, the python
+'utidylib' module and the underlying libtidy C library are required.
+On Debian Linux, it may be necessary to install the 'python-utidylib' and
+'libtidy' packages if they are not already present.
+
+The scripts are taken from the code backing the
+
+ http://services.w3.org/htmldiff
+
+website. `htmldiff` is the Python driver script. `htmldiff.pl` is the
+Perl script which generates the diff after preprocessing of the input
+HTML by `htmldiff`. `htmldiff.orig` is the original Python script from
+the website, modified to run at the command line instead of as a CGI
+script.