summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/graphicsmanager.cpp8
-rw-r--r--src/render/mgl.cpp1
-rw-r--r--src/render/mgl.h1
-rw-r--r--src/render/mgltypes.h6
4 files changed, 16 insertions, 0 deletions
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,