Introduction - If you have any usage issues, please Google them yourself
Create a new shader context and uses it instead of the old one if successful. Will create the context at the same location as the old one (this is safe because the shader itself is unchanged).