Slang: language mechanisms for extensible real-time shading systems




  • Paper topic: Rendering
  • Software type: Code
  • Able to run a replicability test: True
  • Replicability score: 3
  • Software language: C/C++
  • License: MIT
  • Build mechanism: Makefile, IDE Project (VS,..), premake
  • Dependencies:
  • Documentation score {0,1,2}: 2
  • Reviewer: Nicolas Bonneel <>
  • Time spent for the test (build->first run, timeout at 100min): 100min

Source code information


Overall I managed to build the project with VS2017 very easily, and ran the model-viewer demo within minutes. However, I did not manage to run the simpler cpu-hello-world demo due to a couple of bugs. In Line 217 of slang-win-visual-studio-util.cpp, I had to add a condition : if (lines.getCount() && lines[0].size()!=0) instead of if (lines.getCount()) because my Visual Studio vswhere gives a blank line when the requested version is not found (instead of no line at all), which was messing up with the VS version selector afterwards. Then, after fixing this issue, since the program was still looking for the 'Generic C/C++ Compiler' (and did not consider my VS2017 to be generic enough ? though it found it), I had to force Visual Studio to be passed through in line 113 of the main.cpp, using spSetPassThrough(slangRequest, SlangPassThrough(5));
Ultimately, after these fixes, I got a link error : "Visual Studio 15.0: shader.slang (0): link error LNK1107:  invalid or corrupt file: cannot read at 0x16F" when running the code, which I cannot debug much further.
In short, it nicely reproduced results on the GPU, but I could not run the code on the CPU.

If you want to contribute with another review, please follow these instructions.

Please consider to cut/paste/edit the raw JSON data attached to this paper.