
Ecma TC57 - The HLSL Standard Committee
SWAG progress estimate:
This repository documents and tracks the specification and evolution process for the HLSL programming language under Ecma Technical Committee 57 (TC57). This repository is made public to provide visibility into the feature development process and solicit feedback from the wider community.
To understand the processes used by the Technical Committee please review our process documentation.
The draft HLSL specification is available in HTML and PDF.
Building the Specification
The text for the HLSL specification is under the spec directory. It
is written in LaTeX. Building the spec requires a TeX environment and some
additional tools each described below.
- The recommended LaTeX environment can be satisfied by installing TeX Live.
- Inkscape is required for rendering SVG into PDF.
- The HTML version of the specification is generated with Pandoc.
- CMake is used to generate makefiles or other build scripts.
After installing the dependencies you can build the specification with the following commands:
mkdir build
cmake -G "Unix Makefiles" ../spec
make
The build has 3 targets to build the specification in different ways:
- html-chunked - one HTML file per clause and an index.
- html - one giant HTML file.
MacOS using Homebrew
brew install --cask mactex
brew install inkscape
brew install pandoc
brew install cmake
Ubuntu
sudo apt install texlive
sudo apt install texlive-latex-extra
sudo apt install inkscape
sudo apt install pandoc
sudo apt install cmake
Website build
See the full documentation on building the website with Docker.