Backed out changeset 6bdd49767079 (bug 1691925) for crashes on GLContext . CLOSED TREE
authorNarcis Beleuzu <nbeleuzu@mozilla.com>
Wed, 10 Feb 2021 15:17:53 +0200
changeset 566805 01c702b65cc993cd4c228e687c0e234c3c6f85fe
parent 566804 396c4eb0222a9230ae9fe201d7cac78486af8c51
child 566806 2179b6ef663a13090a04974941119803fab30387
push id38190
push userbtara@mozilla.com
push dateWed, 10 Feb 2021 21:50:51 +0000
treeherdermozilla-central@569826c0fd47 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs1691925
milestone87.0a1
backs out6bdd497670799f09a49875dcd3cfde515740b691
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
Backed out changeset 6bdd49767079 (bug 1691925) for crashes on GLContext . CLOSED TREE
widget/android/GfxInfo.cpp
--- a/widget/android/GfxInfo.cpp
+++ b/widget/android/GfxInfo.cpp
@@ -20,17 +20,16 @@
 
 namespace mozilla {
 namespace widget {
 
 class GfxInfo::GLStrings {
   nsCString mVendor;
   nsCString mRenderer;
   nsCString mVersion;
-  nsTArray<nsCString> mExtensions;
   bool mReady;
 
  public:
   GLStrings() : mReady(false) {}
 
   const nsCString& Vendor() {
     EnsureInitialized();
     return mVendor;
@@ -53,21 +52,16 @@ class GfxInfo::GLStrings {
     EnsureInitialized();
     return mVersion;
   }
 
   // This spoofed value wins, even if the environment variable
   // MOZ_GFX_SPOOF_GL_VERSION was set.
   void SpoofVersion(const nsCString& s) { mVersion = s; }
 
-  const nsTArray<nsCString>& Extensions() {
-    EnsureInitialized();
-    return mExtensions;
-  }
-
   void EnsureInitialized() {
     if (mReady) {
       return;
     }
 
     RefPtr<gl::GLContext> gl;
     nsCString discardFailureId;
     gl = gl::GLContextProvider::CreateHeadless(
@@ -105,25 +99,16 @@ class GfxInfo::GLStrings {
       const char* spoofedVersion = PR_GetEnv("MOZ_GFX_SPOOF_GL_VERSION");
       if (spoofedVersion) {
         mVersion.Assign(spoofedVersion);
       } else {
         mVersion.Assign((const char*)gl->fGetString(LOCAL_GL_VERSION));
       }
     }
 
-    if (mExtensions.IsEmpty()) {
-      int numExtensions;
-      gl->fGetIntegerv(LOCAL_GL_NUM_EXTENSIONS, &numExtensions);
-      mExtensions.SetLength(numExtensions);
-      for (int i = 0; i < numExtensions; i++) {
-        mExtensions[i].Assign((const char*)gl->fGetStringi(LOCAL_GL_EXTENSIONS, i));
-      }
-    }
-
     mReady = true;
   }
 };
 
 #ifdef DEBUG
 NS_IMPL_ISUPPORTS_INHERITED(GfxInfo, GfxInfoBase, nsIGfxInfoDebug)
 #endif
 
@@ -615,26 +600,19 @@ nsresult GfxInfo::GetFeatureStatusImpl(
       isUnblocked |= gpu.Find("Adreno (TM) 6", /*ignoreCase*/ true) >= 0;
 
       // Enable Webrender on all Mali-Gxx GPUs, excluding G76 due to bug
       // 1688017, and G31 due to bug 1689947.
       isUnblocked |= gpu.Find("Mali-G", /*ignoreCase*/ true) >= 0 &&
                      gpu.Find("Mali-G76", /*ignoreCase*/ true) == kNotFound &&
                      gpu.Find("Mali-G31", /*ignoreCase*/ true) == kNotFound;
 
-      // Currently webrender requires the extension GL_OES_EGL_image_external_essl3
-      // to render video. Bug 1507074 tracks removing this requirement.
-      bool supportsImageExternalEssl3 = mGLStrings->Extensions().Contains("GL_OES_EGL_image_external_essl3"_ns);
-
       if (!isUnblocked) {
         *aStatus = nsIGfxInfo::FEATURE_BLOCKED_DEVICE;
         aFailureId = "FEATURE_FAILURE_WEBRENDER_BLOCKED_DEVICE";
-      } else if (!supportsImageExternalEssl3) {
-        *aStatus = nsIGfxInfo::FEATURE_BLOCKED_DEVICE;
-        aFailureId = "FEATURE_FAILURE_WEBRENDER_NO_IMAGE_EXTERNAL";
       } else {
         *aStatus = nsIGfxInfo::FEATURE_ALLOW_QUALIFIED;
       }
       return NS_OK;
     }
 
     if (aFeature == FEATURE_WEBRENDER_SCISSORED_CACHE_CLEARS) {
       // Emulator with SwiftShader is buggy when attempting to clear picture