Revision history for Shaderc

v2016.2-dev 2016-10-12
 - Describe Shaderc's level of stability.
 - Support HLSL compilation, exposing functionality in Glslang.
   - Supported in C, C++ API
   - glslc accepts "-x hlsl", and assumes .hlsl files are HLSL.
   - glslc accepts "-fentry-point=<name>" to set entry point name,
     overriding default value "main".
 - Support setting shader resource limits in C, C++ APIs, and in
   glslc
   - glslc adds -flimit=<setting>
   - glslc adds --show-limits to display defaults and valid resource
     limit syntax.
   - glslc adds "-flimit-file <file>" support to read Glslang resource
     configuration files, i.e. the output of "glslangValidator -c".

v2016.1 2016-10-12
 - C API for assembling now takes an options object
 - Support compilation options to optimize for size.
 - Maintain compatibility with recent SPIRV-Tools and Glslang versions.
 - Update examples.
 - Build cleanups.
 - Fixes issues:
   #238: Fix invocation of python scripts during build

v2016.0 2016-07-07

 - Adds v<year>.<index> versioning, with "-dev" suffix to indicate work in
   progress. The intent is to summarize and report functionalities more easily
   for incorporating into downstream projects.

 - Summary of functionalities (See the README.md for more details):
   - Provides libraries and command line tools for generating SPIR-V modules
   - Supports GLSL source code or SPIR-V assembly as input
   - Supports SPIR-V binary or assembly text as output
   - Command line options follow GCC/Clang conventions
   - Supports various semantics (OpenGL, OpenGL Compatible and Vulkan)
   - Supports #include
   - Supports user-defined macros
   - Supports dependency information dumping
