-
Grigory Dzhavadyan authored
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
4c9876b3