This patch improves the non-semantic debug name of opaque (sampler) types. Instead of using a generic name of "type.sampler" or something alike, we generate a name that matches the GLSL source language. So OpTypeImage would have debug name of "imageXXX" or "textureXXX". OpTypeSampler would have debug name of "sampler" or "samplerShadow". OpTypeSampledImage would have debug name of "samplerXXX".
Also, as a minor tweak, TSampler::getString() now should returns a std::string. This avoids memory for type names piling up in the pool when the function is called repetitively.
Question: need we retain the existing behavior for HLSL source? It seems other names for debug types are GLSL centric, but when a HLSL source program is compiled, it would look weird to have type names not exist in the language.
This patch improves the non-semantic debug name of opaque (sampler) types. Instead of using a generic name of "type.sampler" or something alike, we generate a name that matches the GLSL source language. So OpTypeImage would have debug name of "imageXXX" or "textureXXX". OpTypeSampler would have debug name of "sampler" or "samplerShadow". OpTypeSampledImage would have debug name of "samplerXXX".
Also, as a minor tweak, TSampler::getString() now should returns a std::string. This avoids memory for type names piling up in the pool when the function is called repetitively.
Question: need we retain the existing behavior for HLSL source? It seems other names for debug types are GLSL centric, but when a HLSL source program is compiled, it would look weird to have type names not exist in the language.