[Bf-blender-cvs] [98dab49c63a] temp-drawcontext: GHOST: Remove exception from multiple context on intel cards

Germano noreply at git.blender.org
Wed Feb 14 17:22:15 CET 2018


Commit: 98dab49c63a277a32d6c5f6f2bd5516378a3a110
Author: Germano
Date:   Wed Feb 14 14:22:04 2018 -0200
Branches: temp-drawcontext
https://developer.blender.org/rB98dab49c63a277a32d6c5f6f2bd5516378a3a110

GHOST: Remove exception from multiple context on intel cards

This exception was added in commit rB66cee6366587

Apparently the problem only occurs with Intel 9xx series cards.
Since these cards do not support OpenGL 3.2, they will not be compatible with blender2.8 anyway.

===================================================================

M	intern/ghost/intern/GHOST_ContextWGL.cpp

===================================================================

diff --git a/intern/ghost/intern/GHOST_ContextWGL.cpp b/intern/ghost/intern/GHOST_ContextWGL.cpp
index cb79ffcf635..6842a029e33 100644
--- a/intern/ghost/intern/GHOST_ContextWGL.cpp
+++ b/intern/ghost/intern/GHOST_ContextWGL.cpp
@@ -43,19 +43,6 @@
 HGLRC GHOST_ContextWGL::s_sharedHGLRC = NULL;
 int   GHOST_ContextWGL::s_sharedCount = 0;
 
-bool GHOST_ContextWGL::s_singleContextMode = false;
-
-
-/* Intel video-cards don't work fine with multiple contexts and
- * have to share the same context for all windows.
- * But if we just share context for all windows it could work incorrect
- * with multiple videocards configuration. Suppose, that Intel videocards
- * can't be in multiple-devices configuration. */
-static bool is_crappy_intel_card()
-{
-	return strstr((const char *)glGetString(GL_VENDOR), "Intel") != NULL;
-}
-
 
 GHOST_ContextWGL::GHOST_ContextWGL(
         bool stereoVisual,
@@ -393,8 +380,6 @@ void GHOST_ContextWGL::initContextWGLEW(PIXELFORMATDESCRIPTOR &preferredPFD)
 	m_dummyVersion  = _strdup(reinterpret_cast<const char *>(glGetString(GL_VERSION)));
 #endif
 
-	s_singleContextMode = is_crappy_intel_card();
-
 finalize:
 	WIN32_CHK(::wglMakeCurrent(prevHDC, prevHGLRC));
 
@@ -904,22 +889,19 @@ GHOST_TSuccess GHOST_ContextWGL::initializeDrawingContext()
 
 		iAttributes.push_back(0);
 
-		if (!s_singleContextMode || s_sharedHGLRC == NULL)
-			m_hGLRC = ::wglCreateContextAttribsARB(m_hDC, NULL, &(iAttributes[0]));
-		else
-			m_hGLRC = s_sharedHGLRC;
+		m_hGLRC = ::wglCreateContextAttribsARB(m_hDC, NULL, &(iAttributes[0]));
 	}
 
 	if (!WIN32_CHK(m_hGLRC != NULL)) {
 		goto error;
 	}
 
-	if (s_sharedHGLRC == NULL)
-		s_sharedHGLRC = m_hGLRC;
-
 	s_sharedCount++;
 
-	if (!s_singleContextMode && s_sharedHGLRC != m_hGLRC && !WIN32_CHK(::wglShareLists(s_sharedHGLRC, m_hGLRC))) {
+	if (s_sharedHGLRC == NULL) {
+		s_sharedHGLRC = m_hGLRC;
+	}
+	else if (!WIN32_CHK(::wglShareLists(s_sharedHGLRC, m_hGLRC))) {
 		goto error;
 	}



More information about the Bf-blender-cvs mailing list