From 588eb083db89255d12e50ecd702e196eace4d2c7 Mon Sep 17 00:00:00 2001 From: Peter Gal Date: Wed, 12 Apr 2017 14:53:53 +0200 Subject: [PATCH] Remove obsolete workarounds to force shared library linking As the --no-as-needed linker option was added there is now no need to force link to GL/EGL shared libraries via extern methods. --- qrenderdoc/Code/qrenderdoc.cpp | 48 ----------------------------- renderdoccmd/renderdoccmd_linux.cpp | 32 ------------------- 2 files changed, 80 deletions(-) diff --git a/qrenderdoc/Code/qrenderdoc.cpp b/qrenderdoc/Code/qrenderdoc.cpp index e591e266a..f8a2e03c9 100644 --- a/qrenderdoc/Code/qrenderdoc.cpp +++ b/qrenderdoc/Code/qrenderdoc.cpp @@ -33,52 +33,6 @@ #include "Code/Resources.h" #include "Windows/MainWindow.h" -#if defined(Q_OS_LINUX) - -#if defined(RENDERDOC_SUPPORT_GL) - -// symbol defined in libGL but not librenderdoc. -// Forces link of libGL after renderdoc (otherwise all symbols would -// be resolved and libGL wouldn't link, meaning dlsym(RTLD_NEXT) would fai -extern "C" void glXWaitX(); - -#endif - -#if defined(RENDERDOC_SUPPORT_GLES) - -// symbol defined in libEGL but not in librenderdoc. -// Forces link of libEGL. -extern "C" int eglWaitGL(void); - -#endif - -void linuxlibGLhack() -{ - volatile bool never_run = false; - -#if defined(RENDERDOC_SUPPORT_GL) - - if(never_run) - glXWaitX(); - -#endif - -#if defined(RENDERDOC_SUPPORT_GLES) - - if(never_run) - eglWaitGL(); - -#endif -} - -#else - -void linuxlibGLhack() -{ -} - -#endif - void sharedLogOutput(QtMsgType type, const QMessageLogContext &context, const QString &msg) { LogMessageType logtype = eLogType_Comment; @@ -99,8 +53,6 @@ int main(int argc, char *argv[]) { qInstallMessageHandler(sharedLogOutput); - linuxlibGLhack(); - qInfo() << "QRenderDoc initialising."; QString filename = ""; diff --git a/renderdoccmd/renderdoccmd_linux.cpp b/renderdoccmd/renderdoccmd_linux.cpp index f050cc917..04d622b5a 100644 --- a/renderdoccmd/renderdoccmd_linux.cpp +++ b/renderdoccmd/renderdoccmd_linux.cpp @@ -361,23 +361,6 @@ void DisplayRendererPreview(IReplayRenderer *renderer, TextureDisplay &displayCf #endif } -#if defined(RENDERDOC_SUPPORT_GL) - -// symbol defined in libGL but not librenderdoc. -// Forces link of libGL after renderdoc (otherwise all symbols would -// be resolved and libGL wouldn't link, meaning dlsym(RTLD_NEXT) would fai -extern "C" void glXWaitX(); - -#endif - -#if defined(RENDERDOC_SUPPORT_GLES) - -// symbol defined in libEGL but not in librenderdoc. -// Forces link of libEGL. -extern "C" int eglWaitGL(void); - -#endif - void sig_handler(int signo) { if(usingKillSignal) @@ -389,21 +372,6 @@ void sig_handler(int signo) int main(int argc, char *argv[]) { setlocale(LC_CTYPE, ""); - volatile bool never_run = false; - -#if defined(RENDERDOC_SUPPORT_GL) - - if(never_run) - glXWaitX(); - -#endif - -#if defined(RENDERDOC_SUPPORT_GLES) - - if(never_run) - eglWaitGL(); - -#endif signal(SIGINT, sig_handler); signal(SIGTERM, sig_handler);