summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2015-12-10 16:01:10 +0300
committerAndrei Karas <akaras@inbox.ru>2015-12-10 16:01:10 +0300
commit3881abdfade04f992208296491498f0736e5ac81 (patch)
treedde266eef149c7201f5a039eb3e452612e510a51
parent740b10240414ae3b7c37ee21fd131ffdb296b2b9 (diff)
downloadmanaplus-3881abdfade04f992208296491498f0736e5ac81.tar.gz
manaplus-3881abdfade04f992208296491498f0736e5ac81.tar.bz2
manaplus-3881abdfade04f992208296491498f0736e5ac81.tar.xz
manaplus-3881abdfade04f992208296491498f0736e5ac81.zip
Add pointer to OpenGL function glBindAttribLocation.
-rw-r--r--src/graphicsmanager.cpp6
-rw-r--r--src/render/mgl.hpp2
-rw-r--r--src/render/mgltypes.h2
3 files changed, 9 insertions, 1 deletions
diff --git a/src/graphicsmanager.cpp b/src/graphicsmanager.cpp
index 05e4de782..bd7347e53 100644
--- a/src/graphicsmanager.cpp
+++ b/src/graphicsmanager.cpp
@@ -978,6 +978,12 @@ void GraphicsManager::initOpenGLFunctions()
}
}
+ if (is20 || supportExtension("GL_ARB_explicit_attrib_location"))
+ {
+ logger->log1("found GL_ARB_explicit_attrib_location");
+ assignFunction(glBindAttribLocation);
+ }
+
if (is12 && (is42 || supportExtension("GL_ARB_texture_storage")))
{
logger->log1("found GL_ARB_texture_storage");
diff --git a/src/render/mgl.hpp b/src/render/mgl.hpp
index c97dcfe59..47ad276d3 100644
--- a/src/render/mgl.hpp
+++ b/src/render/mgl.hpp
@@ -102,7 +102,7 @@ defName(glGetQueryObjectui64v);
defName(glTextureSubImage2D);
defName(glClearTexImage);
defName(glClearTexSubImage);
-
+defName(glBindAttribLocation);
#ifdef WIN32
defName(wglGetExtensionsString);
#endif
diff --git a/src/render/mgltypes.h b/src/render/mgltypes.h
index 5d033abf3..6b55f4430 100644
--- a/src/render/mgltypes.h
+++ b/src/render/mgltypes.h
@@ -185,6 +185,8 @@ typedef void (APIENTRY *glClearTexImage_t) (GLuint texture, GLint level,
typedef void (APIENTRY *glClearTexSubImage_t) (GLuint texture, GLint level,
GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height,
GLsizei depth, GLenum format, GLenum type, const void * data);
+typedef void (APIENTRY *glBindAttribLocation_t) (GLuint program,
+ GLuint index, const GLchar *name);
// callback
typedef void (APIENTRY *GLDEBUGPROC_t) (GLenum source, GLenum type, GLuint id,