Pārlūkot izejas kodu

Fixes X11 video backend compilation when no GL is available

For example, in our Raspberry Pi sysroot.
Gabriel Jacobo 12 gadi atpakaļ
vecāks
revīzija
074a1c4c63
2 mainītis faili ar 16 papildinājumiem un 4 dzēšanām
  1. 6 0
      README-raspberrypi.txt
  2. 10 4
      src/video/x11/SDL_x11window.c

+ 6 - 0
README-raspberrypi.txt

@@ -69,7 +69,13 @@ The final step is compiling SDL itself.
     cd <SDL SOURCE>
     mkdir -p build;cd build
     ../configure --with-sysroot=$SYSROOT --host=arm-raspberry-linux-gnueabihf --prefix=$PWD/rpi-sdl2-installed --disable-pulseaudio --disable-esd
+    make
+    make install
 
+To be able to deploy this to /usr/local in the Raspbian system you need to fix up a few paths:
+    
+    perl -w -pi -e "s#$PWD/rpi-sdl2-installed#/usr/local#g;" ./rpi-sdl2-installed/lib/libSDL2.la ./rpi-sdl2-installed/lib/pkgconfig/sdl2.pc ./rpi-sdl2-installed/bin/sdl2-config
+    
 ================================================================================
  Apps don't work or poor video/audio performance
 ================================================================================

+ 10 - 4
src/video/x11/SDL_x11window.c

@@ -370,8 +370,11 @@ X11_CreateWindow(_THIS, SDL_Window * window)
         XVisualInfo *vinfo = NULL;
 
 #if SDL_VIDEO_OPENGL_EGL
-        if (_this->gl_config.profile_mask == SDL_GL_CONTEXT_PROFILE_ES && 
-            ( !_this->gl_data || ! _this->gl_data->HAS_GLX_EXT_create_context_es2_profile )) {
+        if (_this->gl_config.profile_mask == SDL_GL_CONTEXT_PROFILE_ES 
+#if SDL_VIDEO_OPENGL_GLX            
+            && ( !_this->gl_data || ! _this->gl_data->HAS_GLX_EXT_create_context_es2_profile )
+#endif
+        ){
             vinfo = X11_GLES_GetVisual(_this, display, screen);
         } else
 #endif
@@ -555,8 +558,11 @@ X11_CreateWindow(_THIS, SDL_Window * window)
 
 #if SDL_VIDEO_OPENGL_ES || SDL_VIDEO_OPENGL_ES2
     if ((window->flags & SDL_WINDOW_OPENGL) && 
-        _this->gl_config.profile_mask == SDL_GL_CONTEXT_PROFILE_ES && 
-        (!_this->gl_data || ! _this->gl_data->HAS_GLX_EXT_create_context_es2_profile) ) {
+        _this->gl_config.profile_mask == SDL_GL_CONTEXT_PROFILE_ES
+#if SDL_VIDEO_OPENGL_GLX            
+        && ( !_this->gl_data || ! _this->gl_data->HAS_GLX_EXT_create_context_es2_profile )
+#endif  
+    ) {
         if (!_this->egl_data) {
             XDestroyWindow(display, w);
             return -1;