Add X11 support for rendering to Qt windows via native handle

This commit is contained in:
baldurk
2015-03-29 11:26:19 +01:00
parent ae113bffe1
commit 29efd6df2f
2 changed files with 19 additions and 1 deletions
+17 -1
View File
@@ -3,6 +3,12 @@
#include "renderdoc_replay.h"
#if defined(__linux__)
#include <QX11Info>
#include <X11/Xlib.h>
#include <GL/glx.h>
#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 };
+2
View File
@@ -45,6 +45,8 @@ win32 {
LIBS += -L$$_PRO_FILE_PWD_/../renderdoc -lrenderdoc
QMAKE_LFLAGS += '-Wl,-rpath,\'\$$ORIGIN\''
QT += x11extras
}
SOURCES += main.cpp\