Previously the VKShaderInterface was constructed twice. This was due to a limitation of the Shader api. Specialization constants introduced an Shader::init function which allows to pre-initialize the shader interface before a shader is finalized. Pull Request: https://projects.blender.org/blender/blender/pulls/122049