KhronosGroup / glslang

Khronos-reference front end for GLSL/ESSL, partial front end for HLSL, and a SPIR-V generator.
Other
2.9k stars 816 forks source link

Generate debug name matching the source language for opaque types #3646

Open qingyuanzNV opened 3 days ago

qingyuanzNV commented 3 days ago

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.