KhronosGroup / glslang

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

`git master` glslang -v misidentifies itself as a stable build #1058

Open haasn opened 6 years ago

haasn commented 6 years ago
$ git describe
2.3-1598-gaab3bcff
$ ./build/StandAlone/glslangValidator -v
Glslang Version: Overload400-PrecQual.2000 12-Apr-2017
...

This is very confusing; the build date and version string are set to that of the previous release, even though the build is fresh from git master. I would suggest just using git describe's output as the version string (+ using git tag for releases), it works very well for this kind of stuff.

johnkslang commented 6 years ago

I see I lost the hook I had that was automatically updating the version.

Will look at something more robust.

johnkslang commented 6 years ago

So git describe --tags comes back as Overload400-PrecQual-982-g88e22a6 which is not so different than what glslang was currently attempting to do, which was adding in the number of commits to the last tag to distinguish from commit to commit, except that process broke a while back.

There are many versions coming out, some do need updating. In addition the glslang version, there are 7 other versions for different components or interfaces glslang deals with:

ESSL Version: OpenGL ES GLSL 3.00 glslang LunarG Khronos.Overload400-PrecQual.2000 12-Apr-2017
GLSL Version: 4.20 glslang LunarG Khronos.Overload400-PrecQual.2000 12-Apr-2017
SPIR-V Version 0x00010000, Revision 12
GLSL.std.450 Version 100, Revision 1
Khronos Tool ID 8
GL_KHR_vulkan_glsl version 100
ARB_GL_gl_spirv version 100

How do you recommend git describe content get incorporated into the glslang build?