KhronosGroup / glslang

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

Provide builds for releases as well #3195

Open ubitux opened 1 year ago

ubitux commented 1 year ago

While the provided main-tot builds could be considered useful for end users, they are not practical in the context of continuous integration which depends on deterministic builds (where dependencies such as glslang need to be frozen). This is particularly troublesome on Windows because there is no distribution of glslang available anywhere, making any CI setup a huge pain (forced to compile glslang at every run, which is extremely slow).

Is it possible to extend the CI builds to provide them for releases as well? They only need to be built once.

Note: our workaround is to currently rely on master-tot because it's stable (as it's not updated anymore since the move to main-tot), but that's going to be severely outdated as time passes.

arcady-lunarg commented 1 year ago

Note that you can get windows builds of glslangValidator as part of the LunarG Vulkan SDK, available at https://vulkan.lunarg.com/.

ubitux commented 1 year ago

Note that you can get windows builds of glslangValidator as part of the LunarG Vulkan SDK, available at https://vulkan.lunarg.com/.

Thanks, unfortunately we're relying on the libraries for compiling the shaders.

mbouron commented 1 year ago

Note that you can get windows builds of glslangValidator as part of the LunarG Vulkan SDK, available at https://vulkan.lunarg.com/.

The glslang build of the Vulkan SDK does not provide the C API nor the build_info.h header (useful for detecting the version of glslang). This prevents us from using it unfortunately.