diff --git a/qrenderdoc/TextureViewer.cpp b/qrenderdoc/TextureViewer.cpp index 409ca38f6..9d6827295 100644 --- a/qrenderdoc/TextureViewer.cpp +++ b/qrenderdoc/TextureViewer.cpp @@ -3,6 +3,12 @@ #include "renderdoc_replay.h" +#if defined(__linux__) +#include +#include +#include +#endif + extern ReplayRenderer *renderer; ReplayOutput *out = NULL; TextureDisplay d; @@ -43,9 +49,19 @@ TextureViewer::TextureViewer(QWidget *parent) : } } +#if defined(WIN32) HWND wnd = (HWND)ui->framerender->winId(); - out = ReplayRenderer_CreateOutput(renderer, wnd); +#elif defined(__linux__) + Display *display = QX11Info::display(); + GLXDrawable drawable = (GLXDrawable)ui->framerender->winId(); + + void *displayAndDrawable[2] = { (void *)display, (void *)drawable }; + + out = ReplayRenderer_CreateOutput(renderer, (void *)displayAndDrawable); +#else + #error "Unknown platform" +#endif OutputConfig c = { eOutputType_TexDisplay }; diff --git a/qrenderdoc/qrenderdoc.pro b/qrenderdoc/qrenderdoc.pro index c6c44aa6d..12900a3e5 100644 --- a/qrenderdoc/qrenderdoc.pro +++ b/qrenderdoc/qrenderdoc.pro @@ -45,6 +45,8 @@ win32 { LIBS += -L$$_PRO_FILE_PWD_/../renderdoc -lrenderdoc QMAKE_LFLAGS += '-Wl,-rpath,\'\$$ORIGIN\'' + QT += x11extras + } SOURCES += main.cpp\