Due to recent changes a cached patch string in GLShader grew out of its bounds. This resulted in incorrect shader generation on selected platforms (Reported was Windows/NVIDIA). The patch string can differ based on the features that the GPU supports. This PR replaces the old C-style string generation with CPP-style string stream, making sure that the allocated memory grows with the size of the string. Pull Request: https://projects.blender.org/blender/blender/pulls/116085