Bug 1429963 - Don't allow RBAB on Mesa for now. - r=lenzak
authorJeff Gilbert <jgilbert@mozilla.com>
Thu, 11 Jan 2018 18:26:46 -0800
changeset 454027 5b730501efa0302ddc914e542b2c70b06d06deb0
parent 454026 3a84918576511005057a1a234587ed8fdf63ef4d
child 454046 3dc3baec3fae36a0b2344436ebd5e147aba5dd6d
push id1648
push usermtabara@mozilla.com
push dateThu, 01 Mar 2018 12:45:47 +0000
treeherdermozilla-release@cbb9688c2eeb [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerslenzak
bugs1429963
milestone59.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
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
@@ -749,16 +749,22 @@ GLContext::InitWithPrefixImpl(const char
         // this has been fixed in Mac OS X 10.9. See 907946
         // and it also works in 10.8.3 and higher.  See 1094338.
         if (Vendor() == gl::GLVendor::NVIDIA &&
             !nsCocoaFeatures::IsAtLeastVersion(10,8,3))
         {
             MarkUnsupported(GLFeature::depth_texture);
         }
 #endif
+
+        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!");
     }