From 376bdf1b74c5eeec7caca4a0210e04a93313d95e Mon Sep 17 00:00:00 2001 From: bkaradzic Date: Thu, 18 Jul 2013 00:41:27 -0700 Subject: [PATCH] GL: Detach shaders after linking program. --- src/glimports.h | 1 + src/renderer_gl.cpp | 2 ++ 2 files changed, 3 insertions(+) diff --git a/src/glimports.h b/src/glimports.h index 3ab8d5bc..ced628db 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 d0694eed..f79db25d 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) );