diff --git a/src/glimports.h b/src/glimports.h index 3ab8d5bcf..ced628db5 100644 --- a/src/glimports.h +++ b/src/glimports.h @@ -63,6 +63,7 @@ GL_IMPORT(false, PFNGLCREATESHADERPROC, glCreateShader); GL_IMPORT(false, PFNGLDELETEPROGRAMPROC, glDeleteProgram); GL_IMPORT(false, PFNGLDELETESHADERPROC, glDeleteShader); GL_IMPORT(false, PFNGLATTACHSHADERPROC, glAttachShader); +GL_IMPORT(false, PFNGLDETACHSHADERPROC, glDetachShader); GL_IMPORT(false, PFNGLCOMPILESHADERPROC, glCompileShader); GL_IMPORT(false, PFNGLSHADERSOURCEPROC, glShaderSource); GL_IMPORT(false, PFNGLGETSHADERIVPROC, glGetShaderiv); diff --git a/src/renderer_gl.cpp b/src/renderer_gl.cpp index d0694eedd..f79db25d3 100644 --- a/src/renderer_gl.cpp +++ b/src/renderer_gl.cpp @@ -989,6 +989,8 @@ namespace bgfx GL_CHECK(glAttachShader(m_id, _vsh.m_id) ); GL_CHECK(glAttachShader(m_id, _fsh.m_id) ); GL_CHECK(glLinkProgram(m_id) ); + GL_CHECK(glDetachShader(m_id, _vsh.m_id) ); + GL_CHECK(glDetachShader(m_id, _fsh.m_id) ); GLint linked = 0; GL_CHECK(glGetProgramiv(m_id, GL_LINK_STATUS, &linked) );