From 4dcdd6dbd6361139aab3e24b5e4f9118db21b620 Mon Sep 17 00:00:00 2001 From: baldurk Date: Wed, 30 Mar 2022 11:49:35 +0100 Subject: [PATCH] Register hooks for unsupported functions * This is necessary on e.g. Windows where some legacy functions are only exported via the dll and need to be 'properly' hooked and not just intercepted via GL's GetProcAddr --- renderdoc/driver/gl/gl_hooks.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/renderdoc/driver/gl/gl_hooks.cpp b/renderdoc/driver/gl/gl_hooks.cpp index 8ea3e640f..676626535 100644 --- a/renderdoc/driver/gl/gl_hooks.cpp +++ b/renderdoc/driver/gl/gl_hooks.cpp @@ -290,7 +290,12 @@ void GLHook::RegisterHooks() libraryName, \ FunctionHook(STRINGIZE(name), (void **)&GL.func, (void *)&CONCAT(func, _renderdoc_hooked))); +#define RegisterUnsupportedFunc(name) \ + LibraryHooks::RegisterFunctionHook( \ + libraryName, FunctionHook(STRINGIZE(name), NULL, (void *)&CONCAT(name, _renderdoc_hooked))); + ForEachSupported(RegisterFunc); + ForEachUnsupported(RegisterUnsupportedFunc); #if ENABLED(RDOC_WIN32) if(ShouldHookEGL())