oculus2
diff src/main.c @ 10:3d224ad45cac
linux fixes
author | John Tsiombikas <nuclear@member.fsf.org> |
---|---|
date | Sun, 26 Oct 2014 23:10:14 +0200 |
parents | 9c36ae39ad95 |
children | 256d8fcf02f1 |
line diff
1.1 --- a/src/main.c Sat Oct 25 20:07:55 2014 +0300 1.2 +++ b/src/main.c Sun Oct 26 23:10:14 2014 +0200 1.3 @@ -11,12 +11,15 @@ 1.4 #include <assert.h> 1.5 #include <SDL2/SDL.h> 1.6 #include <GL/glew.h> 1.7 +#include <X11/Xlib.h> 1.8 +#include <GL/glx.h> 1.9 1.10 #ifdef WIN32 1.11 #define OVR_OS_WIN32 1.12 -#endif 1.13 -#ifdef __APPLE__ 1.14 +#elif defined(__APPLE__) 1.15 #define OVR_OS_MAC 1.16 +#else 1.17 +#define OVR_OS_LINUX 1.18 #endif 1.19 1.20 #include <OVR_CAPI.h> 1.21 @@ -99,6 +102,8 @@ 1.22 return -1; 1.23 } 1.24 1.25 + XSynchronize(glXGetCurrentDisplay(), True); 1.26 + 1.27 glewInit(); 1.28 1.29 if(!(hmd = ovrHmd_Create(0))) { 1.30 @@ -160,6 +165,14 @@ 1.31 glcfg.OGL.Window = sys_win; 1.32 glcfg.OGL.DC = wglGetCurrentDC(); 1.33 ovrHmd_AttachToWindow(hmd, sys_win, 0, 0); 1.34 +#else 1.35 + Display *dpy = glXGetCurrentDisplay(); 1.36 + Window win = glXGetCurrentDrawable(); 1.37 + assert(dpy && win); 1.38 + 1.39 + glcfg.OGL.Disp = dpy; 1.40 + glcfg.OGL.Win = win; 1.41 + ovrHmd_AttachToWindow(hmd, (void*)win, 0, 0); 1.42 #endif 1.43 printf("running in \"direct-hmd\" mode\n"); 1.44 }