Bug 1429963 - Don't allow RBAB on Mesa for now. - r=lenzak draft
authorJeff Gilbert <jgilbert@mozilla.com>
Thu, 11 Jan 2018 18:26:46 -0800
changeset 721188 0129cd0372fa17dad877b3290cf7efbf390b0055
parent 719297 fe77befa5210fbd680660abe617145bc821f98c1
child 746265 d3ab05cb97c056cf8acfea7e6177a5abba1b6ca9
push id95764
push userbmo:jgilbert@mozilla.com
push dateTue, 16 Jan 2018 21:54:02 +0000
reviewerslenzak
bugs1429963
milestone59.0a1
Bug 1429963 - Don't allow RBAB on Mesa for now. - r=lenzak RBAB makes it easy to trigger TDRs, so let's punt on fixing the TDR handling for now. MozReview-Commit-ID: LRimFTn1mJA
gfx/gl/GLContext.cpp
--- a/gfx/gl/GLContext.cpp
+++ b/gfx/gl/GLContext.cpp
@@ -773,16 +773,22 @@ GLContext::InitWithPrefixImpl(const char
                               test[0], test[1], test[2], test[3],
                               now[0], now[1], now[2], now[3]);
                 gfxCriticalNote << "GLFeature::frag_color_float failed support probe,"
                                 << " disabling. (RENDERER: "
                                 << (const char*)fGetString(LOCAL_GL_RENDERER) << ")";
                 MarkUnsupported(GLFeature::frag_color_float);
             }
         }
+
+        const auto versionStr = (const char*)fGetString(LOCAL_GL_VERSION);
+        if (strstr(versionStr, "Mesa")) {
+            // DrawElementsInstanced hangs the driver.
+            MarkUnsupported(GLFeature::robust_buffer_access_behavior);
+        }
     }
 
     if (IsExtensionSupported(GLContext::ARB_pixel_buffer_object)) {
         MOZ_ASSERT((mSymbols.fMapBuffer && mSymbols.fUnmapBuffer),
                    "ARB_pixel_buffer_object supported without glMapBuffer/UnmapBuffer"
                    " being available!");
     }