glslang-zig/SPIRV
Grigory Dzhavadyan 4c9876b34c Add names for composite constants in SPIR-V
Consider the following code:

    layout(constant_id=0) const int Y = 1;
    layout(constant_id=1) const int Z = 2;
    layout(constant_id=3) const int X = Y + Z;

Previously, it would produce SPIR-V decorations like this:

    Decorate 21(Y) SpecId 1
    Decorate 22 SpecId 3
    Decorate 33(Z) SpecId 0

This seems inaccurate, since the spec constant `X` that is dependent on
the two others did not get a name in the SPIR-V decorations. This behavior
may potentially negatively affect shader introspection capabilities.

This change alters the behavior to always add a name, which results in the code
above producing the following decorations:

    Decorate 21(Y) SpecId 1
    Decorate 22(X) SpecId 3
    Decorate 33(Z) SpecId 0
2018-11-02 00:45:12 -07:00
..
bitutils.h Fix compiler warning emitted from GCC8 2018-09-12 10:34:54 +02:00
CMakeLists.txt Merge pull request #1465 from otakuto/remove-execute-permissions 2018-08-31 08:14:47 -07:00
disassemble.cpp Add-support-for-SPV_NV_mesh_shader 2018-09-19 13:07:43 -07:00
disassemble.h Merge pull request #1465 from otakuto/remove-execute-permissions 2018-08-31 08:14:47 -07:00
doc.cpp Add-support-for-SPV_NV_shading_rate 2018-09-19 13:07:43 -07:00
doc.h Non-Functional: Remove unused parts of the disassembler. 2018-03-30 00:11:39 -06:00
GLSL.ext.AMD.h Non-functional: Move to latest headers. 2018-03-02 12:36:02 -07:00
GLSL.ext.EXT.h Fix issues of SPIRV headers 2018-03-02 17:42:37 +08:00
GLSL.ext.KHR.h GL_KHR_memory_scope_semantics 2018-09-06 20:36:14 -05:00
GLSL.ext.NV.h Add-support-for-SPV_NV_shading_rate 2018-09-19 13:07:43 -07:00
GLSL.std.450.h Remove execute permissions 2018-08-07 03:16:20 +09:00
GlslangToSpv.cpp Add names for composite constants in SPIR-V 2018-11-02 00:45:12 -07:00
GlslangToSpv.h SPV: Isolate SPIRV-tools glue to its own file. 2018-08-23 15:17:10 -06:00
hex_float.h Build: Attempt better support for VS 2012. 2017-08-25 21:35:37 -06:00
InReadableOrder.cpp Use unordered_set in ReadableOrderTraverser. 2017-05-11 20:48:34 -04:00
Logger.cpp [VS2010] Remove use of ranged-for loops 2016-05-17 01:20:30 +02:00
Logger.h [VS2010] Remove use of "= default" and "= delete" 2016-05-17 01:20:25 +02:00
spirv.hpp Update to latest spirv.hpp header (which fixed a typo). 2018-09-19 13:58:01 -06:00
SpvBuilder.cpp Use unsigned int instead of uint32_t 2018-09-25 16:32:06 -04:00
SpvBuilder.h Interfaces: Remove NV_EXTENSIONS from two more headers. 2018-09-26 09:38:20 -06:00
spvIR.h Merge pull request #1465 from otakuto/remove-execute-permissions 2018-08-31 08:14:47 -07:00
SpvPostProcess.cpp Merge pull request #1556 from Kangz/msvc 2018-10-29 16:16:46 -06:00
SPVRemapper.cpp Remove execute permissions 2018-08-07 03:16:20 +09:00
SPVRemapper.h Remove execute permissions 2018-08-07 03:16:20 +09:00
SpvTools.cpp Fixup unused parameter warnings 2018-10-24 09:54:48 -04:00
SpvTools.h SPV: Add option for controling when the SPIRV-Tools validator is used. 2018-08-23 15:29:08 -06:00