diff --git a/renderdoc/driver/gl/gl_hooks_linux.cpp b/renderdoc/driver/gl/gl_hooks_linux.cpp index 6e520d8c9..2da389490 100644 --- a/renderdoc/driver/gl/gl_hooks_linux.cpp +++ b/renderdoc/driver/gl/gl_hooks_linux.cpp @@ -75,7 +75,8 @@ void *libGLdlsymHandle = #define HookExtensionAlias(funcPtrType, function, alias) \ if(!strcmp(func, STRINGIZE(alias))) \ { \ - OpenGLHook::glhooks.GL.function = (funcPtrType)realFunc; \ + if(OpenGLHook::glhooks.GL.function == NULL) \ + OpenGLHook::glhooks.GL.function = (funcPtrType)realFunc; \ return (__GLXextFuncPtr)&CONCAT(function, _renderdoc_hooked); \ } diff --git a/renderdoc/driver/gl/gl_hooks_win32.cpp b/renderdoc/driver/gl/gl_hooks_win32.cpp index b5d956dbe..6f57b68c2 100644 --- a/renderdoc/driver/gl/gl_hooks_win32.cpp +++ b/renderdoc/driver/gl/gl_hooks_win32.cpp @@ -56,7 +56,8 @@ void EmulateUnsupportedFunctions(GLHookSet *hooks); #define HookExtensionAlias(funcPtrType, function, alias) \ if(!strcmp(func, STRINGIZE(alias))) \ { \ - glhooks.GL.function = (funcPtrType)realFunc; \ + if(OpenGLHook::glhooks.GL.function == NULL) \ + glhooks.GL.function = (funcPtrType)realFunc; \ return (PROC)&glhooks.CONCAT(function, _hooked); \ }