diff options
Diffstat (limited to 'intern/opensubdiv/opensubdiv_capi.cc')
-rw-r--r-- | intern/opensubdiv/opensubdiv_capi.cc | 31 |
1 files changed, 6 insertions, 25 deletions
diff --git a/intern/opensubdiv/opensubdiv_capi.cc b/intern/opensubdiv/opensubdiv_capi.cc index 66598948daf..9b9f4baa39e 100644 --- a/intern/opensubdiv/opensubdiv_capi.cc +++ b/intern/opensubdiv/opensubdiv_capi.cc @@ -295,29 +295,10 @@ 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) { - vendor_checked = true; - const char *vendor = (const char *)glGetString(GL_VENDOR); - if (vendor != NULL && 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; + // TODO: simplify extension check once Blender adopts GL 3.2 + return openSubdiv_gpu_legacy_support() && + (GLEW_VERSION_3_2 || + (GLEW_VERSION_3_1 && GLEW_EXT_geometry_shader4) || + (GLEW_VERSION_3_0 && GLEW_EXT_geometry_shader4 && GLEW_ARB_uniform_buffer_object && (GLEW_ARB_texture_buffer_object || GLEW_EXT_texture_buffer_object))); + /* also ARB_explicit_attrib_location? */ } |