From 17f8465e4358d43accfb0b486b87c18e7dedd83b Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Thu, 19 Jun 2014 17:15:34 +0300 Subject: Add functions from OpenGL extension GL_ARB_copy_image. --- src/graphicsmanager.cpp | 8 ++++++++ src/render/mgl.cpp | 1 + src/render/mgl.h | 1 + src/render/mgltypes.h | 6 ++++++ 4 files changed, 16 insertions(+) diff --git a/src/graphicsmanager.cpp b/src/graphicsmanager.cpp index d1dd65f30..3609f1e85 100644 --- a/src/graphicsmanager.cpp +++ b/src/graphicsmanager.cpp @@ -1004,6 +1004,14 @@ void GraphicsManager::initOpenGLFunctions() mSupportModernOpengl = false; logger->log1("buffers extension not found"); } + if (supportExtension("GL_ARB_copy_image")) + { + assignFunction(glCopyImageSubData, "glCopyImageSubData"); + } + else + { + logger->log1("GL_ARB_copy_image not found"); + } if (supportExtension("GL_ARB_shader_objects")) { assignFunction(glCreateShader, "glCreateShader"); diff --git a/src/render/mgl.cpp b/src/render/mgl.cpp index 9818b7f04..336a5f71b 100644 --- a/src/render/mgl.cpp +++ b/src/render/mgl.cpp @@ -96,6 +96,7 @@ defName(glIsBuffer); defName(glVertexAttribIFormat); defName(glVertexAttribIPointer); defName(glInvalidateTexImage); +defName(glCopyImageSubData); #ifdef WIN32 defName(wglGetExtensionsString); diff --git a/src/render/mgl.h b/src/render/mgl.h index dbd9a4b38..9cb6ca72f 100644 --- a/src/render/mgl.h +++ b/src/render/mgl.h @@ -99,6 +99,7 @@ defNameE(glIsBuffer); defNameE(glVertexAttribIFormat); defNameE(glVertexAttribIPointer); defNameE(glInvalidateTexImage); +defNameE(glCopyImageSubData); #ifdef WIN32 defNameE(wglGetExtensionsString); diff --git a/src/render/mgltypes.h b/src/render/mgltypes.h index 14b3b5760..133489d4e 100644 --- a/src/render/mgltypes.h +++ b/src/render/mgltypes.h @@ -145,6 +145,12 @@ typedef void (APIENTRY *glVertexAttribIFormat_t) (GLuint attribindex, typedef void (APIENTRY *glVertexAttribIPointer_t) (GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); typedef void (APIENTRY *glInvalidateTexImage_t) (GLuint texture, GLint level); +typedef void (APIENTRY *glCopyImageSubData_t) (GLuint srcName, + GLenum srcTarget, GLint srcLevel, + GLint srcX, GLint srcY, GLint srcZ, + GLuint dstName, GLenum dstTarget, GLint dstLevel, + GLint dstX, GLint dstY, GLint dstZ, + GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth); // callback typedef void (APIENTRY *GLDEBUGPROC_t) (GLenum source, GLenum type, GLuint id, -- cgit v1.2.3-60-g2f50