summaryrefslogtreecommitdiff
path: root/Source/Plugins/Plugin_VideoOGL/Src/GLFunctions.cpp
diff options
context:
space:
mode:
authorJasper St. Pierre <jstpierre@mecheye.net>2013-09-10 23:12:54 -0400
committerJasper St. Pierre <jstpierre@mecheye.net>2013-10-07 10:37:01 -0400
commita7c72081039ca1c6bee6b18db44fe4e9ffaf4fb5 (patch)
tree70e3c53d290bf5f0e76a2f3295b4ff01e07e2127 /Source/Plugins/Plugin_VideoOGL/Src/GLFunctions.cpp
parentd6f0ecebb4742f6b41397420f7d58ab7a05a03cc (diff)
Put Plugins/ in Core/, rename to VideoBackends
Diffstat (limited to 'Source/Plugins/Plugin_VideoOGL/Src/GLFunctions.cpp')
-rw-r--r--Source/Plugins/Plugin_VideoOGL/Src/GLFunctions.cpp138
1 files changed, 0 insertions, 138 deletions
diff --git a/Source/Plugins/Plugin_VideoOGL/Src/GLFunctions.cpp b/Source/Plugins/Plugin_VideoOGL/Src/GLFunctions.cpp
deleted file mode 100644
index 598f336036..0000000000
--- a/Source/Plugins/Plugin_VideoOGL/Src/GLFunctions.cpp
+++ /dev/null
@@ -1,138 +0,0 @@
-// Copyright 2013 Dolphin Emulator Project
-// Licensed under GPLv2
-// Refer to the license.txt file included.
-
-#include "DriverDetails.h"
-#include "GLFunctions.h"
-#include "Log.h"
-#include <dlfcn.h>
-
-#ifdef USE_GLES3
-PFNGLMAPBUFFERRANGEPROC glMapBufferRange;
-PFNGLUNMAPBUFFERPROC glUnmapBuffer;
-PFNGLBINDBUFFERRANGEPROC glBindBufferRange;
-
-PFNGLBLITFRAMEBUFFERPROC glBlitFramebuffer;
-
-PFNGLGENVERTEXARRAYSPROC glGenVertexArrays;
-PFNGLDELETEVERTEXARRAYSPROC glDeleteVertexArrays;
-PFNGLBINDVERTEXARRAYPROC glBindVertexArray;
-
-PFNGLCLIENTWAITSYNCPROC glClientWaitSync;
-PFNGLDELETESYNCPROC glDeleteSync;
-PFNGLFENCESYNCPROC glFenceSync;
-
-PFNGLSAMPLERPARAMETERFPROC glSamplerParameterf;
-PFNGLSAMPLERPARAMETERIPROC glSamplerParameteri;
-PFNGLSAMPLERPARAMETERFVPROC glSamplerParameterfv;
-PFNGLBINDSAMPLERPROC glBindSampler;
-PFNGLDELETESAMPLERSPROC glDeleteSamplers;
-PFNGLGENSAMPLERSPROC glGenSamplers;
-
-PFNGLGETPROGRAMBINARYPROC glGetProgramBinary;
-PFNGLPROGRAMBINARYPROC glProgramBinary;
-PFNGLPROGRAMPARAMETERIPROC glProgramParameteri;
-
-PFNGLDRAWRANGEELEMENTSPROC glDrawRangeElements;
-
-PFNGLRENDERBUFFERSTORAGEMULTISAMPLE glRenderbufferStorageMultisample;
-
-PFNGLGETUNIFORMBLOCKINDEXPROC glGetUniformBlockIndex;
-PFNGLUNIFORMBLOCKBINDINGPROC glUniformBlockBinding;
-
-PFNGLBEGINQUERYPROC glBeginQuery;
-PFNGLENDQUERYPROC glEndQuery;
-PFNGLGETQUERYOBJECTUIVPROC glGetQueryObjectuiv;
-PFNGLDELETEQUERIESPROC glDeleteQueries;
-PFNGLGENQUERIESPROC glGenQueries;
-#endif
-namespace GLFunc
-{
- void *self;
- void LoadFunction(const char *name, void **func)
- {
-#ifdef USE_GLES3
- *func = (void*)eglGetProcAddress(name);
- if (*func == NULL)
- {
- // Fall back to trying dlsym
- if (self) // Just in case dlopen fails
- *func = dlsym(self, name);
- if (*func == NULL)
- {
- ERROR_LOG(VIDEO, "Couldn't load function %s", name);
- exit(0);
- }
- }
-#endif
- }
-
- void Init()
- {
- self = dlopen(NULL, RTLD_LAZY);
-
- LoadFunction("glUnmapBuffer", (void**)&glUnmapBuffer);
-
- if (DriverDetails::HasBug(DriverDetails::BUG_ISTEGRA))
- {
- LoadFunction("glBeginQueryEXT", (void**)&glBeginQuery);
- LoadFunction("glEndQueryEXT", (void**)&glEndQuery);
- LoadFunction("glGetQueryObjectuivEXT", (void**)&glGetQueryObjectuiv);
- LoadFunction("glDeleteQueriesEXT", (void**)&glDeleteQueries);
- LoadFunction("glGenQueriesEXT", (void**)&glGenQueries);
-
- LoadFunction("glMapBufferRangeNV", (void**)&glMapBufferRange);
- LoadFunction("glBindBufferRangeNV", (void**)&glBindBufferRange);
- LoadFunction("glBlitFramebufferNV", (void**)&glBlitFramebuffer);
-
- LoadFunction("glGenVertexArraysOES", (void**)&glGenVertexArrays);
- LoadFunction("glDeleteVertexArraysOES", (void**)&glDeleteVertexArrays);
- LoadFunction("glBindVertexArrayOES", (void**)&glBindVertexArray);
-
- LoadFunction("glRenderbufferStorageMultisampleNV", (void**)&glRenderbufferStorageMultisample);
-
- LoadFunction("glGetUniformBlockIndexNV", (void**)&glGetUniformBlockIndex);
- LoadFunction("glUniformBlockBindingNV", (void**)&glUniformBlockBinding);
- }
- else
- {
- LoadFunction("glBeginQuery", (void**)&glBeginQuery);
- LoadFunction("glEndQuery", (void**)&glEndQuery);
- LoadFunction("glGetQueryObjectuiv", (void**)&glGetQueryObjectuiv);
- LoadFunction("glDeleteQueries", (void**)&glDeleteQueries);
- LoadFunction("glGenQueries", (void**)&glGenQueries);
-
- LoadFunction("glMapBufferRange", (void**)&glMapBufferRange);
- LoadFunction("glBindBufferRange", (void**)&glBindBufferRange);
- LoadFunction("glBlitFramebuffer", (void**)&glBlitFramebuffer);
-
- LoadFunction("glGenVertexArrays", (void**)&glGenVertexArrays);
- LoadFunction("glDeleteVertexArrays", (void**)&glDeleteVertexArrays);
- LoadFunction("glBindVertexArray", (void**)&glBindVertexArray);
-
- LoadFunction("glClientWaitSync", (void**)&glClientWaitSync);
- LoadFunction("glDeleteSync", (void**)&glDeleteSync);
- LoadFunction("glFenceSync", (void**)&glFenceSync);
-
- LoadFunction("glSamplerParameterf", (void**)&glSamplerParameterf);
- LoadFunction("glSamplerParameteri", (void**)&glSamplerParameteri);
- LoadFunction("glSamplerParameterfv", (void**)&glSamplerParameterfv);
- LoadFunction("glBindSampler", (void**)&glBindSampler);
- LoadFunction("glDeleteSamplers", (void**)&glDeleteSamplers);
- LoadFunction("glGenSamplers", (void**)&glGenSamplers);
-
- LoadFunction("glGetProgramBinary", (void**)&glGetProgramBinary);
- LoadFunction("glProgramBinary", (void**)&glProgramBinary);
- LoadFunction("glProgramParameteri", (void**)&glProgramParameteri);
-
- LoadFunction("glDrawRangeElements", (void**)&glDrawRangeElements);
-
- LoadFunction("glRenderbufferStorageMultisample", (void**)&glRenderbufferStorageMultisample);
-
- LoadFunction("glGetUniformBlockIndex", (void**)&glGetUniformBlockIndex);
- LoadFunction("glUniformBlockBinding", (void**)&glUniformBlockBinding);
-
- }
- dlclose(self);
- }
-}