[Bf-blender-cvs] [3f05d72] master: Fix T45708: OpenSubdiv crashes on Windows with Intel cards

Sergey Sharybin noreply at git.blender.org
Wed Sep 16 16:30:13 CEST 2015


Commit: 3f05d72a98ba443cd9c2bc25f85a5b77116e87e5
Author: Sergey Sharybin
Date:   Wed Sep 16 19:17:12 2015 +0500
Branches: master
https://developer.blender.org/rB3f05d72a98ba443cd9c2bc25f85a5b77116e87e5

Fix T45708: OpenSubdiv crashes on Windows with Intel cards

Disable Intel cards for until we'll go to the root of the issue of the crash.
This will take a bit, so being so close to the release we go safe and disable
unstable GPU, so blender at least doesn't crash.

This could be bypassed by setting OPENSUBDIV_ALLOW_INTEL environment variable.

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

M	intern/opensubdiv/opensubdiv_capi.cc

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

diff --git a/intern/opensubdiv/opensubdiv_capi.cc b/intern/opensubdiv/opensubdiv_capi.cc
index 28d1c25..dbd93a0 100644
--- a/intern/opensubdiv/opensubdiv_capi.cc
+++ b/intern/opensubdiv/opensubdiv_capi.cc
@@ -30,6 +30,7 @@
 #  include "iso646.h"
 #endif
 
+#include <stdlib.h>
 #include <GL/glew.h>
 
 #include <opensubdiv/osd/glMesh.h>
@@ -294,6 +295,28 @@ const struct OpenSubdiv_TopologyRefinerDescr *openSubdiv_getGLMeshTopologyRefine
 
 int openSubdiv_supportGPUDisplay(void)
 {
+	{
+		/* Currently Intel GPUs has hard time working on Windows.
+		 *
+		 * For until we've got access to a hardware which demonstrates
+		 * the issue we disable OpenSubdiv on Intel GPUs.
+		 */
+		static bool vendor_checked = false;
+		static bool is_intel = false;
+		if (!vendor_checked) {
+			const char *vendor = (const char *)glGetString(GL_VENDOR);
+			const char *renderer = (const char *)glGetString(GL_RENDERER);
+			if (strstr(vendor, "Intel")) {
+				if(getenv("OPENSUBDIV_ALLOW_INTEL") == NULL) {
+					is_intel = true;
+				}
+			}
+		}
+		if (is_intel) {
+			return false;
+		}
+	}
+
 	return GLEW_EXT_geometry_shader4 &&
 	       GLEW_ARB_gpu_shader5 &&
 	       GLEW_ARB_uniform_buffer_object;




More information about the Bf-blender-cvs mailing list