diff options
author | Antony Riakiotakis <kalast@gmail.com> | 2015-11-22 22:53:57 +0300 |
---|---|---|
committer | Antony Riakiotakis <kalast@gmail.com> | 2015-11-22 22:53:57 +0300 |
commit | db1f0e36163037c94857626be8ca20dd9ae5b168 (patch) | |
tree | 4cea06b1da54a567746161265a3a2a32e12fa5e6 | |
parent | c402a379a23af71aa5c21566967b75ab5c869e01 (diff) |
Error out on Windows if driver does not support OpenGL 2.1 with an error
messagebox.
-rw-r--r-- | intern/ghost/GHOST_Types.h | 3 | ||||
-rw-r--r-- | intern/ghost/intern/GHOST_ContextWGL.cpp | 41 | ||||
-rw-r--r-- | intern/ghost/intern/GHOST_ContextWGL.h | 3 | ||||
-rw-r--r-- | intern/ghost/intern/GHOST_SystemWin32.cpp | 1 | ||||
-rw-r--r-- | intern/ghost/intern/GHOST_WindowWin32.cpp | 9 | ||||
-rw-r--r-- | intern/ghost/intern/GHOST_WindowWin32.h | 1 | ||||
-rw-r--r-- | release/scripts/startup/bl_ui/space_userpref.py | 1 | ||||
-rw-r--r-- | source/blender/makesdna/DNA_userdef_types.h | 1 | ||||
-rw-r--r-- | source/blender/makesrna/intern/rna_userdef.c | 5 | ||||
-rw-r--r-- | source/blender/windowmanager/intern/wm_window.c | 3 | ||||
-rw-r--r-- | source/gameengine/GamePlayer/ghost/GPG_ghost.cpp | 1 |
11 files changed, 21 insertions, 48 deletions
diff --git a/intern/ghost/GHOST_Types.h b/intern/ghost/GHOST_Types.h index 7a73af3f249..29508a83733 100644 --- a/intern/ghost/GHOST_Types.h +++ b/intern/ghost/GHOST_Types.h @@ -57,8 +57,7 @@ typedef struct { typedef enum { GHOST_glStereoVisual = (1 << 0), - GHOST_glWarnSupport = (1 << 1), - GHOST_glDebugContext = (1 << 2), + GHOST_glDebugContext = (1 << 1) } GHOST_GLFlags; diff --git a/intern/ghost/intern/GHOST_ContextWGL.cpp b/intern/ghost/intern/GHOST_ContextWGL.cpp index d2a9eed95d9..ee0a1cdc88e 100644 --- a/intern/ghost/intern/GHOST_ContextWGL.cpp +++ b/intern/ghost/intern/GHOST_ContextWGL.cpp @@ -48,7 +48,6 @@ HGLRC GHOST_ContextWGL::s_sharedHGLRC = NULL; int GHOST_ContextWGL::s_sharedCount = 0; bool GHOST_ContextWGL::s_singleContextMode = false; -bool GHOST_ContextWGL::s_warn_old = false; /* Intel video-cards don't work fine with multiple contexts and @@ -918,27 +917,25 @@ GHOST_TSuccess GHOST_ContextWGL::initializeDrawingContext() reportContextString("Version", m_dummyVersion, version); #endif - if (!s_warn_old) { - if ((strcmp(vendor, "Microsoft Corporation") == 0 || - strcmp(renderer, "GDI Generic") == 0) && version[0] == '1' && version[2] == '1') - { - MessageBox(m_hWnd, "Your system does not use 3D hardware acceleration.\n" - "Such systems can cause stability problems in Blender and they are unsupported.\n\n" - "This may be caused by:\n" - "* A missing or faulty graphics driver installation.\n" - " Blender needs a graphics card driver to work correctly.\n" - "* Accessing Blender through a remote connection.\n" - "* Using Blender through a virtual machine.\n\n" - "Disable this message in <User Preferences - Interface - Warn On Deprecated OpenGL>", - "Blender - Can't detect 3D hardware accelerated Driver!", MB_OK | MB_ICONWARNING); - } - else if (version[0] == '1' && version[2] < '4') { - MessageBox(m_hWnd, "The OpenGL version provided by your graphics driver version is too low\n" - "Blender requires version 1.4 and may not work correctly\n\n" - "Disable this message in <User Preferences - Interface - Warn On Deprecated OpenGL>", - "Blender - Unsupported Graphics Driver!", MB_OK | MB_ICONWARNING); - } - s_warn_old = true; + if ((strcmp(vendor, "Microsoft Corporation") == 0 || + strcmp(renderer, "GDI Generic") == 0) && version[0] == '1' && version[2] == '1') + { + MessageBox(m_hWnd, "Your system does not use 3D hardware acceleration.\n" + "Blender requires a graphics driver with OpenGL 2.1 support.\n\n" + "This may be caused by:\n" + "* A missing or faulty graphics driver installation.\n" + " Blender needs a graphics card driver to work correctly.\n" + "* Accessing Blender through a remote connection.\n" + "* Using Blender through a virtual machine.\n\n", + "The program will now close\n" + "Blender - Can't detect 3D hardware accelerated Driver!", MB_OK | MB_ICONERROR); + exit(0); + } + else if (version[0] < '2' || (version[0] == '2' && version[2] < '1')) { + MessageBox(m_hWnd, "Blender requires a graphics driver with OpenGL 2.1 support\n" + "The program will now close\n", + "Blender - Unsupported Graphics Driver!", MB_OK | MB_ICONERROR); + exit(0); } return GHOST_kSuccess; diff --git a/intern/ghost/intern/GHOST_ContextWGL.h b/intern/ghost/intern/GHOST_ContextWGL.h index c457ddab2f7..3b04a33b662 100644 --- a/intern/ghost/intern/GHOST_ContextWGL.h +++ b/intern/ghost/intern/GHOST_ContextWGL.h @@ -118,8 +118,6 @@ public: */ GHOST_TSuccess getSwapInterval(int &intervalOut); - static void unSetWarningOld(){s_warn_old = true;} - protected: inline void activateWGLEW() const { #ifdef WITH_GLEW_MX @@ -184,7 +182,6 @@ private: static int s_sharedCount; static bool s_singleContextMode; - static bool s_warn_old; }; #endif // __GHOST_CONTEXTWGL_H__ diff --git a/intern/ghost/intern/GHOST_SystemWin32.cpp b/intern/ghost/intern/GHOST_SystemWin32.cpp index 4f3b1127a18..d8ec827a946 100644 --- a/intern/ghost/intern/GHOST_SystemWin32.cpp +++ b/intern/ghost/intern/GHOST_SystemWin32.cpp @@ -241,7 +241,6 @@ GHOST_IWindow *GHOST_SystemWin32::createWindow( state, type, ((glSettings.flags & GHOST_glStereoVisual) != 0), - ((glSettings.flags & GHOST_glWarnSupport) != 0), glSettings.numOfAASamples, parentWindow, ((glSettings.flags & GHOST_glDebugContext) != 0)); diff --git a/intern/ghost/intern/GHOST_WindowWin32.cpp b/intern/ghost/intern/GHOST_WindowWin32.cpp index 54689a96b66..54ac9d27bc7 100644 --- a/intern/ghost/intern/GHOST_WindowWin32.cpp +++ b/intern/ghost/intern/GHOST_WindowWin32.cpp @@ -70,7 +70,7 @@ GHOST_WindowWin32::GHOST_WindowWin32(GHOST_SystemWin32 *system, GHOST_TUns32 height, GHOST_TWindowState state, GHOST_TDrawingContextType type, - bool wantStereoVisual, bool warnOld, + bool wantStereoVisual, GHOST_TUns16 wantNumOfAASamples, GHOST_TEmbedderWindowID parentwindowhwnd, bool is_debug) @@ -98,13 +98,6 @@ GHOST_WindowWin32::GHOST_WindowWin32(GHOST_SystemWin32 *system, versionInfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX); -#if !defined(WITH_GL_EGL) - if (!warnOld) - GHOST_ContextWGL::unSetWarningOld(); -#else - (void)(warnOld); -#endif - if (!GetVersionEx((OSVERSIONINFO *)&versionInfo)) { versionInfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); if (GetVersionEx((OSVERSIONINFO *)&versionInfo)) { diff --git a/intern/ghost/intern/GHOST_WindowWin32.h b/intern/ghost/intern/GHOST_WindowWin32.h index 3666fa753f3..b508c2f37df 100644 --- a/intern/ghost/intern/GHOST_WindowWin32.h +++ b/intern/ghost/intern/GHOST_WindowWin32.h @@ -89,7 +89,6 @@ public: GHOST_TWindowState state, GHOST_TDrawingContextType type = GHOST_kDrawingContextTypeNone, bool wantStereoVisual = false, - bool warnOld = false, GHOST_TUns16 wantNumOfAASamples = 0, GHOST_TEmbedderWindowID parentWindowHwnd = 0, bool is_debug = false); diff --git a/release/scripts/startup/bl_ui/space_userpref.py b/release/scripts/startup/bl_ui/space_userpref.py index bee9d849bad..cb8c35176b5 100644 --- a/release/scripts/startup/bl_ui/space_userpref.py +++ b/release/scripts/startup/bl_ui/space_userpref.py @@ -174,7 +174,6 @@ class USERPREF_PT_interface(Panel): if sys.platform[:3] == "win": col.label("Warnings") col.prop(view, "use_quit_dialog") - col.prop(view, "use_gl_warn_support") row.separator() row.separator() diff --git a/source/blender/makesdna/DNA_userdef_types.h b/source/blender/makesdna/DNA_userdef_types.h index 2662f368c32..4beeaa8bc3f 100644 --- a/source/blender/makesdna/DNA_userdef_types.h +++ b/source/blender/makesdna/DNA_userdef_types.h @@ -683,7 +683,6 @@ typedef enum eUserpref_UI_Flag2 { USER_KEEP_SESSION = (1 << 0), USER_REGION_OVERLAP = (1 << 1), USER_TRACKPAD_NATURAL = (1 << 2), - USER_OPENGL_NO_WARN_SUPPORT = (1 << 3) } eUserpref_UI_Flag2; /* Auto-Keying mode */ diff --git a/source/blender/makesrna/intern/rna_userdef.c b/source/blender/makesrna/intern/rna_userdef.c index 11fb87fe68d..a61f6b909ad 100644 --- a/source/blender/makesrna/intern/rna_userdef.c +++ b/source/blender/makesrna/intern/rna_userdef.c @@ -3445,11 +3445,6 @@ static void rna_def_userdef_view(BlenderRNA *brna) RNA_def_property_ui_text(prop, "Prompt Quit", "Ask for confirmation when quitting through the window close button"); - prop = RNA_def_property(srna, "use_gl_warn_support", PROP_BOOLEAN, PROP_NONE); - RNA_def_property_boolean_negative_sdna(prop, NULL, "uiflag2", USER_OPENGL_NO_WARN_SUPPORT); - RNA_def_property_ui_text(prop, "Warn On Deprecated OpenGL", - "Pop up a warning when an old OpenGL version is detected"); - /* Toolbox click-hold delay */ prop = RNA_def_property(srna, "open_left_mouse_delay", PROP_INT, PROP_NONE); RNA_def_property_int_sdna(prop, NULL, "tb_leftmouse"); diff --git a/source/blender/windowmanager/intern/wm_window.c b/source/blender/windowmanager/intern/wm_window.c index 31998df90dd..9bb790cd925 100644 --- a/source/blender/windowmanager/intern/wm_window.c +++ b/source/blender/windowmanager/intern/wm_window.c @@ -404,9 +404,6 @@ static void wm_window_ghostwindow_add(wmWindowManager *wm, const char *title, wm glSettings.flags |= GHOST_glDebugContext; } - if (!(U.uiflag2 & USER_OPENGL_NO_WARN_SUPPORT)) - glSettings.flags |= GHOST_glWarnSupport; - wm_get_screensize(&scr_w, &scr_h); posy = (scr_h - win->posy - win->sizey); diff --git a/source/gameengine/GamePlayer/ghost/GPG_ghost.cpp b/source/gameengine/GamePlayer/ghost/GPG_ghost.cpp index 137f4cd6bc8..eee53b775a9 100644 --- a/source/gameengine/GamePlayer/ghost/GPG_ghost.cpp +++ b/source/gameengine/GamePlayer/ghost/GPG_ghost.cpp @@ -457,7 +457,6 @@ int main(int argc, char** argv) initglobals(); - U.gameflags |= USER_DISABLE_VBO; // We load our own G.main, so free the one that initglobals() gives us BKE_main_free(G.main); G.main = NULL; |