diff options
Diffstat (limited to 'source/blender/windowmanager/intern/wm_window.c')
-rw-r--r-- | source/blender/windowmanager/intern/wm_window.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/source/blender/windowmanager/intern/wm_window.c b/source/blender/windowmanager/intern/wm_window.c index 69a29092058..bbbe49ce3dd 100644 --- a/source/blender/windowmanager/intern/wm_window.c +++ b/source/blender/windowmanager/intern/wm_window.c @@ -63,6 +63,7 @@ #include "PIL_time.h" #include "GPU_draw.h" +#include "GPU_extensions.h" /* the global to talk to ghost */ GHOST_SystemHandle g_system= NULL; @@ -320,6 +321,8 @@ static void wm_window_add_ghostwindow(bContext *C, char *title, wmWindow *win) 0 /* no AA */); if (ghostwin) { + /* needed so we can detect the graphics card below */ + GPU_extensions_init(); /* set the state*/ GHOST_SetWindowState(ghostwin, initial_state); @@ -332,7 +335,11 @@ static void wm_window_add_ghostwindow(bContext *C, char *title, wmWindow *win) /* until screens get drawn, make it nice grey */ glClearColor(.55, .55, .55, 0.0); - glClear(GL_COLOR_BUFFER_BIT); + /* Crash on OSS ATI: bugs.launchpad.net/ubuntu/+source/mesa/+bug/656100 */ + if(!GPU_type_matches(GPU_DEVICE_ATI, GPU_OS_UNIX, GPU_DRIVER_OPENSOURCE)) { + glClear(GL_COLOR_BUFFER_BIT); + } + wm_window_swap_buffers(win); //GHOST_SetWindowState(ghostwin, GHOST_kWindowStateModified); |