Bug 1485441 - Don't enable robust buffer access on Adreno 630 devices r=jgilbert

It was causing the linking of some shaders to fail.

Differential Revision: https://phabricator.services.mozilla.com/D8207

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Jamie Nicol 2018-10-12 15:57:32 +00:00
Родитель e1dc69e799
Коммит a0404f2aa7
1 изменённых файлов: 10 добавлений и 3 удалений

Просмотреть файл

@ -584,9 +584,16 @@ GLContextEGL::CreateGLContext(CreateContextFlags flags,
robustness_attribs.push_back(LOCAL_EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_EXT); robustness_attribs.push_back(LOCAL_EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_EXT);
robustness_attribs.push_back(LOCAL_EGL_LOSE_CONTEXT_ON_RESET_EXT); robustness_attribs.push_back(LOCAL_EGL_LOSE_CONTEXT_ON_RESET_EXT);
rbab_attribs = robustness_attribs; // Don't enable robust buffer access on Adreno 630 devices.
rbab_attribs.push_back(LOCAL_EGL_CONTEXT_OPENGL_ROBUST_ACCESS_EXT); // It causes the linking of some shaders to fail. See bug 1485441.
rbab_attribs.push_back(LOCAL_EGL_TRUE); nsCOMPtr<nsIGfxInfo> gfxInfo = services::GetGfxInfo();
nsAutoString renderer;
gfxInfo->GetAdapterDeviceID(renderer);
if (renderer.Find("Adreno (TM) 630") == -1) {
rbab_attribs = robustness_attribs;
rbab_attribs.push_back(LOCAL_EGL_CONTEXT_OPENGL_ROBUST_ACCESS_EXT);
rbab_attribs.push_back(LOCAL_EGL_TRUE);
}
} else if (egl->IsExtensionSupported(GLLibraryEGL::KHR_create_context)) { } else if (egl->IsExtensionSupported(GLLibraryEGL::KHR_create_context)) {
robustness_attribs = required_attribs; robustness_attribs = required_attribs;
robustness_attribs.push_back(LOCAL_EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_KHR); robustness_attribs.push_back(LOCAL_EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_KHR);