| Revision history for Shaderc |
| |
| v2018.0-dev 2018-02-27 |
| - Start v2018.0-dev |
| - Support -fhlsl_functionality1 (also -fhlsl-functionality1) |
| |
| v2017.2 2018-02-27 |
| - Add a shared library version of libshaderc |
| - Support GLSL 4.6 and ESSL 3.2 |
| - Fail compilation if a resource does not have a binding. |
| - Add options for automatically setting bindings for (uniform) resources that |
| don't have bindings set in shader source. |
| - Add options for automatically setting locations for pipline inputs and outputs. |
| - Add option for using HLSL IO mappings as expressed in source. |
| - Add options for setting resource binding base numbers. |
| - Add option to use HLSL resource register numbers for bindings. |
| - HLSL compilation now defaults to HLSL packing rules. |
| (This change is inherited from Glslang commit 7cca140.) |
| - HLSL compilation runs SPIR-V "legalization" transforms to reduce |
| manipulation of opaque handles (e.g. images), to satisfy Vulkan rules. |
| - Adapt to Glslang generator version numbers: |
| - To 2: a fix for code generation for atomicCounterDecrement. |
| - To 3: change memory barrier semantics masks |
| - To 4: generate more access chains for swizzles |
| - CMake install rules uses GNUInstallDirs. For example, install to lib64 |
| when that is the norm for the target system. |
| |
| v2017.1 2017-03-10 |
| - Add option to automatically assign bindings to uniform variables |
| that don't have an explicit 'binding' layout in the shader source. |
| - Enable NVIDIA extensions by default in GLSL compilation |
| - README mentions language bindings provided by 3rd parties. |
| - README describes the known-good branch on GitHub |
| - Fixed examples in shaderc.h; added C API use to examples/online-compile |
| - Fixes issues: |
| #289: Don't output an object file when compilation fails. |
| #296: Enable use of the CMake in Android Studio. |
| |
| v2016.2 2016-12-13 |
| - 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". |
| - Enable AMD extensions by default in GLSL compilation |
| - Fixes issues: |
| #281: Work around Android build issue with abspath on Windows |
| #283: Increase default maxDrawBuffers to 4, to match Vulkan/GLES3.0 |
| |
| 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 |