pub(crate) unsafe fn compile_shader( gl: &Context, shader_type: u32, source: &str, ) -> Result<Shader, String>