aboutsummaryrefslogtreecommitdiff
path: root/backends/graphics/opengl
diff options
context:
space:
mode:
authorJohannes Schickel2015-12-11 23:51:21 +0100
committerJohannes Schickel2016-03-16 20:29:24 +0100
commit8f3783da0994703e9fe6fcfc666d194c9eb00865 (patch)
treec80866292bf96a43e5056570a025eafad7ca9a82 /backends/graphics/opengl
parente5e234b864e75862a2de72ee6c3b8bda47f41c23 (diff)
downloadscummvm-rg350-8f3783da0994703e9fe6fcfc666d194c9eb00865.tar.gz
scummvm-rg350-8f3783da0994703e9fe6fcfc666d194c9eb00865.tar.bz2
scummvm-rg350-8f3783da0994703e9fe6fcfc666d194c9eb00865.zip
OPENGL: Add functionality to query OpenGL functions on runtime.
This can and will be used for future extension usage support. Tizen changes have been untested.
Diffstat (limited to 'backends/graphics/opengl')
-rw-r--r--backends/graphics/opengl/opengl-graphics.h15
-rw-r--r--backends/graphics/opengl/opengl-sys.h6
2 files changed, 21 insertions, 0 deletions
diff --git a/backends/graphics/opengl/opengl-graphics.h b/backends/graphics/opengl/opengl-graphics.h
index 2a03b878ce..f83c9537ec 100644
--- a/backends/graphics/opengl/opengl-graphics.h
+++ b/backends/graphics/opengl/opengl-graphics.h
@@ -286,6 +286,21 @@ private:
*/
void initializeGLExtensions();
+protected:
+ /**
+ * Query the address of an OpenGL function by name.
+ *
+ * This can only be used after a context has been created.
+ * Please note that this function can return valid addresses even if the
+ * OpenGL context does not support the function.
+ *
+ * @param name The name of the OpenGL function.
+ * @return An function pointer for the requested OpenGL function or
+ * nullptr in case of failure.
+ */
+ virtual void *getProcAddress(const char *name) const = 0;
+
+private:
/**
* Try to determine the internal parameters for a given pixel format.
*
diff --git a/backends/graphics/opengl/opengl-sys.h b/backends/graphics/opengl/opengl-sys.h
index 4e21894380..f4d8488259 100644
--- a/backends/graphics/opengl/opengl-sys.h
+++ b/backends/graphics/opengl/opengl-sys.h
@@ -54,4 +54,10 @@ using namespace Tizen::Graphics::Opengl;
#include <GL/gl.h>
#endif
+#ifdef SDL_BACKEND
+#define GLCALLCONV APIENTRY
+#else
+#define GLCALLCONV
+#endif
+
#endif