diff --git a/plugins/GSdx/GLLoader.cpp b/plugins/GSdx/GLLoader.cpp index a466f80888..e41d346f4f 100644 --- a/plugins/GSdx/GLLoader.cpp +++ b/plugins/GSdx/GLLoader.cpp @@ -379,6 +379,11 @@ namespace GLLoader { Emulate_DSA::Init(); } + if (gl_BindTextureUnit == NULL) { + fprintf(stderr, "FATAL ERROR !!!! Failed to setup DSA function pointer!!!\n"); + status = false; + } + fprintf(stderr, "\n"); return status; diff --git a/plugins/GSdx/GLLoader.h b/plugins/GSdx/GLLoader.h index 670c324eea..080279a65b 100644 --- a/plugins/GSdx/GLLoader.h +++ b/plugins/GSdx/GLLoader.h @@ -405,6 +405,9 @@ extern PFNGLTEXTUREBARRIERPROC gl_TextureBarrier; #endif +namespace Emulate_DSA { + extern void Init(); +} namespace GLLoader { bool check_gl_version(uint32 major, uint32 minor); diff --git a/plugins/GSdx/GSWnd.cpp b/plugins/GSdx/GSWnd.cpp index fbad1357a9..fc6bc8a5c8 100644 --- a/plugins/GSdx/GSWnd.cpp +++ b/plugins/GSdx/GSWnd.cpp @@ -147,5 +147,9 @@ void GSWndGL::PopulateGlFunction() *(void**)&(gl_ClipControl) = GetProcAddress("glClipControl", true); *(void**)&(gl_TextureBarrier) = GetProcAddress("glTextureBarrier", true); + if (gl_CreateFramebuffers == NULL) { + Emulate_DSA::Init(); + } + #endif }